From 1aa723c40e326a776434137a5d377875f149daa3 Mon Sep 17 00:00:00 2001 From: satoren Date: Mon, 27 Jan 2025 18:05:51 +0900 Subject: [PATCH 1/3] migrate to ESM --- npm-scripts.mjs | 1 + package.json | 12 +++++++++++- tsconfig.cjs.json | 23 +++++++++++++++++++++++ tsconfig.json | 2 +- 4 files changed, 36 insertions(+), 2 deletions(-) create mode 100644 tsconfig.cjs.json diff --git a/npm-scripts.mjs b/npm-scripts.mjs index 439748e5..073af309 100644 --- a/npm-scripts.mjs +++ b/npm-scripts.mjs @@ -159,6 +159,7 @@ function buildTypescript({ force = false } = { force: false }) { deleteLib(); executeCmd('tsc'); + executeCmd('tsc -p ./tsconfig.cjs.json'); } function lint() { diff --git a/package.json b/package.json index 90a48e58..22103e29 100644 --- a/package.json +++ b/package.json @@ -16,8 +16,18 @@ "type": "opencollective", "url": "https://opencollective.com/mediasoup" }, - "main": "lib/index.js", + "main": "lib/cjs/index.js", "types": "lib/index.d.ts", + "exports": { + ".": { + "import": "./lib/index.js", + "require": "./lib/cjs/index.js" + }, + "./lib/*": { + "import": "./lib/*.js", + "require": "./lib/cjs/*.js" + } + }, "files": [ "npm-scripts.mjs", "lib" diff --git a/tsconfig.cjs.json b/tsconfig.cjs.json new file mode 100644 index 00000000..a3754d0f --- /dev/null +++ b/tsconfig.cjs.json @@ -0,0 +1,23 @@ +{ + "compileOnSave": true, + "compilerOptions": { + "lib": ["es2022", "dom"], + "target": "es2020", + "module": "commonjs", + "moduleResolution": "node", + "esModuleInterop": true, + "isolatedModules": true, + "strict": true, + "outDir": "lib/cjs", + "declaration": true, + "declarationMap": true + }, + "include": ["src"], + "watchOptions": { + "watchFile": "useFsEvents", + "watchDirectory": "useFsEvents", + "fallbackPolling": "dynamicPriority", + "synchronousWatchDirectory": true + } +} + diff --git a/tsconfig.json b/tsconfig.json index 718772eb..276c54f1 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -3,7 +3,7 @@ "compilerOptions": { "lib": ["es2022", "dom"], "target": "es2020", - "module": "commonjs", + "module": "ES2015", "moduleResolution": "node", "esModuleInterop": true, "isolatedModules": true, From cd974393c2076d7c5a1846eef184e16d44d1a08b Mon Sep 17 00:00:00 2001 From: satoren Date: Mon, 27 Jan 2025 18:18:14 +0900 Subject: [PATCH 2/3] export all --- package.json | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/package.json b/package.json index 22103e29..b0cc3e7a 100644 --- a/package.json +++ b/package.json @@ -26,6 +26,18 @@ "./lib/*": { "import": "./lib/*.js", "require": "./lib/cjs/*.js" + }, + "./lib/handlers/*": { + "import": "./lib/handlers/*.js", + "require": "./lib/cjs/handlers/*.js" + }, + "./lib/handlers/ortc/*": { + "import": "./lib/handlers/ortc/*.js", + "require": "./lib/cjs/handlers/ortc/*.js" + }, + "./lib/handlers/sdp/*": { + "import": "./lib/handlers/sdp/*.js", + "require": "./lib/cjs/handlers/sdp/*.js" } }, "files": [ From bf6514dec8594dad48e74505a76a24e5b680afd2 Mon Sep 17 00:00:00 2001 From: satoren Date: Tue, 28 Jan 2025 09:41:28 +0900 Subject: [PATCH 3/3] The CJS build will be placed in the same directory as before --- npm-scripts.mjs | 2 +- package.json | 22 +++++++++++----------- tsconfig.cjs.json => tsconfig.esm.json | 4 ++-- tsconfig.json | 2 +- 4 files changed, 15 insertions(+), 15 deletions(-) rename tsconfig.cjs.json => tsconfig.esm.json (90%) diff --git a/npm-scripts.mjs b/npm-scripts.mjs index 073af309..d21e1205 100644 --- a/npm-scripts.mjs +++ b/npm-scripts.mjs @@ -159,7 +159,7 @@ function buildTypescript({ force = false } = { force: false }) { deleteLib(); executeCmd('tsc'); - executeCmd('tsc -p ./tsconfig.cjs.json'); + executeCmd('tsc -p ./tsconfig.esm.json'); } function lint() { diff --git a/package.json b/package.json index b0cc3e7a..af4a3020 100644 --- a/package.json +++ b/package.json @@ -16,28 +16,28 @@ "type": "opencollective", "url": "https://opencollective.com/mediasoup" }, - "main": "lib/cjs/index.js", + "main": "lib/index.js", "types": "lib/index.d.ts", "exports": { ".": { - "import": "./lib/index.js", - "require": "./lib/cjs/index.js" + "import": "./lib/esm/index.js", + "require": "./lib/index.js" }, "./lib/*": { - "import": "./lib/*.js", - "require": "./lib/cjs/*.js" + "import": "./lib/esm/*.js", + "require": "./lib/*.js" }, "./lib/handlers/*": { - "import": "./lib/handlers/*.js", - "require": "./lib/cjs/handlers/*.js" + "import": "./lib/esm/handlers/*.js", + "require": "./lib/handlers/*.js" }, "./lib/handlers/ortc/*": { - "import": "./lib/handlers/ortc/*.js", - "require": "./lib/cjs/handlers/ortc/*.js" + "import": "./lib/esm/handlers/ortc/*.js", + "require": "./lib/handlers/ortc/*.js" }, "./lib/handlers/sdp/*": { - "import": "./lib/handlers/sdp/*.js", - "require": "./lib/cjs/handlers/sdp/*.js" + "import": "./lib/esm/handlers/sdp/*.js", + "require": "./lib/handlers/sdp/*.js" } }, "files": [ diff --git a/tsconfig.cjs.json b/tsconfig.esm.json similarity index 90% rename from tsconfig.cjs.json rename to tsconfig.esm.json index a3754d0f..75d758e2 100644 --- a/tsconfig.cjs.json +++ b/tsconfig.esm.json @@ -3,12 +3,12 @@ "compilerOptions": { "lib": ["es2022", "dom"], "target": "es2020", - "module": "commonjs", + "module": "ES2015", "moduleResolution": "node", "esModuleInterop": true, "isolatedModules": true, "strict": true, - "outDir": "lib/cjs", + "outDir": "lib/esm", "declaration": true, "declarationMap": true }, diff --git a/tsconfig.json b/tsconfig.json index 276c54f1..718772eb 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -3,7 +3,7 @@ "compilerOptions": { "lib": ["es2022", "dom"], "target": "es2020", - "module": "ES2015", + "module": "commonjs", "moduleResolution": "node", "esModuleInterop": true, "isolatedModules": true,