From 1442d26619a48faac77679dd2fcab8f6c33daf40 Mon Sep 17 00:00:00 2001 From: Antoine du Hamel Date: Tue, 26 Jul 2022 12:21:14 +0200 Subject: [PATCH] Switch all ESM dist to `.mjs` Jest 28 supports `"exports"` field in `package.json`, and will interpret `./dist/preact.module.js` as CJS because it's using `.js` extension and the `package.json` doesn't contain `"type": "module"`. Switching to `.mjs` extension would fix the issue. --- compat/package.json | 4 ++-- .../{server.browser.js => server.browser.mjs} | 0 config/node-13-exports.js | 8 +++---- debug/package.json | 4 ++-- devtools/package.json | 4 ++-- hooks/package.json | 4 ++-- jsx-runtime/package.json | 4 ++-- package.json | 22 +++++++++---------- test-utils/package.json | 4 ++-- 9 files changed, 27 insertions(+), 27 deletions(-) rename compat/{server.browser.js => server.browser.mjs} (100%) diff --git a/compat/package.json b/compat/package.json index 0320bbc6d1..2f8b93042a 100644 --- a/compat/package.json +++ b/compat/package.json @@ -5,7 +5,7 @@ "private": true, "description": "A React compatibility layer for Preact", "main": "dist/compat.js", - "module": "dist/compat.module.js", + "module": "dist/compat.module.mjs", "umd:main": "dist/compat.umd.js", "source": "src/index.js", "types": "src/index.d.ts", @@ -19,7 +19,7 @@ "exports": { ".": { "types": "./src/index.d.ts", - "browser": "./dist/compat.module.js", + "browser": "./dist/compat.module.mjs", "umd": "./dist/compat.umd.js", "import": "./dist/compat.mjs", "require": "./dist/compat.js" diff --git a/compat/server.browser.js b/compat/server.browser.mjs similarity index 100% rename from compat/server.browser.js rename to compat/server.browser.mjs diff --git a/config/node-13-exports.js b/config/node-13-exports.js index 4d7f452a27..1caf652975 100644 --- a/config/node-13-exports.js +++ b/config/node-13-exports.js @@ -5,19 +5,19 @@ const snakeCaseToCamelCase = str => str.replace(/([-_][a-z])/g, group => group.toUpperCase().replace('-', '')); const copyPreact = () => { - // Copy .module.js --> .mjs for Node 13 compat. + // Copy .module.mjs --> .mjs for Node 13 compat. fs.writeFileSync( `${process.cwd()}/dist/preact.mjs`, - fs.readFileSync(`${process.cwd()}/dist/preact.module.js`) + fs.readFileSync(`${process.cwd()}/dist/preact.module.mjs`) ); }; const copy = name => { - // Copy .module.js --> .mjs for Node 13 compat. + // Copy .module.mjs --> .mjs for Node 13 compat. const filename = name.includes('-') ? snakeCaseToCamelCase(name) : name; fs.writeFileSync( `${process.cwd()}/${name}/dist/${filename}.mjs`, - fs.readFileSync(`${process.cwd()}/${name}/dist/${filename}.module.js`) + fs.readFileSync(`${process.cwd()}/${name}/dist/${filename}.module.mjs`) ); }; diff --git a/debug/package.json b/debug/package.json index 054944f547..fd6592b550 100644 --- a/debug/package.json +++ b/debug/package.json @@ -5,7 +5,7 @@ "private": true, "description": "Preact extensions for development", "main": "dist/debug.js", - "module": "dist/debug.module.js", + "module": "dist/debug.module.mjs", "umd:main": "dist/debug.umd.js", "source": "src/index.js", "license": "MIT", @@ -17,7 +17,7 @@ }, "exports": { ".": { - "browser": "./dist/debug.module.js", + "browser": "./dist/debug.module.mjs", "umd": "./dist/debug.umd.js", "import": "./dist/debug.mjs", "require": "./dist/debug.js" diff --git a/devtools/package.json b/devtools/package.json index 09b04a7769..45fbf305f5 100644 --- a/devtools/package.json +++ b/devtools/package.json @@ -5,7 +5,7 @@ "private": true, "description": "Preact bridge for Preact devtools", "main": "dist/devtools.js", - "module": "dist/devtools.module.js", + "module": "dist/devtools.module.mjs", "umd:main": "dist/devtools.umd.js", "source": "src/index.js", "license": "MIT", @@ -16,7 +16,7 @@ "exports": { ".": { "types": "./src/index.d.ts", - "browser": "./dist/devtools.module.js", + "browser": "./dist/devtools.module.mjs", "umd": "./dist/devtools.umd.js", "import": "./dist/devtools.mjs", "require": "./dist/devtools.js" diff --git a/hooks/package.json b/hooks/package.json index 74807025bf..28c8cbc5eb 100644 --- a/hooks/package.json +++ b/hooks/package.json @@ -5,7 +5,7 @@ "private": true, "description": "Hook addon for Preact", "main": "dist/hooks.js", - "module": "dist/hooks.module.js", + "module": "dist/hooks.module.mjs", "umd:main": "dist/hooks.umd.js", "source": "src/index.js", "license": "MIT", @@ -26,7 +26,7 @@ "exports": { ".": { "types": "./src/index.d.ts", - "browser": "./dist/hooks.module.js", + "browser": "./dist/hooks.module.mjs", "umd": "./dist/hooks.umd.js", "import": "./dist/hooks.mjs", "require": "./dist/hooks.js" diff --git a/jsx-runtime/package.json b/jsx-runtime/package.json index 7a40278312..538493b887 100644 --- a/jsx-runtime/package.json +++ b/jsx-runtime/package.json @@ -5,7 +5,7 @@ "private": true, "description": "Preact JSX runtime", "main": "dist/jsxRuntime.js", - "module": "dist/jsxRuntime.module.js", + "module": "dist/jsxRuntime.module.mjs", "umd:main": "dist/jsxRuntime.umd.js", "source": "src/index.js", "types": "src/index.d.ts", @@ -19,7 +19,7 @@ "exports": { ".": { "types": "./src/index.d.ts", - "browser": "./dist/jsxRuntime.module.js", + "browser": "./dist/jsxRuntime.module.mjs", "umd": "./dist/jsxRuntime.umd.js", "import": "./dist/jsxRuntime.mjs", "require": "./dist/jsxRuntime.js" diff --git a/package.json b/package.json index 8920d0924b..4ea58c0338 100644 --- a/package.json +++ b/package.json @@ -5,61 +5,61 @@ "private": false, "description": "Fast 3kb React-compatible Virtual DOM library.", "main": "dist/preact.js", - "module": "dist/preact.module.js", + "module": "dist/preact.module.mjs", "umd:main": "dist/preact.umd.js", "unpkg": "dist/preact.min.js", "source": "src/index.js", "exports": { ".": { "types": "./src/index.d.ts", - "browser": "./dist/preact.module.js", + "browser": "./dist/preact.module.mjs", "umd": "./dist/preact.umd.js", "import": "./dist/preact.mjs", "require": "./dist/preact.js" }, "./compat": { "types": "./compat/src/index.d.ts", - "browser": "./compat/dist/compat.module.js", + "browser": "./compat/dist/compat.module.mjs", "umd": "./compat/dist/compat.umd.js", "import": "./compat/dist/compat.mjs", "require": "./compat/dist/compat.js" }, "./debug": { - "browser": "./debug/dist/debug.module.js", + "browser": "./debug/dist/debug.module.mjs", "umd": "./debug/dist/debug.umd.js", "import": "./debug/dist/debug.mjs", "require": "./debug/dist/debug.js" }, "./devtools": { "types": "./devtools/src/index.d.ts", - "browser": "./devtools/dist/devtools.module.js", + "browser": "./devtools/dist/devtools.module.mjs", "umd": "./devtools/dist/devtools.umd.js", "import": "./devtools/dist/devtools.mjs", "require": "./devtools/dist/devtools.js" }, "./hooks": { "types": "./hooks/src/index.d.ts", - "browser": "./hooks/dist/hooks.module.js", + "browser": "./hooks/dist/hooks.module.mjs", "umd": "./hooks/dist/hooks.umd.js", "import": "./hooks/dist/hooks.mjs", "require": "./hooks/dist/hooks.js" }, "./test-utils": { "types": "./test-utils/src/index.d.ts", - "browser": "./test-utils/dist/testUtils.module.js", + "browser": "./test-utils/dist/testUtils.module.mjs", "umd": "./test-utils/dist/testUtils.umd.js", "import": "./test-utils/dist/testUtils.mjs", "require": "./test-utils/dist/testUtils.js" }, "./jsx-runtime": { "types": "./jsx-runtime/src/index.d.ts", - "browser": "./jsx-runtime/dist/jsxRuntime.module.js", + "browser": "./jsx-runtime/dist/jsxRuntime.module.mjs", "umd": "./jsx-runtime/dist/jsxRuntime.umd.js", "import": "./jsx-runtime/dist/jsxRuntime.mjs", "require": "./jsx-runtime/dist/jsxRuntime.js" }, "./jsx-dev-runtime": { - "browser": "./jsx-runtime/dist/jsxRuntime.module.js", + "browser": "./jsx-runtime/dist/jsxRuntime.module.mjs", "umd": "./jsx-runtime/dist/jsxRuntime.umd.js", "import": "./jsx-runtime/dist/jsxRuntime.mjs", "require": "./jsx-runtime/dist/jsxRuntime.js" @@ -69,7 +69,7 @@ "require": "./compat/client.js" }, "./compat/server": { - "browser": "./compat/server.browser.js", + "browser": "./compat/server.browser.mjs", "import": "./compat/server.mjs", "require": "./compat/server.js" }, @@ -203,7 +203,7 @@ "compat/src", "compat/client.js", "compat/client.mjs", - "compat/server.browser.js", + "compat/server.browser.mjs", "compat/server.js", "compat/server.mjs", "compat/scheduler.js", diff --git a/test-utils/package.json b/test-utils/package.json index f8acd18f82..9da0626610 100644 --- a/test-utils/package.json +++ b/test-utils/package.json @@ -5,7 +5,7 @@ "private": true, "description": "Test-utils for Preact", "main": "dist/testUtils.js", - "module": "dist/testUtils.module.js", + "module": "dist/testUtils.module.mjs", "umd:main": "dist/testUtils.umd.js", "source": "src/index.js", "license": "MIT", @@ -19,7 +19,7 @@ "exports": { ".": { "types": "./src/index.d.ts", - "browser": "./dist/testUtils.module.js", + "browser": "./dist/testUtils.module.mjs", "umd": "./dist/testUtils.umd.js", "import": "./dist/testUtils.mjs", "require": "./dist/testUtils.js"