From 6dac89d420bb2ac2f1c3574f73f6ab69dad210ba Mon Sep 17 00:00:00 2001 From: Elmer Bulthuis Date: Thu, 10 Jul 2025 21:17:30 +0200 Subject: [PATCH 1/7] building packages --- .gitignore | 4 +- crates/xtask/src/build/workspace.rs | 4 +- jco.code-workspace | 31 + package-lock.json | 2818 ++++++++++++--------- package.json | 3 + packages/jco-transpile/.vscode/tasks.json | 15 + packages/jco-transpile/package.json | 110 +- packages/jco-transpile/tsconfig.json | 14 + packages/jco/.vscode/tasks.json | 15 + packages/jco/package.json | 185 +- packages/jco/tsconfig.json | 23 +- packages/preview2-shim/package.json | 9 +- packages/preview3-shim/package.json | 9 +- 13 files changed, 1935 insertions(+), 1305 deletions(-) create mode 100644 jco.code-workspace create mode 100644 packages/jco-transpile/.vscode/tasks.json create mode 100644 packages/jco-transpile/tsconfig.json create mode 100644 packages/jco/.vscode/tasks.json diff --git a/.gitignore b/.gitignore index 3e86e2ea5..8ee655bef 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,5 @@ # Editors -.vscode +# .vscode *.swp *.swo @@ -7,6 +7,8 @@ /target /dist /jco.sh +*.tsbuildinfo +dist/ # Typescript /src/**/*.d.ts diff --git a/crates/xtask/src/build/workspace.rs b/crates/xtask/src/build/workspace.rs index c3c8fd878..58771e094 100644 --- a/crates/xtask/src/build/workspace.rs +++ b/crates/xtask/src/build/workspace.rs @@ -14,7 +14,7 @@ pub(crate) fn run(release: bool) -> anyhow::Result<()> { cmd!(sh, "cargo build --workspace --target wasm32-wasip1").read()?; } - // Build Jco TS code - cmd!(sh, "npx -w @bytecodealliance/jco tsc -p tsconfig.json").read()?; + // compile all ts code + cmd!(sh, "npm run --workspaces --if-present compile").read()?; Ok(()) } diff --git a/jco.code-workspace b/jco.code-workspace new file mode 100644 index 000000000..7bc18f40b --- /dev/null +++ b/jco.code-workspace @@ -0,0 +1,31 @@ +{ + "folders": [ + { + "name": "jco", + "path": "packages/jco" + }, + { + "name": "jco-transpile", + "path": "packages/jco-transpile" + }, + { + "name": "preview2-shim", + "path": "packages/preview2-shim" + }, + { + "name": "preview3-shim", + "path": "packages/preview3-shim" + } + ], + "settings": { + "npm.packageManager": "npm", + "npm.scriptRunner": "npm", + "editor.formatOnSave": true, + "editor.codeActionsOnSave": { + "source.fixAll": "always", + "source.organizeImports": "always" + }, + "editor.rulers": [100], + "editor.defaultFormatter": "esbenp.prettier-vscode" + } +} diff --git a/package-lock.json b/package-lock.json index 7d3b6dae5..a019e6adf 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,5 @@ { "name": "jco", - "version": "1.11.2", "lockfileVersion": 3, "requires": true, "packages": { @@ -21,7 +20,10 @@ "examples/components/string-reverse", "examples/components/string-reverse-upper", "examples/components/webidl-book-library" - ] + ], + "devDependencies": { + "prettier": "^3.6.2" + } }, "examples/components/add": { "name": "add-wasm", @@ -30,36 +32,6 @@ "@bytecodealliance/jco": "^1.11.1" } }, - "examples/components/add/node_modules/@bytecodealliance/jco": { - "version": "1.11.2", - "resolved": "https://registry.npmjs.org/@bytecodealliance/jco/-/jco-1.11.2.tgz", - "integrity": "sha512-iZdVOXlfd+R144Fwt57PnFt3xJlejGx0LlKxG5MeHqeQOsurozcdMLjN4TNuXpnR4jFyO3zrR65NzAkA/W4gpw==", - "license": "(Apache-2.0 WITH LLVM-exception)", - "workspaces": [ - ".", - "examples/components/add", - "examples/components/http-hello-world", - "examples/components/node-fetch", - "examples/components/http-server-fetch-handler", - "examples/components/string-reverse", - "examples/components/string-reverse-upper", - "examples/components/webidl-book-library", - "packages/preview2-shim" - ], - "dependencies": { - "@bytecodealliance/componentize-js": "^0.17.0", - "@bytecodealliance/preview2-shim": "^0.17.2", - "binaryen": "^123.0.0", - "chalk-template": "^1", - "commander": "^12", - "mkdirp": "^3", - "ora": "^8", - "terser": "^5" - }, - "bin": { - "jco": "src/jco.js" - } - }, "examples/components/adder": { "name": "adder-wasm", "dependencies": { @@ -67,72 +39,12 @@ "@bytecodealliance/jco": "^1.11.1" } }, - "examples/components/adder/node_modules/@bytecodealliance/jco": { - "version": "1.11.2", - "resolved": "https://registry.npmjs.org/@bytecodealliance/jco/-/jco-1.11.2.tgz", - "integrity": "sha512-iZdVOXlfd+R144Fwt57PnFt3xJlejGx0LlKxG5MeHqeQOsurozcdMLjN4TNuXpnR4jFyO3zrR65NzAkA/W4gpw==", - "license": "(Apache-2.0 WITH LLVM-exception)", - "workspaces": [ - ".", - "examples/components/add", - "examples/components/http-hello-world", - "examples/components/node-fetch", - "examples/components/http-server-fetch-handler", - "examples/components/string-reverse", - "examples/components/string-reverse-upper", - "examples/components/webidl-book-library", - "packages/preview2-shim" - ], - "dependencies": { - "@bytecodealliance/componentize-js": "^0.17.0", - "@bytecodealliance/preview2-shim": "^0.17.2", - "binaryen": "^123.0.0", - "chalk-template": "^1", - "commander": "^12", - "mkdirp": "^3", - "ora": "^8", - "terser": "^5" - }, - "bin": { - "jco": "src/jco.js" - } - }, "examples/components/host-logging": { "dependencies": { "@bytecodealliance/componentize-js": "0.17.0", "@bytecodealliance/jco": "^1.11.1" } }, - "examples/components/host-logging/node_modules/@bytecodealliance/jco": { - "version": "1.11.2", - "resolved": "https://registry.npmjs.org/@bytecodealliance/jco/-/jco-1.11.2.tgz", - "integrity": "sha512-iZdVOXlfd+R144Fwt57PnFt3xJlejGx0LlKxG5MeHqeQOsurozcdMLjN4TNuXpnR4jFyO3zrR65NzAkA/W4gpw==", - "license": "(Apache-2.0 WITH LLVM-exception)", - "workspaces": [ - ".", - "examples/components/add", - "examples/components/http-hello-world", - "examples/components/node-fetch", - "examples/components/http-server-fetch-handler", - "examples/components/string-reverse", - "examples/components/string-reverse-upper", - "examples/components/webidl-book-library", - "packages/preview2-shim" - ], - "dependencies": { - "@bytecodealliance/componentize-js": "^0.17.0", - "@bytecodealliance/preview2-shim": "^0.17.2", - "binaryen": "^123.0.0", - "chalk-template": "^1", - "commander": "^12", - "mkdirp": "^3", - "ora": "^8", - "terser": "^5" - }, - "bin": { - "jco": "src/jco.js" - } - }, "examples/components/http-hello-world": { "name": "http-hello-world-wasm", "dependencies": { @@ -143,72 +55,12 @@ "terminate": "^2.8.0" } }, - "examples/components/http-hello-world/node_modules/@bytecodealliance/jco": { - "version": "1.11.2", - "resolved": "https://registry.npmjs.org/@bytecodealliance/jco/-/jco-1.11.2.tgz", - "integrity": "sha512-iZdVOXlfd+R144Fwt57PnFt3xJlejGx0LlKxG5MeHqeQOsurozcdMLjN4TNuXpnR4jFyO3zrR65NzAkA/W4gpw==", - "license": "(Apache-2.0 WITH LLVM-exception)", - "workspaces": [ - ".", - "examples/components/add", - "examples/components/http-hello-world", - "examples/components/node-fetch", - "examples/components/http-server-fetch-handler", - "examples/components/string-reverse", - "examples/components/string-reverse-upper", - "examples/components/webidl-book-library", - "packages/preview2-shim" - ], - "dependencies": { - "@bytecodealliance/componentize-js": "^0.17.0", - "@bytecodealliance/preview2-shim": "^0.17.2", - "binaryen": "^123.0.0", - "chalk-template": "^1", - "commander": "^12", - "mkdirp": "^3", - "ora": "^8", - "terser": "^5" - }, - "bin": { - "jco": "src/jco.js" - } - }, "examples/components/http-server-fetch-handler": { "dependencies": { "@bytecodealliance/componentize-js": "^0.17.0", "@bytecodealliance/jco": "^1.11.1" } }, - "examples/components/http-server-fetch-handler/node_modules/@bytecodealliance/jco": { - "version": "1.11.2", - "resolved": "https://registry.npmjs.org/@bytecodealliance/jco/-/jco-1.11.2.tgz", - "integrity": "sha512-iZdVOXlfd+R144Fwt57PnFt3xJlejGx0LlKxG5MeHqeQOsurozcdMLjN4TNuXpnR4jFyO3zrR65NzAkA/W4gpw==", - "license": "(Apache-2.0 WITH LLVM-exception)", - "workspaces": [ - ".", - "examples/components/add", - "examples/components/http-hello-world", - "examples/components/node-fetch", - "examples/components/http-server-fetch-handler", - "examples/components/string-reverse", - "examples/components/string-reverse-upper", - "examples/components/webidl-book-library", - "packages/preview2-shim" - ], - "dependencies": { - "@bytecodealliance/componentize-js": "^0.17.0", - "@bytecodealliance/preview2-shim": "^0.17.2", - "binaryen": "^123.0.0", - "chalk-template": "^1", - "commander": "^12", - "mkdirp": "^3", - "ora": "^8", - "terser": "^5" - }, - "bin": { - "jco": "src/jco.js" - } - }, "examples/components/http-server-hono": { "license": "MIT", "dependencies": { @@ -226,8 +78,6 @@ }, "examples/components/http-server-hono/node_modules/@bytecodealliance/componentize-js": { "version": "0.18.2", - "resolved": "https://registry.npmjs.org/@bytecodealliance/componentize-js/-/componentize-js-0.18.2.tgz", - "integrity": "sha512-x9wH1h0CzidBRmeo0ujHGsLtNmFWKvFslyg6erlew6aWEGz0495ehPE/s0DmzdwjvV5rLiLSvBtinoL+2ueXVg==", "dev": true, "workspaces": [ "." @@ -242,88 +92,12 @@ "componentize-js": "src/cli.js" } }, - "examples/components/http-server-hono/node_modules/@bytecodealliance/jco": { - "version": "1.11.2", - "resolved": "https://registry.npmjs.org/@bytecodealliance/jco/-/jco-1.11.2.tgz", - "integrity": "sha512-iZdVOXlfd+R144Fwt57PnFt3xJlejGx0LlKxG5MeHqeQOsurozcdMLjN4TNuXpnR4jFyO3zrR65NzAkA/W4gpw==", - "dev": true, - "license": "(Apache-2.0 WITH LLVM-exception)", - "workspaces": [ - ".", - "examples/components/add", - "examples/components/http-hello-world", - "examples/components/node-fetch", - "examples/components/http-server-fetch-handler", - "examples/components/string-reverse", - "examples/components/string-reverse-upper", - "examples/components/webidl-book-library", - "packages/preview2-shim" - ], - "dependencies": { - "@bytecodealliance/componentize-js": "^0.17.0", - "@bytecodealliance/preview2-shim": "^0.17.2", - "binaryen": "^123.0.0", - "chalk-template": "^1", - "commander": "^12", - "mkdirp": "^3", - "ora": "^8", - "terser": "^5" - }, - "bin": { - "jco": "src/jco.js" - } - }, - "examples/components/http-server-hono/node_modules/@bytecodealliance/jco/node_modules/@bytecodealliance/componentize-js": { - "version": "0.17.0", - "resolved": "https://registry.npmjs.org/@bytecodealliance/componentize-js/-/componentize-js-0.17.0.tgz", - "integrity": "sha512-FDgO5UPipfjyq5OghSB4JW313LkQJK3Sl647WH1jvIuYAyCq1j+bMt+Q66c3UF6IVs6PneNTGfGSjYgzID/k0w==", - "dev": true, - "workspaces": [ - "." - ], - "dependencies": { - "@bytecodealliance/jco": "^1.9.1", - "@bytecodealliance/weval": "^0.3.3", - "@bytecodealliance/wizer": "^7.0.5", - "es-module-lexer": "^1.6.0" - } - }, "examples/components/node-fetch": { "dependencies": { "@bytecodealliance/componentize-js": "0.17.0", "@bytecodealliance/jco": "^1.11.1" } }, - "examples/components/node-fetch/node_modules/@bytecodealliance/jco": { - "version": "1.11.2", - "resolved": "https://registry.npmjs.org/@bytecodealliance/jco/-/jco-1.11.2.tgz", - "integrity": "sha512-iZdVOXlfd+R144Fwt57PnFt3xJlejGx0LlKxG5MeHqeQOsurozcdMLjN4TNuXpnR4jFyO3zrR65NzAkA/W4gpw==", - "license": "(Apache-2.0 WITH LLVM-exception)", - "workspaces": [ - ".", - "examples/components/add", - "examples/components/http-hello-world", - "examples/components/node-fetch", - "examples/components/http-server-fetch-handler", - "examples/components/string-reverse", - "examples/components/string-reverse-upper", - "examples/components/webidl-book-library", - "packages/preview2-shim" - ], - "dependencies": { - "@bytecodealliance/componentize-js": "^0.17.0", - "@bytecodealliance/preview2-shim": "^0.17.2", - "binaryen": "^123.0.0", - "chalk-template": "^1", - "commander": "^12", - "mkdirp": "^3", - "ora": "^8", - "terser": "^5" - }, - "bin": { - "jco": "src/jco.js" - } - }, "examples/components/string-reverse": { "name": "string-reverse-wasm", "dependencies": { @@ -338,66 +112,6 @@ "@bytecodealliance/jco": "^1.11.1" } }, - "examples/components/string-reverse-upper/node_modules/@bytecodealliance/jco": { - "version": "1.11.2", - "resolved": "https://registry.npmjs.org/@bytecodealliance/jco/-/jco-1.11.2.tgz", - "integrity": "sha512-iZdVOXlfd+R144Fwt57PnFt3xJlejGx0LlKxG5MeHqeQOsurozcdMLjN4TNuXpnR4jFyO3zrR65NzAkA/W4gpw==", - "license": "(Apache-2.0 WITH LLVM-exception)", - "workspaces": [ - ".", - "examples/components/add", - "examples/components/http-hello-world", - "examples/components/node-fetch", - "examples/components/http-server-fetch-handler", - "examples/components/string-reverse", - "examples/components/string-reverse-upper", - "examples/components/webidl-book-library", - "packages/preview2-shim" - ], - "dependencies": { - "@bytecodealliance/componentize-js": "^0.17.0", - "@bytecodealliance/preview2-shim": "^0.17.2", - "binaryen": "^123.0.0", - "chalk-template": "^1", - "commander": "^12", - "mkdirp": "^3", - "ora": "^8", - "terser": "^5" - }, - "bin": { - "jco": "src/jco.js" - } - }, - "examples/components/string-reverse/node_modules/@bytecodealliance/jco": { - "version": "1.11.2", - "resolved": "https://registry.npmjs.org/@bytecodealliance/jco/-/jco-1.11.2.tgz", - "integrity": "sha512-iZdVOXlfd+R144Fwt57PnFt3xJlejGx0LlKxG5MeHqeQOsurozcdMLjN4TNuXpnR4jFyO3zrR65NzAkA/W4gpw==", - "license": "(Apache-2.0 WITH LLVM-exception)", - "workspaces": [ - ".", - "examples/components/add", - "examples/components/http-hello-world", - "examples/components/node-fetch", - "examples/components/http-server-fetch-handler", - "examples/components/string-reverse", - "examples/components/string-reverse-upper", - "examples/components/webidl-book-library", - "packages/preview2-shim" - ], - "dependencies": { - "@bytecodealliance/componentize-js": "^0.17.0", - "@bytecodealliance/preview2-shim": "^0.17.2", - "binaryen": "^123.0.0", - "chalk-template": "^1", - "commander": "^12", - "mkdirp": "^3", - "ora": "^8", - "terser": "^5" - }, - "bin": { - "jco": "src/jco.js" - } - }, "examples/components/webidl-book-library": { "name": "webidl-book-library-wasm", "devDependencies": { @@ -407,8 +121,6 @@ }, "examples/components/webidl-book-library/node_modules/@bytecodealliance/jco": { "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@bytecodealliance/jco/-/jco-1.11.1.tgz", - "integrity": "sha512-Vej1Orl5TfVlbGDPcrYXTEMfhjEbeGATOkaQeRLsH8fRAt1HOfvMhh8NBSHkwwfjAYWGplrfDAffnP8vIRaH6Q==", "dev": true, "license": "(Apache-2.0 WITH LLVM-exception)", "workspaces": [ @@ -437,8 +149,6 @@ }, "examples/components/webidl-book-library/node_modules/binaryen": { "version": "122.0.0", - "resolved": "https://registry.npmjs.org/binaryen/-/binaryen-122.0.0.tgz", - "integrity": "sha512-XOvjvucq04e5UW0cuoiEZX4wxzepuF7q8sz24JtaXltqjgCqQOZHPXAq5ja/eLljF/orWYmaxuWivpp7paVUCQ==", "dev": true, "license": "Apache-2.0", "bin": { @@ -454,20 +164,24 @@ } }, "node_modules/@babel/code-frame": { - "version": "7.26.2", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz", + "integrity": "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-validator-identifier": "^7.25.9", + "@babel/helper-validator-identifier": "^7.27.1", "js-tokens": "^4.0.0", - "picocolors": "^1.0.0" + "picocolors": "^1.1.1" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.25.9", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz", + "integrity": "sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==", "dev": true, "license": "MIT", "engines": { @@ -505,9 +219,9 @@ "link": true }, "node_modules/@bytecodealliance/weval": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@bytecodealliance/weval/-/weval-0.3.3.tgz", - "integrity": "sha512-hrQI47O1l3ilFscixu0uuSJTj5tbQW0QmCATQWWNW0E8wJxbKH4yo8y57O5gqpRSKk/T+da1sH/GJNrnGHTFNA==", + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/@bytecodealliance/weval/-/weval-0.3.4.tgz", + "integrity": "sha512-+GCKtZXhPj7qyDl5pR0F3PTEk8tWINV8dv1tUbKMjMXvqjHIkvzalkWo5ZL2kCKwh8Bwn8rWpSmyvRC/Nlu9nQ==", "license": "Apache-2.0", "dependencies": { "@napi-rs/lzma": "^1.1.2", @@ -657,13 +371,6 @@ "node": ">=v18" } }, - "node_modules/@commitlint/cli/node_modules/tinyexec": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-1.0.1.tgz", - "integrity": "sha512-5uC6DDlmeqiOwCPmK9jMSdOuZTh8bU39Ys6yidB+UTt5hfZUPGAypSgFRiEp+jbi9qH40BLDvy85jIU88wKSqw==", - "dev": true, - "license": "MIT" - }, "node_modules/@commitlint/config-conventional": { "version": "19.8.1", "resolved": "https://registry.npmjs.org/@commitlint/config-conventional/-/config-conventional-19.8.1.tgz", @@ -705,30 +412,6 @@ "node": ">=v18" } }, - "node_modules/@commitlint/config-validator/node_modules/ajv": { - "version": "8.17.1", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", - "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", - "dev": true, - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.3", - "fast-uri": "^3.0.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/@commitlint/config-validator/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true, - "license": "MIT" - }, "node_modules/@commitlint/ensure": { "version": "19.8.1", "resolved": "https://registry.npmjs.org/@commitlint/ensure/-/ensure-19.8.1.tgz", @@ -865,13 +548,6 @@ "node": ">=v18" } }, - "node_modules/@commitlint/read/node_modules/tinyexec": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-1.0.1.tgz", - "integrity": "sha512-5uC6DDlmeqiOwCPmK9jMSdOuZTh8bU39Ys6yidB+UTt5hfZUPGAypSgFRiEp+jbi9qH40BLDvy85jIU88wKSqw==", - "dev": true, - "license": "MIT" - }, "node_modules/@commitlint/resolve-extends": { "version": "19.8.1", "resolved": "https://registry.npmjs.org/@commitlint/resolve-extends/-/resolve-extends-19.8.1.tgz", @@ -880,152 +556,53 @@ "license": "MIT", "dependencies": { "@commitlint/config-validator": "^19.8.1", - "@commitlint/types": "^19.8.1", - "global-directory": "^4.0.1", - "import-meta-resolve": "^4.0.0", - "lodash.mergewith": "^4.6.2", - "resolve-from": "^5.0.0" - }, - "engines": { - "node": ">=v18" - } - }, - "node_modules/@commitlint/resolve-extends/node_modules/resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/@commitlint/rules": { - "version": "19.8.1", - "resolved": "https://registry.npmjs.org/@commitlint/rules/-/rules-19.8.1.tgz", - "integrity": "sha512-Hnlhd9DyvGiGwjfjfToMi1dsnw1EXKGJNLTcsuGORHz6SS9swRgkBsou33MQ2n51/boIDrbsg4tIBbRpEWK2kw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@commitlint/ensure": "^19.8.1", - "@commitlint/message": "^19.8.1", - "@commitlint/to-lines": "^19.8.1", - "@commitlint/types": "^19.8.1" - }, - "engines": { - "node": ">=v18" - } - }, - "node_modules/@commitlint/to-lines": { - "version": "19.8.1", - "resolved": "https://registry.npmjs.org/@commitlint/to-lines/-/to-lines-19.8.1.tgz", - "integrity": "sha512-98Mm5inzbWTKuZQr2aW4SReY6WUukdWXuZhrqf1QdKPZBCCsXuG87c+iP0bwtD6DBnmVVQjgp4whoHRVixyPBg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=v18" - } - }, - "node_modules/@commitlint/top-level": { - "version": "19.8.1", - "resolved": "https://registry.npmjs.org/@commitlint/top-level/-/top-level-19.8.1.tgz", - "integrity": "sha512-Ph8IN1IOHPSDhURCSXBz44+CIu+60duFwRsg6HqaISFHQHbmBtxVw4ZrFNIYUzEP7WwrNPxa2/5qJ//NK1FGcw==", - "dev": true, - "license": "MIT", - "dependencies": { - "find-up": "^7.0.0" - }, - "engines": { - "node": ">=v18" - } - }, - "node_modules/@commitlint/top-level/node_modules/find-up": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-7.0.0.tgz", - "integrity": "sha512-YyZM99iHrqLKjmt4LJDj58KI+fYyufRLBSYcqycxf//KpBk9FoewoGX0450m9nB44qrZnovzC2oeP5hUibxc/g==", - "dev": true, - "license": "MIT", - "dependencies": { - "locate-path": "^7.2.0", - "path-exists": "^5.0.0", - "unicorn-magic": "^0.1.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@commitlint/top-level/node_modules/locate-path": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-7.2.0.tgz", - "integrity": "sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-locate": "^6.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@commitlint/top-level/node_modules/p-limit": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz", - "integrity": "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "yocto-queue": "^1.0.0" + "@commitlint/types": "^19.8.1", + "global-directory": "^4.0.1", + "import-meta-resolve": "^4.0.0", + "lodash.mergewith": "^4.6.2", + "resolve-from": "^5.0.0" }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=v18" } }, - "node_modules/@commitlint/top-level/node_modules/p-locate": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-6.0.0.tgz", - "integrity": "sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==", + "node_modules/@commitlint/rules": { + "version": "19.8.1", + "resolved": "https://registry.npmjs.org/@commitlint/rules/-/rules-19.8.1.tgz", + "integrity": "sha512-Hnlhd9DyvGiGwjfjfToMi1dsnw1EXKGJNLTcsuGORHz6SS9swRgkBsou33MQ2n51/boIDrbsg4tIBbRpEWK2kw==", "dev": true, "license": "MIT", "dependencies": { - "p-limit": "^4.0.0" + "@commitlint/ensure": "^19.8.1", + "@commitlint/message": "^19.8.1", + "@commitlint/to-lines": "^19.8.1", + "@commitlint/types": "^19.8.1" }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=v18" } }, - "node_modules/@commitlint/top-level/node_modules/path-exists": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz", - "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==", + "node_modules/@commitlint/to-lines": { + "version": "19.8.1", + "resolved": "https://registry.npmjs.org/@commitlint/to-lines/-/to-lines-19.8.1.tgz", + "integrity": "sha512-98Mm5inzbWTKuZQr2aW4SReY6WUukdWXuZhrqf1QdKPZBCCsXuG87c+iP0bwtD6DBnmVVQjgp4whoHRVixyPBg==", "dev": true, "license": "MIT", "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "node": ">=v18" } }, - "node_modules/@commitlint/top-level/node_modules/yocto-queue": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.2.1.tgz", - "integrity": "sha512-AyeEbWOu/TAXdxlV9wmGcR0+yh2j3vYPGOECcIj2S7MkrLyC7ne+oye2BKTItt0ii2PHk4cDy+95+LshzbXnGg==", + "node_modules/@commitlint/top-level": { + "version": "19.8.1", + "resolved": "https://registry.npmjs.org/@commitlint/top-level/-/top-level-19.8.1.tgz", + "integrity": "sha512-Ph8IN1IOHPSDhURCSXBz44+CIu+60duFwRsg6HqaISFHQHbmBtxVw4ZrFNIYUzEP7WwrNPxa2/5qJ//NK1FGcw==", "dev": true, "license": "MIT", - "engines": { - "node": ">=12.20" + "dependencies": { + "find-up": "^7.0.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">=v18" } }, "node_modules/@commitlint/types": { @@ -1043,20 +620,20 @@ } }, "node_modules/@emnapi/core": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.4.3.tgz", - "integrity": "sha512-4m62DuCE07lw01soJwPiBGC0nAww0Q+RY70VZ+n49yDIO13yyinhbWCeNnaob0lakDtWQzSdtNWzJeOJt2ma+g==", + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.4.4.tgz", + "integrity": "sha512-A9CnAbC6ARNMKcIcrQwq6HeHCjpcBZ5wSx4U01WXCqEKlrzB9F9315WDNHkrs2xbx7YjjSxbUYxuN6EQzpcY2g==", "license": "MIT", "optional": true, "dependencies": { - "@emnapi/wasi-threads": "1.0.2", + "@emnapi/wasi-threads": "1.0.3", "tslib": "^2.4.0" } }, "node_modules/@emnapi/runtime": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.4.3.tgz", - "integrity": "sha512-pBPWdu6MLKROBX05wSNKcNb++m5Er+KQ9QkB+WVM+pW2Kx9hoSrVTnu3BdkI5eBLZoKu/J6mW/B6i6bJB2ytXQ==", + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.4.4.tgz", + "integrity": "sha512-hHyapA4A3gPaDCNfiqyZUStTMqIkKRshqPIuDOXv1hcBnD4U3l8cP0T1HMCfGRxQ6V64TGCcoswChANyOAwbQg==", "license": "MIT", "optional": true, "dependencies": { @@ -1064,9 +641,9 @@ } }, "node_modules/@emnapi/wasi-threads": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.0.2.tgz", - "integrity": "sha512-5n3nTJblwRi8LlXkJ9eBzu+kZR8Yxcc7ubakyQTFzPMtIhFpUBRbsnc2Dv88IZDIbCDlBiWrknhB4Lsz7mg6BA==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.0.3.tgz", + "integrity": "sha512-8K5IFFsQqF9wQNJptGbS6FNKgUTsSRYnTqNCG1vPP8jFdjSv18n2mQfJpkt2Oibo9iBEzcDnDxNwKTzC7svlJw==", "license": "MIT", "optional": true, "dependencies": { @@ -1074,9 +651,9 @@ } }, "node_modules/@esbuild/aix-ppc64": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.5.tgz", - "integrity": "sha512-9o3TMmpmftaCMepOdA5k/yDw8SfInyzWWTjYTFCX3kPSDJMROQTb8jg+h9Cnwnmm1vOzvxN7gIfB5V2ewpjtGA==", + "version": "0.25.6", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.6.tgz", + "integrity": "sha512-ShbM/3XxwuxjFiuVBHA+d3j5dyac0aEVVq1oluIDf71hUw0aRF59dV/efUsIwFnR6m8JNM2FjZOzmaZ8yG61kw==", "cpu": [ "ppc64" ], @@ -1091,9 +668,9 @@ } }, "node_modules/@esbuild/android-arm": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.5.tgz", - "integrity": "sha512-AdJKSPeEHgi7/ZhuIPtcQKr5RQdo6OO2IL87JkianiMYMPbCtot9fxPbrMiBADOWWm3T2si9stAiVsGbTQFkbA==", + "version": "0.25.6", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.6.tgz", + "integrity": "sha512-S8ToEOVfg++AU/bHwdksHNnyLyVM+eMVAOf6yRKFitnwnbwwPNqKr3srzFRe7nzV69RQKb5DgchIX5pt3L53xg==", "cpu": [ "arm" ], @@ -1108,9 +685,9 @@ } }, "node_modules/@esbuild/android-arm64": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.5.tgz", - "integrity": "sha512-VGzGhj4lJO+TVGV1v8ntCZWJktV7SGCs3Pn1GRWI1SBFtRALoomm8k5E9Pmwg3HOAal2VDc2F9+PM/rEY6oIDg==", + "version": "0.25.6", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.6.tgz", + "integrity": "sha512-hd5zdUarsK6strW+3Wxi5qWws+rJhCCbMiC9QZyzoxfk5uHRIE8T287giQxzVpEvCwuJ9Qjg6bEjcRJcgfLqoA==", "cpu": [ "arm64" ], @@ -1125,9 +702,9 @@ } }, "node_modules/@esbuild/android-x64": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.5.tgz", - "integrity": "sha512-D2GyJT1kjvO//drbRT3Hib9XPwQeWd9vZoBJn+bu/lVsOZ13cqNdDeqIF/xQ5/VmWvMduP6AmXvylO/PIc2isw==", + "version": "0.25.6", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.6.tgz", + "integrity": "sha512-0Z7KpHSr3VBIO9A/1wcT3NTy7EB4oNC4upJ5ye3R7taCc2GUdeynSLArnon5G8scPwaU866d3H4BCrE5xLW25A==", "cpu": [ "x64" ], @@ -1142,9 +719,9 @@ } }, "node_modules/@esbuild/darwin-arm64": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.5.tgz", - "integrity": "sha512-GtaBgammVvdF7aPIgH2jxMDdivezgFu6iKpmT+48+F8Hhg5J/sfnDieg0aeG/jfSvkYQU2/pceFPDKlqZzwnfQ==", + "version": "0.25.6", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.6.tgz", + "integrity": "sha512-FFCssz3XBavjxcFxKsGy2DYK5VSvJqa6y5HXljKzhRZ87LvEi13brPrf/wdyl/BbpbMKJNOr1Sd0jtW4Ge1pAA==", "cpu": [ "arm64" ], @@ -1159,9 +736,9 @@ } }, "node_modules/@esbuild/darwin-x64": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.5.tgz", - "integrity": "sha512-1iT4FVL0dJ76/q1wd7XDsXrSW+oLoquptvh4CLR4kITDtqi2e/xwXwdCVH8hVHU43wgJdsq7Gxuzcs6Iq/7bxQ==", + "version": "0.25.6", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.6.tgz", + "integrity": "sha512-GfXs5kry/TkGM2vKqK2oyiLFygJRqKVhawu3+DOCk7OxLy/6jYkWXhlHwOoTb0WqGnWGAS7sooxbZowy+pK9Yg==", "cpu": [ "x64" ], @@ -1176,9 +753,9 @@ } }, "node_modules/@esbuild/freebsd-arm64": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.5.tgz", - "integrity": "sha512-nk4tGP3JThz4La38Uy/gzyXtpkPW8zSAmoUhK9xKKXdBCzKODMc2adkB2+8om9BDYugz+uGV7sLmpTYzvmz6Sw==", + "version": "0.25.6", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.6.tgz", + "integrity": "sha512-aoLF2c3OvDn2XDTRvn8hN6DRzVVpDlj2B/F66clWd/FHLiHaG3aVZjxQX2DYphA5y/evbdGvC6Us13tvyt4pWg==", "cpu": [ "arm64" ], @@ -1193,9 +770,9 @@ } }, "node_modules/@esbuild/freebsd-x64": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.5.tgz", - "integrity": "sha512-PrikaNjiXdR2laW6OIjlbeuCPrPaAl0IwPIaRv+SMV8CiM8i2LqVUHFC1+8eORgWyY7yhQY+2U2fA55mBzReaw==", + "version": "0.25.6", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.6.tgz", + "integrity": "sha512-2SkqTjTSo2dYi/jzFbU9Plt1vk0+nNg8YC8rOXXea+iA3hfNJWebKYPs3xnOUf9+ZWhKAaxnQNUf2X9LOpeiMQ==", "cpu": [ "x64" ], @@ -1210,9 +787,9 @@ } }, "node_modules/@esbuild/linux-arm": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.5.tgz", - "integrity": "sha512-cPzojwW2okgh7ZlRpcBEtsX7WBuqbLrNXqLU89GxWbNt6uIg78ET82qifUy3W6OVww6ZWobWub5oqZOVtwolfw==", + "version": "0.25.6", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.6.tgz", + "integrity": "sha512-SZHQlzvqv4Du5PrKE2faN0qlbsaW/3QQfUUc6yO2EjFcA83xnwm91UbEEVx4ApZ9Z5oG8Bxz4qPE+HFwtVcfyw==", "cpu": [ "arm" ], @@ -1227,9 +804,9 @@ } }, "node_modules/@esbuild/linux-arm64": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.5.tgz", - "integrity": "sha512-Z9kfb1v6ZlGbWj8EJk9T6czVEjjq2ntSYLY2cw6pAZl4oKtfgQuS4HOq41M/BcoLPzrUbNd+R4BXFyH//nHxVg==", + "version": "0.25.6", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.6.tgz", + "integrity": "sha512-b967hU0gqKd9Drsh/UuAm21Khpoh6mPBSgz8mKRq4P5mVK8bpA+hQzmm/ZwGVULSNBzKdZPQBRT3+WuVavcWsQ==", "cpu": [ "arm64" ], @@ -1244,9 +821,9 @@ } }, "node_modules/@esbuild/linux-ia32": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.5.tgz", - "integrity": "sha512-sQ7l00M8bSv36GLV95BVAdhJ2QsIbCuCjh/uYrWiMQSUuV+LpXwIqhgJDcvMTj+VsQmqAHL2yYaasENvJ7CDKA==", + "version": "0.25.6", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.6.tgz", + "integrity": "sha512-aHWdQ2AAltRkLPOsKdi3xv0mZ8fUGPdlKEjIEhxCPm5yKEThcUjHpWB1idN74lfXGnZ5SULQSgtr5Qos5B0bPw==", "cpu": [ "ia32" ], @@ -1261,9 +838,9 @@ } }, "node_modules/@esbuild/linux-loong64": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.5.tgz", - "integrity": "sha512-0ur7ae16hDUC4OL5iEnDb0tZHDxYmuQyhKhsPBV8f99f6Z9KQM02g33f93rNH5A30agMS46u2HP6qTdEt6Q1kg==", + "version": "0.25.6", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.6.tgz", + "integrity": "sha512-VgKCsHdXRSQ7E1+QXGdRPlQ/e08bN6WMQb27/TMfV+vPjjTImuT9PmLXupRlC90S1JeNNW5lzkAEO/McKeJ2yg==", "cpu": [ "loong64" ], @@ -1278,9 +855,9 @@ } }, "node_modules/@esbuild/linux-mips64el": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.5.tgz", - "integrity": "sha512-kB/66P1OsHO5zLz0i6X0RxlQ+3cu0mkxS3TKFvkb5lin6uwZ/ttOkP3Z8lfR9mJOBk14ZwZ9182SIIWFGNmqmg==", + "version": "0.25.6", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.6.tgz", + "integrity": "sha512-WViNlpivRKT9/py3kCmkHnn44GkGXVdXfdc4drNmRl15zVQ2+D2uFwdlGh6IuK5AAnGTo2qPB1Djppj+t78rzw==", "cpu": [ "mips64el" ], @@ -1295,9 +872,9 @@ } }, "node_modules/@esbuild/linux-ppc64": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.5.tgz", - "integrity": "sha512-UZCmJ7r9X2fe2D6jBmkLBMQetXPXIsZjQJCjgwpVDz+YMcS6oFR27alkgGv3Oqkv07bxdvw7fyB71/olceJhkQ==", + "version": "0.25.6", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.6.tgz", + "integrity": "sha512-wyYKZ9NTdmAMb5730I38lBqVu6cKl4ZfYXIs31Baf8aoOtB4xSGi3THmDYt4BTFHk7/EcVixkOV2uZfwU3Q2Jw==", "cpu": [ "ppc64" ], @@ -1312,9 +889,9 @@ } }, "node_modules/@esbuild/linux-riscv64": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.5.tgz", - "integrity": "sha512-kTxwu4mLyeOlsVIFPfQo+fQJAV9mh24xL+y+Bm6ej067sYANjyEw1dNHmvoqxJUCMnkBdKpvOn0Ahql6+4VyeA==", + "version": "0.25.6", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.6.tgz", + "integrity": "sha512-KZh7bAGGcrinEj4qzilJ4hqTY3Dg2U82c8bv+e1xqNqZCrCyc+TL9AUEn5WGKDzm3CfC5RODE/qc96OcbIe33w==", "cpu": [ "riscv64" ], @@ -1329,9 +906,9 @@ } }, "node_modules/@esbuild/linux-s390x": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.5.tgz", - "integrity": "sha512-K2dSKTKfmdh78uJ3NcWFiqyRrimfdinS5ErLSn3vluHNeHVnBAFWC8a4X5N+7FgVE1EjXS1QDZbpqZBjfrqMTQ==", + "version": "0.25.6", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.6.tgz", + "integrity": "sha512-9N1LsTwAuE9oj6lHMyyAM+ucxGiVnEqUdp4v7IaMmrwb06ZTEVCIs3oPPplVsnjPfyjmxwHxHMF8b6vzUVAUGw==", "cpu": [ "s390x" ], @@ -1346,9 +923,9 @@ } }, "node_modules/@esbuild/linux-x64": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.5.tgz", - "integrity": "sha512-uhj8N2obKTE6pSZ+aMUbqq+1nXxNjZIIjCjGLfsWvVpy7gKCOL6rsY1MhRh9zLtUtAI7vpgLMK6DxjO8Qm9lJw==", + "version": "0.25.6", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.6.tgz", + "integrity": "sha512-A6bJB41b4lKFWRKNrWoP2LHsjVzNiaurf7wyj/XtFNTsnPuxwEBWHLty+ZE0dWBKuSK1fvKgrKaNjBS7qbFKig==", "cpu": [ "x64" ], @@ -1363,9 +940,9 @@ } }, "node_modules/@esbuild/netbsd-arm64": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.5.tgz", - "integrity": "sha512-pwHtMP9viAy1oHPvgxtOv+OkduK5ugofNTVDilIzBLpoWAM16r7b/mxBvfpuQDpRQFMfuVr5aLcn4yveGvBZvw==", + "version": "0.25.6", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.6.tgz", + "integrity": "sha512-IjA+DcwoVpjEvyxZddDqBY+uJ2Snc6duLpjmkXm/v4xuS3H+3FkLZlDm9ZsAbF9rsfP3zeA0/ArNDORZgrxR/Q==", "cpu": [ "arm64" ], @@ -1380,9 +957,9 @@ } }, "node_modules/@esbuild/netbsd-x64": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.5.tgz", - "integrity": "sha512-WOb5fKrvVTRMfWFNCroYWWklbnXH0Q5rZppjq0vQIdlsQKuw6mdSihwSo4RV/YdQ5UCKKvBy7/0ZZYLBZKIbwQ==", + "version": "0.25.6", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.6.tgz", + "integrity": "sha512-dUXuZr5WenIDlMHdMkvDc1FAu4xdWixTCRgP7RQLBOkkGgwuuzaGSYcOpW4jFxzpzL1ejb8yF620UxAqnBrR9g==", "cpu": [ "x64" ], @@ -1397,9 +974,9 @@ } }, "node_modules/@esbuild/openbsd-arm64": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.5.tgz", - "integrity": "sha512-7A208+uQKgTxHd0G0uqZO8UjK2R0DDb4fDmERtARjSHWxqMTye4Erz4zZafx7Di9Cv+lNHYuncAkiGFySoD+Mw==", + "version": "0.25.6", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.6.tgz", + "integrity": "sha512-l8ZCvXP0tbTJ3iaqdNf3pjaOSd5ex/e6/omLIQCVBLmHTlfXW3zAxQ4fnDmPLOB1x9xrcSi/xtCWFwCZRIaEwg==", "cpu": [ "arm64" ], @@ -1414,9 +991,9 @@ } }, "node_modules/@esbuild/openbsd-x64": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.5.tgz", - "integrity": "sha512-G4hE405ErTWraiZ8UiSoesH8DaCsMm0Cay4fsFWOOUcz8b8rC6uCvnagr+gnioEjWn0wC+o1/TAHt+It+MpIMg==", + "version": "0.25.6", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.6.tgz", + "integrity": "sha512-hKrmDa0aOFOr71KQ/19JC7az1P0GWtCN1t2ahYAf4O007DHZt/dW8ym5+CUdJhQ/qkZmI1HAF8KkJbEFtCL7gw==", "cpu": [ "x64" ], @@ -1430,10 +1007,27 @@ "node": ">=18" } }, + "node_modules/@esbuild/openharmony-arm64": { + "version": "0.25.6", + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.6.tgz", + "integrity": "sha512-+SqBcAWoB1fYKmpWoQP4pGtx+pUUC//RNYhFdbcSA16617cchuryuhOCRpPsjCblKukAckWsV+aQ3UKT/RMPcA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": ">=18" + } + }, "node_modules/@esbuild/sunos-x64": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.5.tgz", - "integrity": "sha512-l+azKShMy7FxzY0Rj4RCt5VD/q8mG/e+mDivgspo+yL8zW7qEwctQ6YqKX34DTEleFAvCIUviCFX1SDZRSyMQA==", + "version": "0.25.6", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.6.tgz", + "integrity": "sha512-dyCGxv1/Br7MiSC42qinGL8KkG4kX0pEsdb0+TKhmJZgCUDBGmyo1/ArCjNGiOLiIAgdbWgmWgib4HoCi5t7kA==", "cpu": [ "x64" ], @@ -1448,9 +1042,9 @@ } }, "node_modules/@esbuild/win32-arm64": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.5.tgz", - "integrity": "sha512-O2S7SNZzdcFG7eFKgvwUEZ2VG9D/sn/eIiz8XRZ1Q/DO5a3s76Xv0mdBzVM5j5R639lXQmPmSo0iRpHqUUrsxw==", + "version": "0.25.6", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.6.tgz", + "integrity": "sha512-42QOgcZeZOvXfsCBJF5Afw73t4veOId//XD3i+/9gSkhSV6Gk3VPlWncctI+JcOyERv85FUo7RxuxGy+z8A43Q==", "cpu": [ "arm64" ], @@ -1465,9 +1059,9 @@ } }, "node_modules/@esbuild/win32-ia32": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.5.tgz", - "integrity": "sha512-onOJ02pqs9h1iMJ1PQphR+VZv8qBMQ77Klcsqv9CNW2w6yLqoURLcgERAIurY6QE63bbLuqgP9ATqajFLK5AMQ==", + "version": "0.25.6", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.6.tgz", + "integrity": "sha512-4AWhgXmDuYN7rJI6ORB+uU9DHLq/erBbuMoAuB4VWJTu5KtCgcKYPynF0YI1VkBNuEfjNlLrFr9KZPJzrtLkrQ==", "cpu": [ "ia32" ], @@ -1482,9 +1076,9 @@ } }, "node_modules/@esbuild/win32-x64": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.5.tgz", - "integrity": "sha512-TXv6YnJ8ZMVdX+SXWVBo/0p8LTcrUYngpWjvm91TMjjBQii7Oz11Lw5lbDV5Y0TzuhSJHwiH4hEtC1I42mMS0g==", + "version": "0.25.6", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.6.tgz", + "integrity": "sha512-NgJPHHbEpLQgDH2MjQu90pzW/5vvXIZ7KOnPyNBm92A6WgZ/7b6fJyUBjoumLqeOQQGqY2QjQxRo97ah4Sj0cA==", "cpu": [ "x64" ], @@ -1519,6 +1113,8 @@ }, "node_modules/@eslint-community/regexpp": { "version": "4.12.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz", + "integrity": "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==", "dev": true, "license": "MIT", "engines": { @@ -1526,7 +1122,9 @@ } }, "node_modules/@eslint/config-array": { - "version": "0.19.2", + "version": "0.21.0", + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.21.0.tgz", + "integrity": "sha512-ENIdc4iLu0d93HeYirvKmrzshzofPw6VkZRKQGe9Nv46ZnWUzcF1xV01dcvEg/1wXUR61OmmlSfyeyO7EvjLxQ==", "dev": true, "license": "Apache-2.0", "dependencies": { @@ -1539,7 +1137,9 @@ } }, "node_modules/@eslint/config-array/node_modules/brace-expansion": { - "version": "1.1.11", + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", "dev": true, "license": "MIT", "dependencies": { @@ -1549,6 +1149,8 @@ }, "node_modules/@eslint/config-array/node_modules/minimatch": { "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, "license": "ISC", "dependencies": { @@ -1559,7 +1161,9 @@ } }, "node_modules/@eslint/config-helpers": { - "version": "0.2.0", + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.3.0.tgz", + "integrity": "sha512-ViuymvFmcJi04qdZeDc2whTHryouGcDlaxPqarTD0ZE10ISpxGUVZGZDx4w01upyIynL3iu6IXH2bS1NhclQMw==", "dev": true, "license": "Apache-2.0", "engines": { @@ -1567,7 +1171,9 @@ } }, "node_modules/@eslint/core": { - "version": "0.12.0", + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.14.0.tgz", + "integrity": "sha512-qIbV0/JZr7iSDjqAc60IqbLdsj9GDt16xQtWD+B78d/HAlvysGdZZ6rpJHGAc2T0FQx1X6thsSPdnoiGKdNtdg==", "dev": true, "license": "Apache-2.0", "dependencies": { @@ -1579,6 +1185,8 @@ }, "node_modules/@eslint/eslintrc": { "version": "3.3.1", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.1.tgz", + "integrity": "sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==", "dev": true, "license": "MIT", "dependencies": { @@ -1599,8 +1207,27 @@ "url": "https://opencollective.com/eslint" } }, + "node_modules/@eslint/eslintrc/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, "node_modules/@eslint/eslintrc/node_modules/brace-expansion": { - "version": "1.1.11", + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", "dev": true, "license": "MIT", "dependencies": { @@ -1608,8 +1235,27 @@ "concat-map": "0.0.1" } }, + "node_modules/@eslint/eslintrc/node_modules/ignore": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/@eslint/eslintrc/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true, + "license": "MIT" + }, "node_modules/@eslint/eslintrc/node_modules/minimatch": { "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, "license": "ISC", "dependencies": { @@ -1620,15 +1266,22 @@ } }, "node_modules/@eslint/js": { - "version": "9.23.0", + "version": "9.30.1", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.30.1.tgz", + "integrity": "sha512-zXhuECFlyep42KZUhWjfvsmXGX39W8K8LFb8AWXM9gSV9dQB+MrJGLKvW6Zw0Ggnbpw0VHTtrhFXYe3Gym18jg==", "dev": true, "license": "MIT", "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://eslint.org/donate" } }, "node_modules/@eslint/object-schema": { "version": "2.1.6", + "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.6.tgz", + "integrity": "sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==", "dev": true, "license": "Apache-2.0", "engines": { @@ -1636,19 +1289,36 @@ } }, "node_modules/@eslint/plugin-kit": { - "version": "0.2.7", + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.3.3.tgz", + "integrity": "sha512-1+WqvgNMhmlAambTvT3KPtCl/Ibr68VldY2XY40SL1CE0ZXiakFR/cbTspaF5HsnpDMvcYYoJHfl4980NBjGag==", "dev": true, "license": "Apache-2.0", "dependencies": { - "@eslint/core": "^0.12.0", + "@eslint/core": "^0.15.1", "levn": "^0.4.1" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, + "node_modules/@eslint/plugin-kit/node_modules/@eslint/core": { + "version": "0.15.1", + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.15.1.tgz", + "integrity": "sha512-bkOp+iumZCCbt1K1CmWf0R9pM5yKpDv+ZXtvSyQpudrI9kuFLp+bM2WOPXImuD/ceQuaa8f5pj93Y7zyECIGNA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@types/json-schema": "^7.0.15" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, "node_modules/@humanfs/core": { "version": "0.19.1", + "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", + "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", "dev": true, "license": "Apache-2.0", "engines": { @@ -1657,6 +1327,8 @@ }, "node_modules/@humanfs/node": { "version": "0.16.6", + "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.6.tgz", + "integrity": "sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==", "dev": true, "license": "Apache-2.0", "dependencies": { @@ -1669,6 +1341,8 @@ }, "node_modules/@humanfs/node/node_modules/@humanwhocodes/retry": { "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.3.1.tgz", + "integrity": "sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==", "dev": true, "license": "Apache-2.0", "engines": { @@ -1681,6 +1355,8 @@ }, "node_modules/@humanwhocodes/module-importer": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", "dev": true, "license": "Apache-2.0", "engines": { @@ -1692,7 +1368,9 @@ } }, "node_modules/@humanwhocodes/retry": { - "version": "0.4.2", + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.3.tgz", + "integrity": "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==", "dev": true, "license": "Apache-2.0", "engines": { @@ -1704,33 +1382,28 @@ } }, "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.8", + "version": "0.3.12", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.12.tgz", + "integrity": "sha512-OuLGC46TjB5BbN1dH8JULVVZY4WTdkF7tV9Ys6wLL1rubZnCMstOhNHueU5bLCrnRuDhKPDM4g6sw4Bel5Gzqg==", "license": "MIT", "dependencies": { - "@jridgewell/set-array": "^1.2.1", - "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/sourcemap-codec": "^1.5.0", "@jridgewell/trace-mapping": "^0.3.24" - }, - "engines": { - "node": ">=6.0.0" } }, "node_modules/@jridgewell/resolve-uri": { "version": "3.1.2", - "license": "MIT", - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/set-array": { - "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", "license": "MIT", "engines": { "node": ">=6.0.0" } }, "node_modules/@jridgewell/source-map": { - "version": "0.3.6", + "version": "0.3.10", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.10.tgz", + "integrity": "sha512-0pPkgz9dY+bijgistcTTJ5mR+ocqRXLuhXHYdzoMmmoJ2C9S46RCm2GMUbatPEUK9Yjy26IrAy8D/M00lLkv+Q==", "license": "MIT", "dependencies": { "@jridgewell/gen-mapping": "^0.3.5", @@ -1738,11 +1411,15 @@ } }, "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.5.0", + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.4.tgz", + "integrity": "sha512-VT2+G1VQs/9oz078bLrYbecdZKs912zQlkelYpuf+SXF+QvZDYJlbx/LSx+meSAwdDFnF8FVXW92AVjjkVmgFw==", "license": "MIT" }, "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.25", + "version": "0.3.29", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.29.tgz", + "integrity": "sha512-uw6guiW/gcAGPDhLmd77/6lW8QLeiV5RUTsAX46Db6oLhGaVj4lhnPwb184s1bkc8kdVg/+h988dro8GRDpmYQ==", "license": "MIT", "dependencies": { "@jridgewell/resolve-uri": "^3.1.0", @@ -1750,9 +1427,9 @@ } }, "node_modules/@napi-rs/lzma": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/@napi-rs/lzma/-/lzma-1.4.1.tgz", - "integrity": "sha512-5f8K9NHjwHjZKGm3SS+7CFxXQhz8rbg2umBm/9g0xQRXBdYEI31N5z1ACuk9bmBQOusXAq9CArGfs/ZQso2rUA==", + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/@napi-rs/lzma/-/lzma-1.4.3.tgz", + "integrity": "sha512-uBjLLoUM9ll03jL/bP7XjyPg0vTU0vQ35N1vVqQHbzlK/fVZyuF2B1p/A6kqPsFFhaoBKgO6oaxsuerv091RtQ==", "license": "MIT", "engines": { "node": ">= 10" @@ -1762,29 +1439,29 @@ "url": "https://github.com/sponsors/Brooooooklyn" }, "optionalDependencies": { - "@napi-rs/lzma-android-arm-eabi": "1.4.1", - "@napi-rs/lzma-android-arm64": "1.4.1", - "@napi-rs/lzma-darwin-arm64": "1.4.1", - "@napi-rs/lzma-darwin-x64": "1.4.1", - "@napi-rs/lzma-freebsd-x64": "1.4.1", - "@napi-rs/lzma-linux-arm-gnueabihf": "1.4.1", - "@napi-rs/lzma-linux-arm64-gnu": "1.4.1", - "@napi-rs/lzma-linux-arm64-musl": "1.4.1", - "@napi-rs/lzma-linux-ppc64-gnu": "1.4.1", - "@napi-rs/lzma-linux-riscv64-gnu": "1.4.1", - "@napi-rs/lzma-linux-s390x-gnu": "1.4.1", - "@napi-rs/lzma-linux-x64-gnu": "1.4.1", - "@napi-rs/lzma-linux-x64-musl": "1.4.1", - "@napi-rs/lzma-wasm32-wasi": "1.4.1", - "@napi-rs/lzma-win32-arm64-msvc": "1.4.1", - "@napi-rs/lzma-win32-ia32-msvc": "1.4.1", - "@napi-rs/lzma-win32-x64-msvc": "1.4.1" + "@napi-rs/lzma-android-arm-eabi": "1.4.3", + "@napi-rs/lzma-android-arm64": "1.4.3", + "@napi-rs/lzma-darwin-arm64": "1.4.3", + "@napi-rs/lzma-darwin-x64": "1.4.3", + "@napi-rs/lzma-freebsd-x64": "1.4.3", + "@napi-rs/lzma-linux-arm-gnueabihf": "1.4.3", + "@napi-rs/lzma-linux-arm64-gnu": "1.4.3", + "@napi-rs/lzma-linux-arm64-musl": "1.4.3", + "@napi-rs/lzma-linux-ppc64-gnu": "1.4.3", + "@napi-rs/lzma-linux-riscv64-gnu": "1.4.3", + "@napi-rs/lzma-linux-s390x-gnu": "1.4.3", + "@napi-rs/lzma-linux-x64-gnu": "1.4.3", + "@napi-rs/lzma-linux-x64-musl": "1.4.3", + "@napi-rs/lzma-wasm32-wasi": "1.4.3", + "@napi-rs/lzma-win32-arm64-msvc": "1.4.3", + "@napi-rs/lzma-win32-ia32-msvc": "1.4.3", + "@napi-rs/lzma-win32-x64-msvc": "1.4.3" } }, "node_modules/@napi-rs/lzma-android-arm-eabi": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/@napi-rs/lzma-android-arm-eabi/-/lzma-android-arm-eabi-1.4.1.tgz", - "integrity": "sha512-yenreSpZ9IrqppJOiWDqWMmja7XtSgio9LhtxYwgdILmy/OJTe/mlTYv+FhJBf7hIV9Razu5eBuEa3zKri81IA==", + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/@napi-rs/lzma-android-arm-eabi/-/lzma-android-arm-eabi-1.4.3.tgz", + "integrity": "sha512-XpjRUZ/EbWtVbMvW+ucon5Ykz7PjMoX65mIlUdAiVnaPGykzFAUrl8dl6Br5bfqnhQQfDjjUIgTAwWl3G++n1g==", "cpu": [ "arm" ], @@ -1798,9 +1475,9 @@ } }, "node_modules/@napi-rs/lzma-android-arm64": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/@napi-rs/lzma-android-arm64/-/lzma-android-arm64-1.4.1.tgz", - "integrity": "sha512-piutVBz5B1TNxXeEjub0n/IKI6dMaXPPRbVSXuc4gnZgzcihNDUh68vcLZgYd+IMiACZvBxvx2O3t5nthtph3A==", + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/@napi-rs/lzma-android-arm64/-/lzma-android-arm64-1.4.3.tgz", + "integrity": "sha512-Bve6BF/4pnlO6HotIgRWgmUT3rbbW/QH471RF/GBA29GfEeUOPEdfQWC7tlzrLYsVFNX2KCWKd+XlxQNz9sRaA==", "cpu": [ "arm64" ], @@ -1814,9 +1491,9 @@ } }, "node_modules/@napi-rs/lzma-darwin-arm64": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/@napi-rs/lzma-darwin-arm64/-/lzma-darwin-arm64-1.4.1.tgz", - "integrity": "sha512-sDfOhQQFqV8lGbpgJN9DqNLBPR7QOfYjcWUv8FOGPaVP1LPJDnrc5uCpRWWEa2zIKmTiO8P9xzIl0TDzrYmghg==", + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/@napi-rs/lzma-darwin-arm64/-/lzma-darwin-arm64-1.4.3.tgz", + "integrity": "sha512-UxTb56kL6pSVTsZ1ShibnqLSwJZLTWtPU5TNYuyIjVNQYAIG8JQ5Yxz35azjwBCK7AjD8pBdpWLYUSyJRGAVAw==", "cpu": [ "arm64" ], @@ -1830,9 +1507,9 @@ } }, "node_modules/@napi-rs/lzma-darwin-x64": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/@napi-rs/lzma-darwin-x64/-/lzma-darwin-x64-1.4.1.tgz", - "integrity": "sha512-S5/RbC6EP4QkYy2xhxbfm48ZD9FkysfpWY4Slve0nj5RGGsHvcJBg2Pi69jrTPB/zLKz2SUa0i+RfUt9zvZNaw==", + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/@napi-rs/lzma-darwin-x64/-/lzma-darwin-x64-1.4.3.tgz", + "integrity": "sha512-ps6HiwGKS1P4ottyV2/hVboZ0ugdM1Z1qO9YFpcuKweORfxAkxwJ6S8jOt7G27LQiWiiQHVwsUCODTHDFhOUPQ==", "cpu": [ "x64" ], @@ -1846,9 +1523,9 @@ } }, "node_modules/@napi-rs/lzma-freebsd-x64": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/@napi-rs/lzma-freebsd-x64/-/lzma-freebsd-x64-1.4.1.tgz", - "integrity": "sha512-4AFnq6aZnclwameSBkDWu5Ftb8y4GwvVXeQXJKbN7hf7O5GG/8QpQB1R1NJw2QORUhpKwjAQUpbkTyhL2GFWWw==", + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/@napi-rs/lzma-freebsd-x64/-/lzma-freebsd-x64-1.4.3.tgz", + "integrity": "sha512-W49h41U3+vLnbthbPzvJX1fQtTG+1jyUlfB+wX3oxILvIur06PjJRdMXrFtOZpWkFsihK9gO2DRkQYQJIIgTZw==", "cpu": [ "x64" ], @@ -1862,9 +1539,9 @@ } }, "node_modules/@napi-rs/lzma-linux-arm-gnueabihf": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/@napi-rs/lzma-linux-arm-gnueabihf/-/lzma-linux-arm-gnueabihf-1.4.1.tgz", - "integrity": "sha512-j5rL1YRIm6rWmmGAvN6DPX6QuRjvFGB93xJ7DTRB47GXW4zHekXae6ivowjJ95vT4Iz4hSWkZbuwAy95eFrWRA==", + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/@napi-rs/lzma-linux-arm-gnueabihf/-/lzma-linux-arm-gnueabihf-1.4.3.tgz", + "integrity": "sha512-11PNPiMGuwwxIxd9yPZY3Ek6RFGFRFQb/AtMStJIwlmJ6sM/djEknClLJVbVXbC/nqm7htVZEr+qmYgoDy0fAw==", "cpu": [ "arm" ], @@ -1878,9 +1555,9 @@ } }, "node_modules/@napi-rs/lzma-linux-arm64-gnu": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/@napi-rs/lzma-linux-arm64-gnu/-/lzma-linux-arm64-gnu-1.4.1.tgz", - "integrity": "sha512-1XdFGKyTS9m+VrRQYs9uz+ToHf4Jwm0ejHU48k9lT9MPl8jSqzKdVtFzZBPzronHteSynBfKmUq0+HeWmjrsOQ==", + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/@napi-rs/lzma-linux-arm64-gnu/-/lzma-linux-arm64-gnu-1.4.3.tgz", + "integrity": "sha512-XzlxZjSXTcrWFHbvvv2xbV5+bSV5IJqCJ8CCksc7xV3uWEAso9yBPJ8VSRD3GPc7ZoBDRqJmgCb/HQzHpLBekw==", "cpu": [ "arm64" ], @@ -1894,9 +1571,9 @@ } }, "node_modules/@napi-rs/lzma-linux-arm64-musl": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/@napi-rs/lzma-linux-arm64-musl/-/lzma-linux-arm64-musl-1.4.1.tgz", - "integrity": "sha512-9d09tYS0/rBwIk1QTcO2hMZEB/ZpsG2+uFW5am1RHElSWMclObirB1An7b6AMDJcRvcomkOg2GZ9COzrvHKwEA==", + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/@napi-rs/lzma-linux-arm64-musl/-/lzma-linux-arm64-musl-1.4.3.tgz", + "integrity": "sha512-k4fWiI4Pm61Esj8hnm7NWIbpZueTtP2jlJqmMhTqJyjqW3NUxbTHjSErZOZKIFRF1B3if4v5Tyzo7JL2X+BaSQ==", "cpu": [ "arm64" ], @@ -1910,9 +1587,9 @@ } }, "node_modules/@napi-rs/lzma-linux-ppc64-gnu": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/@napi-rs/lzma-linux-ppc64-gnu/-/lzma-linux-ppc64-gnu-1.4.1.tgz", - "integrity": "sha512-UzEkmsgoJ3IOGIRb6kBzNiw+ThUpiighop7dVYfSqlF5juGzwf7YewC57RGn4FoJCvadOCrSm5VikAcgrwVgAw==", + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/@napi-rs/lzma-linux-ppc64-gnu/-/lzma-linux-ppc64-gnu-1.4.3.tgz", + "integrity": "sha512-tTIfk+TYZYbFySxaCMuzp4Zz1T3I6OYVYNAm+IrCSkZDLmUKUzBK3+Su+mT+PjcTNsAiHBa5NVjARXC7b7jmgQ==", "cpu": [ "ppc64" ], @@ -1926,9 +1603,9 @@ } }, "node_modules/@napi-rs/lzma-linux-riscv64-gnu": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/@napi-rs/lzma-linux-riscv64-gnu/-/lzma-linux-riscv64-gnu-1.4.1.tgz", - "integrity": "sha512-9dUKlZ1PdwxTaFF+j3oc+xjlk9nqFwo1NWWOH30uwjl4Rm5Gkv+Fx0pHrzu4kR/iVA+oyQqa9/2uDYnGSTijBA==", + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/@napi-rs/lzma-linux-riscv64-gnu/-/lzma-linux-riscv64-gnu-1.4.3.tgz", + "integrity": "sha512-HPyLYOYhkN7QYaWiKWhSnsLmx/l0pqgiiyaYeycgxCm9dwL8ummFWxveZqYjqdbUUvG7Mgi1jqgRe+55MVdyZQ==", "cpu": [ "riscv64" ], @@ -1942,9 +1619,9 @@ } }, "node_modules/@napi-rs/lzma-linux-s390x-gnu": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/@napi-rs/lzma-linux-s390x-gnu/-/lzma-linux-s390x-gnu-1.4.1.tgz", - "integrity": "sha512-MOVXUWJSLLCJDCCAlGa39sh7nv9XjvXzCf7QJus7rD8Ciz0mpXNXF9mg0ji7/MZ7pZlKPlXjXDnpVCfFdSEaFQ==", + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/@napi-rs/lzma-linux-s390x-gnu/-/lzma-linux-s390x-gnu-1.4.3.tgz", + "integrity": "sha512-YkcV+RSZZIMM3D5sPZqvo2Q7/tHXBhgJWBi+6ceo46pTlqgn/nH+pVz+CzsDmLWz5hqNSXyv5IAhOcg2CH6rAg==", "cpu": [ "s390x" ], @@ -1958,9 +1635,9 @@ } }, "node_modules/@napi-rs/lzma-linux-x64-gnu": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/@napi-rs/lzma-linux-x64-gnu/-/lzma-linux-x64-gnu-1.4.1.tgz", - "integrity": "sha512-Sxu7aJxU1sDbUTqjqLVDV3DCOAlbsFKvmuCN/S5uXBJd1IF2wJ9jK3NbFzfqTAo5Hudx8Y7kOb6+3K+fYPI1KQ==", + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/@napi-rs/lzma-linux-x64-gnu/-/lzma-linux-x64-gnu-1.4.3.tgz", + "integrity": "sha512-ep6PLjN1+g4P12Hc7sLRmVpXXaHX22ykqxnOzjXUoj1KTph5XgM4+fUCyE5dsYI+lB4/tXqFuf9ZeFgHk5f00A==", "cpu": [ "x64" ], @@ -1974,9 +1651,9 @@ } }, "node_modules/@napi-rs/lzma-linux-x64-musl": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/@napi-rs/lzma-linux-x64-musl/-/lzma-linux-x64-musl-1.4.1.tgz", - "integrity": "sha512-4I3BeKBQJSE5gF2/VTEv7wCLLjhapeutbCGpZPmDiLHZ74rm9edmNXAlKpdjADQ4YDLJ2GIBzttvwLXkJ9U+cw==", + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/@napi-rs/lzma-linux-x64-musl/-/lzma-linux-x64-musl-1.4.3.tgz", + "integrity": "sha512-QkCO6rVw0Z7eY0ziVc4aCFplbOTMpt0UBLPXWxsPd2lXtkAlRChzqaHOxdcL/HoLmBsqdCxmG0EZuHuAP/vKZQ==", "cpu": [ "x64" ], @@ -1990,25 +1667,25 @@ } }, "node_modules/@napi-rs/lzma-wasm32-wasi": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/@napi-rs/lzma-wasm32-wasi/-/lzma-wasm32-wasi-1.4.1.tgz", - "integrity": "sha512-s32HdKqQWbohf6DGWpG9YMODaBdbKJ++JpNr6Ii7821sKf4h/o+p8IRFTOaWdmdJdllEWlRirnd5crA29VivJQ==", + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/@napi-rs/lzma-wasm32-wasi/-/lzma-wasm32-wasi-1.4.3.tgz", + "integrity": "sha512-+rMamB0xaeDyVt4OP4cV888cnmso+m78iUebNhGcrL/WXIziwql50KQrmj7PBdBCza/W7XEcraZT8pO8gSDGcg==", "cpu": [ "wasm32" ], "license": "MIT", "optional": true, "dependencies": { - "@napi-rs/wasm-runtime": "^0.2.4" + "@napi-rs/wasm-runtime": "^0.2.10" }, "engines": { "node": ">=14.0.0" } }, "node_modules/@napi-rs/lzma-win32-arm64-msvc": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/@napi-rs/lzma-win32-arm64-msvc/-/lzma-win32-arm64-msvc-1.4.1.tgz", - "integrity": "sha512-ISz+v7ML5mKnjEZ7Kk4Z1BIn411r/fz3tDy9j5yDnwQI0MgTsUQFrIQElGUpULWYs2aYc6EZ9PhECbLBfSjh7A==", + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/@napi-rs/lzma-win32-arm64-msvc/-/lzma-win32-arm64-msvc-1.4.3.tgz", + "integrity": "sha512-6gQ+R6ztw11hswdsEu0jsOOXXnJPwhOA1yHRjqfuFemhf6esMd8l9b0uh3BfLBNe7qumtrH4KLrHu8yC9pSY3g==", "cpu": [ "arm64" ], @@ -2022,9 +1699,9 @@ } }, "node_modules/@napi-rs/lzma-win32-ia32-msvc": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/@napi-rs/lzma-win32-ia32-msvc/-/lzma-win32-ia32-msvc-1.4.1.tgz", - "integrity": "sha512-3WKuCpZBrd7Jrw+h1jSu5XAsRWepMJu0sYuRoA4Y4Cwfu9gI7p5Z5Bc510nfjg7M7xvdpkI4UoW2WY7kBFRYrQ==", + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/@napi-rs/lzma-win32-ia32-msvc/-/lzma-win32-ia32-msvc-1.4.3.tgz", + "integrity": "sha512-+AJeJQoGE+QtZKlwM4VzDkfLmUa+6DsGOO5zdbIPlRCB6PEstRCXxp8lkMiQBNgk9f/IO0UEkRcJSZ+Hhqd8zw==", "cpu": [ "ia32" ], @@ -2038,9 +1715,9 @@ } }, "node_modules/@napi-rs/lzma-win32-x64-msvc": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/@napi-rs/lzma-win32-x64-msvc/-/lzma-win32-x64-msvc-1.4.1.tgz", - "integrity": "sha512-0ixRo5z1zFXdh62hlrTV+QCTKHK0te5NHKaExOluhtcc6AdpMmpslvM9JhUxNHI+zM46w/DmmcvcOtqsaTmHgg==", + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/@napi-rs/lzma-win32-x64-msvc/-/lzma-win32-x64-msvc-1.4.3.tgz", + "integrity": "sha512-66dFCX9ACpVUyTTom89nxhllc88yJyjxGFHO0M2olFcrSJArulfbE9kNIATgh04NDAe/l8VsDhnAxWuvJY1GuA==", "cpu": [ "x64" ], @@ -2054,15 +1731,15 @@ } }, "node_modules/@napi-rs/wasm-runtime": { - "version": "0.2.9", - "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-0.2.9.tgz", - "integrity": "sha512-OKRBiajrrxB9ATokgEQoG87Z25c67pCpYcCwmXYX8PBftC9pBfN18gnm/fh1wurSLEKIAt+QRFLFCQISrb66Jg==", + "version": "0.2.12", + "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-0.2.12.tgz", + "integrity": "sha512-ZVWUcfwY4E/yPitQJl481FjFo3K22D6qF0DuFH6Y/nbnE11GY5uguDxZMGXPQ8WQ0128MXQD7TnfHyK4oWoIJQ==", "license": "MIT", "optional": true, "dependencies": { - "@emnapi/core": "^1.4.0", - "@emnapi/runtime": "^1.4.0", - "@tybys/wasm-util": "^0.9.0" + "@emnapi/core": "^1.4.3", + "@emnapi/runtime": "^1.4.3", + "@tybys/wasm-util": "^0.10.0" } }, "node_modules/@nodelib/fs.scandir": { @@ -2104,26 +1781,30 @@ } }, "node_modules/@pkgr/core": { - "version": "0.2.0", + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/@pkgr/core/-/core-0.2.7.tgz", + "integrity": "sha512-YLT9Zo3oNPJoBjBc4q8G2mjU4tqIbf5CEOORbUUr48dCD9q3umJ3IPlVqOqDakPfd2HuwccBaqlGhN4Gmr5OWg==", "dev": true, "license": "MIT", "engines": { "node": "^12.20.0 || ^14.18.0 || >=16.0.0" }, "funding": { - "url": "https://opencollective.com/unts" + "url": "https://opencollective.com/pkgr" } }, "node_modules/@puppeteer/browsers": { - "version": "2.8.0", + "version": "2.10.5", + "resolved": "https://registry.npmjs.org/@puppeteer/browsers/-/browsers-2.10.5.tgz", + "integrity": "sha512-eifa0o+i8dERnngJwKrfp3dEq7ia5XFyoqB17S4gK8GhsQE4/P8nxOfQSE0zQHxzzLo/cmF+7+ywEQ7wK7Fb+w==", "dev": true, "license": "Apache-2.0", "dependencies": { - "debug": "^4.4.0", + "debug": "^4.4.1", "extract-zip": "^2.0.1", "progress": "^2.0.3", "proxy-agent": "^6.5.0", - "semver": "^7.7.1", + "semver": "^7.7.2", "tar-fs": "^3.0.8", "yargs": "^17.7.2" }, @@ -2160,9 +1841,9 @@ } }, "node_modules/@rollup/plugin-typescript": { - "version": "12.1.2", - "resolved": "https://registry.npmjs.org/@rollup/plugin-typescript/-/plugin-typescript-12.1.2.tgz", - "integrity": "sha512-cdtSp154H5sv637uMr1a8OTWB0L1SWDSm1rDGiyfcGcvQ6cuTs4MDk2BVEBGysUWago4OJN4EQZqOTl/QY3Jgg==", + "version": "12.1.4", + "resolved": "https://registry.npmjs.org/@rollup/plugin-typescript/-/plugin-typescript-12.1.4.tgz", + "integrity": "sha512-s5Hx+EtN60LMlDBvl5f04bEiFZmAepk27Q+mr85L/00zPDn1jtzlTV6FWn81MaIwqfWzKxmOJrBWHU6vtQyedQ==", "dev": true, "license": "MIT", "dependencies": { @@ -2187,9 +1868,9 @@ } }, "node_modules/@rollup/pluginutils": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.1.4.tgz", - "integrity": "sha512-USm05zrsFxYLPdWWq+K3STlWiT/3ELn3RcV5hJMghpeAIhxfsUIg6mt12CBJBInWMV4VneoV7SfGv8xIwo2qNQ==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.2.0.tgz", + "integrity": "sha512-qWJ2ZTbmumwiLFomfzTyt5Kng4hwPi9rwCYN4SHb6eaRU1KNO4ccxINHr/VhH4GgPlt1XfSTLX2LBTme8ne4Zw==", "dev": true, "license": "MIT", "dependencies": { @@ -2209,30 +1890,10 @@ } } }, - "node_modules/@rollup/pluginutils/node_modules/estree-walker": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", - "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", - "dev": true, - "license": "MIT" - }, - "node_modules/@rollup/pluginutils/node_modules/picomatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", - "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.40.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.40.2.tgz", - "integrity": "sha512-JkdNEq+DFxZfUwxvB58tHMHBHVgX23ew41g1OQinthJ+ryhdRk67O31S7sYw8u2lTjHUPFxwar07BBt1KHp/hg==", + "version": "4.44.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.44.2.tgz", + "integrity": "sha512-g0dF8P1e2QYPOj1gu7s/3LVP6kze9A7m6x0BZ9iTdXK8N5c2V7cpBKHV3/9A4Zd8xxavdhK0t4PnqjkqVmUc9Q==", "cpu": [ "arm" ], @@ -2244,9 +1905,9 @@ ] }, "node_modules/@rollup/rollup-android-arm64": { - "version": "4.40.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.40.2.tgz", - "integrity": "sha512-13unNoZ8NzUmnndhPTkWPWbX3vtHodYmy+I9kuLxN+F+l+x3LdVF7UCu8TWVMt1POHLh6oDHhnOA04n8oJZhBw==", + "version": "4.44.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.44.2.tgz", + "integrity": "sha512-Yt5MKrOosSbSaAK5Y4J+vSiID57sOvpBNBR6K7xAaQvk3MkcNVV0f9fE20T+41WYN8hDn6SGFlFrKudtx4EoxA==", "cpu": [ "arm64" ], @@ -2258,9 +1919,9 @@ ] }, "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.40.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.40.2.tgz", - "integrity": "sha512-Gzf1Hn2Aoe8VZzevHostPX23U7N5+4D36WJNHK88NZHCJr7aVMG4fadqkIf72eqVPGjGc0HJHNuUaUcxiR+N/w==", + "version": "4.44.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.44.2.tgz", + "integrity": "sha512-EsnFot9ZieM35YNA26nhbLTJBHD0jTwWpPwmRVDzjylQT6gkar+zenfb8mHxWpRrbn+WytRRjE0WKsfaxBkVUA==", "cpu": [ "arm64" ], @@ -2272,9 +1933,9 @@ ] }, "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.40.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.40.2.tgz", - "integrity": "sha512-47N4hxa01a4x6XnJoskMKTS8XZ0CZMd8YTbINbi+w03A2w4j1RTlnGHOz/P0+Bg1LaVL6ufZyNprSg+fW5nYQQ==", + "version": "4.44.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.44.2.tgz", + "integrity": "sha512-dv/t1t1RkCvJdWWxQ2lWOO+b7cMsVw5YFaS04oHpZRWehI1h0fV1gF4wgGCTyQHHjJDfbNpwOi6PXEafRBBezw==", "cpu": [ "x64" ], @@ -2286,9 +1947,9 @@ ] }, "node_modules/@rollup/rollup-freebsd-arm64": { - "version": "4.40.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.40.2.tgz", - "integrity": "sha512-8t6aL4MD+rXSHHZUR1z19+9OFJ2rl1wGKvckN47XFRVO+QL/dUSpKA2SLRo4vMg7ELA8pzGpC+W9OEd1Z/ZqoQ==", + "version": "4.44.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.44.2.tgz", + "integrity": "sha512-W4tt4BLorKND4qeHElxDoim0+BsprFTwb+vriVQnFFtT/P6v/xO5I99xvYnVzKWrK6j7Hb0yp3x7V5LUbaeOMg==", "cpu": [ "arm64" ], @@ -2300,9 +1961,9 @@ ] }, "node_modules/@rollup/rollup-freebsd-x64": { - "version": "4.40.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.40.2.tgz", - "integrity": "sha512-C+AyHBzfpsOEYRFjztcYUFsH4S7UsE9cDtHCtma5BK8+ydOZYgMmWg1d/4KBytQspJCld8ZIujFMAdKG1xyr4Q==", + "version": "4.44.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.44.2.tgz", + "integrity": "sha512-tdT1PHopokkuBVyHjvYehnIe20fxibxFCEhQP/96MDSOcyjM/shlTkZZLOufV3qO6/FQOSiJTBebhVc12JyPTA==", "cpu": [ "x64" ], @@ -2314,9 +1975,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.40.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.40.2.tgz", - "integrity": "sha512-de6TFZYIvJwRNjmW3+gaXiZ2DaWL5D5yGmSYzkdzjBDS3W+B9JQ48oZEsmMvemqjtAFzE16DIBLqd6IQQRuG9Q==", + "version": "4.44.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.44.2.tgz", + "integrity": "sha512-+xmiDGGaSfIIOXMzkhJ++Oa0Gwvl9oXUeIiwarsdRXSe27HUIvjbSIpPxvnNsRebsNdUo7uAiQVgBD1hVriwSQ==", "cpu": [ "arm" ], @@ -2328,9 +1989,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.40.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.40.2.tgz", - "integrity": "sha512-urjaEZubdIkacKc930hUDOfQPysezKla/O9qV+O89enqsqUmQm8Xj8O/vh0gHg4LYfv7Y7UsE3QjzLQzDYN1qg==", + "version": "4.44.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.44.2.tgz", + "integrity": "sha512-bDHvhzOfORk3wt8yxIra8N4k/N0MnKInCW5OGZaeDYa/hMrdPaJzo7CSkjKZqX4JFUWjUGm88lI6QJLCM7lDrA==", "cpu": [ "arm" ], @@ -2342,9 +2003,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.40.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.40.2.tgz", - "integrity": "sha512-KlE8IC0HFOC33taNt1zR8qNlBYHj31qGT1UqWqtvR/+NuCVhfufAq9fxO8BMFC22Wu0rxOwGVWxtCMvZVLmhQg==", + "version": "4.44.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.44.2.tgz", + "integrity": "sha512-NMsDEsDiYghTbeZWEGnNi4F0hSbGnsuOG+VnNvxkKg0IGDvFh7UVpM/14mnMwxRxUf9AdAVJgHPvKXf6FpMB7A==", "cpu": [ "arm64" ], @@ -2356,9 +2017,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.40.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.40.2.tgz", - "integrity": "sha512-j8CgxvfM0kbnhu4XgjnCWJQyyBOeBI1Zq91Z850aUddUmPeQvuAy6OiMdPS46gNFgy8gN1xkYyLgwLYZG3rBOg==", + "version": "4.44.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.44.2.tgz", + "integrity": "sha512-lb5bxXnxXglVq+7imxykIp5xMq+idehfl+wOgiiix0191av84OqbjUED+PRC5OA8eFJYj5xAGcpAZ0pF2MnW+A==", "cpu": [ "arm64" ], @@ -2370,9 +2031,9 @@ ] }, "node_modules/@rollup/rollup-linux-loongarch64-gnu": { - "version": "4.40.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.40.2.tgz", - "integrity": "sha512-Ybc/1qUampKuRF4tQXc7G7QY9YRyeVSykfK36Y5Qc5dmrIxwFhrOzqaVTNoZygqZ1ZieSWTibfFhQ5qK8jpWxw==", + "version": "4.44.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.44.2.tgz", + "integrity": "sha512-Yl5Rdpf9pIc4GW1PmkUGHdMtbx0fBLE1//SxDmuf3X0dUC57+zMepow2LK0V21661cjXdTn8hO2tXDdAWAqE5g==", "cpu": [ "loong64" ], @@ -2384,9 +2045,9 @@ ] }, "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { - "version": "4.40.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.40.2.tgz", - "integrity": "sha512-3FCIrnrt03CCsZqSYAOW/k9n625pjpuMzVfeI+ZBUSDT3MVIFDSPfSUgIl9FqUftxcUXInvFah79hE1c9abD+Q==", + "version": "4.44.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.44.2.tgz", + "integrity": "sha512-03vUDH+w55s680YYryyr78jsO1RWU9ocRMaeV2vMniJJW/6HhoTBwyyiiTPVHNWLnhsnwcQ0oH3S9JSBEKuyqw==", "cpu": [ "ppc64" ], @@ -2398,9 +2059,9 @@ ] }, "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.40.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.40.2.tgz", - "integrity": "sha512-QNU7BFHEvHMp2ESSY3SozIkBPaPBDTsfVNGx3Xhv+TdvWXFGOSH2NJvhD1zKAT6AyuuErJgbdvaJhYVhVqrWTg==", + "version": "4.44.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.44.2.tgz", + "integrity": "sha512-iYtAqBg5eEMG4dEfVlkqo05xMOk6y/JXIToRca2bAWuqjrJYJlx/I7+Z+4hSrsWU8GdJDFPL4ktV3dy4yBSrzg==", "cpu": [ "riscv64" ], @@ -2412,9 +2073,9 @@ ] }, "node_modules/@rollup/rollup-linux-riscv64-musl": { - "version": "4.40.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.40.2.tgz", - "integrity": "sha512-5W6vNYkhgfh7URiXTO1E9a0cy4fSgfE4+Hl5agb/U1sa0kjOLMLC1wObxwKxecE17j0URxuTrYZZME4/VH57Hg==", + "version": "4.44.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.44.2.tgz", + "integrity": "sha512-e6vEbgaaqz2yEHqtkPXa28fFuBGmUJ0N2dOJK8YUfijejInt9gfCSA7YDdJ4nYlv67JfP3+PSWFX4IVw/xRIPg==", "cpu": [ "riscv64" ], @@ -2426,9 +2087,9 @@ ] }, "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.40.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.40.2.tgz", - "integrity": "sha512-B7LKIz+0+p348JoAL4X/YxGx9zOx3sR+o6Hj15Y3aaApNfAshK8+mWZEf759DXfRLeL2vg5LYJBB7DdcleYCoQ==", + "version": "4.44.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.44.2.tgz", + "integrity": "sha512-evFOtkmVdY3udE+0QKrV5wBx7bKI0iHz5yEVx5WqDJkxp9YQefy4Mpx3RajIVcM6o7jxTvVd/qpC1IXUhGc1Mw==", "cpu": [ "s390x" ], @@ -2440,9 +2101,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.40.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.40.2.tgz", - "integrity": "sha512-lG7Xa+BmBNwpjmVUbmyKxdQJ3Q6whHjMjzQplOs5Z+Gj7mxPtWakGHqzMqNER68G67kmCX9qX57aRsW5V0VOng==", + "version": "4.44.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.44.2.tgz", + "integrity": "sha512-/bXb0bEsWMyEkIsUL2Yt5nFB5naLAwyOWMEviQfQY1x3l5WsLKgvZf66TM7UTfED6erckUVUJQ/jJ1FSpm3pRQ==", "cpu": [ "x64" ], @@ -2454,9 +2115,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.40.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.40.2.tgz", - "integrity": "sha512-tD46wKHd+KJvsmije4bUskNuvWKFcTOIM9tZ/RrmIvcXnbi0YK/cKS9FzFtAm7Oxi2EhV5N2OpfFB348vSQRXA==", + "version": "4.44.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.44.2.tgz", + "integrity": "sha512-3D3OB1vSSBXmkGEZR27uiMRNiwN08/RVAcBKwhUYPaiZ8bcvdeEwWPvbnXvvXHY+A/7xluzcN+kaiOFNiOZwWg==", "cpu": [ "x64" ], @@ -2468,9 +2129,9 @@ ] }, "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.40.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.40.2.tgz", - "integrity": "sha512-Bjv/HG8RRWLNkXwQQemdsWw4Mg+IJ29LK+bJPW2SCzPKOUaMmPEppQlu/Fqk1d7+DX3V7JbFdbkh/NMmurT6Pg==", + "version": "4.44.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.44.2.tgz", + "integrity": "sha512-VfU0fsMK+rwdK8mwODqYeM2hDrF2WiHaSmCBrS7gColkQft95/8tphyzv2EupVxn3iE0FI78wzffoULH1G+dkw==", "cpu": [ "arm64" ], @@ -2482,9 +2143,9 @@ ] }, "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.40.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.40.2.tgz", - "integrity": "sha512-dt1llVSGEsGKvzeIO76HToiYPNPYPkmjhMHhP00T9S4rDern8P2ZWvWAQUEJ+R1UdMWJ/42i/QqJ2WV765GZcA==", + "version": "4.44.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.44.2.tgz", + "integrity": "sha512-+qMUrkbUurpE6DVRjiJCNGZBGo9xM4Y0FXU5cjgudWqIBWbcLkjE3XprJUsOFgC6xjBClwVa9k6O3A7K3vxb5Q==", "cpu": [ "ia32" ], @@ -2496,9 +2157,9 @@ ] }, "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.40.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.40.2.tgz", - "integrity": "sha512-bwspbWB04XJpeElvsp+DCylKfF4trJDa2Y9Go8O6A7YLX2LIKGcNK/CYImJN6ZP4DcuOHB4Utl3iCbnR62DudA==", + "version": "4.44.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.44.2.tgz", + "integrity": "sha512-3+QZROYfJ25PDcxFF66UEk8jGWigHJeecZILvkPkyQN7oc5BvFo4YEXFkOs154j3FTMp9mn9Ky8RCOwastduEA==", "cpu": [ "x64" ], @@ -2511,13 +2172,22 @@ }, "node_modules/@tootallnate/quickjs-emscripten": { "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@tootallnate/quickjs-emscripten/-/quickjs-emscripten-0.23.0.tgz", + "integrity": "sha512-C5Mc6rdnsaJDjO3UpGW/CQTHtCKaYlScZTly4JIu97Jxo/odCiH0ITnDXSJPTOrEKk/ycSZ0AOgTmkDtkOsvIA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@tsconfig/node20": { + "version": "20.1.6", + "resolved": "https://registry.npmjs.org/@tsconfig/node20/-/node20-20.1.6.tgz", + "integrity": "sha512-sz+Hqx9zwZDpZIV871WSbUzSqNIsXzghZydypnfgzPKLltVJfkINfUeTct31n/tTSa9ZE1ZOfKdRre1uHHquYQ==", "dev": true, "license": "MIT" }, "node_modules/@tybys/wasm-util": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.9.0.tgz", - "integrity": "sha512-6+7nlbMVX/PVDCwaIQ8nTOPveOcFLSt8GcXdx8hD0bt39uWxYT88uXzqTd4fTvqta7oeUJqudepapKNt2DYJFw==", + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.0.tgz", + "integrity": "sha512-VyyPYFlOMNylG45GoAe0xDoLwWuowvf92F9kySqzYh8vmYm7D2u4iUJKa1tOUpS70Ku13ASrOkS4ScXFsTaCNQ==", "license": "MIT", "optional": true, "dependencies": { @@ -2552,19 +2222,23 @@ "license": "MIT" }, "node_modules/@types/estree": { - "version": "1.0.7", + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", + "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", "dev": true, "license": "MIT" }, "node_modules/@types/json-schema": { "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", "dev": true, "license": "MIT" }, "node_modules/@types/node": { - "version": "22.15.17", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.15.17.tgz", - "integrity": "sha512-wIX2aSZL5FE+MR0JlvF87BNVrtFWf6AE6rxSE9X7OwnVvoyCQjpzSRJ+M87se/4QCkCiebQAqrJ0y6fwIyi7nw==", + "version": "22.16.3", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.16.3.tgz", + "integrity": "sha512-sr4Xz74KOUeYadexo1r8imhRtlVXcs+j3XK3TcoiYk7B1t3YRVJgtaD3cwX73NYb71pmVuMLNRhJ9XKdoDB74g==", "dev": true, "license": "MIT", "dependencies": { @@ -2580,6 +2254,8 @@ }, "node_modules/@types/yauzl": { "version": "2.10.3", + "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.3.tgz", + "integrity": "sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==", "dev": true, "license": "MIT", "optional": true, @@ -2588,17 +2264,17 @@ } }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "8.33.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.33.1.tgz", - "integrity": "sha512-TDCXj+YxLgtvxvFlAvpoRv9MAncDLBV2oT9Bd7YBGC/b/sEURoOYuIwLI99rjWOfY3QtDzO+mk0n4AmdFExW8A==", + "version": "8.36.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.36.0.tgz", + "integrity": "sha512-lZNihHUVB6ZZiPBNgOQGSxUASI7UJWhT8nHyUGCnaQ28XFCw98IfrMCG3rUl1uwUWoAvodJQby2KTs79UTcrAg==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/regexpp": "^4.10.0", - "@typescript-eslint/scope-manager": "8.33.1", - "@typescript-eslint/type-utils": "8.33.1", - "@typescript-eslint/utils": "8.33.1", - "@typescript-eslint/visitor-keys": "8.33.1", + "@typescript-eslint/scope-manager": "8.36.0", + "@typescript-eslint/type-utils": "8.36.0", + "@typescript-eslint/utils": "8.36.0", + "@typescript-eslint/visitor-keys": "8.36.0", "graphemer": "^1.4.0", "ignore": "^7.0.0", "natural-compare": "^1.4.0", @@ -2612,32 +2288,22 @@ "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "@typescript-eslint/parser": "^8.33.1", + "@typescript-eslint/parser": "^8.36.0", "eslint": "^8.57.0 || ^9.0.0", "typescript": ">=4.8.4 <5.9.0" } }, - "node_modules/@typescript-eslint/eslint-plugin/node_modules/ignore": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz", - "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 4" - } - }, "node_modules/@typescript-eslint/parser": { - "version": "8.33.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.33.1.tgz", - "integrity": "sha512-qwxv6dq682yVvgKKp2qWwLgRbscDAYktPptK4JPojCwwi3R9cwrvIxS4lvBpzmcqzR4bdn54Z0IG1uHFskW4dA==", + "version": "8.36.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.36.0.tgz", + "integrity": "sha512-FuYgkHwZLuPbZjQHzJXrtXreJdFMKl16BFYyRrLxDhWr6Qr7Kbcu2s1Yhu8tsiMXw1S0W1pjfFfYEt+R604s+Q==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/scope-manager": "8.33.1", - "@typescript-eslint/types": "8.33.1", - "@typescript-eslint/typescript-estree": "8.33.1", - "@typescript-eslint/visitor-keys": "8.33.1", + "@typescript-eslint/scope-manager": "8.36.0", + "@typescript-eslint/types": "8.36.0", + "@typescript-eslint/typescript-estree": "8.36.0", + "@typescript-eslint/visitor-keys": "8.36.0", "debug": "^4.3.4" }, "engines": { @@ -2653,14 +2319,14 @@ } }, "node_modules/@typescript-eslint/project-service": { - "version": "8.33.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.33.1.tgz", - "integrity": "sha512-DZR0efeNklDIHHGRpMpR5gJITQpu6tLr9lDJnKdONTC7vvzOlLAG/wcfxcdxEWrbiZApcoBCzXqU/Z458Za5Iw==", + "version": "8.36.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.36.0.tgz", + "integrity": "sha512-JAhQFIABkWccQYeLMrHadu/fhpzmSQ1F1KXkpzqiVxA/iYI6UnRt2trqXHt1sYEcw1mxLnB9rKMsOxXPxowN/g==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/tsconfig-utils": "^8.33.1", - "@typescript-eslint/types": "^8.33.1", + "@typescript-eslint/tsconfig-utils": "^8.36.0", + "@typescript-eslint/types": "^8.36.0", "debug": "^4.3.4" }, "engines": { @@ -2675,14 +2341,14 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "8.33.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.33.1.tgz", - "integrity": "sha512-dM4UBtgmzHR9bS0Rv09JST0RcHYearoEoo3pG5B6GoTR9XcyeqX87FEhPo+5kTvVfKCvfHaHrcgeJQc6mrDKrA==", + "version": "8.36.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.36.0.tgz", + "integrity": "sha512-wCnapIKnDkN62fYtTGv2+RY8FlnBYA3tNm0fm91kc2BjPhV2vIjwwozJ7LToaLAyb1ca8BxrS7vT+Pvvf7RvqA==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.33.1", - "@typescript-eslint/visitor-keys": "8.33.1" + "@typescript-eslint/types": "8.36.0", + "@typescript-eslint/visitor-keys": "8.36.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -2693,9 +2359,9 @@ } }, "node_modules/@typescript-eslint/tsconfig-utils": { - "version": "8.33.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.33.1.tgz", - "integrity": "sha512-STAQsGYbHCF0/e+ShUQ4EatXQ7ceh3fBCXkNU7/MZVKulrlq1usH7t2FhxvCpuCi5O5oi1vmVaAjrGeL71OK1g==", + "version": "8.36.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.36.0.tgz", + "integrity": "sha512-Nhh3TIEgN18mNbdXpd5Q8mSCBnrZQeY9V7Ca3dqYvNDStNIGRmJA6dmrIPMJ0kow3C7gcQbpsG2rPzy1Ks/AnA==", "dev": true, "license": "MIT", "engines": { @@ -2710,14 +2376,14 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "8.33.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.33.1.tgz", - "integrity": "sha512-1cG37d9xOkhlykom55WVwG2QRNC7YXlxMaMzqw2uPeJixBFfKWZgaP/hjAObqMN/u3fr5BrTwTnc31/L9jQ2ww==", + "version": "8.36.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.36.0.tgz", + "integrity": "sha512-5aaGYG8cVDd6cxfk/ynpYzxBRZJk7w/ymto6uiyUFtdCozQIsQWh7M28/6r57Fwkbweng8qAzoMCPwSJfWlmsg==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/typescript-estree": "8.33.1", - "@typescript-eslint/utils": "8.33.1", + "@typescript-eslint/typescript-estree": "8.36.0", + "@typescript-eslint/utils": "8.36.0", "debug": "^4.3.4", "ts-api-utils": "^2.1.0" }, @@ -2734,9 +2400,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "8.33.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.33.1.tgz", - "integrity": "sha512-xid1WfizGhy/TKMTwhtVOgalHwPtV8T32MS9MaH50Cwvz6x6YqRIPdD2WvW0XaqOzTV9p5xdLY0h/ZusU5Lokg==", + "version": "8.36.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.36.0.tgz", + "integrity": "sha512-xGms6l5cTJKQPZOKM75Dl9yBfNdGeLRsIyufewnxT4vZTrjC0ImQT4fj8QmtJK84F58uSh5HVBSANwcfiXxABQ==", "dev": true, "license": "MIT", "engines": { @@ -2748,16 +2414,16 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "8.33.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.33.1.tgz", - "integrity": "sha512-+s9LYcT8LWjdYWu7IWs7FvUxpQ/DGkdjZeE/GGulHvv8rvYwQvVaUZ6DE+j5x/prADUgSbbCWZ2nPI3usuVeOA==", + "version": "8.36.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.36.0.tgz", + "integrity": "sha512-JaS8bDVrfVJX4av0jLpe4ye0BpAaUW7+tnS4Y4ETa3q7NoZgzYbN9zDQTJ8kPb5fQ4n0hliAt9tA4Pfs2zA2Hg==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/project-service": "8.33.1", - "@typescript-eslint/tsconfig-utils": "8.33.1", - "@typescript-eslint/types": "8.33.1", - "@typescript-eslint/visitor-keys": "8.33.1", + "@typescript-eslint/project-service": "8.36.0", + "@typescript-eslint/tsconfig-utils": "8.36.0", + "@typescript-eslint/types": "8.36.0", + "@typescript-eslint/visitor-keys": "8.36.0", "debug": "^4.3.4", "fast-glob": "^3.3.2", "is-glob": "^4.0.3", @@ -2777,16 +2443,16 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "8.33.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.33.1.tgz", - "integrity": "sha512-52HaBiEQUaRYqAXpfzWSR2U3gxk92Kw006+xZpElaPMg3C4PgM+A5LqwoQI1f9E5aZ/qlxAZxzm42WX+vn92SQ==", + "version": "8.36.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.36.0.tgz", + "integrity": "sha512-VOqmHu42aEMT+P2qYjylw6zP/3E/HvptRwdn/PZxyV27KhZg2IOszXod4NcXisWzPAGSS4trE/g4moNj6XmH2g==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.7.0", - "@typescript-eslint/scope-manager": "8.33.1", - "@typescript-eslint/types": "8.33.1", - "@typescript-eslint/typescript-estree": "8.33.1" + "@typescript-eslint/scope-manager": "8.36.0", + "@typescript-eslint/types": "8.36.0", + "@typescript-eslint/typescript-estree": "8.36.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -2801,14 +2467,14 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "8.33.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.33.1.tgz", - "integrity": "sha512-3i8NrFcZeeDHJ+7ZUuDkGT+UHq+XoFGsymNK2jZCOHcfEzRQ0BdpRtdpSx/Iyf3MHLWIcLS0COuOPibKQboIiQ==", + "version": "8.36.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.36.0.tgz", + "integrity": "sha512-vZrhV2lRPWDuGoxcmrzRZyxAggPL+qp3WzUrlZD+slFueDiYHxeBa34dUXPuC0RmGKzl4lS5kFJYvKCq9cnNDA==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.33.1", - "eslint-visitor-keys": "^4.2.0" + "@typescript-eslint/types": "8.36.0", + "eslint-visitor-keys": "^4.2.1" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -2819,9 +2485,9 @@ } }, "node_modules/@typescript-eslint/visitor-keys/node_modules/eslint-visitor-keys": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz", - "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz", + "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==", "dev": true, "license": "Apache-2.0", "engines": { @@ -2832,15 +2498,15 @@ } }, "node_modules/@vitest/expect": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-3.2.2.tgz", - "integrity": "sha512-ipHw0z669vEMjzz3xQE8nJX1s0rQIb7oEl4jjl35qWTwm/KIHERIg/p/zORrjAaZKXfsv7IybcNGHwhOOAPMwQ==", + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-3.2.4.tgz", + "integrity": "sha512-Io0yyORnB6sikFlt8QW5K7slY4OjqNX9jmJQ02QDda8lyM6B5oNgVWoSoKPac8/kgnCUzuHQKrSLtu/uOqqrig==", "dev": true, "license": "MIT", "dependencies": { "@types/chai": "^5.2.2", - "@vitest/spy": "3.2.2", - "@vitest/utils": "3.2.2", + "@vitest/spy": "3.2.4", + "@vitest/utils": "3.2.4", "chai": "^5.2.0", "tinyrainbow": "^2.0.0" }, @@ -2849,13 +2515,13 @@ } }, "node_modules/@vitest/mocker": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-3.2.2.tgz", - "integrity": "sha512-jKojcaRyIYpDEf+s7/dD3LJt53c0dPfp5zCPXz9H/kcGrSlovU/t1yEaNzM9oFME3dcd4ULwRI/x0Po1Zf+LTw==", + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-3.2.4.tgz", + "integrity": "sha512-46ryTE9RZO/rfDd7pEqFl7etuyzekzEhUbTW3BvmeO/BcCMEgq59BKhek3dXDWgAj4oMK6OZi+vRr1wPW6qjEQ==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/spy": "3.2.2", + "@vitest/spy": "3.2.4", "estree-walker": "^3.0.3", "magic-string": "^0.30.17" }, @@ -2875,10 +2541,20 @@ } } }, + "node_modules/@vitest/mocker/node_modules/estree-walker": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0" + } + }, "node_modules/@vitest/pretty-format": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-3.2.2.tgz", - "integrity": "sha512-FY4o4U1UDhO9KMd2Wee5vumwcaHw7Vg4V7yR4Oq6uK34nhEJOmdRYrk3ClburPRUA09lXD/oXWZ8y/Sdma0aUQ==", + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-3.2.4.tgz", + "integrity": "sha512-IVNZik8IVRJRTr9fxlitMKeJeXFFFN0JaB9PHPGQ8NKQbGpfjlTx9zO4RefN8gp7eqjNy8nyK3NZmBzOPeIxtA==", "dev": true, "license": "MIT", "dependencies": { @@ -2889,27 +2565,28 @@ } }, "node_modules/@vitest/runner": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-3.2.2.tgz", - "integrity": "sha512-GYcHcaS3ejGRZYed2GAkvsjBeXIEerDKdX3orQrBJqLRiea4NSS9qvn9Nxmuy1IwIB+EjFOaxXnX79l8HFaBwg==", + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-3.2.4.tgz", + "integrity": "sha512-oukfKT9Mk41LreEW09vt45f8wx7DordoWUZMYdY/cyAk7w5TWkTRCNZYF7sX7n2wB7jyGAl74OxgwhPgKaqDMQ==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/utils": "3.2.2", - "pathe": "^2.0.3" + "@vitest/utils": "3.2.4", + "pathe": "^2.0.3", + "strip-literal": "^3.0.0" }, "funding": { "url": "https://opencollective.com/vitest" } }, "node_modules/@vitest/snapshot": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-3.2.2.tgz", - "integrity": "sha512-aMEI2XFlR1aNECbBs5C5IZopfi5Lb8QJZGGpzS8ZUHML5La5wCbrbhLOVSME68qwpT05ROEEOAZPRXFpxZV2wA==", + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-3.2.4.tgz", + "integrity": "sha512-dEYtS7qQP2CjU27QBC5oUOxLE/v5eLkGqPE0ZKEIDGMs4vKWe7IjgLOeauHsR0D5YuuycGRO5oSRXnwnmA78fQ==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/pretty-format": "3.2.2", + "@vitest/pretty-format": "3.2.4", "magic-string": "^0.30.17", "pathe": "^2.0.3" }, @@ -2918,9 +2595,9 @@ } }, "node_modules/@vitest/spy": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-3.2.2.tgz", - "integrity": "sha512-6Utxlx3o7pcTxvp0u8kUiXtRFScMrUg28KjB3R2hon7w4YqOFAEA9QwzPVVS1QNL3smo4xRNOpNZClRVfpMcYg==", + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-3.2.4.tgz", + "integrity": "sha512-vAfasCOe6AIK70iP5UD11Ac4siNUNJ9i/9PZ3NKx07sG6sUxeag1LWdNrMWeKKYBLlzuK+Gn65Yd5nyL6ds+nw==", "dev": true, "license": "MIT", "dependencies": { @@ -2931,14 +2608,14 @@ } }, "node_modules/@vitest/utils": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-3.2.2.tgz", - "integrity": "sha512-qJYMllrWpF/OYfWHP32T31QCaLa3BAzT/n/8mNGhPdVcjY+JYazQFO1nsJvXU12Kp1xMpNY4AGuljPTNjQve6A==", + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-3.2.4.tgz", + "integrity": "sha512-fB2V0JFrQSMsCo9HiSq3Ezpdv4iYaXRG1Sx8edX3MwxfyNn83mKiGzOcH+Fkxt4MHxr3y42fQi1oeAInqgX2QA==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/pretty-format": "3.2.2", - "loupe": "^3.1.3", + "@vitest/pretty-format": "3.2.4", + "loupe": "^3.1.4", "tinyrainbow": "^2.0.0" }, "funding": { @@ -2946,7 +2623,9 @@ } }, "node_modules/acorn": { - "version": "8.14.1", + "version": "8.15.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", + "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", "license": "MIT", "bin": { "acorn": "bin/acorn" @@ -2957,6 +2636,8 @@ }, "node_modules/acorn-jsx": { "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", "dev": true, "license": "MIT", "peerDependencies": { @@ -2972,7 +2653,9 @@ "link": true }, "node_modules/agent-base": { - "version": "7.1.3", + "version": "7.1.4", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.4.tgz", + "integrity": "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==", "dev": true, "license": "MIT", "engines": { @@ -2980,14 +2663,16 @@ } }, "node_modules/ajv": { - "version": "6.12.6", + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", + "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", "dev": true, "license": "MIT", "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" }, "funding": { "type": "github", @@ -2996,6 +2681,8 @@ }, "node_modules/ansi-regex": { "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", "license": "MIT", "engines": { "node": ">=12" @@ -3006,6 +2693,8 @@ }, "node_modules/ansi-styles": { "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "license": "MIT", "dependencies": { @@ -3020,6 +2709,8 @@ }, "node_modules/argparse": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", "dev": true, "license": "Python-2.0" }, @@ -3042,6 +2733,8 @@ }, "node_modules/ast-types": { "version": "0.13.4", + "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.13.4.tgz", + "integrity": "sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w==", "dev": true, "license": "MIT", "dependencies": { @@ -3051,24 +2744,47 @@ "node": ">=4" } }, + "node_modules/available-typed-arrays": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", + "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", + "license": "MIT", + "dependencies": { + "possible-typed-array-names": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/b4a": { "version": "1.6.7", + "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.6.7.tgz", + "integrity": "sha512-OnAYlL5b7LEkALw87fUVafQw5rVR9RjwGd4KUwNQ6DrrNmaVaUCgLipfVlzrPQ4tWOR9P0IXGNOx50jYCCdSJg==", "dev": true, "license": "Apache-2.0" }, "node_modules/balanced-match": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", "dev": true, "license": "MIT" }, "node_modules/bare-events": { - "version": "2.5.4", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/bare-events/-/bare-events-2.6.0.tgz", + "integrity": "sha512-EKZ5BTXYExaNqi3I3f9RtEsaI/xBSGjE0XZCZilPzFAV/goswFHuPd9jEZlPIZ/iNZJwDSao9qRiScySz7MbQg==", "dev": true, "license": "Apache-2.0", "optional": true }, "node_modules/bare-fs": { - "version": "4.0.2", + "version": "4.1.6", + "resolved": "https://registry.npmjs.org/bare-fs/-/bare-fs-4.1.6.tgz", + "integrity": "sha512-25RsLF33BqooOEFNdMcEhMpJy8EoR88zSMrnOQOaM3USnOK2VmaJ1uaQEwPA6AQjrv1lXChScosN6CzbwbO9OQ==", "dev": true, "license": "Apache-2.0", "optional": true, @@ -3091,6 +2807,8 @@ }, "node_modules/bare-os": { "version": "3.6.1", + "resolved": "https://registry.npmjs.org/bare-os/-/bare-os-3.6.1.tgz", + "integrity": "sha512-uaIjxokhFidJP+bmmvKSgiMzj2sV5GPHaZVAIktcxcpCyBFFWO+YlikVAdhmUo2vYFvFhOXIAlldqV29L8126g==", "dev": true, "license": "Apache-2.0", "optional": true, @@ -3100,6 +2818,8 @@ }, "node_modules/bare-path": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bare-path/-/bare-path-3.0.0.tgz", + "integrity": "sha512-tyfW2cQcB5NN8Saijrhqn0Zh7AnFNsnczRcuWODH0eYAXBsJ5gVxAUuNr7tsHSC6IZ77cA0SitzT+s47kot8Mw==", "dev": true, "license": "Apache-2.0", "optional": true, @@ -3109,6 +2829,8 @@ }, "node_modules/bare-stream": { "version": "2.6.5", + "resolved": "https://registry.npmjs.org/bare-stream/-/bare-stream-2.6.5.tgz", + "integrity": "sha512-jSmxKJNJmHySi6hC42zlZnq00rga4jjxcgNZjY9N5WlOe/iOoGRtdwGsHzQv2RlH2KOYMwGUXhf2zXd32BA9RA==", "dev": true, "license": "Apache-2.0", "optional": true, @@ -3150,6 +2872,8 @@ }, "node_modules/basic-ftp": { "version": "5.0.5", + "resolved": "https://registry.npmjs.org/basic-ftp/-/basic-ftp-5.0.5.tgz", + "integrity": "sha512-4Bcg1P8xhUuqcii/S0Z9wiHIrQVPMermM1any+MX5GeGD7faD3/msQUDGLol9wOcz4/jbg/WJnGqoJF6LiBdtg==", "dev": true, "license": "MIT", "engines": { @@ -3184,9 +2908,9 @@ } }, "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==", + "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": { @@ -3248,6 +2972,8 @@ }, "node_modules/buffer-crc32": { "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", "license": "MIT", "engines": { "node": "*" @@ -3261,20 +2987,71 @@ }, "node_modules/buffer-from": { "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", "license": "MIT" }, - "node_modules/cac": { - "version": "6.7.14", - "resolved": "https://registry.npmjs.org/cac/-/cac-6.7.14.tgz", - "integrity": "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==", - "dev": true, + "node_modules/cac": { + "version": "6.7.14", + "resolved": "https://registry.npmjs.org/cac/-/cac-6.7.14.tgz", + "integrity": "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/call-bind": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz", + "integrity": "sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.0", + "es-define-property": "^1.0.0", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/call-bound": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", + "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "get-intrinsic": "^1.3.0" + }, "engines": { - "node": ">=8" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/callsites": { "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", "dev": true, "license": "MIT", "engines": { @@ -3282,9 +3059,9 @@ } }, "node_modules/chai": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/chai/-/chai-5.2.0.tgz", - "integrity": "sha512-mCuXncKXk5iCLhfhwTc0izo0gtEmpz5CtG2y8GiOINBlMVS6v8TMRc5TaLWKS6692m9+dVVfzgeVxR5UxWHTYw==", + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/chai/-/chai-5.2.1.tgz", + "integrity": "sha512-5nFxhUrX0PqtyogoYOA8IPswy5sZFTOsBFl/9bNsmDLgsxYTzSZQJDPppDnZPTQbzSEm0hqGjWPzRemQCYbD6A==", "dev": true, "license": "MIT", "dependencies": { @@ -3295,11 +3072,13 @@ "pathval": "^2.0.0" }, "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/chalk": { "version": "5.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.4.1.tgz", + "integrity": "sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w==", "license": "MIT", "engines": { "node": "^12.17.0 || ^14.13 || >=16.0.0" @@ -3310,6 +3089,8 @@ }, "node_modules/chalk-template": { "version": "1.1.0", + "resolved": "https://registry.npmjs.org/chalk-template/-/chalk-template-1.1.0.tgz", + "integrity": "sha512-T2VJbcDuZQ0Tb2EWwSotMPJjgpy1/tGee1BTpUNsGZ/qgNjV2t7Mvu+d4600U564nbLesN1x2dPL+xii174Ekg==", "license": "MIT", "dependencies": { "chalk": "^5.2.0" @@ -3332,7 +3113,9 @@ } }, "node_modules/chromium-bidi": { - "version": "2.1.2", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/chromium-bidi/-/chromium-bidi-5.1.0.tgz", + "integrity": "sha512-9MSRhWRVoRPDG0TgzkHrshFSJJNZzfY5UFqUMuksg7zL1yoZIZ3jLB0YAgHclbiAxPI86pBnwDX1tbzoiV8aFw==", "dev": true, "license": "Apache-2.0", "dependencies": { @@ -3345,6 +3128,8 @@ }, "node_modules/cli-cursor": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-5.0.0.tgz", + "integrity": "sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==", "license": "MIT", "dependencies": { "restore-cursor": "^5.0.0" @@ -3358,6 +3143,8 @@ }, "node_modules/cli-spinners": { "version": "2.9.2", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.2.tgz", + "integrity": "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==", "license": "MIT", "engines": { "node": ">=6" @@ -3368,6 +3155,8 @@ }, "node_modules/cliui": { "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", "dev": true, "license": "ISC", "dependencies": { @@ -3381,6 +3170,8 @@ }, "node_modules/cliui/node_modules/ansi-regex": { "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "dev": true, "license": "MIT", "engines": { @@ -3389,11 +3180,15 @@ }, "node_modules/cliui/node_modules/emoji-regex": { "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", "dev": true, "license": "MIT" }, "node_modules/cliui/node_modules/string-width": { "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, "license": "MIT", "dependencies": { @@ -3407,6 +3202,8 @@ }, "node_modules/cliui/node_modules/strip-ansi": { "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, "license": "MIT", "dependencies": { @@ -3418,6 +3215,8 @@ }, "node_modules/color-convert": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "license": "MIT", "dependencies": { @@ -3429,6 +3228,8 @@ }, "node_modules/color-name": { "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true, "license": "MIT" }, @@ -3471,6 +3272,8 @@ }, "node_modules/concat-map": { "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", "dev": true, "license": "MIT" }, @@ -3527,6 +3330,8 @@ }, "node_modules/cosmiconfig": { "version": "9.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-9.0.0.tgz", + "integrity": "sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==", "dev": true, "license": "MIT", "dependencies": { @@ -3570,6 +3375,8 @@ }, "node_modules/cross-spawn": { "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", "dev": true, "license": "MIT", "dependencies": { @@ -3596,6 +3403,8 @@ }, "node_modules/data-uri-to-buffer": { "version": "6.0.2", + "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-6.0.2.tgz", + "integrity": "sha512-7hvf7/GW8e86rW0ptuwS3OcBGDjIi6SZva7hCyWC0yYry2cOPmLIjXAUHI6DK2HsnwJd9ifmt57i8eV2n4YNpw==", "dev": true, "license": "MIT", "engines": { @@ -3728,6 +3537,8 @@ }, "node_modules/deep-is": { "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", "dev": true, "license": "MIT" }, @@ -3741,8 +3552,27 @@ "node": ">=0.10.0" } }, + "node_modules/define-data-property": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/degenerator": { "version": "5.0.1", + "resolved": "https://registry.npmjs.org/degenerator/-/degenerator-5.0.1.tgz", + "integrity": "sha512-TllpMR/t0M5sqCXfj85i4XaAzxmS5tVA16dqvdkMwGmzI+dXLXnw3J+3Vdv7VKw+ThlTMboK6i9rnZ6Nntj5CQ==", "dev": true, "license": "MIT", "dependencies": { @@ -3755,7 +3585,9 @@ } }, "node_modules/devtools-protocol": { - "version": "0.0.1413902", + "version": "0.0.1464554", + "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1464554.tgz", + "integrity": "sha512-CAoP3lYfwAGQTaAXYvA6JZR0fjGUb7qec1qf4mToyoH2TZgUFeIqYcjh6f9jNuhHfuZiEdH+PONHYrLhRQX6aw==", "dev": true, "license": "BSD-3-Clause" }, @@ -3772,6 +3604,20 @@ "node": ">=8" } }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/duplexer": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", @@ -3781,10 +3627,14 @@ }, "node_modules/emoji-regex": { "version": "10.4.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.4.0.tgz", + "integrity": "sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==", "license": "MIT" }, "node_modules/end-of-stream": { - "version": "1.4.4", + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.5.tgz", + "integrity": "sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==", "license": "MIT", "dependencies": { "once": "^1.4.0" @@ -3792,6 +3642,8 @@ }, "node_modules/env-paths": { "version": "2.2.1", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", "dev": true, "license": "MIT", "engines": { @@ -3800,22 +3652,54 @@ }, "node_modules/error-ex": { "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", "dev": true, "license": "MIT", "dependencies": { "is-arrayish": "^0.2.1" } }, + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, "node_modules/es-module-lexer": { "version": "1.7.0", "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.7.0.tgz", "integrity": "sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==", "license": "MIT" }, + "node_modules/es-object-atoms": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/esbuild": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.5.tgz", - "integrity": "sha512-P8OtKZRv/5J5hhz0cUAdu/cLuPIKXpQl1R9pZtvmHWQvrAUVd0UNIPT4IB4W3rNOqVO0rlqHmCIbSwxh/c9yUQ==", + "version": "0.25.6", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.6.tgz", + "integrity": "sha512-GVuzuUwtdsghE3ocJ9Bs8PNoF13HNQ5TXbEi2AhvVb8xU1Iwt9Fos9FEamfoee+u/TOsn7GUWc04lz46n2bbTg==", "dev": true, "hasInstallScript": true, "license": "MIT", @@ -3826,35 +3710,38 @@ "node": ">=18" }, "optionalDependencies": { - "@esbuild/aix-ppc64": "0.25.5", - "@esbuild/android-arm": "0.25.5", - "@esbuild/android-arm64": "0.25.5", - "@esbuild/android-x64": "0.25.5", - "@esbuild/darwin-arm64": "0.25.5", - "@esbuild/darwin-x64": "0.25.5", - "@esbuild/freebsd-arm64": "0.25.5", - "@esbuild/freebsd-x64": "0.25.5", - "@esbuild/linux-arm": "0.25.5", - "@esbuild/linux-arm64": "0.25.5", - "@esbuild/linux-ia32": "0.25.5", - "@esbuild/linux-loong64": "0.25.5", - "@esbuild/linux-mips64el": "0.25.5", - "@esbuild/linux-ppc64": "0.25.5", - "@esbuild/linux-riscv64": "0.25.5", - "@esbuild/linux-s390x": "0.25.5", - "@esbuild/linux-x64": "0.25.5", - "@esbuild/netbsd-arm64": "0.25.5", - "@esbuild/netbsd-x64": "0.25.5", - "@esbuild/openbsd-arm64": "0.25.5", - "@esbuild/openbsd-x64": "0.25.5", - "@esbuild/sunos-x64": "0.25.5", - "@esbuild/win32-arm64": "0.25.5", - "@esbuild/win32-ia32": "0.25.5", - "@esbuild/win32-x64": "0.25.5" + "@esbuild/aix-ppc64": "0.25.6", + "@esbuild/android-arm": "0.25.6", + "@esbuild/android-arm64": "0.25.6", + "@esbuild/android-x64": "0.25.6", + "@esbuild/darwin-arm64": "0.25.6", + "@esbuild/darwin-x64": "0.25.6", + "@esbuild/freebsd-arm64": "0.25.6", + "@esbuild/freebsd-x64": "0.25.6", + "@esbuild/linux-arm": "0.25.6", + "@esbuild/linux-arm64": "0.25.6", + "@esbuild/linux-ia32": "0.25.6", + "@esbuild/linux-loong64": "0.25.6", + "@esbuild/linux-mips64el": "0.25.6", + "@esbuild/linux-ppc64": "0.25.6", + "@esbuild/linux-riscv64": "0.25.6", + "@esbuild/linux-s390x": "0.25.6", + "@esbuild/linux-x64": "0.25.6", + "@esbuild/netbsd-arm64": "0.25.6", + "@esbuild/netbsd-x64": "0.25.6", + "@esbuild/openbsd-arm64": "0.25.6", + "@esbuild/openbsd-x64": "0.25.6", + "@esbuild/openharmony-arm64": "0.25.6", + "@esbuild/sunos-x64": "0.25.6", + "@esbuild/win32-arm64": "0.25.6", + "@esbuild/win32-ia32": "0.25.6", + "@esbuild/win32-x64": "0.25.6" } }, "node_modules/escalade": { "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", "dev": true, "license": "MIT", "engines": { @@ -3863,6 +3750,8 @@ }, "node_modules/escape-string-regexp": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", "dev": true, "license": "MIT", "engines": { @@ -3874,6 +3763,8 @@ }, "node_modules/escodegen": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz", + "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==", "dev": true, "license": "BSD-2-Clause", "dependencies": { @@ -3893,18 +3784,20 @@ } }, "node_modules/eslint": { - "version": "9.23.0", + "version": "9.30.1", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.30.1.tgz", + "integrity": "sha512-zmxXPNMOXmwm9E0yQLi5uqXHs7uq2UIiqEKo3Gq+3fwo1XrJ+hijAZImyF7hclW3E6oHz43Yk3RP8at6OTKflQ==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.12.1", - "@eslint/config-array": "^0.19.2", - "@eslint/config-helpers": "^0.2.0", - "@eslint/core": "^0.12.0", + "@eslint/config-array": "^0.21.0", + "@eslint/config-helpers": "^0.3.0", + "@eslint/core": "^0.14.0", "@eslint/eslintrc": "^3.3.1", - "@eslint/js": "9.23.0", - "@eslint/plugin-kit": "^0.2.7", + "@eslint/js": "9.30.1", + "@eslint/plugin-kit": "^0.3.1", "@humanfs/node": "^0.16.6", "@humanwhocodes/module-importer": "^1.0.1", "@humanwhocodes/retry": "^0.4.2", @@ -3915,9 +3808,9 @@ "cross-spawn": "^7.0.6", "debug": "^4.3.2", "escape-string-regexp": "^4.0.0", - "eslint-scope": "^8.3.0", - "eslint-visitor-keys": "^4.2.0", - "espree": "^10.3.0", + "eslint-scope": "^8.4.0", + "eslint-visitor-keys": "^4.2.1", + "espree": "^10.4.0", "esquery": "^1.5.0", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", @@ -3952,23 +3845,30 @@ } }, "node_modules/eslint-config-prettier": { - "version": "10.1.1", + "version": "10.1.5", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-10.1.5.tgz", + "integrity": "sha512-zc1UmCpNltmVY34vuLRV61r1K27sWuX39E+uyUnY8xS2Bex88VV9cugG+UZbRSRGtGyFboj+D8JODyme1plMpw==", "dev": true, "license": "MIT", "bin": { "eslint-config-prettier": "bin/cli.js" }, + "funding": { + "url": "https://opencollective.com/eslint-config-prettier" + }, "peerDependencies": { "eslint": ">=7.0.0" } }, "node_modules/eslint-plugin-prettier": { - "version": "5.2.4", + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.5.1.tgz", + "integrity": "sha512-dobTkHT6XaEVOo8IO90Q4DOSxnm3Y151QxPJlM/vKC0bVy+d6cVWQZLlFiuZPP0wS6vZwSKeJgKkcS+KfMBlRw==", "dev": true, "license": "MIT", "dependencies": { "prettier-linter-helpers": "^1.0.0", - "synckit": "^0.10.2" + "synckit": "^0.11.7" }, "engines": { "node": "^14.18.0 || >=16.0.0" @@ -3979,7 +3879,7 @@ "peerDependencies": { "@types/eslint": ">=8.0.0", "eslint": ">=8.0.0", - "eslint-config-prettier": "*", + "eslint-config-prettier": ">= 7.0.0 <10.0.0 || >=10.1.0", "prettier": ">=3.0.0" }, "peerDependenciesMeta": { @@ -3992,7 +3892,9 @@ } }, "node_modules/eslint-scope": { - "version": "8.3.0", + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.4.0.tgz", + "integrity": "sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==", "dev": true, "license": "BSD-2-Clause", "dependencies": { @@ -4008,6 +3910,8 @@ }, "node_modules/eslint-visitor-keys": { "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", "dev": true, "license": "Apache-2.0", "engines": { @@ -4017,8 +3921,27 @@ "url": "https://opencollective.com/eslint" } }, + "node_modules/eslint/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, "node_modules/eslint/node_modules/brace-expansion": { - "version": "1.1.11", + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", "dev": true, "license": "MIT", "dependencies": { @@ -4028,6 +3951,8 @@ }, "node_modules/eslint/node_modules/chalk": { "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "license": "MIT", "dependencies": { @@ -4042,7 +3967,9 @@ } }, "node_modules/eslint/node_modules/eslint-visitor-keys": { - "version": "4.2.0", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz", + "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==", "dev": true, "license": "Apache-2.0", "engines": { @@ -4052,8 +3979,60 @@ "url": "https://opencollective.com/eslint" } }, + "node_modules/eslint/node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/ignore": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/eslint/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true, + "license": "MIT" + }, + "node_modules/eslint/node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/eslint/node_modules/minimatch": { "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, "license": "ISC", "dependencies": { @@ -4063,14 +4042,71 @@ "node": "*" } }, + "node_modules/eslint/node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/espree": { - "version": "10.3.0", + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-10.4.0.tgz", + "integrity": "sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==", "dev": true, "license": "BSD-2-Clause", "dependencies": { - "acorn": "^8.14.0", + "acorn": "^8.15.0", "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^4.2.0" + "eslint-visitor-keys": "^4.2.1" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -4080,7 +4116,9 @@ } }, "node_modules/espree/node_modules/eslint-visitor-keys": { - "version": "4.2.0", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz", + "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==", "dev": true, "license": "Apache-2.0", "engines": { @@ -4092,6 +4130,8 @@ }, "node_modules/esprima": { "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", "dev": true, "license": "BSD-2-Clause", "bin": { @@ -4104,6 +4144,8 @@ }, "node_modules/esquery": { "version": "1.6.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", + "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", "dev": true, "license": "BSD-3-Clause", "dependencies": { @@ -4115,6 +4157,8 @@ }, "node_modules/esrecurse": { "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", "dev": true, "license": "BSD-2-Clause", "dependencies": { @@ -4126,6 +4170,8 @@ }, "node_modules/estraverse": { "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "dev": true, "license": "BSD-2-Clause", "engines": { @@ -4133,17 +4179,16 @@ } }, "node_modules/estree-walker": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", - "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", "dev": true, - "license": "MIT", - "dependencies": { - "@types/estree": "^1.0.0" - } + "license": "MIT" }, "node_modules/esutils": { "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", "dev": true, "license": "BSD-2-Clause", "engines": { @@ -4167,9 +4212,9 @@ } }, "node_modules/expect-type": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/expect-type/-/expect-type-1.2.1.tgz", - "integrity": "sha512-/kP8CAwxzLVEeFrMm4kMmy4CCDlpipyA7MYLVrdJIkV0fYF0UaigQHRsxHiuY/GEea+bh4KSv3TIlgr+2UL6bw==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/expect-type/-/expect-type-1.2.2.tgz", + "integrity": "sha512-JhFGDVJ7tmDJItKhYgJCGLOWjuK9vPxiXoUFLwLDc99NlmklilbiQJwoctZtt13+xMw91MCk/REan6MWHqDjyA==", "dev": true, "license": "Apache-2.0", "engines": { @@ -4178,6 +4223,8 @@ }, "node_modules/extract-zip": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", + "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==", "dev": true, "license": "BSD-2-Clause", "dependencies": { @@ -4197,6 +4244,8 @@ }, "node_modules/extract-zip/node_modules/get-stream": { "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", "dev": true, "license": "MIT", "dependencies": { @@ -4211,16 +4260,22 @@ }, "node_modules/fast-deep-equal": { "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", "dev": true, "license": "MIT" }, "node_modules/fast-diff": { "version": "1.3.0", + "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz", + "integrity": "sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==", "dev": true, "license": "Apache-2.0" }, "node_modules/fast-fifo": { "version": "1.3.2", + "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.3.2.tgz", + "integrity": "sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==", "dev": true, "license": "MIT" }, @@ -4256,11 +4311,15 @@ }, "node_modules/fast-json-stable-stringify": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", "dev": true, "license": "MIT" }, "node_modules/fast-levenshtein": { "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", "dev": true, "license": "MIT" }, @@ -4293,13 +4352,32 @@ }, "node_modules/fd-slicer": { "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", "license": "MIT", "dependencies": { "pend": "~1.2.0" } }, + "node_modules/fdir": { + "version": "6.4.6", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.6.tgz", + "integrity": "sha512-hiFoqpyZcfNm1yc4u8oWCf9A2c4D3QjCrks3zmoVKVxpQRzmPNar1hUJcBG2RQHvEVGDN+Jm81ZheVLAQMK6+w==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, "node_modules/file-entry-cache": { "version": "8.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", + "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", "dev": true, "license": "MIT", "dependencies": { @@ -4332,15 +4410,18 @@ } }, "node_modules/find-up": { - "version": "5.0.0", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-7.0.0.tgz", + "integrity": "sha512-YyZM99iHrqLKjmt4LJDj58KI+fYyufRLBSYcqycxf//KpBk9FoewoGX0450m9nB44qrZnovzC2oeP5hUibxc/g==", "dev": true, "license": "MIT", "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" + "locate-path": "^7.2.0", + "path-exists": "^5.0.0", + "unicorn-magic": "^0.1.0" }, "engines": { - "node": ">=10" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -4348,6 +4429,8 @@ }, "node_modules/flat-cache": { "version": "4.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", + "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", "dev": true, "license": "MIT", "dependencies": { @@ -4360,9 +4443,26 @@ }, "node_modules/flatted": { "version": "3.3.3", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz", + "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==", "dev": true, "license": "ISC" }, + "node_modules/for-each": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.5.tgz", + "integrity": "sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==", + "license": "MIT", + "dependencies": { + "is-callable": "^1.2.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/from": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/from/-/from-0.1.7.tgz", @@ -4395,7 +4495,6 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", - "dev": true, "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" @@ -4403,6 +4502,8 @@ }, "node_modules/get-caller-file": { "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", "dev": true, "license": "ISC", "engines": { @@ -4411,6 +4512,8 @@ }, "node_modules/get-east-asian-width": { "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.3.0.tgz", + "integrity": "sha512-vpeMIQKxczTD/0s2CdEWHcb0eeJe6TFjxb+J5xgX7hScxqrGuyjmv4c1D4A/gelKfyox0gJJwIHF+fLjeaM8kQ==", "license": "MIT", "engines": { "node": ">=18" @@ -4419,6 +4522,43 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/get-intrinsic": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/get-stream": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-2.3.1.tgz", @@ -4433,7 +4573,9 @@ } }, "node_modules/get-uri": { - "version": "6.0.4", + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/get-uri/-/get-uri-6.0.5.tgz", + "integrity": "sha512-b1O07XYq8eRuVzBNgJLstU6FYc1tS6wnMtF1I1D9lE8LxZSOGZ7LhxN54yPP6mGw5f2CkXY2BQUL9Fx41qvcIg==", "dev": true, "license": "MIT", "dependencies": { @@ -4465,6 +4607,8 @@ }, "node_modules/glob-parent": { "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", "dev": true, "license": "ISC", "dependencies": { @@ -4492,6 +4636,8 @@ }, "node_modules/globals": { "version": "14.0.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", + "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", "dev": true, "license": "MIT", "engines": { @@ -4501,6 +4647,18 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/graceful-fs": { "version": "4.2.11", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", @@ -4509,22 +4667,64 @@ }, "node_modules/graphemer": { "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", "dev": true, "license": "MIT" }, - "node_modules/has-flag": { - "version": "4.0.0", - "dev": true, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", "license": "MIT", + "dependencies": { + "has-symbols": "^1.0.3" + }, "engines": { - "node": ">=8" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/hasown": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", - "dev": true, "license": "MIT", "dependencies": { "function-bind": "^1.1.2" @@ -4534,9 +4734,9 @@ } }, "node_modules/hono": { - "version": "4.7.9", - "resolved": "https://registry.npmjs.org/hono/-/hono-4.7.9.tgz", - "integrity": "sha512-/EsCoR5h7N4yu01TDu9GMCCJa6ZLk5ZJIWFFGNawAXmd1Tp53+Wir4xm0D2X19bbykWUlzQG0+BvPAji6p9E8Q==", + "version": "4.8.4", + "resolved": "https://registry.npmjs.org/hono/-/hono-4.8.4.tgz", + "integrity": "sha512-KOIBp1+iUs0HrKztM4EHiB2UtzZDTBihDtOF5K6+WaJjCPeaW4Q92R8j63jOhvJI5+tZSMuKD9REVEXXY9illg==", "license": "MIT", "engines": { "node": ">=16.9.0" @@ -4552,6 +4752,8 @@ }, "node_modules/http-proxy-agent": { "version": "7.0.2", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", + "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==", "dev": true, "license": "MIT", "dependencies": { @@ -4572,6 +4774,8 @@ }, "node_modules/https-proxy-agent": { "version": "7.0.6", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz", + "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==", "dev": true, "license": "MIT", "dependencies": { @@ -4603,7 +4807,9 @@ "license": "BSD-3-Clause" }, "node_modules/ignore": { - "version": "5.3.2", + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz", + "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==", "dev": true, "license": "MIT", "engines": { @@ -4612,6 +4818,8 @@ }, "node_modules/import-fresh": { "version": "3.3.1", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", + "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", "dev": true, "license": "MIT", "dependencies": { @@ -4625,6 +4833,16 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/import-fresh/node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, "node_modules/import-meta-resolve": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/import-meta-resolve/-/import-meta-resolve-4.1.0.tgz", @@ -4638,6 +4856,8 @@ }, "node_modules/imurmurhash": { "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", "dev": true, "license": "MIT", "engines": { @@ -4646,6 +4866,8 @@ }, "node_modules/inherits": { "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", "license": "ISC" }, "node_modules/ini": { @@ -4660,6 +4882,8 @@ }, "node_modules/ip-address": { "version": "9.0.5", + "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-9.0.5.tgz", + "integrity": "sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g==", "dev": true, "license": "MIT", "dependencies": { @@ -4672,9 +4896,23 @@ }, "node_modules/is-arrayish": { "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", "dev": true, "license": "MIT" }, + "node_modules/is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-core-module": { "version": "2.16.1", "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", @@ -4693,6 +4931,8 @@ }, "node_modules/is-extglob": { "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", "dev": true, "license": "MIT", "engines": { @@ -4701,6 +4941,8 @@ }, "node_modules/is-fullwidth-code-point": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "dev": true, "license": "MIT", "engines": { @@ -4709,6 +4951,8 @@ }, "node_modules/is-glob": { "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", "dev": true, "license": "MIT", "dependencies": { @@ -4720,6 +4964,8 @@ }, "node_modules/is-interactive": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-2.0.0.tgz", + "integrity": "sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==", "license": "MIT", "engines": { "node": ">=12" @@ -4783,8 +5029,25 @@ "node": ">=8" } }, + "node_modules/is-typed-array": { + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.15.tgz", + "integrity": "sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==", + "license": "MIT", + "dependencies": { + "which-typed-array": "^1.1.16" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-unicode-supported": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-2.1.0.tgz", + "integrity": "sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ==", "license": "MIT", "engines": { "node": ">=18" @@ -4801,6 +5064,8 @@ }, "node_modules/isexe": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", "dev": true, "license": "ISC" }, @@ -4816,11 +5081,15 @@ }, "node_modules/js-tokens": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", "dev": true, "license": "MIT" }, "node_modules/js-yaml": { "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", "dev": true, "license": "MIT", "dependencies": { @@ -4832,26 +5101,36 @@ }, "node_modules/jsbn": { "version": "1.1.0", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-1.1.0.tgz", + "integrity": "sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==", "dev": true, "license": "MIT" }, "node_modules/json-buffer": { "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", "dev": true, "license": "MIT" }, "node_modules/json-parse-even-better-errors": { "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", "dev": true, "license": "MIT" }, "node_modules/json-schema-traverse": { - "version": "0.4.1", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", "dev": true, "license": "MIT" }, "node_modules/json-stable-stringify-without-jsonify": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", "dev": true, "license": "MIT" }, @@ -4884,6 +5163,8 @@ }, "node_modules/keyv": { "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", "dev": true, "license": "MIT", "dependencies": { @@ -4892,6 +5173,8 @@ }, "node_modules/levn": { "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", "dev": true, "license": "MIT", "dependencies": { @@ -4904,18 +5187,22 @@ }, "node_modules/lines-and-columns": { "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", "dev": true, "license": "MIT" }, "node_modules/locate-path": { - "version": "6.0.0", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-7.2.0.tgz", + "integrity": "sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==", "dev": true, "license": "MIT", "dependencies": { - "p-locate": "^5.0.0" + "p-locate": "^6.0.0" }, "engines": { - "node": ">=10" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -4944,6 +5231,8 @@ }, "node_modules/lodash.merge": { "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", "dev": true, "license": "MIT" }, @@ -4984,6 +5273,8 @@ }, "node_modules/log-symbols": { "version": "6.0.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-6.0.0.tgz", + "integrity": "sha512-i24m8rpwhmPIS4zscNzK6MSEhk0DUWa/8iYQWxhffV8jkI4Phvs3F+quL5xvS0gdQR0FyTCMMH33Y78dDTzzIw==", "license": "MIT", "dependencies": { "chalk": "^5.3.0", @@ -4998,6 +5289,8 @@ }, "node_modules/log-symbols/node_modules/is-unicode-supported": { "version": "1.3.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-1.3.0.tgz", + "integrity": "sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==", "license": "MIT", "engines": { "node": ">=12" @@ -5007,14 +5300,16 @@ } }, "node_modules/loupe": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/loupe/-/loupe-3.1.3.tgz", - "integrity": "sha512-kkIp7XSkP78ZxJEsSxW3712C6teJVoeHHwgo9zJ380de7IYyJ2ISlxojcH2pC5OFLewESmnRi/+XCDIEEVyoug==", + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/loupe/-/loupe-3.1.4.tgz", + "integrity": "sha512-wJzkKwJrheKtknCOKNEtDK4iqg/MxmZheEMtSTYvnzRdEYaZzmgH976nenp8WdJRdx5Vc1X/9MO0Oszl6ezeXg==", "dev": true, "license": "MIT" }, "node_modules/lru-cache": { "version": "7.18.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", + "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", "dev": true, "license": "ISC", "engines": { @@ -5058,6 +5353,15 @@ "integrity": "sha512-CkYQrPYZfWnu/DAmVCpTSX/xHpKZ80eKh2lAkyA6AJTef6bW+6JpbQZN5rofum7da+SyN1bi5ctTm+lTfcCW3g==", "dev": true }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, "node_modules/meow": { "version": "12.1.1", "resolved": "https://registry.npmjs.org/meow/-/meow-12.1.1.tgz", @@ -5095,8 +5399,23 @@ "node": ">=8.6" } }, + "node_modules/micromatch/node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, "node_modules/mime": { - "version": "4.0.6", + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/mime/-/mime-4.0.7.tgz", + "integrity": "sha512-2OfDPL+e03E0LrXaGYOtTFIYhiuzep94NSsuhrNULq+stylcJedcHdzHtz0atMUuGwJfFYs0YL5xeC/Ca2x0eQ==", "dev": true, "funding": [ "https://github.com/sponsors/broofa" @@ -5111,6 +5430,8 @@ }, "node_modules/mimic-function": { "version": "5.0.1", + "resolved": "https://registry.npmjs.org/mimic-function/-/mimic-function-5.0.1.tgz", + "integrity": "sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==", "license": "MIT", "engines": { "node": ">=18" @@ -5147,11 +5468,15 @@ }, "node_modules/mitt": { "version": "3.0.1", + "resolved": "https://registry.npmjs.org/mitt/-/mitt-3.0.1.tgz", + "integrity": "sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==", "dev": true, "license": "MIT" }, "node_modules/mkdirp": { "version": "3.0.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-3.0.1.tgz", + "integrity": "sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==", "license": "MIT", "bin": { "mkdirp": "dist/cjs/src/bin.js" @@ -5165,6 +5490,8 @@ }, "node_modules/ms": { "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", "dev": true, "license": "MIT" }, @@ -5189,11 +5516,15 @@ }, "node_modules/natural-compare": { "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", "dev": true, "license": "MIT" }, "node_modules/netmask": { "version": "2.0.2", + "resolved": "https://registry.npmjs.org/netmask/-/netmask-2.0.2.tgz", + "integrity": "sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg==", "dev": true, "license": "MIT", "engines": { @@ -5215,6 +5546,8 @@ }, "node_modules/once": { "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", "license": "ISC", "dependencies": { "wrappy": "1" @@ -5222,6 +5555,8 @@ }, "node_modules/onetime": { "version": "7.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-7.0.0.tgz", + "integrity": "sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==", "license": "MIT", "dependencies": { "mimic-function": "^5.0.0" @@ -5235,6 +5570,8 @@ }, "node_modules/optionator": { "version": "0.9.4", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", "dev": true, "license": "MIT", "dependencies": { @@ -5251,6 +5588,8 @@ }, "node_modules/ora": { "version": "8.2.0", + "resolved": "https://registry.npmjs.org/ora/-/ora-8.2.0.tgz", + "integrity": "sha512-weP+BZ8MVNnlCm8c0Qdc1WSWq4Qn7I+9CJGm7Qali6g44e/PUzbjNqJX5NJ9ljlNMosfJvg1fKEGILklK9cwnw==", "license": "MIT", "dependencies": { "chalk": "^5.3.0", @@ -5271,28 +5610,32 @@ } }, "node_modules/p-limit": { - "version": "3.1.0", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz", + "integrity": "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==", "dev": true, "license": "MIT", "dependencies": { - "yocto-queue": "^0.1.0" + "yocto-queue": "^1.0.0" }, "engines": { - "node": ">=10" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/p-locate": { - "version": "5.0.0", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-6.0.0.tgz", + "integrity": "sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==", "dev": true, "license": "MIT", "dependencies": { - "p-limit": "^3.0.2" + "p-limit": "^4.0.0" }, "engines": { - "node": ">=10" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -5300,6 +5643,8 @@ }, "node_modules/pac-proxy-agent": { "version": "7.2.0", + "resolved": "https://registry.npmjs.org/pac-proxy-agent/-/pac-proxy-agent-7.2.0.tgz", + "integrity": "sha512-TEB8ESquiLMc0lV8vcd5Ql/JAKAoyzHFXaStwjkzpOpC5Yv+pIzLfHvjTSdf3vpa2bMiUQrg9i6276yn8666aA==", "dev": true, "license": "MIT", "dependencies": { @@ -5318,6 +5663,8 @@ }, "node_modules/pac-resolver": { "version": "7.0.1", + "resolved": "https://registry.npmjs.org/pac-resolver/-/pac-resolver-7.0.1.tgz", + "integrity": "sha512-5NPgf87AT2STgwa2ntRMr45jTKrYBGkVU36yT0ig/n/GMAa3oPqhZfIQ2kMEimReg0+t9kZViDVZ83qfVUlckg==", "dev": true, "license": "MIT", "dependencies": { @@ -5330,6 +5677,8 @@ }, "node_modules/parent-module": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", "dev": true, "license": "MIT", "dependencies": { @@ -5341,6 +5690,8 @@ }, "node_modules/parse-json": { "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", "dev": true, "license": "MIT", "dependencies": { @@ -5357,15 +5708,19 @@ } }, "node_modules/path-exists": { - "version": "4.0.0", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz", + "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==", "dev": true, "license": "MIT", "engines": { - "node": ">=8" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" } }, "node_modules/path-key": { "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", "dev": true, "license": "MIT", "engines": { @@ -5387,9 +5742,9 @@ "license": "MIT" }, "node_modules/pathval": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/pathval/-/pathval-2.0.0.tgz", - "integrity": "sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pathval/-/pathval-2.0.1.tgz", + "integrity": "sha512-//nshmD55c46FuFw26xV/xFAaB5HF9Xdap7HJBBnrKdAd6/GxDBaNA1870O79+9ueg61cZLSVc+OaFlfmObYVQ==", "dev": true, "license": "MIT", "engines": { @@ -5411,21 +5766,25 @@ }, "node_modules/pend": { "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==", "license": "MIT" }, "node_modules/picocolors": { "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", "dev": true, "license": "ISC" }, "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", + "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", "dev": true, "license": "MIT", "engines": { - "node": ">=8.6" + "node": ">=12" }, "funding": { "url": "https://github.com/sponsors/jonschlinkert" @@ -5461,10 +5820,19 @@ "node": ">=0.10.0" } }, + "node_modules/possible-typed-array-names": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz", + "integrity": "sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, "node_modules/postcss": { - "version": "8.5.4", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.4.tgz", - "integrity": "sha512-QSa9EBe+uwlGTFmHsPKokv3B/oEMQZxfqW0QqNCyhpa6mB1afzulwn8hihglqAb2pOw+BJgNlmXQ8la2VeHB7w==", + "version": "8.5.6", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", + "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", "dev": true, "funding": [ { @@ -5492,6 +5860,8 @@ }, "node_modules/prelude-ls": { "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", "dev": true, "license": "MIT", "engines": { @@ -5499,7 +5869,9 @@ } }, "node_modules/prettier": { - "version": "3.5.3", + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.6.2.tgz", + "integrity": "sha512-I7AIg5boAr5R0FFtJ6rCfD+LFsWHp81dolrFD8S79U9tb8Az2nGrJncnMSnys+bpQJfRUzqs9hnA81OAA3hCuQ==", "dev": true, "license": "MIT", "bin": { @@ -5514,6 +5886,8 @@ }, "node_modules/prettier-linter-helpers": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", + "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", "dev": true, "license": "MIT", "dependencies": { @@ -5531,6 +5905,8 @@ }, "node_modules/progress": { "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", "dev": true, "license": "MIT", "engines": { @@ -5539,6 +5915,8 @@ }, "node_modules/proxy-agent": { "version": "6.5.0", + "resolved": "https://registry.npmjs.org/proxy-agent/-/proxy-agent-6.5.0.tgz", + "integrity": "sha512-TmatMXdr2KlRiA2CyDu8GqR8EjahTG3aY3nXjdzFyoZbmB8hrBsTyMezhULIXKnC0jpfjlmiZ3+EaCzoInSu/A==", "dev": true, "license": "MIT", "dependencies": { @@ -5557,6 +5935,8 @@ }, "node_modules/proxy-from-env": { "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", "dev": true, "license": "MIT" }, @@ -5577,7 +5957,9 @@ } }, "node_modules/pump": { - "version": "3.0.2", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.3.tgz", + "integrity": "sha512-todwxLMY7/heScKmntwQG8CXVkWUOdYxIvY2s0VWAAMh/nd8SoYiRaKjlr7+iCs984f2P8zvrfWcDDYVb73NfA==", "dev": true, "license": "MIT", "dependencies": { @@ -5587,6 +5969,8 @@ }, "node_modules/punycode": { "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", "dev": true, "license": "MIT", "engines": { @@ -5594,16 +5978,18 @@ } }, "node_modules/puppeteer": { - "version": "24.4.0", + "version": "24.12.1", + "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-24.12.1.tgz", + "integrity": "sha512-+vvwl+Xo4z5uXLLHG+XW8uXnUXQ62oY6KU6bEFZJvHWLutbmv5dw9A/jcMQ0fqpQdLydHmK0Uy7/9Ilj8ufwSQ==", "dev": true, "hasInstallScript": true, "license": "Apache-2.0", "dependencies": { - "@puppeteer/browsers": "2.8.0", - "chromium-bidi": "2.1.2", + "@puppeteer/browsers": "2.10.5", + "chromium-bidi": "5.1.0", "cosmiconfig": "^9.0.0", - "devtools-protocol": "0.0.1413902", - "puppeteer-core": "24.4.0", + "devtools-protocol": "0.0.1464554", + "puppeteer-core": "24.12.1", "typed-query-selector": "^2.12.0" }, "bin": { @@ -5614,16 +6000,18 @@ } }, "node_modules/puppeteer-core": { - "version": "24.4.0", + "version": "24.12.1", + "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-24.12.1.tgz", + "integrity": "sha512-8odp6d3ERKBa3BAVaYWXn95UxQv3sxvP1reD+xZamaX6ed8nCykhwlOiHSaHR9t/MtmIB+rJmNencI6Zy4Gxvg==", "dev": true, "license": "Apache-2.0", "dependencies": { - "@puppeteer/browsers": "2.8.0", - "chromium-bidi": "2.1.2", - "debug": "^4.4.0", - "devtools-protocol": "0.0.1413902", + "@puppeteer/browsers": "2.10.5", + "chromium-bidi": "5.1.0", + "debug": "^4.4.1", + "devtools-protocol": "0.0.1464554", "typed-query-selector": "^2.12.0", - "ws": "^8.18.1" + "ws": "^8.18.3" }, "engines": { "node": ">=18" @@ -5673,6 +6061,8 @@ }, "node_modules/require-directory": { "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", "dev": true, "license": "MIT", "engines": { @@ -5711,15 +6101,19 @@ } }, "node_modules/resolve-from": { - "version": "4.0.0", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", "dev": true, "license": "MIT", "engines": { - "node": ">=4" + "node": ">=8" } }, "node_modules/restore-cursor": { "version": "5.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-5.1.0.tgz", + "integrity": "sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==", "license": "MIT", "dependencies": { "onetime": "^7.0.0", @@ -5744,13 +6138,13 @@ } }, "node_modules/rollup": { - "version": "4.40.2", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.40.2.tgz", - "integrity": "sha512-tfUOg6DTP4rhQ3VjOO6B4wyrJnGOX85requAXvqYTHsOgb2TFJdZ3aWpT8W2kPoypSGP7dZUyzxJ9ee4buM5Fg==", + "version": "4.44.2", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.44.2.tgz", + "integrity": "sha512-PVoapzTwSEcelaWGth3uR66u7ZRo6qhPHc0f2uRO9fX6XDVNrIiGYS0Pj9+R8yIIYSD/mCx2b16Ws9itljKSPg==", "dev": true, "license": "MIT", "dependencies": { - "@types/estree": "1.0.7" + "@types/estree": "1.0.8" }, "bin": { "rollup": "dist/bin/rollup" @@ -5760,26 +6154,26 @@ "npm": ">=8.0.0" }, "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.40.2", - "@rollup/rollup-android-arm64": "4.40.2", - "@rollup/rollup-darwin-arm64": "4.40.2", - "@rollup/rollup-darwin-x64": "4.40.2", - "@rollup/rollup-freebsd-arm64": "4.40.2", - "@rollup/rollup-freebsd-x64": "4.40.2", - "@rollup/rollup-linux-arm-gnueabihf": "4.40.2", - "@rollup/rollup-linux-arm-musleabihf": "4.40.2", - "@rollup/rollup-linux-arm64-gnu": "4.40.2", - "@rollup/rollup-linux-arm64-musl": "4.40.2", - "@rollup/rollup-linux-loongarch64-gnu": "4.40.2", - "@rollup/rollup-linux-powerpc64le-gnu": "4.40.2", - "@rollup/rollup-linux-riscv64-gnu": "4.40.2", - "@rollup/rollup-linux-riscv64-musl": "4.40.2", - "@rollup/rollup-linux-s390x-gnu": "4.40.2", - "@rollup/rollup-linux-x64-gnu": "4.40.2", - "@rollup/rollup-linux-x64-musl": "4.40.2", - "@rollup/rollup-win32-arm64-msvc": "4.40.2", - "@rollup/rollup-win32-ia32-msvc": "4.40.2", - "@rollup/rollup-win32-x64-msvc": "4.40.2", + "@rollup/rollup-android-arm-eabi": "4.44.2", + "@rollup/rollup-android-arm64": "4.44.2", + "@rollup/rollup-darwin-arm64": "4.44.2", + "@rollup/rollup-darwin-x64": "4.44.2", + "@rollup/rollup-freebsd-arm64": "4.44.2", + "@rollup/rollup-freebsd-x64": "4.44.2", + "@rollup/rollup-linux-arm-gnueabihf": "4.44.2", + "@rollup/rollup-linux-arm-musleabihf": "4.44.2", + "@rollup/rollup-linux-arm64-gnu": "4.44.2", + "@rollup/rollup-linux-arm64-musl": "4.44.2", + "@rollup/rollup-linux-loongarch64-gnu": "4.44.2", + "@rollup/rollup-linux-powerpc64le-gnu": "4.44.2", + "@rollup/rollup-linux-riscv64-gnu": "4.44.2", + "@rollup/rollup-linux-riscv64-musl": "4.44.2", + "@rollup/rollup-linux-s390x-gnu": "4.44.2", + "@rollup/rollup-linux-x64-gnu": "4.44.2", + "@rollup/rollup-linux-x64-musl": "4.44.2", + "@rollup/rollup-win32-arm64-msvc": "4.44.2", + "@rollup/rollup-win32-ia32-msvc": "4.44.2", + "@rollup/rollup-win32-x64-msvc": "4.44.2", "fsevents": "~2.3.2" } }, @@ -5809,6 +6203,8 @@ }, "node_modules/safe-buffer": { "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", "funding": [ { "type": "github", @@ -5845,9 +6241,9 @@ "license": "MIT" }, "node_modules/semver": { - "version": "7.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", - "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", "dev": true, "license": "ISC", "bin": { @@ -5857,8 +6253,27 @@ "node": ">=10" } }, + "node_modules/set-function-length": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", + "license": "MIT", + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/shebang-command": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", "dev": true, "license": "MIT", "dependencies": { @@ -5870,6 +6285,8 @@ }, "node_modules/shebang-regex": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "dev": true, "license": "MIT", "engines": { @@ -5878,11 +6295,15 @@ }, "node_modules/siginfo": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz", + "integrity": "sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==", "dev": true, "license": "ISC" }, "node_modules/signal-exit": { "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", "license": "ISC", "engines": { "node": ">=14" @@ -5893,6 +6314,8 @@ }, "node_modules/smart-buffer": { "version": "4.2.0", + "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", + "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", "dev": true, "license": "MIT", "engines": { @@ -5901,7 +6324,9 @@ } }, "node_modules/smol-toml": { - "version": "1.3.1", + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/smol-toml/-/smol-toml-1.4.1.tgz", + "integrity": "sha512-CxdwHXyYTONGHThDbq5XdwbFsuY4wlClRGejfE2NtwUtiHYsP1QtNsHb/hnj31jKYSchztJsaA8pSQoVzkfCFg==", "dev": true, "license": "BSD-3-Clause", "engines": { @@ -5912,7 +6337,9 @@ } }, "node_modules/socks": { - "version": "2.8.4", + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.8.5.tgz", + "integrity": "sha512-iF+tNDQla22geJdTyJB1wM/qrX9DMRwWrciEPwWLPRWAUEM8sQiyxgckLxWT1f7+9VabJS0jTGGr4QgBuvi6Ww==", "dev": true, "license": "MIT", "dependencies": { @@ -5926,6 +6353,8 @@ }, "node_modules/socks-proxy-agent": { "version": "8.0.5", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.5.tgz", + "integrity": "sha512-HehCEsotFqbPW9sJ8WVYB6UbmIMv7kUUORIF2Nncq4VQvBfNBLibW9YZR5dlYCSUhwcD628pRllm7n+E+YTzJw==", "dev": true, "license": "MIT", "dependencies": { @@ -5939,6 +6368,8 @@ }, "node_modules/source-map": { "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" @@ -5956,6 +6387,8 @@ }, "node_modules/source-map-support": { "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", "license": "MIT", "dependencies": { "buffer-from": "^1.0.0", @@ -5987,11 +6420,15 @@ }, "node_modules/sprintf-js": { "version": "1.1.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz", + "integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==", "dev": true, "license": "BSD-3-Clause" }, "node_modules/stackback": { "version": "0.0.2", + "resolved": "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz", + "integrity": "sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==", "dev": true, "license": "MIT" }, @@ -6004,6 +6441,8 @@ }, "node_modules/stdin-discarder": { "version": "0.2.2", + "resolved": "https://registry.npmjs.org/stdin-discarder/-/stdin-discarder-0.2.2.tgz", + "integrity": "sha512-UhDfHmA92YAlNnCfhmq0VeNL5bDbiZGg7sZ2IvPsXubGkiNa9EC+tUTsjBRsYUAz87btI6/1wf4XoVvQ3uRnmQ==", "license": "MIT", "engines": { "node": ">=18" @@ -6023,7 +6462,9 @@ } }, "node_modules/streamx": { - "version": "2.22.0", + "version": "2.22.1", + "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.22.1.tgz", + "integrity": "sha512-znKXEBxfatz2GBNK02kRnCXjV+AA4kjZIUxeWSr3UGirZMJfTE9uiwKHobnbgxWyL/JWro8tTq+vOqAK1/qbSA==", "dev": true, "license": "MIT", "dependencies": { @@ -6059,6 +6500,8 @@ }, "node_modules/string-width": { "version": "7.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", + "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", "license": "MIT", "dependencies": { "emoji-regex": "^10.3.0", @@ -6074,6 +6517,8 @@ }, "node_modules/strip-ansi": { "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", "license": "MIT", "dependencies": { "ansi-regex": "^6.0.1" @@ -6096,6 +6541,8 @@ }, "node_modules/strip-json-comments": { "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", "dev": true, "license": "MIT", "engines": { @@ -6105,8 +6552,30 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/strip-literal": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-literal/-/strip-literal-3.0.0.tgz", + "integrity": "sha512-TcccoMhJOM3OebGhSBEmp3UZ2SfDMZUEBdRA/9ynfLi8yYajyWX3JiXArcJt4Umh4vISpspkQIY8ZZoCqjbviA==", + "dev": true, + "license": "MIT", + "dependencies": { + "js-tokens": "^9.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/strip-literal/node_modules/js-tokens": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-9.0.1.tgz", + "integrity": "sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==", + "dev": true, + "license": "MIT" + }, "node_modules/supports-color": { "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "license": "MIT", "dependencies": { @@ -6130,22 +6599,25 @@ } }, "node_modules/synckit": { - "version": "0.10.3", + "version": "0.11.8", + "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.11.8.tgz", + "integrity": "sha512-+XZ+r1XGIJGeQk3VvXhT6xx/VpbHsRzsTkGgF6E5RX9TTXD0118l87puaEBZ566FhqblC6U0d4XnubznJDm30A==", "dev": true, "license": "MIT", "dependencies": { - "@pkgr/core": "^0.2.0", - "tslib": "^2.8.1" + "@pkgr/core": "^0.2.4" }, "engines": { "node": "^14.18.0 || >=16.0.0" }, "funding": { - "url": "https://opencollective.com/unts" + "url": "https://opencollective.com/synckit" } }, "node_modules/tar-fs": { - "version": "3.0.8", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-3.1.0.tgz", + "integrity": "sha512-5Mty5y/sOF1YWj1J6GiBodjlDc05CUR8PKXrsnFAiSG0xA+GHeWLovaZPYUDXkH/1iKRf2+M5+OrRgzC7O9b7w==", "dev": true, "license": "MIT", "dependencies": { @@ -6159,6 +6631,8 @@ }, "node_modules/tar-fs/node_modules/tar-stream": { "version": "3.1.7", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.7.tgz", + "integrity": "sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==", "dev": true, "license": "MIT", "dependencies": { @@ -6199,11 +6673,13 @@ } }, "node_modules/terser": { - "version": "5.39.0", + "version": "5.43.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.43.1.tgz", + "integrity": "sha512-+6erLbBm0+LROX2sPXlUYx/ux5PyE9K/a92Wrt6oA+WDAoFTdpHE5tCYCI5PNzq2y8df4rA+QgHLJuR4jNymsg==", "license": "BSD-2-Clause", "dependencies": { "@jridgewell/source-map": "^0.3.3", - "acorn": "^8.8.2", + "acorn": "^8.14.0", "commander": "^2.20.0", "source-map-support": "~0.5.20" }, @@ -6216,10 +6692,14 @@ }, "node_modules/terser/node_modules/commander": { "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", "license": "MIT" }, "node_modules/text-decoder": { "version": "1.2.3", + "resolved": "https://registry.npmjs.org/text-decoder/-/text-decoder-1.2.3.tgz", + "integrity": "sha512-3/o9z3X0X0fTupwsYvR03pJ/DjWuqqrfwBgTQzdWDiQSm9KitAyz/9WqsT2JQW7KV2m+bC2ol/zqpW37NHxLaA==", "dev": true, "license": "Apache-2.0", "dependencies": { @@ -6241,15 +6721,21 @@ }, "node_modules/through": { "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", "license": "MIT" }, "node_modules/tinybench": { "version": "2.9.0", + "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.9.0.tgz", + "integrity": "sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==", "dev": true, "license": "MIT" }, "node_modules/tinyexec": { - "version": "0.3.2", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-1.0.1.tgz", + "integrity": "sha512-5uC6DDlmeqiOwCPmK9jMSdOuZTh8bU39Ys6yidB+UTt5hfZUPGAypSgFRiEp+jbi9qH40BLDvy85jIU88wKSqw==", "dev": true, "license": "MIT" }, @@ -6270,38 +6756,10 @@ "url": "https://github.com/sponsors/SuperchupuDev" } }, - "node_modules/tinyglobby/node_modules/fdir": { - "version": "6.4.5", - "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.5.tgz", - "integrity": "sha512-4BG7puHpVsIYxZUbiUE3RqGloLaSSwzYie5jvasC4LWuBWzZawynvYouhjbQKw2JuIGYdm0DzIxl8iVidKlUEw==", - "dev": true, - "license": "MIT", - "peerDependencies": { - "picomatch": "^3 || ^4" - }, - "peerDependenciesMeta": { - "picomatch": { - "optional": true - } - } - }, - "node_modules/tinyglobby/node_modules/picomatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", - "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, "node_modules/tinypool": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-1.1.0.tgz", - "integrity": "sha512-7CotroY9a8DKsKprEy/a14aCCm8jYVmR7aFy4fpkZM8sdpNJbKkixuNjgM50yCmip2ezc8z4N7k3oe2+rfRJCQ==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-1.1.1.tgz", + "integrity": "sha512-Zba82s87IFq9A9XmjiX5uZA/ARWDrB03OHlq+Vw1fSdt0I+4/Kutwy8BP4Y/y/aORMo61FQ0vIb5j44vSo5Pkg==", "dev": true, "license": "MIT", "engines": { @@ -6329,9 +6787,23 @@ } }, "node_modules/to-buffer": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz", - "integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.2.1.tgz", + "integrity": "sha512-tB82LpAIWjhLYbqjx3X4zEeHN6M8CiuOEy2JY8SEQVdYRe3CCHOFaqrBW1doLDrfpWhplcW7BL+bO3/6S3pcDQ==", + "license": "MIT", + "dependencies": { + "isarray": "^2.0.5", + "safe-buffer": "^5.2.1", + "typed-array-buffer": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/to-buffer/node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", "license": "MIT" }, "node_modules/to-regex-range": { @@ -6349,6 +6821,8 @@ }, "node_modules/ts-api-utils": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.1.0.tgz", + "integrity": "sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==", "dev": true, "license": "MIT", "engines": { @@ -6360,11 +6834,15 @@ }, "node_modules/tslib": { "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", "devOptional": true, "license": "0BSD" }, "node_modules/type-check": { "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", "dev": true, "license": "MIT", "dependencies": { @@ -6374,8 +6852,24 @@ "node": ">= 0.8.0" } }, + "node_modules/typed-array-buffer": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz", + "integrity": "sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "is-typed-array": "^1.1.14" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/typed-query-selector": { "version": "2.12.0", + "resolved": "https://registry.npmjs.org/typed-query-selector/-/typed-query-selector-2.12.0.tgz", + "integrity": "sha512-SbklCd1F0EiZOyPiW192rrHZzZ5sBijB6xM+cpmrwDqObvdtunOHHIk9fCGsoK5JVIYXoyEp4iEdE3upFH3PAg==", "dev": true, "license": "MIT" }, @@ -6394,15 +6888,15 @@ } }, "node_modules/typescript-eslint": { - "version": "8.33.1", - "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.33.1.tgz", - "integrity": "sha512-AgRnV4sKkWOiZ0Kjbnf5ytTJXMUZQ0qhSVdQtDNYLPLnjsATEYhaO94GlRQwi4t4gO8FfjM6NnikHeKjUm8D7A==", + "version": "8.36.0", + "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.36.0.tgz", + "integrity": "sha512-fTCqxthY+h9QbEgSIBfL9iV6CvKDFuoxg6bHPNpJ9HIUzS+jy2lCEyCmGyZRWEBSaykqcDPf1SJ+BfCI8DRopA==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/eslint-plugin": "8.33.1", - "@typescript-eslint/parser": "8.33.1", - "@typescript-eslint/utils": "8.33.1" + "@typescript-eslint/eslint-plugin": "8.36.0", + "@typescript-eslint/parser": "8.36.0", + "@typescript-eslint/utils": "8.36.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -6448,6 +6942,8 @@ }, "node_modules/uri-js": { "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", "dev": true, "license": "BSD-2-Clause", "dependencies": { @@ -6461,24 +6957,24 @@ "license": "MIT" }, "node_modules/vite": { - "version": "6.3.5", - "resolved": "https://registry.npmjs.org/vite/-/vite-6.3.5.tgz", - "integrity": "sha512-cZn6NDFE7wdTpINgs++ZJ4N49W2vRp8LCKrn3Ob1kYNtOo21vfDoaV5GzBfLU4MovSAB8uNRm4jgzVQZ+mBzPQ==", + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/vite/-/vite-7.0.4.tgz", + "integrity": "sha512-SkaSguuS7nnmV7mfJ8l81JGBFV7Gvzp8IzgE8A8t23+AxuNX61Q5H1Tpz5efduSN7NHC8nQXD3sKQKZAu5mNEA==", "dev": true, "license": "MIT", "dependencies": { "esbuild": "^0.25.0", - "fdir": "^6.4.4", + "fdir": "^6.4.6", "picomatch": "^4.0.2", - "postcss": "^8.5.3", - "rollup": "^4.34.9", - "tinyglobby": "^0.2.13" + "postcss": "^8.5.6", + "rollup": "^4.40.0", + "tinyglobby": "^0.2.14" }, "bin": { "vite": "bin/vite.js" }, "engines": { - "node": "^18.0.0 || ^20.0.0 || >=22.0.0" + "node": "^20.19.0 || >=22.12.0" }, "funding": { "url": "https://github.com/vitejs/vite?sponsor=1" @@ -6487,14 +6983,14 @@ "fsevents": "~2.3.3" }, "peerDependencies": { - "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", + "@types/node": "^20.19.0 || >=22.12.0", "jiti": ">=1.21.0", - "less": "*", + "less": "^4.0.0", "lightningcss": "^1.21.0", - "sass": "*", - "sass-embedded": "*", - "stylus": "*", - "sugarss": "*", + "sass": "^1.70.0", + "sass-embedded": "^1.70.0", + "stylus": ">=0.54.8", + "sugarss": "^5.0.0", "terser": "^5.16.0", "tsx": "^4.8.1", "yaml": "^2.4.2" @@ -6536,9 +7032,9 @@ } }, "node_modules/vite-node": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-3.2.2.tgz", - "integrity": "sha512-Xj/jovjZvDXOq2FgLXu8NsY4uHUMWtzVmMC2LkCu9HWdr9Qu1Is5sanX3Z4jOFKdohfaWDnEJWp9pRP0vVpAcA==", + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-3.2.4.tgz", + "integrity": "sha512-EbKSKh+bh1E1IFxeO0pg1n4dvoOTt0UDiXMd/qn++r98+jPO1xtJilvXldeuQ8giIB5IkpjCgMleHMNEsGH6pg==", "dev": true, "license": "MIT", "dependencies": { @@ -6558,49 +7054,21 @@ "url": "https://opencollective.com/vitest" } }, - "node_modules/vite/node_modules/fdir": { - "version": "6.4.5", - "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.5.tgz", - "integrity": "sha512-4BG7puHpVsIYxZUbiUE3RqGloLaSSwzYie5jvasC4LWuBWzZawynvYouhjbQKw2JuIGYdm0DzIxl8iVidKlUEw==", - "dev": true, - "license": "MIT", - "peerDependencies": { - "picomatch": "^3 || ^4" - }, - "peerDependenciesMeta": { - "picomatch": { - "optional": true - } - } - }, - "node_modules/vite/node_modules/picomatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", - "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, "node_modules/vitest": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/vitest/-/vitest-3.2.2.tgz", - "integrity": "sha512-fyNn/Rp016Bt5qvY0OQvIUCwW2vnaEBLxP42PmKbNIoasSYjML+8xyeADOPvBe+Xfl/ubIw4og7Lt9jflRsCNw==", + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-3.2.4.tgz", + "integrity": "sha512-LUCP5ev3GURDysTWiP47wRRUpLKMOfPh+yKTx3kVIEiu5KOMeqzpnYNsKyOoVrULivR8tLcks4+lga33Whn90A==", "dev": true, "license": "MIT", "dependencies": { "@types/chai": "^5.2.2", - "@vitest/expect": "3.2.2", - "@vitest/mocker": "3.2.2", - "@vitest/pretty-format": "^3.2.2", - "@vitest/runner": "3.2.2", - "@vitest/snapshot": "3.2.2", - "@vitest/spy": "3.2.2", - "@vitest/utils": "3.2.2", + "@vitest/expect": "3.2.4", + "@vitest/mocker": "3.2.4", + "@vitest/pretty-format": "^3.2.4", + "@vitest/runner": "3.2.4", + "@vitest/snapshot": "3.2.4", + "@vitest/spy": "3.2.4", + "@vitest/utils": "3.2.4", "chai": "^5.2.0", "debug": "^4.4.1", "expect-type": "^1.2.1", @@ -6611,10 +7079,10 @@ "tinybench": "^2.9.0", "tinyexec": "^0.3.2", "tinyglobby": "^0.2.14", - "tinypool": "^1.1.0", + "tinypool": "^1.1.1", "tinyrainbow": "^2.0.0", "vite": "^5.0.0 || ^6.0.0 || ^7.0.0-0", - "vite-node": "3.2.2", + "vite-node": "3.2.4", "why-is-node-running": "^2.3.0" }, "bin": { @@ -6630,8 +7098,8 @@ "@edge-runtime/vm": "*", "@types/debug": "^4.1.12", "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", - "@vitest/browser": "3.2.2", - "@vitest/ui": "3.2.2", + "@vitest/browser": "3.2.4", + "@vitest/ui": "3.2.4", "happy-dom": "*", "jsdom": "*" }, @@ -6659,18 +7127,12 @@ } } }, - "node_modules/vitest/node_modules/picomatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", - "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", + "node_modules/vitest/node_modules/tinyexec": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-0.3.2.tgz", + "integrity": "sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==", "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } + "license": "MIT" }, "node_modules/webidl-book-library-wasm": { "resolved": "examples/components/webidl-book-library", @@ -6678,6 +7140,8 @@ }, "node_modules/which": { "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dev": true, "license": "ISC", "dependencies": { @@ -6690,8 +7154,31 @@ "node": ">= 8" } }, + "node_modules/which-typed-array": { + "version": "1.1.19", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.19.tgz", + "integrity": "sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw==", + "license": "MIT", + "dependencies": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "for-each": "^0.3.5", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/why-is-node-running": { "version": "2.3.0", + "resolved": "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.3.0.tgz", + "integrity": "sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==", "dev": true, "license": "MIT", "dependencies": { @@ -6707,6 +7194,8 @@ }, "node_modules/word-wrap": { "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", "dev": true, "license": "MIT", "engines": { @@ -6715,6 +7204,8 @@ }, "node_modules/wrap-ansi": { "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "dev": true, "license": "MIT", "dependencies": { @@ -6731,6 +7222,8 @@ }, "node_modules/wrap-ansi/node_modules/ansi-regex": { "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "dev": true, "license": "MIT", "engines": { @@ -6739,11 +7232,15 @@ }, "node_modules/wrap-ansi/node_modules/emoji-regex": { "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", "dev": true, "license": "MIT" }, "node_modules/wrap-ansi/node_modules/string-width": { "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, "license": "MIT", "dependencies": { @@ -6757,6 +7254,8 @@ }, "node_modules/wrap-ansi/node_modules/strip-ansi": { "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, "license": "MIT", "dependencies": { @@ -6768,10 +7267,14 @@ }, "node_modules/wrappy": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", "license": "ISC" }, "node_modules/ws": { - "version": "8.18.1", + "version": "8.18.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.3.tgz", + "integrity": "sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==", "dev": true, "license": "MIT", "engines": { @@ -6801,6 +7304,8 @@ }, "node_modules/y18n": { "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", "dev": true, "license": "ISC", "engines": { @@ -6809,6 +7314,8 @@ }, "node_modules/yargs": { "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", "dev": true, "license": "MIT", "dependencies": { @@ -6826,6 +7333,8 @@ }, "node_modules/yargs-parser": { "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", "dev": true, "license": "ISC", "engines": { @@ -6834,6 +7343,8 @@ }, "node_modules/yargs/node_modules/ansi-regex": { "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "dev": true, "license": "MIT", "engines": { @@ -6842,11 +7353,15 @@ }, "node_modules/yargs/node_modules/emoji-regex": { "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", "dev": true, "license": "MIT" }, "node_modules/yargs/node_modules/string-width": { "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, "license": "MIT", "dependencies": { @@ -6860,6 +7375,8 @@ }, "node_modules/yargs/node_modules/strip-ansi": { "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, "license": "MIT", "dependencies": { @@ -6871,6 +7388,8 @@ }, "node_modules/yauzl": { "version": "2.10.0", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", "license": "MIT", "dependencies": { "buffer-crc32": "~0.2.3", @@ -6878,18 +7397,22 @@ } }, "node_modules/yocto-queue": { - "version": "0.1.0", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.2.1.tgz", + "integrity": "sha512-AyeEbWOu/TAXdxlV9wmGcR0+yh2j3vYPGOECcIj2S7MkrLyC7ne+oye2BKTItt0ii2PHk4cDy+95+LshzbXnGg==", "dev": true, "license": "MIT", "engines": { - "node": ">=10" + "node": ">=12.20" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/zod": { - "version": "3.24.2", + "version": "3.25.76", + "resolved": "https://registry.npmjs.org/zod/-/zod-3.25.76.tgz", + "integrity": "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==", "dev": true, "license": "MIT", "funding": { @@ -6915,6 +7438,7 @@ }, "devDependencies": { "@commitlint/config-conventional": "^19.8.1", + "@tsconfig/node20": "^20.1.6", "@types/node": "^22.15.17", "@typescript-eslint/eslint-plugin": "^8.2.0", "@typescript-eslint/parser": "^8.2.0", @@ -6934,18 +7458,26 @@ }, "packages/jco-transpile": { "name": "@bytecodealliance/jco-transpile", - "version": "0.0.2", + "version": "0.0.3", "license": "(Apache-2.0 WITH LLVM-exception)", "dependencies": { "@bytecodealliance/preview2-shim": "^0.17.2", "chalk-template": "^1", "terser": "^5" + }, + "devDependencies": { + "@tsconfig/node20": "^20.1.6", + "typescript": "^5.8.3" } }, "packages/preview2-shim": { "name": "@bytecodealliance/preview2-shim", "version": "0.17.2", - "license": "(Apache-2.0 WITH LLVM-exception)" + "license": "(Apache-2.0 WITH LLVM-exception)", + "devDependencies": { + "@tsconfig/node20": "^20.1.6", + "typescript": "^5.8.3" + } }, "packages/preview3-shim": { "name": "@bytecodealliance/preview3-shim", @@ -6956,17 +7488,17 @@ }, "devDependencies": { "@eslint/js": "^9.21.0", + "@tsconfig/node20": "^20.1.6", "eslint": "^9.21.0", "globals": "^16.0.0", "prettier": "^3.5.3", + "typescript": "^5.8.3", "typescript-eslint": "^8.26.0", "vitest": "^3.1.1" } }, "packages/preview3-shim/node_modules/globals": { "version": "16.2.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-16.2.0.tgz", - "integrity": "sha512-O+7l9tPdHCU320IigZZPj5zmRCFG9xHmx9cU8FqU2Rp+JN714seHV+2S9+JslCpY4gJwU2vOGox0wzgae/MCEg==", "dev": true, "license": "MIT", "engines": { diff --git a/package.json b/package.json index f6b573229..055b1d519 100644 --- a/package.json +++ b/package.json @@ -24,5 +24,8 @@ "fmt": "npm run fmt --ws --if-present", "lint": "npm run lint --ws --if-present", "lint:fix": "npm run lint:fix --ws --if-present" + }, + "devDependencies": { + "prettier": "^3.6.2" } } diff --git a/packages/jco-transpile/.vscode/tasks.json b/packages/jco-transpile/.vscode/tasks.json new file mode 100644 index 000000000..b1b7f3ace --- /dev/null +++ b/packages/jco-transpile/.vscode/tasks.json @@ -0,0 +1,15 @@ +{ + "version": "2.0.0", + "tasks": [ + { + "type": "npm", + "label": "compile", + "script": "compile", + "problemMatcher": ["$tsc"], + "group": { + "kind": "build", + "isDefault": true + } + } + ] +} diff --git a/packages/jco-transpile/package.json b/packages/jco-transpile/package.json index d288ea741..36f9f6533 100644 --- a/packages/jco-transpile/package.json +++ b/packages/jco-transpile/package.json @@ -1,57 +1,63 @@ { - "name": "@bytecodealliance/jco-transpile", - "version": "0.0.3", - "description": "WebAssembly Component transpilation functionality for Jco", - "contributors": [ - { - "name": "Guy Bedford" + "name": "@bytecodealliance/jco-transpile", + "version": "0.0.3", + "description": "WebAssembly Component transpilation functionality for Jco", + "contributors": [ + { + "name": "Guy Bedford" + }, + { + "name": "Eduardo Rodrigues", + "email": "16357187+eduardomourar@users.noreply.github.com" + }, + { + "name": "Victor Adossi", + "email": "vadossi@cosmonic.com" + } + ], + "repository": { + "type": "git", + "url": "git+https://github.com/bytecodealliance/jco.git" }, - { - "name": "Eduardo Rodrigues", - "email": "16357187+eduardomourar@users.noreply.github.com" + "license": "(Apache-2.0 WITH LLVM-exception)", + "bugs": { + "url": "https://github.com/bytecodealliance/jco/issues" }, - { - "name": "Victor Adossi", - "email": "vadossi@cosmonic.com" - } - ], - "repository": { - "type": "git", - "url": "git+https://github.com/bytecodealliance/jco.git" - }, - "license": "(Apache-2.0 WITH LLVM-exception)", - "bugs": { - "url": "https://github.com/bytecodealliance/jco/issues" - }, - "homepage": "https://github.com/bytecodealliance/jco#readme", - "keywords": [ - "Wasm", - "WebAssembly", - "Component" - ], - "type": "module", - "files": [ - "types", - "vendor", - "src" - ], - "types": "./types/index.d.ts", - "exports": { - ".": { - "types": "./src/index.d.ts", - "default": "./src/index.js" + "homepage": "https://github.com/bytecodealliance/jco#readme", + "keywords": [ + "Wasm", + "WebAssembly", + "Component" + ], + "type": "module", + "files": [ + "types", + "vendor", + "src", + "dist" + ], + "types": "./dist/index.d.ts", + "exports": { + ".": { + "types": "./dist/index.d.ts", + "default": "./src/index.js" + } + }, + "scripts": { + "lint": "eslint -c ../../eslint.config.mjs ./src/**/*.js ./test/**/*.js", + "lint:fix": "npm run lint -- --fix", + "test": "vitest run -c test/vitest.ts", + "setup:vendor": "npm run -w @bytecodealliance/jco build:release && cp ../jco/obj/*.core*.wasm vendor && cp ../jco/obj/*.js vendor && cp ../jco/obj/*.ts vendor && cp -r ../jco/obj/interfaces vendor", + "prepack": "npm run setup:vendor", + "compile": "tsc --build" + }, + "dependencies": { + "@bytecodealliance/preview2-shim": "^0.17.2", + "chalk-template": "^1", + "terser": "^5" + }, + "devDependencies": { + "@tsconfig/node20": "^20.1.6", + "typescript": "^5.8.3" } - }, - "scripts": { - "lint": "eslint -c ../../eslint.config.mjs ./src/**/*.js ./test/**/*.js", - "lint:fix": "npm run lint -- --fix", - "test": "vitest run -c test/vitest.ts", - "setup:vendor": "npm run -w @bytecodealliance/jco build:release && cp ../jco/obj/*.core*.wasm vendor && cp ../jco/obj/*.js vendor && cp ../jco/obj/*.ts vendor && cp -r ../jco/obj/interfaces vendor", - "prepack": "npm run setup:vendor" - }, - "dependencies": { - "@bytecodealliance/preview2-shim": "^0.17.2", - "chalk-template": "^1", - "terser": "^5" - } } diff --git a/packages/jco-transpile/tsconfig.json b/packages/jco-transpile/tsconfig.json new file mode 100644 index 000000000..55b8d4682 --- /dev/null +++ b/packages/jco-transpile/tsconfig.json @@ -0,0 +1,14 @@ +{ + "extends": "@tsconfig/node20", + "compilerOptions": { + "rootDir": "src", + "outDir": "dist", + "sourceMap": true, + "declaration": true, + "declarationMap": true, + "emitDeclarationOnly": true, + "composite": true, + "allowJs": true + }, + "include": ["src/**/*"] +} diff --git a/packages/jco/.vscode/tasks.json b/packages/jco/.vscode/tasks.json new file mode 100644 index 000000000..b1b7f3ace --- /dev/null +++ b/packages/jco/.vscode/tasks.json @@ -0,0 +1,15 @@ +{ + "version": "2.0.0", + "tasks": [ + { + "type": "npm", + "label": "compile", + "script": "compile", + "problemMatcher": ["$tsc"], + "group": { + "kind": "build", + "isDefault": true + } + } + ] +} diff --git a/packages/jco/package.json b/packages/jco/package.json index 7c71af3e9..b6560f5b5 100644 --- a/packages/jco/package.json +++ b/packages/jco/package.json @@ -1,96 +1,99 @@ { - "name": "@bytecodealliance/jco", - "version": "1.11.3", - "description": "JavaScript tooling for working with WebAssembly Components", - "homepage": "https://github.com/bytecodealliance/jco#readme", - "author": "Guy Bedford", - "contributors": [ - { - "name": "Guy Bedford" + "name": "@bytecodealliance/jco", + "version": "1.11.3", + "description": "JavaScript tooling for working with WebAssembly Components", + "homepage": "https://github.com/bytecodealliance/jco#readme", + "author": "Guy Bedford", + "contributors": [ + { + "name": "Guy Bedford" + }, + { + "name": "Victor Adossi", + "email": "vadossi@cosmonic.com" + } + ], + "type": "module", + "license": "(Apache-2.0 WITH LLVM-exception)", + "bugs": { + "url": "https://github.com/bytecodealliance/jco/issues" }, - { - "name": "Victor Adossi", - "email": "vadossi@cosmonic.com" - } - ], - "type": "module", - "license": "(Apache-2.0 WITH LLVM-exception)", - "bugs": { - "url": "https://github.com/bytecodealliance/jco/issues" - }, - "keywords": [ - "Wasm", - "WebAssembly", - "Component" - ], - "repository": { - "type": "git", - "url": "git+https://github.com/bytecodealliance/jco.git" - }, - "imports": { - "#ora": { - "browser": "./src/ora-shim.js", - "default": "ora" - } - }, - "exports": { - ".": { - "browser": "./src/browser.js", - "default": "./src/api.js" + "keywords": [ + "Wasm", + "WebAssembly", + "Component" + ], + "repository": { + "type": "git", + "url": "git+https://github.com/bytecodealliance/jco.git" + }, + "imports": { + "#ora": { + "browser": "./src/ora-shim.js", + "default": "ora" + } + }, + "exports": { + ".": { + "browser": "./src/browser.js", + "default": "./src/api.js" + }, + "./component": { + "types": "./obj/js-component-bindgen-component.d.ts", + "default": "./src/browser.js" + } + }, + "bin": { + "jco": "src/jco.js" + }, + "files": [ + "lib", + "src", + "dist", + "obj/*.core*.wasm", + "obj/*.js", + "obj/*.ts", + "obj/interfaces" + ], + "scripts": { + "build": "cargo xtask build debug", + "build:release": "cargo xtask build release", + "build:types:preview2-shim": "npm run build:types:preview2-shim --include-workspace-root", + "fmt": "prettier . --write", + "lint": "eslint -c ../../eslint.config.mjs --ext .js src test", + "lint:fix": "npm run lint -- --fix", + "test": "vitest run -c test/vitest.ts", + "test:lts": "vitest run -c test/vitest.lts.ts", + "prepack": "cargo xtask build release", + "compile": "tsc --build" + }, + "dependencies": { + "@bytecodealliance/componentize-js": "^0.17.0", + "@bytecodealliance/preview2-shim": "^0.17.2", + "binaryen": "^123.0.0", + "chalk-template": "^1", + "commander": "^12", + "mkdirp": "^3", + "ora": "^8", + "terser": "^5" }, - "./component": { - "types": "./obj/js-component-bindgen-component.d.ts", - "default": "./src/browser.js" + "devDependencies": { + "@commitlint/config-conventional": "^19.8.1", + "@tsconfig/node20": "^20.1.6", + "@types/node": "^22.15.17", + "@typescript-eslint/eslint-plugin": "^8.2.0", + "@typescript-eslint/parser": "^8.2.0", + "commitlint": "^19.8.1", + "conventional-changelog-conventionalcommits": "^8.0.0", + "eslint": "^9.9.0", + "eslint-config-prettier": "^10.1.1", + "eslint-plugin-prettier": "^5.2.3", + "mime": "^4.0.4", + "prettier": "^3.5.3", + "puppeteer": "^24.0.1", + "semver": "^7.7.1", + "smol-toml": "^1.3.1", + "typescript": "^5.8.3", + "vitest": "^3.0.7" } - }, - "bin": { - "jco": "src/jco.js" - }, - "files": [ - "lib", - "src", - "obj/*.core*.wasm", - "obj/*.js", - "obj/*.ts", - "obj/interfaces" - ], - "scripts": { - "build": "cargo xtask build debug", - "build:release": "cargo xtask build release", - "build:types:preview2-shim": "npm run build:types:preview2-shim --include-workspace-root", - "fmt": "prettier . --write", - "lint": "eslint -c ../../eslint.config.mjs --ext .js src test", - "lint:fix": "npm run lint -- --fix", - "test": "vitest run -c test/vitest.ts", - "test:lts": "vitest run -c test/vitest.lts.ts", - "prepack": "cargo xtask build release" - }, - "dependencies": { - "@bytecodealliance/componentize-js": "^0.17.0", - "@bytecodealliance/preview2-shim": "^0.17.2", - "binaryen": "^123.0.0", - "chalk-template": "^1", - "commander": "^12", - "mkdirp": "^3", - "ora": "^8", - "terser": "^5" - }, - "devDependencies": { - "@commitlint/config-conventional": "^19.8.1", - "@types/node": "^22.15.17", - "@typescript-eslint/eslint-plugin": "^8.2.0", - "@typescript-eslint/parser": "^8.2.0", - "commitlint": "^19.8.1", - "conventional-changelog-conventionalcommits": "^8.0.0", - "eslint": "^9.9.0", - "eslint-config-prettier": "^10.1.1", - "eslint-plugin-prettier": "^5.2.3", - "mime": "^4.0.4", - "prettier": "^3.5.3", - "puppeteer": "^24.0.1", - "semver": "^7.7.1", - "smol-toml": "^1.3.1", - "typescript": "^5.8.3", - "vitest": "^3.0.7" - } } diff --git a/packages/jco/tsconfig.json b/packages/jco/tsconfig.json index 28aba98d9..55b8d4682 100644 --- a/packages/jco/tsconfig.json +++ b/packages/jco/tsconfig.json @@ -1,13 +1,14 @@ { - "include": ["src/**/*"], - "exclude": ["node_modules", "src/cmd/**", "src/*.d.ts"], - "compilerOptions": { - "module": "nodenext", - "moduleResolution": "nodenext", - "allowJs": true, - "declaration": true, - "emitDeclarationOnly": true, - "declarationMap": true, - "skipLibCheck": true, - } + "extends": "@tsconfig/node20", + "compilerOptions": { + "rootDir": "src", + "outDir": "dist", + "sourceMap": true, + "declaration": true, + "declarationMap": true, + "emitDeclarationOnly": true, + "composite": true, + "allowJs": true + }, + "include": ["src/**/*"] } diff --git a/packages/preview2-shim/package.json b/packages/preview2-shim/package.json index 64fb8858d..795ad294e 100644 --- a/packages/preview2-shim/package.json +++ b/packages/preview2-shim/package.json @@ -25,7 +25,8 @@ "scripts": { "lint": "eslint -c ../../eslint.config.mjs ./lib/**/*.js", "lint:fix": "npm run lint -- --fix", - "test": "vitest run -c test/vitest.ts" + "test": "vitest run -c test/vitest.ts", + "compile": "tsc --build" }, "files": [ "types", @@ -39,5 +40,9 @@ "bugs": { "url": "https://github.com/bytecodealliance/jco/issues" }, - "homepage": "https://github.com/bytecodealliance/jco#readme" + "homepage": "https://github.com/bytecodealliance/jco#readme", + "devDependencies": { + "@tsconfig/node20": "^20.1.6", + "typescript": "^5.8.3" + } } diff --git a/packages/preview3-shim/package.json b/packages/preview3-shim/package.json index 123d284ad..d568569dd 100644 --- a/packages/preview3-shim/package.json +++ b/packages/preview3-shim/package.json @@ -21,7 +21,8 @@ "lint": "eslint -c ../../eslint.config.mjs --ext .js lib test", "lint:fix": "eslint -c ../../eslint.config.mjs --ext .js lib test --fix", "test": "vitest --run", - "bench": "vitest bench --run" + "bench": "vitest bench --run", + "compile": "tsc --build" }, "files": [ "types", @@ -32,11 +33,13 @@ }, "devDependencies": { "@eslint/js": "^9.21.0", + "@tsconfig/node20": "^20.1.6", "eslint": "^9.21.0", "globals": "^16.0.0", - "vitest": "^3.1.1", "prettier": "^3.5.3", - "typescript-eslint": "^8.26.0" + "typescript": "^5.8.3", + "typescript-eslint": "^8.26.0", + "vitest": "^3.1.1" }, "repository": { "type": "git", From f5e876eca7151984b25467fbaf4f23aebdddc9ad Mon Sep 17 00:00:00 2001 From: Elmer Bulthuis Date: Thu, 10 Jul 2025 21:51:21 +0200 Subject: [PATCH 2/7] remove d.ts --- packages/jco-transpile/src/common.d.ts | 42 -------- packages/jco-transpile/src/common.d.ts.map | 1 - packages/jco-transpile/src/index.d.ts | 2 - packages/jco-transpile/src/opt.d.ts | 11 --- packages/jco-transpile/src/transpile.d.ts | 97 ------------------- packages/jco-transpile/src/transpile.d.ts.map | 1 - packages/jco-transpile/src/typegen.d.ts | 32 ------ packages/jco/src/api.d.ts | 42 -------- packages/jco/src/api.d.ts.map | 1 - packages/jco/src/browser.d.ts | 4 - packages/jco/src/browser.d.ts.map | 1 - packages/jco/src/common.d.ts | 16 --- packages/jco/src/common.d.ts.map | 1 - packages/jco/src/jco.d.ts | 3 - packages/jco/src/jco.d.ts.map | 1 - packages/jco/src/ora-shim.d.ts | 8 -- packages/jco/src/ora-shim.d.ts.map | 1 - 17 files changed, 264 deletions(-) delete mode 100644 packages/jco-transpile/src/common.d.ts delete mode 100644 packages/jco-transpile/src/common.d.ts.map delete mode 100644 packages/jco-transpile/src/index.d.ts delete mode 100644 packages/jco-transpile/src/opt.d.ts delete mode 100644 packages/jco-transpile/src/transpile.d.ts delete mode 100644 packages/jco-transpile/src/transpile.d.ts.map delete mode 100644 packages/jco-transpile/src/typegen.d.ts delete mode 100644 packages/jco/src/api.d.ts delete mode 100644 packages/jco/src/api.d.ts.map delete mode 100644 packages/jco/src/browser.d.ts delete mode 100644 packages/jco/src/browser.d.ts.map delete mode 100644 packages/jco/src/common.d.ts delete mode 100644 packages/jco/src/common.d.ts.map delete mode 100644 packages/jco/src/jco.d.ts delete mode 100644 packages/jco/src/jco.d.ts.map delete mode 100644 packages/jco/src/ora-shim.d.ts delete mode 100644 packages/jco/src/ora-shim.d.ts.map diff --git a/packages/jco-transpile/src/common.d.ts b/packages/jco-transpile/src/common.d.ts deleted file mode 100644 index 7309b119f..000000000 --- a/packages/jco-transpile/src/common.d.ts +++ /dev/null @@ -1,42 +0,0 @@ -export function setShowSpinner(val: boolean): void; -export function getShowSpinner(): boolean; - -interface SizeStrOpts { - significantDigits?: number; -} -export function sizeStr(num: any, opts?: SizeStrOpts): string; - -export function fixedDigitDisplay(num: number, maxChars: number): string; - -type CellAlignment = 'left' | 'right'; -export function table(data: any[][], cellAlignment?: CellAlignment[]): string; - -export function getTmpDir(): Promise; - -export function spawnIOTmp( - cmd: any, - input: any, - args: any -): Promise>; - -export const isWindows: boolean; - -export function readFile( - file: string, - encoding: string -): Promise>; - -export function spawnIOTmp( - cmd: string, - input: Buffer | string | any, - args: string[] -): Promise; - -export function byteLengthLEB128(val: number): number; - -/** Bytes that belong in one or more files */ -type FileBytes = { - [filename: string]: Uint8Array; -}; - -//# sourceMappingURL=common.d.ts.map diff --git a/packages/jco-transpile/src/common.d.ts.map b/packages/jco-transpile/src/common.d.ts.map deleted file mode 100644 index 6a692ec0e..000000000 --- a/packages/jco-transpile/src/common.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["common.js"],"names":[],"mappings":"AAWA,+CAEC;AACD,0CAIC;AAED,0CASC;AAED,mEAcC;AAED,wDAoBC;AAED;;;;GAIG;AACH,6CAEC;AAWD,8FAiCC;AAhHD,gCAA8C;;AAsE9C,yFAMC"} \ No newline at end of file diff --git a/packages/jco-transpile/src/index.d.ts b/packages/jco-transpile/src/index.d.ts deleted file mode 100644 index c41d746ea..000000000 --- a/packages/jco-transpile/src/index.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -export type { generateGuestTypes, generateHostTypes } from './typegen.js'; -export type { transpile } from './transpile.js'; diff --git a/packages/jco-transpile/src/opt.d.ts b/packages/jco-transpile/src/opt.d.ts deleted file mode 100644 index 11743da5a..000000000 --- a/packages/jco-transpile/src/opt.d.ts +++ /dev/null @@ -1,11 +0,0 @@ -type OptimizeOptions = { - quiet: boolean; - asyncify?: boolean; - optArgs?: string[]; - noVerify?: boolean; -}; - -type OptimizeResult = { - component: Uint8Array; - compressionInfo: { beforeBytes: number; afterBytes: number }[]; -}; diff --git a/packages/jco-transpile/src/transpile.d.ts b/packages/jco-transpile/src/transpile.d.ts deleted file mode 100644 index a5cfabb8f..000000000 --- a/packages/jco-transpile/src/transpile.d.ts +++ /dev/null @@ -1,97 +0,0 @@ -import { Command } from 'commander'; - -type TypeGenerationOptions = { - name?: string; - worldName?: string; - instantiation?: 'async' | 'sync'; - tlaCompat?: boolean; - asyncMode?: string; - asyncImports?: string[]; - asyncExports?: string[]; - outDir?: string; - features?: string[] | 'all'; - allFeatures?: boolean; - asyncWasiImports?: boolean; - asyncWasiExports?: boolean; - guest?: boolean; -}; - -export function types( - witPath: string, - opts?: TypeGenerationOptions -): Promise; - -export function guestTypes( - witPath: string, - opts: TypeGenerationOptions -): Promise; - -/** Bytes that belong in one or more files */ -type FileBytes = { - [filename: string]: Uint8Array; -}; - -/** - * @param {string} witPath - * @param {{ - * name?: string, - * worldName?: string, - * instantiation?: 'async' | 'sync', - * tlaCompat?: bool, - * asyncMode?: string, - * asyncImports?: string[], - * asyncExports?: string[], - * outDir?: string, - * features?: string[] | 'all', - * guest?: bool, - * }} opts - * @returns {Promise<{ [filename: string]: Uint8Array }>} - */ -export function typesComponent( - witPath: string, - opts: TypeGenerationOptions -): Promise; - -type TranspilationOptions = { - name: string; - instantiation?: 'async' | 'sync'; - importBindings?: 'js' | 'optimized' | 'hybrid' | 'direct-optimized'; - map?: Record; - asyncMode?: string; - asyncImports?: string[]; - asyncExports?: string[]; - asyncWasiImports?: string[]; - asyncWasiExports?: string[]; - validLiftingOptimization?: boolean; - tracing?: boolean; - nodejsCompat?: boolean; - tlaCompat?: boolean; - base64Cutoff?: boolean; - js?: boolean; - minify?: boolean; - optimize?: boolean; - namespacedExports?: boolean; - outDir?: string; - multiMemory?: boolean; - experimentalIdlImports?: boolean; - optArgs?: string[]; -}; - -export function transpile( - componentPath: string, - opts?: TranspilationOptions, - program?: Command -): Promise; - -type TranspilationResult = { - files: FileBytes; - imports: string[]; - exports: [string, 'function' | 'instance'][]; -}; - -export function runTranspileComponent( - component: Uint8Array, - opts?: TranspilationOptions, -): Promise; - -//# sourceMappingURL=transpile.d.ts.map diff --git a/packages/jco-transpile/src/transpile.d.ts.map b/packages/jco-transpile/src/transpile.d.ts.map deleted file mode 100644 index f9dceb062..000000000 --- a/packages/jco-transpile/src/transpile.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"transpile.d.ts","sourceRoot":"","sources":["transpile.js"],"names":[],"mappings":"AA+CA,8DAGC;AAED,mEAMC;AAED;;;;;;;;;;;;;;;GAeG;AACH,wCAfW,MAAM,QACN;IACN,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IACjC,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IAC5B,KAAK,CAAC,EAAE,IAAI,CAAC;CACd,GACS,OAAO,CAAC;IAAE,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,CAAA;CAAE,CAAC,CA+DvD;AAyCD,sFAoCC;AAmBD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,8CAzBW,UAAU,SACV;IACN,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IACjC,cAAc,CAAC,EAAE,IAAI,GAAG,WAAW,GAAG,QAAQ,GAAG,kBAAkB,CAAC;IACpE,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,wBAAwB,CAAC,EAAE,IAAI,CAAC;IAChC,OAAO,CAAC,EAAE,IAAI,CAAC;IACf,YAAY,CAAC,EAAE,IAAI,CAAC;IACpB,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,YAAY,CAAC,EAAE,IAAI,CAAC;IACpB,EAAE,CAAC,EAAE,IAAI,CAAC;IACV,MAAM,CAAC,EAAE,IAAI,CAAC;IACd,QAAQ,CAAC,EAAE,IAAI,CAAC;IAChB,iBAAiB,CAAC,EAAE,IAAI,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,IAAI,CAAC;IACnB,sBAAsB,CAAC,EAAE,IAAI,CAAC;IAC9B,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB,GACS,OAAO,CAAC;IAAE,KAAK,EAAE;QAAE,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,CAAA;KAAE,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAC;IAAC,OAAO,EAAE,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU,CAAC,EAAE,CAAA;CAAE,CAAC,CAyTnI"} \ No newline at end of file diff --git a/packages/jco-transpile/src/typegen.d.ts b/packages/jco-transpile/src/typegen.d.ts deleted file mode 100644 index a3e9cc7b0..000000000 --- a/packages/jco-transpile/src/typegen.d.ts +++ /dev/null @@ -1,32 +0,0 @@ -import type { FileBytes } from './common'; - -type TypeGenerationOptions = { - name?: string; - worldName?: string; - instantiation?: 'async' | 'sync'; - tlaCompat?: boolean; - asyncMode?: string; - asyncImports?: string[]; - asyncExports?: string[]; - outDir?: string; - features?: string[] | 'all'; - allFeatures?: boolean; - asyncWasiImports?: boolean; - asyncWasiExports?: boolean; - guest?: boolean; -}; - -export function generateHostTypes( - witPath: string, - opts?: TypeGenerationOptions -): Promise; - -export function generateGuestTypes( - witPath: string, - opts: TypeGenerationOptions -): Promise; - -export function runTypesComponent( - witPath: string, - opts: TypeGenerationOptions -): Promise; diff --git a/packages/jco/src/api.d.ts b/packages/jco/src/api.d.ts deleted file mode 100644 index 6bef5ad12..000000000 --- a/packages/jco/src/api.d.ts +++ /dev/null @@ -1,42 +0,0 @@ -/** - * @param {Parameters[0]} binary - * @return {Promise>} - */ -export function print(binary: Parameters[0]): Promise>; -/** - * @param {Parameters[0]} wat - * @return {Promise>} - */ -export function parse(wat: Parameters[0]): Promise>; -/** - * @param {Parameters[0]} binary - * @return {Promise>} - */ -export function componentWit(binary: Parameters[0]): Promise>; -/** - * @param {Parameters[0]} binary - * @param {Parameters[1]} adapters - * @return {Promise>} - */ -export function componentNew(binary: Parameters[0], adapters: Parameters[1]): Promise>; -/** - * @param {Parameters[0]} embedOpts - * @return {Promise>} - */ -export function componentEmbed(embedOpts: Parameters[0]): Promise>; -/** - * @param {Parameters[0]} binary - * @param {Parameters[1]} metadata - * @return {Promise>} - */ -export function metadataAdd(binary: Parameters[0], metadata: Parameters[1]): Promise>; -/** - * @param {Parameters[0]} binary - * @return {Promise>} - */ -export function metadataShow(binary: Parameters[0]): Promise>; -export function preview1AdapterCommandPath(): URL; -export function preview1AdapterReactorPath(): URL; -export { optimizeComponent as opt } from "./cmd/opt.js"; -export { transpileComponent as transpile, typesComponent as types } from "./cmd/transpile.js"; -//# sourceMappingURL=api.d.ts.map \ No newline at end of file diff --git a/packages/jco/src/api.d.ts.map b/packages/jco/src/api.d.ts.map deleted file mode 100644 index da3dcb6e1..000000000 --- a/packages/jco/src/api.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["api.js"],"names":[],"mappings":"AAgBA;;;GAGG;AACH,8BAHW,UAAU,CAAC,OAAO,sBAAsB,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,GAClD,OAAO,CAAC,UAAU,CAAC,OAAO,sBAAsB,EAAE,KAAK,CAAC,CAAC,CAKpE;AACD;;;GAGG;AACH,2BAHW,UAAU,CAAC,OAAO,sBAAsB,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,GAClD,OAAO,CAAC,UAAU,CAAC,OAAO,sBAAsB,EAAE,KAAK,CAAC,CAAC,CAKpE;AACD;;;GAGG;AACH,qCAHW,UAAU,CAAC,OAAO,sBAAsB,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,GACzD,OAAO,CAAC,UAAU,CAAC,OAAO,sBAAsB,EAAE,YAAY,CAAC,CAAC,CAK3E;AACD;;;;GAIG;AACH,qCAJW,UAAU,CAAC,OAAO,sBAAsB,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,YAC1D,UAAU,CAAC,OAAO,sBAAsB,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,GACzD,OAAO,CAAC,UAAU,CAAC,OAAO,sBAAsB,EAAE,YAAY,CAAC,CAAC,CAK3E;AACD;;;GAGG;AACH,0CAHW,UAAU,CAAC,OAAO,sBAAsB,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,GAC3D,OAAO,CAAC,UAAU,CAAC,OAAO,sBAAsB,EAAE,cAAc,CAAC,CAAC,CAK7E;AACD;;;;GAIG;AACH,oCAJW,UAAU,CAAC,OAAO,sBAAsB,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,YACzD,UAAU,CAAC,OAAO,sBAAsB,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,GACxD,OAAO,CAAC,UAAU,CAAC,OAAO,sBAAsB,EAAE,WAAW,CAAC,CAAC,CAK1E;AACD;;;GAGG;AACH,qCAHW,UAAU,CAAC,OAAO,sBAAsB,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,GACzD,OAAO,CAAC,UAAU,CAAC,OAAO,sBAAsB,EAAE,YAAY,CAAC,CAAC,CAK3E;AACD,kDAKC;AACD,kDAKC"} \ No newline at end of file diff --git a/packages/jco/src/browser.d.ts b/packages/jco/src/browser.d.ts deleted file mode 100644 index b4050040b..000000000 --- a/packages/jco/src/browser.d.ts +++ /dev/null @@ -1,4 +0,0 @@ -export function generate(...args: any[]): Promise; -export function generateTypes(...args: any[]): Promise; -export { generate as transpile }; -//# sourceMappingURL=browser.d.ts.map \ No newline at end of file diff --git a/packages/jco/src/browser.d.ts.map b/packages/jco/src/browser.d.ts.map deleted file mode 100644 index 70e8f2e14..000000000 --- a/packages/jco/src/browser.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["browser.js"],"names":[],"mappings":"AAMA,uDAGC;AAED,4DAGC"} \ No newline at end of file diff --git a/packages/jco/src/common.d.ts b/packages/jco/src/common.d.ts deleted file mode 100644 index 47b2a7dd8..000000000 --- a/packages/jco/src/common.d.ts +++ /dev/null @@ -1,16 +0,0 @@ -export function setShowSpinner(val: any): void; -export function getShowSpinner(): boolean; -export function sizeStr(num: any): string; -export function fixedDigitDisplay(num: any, maxChars: any): string; -export function table(data: any, align?: any[]): string; -/** - * Securely creates a temporary directory and returns its path. - * - * The new directory is created using `fsPromises.mkdtemp()`. - */ -export function getTmpDir(): Promise; -export function spawnIOTmp(cmd: any, input: any, args: any): Promise>; -export const isWindows: boolean; -export { readFileCli as readFile }; -declare function readFileCli(file: any, encoding: any): Promise>; -//# sourceMappingURL=common.d.ts.map \ No newline at end of file diff --git a/packages/jco/src/common.d.ts.map b/packages/jco/src/common.d.ts.map deleted file mode 100644 index 6a692ec0e..000000000 --- a/packages/jco/src/common.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["common.js"],"names":[],"mappings":"AAWA,+CAEC;AACD,0CAIC;AAED,0CASC;AAED,mEAcC;AAED,wDAoBC;AAED;;;;GAIG;AACH,6CAEC;AAWD,8FAiCC;AAhHD,gCAA8C;;AAsE9C,yFAMC"} \ No newline at end of file diff --git a/packages/jco/src/jco.d.ts b/packages/jco/src/jco.d.ts deleted file mode 100644 index 21be8ccad..000000000 --- a/packages/jco/src/jco.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -#!/usr/bin/env node -export {}; -//# sourceMappingURL=jco.d.ts.map \ No newline at end of file diff --git a/packages/jco/src/jco.d.ts.map b/packages/jco/src/jco.d.ts.map deleted file mode 100644 index f5baa1351..000000000 --- a/packages/jco/src/jco.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"jco.d.ts","sourceRoot":"","sources":["jco.js"],"names":[],"mappings":""} \ No newline at end of file diff --git a/packages/jco/src/ora-shim.d.ts b/packages/jco/src/ora-shim.d.ts deleted file mode 100644 index bbf72b797..000000000 --- a/packages/jco/src/ora-shim.d.ts +++ /dev/null @@ -1,8 +0,0 @@ -/** Browser shim for Ora */ -export default function ora(): Ora; -declare class Ora { - start(): void; - stop(): void; -} -export {}; -//# sourceMappingURL=ora-shim.d.ts.map \ No newline at end of file diff --git a/packages/jco/src/ora-shim.d.ts.map b/packages/jco/src/ora-shim.d.ts.map deleted file mode 100644 index 407eb7910..000000000 --- a/packages/jco/src/ora-shim.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ora-shim.d.ts","sourceRoot":"","sources":["ora-shim.js"],"names":[],"mappings":"AAAA,2BAA2B;AAC3B,mCAEC;AAED;IACI,cAAU;IACV,aAAS;CACZ"} \ No newline at end of file From 647147e7143bdf4172200b6a884a507ecbf199ca Mon Sep 17 00:00:00 2001 From: Elmer Bulthuis Date: Thu, 10 Jul 2025 21:53:19 +0200 Subject: [PATCH 3/7] cleanup --- packages/preview2-shim/package.json | 85 ++++++++++++------------- packages/preview3-shim/package.json | 99 ++++++++++++++--------------- 2 files changed, 91 insertions(+), 93 deletions(-) diff --git a/packages/preview2-shim/package.json b/packages/preview2-shim/package.json index 795ad294e..74a3549bc 100644 --- a/packages/preview2-shim/package.json +++ b/packages/preview2-shim/package.json @@ -1,48 +1,47 @@ { - "name": "@bytecodealliance/preview2-shim", - "version": "0.17.2", - "description": "WASI Preview2 shim for JS environments", - "author": "Guy Bedford, Eduardo Rodrigues<16357187+eduardomourar@users.noreply.github.com>", - "type": "module", - "types": "./types/index.d.ts", - "exports": { - ".": { - "types": "./types/index.d.ts", - "node": "./lib/nodejs/index.js", - "default": "./lib/browser/index.js" + "name": "@bytecodealliance/preview2-shim", + "version": "0.17.2", + "description": "WASI Preview2 shim for JS environments", + "author": "Guy Bedford, Eduardo Rodrigues<16357187+eduardomourar@users.noreply.github.com>", + "type": "module", + "types": "./types/index.d.ts", + "exports": { + ".": { + "types": "./types/index.d.ts", + "node": "./lib/nodejs/index.js", + "default": "./lib/browser/index.js" + }, + "./*": { + "types": "./types/*.d.ts", + "node": "./lib/nodejs/*.js", + "default": "./lib/browser/*.js" + }, + "./instantiation": { + "types": "./types/instantiation.d.ts", + "node": "./lib/common/instantiation.js", + "default": "./lib/common/instantiation.js" + } }, - "./*": { - "types": "./types/*.d.ts", - "node": "./lib/nodejs/*.js", - "default": "./lib/browser/*.js" + "scripts": { + "lint": "eslint -c ../../eslint.config.mjs ./lib/**/*.js", + "lint:fix": "npm run lint -- --fix", + "test": "vitest run -c test/vitest.ts" }, - "./instantiation": { - "types": "./types/instantiation.d.ts", - "node": "./lib/common/instantiation.js", - "default": "./lib/common/instantiation.js" + "files": [ + "types", + "lib" + ], + "repository": { + "type": "git", + "url": "git+https://github.com/bytecodealliance/jco.git" + }, + "license": "(Apache-2.0 WITH LLVM-exception)", + "bugs": { + "url": "https://github.com/bytecodealliance/jco/issues" + }, + "homepage": "https://github.com/bytecodealliance/jco#readme", + "devDependencies": { + "@tsconfig/node20": "^20.1.6", + "typescript": "^5.8.3" } - }, - "scripts": { - "lint": "eslint -c ../../eslint.config.mjs ./lib/**/*.js", - "lint:fix": "npm run lint -- --fix", - "test": "vitest run -c test/vitest.ts", - "compile": "tsc --build" - }, - "files": [ - "types", - "lib" - ], - "repository": { - "type": "git", - "url": "git+https://github.com/bytecodealliance/jco.git" - }, - "license": "(Apache-2.0 WITH LLVM-exception)", - "bugs": { - "url": "https://github.com/bytecodealliance/jco/issues" - }, - "homepage": "https://github.com/bytecodealliance/jco#readme", - "devDependencies": { - "@tsconfig/node20": "^20.1.6", - "typescript": "^5.8.3" - } } diff --git a/packages/preview3-shim/package.json b/packages/preview3-shim/package.json index d568569dd..fcfa0e683 100644 --- a/packages/preview3-shim/package.json +++ b/packages/preview3-shim/package.json @@ -1,53 +1,52 @@ { - "name": "@bytecodealliance/preview3-shim", - "version": "0.1.0", - "description": "WASI Preview3 shim for JS environments", - "author": "Tomasz Andrzejak", - "type": "module", - "types": "./types/index.d.ts", - "exports": { - ".": { - "node": "./lib/nodejs/index.js", - "types": "./types/index.d.ts" + "name": "@bytecodealliance/preview3-shim", + "version": "0.1.0", + "description": "WASI Preview3 shim for JS environments", + "author": "Tomasz Andrzejak", + "type": "module", + "types": "./types/index.d.ts", + "exports": { + ".": { + "node": "./lib/nodejs/index.js", + "types": "./types/index.d.ts" + }, + "./*": { + "node": "./lib/nodejs/*.js", + "types": "./types/*.d.ts" + } }, - "./*": { - "node": "./lib/nodejs/*.js", - "types": "./types/*.d.ts" - } - }, - "scripts": { - "compile:check": "tsc --noEmit types/index.d.ts", - "fmt": "prettier . --write", - "lint": "eslint -c ../../eslint.config.mjs --ext .js lib test", - "lint:fix": "eslint -c ../../eslint.config.mjs --ext .js lib test --fix", - "test": "vitest --run", - "bench": "vitest bench --run", - "compile": "tsc --build" - }, - "files": [ - "types", - "lib" - ], - "dependencies": { - "@bytecodealliance/preview2-shim": "^0.17.2" - }, - "devDependencies": { - "@eslint/js": "^9.21.0", - "@tsconfig/node20": "^20.1.6", - "eslint": "^9.21.0", - "globals": "^16.0.0", - "prettier": "^3.5.3", - "typescript": "^5.8.3", - "typescript-eslint": "^8.26.0", - "vitest": "^3.1.1" - }, - "repository": { - "type": "git", - "url": "git+https://github.com/bytecodealliance/jco.git" - }, - "license": "(Apache-2.0 WITH LLVM-exception)", - "bugs": { - "url": "https://github.com/bytecodealliance/jco/issues" - }, - "homepage": "https://github.com/bytecodealliance/jco/blob/main/packages/preview3-shim/#readme" + "scripts": { + "compile:check": "tsc --noEmit types/index.d.ts", + "fmt": "prettier . --write", + "lint": "eslint -c ../../eslint.config.mjs --ext .js lib test", + "lint:fix": "eslint -c ../../eslint.config.mjs --ext .js lib test --fix", + "test": "vitest --run", + "bench": "vitest bench --run" + }, + "files": [ + "types", + "lib" + ], + "dependencies": { + "@bytecodealliance/preview2-shim": "^0.17.2" + }, + "devDependencies": { + "@eslint/js": "^9.21.0", + "@tsconfig/node20": "^20.1.6", + "eslint": "^9.21.0", + "globals": "^16.0.0", + "prettier": "^3.5.3", + "typescript": "^5.8.3", + "typescript-eslint": "^8.26.0", + "vitest": "^3.1.1" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/bytecodealliance/jco.git" + }, + "license": "(Apache-2.0 WITH LLVM-exception)", + "bugs": { + "url": "https://github.com/bytecodealliance/jco/issues" + }, + "homepage": "https://github.com/bytecodealliance/jco/blob/main/packages/preview3-shim/#readme" } From 5fe4a1151e33cf75ca57e40a727385db25385bcf Mon Sep 17 00:00:00 2001 From: Elmer Bulthuis Date: Thu, 10 Jul 2025 21:54:25 +0200 Subject: [PATCH 4/7] cleanup more --- packages/jco/src/cmd/componentize.d.ts | 2 - packages/jco/src/cmd/componentize.d.ts.map | 1 - packages/jco/src/cmd/opt.d.ts | 20 ----- packages/jco/src/cmd/opt.d.ts.map | 1 - packages/jco/src/cmd/run.d.ts | 3 - packages/jco/src/cmd/run.d.ts.map | 1 - packages/jco/src/cmd/transpile.d.ts | 89 ---------------------- packages/jco/src/cmd/transpile.d.ts.map | 1 - packages/jco/src/cmd/wasm-tools.d.ts | 8 -- packages/jco/src/cmd/wasm-tools.d.ts.map | 1 - 10 files changed, 127 deletions(-) delete mode 100644 packages/jco/src/cmd/componentize.d.ts delete mode 100644 packages/jco/src/cmd/componentize.d.ts.map delete mode 100644 packages/jco/src/cmd/opt.d.ts delete mode 100644 packages/jco/src/cmd/opt.d.ts.map delete mode 100644 packages/jco/src/cmd/run.d.ts delete mode 100644 packages/jco/src/cmd/run.d.ts.map delete mode 100644 packages/jco/src/cmd/transpile.d.ts delete mode 100644 packages/jco/src/cmd/transpile.d.ts.map delete mode 100644 packages/jco/src/cmd/wasm-tools.d.ts delete mode 100644 packages/jco/src/cmd/wasm-tools.d.ts.map diff --git a/packages/jco/src/cmd/componentize.d.ts b/packages/jco/src/cmd/componentize.d.ts deleted file mode 100644 index c06790b79..000000000 --- a/packages/jco/src/cmd/componentize.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -export function componentize(jsSource: any, opts: any): Promise; -//# sourceMappingURL=componentize.d.ts.map \ No newline at end of file diff --git a/packages/jco/src/cmd/componentize.d.ts.map b/packages/jco/src/cmd/componentize.d.ts.map deleted file mode 100644 index c65f88f10..000000000 --- a/packages/jco/src/cmd/componentize.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"componentize.d.ts","sourceRoot":"","sources":["componentize.js"],"names":[],"mappings":"AAIA,sEAkBC"} \ No newline at end of file diff --git a/packages/jco/src/cmd/opt.d.ts b/packages/jco/src/cmd/opt.d.ts deleted file mode 100644 index 9171a6c3d..000000000 --- a/packages/jco/src/cmd/opt.d.ts +++ /dev/null @@ -1,20 +0,0 @@ -export function opt(componentPath: any, opts: any, program: any): Promise; -/** - * - * @param {Uint8Array} componentBytes - * @param {{ quiet: boolean, asyncify?: boolean, optArgs?: string[], noVerify?: boolean }} opts? - * @returns {Promise<{ component: Uint8Array, compressionInfo: { beforeBytes: number, afterBytes: number }[] >} - */ -export function optimizeComponent(componentBytes: Uint8Array, opts: { - quiet: boolean; - asyncify?: boolean; - optArgs?: string[]; - noVerify?: boolean; -}): Promise<{ - component: Uint8Array; - compressionInfo: { - beforeBytes: number; - afterBytes: number; - }[]; -}>; -//# sourceMappingURL=opt.d.ts.map \ No newline at end of file diff --git a/packages/jco/src/cmd/opt.d.ts.map b/packages/jco/src/cmd/opt.d.ts.map deleted file mode 100644 index 0c2161c42..000000000 --- a/packages/jco/src/cmd/opt.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"opt.d.ts","sourceRoot":"","sources":["opt.js"],"names":[],"mappings":"AAgBA,gFA2CC;AAgBD;;;;;GAKG;AACH,kDAJW,UAAU,QACV;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,GAC5E,OAAO,CAAC;IAAE,SAAS,EAAE,UAAU,CAAC;IAAC,eAAe,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;CAAA,CAAE,CAkK7G"} \ No newline at end of file diff --git a/packages/jco/src/cmd/run.d.ts b/packages/jco/src/cmd/run.d.ts deleted file mode 100644 index c4a4b5647..000000000 --- a/packages/jco/src/cmd/run.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -export function run(componentPath: any, args: any, opts: any): Promise; -export function serve(componentPath: any, args: any, opts: any): Promise; -//# sourceMappingURL=run.d.ts.map \ No newline at end of file diff --git a/packages/jco/src/cmd/run.d.ts.map b/packages/jco/src/cmd/run.d.ts.map deleted file mode 100644 index bb73c2fb9..000000000 --- a/packages/jco/src/cmd/run.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"run.d.ts","sourceRoot":"","sources":["run.js"],"names":[],"mappings":"AASA,6EAmBC;AAED,+EA2BC"} \ No newline at end of file diff --git a/packages/jco/src/cmd/transpile.d.ts b/packages/jco/src/cmd/transpile.d.ts deleted file mode 100644 index 468abee13..000000000 --- a/packages/jco/src/cmd/transpile.d.ts +++ /dev/null @@ -1,89 +0,0 @@ -export function types(witPath: any, opts: any): Promise; -export function guestTypes(witPath: any, opts: any): Promise; -/** - * @param {string} witPath - * @param {{ - * name?: string, - * worldName?: string, - * instantiation?: 'async' | 'sync', - * tlaCompat?: bool, - * asyncMode?: string, - * asyncImports?: string[], - * asyncExports?: string[], - * outDir?: string, - * features?: string[] | 'all', - * guest?: bool, - * }} opts - * @returns {Promise<{ [filename: string]: Uint8Array }>} - */ -export function typesComponent(witPath: string, opts: { - name?: string; - worldName?: string; - instantiation?: "async" | "sync"; - tlaCompat?: boolean; - asyncMode?: string; - asyncImports?: string[]; - asyncExports?: string[]; - outDir?: string; - features?: string[] | "all"; - guest?: boolean; -}): Promise<{ - [filename: string]: Uint8Array; -}>; -export function transpile(componentPath: any, opts: any, program: any): Promise; -/** - * - * @param {Uint8Array} component - * @param {{ - * name: string, - * instantiation?: 'async' | 'sync', - * importBindings?: 'js' | 'optimized' | 'hybrid' | 'direct-optimized', - * map?: Record, - * asyncMode?: string, - * asyncImports?: string[], - * asyncExports?: string[], - * validLiftingOptimization?: bool, - * tracing?: bool, - * nodejsCompat?: bool, - * tlaCompat?: bool, - * base64Cutoff?: bool, - * js?: bool, - * minify?: bool, - * optimize?: bool, - * namespacedExports?: bool, - * outDir?: string, - * multiMemory?: bool, - * experimentalIdlImports?: bool, - * optArgs?: string[], - * }} opts - * @returns {Promise<{ files: { [filename: string]: Uint8Array }, imports: string[], exports: [string, 'function' | 'instance'][] }>} - */ -export function transpileComponent(component: Uint8Array, opts?: { - name: string; - instantiation?: "async" | "sync"; - importBindings?: "js" | "optimized" | "hybrid" | "direct-optimized"; - map?: Record; - asyncMode?: string; - asyncImports?: string[]; - asyncExports?: string[]; - validLiftingOptimization?: boolean; - tracing?: boolean; - nodejsCompat?: boolean; - tlaCompat?: boolean; - base64Cutoff?: boolean; - js?: boolean; - minify?: boolean; - optimize?: boolean; - namespacedExports?: boolean; - outDir?: string; - multiMemory?: boolean; - experimentalIdlImports?: boolean; - optArgs?: string[]; -}): Promise<{ - files: { - [filename: string]: Uint8Array; - }; - imports: string[]; - exports: [string, "function" | "instance"][]; -}>; -//# sourceMappingURL=transpile.d.ts.map diff --git a/packages/jco/src/cmd/transpile.d.ts.map b/packages/jco/src/cmd/transpile.d.ts.map deleted file mode 100644 index f9dceb062..000000000 --- a/packages/jco/src/cmd/transpile.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"transpile.d.ts","sourceRoot":"","sources":["transpile.js"],"names":[],"mappings":"AA+CA,8DAGC;AAED,mEAMC;AAED;;;;;;;;;;;;;;;GAeG;AACH,wCAfW,MAAM,QACN;IACN,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IACjC,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IAC5B,KAAK,CAAC,EAAE,IAAI,CAAC;CACd,GACS,OAAO,CAAC;IAAE,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,CAAA;CAAE,CAAC,CA+DvD;AAyCD,sFAoCC;AAmBD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,8CAzBW,UAAU,SACV;IACN,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IACjC,cAAc,CAAC,EAAE,IAAI,GAAG,WAAW,GAAG,QAAQ,GAAG,kBAAkB,CAAC;IACpE,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,wBAAwB,CAAC,EAAE,IAAI,CAAC;IAChC,OAAO,CAAC,EAAE,IAAI,CAAC;IACf,YAAY,CAAC,EAAE,IAAI,CAAC;IACpB,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,YAAY,CAAC,EAAE,IAAI,CAAC;IACpB,EAAE,CAAC,EAAE,IAAI,CAAC;IACV,MAAM,CAAC,EAAE,IAAI,CAAC;IACd,QAAQ,CAAC,EAAE,IAAI,CAAC;IAChB,iBAAiB,CAAC,EAAE,IAAI,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,IAAI,CAAC;IACnB,sBAAsB,CAAC,EAAE,IAAI,CAAC;IAC9B,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB,GACS,OAAO,CAAC;IAAE,KAAK,EAAE;QAAE,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,CAAA;KAAE,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAC;IAAC,OAAO,EAAE,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU,CAAC,EAAE,CAAA;CAAE,CAAC,CAyTnI"} \ No newline at end of file diff --git a/packages/jco/src/cmd/wasm-tools.d.ts b/packages/jco/src/cmd/wasm-tools.d.ts deleted file mode 100644 index a130192b7..000000000 --- a/packages/jco/src/cmd/wasm-tools.d.ts +++ /dev/null @@ -1,8 +0,0 @@ -export function parse(file: any, opts: any): Promise; -export function print(file: any, opts: any): Promise; -export function componentWit(file: any, opts: any): Promise; -export function componentNew(file: any, opts: any): Promise; -export function componentEmbed(file: any, opts: any): Promise; -export function metadataAdd(file: any, opts: any): Promise; -export function metadataShow(file: any, opts: any): Promise; -//# sourceMappingURL=wasm-tools.d.ts.map \ No newline at end of file diff --git a/packages/jco/src/cmd/wasm-tools.d.ts.map b/packages/jco/src/cmd/wasm-tools.d.ts.map deleted file mode 100644 index e6b76434a..000000000 --- a/packages/jco/src/cmd/wasm-tools.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"wasm-tools.d.ts","sourceRoot":"","sources":["wasm-tools.js"],"names":[],"mappings":"AAOA,2DAKC;AAED,2DASC;AAED,kEASC;AAED,kEAsBC;AAED,oEAaC;AAED,iEAUC;AAED,kEAiCC"} \ No newline at end of file From cbaa4804154097982214eda70ff9b6be8ba48693 Mon Sep 17 00:00:00 2001 From: Elmer Bulthuis Date: Fri, 18 Jul 2025 08:53:43 +0200 Subject: [PATCH 5/7] remove vscode things --- .gitignore | 2 +- jco.code-workspace | 31 ----------------------- packages/jco-transpile/.vscode/tasks.json | 15 ----------- packages/jco/.vscode/tasks.json | 15 ----------- 4 files changed, 1 insertion(+), 62 deletions(-) delete mode 100644 jco.code-workspace delete mode 100644 packages/jco-transpile/.vscode/tasks.json delete mode 100644 packages/jco/.vscode/tasks.json diff --git a/.gitignore b/.gitignore index 8ee655bef..75046d795 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,5 @@ # Editors -# .vscode +.vscode *.swp *.swo diff --git a/jco.code-workspace b/jco.code-workspace deleted file mode 100644 index 7bc18f40b..000000000 --- a/jco.code-workspace +++ /dev/null @@ -1,31 +0,0 @@ -{ - "folders": [ - { - "name": "jco", - "path": "packages/jco" - }, - { - "name": "jco-transpile", - "path": "packages/jco-transpile" - }, - { - "name": "preview2-shim", - "path": "packages/preview2-shim" - }, - { - "name": "preview3-shim", - "path": "packages/preview3-shim" - } - ], - "settings": { - "npm.packageManager": "npm", - "npm.scriptRunner": "npm", - "editor.formatOnSave": true, - "editor.codeActionsOnSave": { - "source.fixAll": "always", - "source.organizeImports": "always" - }, - "editor.rulers": [100], - "editor.defaultFormatter": "esbenp.prettier-vscode" - } -} diff --git a/packages/jco-transpile/.vscode/tasks.json b/packages/jco-transpile/.vscode/tasks.json deleted file mode 100644 index b1b7f3ace..000000000 --- a/packages/jco-transpile/.vscode/tasks.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "version": "2.0.0", - "tasks": [ - { - "type": "npm", - "label": "compile", - "script": "compile", - "problemMatcher": ["$tsc"], - "group": { - "kind": "build", - "isDefault": true - } - } - ] -} diff --git a/packages/jco/.vscode/tasks.json b/packages/jco/.vscode/tasks.json deleted file mode 100644 index b1b7f3ace..000000000 --- a/packages/jco/.vscode/tasks.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "version": "2.0.0", - "tasks": [ - { - "type": "npm", - "label": "compile", - "script": "compile", - "problemMatcher": ["$tsc"], - "group": { - "kind": "build", - "isDefault": true - } - } - ] -} From fd41776b23567884ab512a889259dc295cf21ccd Mon Sep 17 00:00:00 2001 From: Elmer Bulthuis Date: Fri, 18 Jul 2025 08:55:38 +0200 Subject: [PATCH 6/7] format --- package-lock.json | 329 +---- packages/jco/CHANGELOG.md | 97 +- packages/jco/README.md | 12 +- packages/jco/package.json | 182 +-- packages/jco/src/cmd/types.d.ts | 27 +- packages/jco/src/common.d.ts | 13 +- packages/jco/src/jco.js | 2 +- packages/jco/test/async.browser.js | 6 +- packages/jco/test/browser.html | 165 ++- packages/jco/test/browser.js | 6 +- packages/jco/test/cli.js | 6 +- .../test-pages/something__test.async.html | 163 ++- .../jco/test/fixtures/commands/tests.json | 10 +- packages/jco/test/helpers.js | 2 +- packages/jco/test/tsconfig.json | 38 +- packages/jco/test/vitest.lts.ts | 46 +- packages/jco/test/vitest.ts | 59 +- packages/jco/test/wit.js | 6 +- packages/preview3-shim/test/helpers.js | 2 +- packages/preview3-shim/types/cli.d.ts | 22 +- packages/preview3-shim/types/clocks.d.ts | 4 +- packages/preview3-shim/types/filesystem.d.ts | 4 +- packages/preview3-shim/types/http.d.ts | 4 +- packages/preview3-shim/types/index.d.ts | 12 +- .../interfaces/wasi-cli-environment.d.ts | 4 +- .../types/interfaces/wasi-cli-exit.d.ts | 2 +- .../interfaces/wasi-cli-terminal-input.d.ts | 8 +- .../interfaces/wasi-cli-terminal-output.d.ts | 8 +- .../interfaces/wasi-cli-terminal-stderr.d.ts | 3 +- .../interfaces/wasi-cli-terminal-stdin.d.ts | 3 +- .../interfaces/wasi-cli-terminal-stdout.d.ts | 3 +- .../wasi-clocks-monotonic-clock.d.ts | 2 +- .../interfaces/wasi-clocks-wall-clock.d.ts | 14 +- .../interfaces/wasi-filesystem-types.d.ts | 969 +++++++------ .../types/interfaces/wasi-http-handler.d.ts | 2 +- .../types/interfaces/wasi-http-types.d.ts | 825 ++++++----- .../interfaces/wasi-random-insecure-seed.d.ts | 8 +- .../interfaces/wasi-random-insecure.d.ts | 6 +- .../types/interfaces/wasi-random-random.d.ts | 6 +- .../wasi-sockets-ip-name-lookup.d.ts | 44 +- .../types/interfaces/wasi-sockets-types.d.ts | 1278 +++++++++-------- packages/preview3-shim/types/random.d.ts | 6 +- packages/preview3-shim/types/sockets.d.ts | 4 +- 43 files changed, 2171 insertions(+), 2241 deletions(-) diff --git a/package-lock.json b/package-lock.json index e925792db..1b0bfb96c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -20,7 +20,10 @@ "examples/components/string-reverse", "examples/components/string-reverse-upper", "examples/components/webidl-book-library" - ] + ], + "devDependencies": { + "prettier": "^3.6.2" + } }, "examples/components/add": { "name": "add-wasm", @@ -29,39 +32,6 @@ "@bytecodealliance/jco": "^1.11.1" } }, - "examples/components/add/node_modules/@bytecodealliance/jco": { - "version": "1.11.3", - "resolved": "https://registry.npmjs.org/@bytecodealliance/jco/-/jco-1.11.3.tgz", - "integrity": "sha512-Ynv0GDj9iAp+cS03UGg+ss4uo/Hx5e4FyjcFDBfkRt9qJsqbL2AnPqgO/ORNlSXg9zu9PTNC0uGgE7/Vklcn/w==", - "license": "(Apache-2.0 WITH LLVM-exception)", - "dependencies": { - "@bytecodealliance/componentize-js": "^0.17.0", - "@bytecodealliance/preview2-shim": "^0.17.2", - "binaryen": "^123.0.0", - "chalk-template": "^1", - "commander": "^12", - "mkdirp": "^3", - "ora": "^8", - "terser": "^5" - }, - "bin": { - "jco": "src/jco.js" - } - }, - "examples/components/add/node_modules/@bytecodealliance/jco/node_modules/@bytecodealliance/componentize-js": { - "version": "0.17.0", - "resolved": "https://registry.npmjs.org/@bytecodealliance/componentize-js/-/componentize-js-0.17.0.tgz", - "integrity": "sha512-FDgO5UPipfjyq5OghSB4JW313LkQJK3Sl647WH1jvIuYAyCq1j+bMt+Q66c3UF6IVs6PneNTGfGSjYgzID/k0w==", - "workspaces": [ - "." - ], - "dependencies": { - "@bytecodealliance/jco": "^1.9.1", - "@bytecodealliance/weval": "^0.3.3", - "@bytecodealliance/wizer": "^7.0.5", - "es-module-lexer": "^1.6.0" - } - }, "examples/components/adder": { "name": "adder-wasm", "dependencies": { @@ -69,78 +39,12 @@ "@bytecodealliance/jco": "^1.11.1" } }, - "examples/components/adder/node_modules/@bytecodealliance/jco": { - "version": "1.11.3", - "resolved": "https://registry.npmjs.org/@bytecodealliance/jco/-/jco-1.11.3.tgz", - "integrity": "sha512-Ynv0GDj9iAp+cS03UGg+ss4uo/Hx5e4FyjcFDBfkRt9qJsqbL2AnPqgO/ORNlSXg9zu9PTNC0uGgE7/Vklcn/w==", - "license": "(Apache-2.0 WITH LLVM-exception)", - "dependencies": { - "@bytecodealliance/componentize-js": "^0.17.0", - "@bytecodealliance/preview2-shim": "^0.17.2", - "binaryen": "^123.0.0", - "chalk-template": "^1", - "commander": "^12", - "mkdirp": "^3", - "ora": "^8", - "terser": "^5" - }, - "bin": { - "jco": "src/jco.js" - } - }, - "examples/components/adder/node_modules/@bytecodealliance/jco/node_modules/@bytecodealliance/componentize-js": { - "version": "0.17.0", - "resolved": "https://registry.npmjs.org/@bytecodealliance/componentize-js/-/componentize-js-0.17.0.tgz", - "integrity": "sha512-FDgO5UPipfjyq5OghSB4JW313LkQJK3Sl647WH1jvIuYAyCq1j+bMt+Q66c3UF6IVs6PneNTGfGSjYgzID/k0w==", - "workspaces": [ - "." - ], - "dependencies": { - "@bytecodealliance/jco": "^1.9.1", - "@bytecodealliance/weval": "^0.3.3", - "@bytecodealliance/wizer": "^7.0.5", - "es-module-lexer": "^1.6.0" - } - }, "examples/components/host-logging": { "dependencies": { "@bytecodealliance/componentize-js": "^0.18.3", "@bytecodealliance/jco": "^1.11.1" } }, - "examples/components/host-logging/node_modules/@bytecodealliance/jco": { - "version": "1.11.3", - "resolved": "https://registry.npmjs.org/@bytecodealliance/jco/-/jco-1.11.3.tgz", - "integrity": "sha512-Ynv0GDj9iAp+cS03UGg+ss4uo/Hx5e4FyjcFDBfkRt9qJsqbL2AnPqgO/ORNlSXg9zu9PTNC0uGgE7/Vklcn/w==", - "license": "(Apache-2.0 WITH LLVM-exception)", - "dependencies": { - "@bytecodealliance/componentize-js": "^0.17.0", - "@bytecodealliance/preview2-shim": "^0.17.2", - "binaryen": "^123.0.0", - "chalk-template": "^1", - "commander": "^12", - "mkdirp": "^3", - "ora": "^8", - "terser": "^5" - }, - "bin": { - "jco": "src/jco.js" - } - }, - "examples/components/host-logging/node_modules/@bytecodealliance/jco/node_modules/@bytecodealliance/componentize-js": { - "version": "0.17.0", - "resolved": "https://registry.npmjs.org/@bytecodealliance/componentize-js/-/componentize-js-0.17.0.tgz", - "integrity": "sha512-FDgO5UPipfjyq5OghSB4JW313LkQJK3Sl647WH1jvIuYAyCq1j+bMt+Q66c3UF6IVs6PneNTGfGSjYgzID/k0w==", - "workspaces": [ - "." - ], - "dependencies": { - "@bytecodealliance/jco": "^1.9.1", - "@bytecodealliance/weval": "^0.3.3", - "@bytecodealliance/wizer": "^7.0.5", - "es-module-lexer": "^1.6.0" - } - }, "examples/components/http-hello-world": { "name": "http-hello-world-wasm", "dependencies": { @@ -151,78 +55,12 @@ "terminate": "^2.8.0" } }, - "examples/components/http-hello-world/node_modules/@bytecodealliance/jco": { - "version": "1.11.3", - "resolved": "https://registry.npmjs.org/@bytecodealliance/jco/-/jco-1.11.3.tgz", - "integrity": "sha512-Ynv0GDj9iAp+cS03UGg+ss4uo/Hx5e4FyjcFDBfkRt9qJsqbL2AnPqgO/ORNlSXg9zu9PTNC0uGgE7/Vklcn/w==", - "license": "(Apache-2.0 WITH LLVM-exception)", - "dependencies": { - "@bytecodealliance/componentize-js": "^0.17.0", - "@bytecodealliance/preview2-shim": "^0.17.2", - "binaryen": "^123.0.0", - "chalk-template": "^1", - "commander": "^12", - "mkdirp": "^3", - "ora": "^8", - "terser": "^5" - }, - "bin": { - "jco": "src/jco.js" - } - }, - "examples/components/http-hello-world/node_modules/@bytecodealliance/jco/node_modules/@bytecodealliance/componentize-js": { - "version": "0.17.0", - "resolved": "https://registry.npmjs.org/@bytecodealliance/componentize-js/-/componentize-js-0.17.0.tgz", - "integrity": "sha512-FDgO5UPipfjyq5OghSB4JW313LkQJK3Sl647WH1jvIuYAyCq1j+bMt+Q66c3UF6IVs6PneNTGfGSjYgzID/k0w==", - "workspaces": [ - "." - ], - "dependencies": { - "@bytecodealliance/jco": "^1.9.1", - "@bytecodealliance/weval": "^0.3.3", - "@bytecodealliance/wizer": "^7.0.5", - "es-module-lexer": "^1.6.0" - } - }, "examples/components/http-server-fetch-handler": { "dependencies": { "@bytecodealliance/componentize-js": "^0.18.3", "@bytecodealliance/jco": "^1.11.1" } }, - "examples/components/http-server-fetch-handler/node_modules/@bytecodealliance/jco": { - "version": "1.11.3", - "resolved": "https://registry.npmjs.org/@bytecodealliance/jco/-/jco-1.11.3.tgz", - "integrity": "sha512-Ynv0GDj9iAp+cS03UGg+ss4uo/Hx5e4FyjcFDBfkRt9qJsqbL2AnPqgO/ORNlSXg9zu9PTNC0uGgE7/Vklcn/w==", - "license": "(Apache-2.0 WITH LLVM-exception)", - "dependencies": { - "@bytecodealliance/componentize-js": "^0.17.0", - "@bytecodealliance/preview2-shim": "^0.17.2", - "binaryen": "^123.0.0", - "chalk-template": "^1", - "commander": "^12", - "mkdirp": "^3", - "ora": "^8", - "terser": "^5" - }, - "bin": { - "jco": "src/jco.js" - } - }, - "examples/components/http-server-fetch-handler/node_modules/@bytecodealliance/jco/node_modules/@bytecodealliance/componentize-js": { - "version": "0.17.0", - "resolved": "https://registry.npmjs.org/@bytecodealliance/componentize-js/-/componentize-js-0.17.0.tgz", - "integrity": "sha512-FDgO5UPipfjyq5OghSB4JW313LkQJK3Sl647WH1jvIuYAyCq1j+bMt+Q66c3UF6IVs6PneNTGfGSjYgzID/k0w==", - "workspaces": [ - "." - ], - "dependencies": { - "@bytecodealliance/jco": "^1.9.1", - "@bytecodealliance/weval": "^0.3.3", - "@bytecodealliance/wizer": "^7.0.5", - "es-module-lexer": "^1.6.0" - } - }, "examples/components/http-server-hono": { "license": "MIT", "dependencies": { @@ -238,80 +76,12 @@ "typescript": "^5.8.3" } }, - "examples/components/http-server-hono/node_modules/@bytecodealliance/jco": { - "version": "1.11.3", - "resolved": "https://registry.npmjs.org/@bytecodealliance/jco/-/jco-1.11.3.tgz", - "integrity": "sha512-Ynv0GDj9iAp+cS03UGg+ss4uo/Hx5e4FyjcFDBfkRt9qJsqbL2AnPqgO/ORNlSXg9zu9PTNC0uGgE7/Vklcn/w==", - "dev": true, - "license": "(Apache-2.0 WITH LLVM-exception)", - "dependencies": { - "@bytecodealliance/componentize-js": "^0.17.0", - "@bytecodealliance/preview2-shim": "^0.17.2", - "binaryen": "^123.0.0", - "chalk-template": "^1", - "commander": "^12", - "mkdirp": "^3", - "ora": "^8", - "terser": "^5" - }, - "bin": { - "jco": "src/jco.js" - } - }, - "examples/components/http-server-hono/node_modules/@bytecodealliance/jco/node_modules/@bytecodealliance/componentize-js": { - "version": "0.17.0", - "resolved": "https://registry.npmjs.org/@bytecodealliance/componentize-js/-/componentize-js-0.17.0.tgz", - "integrity": "sha512-FDgO5UPipfjyq5OghSB4JW313LkQJK3Sl647WH1jvIuYAyCq1j+bMt+Q66c3UF6IVs6PneNTGfGSjYgzID/k0w==", - "dev": true, - "workspaces": [ - "." - ], - "dependencies": { - "@bytecodealliance/jco": "^1.9.1", - "@bytecodealliance/weval": "^0.3.3", - "@bytecodealliance/wizer": "^7.0.5", - "es-module-lexer": "^1.6.0" - } - }, "examples/components/node-fetch": { "dependencies": { "@bytecodealliance/componentize-js": "^0.18.3", "@bytecodealliance/jco": "^1.11.1" } }, - "examples/components/node-fetch/node_modules/@bytecodealliance/jco": { - "version": "1.11.3", - "resolved": "https://registry.npmjs.org/@bytecodealliance/jco/-/jco-1.11.3.tgz", - "integrity": "sha512-Ynv0GDj9iAp+cS03UGg+ss4uo/Hx5e4FyjcFDBfkRt9qJsqbL2AnPqgO/ORNlSXg9zu9PTNC0uGgE7/Vklcn/w==", - "license": "(Apache-2.0 WITH LLVM-exception)", - "dependencies": { - "@bytecodealliance/componentize-js": "^0.17.0", - "@bytecodealliance/preview2-shim": "^0.17.2", - "binaryen": "^123.0.0", - "chalk-template": "^1", - "commander": "^12", - "mkdirp": "^3", - "ora": "^8", - "terser": "^5" - }, - "bin": { - "jco": "src/jco.js" - } - }, - "examples/components/node-fetch/node_modules/@bytecodealliance/jco/node_modules/@bytecodealliance/componentize-js": { - "version": "0.17.0", - "resolved": "https://registry.npmjs.org/@bytecodealliance/componentize-js/-/componentize-js-0.17.0.tgz", - "integrity": "sha512-FDgO5UPipfjyq5OghSB4JW313LkQJK3Sl647WH1jvIuYAyCq1j+bMt+Q66c3UF6IVs6PneNTGfGSjYgzID/k0w==", - "workspaces": [ - "." - ], - "dependencies": { - "@bytecodealliance/jco": "^1.9.1", - "@bytecodealliance/weval": "^0.3.3", - "@bytecodealliance/wizer": "^7.0.5", - "es-module-lexer": "^1.6.0" - } - }, "examples/components/string-reverse": { "name": "string-reverse-wasm", "dependencies": { @@ -326,72 +96,6 @@ "@bytecodealliance/jco": "^1.11.1" } }, - "examples/components/string-reverse-upper/node_modules/@bytecodealliance/jco": { - "version": "1.11.3", - "resolved": "https://registry.npmjs.org/@bytecodealliance/jco/-/jco-1.11.3.tgz", - "integrity": "sha512-Ynv0GDj9iAp+cS03UGg+ss4uo/Hx5e4FyjcFDBfkRt9qJsqbL2AnPqgO/ORNlSXg9zu9PTNC0uGgE7/Vklcn/w==", - "license": "(Apache-2.0 WITH LLVM-exception)", - "dependencies": { - "@bytecodealliance/componentize-js": "^0.17.0", - "@bytecodealliance/preview2-shim": "^0.17.2", - "binaryen": "^123.0.0", - "chalk-template": "^1", - "commander": "^12", - "mkdirp": "^3", - "ora": "^8", - "terser": "^5" - }, - "bin": { - "jco": "src/jco.js" - } - }, - "examples/components/string-reverse-upper/node_modules/@bytecodealliance/jco/node_modules/@bytecodealliance/componentize-js": { - "version": "0.17.0", - "resolved": "https://registry.npmjs.org/@bytecodealliance/componentize-js/-/componentize-js-0.17.0.tgz", - "integrity": "sha512-FDgO5UPipfjyq5OghSB4JW313LkQJK3Sl647WH1jvIuYAyCq1j+bMt+Q66c3UF6IVs6PneNTGfGSjYgzID/k0w==", - "workspaces": [ - "." - ], - "dependencies": { - "@bytecodealliance/jco": "^1.9.1", - "@bytecodealliance/weval": "^0.3.3", - "@bytecodealliance/wizer": "^7.0.5", - "es-module-lexer": "^1.6.0" - } - }, - "examples/components/string-reverse/node_modules/@bytecodealliance/jco": { - "version": "1.11.3", - "resolved": "https://registry.npmjs.org/@bytecodealliance/jco/-/jco-1.11.3.tgz", - "integrity": "sha512-Ynv0GDj9iAp+cS03UGg+ss4uo/Hx5e4FyjcFDBfkRt9qJsqbL2AnPqgO/ORNlSXg9zu9PTNC0uGgE7/Vklcn/w==", - "license": "(Apache-2.0 WITH LLVM-exception)", - "dependencies": { - "@bytecodealliance/componentize-js": "^0.17.0", - "@bytecodealliance/preview2-shim": "^0.17.2", - "binaryen": "^123.0.0", - "chalk-template": "^1", - "commander": "^12", - "mkdirp": "^3", - "ora": "^8", - "terser": "^5" - }, - "bin": { - "jco": "src/jco.js" - } - }, - "examples/components/string-reverse/node_modules/@bytecodealliance/jco/node_modules/@bytecodealliance/componentize-js": { - "version": "0.17.0", - "resolved": "https://registry.npmjs.org/@bytecodealliance/componentize-js/-/componentize-js-0.17.0.tgz", - "integrity": "sha512-FDgO5UPipfjyq5OghSB4JW313LkQJK3Sl647WH1jvIuYAyCq1j+bMt+Q66c3UF6IVs6PneNTGfGSjYgzID/k0w==", - "workspaces": [ - "." - ], - "dependencies": { - "@bytecodealliance/jco": "^1.9.1", - "@bytecodealliance/weval": "^0.3.3", - "@bytecodealliance/wizer": "^7.0.5", - "es-module-lexer": "^1.6.0" - } - }, "examples/components/webidl-book-library": { "name": "webidl-book-library-wasm", "devDependencies": { @@ -1696,6 +1400,13 @@ "dev": true, "license": "MIT" }, + "node_modules/@tsconfig/node20": { + "version": "20.1.6", + "resolved": "https://registry.npmjs.org/@tsconfig/node20/-/node20-20.1.6.tgz", + "integrity": "sha512-sz+Hqx9zwZDpZIV871WSbUzSqNIsXzghZydypnfgzPKLltVJfkINfUeTct31n/tTSa9ZE1ZOfKdRre1uHHquYQ==", + "dev": true, + "license": "MIT" + }, "node_modules/@tybys/wasm-util": { "version": "0.10.0", "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.0.tgz", @@ -4454,7 +4165,9 @@ } }, "node_modules/prettier": { - "version": "3.5.3", + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.6.2.tgz", + "integrity": "sha512-I7AIg5boAr5R0FFtJ6rCfD+LFsWHp81dolrFD8S79U9tb8Az2nGrJncnMSnys+bpQJfRUzqs9hnA81OAA3hCuQ==", "dev": true, "license": "MIT", "bin": { @@ -5761,7 +5474,7 @@ }, "packages/jco": { "name": "@bytecodealliance/jco", - "version": "1.12.0-rc.1", + "version": "1.12.0", "license": "(Apache-2.0 WITH LLVM-exception)", "dependencies": { "@bytecodealliance/componentize-js": "^0.18.3", @@ -5803,12 +5516,20 @@ "@bytecodealliance/preview2-shim": "^0.17.2", "chalk-template": "^1", "terser": "^5" + }, + "devDependencies": { + "@tsconfig/node20": "^20.1.6", + "typescript": "^5.8.3" } }, "packages/preview2-shim": { "name": "@bytecodealliance/preview2-shim", "version": "0.17.2", - "license": "(Apache-2.0 WITH LLVM-exception)" + "license": "(Apache-2.0 WITH LLVM-exception)", + "devDependencies": { + "@tsconfig/node20": "^20.1.6", + "typescript": "^5.8.3" + } }, "packages/preview3-shim": { "name": "@bytecodealliance/preview3-shim", @@ -5819,9 +5540,11 @@ }, "devDependencies": { "@eslint/js": "^9.21.0", + "@tsconfig/node20": "^20.1.6", "eslint": "^9.21.0", "globals": "^16.0.0", "prettier": "^3.5.3", + "typescript": "^5.8.3", "typescript-eslint": "^8.26.0", "vitest": "^3.1.1" } diff --git a/packages/jco/CHANGELOG.md b/packages/jco/CHANGELOG.md index b712c4d70..686f91159 100644 --- a/packages/jco/CHANGELOG.md +++ b/packages/jco/CHANGELOG.md @@ -4,148 +4,119 @@ ### 🚜 Refactor -* *(jco)* move type generation functions to separate file (#839) by @vados-cosmonic in #839 - - - +- _(jco)_ move type generation functions to separate file (#839) by @vados-cosmonic in #839 ## [1.12.0-rc.1] - 2025-07-17 ### 🚜 Refactor -* *(jco)* move type generation functions to separate file (#839) by @vados-cosmonic in #839 - - - +- _(jco)_ move type generation functions to separate file (#839) by @vados-cosmonic in #839 ## [1.12.0-rc.0] - 2025-07-17 ### 🐛 Bug Fixes -* *(jco)* run linter on jco package source code (#758) by @andreiltd in #758 +- _(jco)_ run linter on jco package source code (#758) by @andreiltd in #758 ### 🚜 Refactor -* refactor: pass more debug options to componentize by @vados-cosmonic in #607 +- refactor: pass more debug options to componentize by @vados-cosmonic in #607 ### ⚙️ Miscellaneous Tasks -* chore(deps): update componentize-js to v0.18.3 by @vados-cosmonic in #620 - +- chore(deps): update componentize-js to v0.18.3 by @vados-cosmonic in #620 ## [1.11.3] - 2025-06-30 ### 🐛 Bug Fixes -* *(jco)* run linter on jco package source code (#758) - - - +- _(jco)_ run linter on jco package source code (#758) ## [1.11.3-rc.1] - 2025-06-30 - - ## [1.11.3-rc.0] - 2025-06-28 ### 🐛 Bug Fixes -* *(jco)* run linter on jco package source code (#758) by @andreiltd in #758 - - - +- _(jco)_ run linter on jco package source code (#758) by @andreiltd in #758 ## [1.11.2] - 2025-05-12 ### 🐛 Bug Fixes -* *(jco)* missing stat dependency (#650) by @vados-cosmonic in #650 - -* *(jco)* appending to const value raises error (#648) by @thomas9911 in #648 +- _(jco)_ missing stat dependency (#650) by @vados-cosmonic in #650 +- _(jco)_ appending to const value raises error (#648) by @thomas9911 in #648 ### 🚜 Refactor -* *(jco)* re-arrange package.json, add contributors (#679) by @vados-cosmonic in #679 - +- _(jco)_ re-arrange package.json, add contributors (#679) by @vados-cosmonic in #679 ### ⚙️ Miscellaneous Tasks -* *(jco)* update printed versions (#677) by @vados-cosmonic in #677 - -* *(jco)* update printed CLI version by @vados-cosmonic - +- _(jco)_ update printed versions (#677) by @vados-cosmonic in #677 +- _(jco)_ update printed CLI version by @vados-cosmonic ## New Contributors -* @jco-release-bot made their first contribution in [#684](https://github.com/bytecodealliance/jco/pull/684) -* @dependabot[bot] made their first contribution in [#662](https://github.com/bytecodealliance/jco/pull/662) -* @thomas9911 made their first contribution in [#648](https://github.com/bytecodealliance/jco/pull/648) +- @jco-release-bot made their first contribution in [#684](https://github.com/bytecodealliance/jco/pull/684) +- @dependabot[bot] made their first contribution in [#662](https://github.com/bytecodealliance/jco/pull/662) +- @thomas9911 made their first contribution in [#648](https://github.com/bytecodealliance/jco/pull/648) ## [1.11.2-rc.2] - 2025-05-12 ### 🐛 Bug Fixes -* *(jco)* missing stat dependency (#650) by @vados-cosmonic in #650 - -* *(jco)* appending to const value raises error (#648) by @thomas9911 in #648 +- _(jco)_ missing stat dependency (#650) by @vados-cosmonic in #650 +- _(jco)_ appending to const value raises error (#648) by @thomas9911 in #648 ### 🚜 Refactor -* *(jco)* re-arrange package.json, add contributors (#679) by @vados-cosmonic in #679 - +- _(jco)_ re-arrange package.json, add contributors (#679) by @vados-cosmonic in #679 ### ⚙️ Miscellaneous Tasks -* *(jco)* update printed versions (#677) by @vados-cosmonic in #677 - -* *(jco)* update printed CLI version by @vados-cosmonic - +- _(jco)_ update printed versions (#677) by @vados-cosmonic in #677 +- _(jco)_ update printed CLI version by @vados-cosmonic ## New Contributors -* @jco-release-bot made their first contribution in [#678](https://github.com/bytecodealliance/jco/pull/678) -* @dependabot[bot] made their first contribution in [#662](https://github.com/bytecodealliance/jco/pull/662) -* @thomas9911 made their first contribution in [#648](https://github.com/bytecodealliance/jco/pull/648) +- @jco-release-bot made their first contribution in [#678](https://github.com/bytecodealliance/jco/pull/678) +- @dependabot[bot] made their first contribution in [#662](https://github.com/bytecodealliance/jco/pull/662) +- @thomas9911 made their first contribution in [#648](https://github.com/bytecodealliance/jco/pull/648) ## [1.11.2-rc.1] - 2025-05-12 ### ⚙️ Miscellaneous Tasks -* *(jco)* update printed versions (#677) by @vados-cosmonic in #677 - -* *(jco)* update printed CLI version by @vados-cosmonic - - +- _(jco)_ update printed versions (#677) by @vados-cosmonic in #677 +- _(jco)_ update printed CLI version by @vados-cosmonic ## [1.11.2-rc.0] - 2025-05-11 ### 🐛 Bug Fixes -* *(jco)* missing stat dependency (#650) by @vados-cosmonic in #650 - -* *(jco)* appending to const value raises error (#648) by @thomas9911 in #648 - +- _(jco)_ missing stat dependency (#650) by @vados-cosmonic in #650 +- _(jco)_ appending to const value raises error (#648) by @thomas9911 in #648 ## New Contributors -* @dependabot[bot] made their first contribution in [#662](https://github.com/bytecodealliance/jco/pull/662) -* @thomas9911 made their first contribution in [#648](https://github.com/bytecodealliance/jco/pull/648) +- @dependabot[bot] made their first contribution in [#662](https://github.com/bytecodealliance/jco/pull/662) +- @thomas9911 made their first contribution in [#648](https://github.com/bytecodealliance/jco/pull/648) ## [jco-v1.11.0] - 2025-04-28 ### 🚀 Features -* *(jco)* expose comoponentizejs's debugBuild option on command line (#633) by @pchickey in #633 - - +- _(jco)_ expose comoponentizejs's debugBuild option on command line (#633) by @pchickey in #633 ## New Contributors -* @tanishiking made their first contribution in [#631](https://github.com/bytecodealliance/jco/pull/631) -* @marosset made their first contribution in [#609](https://github.com/bytecodealliance/jco/pull/609) -* @MendyBerger made their first contribution in [#591](https://github.com/bytecodealliance/jco/pull/591) + +- @tanishiking made their first contribution in [#631](https://github.com/bytecodealliance/jco/pull/631) +- @marosset made their first contribution in [#609](https://github.com/bytecodealliance/jco/pull/609) +- @MendyBerger made their first contribution in [#591](https://github.com/bytecodealliance/jco/pull/591) diff --git a/packages/jco/README.md b/packages/jco/README.md index 1d08097c5..2326a7e68 100644 --- a/packages/jco/README.md +++ b/packages/jco/README.md @@ -5,7 +5,7 @@ JavaScript toolchain for working with WebAssembly Components

- A Bytecode Alliance project +A Bytecode Alliance project

build status @@ -24,11 +24,11 @@ Jco provides a fully native JS toolchain for working with [WebAssembly Component Features include: -* "Transpiling" Wasm Component binaries into ES modules that can run in any JS environment. -* WASI Preview2 support in Node.js & browsers (experimental). -* Component builds of [Wasm Tools](https://github.com/bytecodealliance/wasm-tools) helpers, available for use as a library or CLI commands for use in native JS environments, as well as optimization helper for Components via Binaryen. -* Run and serve commands like Wasmtime, as JS implementations of the Command and HTTP Proxy worlds. -* "Componentize" command to easily create components written in JavaScript (wrapper of [ComponentizeJS](https://github.com/bytecodealliance/ComponentizeJS)). +- "Transpiling" Wasm Component binaries into ES modules that can run in any JS environment. +- WASI Preview2 support in Node.js & browsers (experimental). +- Component builds of [Wasm Tools](https://github.com/bytecodealliance/wasm-tools) helpers, available for use as a library or CLI commands for use in native JS environments, as well as optimization helper for Components via Binaryen. +- Run and serve commands like Wasmtime, as JS implementations of the Command and HTTP Proxy worlds. +- "Componentize" command to easily create components written in JavaScript (wrapper of [ComponentizeJS](https://github.com/bytecodealliance/ComponentizeJS)). For creating components in other languages, see the [Cargo Component](https://github.com/bytecodealliance/cargo-Component) project for Rust and [Wit Bindgen](https://github.com/bytecodealliance/wit-bindgen) for various guest bindgen helpers. diff --git a/packages/jco/package.json b/packages/jco/package.json index ca8d19bcb..45a85cd74 100644 --- a/packages/jco/package.json +++ b/packages/jco/package.json @@ -1,96 +1,96 @@ { - "name": "@bytecodealliance/jco", - "version": "1.12.0", - "description": "JavaScript tooling for working with WebAssembly Components", - "homepage": "https://github.com/bytecodealliance/jco#readme", - "author": "Guy Bedford", - "contributors": [ - { - "name": "Guy Bedford" + "name": "@bytecodealliance/jco", + "version": "1.12.0", + "description": "JavaScript tooling for working with WebAssembly Components", + "homepage": "https://github.com/bytecodealliance/jco#readme", + "author": "Guy Bedford", + "contributors": [ + { + "name": "Guy Bedford" + }, + { + "name": "Victor Adossi", + "email": "vadossi@cosmonic.com" + } + ], + "type": "module", + "license": "(Apache-2.0 WITH LLVM-exception)", + "bugs": { + "url": "https://github.com/bytecodealliance/jco/issues" }, - { - "name": "Victor Adossi", - "email": "vadossi@cosmonic.com" - } - ], - "type": "module", - "license": "(Apache-2.0 WITH LLVM-exception)", - "bugs": { - "url": "https://github.com/bytecodealliance/jco/issues" - }, - "keywords": [ - "Wasm", - "WebAssembly", - "Component" - ], - "repository": { - "type": "git", - "url": "git+https://github.com/bytecodealliance/jco.git" - }, - "imports": { - "#ora": { - "browser": "./src/ora-shim.js", - "default": "ora" - } - }, - "exports": { - ".": { - "browser": "./src/browser.js", - "default": "./src/api.js" + "keywords": [ + "Wasm", + "WebAssembly", + "Component" + ], + "repository": { + "type": "git", + "url": "git+https://github.com/bytecodealliance/jco.git" + }, + "imports": { + "#ora": { + "browser": "./src/ora-shim.js", + "default": "ora" + } + }, + "exports": { + ".": { + "browser": "./src/browser.js", + "default": "./src/api.js" + }, + "./component": { + "types": "./obj/js-component-bindgen-component.d.ts", + "default": "./src/browser.js" + } + }, + "bin": { + "jco": "src/jco.js" + }, + "files": [ + "lib", + "src", + "obj/*.core*.wasm", + "obj/*.js", + "obj/*.ts", + "obj/interfaces" + ], + "scripts": { + "build": "cargo xtask build debug", + "build:release": "cargo xtask build release", + "build:types:preview2-shim": "npm run build:types:preview2-shim --include-workspace-root", + "fmt": "prettier . --write", + "lint": "eslint -c ../../eslint.config.mjs --ext .js src test", + "lint:fix": "npm run lint -- --fix", + "test": "vitest run -c test/vitest.ts", + "test:lts": "vitest run -c test/vitest.lts.ts", + "prepack": "cargo xtask build release" + }, + "dependencies": { + "@bytecodealliance/componentize-js": "^0.18.3", + "@bytecodealliance/preview2-shim": "^0.17.2", + "binaryen": "^123.0.0", + "chalk-template": "^1", + "commander": "^12", + "mkdirp": "^3", + "ora": "^8", + "terser": "^5" }, - "./component": { - "types": "./obj/js-component-bindgen-component.d.ts", - "default": "./src/browser.js" + "devDependencies": { + "@commitlint/config-conventional": "^19.8.1", + "@types/node": "^22.15.17", + "@typescript-eslint/eslint-plugin": "^8.2.0", + "@typescript-eslint/parser": "^8.2.0", + "commitlint": "^19.8.1", + "conventional-changelog-conventionalcommits": "^8.0.0", + "eslint": "^9.9.0", + "eslint-config-prettier": "^10.1.1", + "eslint-plugin-prettier": "^5.2.3", + "mime": "^4.0.4", + "prettier": "^3.5.3", + "puppeteer": "^24.0.1", + "semver": "^7.7.1", + "smol-toml": "^1.3.1", + "typescript": "^5.8.3", + "vitest": "^3.0.7" } - }, - "bin": { - "jco": "src/jco.js" - }, - "files": [ - "lib", - "src", - "obj/*.core*.wasm", - "obj/*.js", - "obj/*.ts", - "obj/interfaces" - ], - "scripts": { - "build": "cargo xtask build debug", - "build:release": "cargo xtask build release", - "build:types:preview2-shim": "npm run build:types:preview2-shim --include-workspace-root", - "fmt": "prettier . --write", - "lint": "eslint -c ../../eslint.config.mjs --ext .js src test", - "lint:fix": "npm run lint -- --fix", - "test": "vitest run -c test/vitest.ts", - "test:lts": "vitest run -c test/vitest.lts.ts", - "prepack": "cargo xtask build release" - }, - "dependencies": { - "@bytecodealliance/componentize-js": "^0.18.3", - "@bytecodealliance/preview2-shim": "^0.17.2", - "binaryen": "^123.0.0", - "chalk-template": "^1", - "commander": "^12", - "mkdirp": "^3", - "ora": "^8", - "terser": "^5" - }, - "devDependencies": { - "@commitlint/config-conventional": "^19.8.1", - "@types/node": "^22.15.17", - "@typescript-eslint/eslint-plugin": "^8.2.0", - "@typescript-eslint/parser": "^8.2.0", - "commitlint": "^19.8.1", - "conventional-changelog-conventionalcommits": "^8.0.0", - "eslint": "^9.9.0", - "eslint-config-prettier": "^10.1.1", - "eslint-plugin-prettier": "^5.2.3", - "mime": "^4.0.4", - "prettier": "^3.5.3", - "puppeteer": "^24.0.1", - "semver": "^7.7.1", - "smol-toml": "^1.3.1", - "typescript": "^5.8.3", - "vitest": "^3.0.7" - } } diff --git a/packages/jco/src/cmd/types.d.ts b/packages/jco/src/cmd/types.d.ts index 117bb09e8..e9f8ee95e 100644 --- a/packages/jco/src/cmd/types.d.ts +++ b/packages/jco/src/cmd/types.d.ts @@ -16,18 +16,21 @@ export function guestTypes(witPath: any, opts: any): Promise; * }} opts * @returns {Promise<{ [filename: string]: Uint8Array }>} */ -export function typesComponent(witPath: string, opts: { - name?: string; - worldName?: string; - instantiation?: "async" | "sync"; - tlaCompat?: boolean; - asyncMode?: string; - asyncImports?: string[]; - asyncExports?: string[]; - outDir?: string; - features?: string[] | "all"; - guest?: boolean; -}): Promise<{ +export function typesComponent( + witPath: string, + opts: { + name?: string; + worldName?: string; + instantiation?: 'async' | 'sync'; + tlaCompat?: boolean; + asyncMode?: string; + asyncImports?: string[]; + asyncExports?: string[]; + outDir?: string; + features?: string[] | 'all'; + guest?: boolean; + } +): Promise<{ [filename: string]: Uint8Array; }>; //# sourceMappingURL=types.d.ts.map diff --git a/packages/jco/src/common.d.ts b/packages/jco/src/common.d.ts index 8c0f1be49..d84aa60e3 100644 --- a/packages/jco/src/common.d.ts +++ b/packages/jco/src/common.d.ts @@ -9,9 +9,16 @@ export function table(data: any, align?: any[]): string; * The new directory is created using `fsPromises.mkdtemp()`. */ export function getTmpDir(): Promise; -export function spawnIOTmp(cmd: any, input: any, args: any): Promise>; +export function spawnIOTmp( + cmd: any, + input: any, + args: any +): Promise>; export function writeFiles(files: any, summaryTitle: any): Promise; export const isWindows: boolean; export { readFileCli as readFile }; -declare function readFileCli(file: any, encoding: any): Promise>; -//# sourceMappingURL=common.d.ts.map \ No newline at end of file +declare function readFileCli( + file: any, + encoding: any +): Promise>; +//# sourceMappingURL=common.d.ts.map diff --git a/packages/jco/src/jco.js b/packages/jco/src/jco.js index 55042b3d2..5cfbced37 100755 --- a/packages/jco/src/jco.js +++ b/packages/jco/src/jco.js @@ -443,7 +443,7 @@ program.showHelpAfterError(); program.parse(); function asyncAction(cmd) { - return function() { + return function () { const args = [...arguments]; (async () => { try { diff --git a/packages/jco/test/async.browser.js b/packages/jco/test/async.browser.js index e2d4acda0..b813f9803 100644 --- a/packages/jco/test/async.browser.js +++ b/packages/jco/test/async.browser.js @@ -19,7 +19,7 @@ suite(`Async`, async () => { var outDir; var outFile; - beforeAll(async function() { + beforeAll(async function () { tmpDir = await getTmpDir(); outDir = resolve(tmpDir, 'out-component-dir'); outFile = resolve(tmpDir, 'out-component-file'); @@ -35,13 +35,13 @@ suite(`Async`, async () => { ); }); - afterAll(async function() { + afterAll(async function () { try { await rm(tmpDir, { recursive: true }); } catch {} }); - afterEach(async function() { + afterEach(async function () { try { await rm(outDir, { recursive: true }); await rm(outFile); diff --git a/packages/jco/test/browser.html b/packages/jco/test/browser.html index a6a5438eb..46554bf53 100644 --- a/packages/jco/test/browser.html +++ b/packages/jco/test/browser.html @@ -1,81 +1,100 @@ diff --git a/packages/jco/test/browser.js b/packages/jco/test/browser.js index 465113776..f1da27cfa 100644 --- a/packages/jco/test/browser.js +++ b/packages/jco/test/browser.js @@ -23,7 +23,7 @@ suite('Browser', () => { let tmpDir, outDir, outFile, outDirUrl; let server, port, browser; - beforeAll(async function() { + beforeAll(async function () { tmpDir = await getTmpDir(); outDir = resolve(tmpDir, 'out-component-dir'); outDirUrl = pathToFileURL(outDir + '/'); @@ -85,7 +85,7 @@ suite('Browser', () => { browser = await puppeteer.launch(); }); - afterAll(async function() { + afterAll(async function () { try { await rm(tmpDir, { recursive: true }); } catch {} @@ -93,7 +93,7 @@ suite('Browser', () => { await new Promise((resolve) => server.close(resolve)); }); - afterEach(async function() { + afterEach(async function () { try { await rm(outDir, { recursive: true }); await rm(outFile); diff --git a/packages/jco/test/cli.js b/packages/jco/test/cli.js index c51b0c19c..7f175af79 100644 --- a/packages/jco/test/cli.js +++ b/packages/jco/test/cli.js @@ -24,7 +24,7 @@ suite('CLI', () => { var outDir; var outFile; - beforeAll(async function() { + beforeAll(async function () { tmpDir = await getTmpDir(); outDir = resolve(tmpDir, 'out-component-dir'); outFile = resolve(tmpDir, 'out-component-file'); @@ -40,13 +40,13 @@ suite('CLI', () => { ); }); - afterAll(async function() { + afterAll(async function () { try { await rm(tmpDir, { recursive: true }); } catch {} }); - afterEach(async function() { + afterEach(async function () { try { await rm(outDir, { recursive: true }); await rm(outFile); diff --git a/packages/jco/test/fixtures/browser/test-pages/something__test.async.html b/packages/jco/test/fixtures/browser/test-pages/something__test.async.html index 6da546a3d..f1a4f2b5f 100644 --- a/packages/jco/test/fixtures/browser/test-pages/something__test.async.html +++ b/packages/jco/test/fixtures/browser/test-pages/something__test.async.html @@ -1,4 +1,4 @@ - + diff --git a/packages/jco/test/fixtures/commands/tests.json b/packages/jco/test/fixtures/commands/tests.json index 07668b497..811704c23 100644 --- a/packages/jco/test/fixtures/commands/tests.json +++ b/packages/jco/test/fixtures/commands/tests.json @@ -1,7 +1,7 @@ { - "dir.virt": { - "args": ["/foo"], - "stderr": "", - "stdout": "Listing directory: /foo\n - .\n - ..\n - foo\n" - } + "dir.virt": { + "args": ["/foo"], + "stderr": "", + "stdout": "Listing directory: /foo\n - .\n - ..\n - foo\n" + } } diff --git a/packages/jco/test/helpers.js b/packages/jco/test/helpers.js index b5eb5d96b..bacb909f5 100644 --- a/packages/jco/test/helpers.js +++ b/packages/jco/test/helpers.js @@ -478,7 +478,7 @@ export async function loadTestPage(args) { export async function getRandomPort() { return await new Promise((resolve) => { const server = createNetServer(); - server.listen(0, function() { + server.listen(0, function () { const port = this.address().port; server.on('close', () => resolve(port)); server.close(); diff --git a/packages/jco/test/tsconfig.json b/packages/jco/test/tsconfig.json index afc00e083..f26bc80c6 100644 --- a/packages/jco/test/tsconfig.json +++ b/packages/jco/test/tsconfig.json @@ -1,22 +1,22 @@ { - "include": ["runtime/*.ts"], - "TODO": "why are these runtime tests excluded?", - "exclude": [ - "runtime/strings.async+js.ts", - "runtime/strings.sync+js.ts", - "runtime/strings.sync.ts" - ], - "compilerOptions": { - "outDir": "output", - "module": "nodenext", - "moduleResolution": "nodenext", - "target": "es2020", - "strict": true, - "noImplicitAny": false, - "strictNullChecks": true, - "baseUrl": "../", - "paths": { - "@bytecodealliance/preview2-shim": ["package/preview2-shim"] + "include": ["runtime/*.ts"], + "TODO": "why are these runtime tests excluded?", + "exclude": [ + "runtime/strings.async+js.ts", + "runtime/strings.sync+js.ts", + "runtime/strings.sync.ts" + ], + "compilerOptions": { + "outDir": "output", + "module": "nodenext", + "moduleResolution": "nodenext", + "target": "es2020", + "strict": true, + "noImplicitAny": false, + "strictNullChecks": true, + "baseUrl": "../", + "paths": { + "@bytecodealliance/preview2-shim": ["package/preview2-shim"] + } } - } } diff --git a/packages/jco/test/vitest.lts.ts b/packages/jco/test/vitest.lts.ts index b92d4fc0e..e391c33ad 100644 --- a/packages/jco/test/vitest.lts.ts +++ b/packages/jco/test/vitest.lts.ts @@ -1,31 +1,31 @@ -import { availableParallelism, platform } from "node:os"; +import { availableParallelism, platform } from 'node:os'; -import { defineConfig } from "vitest/config"; +import { defineConfig } from 'vitest/config'; const DEFAULT_TIMEOUT_MS = 1000 * 60 * 10; // 10m const REPORTERS = process.env.GITHUB_ACTIONS - ? ["verbose", "github-actions"] - : ["verbose"]; + ? ['verbose', 'github-actions'] + : ['verbose']; export default defineConfig({ - test: { - retry: 3, - reporters: REPORTERS, - maxConcurrency: Math.max(availableParallelism() / 2, 5), - disableConsoleIntercept: true, - printConsoleTrace: true, - passWithNoTests: false, - include: ["test/*.js"], - setupFiles: ["test/meta-resolve-stub.ts"], - exclude: [ - "test/output/*", - "test/fixtures/*", - "test/common.js", - "test/helpers.js", - ], - testTimeout: DEFAULT_TIMEOUT_MS, - hookTimeout: DEFAULT_TIMEOUT_MS, - teardownTimeout: DEFAULT_TIMEOUT_MS, - }, + test: { + retry: 3, + reporters: REPORTERS, + maxConcurrency: Math.max(availableParallelism() / 2, 5), + disableConsoleIntercept: true, + printConsoleTrace: true, + passWithNoTests: false, + include: ['test/*.js'], + setupFiles: ['test/meta-resolve-stub.ts'], + exclude: [ + 'test/output/*', + 'test/fixtures/*', + 'test/common.js', + 'test/helpers.js', + ], + testTimeout: DEFAULT_TIMEOUT_MS, + hookTimeout: DEFAULT_TIMEOUT_MS, + teardownTimeout: DEFAULT_TIMEOUT_MS, + }, }); diff --git a/packages/jco/test/vitest.ts b/packages/jco/test/vitest.ts index 5b9dea150..ccdd9cb9e 100644 --- a/packages/jco/test/vitest.ts +++ b/packages/jco/test/vitest.ts @@ -1,37 +1,40 @@ -import { availableParallelism, platform } from "node:os"; +import { availableParallelism, platform } from 'node:os'; -import { defineConfig } from "vitest/config"; +import { defineConfig } from 'vitest/config'; const DEFAULT_TIMEOUT_MS = 1000 * 60 * 10; // 10m const REPORTERS = process.env.GITHUB_ACTIONS - ? ["verbose", "github-actions"] - : ["verbose"]; + ? ['verbose', 'github-actions'] + : ['verbose']; export default defineConfig({ - test: { - retry: 3, - reporters: REPORTERS, - maxConcurrency: Math.max(availableParallelism() / 2, 5), - disableConsoleIntercept: true, - printConsoleTrace: true, - passWithNoTests: false, - include: ["test/*.js"], - setupFiles: ["test/meta-resolve-stub.ts"], - exclude: [ - "test/output/*", - "test/fixtures/*", - "test/common.js", - "test/helpers.js", - ], - testTimeout: DEFAULT_TIMEOUT_MS, - hookTimeout: DEFAULT_TIMEOUT_MS, - teardownTimeout: DEFAULT_TIMEOUT_MS, - pool: "forks", - poolOptions: { - forks: { - execArgv: ["--experimental-wasm-jspi", "--stack-trace-limit=100"], - }, + test: { + retry: 3, + reporters: REPORTERS, + maxConcurrency: Math.max(availableParallelism() / 2, 5), + disableConsoleIntercept: true, + printConsoleTrace: true, + passWithNoTests: false, + include: ['test/*.js'], + setupFiles: ['test/meta-resolve-stub.ts'], + exclude: [ + 'test/output/*', + 'test/fixtures/*', + 'test/common.js', + 'test/helpers.js', + ], + testTimeout: DEFAULT_TIMEOUT_MS, + hookTimeout: DEFAULT_TIMEOUT_MS, + teardownTimeout: DEFAULT_TIMEOUT_MS, + pool: 'forks', + poolOptions: { + forks: { + execArgv: [ + '--experimental-wasm-jspi', + '--stack-trace-limit=100', + ], + }, + }, }, - }, }); diff --git a/packages/jco/test/wit.js b/packages/jco/test/wit.js index cada505c3..cf7284c20 100644 --- a/packages/jco/test/wit.js +++ b/packages/jco/test/wit.js @@ -16,7 +16,7 @@ suite('WIT', () => { var witFixturesPath; - beforeAll(async function() { + beforeAll(async function () { tmpDir = await getTmpDir(); outFile = resolve(tmpDir, 'out-component-file'); featureGatesWitPath = resolve('test/fixtures/wits/feature-gates.wit'); @@ -25,13 +25,13 @@ suite('WIT', () => { witFixturesPath = resolve('test/fixtures/wits'); }); - afterAll(async function() { + afterAll(async function () { try { await rm(tmpDir, { recursive: true }); } catch {} }); - afterEach(async function() { + afterEach(async function () { try { await rm(outFile); } catch {} diff --git a/packages/preview3-shim/test/helpers.js b/packages/preview3-shim/test/helpers.js index 6402f55d9..b4e691d35 100644 --- a/packages/preview3-shim/test/helpers.js +++ b/packages/preview3-shim/test/helpers.js @@ -4,7 +4,7 @@ import { createServer as createNetServer } from 'node:net'; export async function getRandomPort() { return await new Promise((resolve) => { const server = createNetServer(); - server.listen(0, function() { + server.listen(0, function () { const port = this.address().port; server.on('close', () => resolve(port)); server.close(); diff --git a/packages/preview3-shim/types/cli.d.ts b/packages/preview3-shim/types/cli.d.ts index a9f842f92..25c66d737 100644 --- a/packages/preview3-shim/types/cli.d.ts +++ b/packages/preview3-shim/types/cli.d.ts @@ -1,11 +1,11 @@ -export type * as environment from "./interfaces/wasi-cli-environment.d.ts"; -export type * as exit from "./interfaces/wasi-cli-exit.d.ts"; -export type * as run from "./interfaces/wasi-cli-run.d.ts"; -export type * as stderr from "./interfaces/wasi-cli-stderr.d.ts"; -export type * as stdin from "./interfaces/wasi-cli-stdin.d.ts"; -export type * as stdout from "./interfaces/wasi-cli-stdout.d.ts"; -export type * as terminalInput from "./interfaces/wasi-cli-terminal-input.d.ts"; -export type * as terminalOutput from "./interfaces/wasi-cli-terminal-output.d.ts"; -export type * as terminalStderr from "./interfaces/wasi-cli-terminal-stderr.d.ts"; -export type * as terminalStdin from "./interfaces/wasi-cli-terminal-stdin.d.ts"; -export type * as terminalStdout from "./interfaces/wasi-cli-terminal-stdout.d.ts"; +export type * as environment from './interfaces/wasi-cli-environment.d.ts'; +export type * as exit from './interfaces/wasi-cli-exit.d.ts'; +export type * as run from './interfaces/wasi-cli-run.d.ts'; +export type * as stderr from './interfaces/wasi-cli-stderr.d.ts'; +export type * as stdin from './interfaces/wasi-cli-stdin.d.ts'; +export type * as stdout from './interfaces/wasi-cli-stdout.d.ts'; +export type * as terminalInput from './interfaces/wasi-cli-terminal-input.d.ts'; +export type * as terminalOutput from './interfaces/wasi-cli-terminal-output.d.ts'; +export type * as terminalStderr from './interfaces/wasi-cli-terminal-stderr.d.ts'; +export type * as terminalStdin from './interfaces/wasi-cli-terminal-stdin.d.ts'; +export type * as terminalStdout from './interfaces/wasi-cli-terminal-stdout.d.ts'; diff --git a/packages/preview3-shim/types/clocks.d.ts b/packages/preview3-shim/types/clocks.d.ts index 19cc6c306..5924b0730 100644 --- a/packages/preview3-shim/types/clocks.d.ts +++ b/packages/preview3-shim/types/clocks.d.ts @@ -1,2 +1,2 @@ -export type * as monotonicClock from "./interfaces/wasi-clocks-monotonic-clock.d.ts"; -export type * as wallClock from "./interfaces/wasi-clocks-wall-clock.d.ts"; +export type * as monotonicClock from './interfaces/wasi-clocks-monotonic-clock.d.ts'; +export type * as wallClock from './interfaces/wasi-clocks-wall-clock.d.ts'; diff --git a/packages/preview3-shim/types/filesystem.d.ts b/packages/preview3-shim/types/filesystem.d.ts index 56da9436e..0780816dc 100644 --- a/packages/preview3-shim/types/filesystem.d.ts +++ b/packages/preview3-shim/types/filesystem.d.ts @@ -1,2 +1,2 @@ -export type * as preopens from "./interfaces/wasi-filesystem-preopens.d.ts"; -export type * as types from "./interfaces/wasi-filesystem-types.d.ts"; +export type * as preopens from './interfaces/wasi-filesystem-preopens.d.ts'; +export type * as types from './interfaces/wasi-filesystem-types.d.ts'; diff --git a/packages/preview3-shim/types/http.d.ts b/packages/preview3-shim/types/http.d.ts index 55189cac0..6edad6396 100644 --- a/packages/preview3-shim/types/http.d.ts +++ b/packages/preview3-shim/types/http.d.ts @@ -1,2 +1,2 @@ -export type * as handler from "./interfaces/wasi-http-handler.d.ts"; -export type * as types from "./interfaces/wasi-http-types.d.ts"; +export type * as handler from './interfaces/wasi-http-handler.d.ts'; +export type * as types from './interfaces/wasi-http-types.d.ts'; diff --git a/packages/preview3-shim/types/index.d.ts b/packages/preview3-shim/types/index.d.ts index 48c7c3121..b10650765 100644 --- a/packages/preview3-shim/types/index.d.ts +++ b/packages/preview3-shim/types/index.d.ts @@ -1,6 +1,6 @@ -export type * as cli from "./cli.d.ts"; -export type * as clocks from "./clocks.d.ts"; -export type * as filesystem from "./filesystem.d.ts"; -export type * as http from "./http.d.ts"; -export type * as random from "./random.d.ts"; -export type * as sockets from "./sockets.d.ts"; +export type * as cli from './cli.d.ts'; +export type * as clocks from './clocks.d.ts'; +export type * as filesystem from './filesystem.d.ts'; +export type * as http from './http.d.ts'; +export type * as random from './random.d.ts'; +export type * as sockets from './sockets.d.ts'; diff --git a/packages/preview3-shim/types/interfaces/wasi-cli-environment.d.ts b/packages/preview3-shim/types/interfaces/wasi-cli-environment.d.ts index a481affa8..6231cfc29 100644 --- a/packages/preview3-shim/types/interfaces/wasi-cli-environment.d.ts +++ b/packages/preview3-shim/types/interfaces/wasi-cli-environment.d.ts @@ -1,10 +1,10 @@ /** @module Interface wasi:cli/environment@0.3.0 **/ /** * Get the POSIX-style environment variables. - * + * * Each environment variable is provided as a pair of string variable names * and string value. - * + * * Morally, these are a value import, but until value imports are available * in the component model, this import function should return the same * values each time it is called. diff --git a/packages/preview3-shim/types/interfaces/wasi-cli-exit.d.ts b/packages/preview3-shim/types/interfaces/wasi-cli-exit.d.ts index 3a516cb99..f47558c8d 100644 --- a/packages/preview3-shim/types/interfaces/wasi-cli-exit.d.ts +++ b/packages/preview3-shim/types/interfaces/wasi-cli-exit.d.ts @@ -3,4 +3,4 @@ * Exit the current instance and any linked instances. */ export function exit(status: Result): void; -export type Result = { tag: 'ok', val: T } | { tag: 'err', val: E }; +export type Result = { tag: 'ok'; val: T } | { tag: 'err'; val: E }; diff --git a/packages/preview3-shim/types/interfaces/wasi-cli-terminal-input.d.ts b/packages/preview3-shim/types/interfaces/wasi-cli-terminal-input.d.ts index 44957389b..0ff53ce84 100644 --- a/packages/preview3-shim/types/interfaces/wasi-cli-terminal-input.d.ts +++ b/packages/preview3-shim/types/interfaces/wasi-cli-terminal-input.d.ts @@ -1,8 +1,8 @@ /** @module Interface wasi:cli/terminal-input@0.3.0 **/ export class TerminalInput { - /** - * This type does not have a public constructor. - */ - private constructor(); + /** + * This type does not have a public constructor. + */ + private constructor(); } diff --git a/packages/preview3-shim/types/interfaces/wasi-cli-terminal-output.d.ts b/packages/preview3-shim/types/interfaces/wasi-cli-terminal-output.d.ts index 7334d0567..4e43596a6 100644 --- a/packages/preview3-shim/types/interfaces/wasi-cli-terminal-output.d.ts +++ b/packages/preview3-shim/types/interfaces/wasi-cli-terminal-output.d.ts @@ -1,8 +1,8 @@ /** @module Interface wasi:cli/terminal-output@0.3.0 **/ export class TerminalOutput { - /** - * This type does not have a public constructor. - */ - private constructor(); + /** + * This type does not have a public constructor. + */ + private constructor(); } diff --git a/packages/preview3-shim/types/interfaces/wasi-cli-terminal-stderr.d.ts b/packages/preview3-shim/types/interfaces/wasi-cli-terminal-stderr.d.ts index 6a3243bf6..d82d47c91 100644 --- a/packages/preview3-shim/types/interfaces/wasi-cli-terminal-stderr.d.ts +++ b/packages/preview3-shim/types/interfaces/wasi-cli-terminal-stderr.d.ts @@ -4,4 +4,5 @@ * allowing further interaction with it. */ export function getTerminalStderr(): TerminalOutput | undefined; -export type TerminalOutput = import('./wasi-cli-terminal-output.js').TerminalOutput; +export type TerminalOutput = + import('./wasi-cli-terminal-output.js').TerminalOutput; diff --git a/packages/preview3-shim/types/interfaces/wasi-cli-terminal-stdin.d.ts b/packages/preview3-shim/types/interfaces/wasi-cli-terminal-stdin.d.ts index 87fceb034..bfefeaa39 100644 --- a/packages/preview3-shim/types/interfaces/wasi-cli-terminal-stdin.d.ts +++ b/packages/preview3-shim/types/interfaces/wasi-cli-terminal-stdin.d.ts @@ -4,4 +4,5 @@ * allowing further interaction with it. */ export function getTerminalStdin(): TerminalInput | undefined; -export type TerminalInput = import('./wasi-cli-terminal-input.js').TerminalInput; +export type TerminalInput = + import('./wasi-cli-terminal-input.js').TerminalInput; diff --git a/packages/preview3-shim/types/interfaces/wasi-cli-terminal-stdout.d.ts b/packages/preview3-shim/types/interfaces/wasi-cli-terminal-stdout.d.ts index 895c9193a..c5eab4238 100644 --- a/packages/preview3-shim/types/interfaces/wasi-cli-terminal-stdout.d.ts +++ b/packages/preview3-shim/types/interfaces/wasi-cli-terminal-stdout.d.ts @@ -4,4 +4,5 @@ * allowing further interaction with it. */ export function getTerminalStdout(): TerminalOutput | undefined; -export type TerminalOutput = import('./wasi-cli-terminal-output.js').TerminalOutput; +export type TerminalOutput = + import('./wasi-cli-terminal-output.js').TerminalOutput; diff --git a/packages/preview3-shim/types/interfaces/wasi-clocks-monotonic-clock.d.ts b/packages/preview3-shim/types/interfaces/wasi-clocks-monotonic-clock.d.ts index 1c1d479d6..0c6dd6a0e 100644 --- a/packages/preview3-shim/types/interfaces/wasi-clocks-monotonic-clock.d.ts +++ b/packages/preview3-shim/types/interfaces/wasi-clocks-monotonic-clock.d.ts @@ -1,7 +1,7 @@ /** @module Interface wasi:clocks/monotonic-clock@0.3.0 **/ /** * Read the current value of the clock. - * + * * The clock is monotonic, therefore calling this function repeatedly will * produce a sequence of non-decreasing values. */ diff --git a/packages/preview3-shim/types/interfaces/wasi-clocks-wall-clock.d.ts b/packages/preview3-shim/types/interfaces/wasi-clocks-wall-clock.d.ts index efd21513b..5b49cb982 100644 --- a/packages/preview3-shim/types/interfaces/wasi-clocks-wall-clock.d.ts +++ b/packages/preview3-shim/types/interfaces/wasi-clocks-wall-clock.d.ts @@ -1,23 +1,23 @@ /** @module Interface wasi:clocks/wall-clock@0.3.0 **/ /** * Read the current value of the clock. - * + * * This clock is not monotonic, therefore calling this function repeatedly * will not necessarily produce a sequence of non-decreasing values. - * + * * The returned timestamps represent the number of seconds since * 1970-01-01T00:00:00Z, also known as [POSIX's Seconds Since the Epoch], * also known as [Unix Time]. - * + * * The nanoseconds field of the output is always less than 1000000000. - * + * * [POSIX's Seconds Since the Epoch]: https://pubs.opengroup.org/onlinepubs/9699919799/xrat/V4_xbd_chap04.html#tag_21_04_16 * [Unix Time]: https://en.wikipedia.org/wiki/Unix_time */ export function now(): Datetime; /** * Query the resolution of the clock. - * + * * The nanoseconds field of the output is always less than 1000000000. */ export function resolution(): Datetime; @@ -25,6 +25,6 @@ export function resolution(): Datetime; * A time and date in seconds plus nanoseconds. */ export interface Datetime { - seconds: bigint, - nanoseconds: number, + seconds: bigint; + nanoseconds: number; } diff --git a/packages/preview3-shim/types/interfaces/wasi-filesystem-types.d.ts b/packages/preview3-shim/types/interfaces/wasi-filesystem-types.d.ts index 0ac1f5d81..9dac4f552 100644 --- a/packages/preview3-shim/types/interfaces/wasi-filesystem-types.d.ts +++ b/packages/preview3-shim/types/interfaces/wasi-filesystem-types.d.ts @@ -6,123 +6,131 @@ export type Datetime = import('./wasi-clocks-wall-clock.js').Datetime; export type Filesize = bigint; /** * The type of a filesystem object referenced by a descriptor. - * + * * Note: This was called `filetype` in earlier versions of WASI. * # Variants - * + * * ## `"unknown"` - * + * * The type of the descriptor or file is unknown or is different from * any of the other types specified. * ## `"block-device"` - * + * * The descriptor refers to a block device inode. * ## `"character-device"` - * + * * The descriptor refers to a character device inode. * ## `"directory"` - * + * * The descriptor refers to a directory inode. * ## `"fifo"` - * + * * The descriptor refers to a named pipe. * ## `"symbolic-link"` - * + * * The file refers to a symbolic link inode. * ## `"regular-file"` - * + * * The descriptor refers to a regular file inode. * ## `"socket"` - * + * * The descriptor refers to a socket. */ -export type DescriptorType = 'unknown' | 'block-device' | 'character-device' | 'directory' | 'fifo' | 'symbolic-link' | 'regular-file' | 'socket'; +export type DescriptorType = + | 'unknown' + | 'block-device' + | 'character-device' + | 'directory' + | 'fifo' + | 'symbolic-link' + | 'regular-file' + | 'socket'; /** * Descriptor flags. - * + * * Note: This was called `fdflags` in earlier versions of WASI. */ export interface DescriptorFlags { - /** - * Read mode: Data can be read. - */ - read?: boolean, - /** - * Write mode: Data can be written to. - */ - write?: boolean, - /** - * Request that writes be performed according to synchronized I/O file - * integrity completion. The data stored in the file and the file's - * metadata are synchronized. This is similar to `O_SYNC` in POSIX. - * - * The precise semantics of this operation have not yet been defined for - * WASI. At this time, it should be interpreted as a request, and not a - * requirement. - */ - fileIntegritySync?: boolean, - /** - * Request that writes be performed according to synchronized I/O data - * integrity completion. Only the data stored in the file is - * synchronized. This is similar to `O_DSYNC` in POSIX. - * - * The precise semantics of this operation have not yet been defined for - * WASI. At this time, it should be interpreted as a request, and not a - * requirement. - */ - dataIntegritySync?: boolean, - /** - * Requests that reads be performed at the same level of integrity - * requested for writes. This is similar to `O_RSYNC` in POSIX. - * - * The precise semantics of this operation have not yet been defined for - * WASI. At this time, it should be interpreted as a request, and not a - * requirement. - */ - requestedWriteSync?: boolean, - /** - * Mutating directories mode: Directory contents may be mutated. - * - * When this flag is unset on a descriptor, operations using the - * descriptor which would create, rename, delete, modify the data or - * metadata of filesystem objects, or obtain another handle which - * would permit any of those, shall fail with `error-code::read-only` if - * they would otherwise succeed. - * - * This may only be set on directories. - */ - mutateDirectory?: boolean, + /** + * Read mode: Data can be read. + */ + read?: boolean; + /** + * Write mode: Data can be written to. + */ + write?: boolean; + /** + * Request that writes be performed according to synchronized I/O file + * integrity completion. The data stored in the file and the file's + * metadata are synchronized. This is similar to `O_SYNC` in POSIX. + * + * The precise semantics of this operation have not yet been defined for + * WASI. At this time, it should be interpreted as a request, and not a + * requirement. + */ + fileIntegritySync?: boolean; + /** + * Request that writes be performed according to synchronized I/O data + * integrity completion. Only the data stored in the file is + * synchronized. This is similar to `O_DSYNC` in POSIX. + * + * The precise semantics of this operation have not yet been defined for + * WASI. At this time, it should be interpreted as a request, and not a + * requirement. + */ + dataIntegritySync?: boolean; + /** + * Requests that reads be performed at the same level of integrity + * requested for writes. This is similar to `O_RSYNC` in POSIX. + * + * The precise semantics of this operation have not yet been defined for + * WASI. At this time, it should be interpreted as a request, and not a + * requirement. + */ + requestedWriteSync?: boolean; + /** + * Mutating directories mode: Directory contents may be mutated. + * + * When this flag is unset on a descriptor, operations using the + * descriptor which would create, rename, delete, modify the data or + * metadata of filesystem objects, or obtain another handle which + * would permit any of those, shall fail with `error-code::read-only` if + * they would otherwise succeed. + * + * This may only be set on directories. + */ + mutateDirectory?: boolean; } /** * Flags determining the method of how paths are resolved. */ export interface PathFlags { - /** - * As long as the resolved path corresponds to a symbolic link, it is - * expanded. - */ - symlinkFollow?: boolean, + /** + * As long as the resolved path corresponds to a symbolic link, it is + * expanded. + */ + symlinkFollow?: boolean; } /** * Open flags used by `open-at`. */ export interface OpenFlags { - /** - * Create file if it does not exist, similar to `O_CREAT` in POSIX. - */ - create?: boolean, - /** - * Fail if not a directory, similar to `O_DIRECTORY` in POSIX. - */ - directory?: boolean, - /** - * Fail if file already exists, similar to `O_EXCL` in POSIX. - */ - exclusive?: boolean, - /** - * Truncate file to size 0, similar to `O_TRUNC` in POSIX. - */ - truncate?: boolean, + /** + * Create file if it does not exist, similar to `O_CREAT` in POSIX. + */ + create?: boolean; + /** + * Fail if not a directory, similar to `O_DIRECTORY` in POSIX. + */ + directory?: boolean; + /** + * Fail if file already exists, similar to `O_EXCL` in POSIX. + */ + exclusive?: boolean; + /** + * Truncate file to size 0, similar to `O_TRUNC` in POSIX. + */ + truncate?: boolean; } /** * Number of hard links to an inode. @@ -130,81 +138,84 @@ export interface OpenFlags { export type LinkCount = bigint; /** * File attributes. - * + * * Note: This was called `filestat` in earlier versions of WASI. */ export interface DescriptorStat { - /** - * File type. - */ - type: DescriptorType, - /** - * Number of hard links to the file. - */ - linkCount: LinkCount, - /** - * For regular files, the file size in bytes. For symbolic links, the - * length in bytes of the pathname contained in the symbolic link. - */ - size: Filesize, - /** - * Last data access timestamp. - * - * If the `option` is none, the platform doesn't maintain an access - * timestamp for this file. - */ - dataAccessTimestamp?: Datetime, - /** - * Last data modification timestamp. - * - * If the `option` is none, the platform doesn't maintain a - * modification timestamp for this file. - */ - dataModificationTimestamp?: Datetime, - /** - * Last file status-change timestamp. - * - * If the `option` is none, the platform doesn't maintain a - * status-change timestamp for this file. - */ - statusChangeTimestamp?: Datetime, + /** + * File type. + */ + type: DescriptorType; + /** + * Number of hard links to the file. + */ + linkCount: LinkCount; + /** + * For regular files, the file size in bytes. For symbolic links, the + * length in bytes of the pathname contained in the symbolic link. + */ + size: Filesize; + /** + * Last data access timestamp. + * + * If the `option` is none, the platform doesn't maintain an access + * timestamp for this file. + */ + dataAccessTimestamp?: Datetime; + /** + * Last data modification timestamp. + * + * If the `option` is none, the platform doesn't maintain a + * modification timestamp for this file. + */ + dataModificationTimestamp?: Datetime; + /** + * Last file status-change timestamp. + * + * If the `option` is none, the platform doesn't maintain a + * status-change timestamp for this file. + */ + statusChangeTimestamp?: Datetime; } /** * When setting a timestamp, this gives the value to set it to. */ -export type NewTimestamp = NewTimestampNoChange | NewTimestampNow | NewTimestampTimestamp; +export type NewTimestamp = + | NewTimestampNoChange + | NewTimestampNow + | NewTimestampTimestamp; /** * Leave the timestamp set to its previous value. */ export interface NewTimestampNoChange { - tag: 'no-change', + tag: 'no-change'; } /** * Set the timestamp to the current time of the system clock associated * with the filesystem. */ export interface NewTimestampNow { - tag: 'now', + tag: 'now'; } /** * Set the timestamp to the given value. */ export interface NewTimestampTimestamp { - tag: 'timestamp', - val: Datetime, + tag: 'timestamp'; + val: Datetime; } /** * A directory entry. */ export interface DirectoryEntry { - /** - * The type of the file referred to by this directory entry. - */ - type: DescriptorType, - /** - * The name of the object. - */ - name: string, + /** + * The type of the file referred to by this directory entry. + */ + type: DescriptorType; + /** + * The name of the object. + */ + name: string; } /** * Error codes returned by functions, similar to `errno` in POSIX. @@ -212,419 +223,493 @@ export interface DirectoryEntry { * API; some are used in higher-level library layers, and others are provided * merely for alignment with POSIX. * # Variants - * + * * ## `"access"` - * + * * Permission denied, similar to `EACCES` in POSIX. * ## `"already"` - * + * * Connection already in progress, similar to `EALREADY` in POSIX. * ## `"bad-descriptor"` - * + * * Bad descriptor, similar to `EBADF` in POSIX. * ## `"busy"` - * + * * Device or resource busy, similar to `EBUSY` in POSIX. * ## `"deadlock"` - * + * * Resource deadlock would occur, similar to `EDEADLK` in POSIX. * ## `"quota"` - * + * * Storage quota exceeded, similar to `EDQUOT` in POSIX. * ## `"exist"` - * + * * File exists, similar to `EEXIST` in POSIX. * ## `"file-too-large"` - * + * * File too large, similar to `EFBIG` in POSIX. * ## `"illegal-byte-sequence"` - * + * * Illegal byte sequence, similar to `EILSEQ` in POSIX. * ## `"in-progress"` - * + * * Operation in progress, similar to `EINPROGRESS` in POSIX. * ## `"interrupted"` - * + * * Interrupted function, similar to `EINTR` in POSIX. * ## `"invalid"` - * + * * Invalid argument, similar to `EINVAL` in POSIX. * ## `"io"` - * + * * I/O error, similar to `EIO` in POSIX. * ## `"is-directory"` - * + * * Is a directory, similar to `EISDIR` in POSIX. * ## `"loop"` - * + * * Too many levels of symbolic links, similar to `ELOOP` in POSIX. * ## `"too-many-links"` - * + * * Too many links, similar to `EMLINK` in POSIX. * ## `"message-size"` - * + * * Message too large, similar to `EMSGSIZE` in POSIX. * ## `"name-too-long"` - * + * * Filename too long, similar to `ENAMETOOLONG` in POSIX. * ## `"no-device"` - * + * * No such device, similar to `ENODEV` in POSIX. * ## `"no-entry"` - * + * * No such file or directory, similar to `ENOENT` in POSIX. * ## `"no-lock"` - * + * * No locks available, similar to `ENOLCK` in POSIX. * ## `"insufficient-memory"` - * + * * Not enough space, similar to `ENOMEM` in POSIX. * ## `"insufficient-space"` - * + * * No space left on device, similar to `ENOSPC` in POSIX. * ## `"not-directory"` - * + * * Not a directory or a symbolic link to a directory, similar to `ENOTDIR` in POSIX. * ## `"not-empty"` - * + * * Directory not empty, similar to `ENOTEMPTY` in POSIX. * ## `"not-recoverable"` - * + * * State not recoverable, similar to `ENOTRECOVERABLE` in POSIX. * ## `"unsupported"` - * + * * Not supported, similar to `ENOTSUP` and `ENOSYS` in POSIX. * ## `"no-tty"` - * + * * Inappropriate I/O control operation, similar to `ENOTTY` in POSIX. * ## `"no-such-device"` - * + * * No such device or address, similar to `ENXIO` in POSIX. * ## `"overflow"` - * + * * Value too large to be stored in data type, similar to `EOVERFLOW` in POSIX. * ## `"not-permitted"` - * + * * Operation not permitted, similar to `EPERM` in POSIX. * ## `"pipe"` - * + * * Broken pipe, similar to `EPIPE` in POSIX. * ## `"read-only"` - * + * * Read-only file system, similar to `EROFS` in POSIX. * ## `"invalid-seek"` - * + * * Invalid seek, similar to `ESPIPE` in POSIX. * ## `"text-file-busy"` - * + * * Text file busy, similar to `ETXTBSY` in POSIX. * ## `"cross-device"` - * + * * Cross-device link, similar to `EXDEV` in POSIX. */ -export type ErrorCode = 'access' | 'already' | 'bad-descriptor' | 'busy' | 'deadlock' | 'quota' | 'exist' | 'file-too-large' | 'illegal-byte-sequence' | 'in-progress' | 'interrupted' | 'invalid' | 'io' | 'is-directory' | 'loop' | 'too-many-links' | 'message-size' | 'name-too-long' | 'no-device' | 'no-entry' | 'no-lock' | 'insufficient-memory' | 'insufficient-space' | 'not-directory' | 'not-empty' | 'not-recoverable' | 'unsupported' | 'no-tty' | 'no-such-device' | 'overflow' | 'not-permitted' | 'pipe' | 'read-only' | 'invalid-seek' | 'text-file-busy' | 'cross-device'; +export type ErrorCode = + | 'access' + | 'already' + | 'bad-descriptor' + | 'busy' + | 'deadlock' + | 'quota' + | 'exist' + | 'file-too-large' + | 'illegal-byte-sequence' + | 'in-progress' + | 'interrupted' + | 'invalid' + | 'io' + | 'is-directory' + | 'loop' + | 'too-many-links' + | 'message-size' + | 'name-too-long' + | 'no-device' + | 'no-entry' + | 'no-lock' + | 'insufficient-memory' + | 'insufficient-space' + | 'not-directory' + | 'not-empty' + | 'not-recoverable' + | 'unsupported' + | 'no-tty' + | 'no-such-device' + | 'overflow' + | 'not-permitted' + | 'pipe' + | 'read-only' + | 'invalid-seek' + | 'text-file-busy' + | 'cross-device'; /** * File or memory access pattern advisory information. * # Variants - * + * * ## `"normal"` - * + * * The application has no advice to give on its behavior with respect * to the specified data. * ## `"sequential"` - * + * * The application expects to access the specified data sequentially * from lower offsets to higher offsets. * ## `"random"` - * + * * The application expects to access the specified data in a random * order. * ## `"will-need"` - * + * * The application expects to access the specified data in the near * future. * ## `"dont-need"` - * + * * The application expects that it will not access the specified data * in the near future. * ## `"no-reuse"` - * + * * The application expects to access the specified data once and then * not reuse it thereafter. */ -export type Advice = 'normal' | 'sequential' | 'random' | 'will-need' | 'dont-need' | 'no-reuse'; +export type Advice = + | 'normal' + | 'sequential' + | 'random' + | 'will-need' + | 'dont-need' + | 'no-reuse'; /** * A 128-bit hash value, split into parts because wasm doesn't have a * 128-bit integer type. */ export interface MetadataHashValue { - /** - * 64 bits of a 128-bit hash value. - */ - lower: bigint, - /** - * Another 64 bits of a 128-bit hash value. - */ - upper: bigint, + /** + * 64 bits of a 128-bit hash value. + */ + lower: bigint; + /** + * Another 64 bits of a 128-bit hash value. + */ + upper: bigint; } -export type Result = { tag: 'ok', val: T } | { tag: 'err', val: E }; +export type Result = { tag: 'ok'; val: T } | { tag: 'err'; val: E }; export class Descriptor { - /** - * This type does not have a public constructor. - */ - private constructor(); - /** - * Return a stream for reading from a file. - * - * Multiple read, write, and append streams may be active on the same open - * file and they do not interfere with each other. - * - * This function returns a future, which will resolve to an error code if - * reading full contents of the file fails. - * - * Note: This is similar to `pread` in POSIX. - */ - readViaStream(offset: Filesize): [ReadableStream, Promise>]; - /** - * Return a stream for writing to a file, if available. - * - * May fail with an error-code describing why the file cannot be written. - * - * It is valid to write past the end of a file; the file is extended to the - * extent of the write, with bytes between the previous end and the start of - * the write set to zero. - * - * This function returns once either full contents of the stream are - * written or an error is encountered. - * - * Note: This is similar to `pwrite` in POSIX. - */ - writeViaStream(data: ReadableStream, offset: Filesize): Promise; - /** - * Return a stream for appending to a file, if available. - * - * May fail with an error-code describing why the file cannot be appended. - * - * This function returns once either full contents of the stream are - * written or an error is encountered. - * - * Note: This is similar to `write` with `O_APPEND` in POSIX. - */ - appendViaStream(data: ReadableStream): Promise; - /** - * Provide file advisory information on a descriptor. - * - * This is similar to `posix_fadvise` in POSIX. - */ - advise(offset: Filesize, length: Filesize, advice: Advice): Promise; - /** - * Synchronize the data of a file to disk. - * - * This function succeeds with no effect if the file descriptor is not - * opened for writing. - * - * Note: This is similar to `fdatasync` in POSIX. - */ - syncData(): Promise; - /** - * Get flags associated with a descriptor. - * - * Note: This returns similar flags to `fcntl(fd, F_GETFL)` in POSIX. - * - * Note: This returns the value that was the `fs_flags` value returned - * from `fdstat_get` in earlier versions of WASI. - */ - getFlags(): Promise; - /** - * Get the dynamic type of a descriptor. - * - * Note: This returns the same value as the `type` field of the `fd-stat` - * returned by `stat`, `stat-at` and similar. - * - * Note: This returns similar flags to the `st_mode & S_IFMT` value provided - * by `fstat` in POSIX. - * - * Note: This returns the value that was the `fs_filetype` value returned - * from `fdstat_get` in earlier versions of WASI. - */ - getType(): Promise; - /** - * Adjust the size of an open file. If this increases the file's size, the - * extra bytes are filled with zeros. - * - * Note: This was called `fd_filestat_set_size` in earlier versions of WASI. - */ - setSize(size: Filesize): Promise; - /** - * Adjust the timestamps of an open file or directory. - * - * Note: This is similar to `futimens` in POSIX. - * - * Note: This was called `fd_filestat_set_times` in earlier versions of WASI. - */ - setTimes(dataAccessTimestamp: NewTimestamp, dataModificationTimestamp: NewTimestamp): Promise; - /** - * Read directory entries from a directory. - * - * On filesystems where directories contain entries referring to themselves - * and their parents, often named `.` and `..` respectively, these entries - * are omitted. - * - * This always returns a new stream which starts at the beginning of the - * directory. Multiple streams may be active on the same directory, and they - * do not interfere with each other. - * - * This function returns a future, which will resolve to an error code if - * reading full contents of the directory fails. - */ - readDirectory(): Promise<[ReadableStream, Promise>]>; - /** - * Synchronize the data and metadata of a file to disk. - * - * This function succeeds with no effect if the file descriptor is not - * opened for writing. - * - * Note: This is similar to `fsync` in POSIX. - */ - sync(): Promise; - /** - * Create a directory. - * - * Note: This is similar to `mkdirat` in POSIX. - */ - createDirectoryAt(path: string): Promise; - /** - * Return the attributes of an open file or directory. - * - * Note: This is similar to `fstat` in POSIX, except that it does not return - * device and inode information. For testing whether two descriptors refer to - * the same underlying filesystem object, use `is-same-object`. To obtain - * additional data that can be used do determine whether a file has been - * modified, use `metadata-hash`. - * - * Note: This was called `fd_filestat_get` in earlier versions of WASI. - */ - stat(): Promise; - /** - * Return the attributes of a file or directory. - * - * Note: This is similar to `fstatat` in POSIX, except that it does not - * return device and inode information. See the `stat` description for a - * discussion of alternatives. - * - * Note: This was called `path_filestat_get` in earlier versions of WASI. - */ - statAt(pathFlags: PathFlags, path: string): Promise; - /** - * Adjust the timestamps of a file or directory. - * - * Note: This is similar to `utimensat` in POSIX. - * - * Note: This was called `path_filestat_set_times` in earlier versions of - * WASI. - */ - setTimesAt(pathFlags: PathFlags, path: string, dataAccessTimestamp: NewTimestamp, dataModificationTimestamp: NewTimestamp): Promise; - /** - * Create a hard link. - * - * Fails with `error-code::no-entry` if the old path does not exist, - * with `error-code::exist` if the new path already exists, and - * `error-code::not-permitted` if the old path is not a file. - * - * Note: This is similar to `linkat` in POSIX. - */ - linkAt(oldPathFlags: PathFlags, oldPath: string, newDescriptor: Descriptor, newPath: string): Promise; - /** - * Open a file or directory. - * - * If `flags` contains `descriptor-flags::mutate-directory`, and the base - * descriptor doesn't have `descriptor-flags::mutate-directory` set, - * `open-at` fails with `error-code::read-only`. - * - * If `flags` contains `write` or `mutate-directory`, or `open-flags` - * contains `truncate` or `create`, and the base descriptor doesn't have - * `descriptor-flags::mutate-directory` set, `open-at` fails with - * `error-code::read-only`. - * - * Note: This is similar to `openat` in POSIX. - */ - openAt(pathFlags: PathFlags, path: string, openFlags: OpenFlags, flags: DescriptorFlags): Promise; - /** - * Read the contents of a symbolic link. - * - * If the contents contain an absolute or rooted path in the underlying - * filesystem, this function fails with `error-code::not-permitted`. - * - * Note: This is similar to `readlinkat` in POSIX. - */ - readlinkAt(path: string): Promise; - /** - * Remove a directory. - * - * Return `error-code::not-empty` if the directory is not empty. - * - * Note: This is similar to `unlinkat(fd, path, AT_REMOVEDIR)` in POSIX. - */ - removeDirectoryAt(path: string): Promise; - /** - * Rename a filesystem object. - * - * Note: This is similar to `renameat` in POSIX. - */ - renameAt(oldPath: string, newDescriptor: Descriptor, newPath: string): Promise; - /** - * Create a symbolic link (also known as a "symlink"). - * - * If `old-path` starts with `/`, the function fails with - * `error-code::not-permitted`. - * - * Note: This is similar to `symlinkat` in POSIX. - */ - symlinkAt(oldPath: string, newPath: string): Promise; - /** - * Unlink a filesystem object that is not a directory. - * - * Return `error-code::is-directory` if the path refers to a directory. - * Note: This is similar to `unlinkat(fd, path, 0)` in POSIX. - */ - unlinkFileAt(path: string): Promise; - /** - * Test whether two descriptors refer to the same filesystem object. - * - * In POSIX, this corresponds to testing whether the two descriptors have the - * same device (`st_dev`) and inode (`st_ino` or `d_ino`) numbers. - * wasi-filesystem does not expose device and inode numbers, so this function - * may be used instead. - */ - isSameObject(other: Descriptor): Promise; - /** - * Return a hash of the metadata associated with a filesystem object referred - * to by a descriptor. - * - * This returns a hash of the last-modification timestamp and file size, and - * may also include the inode number, device number, birth timestamp, and - * other metadata fields that may change when the file is modified or - * replaced. It may also include a secret value chosen by the - * implementation and not otherwise exposed. - * - * Implementations are encouraged to provide the following properties: - * - * - If the file is not modified or replaced, the computed hash value should - * usually not change. - * - If the object is modified or replaced, the computed hash value should - * usually change. - * - The inputs to the hash should not be easily computable from the - * computed hash. - * - * However, none of these is required. - */ - metadataHash(): Promise; - /** - * Return a hash of the metadata associated with a filesystem object referred - * to by a directory descriptor and a relative path. - * - * This performs the same hash computation as `metadata-hash`. - */ - metadataHashAt(pathFlags: PathFlags, path: string): Promise; + /** + * This type does not have a public constructor. + */ + private constructor(); + /** + * Return a stream for reading from a file. + * + * Multiple read, write, and append streams may be active on the same open + * file and they do not interfere with each other. + * + * This function returns a future, which will resolve to an error code if + * reading full contents of the file fails. + * + * Note: This is similar to `pread` in POSIX. + */ + readViaStream( + offset: Filesize + ): [ReadableStream, Promise>]; + /** + * Return a stream for writing to a file, if available. + * + * May fail with an error-code describing why the file cannot be written. + * + * It is valid to write past the end of a file; the file is extended to the + * extent of the write, with bytes between the previous end and the start of + * the write set to zero. + * + * This function returns once either full contents of the stream are + * written or an error is encountered. + * + * Note: This is similar to `pwrite` in POSIX. + */ + writeViaStream( + data: ReadableStream, + offset: Filesize + ): Promise; + /** + * Return a stream for appending to a file, if available. + * + * May fail with an error-code describing why the file cannot be appended. + * + * This function returns once either full contents of the stream are + * written or an error is encountered. + * + * Note: This is similar to `write` with `O_APPEND` in POSIX. + */ + appendViaStream(data: ReadableStream): Promise; + /** + * Provide file advisory information on a descriptor. + * + * This is similar to `posix_fadvise` in POSIX. + */ + advise(offset: Filesize, length: Filesize, advice: Advice): Promise; + /** + * Synchronize the data of a file to disk. + * + * This function succeeds with no effect if the file descriptor is not + * opened for writing. + * + * Note: This is similar to `fdatasync` in POSIX. + */ + syncData(): Promise; + /** + * Get flags associated with a descriptor. + * + * Note: This returns similar flags to `fcntl(fd, F_GETFL)` in POSIX. + * + * Note: This returns the value that was the `fs_flags` value returned + * from `fdstat_get` in earlier versions of WASI. + */ + getFlags(): Promise; + /** + * Get the dynamic type of a descriptor. + * + * Note: This returns the same value as the `type` field of the `fd-stat` + * returned by `stat`, `stat-at` and similar. + * + * Note: This returns similar flags to the `st_mode & S_IFMT` value provided + * by `fstat` in POSIX. + * + * Note: This returns the value that was the `fs_filetype` value returned + * from `fdstat_get` in earlier versions of WASI. + */ + getType(): Promise; + /** + * Adjust the size of an open file. If this increases the file's size, the + * extra bytes are filled with zeros. + * + * Note: This was called `fd_filestat_set_size` in earlier versions of WASI. + */ + setSize(size: Filesize): Promise; + /** + * Adjust the timestamps of an open file or directory. + * + * Note: This is similar to `futimens` in POSIX. + * + * Note: This was called `fd_filestat_set_times` in earlier versions of WASI. + */ + setTimes( + dataAccessTimestamp: NewTimestamp, + dataModificationTimestamp: NewTimestamp + ): Promise; + /** + * Read directory entries from a directory. + * + * On filesystems where directories contain entries referring to themselves + * and their parents, often named `.` and `..` respectively, these entries + * are omitted. + * + * This always returns a new stream which starts at the beginning of the + * directory. Multiple streams may be active on the same directory, and they + * do not interfere with each other. + * + * This function returns a future, which will resolve to an error code if + * reading full contents of the directory fails. + */ + readDirectory(): Promise< + [ReadableStream, Promise>] + >; + /** + * Synchronize the data and metadata of a file to disk. + * + * This function succeeds with no effect if the file descriptor is not + * opened for writing. + * + * Note: This is similar to `fsync` in POSIX. + */ + sync(): Promise; + /** + * Create a directory. + * + * Note: This is similar to `mkdirat` in POSIX. + */ + createDirectoryAt(path: string): Promise; + /** + * Return the attributes of an open file or directory. + * + * Note: This is similar to `fstat` in POSIX, except that it does not return + * device and inode information. For testing whether two descriptors refer to + * the same underlying filesystem object, use `is-same-object`. To obtain + * additional data that can be used do determine whether a file has been + * modified, use `metadata-hash`. + * + * Note: This was called `fd_filestat_get` in earlier versions of WASI. + */ + stat(): Promise; + /** + * Return the attributes of a file or directory. + * + * Note: This is similar to `fstatat` in POSIX, except that it does not + * return device and inode information. See the `stat` description for a + * discussion of alternatives. + * + * Note: This was called `path_filestat_get` in earlier versions of WASI. + */ + statAt(pathFlags: PathFlags, path: string): Promise; + /** + * Adjust the timestamps of a file or directory. + * + * Note: This is similar to `utimensat` in POSIX. + * + * Note: This was called `path_filestat_set_times` in earlier versions of + * WASI. + */ + setTimesAt( + pathFlags: PathFlags, + path: string, + dataAccessTimestamp: NewTimestamp, + dataModificationTimestamp: NewTimestamp + ): Promise; + /** + * Create a hard link. + * + * Fails with `error-code::no-entry` if the old path does not exist, + * with `error-code::exist` if the new path already exists, and + * `error-code::not-permitted` if the old path is not a file. + * + * Note: This is similar to `linkat` in POSIX. + */ + linkAt( + oldPathFlags: PathFlags, + oldPath: string, + newDescriptor: Descriptor, + newPath: string + ): Promise; + /** + * Open a file or directory. + * + * If `flags` contains `descriptor-flags::mutate-directory`, and the base + * descriptor doesn't have `descriptor-flags::mutate-directory` set, + * `open-at` fails with `error-code::read-only`. + * + * If `flags` contains `write` or `mutate-directory`, or `open-flags` + * contains `truncate` or `create`, and the base descriptor doesn't have + * `descriptor-flags::mutate-directory` set, `open-at` fails with + * `error-code::read-only`. + * + * Note: This is similar to `openat` in POSIX. + */ + openAt( + pathFlags: PathFlags, + path: string, + openFlags: OpenFlags, + flags: DescriptorFlags + ): Promise; + /** + * Read the contents of a symbolic link. + * + * If the contents contain an absolute or rooted path in the underlying + * filesystem, this function fails with `error-code::not-permitted`. + * + * Note: This is similar to `readlinkat` in POSIX. + */ + readlinkAt(path: string): Promise; + /** + * Remove a directory. + * + * Return `error-code::not-empty` if the directory is not empty. + * + * Note: This is similar to `unlinkat(fd, path, AT_REMOVEDIR)` in POSIX. + */ + removeDirectoryAt(path: string): Promise; + /** + * Rename a filesystem object. + * + * Note: This is similar to `renameat` in POSIX. + */ + renameAt( + oldPath: string, + newDescriptor: Descriptor, + newPath: string + ): Promise; + /** + * Create a symbolic link (also known as a "symlink"). + * + * If `old-path` starts with `/`, the function fails with + * `error-code::not-permitted`. + * + * Note: This is similar to `symlinkat` in POSIX. + */ + symlinkAt(oldPath: string, newPath: string): Promise; + /** + * Unlink a filesystem object that is not a directory. + * + * Return `error-code::is-directory` if the path refers to a directory. + * Note: This is similar to `unlinkat(fd, path, 0)` in POSIX. + */ + unlinkFileAt(path: string): Promise; + /** + * Test whether two descriptors refer to the same filesystem object. + * + * In POSIX, this corresponds to testing whether the two descriptors have the + * same device (`st_dev`) and inode (`st_ino` or `d_ino`) numbers. + * wasi-filesystem does not expose device and inode numbers, so this function + * may be used instead. + */ + isSameObject(other: Descriptor): Promise; + /** + * Return a hash of the metadata associated with a filesystem object referred + * to by a descriptor. + * + * This returns a hash of the last-modification timestamp and file size, and + * may also include the inode number, device number, birth timestamp, and + * other metadata fields that may change when the file is modified or + * replaced. It may also include a secret value chosen by the + * implementation and not otherwise exposed. + * + * Implementations are encouraged to provide the following properties: + * + * - If the file is not modified or replaced, the computed hash value should + * usually not change. + * - If the object is modified or replaced, the computed hash value should + * usually change. + * - The inputs to the hash should not be easily computable from the + * computed hash. + * + * However, none of these is required. + */ + metadataHash(): Promise; + /** + * Return a hash of the metadata associated with a filesystem object referred + * to by a directory descriptor and a relative path. + * + * This performs the same hash computation as `metadata-hash`. + */ + metadataHashAt( + pathFlags: PathFlags, + path: string + ): Promise; } diff --git a/packages/preview3-shim/types/interfaces/wasi-http-handler.d.ts b/packages/preview3-shim/types/interfaces/wasi-http-handler.d.ts index c2b87ad72..d8654794e 100644 --- a/packages/preview3-shim/types/interfaces/wasi-http-handler.d.ts +++ b/packages/preview3-shim/types/interfaces/wasi-http-handler.d.ts @@ -3,7 +3,7 @@ * When exported, this function may be called with either an incoming * request read from the network or a request synthesized or forwarded by * another component. - * + * * When imported, this function may be used to either send an outgoing * request over the network or pass it to another component. */ diff --git a/packages/preview3-shim/types/interfaces/wasi-http-types.d.ts b/packages/preview3-shim/types/interfaces/wasi-http-types.d.ts index 22782d5e7..3139544a6 100644 --- a/packages/preview3-shim/types/interfaces/wasi-http-types.d.ts +++ b/packages/preview3-shim/types/interfaces/wasi-http-types.d.ts @@ -3,205 +3,254 @@ export type Duration = import('./wasi-clocks-monotonic-clock.js').Duration; /** * This type corresponds to HTTP standard Methods. */ -export type Method = MethodGet | MethodHead | MethodPost | MethodPut | MethodDelete | MethodConnect | MethodOptions | MethodTrace | MethodPatch | MethodOther; +export type Method = + | MethodGet + | MethodHead + | MethodPost + | MethodPut + | MethodDelete + | MethodConnect + | MethodOptions + | MethodTrace + | MethodPatch + | MethodOther; export interface MethodGet { - tag: 'get', + tag: 'get'; } export interface MethodHead { - tag: 'head', + tag: 'head'; } export interface MethodPost { - tag: 'post', + tag: 'post'; } export interface MethodPut { - tag: 'put', + tag: 'put'; } export interface MethodDelete { - tag: 'delete', + tag: 'delete'; } export interface MethodConnect { - tag: 'connect', + tag: 'connect'; } export interface MethodOptions { - tag: 'options', + tag: 'options'; } export interface MethodTrace { - tag: 'trace', + tag: 'trace'; } export interface MethodPatch { - tag: 'patch', + tag: 'patch'; } export interface MethodOther { - tag: 'other', - val: string, + tag: 'other'; + val: string; } /** * This type corresponds to HTTP standard Related Schemes. */ export type Scheme = SchemeHttp | SchemeHttps | SchemeOther; export interface SchemeHttp { - tag: 'HTTP', + tag: 'HTTP'; } export interface SchemeHttps { - tag: 'HTTPS', + tag: 'HTTPS'; } export interface SchemeOther { - tag: 'other', - val: string, + tag: 'other'; + val: string; } /** * Defines the case payload type for `DNS-error` above: */ export interface DnsErrorPayload { - rcode?: string, - infoCode?: number, + rcode?: string; + infoCode?: number; } /** * Defines the case payload type for `TLS-alert-received` above: */ export interface TlsAlertReceivedPayload { - alertId?: number, - alertMessage?: string, + alertId?: number; + alertMessage?: string; } /** * Defines the case payload type for `HTTP-response-{header,trailer}-size` above: */ export interface FieldSizePayload { - fieldName?: string, - fieldSize?: number, + fieldName?: string; + fieldSize?: number; } /** * These cases are inspired by the IANA HTTP Proxy Error Types: * */ -export type ErrorCode = ErrorCodeDnsTimeout | ErrorCodeDnsError | ErrorCodeDestinationNotFound | ErrorCodeDestinationUnavailable | ErrorCodeDestinationIpProhibited | ErrorCodeDestinationIpUnroutable | ErrorCodeConnectionRefused | ErrorCodeConnectionTerminated | ErrorCodeConnectionTimeout | ErrorCodeConnectionReadTimeout | ErrorCodeConnectionWriteTimeout | ErrorCodeConnectionLimitReached | ErrorCodeTlsProtocolError | ErrorCodeTlsCertificateError | ErrorCodeTlsAlertReceived | ErrorCodeHttpRequestDenied | ErrorCodeHttpRequestLengthRequired | ErrorCodeHttpRequestBodySize | ErrorCodeHttpRequestMethodInvalid | ErrorCodeHttpRequestUriInvalid | ErrorCodeHttpRequestUriTooLong | ErrorCodeHttpRequestHeaderSectionSize | ErrorCodeHttpRequestHeaderSize | ErrorCodeHttpRequestTrailerSectionSize | ErrorCodeHttpRequestTrailerSize | ErrorCodeHttpResponseIncomplete | ErrorCodeHttpResponseHeaderSectionSize | ErrorCodeHttpResponseHeaderSize | ErrorCodeHttpResponseBodySize | ErrorCodeHttpResponseTrailerSectionSize | ErrorCodeHttpResponseTrailerSize | ErrorCodeHttpResponseTransferCoding | ErrorCodeHttpResponseContentCoding | ErrorCodeHttpResponseTimeout | ErrorCodeHttpUpgradeFailed | ErrorCodeHttpProtocolError | ErrorCodeLoopDetected | ErrorCodeConfigurationError | ErrorCodeInternalError; +export type ErrorCode = + | ErrorCodeDnsTimeout + | ErrorCodeDnsError + | ErrorCodeDestinationNotFound + | ErrorCodeDestinationUnavailable + | ErrorCodeDestinationIpProhibited + | ErrorCodeDestinationIpUnroutable + | ErrorCodeConnectionRefused + | ErrorCodeConnectionTerminated + | ErrorCodeConnectionTimeout + | ErrorCodeConnectionReadTimeout + | ErrorCodeConnectionWriteTimeout + | ErrorCodeConnectionLimitReached + | ErrorCodeTlsProtocolError + | ErrorCodeTlsCertificateError + | ErrorCodeTlsAlertReceived + | ErrorCodeHttpRequestDenied + | ErrorCodeHttpRequestLengthRequired + | ErrorCodeHttpRequestBodySize + | ErrorCodeHttpRequestMethodInvalid + | ErrorCodeHttpRequestUriInvalid + | ErrorCodeHttpRequestUriTooLong + | ErrorCodeHttpRequestHeaderSectionSize + | ErrorCodeHttpRequestHeaderSize + | ErrorCodeHttpRequestTrailerSectionSize + | ErrorCodeHttpRequestTrailerSize + | ErrorCodeHttpResponseIncomplete + | ErrorCodeHttpResponseHeaderSectionSize + | ErrorCodeHttpResponseHeaderSize + | ErrorCodeHttpResponseBodySize + | ErrorCodeHttpResponseTrailerSectionSize + | ErrorCodeHttpResponseTrailerSize + | ErrorCodeHttpResponseTransferCoding + | ErrorCodeHttpResponseContentCoding + | ErrorCodeHttpResponseTimeout + | ErrorCodeHttpUpgradeFailed + | ErrorCodeHttpProtocolError + | ErrorCodeLoopDetected + | ErrorCodeConfigurationError + | ErrorCodeInternalError; export interface ErrorCodeDnsTimeout { - tag: 'DNS-timeout', + tag: 'DNS-timeout'; } export interface ErrorCodeDnsError { - tag: 'DNS-error', - val: DnsErrorPayload, + tag: 'DNS-error'; + val: DnsErrorPayload; } export interface ErrorCodeDestinationNotFound { - tag: 'destination-not-found', + tag: 'destination-not-found'; } export interface ErrorCodeDestinationUnavailable { - tag: 'destination-unavailable', + tag: 'destination-unavailable'; } export interface ErrorCodeDestinationIpProhibited { - tag: 'destination-IP-prohibited', + tag: 'destination-IP-prohibited'; } export interface ErrorCodeDestinationIpUnroutable { - tag: 'destination-IP-unroutable', + tag: 'destination-IP-unroutable'; } export interface ErrorCodeConnectionRefused { - tag: 'connection-refused', + tag: 'connection-refused'; } export interface ErrorCodeConnectionTerminated { - tag: 'connection-terminated', + tag: 'connection-terminated'; } export interface ErrorCodeConnectionTimeout { - tag: 'connection-timeout', + tag: 'connection-timeout'; } export interface ErrorCodeConnectionReadTimeout { - tag: 'connection-read-timeout', + tag: 'connection-read-timeout'; } export interface ErrorCodeConnectionWriteTimeout { - tag: 'connection-write-timeout', + tag: 'connection-write-timeout'; } export interface ErrorCodeConnectionLimitReached { - tag: 'connection-limit-reached', + tag: 'connection-limit-reached'; } export interface ErrorCodeTlsProtocolError { - tag: 'TLS-protocol-error', + tag: 'TLS-protocol-error'; } export interface ErrorCodeTlsCertificateError { - tag: 'TLS-certificate-error', + tag: 'TLS-certificate-error'; } export interface ErrorCodeTlsAlertReceived { - tag: 'TLS-alert-received', - val: TlsAlertReceivedPayload, + tag: 'TLS-alert-received'; + val: TlsAlertReceivedPayload; } export interface ErrorCodeHttpRequestDenied { - tag: 'HTTP-request-denied', + tag: 'HTTP-request-denied'; } export interface ErrorCodeHttpRequestLengthRequired { - tag: 'HTTP-request-length-required', + tag: 'HTTP-request-length-required'; } export interface ErrorCodeHttpRequestBodySize { - tag: 'HTTP-request-body-size', - val: bigint | undefined, + tag: 'HTTP-request-body-size'; + val: bigint | undefined; } export interface ErrorCodeHttpRequestMethodInvalid { - tag: 'HTTP-request-method-invalid', + tag: 'HTTP-request-method-invalid'; } export interface ErrorCodeHttpRequestUriInvalid { - tag: 'HTTP-request-URI-invalid', + tag: 'HTTP-request-URI-invalid'; } export interface ErrorCodeHttpRequestUriTooLong { - tag: 'HTTP-request-URI-too-long', + tag: 'HTTP-request-URI-too-long'; } export interface ErrorCodeHttpRequestHeaderSectionSize { - tag: 'HTTP-request-header-section-size', - val: number | undefined, + tag: 'HTTP-request-header-section-size'; + val: number | undefined; } export interface ErrorCodeHttpRequestHeaderSize { - tag: 'HTTP-request-header-size', - val: FieldSizePayload | undefined, + tag: 'HTTP-request-header-size'; + val: FieldSizePayload | undefined; } export interface ErrorCodeHttpRequestTrailerSectionSize { - tag: 'HTTP-request-trailer-section-size', - val: number | undefined, + tag: 'HTTP-request-trailer-section-size'; + val: number | undefined; } export interface ErrorCodeHttpRequestTrailerSize { - tag: 'HTTP-request-trailer-size', - val: FieldSizePayload, + tag: 'HTTP-request-trailer-size'; + val: FieldSizePayload; } export interface ErrorCodeHttpResponseIncomplete { - tag: 'HTTP-response-incomplete', + tag: 'HTTP-response-incomplete'; } export interface ErrorCodeHttpResponseHeaderSectionSize { - tag: 'HTTP-response-header-section-size', - val: number | undefined, + tag: 'HTTP-response-header-section-size'; + val: number | undefined; } export interface ErrorCodeHttpResponseHeaderSize { - tag: 'HTTP-response-header-size', - val: FieldSizePayload, + tag: 'HTTP-response-header-size'; + val: FieldSizePayload; } export interface ErrorCodeHttpResponseBodySize { - tag: 'HTTP-response-body-size', - val: bigint | undefined, + tag: 'HTTP-response-body-size'; + val: bigint | undefined; } export interface ErrorCodeHttpResponseTrailerSectionSize { - tag: 'HTTP-response-trailer-section-size', - val: number | undefined, + tag: 'HTTP-response-trailer-section-size'; + val: number | undefined; } export interface ErrorCodeHttpResponseTrailerSize { - tag: 'HTTP-response-trailer-size', - val: FieldSizePayload, + tag: 'HTTP-response-trailer-size'; + val: FieldSizePayload; } export interface ErrorCodeHttpResponseTransferCoding { - tag: 'HTTP-response-transfer-coding', - val: string | undefined, + tag: 'HTTP-response-transfer-coding'; + val: string | undefined; } export interface ErrorCodeHttpResponseContentCoding { - tag: 'HTTP-response-content-coding', - val: string | undefined, + tag: 'HTTP-response-content-coding'; + val: string | undefined; } export interface ErrorCodeHttpResponseTimeout { - tag: 'HTTP-response-timeout', + tag: 'HTTP-response-timeout'; } export interface ErrorCodeHttpUpgradeFailed { - tag: 'HTTP-upgrade-failed', + tag: 'HTTP-upgrade-failed'; } export interface ErrorCodeHttpProtocolError { - tag: 'HTTP-protocol-error', + tag: 'HTTP-protocol-error'; } export interface ErrorCodeLoopDetected { - tag: 'loop-detected', + tag: 'loop-detected'; } export interface ErrorCodeConfigurationError { - tag: 'configuration-error', + tag: 'configuration-error'; } /** * This is a catch-all error for anything that doesn't fit cleanly into a @@ -211,57 +260,62 @@ export interface ErrorCodeConfigurationError { * between implementations. */ export interface ErrorCodeInternalError { - tag: 'internal-error', - val: string | undefined, + tag: 'internal-error'; + val: string | undefined; } /** * This type enumerates the different kinds of errors that may occur when * setting or appending to a `fields` resource. */ -export type HeaderError = HeaderErrorInvalidSyntax | HeaderErrorForbidden | HeaderErrorImmutable; +export type HeaderError = + | HeaderErrorInvalidSyntax + | HeaderErrorForbidden + | HeaderErrorImmutable; /** * This error indicates that a `field-name` or `field-value` was * syntactically invalid when used with an operation that sets headers in a * `fields`. */ export interface HeaderErrorInvalidSyntax { - tag: 'invalid-syntax', + tag: 'invalid-syntax'; } /** * This error indicates that a forbidden `field-name` was used when trying * to set a header in a `fields`. */ export interface HeaderErrorForbidden { - tag: 'forbidden', + tag: 'forbidden'; } /** * This error indicates that the operation on the `fields` was not * permitted because the fields are immutable. */ export interface HeaderErrorImmutable { - tag: 'immutable', + tag: 'immutable'; } /** * This type enumerates the different kinds of errors that may occur when * setting fields of a `request-options` resource. */ -export type RequestOptionsError = RequestOptionsErrorNotSupported | RequestOptionsErrorImmutable; +export type RequestOptionsError = + | RequestOptionsErrorNotSupported + | RequestOptionsErrorImmutable; /** * Indicates the specified field is not supported by this implementation. */ export interface RequestOptionsErrorNotSupported { - tag: 'not-supported', + tag: 'not-supported'; } /** * Indicates that the operation on the `request-options` was not permitted * because it is immutable. */ export interface RequestOptionsErrorImmutable { - tag: 'immutable', + tag: 'immutable'; } /** * Field names are always strings. - * + * * Field names should always be treated as case insensitive by the `fields` * resource for the purposes of equality checking. */ @@ -284,308 +338,323 @@ export type Trailers = Fields; * This type corresponds to the HTTP standard Status Code. */ export type StatusCode = number; -export type Result = { tag: 'ok', val: T } | { tag: 'err', val: E }; +export type Result = { tag: 'ok'; val: T } | { tag: 'err'; val: E }; export class Fields { - /** - * Construct an empty HTTP Fields. - * - * The resulting `fields` is mutable. - */ - constructor() - /** - * Construct an HTTP Fields. - * - * The resulting `fields` is mutable. - * - * The list represents each name-value pair in the Fields. Names - * which have multiple values are represented by multiple entries in this - * list with the same name. - * - * The tuple is a pair of the field name, represented as a string, and - * Value, represented as a list of bytes. In a valid Fields, all names - * and values are valid UTF-8 strings. However, values are not always - * well-formed, so they are represented as a raw list of bytes. - * - * An error result will be returned if any header or value was - * syntactically invalid, or if a header was forbidden. - */ - static fromList(entries: Array<[FieldName, FieldValue]>): Fields; - /** - * Get all of the values corresponding to a name. If the name is not present - * in this `fields`, an empty list is returned. However, if the name is - * present but empty, this is represented by a list with one or more - * empty field-values present. - */ - get(name: FieldName): Array; - /** - * Returns `true` when the name is present in this `fields`. If the name is - * syntactically invalid, `false` is returned. - */ - has(name: FieldName): boolean; - /** - * Set all of the values for a name. Clears any existing values for that - * name, if they have been set. - * - * Fails with `header-error.immutable` if the `fields` are immutable. - */ - set(name: FieldName, value: Array): void; - /** - * Delete all values for a name. Does nothing if no values for the name - * exist. - * - * Fails with `header-error.immutable` if the `fields` are immutable. - */ - 'delete'(name: FieldName): void; - /** - * Delete all values for a name. Does nothing if no values for the name - * exist. - * - * Returns all values previously corresponding to the name, if any. - * - * Fails with `header-error.immutable` if the `fields` are immutable. - */ - getAndDelete(name: FieldName): Array; - /** - * Append a value for a name. Does not change or delete any existing - * values for that name. - * - * Fails with `header-error.immutable` if the `fields` are immutable. - */ - append(name: FieldName, value: FieldValue): void; - /** - * Retrieve the full set of names and values in the Fields. Like the - * constructor, the list represents each name-value pair. - * - * The outer list represents each name-value pair in the Fields. Names - * which have multiple values are represented by multiple entries in this - * list with the same name. - * - * The names and values are always returned in the original casing and in - * the order in which they will be serialized for transport. - */ - entries(): Array<[FieldName, FieldValue]>; - /** - * Make a deep copy of the Fields. Equivalent in behavior to calling the - * `fields` constructor on the return value of `entries`. The resulting - * `fields` is mutable. - */ - clone(): Fields; + /** + * Construct an empty HTTP Fields. + * + * The resulting `fields` is mutable. + */ + constructor(); + /** + * Construct an HTTP Fields. + * + * The resulting `fields` is mutable. + * + * The list represents each name-value pair in the Fields. Names + * which have multiple values are represented by multiple entries in this + * list with the same name. + * + * The tuple is a pair of the field name, represented as a string, and + * Value, represented as a list of bytes. In a valid Fields, all names + * and values are valid UTF-8 strings. However, values are not always + * well-formed, so they are represented as a raw list of bytes. + * + * An error result will be returned if any header or value was + * syntactically invalid, or if a header was forbidden. + */ + static fromList(entries: Array<[FieldName, FieldValue]>): Fields; + /** + * Get all of the values corresponding to a name. If the name is not present + * in this `fields`, an empty list is returned. However, if the name is + * present but empty, this is represented by a list with one or more + * empty field-values present. + */ + get(name: FieldName): Array; + /** + * Returns `true` when the name is present in this `fields`. If the name is + * syntactically invalid, `false` is returned. + */ + has(name: FieldName): boolean; + /** + * Set all of the values for a name. Clears any existing values for that + * name, if they have been set. + * + * Fails with `header-error.immutable` if the `fields` are immutable. + */ + set(name: FieldName, value: Array): void; + /** + * Delete all values for a name. Does nothing if no values for the name + * exist. + * + * Fails with `header-error.immutable` if the `fields` are immutable. + */ + delete(name: FieldName): void; + /** + * Delete all values for a name. Does nothing if no values for the name + * exist. + * + * Returns all values previously corresponding to the name, if any. + * + * Fails with `header-error.immutable` if the `fields` are immutable. + */ + getAndDelete(name: FieldName): Array; + /** + * Append a value for a name. Does not change or delete any existing + * values for that name. + * + * Fails with `header-error.immutable` if the `fields` are immutable. + */ + append(name: FieldName, value: FieldValue): void; + /** + * Retrieve the full set of names and values in the Fields. Like the + * constructor, the list represents each name-value pair. + * + * The outer list represents each name-value pair in the Fields. Names + * which have multiple values are represented by multiple entries in this + * list with the same name. + * + * The names and values are always returned in the original casing and in + * the order in which they will be serialized for transport. + */ + entries(): Array<[FieldName, FieldValue]>; + /** + * Make a deep copy of the Fields. Equivalent in behavior to calling the + * `fields` constructor on the return value of `entries`. The resulting + * `fields` is mutable. + */ + clone(): Fields; } export class Request { - /** - * This type does not have a public constructor. - */ - private constructor(); - /** - * Construct a new `request` with a default `method` of `GET`, and - * `none` values for `path-with-query`, `scheme`, and `authority`. - * - * `headers` is the HTTP Headers for the Request. - * - * `contents` is the optional body content stream. - * Once it is closed, `trailers` future must resolve to a result. - * If `trailers` resolves to an error, underlying connection - * will be closed immediately. - * - * `options` is optional `request-options` resource to be used - * if the request is sent over a network connection. - * - * It is possible to construct, or manipulate with the accessor functions - * below, a `request` with an invalid combination of `scheme` - * and `authority`, or `headers` which are not permitted to be sent. - * It is the obligation of the `handler.handle` implementation - * to reject invalid constructions of `request`. - * - * The returned future resolves to result of transmission of this request. - */ - static 'new'(headers: Headers, contents: ReadableStream | undefined, trailers: Promise>, options: RequestOptions | undefined): [Request, Promise>]; - /** - * Get the Method for the Request. - */ - method(): Method; - /** - * Set the Method for the Request. Fails if the string present in a - * `method.other` argument is not a syntactically valid method. - */ - setMethod(method: Method): void; - /** - * Get the combination of the HTTP Path and Query for the Request. When - * `none`, this represents an empty Path and empty Query. - */ - pathWithQuery(): string | undefined; - /** - * Set the combination of the HTTP Path and Query for the Request. When - * `none`, this represents an empty Path and empty Query. Fails is the - * string given is not a syntactically valid path and query uri component. - */ - setPathWithQuery(pathWithQuery: string | undefined): void; - /** - * Get the HTTP Related Scheme for the Request. When `none`, the - * implementation may choose an appropriate default scheme. - */ - scheme(): Scheme | undefined; - /** - * Set the HTTP Related Scheme for the Request. When `none`, the - * implementation may choose an appropriate default scheme. Fails if the - * string given is not a syntactically valid uri scheme. - */ - setScheme(scheme: Scheme | undefined): void; - /** - * Get the authority of the Request's target URI. A value of `none` may be used - * with Related Schemes which do not require an authority. The HTTP and - * HTTPS schemes always require an authority. - */ - authority(): string | undefined; - /** - * Set the authority of the Request's target URI. A value of `none` may be used - * with Related Schemes which do not require an authority. The HTTP and - * HTTPS schemes always require an authority. Fails if the string given is - * not a syntactically valid URI authority. - */ - setAuthority(authority: string | undefined): void; - /** - * Get the `request-options` to be associated with this request - * - * The returned `request-options` resource is immutable: `set-*` operations - * will fail if invoked. - * - * This `request-options` resource is a child: it must be dropped before - * the parent `request` is dropped, or its ownership is transferred to - * another component by e.g. `handler.handle`. - */ - options(): RequestOptions | undefined; - /** - * Get the headers associated with the Request. - * - * The returned `headers` resource is immutable: `set`, `append`, and - * `delete` operations will fail with `header-error.immutable`. - */ - headers(): Headers; - /** - * Get body of the Request. - * - * Stream returned by this method represents the contents of the body. - * Once the stream is reported as closed, callers should await the returned future - * to determine whether the body was received successfully. - * The future will only resolve after the stream is reported as closed. - * - * The stream and future returned by this method are children: - * they should be closed or consumed before the parent `response` - * is dropped, or its ownership is transferred to another component - * by e.g. `handler.handle`. - * - * This method may be called multiple times. - * - * This method will return an error if it is called while either: - * - a stream or future returned by a previous call to this method is still open - * - a stream returned by a previous call to this method has reported itself as closed - * Thus there will always be at most one readable stream open for a given body. - * Each subsequent stream picks up where the last stream left off, up until it is finished. - */ - body(): [ReadableStream, Promise>]; + /** + * This type does not have a public constructor. + */ + private constructor(); + /** + * Construct a new `request` with a default `method` of `GET`, and + * `none` values for `path-with-query`, `scheme`, and `authority`. + * + * `headers` is the HTTP Headers for the Request. + * + * `contents` is the optional body content stream. + * Once it is closed, `trailers` future must resolve to a result. + * If `trailers` resolves to an error, underlying connection + * will be closed immediately. + * + * `options` is optional `request-options` resource to be used + * if the request is sent over a network connection. + * + * It is possible to construct, or manipulate with the accessor functions + * below, a `request` with an invalid combination of `scheme` + * and `authority`, or `headers` which are not permitted to be sent. + * It is the obligation of the `handler.handle` implementation + * to reject invalid constructions of `request`. + * + * The returned future resolves to result of transmission of this request. + */ + static new( + headers: Headers, + contents: ReadableStream | undefined, + trailers: Promise>, + options: RequestOptions | undefined + ): [Request, Promise>]; + /** + * Get the Method for the Request. + */ + method(): Method; + /** + * Set the Method for the Request. Fails if the string present in a + * `method.other` argument is not a syntactically valid method. + */ + setMethod(method: Method): void; + /** + * Get the combination of the HTTP Path and Query for the Request. When + * `none`, this represents an empty Path and empty Query. + */ + pathWithQuery(): string | undefined; + /** + * Set the combination of the HTTP Path and Query for the Request. When + * `none`, this represents an empty Path and empty Query. Fails is the + * string given is not a syntactically valid path and query uri component. + */ + setPathWithQuery(pathWithQuery: string | undefined): void; + /** + * Get the HTTP Related Scheme for the Request. When `none`, the + * implementation may choose an appropriate default scheme. + */ + scheme(): Scheme | undefined; + /** + * Set the HTTP Related Scheme for the Request. When `none`, the + * implementation may choose an appropriate default scheme. Fails if the + * string given is not a syntactically valid uri scheme. + */ + setScheme(scheme: Scheme | undefined): void; + /** + * Get the authority of the Request's target URI. A value of `none` may be used + * with Related Schemes which do not require an authority. The HTTP and + * HTTPS schemes always require an authority. + */ + authority(): string | undefined; + /** + * Set the authority of the Request's target URI. A value of `none` may be used + * with Related Schemes which do not require an authority. The HTTP and + * HTTPS schemes always require an authority. Fails if the string given is + * not a syntactically valid URI authority. + */ + setAuthority(authority: string | undefined): void; + /** + * Get the `request-options` to be associated with this request + * + * The returned `request-options` resource is immutable: `set-*` operations + * will fail if invoked. + * + * This `request-options` resource is a child: it must be dropped before + * the parent `request` is dropped, or its ownership is transferred to + * another component by e.g. `handler.handle`. + */ + options(): RequestOptions | undefined; + /** + * Get the headers associated with the Request. + * + * The returned `headers` resource is immutable: `set`, `append`, and + * `delete` operations will fail with `header-error.immutable`. + */ + headers(): Headers; + /** + * Get body of the Request. + * + * Stream returned by this method represents the contents of the body. + * Once the stream is reported as closed, callers should await the returned future + * to determine whether the body was received successfully. + * The future will only resolve after the stream is reported as closed. + * + * The stream and future returned by this method are children: + * they should be closed or consumed before the parent `response` + * is dropped, or its ownership is transferred to another component + * by e.g. `handler.handle`. + * + * This method may be called multiple times. + * + * This method will return an error if it is called while either: + * - a stream or future returned by a previous call to this method is still open + * - a stream returned by a previous call to this method has reported itself as closed + * Thus there will always be at most one readable stream open for a given body. + * Each subsequent stream picks up where the last stream left off, up until it is finished. + */ + body(): [ + ReadableStream, + Promise>, + ]; } export class RequestOptions { - /** - * Construct a default `request-options` value. - */ - constructor() - /** - * The timeout for the initial connect to the HTTP Server. - */ - connectTimeout(): Duration | undefined; - /** - * Set the timeout for the initial connect to the HTTP Server. An error - * return value indicates that this timeout is not supported or that this - * handle is immutable. - */ - setConnectTimeout(duration: Duration | undefined): void; - /** - * The timeout for receiving the first byte of the Response body. - */ - firstByteTimeout(): Duration | undefined; - /** - * Set the timeout for receiving the first byte of the Response body. An - * error return value indicates that this timeout is not supported or that - * this handle is immutable. - */ - setFirstByteTimeout(duration: Duration | undefined): void; - /** - * The timeout for receiving subsequent chunks of bytes in the Response - * body stream. - */ - betweenBytesTimeout(): Duration | undefined; - /** - * Set the timeout for receiving subsequent chunks of bytes in the Response - * body stream. An error return value indicates that this timeout is not - * supported or that this handle is immutable. - */ - setBetweenBytesTimeout(duration: Duration | undefined): void; - /** - * Make a deep copy of the `request-options`. - * The resulting `request-options` is mutable. - */ - clone(): RequestOptions; + /** + * Construct a default `request-options` value. + */ + constructor(); + /** + * The timeout for the initial connect to the HTTP Server. + */ + connectTimeout(): Duration | undefined; + /** + * Set the timeout for the initial connect to the HTTP Server. An error + * return value indicates that this timeout is not supported or that this + * handle is immutable. + */ + setConnectTimeout(duration: Duration | undefined): void; + /** + * The timeout for receiving the first byte of the Response body. + */ + firstByteTimeout(): Duration | undefined; + /** + * Set the timeout for receiving the first byte of the Response body. An + * error return value indicates that this timeout is not supported or that + * this handle is immutable. + */ + setFirstByteTimeout(duration: Duration | undefined): void; + /** + * The timeout for receiving subsequent chunks of bytes in the Response + * body stream. + */ + betweenBytesTimeout(): Duration | undefined; + /** + * Set the timeout for receiving subsequent chunks of bytes in the Response + * body stream. An error return value indicates that this timeout is not + * supported or that this handle is immutable. + */ + setBetweenBytesTimeout(duration: Duration | undefined): void; + /** + * Make a deep copy of the `request-options`. + * The resulting `request-options` is mutable. + */ + clone(): RequestOptions; } export class Response { - /** - * This type does not have a public constructor. - */ - private constructor(); - /** - * Construct a new `response`, with a default `status-code` of `200`. - * If a different `status-code` is needed, it must be set via the - * `set-status-code` method. - * - * `headers` is the HTTP Headers for the Response. - * - * `contents` is the optional body content stream. - * Once it is closed, `trailers` future must resolve to a result. - * If `trailers` resolves to an error, underlying connection - * will be closed immediately. - * - * The returned future resolves to result of transmission of this response. - */ - static 'new'(headers: Headers, contents: ReadableStream | undefined, trailers: Promise>): [Response, Promise>]; - /** - * Get the HTTP Status Code for the Response. - */ - statusCode(): StatusCode; - /** - * Set the HTTP Status Code for the Response. Fails if the status-code - * given is not a valid http status code. - */ - setStatusCode(statusCode: StatusCode): void; - /** - * Get the headers associated with the Response. - * - * The returned `headers` resource is immutable: `set`, `append`, and - * `delete` operations will fail with `header-error.immutable`. - */ - headers(): Headers; - /** - * Get body of the Response. - * - * Stream returned by this method represents the contents of the body. - * Once the stream is reported as closed, callers should await the returned future - * to determine whether the body was received successfully. - * The future will only resolve after the stream is reported as closed. - * - * The stream and future returned by this method are children: - * they should be closed or consumed before the parent `response` - * is dropped, or its ownership is transferred to another component - * by e.g. `handler.handle`. - * - * This method may be called multiple times. - * - * This method will return an error if it is called while either: - * - a stream or future returned by a previous call to this method is still open - * - a stream returned by a previous call to this method has reported itself as closed - * Thus there will always be at most one readable stream open for a given body. - * Each subsequent stream picks up where the last stream left off, up until it is finished. - */ - body(): [ReadableStream, Promise>]; + /** + * This type does not have a public constructor. + */ + private constructor(); + /** + * Construct a new `response`, with a default `status-code` of `200`. + * If a different `status-code` is needed, it must be set via the + * `set-status-code` method. + * + * `headers` is the HTTP Headers for the Response. + * + * `contents` is the optional body content stream. + * Once it is closed, `trailers` future must resolve to a result. + * If `trailers` resolves to an error, underlying connection + * will be closed immediately. + * + * The returned future resolves to result of transmission of this response. + */ + static new( + headers: Headers, + contents: ReadableStream | undefined, + trailers: Promise> + ): [Response, Promise>]; + /** + * Get the HTTP Status Code for the Response. + */ + statusCode(): StatusCode; + /** + * Set the HTTP Status Code for the Response. Fails if the status-code + * given is not a valid http status code. + */ + setStatusCode(statusCode: StatusCode): void; + /** + * Get the headers associated with the Response. + * + * The returned `headers` resource is immutable: `set`, `append`, and + * `delete` operations will fail with `header-error.immutable`. + */ + headers(): Headers; + /** + * Get body of the Response. + * + * Stream returned by this method represents the contents of the body. + * Once the stream is reported as closed, callers should await the returned future + * to determine whether the body was received successfully. + * The future will only resolve after the stream is reported as closed. + * + * The stream and future returned by this method are children: + * they should be closed or consumed before the parent `response` + * is dropped, or its ownership is transferred to another component + * by e.g. `handler.handle`. + * + * This method may be called multiple times. + * + * This method will return an error if it is called while either: + * - a stream or future returned by a previous call to this method is still open + * - a stream returned by a previous call to this method has reported itself as closed + * Thus there will always be at most one readable stream open for a given body. + * Each subsequent stream picks up where the last stream left off, up until it is finished. + */ + body(): [ + ReadableStream, + Promise>, + ]; } diff --git a/packages/preview3-shim/types/interfaces/wasi-random-insecure-seed.d.ts b/packages/preview3-shim/types/interfaces/wasi-random-insecure-seed.d.ts index 3e2e28fb6..f063e1830 100644 --- a/packages/preview3-shim/types/interfaces/wasi-random-insecure-seed.d.ts +++ b/packages/preview3-shim/types/interfaces/wasi-random-insecure-seed.d.ts @@ -1,19 +1,19 @@ /** @module Interface wasi:random/insecure-seed@0.3.0 **/ /** * Return a 128-bit value that may contain a pseudo-random value. - * + * * The returned value is not required to be computed from a CSPRNG, and may * even be entirely deterministic. Host implementations are encouraged to * provide pseudo-random values to any program exposed to * attacker-controlled content, to enable DoS protection built into many * languages' hash-map implementations. - * + * * This function is intended to only be called once, by a source language * to initialize Denial Of Service (DoS) protection in its hash-map * implementation. - * + * * # Expected future evolution - * + * * This will likely be changed to a value import, to prevent it from being * called multiple times and potentially used for purposes other than DoS * protection. diff --git a/packages/preview3-shim/types/interfaces/wasi-random-insecure.d.ts b/packages/preview3-shim/types/interfaces/wasi-random-insecure.d.ts index ddc524e00..91fc035c8 100644 --- a/packages/preview3-shim/types/interfaces/wasi-random-insecure.d.ts +++ b/packages/preview3-shim/types/interfaces/wasi-random-insecure.d.ts @@ -1,10 +1,10 @@ /** @module Interface wasi:random/insecure@0.3.0 **/ /** * Return `len` insecure pseudo-random bytes. - * + * * This function is not cryptographically secure. Do not use it for * anything related to security. - * + * * There are no requirements on the values of the returned bytes, however * implementations are encouraged to return evenly distributed values with * a long period. @@ -12,7 +12,7 @@ export function getInsecureRandomBytes(len: bigint): Uint8Array; /** * Return an insecure pseudo-random `u64` value. - * + * * This function returns the same type of pseudo-random data as * `get-insecure-random-bytes`, represented as a `u64`. */ diff --git a/packages/preview3-shim/types/interfaces/wasi-random-random.d.ts b/packages/preview3-shim/types/interfaces/wasi-random-random.d.ts index b33e1f55c..99a19131e 100644 --- a/packages/preview3-shim/types/interfaces/wasi-random-random.d.ts +++ b/packages/preview3-shim/types/interfaces/wasi-random-random.d.ts @@ -1,14 +1,14 @@ /** @module Interface wasi:random/random@0.3.0 **/ /** * Return `len` cryptographically-secure random or pseudo-random bytes. - * + * * This function must produce data at least as cryptographically secure and * fast as an adequately seeded cryptographically-secure pseudo-random * number generator (CSPRNG). It must not block, from the perspective of * the calling program, under any circumstances, including on the first * request and on requests for numbers of bytes. The returned data must * always be unpredictable. - * + * * This function must always return fresh data. Deterministic environments * must omit this function, rather than implementing it with deterministic * data. @@ -16,7 +16,7 @@ export function getRandomBytes(len: bigint): Uint8Array; /** * Return a cryptographically-secure random or pseudo-random `u64` value. - * + * * This function returns the same type of data as `get-random-bytes`, * represented as a `u64`. */ diff --git a/packages/preview3-shim/types/interfaces/wasi-sockets-ip-name-lookup.d.ts b/packages/preview3-shim/types/interfaces/wasi-sockets-ip-name-lookup.d.ts index c50618fa0..edbfd0e37 100644 --- a/packages/preview3-shim/types/interfaces/wasi-sockets-ip-name-lookup.d.ts +++ b/packages/preview3-shim/types/interfaces/wasi-sockets-ip-name-lookup.d.ts @@ -1,22 +1,22 @@ /** @module Interface wasi:sockets/ip-name-lookup@0.3.0 **/ /** * Resolve an internet host name to a list of IP addresses. - * + * * Unicode domain names are automatically converted to ASCII using IDNA encoding. * If the input is an IP address string, the address is parsed and returned * as-is without making any external requests. - * + * * See the wasi-socket proposal README.md for a comparison with getaddrinfo. - * + * * The results are returned in connection order preference. - * + * * This function never succeeds with 0 results. It either fails or succeeds * with at least one address. Additionally, this function never returns * IPv4-mapped IPv6 addresses. - * + * * The returned future will resolve to an error code in case of failure. * It will resolve to success once the returned stream is exhausted. - * + * * # References: * - * - @@ -28,34 +28,40 @@ export type IpAddress = import('./wasi-sockets-types.js').IpAddress; /** * Lookup error codes. * # Variants - * + * * ## `"unknown"` - * + * * Unknown error * ## `"access-denied"` - * + * * Access denied. - * + * * POSIX equivalent: EACCES, EPERM * ## `"invalid-argument"` - * + * * `name` is a syntactically invalid domain name or IP address. - * + * * POSIX equivalent: EINVAL * ## `"name-unresolvable"` - * + * * Name does not exist or has no suitable associated IP addresses. - * + * * POSIX equivalent: EAI_NONAME, EAI_NODATA, EAI_ADDRFAMILY * ## `"temporary-resolver-failure"` - * + * * A temporary failure in name resolution occurred. - * + * * POSIX equivalent: EAI_AGAIN * ## `"permanent-resolver-failure"` - * + * * A permanent failure in name resolution occurred. - * + * * POSIX equivalent: EAI_FAIL */ -export type ErrorCode = 'unknown' | 'access-denied' | 'invalid-argument' | 'name-unresolvable' | 'temporary-resolver-failure' | 'permanent-resolver-failure'; +export type ErrorCode = + | 'unknown' + | 'access-denied' + | 'invalid-argument' + | 'name-unresolvable' + | 'temporary-resolver-failure' + | 'permanent-resolver-failure'; diff --git a/packages/preview3-shim/types/interfaces/wasi-sockets-types.d.ts b/packages/preview3-shim/types/interfaces/wasi-sockets-types.d.ts index fd91223df..6704d5deb 100644 --- a/packages/preview3-shim/types/interfaces/wasi-sockets-types.d.ts +++ b/packages/preview3-shim/types/interfaces/wasi-sockets-types.d.ts @@ -2,7 +2,7 @@ export type Duration = import('./wasi-clocks-monotonic-clock.js').Duration; /** * Error codes. - * + * * In theory, every API can return any error code. * In practice, API's typically only return the errors documented per API * combined with a couple of errors that are always possible: @@ -10,693 +10,719 @@ export type Duration = import('./wasi-clocks-monotonic-clock.js').Duration; * - `access-denied` * - `not-supported` * - `out-of-memory` - * + * * See each individual API for what the POSIX equivalents are. They sometimes differ per API. * # Variants - * + * * ## `"unknown"` - * + * * Unknown error * ## `"access-denied"` - * + * * Access denied. - * + * * POSIX equivalent: EACCES, EPERM * ## `"not-supported"` - * + * * The operation is not supported. - * + * * POSIX equivalent: EOPNOTSUPP * ## `"invalid-argument"` - * + * * One of the arguments is invalid. - * + * * POSIX equivalent: EINVAL * ## `"out-of-memory"` - * + * * Not enough memory to complete the operation. - * + * * POSIX equivalent: ENOMEM, ENOBUFS, EAI_MEMORY * ## `"timeout"` - * + * * The operation timed out before it could finish completely. * ## `"invalid-state"` - * + * * The operation is not valid in the socket's current state. * ## `"address-not-bindable"` - * + * * A bind operation failed because the provided address is not an address that the `network` can bind to. * ## `"address-in-use"` - * + * * A bind operation failed because the provided address is already in use or because there are no ephemeral ports available. * ## `"remote-unreachable"` - * + * * The remote address is not reachable * ## `"connection-refused"` - * + * * The TCP connection was forcefully rejected * ## `"connection-reset"` - * + * * The TCP connection was reset. * ## `"connection-aborted"` - * + * * A TCP connection was aborted. * ## `"datagram-too-large"` - * + * * The size of a datagram sent to a UDP socket exceeded the maximum * supported size. */ -export type ErrorCode = 'unknown' | 'access-denied' | 'not-supported' | 'invalid-argument' | 'out-of-memory' | 'timeout' | 'invalid-state' | 'address-not-bindable' | 'address-in-use' | 'remote-unreachable' | 'connection-refused' | 'connection-reset' | 'connection-aborted' | 'datagram-too-large'; +export type ErrorCode = + | 'unknown' + | 'access-denied' + | 'not-supported' + | 'invalid-argument' + | 'out-of-memory' + | 'timeout' + | 'invalid-state' + | 'address-not-bindable' + | 'address-in-use' + | 'remote-unreachable' + | 'connection-refused' + | 'connection-reset' + | 'connection-aborted' + | 'datagram-too-large'; /** * # Variants - * + * * ## `"ipv4"` - * + * * Similar to `AF_INET` in POSIX. * ## `"ipv6"` - * + * * Similar to `AF_INET6` in POSIX. */ export type IpAddressFamily = 'ipv4' | 'ipv6'; export type Ipv4Address = [number, number, number, number]; -export type Ipv6Address = [number, number, number, number, number, number, number, number]; +export type Ipv6Address = [ + number, + number, + number, + number, + number, + number, + number, + number, +]; export type IpAddress = IpAddressIpv4 | IpAddressIpv6; export interface IpAddressIpv4 { - tag: 'ipv4', - val: Ipv4Address, + tag: 'ipv4'; + val: Ipv4Address; } export interface IpAddressIpv6 { - tag: 'ipv6', - val: Ipv6Address, + tag: 'ipv6'; + val: Ipv6Address; } export interface Ipv4SocketAddress { - /** - * sin_port - */ - port: number, - /** - * sin_addr - */ - address: Ipv4Address, + /** + * sin_port + */ + port: number; + /** + * sin_addr + */ + address: Ipv4Address; } export interface Ipv6SocketAddress { - /** - * sin6_port - */ - port: number, - /** - * sin6_flowinfo - */ - flowInfo: number, - /** - * sin6_addr - */ - address: Ipv6Address, - /** - * sin6_scope_id - */ - scopeId: number, + /** + * sin6_port + */ + port: number; + /** + * sin6_flowinfo + */ + flowInfo: number; + /** + * sin6_addr + */ + address: Ipv6Address; + /** + * sin6_scope_id + */ + scopeId: number; } export type IpSocketAddress = IpSocketAddressIpv4 | IpSocketAddressIpv6; export interface IpSocketAddressIpv4 { - tag: 'ipv4', - val: Ipv4SocketAddress, + tag: 'ipv4'; + val: Ipv4SocketAddress; } export interface IpSocketAddressIpv6 { - tag: 'ipv6', - val: Ipv6SocketAddress, + tag: 'ipv6'; + val: Ipv6SocketAddress; } -export type Result = { tag: 'ok', val: T } | { tag: 'err', val: E }; +export type Result = { tag: 'ok'; val: T } | { tag: 'err'; val: E }; export class TcpSocket { - /** - * Create a new TCP socket. - * - * Similar to `socket(AF_INET or AF_INET6, SOCK_STREAM, IPPROTO_TCP)` in POSIX. - * On IPv6 sockets, IPV6_V6ONLY is enabled by default and can't be configured otherwise. - * - * Unlike POSIX, WASI sockets have no notion of a socket-level - * `O_NONBLOCK` flag. Instead they fully rely on the Component Model's - * async support. - * - * # References - * - - * - - * - - * - - */ - constructor(addressFamily: IpAddressFamily) - /** - * Bind the socket to the provided IP address and port. - * - * If the IP address is zero (`0.0.0.0` in IPv4, `::` in IPv6), it is left to the implementation to decide which - * network interface(s) to bind to. - * If the TCP/UDP port is zero, the socket will be bound to a random free port. - * - * Bind can be attempted multiple times on the same socket, even with - * different arguments on each iteration. But never concurrently and - * only as long as the previous bind failed. Once a bind succeeds, the - * binding can't be changed anymore. - * - * # Typical errors - * - `invalid-argument`: The `local-address` has the wrong address family. (EAFNOSUPPORT, EFAULT on Windows) - * - `invalid-argument`: `local-address` is not a unicast address. (EINVAL) - * - `invalid-argument`: `local-address` is an IPv4-mapped IPv6 address. (EINVAL) - * - `invalid-state`: The socket is already bound. (EINVAL) - * - `address-in-use`: No ephemeral ports available. (EADDRINUSE, ENOBUFS on Windows) - * - `address-in-use`: Address is already in use. (EADDRINUSE) - * - `address-not-bindable`: `local-address` is not an address that can be bound to. (EADDRNOTAVAIL) - * - * # Implementors note - * When binding to a non-zero port, this bind operation shouldn't be affected by the TIME_WAIT - * state of a recently closed socket on the same local address. In practice this means that the SO_REUSEADDR - * socket option should be set implicitly on all platforms, except on Windows where this is the default behavior - * and SO_REUSEADDR performs something different entirely. - * - * # References - * - - * - - * - - * - - */ - bind(localAddress: IpSocketAddress): void; - /** - * Connect to a remote endpoint. - * - * On success, the socket is transitioned into the `connected` state and this function returns a connection resource. - * - * After a failed connection attempt, the socket will be in the `closed` - * state and the only valid action left is to `drop` the socket. A single - * socket can not be used to connect more than once. - * - * # Typical errors - * - `invalid-argument`: The `remote-address` has the wrong address family. (EAFNOSUPPORT) - * - `invalid-argument`: `remote-address` is not a unicast address. (EINVAL, ENETUNREACH on Linux, EAFNOSUPPORT on MacOS) - * - `invalid-argument`: `remote-address` is an IPv4-mapped IPv6 address. (EINVAL, EADDRNOTAVAIL on Illumos) - * - `invalid-argument`: The IP address in `remote-address` is set to INADDR_ANY (`0.0.0.0` / `::`). (EADDRNOTAVAIL on Windows) - * - `invalid-argument`: The port in `remote-address` is set to 0. (EADDRNOTAVAIL on Windows) - * - `invalid-state`: The socket is already in the `connecting` state. (EALREADY) - * - `invalid-state`: The socket is already in the `connected` state. (EISCONN) - * - `invalid-state`: The socket is already in the `listening` state. (EOPNOTSUPP, EINVAL on Windows) - * - `timeout`: Connection timed out. (ETIMEDOUT) - * - `connection-refused`: The connection was forcefully rejected. (ECONNREFUSED) - * - `connection-reset`: The connection was reset. (ECONNRESET) - * - `connection-aborted`: The connection was aborted. (ECONNABORTED) - * - `remote-unreachable`: The remote address is not reachable. (EHOSTUNREACH, EHOSTDOWN, ENETUNREACH, ENETDOWN, ENONET) - * - `address-in-use`: Tried to perform an implicit bind, but there were no ephemeral ports available. (EADDRINUSE, EADDRNOTAVAIL on Linux, EAGAIN on BSD) - * - * # References - * - - * - - * - - * - - */ - connect(remoteAddress: IpSocketAddress): Promise; - /** - * Start listening return a stream of new inbound connections. - * - * Transitions the socket into the `listening` state. This can be called - * at most once per socket. - * - * If the socket is not already explicitly bound, this function will - * implicitly bind the socket to a random free port. - * - * Normally, the returned sockets are bound, in the `connected` state - * and immediately ready for I/O. Though, depending on exact timing and - * circumstances, a newly accepted connection may already be `closed` - * by the time the server attempts to perform its first I/O on it. This - * is true regardless of whether the WASI implementation uses - * "synthesized" sockets or not (see Implementors Notes below). - * - * The following properties are inherited from the listener socket: - * - `address-family` - * - `keep-alive-enabled` - * - `keep-alive-idle-time` - * - `keep-alive-interval` - * - `keep-alive-count` - * - `hop-limit` - * - `receive-buffer-size` - * - `send-buffer-size` - * - * # Typical errors - * - `invalid-state`: The socket is already in the `connected` state. (EISCONN, EINVAL on BSD) - * - `invalid-state`: The socket is already in the `listening` state. - * - `address-in-use`: Tried to perform an implicit bind, but there were no ephemeral ports available. (EADDRINUSE) - * - * # Implementors note - * This method returns a single perpetual stream that should only close - * on fatal errors (if any). Yet, the POSIX' `accept` function may also - * return transient errors (e.g. ECONNABORTED). The exact details differ - * per operation system. For example, the Linux manual mentions: - * - * > Linux accept() passes already-pending network errors on the new - * > socket as an error code from accept(). This behavior differs from - * > other BSD socket implementations. For reliable operation the - * > application should detect the network errors defined for the - * > protocol after accept() and treat them like EAGAIN by retrying. - * > In the case of TCP/IP, these are ENETDOWN, EPROTO, ENOPROTOOPT, - * > EHOSTDOWN, ENONET, EHOSTUNREACH, EOPNOTSUPP, and ENETUNREACH. - * Source: https://man7.org/linux/man-pages/man2/accept.2.html - * - * WASI implementations have two options to handle this: - * - Optionally log it and then skip over non-fatal errors returned by - * `accept`. Guest code never gets to see these failures. Or: - * - Synthesize a `tcp-socket` resource that exposes the error when - * attempting to send or receive on it. Guest code then sees these - * failures as regular I/O errors. - * - * In either case, the stream returned by this `listen` method remains - * operational. - * - * # References - * - - * - - * - - * - - * - - * - - * - - * - - */ - listen(): ReadableStream; - /** - * Transmit data to peer. - * - * The caller should close the stream when it has no more data to send - * to the peer. Under normal circumstances this will cause a FIN packet - * to be sent out. Closing the stream is equivalent to calling - * `shutdown(SHUT_WR)` in POSIX. - * - * This function may be called at most once and returns once the full - * contents of the stream are transmitted or an error is encountered. - * - * # Typical errors - * - `invalid-state`: The socket is not in the `connected` state. (ENOTCONN) - * - `connection-reset`: The connection was reset. (ECONNRESET) - * - `remote-unreachable`: The remote address is not reachable. (EHOSTUNREACH, EHOSTDOWN, ENETUNREACH, ENETDOWN, ENONET) - * - * # References - * - - * - - * - - * - - */ - send(data: ReadableStream): Promise; - /** - * Read data from peer. - * - * This function returns a `stream` which provides the data received from the - * socket, and a `future` providing additional error information in case the - * socket is closed abnormally. - * - * If the socket is closed normally, `stream.read` on the `stream` will return - * `read-status::closed` with no `error-context` and the future resolves to - * the value `ok`. If the socket is closed abnormally, `stream.read` on the - * `stream` returns `read-status::closed` with an `error-context` and the future - * resolves to `err` with an `error-code`. - * - * `receive` is meant to be called only once per socket. If it is called more - * than once, the subsequent calls return a new `stream` that fails as if it - * were closed abnormally. - * - * If the caller is not expecting to receive any data from the peer, - * they may drop the stream. Any data still in the receive queue - * will be discarded. This is equivalent to calling `shutdown(SHUT_RD)` - * in POSIX. - * - * # Typical errors - * - `invalid-state`: The socket is not in the `connected` state. (ENOTCONN) - * - `connection-reset`: The connection was reset. (ECONNRESET) - * - `remote-unreachable`: The remote address is not reachable. (EHOSTUNREACH, EHOSTDOWN, ENETUNREACH, ENETDOWN, ENONET) - * - * # References - * - - * - - * - - * - - */ - receive(): [ReadableStream, Promise>]; - /** - * Get the bound local address. - * - * POSIX mentions: - * > If the socket has not been bound to a local name, the value - * > stored in the object pointed to by `address` is unspecified. - * - * WASI is stricter and requires `local-address` to return `invalid-state` when the socket hasn't been bound yet. - * - * # Typical errors - * - `invalid-state`: The socket is not bound to any local address. - * - * # References - * - - * - - * - - * - - */ - localAddress(): IpSocketAddress; - /** - * Get the remote address. - * - * # Typical errors - * - `invalid-state`: The socket is not connected to a remote address. (ENOTCONN) - * - * # References - * - - * - - * - - * - - */ - remoteAddress(): IpSocketAddress; - /** - * Whether the socket is in the `listening` state. - * - * Equivalent to the SO_ACCEPTCONN socket option. - */ - isListening(): boolean; - /** - * Whether this is a IPv4 or IPv6 socket. - * - * This is the value passed to the constructor. - * - * Equivalent to the SO_DOMAIN socket option. - */ - addressFamily(): IpAddressFamily; - /** - * Hints the desired listen queue size. Implementations are free to ignore this. - * - * If the provided value is 0, an `invalid-argument` error is returned. - * Any other value will never cause an error, but it might be silently clamped and/or rounded. - * - * # Typical errors - * - `not-supported`: (set) The platform does not support changing the backlog size after the initial listen. - * - `invalid-argument`: (set) The provided value was 0. - * - `invalid-state`: (set) The socket is in the `connecting` or `connected` state. - */ - setListenBacklogSize(value: bigint): void; - /** - * Enables or disables keepalive. - * - * The keepalive behavior can be adjusted using: - * - `keep-alive-idle-time` - * - `keep-alive-interval` - * - `keep-alive-count` - * These properties can be configured while `keep-alive-enabled` is false, but only come into effect when `keep-alive-enabled` is true. - * - * Equivalent to the SO_KEEPALIVE socket option. - */ - keepAliveEnabled(): boolean; - setKeepAliveEnabled(value: boolean): void; - /** - * Amount of time the connection has to be idle before TCP starts sending keepalive packets. - * - * If the provided value is 0, an `invalid-argument` error is returned. - * Any other value will never cause an error, but it might be silently clamped and/or rounded. - * I.e. after setting a value, reading the same setting back may return a different value. - * - * Equivalent to the TCP_KEEPIDLE socket option. (TCP_KEEPALIVE on MacOS) - * - * # Typical errors - * - `invalid-argument`: (set) The provided value was 0. - */ - keepAliveIdleTime(): Duration; - setKeepAliveIdleTime(value: Duration): void; - /** - * The time between keepalive packets. - * - * If the provided value is 0, an `invalid-argument` error is returned. - * Any other value will never cause an error, but it might be silently clamped and/or rounded. - * I.e. after setting a value, reading the same setting back may return a different value. - * - * Equivalent to the TCP_KEEPINTVL socket option. - * - * # Typical errors - * - `invalid-argument`: (set) The provided value was 0. - */ - keepAliveInterval(): Duration; - setKeepAliveInterval(value: Duration): void; - /** - * The maximum amount of keepalive packets TCP should send before aborting the connection. - * - * If the provided value is 0, an `invalid-argument` error is returned. - * Any other value will never cause an error, but it might be silently clamped and/or rounded. - * I.e. after setting a value, reading the same setting back may return a different value. - * - * Equivalent to the TCP_KEEPCNT socket option. - * - * # Typical errors - * - `invalid-argument`: (set) The provided value was 0. - */ - keepAliveCount(): number; - setKeepAliveCount(value: number): void; - /** - * Equivalent to the IP_TTL & IPV6_UNICAST_HOPS socket options. - * - * If the provided value is 0, an `invalid-argument` error is returned. - * - * # Typical errors - * - `invalid-argument`: (set) The TTL value must be 1 or higher. - */ - hopLimit(): number; - setHopLimit(value: number): void; - /** - * The kernel buffer space reserved for sends/receives on this socket. - * - * If the provided value is 0, an `invalid-argument` error is returned. - * Any other value will never cause an error, but it might be silently clamped and/or rounded. - * I.e. after setting a value, reading the same setting back may return a different value. - * - * Equivalent to the SO_RCVBUF and SO_SNDBUF socket options. - * - * # Typical errors - * - `invalid-argument`: (set) The provided value was 0. - */ - receiveBufferSize(): bigint; - setReceiveBufferSize(value: bigint): void; - sendBufferSize(): bigint; - setSendBufferSize(value: bigint): void; + /** + * Create a new TCP socket. + * + * Similar to `socket(AF_INET or AF_INET6, SOCK_STREAM, IPPROTO_TCP)` in POSIX. + * On IPv6 sockets, IPV6_V6ONLY is enabled by default and can't be configured otherwise. + * + * Unlike POSIX, WASI sockets have no notion of a socket-level + * `O_NONBLOCK` flag. Instead they fully rely on the Component Model's + * async support. + * + * # References + * - + * - + * - + * - + */ + constructor(addressFamily: IpAddressFamily); + /** + * Bind the socket to the provided IP address and port. + * + * If the IP address is zero (`0.0.0.0` in IPv4, `::` in IPv6), it is left to the implementation to decide which + * network interface(s) to bind to. + * If the TCP/UDP port is zero, the socket will be bound to a random free port. + * + * Bind can be attempted multiple times on the same socket, even with + * different arguments on each iteration. But never concurrently and + * only as long as the previous bind failed. Once a bind succeeds, the + * binding can't be changed anymore. + * + * # Typical errors + * - `invalid-argument`: The `local-address` has the wrong address family. (EAFNOSUPPORT, EFAULT on Windows) + * - `invalid-argument`: `local-address` is not a unicast address. (EINVAL) + * - `invalid-argument`: `local-address` is an IPv4-mapped IPv6 address. (EINVAL) + * - `invalid-state`: The socket is already bound. (EINVAL) + * - `address-in-use`: No ephemeral ports available. (EADDRINUSE, ENOBUFS on Windows) + * - `address-in-use`: Address is already in use. (EADDRINUSE) + * - `address-not-bindable`: `local-address` is not an address that can be bound to. (EADDRNOTAVAIL) + * + * # Implementors note + * When binding to a non-zero port, this bind operation shouldn't be affected by the TIME_WAIT + * state of a recently closed socket on the same local address. In practice this means that the SO_REUSEADDR + * socket option should be set implicitly on all platforms, except on Windows where this is the default behavior + * and SO_REUSEADDR performs something different entirely. + * + * # References + * - + * - + * - + * - + */ + bind(localAddress: IpSocketAddress): void; + /** + * Connect to a remote endpoint. + * + * On success, the socket is transitioned into the `connected` state and this function returns a connection resource. + * + * After a failed connection attempt, the socket will be in the `closed` + * state and the only valid action left is to `drop` the socket. A single + * socket can not be used to connect more than once. + * + * # Typical errors + * - `invalid-argument`: The `remote-address` has the wrong address family. (EAFNOSUPPORT) + * - `invalid-argument`: `remote-address` is not a unicast address. (EINVAL, ENETUNREACH on Linux, EAFNOSUPPORT on MacOS) + * - `invalid-argument`: `remote-address` is an IPv4-mapped IPv6 address. (EINVAL, EADDRNOTAVAIL on Illumos) + * - `invalid-argument`: The IP address in `remote-address` is set to INADDR_ANY (`0.0.0.0` / `::`). (EADDRNOTAVAIL on Windows) + * - `invalid-argument`: The port in `remote-address` is set to 0. (EADDRNOTAVAIL on Windows) + * - `invalid-state`: The socket is already in the `connecting` state. (EALREADY) + * - `invalid-state`: The socket is already in the `connected` state. (EISCONN) + * - `invalid-state`: The socket is already in the `listening` state. (EOPNOTSUPP, EINVAL on Windows) + * - `timeout`: Connection timed out. (ETIMEDOUT) + * - `connection-refused`: The connection was forcefully rejected. (ECONNREFUSED) + * - `connection-reset`: The connection was reset. (ECONNRESET) + * - `connection-aborted`: The connection was aborted. (ECONNABORTED) + * - `remote-unreachable`: The remote address is not reachable. (EHOSTUNREACH, EHOSTDOWN, ENETUNREACH, ENETDOWN, ENONET) + * - `address-in-use`: Tried to perform an implicit bind, but there were no ephemeral ports available. (EADDRINUSE, EADDRNOTAVAIL on Linux, EAGAIN on BSD) + * + * # References + * - + * - + * - + * - + */ + connect(remoteAddress: IpSocketAddress): Promise; + /** + * Start listening return a stream of new inbound connections. + * + * Transitions the socket into the `listening` state. This can be called + * at most once per socket. + * + * If the socket is not already explicitly bound, this function will + * implicitly bind the socket to a random free port. + * + * Normally, the returned sockets are bound, in the `connected` state + * and immediately ready for I/O. Though, depending on exact timing and + * circumstances, a newly accepted connection may already be `closed` + * by the time the server attempts to perform its first I/O on it. This + * is true regardless of whether the WASI implementation uses + * "synthesized" sockets or not (see Implementors Notes below). + * + * The following properties are inherited from the listener socket: + * - `address-family` + * - `keep-alive-enabled` + * - `keep-alive-idle-time` + * - `keep-alive-interval` + * - `keep-alive-count` + * - `hop-limit` + * - `receive-buffer-size` + * - `send-buffer-size` + * + * # Typical errors + * - `invalid-state`: The socket is already in the `connected` state. (EISCONN, EINVAL on BSD) + * - `invalid-state`: The socket is already in the `listening` state. + * - `address-in-use`: Tried to perform an implicit bind, but there were no ephemeral ports available. (EADDRINUSE) + * + * # Implementors note + * This method returns a single perpetual stream that should only close + * on fatal errors (if any). Yet, the POSIX' `accept` function may also + * return transient errors (e.g. ECONNABORTED). The exact details differ + * per operation system. For example, the Linux manual mentions: + * + * > Linux accept() passes already-pending network errors on the new + * > socket as an error code from accept(). This behavior differs from + * > other BSD socket implementations. For reliable operation the + * > application should detect the network errors defined for the + * > protocol after accept() and treat them like EAGAIN by retrying. + * > In the case of TCP/IP, these are ENETDOWN, EPROTO, ENOPROTOOPT, + * > EHOSTDOWN, ENONET, EHOSTUNREACH, EOPNOTSUPP, and ENETUNREACH. + * Source: https://man7.org/linux/man-pages/man2/accept.2.html + * + * WASI implementations have two options to handle this: + * - Optionally log it and then skip over non-fatal errors returned by + * `accept`. Guest code never gets to see these failures. Or: + * - Synthesize a `tcp-socket` resource that exposes the error when + * attempting to send or receive on it. Guest code then sees these + * failures as regular I/O errors. + * + * In either case, the stream returned by this `listen` method remains + * operational. + * + * # References + * - + * - + * - + * - + * - + * - + * - + * - + */ + listen(): ReadableStream; + /** + * Transmit data to peer. + * + * The caller should close the stream when it has no more data to send + * to the peer. Under normal circumstances this will cause a FIN packet + * to be sent out. Closing the stream is equivalent to calling + * `shutdown(SHUT_WR)` in POSIX. + * + * This function may be called at most once and returns once the full + * contents of the stream are transmitted or an error is encountered. + * + * # Typical errors + * - `invalid-state`: The socket is not in the `connected` state. (ENOTCONN) + * - `connection-reset`: The connection was reset. (ECONNRESET) + * - `remote-unreachable`: The remote address is not reachable. (EHOSTUNREACH, EHOSTDOWN, ENETUNREACH, ENETDOWN, ENONET) + * + * # References + * - + * - + * - + * - + */ + send(data: ReadableStream): Promise; + /** + * Read data from peer. + * + * This function returns a `stream` which provides the data received from the + * socket, and a `future` providing additional error information in case the + * socket is closed abnormally. + * + * If the socket is closed normally, `stream.read` on the `stream` will return + * `read-status::closed` with no `error-context` and the future resolves to + * the value `ok`. If the socket is closed abnormally, `stream.read` on the + * `stream` returns `read-status::closed` with an `error-context` and the future + * resolves to `err` with an `error-code`. + * + * `receive` is meant to be called only once per socket. If it is called more + * than once, the subsequent calls return a new `stream` that fails as if it + * were closed abnormally. + * + * If the caller is not expecting to receive any data from the peer, + * they may drop the stream. Any data still in the receive queue + * will be discarded. This is equivalent to calling `shutdown(SHUT_RD)` + * in POSIX. + * + * # Typical errors + * - `invalid-state`: The socket is not in the `connected` state. (ENOTCONN) + * - `connection-reset`: The connection was reset. (ECONNRESET) + * - `remote-unreachable`: The remote address is not reachable. (EHOSTUNREACH, EHOSTDOWN, ENETUNREACH, ENETDOWN, ENONET) + * + * # References + * - + * - + * - + * - + */ + receive(): [ReadableStream, Promise>]; + /** + * Get the bound local address. + * + * POSIX mentions: + * > If the socket has not been bound to a local name, the value + * > stored in the object pointed to by `address` is unspecified. + * + * WASI is stricter and requires `local-address` to return `invalid-state` when the socket hasn't been bound yet. + * + * # Typical errors + * - `invalid-state`: The socket is not bound to any local address. + * + * # References + * - + * - + * - + * - + */ + localAddress(): IpSocketAddress; + /** + * Get the remote address. + * + * # Typical errors + * - `invalid-state`: The socket is not connected to a remote address. (ENOTCONN) + * + * # References + * - + * - + * - + * - + */ + remoteAddress(): IpSocketAddress; + /** + * Whether the socket is in the `listening` state. + * + * Equivalent to the SO_ACCEPTCONN socket option. + */ + isListening(): boolean; + /** + * Whether this is a IPv4 or IPv6 socket. + * + * This is the value passed to the constructor. + * + * Equivalent to the SO_DOMAIN socket option. + */ + addressFamily(): IpAddressFamily; + /** + * Hints the desired listen queue size. Implementations are free to ignore this. + * + * If the provided value is 0, an `invalid-argument` error is returned. + * Any other value will never cause an error, but it might be silently clamped and/or rounded. + * + * # Typical errors + * - `not-supported`: (set) The platform does not support changing the backlog size after the initial listen. + * - `invalid-argument`: (set) The provided value was 0. + * - `invalid-state`: (set) The socket is in the `connecting` or `connected` state. + */ + setListenBacklogSize(value: bigint): void; + /** + * Enables or disables keepalive. + * + * The keepalive behavior can be adjusted using: + * - `keep-alive-idle-time` + * - `keep-alive-interval` + * - `keep-alive-count` + * These properties can be configured while `keep-alive-enabled` is false, but only come into effect when `keep-alive-enabled` is true. + * + * Equivalent to the SO_KEEPALIVE socket option. + */ + keepAliveEnabled(): boolean; + setKeepAliveEnabled(value: boolean): void; + /** + * Amount of time the connection has to be idle before TCP starts sending keepalive packets. + * + * If the provided value is 0, an `invalid-argument` error is returned. + * Any other value will never cause an error, but it might be silently clamped and/or rounded. + * I.e. after setting a value, reading the same setting back may return a different value. + * + * Equivalent to the TCP_KEEPIDLE socket option. (TCP_KEEPALIVE on MacOS) + * + * # Typical errors + * - `invalid-argument`: (set) The provided value was 0. + */ + keepAliveIdleTime(): Duration; + setKeepAliveIdleTime(value: Duration): void; + /** + * The time between keepalive packets. + * + * If the provided value is 0, an `invalid-argument` error is returned. + * Any other value will never cause an error, but it might be silently clamped and/or rounded. + * I.e. after setting a value, reading the same setting back may return a different value. + * + * Equivalent to the TCP_KEEPINTVL socket option. + * + * # Typical errors + * - `invalid-argument`: (set) The provided value was 0. + */ + keepAliveInterval(): Duration; + setKeepAliveInterval(value: Duration): void; + /** + * The maximum amount of keepalive packets TCP should send before aborting the connection. + * + * If the provided value is 0, an `invalid-argument` error is returned. + * Any other value will never cause an error, but it might be silently clamped and/or rounded. + * I.e. after setting a value, reading the same setting back may return a different value. + * + * Equivalent to the TCP_KEEPCNT socket option. + * + * # Typical errors + * - `invalid-argument`: (set) The provided value was 0. + */ + keepAliveCount(): number; + setKeepAliveCount(value: number): void; + /** + * Equivalent to the IP_TTL & IPV6_UNICAST_HOPS socket options. + * + * If the provided value is 0, an `invalid-argument` error is returned. + * + * # Typical errors + * - `invalid-argument`: (set) The TTL value must be 1 or higher. + */ + hopLimit(): number; + setHopLimit(value: number): void; + /** + * The kernel buffer space reserved for sends/receives on this socket. + * + * If the provided value is 0, an `invalid-argument` error is returned. + * Any other value will never cause an error, but it might be silently clamped and/or rounded. + * I.e. after setting a value, reading the same setting back may return a different value. + * + * Equivalent to the SO_RCVBUF and SO_SNDBUF socket options. + * + * # Typical errors + * - `invalid-argument`: (set) The provided value was 0. + */ + receiveBufferSize(): bigint; + setReceiveBufferSize(value: bigint): void; + sendBufferSize(): bigint; + setSendBufferSize(value: bigint): void; } export class UdpSocket { - /** - * Create a new UDP socket. - * - * Similar to `socket(AF_INET or AF_INET6, SOCK_DGRAM, IPPROTO_UDP)` in POSIX. - * On IPv6 sockets, IPV6_V6ONLY is enabled by default and can't be configured otherwise. - * - * Unlike POSIX, WASI sockets have no notion of a socket-level - * `O_NONBLOCK` flag. Instead they fully rely on the Component Model's - * async support. - * - * # References: - * - - * - - * - - * - - */ - constructor(addressFamily: IpAddressFamily) - /** - * Bind the socket to the provided IP address and port. - * - * If the IP address is zero (`0.0.0.0` in IPv4, `::` in IPv6), it is left to the implementation to decide which - * network interface(s) to bind to. - * If the port is zero, the socket will be bound to a random free port. - * - * # Typical errors - * - `invalid-argument`: The `local-address` has the wrong address family. (EAFNOSUPPORT, EFAULT on Windows) - * - `invalid-state`: The socket is already bound. (EINVAL) - * - `address-in-use`: No ephemeral ports available. (EADDRINUSE, ENOBUFS on Windows) - * - `address-in-use`: Address is already in use. (EADDRINUSE) - * - `address-not-bindable`: `local-address` is not an address that can be bound to. (EADDRNOTAVAIL) - * - * # References - * - - * - - * - - * - - */ - bind(localAddress: IpSocketAddress): void; - /** - * Associate this socket with a specific peer address. - * - * On success, the `remote-address` of the socket is updated. - * The `local-address` may be updated as well, based on the best network - * path to `remote-address`. If the socket was not already explicitly - * bound, this function will implicitly bind the socket to a random - * free port. - * - * When a UDP socket is "connected", the `send` and `receive` methods - * are limited to communicating with that peer only: - * - `send` can only be used to send to this destination. - * - `receive` will only return datagrams sent from the provided `remote-address`. - * - * The name "connect" was kept to align with the existing POSIX - * terminology. Other than that, this function only changes the local - * socket configuration and does not generate any network traffic. - * The peer is not aware of this "connection". - * - * This method may be called multiple times on the same socket to change - * its association, but only the most recent one will be effective. - * - * # Typical errors - * - `invalid-argument`: The `remote-address` has the wrong address family. (EAFNOSUPPORT) - * - `invalid-argument`: The IP address in `remote-address` is set to INADDR_ANY (`0.0.0.0` / `::`). (EDESTADDRREQ, EADDRNOTAVAIL) - * - `invalid-argument`: The port in `remote-address` is set to 0. (EDESTADDRREQ, EADDRNOTAVAIL) - * - `address-in-use`: Tried to perform an implicit bind, but there were no ephemeral ports available. (EADDRINUSE, EADDRNOTAVAIL on Linux, EAGAIN on BSD) - * - * # Implementors note - * If the socket is already connected, some platforms (e.g. Linux) - * require a disconnect before connecting to a different peer address. - * - * # References - * - - * - - * - - * - - */ - connect(remoteAddress: IpSocketAddress): void; - /** - * Dissociate this socket from its peer address. - * - * After calling this method, `send` & `receive` are free to communicate - * with any address again. - * - * The POSIX equivalent of this is calling `connect` with an `AF_UNSPEC` address. - * - * # Typical errors - * - `invalid-state`: The socket is not connected. - * - * # References - * - - * - - * - - * - - */ - disconnect(): void; - /** - * Send a message on the socket to a particular peer. - * - * If the socket is connected, the peer address may be left empty. In - * that case this is equivalent to `send` in POSIX. Otherwise it is - * equivalent to `sendto`. - * - * Additionally, if the socket is connected, a `remote-address` argument - * _may_ be provided but then it must be identical to the address - * passed to `connect`. - * - * Implementations may trap if the `data` length exceeds 64 KiB. - * - * # Typical errors - * - `invalid-argument`: The `remote-address` has the wrong address family. (EAFNOSUPPORT) - * - `invalid-argument`: The IP address in `remote-address` is set to INADDR_ANY (`0.0.0.0` / `::`). (EDESTADDRREQ, EADDRNOTAVAIL) - * - `invalid-argument`: The port in `remote-address` is set to 0. (EDESTADDRREQ, EADDRNOTAVAIL) - * - `invalid-argument`: The socket is in "connected" mode and `remote-address` is `some` value that does not match the address passed to `connect`. (EISCONN) - * - `invalid-argument`: The socket is not "connected" and no value for `remote-address` was provided. (EDESTADDRREQ) - * - `remote-unreachable`: The remote address is not reachable. (ECONNRESET, ENETRESET on Windows, EHOSTUNREACH, EHOSTDOWN, ENETUNREACH, ENETDOWN, ENONET) - * - `connection-refused`: The connection was refused. (ECONNREFUSED) - * - `datagram-too-large`: The datagram is too large. (EMSGSIZE) - * - * # References - * - - * - - * - - * - - * - - * - - * - - * - - */ - send(data: Uint8Array, remoteAddress: IpSocketAddress | undefined): Promise; - /** - * Receive a message on the socket. - * - * On success, the return value contains a tuple of the received data - * and the address of the sender. Theoretical maximum length of the - * data is 64 KiB. Though in practice, it will typically be less than - * 1500 bytes. - * - * If the socket is connected, the sender address is guaranteed to - * match the remote address passed to `connect`. - * - * # Typical errors - * - `invalid-state`: The socket has not been bound yet. - * - `remote-unreachable`: The remote address is not reachable. (ECONNRESET, ENETRESET on Windows, EHOSTUNREACH, EHOSTDOWN, ENETUNREACH, ENETDOWN, ENONET) - * - `connection-refused`: The connection was refused. (ECONNREFUSED) - * - * # References - * - - * - - * - - * - - * - - * - - * - - */ - receive(): Promise<[Uint8Array, IpSocketAddress]>; - /** - * Get the current bound address. - * - * POSIX mentions: - * > If the socket has not been bound to a local name, the value - * > stored in the object pointed to by `address` is unspecified. - * - * WASI is stricter and requires `local-address` to return `invalid-state` when the socket hasn't been bound yet. - * - * # Typical errors - * - `invalid-state`: The socket is not bound to any local address. - * - * # References - * - - * - - * - - * - - */ - localAddress(): IpSocketAddress; - /** - * Get the address the socket is currently "connected" to. - * - * # Typical errors - * - `invalid-state`: The socket is not "connected" to a specific remote address. (ENOTCONN) - * - * # References - * - - * - - * - - * - - */ - remoteAddress(): IpSocketAddress; - /** - * Whether this is a IPv4 or IPv6 socket. - * - * This is the value passed to the constructor. - * - * Equivalent to the SO_DOMAIN socket option. - */ - addressFamily(): IpAddressFamily; - /** - * Equivalent to the IP_TTL & IPV6_UNICAST_HOPS socket options. - * - * If the provided value is 0, an `invalid-argument` error is returned. - * - * # Typical errors - * - `invalid-argument`: (set) The TTL value must be 1 or higher. - */ - unicastHopLimit(): number; - setUnicastHopLimit(value: number): void; - /** - * The kernel buffer space reserved for sends/receives on this socket. - * - * If the provided value is 0, an `invalid-argument` error is returned. - * Any other value will never cause an error, but it might be silently clamped and/or rounded. - * I.e. after setting a value, reading the same setting back may return a different value. - * - * Equivalent to the SO_RCVBUF and SO_SNDBUF socket options. - * - * # Typical errors - * - `invalid-argument`: (set) The provided value was 0. - */ - receiveBufferSize(): bigint; - setReceiveBufferSize(value: bigint): void; - sendBufferSize(): bigint; - setSendBufferSize(value: bigint): void; + /** + * Create a new UDP socket. + * + * Similar to `socket(AF_INET or AF_INET6, SOCK_DGRAM, IPPROTO_UDP)` in POSIX. + * On IPv6 sockets, IPV6_V6ONLY is enabled by default and can't be configured otherwise. + * + * Unlike POSIX, WASI sockets have no notion of a socket-level + * `O_NONBLOCK` flag. Instead they fully rely on the Component Model's + * async support. + * + * # References: + * - + * - + * - + * - + */ + constructor(addressFamily: IpAddressFamily); + /** + * Bind the socket to the provided IP address and port. + * + * If the IP address is zero (`0.0.0.0` in IPv4, `::` in IPv6), it is left to the implementation to decide which + * network interface(s) to bind to. + * If the port is zero, the socket will be bound to a random free port. + * + * # Typical errors + * - `invalid-argument`: The `local-address` has the wrong address family. (EAFNOSUPPORT, EFAULT on Windows) + * - `invalid-state`: The socket is already bound. (EINVAL) + * - `address-in-use`: No ephemeral ports available. (EADDRINUSE, ENOBUFS on Windows) + * - `address-in-use`: Address is already in use. (EADDRINUSE) + * - `address-not-bindable`: `local-address` is not an address that can be bound to. (EADDRNOTAVAIL) + * + * # References + * - + * - + * - + * - + */ + bind(localAddress: IpSocketAddress): void; + /** + * Associate this socket with a specific peer address. + * + * On success, the `remote-address` of the socket is updated. + * The `local-address` may be updated as well, based on the best network + * path to `remote-address`. If the socket was not already explicitly + * bound, this function will implicitly bind the socket to a random + * free port. + * + * When a UDP socket is "connected", the `send` and `receive` methods + * are limited to communicating with that peer only: + * - `send` can only be used to send to this destination. + * - `receive` will only return datagrams sent from the provided `remote-address`. + * + * The name "connect" was kept to align with the existing POSIX + * terminology. Other than that, this function only changes the local + * socket configuration and does not generate any network traffic. + * The peer is not aware of this "connection". + * + * This method may be called multiple times on the same socket to change + * its association, but only the most recent one will be effective. + * + * # Typical errors + * - `invalid-argument`: The `remote-address` has the wrong address family. (EAFNOSUPPORT) + * - `invalid-argument`: The IP address in `remote-address` is set to INADDR_ANY (`0.0.0.0` / `::`). (EDESTADDRREQ, EADDRNOTAVAIL) + * - `invalid-argument`: The port in `remote-address` is set to 0. (EDESTADDRREQ, EADDRNOTAVAIL) + * - `address-in-use`: Tried to perform an implicit bind, but there were no ephemeral ports available. (EADDRINUSE, EADDRNOTAVAIL on Linux, EAGAIN on BSD) + * + * # Implementors note + * If the socket is already connected, some platforms (e.g. Linux) + * require a disconnect before connecting to a different peer address. + * + * # References + * - + * - + * - + * - + */ + connect(remoteAddress: IpSocketAddress): void; + /** + * Dissociate this socket from its peer address. + * + * After calling this method, `send` & `receive` are free to communicate + * with any address again. + * + * The POSIX equivalent of this is calling `connect` with an `AF_UNSPEC` address. + * + * # Typical errors + * - `invalid-state`: The socket is not connected. + * + * # References + * - + * - + * - + * - + */ + disconnect(): void; + /** + * Send a message on the socket to a particular peer. + * + * If the socket is connected, the peer address may be left empty. In + * that case this is equivalent to `send` in POSIX. Otherwise it is + * equivalent to `sendto`. + * + * Additionally, if the socket is connected, a `remote-address` argument + * _may_ be provided but then it must be identical to the address + * passed to `connect`. + * + * Implementations may trap if the `data` length exceeds 64 KiB. + * + * # Typical errors + * - `invalid-argument`: The `remote-address` has the wrong address family. (EAFNOSUPPORT) + * - `invalid-argument`: The IP address in `remote-address` is set to INADDR_ANY (`0.0.0.0` / `::`). (EDESTADDRREQ, EADDRNOTAVAIL) + * - `invalid-argument`: The port in `remote-address` is set to 0. (EDESTADDRREQ, EADDRNOTAVAIL) + * - `invalid-argument`: The socket is in "connected" mode and `remote-address` is `some` value that does not match the address passed to `connect`. (EISCONN) + * - `invalid-argument`: The socket is not "connected" and no value for `remote-address` was provided. (EDESTADDRREQ) + * - `remote-unreachable`: The remote address is not reachable. (ECONNRESET, ENETRESET on Windows, EHOSTUNREACH, EHOSTDOWN, ENETUNREACH, ENETDOWN, ENONET) + * - `connection-refused`: The connection was refused. (ECONNREFUSED) + * - `datagram-too-large`: The datagram is too large. (EMSGSIZE) + * + * # References + * - + * - + * - + * - + * - + * - + * - + * - + */ + send( + data: Uint8Array, + remoteAddress: IpSocketAddress | undefined + ): Promise; + /** + * Receive a message on the socket. + * + * On success, the return value contains a tuple of the received data + * and the address of the sender. Theoretical maximum length of the + * data is 64 KiB. Though in practice, it will typically be less than + * 1500 bytes. + * + * If the socket is connected, the sender address is guaranteed to + * match the remote address passed to `connect`. + * + * # Typical errors + * - `invalid-state`: The socket has not been bound yet. + * - `remote-unreachable`: The remote address is not reachable. (ECONNRESET, ENETRESET on Windows, EHOSTUNREACH, EHOSTDOWN, ENETUNREACH, ENETDOWN, ENONET) + * - `connection-refused`: The connection was refused. (ECONNREFUSED) + * + * # References + * - + * - + * - + * - + * - + * - + * - + */ + receive(): Promise<[Uint8Array, IpSocketAddress]>; + /** + * Get the current bound address. + * + * POSIX mentions: + * > If the socket has not been bound to a local name, the value + * > stored in the object pointed to by `address` is unspecified. + * + * WASI is stricter and requires `local-address` to return `invalid-state` when the socket hasn't been bound yet. + * + * # Typical errors + * - `invalid-state`: The socket is not bound to any local address. + * + * # References + * - + * - + * - + * - + */ + localAddress(): IpSocketAddress; + /** + * Get the address the socket is currently "connected" to. + * + * # Typical errors + * - `invalid-state`: The socket is not "connected" to a specific remote address. (ENOTCONN) + * + * # References + * - + * - + * - + * - + */ + remoteAddress(): IpSocketAddress; + /** + * Whether this is a IPv4 or IPv6 socket. + * + * This is the value passed to the constructor. + * + * Equivalent to the SO_DOMAIN socket option. + */ + addressFamily(): IpAddressFamily; + /** + * Equivalent to the IP_TTL & IPV6_UNICAST_HOPS socket options. + * + * If the provided value is 0, an `invalid-argument` error is returned. + * + * # Typical errors + * - `invalid-argument`: (set) The TTL value must be 1 or higher. + */ + unicastHopLimit(): number; + setUnicastHopLimit(value: number): void; + /** + * The kernel buffer space reserved for sends/receives on this socket. + * + * If the provided value is 0, an `invalid-argument` error is returned. + * Any other value will never cause an error, but it might be silently clamped and/or rounded. + * I.e. after setting a value, reading the same setting back may return a different value. + * + * Equivalent to the SO_RCVBUF and SO_SNDBUF socket options. + * + * # Typical errors + * - `invalid-argument`: (set) The provided value was 0. + */ + receiveBufferSize(): bigint; + setReceiveBufferSize(value: bigint): void; + sendBufferSize(): bigint; + setSendBufferSize(value: bigint): void; } diff --git a/packages/preview3-shim/types/random.d.ts b/packages/preview3-shim/types/random.d.ts index ad811d5a8..cffbc4509 100644 --- a/packages/preview3-shim/types/random.d.ts +++ b/packages/preview3-shim/types/random.d.ts @@ -1,3 +1,3 @@ -export type * as insecureSeed from "./interfaces/wasi-random-insecure-seed.d.ts"; -export type * as insecure from "./interfaces/wasi-random-insecure.d.ts"; -export type * as random from "./interfaces/wasi-random-random.d.ts"; +export type * as insecureSeed from './interfaces/wasi-random-insecure-seed.d.ts'; +export type * as insecure from './interfaces/wasi-random-insecure.d.ts'; +export type * as random from './interfaces/wasi-random-random.d.ts'; diff --git a/packages/preview3-shim/types/sockets.d.ts b/packages/preview3-shim/types/sockets.d.ts index 02703db63..285696383 100644 --- a/packages/preview3-shim/types/sockets.d.ts +++ b/packages/preview3-shim/types/sockets.d.ts @@ -1,2 +1,2 @@ -export type * as ipNameLookup from "./interfaces/wasi-sockets-ip-name-lookup.d.ts"; -export type * as types from "./interfaces/wasi-sockets-types.d.ts"; +export type * as ipNameLookup from './interfaces/wasi-sockets-ip-name-lookup.d.ts'; +export type * as types from './interfaces/wasi-sockets-types.d.ts'; From b1f641491a99b2a76b3b338ac4579c2f2c3f556b Mon Sep 17 00:00:00 2001 From: Elmer Bulthuis Date: Fri, 18 Jul 2025 09:03:39 +0200 Subject: [PATCH 7/7] cleanup d.ts --- packages/jco/src/cmd/types.d.ts | 36 -------------------------------- packages/jco/src/common.d.ts | 24 --------------------- packages/jco/src/common.d.ts.map | 1 - 3 files changed, 61 deletions(-) delete mode 100644 packages/jco/src/cmd/types.d.ts delete mode 100644 packages/jco/src/common.d.ts delete mode 100644 packages/jco/src/common.d.ts.map diff --git a/packages/jco/src/cmd/types.d.ts b/packages/jco/src/cmd/types.d.ts deleted file mode 100644 index e9f8ee95e..000000000 --- a/packages/jco/src/cmd/types.d.ts +++ /dev/null @@ -1,36 +0,0 @@ -export function types(witPath: any, opts: any): Promise; -export function guestTypes(witPath: any, opts: any): Promise; -/** - * @param {string} witPath - * @param {{ - * name?: string, - * worldName?: string, - * instantiation?: 'async' | 'sync', - * tlaCompat?: bool, - * asyncMode?: string, - * asyncImports?: string[], - * asyncExports?: string[], - * outDir?: string, - * features?: string[] | 'all', - * guest?: bool, - * }} opts - * @returns {Promise<{ [filename: string]: Uint8Array }>} - */ -export function typesComponent( - witPath: string, - opts: { - name?: string; - worldName?: string; - instantiation?: 'async' | 'sync'; - tlaCompat?: boolean; - asyncMode?: string; - asyncImports?: string[]; - asyncExports?: string[]; - outDir?: string; - features?: string[] | 'all'; - guest?: boolean; - } -): Promise<{ - [filename: string]: Uint8Array; -}>; -//# sourceMappingURL=types.d.ts.map diff --git a/packages/jco/src/common.d.ts b/packages/jco/src/common.d.ts deleted file mode 100644 index d84aa60e3..000000000 --- a/packages/jco/src/common.d.ts +++ /dev/null @@ -1,24 +0,0 @@ -export function setShowSpinner(val: any): void; -export function getShowSpinner(): boolean; -export function sizeStr(num: any): string; -export function fixedDigitDisplay(num: any, maxChars: any): string; -export function table(data: any, align?: any[]): string; -/** - * Securely creates a temporary directory and returns its path. - * - * The new directory is created using `fsPromises.mkdtemp()`. - */ -export function getTmpDir(): Promise; -export function spawnIOTmp( - cmd: any, - input: any, - args: any -): Promise>; -export function writeFiles(files: any, summaryTitle: any): Promise; -export const isWindows: boolean; -export { readFileCli as readFile }; -declare function readFileCli( - file: any, - encoding: any -): Promise>; -//# sourceMappingURL=common.d.ts.map diff --git a/packages/jco/src/common.d.ts.map b/packages/jco/src/common.d.ts.map deleted file mode 100644 index aff35feef..000000000 --- a/packages/jco/src/common.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["common.js"],"names":[],"mappings":"AA2BA,+CAEC;AACD,0CAIC;AAED,0CASC;AAED,mEAcC;AAED,wDAoBC;AAED;;;;GAIG;AACH,6CAEC;AAWD,8FAiCC;AAED,yEAmBC;AArJD,gCAA8C;;AAsF9C,yFAMC"} \ No newline at end of file