diff --git a/docs/_data/importMap.cjs b/docs/_data/importMap.cjs index dd79d08705..3adacc0b80 100644 --- a/docs/_data/importMap.cjs +++ b/docs/_data/importMap.cjs @@ -12,83 +12,44 @@ function readPackageVersion(module) { return packageLock.packages[`node_modules/${module}`].version; } -const LIT_VERSION = readPackageVersion('lit'); -const FUSE_VERSION = readPackageVersion('fuse.js'); -const PRISM_VERSION = readPackageVersion('prismjs'); - -const LIT_DEPS = [ - { - target: `lit@${LIT_VERSION}`, - subpaths: [ - '.', - './decorators/query-all.js', - './decorators/query-assigned-nodes.js', - './decorators/query-assigned-elements.js', - './decorators/query-async.js', - './decorators/query.js', - './decorators/state.js', - './decorators/property.js', - './decorators/custom-element.js', - './directives/async-append.js', - './directives/async-replace.js', - './directives/cache.js', - './directives/class-map.js', - './directives/guard.js', - './directives/if-defined.js', - './directives/live.js', - './directives/ref.js', - './directives/repeat.js', - './directives/style-map.js', - './directives/template-content.js', - './directives/unsafe-html.js', - './directives/unsafe-svg.js', - './directives/until.js', - './async-directive.js', - './decorators.js', - './directive.js', - './directive-helpers.js', - './html.js', - './polyfill-support.js', - './static-html.js', - ], - }, - { - target: `@lit-labs/ssr-client`, - subpaths: [ - '.', - './lit-element-hydrate-support.js', - ], - }, +const LOCAL_PACKAGES = [ + '@patternfly/elements', + '@patternfly/pfe-core', + '@patternfly/pfe-tools', + '@patternfly/icons', ]; module.exports = async function() { - const { Generator } = await import('@jspm/generator'); - - const generator = new Generator({ - defaultProvider: 'jsdelivr', - env: ['production', 'browser', 'module'], + const { generate } = await import('@pwrs/mappa'); + + const map = await generate({ + dependencies: { + 'tslib': readPackageVersion('tslib'), + '@rhds/elements': readPackageVersion('@rhds/elements'), + 'prismjs': readPackageVersion('prismjs'), + 'element-internals-polyfill': readPackageVersion('element-internals-polyfill'), + 'fuse.js': readPackageVersion('fuse.js'), + 'lit': readPackageVersion('lit'), + '@lit-labs/ssr-client': readPackageVersion('@lit-labs/ssr-client'), + }, + }, { + cdn: 'jsdelivr', + exclude: LOCAL_PACKAGES, }); - await generator.install([ - 'tslib', - '@rhds/elements', - '@rhds/elements/rh-footer/rh-footer-universal.js', - `prismjs@${PRISM_VERSION}`, - 'element-internals-polyfill', - `fuse.js@${FUSE_VERSION}`, - ...LIT_DEPS, - ]); + for (const key of Object.keys(map.imports)) { + for (const pkg of LOCAL_PACKAGES) { + if (key === pkg || key.startsWith(`${pkg}/`)) { + delete map.imports[key]; + } + } + } - const map = generator.getMap(); map.imports['/docs/zero-md.js'] = '/zero-md.js'; map.imports['@patternfly/elements/'] = '/assets/@patternfly/elements/'; map.imports['@patternfly/pfe-core/'] = '/assets/@patternfly/pfe-core/'; map.imports['@patternfly/pfe-core'] = '/assets/@patternfly/pfe-core/core.js'; map.imports['@patternfly/pfe-tools/'] = '/assets/@patternfly/pfe-tools/'; map.imports['@patternfly/icons/'] = '/assets/@patternfly/icons/'; - map.imports['@lit/context'] = map.scopes['https://cdn.jsdelivr.net/']['@lit/context']; - map.imports['lit/'] = map.imports.lit.replace('index.js', ''); - map.scopes['https://cdn.jsdelivr.net/'].lit = map.imports.lit; - map.scopes['https://cdn.jsdelivr.net/']['lit/'] = map.imports.lit.replace('index.js', ''); return map; }; diff --git a/docs/_data/versions.json b/docs/_data/versions.json index 5a82922a6d..de78b59e13 100644 --- a/docs/_data/versions.json +++ b/docs/_data/versions.json @@ -1,9 +1,15 @@ [ + { + "version": "v5.0.0", + "slug": "v5", + "label": "v5", + "current": true + }, { "version": "v4.0.0", "slug": "v4", "label": "v4", - "current": true + "current": false }, { "version": "v3.0.0", diff --git a/docs/_plugins/create-import-map.cjs b/docs/_plugins/create-import-map.cjs index 26b3d36e4c..6deeff4375 100644 --- a/docs/_plugins/create-import-map.cjs +++ b/docs/_plugins/create-import-map.cjs @@ -1,21 +1,22 @@ module.exports = function(eleventyConfig) { eleventyConfig.addPairedAsyncShortcode('generateImportMap', async content => { - const { Generator } = await import('@jspm/generator'); + const { generate } = await import('@pwrs/mappa'); - const generator = new Generator({ - defaultProvider: 'jspm.io', - env: ['production', 'browser', 'module'], - }); + const deps = {}; + const specifierRe = /['"]([^'"]+)['"]/g; + for (const [, spec] of content.matchAll(specifierRe)) { + if (!spec.startsWith('.') && !spec.startsWith('/')) { + const name = spec.startsWith('@') ? + spec.split('/').slice(0, 2).join('/') + : spec.split('/')[0]; + deps[name] = '*'; + } + } - const pins = await generator.addMappings(content); + const map = await generate({ dependencies: deps }, { cdn: 'esm.sh' }); - const html = await generator.htmlInject(content, { - pins, - esModuleShims: true, - whitespace: true, - }); - - return html; + const script = ``; + return content.replace(/]*type=["']module["'][^>]*>[\s\S]*?<\/script>/g, found => + `${script}\n${found}`); }); }; - diff --git a/package-lock.json b/package-lock.json index f822d73f21..75fd510ee4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -17,11 +17,11 @@ "@actions/glob": "^0.5.0", "@commitlint/cli": "^19.4.0", "@commitlint/config-conventional": "^19.2.2", - "@jspm/generator": "~2.7.6", "@lit/react": "^1.0.8", "@octokit/core": "^6.1.2", "@patternfly/patternfly": "^4.224.5", "@pwrs/cem": "^0.7.5", + "@pwrs/mappa": "^0.0.4", "@rhds/elements": "^4.0.1", "@types/koa__router": "^12.0.5", "@types/node": "^22.19.0", @@ -59,7 +59,7 @@ }, "core/pfe-core": { "name": "@patternfly/pfe-core", - "version": "5.0.5", + "version": "5.0.8", "license": "MIT", "dependencies": { "@lit/context": "^1.1.6", @@ -68,12 +68,12 @@ }, "elements": { "name": "@patternfly/elements", - "version": "4.3.0", + "version": "4.4.0", "license": "MIT", "dependencies": { "@lit/context": "^1.1.6", "@patternfly/icons": "^1.0.3", - "@patternfly/pfe-core": "^5.0.5", + "@patternfly/pfe-core": "^5.0.8", "lit": "^3.3.2", "tslib": "^2.8.1" } @@ -412,249 +412,6 @@ "node": ">=6.9.0" } }, - "node_modules/@babel/compat-data": { - "version": "7.28.5", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.28.5.tgz", - "integrity": "sha512-6uFXyCayocRbqhZOB+6XcuZbkMNimwfVGFji8CTZnCzOHVGvDqzvitu1re2AU5LROliz7eQPhB8CpAMvnx9EjA==", - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/core": { - "version": "7.28.5", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.28.5.tgz", - "integrity": "sha512-e7jT4DxYvIDLk1ZHmU/m/mB19rex9sv0c2ftBtjSBv+kVM/902eh0fINUzD7UwLLNR+jU585GxUJ8/EBfAM5fw==", - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.27.1", - "@babel/generator": "^7.28.5", - "@babel/helper-compilation-targets": "^7.27.2", - "@babel/helper-module-transforms": "^7.28.3", - "@babel/helpers": "^7.28.4", - "@babel/parser": "^7.28.5", - "@babel/template": "^7.27.2", - "@babel/traverse": "^7.28.5", - "@babel/types": "^7.28.5", - "@jridgewell/remapping": "^2.3.5", - "convert-source-map": "^2.0.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.3", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" - } - }, - "node_modules/@babel/core/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/generator": { - "version": "7.28.5", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.28.5.tgz", - "integrity": "sha512-3EwLFhZ38J4VyIP6WNtt2kUdW9dokXA9Cr4IVIFHuCpZ3H8/YFOl5JjZHisrn1fATPBmKKqXzDFvh9fUwHz6CQ==", - "license": "MIT", - "dependencies": { - "@babel/parser": "^7.28.5", - "@babel/types": "^7.28.5", - "@jridgewell/gen-mapping": "^0.3.12", - "@jridgewell/trace-mapping": "^0.3.28", - "jsesc": "^3.0.2" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-annotate-as-pure": { - "version": "7.27.3", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.27.3.tgz", - "integrity": "sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg==", - "license": "MIT", - "dependencies": { - "@babel/types": "^7.27.3" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-compilation-targets": { - "version": "7.27.2", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.2.tgz", - "integrity": "sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==", - "license": "MIT", - "dependencies": { - "@babel/compat-data": "^7.27.2", - "@babel/helper-validator-option": "^7.27.1", - "browserslist": "^4.24.0", - "lru-cache": "^5.1.1", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-compilation-targets/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.28.5", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.28.5.tgz", - "integrity": "sha512-q3WC4JfdODypvxArsJQROfupPBq9+lMwjKq7C33GhbFYJsufD0yd/ziwD+hJucLeWsnFPWZjsU2DNFqBPE7jwQ==", - "license": "MIT", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.27.3", - "@babel/helper-member-expression-to-functions": "^7.28.5", - "@babel/helper-optimise-call-expression": "^7.27.1", - "@babel/helper-replace-supers": "^7.27.1", - "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1", - "@babel/traverse": "^7.28.5", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-create-class-features-plugin/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/helper-globals": { - "version": "7.28.0", - "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz", - "integrity": "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==", - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-member-expression-to-functions": { - "version": "7.28.5", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.28.5.tgz", - "integrity": "sha512-cwM7SBRZcPCLgl8a7cY0soT1SptSzAlMH39vwiRpOQkJlh53r5hdHwLSCZpQdVLT39sZt+CRpNwYG4Y2v77atg==", - "license": "MIT", - "dependencies": { - "@babel/traverse": "^7.28.5", - "@babel/types": "^7.28.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-imports": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz", - "integrity": "sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==", - "license": "MIT", - "dependencies": { - "@babel/traverse": "^7.27.1", - "@babel/types": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-transforms": { - "version": "7.28.3", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.3.tgz", - "integrity": "sha512-gytXUbs8k2sXS9PnQptz5o0QnpLL51SwASIORY6XaBKF88nsOT0Zw9szLqlSGQDP/4TljBAD5y98p2U1fqkdsw==", - "license": "MIT", - "dependencies": { - "@babel/helper-module-imports": "^7.27.1", - "@babel/helper-validator-identifier": "^7.27.1", - "@babel/traverse": "^7.28.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-optimise-call-expression": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.27.1.tgz", - "integrity": "sha512-URMGH08NzYFhubNSGJrpUEphGKQwMQYBySzat5cAByY1/YgIRkULnIy3tAMeszlL/so2HbeilYloUmSpd7GdVw==", - "license": "MIT", - "dependencies": { - "@babel/types": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-plugin-utils": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.27.1.tgz", - "integrity": "sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==", - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-replace-supers": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.27.1.tgz", - "integrity": "sha512-7EHz6qDZc8RYS5ElPoShMheWvEgERonFCs7IAonWLLUTXW59DP14bCZt89/GKyreYn8g3S83m21FelHKbeDCKA==", - "license": "MIT", - "dependencies": { - "@babel/helper-member-expression-to-functions": "^7.27.1", - "@babel/helper-optimise-call-expression": "^7.27.1", - "@babel/traverse": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.27.1.tgz", - "integrity": "sha512-Tub4ZKEXqbPjXgWLl2+3JpQAYBJ8+ikpQ2Ocj/q/r0LwE3UhENh7EUabyHjz2kCEsrRY83ew2DQdHluuiDQFzg==", - "license": "MIT", - "dependencies": { - "@babel/traverse": "^7.27.1", - "@babel/types": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-string-parser": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", - "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/@babel/helper-validator-identifier": { "version": "7.28.5", "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz", @@ -664,142 +421,6 @@ "node": ">=6.9.0" } }, - "node_modules/@babel/helper-validator-option": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz", - "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==", - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helpers": { - "version": "7.28.4", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.28.4.tgz", - "integrity": "sha512-HFN59MmQXGHVyYadKLVumYsA9dBFun/ldYxipEjzA4196jpLZd8UjEEBLkbEkvfYreDqJhZxYAWFPtrfhNpj4w==", - "license": "MIT", - "dependencies": { - "@babel/template": "^7.27.2", - "@babel/types": "^7.28.4" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/parser": { - "version": "7.28.5", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.28.5.tgz", - "integrity": "sha512-KKBU1VGYR7ORr3At5HAtUQ+TV3SzRCXmA/8OdDZiLDBIZxVyzXuztPjfLd3BV1PRAQGCMWWSHYhL0F8d5uHBDQ==", - "license": "MIT", - "dependencies": { - "@babel/types": "^7.28.5" - }, - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/plugin-syntax-import-attributes": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.27.1.tgz", - "integrity": "sha512-oFT0FrKHgF53f4vOsZGi2Hh3I35PfSmVs4IBFLFj4dnafP+hIWDLg3VyKmUHfLoLHlyxY4C7DGtmHuJgn+IGww==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-jsx": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.27.1.tgz", - "integrity": "sha512-y8YTNIeKoyhGd9O0Jiyzyyqk8gdjnumGTQPsz0xOZOQ2RmkVJeZ1vmmfIvFEKqucBG6axJGBZDE/7iI5suUI/w==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-typescript": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.27.1.tgz", - "integrity": "sha512-xfYCBMxveHrRMnAWl1ZlPXOZjzkN82THFvLhQhFXFt81Z5HnN+EtUkZhv/zcKpmT3fzmWZB0ywiBrbC3vogbwQ==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-commonjs": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.27.1.tgz", - "integrity": "sha512-OJguuwlTYlN0gBZFRPqwOGNWssZjfIUdS7HMYtN8c1KmwpwHFBwTeFZrg9XZa+DFTitWOW5iTAG7tyCUPsCCyw==", - "license": "MIT", - "dependencies": { - "@babel/helper-module-transforms": "^7.27.1", - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-typescript": { - "version": "7.28.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.28.5.tgz", - "integrity": "sha512-x2Qa+v/CuEoX7Dr31iAfr0IhInrVOWZU/2vJMJ00FOR/2nM0BcBEclpaf9sWCDc+v5e9dMrhSH8/atq/kX7+bA==", - "license": "MIT", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.27.3", - "@babel/helper-create-class-features-plugin": "^7.28.5", - "@babel/helper-plugin-utils": "^7.27.1", - "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1", - "@babel/plugin-syntax-typescript": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/preset-typescript": { - "version": "7.28.5", - "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.28.5.tgz", - "integrity": "sha512-+bQy5WOI2V6LJZpPVxY+yp66XdZ2yifu0Mc1aP5CQKgjn4QM5IN2i5fAZ4xKop47pr8rpVhiAeu+nDQa12C8+g==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1", - "@babel/helper-validator-option": "^7.27.1", - "@babel/plugin-syntax-jsx": "^7.27.1", - "@babel/plugin-transform-modules-commonjs": "^7.27.1", - "@babel/plugin-transform-typescript": "^7.28.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, "node_modules/@babel/runtime": { "version": "7.28.4", "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.28.4.tgz", @@ -810,51 +431,6 @@ "node": ">=6.9.0" } }, - "node_modules/@babel/template": { - "version": "7.27.2", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.27.2.tgz", - "integrity": "sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==", - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.27.1", - "@babel/parser": "^7.27.2", - "@babel/types": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/traverse": { - "version": "7.28.5", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.28.5.tgz", - "integrity": "sha512-TCCj4t55U90khlYkVV/0TfkJkAkUg3jZFA3Neb7unZT8CPok7iiRfaX0F+WnqWqt7OxhOn0uBKXCw4lbL8W0aQ==", - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.27.1", - "@babel/generator": "^7.28.5", - "@babel/helper-globals": "^7.28.0", - "@babel/parser": "^7.28.5", - "@babel/template": "^7.27.2", - "@babel/types": "^7.28.5", - "debug": "^4.3.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/types": { - "version": "7.28.5", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.28.5.tgz", - "integrity": "sha512-qQ5m48eI/MFLQ5PxQj4PFaprjyCTLI37ElWMmNs0K8Lk3dVeOdNpB3ks8jc7yM5CDmVC73eMVk/trk3fgmrUpA==", - "license": "MIT", - "dependencies": { - "@babel/helper-string-parser": "^7.27.1", - "@babel/helper-validator-identifier": "^7.28.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/@changesets/apply-release-plan": { "version": "7.0.14", "resolved": "https://registry.npmjs.org/@changesets/apply-release-plan/-/apply-release-plan-7.0.14.tgz", @@ -2186,31 +1762,12 @@ "node": ">=12" } }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.13", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", - "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", - "license": "MIT", - "dependencies": { - "@jridgewell/sourcemap-codec": "^1.5.0", - "@jridgewell/trace-mapping": "^0.3.24" - } - }, - "node_modules/@jridgewell/remapping": { - "version": "2.3.5", - "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz", - "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==", - "license": "MIT", - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.24" - } - }, "node_modules/@jridgewell/resolve-uri": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", "license": "MIT", + "peer": true, "engines": { "node": ">=6.0.0" } @@ -2219,57 +1776,20 @@ "version": "1.5.5", "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/@jridgewell/trace-mapping": { "version": "0.3.31", "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", "license": "MIT", + "peer": true, "dependencies": { "@jridgewell/resolve-uri": "^3.1.0", "@jridgewell/sourcemap-codec": "^1.4.14" } }, - "node_modules/@jspm/generator": { - "version": "2.7.6", - "resolved": "https://registry.npmjs.org/@jspm/generator/-/generator-2.7.6.tgz", - "integrity": "sha512-rAUFW/+7kORaUngC+jevgK00mzD30wC4tErjneVZ4LDHuUYa44OQ/o78Hd3pYlf+tHocMyW7rQD52pt8jhW6lA==", - "license": "Apache-2.0", - "dependencies": { - "@babel/core": "^7.24.7", - "@babel/plugin-syntax-import-attributes": "^7.24.7", - "@babel/preset-typescript": "^7.24.7", - "@jspm/import-map": "^1.2.2", - "es-module-lexer": "^1.5.4", - "minimatch": "^10.0.1", - "node-fetch-cache": "^5.0.2", - "pako": "^2.1.0", - "sver": "^1.8.4", - "tar-stream": "^3.1.6" - } - }, - "node_modules/@jspm/generator/node_modules/minimatch": { - "version": "10.1.1", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.1.1.tgz", - "integrity": "sha512-enIvLvRAFZYXJzkCYG5RKmPfrFArdLv+R+lbQ53BmIMLIry74bjKzX6iHAm8WYamJkhSSEabrWN5D97XnKObjQ==", - "license": "BlueOak-1.0.0", - "dependencies": { - "@isaacs/brace-expansion": "^5.0.0" - }, - "engines": { - "node": "20 || >=22" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/@jspm/import-map": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/@jspm/import-map/-/import-map-1.2.2.tgz", - "integrity": "sha512-QrM7+lkgVE8t9NZSm9fDSzheguEOVCOxueKxSwgoOt7yUWesWKDFmmL9bQFURl4IqMcpPz7VV2Tvw9s9emaJzQ==", - "license": "MIT" - }, "node_modules/@koa/router": { "version": "15.1.1", "resolved": "https://registry.npmjs.org/@koa/router/-/router-15.1.1.tgz", @@ -2575,18 +2095,6 @@ "node": ">= 8" } }, - "node_modules/@npmcli/fs": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-5.0.0.tgz", - "integrity": "sha512-7OsC1gNORBEawOa5+j2pXN9vsicaIOH5cPXxoR6fJOmH6/EXpJB2CajXOu1fPRFun2m1lktEFX11+P89hqO/og==", - "license": "ISC", - "dependencies": { - "semver": "^7.3.5" - }, - "engines": { - "node": "^20.17.0 || >=22.9.0" - } - }, "node_modules/@octokit/auth-token": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-5.1.2.tgz", @@ -2981,49 +2489,148 @@ "node": ">=22.0.0" } }, - "node_modules/@pwrs/cem-win32-arm64": { - "version": "0.7.5", - "resolved": "https://registry.npmjs.org/@pwrs/cem-win32-arm64/-/cem-win32-arm64-0.7.5.tgz", - "integrity": "sha512-9qA6D5EdP4wry43jIMGIdw32EfCkfMW3yP+502i4L32z1z98giIkQLcDkC7gcjGLb4jL3bAZORWILDFuPyw12w==", + "node_modules/@pwrs/cem-win32-arm64": { + "version": "0.7.5", + "resolved": "https://registry.npmjs.org/@pwrs/cem-win32-arm64/-/cem-win32-arm64-0.7.5.tgz", + "integrity": "sha512-9qA6D5EdP4wry43jIMGIdw32EfCkfMW3yP+502i4L32z1z98giIkQLcDkC7gcjGLb4jL3bAZORWILDFuPyw12w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=22.0.0" + } + }, + "node_modules/@pwrs/cem-win32-x64": { + "version": "0.7.5", + "resolved": "https://registry.npmjs.org/@pwrs/cem-win32-x64/-/cem-win32-x64-0.7.5.tgz", + "integrity": "sha512-CLftjDlJO2TeCPLWGfXoJrXs05iGbEuxj8oN06RMml1c/hoKgNmUWxnqooTdWioTkfkOHr2QiyKu7i60LekikQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=22.0.0" + } + }, + "node_modules/@pwrs/lit-css": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@pwrs/lit-css/-/lit-css-4.0.0.tgz", + "integrity": "sha512-yz8dGXCZJJBvg8/riSlf8XGrNbktLd639XlCtKyVsc8xFdq9Sa+ZFJi66GEk5D3YrYSj3JmFLFh1fETR77CSmw==", + "license": "ISC", + "peer": true, + "dependencies": { + "cssnano": "^7.0.7" + } + }, + "node_modules/@pwrs/mappa": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/@pwrs/mappa/-/mappa-0.0.4.tgz", + "integrity": "sha512-Bz+ZoDm2XzaqsL1hvRAaiauE1UDSlHAn/iODHy7Brs7h5J8VAszlCAlb4BYxvqnN5GFFG9in0NTpSSQajV5HvA==", + "hasInstallScript": true, + "license": "GPL-3.0-or-later", + "bin": { + "mappa": "dist/cli.js" + }, + "engines": { + "node": ">=22.0.0" + }, + "optionalDependencies": { + "@pwrs/mappa-darwin-arm64": "0.0.4", + "@pwrs/mappa-darwin-x64": "0.0.4", + "@pwrs/mappa-linux-arm64": "0.0.4", + "@pwrs/mappa-linux-x64": "0.0.4", + "@pwrs/mappa-win32-arm64": "0.0.4", + "@pwrs/mappa-win32-x64": "0.0.4" + } + }, + "node_modules/@pwrs/mappa-darwin-arm64": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/@pwrs/mappa-darwin-arm64/-/mappa-darwin-arm64-0.0.4.tgz", + "integrity": "sha512-3lobYl5Uws8gj0LIuOVhmRQbcbTJw6XhNhSZpU+jhSq0VdXrZrrMVP8/tcONqFteu6HJxtsrU45GATUjYF9r5A==", + "cpu": [ + "arm64" + ], + "license": "GPL-3.0", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@pwrs/mappa-darwin-x64": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/@pwrs/mappa-darwin-x64/-/mappa-darwin-x64-0.0.4.tgz", + "integrity": "sha512-NHd4Zddn7vzQz9Eu5OytbbwUj0YA+SSOa7m1FLQ+EU95gARefLm4FDz3XHncHdAsh85xWhn13JcLyabeOuKg/w==", + "cpu": [ + "x64" + ], + "license": "GPL-3.0", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@pwrs/mappa-linux-arm64": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/@pwrs/mappa-linux-arm64/-/mappa-linux-arm64-0.0.4.tgz", + "integrity": "sha512-LdL884a9nFYEkPvazUTSYeprlxe2C9p0euR7gh3sGfnooFKZ0ULqD0Zr112DJmNhjSHlkxTgo4Dx8nTi6VKXUw==", + "cpu": [ + "arm64" + ], + "license": "GPL-3.0", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@pwrs/mappa-linux-x64": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/@pwrs/mappa-linux-x64/-/mappa-linux-x64-0.0.4.tgz", + "integrity": "sha512-mgr1pWjLouD+uMAZZ973gbb3sOJJhX0KO4mf5iSVlwG4NUMvo3kQIcHX9bryINzVZ9w64KZbt0Pi1UWm8oNJpQ==", + "cpu": [ + "x64" + ], + "license": "GPL-3.0", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@pwrs/mappa-win32-arm64": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/@pwrs/mappa-win32-arm64/-/mappa-win32-arm64-0.0.4.tgz", + "integrity": "sha512-v6i1LgLr2DQD2NTdziimWbKAi/pzvU/mYV9fgpzzsH3Jj65MzfOosyxbeHOOe3RfidRcsvNkJd3WB1tQCUZH7Q==", "cpu": [ "arm64" ], - "dev": true, - "license": "MIT", + "license": "GPL-3.0", "optional": true, "os": [ "win32" - ], - "engines": { - "node": ">=22.0.0" - } + ] }, - "node_modules/@pwrs/cem-win32-x64": { - "version": "0.7.5", - "resolved": "https://registry.npmjs.org/@pwrs/cem-win32-x64/-/cem-win32-x64-0.7.5.tgz", - "integrity": "sha512-CLftjDlJO2TeCPLWGfXoJrXs05iGbEuxj8oN06RMml1c/hoKgNmUWxnqooTdWioTkfkOHr2QiyKu7i60LekikQ==", + "node_modules/@pwrs/mappa-win32-x64": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/@pwrs/mappa-win32-x64/-/mappa-win32-x64-0.0.4.tgz", + "integrity": "sha512-en5JXuv0VHtw9PgWDFoIvLRm8Wzb6gUYPE38Usz+jeJRI2k7d0t5wuQ0d0VzoFQQSwfjXxj7Cbka4nb9tdvmjQ==", "cpu": [ "x64" ], - "dev": true, - "license": "MIT", + "license": "GPL-3.0", "optional": true, "os": [ "win32" - ], - "engines": { - "node": ">=22.0.0" - } - }, - "node_modules/@pwrs/lit-css": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@pwrs/lit-css/-/lit-css-4.0.0.tgz", - "integrity": "sha512-yz8dGXCZJJBvg8/riSlf8XGrNbktLd639XlCtKyVsc8xFdq9Sa+ZFJi66GEk5D3YrYSj3JmFLFh1fETR77CSmw==", - "license": "ISC", - "peer": true, - "dependencies": { - "cssnano": "^7.0.7" - } + ] }, "node_modules/@rhds/elements": { "version": "4.0.1", @@ -5844,6 +5451,7 @@ "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.7.3.tgz", "integrity": "sha512-5Q2mfq2WfGuFp3uS//0s6baOJLMoVduPYVeNmDYxu5OUA1/cBfvr2RIS7vi62LdNj/urk1hfmj867I3qt6uZ7Q==", "license": "Apache-2.0", + "peer": true, "peerDependencies": { "react-native-b4a": "*" }, @@ -5864,6 +5472,7 @@ "resolved": "https://registry.npmjs.org/bare-events/-/bare-events-2.8.2.tgz", "integrity": "sha512-riJjyv1/mHLIPX4RwiK+oW9/4c3TEUeORHKefKAKnZ5kyslbN+HXowtbaVEqt4IMUB7OXlfixcs6gsFeo/jhiQ==", "license": "Apache-2.0", + "peer": true, "peerDependencies": { "bare-abort-controller": "*" }, @@ -5960,6 +5569,7 @@ "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.9.11.tgz", "integrity": "sha512-Sg0xJUNDU1sJNGdfGWhVHX0kkZ+HWcvmVymJbj6NSgZZmW/8S9Y2HQ5euytnIgakgxN6papOAWiwDo1ctFDcoQ==", "license": "Apache-2.0", + "peer": true, "bin": { "baseline-browser-mapping": "dist/cli.js" } @@ -6095,6 +5705,7 @@ } ], "license": "MIT", + "peer": true, "dependencies": { "baseline-browser-mapping": "^2.9.0", "caniuse-lite": "^1.0.30001759", @@ -6142,85 +5753,6 @@ "node": ">= 0.8" } }, - "node_modules/cacache": { - "version": "20.0.3", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-20.0.3.tgz", - "integrity": "sha512-3pUp4e8hv07k1QlijZu6Kn7c9+ZpWWk4j3F8N3xPuCExULobqJydKYOTj1FTq58srkJsXvO7LbGAH4C0ZU3WGw==", - "license": "ISC", - "dependencies": { - "@npmcli/fs": "^5.0.0", - "fs-minipass": "^3.0.0", - "glob": "^13.0.0", - "lru-cache": "^11.1.0", - "minipass": "^7.0.3", - "minipass-collect": "^2.0.1", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.4", - "p-map": "^7.0.2", - "ssri": "^13.0.0", - "unique-filename": "^5.0.0" - }, - "engines": { - "node": "^20.17.0 || >=22.9.0" - } - }, - "node_modules/cacache/node_modules/glob": { - "version": "13.0.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-13.0.0.tgz", - "integrity": "sha512-tvZgpqk6fz4BaNZ66ZsRaZnbHvP/jG3uKJvAZOwEVUL4RTA5nJeeLYfyN9/VA8NX/V3IBG+hkeuGpKjvELkVhA==", - "license": "BlueOak-1.0.0", - "dependencies": { - "minimatch": "^10.1.1", - "minipass": "^7.1.2", - "path-scurry": "^2.0.0" - }, - "engines": { - "node": "20 || >=22" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/cacache/node_modules/lru-cache": { - "version": "11.2.4", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.4.tgz", - "integrity": "sha512-B5Y16Jr9LB9dHVkh6ZevG+vAbOsNOYCX+sXvFWFu7B3Iz5mijW3zdbMyhsh8ANd2mSWBYdJgnqi+mL7/LrOPYg==", - "license": "BlueOak-1.0.0", - "engines": { - "node": "20 || >=22" - } - }, - "node_modules/cacache/node_modules/minimatch": { - "version": "10.1.1", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.1.1.tgz", - "integrity": "sha512-enIvLvRAFZYXJzkCYG5RKmPfrFArdLv+R+lbQ53BmIMLIry74bjKzX6iHAm8WYamJkhSSEabrWN5D97XnKObjQ==", - "license": "BlueOak-1.0.0", - "dependencies": { - "@isaacs/brace-expansion": "^5.0.0" - }, - "engines": { - "node": "20 || >=22" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/cacache/node_modules/path-scurry": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.1.tgz", - "integrity": "sha512-oWyT4gICAu+kaA7QWk/jvCHWarMKNs6pXOGWKDTr7cw4IGcUbW+PeTfbaQiLGheFRpjo6O9J0PmyMfQPjH71oA==", - "license": "BlueOak-1.0.0", - "dependencies": { - "lru-cache": "^11.0.0", - "minipass": "^7.1.2" - }, - "engines": { - "node": "20 || >=22" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/cache-content-type": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/cache-content-type/-/cache-content-type-1.0.1.tgz", @@ -6349,7 +5881,8 @@ "url": "https://github.com/sponsors/ai" } ], - "license": "CC-BY-4.0" + "license": "CC-BY-4.0", + "peer": true }, "node_modules/case": { "version": "1.6.3", @@ -7000,7 +6533,8 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/cookies": { "version": "0.9.1", @@ -7306,6 +6840,7 @@ "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-4.0.1.tgz", "integrity": "sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==", "license": "MIT", + "peer": true, "engines": { "node": ">= 12" } @@ -7789,7 +7324,8 @@ "version": "1.5.267", "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.267.tgz", "integrity": "sha512-0Drusm6MVRXSOJpGbaSVgcQsuB4hEkMpHXaVstcPmhu5LIedxs1xNK/nIxmQIU/RPC0+1/o0AVZfBTkTNJOdUw==", - "license": "ISC" + "license": "ISC", + "peer": true }, "node_modules/element-internals-polyfill": { "version": "3.0.2", @@ -7995,7 +7531,8 @@ "version": "1.7.0", "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.7.0.tgz", "integrity": "sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==", - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/es-module-shims": { "version": "2.7.0", @@ -8993,6 +8530,7 @@ "resolved": "https://registry.npmjs.org/events-universal/-/events-universal-1.0.1.tgz", "integrity": "sha512-LUd5euvbMLpwOF8m6ivPCbhQeSiYVNb8Vs0fQ8QjXo0JTkEHpz8pxdQf0gStltaPpw0Cca8b39KxvK9cfKRiAw==", "license": "Apache-2.0", + "peer": true, "dependencies": { "bare-events": "^2.7.0" } @@ -9106,7 +8644,8 @@ "version": "1.3.2", "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.3.2.tgz", "integrity": "sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==", - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/fast-glob": { "version": "3.3.3", @@ -9198,6 +8737,7 @@ } ], "license": "MIT", + "peer": true, "dependencies": { "node-domexception": "^1.0.0", "web-streams-polyfill": "^3.0.3" @@ -9367,20 +8907,12 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/formdata-node": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/formdata-node/-/formdata-node-6.0.3.tgz", - "integrity": "sha512-8e1++BCiTzUno9v5IZ2J6bv4RU+3UKDmqWUQD0MIMVCd9AdhWkO1gw57oo1mNEX1dMq2EGI+FbWz4B92pscSQg==", - "license": "MIT", - "engines": { - "node": ">= 18" - } - }, "node_modules/formdata-polyfill": { "version": "4.0.10", "resolved": "https://registry.npmjs.org/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz", "integrity": "sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==", "license": "MIT", + "peer": true, "dependencies": { "fetch-blob": "^3.1.2" }, @@ -9413,18 +8945,6 @@ "node": ">=6 <7 || >=8" } }, - "node_modules/fs-minipass": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-3.0.3.tgz", - "integrity": "sha512-XUBA9XClHbnJWSfBzjkm6RvPsyg3sryZt06BEQoXcF7EK/xpGaQYJgQKDJSUH5SGZ76Y7pFx1QBnXz09rU5Fbw==", - "license": "ISC", - "dependencies": { - "minipass": "^7.0.3" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, "node_modules/fsevents": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", @@ -9469,15 +8989,6 @@ "node": ">= 0.4" } }, - "node_modules/gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/get-caller-file": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", @@ -10738,6 +10249,7 @@ "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", "license": "MIT", + "peer": true, "bin": { "jsesc": "bin/jsesc" }, @@ -10814,18 +10326,6 @@ "node": ">= 0.6.0" } }, - "node_modules/json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "license": "MIT", - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/jsonc-eslint-parser": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/jsonc-eslint-parser/-/jsonc-eslint-parser-2.4.2.tgz", @@ -11499,12 +10999,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/locko": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/locko/-/locko-1.1.0.tgz", - "integrity": "sha512-pYB2dzRY93fJkg2RIl41AMNgTQftEjyTK9vlPrGOJvuGQsOjb267VJBw15BjiN3RBd1oBoKkOu9E2dRdFKIfAA==", - "license": "MIT" - }, "node_modules/lodash": { "version": "4.17.21", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", @@ -11701,15 +11195,6 @@ "license": "MIT", "peer": true }, - "node_modules/lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "license": "ISC", - "dependencies": { - "yallist": "^3.0.2" - } - }, "node_modules/luxon": { "version": "3.7.2", "resolved": "https://registry.npmjs.org/luxon/-/luxon-3.7.2.tgz", @@ -12030,78 +11515,6 @@ "node": ">=16 || 14 >=14.17" } }, - "node_modules/minipass-collect": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-2.0.1.tgz", - "integrity": "sha512-D7V8PO9oaz7PWGLbCACuI1qEOsq7UKfLotx/C0Aet43fCUB/wfQ7DYeq2oR/svFJGYDHPr38SHATeaj/ZoKHKw==", - "license": "ISC", - "dependencies": { - "minipass": "^7.0.3" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - } - }, - "node_modules/minipass-flush": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz", - "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", - "license": "ISC", - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/minipass-flush/node_modules/minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/minipass-flush/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "license": "ISC" - }, - "node_modules/minipass-pipeline": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", - "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==", - "license": "ISC", - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/minipass-pipeline/node_modules/minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/minipass-pipeline/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "license": "ISC" - }, "node_modules/mitt": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/mitt/-/mitt-3.0.1.tgz", @@ -12243,6 +11656,7 @@ } ], "license": "MIT", + "peer": true, "engines": { "node": ">=10.5.0" } @@ -12252,6 +11666,7 @@ "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.3.2.tgz", "integrity": "sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==", "license": "MIT", + "peer": true, "dependencies": { "data-uri-to-buffer": "^4.0.0", "fetch-blob": "^3.1.4", @@ -12265,26 +11680,12 @@ "url": "https://opencollective.com/node-fetch" } }, - "node_modules/node-fetch-cache": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/node-fetch-cache/-/node-fetch-cache-5.1.0.tgz", - "integrity": "sha512-4j3rRHNGIKGX7VzXSrBT0bh7+wFuyJv1DxCfCLDHsnDahJWoD9lXe3BzL3BJg/GEIJiM7KIvqVs3byW1GFtRsQ==", - "license": "MIT", - "dependencies": { - "cacache": "^20.0.1", - "formdata-node": "^6.0.3", - "locko": "^1.1.0", - "node-fetch": "3.3.2" - }, - "engines": { - "node": ">=18.19.0" - } - }, "node_modules/node-releases": { "version": "2.0.27", "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.27.tgz", "integrity": "sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA==", - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/node-retrieve-globals": { "version": "6.0.1", @@ -12699,18 +12100,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/p-map": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-7.0.4.tgz", - "integrity": "sha512-tkAQEw8ysMzmkhgw8k+1U/iPhWNhykKnSk4Rd5zLoPJCuJaGRPo6YposrZgaxHKzDHdDWWZvE/Sk7hsL2X/CpQ==", - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/p-timeout": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-3.2.0.tgz", @@ -12784,12 +12173,6 @@ "quansync": "^0.2.7" } }, - "node_modules/pako": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/pako/-/pako-2.1.0.tgz", - "integrity": "sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug==", - "license": "(MIT AND Zlib)" - }, "node_modules/param-case": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz", @@ -15160,18 +14543,6 @@ "license": "BSD-3-Clause", "peer": true }, - "node_modules/ssri": { - "version": "13.0.0", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-13.0.0.tgz", - "integrity": "sha512-yizwGBpbCn4YomB2lzhZqrHLJoqFGXihNbib3ozhqF/cIp5ue+xSmOQrjNasEE62hFxsCcg/V/z23t4n8jMEng==", - "license": "ISC", - "dependencies": { - "minipass": "^7.0.3" - }, - "engines": { - "node": "^20.17.0 || >=22.9.0" - } - }, "node_modules/statuses": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz", @@ -15187,6 +14558,7 @@ "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.23.0.tgz", "integrity": "sha512-kn+e44esVfn2Fa/O0CPFcex27fjIL6MkVae0Mm6q+E6f0hWv578YCERbv+4m02cjxvDsPKLnmxral/rR6lBMAg==", "license": "MIT", + "peer": true, "dependencies": { "events-universal": "^1.0.0", "fast-fifo": "^1.3.2", @@ -15398,25 +14770,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/sver": { - "version": "1.8.4", - "resolved": "https://registry.npmjs.org/sver/-/sver-1.8.4.tgz", - "integrity": "sha512-71o1zfzyawLfIWBOmw8brleKyvnbn73oVHNCsu51uPMz/HWiKkkXsI31JjHW5zqXEqnPYkIiHd8ZmL7FCimLEA==", - "license": "MIT", - "optionalDependencies": { - "semver": "^6.3.0" - } - }, - "node_modules/sver/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "license": "ISC", - "optional": true, - "bin": { - "semver": "bin/semver.js" - } - }, "node_modules/svgo": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/svgo/-/svgo-4.0.0.tgz", @@ -15528,6 +14881,7 @@ "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.7.tgz", "integrity": "sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==", "license": "MIT", + "peer": true, "dependencies": { "b4a": "^1.6.4", "fast-fifo": "^1.2.0", @@ -15552,6 +14906,7 @@ "resolved": "https://registry.npmjs.org/text-decoder/-/text-decoder-1.2.3.tgz", "integrity": "sha512-3/o9z3X0X0fTupwsYvR03pJ/DjWuqqrfwBgTQzdWDiQSm9KitAyz/9WqsT2JQW7KV2m+bC2ol/zqpW37NHxLaA==", "license": "Apache-2.0", + "peer": true, "dependencies": { "b4a": "^1.6.4" } @@ -16043,30 +15398,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/unique-filename": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-5.0.0.tgz", - "integrity": "sha512-2RaJTAvAb4owyjllTfXzFClJ7WsGxlykkPvCr9pA//LD9goVq+m4PPAeBgNodGZ7nSrntT/auWpJ6Y5IFXcfjg==", - "license": "ISC", - "dependencies": { - "unique-slug": "^6.0.0" - }, - "engines": { - "node": "^20.17.0 || >=22.9.0" - } - }, - "node_modules/unique-slug": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-6.0.0.tgz", - "integrity": "sha512-4Lup7Ezn8W3d52/xBhZBVdx323ckxa7DEvd9kPQHppTkLoJXw6ltrBCyj5pnrxj0qKDxYMJ56CoxNuFCscdTiw==", - "license": "ISC", - "dependencies": { - "imurmurhash": "^0.1.4" - }, - "engines": { - "node": "^20.17.0 || >=22.9.0" - } - }, "node_modules/universal-user-agent": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-7.0.3.tgz", @@ -16112,6 +15443,7 @@ } ], "license": "MIT", + "peer": true, "dependencies": { "escalade": "^3.2.0", "picocolors": "^1.1.1" @@ -16300,6 +15632,7 @@ "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.3.3.tgz", "integrity": "sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==", "license": "MIT", + "peer": true, "engines": { "node": ">= 8" } @@ -16585,12 +15918,6 @@ "node": ">=10" } }, - "node_modules/yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "license": "ISC" - }, "node_modules/yaml": { "version": "2.8.2", "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.2.tgz", @@ -16769,7 +16096,7 @@ }, "tools/create-element": { "name": "@patternfly/create-element", - "version": "1.0.5", + "version": "1.0.6", "license": "MIT", "dependencies": { "case": "^1.6.3", @@ -16905,7 +16232,7 @@ }, "tools/pfe-tools": { "name": "@patternfly/pfe-tools", - "version": "5.0.5", + "version": "6.0.1", "license": "MIT", "devDependencies": { "@types/dedent": "^0.7.2", @@ -16927,11 +16254,11 @@ "@11ty/eleventy-plugin-directory-output": "^1.0.2", "@11ty/eleventy-plugin-syntaxhighlight": "^5.0.2", "@changesets/cli": "^2.29.8", - "@jspm/generator": "~2.7.6", "@koa/router": "^15.1.1", "@lit-labs/ssr": "^4.0.0", "@open-wc/testing": "^4.0.0", "@playwright/test": "~1.48.0", + "@pwrs/mappa": "^0.0.4", "@rollup/plugin-replace": "^6.0.3", "@web/dev-server": "^0.4.6", "@web/dev-server-esbuild": "^1.0.4", diff --git a/package.json b/package.json index 628d689617..e67eb08243 100644 --- a/package.json +++ b/package.json @@ -55,7 +55,6 @@ "build:lightdom", "build:elements", "build:create", - "build:react" ] }, @@ -272,11 +271,11 @@ "@actions/glob": "^0.5.0", "@commitlint/cli": "^19.4.0", "@commitlint/config-conventional": "^19.2.2", - "@jspm/generator": "~2.7.6", "@lit/react": "^1.0.8", "@octokit/core": "^6.1.2", "@patternfly/patternfly": "^4.224.5", "@pwrs/cem": "^0.7.5", + "@pwrs/mappa": "^0.0.4", "@rhds/elements": "^4.0.1", "@types/koa__router": "^12.0.5", "@types/node": "^22.19.0", diff --git a/patches/@jspm+generator+2.7.6.patch b/patches/@jspm+generator+2.7.6.patch deleted file mode 100644 index 60e65f7da8..0000000000 --- a/patches/@jspm+generator+2.7.6.patch +++ /dev/null @@ -1,41 +0,0 @@ -diff --git a/node_modules/@jspm/generator/dist/generator-790b7aa7.js b/node_modules/@jspm/generator/dist/generator-790b7aa7.js -index 269fffc..dc7527c 100644 ---- a/node_modules/@jspm/generator/dist/generator-790b7aa7.js -+++ b/node_modules/@jspm/generator/dist/generator-790b7aa7.js -@@ -3314,6 +3314,9 @@ async function extractLockConstraintsAndMap(log, map, preloadUrls, mapUrl, rootU - } - if (installSubpath !== false) { - setResolution(locks, parsedKey.pkgName, pkgUrl, null, installSubpath); -+ if (key.endsWith('/')) { -+ maps.imports[key] = map.imports[key] -+ } - return; - } - } -@@ -3825,7 +3828,7 @@ function _define_property$2(obj, key, value) { - return obj; - } - function combineSubpaths(installSubpath, traceSubpath) { -- if (traceSubpath.endsWith('/')) throw new Error('Trailing slash subpaths unsupported'); -+ if (traceSubpath.endsWith('/')) return traceSubpath; - return installSubpath === null || installSubpath === '.' || traceSubpath === '.' ? installSubpath || traceSubpath : `${installSubpath}${traceSubpath.slice(1)}`; - } - class TraceMap { -@@ -3869,7 +3872,7 @@ class TraceMap { - // very likely that the user has some CommonJS dependencies, but this is - // something that the user has to explicitly enable: - if (isBuiltinScheme(resolved)) return null; -- if (resolved.endsWith('/')) throw new JspmError(`Trailing "/" installs not supported installing ${resolved} for ${parentUrl}`); -+ if (resolved.endsWith('/')) return; - try { - var entry = await this.resolver.analyze(resolved); - } catch (e) { -@@ -5112,7 +5115,7 @@ function createFetchOptions(cache = true, fetchOptions = {}) { - replacer.remove(existingComment.start, existingComment.end, true); - } - } -- replacer.replace(analysis.map.start, analysis.map.end, (comment ? '' + newlineTab : '') + esms + '' + preloads + (analysis.map.newScript ? newlineTab : '')); -+ replacer.replace(analysis.map.start, analysis.map.end, (comment ? '' + newlineTab : '') + esms + '' + preloads + (analysis.map.newScript ? newlineTab : '')); - return replacer.source; - } - async install(install, mode) { diff --git a/tools/pfe-tools/11ty/DocsPage.ts b/tools/pfe-tools/11ty/DocsPage.ts index 6ddeb15c3d..108687687b 100644 --- a/tools/pfe-tools/11ty/DocsPage.ts +++ b/tools/pfe-tools/11ty/DocsPage.ts @@ -23,12 +23,12 @@ export class DocsPage { constructor(public manifest: Manifest, options?: DocsPageOptions) { const config = getPfeConfig(options?.rootDir); this.tagName = options?.tagName ?? ''; - this.title = options?.title ?? Manifest.prettyTag(this.tagName); this.docsTemplatePath = options?.docsTemplatePath; this.summary = this.manifest.getSummary(this.tagName); this.description = this.manifest.getDescription(this.tagName); const prefix = `${config.tagPrefix.replace(/-$/, '')}-`; const aliased = config.aliases[this.tagName] ?? this.tagName.replace(prefix, ''); + this.title = options?.title ?? Manifest.prettyTag(this.tagName, config.aliases, prefix); this.slug = slugify(aliased, { strict: true, lower: true }); } } diff --git a/tools/pfe-tools/custom-elements-manifest/lib/Manifest.ts b/tools/pfe-tools/custom-elements-manifest/lib/Manifest.ts index d70a27f199..266e9ae229 100644 --- a/tools/pfe-tools/custom-elements-manifest/lib/Manifest.ts +++ b/tools/pfe-tools/custom-elements-manifest/lib/Manifest.ts @@ -175,11 +175,12 @@ export class Manifest { public static prettyTag = ( tagName: string, aliases?: Record, - ): string => aliases?.[tagName] ?? tagName - .replace(/^\w+-/, '') - .toLowerCase() - .replace(/(?:^|[-/\s])\w/g, x => x.toUpperCase()) - .replace(/-/g, ' '); + prefix?: string, + ): string => aliases?.[tagName] + ?? (prefix ? tagName.replace(prefix, '') : tagName.replace(/^\w+-/, '')) + .toLowerCase() + .replace(/(?:^|[-/\s])\w/g, x => x.toUpperCase()) + .replace(/-/g, ' '); declarations: Map = new Map(); @@ -323,10 +324,12 @@ export class Manifest { const [last = ''] = filePath.split(path.sep).reverse(); const filename = last.replace('.html', ''); const isMainElementDemo = filename === 'index'; - const title = isMainElementDemo ? options.aliases[tagName] ?? prettyTag(tagName) : last - .replace(/(?:^|[-/\s])\w/g, x => x.toUpperCase()) - .replace(/-/g, ' ') - .replace('.html', ''); + const prefix = `${options.tagPrefix.replace(/-$/, '')}-`; + const title = isMainElementDemo ? prettyTag(tagName, options.aliases, prefix) + : last + .replace(/(?:^|[-/\s])\w/g, x => x.toUpperCase()) + .replace(/-/g, ' ') + .replace('.html', ''); return { tagName, primaryElementName, diff --git a/tools/pfe-tools/dev-server/config.ts b/tools/pfe-tools/dev-server/config.ts index 6685fb72a5..806e9a182f 100644 --- a/tools/pfe-tools/dev-server/config.ts +++ b/tools/pfe-tools/dev-server/config.ts @@ -52,7 +52,6 @@ function normalizeOptions(options?: PfeDevServerConfigOptions) { .replace(/\/node_modules$/, '/') .replace('//', '/'); config.importMapOptions ??= {} as PfeDevServerConfigOptions['importMapOptions']; - config.importMapOptions!.providers ??= {}; config.site = { ...config.site, ...options?.site ?? {} }; config.loadDemo ??= true; config.watchFiles ??= '{elements,core}/**/*.{css,html}'; @@ -147,26 +146,7 @@ export function pfeDevServerConfig(options?: PfeDevServerConfigOptions): DevServ // load .css files as lit CSSResult modules litCss(config.litcssOptions), - importMapGeneratorPlugin({ - ...config.importMapOptions, - providers: { - 'construct-style-sheets-polyfill': 'nodemodules', - 'element-internals-polyfill': 'nodemodules', - 'lit-html': 'nodemodules', - 'lit': 'nodemodules', - '@lit/reactive-element': 'nodemodules', - '@lit/context': 'nodemodules', - ...config.importMapOptions?.providers, - }, - resolveHtmlUrl(fileUrl, rootUrl) { - const override = config.importMapOptions.resolveHtmlUrl?.(fileUrl, rootUrl); - if (override) { - return override; - } else { - return fileUrl.replace('/components/', '/elements/pf-'); - } - }, - }), + importMapGeneratorPlugin(config.importMapOptions), ...config?.plugins ?? [], diff --git a/tools/pfe-tools/dev-server/plugins/import-map-generator.ts b/tools/pfe-tools/dev-server/plugins/import-map-generator.ts index e6a56acbb6..9c0aa6c494 100644 --- a/tools/pfe-tools/dev-server/plugins/import-map-generator.ts +++ b/tools/pfe-tools/dev-server/plugins/import-map-generator.ts @@ -1,129 +1,41 @@ import type { Middleware } from 'koa'; import type { Plugin } from '@web/dev-server-core'; -import type { GeneratorOptions, Provider } from '@jspm/generator'; -import { readFile, stat } from 'node:fs/promises'; +import { resolve } from '@pwrs/mappa'; -import { join } from 'node:path'; - -import { Generator } from '@jspm/generator'; - -import { glob } from 'node:fs/promises'; - -export interface Options extends GeneratorOptions { +export interface Options { resolveHtmlUrl?: (fileUrl: string, rootUrl: string) => string; + providers?: Record; + inputMap?: { imports?: Record; scopes?: Record> }; + resolutions?: Record; + ignore?: string[]; + typeScript?: boolean; } -const exists = async (path: string) => { - try { - await stat(path); return true; - } catch { - return false; - } -}; - -async function getPotentialPackageDirs(cwd: string, workspaces: string[]) { - const potentialPackageDirs: string[] = []; - await Promise.all( - (workspaces ?? []).map(async (pattern: string) => { - for await (const dir of glob(pattern, { cwd })) { - potentialPackageDirs.push(dir); - } - }) - ); - return potentialPackageDirs; -} - -async function resolveMonorepoPackages() { - const cwd = process.cwd(); - - const { workspaces } = JSON.parse(await readFile(join(cwd, 'package.json'), 'utf-8')); - - const potentialPackageDirs = await getPotentialPackageDirs(cwd, workspaces); - const packages = new Map(); - - for (const dir of ['.', ...potentialPackageDirs]) { - const pkgDir = join(cwd, dir); - const pkgJsonPath = join(pkgDir, 'package.json'); - if (await exists(pkgJsonPath)) { - const { name } = JSON.parse(await readFile(pkgJsonPath, 'utf-8')); - packages.set(name, pkgDir); - } - } - - return packages; -} - -function getProvider(packages: Map): Provider { - return { - async pkgToUrl({ name }) { - const pkgPath = packages.get(name); - if (!pkgPath) { - throw new Error(`could not resolve ${name}`); - } - return `file://${pkgPath}/`; - }, - // @ts-expect-error: types vs docs - parseUrlPkg(url: string) { - for (const [name, dir] of packages) { - if (url.startsWith(dir)) { - return { - name, - registry: 'monorepotypescript', - version: '*', - }; - } - } - }, - async resolveLatestTarget(target) { - return { ...target, version: '*' }; - }, - }; +interface ImportMap { + imports?: Record; + scopes?: Record>; } -function generatorMiddleware(generator: Generator, options?: Partial): Middleware { +function importMapMiddleware(importMap: ImportMap): Middleware { return async function injectMiddleware(ctx, next) { - if (ctx.path.endsWith('.html') || ctx.path.endsWith('/')) { - if (ctx.body?.length) { - const rootUrl = `file://${process.cwd()}/`; - const fileUrl = `${rootUrl.replace(/\/$/, '')}${ctx.url}`; - const htmlUrl = options?.resolveHtmlUrl?.(fileUrl, rootUrl) ?? fileUrl; - try { - ctx.body = await generator.htmlInject(ctx.body, { - htmlUrl, - rootUrl, - trace: true, - whitespace: true, - esModuleShims: true, - }); - } catch (e) { - // eslint-disable-next-line no-console - console.error(e); - } - } + await next(); + if ((ctx.path.endsWith('.html') || ctx.path.endsWith('/')) && ctx.body?.length) { + const script = ``; + ctx.body = (ctx.body as string).replace('', `${script}\n`); } - return next(); }; } -/** - * @param options plugin options - */ export function importMapGeneratorPlugin(options?: Partial): Plugin { return { name: 'import-map-inject', async serverStart(args) { - const monorepotypescript = getProvider(await resolveMonorepoPackages()); - args.app.use(generatorMiddleware(new Generator({ - defaultProvider: 'nodemodules', - env: ['development', 'production', 'browser', 'module'], - providers: options?.providers, + const importMap = await resolve('.', { + conditions: ['development', 'production', 'browser', 'import', 'default'], inputMap: options?.inputMap, - customProviders: { monorepotypescript }, - resolutions: options?.resolutions, - ignore: options?.ignore, - typeScript: options?.typeScript, - }), options)); + }); + args.app.use(importMapMiddleware(importMap)); }, }; } diff --git a/tools/pfe-tools/package.json b/tools/pfe-tools/package.json index ea6c753dc4..a48a09aba4 100644 --- a/tools/pfe-tools/package.json +++ b/tools/pfe-tools/package.json @@ -67,11 +67,11 @@ "@11ty/eleventy-plugin-directory-output": "^1.0.2", "@11ty/eleventy-plugin-syntaxhighlight": "^5.0.2", "@changesets/cli": "^2.29.8", - "@jspm/generator": "~2.7.6", "@koa/router": "^15.1.1", "@lit-labs/ssr": "^4.0.0", "@open-wc/testing": "^4.0.0", "@playwright/test": "~1.48.0", + "@pwrs/mappa": "^0.0.4", "@rollup/plugin-replace": "^6.0.3", "@web/dev-server": "^0.4.6", "@web/dev-server-esbuild": "^1.0.4", diff --git a/tsconfig.settings.json b/tsconfig.settings.json index ef69951558..7d56602e06 100644 --- a/tsconfig.settings.json +++ b/tsconfig.settings.json @@ -74,6 +74,9 @@ ], "@patternfly/pfe-tools/*": [ "./tools/pfe-tools/*" + ], + "@pwrs/mappa": [ + "./node_modules/@pwrs/mappa/dist/mappa.d.ts" ] } }