continuous-integration/drone/push Build is passing
TypeScript:
- menu_ts.ts split into menu.ts, content.ts, popup.ts and xmltv.ts; the
other files drop their _ts suffix. Bundle order fixed in ts/tsconfig.json.
- All 94 string event handlers (setAttribute("onclick", "javascript: ..."))
replaced with addEventListener closures. changeButtonAction, which
rewrote an onclick attribute from select values, is gone.
- Settings rows are generated from one SETTINGS_FIELDS table instead of
~20 copy-pasted blocks; rendered HTML is byte-identical to before.
saveSettings now serialises password inputs, so a changed Plex token is
actually sent (the server treats the mask as unchanged).
- createLayout rebuilds the menu list only when the set of visible items
changes, so focus in the menu survives a refresh.
- announce()/alertUser(): alerts are mirrored into an aria-live region.
- Filter popup offers a third type, Regular Expression (regex-filter), and
the filter table labels it. Playlist popups get a Buffer select
(default / none / xTeVe / FFmpeg / VLC) saved as the playlist's
"buffer" parameter; the tuner field stays editable when the
playlist's own buffer is active.
Tests: tests/ holds 27 jsdom tests (Node's built-in runner, jsdom pinned)
that load the built bundle with a fixture server payload: menu visibility
rules, mapping table renders names as text, settings panel fields, popup
flows, sorting, bulk select, layout refresh keeps nodes, live region,
regex option, buffer select. npm test runs in the Drone webui-check step.
README-DEV documents the layout and the test workflow.
560 lines
19 KiB
JSON
560 lines
19 KiB
JSON
{
|
|
"name": "xteve-webui",
|
|
"lockfileVersion": 3,
|
|
"requires": true,
|
|
"packages": {
|
|
"": {
|
|
"name": "xteve-webui",
|
|
"devDependencies": {
|
|
"jsdom": "30.1.1",
|
|
"typescript": "5.9.3"
|
|
}
|
|
},
|
|
"node_modules/@asamuzakjp/css-color": {
|
|
"version": "7.0.1",
|
|
"resolved": "https://registry.npmjs.org/@asamuzakjp/css-color/-/css-color-7.0.1.tgz",
|
|
"integrity": "sha512-C9duntabagkBZ1LebM7FKmphR4Q1pBclLxVbZETQV0akkFjV0ooFxo8FlvAQyKj9F6l8rEnmidgcTlpyxFYizg==",
|
|
"dev": true,
|
|
"license": "MIT",
|
|
"dependencies": {
|
|
"@csstools/css-calc": "^3.4.0",
|
|
"@csstools/css-color-parser": "^4.2.3",
|
|
"@csstools/css-parser-algorithms": "^4.0.0",
|
|
"@csstools/css-tokenizer": "^4.0.1",
|
|
"lru-cache": "^11.5.3"
|
|
},
|
|
"engines": {
|
|
"node": "^22.22.2 || ^24.15.0 || >=26.0.0"
|
|
}
|
|
},
|
|
"node_modules/@asamuzakjp/dom-selector": {
|
|
"version": "9.2.1",
|
|
"resolved": "https://registry.npmjs.org/@asamuzakjp/dom-selector/-/dom-selector-9.2.1.tgz",
|
|
"integrity": "sha512-NT4s3yZLjovPpliRpTvdsdzyPjqRqiCZj9MxnarBihbaY5MbAG7DWAJcrLlhmC7xKTNCXsTELcqB8YsqpLnUFQ==",
|
|
"dev": true,
|
|
"license": "MIT",
|
|
"dependencies": {
|
|
"bidi-js": "^1.1.0",
|
|
"css-tree": "^3.2.1",
|
|
"is-potential-custom-element-name": "^1.0.1",
|
|
"lru-cache": "^11.5.3"
|
|
},
|
|
"engines": {
|
|
"node": "^22.22.2 || ^24.15.0 || >=26.0.0"
|
|
}
|
|
},
|
|
"node_modules/@bramus/specificity": {
|
|
"version": "2.4.2",
|
|
"resolved": "https://registry.npmjs.org/@bramus/specificity/-/specificity-2.4.2.tgz",
|
|
"integrity": "sha512-ctxtJ/eA+t+6q2++vj5j7FYX3nRu311q1wfYH3xjlLOsczhlhxAg2FWNUXhpGvAw3BWo1xBcvOV6/YLc2r5FJw==",
|
|
"dev": true,
|
|
"license": "MIT",
|
|
"dependencies": {
|
|
"css-tree": "^3.0.0"
|
|
},
|
|
"bin": {
|
|
"specificity": "bin/cli.js"
|
|
}
|
|
},
|
|
"node_modules/@csstools/color-helpers": {
|
|
"version": "6.1.2",
|
|
"resolved": "https://registry.npmjs.org/@csstools/color-helpers/-/color-helpers-6.1.2.tgz",
|
|
"integrity": "sha512-grhRy3OKmniaAEKXMjua5z/EODX0MSqBGjunw8+j/3HQjOnahs2AGhvEOIYVUWcU6ScApbhLhVrQTX8XqrMrow==",
|
|
"dev": true,
|
|
"funding": [
|
|
{
|
|
"type": "github",
|
|
"url": "https://github.com/sponsors/csstools"
|
|
},
|
|
{
|
|
"type": "opencollective",
|
|
"url": "https://opencollective.com/csstools"
|
|
}
|
|
],
|
|
"license": "MIT-0",
|
|
"engines": {
|
|
"node": ">=20.19.0"
|
|
}
|
|
},
|
|
"node_modules/@csstools/css-calc": {
|
|
"version": "3.4.1",
|
|
"resolved": "https://registry.npmjs.org/@csstools/css-calc/-/css-calc-3.4.1.tgz",
|
|
"integrity": "sha512-EtC7SoN1j6J4E4DCwg5QgbO5TGxgxIA1RXqe+W+qUM+BUcezx9wT+/tiQ/WO2yCX4i5X+Cuf9ciJ22aP4UEwWw==",
|
|
"dev": true,
|
|
"funding": [
|
|
{
|
|
"type": "github",
|
|
"url": "https://github.com/sponsors/csstools"
|
|
},
|
|
{
|
|
"type": "opencollective",
|
|
"url": "https://opencollective.com/csstools"
|
|
}
|
|
],
|
|
"license": "MIT",
|
|
"engines": {
|
|
"node": ">=20.19.0"
|
|
},
|
|
"peerDependencies": {
|
|
"@csstools/css-parser-algorithms": "^4.0.1",
|
|
"@csstools/css-tokenizer": "^4.0.2"
|
|
}
|
|
},
|
|
"node_modules/@csstools/css-color-parser": {
|
|
"version": "4.2.4",
|
|
"resolved": "https://registry.npmjs.org/@csstools/css-color-parser/-/css-color-parser-4.2.4.tgz",
|
|
"integrity": "sha512-DyefytAZ735mX4Dq/WcDAXFtXhaEFvme0ZS9tVEBAc2whxUthXr0R0L2rmEPm59SrMBkGrFzQviBXMs/UtnABQ==",
|
|
"dev": true,
|
|
"funding": [
|
|
{
|
|
"type": "github",
|
|
"url": "https://github.com/sponsors/csstools"
|
|
},
|
|
{
|
|
"type": "opencollective",
|
|
"url": "https://opencollective.com/csstools"
|
|
}
|
|
],
|
|
"license": "MIT",
|
|
"dependencies": {
|
|
"@csstools/color-helpers": "^6.1.2",
|
|
"@csstools/css-calc": "^3.4.1"
|
|
},
|
|
"engines": {
|
|
"node": ">=20.19.0"
|
|
},
|
|
"peerDependencies": {
|
|
"@csstools/css-parser-algorithms": "^4.0.1",
|
|
"@csstools/css-tokenizer": "^4.0.2"
|
|
}
|
|
},
|
|
"node_modules/@csstools/css-parser-algorithms": {
|
|
"version": "4.0.1",
|
|
"resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-4.0.1.tgz",
|
|
"integrity": "sha512-ShL8BqPfbKJrJiKFH0xBbN0i7Nrh9HXYRuF+pzyj93R/BL2YAsUxJeqANErzqM+0JGl7vjHp+3OIgd/DL69YIA==",
|
|
"dev": true,
|
|
"funding": [
|
|
{
|
|
"type": "github",
|
|
"url": "https://github.com/sponsors/csstools"
|
|
},
|
|
{
|
|
"type": "opencollective",
|
|
"url": "https://opencollective.com/csstools"
|
|
}
|
|
],
|
|
"license": "MIT",
|
|
"engines": {
|
|
"node": ">=20.19.0"
|
|
},
|
|
"peerDependencies": {
|
|
"@csstools/css-tokenizer": "^4.0.2"
|
|
}
|
|
},
|
|
"node_modules/@csstools/css-syntax-patches-for-csstree": {
|
|
"version": "1.1.14",
|
|
"resolved": "https://registry.npmjs.org/@csstools/css-syntax-patches-for-csstree/-/css-syntax-patches-for-csstree-1.1.14.tgz",
|
|
"integrity": "sha512-HpbVXyrofRXpHpgkNIjU/3EWR4WJvOkO3emNK/L6X/mTJU7bGUI3AkkpoTNXznQLp0KRjLHELTGeKI5dIkI9JQ==",
|
|
"dev": true,
|
|
"funding": [
|
|
{
|
|
"type": "github",
|
|
"url": "https://github.com/sponsors/csstools"
|
|
},
|
|
{
|
|
"type": "opencollective",
|
|
"url": "https://opencollective.com/csstools"
|
|
}
|
|
],
|
|
"license": "MIT-0",
|
|
"peerDependencies": {
|
|
"css-tree": "^3.2.1"
|
|
},
|
|
"peerDependenciesMeta": {
|
|
"css-tree": {
|
|
"optional": true
|
|
}
|
|
}
|
|
},
|
|
"node_modules/@csstools/css-tokenizer": {
|
|
"version": "4.0.2",
|
|
"resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-4.0.2.tgz",
|
|
"integrity": "sha512-OoKoR0f76dCY666JlcbhmVTs2drYj1GUXZTYTcbUgJjh9Nv41aFfZ21bPQTERm5+L5cBDo466NltB2lplS5GBw==",
|
|
"dev": true,
|
|
"funding": [
|
|
{
|
|
"type": "github",
|
|
"url": "https://github.com/sponsors/csstools"
|
|
},
|
|
{
|
|
"type": "opencollective",
|
|
"url": "https://opencollective.com/csstools"
|
|
}
|
|
],
|
|
"license": "MIT",
|
|
"engines": {
|
|
"node": ">=20.19.0"
|
|
}
|
|
},
|
|
"node_modules/@exodus/bytes": {
|
|
"version": "1.16.0",
|
|
"resolved": "https://registry.npmjs.org/@exodus/bytes/-/bytes-1.16.0.tgz",
|
|
"integrity": "sha512-IcpW84uEn3N7ETtNZMlxKhfl6Pec8rUNGOTBtWbK1FKhJxIFAptZyVrvVRVBimAJxJCgc3PxepxkdWWG4DVzfA==",
|
|
"dev": true,
|
|
"license": "MIT",
|
|
"engines": {
|
|
"node": "^20.19.0 || ^22.12.0 || >=24.0.0"
|
|
},
|
|
"peerDependencies": {
|
|
"@noble/hashes": "^1.8.0 || ^2.0.0"
|
|
},
|
|
"peerDependenciesMeta": {
|
|
"@noble/hashes": {
|
|
"optional": true
|
|
}
|
|
}
|
|
},
|
|
"node_modules/bidi-js": {
|
|
"version": "1.1.0",
|
|
"resolved": "https://registry.npmjs.org/bidi-js/-/bidi-js-1.1.0.tgz",
|
|
"integrity": "sha512-fX1Onk0tdVPC7obPWB5EbJ1z7NVhLq4m2xZLq2YXBkxzMXIGRpNMU88n0EPgWseKl12J7zXs7qrDxPK4sRs2fg==",
|
|
"dev": true,
|
|
"license": "MIT",
|
|
"dependencies": {
|
|
"require-from-string": "^2.0.2"
|
|
}
|
|
},
|
|
"node_modules/css-tree": {
|
|
"version": "3.2.1",
|
|
"resolved": "https://registry.npmjs.org/css-tree/-/css-tree-3.2.1.tgz",
|
|
"integrity": "sha512-X7sjQzceUhu1u7Y/ylrRZFU2FS6LRiFVp6rKLPg23y3x3c3DOKAwuXGDp+PAGjh6CSnCjYeAul8pcT8bAl+lSA==",
|
|
"dev": true,
|
|
"license": "MIT",
|
|
"dependencies": {
|
|
"mdn-data": "2.27.1",
|
|
"source-map-js": "^1.2.1"
|
|
},
|
|
"engines": {
|
|
"node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0"
|
|
}
|
|
},
|
|
"node_modules/data-urls": {
|
|
"version": "7.0.0",
|
|
"resolved": "https://registry.npmjs.org/data-urls/-/data-urls-7.0.0.tgz",
|
|
"integrity": "sha512-23XHcCF+coGYevirZceTVD7NdJOqVn+49IHyxgszm+JIiHLoB2TkmPtsYkNWT1pvRSGkc35L6NHs0yHkN2SumA==",
|
|
"dev": true,
|
|
"license": "MIT",
|
|
"dependencies": {
|
|
"whatwg-mimetype": "^5.0.0",
|
|
"whatwg-url": "^16.0.0"
|
|
},
|
|
"engines": {
|
|
"node": "^20.19.0 || ^22.12.0 || >=24.0.0"
|
|
}
|
|
},
|
|
"node_modules/data-urls/node_modules/whatwg-url": {
|
|
"version": "16.0.1",
|
|
"resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-16.0.1.tgz",
|
|
"integrity": "sha512-1to4zXBxmXHV3IiSSEInrreIlu02vUOvrhxJJH5vcxYTBDAx51cqZiKdyTxlecdKNSjj8EcxGBxNf6Vg+945gw==",
|
|
"dev": true,
|
|
"license": "MIT",
|
|
"dependencies": {
|
|
"@exodus/bytes": "^1.11.0",
|
|
"tr46": "^6.0.0",
|
|
"webidl-conversions": "^8.0.1"
|
|
},
|
|
"engines": {
|
|
"node": "^20.19.0 || ^22.12.0 || >=24.0.0"
|
|
}
|
|
},
|
|
"node_modules/decimal.js": {
|
|
"version": "10.6.0",
|
|
"resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.6.0.tgz",
|
|
"integrity": "sha512-YpgQiITW3JXGntzdUmyUR1V812Hn8T1YVXhCu+wO3OpS4eU9l4YdD3qjyiKdV6mvV29zapkMeD390UVEf2lkUg==",
|
|
"dev": true,
|
|
"license": "MIT"
|
|
},
|
|
"node_modules/entities": {
|
|
"version": "8.1.0",
|
|
"resolved": "https://registry.npmjs.org/entities/-/entities-8.1.0.tgz",
|
|
"integrity": "sha512-kxL7msIffSuh9aaFAMD7rxAIuTRMAHMeBtgHW2yUdWw732ZNh4MehkF2gdjvtdmikkaIP9bFDDJOPlsvm7avrA==",
|
|
"dev": true,
|
|
"license": "BSD-2-Clause",
|
|
"engines": {
|
|
"node": ">=20.19.0"
|
|
},
|
|
"funding": {
|
|
"url": "https://github.com/fb55/entities?sponsor=1"
|
|
}
|
|
},
|
|
"node_modules/html-encoding-sniffer": {
|
|
"version": "7.0.0",
|
|
"resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-7.0.0.tgz",
|
|
"integrity": "sha512-UikN5yr7xsCDAq87Or5or0PAlD3HJJOKVzM05az588WnpDJ4Ux7a2A53Qi6gofGg2/EtvF/H4hCi/TXfCW4Y6w==",
|
|
"dev": true,
|
|
"license": "MIT",
|
|
"dependencies": {
|
|
"@exodus/bytes": "^1.15.1"
|
|
},
|
|
"engines": {
|
|
"node": "^22.13.0 || >=24.0.0"
|
|
}
|
|
},
|
|
"node_modules/is-potential-custom-element-name": {
|
|
"version": "1.0.1",
|
|
"resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz",
|
|
"integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==",
|
|
"dev": true,
|
|
"license": "MIT"
|
|
},
|
|
"node_modules/jsdom": {
|
|
"version": "30.1.1",
|
|
"resolved": "https://registry.npmjs.org/jsdom/-/jsdom-30.1.1.tgz",
|
|
"integrity": "sha512-FahmoPK5vbPc+jxV1iErMHmAZypCZ942NHF4+qqaWAuvaKKTBZxawnmAtrbGWLU7MtlxfqIP0qw6aSI+aWGtLg==",
|
|
"dev": true,
|
|
"license": "MIT",
|
|
"dependencies": {
|
|
"@asamuzakjp/css-color": "^7.0.0",
|
|
"@asamuzakjp/dom-selector": "^9.2.1",
|
|
"@bramus/specificity": "^2.4.2",
|
|
"@csstools/css-syntax-patches-for-csstree": "^1.1.13",
|
|
"@exodus/bytes": "^1.15.1",
|
|
"css-tree": "^3.2.1",
|
|
"data-urls": "^7.0.0",
|
|
"decimal.js": "^10.6.0",
|
|
"html-encoding-sniffer": "^7.0.0",
|
|
"is-potential-custom-element-name": "^1.0.1",
|
|
"lru-cache": "^11.5.2",
|
|
"parse5": "^8.0.1",
|
|
"saxes": "^6.0.0",
|
|
"tough-cookie": "^6.0.2",
|
|
"undici": "^8.10.2",
|
|
"w3c-xmlserializer": "^6.0.0",
|
|
"webidl-conversions": "^8.0.1",
|
|
"whatwg-mimetype": "^5.0.0",
|
|
"whatwg-url": "^17.1.1",
|
|
"xml-name-validator": "^5.0.0"
|
|
},
|
|
"engines": {
|
|
"node": "^22.22.2 || ^24.15.0 || >=26.0.0"
|
|
},
|
|
"peerDependencies": {
|
|
"canvas": "^3.2.3"
|
|
},
|
|
"peerDependenciesMeta": {
|
|
"canvas": {
|
|
"optional": true
|
|
}
|
|
}
|
|
},
|
|
"node_modules/lru-cache": {
|
|
"version": "11.5.3",
|
|
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.5.3.tgz",
|
|
"integrity": "sha512-U4N8FgzmWxc8k1VH8Kr6lQg18U7Fjvby6wXHVRX/ZZ7IwWbRMgrRbP0Wrb5q5NVinryp4SQampHKdvtecItxUg==",
|
|
"dev": true,
|
|
"license": "BlueOak-1.0.0",
|
|
"engines": {
|
|
"node": "20 || >=22"
|
|
}
|
|
},
|
|
"node_modules/mdn-data": {
|
|
"version": "2.27.1",
|
|
"resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.27.1.tgz",
|
|
"integrity": "sha512-9Yubnt3e8A0OKwxYSXyhLymGW4sCufcLG6VdiDdUGVkPhpqLxlvP5vl1983gQjJl3tqbrM731mjaZaP68AgosQ==",
|
|
"dev": true,
|
|
"license": "CC0-1.0"
|
|
},
|
|
"node_modules/parse5": {
|
|
"version": "8.0.1",
|
|
"resolved": "https://registry.npmjs.org/parse5/-/parse5-8.0.1.tgz",
|
|
"integrity": "sha512-z1e/HMG90obSGeidlli3hj7cbocou0/wa5HacvI3ASx34PecNjNQeaHNo5WIZpWofN9kgkqV1q5YvXe3F0FoPw==",
|
|
"dev": true,
|
|
"license": "MIT",
|
|
"dependencies": {
|
|
"entities": "^8.0.0"
|
|
},
|
|
"funding": {
|
|
"url": "https://github.com/inikulin/parse5?sponsor=1"
|
|
}
|
|
},
|
|
"node_modules/punycode": {
|
|
"version": "2.3.1",
|
|
"resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz",
|
|
"integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==",
|
|
"dev": true,
|
|
"license": "MIT",
|
|
"engines": {
|
|
"node": ">=6"
|
|
}
|
|
},
|
|
"node_modules/require-from-string": {
|
|
"version": "2.0.2",
|
|
"resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz",
|
|
"integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==",
|
|
"dev": true,
|
|
"license": "MIT",
|
|
"engines": {
|
|
"node": ">=0.10.0"
|
|
}
|
|
},
|
|
"node_modules/saxes": {
|
|
"version": "6.0.0",
|
|
"resolved": "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz",
|
|
"integrity": "sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==",
|
|
"dev": true,
|
|
"license": "ISC",
|
|
"dependencies": {
|
|
"xmlchars": "^2.2.0"
|
|
},
|
|
"engines": {
|
|
"node": ">=v12.22.7"
|
|
}
|
|
},
|
|
"node_modules/source-map-js": {
|
|
"version": "1.2.1",
|
|
"resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz",
|
|
"integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==",
|
|
"dev": true,
|
|
"license": "BSD-3-Clause",
|
|
"engines": {
|
|
"node": ">=0.10.0"
|
|
}
|
|
},
|
|
"node_modules/tldts": {
|
|
"version": "7.4.15",
|
|
"resolved": "https://registry.npmjs.org/tldts/-/tldts-7.4.15.tgz",
|
|
"integrity": "sha512-SJVBeHOxDbNoq14CvpAoA2mLEWdbldGK8nR+yumpjY5nrlZxOflcA7p1Qj1gbTGmbu9DY9qLj/bENSWhBzjxRQ==",
|
|
"dev": true,
|
|
"license": "MIT",
|
|
"dependencies": {
|
|
"tldts-core": "^7.4.15"
|
|
},
|
|
"bin": {
|
|
"tldts": "bin/cli.js"
|
|
}
|
|
},
|
|
"node_modules/tldts-core": {
|
|
"version": "7.4.15",
|
|
"resolved": "https://registry.npmjs.org/tldts-core/-/tldts-core-7.4.15.tgz",
|
|
"integrity": "sha512-ERuv0p98XgSzmlSLJr8vDNxX+uATGInlN97V3R+JpYWaSqn5IG3ewWgCwczk4bkOpgth/o8Nt5FOi4B4w0n/1A==",
|
|
"dev": true,
|
|
"license": "MIT"
|
|
},
|
|
"node_modules/tough-cookie": {
|
|
"version": "6.0.2",
|
|
"resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-6.0.2.tgz",
|
|
"integrity": "sha512-exgYmnmL/sJpR3upZfXG5PoatXQii55xAiXGXzY+sROLZ/Y+SLcp9PgJNI9Vz37HpQ74WvDcLT8eqm+kV3FzrA==",
|
|
"dev": true,
|
|
"license": "BSD-3-Clause",
|
|
"dependencies": {
|
|
"tldts": "^7.0.5"
|
|
},
|
|
"engines": {
|
|
"node": ">=16"
|
|
}
|
|
},
|
|
"node_modules/tr46": {
|
|
"version": "6.0.0",
|
|
"resolved": "https://registry.npmjs.org/tr46/-/tr46-6.0.0.tgz",
|
|
"integrity": "sha512-bLVMLPtstlZ4iMQHpFHTR7GAGj2jxi8Dg0s2h2MafAE4uSWF98FC/3MomU51iQAMf8/qDUbKWf5GxuvvVcXEhw==",
|
|
"dev": true,
|
|
"license": "MIT",
|
|
"dependencies": {
|
|
"punycode": "^2.3.1"
|
|
},
|
|
"engines": {
|
|
"node": ">=20"
|
|
}
|
|
},
|
|
"node_modules/typescript": {
|
|
"version": "5.9.3",
|
|
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz",
|
|
"integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==",
|
|
"dev": true,
|
|
"license": "Apache-2.0",
|
|
"bin": {
|
|
"tsc": "bin/tsc",
|
|
"tsserver": "bin/tsserver"
|
|
},
|
|
"engines": {
|
|
"node": ">=14.17"
|
|
}
|
|
},
|
|
"node_modules/undici": {
|
|
"version": "8.11.2",
|
|
"resolved": "https://registry.npmjs.org/undici/-/undici-8.11.2.tgz",
|
|
"integrity": "sha512-u4UB2/IrKdU6lFxumHmmo1a3fCQO5tzQllRorfoRS63txhrB7xTpSn1PftwC4qEHkOaqP95fCWW4lJzwErwzhQ==",
|
|
"dev": true,
|
|
"license": "MIT",
|
|
"engines": {
|
|
"node": ">=22.19.0"
|
|
}
|
|
},
|
|
"node_modules/w3c-xmlserializer": {
|
|
"version": "6.0.0",
|
|
"resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-6.0.0.tgz",
|
|
"integrity": "sha512-4Nsy8K5Tr6SPDH9jhKJOHf7ChDrc1zufZTVSF7x72hwuEXBqxqk9G6cK+K2NRUtB3iELRJqjXb4JPDMBjMTl2Q==",
|
|
"dev": true,
|
|
"license": "MIT",
|
|
"dependencies": {
|
|
"xml-name-validator": "^5.0.0"
|
|
},
|
|
"engines": {
|
|
"node": "^22.22.2 || ^24.15.0 || >=26.0.0"
|
|
}
|
|
},
|
|
"node_modules/webidl-conversions": {
|
|
"version": "8.0.1",
|
|
"resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-8.0.1.tgz",
|
|
"integrity": "sha512-BMhLD/Sw+GbJC21C/UgyaZX41nPt8bUTg+jWyDeg7e7YN4xOM05YPSIXceACnXVtqyEw/LMClUQMtMZ+PGGpqQ==",
|
|
"dev": true,
|
|
"license": "BSD-2-Clause",
|
|
"engines": {
|
|
"node": ">=20"
|
|
}
|
|
},
|
|
"node_modules/whatwg-mimetype": {
|
|
"version": "5.0.0",
|
|
"resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-5.0.0.tgz",
|
|
"integrity": "sha512-sXcNcHOC51uPGF0P/D4NVtrkjSU2fNsm9iog4ZvZJsL3rjoDAzXZhkm2MWt1y+PUdggKAYVoMAIYcs78wJ51Cw==",
|
|
"dev": true,
|
|
"license": "MIT",
|
|
"engines": {
|
|
"node": ">=20"
|
|
}
|
|
},
|
|
"node_modules/whatwg-url": {
|
|
"version": "17.1.2",
|
|
"resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-17.1.2.tgz",
|
|
"integrity": "sha512-TEZA+Zqxin7Jjsm2cjRohCmen5awh+hT6Zi3VZdqZlNRk7zvOI/9WpBFg/DWlA56bWnzwm6DuB8NS0EsxQH9uQ==",
|
|
"dev": true,
|
|
"license": "MIT",
|
|
"dependencies": {
|
|
"@exodus/bytes": "^1.15.1",
|
|
"tr46": "^6.0.0",
|
|
"webidl-conversions": "^8.0.1"
|
|
},
|
|
"engines": {
|
|
"node": "^22.14.0 || >=24.0.0"
|
|
}
|
|
},
|
|
"node_modules/xml-name-validator": {
|
|
"version": "5.0.0",
|
|
"resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-5.0.0.tgz",
|
|
"integrity": "sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==",
|
|
"dev": true,
|
|
"license": "Apache-2.0",
|
|
"engines": {
|
|
"node": ">=18"
|
|
}
|
|
},
|
|
"node_modules/xmlchars": {
|
|
"version": "2.2.0",
|
|
"resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz",
|
|
"integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==",
|
|
"dev": true,
|
|
"license": "MIT"
|
|
}
|
|
}
|
|
}
|