diff --git a/.changeset/node-24-lts-requirement.md b/.changeset/node-24-lts-requirement.md new file mode 100644 index 0000000000..7dcbc3ba83 --- /dev/null +++ b/.changeset/node-24-lts-requirement.md @@ -0,0 +1,51 @@ +--- +"@web/browser-logs": major +"@web/config-loader": major +"@web/dev-server": major +"@web/dev-server-core": major +"@web/dev-server-esbuild": major +"@web/dev-server-hmr": major +"@web/dev-server-import-maps": major +"@web/dev-server-legacy": major +"@web/dev-server-polyfill": major +"@web/dev-server-rollup": major +"@web/dev-server-storybook": major +"@web/mocks": major +"@web/parse5-utils": major +"@web/polyfills-loader": major +"@web/rollup-plugin-copy": major +"@web/rollup-plugin-html": major +"@web/rollup-plugin-import-meta-assets": major +"@web/rollup-plugin-polyfills-loader": major +"@web/rollup-plugin-workbox": major +"@web/storybook-builder": major +"@web/storybook-framework-web-components": major +"@web/storybook-utils": major +"@web/test-runner": major +"@web/test-runner-browserstack": major +"@web/test-runner-chrome": major +"@web/test-runner-cli": major +"@web/test-runner-commands": major +"@web/test-runner-core": major +"@web/test-runner-coverage-v8": major +"@web/test-runner-junit-reporter": major +"@web/test-runner-mocha": major +"@web/test-runner-module-mocking": major +"@web/test-runner-playwright": major +"@web/test-runner-puppeteer": major +"@web/test-runner-saucelabs": major +"@web/test-runner-selenium": major +"@web/test-runner-visual-regression": major +"@web/test-runner-webdriver": major +--- + +**BREAKING**: Require Node.js 24 LTS (Iron) + +Update minimum Node.js version from 18.0.0 to 24.0.0 across all packages. Node.js 18 reached EOL in April 2025 + +**Migration:** +Update your Node.js version to 24 or later: +```bash +nvm install 24 +nvm use 24 +``` diff --git a/.nvmrc b/.nvmrc new file mode 100644 index 0000000000..8ef0a5258f --- /dev/null +++ b/.nvmrc @@ -0,0 +1 @@ +v24.11.1 diff --git a/package-lock.json b/package-lock.json index 28895dc2b5..3e9a8e5c54 100644 --- a/package-lock.json +++ b/package-lock.json @@ -53,7 +53,7 @@ "wireit": "^0.14.2" }, "engines": { - "node": ">=18.0.0" + "node": ">=24.0.0" } }, "integration/test-runner": { @@ -10027,6 +10027,57 @@ "node": ">=8" } }, + "node_modules/cidr-regex": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/cidr-regex/-/cidr-regex-4.0.3.tgz", + "integrity": "sha512-HOwDIy/rhKeMf6uOzxtv7FAbrz8zPjmVKfSpM+U7/bNBXC5rtOyr758jxcptiSx6ZZn5LOhPJT5WWxPAGDV8dw==", + "license": "BSD-2-Clause", + "dependencies": { + "ip-regex": "^5.0.0" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/cidr-regex/node_modules/ip-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-5.0.0.tgz", + "integrity": "sha512-fOCG6lhoKKakwv+C6KdsOnGvgXnmgfmp0myi3bcNwj3qfwPAxRKWEuFhvEFF7ceYIz6+1jRZ+yguLFAmUNPEfw==", + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cidr-tools": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/cidr-tools/-/cidr-tools-6.4.2.tgz", + "integrity": "sha512-KZC8t2ipCqU2M+ISmTxRDGu9bku5MRU3V1cWyGEFJTZEzRhGvBJvVsbpZO5UAu12fExRFihtYGXAlgFFpmK9jw==", + "license": "BSD-2-Clause", + "dependencies": { + "cidr-regex": "4.0.3", + "ip-bigint": "7.3.0", + "ip-regex": "5.0.0", + "string-natural-compare": "3.0.1" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/cidr-tools/node_modules/ip-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-5.0.0.tgz", + "integrity": "sha512-fOCG6lhoKKakwv+C6KdsOnGvgXnmgfmp0myi3bcNwj3qfwPAxRKWEuFhvEFF7ceYIz6+1jRZ+yguLFAmUNPEfw==", + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/cjs-module-lexer": { "version": "1.2.3", "license": "MIT" @@ -10182,6 +10233,33 @@ "node": ">=0.8" } }, + "node_modules/clone-regexp": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/clone-regexp/-/clone-regexp-3.0.0.tgz", + "integrity": "sha512-ujdnoq2Kxb8s3ItNBtnYeXdm07FcU0u8ARAT1lQ2YdMwQC+cdiXX8KoqMVuglztILivceTtp4ivqGSmEmhBUJw==", + "license": "MIT", + "dependencies": { + "is-regexp": "^3.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/clone-regexp/node_modules/is-regexp": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-3.1.0.tgz", + "integrity": "sha512-rbku49cWloU5bSMI+zaRaXdQHXnthP6DZ/vLnfdSKyL4zUzuWnomtOEiZZOd+ioQ+avFo/qau3KPTc7Fjy1uPA==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/clone-response": { "version": "1.0.3", "license": "MIT", @@ -10715,6 +10793,18 @@ "node": ">= 0.6" } }, + "node_modules/convert-hrtime": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/convert-hrtime/-/convert-hrtime-5.0.0.tgz", + "integrity": "sha512-lOETlkIeYSJWcbbcvjRKGxVMXJR+8+OQb/mTPbA4ObPMytYIsUbuOE0Jzy60hjARYszq1id0j8KgVhC+WGZVTg==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/convert-source-map": { "version": "2.0.0", "license": "MIT" @@ -13494,6 +13584,18 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/function-timeout": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/function-timeout/-/function-timeout-0.1.1.tgz", + "integrity": "sha512-0NVVC0TaP7dSTvn1yMiy6d6Q8gifzbvQafO46RtLG/kHJUBNd+pVRGOBoK44wNBvtSPUJRfdVvkFdD3p0xvyZg==", + "license": "MIT", + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/function.prototype.name": { "version": "1.1.5", "license": "MIT", @@ -15874,6 +15976,108 @@ "version": "0.1.1", "license": "MIT" }, + "node_modules/internal-ip": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-8.0.1.tgz", + "integrity": "sha512-UBBMBk8f1PrIHUXOPI/6vW0eFWhZl/UGHpNaqLAAOANNZxkGuqq/IDfk2goQ902E9hy1mtM7iXhdgZCpCceeew==", + "license": "MIT", + "dependencies": { + "cidr-tools": "^6.4.1", + "default-gateway": "^7.2.2", + "is-ip": "^5.0.0", + "p-event": "^5.0.1" + }, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sindresorhus/internal-ip?sponsor=1" + } + }, + "node_modules/internal-ip/node_modules/default-gateway": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-7.2.2.tgz", + "integrity": "sha512-AD7TrdNNPXRZIGw63dw+lnGmT4v7ggZC5NHNJgAYWm5njrwoze1q5JSAW9YuLy2tjnoLUG/r8FEB93MCh9QJPg==", + "license": "BSD-2-Clause", + "dependencies": { + "execa": "^7.1.1" + }, + "engines": { + "node": ">= 16" + } + }, + "node_modules/internal-ip/node_modules/execa": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-7.2.0.tgz", + "integrity": "sha512-UduyVP7TLB5IcAQl+OzLyLcS/l32W/GLg+AhHJ+ow40FOk2U3SAllPwR44v4vmdFwIWqpdwxxpQbF1n5ta9seA==", + "license": "MIT", + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.1", + "human-signals": "^4.3.0", + "is-stream": "^3.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^5.1.0", + "onetime": "^6.0.0", + "signal-exit": "^3.0.7", + "strip-final-newline": "^3.0.0" + }, + "engines": { + "node": "^14.18.0 || ^16.14.0 || >=18.0.0" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/internal-ip/node_modules/human-signals": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-4.3.1.tgz", + "integrity": "sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==", + "license": "Apache-2.0", + "engines": { + "node": ">=14.18.0" + } + }, + "node_modules/internal-ip/node_modules/ip-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-5.0.0.tgz", + "integrity": "sha512-fOCG6lhoKKakwv+C6KdsOnGvgXnmgfmp0myi3bcNwj3qfwPAxRKWEuFhvEFF7ceYIz6+1jRZ+yguLFAmUNPEfw==", + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/internal-ip/node_modules/is-ip": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/is-ip/-/is-ip-5.0.1.tgz", + "integrity": "sha512-FCsGHdlrOnZQcp0+XT5a+pYowf33itBalCl+7ovNXC/7o5BhIpG14M3OrpPPdBSIQJCm+0M5+9mO7S9VVTTCFw==", + "license": "MIT", + "dependencies": { + "ip-regex": "^5.0.0", + "super-regex": "^0.2.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/internal-ip/node_modules/is-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", + "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/internal-slot": { "version": "1.0.5", "license": "MIT", @@ -15909,6 +16113,15 @@ "version": "1.1.3", "license": "BSD-3-Clause" }, + "node_modules/ip-bigint": { + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/ip-bigint/-/ip-bigint-7.3.0.tgz", + "integrity": "sha512-2qVAe0Q9+Y+5nGvmogwK9y4kefD5Ks5l/IG0Jo1lhU9gIF34jifhqrwXwzkIl+LC594Q6SyAlngs4p890xsXVw==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=16" + } + }, "node_modules/ip-regex": { "version": "4.3.0", "license": "MIT", @@ -19533,7 +19746,6 @@ }, "node_modules/mimic-fn": { "version": "4.0.0", - "dev": true, "license": "MIT", "engines": { "node": ">=12" @@ -20177,7 +20389,6 @@ }, "node_modules/npm-run-path": { "version": "5.1.0", - "dev": true, "license": "MIT", "dependencies": { "path-key": "^4.0.0" @@ -20191,7 +20402,6 @@ }, "node_modules/npm-run-path/node_modules/path-key": { "version": "4.0.0", - "dev": true, "license": "MIT", "engines": { "node": ">=12" @@ -20316,7 +20526,6 @@ }, "node_modules/onetime": { "version": "6.0.0", - "dev": true, "license": "MIT", "dependencies": { "mimic-fn": "^4.0.0" @@ -20408,6 +20617,33 @@ "node": ">=6" } }, + "node_modules/p-event": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/p-event/-/p-event-5.0.1.tgz", + "integrity": "sha512-dd589iCQ7m1L0bmC5NLlVYfy3TbBEsMUfWx9PyAgPeIcFZ/E2yaTZ4Rz4MiBmmJShviiftHVXOqfnfzJ6kyMrQ==", + "license": "MIT", + "dependencies": { + "p-timeout": "^5.0.2" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-event/node_modules/p-timeout": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-5.1.0.tgz", + "integrity": "sha512-auFDyzzzGZZZdHz3BtET9VEz0SE/uMEAx7uWfGPucfzEwwe/xH0iVeZibQmANYE/hp9T2+UUZT5m+BKyrDp3Ew==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/p-filter": { "version": "2.1.0", "dev": true, @@ -26939,6 +27175,12 @@ "dev": true, "license": "CC0-1.0" }, + "node_modules/string-natural-compare": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/string-natural-compare/-/string-natural-compare-3.0.1.tgz", + "integrity": "sha512-n3sPwynL1nwKi3WJ6AIsClwBMa0zTi54fn2oLU6ndfTSIO05xaznjSf15PcBZU6FNWbmN5Q6cxT4V5hGvB4taw==", + "license": "MIT" + }, "node_modules/string-width": { "version": "5.1.2", "license": "MIT", @@ -27134,7 +27376,6 @@ }, "node_modules/strip-final-newline": { "version": "3.0.0", - "dev": true, "license": "MIT", "engines": { "node": ">=12" @@ -27202,6 +27443,23 @@ "postcss": "^8.2.15" } }, + "node_modules/super-regex": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/super-regex/-/super-regex-0.2.0.tgz", + "integrity": "sha512-WZzIx3rC1CvbMDloLsVw0lkZVKJWbrkJ0k1ghKFmcnPrW1+jWbgTkTEWVtD9lMdmI4jZEz40+naBxl1dCUhXXw==", + "license": "MIT", + "dependencies": { + "clone-regexp": "^3.0.0", + "function-timeout": "^0.1.0", + "time-span": "^5.1.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/supports-color": { "version": "5.5.0", "license": "MIT", @@ -27561,6 +27819,21 @@ "node": ">=0.8.0" } }, + "node_modules/time-span": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/time-span/-/time-span-5.1.0.tgz", + "integrity": "sha512-75voc/9G4rDIJleOo4jPvN4/YC4GRZrY8yy1uU4lwrB3XEQbWve8zXoO5No4eFrGcTAMYyoY67p8jRQdtA1HbA==", + "license": "MIT", + "dependencies": { + "convert-hrtime": "^5.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/tiny-invariant": { "version": "1.3.3", "license": "MIT" @@ -30746,7 +31019,7 @@ "puppeteer": "^24.0.0" }, "engines": { - "node": ">=18.0.0" + "node": ">=24.0.0" } }, "packages/config-loader": { @@ -30754,7 +31027,7 @@ "version": "0.3.3", "license": "MIT", "engines": { - "node": ">=18.0.0" + "node": ">=24.0.0" } }, "packages/dev-server": { @@ -30767,15 +31040,15 @@ "@web/config-loader": "^0.3.0", "@web/dev-server-core": "^0.7.2", "@web/dev-server-rollup": "^0.6.1", - "camelcase": "^6.2.0", + "camelcase": "^6.3.0", "command-line-args": "^5.1.1", "command-line-usage": "^7.0.1", "debounce": "^1.2.0", "deepmerge": "^4.2.2", - "internal-ip": "^6.2.0", - "nanocolors": "^0.2.1", - "open": "^8.0.2", - "portfinder": "^1.0.32" + "internal-ip": "^8.0.1", + "nanocolors": "^0.2.13", + "open": "^8.4.2", + "portfinder": "^1.0.38" }, "bin": { "wds": "dist/bin.js", @@ -30787,7 +31060,7 @@ "puppeteer": "^24.0.0" }, "engines": { - "node": ">=18.0.0" + "node": ">=24.0.0" } }, "packages/dev-server-core": { @@ -30983,7 +31256,7 @@ "dependencies": { "@mdn/browser-compat-data": "^4.0.0", "@web/dev-server-core": "^0.7.4", - "esbuild": "^0.27.0", + "esbuild": "^0.25.0", "parse5": "^6.0.1", "ua-parser-js": "^1.0.33" }, @@ -30994,7 +31267,7 @@ "preact": "^10.5.9" }, "engines": { - "node": ">=18.0.0" + "node": ">=24.0.0" } }, "packages/dev-server-esbuild/node_modules/@esbuild/linux-x64": { @@ -31068,7 +31341,7 @@ "puppeteer": "^24.0.0" }, "engines": { - "node": ">=18.0.0" + "node": ">=24.0.0" } }, "packages/dev-server-import-maps": { @@ -31087,7 +31360,7 @@ "@web/test-runner": "^0.20.0" }, "engines": { - "node": ">=18.0.0" + "node": ">=24.0.0" } }, "packages/dev-server-import-maps/node_modules/parse5": { @@ -31125,7 +31398,7 @@ "@types/valid-url": "^1.0.3" }, "engines": { - "node": ">=18.0.0" + "node": ">=24.0.0" } }, "packages/dev-server-legacy/node_modules/parse5": { @@ -31143,7 +31416,7 @@ "@web/polyfills-loader": "^2.3.1" }, "engines": { - "node": ">=16.0.0" + "node": ">=24.0.0" } }, "packages/dev-server-rollup": { @@ -31153,7 +31426,7 @@ "dependencies": { "@rollup/plugin-node-resolve": "^15.0.1", "@web/dev-server-core": "^0.7.2", - "nanocolors": "^0.2.1", + "nanocolors": "^0.2.13", "parse5": "^6.0.1", "rollup": "^4.4.0", "whatwg-url": "^14.0.0" @@ -31174,7 +31447,7 @@ "rollup-plugin-postcss": "^4.0.2" }, "engines": { - "node": ">=18.0.0" + "node": ">=24.0.0" } }, "packages/dev-server-rollup/node_modules/@rollup/plugin-alias": { @@ -31323,7 +31596,7 @@ "@rollup/plugin-terser": "^0.4.4", "@storybook/csf-tools": "^6.4.9", "@web/dev-server-core": "^0.7.2", - "@web/rollup-plugin-html": "^3.1.0", + "@web/rollup-plugin-html": "^2.1.2", "@web/rollup-plugin-polyfills-loader": "^2.1.1", "@web/storybook-prebuilt": "^0.1.37", "babel-plugin-bundled-import-meta": "^0.3.2", @@ -31343,7 +31616,7 @@ "htm": "^3.1.0" }, "engines": { - "node": ">=18.0.0" + "node": ">=24.0.0" } }, "packages/dev-server-storybook/node_modules/@rollup/plugin-babel": { @@ -31370,6 +31643,89 @@ } } }, + "packages/dev-server-storybook/node_modules/@web/rollup-plugin-html": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@web/rollup-plugin-html/-/rollup-plugin-html-2.4.1.tgz", + "integrity": "sha512-28n3S4FFlafkuk4bhaWNdgT8mDCoVBtSFeN829zrkWAzISZlHutkGJVD6xS35nUYGx+J/wfk635Fc+TX4mCm9g==", + "license": "MIT", + "dependencies": { + "@web/parse5-utils": "^2.1.0", + "glob": "^10.0.0", + "html-minifier-terser": "^7.1.0", + "lightningcss": "^1.24.0", + "parse5": "^6.0.1", + "picomatch": "^2.2.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "packages/dev-server-storybook/node_modules/brace-expansion": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "packages/dev-server-storybook/node_modules/glob": { + "version": "10.5.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.5.0.tgz", + "integrity": "sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg==", + "deprecated": "Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me", + "license": "ISC", + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "packages/dev-server-storybook/node_modules/jackspeak": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", + "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, + "packages/dev-server-storybook/node_modules/minimatch": { + "version": "9.0.9", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.9.tgz", + "integrity": "sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg==", + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.2" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "packages/dev-server-storybook/node_modules/parse5": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", + "license": "MIT" + }, "packages/dev-server/node_modules/array-back": { "version": "6.2.2", "license": "MIT", @@ -31409,43 +31765,10 @@ } } }, - "packages/dev-server/node_modules/internal-ip": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-6.2.0.tgz", - "integrity": "sha512-D8WGsR6yDt8uq7vDMu7mjcR+yRMm3dW8yufyChmszWRjcSHuxLBkR3GdS2HZAjodsaGuCvXeEJpueisXJULghg==", - "license": "MIT", - "dependencies": { - "default-gateway": "^6.0.0", - "ipaddr.js": "^1.9.1", - "is-ip": "^3.1.0", - "p-event": "^4.2.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sindresorhus/internal-ip?sponsor=1" - } - }, "packages/dev-server/node_modules/ms": { "version": "2.1.3", "license": "MIT" }, - "packages/dev-server/node_modules/p-event": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/p-event/-/p-event-4.2.0.tgz", - "integrity": "sha512-KXatOjCRXXkSePPb1Nbi0p0m+gQAwdlbhi4wQKJPI1HsMQS9g+Sqp2o+QHziPr7eYJyOZet836KoHEVM1mwOrQ==", - "license": "MIT", - "dependencies": { - "p-timeout": "^3.1.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "packages/dev-server/node_modules/portfinder": { "version": "1.0.38", "license": "MIT", @@ -31662,7 +31985,7 @@ "@types/html-minifier-terser": "^7.0.0" }, "engines": { - "node": ">=18.0.0" + "node": ">=24.0.0" } }, "packages/parse5-utils/node_modules/parse5": { @@ -31702,7 +32025,7 @@ "@types/valid-url": "^1.0.3" }, "engines": { - "node": ">=18.0.0" + "node": ">=24.0.0" } }, "packages/polyfills-loader/node_modules/@webcomponents/scoped-custom-element-registry": { @@ -31726,7 +32049,7 @@ "@types/glob": "^8.1.0" }, "engines": { - "node": ">=18.0.0" + "node": ">=24.0.0" } }, "packages/rollup-plugin-copy/node_modules/@types/glob": { @@ -31799,7 +32122,7 @@ "rollup": "^4.4.0" }, "engines": { - "node": ">=18.0.0" + "node": ">=24.0.0" } }, "packages/rollup-plugin-html/node_modules/brace-expansion": { @@ -31861,7 +32184,7 @@ "magic-string": "^0.30.0" }, "engines": { - "node": ">=18.0.0" + "node": ">=24.0.0" } }, "packages/rollup-plugin-import-meta-assets/node_modules/@rollup/plugin-dynamic-import-vars": { @@ -31939,14 +32262,14 @@ "rollup": "^4.4.0" }, "engines": { - "node": ">=18.0.0" + "node": ">=24.0.0" } }, "packages/rollup-plugin-workbox": { "version": "8.1.3", "license": "MIT", "dependencies": { - "esbuild": "^0.27.0", + "esbuild": "^0.25.0", "pretty-bytes": "^5.5.0", "workbox-build": "^7.0.0" } @@ -32020,11 +32343,11 @@ "@web/dev-server": "^0.4.0", "@web/dev-server-core": "^0.7.5", "@web/dev-server-rollup": "^0.6.1", - "@web/rollup-plugin-html": "^3.0.0", + "@web/rollup-plugin-html": "^2.3.0", "browser-assert": "^1.2.1", "cjs-module-lexer": "^1.2.3", "es-module-lexer": "^1.2.1", - "esbuild": "^0.27.0", + "esbuild": "^0.25.0", "glob": "^12.0.0", "lodash-es": "^4.17.21", "path-browserify": "^1.0.1", @@ -32039,7 +32362,7 @@ "@storybook/types": "^8.6.12" }, "engines": { - "node": ">=18.0.0" + "node": ">=24.0.0" } }, "packages/storybook-builder/node_modules/@esbuild/linux-x64": { @@ -32108,9 +32431,25 @@ "version": "3.0.3", "license": "MIT" }, + "packages/storybook-builder/node_modules/@web/rollup-plugin-html": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@web/rollup-plugin-html/-/rollup-plugin-html-2.4.1.tgz", + "integrity": "sha512-28n3S4FFlafkuk4bhaWNdgT8mDCoVBtSFeN829zrkWAzISZlHutkGJVD6xS35nUYGx+J/wfk635Fc+TX4mCm9g==", + "license": "MIT", + "dependencies": { + "@web/parse5-utils": "^2.1.0", + "glob": "^10.0.0", + "html-minifier-terser": "^7.1.0", + "lightningcss": "^1.24.0", + "parse5": "^6.0.1", + "picomatch": "^2.2.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, "packages/storybook-builder/node_modules/@web/rollup-plugin-html/node_modules/glob": { "version": "10.5.0", - "extraneous": true, "license": "ISC", "dependencies": { "foreground-child": "^3.1.0", @@ -32127,54 +32466,6 @@ "url": "https://github.com/sponsors/isaacs" } }, - "packages/storybook-builder/node_modules/@web/rollup-plugin-html/node_modules/jackspeak": { - "version": "3.4.3", - "extraneous": true, - "license": "BlueOak-1.0.0", - "dependencies": { - "@isaacs/cliui": "^8.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - }, - "optionalDependencies": { - "@pkgjs/parseargs": "^0.11.0" - } - }, - "packages/storybook-builder/node_modules/@web/rollup-plugin-html/node_modules/lru-cache": { - "version": "10.4.3", - "extraneous": true, - "license": "ISC" - }, - "packages/storybook-builder/node_modules/@web/rollup-plugin-html/node_modules/minimatch": { - "version": "9.0.9", - "extraneous": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^2.0.2" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "packages/storybook-builder/node_modules/@web/rollup-plugin-html/node_modules/path-scurry": { - "version": "1.11.1", - "extraneous": true, - "license": "BlueOak-1.0.0", - "dependencies": { - "lru-cache": "^10.2.0", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" - }, - "engines": { - "node": ">=16 || 14 >=14.18" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "packages/storybook-builder/node_modules/bail": { "version": "2.0.2", "license": "MIT", @@ -33161,6 +33452,12 @@ "version": "2.0.11", "license": "MIT" }, + "packages/storybook-builder/node_modules/parse5": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", + "license": "MIT" + }, "packages/storybook-builder/node_modules/path-scurry": { "version": "2.0.1", "license": "BlueOak-1.0.0", @@ -33424,7 +33721,7 @@ "storybook": "^8.6.15" }, "engines": { - "node": ">=18.0.0" + "node": ">=24.0.0" } }, "packages/storybook-framework-web-components/node_modules/@storybook/blocks": { @@ -33476,7 +33773,7 @@ "react": "^19.0.0" }, "engines": { - "node": ">=16.0.0" + "node": ">=24.0.0" }, "peerDependencies": { "react": "^18.0.0 || ^19.0.0" @@ -33494,14 +33791,14 @@ "@web/test-runner-commands": "^0.9.0", "@web/test-runner-core": "^0.13.0", "@web/test-runner-mocha": "^0.9.0", - "camelcase": "^6.2.0", + "camelcase": "^6.3.0", "command-line-args": "^5.1.1", "command-line-usage": "^7.0.1", "convert-source-map": "^2.0.0", - "diff": "^5.2.2", - "globby": "^11.0.1", - "nanocolors": "^0.2.1", - "portfinder": "^1.0.32", + "diff": "^5.0.0", + "globby": "^11.1.0", + "nanocolors": "^0.2.13", + "portfinder": "^1.0.38", "source-map": "^0.7.3" }, "bin": { @@ -33516,7 +33813,7 @@ "concurrently": "^8.0.1" }, "engines": { - "node": ">=18.0.0" + "node": ">=24.0.0" } }, "packages/test-runner-browserstack": { @@ -33535,7 +33832,7 @@ "portfinder": "^1.0.32" }, "engines": { - "node": ">=18.0.0" + "node": ">=24.0.0" } }, "packages/test-runner-browserstack/node_modules/internal-ip": { @@ -33582,7 +33879,7 @@ "@web/test-runner-mocha": "^0.9.0" }, "engines": { - "node": ">=18.0.0" + "node": ">=24.0.0" } }, "packages/test-runner-cli": { @@ -33590,7 +33887,7 @@ "version": "0.11.0", "license": "MIT", "engines": { - "node": ">=18.0.0" + "node": ">=24.0.0" } }, "packages/test-runner-commands": { @@ -33608,7 +33905,7 @@ "mocha": "^10.8.2" }, "engines": { - "node": ">=18.0.0" + "node": ">=24.0.0" } }, "packages/test-runner-commands/node_modules/mkdirp": { @@ -33641,15 +33938,15 @@ "convert-source-map": "^2.0.0", "debounce": "^1.2.0", "dependency-graph": "^0.11.0", - "globby": "^11.0.1", + "globby": "^11.1.0", "internal-ip": "^6.2.0", "istanbul-lib-coverage": "^3.0.0", "istanbul-lib-report": "^3.0.1", "istanbul-reports": "^3.0.2", "log-update": "^4.0.0", - "nanocolors": "^0.2.1", + "nanocolors": "^0.2.13", "nanoid": "^3.1.25", - "open": "^8.0.2", + "open": "^8.4.2", "picomatch": "^2.2.2", "source-map": "^0.7.3" }, @@ -33658,7 +33955,7 @@ "tsx": "^4.21.0" }, "engines": { - "node": ">=18.0.0" + "node": ">=24.0.0" } }, "packages/test-runner-core/node_modules/chokidar": { @@ -33779,7 +34076,7 @@ "@types/picomatch": "^2.2.1" }, "engines": { - "node": ">=18.0.0" + "node": ">=24.0.0" } }, "packages/test-runner-junit-reporter": { @@ -33797,7 +34094,7 @@ "@web/test-runner-playwright": "^0.11.0" }, "engines": { - "node": ">=18.0.0" + "node": ">=24.0.0" } }, "packages/test-runner-mocha": { @@ -33813,7 +34110,7 @@ "mocha": "^10.8.2" }, "engines": { - "node": ">=18.0.0" + "node": ">=24.0.0" } }, "packages/test-runner-module-mocking": { @@ -33829,7 +34126,7 @@ "@web/test-runner-core": "^0.13.0" }, "engines": { - "node": ">=18.0.0" + "node": ">=24.0.0" } }, "packages/test-runner-playwright": { @@ -33846,7 +34143,7 @@ "portfinder": "^1.0.32" }, "engines": { - "node": ">=18.0.0" + "node": ">=24.0.0" } }, "packages/test-runner-puppeteer": { @@ -33863,7 +34160,7 @@ "puppeteer-core": "^24.0.0" }, "engines": { - "node": ">=18.0.0" + "node": ">=24.0.0" } }, "packages/test-runner-saucelabs": { @@ -33885,7 +34182,7 @@ "portfinder": "^1.0.32" }, "engines": { - "node": ">=18.0.0" + "node": ">=24.0.0" } }, "packages/test-runner-saucelabs/node_modules/@sindresorhus/is": { @@ -34180,7 +34477,7 @@ "selenium-standalone": "^8.0.4" }, "engines": { - "node": ">=18.0.0" + "node": ">=24.0.0" } }, "packages/test-runner-visual-regression": { @@ -34204,7 +34501,7 @@ "mocha": "^10.8.2" }, "engines": { - "node": ">=18.0.0" + "node": ">=24.0.0" } }, "packages/test-runner-visual-regression/node_modules/mkdirp": { @@ -34230,7 +34527,7 @@ "selenium-standalone": "^8.0.4" }, "engines": { - "node": ">=18.0.0" + "node": ">=24.0.0" } }, "packages/test-runner-webdriver/node_modules/@types/node": { diff --git a/package.json b/package.json index 7596f17228..8c42e386ea 100644 --- a/package.json +++ b/package.json @@ -7,7 +7,7 @@ "url": "https://github.com/modernweb-dev/web.git" }, "engines": { - "node": ">=18.0.0" + "node": ">=24.0.0" }, "scripts": { "build": "node scripts/fix-jridgewell-dcts.js && rm -rf packages/dev-server-core/node_modules/@types/koa packages/dev-server-core/node_modules/@types/ws && npm run build:clean && tsc --build", diff --git a/packages/browser-logs/index.mjs b/packages/browser-logs/index.mjs deleted file mode 100644 index 24930934dc..0000000000 --- a/packages/browser-logs/index.mjs +++ /dev/null @@ -1,6 +0,0 @@ -// this file is autogenerated with the generate-mjs-dts-entrypoints script -import cjsEntrypoint from './dist/index.js'; - -const { deserialize, browserScript, parseStackTrace } = cjsEntrypoint; - -export { deserialize, browserScript, parseStackTrace }; diff --git a/packages/browser-logs/package.json b/packages/browser-logs/package.json index cb61f174cd..9a9eefd2c0 100644 --- a/packages/browser-logs/package.json +++ b/packages/browser-logs/package.json @@ -17,12 +17,11 @@ "exports": { ".": { "types": "./index.d.ts", - "import": "./index.mjs", - "require": "./dist/index.js" + "default": "./dist/index.js" } }, "engines": { - "node": ">=18.0.0" + "node": ">=24.0.0" }, "scripts": { "build": "tsc", @@ -32,7 +31,6 @@ "files": [ "*.d.ts", "*.js", - "*.mjs", "dist", "src" ], @@ -52,5 +50,6 @@ "devDependencies": { "@esm-bundle/chai": "^4.1.5", "puppeteer": "^24.0.0" - } + }, + "type": "module" } diff --git a/packages/browser-logs/src/browserScript.ts b/packages/browser-logs/src/browserScript.ts index 22e1163692..bfe584ddb5 100644 --- a/packages/browser-logs/src/browserScript.ts +++ b/packages/browser-logs/src/browserScript.ts @@ -2,13 +2,18 @@ import fs from 'fs'; import path from 'path'; const REGEXP_SOURCE_MAP = /\/\/# sourceMappingURL=.*/; +const REGEXP_EXPORT = /^export /gm; +// @ts-ignore import.meta.dirname works at runtime on Node 24 +const __dir = import.meta.dirname; const serializeScript = fs - .readFileSync(path.resolve(__dirname, 'serialize.js'), 'utf-8') - .replace(REGEXP_SOURCE_MAP, ''); + .readFileSync(path.resolve(__dir, 'serialize.js'), 'utf-8') + .replace(REGEXP_SOURCE_MAP, '') + .replace(REGEXP_EXPORT, ''); const logUncaughtErrorsScript = fs - .readFileSync(path.resolve(__dirname, 'logUncaughtErrors.js'), 'utf-8') - .replace(REGEXP_SOURCE_MAP, ''); + .readFileSync(path.resolve(__dir, 'logUncaughtErrors.js'), 'utf-8') + .replace(REGEXP_SOURCE_MAP, '') + .replace(REGEXP_EXPORT, ''); /** * Create the browser script as an IIFE wrapper. diff --git a/packages/browser-logs/test/serialize-deserialize.test.ts b/packages/browser-logs/test/serialize-deserialize.test.ts index ee56a4744a..e5489d755d 100644 --- a/packages/browser-logs/test/serialize-deserialize.test.ts +++ b/packages/browser-logs/test/serialize-deserialize.test.ts @@ -7,7 +7,9 @@ import path from 'path'; import { deserialize } from '../src/deserialize.ts'; const __dirname = import.meta.dirname; -const serializeScript = fs.readFileSync(new URL('../dist/serialize.js', import.meta.url), 'utf-8'); +const serializeScript = fs + .readFileSync(new URL('../dist/serialize.js', import.meta.url), 'utf-8') + .replace(/^export /gm, ''); const defaultOptions = { browserRootDir: __dirname, cwd: __dirname }; describe('serialize deserialize', function () { diff --git a/packages/config-loader/index.mjs b/packages/config-loader/index.mjs deleted file mode 100644 index 95dbe7a033..0000000000 --- a/packages/config-loader/index.mjs +++ /dev/null @@ -1,4 +0,0 @@ -import cjsModule from './src/index.js'; - -const { readConfig, ConfigLoaderError } = cjsModule; -export { readConfig, ConfigLoaderError }; diff --git a/packages/config-loader/package.json b/packages/config-loader/package.json index ff04731e6f..1c29d02f76 100644 --- a/packages/config-loader/package.json +++ b/packages/config-loader/package.json @@ -14,9 +14,8 @@ "author": "modern-web", "homepage": "https://github.com/modernweb-dev/web/tree/master/packages/config-loader", "main": "src/index.js", - "type": "commonjs", "engines": { - "node": ">=18.0.0" + "node": ">=24.0.0" }, "scripts": { "build": "tsc", @@ -26,7 +25,6 @@ "files": [ "*.d.ts", "*.js", - "*.mjs", "dist", "src" ], @@ -42,9 +40,8 @@ "types": "dist/index.d.ts", "exports": { ".": { - "types": "./index.d.ts", - "import": "./index.mjs", - "require": "./src/index.js" + "types": "./dist/index.d.ts", + "default": "./src/index.js" } } } diff --git a/packages/dev-server-core/index.mjs b/packages/dev-server-core/index.mjs deleted file mode 100644 index 784062c2e2..0000000000 --- a/packages/dev-server-core/index.mjs +++ /dev/null @@ -1,34 +0,0 @@ -// this file is autogenerated with the generate-mjs-dts-entrypoints script -import cjsEntrypoint from './dist/index.js'; - -const { - FSWatcher, - Koa, - Server, - WebSocket, - DevServer, - WebSocketsManager, - getRequestBrowserPath, - getRequestFilePath, - getResponseBody, - getHtmlPath, - isInlineScriptRequest, - PluginSyntaxError, - PluginError, -} = cjsEntrypoint; - -export { - FSWatcher, - Koa, - Server, - WebSocket, - DevServer, - WebSocketsManager, - getRequestBrowserPath, - getRequestFilePath, - getResponseBody, - getHtmlPath, - isInlineScriptRequest, - PluginSyntaxError, - PluginError, -}; diff --git a/packages/dev-server-core/package.json b/packages/dev-server-core/package.json index 12124c25f2..64accca477 100644 --- a/packages/dev-server-core/package.json +++ b/packages/dev-server-core/package.json @@ -26,14 +26,10 @@ "./test-helpers": { "types": "./test-helpers.d.ts", "default": "./dist/test-helpers.js" - }, - "./test-helpers.js": { - "types": "./test-helpers.d.ts", - "default": "./dist/test-helpers.js" } }, "engines": { - "node": ">=18.0.0" + "node": ">=24.0.0" }, "scripts": { "build": "tsc", @@ -41,14 +37,13 @@ "start:event-stream": "node demo/event-stream/start-server.js", "start:http2": "node demo/http2/start-server.js", "start:import-asset": "node demo/import-asset/start-server.js", - "test": "node --experimental-transform-types --test --test-force-exit --test-timeout 120000 \"test/**/*.test.ts\"", - "test:watch": "node --experimental-transform-types --test --test-force-exit --watch \"test/**/*.test.ts\"" + "test": "mocha \"test/**/*.test.{ts,js,mjs,cjs}\" --require ts-node/register --exit --reporter dot", + "test:watch": "mocha \"test/**/*.test.{ts,js,mjs,cjs}\" --require ts-node/register --watch --watch-files src,test" }, "files": [ ".self-signed-dev-server-ssl.cert", ".self-signed-dev-server-ssl.key", "*.d.ts", - "*.mjs", "dist", "src" ], @@ -88,5 +83,6 @@ "express": "^4.21.2", "nanoid": "^3.1.25", "portfinder": "^1.0.32" - } + }, + "type": "module" } diff --git a/packages/dev-server-core/src/server/createServer.ts b/packages/dev-server-core/src/server/createServer.ts index 8dd5d090a1..1da83c4c09 100644 --- a/packages/dev-server-core/src/server/createServer.ts +++ b/packages/dev-server-core/src/server/createServer.ts @@ -68,7 +68,7 @@ export function createServer( let server: Server; if (cfg.http2) { - const dir = path.join(__dirname, '..'); + const dir = path.join(import.meta.dirname, '..'); const options = { key: fs.readFileSync( cfg.sslKey diff --git a/packages/dev-server-core/test-helpers.mjs b/packages/dev-server-core/test-helpers.mjs deleted file mode 100644 index 9c0d7140bc..0000000000 --- a/packages/dev-server-core/test-helpers.mjs +++ /dev/null @@ -1,20 +0,0 @@ -// this file is autogenerated with the generate-mjs-dts-entrypoints script -import cjsEntrypoint from './dist/test-helpers.js'; - -const { - virtualFilesPlugin, - createTestServer, - timeout, - fetchText, - expectIncludes, - expectNotIncludes, -} = cjsEntrypoint; - -export { - virtualFilesPlugin, - createTestServer, - timeout, - fetchText, - expectIncludes, - expectNotIncludes, -}; diff --git a/packages/dev-server-esbuild/index.mjs b/packages/dev-server-esbuild/index.mjs deleted file mode 100644 index 3d9d2f5958..0000000000 --- a/packages/dev-server-esbuild/index.mjs +++ /dev/null @@ -1,6 +0,0 @@ -// this file is autogenerated with the generate-mjs-dts-entrypoints script -import cjsEntrypoint from './dist/index.js'; - -const { esbuildPlugin } = cjsEntrypoint; - -export { esbuildPlugin }; diff --git a/packages/dev-server-esbuild/package.json b/packages/dev-server-esbuild/package.json index 8292cc07a7..ec7fa78edd 100644 --- a/packages/dev-server-esbuild/package.json +++ b/packages/dev-server-esbuild/package.json @@ -17,12 +17,11 @@ "exports": { ".": { "types": "./index.d.ts", - "import": "./index.mjs", - "require": "./dist/index.js" + "default": "./dist/index.js" } }, "engines": { - "node": ">=18.0.0" + "node": ">=24.0.0" }, "scripts": { "build": "tsc", @@ -34,7 +33,6 @@ "files": [ "*.d.ts", "*.js", - "*.mjs", "dist", "src" ], @@ -53,7 +51,7 @@ "dependencies": { "@mdn/browser-compat-data": "^4.0.0", "@web/dev-server-core": "^0.7.4", - "esbuild": "^0.27.0", + "esbuild": "^0.25.0", "parse5": "^6.0.1", "ua-parser-js": "^1.0.33" }, @@ -62,5 +60,6 @@ "@web/dev-server-rollup": "^0.6.1", "lit-element": "^3.0.0 || ^4.0.1", "preact": "^10.5.9" - } + }, + "type": "module" } diff --git a/packages/dev-server-hmr/index.mjs b/packages/dev-server-hmr/index.mjs deleted file mode 100644 index 63a3204eff..0000000000 --- a/packages/dev-server-hmr/index.mjs +++ /dev/null @@ -1,6 +0,0 @@ -// this file is autogenerated with the generate-mjs-dts-entrypoints script -import cjsEntrypoint from './dist/index.js'; - -const { hmrPlugin } = cjsEntrypoint; - -export { hmrPlugin }; diff --git a/packages/dev-server-hmr/package.json b/packages/dev-server-hmr/package.json index 41baa8fda1..793c4723c6 100644 --- a/packages/dev-server-hmr/package.json +++ b/packages/dev-server-hmr/package.json @@ -17,12 +17,11 @@ "exports": { ".": { "types": "./index.d.ts", - "import": "./index.mjs", - "require": "./dist/index.js" + "default": "./dist/index.js" } }, "engines": { - "node": ">=18.0.0" + "node": ">=24.0.0" }, "scripts": { "build": "tsc", @@ -34,7 +33,6 @@ "files": [ "*.d.ts", "*.js", - "*.mjs", "dist", "scripts", "src" @@ -45,5 +43,6 @@ "devDependencies": { "lit-html": "^2.7.3 || ^3.0.0", "puppeteer": "^24.0.0" - } + }, + "type": "module" } diff --git a/packages/dev-server-hmr/src/HmrPlugin.ts b/packages/dev-server-hmr/src/HmrPlugin.ts index f3401ef185..1e942ee3fd 100644 --- a/packages/dev-server-hmr/src/HmrPlugin.ts +++ b/packages/dev-server-hmr/src/HmrPlugin.ts @@ -10,8 +10,9 @@ import WebSocket from 'ws'; import type { Context } from 'koa'; import path, { posix as pathUtil } from 'path'; import fs from 'fs'; +import { fileURLToPath } from 'node:url'; -const hmrClientScriptPath = require.resolve('../scripts/hmrClientScript.js'); +const hmrClientScriptPath = fileURLToPath(import.meta.resolve('../scripts/hmrClientScript.js')); let hmrClientScript = fs.readFileSync(hmrClientScriptPath, 'utf-8'); export interface HmrReloadMessage { diff --git a/packages/dev-server-import-maps/index.mjs b/packages/dev-server-import-maps/index.mjs deleted file mode 100644 index 7d0bae643f..0000000000 --- a/packages/dev-server-import-maps/index.mjs +++ /dev/null @@ -1,6 +0,0 @@ -// this file is autogenerated with the generate-mjs-dts-entrypoints script -import cjsEntrypoint from './dist/index.js'; - -const { importMapsPlugin } = cjsEntrypoint; - -export { importMapsPlugin }; diff --git a/packages/dev-server-import-maps/package.json b/packages/dev-server-import-maps/package.json index d166ba6f58..6bc8b9ff76 100644 --- a/packages/dev-server-import-maps/package.json +++ b/packages/dev-server-import-maps/package.json @@ -17,12 +17,11 @@ "exports": { ".": { "types": "./index.d.ts", - "import": "./index.mjs", - "require": "./dist/index.js" + "default": "./dist/index.js" } }, "engines": { - "node": ">=18.0.0" + "node": ">=24.0.0" }, "scripts": { "build": "tsc", @@ -33,7 +32,6 @@ "files": [ "*.d.ts", "*.js", - "*.mjs", "dist", "src" ], @@ -59,5 +57,6 @@ }, "devDependencies": { "@web/test-runner": "^0.20.0" - } + }, + "type": "module" } diff --git a/packages/dev-server-legacy/index.mjs b/packages/dev-server-legacy/index.mjs deleted file mode 100644 index f0f92a15f3..0000000000 --- a/packages/dev-server-legacy/index.mjs +++ /dev/null @@ -1,6 +0,0 @@ -// this file is autogenerated with the generate-mjs-dts-entrypoints script -import cjsEntrypoint from './dist/index.js'; - -const { legacyPlugin } = cjsEntrypoint; - -export { legacyPlugin }; diff --git a/packages/dev-server-legacy/package.json b/packages/dev-server-legacy/package.json index aadff0ca27..f572f18a53 100644 --- a/packages/dev-server-legacy/package.json +++ b/packages/dev-server-legacy/package.json @@ -17,12 +17,11 @@ "exports": { ".": { "types": "./index.d.ts", - "import": "./index.mjs", - "require": "./dist/index.js" + "default": "./dist/index.js" } }, "engines": { - "node": ">=18.0.0" + "node": ">=24.0.0" }, "scripts": { "build": "tsc", @@ -33,7 +32,6 @@ "files": [ "*.d.ts", "*.js", - "*.mjs", "dist", "src" ], @@ -72,5 +70,6 @@ "@types/browserslist-useragent": "^3.0.2", "@types/caniuse-api": "^3.0.1", "@types/valid-url": "^1.0.3" - } + }, + "type": "module" } diff --git a/packages/dev-server-legacy/src/babelTransform.ts b/packages/dev-server-legacy/src/babelTransform.ts index 606286b212..c10659a8f6 100644 --- a/packages/dev-server-legacy/src/babelTransform.ts +++ b/packages/dev-server-legacy/src/babelTransform.ts @@ -1,6 +1,9 @@ +import { fileURLToPath } from 'node:url'; import { transformAsync } from '@babel/core'; import type { TransformOptions } from '@babel/core'; +const resolve = (specifier: string) => fileURLToPath(import.meta.resolve(specifier)); + export const es5Config: TransformOptions = { caller: { name: '@web/dev-server-legacy', @@ -11,7 +14,7 @@ export const es5Config: TransformOptions = { configFile: false, presets: [ [ - require.resolve('@babel/preset-env'), + resolve('@babel/preset-env'), { targets: ['defaults', 'ie 10'], useBuiltIns: false, @@ -26,10 +29,10 @@ export const es5Config: TransformOptions = { * it only ensures that babel does not crash when you're using them. */ plugins: [ - require.resolve('@babel/plugin-syntax-import-meta'), - require.resolve('@babel/plugin-syntax-class-properties'), - require.resolve('@babel/plugin-syntax-numeric-separator'), - require.resolve('@babel/plugin-syntax-dynamic-import'), + resolve('@babel/plugin-syntax-import-meta'), + resolve('@babel/plugin-syntax-class-properties'), + resolve('@babel/plugin-syntax-numeric-separator'), + resolve('@babel/plugin-syntax-dynamic-import'), ], }; @@ -37,11 +40,11 @@ export const systemJsConfig: TransformOptions = { ...es5Config, plugins: [ ...(es5Config.plugins ?? []), - require.resolve('@babel/plugin-proposal-dynamic-import'), - require.resolve('@babel/plugin-transform-modules-systemjs'), + resolve('@babel/plugin-proposal-dynamic-import'), + resolve('@babel/plugin-transform-modules-systemjs'), // systemjs adds template literals, we do systemjs after (potential) // es5 compilation so we need to ensure it stays es5 - require.resolve('@babel/plugin-transform-template-literals'), + resolve('@babel/plugin-transform-template-literals'), ], }; diff --git a/packages/dev-server-polyfill/package.json b/packages/dev-server-polyfill/package.json index 25f2d7ae3f..0d17d8b72d 100644 --- a/packages/dev-server-polyfill/package.json +++ b/packages/dev-server-polyfill/package.json @@ -21,7 +21,7 @@ } }, "engines": { - "node": ">=16.0.0" + "node": ">=24.0.0" }, "scripts": { "build": "tsc" diff --git a/packages/dev-server-rollup/index.mjs b/packages/dev-server-rollup/index.mjs deleted file mode 100644 index 2e9fdd7555..0000000000 --- a/packages/dev-server-rollup/index.mjs +++ /dev/null @@ -1,6 +0,0 @@ -// this file is autogenerated with the generate-mjs-dts-entrypoints script -import cjsEntrypoint from './dist/index.js'; - -const { nodeResolve, fromRollup, rollupAdapter, rollupBundlePlugin } = cjsEntrypoint; - -export { nodeResolve, fromRollup, rollupAdapter, rollupBundlePlugin }; diff --git a/packages/dev-server-rollup/package.json b/packages/dev-server-rollup/package.json index cf889b183c..259bb89218 100644 --- a/packages/dev-server-rollup/package.json +++ b/packages/dev-server-rollup/package.json @@ -17,12 +17,11 @@ "exports": { ".": { "types": "./index.d.ts", - "import": "./index.mjs", - "require": "./dist/index.js" + "default": "./dist/index.js" } }, "engines": { - "node": ">=18.0.0" + "node": ">=24.0.0" }, "scripts": { "test:node": "node --experimental-transform-types --test --test-force-exit --test-timeout 120000 \"test/node/**/*.test.ts\"", @@ -31,7 +30,6 @@ "files": [ "*.d.ts", "*.js", - "*.mjs", "dist", "src" ], @@ -50,7 +48,7 @@ "dependencies": { "@rollup/plugin-node-resolve": "^15.0.1", "@web/dev-server-core": "^0.7.2", - "nanocolors": "^0.2.1", + "nanocolors": "^0.2.13", "parse5": "^6.0.1", "rollup": "^4.4.0", "whatwg-url": "^14.0.0" @@ -69,5 +67,6 @@ "mocha": "^10.8.2", "postcss": "^8.4.31", "rollup-plugin-postcss": "^4.0.2" - } + }, + "type": "module" } diff --git a/packages/dev-server-storybook/package.json b/packages/dev-server-storybook/package.json index e625e911d6..f04bb15ac7 100644 --- a/packages/dev-server-storybook/package.json +++ b/packages/dev-server-storybook/package.json @@ -21,12 +21,12 @@ "type": "module", "exports": { ".": { - "import": "./dist/serve/storybookPlugin.js", - "types": "./dist/serve/storybookPlugin.d.ts" + "types": "./dist/serve/storybookPlugin.d.ts", + "default": "./dist/serve/storybookPlugin.js" } }, "engines": { - "node": ">=18.0.0" + "node": ">=24.0.0" }, "scripts": { "build:wc": "node dist/build/cli.js -c demo/wc/.storybook", @@ -37,7 +37,6 @@ "files": [ "*.d.ts", "*.js", - "*.mjs", "CHANGELOG.md", "dist", "src" @@ -62,7 +61,7 @@ "@rollup/plugin-terser": "^0.4.4", "@storybook/csf-tools": "^6.4.9", "@web/dev-server-core": "^0.7.2", - "@web/rollup-plugin-html": "^3.1.0", + "@web/rollup-plugin-html": "^2.1.2", "@web/rollup-plugin-polyfills-loader": "^2.1.1", "@web/storybook-prebuilt": "^0.1.37", "babel-plugin-bundled-import-meta": "^0.3.2", diff --git a/packages/dev-server-storybook/src/shared/mdx/transformMdxToCsf.ts b/packages/dev-server-storybook/src/shared/mdx/transformMdxToCsf.ts index 06674d6b3b..afb5a3d5dd 100644 --- a/packages/dev-server-storybook/src/shared/mdx/transformMdxToCsf.ts +++ b/packages/dev-server-storybook/src/shared/mdx/transformMdxToCsf.ts @@ -1,3 +1,4 @@ +import { fileURLToPath } from 'node:url'; import mdx from '@mdx-js/mdx'; import { transformAsync } from '@babel/core'; // @ts-ignore @@ -17,7 +18,7 @@ export async function transformMdxToCsf(body: string, filePath: string): Promise const babelResult = await transformAsync(jsx, { filename: filePath, sourceMaps: true, - plugins: [require.resolve('@babel/plugin-transform-react-jsx')], + plugins: [fileURLToPath(import.meta.resolve('@babel/plugin-transform-react-jsx'))], }); if (!babelResult?.code) { diff --git a/packages/dev-server/index.mjs b/packages/dev-server/index.mjs deleted file mode 100644 index 113d1f3dee..0000000000 --- a/packages/dev-server/index.mjs +++ /dev/null @@ -1,7 +0,0 @@ -// this file is autogenerated with the generate-mjs-dts-entrypoints script -import cjsEntrypoint from './dist/index.js'; - -const { startDevServer, mergeConfigs, DevServerStartError, esbuildPlugin, nodeResolvePlugin } = - cjsEntrypoint; - -export { startDevServer, mergeConfigs, DevServerStartError, esbuildPlugin, nodeResolvePlugin }; diff --git a/packages/dev-server/package.json b/packages/dev-server/package.json index 8fef100c0d..4279919d6f 100644 --- a/packages/dev-server/package.json +++ b/packages/dev-server/package.json @@ -21,12 +21,11 @@ "exports": { ".": { "types": "./index.d.ts", - "import": "./index.mjs", - "require": "./dist/index.js" + "default": "./dist/index.js" } }, "engines": { - "node": ">=18.0.0" + "node": ">=24.0.0" }, "scripts": { "start": "npm run start:syntax", @@ -42,7 +41,6 @@ }, "files": [ "*.d.ts", - "*.mjs", "dist", "src" ], @@ -60,19 +58,20 @@ "@web/config-loader": "^0.3.0", "@web/dev-server-core": "^0.7.2", "@web/dev-server-rollup": "^0.6.1", - "camelcase": "^6.2.0", + "camelcase": "^6.3.0", "command-line-args": "^5.1.1", "command-line-usage": "^7.0.1", "debounce": "^1.2.0", "deepmerge": "^4.2.2", - "internal-ip": "^6.2.0", - "nanocolors": "^0.2.1", - "open": "^8.0.2", - "portfinder": "^1.0.32" + "internal-ip": "^8.0.1", + "nanocolors": "^0.2.13", + "open": "^8.4.2", + "portfinder": "^1.0.38" }, "devDependencies": { "@types/command-line-usage": "^5.0.1", "lit-html": "^2.7.3 || ^3.0.0", "puppeteer": "^24.0.0" - } + }, + "type": "module" } diff --git a/packages/dev-server/src/plugins/esbuildPlugin.ts b/packages/dev-server/src/plugins/esbuildPlugin.ts index 42a4c42437..1ca8b56222 100644 --- a/packages/dev-server/src/plugins/esbuildPlugin.ts +++ b/packages/dev-server/src/plugins/esbuildPlugin.ts @@ -1,6 +1,10 @@ +import { createRequire } from 'node:module'; + +const require = createRequire(import.meta.url); + function requirePlugin() { try { - const path = require.resolve('@web/dev-server-esbuild', { paths: [__dirname, process.cwd()] }); + const path = require.resolve('@web/dev-server-esbuild'); return require(path); } catch (error) { if ((error as NodeJS.ErrnoException).code === 'MODULE_NOT_FOUND') { diff --git a/packages/parse5-utils/index.mjs b/packages/parse5-utils/index.mjs index 9c207eaea7..b0a5f80d39 100644 --- a/packages/parse5-utils/index.mjs +++ b/packages/parse5-utils/index.mjs @@ -1,4 +1,6 @@ -import cjsEntrypoint from './src/index.js'; +import { createRequire } from 'module'; +const require = createRequire(import.meta.url); +const cjsEntrypoint = require('./src/index.js'); const { createDocument, diff --git a/packages/parse5-utils/package.json b/packages/parse5-utils/package.json index 63d7f4be20..13f53c056a 100644 --- a/packages/parse5-utils/package.json +++ b/packages/parse5-utils/package.json @@ -18,11 +18,11 @@ ".": { "types": "./index.d.ts", "import": "./index.mjs", - "require": "./src/index.js" + "default": "./src/index.js" } }, "engines": { - "node": ">=18.0.0" + "node": ">=24.0.0" }, "scripts": { "build": "tsc", @@ -31,7 +31,6 @@ }, "files": [ "*.d.ts", - "*.mjs", "dist", "src" ], diff --git a/packages/polyfills-loader/index.mjs b/packages/polyfills-loader/index.mjs deleted file mode 100644 index 3dd11914bc..0000000000 --- a/packages/polyfills-loader/index.mjs +++ /dev/null @@ -1,20 +0,0 @@ -// this file is autogenerated with the generate-mjs-dts-entrypoints script -import cjsEntrypoint from './dist/index.js'; - -const { - createPolyfillsData, - createPolyfillsLoader, - injectPolyfillsLoader, - hasFileOfType, - fileTypes, - getScriptFileType, -} = cjsEntrypoint; - -export { - createPolyfillsData, - createPolyfillsLoader, - injectPolyfillsLoader, - hasFileOfType, - fileTypes, - getScriptFileType, -}; diff --git a/packages/polyfills-loader/package.json b/packages/polyfills-loader/package.json index 1dc2e5a754..b91c6570f8 100644 --- a/packages/polyfills-loader/package.json +++ b/packages/polyfills-loader/package.json @@ -17,12 +17,11 @@ "exports": { ".": { "types": "./index.d.ts", - "import": "./index.mjs", - "require": "./dist/index.js" + "default": "./dist/index.js" } }, "engines": { - "node": ">=18.0.0" + "node": ">=24.0.0" }, "scripts": { "build": "tsc", @@ -33,7 +32,6 @@ "files": [ "*.d.ts", "*.js", - "*.mjs", "dist", "src" ], @@ -70,5 +68,6 @@ "@types/babel__core": "^7.1.12", "@types/parse5": "^6.0.1", "@types/valid-url": "^1.0.3" - } + }, + "type": "module" } diff --git a/packages/polyfills-loader/src/createPolyfillsData.ts b/packages/polyfills-loader/src/createPolyfillsData.ts index d2172d39a8..447fd72074 100644 --- a/packages/polyfills-loader/src/createPolyfillsData.ts +++ b/packages/polyfills-loader/src/createPolyfillsData.ts @@ -1,4 +1,5 @@ import path from 'path'; +import { fileURLToPath } from 'node:url'; import fs from 'fs'; import { minify } from 'terser'; import type { PolyfillsLoaderConfig, PolyfillConfig, PolyfillFile } from './types.ts'; @@ -25,47 +26,61 @@ export async function createPolyfillsData(cfg: PolyfillsLoaderConfig): Promise
import(s);').call(); return false; } catch (_) { return true; } })()", - path: require.resolve('dynamic-import-polyfill/dist/dynamic-import-polyfill.umd.js'), + path: fileURLToPath(dynamicImportPath), initializer: "window.dynamicImportPolyfill.initialize({ importFunctionName: 'importShim' });", }); } if (polyfills.intersectionObserver) { + const intersectionObserverPath = await import.meta + .resolve('intersection-observer/intersection-observer.js'); addPolyfillConfig({ name: 'intersection-observer', test: "!('IntersectionObserver' in window && 'IntersectionObserverEntry' in window && 'intersectionRatio' in window.IntersectionObserverEntry.prototype)", - path: require.resolve('intersection-observer/intersection-observer.js'), + path: fileURLToPath(intersectionObserverPath), minify: true, }); } if (polyfills.resizeObserver) { + const resizeObserverPath = await import.meta + .resolve('resize-observer-polyfill/dist/ResizeObserver.global.js'); addPolyfillConfig({ name: 'resize-observer', test: "!('ResizeObserver' in window)", - path: require.resolve('resize-observer-polyfill/dist/ResizeObserver.global.js'), + path: fileURLToPath(resizeObserverPath), minify: true, }); } if (polyfills.scopedCustomElementRegistry) { + const scopedRegistryPath = await import.meta + .resolve('@webcomponents/scoped-custom-element-registry/scoped-custom-element-registry.min.js'); addPolyfillConfig({ name: 'scoped-custom-element-registry', test: "!('createElement' in ShadowRoot.prototype)", - path: require.resolve('@webcomponents/scoped-custom-element-registry/scoped-custom-element-registry.min.js'), + path: fileURLToPath(scopedRegistryPath), }); } if (polyfills.webcomponents && !polyfills.shadyCssCustomStyle) { + const webcomponentsPath = await import.meta + .resolve('@webcomponents/webcomponentsjs/webcomponents-bundle.js'); addPolyfillConfig({ name: 'webcomponents', test: "!('attachShadow' in Element.prototype) || !('getRootNode' in Element.prototype) || (window.ShadyDOM && window.ShadyDOM.force)", - path: require.resolve('@webcomponents/webcomponentsjs/webcomponents-bundle.js'), + path: fileURLToPath(webcomponentsPath), }); // If a browser does not support nomodule attribute, but does support custom elements, we need // to load the custom elements es5 adapter. This is the case for Safari 10.1 + const es5AdapterPath = await import.meta + .resolve('@webcomponents/webcomponentsjs/custom-elements-es5-adapter.js'); addPolyfillConfig({ name: 'custom-elements-es5-adapter', test: "!('noModule' in HTMLScriptElement.prototype) && 'getRootNode' in Element.prototype", - path: require.resolve('@webcomponents/webcomponentsjs/custom-elements-es5-adapter.js'), + path: fileURLToPath(es5AdapterPath), }); } @@ -182,13 +206,20 @@ export async function createPolyfillsData(cfg: PolyfillsLoaderConfig): Promise
=18.0.0"
+ "node": ">=24.0.0"
},
"scripts": {
"test:node": "node --experimental-transform-types --test --test-force-exit --test-timeout 120000 'test/**/*.test.mjs'",
@@ -35,7 +34,6 @@
"files": [
"*.d.ts",
"*.js",
- "*.mjs",
"dist",
"src"
],
diff --git a/packages/rollup-plugin-html/index.mjs b/packages/rollup-plugin-html/index.mjs
deleted file mode 100644
index 4d19d569b8..0000000000
--- a/packages/rollup-plugin-html/index.mjs
+++ /dev/null
@@ -1,6 +0,0 @@
-// this file is autogenerated with the generate-mjs-dts-entrypoints script
-import cjsEntrypoint from './dist/index.js';
-
-const { rollupPluginHTML } = cjsEntrypoint;
-
-export { rollupPluginHTML };
diff --git a/packages/rollup-plugin-html/package.json b/packages/rollup-plugin-html/package.json
index 3450446d9f..9252ba5bfc 100644
--- a/packages/rollup-plugin-html/package.json
+++ b/packages/rollup-plugin-html/package.json
@@ -16,13 +16,12 @@
"main": "dist/index.js",
"exports": {
".": {
- "import": "./index.mjs",
- "require": "./dist/index.js",
- "types": "./dist/index.d.ts"
+ "types": "./dist/index.d.ts",
+ "default": "./dist/index.js"
}
},
"engines": {
- "node": ">=18.0.0"
+ "node": ">=24.0.0"
},
"scripts": {
"demo:mpa": "rm -rf demo/dist && rollup -c demo/mpa/rollup.config.js --watch & npm run serve-demo",
@@ -33,7 +32,6 @@
},
"files": [
"*.js",
- "*.mjs",
"dist",
"src"
],
@@ -58,5 +56,6 @@
"@types/prettier": "^3.0.0",
"prettier": "^3.6.2",
"rollup": "^4.4.0"
- }
+ },
+ "type": "module"
}
diff --git a/packages/rollup-plugin-import-meta-assets/index.mjs b/packages/rollup-plugin-import-meta-assets/index.mjs
deleted file mode 100644
index 6304b074df..0000000000
--- a/packages/rollup-plugin-import-meta-assets/index.mjs
+++ /dev/null
@@ -1,5 +0,0 @@
-import cjsEntrypoint from './src/rollup-plugin-import-meta-assets.js';
-
-const { importMetaAssets } = cjsEntrypoint;
-
-export { importMetaAssets };
diff --git a/packages/rollup-plugin-import-meta-assets/package.json b/packages/rollup-plugin-import-meta-assets/package.json
index c14a0e6921..675cc2d334 100644
--- a/packages/rollup-plugin-import-meta-assets/package.json
+++ b/packages/rollup-plugin-import-meta-assets/package.json
@@ -16,12 +16,11 @@
"main": "src/index.js",
"exports": {
".": {
- "import": "./index.mjs",
- "require": "./src/index.js"
+ "default": "./src/index.js"
}
},
"engines": {
- "node": ">=18.0.0"
+ "node": ">=24.0.0"
},
"scripts": {
"test": "npm run test:node",
@@ -31,7 +30,6 @@
},
"files": [
"*.js",
- "*.mjs",
"dist",
"src"
],
diff --git a/packages/rollup-plugin-polyfills-loader/index.mjs b/packages/rollup-plugin-polyfills-loader/index.mjs
deleted file mode 100644
index f94c3df280..0000000000
--- a/packages/rollup-plugin-polyfills-loader/index.mjs
+++ /dev/null
@@ -1,6 +0,0 @@
-// this file is autogenerated with the generate-mjs-dts-entrypoints script
-import cjsEntrypoint from './dist/index.js';
-
-const { polyfillsLoader } = cjsEntrypoint;
-
-export { polyfillsLoader };
diff --git a/packages/rollup-plugin-polyfills-loader/package.json b/packages/rollup-plugin-polyfills-loader/package.json
index 2836fce0d6..991fc4f843 100644
--- a/packages/rollup-plugin-polyfills-loader/package.json
+++ b/packages/rollup-plugin-polyfills-loader/package.json
@@ -16,13 +16,12 @@
"main": "dist/index.js",
"exports": {
".": {
- "import": "./index.mjs",
- "require": "./dist/index.js",
- "types": "./dist/index.d.ts"
+ "types": "./dist/index.d.ts",
+ "default": "./dist/index.js"
}
},
"engines": {
- "node": ">=18.0.0"
+ "node": ">=24.0.0"
},
"scripts": {
"test:node": "node --experimental-transform-types --test --test-force-exit --test-timeout 120000 \"test/**/*.test.ts\"",
@@ -32,7 +31,6 @@
"files": [
"*.d.ts",
"*.js",
- "*.mjs",
"dist",
"src"
],
@@ -50,5 +48,6 @@
"devDependencies": {
"@web/rollup-plugin-html": "^3.0.0",
"rollup": "^4.4.0"
- }
+ },
+ "type": "module"
}
diff --git a/packages/rollup-plugin-workbox/index.mjs b/packages/rollup-plugin-workbox/index.mjs
deleted file mode 100644
index bd27d0c2b7..0000000000
--- a/packages/rollup-plugin-workbox/index.mjs
+++ /dev/null
@@ -1,6 +0,0 @@
-// this file is autogenerated with the generate-mjs-dts-entrypoints script
-import cjsEntrypoint from './dist/index.js';
-
-const { generateSW, injectManifest } = cjsEntrypoint;
-
-export { generateSW, injectManifest };
diff --git a/packages/rollup-plugin-workbox/package.json b/packages/rollup-plugin-workbox/package.json
index 6ad0628913..7ebbe9c65f 100644
--- a/packages/rollup-plugin-workbox/package.json
+++ b/packages/rollup-plugin-workbox/package.json
@@ -18,8 +18,7 @@
"exports": {
".": {
"types": "./index.d.ts",
- "import": "./index.mjs",
- "require": "./dist/index.js"
+ "default": "./dist/index.js"
}
},
"scripts": {
@@ -32,12 +31,13 @@
"workbox"
],
"dependencies": {
- "esbuild": "^0.27.0",
+ "esbuild": "^0.25.0",
"pretty-bytes": "^5.5.0",
"workbox-build": "^7.0.0"
},
"contributors": [
"Pascal Schilp