From e9d65d106f0bf5f14b29ee2c15703f80f1fea8a3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?B=C5=82a=C5=BCej=20Che=C5=82kowski?= Date: Fri, 19 Jun 2026 01:14:23 +0200 Subject: [PATCH 1/3] fix: add formatter and linter --- .github/workflows/validate-code.yml | 20 + .gitignore | 1 - .vscode/settings.json | 65 + package-lock.json | 1956 ++++------------- package.json | 15 +- src/components/ArrayUtils.brs | 2 +- src/components/_tests/Assert.test.brs | 3 +- src/components/_tests/CacheFS.test.brs | 1 + src/components/_tests/Debouncer.test.brs | 5 +- .../_tests/MathUtils/MathUtils.test.brs | 1 + .../_tests/MathUtils/MathUtils_ceil.test.brs | 2 +- .../MathUtils/MathUtils_toRadians.test.brs | 2 +- .../_tests/NodeUtils/NodeUtils.test.brs | 1 + .../_tests/NodeUtils/NodeUtils_Main.test.brs | 2 +- .../NodeUtils_areNodesTheSame.test.brs | 2 +- .../NodeUtils/NodeUtils_forEachChild.test.brs | 6 +- .../NodeUtils_getCustomFields.test.brs | 2 +- .../_tests/ObjectUtils/ObjectUtils.test.brs | 3 +- .../ObjectUtils/ObjectUtils_invert.test.brs | 2 +- .../ObjectUtils/ObjectUtils_merge.test.brs | 2 +- .../_tests/SharedNodeContextFacade.test.brs | 3 +- .../_tests/arrayUtils/ArrayUtils.test.brs | 3 +- .../arrayUtils/ArrayUtils_contains.test.brs | 2 +- .../arrayUtils/ArrayUtils_filter.test.brs | 4 +- .../arrayUtils/ArrayUtils_find.test.brs | 2 +- .../_tests/arrayUtils/ArrayUtils_map.test.brs | 4 +- .../arrayUtils/ArrayUtils_reject.test.brs | 4 +- .../arrayUtils/ArrayUtils_slice.test.brs | 2 +- .../arrayUtils/ArrayUtils_sortBy.test.brs | 2 +- src/components/_tests/buildUrl.test.brs | 5 +- src/components/_tests/getProperty.test.brs | 1 + src/components/_tests/padStart.test.brs | 1 + src/components/_tests/ternary.test.brs | 1 + src/components/_tests/uuid.test.brs | 3 +- .../animation/ParallelAnimationFactory.brs | 2 +- .../_tests/ParallelAnimationFactory.test.brs | 15 +- src/components/animator/AnimatorCore.brs | 2 +- .../animator/_tests/Animator.test.brs | 3 +- .../animator/_tests/AnimatorCore.test.brs | 7 +- .../_tests/AnimatorCore_animate.test.brs | 2 +- .../_tests/AnimatorCore_finishAll.test.brs | 2 +- .../_tests/AnimatorCore_promise.test.brs | 2 +- .../_tests/AnimatorCore_stopAll.test.brs | 2 +- .../animator/_tests/AnimatorFactory.test.brs | 3 +- .../animator/_tests/Animator_animate.test.brs | 2 +- .../animator/_tests/Animator_fade.test.brs | 2 +- .../animator/_tests/Animator_fadeIn.test.brs | 2 +- .../animator/_tests/Animator_fadeOut.test.brs | 2 +- .../_tests/Animator_finishAll.test.brs | 2 +- .../animator/_tests/Animator_stopAll.test.brs | 2 +- .../_tests/Animator_translate.test.brs | 2 +- .../_tests/Animator_translateX.test.brs | 2 +- src/components/buildUrl.brs | 1 - src/components/isFalsy.brs | 1 + src/components/promise/Promise.brs | 6 +- .../promise/_tests/Promise.test.brs | 5 +- .../promise/_tests/promisesAll.test.brs | 3 +- .../_tests/promisesAllSettled.test.brs | 35 +- .../promise/_tests/promisesAny.test.brs | 3 +- src/components/promise/promisesAll.brs | 2 +- src/components/promise/promisesAllSettled.brs | 4 +- src/components/promise/promisesAny.brs | 2 +- src/components/reactiveX/RxObservable.brs | 1 - src/components/reactiveX/RxSubject.brs | 4 +- src/components/reactiveX/RxSubscriber.brs | 2 - .../reactiveX/_tests/RxObservable.test.brs | 7 +- .../_tests/RxObservableFromArray.test.brs | 3 +- .../reactiveX/_tests/RxSubject.test.brs | 3 +- .../reactiveX/_tests/RxSubscriber.test.brs | 47 +- .../reactiveX/_tests/RxSubscription.test.brs | 3 +- .../reactiveX/_tests/rxCombineLatest.test.brs | 6 +- src/components/reactiveX/rxCombineLatest.brs | 2 +- .../timers/_tests/clearInterval.test.brs | 3 +- .../timers/_tests/clearTimeout.test.brs | 1 + .../timers/_tests/setInterval.test.brs | 6 +- .../timers/_tests/setTimeout.test.brs | 5 +- src/components/timers/setTimeoutCore.brs | 1 - src/components/uuid.brs | 2 +- 78 files changed, 694 insertions(+), 1650 deletions(-) create mode 100644 .github/workflows/validate-code.yml create mode 100644 .vscode/settings.json diff --git a/.github/workflows/validate-code.yml b/.github/workflows/validate-code.yml new file mode 100644 index 0000000..474cc85 --- /dev/null +++ b/.github/workflows/validate-code.yml @@ -0,0 +1,20 @@ +name: Validate code +on: pull_request +jobs: + validate-code: + runs-on: ubuntu-latest + timeout-minutes: 10 + steps: + - name: Checkout + uses: actions/checkout@v6 + - name: Setup node + uses: actions/setup-node@v6 + with: + node-version-file: '.nvmrc' + cache: 'npm' + - name: Install Dependencies + run: npm ci + - name: Run formatter + run: npm run format:check + - name: Run linter + run: npm run lint diff --git a/.gitignore b/.gitignore index 5583a92..23e4d69 100644 --- a/.gitignore +++ b/.gitignore @@ -1,7 +1,6 @@ .DS_Store .env .idea/ -.vscode/ dist/ node_modules/ diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..304e0f6 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,65 @@ +{ + "editor.indentSize": "tabSize", + "editor.tabSize": 2, + "files.insertFinalNewline": true, + "[brightscript]": { + "editor.defaultFormatter": "bchelkowski.vscode-kopytko" + }, + "brightscript.languageServer.enabled": false, + "kopytko.imports.resolveModules": true, + "kopytko.casing.keyword": "lower-case", + "kopytko.casing.type": "pascal-case", + "kopytko.casing.literal": "lower-case", + "kopytko.casing.logicOperator": "upper-case", + "kopytko.casing.mathOperator": "upper-case", + "kopytko.casing.builtin": "pascal-case", + "kopytko.casing.method": "camel-case", + "kopytko.casing.userFunction": "preserve", + "kopytko.casing.userMethod": "preserve", + "kopytko.casing.exact": { + "invalid": "Invalid" + }, + // -- Linter -- + "kopytko.lint.rules.type/missing-param-type": "off", + "kopytko.lint.rules.type/missing-return-type": "off", + // -- Formatter -- + "kopytko.format.indentSize": 2, + "kopytko.format.useTabs": false, + "kopytko.format.trimTrailingWhitespace": true, + "kopytko.format.insertFinalNewline": true, + "kopytko.format.maxEmptyLines": 1, + "kopytko.format.emptyLinesBetweenFunctions": 1, + "kopytko.format.emptyLinesBetweenMethods": 1, + "kopytko.format.emptyLinesAtBlockBoundaries": "strip", + "kopytko.format.emptyLineBeforeReturn": "not-alone", + "kopytko.format.endKeywordStyle": "spaced", + "kopytko.format.thenStyle": "singleline-only", + "kopytko.format.functionVsSubForVoid": "sub", + "kopytko.format.spaceAfterCommentMarker": true, + "kopytko.format.spaceAroundAssignment": true, + "kopytko.format.spaceAroundOperators": true, + "kopytko.format.spaceBeforeNamedFunctionParens": false, + "kopytko.format.spaceBeforeAnonymousFunctionParens": true, + "kopytko.format.spaceBeforeCallParens": false, + "kopytko.format.spaceInsideParens": "never", + "kopytko.format.arrayCommaStyle": "always", + "kopytko.format.arraySplitOpenBracket": true, + "kopytko.format.associativeArrayBracketSpacing": true, + "kopytko.format.associativeArrayCommaStyle": "always", + "kopytko.format.associativeArrayCommaSpacing": "after", + "kopytko.format.trailingComma": "always", + "kopytko.format.commentStyle": "'", + "kopytko.format.unarySpacing": true, + "kopytko.format.sortImports": true, + "kopytko.format.emptyLineAfterImports": true, + "kopytko.format.parenthesisIfCase": "always", + "kopytko.format.elseOnNewLine": true, + "kopytko.format.forLoopSpacing": true, + "kopytko.format.observeFieldStyle": "always-scoped", + "kopytko.format.mPrefixStyle": "preserve", + "kopytko.format.fieldAccessConsistency": "preserve", + "kopytko.format.printStatement": "warn", + "kopytko.format.alignAssignments": false, + "kopytko.format.maxLineLength": 160, + "kopytko.format.wrapLongStrings": "array-join" +} diff --git a/package-lock.json b/package-lock.json index b6eb49a..708e7cb 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,20 +9,20 @@ "version": "2.8.0", "license": "MIT", "devDependencies": { - "@dazn/eslint-plugin-kopytko": "^2.1.0", "@dazn/kopytko-packager": "^1.4.2", - "@dazn/kopytko-unit-testing-framework": "^2.5.2", + "@dazn/kopytko-unit-testing-framework": "^2.6.4", "@semantic-release/changelog": "^6.0.3", "@semantic-release/git": "^10.0.1", - "@semantic-release/github": "^12.0.6", - "eslint": "^8.57.1", - "semantic-release": "^25.0.3" + "@semantic-release/github": "^12.0.8", + "kopytko-formatter": "^1.1.2", + "kopytko-linter": "^1.3.1", + "semantic-release": "^25.0.5" } }, "node_modules/@actions/core": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@actions/core/-/core-3.0.0.tgz", - "integrity": "sha512-zYt6cz+ivnTmiT/ksRVriMBOiuoUpDCJJlZ5KPl2/FRdvwU3f7MPh9qftvbkXJThragzUZieit2nyHUyw53Seg==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@actions/core/-/core-3.0.1.tgz", + "integrity": "sha512-a6d/Nwahm9fliVGRhdhofo40HjHQasUPusmc7vBfyky+7Z+P2A1J68zyFVaNcEclc/Se+eO595oAr5nwEIoIUA==", "dev": true, "license": "MIT", "dependencies": { @@ -41,9 +41,9 @@ } }, "node_modules/@actions/http-client": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-4.0.0.tgz", - "integrity": "sha512-QuwPsgVMsD6qaPD57GLZi9sqzAZCtiJT8kVBCDpLtxhL5MydQ4gS+DrejtZZPdIYyB1e95uCK9Luyds7ybHI3g==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-4.0.1.tgz", + "integrity": "sha512-+Nvd1ImaOZBSoPbsUtEhv+1z99H12xzncCkz0a3RuehINE81FZSe2QTj3uvAPTcJX/SCzUQHQ0D1GrPMbrPitg==", "dev": true, "license": "MIT", "dependencies": { @@ -52,9 +52,9 @@ } }, "node_modules/@actions/http-client/node_modules/undici": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/undici/-/undici-6.24.1.tgz", - "integrity": "sha512-sC+b0tB1whOCzbtlx20fx3WgCXwkW627p4EA9uM+/tNNPkSS+eSEld6pAs9nDv7WbY1UUljBMYPtu9BCOrCWKA==", + "version": "6.27.0", + "resolved": "https://registry.npmjs.org/undici/-/undici-6.27.0.tgz", + "integrity": "sha512-YmfV3YnEDzXRC5lZ2jWtWWHKGUm1zIt8AhesR1tens+HTNv+YZlN/dp6G727LOvMJ8xjP9Be7Y2Sdr96LDm+pg==", "dev": true, "license": "MIT", "engines": { @@ -69,13 +69,13 @@ "license": "MIT" }, "node_modules/@babel/code-frame": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.0.tgz", - "integrity": "sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==", + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.7.tgz", + "integrity": "sha512-Aup7aUOfpbAUg2ROOJN6Iw5f9DMBlzu0mIkm/malLQFN/YQgO48wCj0Kxa3sEHJvPVFg7siR+qRInwXd2qhQKw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-validator-identifier": "^7.28.5", + "@babel/helper-validator-identifier": "^7.29.7", "js-tokens": "^4.0.0", "picocolors": "^1.1.1" }, @@ -84,9 +84,9 @@ } }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.28.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz", - "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==", + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.29.7.tgz", + "integrity": "sha512-qehxGkRj55h/ff8EMaJ+cYhyaKlHIxqYDn682wQD7RNp9UujOQsHog2uS0r2vzr4pW+sXf90NeeayjcNaX3fFg==", "dev": true, "license": "MIT", "engines": { @@ -119,23 +119,6 @@ "pngjs": "^6.0.0" } }, - "node_modules/@dazn/eslint-plugin-kopytko": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@dazn/eslint-plugin-kopytko/-/eslint-plugin-kopytko-2.1.0.tgz", - "integrity": "sha512-b74WGqBA8kxVZGq4/RqbCMJAKarmh4JMSBB15luQyWGtvLTKqAHP4/8ufbNmFxa5BSwpqMRL+CTpql/PGJCX7A==", - "dev": true, - "license": "MIT", - "dependencies": { - "@roku-road/bright": "^1.3.2" - }, - "engines": { - "node": ">=16.0.0", - "npm": ">=8.0.0" - }, - "peerDependencies": { - "eslint": "^8.9.0" - } - }, "node_modules/@dazn/kopytko-packager": { "version": "1.4.2", "resolved": "https://registry.npmjs.org/@dazn/kopytko-packager/-/kopytko-packager-1.4.2.tgz", @@ -156,120 +139,19 @@ } }, "node_modules/@dazn/kopytko-unit-testing-framework": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/@dazn/kopytko-unit-testing-framework/-/kopytko-unit-testing-framework-2.5.2.tgz", - "integrity": "sha512-/h3i3cGJ/TPKCFk78Fhbeidv7x58p6Mg7ETo/yL0emsg/wwT86D3xn+5/AcwjNKFPuQoSPhH3/JJhShYEugGyA==", + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/@dazn/kopytko-unit-testing-framework/-/kopytko-unit-testing-framework-2.6.4.tgz", + "integrity": "sha512-blXvdMv3ZrKpaUjV/eKDanPQxhgAJSooNuGdLbqZjE+JopHiWEw9W5OKiawV5cHA9SqI6woP4A3X9K52rPSMpg==", "dev": true, "license": "MIT", "dependencies": { - "fs-extra": "^11.3.4", - "glob": "^10.4.5" + "fs-extra": "^11.3.5", + "glob": "^10.5.0" }, "peerDependencies": { "@dazn/kopytko-packager": "^1.4.2" } }, - "node_modules/@eslint-community/eslint-utils": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.1.tgz", - "integrity": "sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "eslint-visitor-keys": "^3.4.3" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" - } - }, - "node_modules/@eslint-community/regexpp": { - "version": "4.12.2", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.2.tgz", - "integrity": "sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" - } - }, - "node_modules/@eslint/eslintrc": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", - "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^9.6.0", - "globals": "^13.19.0", - "ignore": "^5.2.0", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "minimatch": "^3.1.2", - "strip-json-comments": "^3.1.1" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@eslint/js": { - "version": "8.57.1", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.1.tgz", - "integrity": "sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } - }, - "node_modules/@humanwhocodes/config-array": { - "version": "0.13.0", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.13.0.tgz", - "integrity": "sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==", - "deprecated": "Use @eslint/config-array instead", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@humanwhocodes/object-schema": "^2.0.3", - "debug": "^4.3.1", - "minimatch": "^3.0.5" - }, - "engines": { - "node": ">=10.10.0" - } - }, - "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": { - "node": ">=12.22" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@humanwhocodes/object-schema": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", - "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", - "deprecated": "Use @eslint/object-schema instead", - "dev": true, - "license": "BSD-3-Clause" - }, "node_modules/@isaacs/cliui": { "version": "8.0.2", "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", @@ -288,60 +170,6 @@ "node": ">=12" } }, - "node_modules/@isaacs/cliui/node_modules/strip-ansi": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.2.0.tgz", - "integrity": "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^6.2.2" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" - } - }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - }, - "engines": { - "node": ">= 8" - } - }, "node_modules/@octokit/auth-token": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-6.0.0.tgz", @@ -459,16 +287,16 @@ } }, "node_modules/@octokit/request": { - "version": "10.0.8", - "resolved": "https://registry.npmjs.org/@octokit/request/-/request-10.0.8.tgz", - "integrity": "sha512-SJZNwY9pur9Agf7l87ywFi14W+Hd9Jg6Ifivsd33+/bGUQIjNujdFiXII2/qSlN2ybqUHfp5xpekMEjIBTjlSw==", + "version": "10.0.10", + "resolved": "https://registry.npmjs.org/@octokit/request/-/request-10.0.10.tgz", + "integrity": "sha512-KxNC2pTqqhszMNrf12ZRd4PonRgyJdsM4F/jySiddQK+DsRcfBtUvqn8t7UsyZhnRJHvX46OohDt5N3VqIWC2w==", "dev": true, "license": "MIT", "dependencies": { "@octokit/endpoint": "^11.0.3", "@octokit/request-error": "^7.0.2", "@octokit/types": "^16.0.0", - "fast-content-type-parse": "^3.0.0", + "content-type": "^2.0.0", "json-with-bigint": "^3.5.3", "universal-user-agent": "^7.0.2" }, @@ -541,9 +369,9 @@ "license": "ISC" }, "node_modules/@pnpm/npm-conf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@pnpm/npm-conf/-/npm-conf-3.0.2.tgz", - "integrity": "sha512-h104Kh26rR8tm+a3Qkc5S4VLYint3FE48as7+/5oCEcKR2idC/pF1G6AhIXKI+eHPJa/3J9i5z0Al47IeGHPkA==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@pnpm/npm-conf/-/npm-conf-3.0.3.tgz", + "integrity": "sha512-//0sR/cow/s4ICQaYoAobOl4aU8cjU6x/V24V7XkKotb9+O+3zySIYp146vpaobYHnxa4pZX8NkV54Z5AwbDKA==", "dev": true, "license": "MIT", "dependencies": { @@ -555,24 +383,6 @@ "node": ">=12" } }, - "node_modules/@roku-road/bright": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/@roku-road/bright/-/bright-1.3.2.tgz", - "integrity": "sha512-XfG0mscmdh42yM5S0y1eL6xrCOnd5oIO2Eb0+RyprOhheIHGQS88xOgnUESiJ9bJXu2gA8WZGLvY5yJwQEll5g==", - "dev": true, - "license": "MIT", - "dependencies": { - "chevrotain": "3.7.2", - "lodash": "4.17.12" - } - }, - "node_modules/@roku-road/bright/node_modules/lodash": { - "version": "4.17.12", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.12.tgz", - "integrity": "sha512-+CiwtLnsJhX03p20mwXuvhoebatoh5B3tt+VvYlrPgZC1g36y+RRbkufX95Xa+X4I59aWEacDFYwnJZiyBh9gA==", - "dev": true, - "license": "MIT" - }, "node_modules/@sec-ant/readable-stream": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/@sec-ant/readable-stream/-/readable-stream-0.4.1.tgz", @@ -656,9 +466,9 @@ } }, "node_modules/@semantic-release/github": { - "version": "12.0.6", - "resolved": "https://registry.npmjs.org/@semantic-release/github/-/github-12.0.6.tgz", - "integrity": "sha512-aYYFkwHW3c6YtHwQF0t0+lAjlU+87NFOZuH2CvWFD0Ylivc7MwhZMiHOJ0FMpIgPpCVib/VUAcOwvrW0KnxQtA==", + "version": "12.0.8", + "resolved": "https://registry.npmjs.org/@semantic-release/github/-/github-12.0.8.tgz", + "integrity": "sha512-tej5AAgK5X9wHRoDmYhecMXEHEkFeGOY1XsEblKxu8pIQwahzf1STYyr7iPU6Lpbg6C5I3N2w/ocXrBo+L7jhw==", "dev": true, "license": "MIT", "dependencies": { @@ -670,8 +480,8 @@ "aggregate-error": "^5.0.0", "debug": "^4.3.4", "dir-glob": "^3.0.1", - "http-proxy-agent": "^7.0.0", - "https-proxy-agent": "^7.0.0", + "http-proxy-agent": "^9.0.0", + "https-proxy-agent": "^9.0.0", "issue-parser": "^7.0.0", "lodash-es": "^4.17.21", "mime": "^4.0.0", @@ -730,19 +540,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@semantic-release/github/node_modules/escape-string-regexp": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", - "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/@semantic-release/github/node_modules/indent-string": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-5.0.0.tgz", @@ -829,19 +626,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@semantic-release/npm/node_modules/escape-string-regexp": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", - "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/@semantic-release/npm/node_modules/execa": { "version": "9.6.1", "resolved": "https://registry.npmjs.org/execa/-/execa-9.6.1.tgz", @@ -992,9 +776,9 @@ } }, "node_modules/@semantic-release/release-notes-generator": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/@semantic-release/release-notes-generator/-/release-notes-generator-14.1.0.tgz", - "integrity": "sha512-CcyDRk7xq+ON/20YNR+1I/jP7BYKICr1uKd1HHpROSnnTdGqOTburi4jcRiTYz0cpfhxSloQO3cGhnoot7IEkA==", + "version": "14.1.1", + "resolved": "https://registry.npmjs.org/@semantic-release/release-notes-generator/-/release-notes-generator-14.1.1.tgz", + "integrity": "sha512-Pbd2e2XRMUD0OxehHpgd5/YghsE76cddkRHSoDvKLK+OCy4Ewxn49rWR631MEUU01lgwF/uyVXvbnVuu6+Z6VA==", "dev": true, "license": "MIT", "dependencies": { @@ -1003,9 +787,7 @@ "conventional-commits-filter": "^5.0.0", "conventional-commits-parser": "^6.0.0", "debug": "^4.0.0", - "get-stream": "^7.0.0", "import-from-esm": "^2.0.0", - "into-stream": "^7.0.0", "lodash-es": "^4.17.21", "read-package-up": "^11.0.0" }, @@ -1016,19 +798,6 @@ "semantic-release": ">=20.1.0" } }, - "node_modules/@semantic-release/release-notes-generator/node_modules/get-stream": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-7.0.1.tgz", - "integrity": "sha512-3M8C1EOFN6r8AMUhwUAACIoXZJEOufDU5+0gFFN5uNs6XYOralD2Pqkl7m046va6x77FwposWXbAhPPIOus7mQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/@semantic-release/release-notes-generator/node_modules/hosted-git-info": { "version": "7.0.2", "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-7.0.2.tgz", @@ -1185,40 +954,10 @@ "dev": true, "license": "MIT" }, - "node_modules/@ungap/structured-clone": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.0.tgz", - "integrity": "sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==", - "dev": true, - "license": "ISC" - }, - "node_modules/acorn": { - "version": "8.16.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.16.0.tgz", - "integrity": "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==", - "dev": true, - "license": "MIT", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "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": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, "node_modules/adm-zip": { - "version": "0.5.16", - "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.5.16.tgz", - "integrity": "sha512-TGw5yVi4saajsSEgz25grObGHEUaDrniwvA2qwSC060KfqGPdglhvPMA2lPIoxs3PQIItj2iag35fONcQqgUaQ==", + "version": "0.5.17", + "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.5.17.tgz", + "integrity": "sha512-+Ut8d9LLqwEvHHJl1+PIHqoyDxFgVN847JTVM3Izi3xHDWPE4UtzzXysMZQs64DMcrJfBeS/uoEP4AD3HQHnQQ==", "dev": true, "license": "MIT", "engines": { @@ -1226,13 +965,13 @@ } }, "node_modules/agent-base": { - "version": "7.1.4", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.4.tgz", - "integrity": "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==", + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-9.0.0.tgz", + "integrity": "sha512-TQf59BsZnytt8GdJKLPfUZ54g/iaUL2OWDSFCCvMOhsHduDQxO8xC4PNeyIkVcA5KwL2phPSv0douC0fgWzmnA==", "dev": true, "license": "MIT", "engines": { - "node": ">= 14" + "node": ">= 20" } }, "node_modules/aggregate-error": { @@ -1249,23 +988,6 @@ "node": ">=8" } }, - "node_modules/ajv": { - "version": "6.14.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.14.0.tgz", - "integrity": "sha512-IWrosm/yrn43eiKqkfkHis7QioDleaXQHdDVPKg0FSwwd/DuvyX79TZnFOnYpB7dcsFAMmtFztZuXPDvSePkFw==", - "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/ansi-escapes": { "version": "7.3.0", "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-7.3.0.tgz", @@ -1394,14 +1116,13 @@ "license": "MIT" }, "node_modules/brace-expansion": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", - "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.1.1.tgz", + "integrity": "sha512-WR1cURNjuvBLMZBMbqM0UoE+WAfdUcEV1ccD8PVBVOI+Z3ND4+SZbN8RsfT2bMuG1qwz5RFvPukSZm5fF2D5eA==", "dev": true, "license": "MIT", "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "balanced-match": "^1.0.0" } }, "node_modules/braces": { @@ -1479,16 +1200,6 @@ "node": ">=10" } }, - "node_modules/chevrotain": { - "version": "3.7.2", - "resolved": "https://registry.npmjs.org/chevrotain/-/chevrotain-3.7.2.tgz", - "integrity": "sha512-K+DuQSKRulV2UvXgqEuioiKBpzUHEgwodEmeBV0ebiO6gb07UiC5H3FLRsG/3ZYmlI6oCZu1QF5NbHkd5l7fig==", - "dev": true, - "license": " Apache-2.0", - "dependencies": { - "regexp-to-ast": "0.3.5" - } - }, "node_modules/chroma-js": { "version": "2.6.0", "resolved": "https://registry.npmjs.org/chroma-js/-/chroma-js-2.6.0.tgz", @@ -1541,6 +1252,16 @@ "npm": ">=5.0.0" } }, + "node_modules/cli-highlight/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": { + "node": ">=8" + } + }, "node_modules/cli-highlight/node_modules/cliui": { "version": "7.0.4", "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", @@ -1575,6 +1296,19 @@ "node": ">=8" } }, + "node_modules/cli-highlight/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": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/cli-highlight/node_modules/wrap-ansi": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", @@ -1651,6 +1385,16 @@ "@colors/colors": "1.5.0" } }, + "node_modules/cli-table3/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": { + "node": ">=8" + } + }, "node_modules/cli-table3/node_modules/emoji-regex": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", @@ -1673,6 +1417,19 @@ "node": ">=8" } }, + "node_modules/cli-table3/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": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/cliui": { "version": "9.0.1", "resolved": "https://registry.npmjs.org/cliui/-/cliui-9.0.1.tgz", @@ -1726,22 +1483,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/cliui/node_modules/strip-ansi": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.2.0.tgz", - "integrity": "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^6.2.2" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" - } - }, "node_modules/cliui/node_modules/wrap-ansi": { "version": "9.0.2", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.2.tgz", @@ -1801,13 +1542,6 @@ "dot-prop": "^5.1.0" } }, - "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" - }, "node_modules/config-chain": { "version": "1.1.13", "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.13.tgz", @@ -1819,10 +1553,24 @@ "proto-list": "~1.2.1" } }, + "node_modules/content-type": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-2.0.0.tgz", + "integrity": "sha512-j/O/d7GcZCyNl7/hwZAb606rzqkyvaDctLmckbxLzHvFBzTJHuGEdodATcP3yIRoDrLHkIATJuvzbFlp/ki2cQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, "node_modules/conventional-changelog-angular": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-8.3.0.tgz", - "integrity": "sha512-DOuBwYSqWzfwuRByY9O4oOIvDlkUCTDzfbOgcSbkY+imXXj+4tmrEFao3K+FxemClYfYnZzsvudbwrhje9VHDA==", + "version": "8.3.1", + "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-8.3.1.tgz", + "integrity": "sha512-6gfI3otXK5Ph5DfCOI1dblr+kN3FAm5a97hYoQkqNZxOaYa5WKfXH+AnpsmS+iUH2mgVC2Cg2Qw9m5OKcmNrIg==", "dev": true, "license": "ISC", "dependencies": { @@ -1863,9 +1611,9 @@ } }, "node_modules/conventional-commits-parser": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-6.3.0.tgz", - "integrity": "sha512-RfOq/Cqy9xV9bOA8N+ZH6DlrDR+5S3Mi0B5kACEjESpE+AviIpAptx9a9cFpWCCvgRtWT+0BbUw+e1BZfts9jg==", + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-6.4.0.tgz", + "integrity": "sha512-tvRg7FIBNlyPzjdG8wWRlPHQJJHI7DylhtRGeU9Lq+JuoPh5BKpPRX83ZdLrvXuOSu5Eo/e7SzOQhU4Hd2Miuw==", "dev": true, "license": "MIT", "dependencies": { @@ -1900,9 +1648,9 @@ "license": "MIT" }, "node_modules/cosmiconfig": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-9.0.1.tgz", - "integrity": "sha512-hr4ihw+DBqcvrsEDioRO31Z17x71pUYoNe/4h6Z0wB72p7MU7/9gH8Q3s12NFhHPfYBBOV3qyfUxmr/Yn3shnQ==", + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-9.0.2.tgz", + "integrity": "sha512-gtTZxTDau1wL7Y7zifc2dd8jHSK/k6BTx/2Xp/BpdlAdnlYWFVt7qhJqgwi7637yRwRQ3qL4ZidbB4I8tA5VOg==", "dev": true, "license": "MIT", "dependencies": { @@ -2008,13 +1756,6 @@ "node": ">=4.0.0" } }, - "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" - }, "node_modules/defaults": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", @@ -2041,19 +1782,6 @@ "node": ">=8" } }, - "node_modules/doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, "node_modules/dot-prop": { "version": "5.3.0", "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz", @@ -2068,9 +1796,9 @@ } }, "node_modules/dotenv": { - "version": "17.3.1", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-17.3.1.tgz", - "integrity": "sha512-IO8C/dzEb6O3F9/twg6ZLXz164a2fhTnEWb95H23Dm4OuN+92NmEAlTrupP9VW6Jm3sO26tQlqyvyi4CsnY9GA==", + "version": "17.4.2", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-17.4.2.tgz", + "integrity": "sha512-nI4U3TottKAcAD9LLud4Cb7b2QztQMUEfHbvhTH09bqXTxnSie8WnjPALV/WMCrJZ6UV/qHJ6L03OqO3LcdYZw==", "dev": true, "license": "BSD-2-Clause", "engines": { @@ -2346,169 +2074,18 @@ } }, "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==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", + "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", "dev": true, "license": "MIT", "engines": { - "node": ">=10" + "node": ">=12" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/eslint": { - "version": "8.57.1", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.1.tgz", - "integrity": "sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==", - "deprecated": "This version is no longer supported. Please see https://eslint.org/version-support for other options.", - "dev": true, - "license": "MIT", - "dependencies": { - "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.6.1", - "@eslint/eslintrc": "^2.1.4", - "@eslint/js": "8.57.1", - "@humanwhocodes/config-array": "^0.13.0", - "@humanwhocodes/module-importer": "^1.0.1", - "@nodelib/fs.walk": "^1.2.8", - "@ungap/structured-clone": "^1.2.0", - "ajv": "^6.12.4", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.3.2", - "doctrine": "^3.0.0", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.2.2", - "eslint-visitor-keys": "^3.4.3", - "espree": "^9.6.1", - "esquery": "^1.4.2", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "globals": "^13.19.0", - "graphemer": "^1.4.0", - "ignore": "^5.2.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "is-path-inside": "^3.0.3", - "js-yaml": "^4.1.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.1.2", - "natural-compare": "^1.4.0", - "optionator": "^0.9.3", - "strip-ansi": "^6.0.1", - "text-table": "^0.2.0" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-scope": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", - "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "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": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/espree": { - "version": "9.6.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", - "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "acorn": "^8.9.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.4.1" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/esquery": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.7.0.tgz", - "integrity": "sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "estraverse": "^5.1.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "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": { - "estraverse": "^5.2.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "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": { - "node": ">=4.0" - } - }, - "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": { - "node": ">=0.10.0" - } - }, "node_modules/execa": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", @@ -2533,54 +2110,6 @@ "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, - "node_modules/fast-content-type-parse": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/fast-content-type-parse/-/fast-content-type-parse-3.0.0.tgz", - "integrity": "sha512-ZvLdcY8P+N8mGQJahJV5G4U88CSvT1rP8ApL6uETe88MBXrBHAkZlSEySdUlyztF7ccb+Znos3TFqaepHxdhBg==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/fastify" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/fastify" - } - ], - "license": "MIT" - }, - "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-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" - }, - "node_modules/fastq": { - "version": "1.20.1", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.20.1.tgz", - "integrity": "sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw==", - "dev": true, - "license": "ISC", - "dependencies": { - "reusify": "^1.0.4" - } - }, "node_modules/figures": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/figures/-/figures-6.1.0.tgz", @@ -2610,19 +2139,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/file-entry-cache": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", - "dev": true, - "license": "MIT", - "dependencies": { - "flat-cache": "^3.0.4" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, "node_modules/fill-range": { "version": "7.1.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", @@ -2637,20 +2153,16 @@ } }, "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==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==", "dev": true, "license": "MIT", "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" + "locate-path": "^2.0.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=4" } }, "node_modules/find-up-simple": { @@ -2683,28 +2195,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/flat-cache": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", - "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", - "dev": true, - "license": "MIT", - "dependencies": { - "flatted": "^3.2.9", - "keyv": "^4.5.3", - "rimraf": "^3.0.2" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/flatted": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.4.2.tgz", - "integrity": "sha512-PjDse7RzhcPkIJwy5t7KPWQSZ9cAbzQXcafsetQoD7sOJRQlGikNbx7yZp2OotDnJyrDcbyRq3Ttb18iYOqkxA==", - "dev": true, - "license": "ISC" - }, "node_modules/foreground-child": { "version": "3.3.1", "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz", @@ -2735,54 +2225,10 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/from2": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", - "integrity": "sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g==", - "dev": true, - "license": "MIT", - "dependencies": { - "inherits": "^2.0.1", - "readable-stream": "^2.0.0" - } - }, - "node_modules/from2/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "dev": true, - "license": "MIT", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/from2/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true, - "license": "MIT" - }, - "node_modules/from2/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "license": "MIT", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, "node_modules/fs-extra": { - "version": "11.3.4", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.4.tgz", - "integrity": "sha512-CTXd6rk/M3/ULNQj8FBqBWHYBVYybQ3VPBw0xGKFe3tuH7ytT6ACnvzpIQ3UZtB8yvUKC2cXn1a+x+5EVQLovA==", + "version": "11.3.5", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.5.tgz", + "integrity": "sha512-eKpRKAovdpZtR1WopLHxlBWvAgPny3c4gX1G5Jhwmmw4XJj0ifSD5qB5TOo8hmA0wlRKDAOAhEE1yVPgs6Fgcg==", "dev": true, "license": "MIT", "dependencies": { @@ -2794,13 +2240,6 @@ "node": ">=14.14" } }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "dev": true, - "license": "ISC" - }, "node_modules/function-timeout": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/function-timeout/-/function-timeout-1.0.2.tgz", @@ -2825,9 +2264,9 @@ } }, "node_modules/get-east-asian-width": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.5.0.tgz", - "integrity": "sha512-CQ+bEO+Tva/qlmw24dCejulK5pMzVnUOFOijVogd3KQs07HnRIgp8TGipvCCRT06xeYEbpbgwaCxglFyiuIcmA==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.6.0.tgz", + "integrity": "sha512-QRbvDIbx6YklUe6RxeTeleMR0yv3cYH6PsPZHcnVn7xv7zO1BHN8r0XETu8n6Ye3Q+ahtSarc3WgtNWmehIBfA==", "dev": true, "license": "MIT", "engines": { @@ -2887,61 +2326,6 @@ "url": "https://github.com/sponsors/isaacs" } }, - "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": { - "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/glob/node_modules/brace-expansion": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", - "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/glob/node_modules/minimatch": { - "version": "9.0.9", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.9.tgz", - "integrity": "sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^2.0.2" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/globals": { - "version": "13.24.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", - "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "type-fest": "^0.20.2" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/graceful-fs": { "version": "4.2.11", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", @@ -2949,17 +2333,10 @@ "dev": true, "license": "ISC" }, - "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/handlebars": { - "version": "4.7.8", - "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.8.tgz", - "integrity": "sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==", + "version": "4.7.9", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.9.tgz", + "integrity": "sha512-4E71E0rpOaQuJR2A3xDZ+GM1HyWYv1clR58tC8emQNeQe3RH7MAzSbat+V0wG78LQBo6m6bzSG/L4pBuCsgnUQ==", "dev": true, "license": "MIT", "dependencies": { @@ -3012,9 +2389,9 @@ } }, "node_modules/hosted-git-info": { - "version": "9.0.2", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-9.0.2.tgz", - "integrity": "sha512-M422h7o/BR3rmCQ8UHi7cyyMqKltdP9Uo+J2fXK+RSAY+wTcKOIRyhTuKv4qn+DJf3g+PL890AzId5KZpX+CBg==", + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-9.0.3.tgz", + "integrity": "sha512-Hc+ghLoSt6QaYZUv0WBiIvmMDZuZZ7oaDvdH8MbfOO4lOsxdXLEvuC6ePoGs9H1X9oCLyq6+NVN0MKqD+ydxyg==", "dev": true, "license": "ISC", "dependencies": { @@ -3025,9 +2402,9 @@ } }, "node_modules/hosted-git-info/node_modules/lru-cache": { - "version": "11.2.7", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.7.tgz", - "integrity": "sha512-aY/R+aEsRelme17KGQa/1ZSIpLpNYYrhcrepKTZgE+W3WM16YMCaPwOHLHsmopZHELU0Ojin1lPVxKR0MihncA==", + "version": "11.5.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.5.1.tgz", + "integrity": "sha512-RPimw/7aMdv2oqRrxKwvZXcPfwBrn/JZ2xYcY9Hus/6LaS3VOAKVWKWgNLCFSiOm1ESXinjsDlidVU7JlnCN2A==", "dev": true, "license": "BlueOak-1.0.0", "engines": { @@ -3035,31 +2412,33 @@ } }, "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==", + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-9.1.0.tgz", + "integrity": "sha512-2NxoveTT58mjYT4n3RPTEfCZGLMbidoO8XEieXfpSYxu+PQJ1qpx4ypwH6N+uF9twBPIvRRgvkvW5HUTYWENig==", "dev": true, "license": "MIT", "dependencies": { - "agent-base": "^7.1.0", - "debug": "^4.3.4" + "agent-base": "9.0.0", + "debug": "^4.3.4", + "proxy-agent-negotiate": "1.1.0" }, "engines": { - "node": ">= 14" + "node": ">= 20" } }, "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==", + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-9.1.0.tgz", + "integrity": "sha512-ag87y7cJJ9/3+GxFr8Oy4O5faDsGRGnBGsJj/YjOSsSx/5eadKLYTMPlzuR6obgoCDDm0abAAZitXXQkMOPSpA==", "dev": true, "license": "MIT", "dependencies": { - "agent-base": "^7.1.2", - "debug": "4" + "agent-base": "9.0.0", + "debug": "^4.3.4", + "proxy-agent-negotiate": "1.1.0" }, "engines": { - "node": ">= 14" + "node": ">= 20" } }, "node_modules/human-signals": { @@ -3093,16 +2472,6 @@ ], "license": "BSD-3-Clause" }, - "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/import-fresh": { "version": "3.3.1", "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", @@ -3120,6 +2489,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-from-esm": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/import-from-esm/-/import-from-esm-2.0.0.tgz", @@ -3145,16 +2524,6 @@ "url": "https://github.com/sponsors/wooorm" } }, - "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": { - "node": ">=0.8.19" - } - }, "node_modules/indent-string": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", @@ -3178,18 +2547,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", - "dev": true, - "license": "ISC", - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, "node_modules/inherits": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", @@ -3204,23 +2561,6 @@ "dev": true, "license": "ISC" }, - "node_modules/into-stream": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/into-stream/-/into-stream-7.0.0.tgz", - "integrity": "sha512-2dYz766i9HprMBasCMvHMuazJ7u4WzhJwo5kb3iPSiW/iRYV6uPari3zHoqZlnuaR7V1bEiNMxikhp37rdBXbw==", - "dev": true, - "license": "MIT", - "dependencies": { - "from2": "^2.3.0", - "p-is-promise": "^3.0.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/iota-array": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/iota-array/-/iota-array-1.0.0.tgz", @@ -3242,16 +2582,6 @@ "dev": true, "license": "MIT" }, - "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": { - "node": ">=0.10.0" - } - }, "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", @@ -3262,19 +2592,6 @@ "node": ">=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": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/is-interactive": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", @@ -3305,16 +2622,6 @@ "node": ">=8" } }, - "node_modules/is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/is-plain-obj": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", @@ -3369,9 +2676,9 @@ "license": "ISC" }, "node_modules/issue-parser": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/issue-parser/-/issue-parser-7.0.1.tgz", - "integrity": "sha512-3YZcUUR2Wt1WsapF+S/WiA2WmlW0cWAoPccMqne7AxEBhCdFeTPjfv/Axb8V2gyCgY3nRw+ksZ3xSUX+R47iAg==", + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/issue-parser/-/issue-parser-7.0.2.tgz", + "integrity": "sha512-7atWPjhGEIX3JEtMrOYd8TKzboYlq+5sNbdl9POiLYOI14G5HZiQbZP0Xj5EZdrufQVXfJlpTV0hys0CuxwxZw==", "dev": true, "license": "MIT", "dependencies": { @@ -3426,10 +2733,20 @@ "license": "MIT" }, "node_modules/js-yaml": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz", - "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.2.0.tgz", + "integrity": "sha512-ePWsvanv0DWuDRsW8dnt+R4jQ31SCRCQ7hhNcPXZPsoBZiemuZNYGf7adZdqX2D86j6rvKp3RpCxVTSb8WQlOw==", "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/puzrin" + }, + { + "type": "github", + "url": "https://github.com/sponsors/nodeca" + } + ], "license": "MIT", "dependencies": { "argparse": "^2.0.1" @@ -3438,13 +2755,6 @@ "js-yaml": "bin/js-yaml.js" } }, - "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-better-errors": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", @@ -3459,20 +2769,6 @@ "dev": true, "license": "MIT" }, - "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/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" - }, "node_modules/json-with-bigint": { "version": "3.5.8", "resolved": "https://registry.npmjs.org/json-with-bigint/-/json-with-bigint-3.5.8.tgz", @@ -3481,9 +2777,9 @@ "license": "MIT" }, "node_modules/jsonfile": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.2.0.tgz", - "integrity": "sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==", + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.2.1.tgz", + "integrity": "sha512-zwOTdL3rFQ/lRdBnntKVOX6k5cKJwEc1HdilT71BWEu7J41gXIB2MRp+vxduPSwZJPWBxEzv4yH1wYLJGUHX4Q==", "dev": true, "license": "MIT", "dependencies": { @@ -3493,14 +2789,46 @@ "graceful-fs": "^4.1.6" } }, - "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==", + "node_modules/kopytko-brightscript-parser": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/kopytko-brightscript-parser/-/kopytko-brightscript-parser-1.0.2.tgz", + "integrity": "sha512-3kc5DlJ1djpVDDuGri7VMXqSCUWb69UsSPbW4PjDuL+OAlK60BRovNTqXOEEuyeWlRUk4zWu0SGFDFYdWgAPcw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=24.0.0" + } + }, + "node_modules/kopytko-formatter": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/kopytko-formatter/-/kopytko-formatter-1.1.2.tgz", + "integrity": "sha512-Bj4htrebO47IqURwHHYHLocS2IhqHyOyCZxL3kSIDGh1eVoZ6pEHZ03cjrhIQlmKQwlZes7PzyCdsGueT6jshg==", "dev": true, "license": "MIT", "dependencies": { - "json-buffer": "3.0.1" + "kopytko-brightscript-parser": "^1.0.2" + }, + "bin": { + "kopytko-format": "dist/bin/kopytko-format.js" + }, + "engines": { + "node": ">=24.0.0" + } + }, + "node_modules/kopytko-linter": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/kopytko-linter/-/kopytko-linter-1.3.1.tgz", + "integrity": "sha512-c2Q5gio9V6FmEBRcuoBtsvvXCmdLuG4c/C8qism3Mw44rqa0Mu+mAEKkml3yPGcBQGz/kMex8N5Vd4kwqDf0Yg==", + "dev": true, + "license": "MIT", + "dependencies": { + "kopytko-brightscript-parser": "^1.0.2" + }, + "bin": { + "kopytko-lint": "dist/bin/kopytko-lint.js" + }, + "engines": { + "node": ">=24.0.0" } }, "node_modules/latinize": { @@ -3520,20 +2848,6 @@ "node": ">=6.0.0" } }, - "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": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, "node_modules/lines-and-columns": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", @@ -3572,32 +2886,30 @@ } }, "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==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==", "dev": true, "license": "MIT", "dependencies": { - "p-locate": "^5.0.0" + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=4" } }, "node_modules/lodash": { - "version": "4.17.23", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.23.tgz", - "integrity": "sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w==", + "version": "4.18.1", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.18.1.tgz", + "integrity": "sha512-dMInicTPVE8d1e5otfwmmjlxkZoUpiVLwyeTdUsi/Caj/gfzzblBcCE5sRHV/AsjuCmxWrte2TNGSYuCeCq+0Q==", "dev": true, "license": "MIT" }, "node_modules/lodash-es": { - "version": "4.17.23", - "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.23.tgz", - "integrity": "sha512-kVI48u3PZr38HdYz98UmfPnXl2DXrpdctLrFLCd3kOx1xUkOmpFPx7gCWWM5MPkL/fD8zb+Ph0QzjGFs4+hHWg==", + "version": "4.18.1", + "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.18.1.tgz", + "integrity": "sha512-J8xewKD/Gk22OZbhpOVSwcs60zhd95ESDwezOFuA3/099925PdHJ7OFHNTGtajL3AlZkykD32HykiMo+BIBI8A==", "dev": true, "license": "MIT" }, @@ -3629,13 +2941,6 @@ "dev": true, "license": "MIT" }, - "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" - }, "node_modules/lodash.uniqby": { "version": "4.7.0", "resolved": "https://registry.npmjs.org/lodash.uniqby/-/lodash.uniqby-4.7.0.tgz", @@ -3807,16 +3112,19 @@ } }, "node_modules/minimatch": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz", - "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==", + "version": "9.0.9", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.9.tgz", + "integrity": "sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg==", "dev": true, "license": "ISC", "dependencies": { - "brace-expansion": "^1.1.7" + "brace-expansion": "^2.0.2" }, "engines": { - "node": "*" + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, "node_modules/minimist": { @@ -3858,13 +3166,6 @@ "thenify-all": "^1.0.0" } }, - "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/ndarray": { "version": "1.0.19", "resolved": "https://registry.npmjs.org/ndarray/-/ndarray-1.0.19.tgz", @@ -3952,9 +3253,9 @@ } }, "node_modules/normalize-url": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-9.0.0.tgz", - "integrity": "sha512-z9nC87iaZXXySbWWtTHfCFJyFvKaUAW6lODhikG7ILSbVgmwuFjUqkgnheHvAUcGedO29e2QGBRXMUD64aurqQ==", + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-9.0.1.tgz", + "integrity": "sha512-ARftfC5HdUNu9jJeL8pHj8debUIHA2b91FizCoMzY4lG6dDX13jdvTK0TBe24IBDRf2HvJSzzwEPvmbkQWHRSg==", "dev": true, "license": "MIT", "engines": { @@ -3965,9 +3266,9 @@ } }, "node_modules/npm": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/npm/-/npm-11.12.0.tgz", - "integrity": "sha512-xPhOap4ZbJWyd7DAOukP564WFwNSGu/2FeTRFHhiiKthcauxhH/NpkJAQm24xD+cAn8av5tQ00phi98DqtfLsg==", + "version": "11.17.0", + "resolved": "https://registry.npmjs.org/npm/-/npm-11.17.0.tgz", + "integrity": "sha512-PurxiZexEHDTE4SSaLI3ZrnbAGiZfeyUcQcxcP5D+hfytNAze/D1IzDuInTn9XVLIbAQUnQuSPXJx02LHjLvQw==", "bundleDependencies": [ "@isaacs/string-locale-compare", "@npmcli/arborist", @@ -4046,8 +3347,8 @@ ], "dependencies": { "@isaacs/string-locale-compare": "^1.1.0", - "@npmcli/arborist": "^9.4.2", - "@npmcli/config": "^10.8.0", + "@npmcli/arborist": "^9.8.0", + "@npmcli/config": "^10.11.0", "@npmcli/fs": "^5.0.0", "@npmcli/map-workspaces": "^5.0.3", "@npmcli/metavuln-calculator": "^9.0.3", @@ -4065,27 +3366,27 @@ "fs-minipass": "^3.0.3", "glob": "^13.0.6", "graceful-fs": "^4.2.11", - "hosted-git-info": "^9.0.2", + "hosted-git-info": "^9.0.3", "ini": "^6.0.0", "init-package-json": "^8.2.5", - "is-cidr": "^6.0.3", + "is-cidr": "^6.0.4", "json-parse-even-better-errors": "^5.0.0", "libnpmaccess": "^10.0.3", - "libnpmdiff": "^8.1.5", - "libnpmexec": "^10.2.5", - "libnpmfund": "^7.0.19", + "libnpmdiff": "^8.1.10", + "libnpmexec": "^10.3.0", + "libnpmfund": "^7.0.24", "libnpmorg": "^8.0.1", - "libnpmpack": "^9.1.5", - "libnpmpublish": "^11.1.3", + "libnpmpack": "^9.1.10", + "libnpmpublish": "^11.2.0", "libnpmsearch": "^9.0.1", "libnpmteam": "^8.0.2", - "libnpmversion": "^8.0.3", - "make-fetch-happen": "^15.0.5", - "minimatch": "^10.2.4", + "libnpmversion": "^8.0.4", + "make-fetch-happen": "^15.0.6", + "minimatch": "^10.2.5", "minipass": "^7.1.3", "minipass-pipeline": "^1.2.4", "ms": "^2.1.2", - "node-gyp": "^12.2.0", + "node-gyp": "^12.4.0", "nopt": "^9.0.0", "npm-audit-report": "^7.0.0", "npm-install-checks": "^8.0.0", @@ -4095,16 +3396,16 @@ "npm-registry-fetch": "^19.1.1", "npm-user-validate": "^4.0.0", "p-map": "^7.0.4", - "pacote": "^21.5.0", + "pacote": "^21.5.1", "parse-conflict-json": "^5.0.1", "proc-log": "^6.1.0", "qrcode-terminal": "^0.12.0", "read": "^5.0.1", - "semver": "^7.7.4", + "semver": "^7.8.4", "spdx-expression-parse": "^4.0.0", "ssri": "^13.0.1", "supports-color": "^10.2.2", - "tar": "^7.5.11", + "tar": "^7.5.16", "text-table": "~0.2.0", "tiny-relative-date": "^2.0.2", "treeverse": "^3.0.0", @@ -4160,7 +3461,7 @@ "license": "ISC" }, "node_modules/npm/node_modules/@npmcli/agent": { - "version": "4.0.0", + "version": "4.0.2", "dev": true, "inBundle": true, "license": "ISC", @@ -4176,7 +3477,7 @@ } }, "node_modules/npm/node_modules/@npmcli/arborist": { - "version": "9.4.2", + "version": "9.8.0", "dev": true, "inBundle": true, "license": "ISC", @@ -4224,7 +3525,7 @@ } }, "node_modules/npm/node_modules/@npmcli/config": { - "version": "10.8.0", + "version": "10.11.0", "dev": true, "inBundle": true, "license": "ISC", @@ -4418,7 +3719,7 @@ } }, "node_modules/npm/node_modules/@sigstore/core": { - "version": "3.2.0", + "version": "3.2.1", "dev": true, "inBundle": true, "license": "Apache-2.0", @@ -4427,7 +3728,7 @@ } }, "node_modules/npm/node_modules/@sigstore/protobuf-specs": { - "version": "0.5.0", + "version": "0.5.1", "dev": true, "inBundle": true, "license": "Apache-2.0", @@ -4466,13 +3767,13 @@ } }, "node_modules/npm/node_modules/@sigstore/verify": { - "version": "3.1.0", + "version": "3.1.1", "dev": true, "inBundle": true, "license": "Apache-2.0", "dependencies": { "@sigstore/bundle": "^4.0.0", - "@sigstore/core": "^3.1.0", + "@sigstore/core": "^3.2.1", "@sigstore/protobuf-specs": "^0.5.0" }, "engines": { @@ -4541,7 +3842,7 @@ } }, "node_modules/npm/node_modules/bin-links": { - "version": "6.0.0", + "version": "6.0.2", "dev": true, "inBundle": true, "license": "ISC", @@ -4569,7 +3870,7 @@ } }, "node_modules/npm/node_modules/brace-expansion": { - "version": "5.0.4", + "version": "5.0.6", "dev": true, "inBundle": true, "license": "MIT", @@ -4638,7 +3939,7 @@ } }, "node_modules/npm/node_modules/cidr-regex": { - "version": "5.0.3", + "version": "5.0.5", "dev": true, "inBundle": true, "license": "BSD-2-Clause", @@ -4694,7 +3995,7 @@ } }, "node_modules/npm/node_modules/diff": { - "version": "8.0.3", + "version": "8.0.4", "dev": true, "inBundle": true, "license": "BSD-3-Clause", @@ -4762,7 +4063,7 @@ "license": "ISC" }, "node_modules/npm/node_modules/hosted-git-info": { - "version": "9.0.2", + "version": "9.0.3", "dev": true, "inBundle": true, "license": "ISC", @@ -4861,7 +4162,7 @@ } }, "node_modules/npm/node_modules/ip-address": { - "version": "10.1.0", + "version": "10.2.0", "dev": true, "inBundle": true, "license": "MIT", @@ -4870,12 +4171,12 @@ } }, "node_modules/npm/node_modules/is-cidr": { - "version": "6.0.3", + "version": "6.0.4", "dev": true, "inBundle": true, "license": "BSD-2-Clause", "dependencies": { - "cidr-regex": "^5.0.1" + "cidr-regex": "^5.0.4" }, "engines": { "node": ">=20" @@ -4943,12 +4244,12 @@ } }, "node_modules/npm/node_modules/libnpmdiff": { - "version": "8.1.5", + "version": "8.1.10", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "@npmcli/arborist": "^9.4.2", + "@npmcli/arborist": "^9.8.0", "@npmcli/installed-package-contents": "^4.0.0", "binary-extensions": "^3.0.0", "diff": "^8.0.2", @@ -4962,13 +4263,13 @@ } }, "node_modules/npm/node_modules/libnpmexec": { - "version": "10.2.5", + "version": "10.3.0", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { "@gar/promise-retry": "^1.0.0", - "@npmcli/arborist": "^9.4.2", + "@npmcli/arborist": "^9.8.0", "@npmcli/package-json": "^7.0.0", "@npmcli/run-script": "^10.0.0", "ci-info": "^4.0.0", @@ -4985,12 +4286,12 @@ } }, "node_modules/npm/node_modules/libnpmfund": { - "version": "7.0.19", + "version": "7.0.24", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "@npmcli/arborist": "^9.4.2" + "@npmcli/arborist": "^9.8.0" }, "engines": { "node": "^20.17.0 || >=22.9.0" @@ -5010,12 +4311,12 @@ } }, "node_modules/npm/node_modules/libnpmpack": { - "version": "9.1.5", + "version": "9.1.10", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "@npmcli/arborist": "^9.4.2", + "@npmcli/arborist": "^9.8.0", "@npmcli/run-script": "^10.0.0", "npm-package-arg": "^13.0.0", "pacote": "^21.0.2" @@ -5025,7 +4326,7 @@ } }, "node_modules/npm/node_modules/libnpmpublish": { - "version": "11.1.3", + "version": "11.2.0", "dev": true, "inBundle": true, "license": "ISC", @@ -5069,7 +4370,7 @@ } }, "node_modules/npm/node_modules/libnpmversion": { - "version": "8.0.3", + "version": "8.0.4", "dev": true, "inBundle": true, "license": "ISC", @@ -5085,7 +4386,7 @@ } }, "node_modules/npm/node_modules/lru-cache": { - "version": "11.2.7", + "version": "11.5.1", "dev": true, "inBundle": true, "license": "BlueOak-1.0.0", @@ -5094,7 +4395,7 @@ } }, "node_modules/npm/node_modules/make-fetch-happen": { - "version": "15.0.5", + "version": "15.0.6", "dev": true, "inBundle": true, "license": "ISC", @@ -5117,12 +4418,12 @@ } }, "node_modules/npm/node_modules/minimatch": { - "version": "10.2.4", + "version": "10.2.5", "dev": true, "inBundle": true, "license": "BlueOak-1.0.0", "dependencies": { - "brace-expansion": "^5.0.2" + "brace-expansion": "^5.0.5" }, "engines": { "node": "18 || 20 || >=22" @@ -5170,35 +4471,17 @@ } }, "node_modules/npm/node_modules/minipass-flush": { - "version": "1.0.5", - "dev": true, - "inBundle": true, - "license": "ISC", - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/npm/node_modules/minipass-flush/node_modules/minipass": { - "version": "3.3.6", + "version": "1.0.6", "dev": true, "inBundle": true, - "license": "ISC", + "license": "BlueOak-1.0.0", "dependencies": { - "yallist": "^4.0.0" + "minipass": "^7.1.3" }, "engines": { - "node": ">=8" + "node": ">=16 || 14 >=14.17" } }, - "node_modules/npm/node_modules/minipass-flush/node_modules/yallist": { - "version": "4.0.0", - "dev": true, - "inBundle": true, - "license": "ISC" - }, "node_modules/npm/node_modules/minipass-pipeline": { "version": "1.2.4", "dev": true, @@ -5278,7 +4561,7 @@ } }, "node_modules/npm/node_modules/node-gyp": { - "version": "12.2.0", + "version": "12.4.0", "dev": true, "inBundle": true, "license": "MIT", @@ -5286,12 +4569,12 @@ "env-paths": "^2.2.0", "exponential-backoff": "^3.1.1", "graceful-fs": "^4.2.6", - "make-fetch-happen": "^15.0.0", "nopt": "^9.0.0", "proc-log": "^6.0.0", "semver": "^7.3.5", "tar": "^7.5.4", "tinyglobby": "^0.2.12", + "undici": "^6.25.0", "which": "^6.0.0" }, "bin": { @@ -5455,7 +4738,7 @@ } }, "node_modules/npm/node_modules/pacote": { - "version": "21.5.0", + "version": "21.5.1", "dev": true, "inBundle": true, "license": "ISC", @@ -5516,7 +4799,7 @@ } }, "node_modules/npm/node_modules/postcss-selector-parser": { - "version": "7.1.1", + "version": "7.1.4", "dev": true, "inBundle": true, "license": "MIT", @@ -5613,7 +4896,7 @@ "optional": true }, "node_modules/npm/node_modules/semver": { - "version": "7.7.4", + "version": "7.8.4", "dev": true, "inBundle": true, "license": "ISC", @@ -5637,17 +4920,17 @@ } }, "node_modules/npm/node_modules/sigstore": { - "version": "4.1.0", + "version": "4.1.1", "dev": true, "inBundle": true, "license": "Apache-2.0", "dependencies": { "@sigstore/bundle": "^4.0.0", - "@sigstore/core": "^3.1.0", + "@sigstore/core": "^3.2.1", "@sigstore/protobuf-specs": "^0.5.0", - "@sigstore/sign": "^4.1.0", - "@sigstore/tuf": "^4.0.1", - "@sigstore/verify": "^3.1.0" + "@sigstore/sign": "^4.1.1", + "@sigstore/tuf": "^4.0.2", + "@sigstore/verify": "^3.1.1" }, "engines": { "node": "^20.17.0 || >=22.9.0" @@ -5664,12 +4947,12 @@ } }, "node_modules/npm/node_modules/socks": { - "version": "2.8.7", + "version": "2.8.9", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { - "ip-address": "^10.0.1", + "ip-address": "^10.1.1", "smart-buffer": "^4.2.0" }, "engines": { @@ -5738,7 +5021,7 @@ } }, "node_modules/npm/node_modules/tar": { - "version": "7.5.11", + "version": "7.5.16", "dev": true, "inBundle": true, "license": "BlueOak-1.0.0", @@ -5766,13 +5049,13 @@ "license": "MIT" }, "node_modules/npm/node_modules/tinyglobby": { - "version": "0.2.15", + "version": "0.2.17", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { "fdir": "^6.5.0", - "picomatch": "^4.0.3" + "picomatch": "^4.0.4" }, "engines": { "node": ">=12.0.0" @@ -5799,7 +5082,7 @@ } }, "node_modules/npm/node_modules/tinyglobby/node_modules/picomatch": { - "version": "4.0.3", + "version": "4.0.4", "dev": true, "inBundle": true, "license": "MIT", @@ -5833,6 +5116,15 @@ "node": "^20.17.0 || >=22.9.0" } }, + "node_modules/npm/node_modules/undici": { + "version": "6.26.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=18.17" + } + }, "node_modules/npm/node_modules/util-deprecate": { "version": "1.0.2", "dev": true, @@ -5910,16 +5202,6 @@ "dev": true, "license": "MIT" }, - "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==", - "dev": true, - "license": "ISC", - "dependencies": { - "wrappy": "1" - } - }, "node_modules/onetime": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", @@ -5936,24 +5218,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "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": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.5" - }, - "engines": { - "node": ">= 0.8.0" - } - }, "node_modules/ora": { "version": "5.4.1", "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", @@ -5978,6 +5242,29 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/ora/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": { + "node": ">=8" + } + }, + "node_modules/ora/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": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/p-each-series": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/p-each-series/-/p-each-series-3.0.0.tgz", @@ -6023,46 +5310,30 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/p-is-promise": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-3.0.0.tgz", - "integrity": "sha512-Wo8VsW4IRQSKVXsJCn7TomUaVtyfjVDn3nUP7kE967BQk0CwFpdbZs0X0uk5sW9mkBa9eNM7hCMaG93WUAwxYQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "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==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", "dev": true, "license": "MIT", "dependencies": { - "yocto-queue": "^0.1.0" + "p-try": "^1.0.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=4" } }, "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==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==", "dev": true, "license": "MIT", "dependencies": { - "p-limit": "^3.0.2" + "p-limit": "^1.1.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=4" } }, "node_modules/p-map": { @@ -6188,23 +5459,13 @@ "license": "MIT" }, "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/path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", "dev": true, "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, "node_modules/path-key": { @@ -6288,69 +5549,6 @@ "node": ">=4" } }, - "node_modules/pkg-conf/node_modules/find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "locate-path": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/pkg-conf/node_modules/locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/pkg-conf/node_modules/p-limit": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", - "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-try": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/pkg-conf/node_modules/p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-limit": "^1.1.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/pkg-conf/node_modules/path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, "node_modules/pngjs": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-6.0.0.tgz", @@ -6361,16 +5559,6 @@ "node": ">=12.13.0" } }, - "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": { - "node": ">= 0.8.0" - } - }, "node_modules/pretty-ms": { "version": "9.3.0", "resolved": "https://registry.npmjs.org/pretty-ms/-/pretty-ms-9.3.0.tgz", @@ -6401,36 +5589,23 @@ "dev": true, "license": "ISC" }, - "node_modules/punycode": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", - "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "node_modules/proxy-agent-negotiate": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-agent-negotiate/-/proxy-agent-negotiate-1.1.0.tgz", + "integrity": "sha512-N8IBcM3UgCVzz2L2Lqv8DVntDnnC8/hiV4nEDUPkqq72TPUgYWjQc+bdZlBPZK9LzPAvOY//gAt0S0DApoOXWQ==", "dev": true, "license": "MIT", "engines": { - "node": ">=6" - } - }, - "node_modules/queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" + "node": ">= 20" + }, + "peerDependencies": { + "kerberos": "^2.0.0" + }, + "peerDependenciesMeta": { + "kerberos": { + "optional": true } - ], - "license": "MIT" + } }, "node_modules/rc": { "version": "1.2.8", @@ -6444,18 +5619,8 @@ "minimist": "^1.2.0", "strip-json-comments": "~2.0.1" }, - "bin": { - "rc": "cli.js" - } - }, - "node_modules/rc/node_modules/strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" + "bin": { + "rc": "cli.js" } }, "node_modules/read-package-up": { @@ -6476,22 +5641,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/read-package-up/node_modules/type-fest": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-5.5.0.tgz", - "integrity": "sha512-PlBfpQwiUvGViBNX84Yxwjsdhd1TUlXr6zjX7eoirtCPIr08NAmxwa+fcYBTeRQxHo9YC9wwF3m9i700sHma8g==", - "dev": true, - "license": "(MIT OR CC0-1.0)", - "dependencies": { - "tagged-tag": "^1.0.0" - }, - "engines": { - "node": ">=20" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/read-pkg": { "version": "10.1.0", "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-10.1.0.tgz", @@ -6543,22 +5692,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/read-pkg/node_modules/type-fest": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-5.5.0.tgz", - "integrity": "sha512-PlBfpQwiUvGViBNX84Yxwjsdhd1TUlXr6zjX7eoirtCPIr08NAmxwa+fcYBTeRQxHo9YC9wwF3m9i700sHma8g==", - "dev": true, - "license": "(MIT OR CC0-1.0)", - "dependencies": { - "tagged-tag": "^1.0.0" - }, - "engines": { - "node": ">=20" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/readable-stream": { "version": "3.6.2", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", @@ -6574,13 +5707,6 @@ "node": ">= 6" } }, - "node_modules/regexp-to-ast": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/regexp-to-ast/-/regexp-to-ast-0.3.5.tgz", - "integrity": "sha512-1CJygtdvsfNFwiyjaMLBWtg2tfEqx/jSZ8S6TV+GlNL8kiH8rb4cm5Pb7A/C2BpyM/fA8ZJEudlCwi/jvAY+Ow==", - "dev": true, - "license": "MIT" - }, "node_modules/registry-auth-token": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-5.1.1.tgz", @@ -6605,13 +5731,13 @@ } }, "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==", + "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": { @@ -6628,80 +5754,6 @@ "node": ">=8" } }, - "node_modules/reusify": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz", - "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", - "dev": true, - "license": "MIT", - "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" - } - }, - "node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "deprecated": "Rimraf versions prior to v4 are no longer supported", - "dev": true, - "license": "ISC", - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/rimraf/node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "deprecated": "Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me", - "dev": true, - "license": "ISC", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT", - "dependencies": { - "queue-microtask": "^1.2.2" - } - }, "node_modules/safe-buffer": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", @@ -6734,9 +5786,9 @@ } }, "node_modules/semantic-release": { - "version": "25.0.3", - "resolved": "https://registry.npmjs.org/semantic-release/-/semantic-release-25.0.3.tgz", - "integrity": "sha512-WRgl5GcypwramYX4HV+eQGzUbD7UUbljVmS+5G1uMwX/wLgYuJAxGeerXJDMO2xshng4+FXqCgyB5QfClV6WjA==", + "version": "25.0.5", + "resolved": "https://registry.npmjs.org/semantic-release/-/semantic-release-25.0.5.tgz", + "integrity": "sha512-mn61SUJwtM8ThrWn2WmgLVpwVJeG/hPSupua1psdMoufmwRIPyvRLkRkL0JDXkP67OntlLWUYnBnfVc8EDO3/g==", "dev": true, "license": "MIT", "dependencies": { @@ -6819,19 +5871,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/semantic-release/node_modules/escape-string-regexp": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", - "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/semantic-release/node_modules/execa": { "version": "9.6.1", "resolved": "https://registry.npmjs.org/execa/-/execa-9.6.1.tgz", @@ -6955,16 +5994,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/semantic-release/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/semantic-release/node_modules/signal-exit": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", @@ -7005,9 +6034,9 @@ } }, "node_modules/semver": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", - "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.4.tgz", + "integrity": "sha512-rUCObTnP32Q08R2uuIrt7r9PlEonuTmtuXYcW6s5kjdlj3xbnwe+21yXptAUYcMAABLkYYTtnmzb3w3EDZfueA==", "dev": true, "license": "ISC", "bin": { @@ -7360,6 +6389,16 @@ "node": ">=8" } }, + "node_modules/string-width-cjs/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": { + "node": ">=8" + } + }, "node_modules/string-width-cjs/node_modules/emoji-regex": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", @@ -7367,33 +6406,33 @@ "dev": true, "license": "MIT" }, - "node_modules/string-width/node_modules/strip-ansi": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.2.0.tgz", - "integrity": "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==", + "node_modules/string-width-cjs/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": { - "ansi-regex": "^6.2.2" + "ansi-regex": "^5.0.1" }, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" + "node": ">=8" } }, "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==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.2.0.tgz", + "integrity": "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==", "dev": true, "license": "MIT", "dependencies": { - "ansi-regex": "^5.0.1" + "ansi-regex": "^6.2.2" }, "engines": { - "node": ">=8" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, "node_modules/strip-ansi-cjs": { @@ -7420,16 +6459,6 @@ "node": ">=8" } }, - "node_modules/strip-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": { - "node": ">=8" - } - }, "node_modules/strip-bom": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", @@ -7451,16 +6480,13 @@ } }, "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==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", "dev": true, "license": "MIT", "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=0.10.0" } }, "node_modules/super-regex": { @@ -7599,13 +6625,6 @@ "node": ">=16.13.0" } }, - "node_modules/text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", - "dev": true, - "license": "MIT" - }, "node_modules/thenify": { "version": "3.3.1", "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", @@ -7690,14 +6709,14 @@ } }, "node_modules/tinyglobby": { - "version": "0.2.15", - "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz", - "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==", + "version": "0.2.17", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.17.tgz", + "integrity": "sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g==", "dev": true, "license": "MIT", "dependencies": { "fdir": "^6.5.0", - "picomatch": "^4.0.3" + "picomatch": "^4.0.4" }, "engines": { "node": ">=12.0.0" @@ -7764,9 +6783,9 @@ } }, "node_modules/tree-kit": { - "version": "0.8.8", - "resolved": "https://registry.npmjs.org/tree-kit/-/tree-kit-0.8.8.tgz", - "integrity": "sha512-L7zwpXp0/Nha6mljVcVOnhhxuCkFRWmt26wza3TKnyMBewid4F2vyiVdcSsw41ZoG1Wj+3lM48Er9lhttbxfLA==", + "version": "0.8.10", + "resolved": "https://registry.npmjs.org/tree-kit/-/tree-kit-0.8.10.tgz", + "integrity": "sha512-mwuV3lHL+utI9z7vxah/27wrMJprx925xhkw1N4KuGa1dqIi0DLHWfXJpHEyR+ZI0Ij80zN58ztiGp3KlH0wtw==", "dev": true, "license": "MIT", "engines": { @@ -7783,27 +6802,17 @@ "node": ">=0.6.11 <=0.7.0 || >=0.7.3" } }, - "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": { - "prelude-ls": "^1.2.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, "node_modules/type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-5.7.0.tgz", + "integrity": "sha512-1URUxUqfHFM1c+zfSPsa3gnkO7Aq21qyH75SIduNYz4SzY964rn1X2vCMQaHSHhktiw+0kPa2iyb6PUpXqB6Vg==", "dev": true, "license": "(MIT OR CC0-1.0)", + "dependencies": { + "tagged-tag": "^1.0.0" + }, "engines": { - "node": ">=10" + "node": ">=20" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -7824,9 +6833,9 @@ } }, "node_modules/undici": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/undici/-/undici-7.24.5.tgz", - "integrity": "sha512-3IWdCpjgxp15CbJnsi/Y9TCDE7HWVN19j1hmzVhoAkY/+CJx449tVxT5wZc1Gwg8J+P0LWvzlBzxYRnHJ+1i7Q==", + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/undici/-/undici-7.28.0.tgz", + "integrity": "sha512-cRZYrTDwWznlnRiPjggAGxZXanty6M8RV1ff8Wm4LWXBp7/IG8v5DnOm74DtUBp9OONpK75YlPnIjQqX0dBDtA==", "dev": true, "license": "MIT", "engines": { @@ -7896,16 +6905,6 @@ "node": ">= 10.0.0" } }, - "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": { - "punycode": "^2.1.0" - } - }, "node_modules/url-join": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/url-join/-/url-join-5.0.0.tgz", @@ -7967,16 +6966,6 @@ "node": ">= 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": { - "node": ">=0.10.0" - } - }, "node_modules/wordwrap": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", @@ -8021,6 +7010,16 @@ "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, + "node_modules/wrap-ansi-cjs/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": { + "node": ">=8" + } + }, "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", @@ -8043,42 +7042,32 @@ "node": ">=8" } }, - "node_modules/wrap-ansi/node_modules/ansi-styles": { - "version": "6.2.3", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz", - "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==", + "node_modules/wrap-ansi-cjs/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", - "engines": { - "node": ">=12" + "dependencies": { + "ansi-regex": "^5.0.1" }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "engines": { + "node": ">=8" } }, - "node_modules/wrap-ansi/node_modules/strip-ansi": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.2.0.tgz", - "integrity": "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==", + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz", + "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==", "dev": true, "license": "MIT", - "dependencies": { - "ansi-regex": "^6.2.2" - }, "engines": { "node": ">=12" }, "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "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==", - "dev": true, - "license": "ISC" - }, "node_modules/xml2js": { "version": "0.6.2", "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.6.2.tgz", @@ -8176,35 +7165,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/yargs/node_modules/strip-ansi": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.2.0.tgz", - "integrity": "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^6.2.2" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" - } - }, - "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/yoctocolors": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/yoctocolors/-/yoctocolors-2.1.2.tgz", diff --git a/package.json b/package.json index 6bcd4dd..461c24c 100644 --- a/package.json +++ b/package.json @@ -20,18 +20,21 @@ "!**/_tests" ], "scripts": { - "lint": "eslint --ext .brs src/", + "format": "kopytko-format --write \"src/**/*.brs\"", + "format:check": "kopytko-format --check \"src/**/*.brs\"", + "lint": "kopytko-lint --check --source-dir src", + "lint:fix": "kopytko-lint --fix --source-dir src", "test": "node node_modules/@dazn/kopytko-unit-testing-framework/scripts/test.js" }, "devDependencies": { - "@dazn/eslint-plugin-kopytko": "^2.1.0", "@dazn/kopytko-packager": "^1.4.2", - "@dazn/kopytko-unit-testing-framework": "^2.5.2", + "@dazn/kopytko-unit-testing-framework": "^2.6.4", "@semantic-release/changelog": "^6.0.3", "@semantic-release/git": "^10.0.1", - "@semantic-release/github": "^12.0.6", - "eslint": "^8.57.1", - "semantic-release": "^25.0.3" + "@semantic-release/github": "^12.0.8", + "kopytko-formatter": "^1.1.2", + "kopytko-linter": "^1.3.1", + "semantic-release": "^25.0.5" }, "license": "MIT", "kopytkoModuleDir": "src/", diff --git a/src/components/ArrayUtils.brs b/src/components/ArrayUtils.brs index bc135e4..fc399f7 100644 --- a/src/components/ArrayUtils.brs +++ b/src/components/ArrayUtils.brs @@ -200,7 +200,7 @@ function ArrayUtils() as Object ' @param {Function} sortByFunction - It should return any sortable type that can be procesed by ifArraySort.SortBy function. ' @param {Dynamic} [scopedData=Invalid] - Any data that is passed to predicate to deal with BrightScript variable scope. ' @returns {Array} - prototype.sortBy = function(array as Object, sortByFunction as Function, scopedData = Invalid as Object) as Object + prototype.sortBy = function (array as Object, sortByFunction as Function, scopedData = Invalid as Object) as Object sortedArray = [] if (scopedData <> Invalid) diff --git a/src/components/_tests/Assert.test.brs b/src/components/_tests/Assert.test.brs index 6038cf2..55df04c 100644 --- a/src/components/_tests/Assert.test.brs +++ b/src/components/_tests/Assert.test.brs @@ -1,5 +1,6 @@ ' @import /components/KopytkoTestSuite.brs from @dazn/kopytko-unit-testing-framework -function TestSuite__Assert() + +function TestSuite__Assert() as Object ts = KopytkoTestSuite() ts.name = "Assert" diff --git a/src/components/_tests/CacheFS.test.brs b/src/components/_tests/CacheFS.test.brs index a7b5d58..2d61117 100644 --- a/src/components/_tests/CacheFS.test.brs +++ b/src/components/_tests/CacheFS.test.brs @@ -1,5 +1,6 @@ ' @import /components/KopytkoTestSuite.brs from @dazn/kopytko-unit-testing-framework ' @mock /components/rokuComponents/EVPDigest.brs + function TestSuite__CacheFS() as Object ts = KopytkoTestSuite() ts.name = "CacheFS" diff --git a/src/components/_tests/Debouncer.test.brs b/src/components/_tests/Debouncer.test.brs index ef54d28..00c0eb6 100644 --- a/src/components/_tests/Debouncer.test.brs +++ b/src/components/_tests/Debouncer.test.brs @@ -1,15 +1,16 @@ ' @import /components/KopytkoTestSuite.brs from @dazn/kopytko-unit-testing-framework ' @mock /components/timers/clearTimeout.brs ' @mock /components/timers/setTimeout.brs + function TestSuite__Debouncer() as Object ts = KopytkoTestSuite() ts.name = "Debouncer" - ts.setBeforeEach(sub (ts as Object) + ts.setBeforeEach(sub (_ts as Object) m.__mocks = {} m.__mocks.setTimeout = { calls: [], - getReturnValue: sub (params as Object, m as Object): + getReturnValue: sub (_params as Object, m as Object): callback = m.__mocks.setTimeout.calls[m.__mocks.setTimeout.calls.count() - 1].params.callback callback() end sub, diff --git a/src/components/_tests/MathUtils/MathUtils.test.brs b/src/components/_tests/MathUtils/MathUtils.test.brs index eaf8c75..dd27b3b 100644 --- a/src/components/_tests/MathUtils/MathUtils.test.brs +++ b/src/components/_tests/MathUtils/MathUtils.test.brs @@ -1,4 +1,5 @@ ' @import /components/KopytkoTestSuite.brs from @dazn/kopytko-unit-testing-framework + function MathUtilsTestSuite() as Object ts = KopytkoTestSuite() diff --git a/src/components/_tests/MathUtils/MathUtils_ceil.test.brs b/src/components/_tests/MathUtils/MathUtils_ceil.test.brs index 4859f13..8b3df3e 100644 --- a/src/components/_tests/MathUtils/MathUtils_ceil.test.brs +++ b/src/components/_tests/MathUtils/MathUtils_ceil.test.brs @@ -1,4 +1,4 @@ -function TestSuite__MathUtils_ceil() +function TestSuite__MathUtils_ceil() as Object ts = MathUtilsTestSuite() ts.name = "MathUtils - ceil" diff --git a/src/components/_tests/MathUtils/MathUtils_toRadians.test.brs b/src/components/_tests/MathUtils/MathUtils_toRadians.test.brs index 2fb7b32..35f335c 100644 --- a/src/components/_tests/MathUtils/MathUtils_toRadians.test.brs +++ b/src/components/_tests/MathUtils/MathUtils_toRadians.test.brs @@ -1,4 +1,4 @@ -function TestSuite__MathUtils_toRadians() +function TestSuite__MathUtils_toRadians() as Object ts = MathUtilsTestSuite() ts.name = "MathUtils - toRadians" diff --git a/src/components/_tests/NodeUtils/NodeUtils.test.brs b/src/components/_tests/NodeUtils/NodeUtils.test.brs index f9d8d14..8edd834 100644 --- a/src/components/_tests/NodeUtils/NodeUtils.test.brs +++ b/src/components/_tests/NodeUtils/NodeUtils.test.brs @@ -1,4 +1,5 @@ ' @import /components/KopytkoTestSuite.brs from @dazn/kopytko-unit-testing-framework + function NodeUtilsTestSuite() ts = KopytkoTestSuite() diff --git a/src/components/_tests/NodeUtils/NodeUtils_Main.test.brs b/src/components/_tests/NodeUtils/NodeUtils_Main.test.brs index 41dac3f..08b9b8b 100644 --- a/src/components/_tests/NodeUtils/NodeUtils_Main.test.brs +++ b/src/components/_tests/NodeUtils/NodeUtils_Main.test.brs @@ -1,4 +1,4 @@ -function TestSuite__NodeUtils_Main() +function TestSuite__NodeUtils_Main() as Object ts = NodeUtilsTestSuite() ts.name = "NodeUtils - Main" diff --git a/src/components/_tests/NodeUtils/NodeUtils_areNodesTheSame.test.brs b/src/components/_tests/NodeUtils/NodeUtils_areNodesTheSame.test.brs index a75a5a4..2d61b67 100644 --- a/src/components/_tests/NodeUtils/NodeUtils_areNodesTheSame.test.brs +++ b/src/components/_tests/NodeUtils/NodeUtils_areNodesTheSame.test.brs @@ -1,4 +1,4 @@ -function TestSuite__NodeUtils_areNodesTheSame() +function TestSuite__NodeUtils_areNodesTheSame() as Object ts = NodeUtilsTestSuite() ts.name = "NodeUtils - areNodesTheSame" diff --git a/src/components/_tests/NodeUtils/NodeUtils_forEachChild.test.brs b/src/components/_tests/NodeUtils/NodeUtils_forEachChild.test.brs index 4bb4ded..02bf0d1 100644 --- a/src/components/_tests/NodeUtils/NodeUtils_forEachChild.test.brs +++ b/src/components/_tests/NodeUtils/NodeUtils_forEachChild.test.brs @@ -1,4 +1,4 @@ -function TestSuite__NodeUtils_forEachChild() +function TestSuite__NodeUtils_forEachChild() as Object ts = NodeUtilsTestSuite() ts.name = "NodeUtils - forEachChild" @@ -8,7 +8,7 @@ function TestSuite__NodeUtils_forEachChild() m.__wasActionApplied = false ' When - actualResult = ts.__nodeUtils.forEachChild(node, sub (child as Object, m as Object) + ts.__nodeUtils.forEachChild(node, sub (_child as Object, m as Object) m.__wasActionApplied = true end sub, m) @@ -25,7 +25,7 @@ function TestSuite__NodeUtils_forEachChild() childrenWithAppliedAction = [] ' When - actualResult = ts.__nodeUtils.forEachChild(node, sub (child as Object, index as Integer, m as Object) + ts.__nodeUtils.forEachChild(node, sub (child as Object, _index as Integer, m as Object) m.childrenWithAppliedAction.push(child.id) end sub, { childrenWithAppliedAction: childrenWithAppliedAction }) diff --git a/src/components/_tests/NodeUtils/NodeUtils_getCustomFields.test.brs b/src/components/_tests/NodeUtils/NodeUtils_getCustomFields.test.brs index 0866079..12a72fb 100644 --- a/src/components/_tests/NodeUtils/NodeUtils_getCustomFields.test.brs +++ b/src/components/_tests/NodeUtils/NodeUtils_getCustomFields.test.brs @@ -1,4 +1,4 @@ -function TestSuite__NodeUtils_getCustomFields() +function TestSuite__NodeUtils_getCustomFields() as Object ts = NodeUtilsTestSuite() ts.name = "NodeUtils - getCustomFields" diff --git a/src/components/_tests/ObjectUtils/ObjectUtils.test.brs b/src/components/_tests/ObjectUtils/ObjectUtils.test.brs index fe6450f..8e62f02 100644 --- a/src/components/_tests/ObjectUtils/ObjectUtils.test.brs +++ b/src/components/_tests/ObjectUtils/ObjectUtils.test.brs @@ -1,5 +1,6 @@ ' @import /components/KopytkoTestSuite.brs from @dazn/kopytko-unit-testing-framework -function ObjectUtilsTestSuite() + +function ObjectUtilsTestSuite() as Object ts = KopytkoTestSuite() ts.setBeforeEach(sub (ts as Object) diff --git a/src/components/_tests/ObjectUtils/ObjectUtils_invert.test.brs b/src/components/_tests/ObjectUtils/ObjectUtils_invert.test.brs index f80a04e..2809083 100644 --- a/src/components/_tests/ObjectUtils/ObjectUtils_invert.test.brs +++ b/src/components/_tests/ObjectUtils/ObjectUtils_invert.test.brs @@ -1,4 +1,4 @@ -function TestSuite__ObjectUtils_invert() +function TestSuite__ObjectUtils_invert() as Object ts = ObjectUtilsTestSuite() ts.name = "ObjectUtils - invert" diff --git a/src/components/_tests/ObjectUtils/ObjectUtils_merge.test.brs b/src/components/_tests/ObjectUtils/ObjectUtils_merge.test.brs index e87aa70..6e5082f 100644 --- a/src/components/_tests/ObjectUtils/ObjectUtils_merge.test.brs +++ b/src/components/_tests/ObjectUtils/ObjectUtils_merge.test.brs @@ -1,4 +1,4 @@ -function TestSuite__ObjectUtils_merge() +function TestSuite__ObjectUtils_merge() as Object ts = ObjectUtilsTestSuite() ts.name = "ObjectUtils - merge" diff --git a/src/components/_tests/SharedNodeContextFacade.test.brs b/src/components/_tests/SharedNodeContextFacade.test.brs index 0ce0c67..6a235cc 100644 --- a/src/components/_tests/SharedNodeContextFacade.test.brs +++ b/src/components/_tests/SharedNodeContextFacade.test.brs @@ -1,9 +1,10 @@ ' @import /components/KopytkoTestSuite.brs from @dazn/kopytko-unit-testing-framework + function TestSuite__SharedNodeContextFacade() as Object ts = KopytkoTestSuite() ts.name = "SharedNodeContextFacade" - ts.setBeforeEach(sub (ts as Object) + ts.setBeforeEach(sub (_ts as Object) m._sharedNodeContext = Invalid ' #orderMatters m.__sharedContext = SharedNodeContextFacade() diff --git a/src/components/_tests/arrayUtils/ArrayUtils.test.brs b/src/components/_tests/arrayUtils/ArrayUtils.test.brs index f185a93..17272de 100644 --- a/src/components/_tests/arrayUtils/ArrayUtils.test.brs +++ b/src/components/_tests/arrayUtils/ArrayUtils.test.brs @@ -1,5 +1,6 @@ ' @import /components/KopytkoTestSuite.brs from @dazn/kopytko-unit-testing-framework -function ArrayUtilsTestSuite() + +function ArrayUtilsTestSuite() as Object ts = KopytkoTestSuite() ts.setBeforeEach(sub (ts as Object) diff --git a/src/components/_tests/arrayUtils/ArrayUtils_contains.test.brs b/src/components/_tests/arrayUtils/ArrayUtils_contains.test.brs index 67f6dc6..571f1f3 100644 --- a/src/components/_tests/arrayUtils/ArrayUtils_contains.test.brs +++ b/src/components/_tests/arrayUtils/ArrayUtils_contains.test.brs @@ -1,4 +1,4 @@ -function TestSuite__ArrayUtils_contains() +function TestSuite__ArrayUtils_contains() as Object ts = ArrayUtilsTestSuite() ts.name = "ArrayUtils - contains" diff --git a/src/components/_tests/arrayUtils/ArrayUtils_filter.test.brs b/src/components/_tests/arrayUtils/ArrayUtils_filter.test.brs index 635f06e..af14f2a 100644 --- a/src/components/_tests/arrayUtils/ArrayUtils_filter.test.brs +++ b/src/components/_tests/arrayUtils/ArrayUtils_filter.test.brs @@ -1,4 +1,4 @@ -function TestSuite__ArrayUtils_filter() +function TestSuite__ArrayUtils_filter() as Object ts = ArrayUtilsTestSuite() ts.name = "ArrayUtils - filter" @@ -34,7 +34,7 @@ function TestSuite__ArrayUtils_filter() ] ' When - result = ts.__arrayUtils.filter(arrayToFilter, function (item as Object) as Object + result = ts.__arrayUtils.filter(arrayToFilter, function (_item as Object) as Object return true end function) diff --git a/src/components/_tests/arrayUtils/ArrayUtils_find.test.brs b/src/components/_tests/arrayUtils/ArrayUtils_find.test.brs index e0e762d..1c7fb60 100644 --- a/src/components/_tests/arrayUtils/ArrayUtils_find.test.brs +++ b/src/components/_tests/arrayUtils/ArrayUtils_find.test.brs @@ -1,4 +1,4 @@ -function TestSuite__ArrayUtils_find() +function TestSuite__ArrayUtils_find() as Object ts = ArrayUtilsTestSuite() ts.name = "ArrayUtils - find" diff --git a/src/components/_tests/arrayUtils/ArrayUtils_map.test.brs b/src/components/_tests/arrayUtils/ArrayUtils_map.test.brs index 85552cf..d09b8fd 100644 --- a/src/components/_tests/arrayUtils/ArrayUtils_map.test.brs +++ b/src/components/_tests/arrayUtils/ArrayUtils_map.test.brs @@ -1,4 +1,4 @@ -function TestSuite__ArrayUtils_map() +function TestSuite__ArrayUtils_map() as Object ts = ArrayUtilsTestSuite() ts.name = "ArrayUtils - map" @@ -31,7 +31,7 @@ function TestSuite__ArrayUtils_map() expectedResult = ["item-1", "same name", "item-3"] ' When - result = ts.__arrayUtils.map(arrayToMap, function (item as Object, name) as Object + result = ts.__arrayUtils.map(arrayToMap, function (item as Object, name as String) as Object if (item.name <> name) return item.name end if diff --git a/src/components/_tests/arrayUtils/ArrayUtils_reject.test.brs b/src/components/_tests/arrayUtils/ArrayUtils_reject.test.brs index 537d928..0fd7aed 100644 --- a/src/components/_tests/arrayUtils/ArrayUtils_reject.test.brs +++ b/src/components/_tests/arrayUtils/ArrayUtils_reject.test.brs @@ -1,4 +1,4 @@ -function TestSuite__ArrayUtils_reject() +function TestSuite__ArrayUtils_reject() as Object ts = ArrayUtilsTestSuite() ts.name = "ArrayUtils - reject" @@ -52,7 +52,7 @@ function TestSuite__ArrayUtils_reject() expectedResult = [] ' When - result = ts.__arrayUtils.reject(arrayToReject, function (item as Object) as Object + result = ts.__arrayUtils.reject(arrayToReject, function (_item as Object) as Object return true end function) diff --git a/src/components/_tests/arrayUtils/ArrayUtils_slice.test.brs b/src/components/_tests/arrayUtils/ArrayUtils_slice.test.brs index 67e4a0e..8da8334 100644 --- a/src/components/_tests/arrayUtils/ArrayUtils_slice.test.brs +++ b/src/components/_tests/arrayUtils/ArrayUtils_slice.test.brs @@ -1,4 +1,4 @@ -function TestSuite__ArrayUtils_slice() +function TestSuite__ArrayUtils_slice() as Object ts = ArrayUtilsTestSuite() ts.name = "ArrayUtils - slice" diff --git a/src/components/_tests/arrayUtils/ArrayUtils_sortBy.test.brs b/src/components/_tests/arrayUtils/ArrayUtils_sortBy.test.brs index ed313aa..91f2b20 100644 --- a/src/components/_tests/arrayUtils/ArrayUtils_sortBy.test.brs +++ b/src/components/_tests/arrayUtils/ArrayUtils_sortBy.test.brs @@ -1,4 +1,4 @@ -function TestSuite__ArrayUtils_sortBy() +function TestSuite__ArrayUtils_sortBy() as Object ts = ArrayUtilsTestSuite() ts.name = "ArrayUtils - sortBy" diff --git a/src/components/_tests/buildUrl.test.brs b/src/components/_tests/buildUrl.test.brs index b0be9c7..56972f8 100644 --- a/src/components/_tests/buildUrl.test.brs +++ b/src/components/_tests/buildUrl.test.brs @@ -1,4 +1,5 @@ ' @import /components/KopytkoTestSuite.brs from @dazn/kopytko-unit-testing-framework + function TestSuite__buildUrl() as Object ts = KopytkoTestSuite() ts.name = "buildUrl" @@ -81,7 +82,7 @@ function TestSuite__buildUrl() as Object ts.addTest("ignores parameters that can't be converted to non-empty string", function (ts as Object) as String ' Given path = "/example-path" - params = { param1: "", param2: ["p2"], param3: { p3: "p3"}, param4: CreateObject("roSGNode", "Node"), param5: invalid } + params = { param1: "", param2: ["p2"], param3: { p3: "p3" }, param4: CreateObject("roSGNode", "Node"), param5: Invalid } expectedUrl = "/example-path" ' When @@ -145,7 +146,7 @@ function TestSuite__buildUrl() as Object ts.addTest("ignores array parameters that can't be converted to non-empty string", function (ts as Object) as String ' Given path = "/example-path" - params = [{ key: "param1", value: "" }, { key: "param2", value: invalid }] + params = [{ key: "param1", value: "" }, { key: "param2", value: Invalid }] expectedUrl = "/example-path" ' When diff --git a/src/components/_tests/getProperty.test.brs b/src/components/_tests/getProperty.test.brs index 8ecfe88..3e030db 100644 --- a/src/components/_tests/getProperty.test.brs +++ b/src/components/_tests/getProperty.test.brs @@ -1,4 +1,5 @@ ' @import /components/KopytkoTestSuite.brs from @dazn/kopytko-unit-testing-framework + function TestSuite__getProperty() as Object ts = KopytkoTestSuite() ts.name = "getProperty" diff --git a/src/components/_tests/padStart.test.brs b/src/components/_tests/padStart.test.brs index da3fb53..7343efa 100644 --- a/src/components/_tests/padStart.test.brs +++ b/src/components/_tests/padStart.test.brs @@ -1,4 +1,5 @@ ' @import /components/KopytkoTestSuite.brs from @dazn/kopytko-unit-testing-framework + function TestSuite__padStart() as Object ts = KopytkoTestSuite() ts.name = "padStart" diff --git a/src/components/_tests/ternary.test.brs b/src/components/_tests/ternary.test.brs index 0a8d4b2..9023f18 100644 --- a/src/components/_tests/ternary.test.brs +++ b/src/components/_tests/ternary.test.brs @@ -1,4 +1,5 @@ ' @import /components/KopytkoTestSuite.brs from @dazn/kopytko-unit-testing-framework + function TestSuite__ternary() as Object ts = KopytkoTestSuite() ts.name = "ternary" diff --git a/src/components/_tests/uuid.test.brs b/src/components/_tests/uuid.test.brs index cce5341..cd061aa 100644 --- a/src/components/_tests/uuid.test.brs +++ b/src/components/_tests/uuid.test.brs @@ -1,4 +1,5 @@ ' @import /components/KopytkoTestSuite.brs from @dazn/kopytko-unit-testing-framework + function TestSuite__uuid() as Object ts = KopytkoTestSuite() ts.name = "uuid" @@ -25,7 +26,7 @@ function TestSuite__uuid() as Object hashes2 = [] ' When - for i = 0 to 50 + for _i = 0 to 50 hashes1.push(uuid()) hashes2.push(uuid()) end for diff --git a/src/components/animation/ParallelAnimationFactory.brs b/src/components/animation/ParallelAnimationFactory.brs index c67a182..2d90c7a 100644 --- a/src/components/animation/ParallelAnimationFactory.brs +++ b/src/components/animation/ParallelAnimationFactory.brs @@ -14,7 +14,7 @@ function ParallelAnimationFactory() as Object ' @param {Object.} options.animations ' @param {Node} element ' @returns {Object} - ParallelAnimation component - prototype.createAnimation = function(name as String, options = {} as Object) as Object + prototype.createAnimation = function (name as String, options = {} as Object) as Object parallelAnimationNode = ParallelAnimation() parallelAnimationNode.setFields({ id: name, diff --git a/src/components/animation/_tests/ParallelAnimationFactory.test.brs b/src/components/animation/_tests/ParallelAnimationFactory.test.brs index 75e135f..d0610cc 100644 --- a/src/components/animation/_tests/ParallelAnimationFactory.test.brs +++ b/src/components/animation/_tests/ParallelAnimationFactory.test.brs @@ -1,6 +1,7 @@ ' @import /components/KopytkoTestSuite.brs from @dazn/kopytko-unit-testing-framework ' @import /components/rokuComponents/Animation.brs ' @mock /components/animator/AnimatorFactory.brs + function TestSuite__ParallelAnimationFactory() as Object ts = KopytkoTestSuite() ts.name = "ParallelAnimatorFactory" @@ -62,8 +63,8 @@ function TestSuite__ParallelAnimationFactory() as Object optional: false, repeat: false, fields: [ - { field: "opacity", type: "float" } - { field: "translation", type: "vector2d" } + { field: "opacity", type: "float" }, + { field: "translation", type: "vector2d" }, ], }, }, @@ -84,8 +85,8 @@ function TestSuite__ParallelAnimationFactory() as Object optional: options.animations.elementOne.optional, repeat: options.animations.elementOne.repeat, fields: options.animations.elementOne.fields, - }, - } + }, + } return expect("AnimatorFactory.createAnimation").toHaveBeenCalledWith(expectedConfig, { times: 1 }) end function) @@ -105,8 +106,8 @@ function TestSuite__ParallelAnimationFactory() as Object optional: false, repeat: false, fields: [ - { field: "opacity", type: "float" } - { field: "translation", type: "vector2d" } + { field: "opacity", type: "float" }, + { field: "translation", type: "vector2d" }, ], }, elementTwo: { @@ -118,7 +119,7 @@ function TestSuite__ParallelAnimationFactory() as Object optional: false, repeat: false, fields: [ - { field: "color", type: "color" } + { field: "color", type: "color" }, ], }, }, diff --git a/src/components/animator/AnimatorCore.brs b/src/components/animator/AnimatorCore.brs index a9a6c04..5eb5403 100644 --- a/src/components/animator/AnimatorCore.brs +++ b/src/components/animator/AnimatorCore.brs @@ -121,7 +121,7 @@ function AnimatorCore() as Object keyValue: options.keyValue, reverse: options.reverse, type: element.getFieldTypes()[field], - } + }, ], } end function diff --git a/src/components/animator/_tests/Animator.test.brs b/src/components/animator/_tests/Animator.test.brs index ba7d169..b086381 100644 --- a/src/components/animator/_tests/Animator.test.brs +++ b/src/components/animator/_tests/Animator.test.brs @@ -1,9 +1,10 @@ ' @import /components/KopytkoTestSuite.brs from @dazn/kopytko-unit-testing-framework ' @mock /components/animator/AnimatorCore.brs + function AnimatorTestSuite() as Object ts = KopytkoTestSuite() - ts.setBeforeEach(sub (ts as Object) + ts.setBeforeEach(sub (_ts as Object) m.__animator = Animator() m.__mocks = {} diff --git a/src/components/animator/_tests/AnimatorCore.test.brs b/src/components/animator/_tests/AnimatorCore.test.brs index e8a7dd3..03fcaba 100644 --- a/src/components/animator/_tests/AnimatorCore.test.brs +++ b/src/components/animator/_tests/AnimatorCore.test.brs @@ -2,14 +2,15 @@ ' @import /components/getProperty.brs ' @mock /components/animator/AnimatorFactory.brs ' @mock /components/rokuComponents/Animation.brs + function AnimatorCoreTestSuite() as Object ts = KopytkoTestSuite() - ts.setBeforeEach(sub (ts as Object) + ts.setBeforeEach(sub (_ts as Object) m.__mocks = {} m.__mocks.animatorFactory = { createAnimation: { - getReturnValue: function (params as Object, m as Object) as Object + getReturnValue: function (params as Object, _m as Object) as Object _animation = Animation() _animation.id = params.name @@ -21,7 +22,7 @@ function AnimatorCoreTestSuite() as Object m.__animator = AnimatorCore() end sub) - ts.setAfterEach(sub (ts as Object) + ts.setAfterEach(sub (_ts as Object) m.__animator.destroy() m.delete("$$animatorContexts") end sub) diff --git a/src/components/animator/_tests/AnimatorCore_animate.test.brs b/src/components/animator/_tests/AnimatorCore_animate.test.brs index 5fbc4ae..d38ed1c 100644 --- a/src/components/animator/_tests/AnimatorCore_animate.test.brs +++ b/src/components/animator/_tests/AnimatorCore_animate.test.brs @@ -1,4 +1,4 @@ -function TestSuite__AnimatorCore_animate() +function TestSuite__AnimatorCore_animate() as Object ts = AnimatorCoreTestSuite() ts.name = "AnimatorCore - animate" diff --git a/src/components/animator/_tests/AnimatorCore_finishAll.test.brs b/src/components/animator/_tests/AnimatorCore_finishAll.test.brs index 45b2221..d5c9c91 100644 --- a/src/components/animator/_tests/AnimatorCore_finishAll.test.brs +++ b/src/components/animator/_tests/AnimatorCore_finishAll.test.brs @@ -1,4 +1,4 @@ -function TestSuite__AnimatorCore_finishAll() +function TestSuite__AnimatorCore_finishAll() as Object ts = AnimatorCoreTestSuite() ts.name = "AnimatorCore - finishAll" diff --git a/src/components/animator/_tests/AnimatorCore_promise.test.brs b/src/components/animator/_tests/AnimatorCore_promise.test.brs index 6c7e701..a204640 100644 --- a/src/components/animator/_tests/AnimatorCore_promise.test.brs +++ b/src/components/animator/_tests/AnimatorCore_promise.test.brs @@ -1,4 +1,4 @@ -function TestSuite__AnimatorCore_promise() +function TestSuite__AnimatorCore_promise() as Object ts = AnimatorCoreTestSuite() ts.name = "AnimatorCore - promise" diff --git a/src/components/animator/_tests/AnimatorCore_stopAll.test.brs b/src/components/animator/_tests/AnimatorCore_stopAll.test.brs index 51e762b..16aaf9b 100644 --- a/src/components/animator/_tests/AnimatorCore_stopAll.test.brs +++ b/src/components/animator/_tests/AnimatorCore_stopAll.test.brs @@ -1,4 +1,4 @@ -function TestSuite__AnimatorCore_stopAll() +function TestSuite__AnimatorCore_stopAll() as Object ts = AnimatorCoreTestSuite() ts.name = "AnimatorCore - stopAll" diff --git a/src/components/animator/_tests/AnimatorFactory.test.brs b/src/components/animator/_tests/AnimatorFactory.test.brs index cd06f99..58275ab 100644 --- a/src/components/animator/_tests/AnimatorFactory.test.brs +++ b/src/components/animator/_tests/AnimatorFactory.test.brs @@ -3,11 +3,12 @@ ' @mock /components/rokuComponents/ColorFieldInterpolator.brs ' @mock /components/rokuComponents/FloatFieldInterpolator.brs ' @mock /components/rokuComponents/Vector2DFieldInterpolator.brs + function TestSuite__AnimatorFactory() as Object ts = KopytkoTestSuite() ts.name = "AnimatorFactory" - ts.setBeforeEach(sub (ts as Object) + ts.setBeforeEach(sub (_ts as Object) m.__animatorFactory = AnimatorFactory() end sub) diff --git a/src/components/animator/_tests/Animator_animate.test.brs b/src/components/animator/_tests/Animator_animate.test.brs index 3429836..38f9457 100644 --- a/src/components/animator/_tests/Animator_animate.test.brs +++ b/src/components/animator/_tests/Animator_animate.test.brs @@ -1,4 +1,4 @@ -function TestSuite__Animator_animate() +function TestSuite__Animator_animate() as Object ts = AnimatorTestSuite() ts.name = "Animator - animate" diff --git a/src/components/animator/_tests/Animator_fade.test.brs b/src/components/animator/_tests/Animator_fade.test.brs index 7db36b6..7da7aa8 100644 --- a/src/components/animator/_tests/Animator_fade.test.brs +++ b/src/components/animator/_tests/Animator_fade.test.brs @@ -1,4 +1,4 @@ -function TestSuite__Animator_fade() +function TestSuite__Animator_fade() as Object ts = AnimatorTestSuite() ts.name = "Animator - fade" diff --git a/src/components/animator/_tests/Animator_fadeIn.test.brs b/src/components/animator/_tests/Animator_fadeIn.test.brs index 1c0b1dd..745850b 100644 --- a/src/components/animator/_tests/Animator_fadeIn.test.brs +++ b/src/components/animator/_tests/Animator_fadeIn.test.brs @@ -1,4 +1,4 @@ -function TestSuite__Animator_fadeIn() +function TestSuite__Animator_fadeIn() as Object ts = AnimatorTestSuite() ts.name = "Animator - fadeIn" diff --git a/src/components/animator/_tests/Animator_fadeOut.test.brs b/src/components/animator/_tests/Animator_fadeOut.test.brs index 9be9fea..cb92711 100644 --- a/src/components/animator/_tests/Animator_fadeOut.test.brs +++ b/src/components/animator/_tests/Animator_fadeOut.test.brs @@ -1,4 +1,4 @@ -function TestSuite__Animator_fadeOut() +function TestSuite__Animator_fadeOut() as Object ts = AnimatorTestSuite() ts.name = "Animator - fadeOut" diff --git a/src/components/animator/_tests/Animator_finishAll.test.brs b/src/components/animator/_tests/Animator_finishAll.test.brs index eb5cf4e..013abc2 100644 --- a/src/components/animator/_tests/Animator_finishAll.test.brs +++ b/src/components/animator/_tests/Animator_finishAll.test.brs @@ -1,4 +1,4 @@ -function TestSuite__Animator_finishAll() +function TestSuite__Animator_finishAll() as Object ts = AnimatorTestSuite() ts.name = "Animator - finishAll" diff --git a/src/components/animator/_tests/Animator_stopAll.test.brs b/src/components/animator/_tests/Animator_stopAll.test.brs index 1724b9b..349a699 100644 --- a/src/components/animator/_tests/Animator_stopAll.test.brs +++ b/src/components/animator/_tests/Animator_stopAll.test.brs @@ -1,4 +1,4 @@ -function TestSuite__Animator_stopAll() +function TestSuite__Animator_stopAll() as Object ts = AnimatorTestSuite() ts.name = "Animator - stopAll" diff --git a/src/components/animator/_tests/Animator_translate.test.brs b/src/components/animator/_tests/Animator_translate.test.brs index 760feb1..7313788 100644 --- a/src/components/animator/_tests/Animator_translate.test.brs +++ b/src/components/animator/_tests/Animator_translate.test.brs @@ -1,4 +1,4 @@ -function TestSuite__Animator_translate() +function TestSuite__Animator_translate() as Object ts = AnimatorTestSuite() ts.name = "Animator - translate" diff --git a/src/components/animator/_tests/Animator_translateX.test.brs b/src/components/animator/_tests/Animator_translateX.test.brs index 43ca29d..ed686b6 100644 --- a/src/components/animator/_tests/Animator_translateX.test.brs +++ b/src/components/animator/_tests/Animator_translateX.test.brs @@ -1,4 +1,4 @@ -function TestSuite__Animator_translateX() +function TestSuite__Animator_translateX() as Object ts = AnimatorTestSuite() ts.name = "Animator - translateX" diff --git a/src/components/buildUrl.brs b/src/components/buildUrl.brs index 1869dc7..25d3ca9 100644 --- a/src/components/buildUrl.brs +++ b/src/components/buildUrl.brs @@ -1,4 +1,3 @@ - ' @import /components/getType.brs ' Compose url with query strings. Values are encoded. diff --git a/src/components/isFalsy.brs b/src/components/isFalsy.brs index 88778c8..100c6aa 100644 --- a/src/components/isFalsy.brs +++ b/src/components/isFalsy.brs @@ -1,4 +1,5 @@ ' @import /components/getType.brs + function isFalsy(value as Dynamic) as Boolean falsyValues = [Invalid, false, "", 0] valueType = getType(value) diff --git a/src/components/promise/Promise.brs b/src/components/promise/Promise.brs index 807d8f3..017ebba 100644 --- a/src/components/promise/Promise.brs +++ b/src/components/promise/Promise.brs @@ -69,9 +69,9 @@ function Promise() as Object end if if (m.status = m.STATUS_FULFILLED) - return PromiseResolve(result) + return PromiseResolve(result) ' kopytko-disable-line identifier/undefined-function else - return PromiseReject(result) + return PromiseReject(result) ' kopytko-disable-line identifier/undefined-function end if end function @@ -139,7 +139,7 @@ function Promise() as Object else ' result is an PromiseReject() object callback.promise.reject(result.value) end if - ' Chained promise should be rejected when failure was not handled, otherwise it should be resolved + ' Chained promise should be rejected when failure was not handled, otherwise it should be resolved else if (NOT isResolved AND callbackAction = Invalid) callback.promise.reject(argument) else diff --git a/src/components/promise/_tests/Promise.test.brs b/src/components/promise/_tests/Promise.test.brs index bff7687..8731879 100644 --- a/src/components/promise/_tests/Promise.test.brs +++ b/src/components/promise/_tests/Promise.test.brs @@ -1,9 +1,10 @@ ' @import /components/KopytkoTestSuite.brs from @dazn/kopytko-unit-testing-framework + function TestSuite__Promise() as Object ts = KopytkoTestSuite() ts.name = "Promise" - ts.setBeforeEach(sub (ts as Object) + ts.setBeforeEach(sub (_ts as Object) m.__timesRejected = 0 m.__timesResolved = 0 m.__timesFinallyCalled = 0 @@ -244,7 +245,7 @@ sub onRejectWithContext(value as Dynamic, context as Object) m.__lastRejectedContext = context end sub -sub onFinally(arg1 = Invalid as Dynamic) +sub onFinally(_arg1 = Invalid as Dynamic) m.__timesFinallyCalled++ end sub diff --git a/src/components/promise/_tests/promisesAll.test.brs b/src/components/promise/_tests/promisesAll.test.brs index 407a5d0..dac9052 100644 --- a/src/components/promise/_tests/promisesAll.test.brs +++ b/src/components/promise/_tests/promisesAll.test.brs @@ -2,11 +2,12 @@ ' @import /components/promise/Promise.brs ' @import /components/promise/PromiseReject.brs ' @import /components/promise/PromiseResolve.brs + function TestSuite__PromisesAll() as Object ts = KopytkoTestSuite() ts.name = "promisesAll" - ts.setBeforeEach(sub (ts as Object) + ts.setBeforeEach(sub (_ts as Object) m.__timesRejected = 0 m.__timesResolved = 0 diff --git a/src/components/promise/_tests/promisesAllSettled.test.brs b/src/components/promise/_tests/promisesAllSettled.test.brs index 9f38713..f03d308 100644 --- a/src/components/promise/_tests/promisesAllSettled.test.brs +++ b/src/components/promise/_tests/promisesAllSettled.test.brs @@ -2,19 +2,20 @@ ' @import /components/promise/Promise.brs ' @import /components/promise/PromiseReject.brs ' @import /components/promise/PromiseResolve.brs -function TestSuite__PromisesAllSettled() as object + +function TestSuite__PromisesAllSettled() as Object ts = KopytkoTestSuite() ts.name = "promisesAllSettled" - ts.setBeforeEach(sub (ts as object) + ts.setBeforeEach(sub (_ts as Object) m.__timesRejected = 0 m.__timesResolved = 0 - m.__rejectedValue = invalid - m.__resolvedValue = invalid + m.__rejectedValue = Invalid + m.__resolvedValue = Invalid end sub) - ts.addTest("should return a promise", function(ts as object) as string + ts.addTest("should return a promise", function(ts as Object) as String ' Given firstPromise = Promise() secondPromise = Promise() @@ -26,7 +27,7 @@ function TestSuite__PromisesAllSettled() as object return ts.assertTrue(finalPromise.doesExist("_isPromise")) end function) - ts.addTest("should be pending if not all promises have either resolved or rejected", function(ts as object) as string + ts.addTest("should be pending if not all promises have either resolved or rejected", function(ts as Object) as String ' Given firstPromise = Promise() secondPromise = Promise() @@ -43,7 +44,7 @@ function TestSuite__PromisesAllSettled() as object return ts.assertEqual(finalPromise.STATUS_PENDING, finalPromise.status) end function) - ts.addTest("should be fulfilled if all promises have either resolved or rejected", function(ts as object) as string + ts.addTest("should be fulfilled if all promises have either resolved or rejected", function(ts as Object) as String ' Given firstPromise = Promise() secondPromise = Promise() @@ -61,7 +62,7 @@ function TestSuite__PromisesAllSettled() as object return ts.assertEqual(finalPromise.STATUS_FULFILLED, finalPromise.status) end function) - ts.addTest("should resolve an array of objects [status, value] if all promises have either resolved or rejected", function(ts as object) as string + ts.addTest("should resolve an array of objects [status, value] if all promises have either resolved or rejected", function(ts as Object) as String ' Given firstPromise = Promise() secondPromise = Promise() @@ -76,11 +77,11 @@ function TestSuite__PromisesAllSettled() as object ' Then return ts.assertEqual(m.__resolvedValue, [ { status: finalPromise.STATUS_FULFILLED, value: "first value" }, - { status: finalPromise.STATUS_REJECTED, value: "rejected value" } + { status: finalPromise.STATUS_REJECTED, value: "rejected value" }, ]) end function) - ts.addTest("should resolve an array of objects [status, value] in promises order if all promises have either resolved or rejected", function(ts as object) as string + ts.addTest("should resolve an array of objects [status, value] in promises order if all promises have either resolved or rejected", function(ts as Object) as String ' Given firstPromise = Promise() secondPromise = Promise() @@ -95,11 +96,11 @@ function TestSuite__PromisesAllSettled() as object ' Then return ts.assertEqual(m.__resolvedValue, [ { status: finalPromise.STATUS_FULFILLED, value: "first value" }, - { status: finalPromise.STATUS_REJECTED, value: "rejected value" } + { status: finalPromise.STATUS_REJECTED, value: "rejected value" }, ]) end function) - ts.addTest("should immediately resolve an empty array of promises", function(ts as object) as string + ts.addTest("should immediately resolve an empty array of promises", function(ts as Object) as String ' Given finalPromise = promisesAllSettled([]) @@ -110,7 +111,7 @@ function TestSuite__PromisesAllSettled() as object return ts.assertEqual(m.__timesResolved, 1) end function) - ts.addTest("should immediately resolve an empty array of promises with empty array as an argument", function(ts as object) as string + ts.addTest("should immediately resolve an empty array of promises with empty array as an argument", function(ts as Object) as String ' Given emptyArray = [] finalPromise = promisesAllSettled(emptyArray) @@ -122,7 +123,7 @@ function TestSuite__PromisesAllSettled() as object return ts.assertEqual(m.__resolvedValue, emptyArray) end function) - ts.addTest("should immediately resolve for an array of resolved or rejected promises", function(ts as object) as string + ts.addTest("should immediately resolve for an array of resolved or rejected promises", function(ts as Object) as String ' Given firstPromise = PromiseResolve("first value") secondPromise = PromiseReject("rejected value") @@ -134,19 +135,19 @@ function TestSuite__PromisesAllSettled() as object ' Then return ts.assertEqual(m.__resolvedValue, [ { status: finalPromise.STATUS_FULFILLED, value: "first value" }, - { status: finalPromise.STATUS_REJECTED, value: "rejected value" } + { status: finalPromise.STATUS_REJECTED, value: "rejected value" }, ]) end function) return ts end function -sub onResolve(value as dynamic) +sub onResolve(value as Dynamic) m.__timesResolved++ m.__resolvedValue = value end sub -sub onReject(value as dynamic) +sub onReject(value as Dynamic) m.__timesRejected++ m.__rejectedValue = value end sub diff --git a/src/components/promise/_tests/promisesAny.test.brs b/src/components/promise/_tests/promisesAny.test.brs index d8f07bd..ed6f79c 100644 --- a/src/components/promise/_tests/promisesAny.test.brs +++ b/src/components/promise/_tests/promisesAny.test.brs @@ -2,11 +2,12 @@ ' @import /components/promise/Promise.brs ' @import /components/promise/PromiseReject.brs ' @import /components/promise/PromiseResolve.brs + function TestSuite__PromisesAny() as Object ts = KopytkoTestSuite() ts.name = "promisesAny" - ts.setBeforeEach(sub (ts as Object) + ts.setBeforeEach(sub (_ts as Object) m.__timesRejected = 0 m.__timesResolved = 0 diff --git a/src/components/promise/promisesAll.brs b/src/components/promise/promisesAll.brs index 7761b16..d2ff051 100644 --- a/src/components/promise/promisesAll.brs +++ b/src/components/promise/promisesAll.brs @@ -16,7 +16,7 @@ function promisesAll(promiseInstances as Object) as Object promise: Promise(), } - context.onPromiseFulfilled = sub (value as Object, m as Object) + context.onPromiseFulfilled = sub (_value as Object, m as Object) m.fulfilledPromisesCount++ if (m.fulfilledPromisesCount = m.promises.count()) promisesValues = [] diff --git a/src/components/promise/promisesAllSettled.brs b/src/components/promise/promisesAllSettled.brs index 7ac7e44..83a40ca 100644 --- a/src/components/promise/promisesAllSettled.brs +++ b/src/components/promise/promisesAllSettled.brs @@ -1,7 +1,7 @@ ' @import /components/promise/Promise.brs ' @import /components/promise/PromiseResolve.brs -' Takes an array of promises as an input and returns a promise that resolves after all of the given promises have either fulfilled or rejected, +' Takes an array of promises as an input and returns a promise that resolves after all of the given promises have either fulfilled or rejected, ' with an array of objects that each describes the outcome of each promise. ' @param {Promise[]} promiseInstances ' @returns {Promise} @@ -16,7 +16,7 @@ function promisesAllSettled(promiseInstances as Object) as Object promise: Promise(), } - context.onPromiseSettled = sub (value as Object, m as Object) + context.onPromiseSettled = sub (_value as Object, m as Object) m.settledPromisesCount++ if (m.settledPromisesCount = m.promises.count()) promisesValues = [] diff --git a/src/components/promise/promisesAny.brs b/src/components/promise/promisesAny.brs index d4c4ff6..7acb881 100644 --- a/src/components/promise/promisesAny.brs +++ b/src/components/promise/promisesAny.brs @@ -24,7 +24,7 @@ function promisesAny(promiseInstances as Object) as Object end if end sub - context.onPromiseRejected = sub (reason as Object, m as Object) + context.onPromiseRejected = sub (_reason as Object, m as Object) m.rejectedPromisesCount++ if (m.rejectedPromisesCount = m.promises.count()) promisesValues = [] diff --git a/src/components/reactiveX/RxObservable.brs b/src/components/reactiveX/RxObservable.brs index 8036cb3..dba84a8 100644 --- a/src/components/reactiveX/RxObservable.brs +++ b/src/components/reactiveX/RxObservable.brs @@ -47,7 +47,6 @@ function RxObservable(subscribe as Function, data = Invalid as Dynamic) as Objec end if subscriber._unsubscribe = m._subscribe(subscriber, m._data) - return RxSubscription(subscriber, m) end function diff --git a/src/components/reactiveX/RxSubject.brs b/src/components/reactiveX/RxSubject.brs index a3141aa..0493ca1 100644 --- a/src/components/reactiveX/RxSubject.brs +++ b/src/components/reactiveX/RxSubject.brs @@ -1,6 +1,5 @@ ' @import /components/ArrayUtils.brs ' @import /components/reactiveX/RxObservable.brs -' @import /components/reactiveX/RxSubscription.brs ' Based on https://rxjs-dev.firebaseapp.com/api/index/class/Subject ' Every Subject is an Observable and an Observer. You can subscribe to a Subject, and you can call next to feed values @@ -8,7 +7,7 @@ ' @class ' @augments RxObservable function RxSubject() as Object - prototype = RxObservable(function (subscriber as Object, data as Dynamic) as Function + prototype = RxObservable(function (subscriber as Object, _data as Dynamic) as Function m._subscribers.push(subscriber) return sub (subscriber as Object) @@ -66,7 +65,6 @@ function RxSubject() as Object prototype.asObservable = function () as Object return RxObservable(function (subscriber as Object, subject as Dynamic) as Function subject._subscribers.push(subscriber) - return sub (subscriber as Object) ArrayUtils().pick(m._subscribers, { id: subscriber.id }) end sub diff --git a/src/components/reactiveX/RxSubscriber.brs b/src/components/reactiveX/RxSubscriber.brs index 60084e2..f328bcd 100644 --- a/src/components/reactiveX/RxSubscriber.brs +++ b/src/components/reactiveX/RxSubscriber.brs @@ -45,7 +45,6 @@ function RxSubscriber(handlers as Object, context as Object) as Object if (m._isUnsubscribed) then return functionCall(m._handlers.error, [error], m._context) - m.unsubscribe(observable) end sub @@ -55,7 +54,6 @@ function RxSubscriber(handlers as Object, context as Object) as Object if (m._isUnsubscribed) then return functionCall(m._handlers.complete, [], m._context) - m.unsubscribe(observable) end sub diff --git a/src/components/reactiveX/_tests/RxObservable.test.brs b/src/components/reactiveX/_tests/RxObservable.test.brs index 870e934..bf53d72 100644 --- a/src/components/reactiveX/_tests/RxObservable.test.brs +++ b/src/components/reactiveX/_tests/RxObservable.test.brs @@ -1,16 +1,16 @@ ' @import /components/KopytkoTestSuite.brs from @dazn/kopytko-unit-testing-framework ' @mock /components/reactiveX/RxSubscriber.brs ' @mock /components/reactiveX/RxSubscription.brs + function TestSuite__RxObservable() as Object ts = KopytkoTestSuite() ts.name = "RxObservable" - ts.setBeforeEach(sub (ts as Object) + ts.setBeforeEach(sub (_ts as Object) m.__emptySub = sub () end sub m.__exampleObserver = { "next": "observer.next", error: "observer.error", complete: "observer.complete" } - m.__subscribe = sub (subscriber as Object, data as Object) - end sub + m.__subscribe = sub (_subscriber as Object, _data as Object) : end sub end sub) ts.addTest("subscribe returns Invalid if wrong observerOrNext parameter passed", function (ts as Object) as Object @@ -140,7 +140,6 @@ function TestSuite__RxObservable() as Object ' Then subscriber = m.__mocks.RxSubscriber.instance - return ts.assertEqual(subscriber._unsubscribe, { subscriberId: subscriberId, data: data }) end function) diff --git a/src/components/reactiveX/_tests/RxObservableFromArray.test.brs b/src/components/reactiveX/_tests/RxObservableFromArray.test.brs index 362d6c7..751b752 100644 --- a/src/components/reactiveX/_tests/RxObservableFromArray.test.brs +++ b/src/components/reactiveX/_tests/RxObservableFromArray.test.brs @@ -1,11 +1,12 @@ ' @import /components/KopytkoTestSuite.brs from @dazn/kopytko-unit-testing-framework ' @mock /components/reactiveX/RxSubscriber.brs ' @mock /components/reactiveX/RxSubscription.brs + function TestSuite__RxObservableFromArray() as Object ts = KopytkoTestSuite() ts.name = "RxObservableFromArray" - ts.setBeforeEach(sub (ts as Object) + ts.setBeforeEach(sub (_ts as Object) m.__observer = { "next": "observer.next", error: "observer.error", complete: "observer.complete" } end sub) diff --git a/src/components/reactiveX/_tests/RxSubject.test.brs b/src/components/reactiveX/_tests/RxSubject.test.brs index f6541fa..0f2adc2 100644 --- a/src/components/reactiveX/_tests/RxSubject.test.brs +++ b/src/components/reactiveX/_tests/RxSubject.test.brs @@ -1,9 +1,10 @@ ' @import /components/KopytkoTestSuite.brs from @dazn/kopytko-unit-testing-framework + function TestSuite__RxSubject() as Object ts = KopytkoTestSuite() ts.name = "RxSubject" - ts.setBeforeEach(sub (ts as Object) + ts.setBeforeEach(sub (_ts as Object) m.__context1 = { nextValue: Invalid, errorValue: Invalid, diff --git a/src/components/reactiveX/_tests/RxSubscriber.test.brs b/src/components/reactiveX/_tests/RxSubscriber.test.brs index 8265792..a2e1cf1 100644 --- a/src/components/reactiveX/_tests/RxSubscriber.test.brs +++ b/src/components/reactiveX/_tests/RxSubscriber.test.brs @@ -1,10 +1,11 @@ ' @import /components/KopytkoTestSuite.brs from @dazn/kopytko-unit-testing-framework ' @mock /components/uuid.brs + function TestSuite__RxSubscriber() as Object ts = KopytkoTestSuite() ts.name = "RxSubscriber" - ts.setBeforeEach(sub (ts as Object) + ts.setBeforeEach(sub (_ts as Object) m.__context = { nextValue: Invalid, errorValue: Invalid, @@ -28,7 +29,6 @@ function TestSuite__RxSubscriber() as Object ts.addTest("it sets uuid as id property", function (ts as Object) as Object ' When subscriber = RxSubscriber(m.__handlers, {}) - ' Then return ts.assertEqual(subscriber.id, "example-uuid") end function) @@ -40,7 +40,6 @@ function TestSuite__RxSubscriber() as Object ' When subscriber.next(value) - ' Then return ts.assertEqual(m.__context.nextValue, value) end function) @@ -50,10 +49,8 @@ function TestSuite__RxSubscriber() as Object subscriber = RxSubscriber(m.__handlers, m.__context) value = "super value" subscriber.next("first") - ' When subscriber.next(value) - ' Then return ts.assertEqual(m.__context.nextValue, value) end function) @@ -61,12 +58,11 @@ function TestSuite__RxSubscriber() as Object ts.addTest("error calls handler in specific context", function (ts as Object) as Object ' Given subscriber = RxSubscriber(m.__handlers, m.__context) - subscriber._unsubscribe = sub (subscriber as Object): end sub + subscriber._unsubscribe = sub (_subscriber as Object) : end sub error = "error value" ' When subscriber.error(error, {}) - ' Then return ts.assertEqual(m.__context.errorValue, error) end function) @@ -74,13 +70,13 @@ function TestSuite__RxSubscriber() as Object ts.addTest("error stops values propagation", function (ts as Object) as Object ' Given subscriber = RxSubscriber(m.__handlers, m.__context) - subscriber._unsubscribe = sub (subscriber as Object): end sub + subscriber._unsubscribe = sub (_subscriber as Object): end sub error = "error value" + value = "" ' When subscriber.error(error, {}) subscriber.next(value) - ' Then return ts.assertInvalid(m.__context.nextValue) end function) @@ -92,13 +88,12 @@ function TestSuite__RxSubscriber() as Object observable = { wasUnsubscribeCalled: false, } - subscriber._unsubscribe = sub (subscriber as Object) + subscriber._unsubscribe = sub (_subscriber as Object) m.wasUnsubscribeCalled = true end sub ' When subscriber.error(error, observable) - ' Then return ts.assertTrue(observable.wasUnsubscribeCalled) end function) @@ -106,11 +101,9 @@ function TestSuite__RxSubscriber() as Object ts.addTest("complete calls handler in specific context", function (ts as Object) as Object ' Given subscriber = RxSubscriber(m.__handlers, m.__context) - subscriber._unsubscribe = sub (subscriber as Object): end sub - + subscriber._unsubscribe = sub (_subscriber as Object): end sub ' When subscriber.complete({}) - ' Then return ts.assertTrue(m.__context.isCompleted) end function) @@ -118,12 +111,10 @@ function TestSuite__RxSubscriber() as Object ts.addTest("complete stops values propagation", function (ts as Object) as Object ' Given subscriber = RxSubscriber(m.__handlers, m.__context) - subscriber._unsubscribe = sub (subscriber as Object): end sub - + subscriber._unsubscribe = sub (_subscriber as Object): end sub ' When subscriber.complete({}) subscriber.next("any") - ' Then return ts.assertInvalid(m.__context.nextValue) end function) @@ -131,12 +122,10 @@ function TestSuite__RxSubscriber() as Object ts.addTest("complete stops error propagation", function (ts as Object) as Object ' Given subscriber = RxSubscriber(m.__handlers, m.__context) - subscriber._unsubscribe = sub (subscriber as Object): end sub - + subscriber._unsubscribe = sub (_subscriber as Object): end sub ' When subscriber.complete({}) subscriber.error("any", {}) - ' Then return ts.assertInvalid(m.__context.errorValue) end function) @@ -147,13 +136,12 @@ function TestSuite__RxSubscriber() as Object observable = { wasUnsubscribeCalled: false, } - subscriber._unsubscribe = sub (subscriber as Object) + subscriber._unsubscribe = sub (_subscriber as Object) m.wasUnsubscribeCalled = true end sub ' When subscriber.complete(observable) - ' Then return ts.assertTrue(observable.wasUnsubscribeCalled) end function) @@ -164,13 +152,12 @@ function TestSuite__RxSubscriber() as Object observable = { wasUnsubscribeCalled: false, } - subscriber._unsubscribe = sub (subscriber as Object) + subscriber._unsubscribe = sub (_subscriber as Object) m.wasUnsubscribeCalled = true end sub ' When subscriber.unsubscribe(observable) - ' Then return ts.assertTrue(observable.wasUnsubscribeCalled) end function) @@ -178,12 +165,10 @@ function TestSuite__RxSubscriber() as Object ts.addTest("unsubscribe stops values propagation", function (ts as Object) as Object ' Given subscriber = RxSubscriber(m.__handlers, m.__context) - subscriber._unsubscribe = sub (subscriber as Object): end sub - + subscriber._unsubscribe = sub (_subscriber as Object) : end sub ' When subscriber.unsubscribe({}) subscriber.next("any") - ' Then return ts.assertInvalid(m.__context.nextValue) end function) @@ -191,12 +176,10 @@ function TestSuite__RxSubscriber() as Object ts.addTest("unsubscribe stops error propagation", function (ts as Object) as Object ' Given subscriber = RxSubscriber(m.__handlers, m.__context) - subscriber._unsubscribe = sub (subscriber as Object): end sub - + subscriber._unsubscribe = sub (_subscriber as Object) : end sub ' When subscriber.unsubscribe({}) subscriber.error("any", {}) - ' Then return ts.assertInvalid(m.__context.errorValue) end function) @@ -204,12 +187,10 @@ function TestSuite__RxSubscriber() as Object ts.addTest("unsubscribe stops possiblity to complete stream", function (ts as Object) as Object ' Given subscriber = RxSubscriber(m.__handlers, m.__context) - subscriber._unsubscribe = sub (subscriber as Object): end sub - + subscriber._unsubscribe = sub (_subscriber as Object) : end sub ' When subscriber.unsubscribe({}) subscriber.complete({}) - ' Then return ts.assertFalse(m.__context.isCompleted) end function) diff --git a/src/components/reactiveX/_tests/RxSubscription.test.brs b/src/components/reactiveX/_tests/RxSubscription.test.brs index 555fd0b..58a27a3 100644 --- a/src/components/reactiveX/_tests/RxSubscription.test.brs +++ b/src/components/reactiveX/_tests/RxSubscription.test.brs @@ -1,5 +1,6 @@ ' @import /components/KopytkoTestSuite.brs from @dazn/kopytko-unit-testing-framework ' @mock /components/reactiveX/RxSubscriber.brs + function TestSuite__RxSubscription() as Object ts = KopytkoTestSuite() ts.name = "RxSubscription" @@ -9,10 +10,8 @@ function TestSuite__RxSubscription() as Object subscriber = RxSubscriber({}, {}) observable = { example: "observable" } subscription = RxSubscription(subscriber, observable) - ' When subscription.unsubscribe() - ' Then return ts.assertMethodWasCalled("RxSubscriber.unsubscribe", { observable: observable }) end function) diff --git a/src/components/reactiveX/_tests/rxCombineLatest.test.brs b/src/components/reactiveX/_tests/rxCombineLatest.test.brs index 2788049..4a26c6a 100644 --- a/src/components/reactiveX/_tests/rxCombineLatest.test.brs +++ b/src/components/reactiveX/_tests/rxCombineLatest.test.brs @@ -1,10 +1,11 @@ ' @import /components/KopytkoTestSuite.brs from @dazn/kopytko-unit-testing-framework ' @import /components/reactiveX/RxSubject.brs + function TestSuite__rxCombineLatest() as Object ts = KopytkoTestSuite() ts.name = "rxCombineLatest" - ts.setBeforeEach(sub (ts as Object) + ts.setBeforeEach(sub (_ts as Object) m.__streamValues = [] end sub) @@ -18,7 +19,6 @@ function TestSuite__rxCombineLatest() as Object ' When subjects[subjectToEmit].next("any") - ' Then return ts.assertTrue(m.__streamValues.isEmpty()) end function) @@ -34,7 +34,6 @@ function TestSuite__rxCombineLatest() as Object ' When subjects[0].next("first") subjects[1].next("second") - ' Then return ts.assertEqual(m.__streamValues, [["first", "second"]]) end function) @@ -52,7 +51,6 @@ function TestSuite__rxCombineLatest() as Object subjects[1].next("second") subjects[1].next("another second") subjects[0].next("first another") - ' Then return ts.assertEqual(m.__streamValues, [["first", "second"], ["first", "another second"], ["first another", "another second"]]) end function) diff --git a/src/components/reactiveX/rxCombineLatest.brs b/src/components/reactiveX/rxCombineLatest.brs index 3fa7ac4..679b4aa 100644 --- a/src/components/reactiveX/rxCombineLatest.brs +++ b/src/components/reactiveX/rxCombineLatest.brs @@ -16,7 +16,7 @@ function rxCombineLatest(observables as Object) as Object values: values, } observable = sources[i] - observable.subscribe(sub (value) + observable.subscribe(sub (value as Dynamic) ' m is sourceSubscriberContext m.values[m.index] = value diff --git a/src/components/timers/_tests/clearInterval.test.brs b/src/components/timers/_tests/clearInterval.test.brs index 7f437d0..449291a 100644 --- a/src/components/timers/_tests/clearInterval.test.brs +++ b/src/components/timers/_tests/clearInterval.test.brs @@ -1,12 +1,13 @@ ' @import /components/KopytkoTestSuite.brs from @dazn/kopytko-unit-testing-framework ' @import /components/timers/setInterval.brs + function TestSuite__clearInterval() as Object ts = KopytkoTestSuite() ts.name = "clearInterval" ts.addTest("it removes the timeout from the $$setIntervalData property when calling clearInterval passing the interval Id", function (ts as Object) as String ' Given - intervalId = setInterval(sub (): end sub, 0.2) + intervalId = setInterval(sub () : end sub, 0.2) ' When clearInterval(intervalId) diff --git a/src/components/timers/_tests/clearTimeout.test.brs b/src/components/timers/_tests/clearTimeout.test.brs index af8ebd6..56dcc31 100644 --- a/src/components/timers/_tests/clearTimeout.test.brs +++ b/src/components/timers/_tests/clearTimeout.test.brs @@ -1,5 +1,6 @@ ' @import /components/KopytkoTestSuite.brs from @dazn/kopytko-unit-testing-framework ' @import /components/timers/setTimeout.brs + function TestSuite__clearTimeout() as Object ts = KopytkoTestSuite() ts.name = "clearTimeout" diff --git a/src/components/timers/_tests/setInterval.test.brs b/src/components/timers/_tests/setInterval.test.brs index 4150e4b..f35a111 100644 --- a/src/components/timers/_tests/setInterval.test.brs +++ b/src/components/timers/_tests/setInterval.test.brs @@ -1,6 +1,6 @@ ' @import /components/KopytkoTestSuite.brs from @dazn/kopytko-unit-testing-framework ' @import /components/rokuComponents/_mocks/Event.mock.brs -' @import /components/timers/clearInterval.brs + function TestSuite__setInterval() as Object ts = KopytkoTestSuite() ts.name = "setInterval" @@ -31,9 +31,9 @@ function TestSuite__setInterval() as Object intervalId = setInterval(sub (): end sub, 0.2) ' Then - timer = m["$$setIntervalData"][intervalId].timer + timerObject = m["$$setIntervalData"][intervalId].timer - return ts.assertNotInvalid(timer, "The timer was not stored") + return ts.assertNotInvalid(timerObject, "The timer was not stored") end function) ts.addTest("it calls the passed callback when its timer is fired", function (ts as Object) as String diff --git a/src/components/timers/_tests/setTimeout.test.brs b/src/components/timers/_tests/setTimeout.test.brs index 83ca13b..ca0306f 100644 --- a/src/components/timers/_tests/setTimeout.test.brs +++ b/src/components/timers/_tests/setTimeout.test.brs @@ -1,5 +1,6 @@ ' @import /components/KopytkoTestSuite.brs from @dazn/kopytko-unit-testing-framework ' @import /components/rokuComponents/_mocks/Event.mock.brs + function TestSuite__setTimeout() as Object ts = KopytkoTestSuite() ts.name = "setTimeout" @@ -30,9 +31,9 @@ function TestSuite__setTimeout() as Object timeoutId = setTimeout(sub (): end sub, 0.2) ' Then - timer = m["$$setTimeoutData"][timeoutId].timer + timerObject = m["$$setTimeoutData"][timeoutId].timer - return ts.assertNotInvalid(timer, "The timer was not stored") + return ts.assertNotInvalid(timerObject, "The timer was not stored") end function) ts.addTest("it calls the passed callback when its timer is fired", function (ts as Object) as String diff --git a/src/components/timers/setTimeoutCore.brs b/src/components/timers/setTimeoutCore.brs index 86e088a..2a41fb2 100644 --- a/src/components/timers/setTimeoutCore.brs +++ b/src/components/timers/setTimeoutCore.brs @@ -39,7 +39,6 @@ sub setTimeout_onTimerFired(event as Object) if (timeoutData <> Invalid) functionCall(timeoutData.callback, [], timeoutData.context) - m["$$setTimeoutData"].delete(timerId) end if end sub diff --git a/src/components/uuid.brs b/src/components/uuid.brs index 9b09f7e..84cd1de 100644 --- a/src/components/uuid.brs +++ b/src/components/uuid.brs @@ -22,7 +22,7 @@ function _uuidGetRandomHexString(length as Integer) as String hexCharsNumber = Len(hexChars) hexString = "" - for i = 1 to length + for _i = 1 to length hexString += hexChars.mid(Rnd(hexCharsNumber) - 1, 1) end for From ca5ae5b7857d1313c426633aeecf5bcefcdfcc32 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?B=C5=82a=C5=BCej=20Che=C5=82kowski?= Date: Fri, 19 Jun 2026 01:29:31 +0200 Subject: [PATCH 2/3] chore: bump kopytko-linter --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index 708e7cb..937e9fa 100644 --- a/package-lock.json +++ b/package-lock.json @@ -15,7 +15,7 @@ "@semantic-release/git": "^10.0.1", "@semantic-release/github": "^12.0.8", "kopytko-formatter": "^1.1.2", - "kopytko-linter": "^1.3.1", + "kopytko-linter": "^1.3.2", "semantic-release": "^25.0.5" } }, @@ -2816,9 +2816,9 @@ } }, "node_modules/kopytko-linter": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/kopytko-linter/-/kopytko-linter-1.3.1.tgz", - "integrity": "sha512-c2Q5gio9V6FmEBRcuoBtsvvXCmdLuG4c/C8qism3Mw44rqa0Mu+mAEKkml3yPGcBQGz/kMex8N5Vd4kwqDf0Yg==", + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/kopytko-linter/-/kopytko-linter-1.3.2.tgz", + "integrity": "sha512-vacXhw+VI2uhtDs9DXptktHR8Qthw2eD5uTpXutcNmB1hxxHHsZ/QruIJQiHn38kl4ZH4jgMq7PKQtCSoOwotg==", "dev": true, "license": "MIT", "dependencies": { diff --git a/package.json b/package.json index 461c24c..9acebd8 100644 --- a/package.json +++ b/package.json @@ -33,7 +33,7 @@ "@semantic-release/git": "^10.0.1", "@semantic-release/github": "^12.0.8", "kopytko-formatter": "^1.1.2", - "kopytko-linter": "^1.3.1", + "kopytko-linter": "^1.3.2", "semantic-release": "^25.0.5" }, "license": "MIT", From 6fc3a98d695529a506e57b59bbb0547f41eecb2f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?B=C5=82a=C5=BCej=20Che=C5=82kowski?= Date: Fri, 19 Jun 2026 01:39:15 +0200 Subject: [PATCH 3/3] bump: kopytko-unit-testing-framework --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index 937e9fa..aa024db 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,7 +10,7 @@ "license": "MIT", "devDependencies": { "@dazn/kopytko-packager": "^1.4.2", - "@dazn/kopytko-unit-testing-framework": "^2.6.4", + "@dazn/kopytko-unit-testing-framework": "^2.6.5", "@semantic-release/changelog": "^6.0.3", "@semantic-release/git": "^10.0.1", "@semantic-release/github": "^12.0.8", @@ -139,9 +139,9 @@ } }, "node_modules/@dazn/kopytko-unit-testing-framework": { - "version": "2.6.4", - "resolved": "https://registry.npmjs.org/@dazn/kopytko-unit-testing-framework/-/kopytko-unit-testing-framework-2.6.4.tgz", - "integrity": "sha512-blXvdMv3ZrKpaUjV/eKDanPQxhgAJSooNuGdLbqZjE+JopHiWEw9W5OKiawV5cHA9SqI6woP4A3X9K52rPSMpg==", + "version": "2.6.5", + "resolved": "https://registry.npmjs.org/@dazn/kopytko-unit-testing-framework/-/kopytko-unit-testing-framework-2.6.5.tgz", + "integrity": "sha512-2Own61jArDJJLWFVZUprW1jqGXtNY12PzqXGPFRuVqFmA0SpRohUL8mFlPT+y/MqtlkX3KoykAaQEFfos6F3VQ==", "dev": true, "license": "MIT", "dependencies": { diff --git a/package.json b/package.json index 9acebd8..d6d9a1e 100644 --- a/package.json +++ b/package.json @@ -28,7 +28,7 @@ }, "devDependencies": { "@dazn/kopytko-packager": "^1.4.2", - "@dazn/kopytko-unit-testing-framework": "^2.6.4", + "@dazn/kopytko-unit-testing-framework": "^2.6.5", "@semantic-release/changelog": "^6.0.3", "@semantic-release/git": "^10.0.1", "@semantic-release/github": "^12.0.8",