diff --git a/README.md b/README.md index bbb8c20a..252a1b48 100644 --- a/README.md +++ b/README.md @@ -132,8 +132,8 @@ Use modern JavaScript modules with `import` statements. diff --git a/package-lock.json b/package-lock.json index 9c71e579..0fa2c4a4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,18 +1,18 @@ { "name": "solid-ui", - "version": "3.0.0", + "version": "3.0.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "solid-ui", - "version": "3.0.0", + "version": "3.0.1", "license": "MIT", "dependencies": { "@noble/curves": "^1.9.6", "@noble/hashes": "^1.8.0", "escape-html": "^1.0.3", - "mime-types": "^3.0.1", + "mime-types": "^3.0.2", "pane-registry": "^3.0.0", "solid-namespace": "^0.5.4", "uuid": "^11.1.0" @@ -24,7 +24,6 @@ "@babel/preset-env": "^7.28.0", "@babel/preset-typescript": "^7.27.1", "@babel/runtime": "^7.28.2", - "@eslint/eslintrc": "^3.3.1", "@eslint/js": "^9.32.0", "@mdx-js/react": "^3.1.0", "@storybook/addon-actions": "7.6.20", @@ -38,13 +37,13 @@ "@types/jest": "^30.0.0", "@types/jsdom": "^21.1.7", "@types/node": "^24.2.0", - "@typescript-eslint/parser": "^8.39.0", + "@typescript-eslint/parser": "^8.48.1", "babel-jest": "^30.1.2", "babel-loader": "^10.0.0", "eslint": "^9.32.0", "eslint-import-resolver-typescript": "^4.4.4", "eslint-plugin-import": "^2.32.0", - "eslint-plugin-jest": "^29.0.1", + "eslint-plugin-jest": "^29.2.1", "eslint-plugin-n": "^17.21.3", "eslint-plugin-promise": "^7.2.1", "get-random-values": "^4.0.0", @@ -59,12 +58,12 @@ "react": "^17.0.2", "react-dom": "^17.0.2", "react-is": "^17.0.2", - "solid-logic": "^4.0.0", + "solid-logic": "^4.0.1", "storybook": "^7.6.20", - "terser-webpack-plugin": "^5.3.14", + "terser-webpack-plugin": "^5.3.15", "typedoc": "^0.28.9", "typescript": "^5.9.2", - "webpack": "^5.101.0", + "webpack": "^5.103.0", "webpack-cli": "^6.0.1" }, "optionalDependencies": { @@ -7751,16 +7750,16 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "8.48.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.48.0.tgz", - "integrity": "sha512-jCzKdm/QK0Kg4V4IK/oMlRZlY+QOcdjv89U2NgKHZk1CYTj82/RVSx1mV/0gqCVMJ/DA+Zf/S4NBWNF8GQ+eqQ==", + "version": "8.48.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.48.1.tgz", + "integrity": "sha512-PC0PDZfJg8sP7cmKe6L3QIL8GZwU5aRvUFedqSIpw3B+QjRSUZeeITC2M5XKeMXEzL6wccN196iy3JLwKNvDVA==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/scope-manager": "8.48.0", - "@typescript-eslint/types": "8.48.0", - "@typescript-eslint/typescript-estree": "8.48.0", - "@typescript-eslint/visitor-keys": "8.48.0", + "@typescript-eslint/scope-manager": "8.48.1", + "@typescript-eslint/types": "8.48.1", + "@typescript-eslint/typescript-estree": "8.48.1", + "@typescript-eslint/visitor-keys": "8.48.1", "debug": "^4.3.4" }, "engines": { @@ -7776,14 +7775,14 @@ } }, "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/project-service": { - "version": "8.48.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.48.0.tgz", - "integrity": "sha512-Ne4CTZyRh1BecBf84siv42wv5vQvVmgtk8AuiEffKTUo3DrBaGYZueJSxxBZ8fjk/N3DrgChH4TOdIOwOwiqqw==", + "version": "8.48.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.48.1.tgz", + "integrity": "sha512-HQWSicah4s9z2/HifRPQ6b6R7G+SBx64JlFQpgSSHWPKdvCZX57XCbszg/bapbRsOEv42q5tayTYcEFpACcX1w==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/tsconfig-utils": "^8.48.0", - "@typescript-eslint/types": "^8.48.0", + "@typescript-eslint/tsconfig-utils": "^8.48.1", + "@typescript-eslint/types": "^8.48.1", "debug": "^4.3.4" }, "engines": { @@ -7798,14 +7797,14 @@ } }, "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/scope-manager": { - "version": "8.48.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.48.0.tgz", - "integrity": "sha512-uGSSsbrtJrLduti0Q1Q9+BF1/iFKaxGoQwjWOIVNJv0o6omrdyR8ct37m4xIl5Zzpkp69Kkmvom7QFTtue89YQ==", + "version": "8.48.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.48.1.tgz", + "integrity": "sha512-rj4vWQsytQbLxC5Bf4XwZ0/CKd362DkWMUkviT7DCS057SK64D5lH74sSGzhI6PDD2HCEq02xAP9cX68dYyg1w==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.48.0", - "@typescript-eslint/visitor-keys": "8.48.0" + "@typescript-eslint/types": "8.48.1", + "@typescript-eslint/visitor-keys": "8.48.1" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -7816,9 +7815,9 @@ } }, "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/tsconfig-utils": { - "version": "8.48.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.48.0.tgz", - "integrity": "sha512-WNebjBdFdyu10sR1M4OXTt2OkMd5KWIL+LLfeH9KhgP+jzfDV/LI3eXzwJ1s9+Yc0Kzo2fQCdY/OpdusCMmh6w==", + "version": "8.48.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.48.1.tgz", + "integrity": "sha512-k0Jhs4CpEffIBm6wPaCXBAD7jxBtrHjrSgtfCjUvPp9AZ78lXKdTR8fxyZO5y4vWNlOvYXRtngSZNSn+H53Jkw==", "dev": true, "license": "MIT", "engines": { @@ -7833,9 +7832,9 @@ } }, "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/types": { - "version": "8.48.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.48.0.tgz", - "integrity": "sha512-cQMcGQQH7kwKoVswD1xdOytxQR60MWKM1di26xSUtxehaDs/32Zpqsu5WJlXTtTTqyAVK8R7hvsUnIXRS+bjvA==", + "version": "8.48.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.48.1.tgz", + "integrity": "sha512-+fZ3LZNeiELGmimrujsDCT4CRIbq5oXdHe7chLiW8qzqyPMnn1puNstCrMNVAqwcl2FdIxkuJ4tOs/RFDBVc/Q==", "dev": true, "license": "MIT", "engines": { @@ -7847,16 +7846,16 @@ } }, "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/typescript-estree": { - "version": "8.48.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.48.0.tgz", - "integrity": "sha512-ljHab1CSO4rGrQIAyizUS6UGHHCiAYhbfcIZ1zVJr5nMryxlXMVWS3duFPSKvSUbFPwkXMFk1k0EMIjub4sRRQ==", + "version": "8.48.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.48.1.tgz", + "integrity": "sha512-/9wQ4PqaefTK6POVTjJaYS0bynCgzh6ClJHGSBj06XEHjkfylzB+A3qvyaXnErEZSaxhIo4YdyBgq6j4RysxDg==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/project-service": "8.48.0", - "@typescript-eslint/tsconfig-utils": "8.48.0", - "@typescript-eslint/types": "8.48.0", - "@typescript-eslint/visitor-keys": "8.48.0", + "@typescript-eslint/project-service": "8.48.1", + "@typescript-eslint/tsconfig-utils": "8.48.1", + "@typescript-eslint/types": "8.48.1", + "@typescript-eslint/visitor-keys": "8.48.1", "debug": "^4.3.4", "minimatch": "^9.0.4", "semver": "^7.6.0", @@ -7875,13 +7874,13 @@ } }, "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/visitor-keys": { - "version": "8.48.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.48.0.tgz", - "integrity": "sha512-T0XJMaRPOH3+LBbAfzR2jalckP1MSG/L9eUtY0DEzUyVaXJ/t6zN0nR7co5kz0Jko/nkSYCBRkz1djvjajVTTg==", + "version": "8.48.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.48.1.tgz", + "integrity": "sha512-BmxxndzEWhE4TIEEMBs8lP3MBWN3jFPs/p6gPm/wkv02o41hI6cq9AuSmGAaTTHPtA1FTi2jBre4A9rm5ZmX+Q==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.48.0", + "@typescript-eslint/types": "8.48.1", "eslint-visitor-keys": "^4.2.1" }, "engines": { @@ -20388,9 +20387,9 @@ } }, "node_modules/solid-logic": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/solid-logic/-/solid-logic-4.0.0.tgz", - "integrity": "sha512-0MCou8Eh4Q6fN2aoSSdH+/Z21cMMMkk6VWFP1Hu7hplqRxaxcy5ZWFdeLmVWQ4eqacuEPH/xAjZIwGpYvg5Itw==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/solid-logic/-/solid-logic-4.0.1.tgz", + "integrity": "sha512-srCwjX171dUQKN9Pp12lBD4mghRrbSvLfPFmeYP3TezAd5yGleb1ojcbMeN15RVSJQHrPqZDh9TiBUXZo3knLw==", "license": "MIT", "peer": true, "dependencies": { @@ -21070,9 +21069,9 @@ } }, "node_modules/terser-webpack-plugin": { - "version": "5.3.14", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.14.tgz", - "integrity": "sha512-vkZjpUjb6OMS7dhV+tILUW6BhpDR7P2L/aQSAv+Uwk+m8KATX9EccViHTJR2qDtACKPIYndLGCyl3FMo+r2LMw==", + "version": "5.3.15", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.15.tgz", + "integrity": "sha512-PGkOdpRFK+rb1TzVz+msVhw4YMRT9txLF4kRqvJhGhCM324xuR3REBSHALN+l+sAhKUmz0aotnjp5D+P83mLhQ==", "dev": true, "license": "MIT", "dependencies": { @@ -22359,9 +22358,9 @@ } }, "node_modules/webpack": { - "version": "5.102.1", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.102.1.tgz", - "integrity": "sha512-7h/weGm9d/ywQ6qzJ+Xy+r9n/3qgp/thalBbpOi5i223dPXKi04IBtqPN9nTd+jBc7QKfvDbaBnFipYp4sJAUQ==", + "version": "5.103.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.103.0.tgz", + "integrity": "sha512-HU1JOuV1OavsZ+mfigY0j8d1TgQgbZ6M+J75zDkpEAwYeXjWSqrGJtgnPblJjd/mAyTNQ7ygw0MiKOn6etz8yw==", "dev": true, "license": "MIT", "peer": true, @@ -22383,7 +22382,7 @@ "glob-to-regexp": "^0.4.1", "graceful-fs": "^4.2.11", "json-parse-even-better-errors": "^2.3.1", - "loader-runner": "^4.2.0", + "loader-runner": "^4.3.1", "mime-types": "^2.1.27", "neo-async": "^2.6.2", "schema-utils": "^4.3.3", diff --git a/package.json b/package.json index c010e155..0654bc9b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "solid-ui", - "version": "3.0.0", + "version": "3.0.1", "description": "UI library for Solid applications", "main": "dist/solid-ui.js", "types": "dist/index.d.ts", @@ -68,14 +68,14 @@ "@noble/curves": "^1.9.6", "@noble/hashes": "^1.8.0", "escape-html": "^1.0.3", - "mime-types": "^3.0.1", + "mime-types": "^3.0.2", "pane-registry": "^3.0.0", "solid-namespace": "^0.5.4", "uuid": "^11.1.0" }, "peerDependencies": { "rdflib": "^2.3.0", - "solid-logic": "^4.0.0" + "solid-logic": "^4.0.1" }, "devDependencies": { "@babel/cli": "^7.28.3", @@ -84,7 +84,6 @@ "@babel/preset-env": "^7.28.0", "@babel/preset-typescript": "^7.27.1", "@babel/runtime": "^7.28.2", - "@eslint/eslintrc": "^3.3.1", "@eslint/js": "^9.32.0", "@mdx-js/react": "^3.1.0", "@storybook/addon-actions": "7.6.20", @@ -98,13 +97,13 @@ "@types/jest": "^30.0.0", "@types/jsdom": "^21.1.7", "@types/node": "^24.2.0", - "@typescript-eslint/parser": "^8.39.0", + "@typescript-eslint/parser": "^8.48.1", "babel-jest": "^30.1.2", "babel-loader": "^10.0.0", "eslint": "^9.32.0", "eslint-import-resolver-typescript": "^4.4.4", "eslint-plugin-import": "^2.32.0", - "eslint-plugin-jest": "^29.0.1", + "eslint-plugin-jest": "^29.2.1", "eslint-plugin-n": "^17.21.3", "eslint-plugin-promise": "^7.2.1", "get-random-values": "^4.0.0", @@ -119,12 +118,12 @@ "react": "^17.0.2", "react-dom": "^17.0.2", "react-is": "^17.0.2", - "solid-logic": "^4.0.0", + "solid-logic": "^4.0.1", "storybook": "^7.6.20", - "terser-webpack-plugin": "^5.3.14", + "terser-webpack-plugin": "^5.3.15", "typedoc": "^0.28.9", "typescript": "^5.9.2", - "webpack": "^5.101.0", + "webpack": "^5.103.0", "webpack-cli": "^6.0.1" }, "optionalDependencies": { diff --git a/test/testBundles/test-bundle.html b/test/testBundles/test-bundle.html new file mode 100644 index 00000000..753e9d62 --- /dev/null +++ b/test/testBundles/test-bundle.html @@ -0,0 +1,68 @@ + + + + Solid-UI ESM with Import Maps + + +
+ + + + + + + \ No newline at end of file diff --git a/webpack.config.mjs b/webpack.config.mjs index af93ba65..57e5f702 100644 --- a/webpack.config.mjs +++ b/webpack.config.mjs @@ -12,6 +12,12 @@ const externalsBase = { 'solid-logic': 'SolidLogic' } +// ESM externals: keep imports +const esmExternals = { + rdflib: 'rdflib', + 'solid-logic': 'solid-logic' +} + const common = { entry: './src/index.ts', output: { @@ -101,14 +107,15 @@ const esmMinified = { environment: { module: true }, clean: false }, - externals: externalsBase, + externals: esmExternals, experiments: { outputModule: true }, mode: 'production', optimization: { minimize: true, - minimizer: [new TerserPlugin({ extractComments: false })] + minimizer: [new TerserPlugin({ extractComments: false })], + concatenateModules: false } } @@ -124,13 +131,14 @@ const esmUnminified = { environment: { module: true }, clean: false }, - externals: externalsBase, + externals: esmExternals, experiments: { outputModule: true }, mode: 'production', optimization: { - minimize: false + minimize: false, + concatenateModules: false } }