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",