diff --git a/package-lock.json b/package-lock.json
index ee1d637a48..25e6509773 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -7,6 +7,7 @@
"": {
"name": "openscd-monorepo",
"version": "0.44.0",
+ "hasInstallScript": true,
"license": "Apache-2.0",
"workspaces": [
"packages/*"
@@ -2812,6 +2813,20 @@
"integrity": "sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==",
"dev": true
},
+ "node_modules/@gerrit0/mini-shiki": {
+ "version": "3.19.0",
+ "resolved": "https://registry.npmjs.org/@gerrit0/mini-shiki/-/mini-shiki-3.19.0.tgz",
+ "integrity": "sha512-ZSlWfLvr8Nl0T4iA3FF/8VH8HivYF82xQts2DY0tJxZd4wtXJ8AA0nmdW9lmO4hlrh3f9xNwEPtOgqETPqKwDA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@shikijs/engine-oniguruma": "^3.19.0",
+ "@shikijs/langs": "^3.19.0",
+ "@shikijs/themes": "^3.19.0",
+ "@shikijs/types": "^3.19.0",
+ "@shikijs/vscode-textmate": "^10.0.2"
+ }
+ },
"node_modules/@github/catalyst": {
"version": "1.6.0",
"resolved": "https://registry.npmjs.org/@github/catalyst/-/catalyst-1.6.0.tgz",
@@ -7126,9 +7141,9 @@
"link": true
},
"node_modules/@openscd/oscd-api": {
- "version": "0.1.5",
- "resolved": "https://registry.npmjs.org/@openscd/oscd-api/-/oscd-api-0.1.5.tgz",
- "integrity": "sha512-SPm79bIqhSSxYMfnHIIwfuNpQa+UyJPY4Gxl6MVjHLY1jOkhevL+k/FfI4g08v3RdMG/+2MYu6ZxpB4zuQU5ZQ==",
+ "version": "0.1.6",
+ "resolved": "https://registry.npmjs.org/@openscd/oscd-api/-/oscd-api-0.1.6.tgz",
+ "integrity": "sha512-AqoHwQPsyiKxR8OVV3nOGgMMeiXgt2WAODZVcW0zLy7pLcZAROVzbvindiX3s09FuEOFY7UMyozmDmk1UXZJHg==",
"license": "Apache-2.0",
"dependencies": {
"tslib": "^2.8.1"
@@ -7138,6 +7153,24 @@
"resolved": "packages/plugins",
"link": true
},
+ "node_modules/@openscd/scl-lib": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/@openscd/scl-lib/-/scl-lib-2.0.0.tgz",
+ "integrity": "sha512-Fk3JaTELoMXpUIUbyGECbd83CfdU74sa0h0fzO5Q4qtJAQNcxf8Aba9jJcbgbz+PWz9G1m6CcWH8aZzD07g9/w==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@openscd/oscd-api": "0.1.5"
+ }
+ },
+ "node_modules/@openscd/scl-lib/node_modules/@openscd/oscd-api": {
+ "version": "0.1.5",
+ "resolved": "https://registry.npmjs.org/@openscd/oscd-api/-/oscd-api-0.1.5.tgz",
+ "integrity": "sha512-SPm79bIqhSSxYMfnHIIwfuNpQa+UyJPY4Gxl6MVjHLY1jOkhevL+k/FfI4g08v3RdMG/+2MYu6ZxpB4zuQU5ZQ==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "tslib": "^2.8.1"
+ }
+ },
"node_modules/@openscd/wizards": {
"resolved": "packages/wizards",
"link": true
@@ -7479,6 +7512,55 @@
}
}
},
+ "node_modules/@shikijs/engine-oniguruma": {
+ "version": "3.19.0",
+ "resolved": "https://registry.npmjs.org/@shikijs/engine-oniguruma/-/engine-oniguruma-3.19.0.tgz",
+ "integrity": "sha512-1hRxtYIJfJSZeM5ivbUXv9hcJP3PWRo5prG/V2sWwiubUKTa+7P62d2qxCW8jiVFX4pgRHhnHNp+qeR7Xl+6kg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@shikijs/types": "3.19.0",
+ "@shikijs/vscode-textmate": "^10.0.2"
+ }
+ },
+ "node_modules/@shikijs/langs": {
+ "version": "3.19.0",
+ "resolved": "https://registry.npmjs.org/@shikijs/langs/-/langs-3.19.0.tgz",
+ "integrity": "sha512-dBMFzzg1QiXqCVQ5ONc0z2ebyoi5BKz+MtfByLm0o5/nbUu3Iz8uaTCa5uzGiscQKm7lVShfZHU1+OG3t5hgwg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@shikijs/types": "3.19.0"
+ }
+ },
+ "node_modules/@shikijs/themes": {
+ "version": "3.19.0",
+ "resolved": "https://registry.npmjs.org/@shikijs/themes/-/themes-3.19.0.tgz",
+ "integrity": "sha512-H36qw+oh91Y0s6OlFfdSuQ0Ld+5CgB/VE6gNPK+Hk4VRbVG/XQgkjnt4KzfnnoO6tZPtKJKHPjwebOCfjd6F8A==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@shikijs/types": "3.19.0"
+ }
+ },
+ "node_modules/@shikijs/types": {
+ "version": "3.19.0",
+ "resolved": "https://registry.npmjs.org/@shikijs/types/-/types-3.19.0.tgz",
+ "integrity": "sha512-Z2hdeEQlzuntf/BZpFG8a+Fsw9UVXdML7w0o3TgSXV3yNESGon+bs9ITkQb3Ki7zxoXOOu5oJWqZ2uto06V9iQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@shikijs/vscode-textmate": "^10.0.2",
+ "@types/hast": "^3.0.4"
+ }
+ },
+ "node_modules/@shikijs/vscode-textmate": {
+ "version": "10.0.2",
+ "resolved": "https://registry.npmjs.org/@shikijs/vscode-textmate/-/vscode-textmate-10.0.2.tgz",
+ "integrity": "sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==",
+ "dev": true,
+ "license": "MIT"
+ },
"node_modules/@sigstore/bundle": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/@sigstore/bundle/-/bundle-1.1.0.tgz",
@@ -8149,6 +8231,16 @@
"@types/send": "*"
}
},
+ "node_modules/@types/hast": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz",
+ "integrity": "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/unist": "*"
+ }
+ },
"node_modules/@types/http-assert": {
"version": "1.5.5",
"resolved": "https://registry.npmjs.org/@types/http-assert/-/http-assert-1.5.5.tgz",
@@ -8480,6 +8572,13 @@
"resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.7.tgz",
"integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw=="
},
+ "node_modules/@types/unist": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz",
+ "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==",
+ "dev": true,
+ "license": "MIT"
+ },
"node_modules/@types/whatwg-url": {
"version": "6.4.0",
"resolved": "https://registry.npmjs.org/@types/whatwg-url/-/whatwg-url-6.4.0.tgz",
@@ -9806,12 +9905,6 @@
"node": ">=8"
}
},
- "node_modules/ansi-sequence-parser": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/ansi-sequence-parser/-/ansi-sequence-parser-1.1.1.tgz",
- "integrity": "sha512-vJXt3yiaUL4UU546s3rPXlsry/RnM730G1+HkpKE012AN0sx1eOrxSu95oKDIonskeLTijMgqWZ3uDEe3NFvyg==",
- "dev": true
- },
"node_modules/ansi-styles": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
@@ -18570,6 +18663,16 @@
"node": "^12.20.0 || ^14.13.1 || >=16.0.0"
}
},
+ "node_modules/linkify-it": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-5.0.0.tgz",
+ "integrity": "sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "uc.micro": "^2.0.0"
+ }
+ },
"node_modules/lint-staged": {
"version": "13.3.0",
"resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-13.3.0.tgz",
@@ -19347,6 +19450,37 @@
"md2html": "bin/md2html.js"
}
},
+ "node_modules/markdown-it": {
+ "version": "14.1.0",
+ "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-14.1.0.tgz",
+ "integrity": "sha512-a54IwgWPaeBCAAsv13YgmALOF1elABB08FxO9i+r4VFk5Vl4pKokRPeX8u5TCgSsPi6ec1otfLjdOpVcgbpshg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "argparse": "^2.0.1",
+ "entities": "^4.4.0",
+ "linkify-it": "^5.0.0",
+ "mdurl": "^2.0.0",
+ "punycode.js": "^2.3.1",
+ "uc.micro": "^2.1.0"
+ },
+ "bin": {
+ "markdown-it": "bin/markdown-it.mjs"
+ }
+ },
+ "node_modules/markdown-it/node_modules/entities": {
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz",
+ "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "engines": {
+ "node": ">=0.12"
+ },
+ "funding": {
+ "url": "https://github.com/fb55/entities?sponsor=1"
+ }
+ },
"node_modules/markdown/node_modules/nopt": {
"version": "1.0.10",
"resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz",
@@ -19379,6 +19513,13 @@
"integrity": "sha512-q9JtQJKjpsVxCRVgQ+WapguSbKC3SQ5HEzFGPAJMStgh3QjCawp00UKv3MTTAArTmGmmPUvllHZoNbZ3gs0I+Q==",
"dev": true
},
+ "node_modules/mdurl": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-2.0.0.tgz",
+ "integrity": "sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==",
+ "dev": true,
+ "license": "MIT"
+ },
"node_modules/media-typer": {
"version": "0.3.0",
"resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
@@ -23369,6 +23510,16 @@
"node": ">=6"
}
},
+ "node_modules/punycode.js": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/punycode.js/-/punycode.js-2.3.1.tgz",
+ "integrity": "sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
"node_modules/pupa": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/pupa/-/pupa-2.1.1.tgz",
@@ -24867,18 +25018,6 @@
"url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/shiki": {
- "version": "0.14.7",
- "resolved": "https://registry.npmjs.org/shiki/-/shiki-0.14.7.tgz",
- "integrity": "sha512-dNPAPrxSc87ua2sKJ3H5dQ/6ZaY8RNnaAqK+t0eG7p0Soi2ydiqbGOTaZCqaYvA/uZYfS1LJnemt3Q+mSfcPCg==",
- "dev": true,
- "dependencies": {
- "ansi-sequence-parser": "^1.1.0",
- "jsonc-parser": "^3.2.0",
- "vscode-oniguruma": "^1.7.0",
- "vscode-textmate": "^8.0.0"
- }
- },
"node_modules/side-channel": {
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz",
@@ -27868,20 +28007,78 @@
"is-typedarray": "^1.0.0"
}
},
- "node_modules/typedoc-default-themes": {
- "version": "0.12.10",
- "resolved": "https://registry.npmjs.org/typedoc-default-themes/-/typedoc-default-themes-0.12.10.tgz",
- "integrity": "sha512-fIS001cAYHkyQPidWXmHuhs8usjP5XVJjWB8oZGqkTowZaz3v7g3KDZeeqE82FBrmkAnIBOY3jgy7lnPnqATbA==",
+ "node_modules/typedoc": {
+ "version": "0.28.15",
+ "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.28.15.tgz",
+ "integrity": "sha512-mw2/2vTL7MlT+BVo43lOsufkkd2CJO4zeOSuWQQsiXoV2VuEn7f6IZp2jsUDPmBMABpgR0R5jlcJ2OGEFYmkyg==",
"dev": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@gerrit0/mini-shiki": "^3.17.0",
+ "lunr": "^2.3.9",
+ "markdown-it": "^14.1.0",
+ "minimatch": "^9.0.5",
+ "yaml": "^2.8.1"
+ },
+ "bin": {
+ "typedoc": "bin/typedoc"
+ },
"engines": {
- "node": ">= 8"
+ "node": ">= 18",
+ "pnpm": ">= 10"
+ },
+ "peerDependencies": {
+ "typescript": "5.0.x || 5.1.x || 5.2.x || 5.3.x || 5.4.x || 5.5.x || 5.6.x || 5.7.x || 5.8.x || 5.9.x"
+ }
+ },
+ "node_modules/typedoc/node_modules/brace-expansion": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz",
+ "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "balanced-match": "^1.0.0"
+ }
+ },
+ "node_modules/typedoc/node_modules/minimatch": {
+ "version": "9.0.5",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
+ "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "brace-expansion": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=16 || 14 >=14.17"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/typedoc/node_modules/yaml": {
+ "version": "2.8.2",
+ "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.2.tgz",
+ "integrity": "sha512-mplynKqc1C2hTVYxd0PU2xQAc22TI1vShAYGksCCfxbn/dFwnHTNi1bvYsBTkhdUNtGIf5xNOg938rrSSYvS9A==",
+ "dev": true,
+ "license": "ISC",
+ "bin": {
+ "yaml": "bin.mjs"
+ },
+ "engines": {
+ "node": ">= 14.6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/eemeli"
}
},
"node_modules/typescript": {
- "version": "5.4.5",
- "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.5.tgz",
- "integrity": "sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==",
+ "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"
@@ -27922,6 +28119,13 @@
"node": "*"
}
},
+ "node_modules/uc.micro": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-2.1.0.tgz",
+ "integrity": "sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==",
+ "dev": true,
+ "license": "MIT"
+ },
"node_modules/uglify-js": {
"version": "3.17.4",
"resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.17.4.tgz",
@@ -28403,18 +28607,6 @@
"node": ">=6.0"
}
},
- "node_modules/vscode-oniguruma": {
- "version": "1.7.0",
- "resolved": "https://registry.npmjs.org/vscode-oniguruma/-/vscode-oniguruma-1.7.0.tgz",
- "integrity": "sha512-L9WMGRfrjOhgHSdOYgCt/yRMsXzLDJSL7BPrOZt73gU0iWO4mpqzqQzOz5srxqTvMBaR0XZTSrVWo4j55Rc6cA==",
- "dev": true
- },
- "node_modules/vscode-textmate": {
- "version": "8.0.0",
- "resolved": "https://registry.npmjs.org/vscode-textmate/-/vscode-textmate-8.0.0.tgz",
- "integrity": "sha512-AFbieoL7a5LMqcnOF04ji+rpXadgOXnZsxQr//r83kLPr7biP7am3g9zbaZIaBGwBRWeSvoMD4mgPdX3e4NWBg==",
- "dev": true
- },
"node_modules/walk-up-path": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/walk-up-path/-/walk-up-path-1.0.0.tgz",
@@ -29977,10 +30169,10 @@
"prettier": "^2.3.2",
"sinon": "^17.0.1",
"source-map": "^0.7.4",
- "tslib": "^2.3.1",
- "typedoc": "^0.21.10",
+ "tslib": "^2.8.1",
+ "typedoc": "^0.28.15",
"typedoc-plugin-markdown": "3.10.4",
- "typescript": "4.3.5"
+ "typescript": "^5.9.3"
}
},
"packages/addons/node_modules/@babel/code-frame": {
@@ -31020,17 +31212,6 @@
"node": ">=10"
}
},
- "packages/addons/node_modules/shiki": {
- "version": "0.9.15",
- "resolved": "https://registry.npmjs.org/shiki/-/shiki-0.9.15.tgz",
- "integrity": "sha512-/Y0z9IzhJ8nD9nbceORCqu6NgT9X6I8Fk8c3SICHI5NbZRLdZYFaB233gwct9sU0vvSypyaL/qaKvzyQGJBZSw==",
- "dev": true,
- "dependencies": {
- "jsonc-parser": "^3.0.0",
- "vscode-oniguruma": "^1.6.1",
- "vscode-textmate": "5.2.0"
- }
- },
"packages/addons/node_modules/slice-ansi": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz",
@@ -31087,30 +31268,6 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "packages/addons/node_modules/typedoc": {
- "version": "0.21.10",
- "dev": true,
- "license": "Apache-2.0",
- "dependencies": {
- "glob": "^7.1.7",
- "handlebars": "^4.7.7",
- "lunr": "^2.3.9",
- "marked": "^4.0.10",
- "minimatch": "^3.0.0",
- "progress": "^2.0.3",
- "shiki": "^0.9.8",
- "typedoc-default-themes": "^0.12.10"
- },
- "bin": {
- "typedoc": "bin/typedoc"
- },
- "engines": {
- "node": ">= 12.10.0"
- },
- "peerDependencies": {
- "typescript": "4.0.x || 4.1.x || 4.2.x || 4.3.x || 4.4.x"
- }
- },
"packages/addons/node_modules/typedoc-plugin-markdown": {
"version": "3.10.4",
"dev": true,
@@ -31122,24 +31279,6 @@
"typedoc": ">=0.21.2"
}
},
- "packages/addons/node_modules/typescript": {
- "version": "4.3.5",
- "dev": true,
- "license": "Apache-2.0",
- "bin": {
- "tsc": "bin/tsc",
- "tsserver": "bin/tsserver"
- },
- "engines": {
- "node": ">=4.2.0"
- }
- },
- "packages/addons/node_modules/vscode-textmate": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/vscode-textmate/-/vscode-textmate-5.2.0.tgz",
- "integrity": "sha512-Uw5ooOQxRASHgu6C7GVvUxisKXfSgW4oFlO+aa+PAkgmH89O3CXxEEzNRNtHSqtXFTl0nAC1uYj0GMSH27uwtQ==",
- "dev": true
- },
"packages/addons/node_modules/wrap-ansi": {
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
@@ -31217,18 +31356,9 @@
"lint-staged": "^13.0.3",
"prettier": "^2.7.1",
"tsdoc": "^0.0.4",
- "tslib": "^2.4.0",
- "typedoc": "^0.23.8",
- "typescript": "^4.7.4"
- }
- },
- "packages/core/node_modules/brace-expansion": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
- "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
- "dev": true,
- "dependencies": {
- "balanced-match": "^1.0.0"
+ "tslib": "^2.8.1",
+ "typedoc": "^0.28.15",
+ "typescript": "^5.9.3"
}
},
"packages/core/node_modules/cosmiconfig": {
@@ -31277,21 +31407,6 @@
"url": "https://opencollective.com/husky"
}
},
- "packages/core/node_modules/minimatch": {
- "version": "7.4.6",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-7.4.6.tgz",
- "integrity": "sha512-sBz8G/YjVniEz6lKPNpKxXwazJe4c19fEfV2GDMX6AjFz+MX9uDWIZW8XreVhkFW3fkIdTv/gxWr/Kks5FFAVw==",
- "dev": true,
- "dependencies": {
- "brace-expansion": "^2.0.1"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
"packages/core/node_modules/pkg-dir": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-5.0.0.tgz",
@@ -31304,40 +31419,6 @@
"node": ">=10"
}
},
- "packages/core/node_modules/typedoc": {
- "version": "0.23.28",
- "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.23.28.tgz",
- "integrity": "sha512-9x1+hZWTHEQcGoP7qFmlo4unUoVJLB0H/8vfO/7wqTnZxg4kPuji9y3uRzEu0ZKez63OJAUmiGhUrtukC6Uj3w==",
- "dev": true,
- "dependencies": {
- "lunr": "^2.3.9",
- "marked": "^4.2.12",
- "minimatch": "^7.1.3",
- "shiki": "^0.14.1"
- },
- "bin": {
- "typedoc": "bin/typedoc"
- },
- "engines": {
- "node": ">= 14.14"
- },
- "peerDependencies": {
- "typescript": "4.6.x || 4.7.x || 4.8.x || 4.9.x || 5.0.x"
- }
- },
- "packages/core/node_modules/typescript": {
- "version": "4.9.5",
- "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz",
- "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==",
- "dev": true,
- "bin": {
- "tsc": "bin/tsc",
- "tsserver": "bin/tsserver"
- },
- "engines": {
- "node": ">=4.2.0"
- }
- },
"packages/core/node_modules/yaml": {
"version": "1.10.2",
"resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz",
@@ -31385,10 +31466,10 @@
"snowpack": "3.8.6",
"source-map": "^0.7.4",
"standard-version": "^9.3.1",
- "tslib": "^2.3.1",
- "typedoc": "^0.21.10",
+ "tslib": "^2.8.1",
+ "typedoc": "^0.28.15",
"typedoc-plugin-markdown": "3.10.4",
- "typescript": "4.3.5",
+ "typescript": "^5.9.3",
"web-component-analyzer": "^1.1.6",
"workbox-cli": "^6.2.4"
}
@@ -32430,17 +32511,6 @@
"node": ">=10"
}
},
- "packages/distribution/node_modules/shiki": {
- "version": "0.9.15",
- "resolved": "https://registry.npmjs.org/shiki/-/shiki-0.9.15.tgz",
- "integrity": "sha512-/Y0z9IzhJ8nD9nbceORCqu6NgT9X6I8Fk8c3SICHI5NbZRLdZYFaB233gwct9sU0vvSypyaL/qaKvzyQGJBZSw==",
- "dev": true,
- "dependencies": {
- "jsonc-parser": "^3.0.0",
- "vscode-oniguruma": "^1.6.1",
- "vscode-textmate": "5.2.0"
- }
- },
"packages/distribution/node_modules/slice-ansi": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz",
@@ -32497,31 +32567,6 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "packages/distribution/node_modules/typedoc": {
- "version": "0.21.10",
- "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.21.10.tgz",
- "integrity": "sha512-Y0wYIehkjkPfsp3pv86fp3WPHUcOf8pnQUDLwG1PqSccUSqdsv7Pz1Gd5WrTJvXQB2wO1mKlZ8qW8qMiopKyjA==",
- "dev": true,
- "dependencies": {
- "glob": "^7.1.7",
- "handlebars": "^4.7.7",
- "lunr": "^2.3.9",
- "marked": "^4.0.10",
- "minimatch": "^3.0.0",
- "progress": "^2.0.3",
- "shiki": "^0.9.8",
- "typedoc-default-themes": "^0.12.10"
- },
- "bin": {
- "typedoc": "bin/typedoc"
- },
- "engines": {
- "node": ">= 12.10.0"
- },
- "peerDependencies": {
- "typescript": "4.0.x || 4.1.x || 4.2.x || 4.3.x || 4.4.x"
- }
- },
"packages/distribution/node_modules/typedoc-plugin-markdown": {
"version": "3.10.4",
"resolved": "https://registry.npmjs.org/typedoc-plugin-markdown/-/typedoc-plugin-markdown-3.10.4.tgz",
@@ -32534,25 +32579,6 @@
"typedoc": ">=0.21.2"
}
},
- "packages/distribution/node_modules/typescript": {
- "version": "4.3.5",
- "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.3.5.tgz",
- "integrity": "sha512-DqQgihaQ9cUrskJo9kIyW/+g0Vxsk8cDtZ52a3NGh0YNTfpUSArXSohyUGnvbPazEPLu398C0UxmKSOrPumUzA==",
- "dev": true,
- "bin": {
- "tsc": "bin/tsc",
- "tsserver": "bin/tsserver"
- },
- "engines": {
- "node": ">=4.2.0"
- }
- },
- "packages/distribution/node_modules/vscode-textmate": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/vscode-textmate/-/vscode-textmate-5.2.0.tgz",
- "integrity": "sha512-Uw5ooOQxRASHgu6C7GVvUxisKXfSgW4oFlO+aa+PAkgmH89O3CXxEEzNRNtHSqtXFTl0nAC1uYj0GMSH27uwtQ==",
- "dev": true
- },
"packages/distribution/node_modules/wrap-ansi": {
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
@@ -32604,7 +32630,9 @@
"@web/test-runner": "^0.13.22",
"sinon": "^17.0.1",
"sinon-chai": "^3.7.0",
- "typescript": "^4.7.4"
+ "tslib": "^2.8.1",
+ "typedoc": "^0.28.15",
+ "typescript": "^5.9.3"
}
},
"packages/forms/node_modules/@open-wc/scoped-elements": {
@@ -32658,20 +32686,6 @@
"dev": true,
"license": "MIT"
},
- "packages/forms/node_modules/typescript": {
- "version": "4.9.5",
- "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz",
- "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==",
- "dev": true,
- "license": "Apache-2.0",
- "bin": {
- "tsc": "bin/tsc",
- "tsserver": "bin/tsserver"
- },
- "engines": {
- "node": ">=4.2.0"
- }
- },
"packages/openscd": {
"name": "@compas-oscd/open-scd",
"version": "0.34.0",
@@ -32697,6 +32711,7 @@
"@material/mwc-top-app-bar-fixed": "0.22.1",
"@openscd/core": "npm:@compas-oscd/core@*",
"@openscd/oscd-api": "^0.1.5",
+ "@openscd/scl-lib": "^2.0.0",
"@openscd/xml": "npm:@compas-oscd/xml@*",
"ace-custom-element": "^1.6.5",
"lit": "^2.2.7",
@@ -32733,10 +32748,10 @@
"snowpack": "3.8.6",
"source-map": "^0.7.4",
"standard-version": "^9.3.1",
- "tslib": "^2.3.1",
- "typedoc": "^0.23.8",
+ "tslib": "^2.8.1",
+ "typedoc": "^0.28.15",
"typedoc-plugin-markdown": "3.12.0",
- "typescript": "^4.7.4",
+ "typescript": "^5.7.2",
"web-component-analyzer": "^1.1.6",
"workbox-cli": "^6.2.4"
}
@@ -33423,15 +33438,6 @@
"node": ">=6.0"
}
},
- "packages/openscd/node_modules/brace-expansion": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
- "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
- "dev": true,
- "dependencies": {
- "balanced-match": "^1.0.0"
- }
- },
"packages/openscd/node_modules/chokidar": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.1.tgz",
@@ -34018,27 +34024,6 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "packages/openscd/node_modules/typedoc": {
- "version": "0.23.28",
- "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.23.28.tgz",
- "integrity": "sha512-9x1+hZWTHEQcGoP7qFmlo4unUoVJLB0H/8vfO/7wqTnZxg4kPuji9y3uRzEu0ZKez63OJAUmiGhUrtukC6Uj3w==",
- "dev": true,
- "dependencies": {
- "lunr": "^2.3.9",
- "marked": "^4.2.12",
- "minimatch": "^7.1.3",
- "shiki": "^0.14.1"
- },
- "bin": {
- "typedoc": "bin/typedoc"
- },
- "engines": {
- "node": ">= 14.14"
- },
- "peerDependencies": {
- "typescript": "4.6.x || 4.7.x || 4.8.x || 4.9.x || 5.0.x"
- }
- },
"packages/openscd/node_modules/typedoc-plugin-markdown": {
"version": "3.12.0",
"resolved": "https://registry.npmjs.org/typedoc-plugin-markdown/-/typedoc-plugin-markdown-3.12.0.tgz",
@@ -34051,21 +34036,6 @@
"typedoc": ">=0.22.0"
}
},
- "packages/openscd/node_modules/typedoc/node_modules/minimatch": {
- "version": "7.4.6",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-7.4.6.tgz",
- "integrity": "sha512-sBz8G/YjVniEz6lKPNpKxXwazJe4c19fEfV2GDMX6AjFz+MX9uDWIZW8XreVhkFW3fkIdTv/gxWr/Kks5FFAVw==",
- "dev": true,
- "dependencies": {
- "brace-expansion": "^2.0.1"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
"packages/openscd/node_modules/typescript": {
"version": "4.9.5",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz",
@@ -34155,6 +34125,7 @@
"@openenergytools/scl-lib": "^1.8.0",
"@openscd/core": "npm:@compas-oscd/core@*",
"@openscd/open-scd": "npm:@compas-oscd/open-scd@*",
+ "@openscd/scl-lib": "^2.0.0",
"@openscd/wizards": "npm:@compas-oscd/wizards@*",
"@openscd/xml": "npm:@compas-oscd/xml@*",
"lit": "^2.2.7",
@@ -34191,10 +34162,10 @@
"snowpack": "3.8.6",
"source-map": "^0.7.4",
"standard-version": "^9.3.1",
- "tslib": "^2.3.1",
- "typedoc": "^0.23.8",
+ "tslib": "^2.8.1",
+ "typedoc": "^0.28.15",
"typedoc-plugin-markdown": "3.12.0",
- "typescript": "^4.7.4",
+ "typescript": "^5.7.2",
"web-component-analyzer": "^1.1.6",
"workbox-cli": "^6.2.4"
}
@@ -34881,15 +34852,6 @@
"node": ">=6.0"
}
},
- "packages/plugins/node_modules/brace-expansion": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
- "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
- "dev": true,
- "dependencies": {
- "balanced-match": "^1.0.0"
- }
- },
"packages/plugins/node_modules/chokidar": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.1.tgz",
@@ -35476,27 +35438,6 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "packages/plugins/node_modules/typedoc": {
- "version": "0.23.28",
- "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.23.28.tgz",
- "integrity": "sha512-9x1+hZWTHEQcGoP7qFmlo4unUoVJLB0H/8vfO/7wqTnZxg4kPuji9y3uRzEu0ZKez63OJAUmiGhUrtukC6Uj3w==",
- "dev": true,
- "dependencies": {
- "lunr": "^2.3.9",
- "marked": "^4.2.12",
- "minimatch": "^7.1.3",
- "shiki": "^0.14.1"
- },
- "bin": {
- "typedoc": "bin/typedoc"
- },
- "engines": {
- "node": ">= 14.14"
- },
- "peerDependencies": {
- "typescript": "4.6.x || 4.7.x || 4.8.x || 4.9.x || 5.0.x"
- }
- },
"packages/plugins/node_modules/typedoc-plugin-markdown": {
"version": "3.12.0",
"resolved": "https://registry.npmjs.org/typedoc-plugin-markdown/-/typedoc-plugin-markdown-3.12.0.tgz",
@@ -35509,21 +35450,6 @@
"typedoc": ">=0.22.0"
}
},
- "packages/plugins/node_modules/typedoc/node_modules/minimatch": {
- "version": "7.4.6",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-7.4.6.tgz",
- "integrity": "sha512-sBz8G/YjVniEz6lKPNpKxXwazJe4c19fEfV2GDMX6AjFz+MX9uDWIZW8XreVhkFW3fkIdTv/gxWr/Kks5FFAVw==",
- "dev": true,
- "dependencies": {
- "brace-expansion": "^2.0.1"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
"packages/plugins/node_modules/typescript": {
"version": "4.9.5",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz",
@@ -35600,6 +35526,11 @@
"dependencies": {
"@material/mwc-dialog": "0.22.1",
"@openscd/core": "npm:@compas-oscd/core@*"
+ },
+ "devDependencies": {
+ "tslib": "^2.8.1",
+ "typedoc": "^0.28.15",
+ "typescript": "^5.9.3"
}
},
"packages/xml": {
@@ -35628,9 +35559,9 @@
"sinon": "^17.0.1",
"sinon-chai": "^3.7.0",
"tsdoc": "^0.0.4",
- "tslib": "^2.3.1",
- "typedoc": "^0.23.8",
- "typescript": "^4.7.4"
+ "tslib": "^2.8.1",
+ "typedoc": "^0.28.15",
+ "typescript": "^5.7.2"
}
},
"packages/xml/node_modules/@babel/code-frame": {
@@ -35882,16 +35813,6 @@
"node": "^10.12.0 || >=12.0.0"
}
},
- "packages/xml/node_modules/@eslint/eslintrc/node_modules/brace-expansion": {
- "version": "1.1.11",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
- "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
- "dev": true,
- "dependencies": {
- "balanced-match": "^1.0.0",
- "concat-map": "0.0.1"
- }
- },
"packages/xml/node_modules/@eslint/eslintrc/node_modules/ignore": {
"version": "4.0.6",
"resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz",
@@ -35927,16 +35848,6 @@
"node": ">=10.10.0"
}
},
- "packages/xml/node_modules/@humanwhocodes/config-array/node_modules/brace-expansion": {
- "version": "1.1.11",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
- "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
- "dev": true,
- "dependencies": {
- "balanced-match": "^1.0.0",
- "concat-map": "0.0.1"
- }
- },
"packages/xml/node_modules/@humanwhocodes/config-array/node_modules/minimatch": {
"version": "3.1.2",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
@@ -36196,14 +36107,6 @@
"node": ">=6.0"
}
},
- "packages/xml/node_modules/brace-expansion": {
- "version": "2.0.1",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "balanced-match": "^1.0.0"
- }
- },
"packages/xml/node_modules/conventional-changelog-angular": {
"version": "5.0.13",
"resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-5.0.13.tgz",
@@ -36360,16 +36263,6 @@
"node": ">=4"
}
},
- "packages/xml/node_modules/eslint/node_modules/brace-expansion": {
- "version": "1.1.11",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
- "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
- "dev": true,
- "dependencies": {
- "balanced-match": "^1.0.0",
- "concat-map": "0.0.1"
- }
- },
"packages/xml/node_modules/eslint/node_modules/ignore": {
"version": "4.0.6",
"resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz",
@@ -36468,20 +36361,6 @@
"node": ">=10"
}
},
- "packages/xml/node_modules/minimatch": {
- "version": "7.4.6",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "brace-expansion": "^2.0.1"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
"packages/xml/node_modules/parse5": {
"version": "5.1.1",
"resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.1.tgz",
@@ -36521,26 +36400,6 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "packages/xml/node_modules/typedoc": {
- "version": "0.23.28",
- "dev": true,
- "license": "Apache-2.0",
- "dependencies": {
- "lunr": "^2.3.9",
- "marked": "^4.2.12",
- "minimatch": "^7.1.3",
- "shiki": "^0.14.1"
- },
- "bin": {
- "typedoc": "bin/typedoc"
- },
- "engines": {
- "node": ">= 14.14"
- },
- "peerDependencies": {
- "typescript": "4.6.x || 4.7.x || 4.8.x || 4.9.x || 5.0.x"
- }
- },
"packages/xml/node_modules/typescript": {
"version": "4.9.5",
"dev": true,
diff --git a/package.json b/package.json
index c9a277af53..c8a9416586 100644
--- a/package.json
+++ b/package.json
@@ -8,6 +8,7 @@
],
"scripts": {
"clean": "lerna run clean",
+ "preinstall": "git submodule update --init --recursive --remote",
"build": "NODE_OPTIONS=--no-experimental-require-module npx nx run-many -t build --all",
"doc": "lerna run doc",
"test": "npx nx run-many -t test --all --parallel=false",
diff --git a/packages/addons/package.json b/packages/addons/package.json
index a9f4f164dc..8a766727f0 100644
--- a/packages/addons/package.json
+++ b/packages/addons/package.json
@@ -19,8 +19,8 @@
"./dist/**"
],
"dependencies": {
- "lit": "^2.2.7",
- "@openscd/core": "npm:@compas-oscd/core@*"
+ "@openscd/core": "npm:@compas-oscd/core@*",
+ "lit": "^2.2.7"
},
"//": {
"clean": "rimraf build",
@@ -36,7 +36,7 @@
"test:unit": "web-test-runner --watch --group unit",
"test:integration": "web-test-runner --watch --group integration",
"doc:clean": "npx rimraf doc",
- "doc:typedoc": "typedoc --plugin none --out doc src",
+ "doc:typedoc": "typedoc --out doc src",
"doc:wca": "wca src --outDir doc/components",
"doc": "npm run doc:clean && npm run doc:typedoc && npm run doc:wca"
},
@@ -64,10 +64,10 @@
"prettier": "^2.3.2",
"sinon": "^17.0.1",
"source-map": "^0.7.4",
- "tslib": "^2.3.1",
- "typedoc": "^0.21.10",
+ "tslib": "^2.8.1",
+ "typedoc": "^0.28.15",
"typedoc-plugin-markdown": "3.10.4",
- "typescript": "4.3.5"
+ "typescript": "^5.9.3"
},
"eslintConfig": {
"extends": [
@@ -133,4 +133,4 @@
],
"commitUrlFormat": "https://github.com/openscd/open-scd/commits/{{hash}}"
}
-}
\ No newline at end of file
+}
diff --git a/packages/core/package.json b/packages/core/package.json
index 546f87e603..1fdabe5891 100644
--- a/packages/core/package.json
+++ b/packages/core/package.json
@@ -44,8 +44,8 @@
"dependencies": {
"@lit/localize": "^0.11.4",
"@open-wc/lit-helpers": "^0.5.1",
- "lit": "^2.2.7",
- "@openscd/oscd-api": "^0.1.5"
+ "@openscd/oscd-api": "^0.1.5",
+ "lit": "^2.2.7"
},
"devDependencies": {
"@custom-elements-manifest/analyzer": "^0.6.3",
@@ -58,8 +58,8 @@
"@typescript-eslint/eslint-plugin": "^5.30.7",
"@typescript-eslint/parser": "^5.30.7",
"@web/dev-server": "^0.1.32",
- "@web/test-runner": "next",
"@web/dev-server-esbuild": "^0.2.16",
+ "@web/test-runner": "next",
"@web/test-runner-playwright": "^0.8.10",
"@web/test-runner-visual-regression": "^0.6.6",
"concurrently": "^7.3.0",
@@ -73,9 +73,9 @@
"lint-staged": "^13.0.3",
"prettier": "^2.7.1",
"tsdoc": "^0.0.4",
- "tslib": "^2.4.0",
- "typedoc": "^0.23.8",
- "typescript": "^4.7.4"
+ "tslib": "^2.8.1",
+ "typedoc": "^0.28.15",
+ "typescript": "^5.9.3"
},
"customElements": "custom-elements.json",
"eslintConfig": {
diff --git a/packages/core/test/xml-editor.test.ts b/packages/core/test/xml-editor.test.ts
index 9ee352d2de..07683d5560 100644
--- a/packages/core/test/xml-editor.test.ts
+++ b/packages/core/test/xml-editor.test.ts
@@ -1,5 +1,5 @@
+import { EditV2 } from '@openscd/oscd-api';
import { expect } from '@open-wc/testing';
-import { EditV2 } from '@openscd/oscd-api/dist/editv2.js';
import { OscdCommit, XMLEditor } from '../api/editor/xml-editor.js';
import { RemoveV2 } from '../foundation.js';
@@ -38,31 +38,31 @@ describe('XMLEditor', () => {
editor.subscribe(c => subscriberValues.push(c as any));
const deleteBay: RemoveV2 = {
- node: bay1
+ node: bay1,
};
editor.commit(deleteBay);
- const [ commit ] = subscriberValues;
- expect(commit.redo).to.deep.equal([ deleteBay ]);
+ const [commit] = subscriberValues;
+ expect(commit.redo).to.deep.equal([deleteBay]);
});
it('should set title in commit', () => {
const title = 'Important change';
const deleteBay: RemoveV2 = {
- node: bay1
+ node: bay1,
};
editor.commit(deleteBay, { title });
- const [ commit ] = editor.past;
+ const [commit] = editor.past;
expect(commit.title).to.equal(title);
});
it('should undo and redo changes', () => {
const deleteBay: RemoveV2 = {
- node: bay1
+ node: bay1,
};
editor.commit(deleteBay);
@@ -89,19 +89,19 @@ describe('XMLEditor', () => {
editor.subscribeRedo(c => redos.push(c));
const deleteBay: RemoveV2 = {
- node: bay1
+ node: bay1,
};
editor.commit(deleteBay);
editor.undo();
- const [ lastUndo ] = undos;
- expect(lastUndo.redo).to.deep.equal([ deleteBay ]);
+ const [lastUndo] = undos;
+ expect(lastUndo.redo).to.deep.equal([deleteBay]);
editor.redo();
- const [ lastRedo ] = redos;
- expect(lastRedo.redo).to.deep.equal([ deleteBay ]);
+ const [lastRedo] = redos;
+ expect(lastRedo.redo).to.deep.equal([deleteBay]);
});
});
diff --git a/packages/core/tsconfig.json b/packages/core/tsconfig.json
index 65e3040775..a36a513956 100644
--- a/packages/core/tsconfig.json
+++ b/packages/core/tsconfig.json
@@ -20,5 +20,5 @@
"incremental": true
},
"include": ["**/*.ts"],
- "exclude": ["**/*.test.ts"]
+ "exclude": ["**/*.test.ts", "**/*.d.ts"]
}
diff --git a/packages/distribution/package.json b/packages/distribution/package.json
index cf160d75d7..836757906d 100644
--- a/packages/distribution/package.json
+++ b/packages/distribution/package.json
@@ -34,7 +34,7 @@
"format": "npm run format:eslint && npm run format:prettier",
"test:integration": "web-test-runner --watch --group integration",
"doc:clean": "npx rimraf doc",
- "doc:typedoc": "typedoc --plugin none --out doc src",
+ "doc:typedoc": "typedoc --out doc src",
"doc:wca": "wca src --outDir doc/components",
"doc": "npm run doc:clean && npm run doc:typedoc && npm run doc:wca",
"build": "snowpack build && workbox generateSW workbox-config.cjs && cp .nojekyll build/",
@@ -70,10 +70,10 @@
"snowpack": "3.8.6",
"source-map": "^0.7.4",
"standard-version": "^9.3.1",
- "tslib": "^2.3.1",
- "typedoc": "^0.21.10",
+ "tslib": "^2.8.1",
+ "typedoc": "^0.28.15",
"typedoc-plugin-markdown": "3.10.4",
- "typescript": "4.3.5",
+ "typescript": "^5.9.3",
"web-component-analyzer": "^1.1.6",
"workbox-cli": "^6.2.4"
},
diff --git a/packages/distribution/public/xml/IEC_61850-7-2_2007B5.nsd b/packages/distribution/public/xml/IEC_61850-7-2_2007B5.nsd
deleted file mode 100644
index ba98cb1ef4..0000000000
--- a/packages/distribution/public/xml/IEC_61850-7-2_2007B5.nsd
+++ /dev/null
@@ -1,539 +0,0 @@
-
-
-
-
- COPYRIGHT (c) IEC, www.iec.ch/tc57/supportdocuments. This version of this NSD is part of IEC_61850-7-2:2010 Edition 2.1; see the IEC_61850-7-2:2010 Edition 2.1 for full legal notices. In case of any differences between the here-below code and the IEC published content, the here-below definition supersedes the IEC publication; it may contain updates. See history files. The whole document has to be taken into account to have a full description of this code component.
- See www.iec.ch/CCv1 for copyright details.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/packages/distribution/public/xml/IEC_61850-7-3_2007B5.nsd b/packages/distribution/public/xml/IEC_61850-7-3_2007B5.nsd
deleted file mode 100644
index 7ec83fc09f..0000000000
--- a/packages/distribution/public/xml/IEC_61850-7-3_2007B5.nsd
+++ /dev/null
@@ -1,6243 +0,0 @@
-
-
-
-
- COPYRIGHT (c) IEC, www.iec.ch/tc57/supportdocuments. This version of this NSD is part of IEC_61850-7-3:2010 Edition 2.1; see the IEC_61850-7-3:2010 Edition 2.1 for full legal notices. In case of any differences between the here-below code and the IEC published content, the here-below definition supersedes the IEC publication; it may contain updates. See history files. The whole document has to be taken into account to have a full description of this code component.
- See www.iec.ch/CCv1 for copyright details.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/packages/distribution/public/xml/IEC_61850-7-420_2019A4.nsd b/packages/distribution/public/xml/IEC_61850-7-420_2019A4.nsd
deleted file mode 100644
index b34c2af1f1..0000000000
--- a/packages/distribution/public/xml/IEC_61850-7-420_2019A4.nsd
+++ /dev/null
@@ -1,5520 +0,0 @@
-
-
-
-
- COPYRIGHT (c) IEC, www.iec.ch/tc57/supportdocuments. This version of this NSD is part of IEC_61850-7-420:2020 Edition 2.0; see the IEC_61850-7-420:2020 Edition 2.0 for full legal notices. In case of any differences between the here-below code and the IEC published content, the here-below definition supersedes the IEC publication; it may contain updates. See history files. The whole document has to be taken into account to have a full description of this code component.
- See www.iec.ch/CCv1 for copyright details.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/packages/distribution/public/xml/IEC_61850-7-4_2007B5.nsd b/packages/distribution/public/xml/IEC_61850-7-4_2007B5.nsd
deleted file mode 100644
index 84ced199dc..0000000000
--- a/packages/distribution/public/xml/IEC_61850-7-4_2007B5.nsd
+++ /dev/null
@@ -1,9974 +0,0 @@
-
-
-
-
- COPYRIGHT (c) IEC, www.iec.ch/tc57/supportdocuments. This version of this NSD is part of IEC_61850-7-4:2020 Edition 2.1; see the IEC_61850-7-4:2020 Edition 2.1 for full legal notices. In case of any differences between the here-below code and the IEC published content, the here-below definition supersedes the IEC publication; it may contain updates. See history files. The whole document has to be taken into account to have a full description of this code component.
- See www.iec.ch/CCv1 for copyright details.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/packages/distribution/public/xml/IEC_61850-8-1_2003A2.nsd b/packages/distribution/public/xml/IEC_61850-8-1_2003A2.nsd
deleted file mode 100644
index d43eeb2ab3..0000000000
--- a/packages/distribution/public/xml/IEC_61850-8-1_2003A2.nsd
+++ /dev/null
@@ -1,153 +0,0 @@
-
-
-
-
-
-
-
- COPYRIGHT (c) IEC, 2018. This version of this NSD is part of IEC 61850-8-1:2018; see the IEC 61850-8-1:2018 for full legal notices. In case of any differences between the here-below code and the IEC published content, the here-below code is the valid one; it may contain updates. See history files. The whole document has to be taken into account to have a full description of this code component.
-See www.iec.ch/CCv1 for copyright details
-
- IEC License
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/packages/forms/package.json b/packages/forms/package.json
index 395cf770c8..6a2f6d2a07 100644
--- a/packages/forms/package.json
+++ b/packages/forms/package.json
@@ -21,11 +21,11 @@
"test": "web-test-runner --coverage"
},
"devDependencies": {
- "typescript": "^4.7.4",
"@open-wc/testing": "^2.5.33",
"@web/dev-server-esbuild": "^0.2.16",
"@web/test-runner": "^0.13.22",
"sinon": "^17.0.1",
- "sinon-chai": "^3.7.0"
+ "sinon-chai": "^3.7.0",
+ "typescript": "^5.9.3"
}
}
diff --git a/packages/openscd/package.json b/packages/openscd/package.json
index 6e05d062b9..b7b7495455 100644
--- a/packages/openscd/package.json
+++ b/packages/openscd/package.json
@@ -39,8 +39,9 @@
"@material/mwc-textarea": "0.22.1",
"@material/mwc-textfield": "0.22.1",
"@material/mwc-top-app-bar-fixed": "0.22.1",
- "@openscd/oscd-api": "^0.1.5",
"@openscd/core": "npm:@compas-oscd/core@*",
+ "@openscd/oscd-api": "^0.1.5",
+ "@openscd/scl-lib": "^2.0.0",
"@openscd/xml": "npm:@compas-oscd/xml@*",
"ace-custom-element": "^1.6.5",
"lit": "^2.2.7",
@@ -64,7 +65,7 @@
"test:unit:headless": "web-test-runner --watch --group unit --concurrency 1 --headless",
"test:integration": "web-test-runner --watch --group integration",
"doc:clean": "npx rimraf doc",
- "doc:typedoc": "typedoc --plugin none --out doc --entryPointStrategy expand ./src",
+ "doc:typedoc": "typedoc --out doc --entryPointStrategy expand ./src",
"doc:wca": "wca src --outDir doc/components",
"doc": "npm run doc:clean && npm run doc:typedoc && npm run doc:wca",
"release": "standard-version",
@@ -103,10 +104,10 @@
"snowpack": "3.8.6",
"source-map": "^0.7.4",
"standard-version": "^9.3.1",
- "tslib": "^2.3.1",
- "typedoc": "^0.23.8",
+ "tslib": "^2.8.1",
+ "typedoc": "^0.28.15",
"typedoc-plugin-markdown": "3.12.0",
- "typescript": "^4.7.4",
+ "typescript": "^5.7.2",
"web-component-analyzer": "^1.1.6",
"workbox-cli": "^6.2.4"
},
diff --git a/packages/openscd/src/addons/Settings.ts b/packages/openscd/src/addons/Settings.ts
index 4123af8ac9..4b9ee9eb53 100644
--- a/packages/openscd/src/addons/Settings.ts
+++ b/packages/openscd/src/addons/Settings.ts
@@ -7,7 +7,13 @@ import {
LitElement,
css,
} from 'lit-element';
-import { get, translate, registerTranslateConfig, Strings, use } from 'lit-translate';
+import {
+ get,
+ translate,
+ registerTranslateConfig,
+ Strings,
+ use,
+} from 'lit-translate';
import '@material/mwc-button';
import '@material/mwc-dialog';
@@ -23,26 +29,21 @@ import { Switch } from '@material/mwc-switch';
import { getTheme } from '../themes.js';
import { newLogEvent } from '@openscd/core/foundation/deprecated/history.js';
-import {
- Settings,
- SettingsUIEvent,
+import {
+ Settings,
+ SettingsUIEvent,
Language,
NsdVersions,
NsdVersion,
LoadNsdocEvent,
- newLoadNsdocEvent
+ newLoadNsdocEvent,
} from '@openscd/core/foundation/deprecated/settings.js';
import { Languages, languages, loader } from '../translations/loader.js';
import '../WizardDivider.js';
import { WizardDialog } from '../wizard-dialog.js';
-import {
- iec6185072,
- iec6185073,
- iec6185074,
- iec6185081,
-} from '../foundation/nsd.js';
+import { nsd72, nsd73, nsd74, nsd81 } from '../foundation/nsd.js';
import { initializeNsdoc, Nsdoc } from '../foundation/nsdoc.js';
interface LanguageConfig {
@@ -97,12 +98,6 @@ export class OscdSettings extends LitElement {
* @returns Current version, revision and release for all current OpenSCD NSD files.
*/
private async nsdVersions(): Promise {
- const [nsd72, nsd73, nsd74, nsd81] = await Promise.all([
- iec6185072,
- iec6185073,
- iec6185074,
- iec6185081,
- ]);
const [nsd72Ns, nsd73Ns, nsd74Ns, nsd81Ns] = [
nsd72.querySelector('NS'),
nsd73.querySelector('NS'),
@@ -344,7 +339,10 @@ export class OscdSettings extends LitElement {
connectedCallback(): void {
super.connectedCallback();
- registerTranslateConfig({ loader: this.languageConfig.loader, empty: key => key });
+ registerTranslateConfig({
+ loader: this.languageConfig.loader,
+ empty: key => key,
+ });
use(this.settings.language);
if (this.host) {
diff --git a/packages/openscd/src/foundation/nsd.ts b/packages/openscd/src/foundation/nsd.ts
index 7bb88bfef9..413e40504e 100644
--- a/packages/openscd/src/foundation/nsd.ts
+++ b/packages/openscd/src/foundation/nsd.ts
@@ -1,15 +1,22 @@
-export const iec6185074 = fetch('public/xml/IEC_61850-7-4_2007B5.nsd')
- .then(response => response.text())
- .then(str => new DOMParser().parseFromString(str, 'application/xml'));
+import {
+ nsd72 as nsd72Str,
+ nsd73 as nsd73Str,
+ nsd74 as nsd74Str,
+ nsd7420 as nsd7420Str,
+ nsd81 as nsd81Str,
+} from '@openscd/scl-lib/dist/foundation/codecomponents/nsds.js';
-export const iec6185073 = fetch('public/xml/IEC_61850-7-3_2007B5.nsd')
- .then(response => response.text())
- .then(str => new DOMParser().parseFromString(str, 'application/xml'));
+//TODO [stee-re]: Move this to @openscd/scl-lib
-export const iec6185072 = fetch('public/xml/IEC_61850-7-2_2007B5.nsd')
- .then(response => response.text())
- .then(str => new DOMParser().parseFromString(str, 'application/xml'));
+const [nsd72, nsd73, nsd74, nsd7420, nsd81] = [
+ nsd72Str,
+ nsd73Str,
+ nsd74Str,
+ nsd7420Str,
+ nsd81Str,
+].map(
+ nsdStr =>
+ new DOMParser().parseFromString(nsdStr, 'application/xml') as XMLDocument
+);
-export const iec6185081 = fetch('public/xml/IEC_61850-8-1_2003A2.nsd')
- .then(response => response.text())
- .then(str => new DOMParser().parseFromString(str, 'application/xml'));
+export { nsd72, nsd73, nsd74, nsd7420, nsd81 };
diff --git a/packages/openscd/src/foundation/nsdoc.ts b/packages/openscd/src/foundation/nsdoc.ts
index 810969c6ab..351554a52e 100644
--- a/packages/openscd/src/foundation/nsdoc.ts
+++ b/packages/openscd/src/foundation/nsdoc.ts
@@ -1,15 +1,16 @@
-import { iec6185072, iec6185073, iec6185074, iec6185081 } from "./nsd.js";
+import { nsd74, nsd73, nsd81, nsd72 } from './nsd.js';
export interface Nsdoc {
nsdoc72?: XMLDocument;
nsdoc73?: XMLDocument;
nsdoc74?: XMLDocument;
nsdoc81?: XMLDocument;
- getDataDescription: (element: Element, ancestors?: Element[]) => { label: string; }
+ getDataDescription: (
+ element: Element,
+ ancestors?: Element[]
+ ) => { label: string };
}
-const [nsd72, nsd73, nsd74, nsd81] = await Promise.all([iec6185072, iec6185073, iec6185074, iec6185081]);
-
let nsdoc72: Document | undefined = undefined;
let nsdoc73: Document | undefined = undefined;
let nsdoc74: Document | undefined = undefined;
@@ -21,46 +22,78 @@ let nsdoc81: Document | undefined = undefined;
*/
export function initializeNsdoc(): Nsdoc {
[nsdoc72, nsdoc73, nsdoc74, nsdoc81] = [
- localStorage.getItem('IEC 61850-7-2') ? new DOMParser().parseFromString(localStorage.getItem('IEC 61850-7-2')!, 'application/xml') : undefined,
- localStorage.getItem('IEC 61850-7-3') ? new DOMParser().parseFromString(localStorage.getItem('IEC 61850-7-3')!, 'application/xml') : undefined,
- localStorage.getItem('IEC 61850-7-4') ? new DOMParser().parseFromString(localStorage.getItem('IEC 61850-7-4')!, 'application/xml') : undefined,
- localStorage.getItem('IEC 61850-8-1') ? new DOMParser().parseFromString(localStorage.getItem('IEC 61850-8-1')!, 'application/xml') : undefined
- ]
+ localStorage.getItem('IEC 61850-7-2')
+ ? new DOMParser().parseFromString(
+ localStorage.getItem('IEC 61850-7-2')!,
+ 'application/xml'
+ )
+ : undefined,
+ localStorage.getItem('IEC 61850-7-3')
+ ? new DOMParser().parseFromString(
+ localStorage.getItem('IEC 61850-7-3')!,
+ 'application/xml'
+ )
+ : undefined,
+ localStorage.getItem('IEC 61850-7-4')
+ ? new DOMParser().parseFromString(
+ localStorage.getItem('IEC 61850-7-4')!,
+ 'application/xml'
+ )
+ : undefined,
+ localStorage.getItem('IEC 61850-8-1')
+ ? new DOMParser().parseFromString(
+ localStorage.getItem('IEC 61850-8-1')!,
+ 'application/xml'
+ )
+ : undefined,
+ ];
- const iedElementTagNames = ['LN', 'LN0', 'DO', 'SDO', 'DOI', 'DA', 'BDA', 'DAI'] as const;
- type IEDElementTagNames = typeof iedElementTagNames[number];
- type GetDataDescription = (element: Element, ancestors?: Element[]) => { label: string; };
+ const iedElementTagNames = [
+ 'LN',
+ 'LN0',
+ 'DO',
+ 'SDO',
+ 'DOI',
+ 'DA',
+ 'BDA',
+ 'DAI',
+ ] as const;
+ type IEDElementTagNames = (typeof iedElementTagNames)[number];
+ type GetDataDescription = (
+ element: Element,
+ ancestors?: Element[]
+ ) => { label: string };
const getDataDescriptions: Record<
- IEDElementTagNames,
+ IEDElementTagNames,
{
getDataDescription: GetDataDescription;
}
> = {
LN: {
- getDataDescription: getLNDataDescription
+ getDataDescription: getLNDataDescription,
},
LN0: {
- getDataDescription: getLNDataDescription
+ getDataDescription: getLNDataDescription,
},
DO: {
- getDataDescription: getDODataDescription
+ getDataDescription: getDODataDescription,
},
SDO: {
- getDataDescription: getSDODataDescription
+ getDataDescription: getSDODataDescription,
},
DOI: {
- getDataDescription: getDODataDescription
+ getDataDescription: getDODataDescription,
},
DA: {
- getDataDescription: getDADataDescription
+ getDataDescription: getDADataDescription,
},
BDA: {
- getDataDescription: getBDADataDescription
+ getDataDescription: getBDADataDescription,
},
DAI: {
- getDataDescription: getDADataDescription
- }
+ getDataDescription: getDADataDescription,
+ },
};
/**
@@ -68,13 +101,20 @@ export function initializeNsdoc(): Nsdoc {
* @param element - The element to use for searching the LN description.
* @returns Documentation from the .nsdoc file for this LN(0) file, or the lnClass attribute in case no description can be found.
*/
- function getLNDataDescription(element: Element): { label: string; } {
+ function getLNDataDescription(element: Element): { label: string } {
const lnClassAttribute = element.getAttribute('lnClass')!;
- const lnClass = nsd74.querySelector(`NS > LNClasses > LNClass[name="${lnClassAttribute}"]`);
- const lnClassDescription = getNsdocDocumentation(nsdoc74!, lnClass?.getAttribute('titleID'));
+ const lnClass = nsd74.querySelector(
+ `NS > LNClasses > LNClass[name="${lnClassAttribute}"]`
+ );
+ const lnClassDescription = getNsdocDocumentation(
+ nsdoc74!,
+ lnClass?.getAttribute('titleID')
+ );
return {
- label: lnClassDescription ? lnClassDescription + ' (' + lnClassAttribute + ')' : lnClassAttribute
+ label: lnClassDescription
+ ? lnClassDescription + ' (' + lnClassAttribute + ')'
+ : lnClassAttribute,
};
}
@@ -83,14 +123,22 @@ export function initializeNsdoc(): Nsdoc {
* @param element - The element to use for searching the DO description.
* @returns Documentation from the .nsdoc file for this DO(I) file, or the name attribute in case no description can be found.
*/
- function getDODataDescription(element: Element): { label: string; } {
+ function getDODataDescription(element: Element): { label: string } {
const doName = element.getAttribute('name')!;
- const lnClass = nsd74.querySelector(`NS > LNClasses > LNClass[name="${element.parentElement?.getAttribute('lnClass')}"]`);
+ const lnClass = nsd74.querySelector(
+ `NS > LNClasses > LNClass[name="${element.parentElement?.getAttribute(
+ 'lnClass'
+ )}"]`
+ );
const base = lnClass?.getAttribute('base');
- const dObject = lnClass?.querySelector(`DataObject[name="${doName}"]`) ?? getInheritedDataObject(base!, doName);
+ const dObject =
+ lnClass?.querySelector(`DataObject[name="${doName}"]`) ??
+ getInheritedDataObject(base!, doName);
return {
- label: getNsdocDocumentation(nsdoc74!, dObject?.getAttribute('descID')) ?? doName
+ label:
+ getNsdocDocumentation(nsdoc74!, dObject?.getAttribute('descID')) ??
+ doName,
};
}
@@ -99,12 +147,20 @@ export function initializeNsdoc(): Nsdoc {
* @param element - The element to use for searching the SDO description.
* @returns Documentation from the .nsdoc file for this SDO element, or the name attribute in case no description can be found.
*/
- function getSDODataDescription(element: Element): { label: string; } {
+ function getSDODataDescription(element: Element): { label: string } {
const sdoName = element.getAttribute('name')!;
- const subDataObject = nsd73.querySelector(`CDCs > CDC[name="${element.parentElement?.getAttribute('cdc')}"] > SubDataObject[name="${sdoName}"]`);
+ const subDataObject = nsd73.querySelector(
+ `CDCs > CDC[name="${element.parentElement?.getAttribute(
+ 'cdc'
+ )}"] > SubDataObject[name="${sdoName}"]`
+ );
return {
- label: getNsdocDocumentation(nsdoc73!, subDataObject?.getAttribute('descID')) ?? sdoName
+ label:
+ getNsdocDocumentation(
+ nsdoc73!,
+ subDataObject?.getAttribute('descID')
+ ) ?? sdoName,
};
}
@@ -113,21 +169,33 @@ export function initializeNsdoc(): Nsdoc {
* @param element - The element to use for searching the DA description.
* @returns Documentation from the .nsdoc file for this DA(I) element, or the name attribute in case no description can be found.
*/
- function getDADataDescription(element: Element): { label: string; } {
+ function getDADataDescription(element: Element): { label: string } {
const daElementName = element.getAttribute('name')!;
const cdcName = element.closest('DOType')!.getAttribute('cdc');
- const serviceDataAttr = nsd81.querySelector(`ServiceCDCs > ServiceCDC[cdc="${cdcName}"] > ServiceDataAttribute[name="${daElementName}"]`);
+ const serviceDataAttr = nsd81.querySelector(
+ `ServiceCDCs > ServiceCDC[cdc="${cdcName}"] > ServiceDataAttribute[name="${daElementName}"]`
+ );
if (serviceDataAttr) {
- const id = serviceDataAttr?.getAttribute('descID') ??
- nsd81.querySelector(`ServiceConstructedAttributes > ServiceConstructedAttribute[name="${daElementName}"]`)?.getAttribute('titleID') ?? '';
+ const id =
+ serviceDataAttr?.getAttribute('descID') ??
+ nsd81
+ .querySelector(
+ `ServiceConstructedAttributes > ServiceConstructedAttribute[name="${daElementName}"]`
+ )
+ ?.getAttribute('titleID') ??
+ '';
return {
- label: getNsdocDocumentation(nsdoc81!, id) ?? daElementName
+ label: getNsdocDocumentation(nsdoc81!, id) ?? daElementName,
};
} else {
- const dataAttr = nsd73.querySelector(`NS > CDCs > CDC[name="${cdcName}"] > DataAttribute[name="${daElementName}"]`);
+ const dataAttr = nsd73.querySelector(
+ `NS > CDCs > CDC[name="${cdcName}"] > DataAttribute[name="${daElementName}"]`
+ );
return {
- label: getNsdocDocumentation(nsdoc73!, dataAttr?.getAttribute('descID')) ?? daElementName
+ label:
+ getNsdocDocumentation(nsdoc73!, dataAttr?.getAttribute('descID')) ??
+ daElementName,
};
}
}
@@ -138,27 +206,60 @@ export function initializeNsdoc(): Nsdoc {
* @param ancestors - In this function, we need an ancestor to get a 'CDC' attribute.
* @returns Documentation from the .nsdoc file for this BDA element, or the name attribute in case no description can be found.
*/
- function getBDADataDescription(element: Element, ancestors?: Element[]): { label: string; } {
+ function getBDADataDescription(
+ element: Element,
+ ancestors?: Element[]
+ ): { label: string } {
const bdaElementName = element.getAttribute('name')!;
const daParent = ancestors?.filter(x => x.tagName === 'DA')[0];
- const serviceDataAttr = nsd81.querySelector(`ServiceConstructedAttributes > ServiceConstructedAttribute[name="${daParent!.getAttribute('name')}"]`);
+ const serviceDataAttr = nsd81.querySelector(
+ `ServiceConstructedAttributes > ServiceConstructedAttribute[name="${daParent!.getAttribute(
+ 'name'
+ )}"]`
+ );
if (serviceDataAttr) {
- if (serviceDataAttr.querySelector(`SubDataAttribute[name="${ancestors![0].getAttribute('name')}"]`)?.getAttribute('type') == 'Originator') {
- const subDataAttr = nsd72.querySelector(`ConstructedAttributes > ConstructedAttribute[name="Originator"] > SubDataAttribute[name="${bdaElementName}"]`);
+ if (
+ serviceDataAttr
+ .querySelector(
+ `SubDataAttribute[name="${ancestors![0].getAttribute('name')}"]`
+ )
+ ?.getAttribute('type') == 'Originator'
+ ) {
+ const subDataAttr = nsd72.querySelector(
+ `ConstructedAttributes > ConstructedAttribute[name="Originator"] > SubDataAttribute[name="${bdaElementName}"]`
+ );
return {
- label: getNsdocDocumentation(nsdoc72!, subDataAttr?.getAttribute('descID')) ?? bdaElementName
+ label:
+ getNsdocDocumentation(
+ nsdoc72!,
+ subDataAttr?.getAttribute('descID')
+ ) ?? bdaElementName,
};
}
return {
- label: getNsdocDocumentation(nsdoc81!,
- serviceDataAttr.querySelector(`SubDataAttribute[name="${bdaElementName}"]`)?.getAttribute('descID')) ?? bdaElementName
+ label:
+ getNsdocDocumentation(
+ nsdoc81!,
+ serviceDataAttr
+ .querySelector(`SubDataAttribute[name="${bdaElementName}"]`)
+ ?.getAttribute('descID')
+ ) ?? bdaElementName,
};
} else {
- const dataAttrParent = nsd73.querySelector(`NS > CDCs > CDC[name="${daParent!.closest('DOType')?.getAttribute('cdc')}"] >
+ const dataAttrParent =
+ nsd73.querySelector(`NS > CDCs > CDC[name="${daParent!
+ .closest('DOType')
+ ?.getAttribute('cdc')}"] >
DataAttribute[name="${daParent!.getAttribute('name')}"]`);
return {
- label: getNsdocDocumentation(nsdoc73!, getSubDataAttribute(dataAttrParent!, bdaElementName)?.getAttribute('descID')) ?? bdaElementName
+ label:
+ getNsdocDocumentation(
+ nsdoc73!,
+ getSubDataAttribute(dataAttrParent!, bdaElementName)?.getAttribute(
+ 'descID'
+ )
+ ) ?? bdaElementName,
};
}
}
@@ -169,10 +270,27 @@ export function initializeNsdoc(): Nsdoc {
* @param bdaElementName - The name of the element to search.
* @returns A SubDataAttribute, or null.
*/
- function getSubDataAttribute(parent: Element | undefined, bdaElementName: string): Element | null {
+ function getSubDataAttribute(
+ parent: Element | undefined,
+ bdaElementName: string
+ ): Element | null {
if (!parent) return null;
- const subDataAttr = nsd73.querySelector(`ConstructedAttributes > ConstructedAttribute[name="${parent?.getAttribute('type')}"] > SubDataAttribute[name="${bdaElementName}"]`);
- return subDataAttr ?? getSubDataAttribute(nsd73.querySelector(`ConstructedAttributes > ConstructedAttribute[name="${parent?.getAttribute('type')}"] > SubDataAttribute`)!, bdaElementName);
+ const subDataAttr = nsd73.querySelector(
+ `ConstructedAttributes > ConstructedAttribute[name="${parent?.getAttribute(
+ 'type'
+ )}"] > SubDataAttribute[name="${bdaElementName}"]`
+ );
+ return (
+ subDataAttr ??
+ getSubDataAttribute(
+ nsd73.querySelector(
+ `ConstructedAttributes > ConstructedAttribute[name="${parent?.getAttribute(
+ 'type'
+ )}"] > SubDataAttribute`
+ )!,
+ bdaElementName
+ )
+ );
}
/**
@@ -181,12 +299,20 @@ export function initializeNsdoc(): Nsdoc {
* @param doName - The name of the DO(I) to search for.
* @returns the DataObject in case found, otherwise null.
*/
- function getInheritedDataObject(lnClassBase: string, doName: string): Element | null {
+ function getInheritedDataObject(
+ lnClassBase: string,
+ doName: string
+ ): Element | null {
if (!lnClassBase) return null;
- const lnClass = nsd74.querySelector(`NS > LNClasses > AbstractLNClass[name="${lnClassBase}"]`);
+ const lnClass = nsd74.querySelector(
+ `NS > LNClasses > AbstractLNClass[name="${lnClassBase}"]`
+ );
const base = lnClass?.getAttribute('base');
- return lnClass?.querySelector(`DataObject[name="${doName}"]`) ?? getInheritedDataObject(base!, doName);
+ return (
+ lnClass?.querySelector(`DataObject[name="${doName}"]`) ??
+ getInheritedDataObject(base!, doName)
+ );
}
return {
@@ -194,15 +320,20 @@ export function initializeNsdoc(): Nsdoc {
nsdoc73: nsdoc73,
nsdoc74: nsdoc74,
nsdoc81: nsdoc81,
- getDataDescription: function getDataDescription(element: Element, ancestors?: Element[]): { label: string; } {
- return getDataDescriptions[element.tagName as keyof Record].getDataDescription(element, ancestors);
- }
-
- }
+ getDataDescription: function getDataDescription(
+ element: Element,
+ ancestors?: Element[]
+ ): { label: string } {
+ return getDataDescriptions[
+ element.tagName as keyof Record<
+ IEDElementTagNames,
+ {
+ getDataDescription: GetDataDescription;
+ }
+ >
+ ].getDataDescription(element, ancestors);
+ },
+ };
}
/**
@@ -211,6 +342,9 @@ export function initializeNsdoc(): Nsdoc {
* @param id - The id of the doc to search for.
* @returns - The documentation belonging to the id.
*/
-function getNsdocDocumentation(nsdoc: XMLDocument, id: string | null | undefined): string | null | undefined {
+function getNsdocDocumentation(
+ nsdoc: XMLDocument,
+ id: string | null | undefined
+): string | null | undefined {
return nsdoc?.querySelector(`NSDoc > Doc[id="${id ?? ''}"]`)?.textContent;
}
diff --git a/packages/openscd/test/integration/__snapshots__/Setting.test.snap.js b/packages/openscd/test/integration/__snapshots__/Setting.test.snap.js
index b0c2def188..6dd6d2a8d7 100644
--- a/packages/openscd/test/integration/__snapshots__/Setting.test.snap.js
+++ b/packages/openscd/test/integration/__snapshots__/Setting.test.snap.js
@@ -72,8 +72,7 @@ snapshots["Oscd-Settings upload .nsdoc file using event and looks like latest sn
response.text())
.then(str => new DOMParser().parseFromString(str, 'application/xml'));
-const nsd74 = fetch('public/xml/IEC_61850-7-4_2007B5.nsd')
- .then(response => response.text())
- .then(str => new DOMParser().parseFromString(str, 'application/xml'));
-
-const nsd7420 = fetch('public/xml/IEC_61850-7-420_2019A4.nsd')
- .then(response => response.text())
- .then(str => new DOMParser().parseFromString(str, 'application/xml'));
-
/** An editor [[`plugin`]] for editing the `DataTypeTemplates` section. */
export default class TemplatesPlugin extends LitElement {
/** The document being edited as provided to plugins by [[`OpenSCD`]]. */
@@ -63,8 +56,8 @@ export default class TemplatesPlugin extends LitElement {
createLNodeTypeWizard(
this.doc.querySelector(':root > DataTypeTemplates')!,
await templates,
- await nsd74,
- await nsd7420
+ nsd74,
+ nsd7420
)
)
);
diff --git a/packages/plugins/src/editors/protocol104/foundation/foundation.ts b/packages/plugins/src/editors/protocol104/foundation/foundation.ts
index 38be5a60f8..9bb85c7e5f 100644
--- a/packages/plugins/src/editors/protocol104/foundation/foundation.ts
+++ b/packages/plugins/src/editors/protocol104/foundation/foundation.ts
@@ -373,7 +373,7 @@ export function getDaElementByDaiElement(
* @param daElement - The DA Element for which to check.
*/
function isEnumType(daElement: Element | undefined) {
- return daElement?.getAttribute('bType') === 'Enum' ?? false;
+ return daElement?.getAttribute('bType') === 'Enum';
}
/**
diff --git a/packages/plugins/src/editors/subscription/fcda-binding-list.ts b/packages/plugins/src/editors/subscription/fcda-binding-list.ts
index 4843785f7a..741612c2ca 100644
--- a/packages/plugins/src/editors/subscription/fcda-binding-list.ts
+++ b/packages/plugins/src/editors/subscription/fcda-binding-list.ts
@@ -82,7 +82,7 @@ export class FcdaBindingList extends LitElement {
`fcda-binding-list-${
this.includeLaterBinding ? 'later-binding' : 'data-binding'
}-${this.controlTag}$hideSubscribed`
- ) === 'true' ?? false
+ ) === 'true'
);
}
@@ -109,7 +109,7 @@ export class FcdaBindingList extends LitElement {
`fcda-binding-list-${
this.includeLaterBinding ? 'later-binding' : 'data-binding'
}-${this.controlTag}$hideNotSubscribed`
- ) === 'true' ?? false
+ ) === 'true'
);
}
diff --git a/packages/plugins/src/editors/substation/l-node-editor.ts b/packages/plugins/src/editors/substation/l-node-editor.ts
index 9c0aeb4256..8bd31df1dc 100644
--- a/packages/plugins/src/editors/substation/l-node-editor.ts
+++ b/packages/plugins/src/editors/substation/l-node-editor.ts
@@ -86,7 +86,7 @@ export class LNodeEditor extends LitElement {
}
@state()
private get missingIedReference(): boolean {
- return this.element.getAttribute('iedName') === 'None' ?? false;
+ return this.element.getAttribute('iedName') === 'None';
}
@state()
private get isIEDReference(): boolean {
diff --git a/packages/plugins/src/validators/templates/datype.ts b/packages/plugins/src/validators/templates/datype.ts
index 1a9e701310..56eed9acf3 100644
--- a/packages/plugins/src/validators/templates/datype.ts
+++ b/packages/plugins/src/validators/templates/datype.ts
@@ -2,14 +2,12 @@ import { get } from 'lit-translate';
import { identity } from '@openscd/open-scd/src/foundation.js';
import { LogDetailBase } from '@openscd/core/foundation/deprecated/history.js';
import { validateChildren } from './foundation.js';
-import { iec6185073, iec6185081 } from '@openscd/open-scd/src/foundation/nsd.js';
+import { nsd73, nsd81 } from '@openscd/open-scd/src/foundation/nsd.js';
async function getChildren(
cdc: string | null | undefined,
daName: string | null | undefined
): Promise {
- const nsd73 = await iec6185073;
-
const dataAttribute = nsd73
.querySelector(`CDC[name="${cdc}"] > DataAttribute[name="${daName}"]`)
?.getAttribute('type');
@@ -24,8 +22,6 @@ async function getChildren(
async function getServiceChildren(
daName: string | null | undefined
): Promise {
- const nsd81 = await iec6185081;
-
return Array.from(
nsd81.querySelectorAll(
`ServiceConstructedAttributes > ServiceConstructedAttribute[name="${daName}"] > ` +
diff --git a/packages/plugins/src/validators/templates/dotype.ts b/packages/plugins/src/validators/templates/dotype.ts
index af1b8411d4..3100a552f5 100644
--- a/packages/plugins/src/validators/templates/dotype.ts
+++ b/packages/plugins/src/validators/templates/dotype.ts
@@ -2,15 +2,8 @@ import { get } from 'lit-translate';
import { identity } from '@openscd/open-scd/src/foundation.js';
import { LogDetailBase } from '@openscd/core/foundation/deprecated/history.js';
-import {
- getAdjacentClass,
- validateChildren,
-} from './foundation.js';
-import {
- iec6185073,
- iec6185074,
- iec6185081,
-} from '@openscd/open-scd/src/foundation/nsd.js';
+import { getAdjacentClass, validateChildren } from './foundation.js';
+import { nsd73, nsd74, nsd81 } from '@openscd/open-scd/src/foundation/nsd.js';
async function getSpecificDataObject(
lnClass: string | null | undefined,
@@ -18,7 +11,7 @@ async function getSpecificDataObject(
): Promise {
if (!lnClass || !doName) return null;
- const lnodeclasses = getAdjacentClass(await iec6185074, lnClass!);
+ const lnodeclasses = getAdjacentClass(nsd74, lnClass!);
return (
lnodeclasses
@@ -66,9 +59,6 @@ async function getMandatoryDataAttribute(
dotype: Element,
cdc: string
): Promise {
- const nsd73 = await iec6185073;
- const nsd81 = await iec6185081;
-
const dataAttributes = Array.from(
nsd73.querySelectorAll(`CDC[name="${cdc}"] > DataAttribute[presCond="M"]`)
);
diff --git a/packages/plugins/src/validators/templates/foundation.ts b/packages/plugins/src/validators/templates/foundation.ts
index 89affaffe8..1753472517 100644
--- a/packages/plugins/src/validators/templates/foundation.ts
+++ b/packages/plugins/src/validators/templates/foundation.ts
@@ -6,22 +6,6 @@ import { dOValidator } from './dosdo.js';
import { dOTypeValidator } from './dotype.js';
import { lNodeTypeValidator } from './lnodetype.js';
-export const iec6185074 = fetch('public/xml/IEC_61850-7-4_2007B5.nsd')
- .then(response => response.text())
- .then(str => new DOMParser().parseFromString(str, 'application/xml'));
-
-export const iec6185073 = fetch('public/xml/IEC_61850-7-3_2007B5.nsd')
- .then(response => response.text())
- .then(str => new DOMParser().parseFromString(str, 'application/xml'));
-
-export const iec6185072 = fetch('public/xml/IEC_61850-7-2_2007B5.nsd')
- .then(response => response.text())
- .then(str => new DOMParser().parseFromString(str, 'application/xml'));
-
-export const iec6185081 = fetch('public/xml/IEC_61850-8-1_2003A2.nsd')
- .then(response => response.text())
- .then(str => new DOMParser().parseFromString(str, 'application/xml'));
-
export const serviceCDCs = [
'SPC',
'DPC',
diff --git a/packages/plugins/src/validators/templates/lnodetype.ts b/packages/plugins/src/validators/templates/lnodetype.ts
index 62d0933cd1..b5e5ca6309 100644
--- a/packages/plugins/src/validators/templates/lnodetype.ts
+++ b/packages/plugins/src/validators/templates/lnodetype.ts
@@ -1,14 +1,11 @@
import { get } from 'lit-translate';
import { identity } from '@openscd/open-scd/src/foundation.js';
import { LogDetailBase } from '@openscd/core/foundation/deprecated/history.js';
-import {
- getAdjacentClass,
- validateChildren,
-} from './foundation.js';
-import { iec6185074 } from '@openscd/open-scd/src/foundation/nsd.js';
+import { getAdjacentClass, validateChildren } from './foundation.js';
+import { nsd74 } from '@openscd/open-scd/src/foundation/nsd.js';
async function getMandatoryDataObject(base: string): Promise {
- const lnodeclasses = getAdjacentClass(await iec6185074, base);
+ const lnodeclasses = getAdjacentClass(nsd74, base);
return lnodeclasses.flatMap(lnodeclass =>
Array.from(lnodeclass.querySelectorAll('DataObject[presCond="M"]'))
diff --git a/packages/wizards/package.json b/packages/wizards/package.json
index 96c875dd5c..577e86ae86 100644
--- a/packages/wizards/package.json
+++ b/packages/wizards/package.json
@@ -34,7 +34,7 @@
"test:watch": "web-test-runner --watch",
"test:unit": "web-test-runner --watch --group unit",
"doc:clean": "npx rimraf doc",
- "doc:typedoc": "typedoc --plugin none --out doc src",
+ "doc:typedoc": "typedoc --out doc src",
"doc:wca": "wca src --outDir doc/components",
"@commitlint/config-conventional": "^13.1.0",
"@open-wc/semantic-dom-diff": "^0.19.5",
@@ -60,7 +60,6 @@
"tslib": "^2.3.1",
"typedoc": "^0.21.10",
"typedoc-plugin-markdown": "3.10.4",
- "typescript": "4.3.5",
"web-component-analyzer": "^1.1.6"
},
"eslintConfig": {
@@ -126,5 +125,8 @@
}
],
"commitUrlFormat": "https://github.com/openscd/open-scd/commits/{{hash}}"
+ },
+ "devDependencies": {
+ "typescript": "^5.9.3"
}
}
diff --git a/packages/xml/package.json b/packages/xml/package.json
index 3c5abfa3ec..dc8ee1c222 100644
--- a/packages/xml/package.json
+++ b/packages/xml/package.json
@@ -46,9 +46,9 @@
"sinon": "^17.0.1",
"sinon-chai": "^3.7.0",
"tsdoc": "^0.0.4",
- "tslib": "^2.3.1",
- "typedoc": "^0.23.8",
- "typescript": "^4.7.4"
+ "tslib": "^2.8.1",
+ "typedoc": "^0.28.15",
+ "typescript": "^5.7.2"
},
"eslintConfig": {
"parser": "@typescript-eslint/parser",