diff --git a/babel.config.mjs b/babel.config.mjs index bf1a0c1..4a800d8 100644 --- a/babel.config.mjs +++ b/babel.config.mjs @@ -6,5 +6,8 @@ export default { } }], '@babel/preset-typescript' + ], + plugins: [ + 'babel-plugin-transform-import-meta' ] } diff --git a/jest.config.mjs b/jest.config.mjs index 2c05f9d..7cd18f3 100644 --- a/jest.config.mjs +++ b/jest.config.mjs @@ -11,9 +11,10 @@ export default { transform: { '^.+\\.[tj]sx?$': ['babel-jest', { configFile: './babel.config.mjs' }], }, + transformIgnorePatterns: ['/node_modules/(?!(@uvdsl/solid-oidc-client-browser|mime-types|mime-db|uuid|@noble/curves|@noble/hashes)/)'], moduleNameMapper: { - '^@uvdsl/solid-oidc-client-browser$': '/test/mocks/solid-oidc-client-browser.ts', - '^@uvdsl/solid-oidc-client-browser/core$': '/test/mocks/solid-oidc-client-browser.ts', + '^@uvdsl/solid-oidc-client-browser(?:/core)?$': '/test/mocks/solid-oidc-client-browser.ts', + '^@uvdsl/solid-oidc-client-browser/(.*)$': '/test/mocks/solid-oidc-client-browser.ts', }, setupFilesAfterEnv: ['./test/helpers/setup.ts'], testMatch: ['**/__tests__/**/*.ts?(x)', '**/?(*.)+(spec|test).ts?(x)'], diff --git a/package-lock.json b/package-lock.json index 2200898..3395aaf 100644 --- a/package-lock.json +++ b/package-lock.json @@ -20,6 +20,7 @@ "@typescript-eslint/parser": "^8.59.3", "babel-jest": "^30.4.1", "babel-loader": "^10.1.1", + "babel-plugin-transform-import-meta": "^2.3.3", "eslint": "^9.39.4", "eslint-config-prettier": "^10.1.8", "eslint-plugin-import": "^2.32.0", @@ -4054,6 +4055,20 @@ "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, + "node_modules/babel-plugin-transform-import-meta": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-import-meta/-/babel-plugin-transform-import-meta-2.3.3.tgz", + "integrity": "sha512-bbh30qz1m6ZU1ybJoNOhA2zaDvmeXMnGNBMVMDOJ1Fni4+wMBoy/j7MTRVmqAUCIcy54/rEnr9VEBsfcgbpm3Q==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@babel/template": "^7.25.9", + "tslib": "^2.8.1" + }, + "peerDependencies": { + "@babel/core": "^7.10.0" + } + }, "node_modules/babel-preset-current-node-syntax": { "version": "1.2.0", "dev": true, diff --git a/package.json b/package.json index 71f4026..608f4e0 100644 --- a/package.json +++ b/package.json @@ -23,9 +23,9 @@ "clean": "rm -rf dist src/versionInfo.ts", "build": "npm run clean && npm run typecheck && npm run build-version && npm run build-js && npm run build-dist && npm run postbuild-js", "build-version": "./timestamp.sh > src/versionInfo.ts && eslint 'src/versionInfo.ts' --fix", - "build-js": "tsc", + "build-js": "tsc --emitDeclarationOnly", "build-dist": "webpack --progress", - "postbuild-js": "rm -f dist/versionInfo.d.ts dist/versionInfo.d.ts.map", + "postbuild-js": "rm -f dist/versionInfo.d.ts dist/versionInfo.d.ts.map dist/index.js dist/index.js.map", "lint": "eslint", "lint-fix": "eslint --fix", "typecheck": "tsc --noEmit", @@ -55,6 +55,7 @@ "@babel/core": "^7.29.0", "@babel/preset-env": "^7.29.5", "@babel/preset-typescript": "^7.28.5", + "babel-plugin-transform-import-meta": "^2.3.3", "@types/jest": "^30.0.0", "@typescript-eslint/parser": "^8.59.3", "babel-jest": "^30.4.1", diff --git a/webpack.config.mjs b/webpack.config.mjs index dc61bd7..713565f 100644 --- a/webpack.config.mjs +++ b/webpack.config.mjs @@ -10,11 +10,25 @@ const externalsBase = { '@trust/webcrypto': 'crypto', '@xmldom/xmldom': 'window', 'whatwg-url': 'URL', - 'rdflib': '$rdf' + 'rdflib': '$rdf', + '@uvdsl/solid-oidc-client-browser': { + commonjs: '@uvdsl/solid-oidc-client-browser', + commonjs2: '@uvdsl/solid-oidc-client-browser', + amd: '@uvdsl/solid-oidc-client-browser', + root: 'SolidOidcClientBrowser' + }, + '@uvdsl/solid-oidc-client-browser/core': { + commonjs: '@uvdsl/solid-oidc-client-browser/core', + commonjs2: '@uvdsl/solid-oidc-client-browser/core', + amd: '@uvdsl/solid-oidc-client-browser/core', + root: 'SolidOidcClientBrowserCore' + } } const externalsESM = { ...externalsBase, + '@uvdsl/solid-oidc-client-browser': '@uvdsl/solid-oidc-client-browser', + '@uvdsl/solid-oidc-client-browser/core': '@uvdsl/solid-oidc-client-browser/core', 'rdflib': 'rdflib' } @@ -35,6 +49,10 @@ const commonConfig = { extensions: ['.ts', '.js'] }, devtool: 'source-map', + optimization: { + splitChunks: false, + runtimeChunk: false + } }; export default [ @@ -44,6 +62,7 @@ export default [ output: { path: path.resolve(process.cwd(), 'dist'), filename: 'solid-logic.js', + publicPath: '', library: { name: 'SolidLogic', type: 'umd', @@ -63,6 +82,7 @@ export default [ output: { path: path.resolve(process.cwd(), 'dist'), filename: 'solid-logic.min.js', + publicPath: '', library: { name: 'SolidLogic', type: 'umd', @@ -83,6 +103,7 @@ export default [ output: { path: path.resolve(process.cwd(), 'dist'), filename: 'solid-logic.esm.js', + publicPath: '', library: { type: 'module' }, @@ -103,6 +124,7 @@ export default [ output: { path: path.resolve(process.cwd(), 'dist'), filename: 'solid-logic.esm.min.js', + publicPath: '', library: { type: 'module' },