diff --git a/.meta-updater/main.mjs b/.meta-updater/main.mjs index b2571f30bb..594010bbe1 100644 --- a/.meta-updater/main.mjs +++ b/.meta-updater/main.mjs @@ -1,4 +1,3 @@ -// eslint-disable-next-line import/no-relative-packages import { updater } from "../packages/tool-meta-updater/src/index.ts"; export default updater; diff --git a/.oxfmtrc.json b/.oxfmtrc.json new file mode 100644 index 0000000000..57502f0c26 --- /dev/null +++ b/.oxfmtrc.json @@ -0,0 +1,10 @@ +{ + "$schema": "./node_modules/oxfmt/configuration_schema.json", + "sortPackageJson": false, + "ignorePatterns": [ + "/packages/app-vscode/src/keyboard/grammar/generated/", + "/packages/lib-engine/src/customCommandGrammar/generated/", + "/packages/lib-engine/src/snippets/vendor/", + "/resources/fixtures/recorded/**/*.yml" + ] +} diff --git a/.oxlintrc.json b/.oxlintrc.json new file mode 100644 index 0000000000..85e32d4985 --- /dev/null +++ b/.oxlintrc.json @@ -0,0 +1,142 @@ +{ + "$schema": "./node_modules/oxlint/configuration_schema.json", + "plugins": ["eslint", "typescript", "unicorn", "oxc", "import"], + "jsPlugins": [ + { + "name": "mocha", + "specifier": "eslint-plugin-mocha" + } + ], + + "ignorePatterns": [ + "resources/playground/**", + "packages/app-neovim/cursorless.nvim/**", + "packages/app-vscode/src/keyboard/grammar/generated/**", + "packages/lib-engine/src/customCommandGrammar/generated/**", + "packages/lib-engine/src/snippets/vendor/**" + ], + + "options": { + "typeAware": true, + "typeCheck": false + }, + + "rules": { + "curly": "warn", + "eqeqeq": [ + "warn", + "always", + { + "null": "never" + } + ], + "eslint/no-constant-condition": [ + "warn", + { + "checkLoops": false + } + ], + "eslint/no-restricted-imports": [ + "warn", + { + "patterns": [ + { + "group": ["../*/src", "../*/src/*", "../../*/src", "../../*/src/*"], + "message": "Relative package imports are not allowed" + } + ] + } + ], + "eslint/no-throw-literal": "warn", + "eslint/no-unused-vars": [ + "warn", + { + "argsIgnorePattern": "^_", + "varsIgnorePattern": "^_", + "caughtErrorsIgnorePattern": "^_", + "ignoreRestSiblings": true + } + ], + "import/no-duplicates": "warn", + "mocha/no-exclusive-tests": "warn", + "mocha/no-pending-tests": "warn", + "no-warning-comments": [ + "warn", + { + "terms": ["todo"] + } + ], + "typescript/consistent-type-assertions": [ + "warn", + { + "assertionStyle": "as" + } + ], + "typescript/consistent-type-imports": "warn", + "typescript/no-base-to-string": "off", + "typescript/restrict-template-expressions": "off", + "typescript/unbound-method": "off", + "unicorn/prefer-module": "warn", + "unicorn/throw-new-error": "warn" + }, + "overrides": [ + { + "files": ["packages/app-vscode/src/scripts/**/*.ts"], + "rules": { + "no-restricted-imports": [ + "warn", + { + "paths": [ + { + "name": "vscode", + "message": "Scripts shouldn't depend on vscode" + } + ] + } + ] + } + }, + + { + "files": ["packages/lib-common/**/*.ts", "packages/lib-engine/**/*.ts"], + "rules": { + "import/no-nodejs-modules": "warn" + } + }, + + { + "files": [ + "packages/lib-common/**/*.test.ts", + "packages/lib-engine/**/*.test.ts", + "packages/lib-engine/src/scripts/**/*.ts", + "packages/lib-engine/src/testUtil/**/*.ts" + ], + "rules": { + "import/no-nodejs-modules": "off" + } + }, + + { + "files": ["packages/lib-common/src/types/command/**/*.ts"], + "rules": { + "eslint/no-restricted-imports": [ + "warn", + { + "patterns": [ + { + "group": ["@cursorless/*", "../*"], + "message": "API types shouldn't have any dependencies" + } + ], + "paths": [ + { + "name": "@*", + "message": "API types shouldn't have any dependencies" + } + ] + } + ] + } + } + ] +} diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index f6dcf56c07..f3ca5386c7 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -58,21 +58,21 @@ repos: - repo: local hooks: - - id: eslint - name: eslint + - id: oxlint + name: oxlint files: \.(ts|tsx)$ language: system - entry: pnpm exec eslint + entry: pnpm exec oxlint args: [--fix] - repo: local hooks: - - id: prettier - name: prettier + - id: oxfmt + name: oxfmt types: [text] language: system - entry: pnpm exec prettier - args: [--write, --list-different, --ignore-unknown] + entry: pnpm exec oxfmt + args: [--write, --no-error-on-unmatched-pattern] - repo: local hooks: diff --git a/.prettierignore b/.prettierignore deleted file mode 100644 index 885990165a..0000000000 --- a/.prettierignore +++ /dev/null @@ -1,18 +0,0 @@ -# Workspace -/.git/ -/.vscode-test/ -/pnpm-lock.yaml - -# Packages -/packages/*/out/ -/packages/*/dist/ -/packages/app-web-docs/.docusaurus/ -/packages/app-vscode/src/keyboard/grammar/generated/ -/packages/lib-engine/src/customCommandGrammar/generated/ -/packages/lib-engine/src/snippets/vendor/ - -# We use our own format for our recorded yaml tests to keep them compact -/resources/fixtures/recorded/**/*.yml - -# Anywhere -node_modules/ diff --git a/.vscode/extensions.json b/.vscode/extensions.json index f304f9751d..3e396efb23 100644 --- a/.vscode/extensions.json +++ b/.vscode/extensions.json @@ -4,8 +4,7 @@ "recommendations": [ "AndreasArvidsson.andreas-talon", "charliermarsh.ruff", - "dbaeumer.vscode-eslint", - "esbenp.prettier-vscode", + "oxc.oxc-vscode", "jrieken.vscode-tree-sitter-query", "wenkokke.talonfmt-vscode", "usernamehw.commands", diff --git a/.vscode/settings.json b/.vscode/settings.json index 1fc572a6d8..7fb8d6e2d2 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -18,8 +18,7 @@ "pojo", "subword" ], - "editor.defaultFormatter": "esbenp.prettier-vscode", - "eslint.workingDirectories": [{ "pattern": "packages/*/" }], + "editor.defaultFormatter": "oxc.oxc-vscode", "files.associations": { ".busted": "lua" }, diff --git a/eslint.config.mts b/eslint.config.mts deleted file mode 100644 index 192f24b1e6..0000000000 --- a/eslint.config.mts +++ /dev/null @@ -1,168 +0,0 @@ -/* eslint-disable import/no-relative-packages */ - -import type { ConfigWithExtends, Plugin } from "@eslint/config-helpers"; -import eslintJs from "@eslint/js"; -import prettierConfig from "eslint-config-prettier/flat"; -import importPlugin from "eslint-plugin-import"; -import mochaPlugin from "eslint-plugin-mocha"; -import unicornPlugin from "eslint-plugin-unicorn"; -import unusedImportsPlugin from "eslint-plugin-unused-imports"; -import { defineConfig } from "eslint/config"; -import tsEslint from "typescript-eslint"; -import { commonConfig } from "./packages/lib-common/eslintConfig"; -import { cursorlessEngineConfig } from "./packages/lib-engine/eslintConfig"; -import { cursorlessOrgConfig } from "./packages/app-web/eslintConfig"; -import { cursorlessVscodeConfig } from "./packages/app-vscode/eslintConfig"; - -const ignoresConfig: ConfigWithExtends = { - ignores: [ - // Workspace - ".git/**", - "resources/playground/**", - // Packages - "packages/*/out/**", - "packages/*/dist/**", - "packages/app-web-docs/.docusaurus/**", - "packages/app-neovim/cursorless.nvim/**", - "packages/app-vscode/src/keyboard/grammar/generated/**", - "packages/lib-engine/src/customCommandGrammar/generated/**", - "packages/lib-engine/src/snippets/vendor/**", - // Anywhere - "**/node_modules/**", - ], -}; - -const rootConfig: ConfigWithExtends = { - plugins: { - "unused-imports": unusedImportsPlugin, - import: importPlugin, - unicorn: unicornPlugin, - // eslint-plugin-mocha's type definitions don't match ESLint 9's Plugin type yet. - mocha: mochaPlugin as Plugin, - }, - - languageOptions: { - parser: tsEslint.parser, - ecmaVersion: 2022, - sourceType: "module", - parserOptions: { - projectService: true, - tsconfigRootDir: import.meta.dirname, - }, - }, - - settings: { - "import/resolver": { - typescript: { - // Always try to resolve types under `@types` directory even it doesn't contain any source code, like `@types/unist` - alwaysTryTypes: true, - noWarnOnMultipleProjects: true, - project: ["tsconfig.json", "packages/*/tsconfig.json"], - }, - }, - }, - - rules: { - "import/no-relative-packages": "error", - "import/no-duplicates": "error", - "unused-imports/no-unused-imports": "error", - "@typescript-eslint/consistent-type-imports": "error", - "@typescript-eslint/consistent-type-assertions": [ - "error", - { - assertionStyle: "as", - }, - ], - "@typescript-eslint/naming-convention": [ - "error", - { - selector: ["objectLiteralProperty"], - format: ["camelCase"], - filter: { - regex: "[.]", - match: false, - }, - }, - ], - "@typescript-eslint/no-floating-promises": "error", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/no-unused-vars": [ - "error", - { - argsIgnorePattern: "^_", - varsIgnorePattern: "^_", - caughtErrorsIgnorePattern: "^_", - ignoreRestSiblings: true, - }, - ], - curly: "error", - eqeqeq: [ - "error", - "always", - { - null: "never", - }, - ], - "no-constant-condition": [ - "error", - { - checkLoops: false, - }, - ], - "no-restricted-syntax": [ - "error", - "MemberExpression[object.property.name='constructor'][property.name='name']", - ], - "no-throw-literal": "error", - semi: "off", - "unicorn/prefer-module": "error", - "mocha/no-pending-tests": "error", - "mocha/no-exclusive-tests": "error", - }, -}; - -const tsxConfig: ConfigWithExtends = { - files: ["**/*.tsx"], - rules: { - "@typescript-eslint/naming-convention": [ - "error", - { - selector: ["function"], - format: ["PascalCase", "camelCase"], - }, - ], - }, -}; - -const disabledTypeCheckConfig: ConfigWithExtends = { - files: [ - // Workspace - "eslint.config.mts", - // Packages - "packages/*/vite.config.ts", - "packages/*/eslintConfig.ts", - "packages/*/jest.config.ts", - "packages/app-web-docs/docusaurus.config.mts", - // Anywhere - "**/*.js", - ], - extends: [tsEslint.configs.disableTypeChecked], -}; - -export default defineConfig( - ignoresConfig, - eslintJs.configs.recommended, - // We want to enable this in the long run. For now there are a lot of errors that needs to be handled. - // eslintTs.configs.recommendedTypeChecked, - tsEslint.configs.recommended, - prettierConfig, - rootConfig, - tsxConfig, - disabledTypeCheckConfig, - commonConfig, - cursorlessEngineConfig, - cursorlessVscodeConfig, - cursorlessOrgConfig, -); diff --git a/netlify.toml b/netlify.toml index effcc5868c..137119b0b8 100644 --- a/netlify.toml +++ b/netlify.toml @@ -3,5 +3,5 @@ # https://app.netlify.com/projects/cursorless/deploys [build] - command = "./resources/scripts/build-and-assemble-website.sh" - publish = "dist/app-web" +command = "./resources/scripts/build-and-assemble-website.sh" +publish = "dist/app-web" diff --git a/package.json b/package.json index 8083f07667..8b23bed82c 100644 --- a/package.json +++ b/package.json @@ -12,17 +12,17 @@ "build": "pnpm -r build", "clean": "pnpm -r clean", "typecheck": "pnpm -r typecheck", - "lint:meta": "pnpm run meta-updater --test", + "lint:meta": "pnpm meta-updater --test", "lint:syncpack": "syncpack lint", - "lint:ts": "eslint packages", + "lint:ts": "oxlint --deny-warnings .", "lint:style": "stylelint '**/*.{css,scss}' --ignore-path .gitignore", - "lint:fmt": "prettier --check .", - "lint": "pnpm run typecheck && pnpm run lint:meta && pnpm run lint:syncpack && pnpm run lint:ts && pnpm run lint:style", - "fix:meta": "pnpm run meta-updater && pnpm -r exec prettier --write tsconfig.json package.json", + "lint:fmt": "oxfmt --check .", + "lint": "pnpm typecheck &&pnpm lint:meta && pnpm lint:syncpack && pnpm lint:ts && pnpm lint:style && pnpm lint:fmt", + "fix:meta": "pnpm meta-updater && pnpm -r exec oxfmt tsconfig.json package.json", "fix:syncpack": "syncpack fix", - "fix:eslint": "pnpm lint:ts --fix", + "fix:ts": "oxlint --fix .", "fix:style": "stylelint '**/*.{css,scss}' --ignore-path .gitignore --fix", - "fix:fmt": "prettier --write --list-different .", + "fix:fmt": "oxfmt .", "init-vscode-sandbox": "pnpm -F @cursorless/app-vscode init-launch-sandbox", "meta-updater": "env NODE_OPTIONS=--import=tsx meta-updater", "preinstall": "npx only-allow pnpm", @@ -34,26 +34,19 @@ "transform-recorded-tests": "pnpm exec ./packages/lib-common/scripts/c-tsx.js ./packages/lib-engine/src/scripts/transformRecordedTests/index.ts" }, "devDependencies": { - "@eslint/config-helpers": "^0.5.3", - "@eslint/js": "^10.0.1", "@pnpm/meta-updater": "^2.0.6", "@types/node": "^24.12.0", "esbuild": "^0.27.4", - "eslint": "^10.1.0", - "eslint-config-prettier": "^10.1.8", - "eslint-import-resolver-typescript": "^4.4.4", - "eslint-plugin-import": "^2.32.0", "eslint-plugin-mocha": "^11.2.0", - "eslint-plugin-unicorn": "^63.0.0", - "eslint-plugin-unused-imports": "^4.4.1", - "prettier": "^3.8.1", + "oxfmt": "^0.41.0", + "oxlint": "^1.56.0", + "oxlint-tsgolint": "^0.17.2", "stylelint": "^17.5.0", "stylelint-config-standard": "^40.0.0", "stylelint-config-standard-scss": "^17.0.0", "syncpack": "^14.2.1", "tsx": "^4.21.0", - "typescript": "^5.9.3", - "typescript-eslint": "^8.57.1" + "typescript": "^5.9.3" }, "pnpm": { "patchedDependencies": { @@ -66,7 +59,6 @@ }, "peerDependencyRules": { "allowedVersions": { - "eslint-plugin-import>eslint": "^10.0.0", "@pnpm/lockfile-file>@pnpm/logger": "^1001.0.1", "@pnpm/fetch>@pnpm/logger": "^1001.0.1", "@pnpm/core-loggers>@pnpm/logger": "^1001.0.1" diff --git a/packages/app-neovim/cursorless.nvim/node/command-server/index/index.cjs b/packages/app-neovim/cursorless.nvim/node/command-server/index/index.cjs index fa97f443a0..b568103dff 100644 --- a/packages/app-neovim/cursorless.nvim/node/command-server/index/index.cjs +++ b/packages/app-neovim/cursorless.nvim/node/command-server/index/index.cjs @@ -272,7 +272,7 @@ function injectCommandRunner(cmdRunner) { } function commandRunner() { if (cmdRunner_ == null) { - throw Error("Tried to access CommandRunner before it was injected"); + throw new Error("Tried to access CommandRunner before it was injected"); } return cmdRunner_; } diff --git a/packages/app-vscode/eslintConfig.ts b/packages/app-vscode/eslintConfig.ts deleted file mode 100644 index 7760628f62..0000000000 --- a/packages/app-vscode/eslintConfig.ts +++ /dev/null @@ -1,19 +0,0 @@ -import type { ConfigWithExtends } from "@eslint/config-helpers"; - -export const cursorlessVscodeConfig: ConfigWithExtends = { - files: ["packages/app-vscode/src/scripts/**/*.ts"], - - rules: { - "no-restricted-imports": [ - "error", - { - paths: [ - { - name: "vscode", - message: "Scripts shouldn't depend on vscode", - }, - ], - }, - ], - }, -}; diff --git a/packages/app-vscode/src/ide/vscode/VSCodeScopeVisualizer/VscodeFancyRangeHighlighter/generateDifferentiatedRanges.ts b/packages/app-vscode/src/ide/vscode/VSCodeScopeVisualizer/VscodeFancyRangeHighlighter/generateDifferentiatedRanges.ts index 60b5dc1350..f8b550071e 100644 --- a/packages/app-vscode/src/ide/vscode/VSCodeScopeVisualizer/VscodeFancyRangeHighlighter/generateDifferentiatedRanges.ts +++ b/packages/app-vscode/src/ide/vscode/VSCodeScopeVisualizer/VscodeFancyRangeHighlighter/generateDifferentiatedRanges.ts @@ -27,11 +27,9 @@ export function* generateDifferentiatedRanges( for (const range of ranges) { // Remove any ranges that have ended before the start of the current range. - currentRanges = [ - ...currentRanges.filter(({ range: previousRange }) => - generalizedRangeTouches(previousRange, range), - ), - ]; + currentRanges = currentRanges.filter(({ range: previousRange }) => + generalizedRangeTouches(previousRange, range), + ); const differentiatedRange = { range, diff --git a/packages/app-vscode/src/ide/vscode/VscodeConfiguration.ts b/packages/app-vscode/src/ide/vscode/VscodeConfiguration.ts index f097c58565..abfac3f6a9 100644 --- a/packages/app-vscode/src/ide/vscode/VscodeConfiguration.ts +++ b/packages/app-vscode/src/ide/vscode/VscodeConfiguration.ts @@ -71,7 +71,7 @@ function evaluateStringVariables(value: string): string { case "userHome": return os.homedir(); default: - throw Error(`Unknown vscode configuration variable '${variable}'`); + throw new Error(`Unknown vscode configuration variable '${variable}'`); } }); } diff --git a/packages/app-vscode/src/ide/vscode/VscodeOpenLink.ts b/packages/app-vscode/src/ide/vscode/VscodeOpenLink.ts index 73aadb635f..affc4c9439 100644 --- a/packages/app-vscode/src/ide/vscode/VscodeOpenLink.ts +++ b/packages/app-vscode/src/ide/vscode/VscodeOpenLink.ts @@ -17,7 +17,7 @@ export default async function vscodeOpenLink( ); if (filteredLinks.length > 1) { - throw Error("Multiple links found at location"); + throw new Error("Multiple links found at location"); } if (filteredLinks.length === 0) { @@ -61,7 +61,7 @@ async function getLinksForEditor( function openLink(link: vscode.DocumentLink, openAside: boolean) { if (link.target == null) { - throw Error("Document link is missing uri"); + throw new Error("Document link is missing uri"); } return openUri(link.target, openAside); } @@ -83,6 +83,6 @@ async function openUri(uri: vscode.Uri, openAside: boolean) { ); break; default: - throw Error(`Unknown uri scheme '${uri.scheme}'`); + throw new Error(`Unknown uri scheme '${uri.scheme}'`); } } diff --git a/packages/app-vscode/src/ide/vscode/VscodeToggleBreakpoint.ts b/packages/app-vscode/src/ide/vscode/VscodeToggleBreakpoint.ts index c2059e1377..6b9944107b 100644 --- a/packages/app-vscode/src/ide/vscode/VscodeToggleBreakpoint.ts +++ b/packages/app-vscode/src/ide/vscode/VscodeToggleBreakpoint.ts @@ -5,7 +5,7 @@ import type { VscodeTextEditor } from "./VscodeTextEditor"; export async function vscodeToggleBreakpoint( editor: VscodeTextEditor, - ranges?: GeneralizedRange[] | undefined, + ranges?: GeneralizedRange[], ): Promise { if (ranges == null) { return await vscode.commands.executeCommand( diff --git a/packages/app-vscode/src/ide/vscode/toVscodeEditor.ts b/packages/app-vscode/src/ide/vscode/toVscodeEditor.ts index b349ece7c7..f980200bb5 100644 --- a/packages/app-vscode/src/ide/vscode/toVscodeEditor.ts +++ b/packages/app-vscode/src/ide/vscode/toVscodeEditor.ts @@ -6,5 +6,5 @@ export function toVscodeEditor(editor: TextEditor): vscode.TextEditor { if ("vscodeEditor" in editor) { return (editor as VscodeTextEditor).vscodeEditor; } - throw Error("Can't get vscode editor from non vscode implementation"); + throw new Error("Can't get vscode editor from non vscode implementation"); } diff --git a/packages/app-vscode/src/keyboard/KeyboardCommandTypeHelpers.ts b/packages/app-vscode/src/keyboard/KeyboardCommandTypeHelpers.ts index 8fd1371e6e..ab22202f4d 100644 --- a/packages/app-vscode/src/keyboard/KeyboardCommandTypeHelpers.ts +++ b/packages/app-vscode/src/keyboard/KeyboardCommandTypeHelpers.ts @@ -28,14 +28,14 @@ export type KeyboardCommand = { // first argument, and return void or Promise. Note that the first check // may look backwards, because the arg type is contravariant, so the 'extends' // needs to be flipped. -// eslint-disable-next-line @typescript-eslint/no-unused-vars +// oxlint-disable-next-line @typescript-eslint/no-unused-vars function assertExtends() {} -// eslint-disable-next-line @typescript-eslint/no-unused-expressions +// oxlint-disable-next-line @typescript-eslint/no-unused-expressions assertExtends< Record never>, Pick >; -// eslint-disable-next-line @typescript-eslint/no-unused-expressions +// oxlint-disable-next-line @typescript-eslint/no-unused-expressions assertExtends< Pick, Record void | Promise> diff --git a/packages/app-vscode/src/keyboard/KeyboardCommandsModalLayer.ts b/packages/app-vscode/src/keyboard/KeyboardCommandsModalLayer.ts index 1dc702f342..eed32c6e32 100644 --- a/packages/app-vscode/src/keyboard/KeyboardCommandsModalLayer.ts +++ b/packages/app-vscode/src/keyboard/KeyboardCommandsModalLayer.ts @@ -56,7 +56,7 @@ export class KeyboardCommandsModalLayer { // character was a false start so we should cancel the whole thing. const errorMessage = `Invalid key '${text}'`; void vscode.window.showErrorMessage(errorMessage); - throw Error(errorMessage); + throw new Error(errorMessage); } } diff --git a/packages/app-vscode/src/keyboard/KeyboardCommandsTargeted.ts b/packages/app-vscode/src/keyboard/KeyboardCommandsTargeted.ts index 053d193010..dafaeaea7e 100644 --- a/packages/app-vscode/src/keyboard/KeyboardCommandsTargeted.ts +++ b/packages/app-vscode/src/keyboard/KeyboardCommandsTargeted.ts @@ -194,7 +194,7 @@ export default class KeyboardCommandsTargeted { case "editNew": case "getText": case "parsed": - throw Error(`Unsupported keyboard action: ${name}`); + throw new Error(`Unsupported keyboard action: ${name}`); case "replaceWithTarget": case "moveToTarget": return { diff --git a/packages/app-vscode/src/scripts/populateDist/populateDist.ts b/packages/app-vscode/src/scripts/populateDist/populateDist.ts index a6ded50c77..33d1d500da 100644 --- a/packages/app-vscode/src/scripts/populateDist/populateDist.ts +++ b/packages/app-vscode/src/scripts/populateDist/populateDist.ts @@ -31,7 +31,7 @@ export async function run() { (source == null && generateContent == null) || (source != null && generateContent != null) ) { - throw Error( + throw new Error( "Must specify either `source` or `generateContent`, but not both", ); } @@ -56,7 +56,7 @@ export async function run() { if (!(await exists(fullSource))) { if (context.isCi || !optionalInDev) { - throw Error(`Missing asset: ${fullSource}`); + throw new Error(`Missing asset: ${fullSource}`); } console.warn(`Missing asset: ${fullSource}`); return; diff --git a/packages/app-web-docs/package.json b/packages/app-web-docs/package.json index 1d1e70f677..cb89ff5a53 100644 --- a/packages/app-web-docs/package.json +++ b/packages/app-web-docs/package.json @@ -45,7 +45,6 @@ "@cursorless/lib-node-common": "workspace:*", "@docusaurus/module-type-aliases": "^3.9.2", "@docusaurus/types": "^3.9.2", - "@tsconfig/docusaurus": "^2.0.9", "@types/mdast": "^4.0.4", "@types/react": "^19.2.14", "sass": "^1.98.0", diff --git a/packages/app-web-docs/src/docs/components/util.ts b/packages/app-web-docs/src/docs/components/util.ts index 4dc8597a7e..f227f14d04 100644 --- a/packages/app-web-docs/src/docs/components/util.ts +++ b/packages/app-web-docs/src/docs/components/util.ts @@ -52,7 +52,7 @@ export function getFacetInfo( : scopeSupportFacetInfos[facetId as ScopeSupportFacet]; if (facetInfo == null) { - throw Error(`Missing scope support facet info for: ${facetId}`); + throw new Error(`Missing scope support facet info for: ${facetId}`); } return facetInfo; diff --git a/packages/app-web-docs/src/docs/contributing/adding-a-new-language.md b/packages/app-web-docs/src/docs/contributing/adding-a-new-language.md index 90f7279a05..ff4d37a51e 100644 --- a/packages/app-web-docs/src/docs/contributing/adding-a-new-language.md +++ b/packages/app-web-docs/src/docs/contributing/adding-a-new-language.md @@ -23,7 +23,6 @@ If you are adding support for a new language that isn't natively detected by VSC ScopeSupportFacetLevel, } from "./scopeSupportFacets.types"; - // eslint-disable-next-line @typescript-eslint/no-unused-vars const { supported, unsupported, notApplicable } = ScopeSupportFacetLevel; export const markdownScopeSupport: LanguageScopeSupportFacetMap = {}; diff --git a/packages/app-web-docs/src/plugins/scope-tests-plugin.ts b/packages/app-web-docs/src/plugins/scope-tests-plugin.ts index 4641c1e3de..64a1527516 100644 --- a/packages/app-web-docs/src/plugins/scope-tests-plugin.ts +++ b/packages/app-web-docs/src/plugins/scope-tests-plugin.ts @@ -6,6 +6,7 @@ import { import type { LoadContext, Plugin, PluginOptions } from "@docusaurus/types"; import * as fs from "node:fs"; import * as path from "node:path"; +import { fileURLToPath } from "node:url"; import type { Fixture, Scope, @@ -13,6 +14,8 @@ import type { Target, } from "../docs/components/types"; +const __dirname = path.dirname(fileURLToPath(import.meta.url)); + export default function prepareAssetsPlugin( _context: LoadContext, _options: PluginOptions, @@ -59,7 +62,7 @@ function parseTest(test: ScopeTestPath) { const delimiterIndex = fixture.match(/^---$/m)?.index; if (delimiterIndex === undefined) { - throw Error(`Can't find delimiter '---' in scope fixture ${test.path}`); + throw new Error(`Can't find delimiter '---' in scope fixture ${test.path}`); } const code = fixture.slice(0, delimiterIndex - 1); @@ -101,7 +104,7 @@ function parseTest(test: ScopeTestPath) { // Do nothing break; default: - throw Error(`Unknown type '${type}' in scope fixture ${test.path}`); + throw new Error(`Unknown type '${type}' in scope fixture ${test.path}`); } } @@ -144,10 +147,12 @@ function parseTest(test: ScopeTestPath) { scopes.push(currentScope); if (scopes.some((s) => s.targets.some((t) => !t.content))) { - throw Error(`Scope fixture ${test.path} contains targets without content.`); + throw new Error( + `Scope fixture ${test.path} contains targets without content.`, + ); } if (scopes.some((s) => s.targets.length === 0)) { - throw Error(`Scope fixture ${test.path} contains empty scopes.`); + throw new Error(`Scope fixture ${test.path} contains empty scopes.`); } const result: Fixture = { diff --git a/packages/app-web-docs/tsconfig.json b/packages/app-web-docs/tsconfig.json index bfb6c9ec09..82eb26511a 100644 --- a/packages/app-web-docs/tsconfig.json +++ b/packages/app-web-docs/tsconfig.json @@ -1,8 +1,10 @@ { - "extends": ["@tsconfig/docusaurus/tsconfig.json", "../../tsconfig.web.json"], + "extends": "../../tsconfig.web.json", "compilerOptions": { "jsx": "react-jsx", - "jsxImportSource": "react" + "jsxImportSource": "react", + "skipLibCheck": true, + "types": ["@docusaurus/theme-classic", "@docusaurus/module-type-aliases"] }, "include": [ "src/**/*.ts", diff --git a/packages/app-web/eslintConfig.ts b/packages/app-web/eslintConfig.ts deleted file mode 100644 index e3c0d26482..0000000000 --- a/packages/app-web/eslintConfig.ts +++ /dev/null @@ -1,10 +0,0 @@ -import type { ConfigWithExtends } from "@eslint/config-helpers"; -import tsEslint from "typescript-eslint"; - -export const cursorlessOrgConfig: ConfigWithExtends = { - files: ["packages/app-web/**/*"], - - languageOptions: { - parser: tsEslint.parser, - }, -}; diff --git a/packages/app-web/src/EmbeddedVideo.tsx b/packages/app-web/src/EmbeddedVideo.tsx index 1103def513..85e49a19fa 100644 --- a/packages/app-web/src/EmbeddedVideo.tsx +++ b/packages/app-web/src/EmbeddedVideo.tsx @@ -28,7 +28,7 @@ export function EmbeddedVideo({ youtubeSlug }: Props) { height="100%" controls={true} onError={(error) => { - console.log(`Error loading YouTube video: ${error}`); + console.warn(`Error loading YouTube video: ${error}`); setIsError(true); }} /> diff --git a/packages/lib-common/eslintConfig.ts b/packages/lib-common/eslintConfig.ts deleted file mode 100644 index 9963779c28..0000000000 --- a/packages/lib-common/eslintConfig.ts +++ /dev/null @@ -1,37 +0,0 @@ -import type { ConfigWithExtendsArray } from "@eslint/config-helpers"; - -export const commonConfig: ConfigWithExtendsArray = [ - { - files: ["packages/lib-common/**/*.ts"], - - ignores: ["**/*.test.ts"], - - rules: { - "import/no-nodejs-modules": "error", - }, - }, - - { - files: ["packages/lib-common/src/types/command/**/*.ts"], - - rules: { - "@typescript-eslint/no-restricted-imports": [ - "error", - { - patterns: [ - { - group: ["@cursorless/*", "../*"], - message: "API types shouldn't have any dependencies", - }, - ], - paths: [ - { - name: "@*", - message: "API types shouldn't have any dependencies", - }, - ], - }, - ], - }, - }, -]; diff --git a/packages/lib-common/src/Debouncer.ts b/packages/lib-common/src/Debouncer.ts index a032b61d0a..9d212ff89b 100644 --- a/packages/lib-common/src/Debouncer.ts +++ b/packages/lib-common/src/Debouncer.ts @@ -2,7 +2,7 @@ * Debounces a callback. */ export class Debouncer { - private timeoutHandle: ReturnType | null = null; + private timeoutHandle?: ReturnType; constructor( /** The callback to debounce */ @@ -19,13 +19,14 @@ export class Debouncer { this.timeoutHandle = setTimeout(() => { this.callback(); - this.timeoutHandle = null; + this.timeoutHandle = undefined; }, this.debounceDelayMs); } dispose() { if (this.timeoutHandle != null) { clearTimeout(this.timeoutHandle); + this.timeoutHandle = undefined; } } } diff --git a/packages/lib-common/src/ide/fake/FakeIDE.ts b/packages/lib-common/src/ide/fake/FakeIDE.ts index 0fde1eed4b..2435fcbcdc 100644 --- a/packages/lib-common/src/ide/fake/FakeIDE.ts +++ b/packages/lib-common/src/ide/fake/FakeIDE.ts @@ -76,18 +76,18 @@ export class FakeIDE implements EmittableIDE { get assetsRoot(): string { if (this.assetsRoot_ == null) { - throw Error("Field `assetsRoot` has not yet been mocked"); + throw new Error("Field `assetsRoot` has not yet been mocked"); } return this.assetsRoot_; } get activeTextEditor(): TextEditor | undefined { - throw Error("activeTextEditor: not implemented"); + throw new Error("activeTextEditor: not implemented"); } get activeEditableTextEditor(): EditableTextEditor | undefined { - throw Error("activeEditableTextEditor: not implemented"); + throw new Error("activeEditableTextEditor: not implemented"); } get visibleTextEditors(): TextEditor[] { @@ -99,25 +99,25 @@ export class FakeIDE implements EmittableIDE { } public getEditableTextEditor(_editor: TextEditor): EditableTextEditor { - throw Error("getEditableTextEditor: not implemented"); + throw new Error("getEditableTextEditor: not implemented"); } public findInDocument(_query: string, _editor: TextEditor): Promise { - throw Error("findInDocument: not implemented"); + throw new Error("findInDocument: not implemented"); } public findInWorkspace(_query: string): Promise { - throw Error("findInWorkspace: not implemented"); + throw new Error("findInWorkspace: not implemented"); } public openTextDocument(_path: string): Promise { - throw Error("openTextDocument: not implemented"); + throw new Error("openTextDocument: not implemented"); } public openUntitledTextDocument( _options: OpenUntitledTextDocumentOptions, ): Promise { - throw Error("openUntitledTextDocument: not implemented"); + throw new Error("openUntitledTextDocument: not implemented"); } public setQuickPickReturnValue(value: string | undefined) { @@ -132,7 +132,7 @@ export class FakeIDE implements EmittableIDE { } public showInputBox(_options?: any): Promise { - throw Error("showInputBox: not implemented"); + throw new Error("showInputBox: not implemented"); } executeCommand(_command: string, ..._args: any[]): Promise { diff --git a/packages/lib-common/src/ide/inMemoryTextEditor/InMemoryTextDocument.ts b/packages/lib-common/src/ide/inMemoryTextEditor/InMemoryTextDocument.ts index 800b316c8c..63d5514fe9 100644 --- a/packages/lib-common/src/ide/inMemoryTextEditor/InMemoryTextDocument.ts +++ b/packages/lib-common/src/ide/inMemoryTextEditor/InMemoryTextDocument.ts @@ -89,7 +89,7 @@ export class InMemoryTextDocument implements TextDocument { ); if (line == null) { - throw Error(`Couldn't find line for offset ${offset}`); + throw new Error(`Couldn't find line for offset ${offset}`); } return new Position( diff --git a/packages/lib-common/src/ide/inMemoryTextEditor/InMemoryTextEditor.ts b/packages/lib-common/src/ide/inMemoryTextEditor/InMemoryTextEditor.ts index 9647ae8d17..0fd16994f4 100644 --- a/packages/lib-common/src/ide/inMemoryTextEditor/InMemoryTextEditor.ts +++ b/packages/lib-common/src/ide/inMemoryTextEditor/InMemoryTextEditor.ts @@ -105,23 +105,23 @@ export class InMemoryTextEditor implements EditableTextEditor { } async clipboardCopy(_ranges: Range[]): Promise { - throw Error("clipboardCopy: not implemented"); + throw new Error("clipboardCopy: not implemented"); } async clipboardPaste(): Promise { - throw Error("clipboardPaste: not implemented"); + throw new Error("clipboardPaste: not implemented"); } indentLine(_ranges: Range[]): Promise { - throw Error("indentLine: not implemented"); + throw new Error("indentLine: not implemented"); } outdentLine(_ranges: Range[]): Promise { - throw Error("outdentLine: not implemented"); + throw new Error("outdentLine: not implemented"); } insertLineAfter(_ranges?: Range[]): Promise { - throw Error("insertLineAfter: not implemented"); + throw new Error("insertLineAfter: not implemented"); } focus(): Promise { @@ -136,18 +136,15 @@ export class InMemoryTextEditor implements EditableTextEditor { throw new Error("revealLine: not implemented"); } - openLink( - _range: Range, - _options?: OpenLinkOptions | undefined, - ): Promise { + openLink(_range: Range, _options?: OpenLinkOptions): Promise { throw new Error("openLink: not implemented"); } - fold(_ranges?: Range[] | undefined): Promise { + fold(_ranges?: Range[]): Promise { throw new Error("fold: not implemented"); } - unfold(_ranges?: Range[] | undefined): Promise { + unfold(_ranges?: Range[]): Promise { throw new Error("unfold: not implemented"); } @@ -155,46 +152,43 @@ export class InMemoryTextEditor implements EditableTextEditor { throw new Error("toggleBreakpoint: not implemented"); } - toggleLineComment(_ranges?: Range[] | undefined): Promise { + toggleLineComment(_ranges?: Range[]): Promise { throw new Error("toggleLineComment: not implemented"); } - insertSnippet( - _snippet: string, - _ranges?: Range[] | undefined, - ): Promise { + insertSnippet(_snippet: string, _ranges?: Range[]): Promise { throw new Error("insertSnippet: not implemented"); } - rename(_range?: Range | undefined): Promise { + rename(_range?: Range): Promise { throw new Error("rename: not implemented"); } - showReferences(_range?: Range | undefined): Promise { + showReferences(_range?: Range): Promise { throw new Error("showReferences: not implemented"); } - quickFix(_range?: Range | undefined): Promise { + quickFix(_range?: Range): Promise { throw new Error("quickFix: not implemented"); } - revealDefinition(_range?: Range | undefined): Promise { + revealDefinition(_range?: Range): Promise { throw new Error("revealDefinition: not implemented"); } - revealTypeDefinition(_range?: Range | undefined): Promise { + revealTypeDefinition(_range?: Range): Promise { throw new Error("revealTypeDefinition: not implemented"); } - showHover(_range?: Range | undefined): Promise { + showHover(_range?: Range): Promise { throw new Error("showHover: not implemented"); } - showDebugHover(_range?: Range | undefined): Promise { + showDebugHover(_range?: Range): Promise { throw new Error("showDebugHover: not implemented"); } - extractVariable(_range?: Range | undefined): Promise { + extractVariable(_range?: Range): Promise { throw new Error("extractVariable: not implemented"); } @@ -207,27 +201,27 @@ export class InMemoryTextEditor implements EditableTextEditor { } public async gitAccept(_range?: Range): Promise { - throw Error("gitAccept: not implemented"); + throw new Error("gitAccept: not implemented"); } public async gitRevert(_range?: Range): Promise { - throw Error("gitRevert: not implemented"); + throw new Error("gitRevert: not implemented"); } public async gitStageFile(): Promise { - throw Error("gitStageFile: not implemented"); + throw new Error("gitStageFile: not implemented"); } public async gitUnstageFile(): Promise { - throw Error("gitUnstageFile: not implemented"); + throw new Error("gitUnstageFile: not implemented"); } public async gitStageRange(_range?: Range): Promise { - throw Error("gitStageRange: not implemented"); + throw new Error("gitStageRange: not implemented"); } public async gitUnstageRange(_range?: Range): Promise { - throw Error("gitUnstageRange: not implemented"); + throw new Error("gitUnstageRange: not implemented"); } } diff --git a/packages/lib-common/src/ide/inMemoryTextEditor/performEdits.ts b/packages/lib-common/src/ide/inMemoryTextEditor/performEdits.ts index 2913d03959..c2376bc6c1 100644 --- a/packages/lib-common/src/ide/inMemoryTextEditor/performEdits.ts +++ b/packages/lib-common/src/ide/inMemoryTextEditor/performEdits.ts @@ -69,7 +69,7 @@ function createChangeEvents( } // Overlapping non-removal ranges are not allowed. - throw Error("Overlapping ranges are not allowed!"); + throw new Error("Overlapping ranges are not allowed!"); } const text = edit.text.replace(/\r?\n/g, eol); diff --git a/packages/lib-common/src/ide/types/Paths.ts b/packages/lib-common/src/ide/types/Paths.ts index a7962ee9a8..be010fd28f 100644 --- a/packages/lib-common/src/ide/types/Paths.ts +++ b/packages/lib-common/src/ide/types/Paths.ts @@ -15,10 +15,7 @@ type Join< ? R : undefined; -type Union< - L extends unknown | undefined, - R extends unknown | undefined, -> = L extends undefined +type Union = L extends undefined ? R extends undefined ? undefined : R diff --git a/packages/lib-common/src/scopeSupportFacets/jsonc.ts b/packages/lib-common/src/scopeSupportFacets/jsonc.ts index b67e383795..13864fbfaf 100644 --- a/packages/lib-common/src/scopeSupportFacets/jsonc.ts +++ b/packages/lib-common/src/scopeSupportFacets/jsonc.ts @@ -1,9 +1,5 @@ import { jsonScopeSupport } from "./json"; import type { LanguageScopeSupportFacetMap } from "./scopeSupportFacets.types"; -import { ScopeSupportFacetLevel } from "./scopeSupportFacets.types"; - -// eslint-disable-next-line @typescript-eslint/no-unused-vars -const { supported, unsupported, notApplicable } = ScopeSupportFacetLevel; export const jsoncScopeSupport: LanguageScopeSupportFacetMap = { ...jsonScopeSupport, diff --git a/packages/lib-common/src/scopeSupportFacets/jsonl.ts b/packages/lib-common/src/scopeSupportFacets/jsonl.ts index f098d5cdf7..f838ac887c 100644 --- a/packages/lib-common/src/scopeSupportFacets/jsonl.ts +++ b/packages/lib-common/src/scopeSupportFacets/jsonl.ts @@ -1,9 +1,5 @@ import { jsonScopeSupport } from "./json"; import type { LanguageScopeSupportFacetMap } from "./scopeSupportFacets.types"; -import { ScopeSupportFacetLevel } from "./scopeSupportFacets.types"; - -// eslint-disable-next-line @typescript-eslint/no-unused-vars -const { supported, unsupported, notApplicable } = ScopeSupportFacetLevel; export const jsonlScopeSupport: LanguageScopeSupportFacetMap = { ...jsonScopeSupport, diff --git a/packages/lib-common/src/scopeSupportFacets/languageScopeSupport.ts b/packages/lib-common/src/scopeSupportFacets/languageScopeSupport.ts index 5e12d8c821..39d5d106f7 100644 --- a/packages/lib-common/src/scopeSupportFacets/languageScopeSupport.ts +++ b/packages/lib-common/src/scopeSupportFacets/languageScopeSupport.ts @@ -34,8 +34,6 @@ import { typescriptreactScopeSupport } from "./typescriptreact"; import { xmlScopeSupport } from "./xml"; import { yamlScopeSupport } from "./yaml"; -/* eslint-disable @typescript-eslint/naming-convention */ - export const languageScopeSupport: StringRecord = { c: cScopeSupport, diff --git a/packages/lib-common/src/scopeSupportFacets/yaml.ts b/packages/lib-common/src/scopeSupportFacets/yaml.ts index 6499412a37..1ca9c7447c 100644 --- a/packages/lib-common/src/scopeSupportFacets/yaml.ts +++ b/packages/lib-common/src/scopeSupportFacets/yaml.ts @@ -1,8 +1,7 @@ import type { LanguageScopeSupportFacetMap } from "./scopeSupportFacets.types"; import { ScopeSupportFacetLevel } from "./scopeSupportFacets.types"; -// eslint-disable-next-line @typescript-eslint/no-unused-vars -const { supported, unsupported, notApplicable } = ScopeSupportFacetLevel; +const { supported, notApplicable } = ScopeSupportFacetLevel; export const yamlScopeSupport: LanguageScopeSupportFacetMap = { disqualifyDelimiter: supported, diff --git a/packages/lib-common/src/tooling/jest.ts b/packages/lib-common/src/tooling/jest.ts index d403f320d0..c8feabf6d9 100644 --- a/packages/lib-common/src/tooling/jest.ts +++ b/packages/lib-common/src/tooling/jest.ts @@ -1,5 +1,3 @@ -/* eslint-disable @typescript-eslint/naming-convention */ - export const preactModuleNameMapper = { "^react$": "/node_modules/preact/compat/dist/compat.js", "^react-dom$": "/node_modules/preact/compat/dist/compat.js", diff --git a/packages/lib-common/src/tooling/vitePreactAlias.ts b/packages/lib-common/src/tooling/vitePreactAlias.ts index d0a5821a6d..ff0921de8c 100644 --- a/packages/lib-common/src/tooling/vitePreactAlias.ts +++ b/packages/lib-common/src/tooling/vitePreactAlias.ts @@ -1,5 +1,3 @@ -/* eslint-disable @typescript-eslint/naming-convention */ - export const vitePreactAlias = { "react-dom/test-utils": "preact/test-utils", "react-dom": "preact/compat", diff --git a/packages/lib-engine/eslintConfig.ts b/packages/lib-engine/eslintConfig.ts deleted file mode 100644 index 2aaecdd18f..0000000000 --- a/packages/lib-engine/eslintConfig.ts +++ /dev/null @@ -1,11 +0,0 @@ -import type { ConfigWithExtends } from "@eslint/config-helpers"; - -export const cursorlessEngineConfig: ConfigWithExtends = { - files: ["packages/lib-engine/**/*.ts"], - - ignores: ["**/src/scripts/**", "**/src/testUtil/**", "**/*test.ts"], - - rules: { - "import/no-nodejs-modules": "error", - }, -}; diff --git a/packages/lib-engine/src/actions/EditNew/EditNew.ts b/packages/lib-engine/src/actions/EditNew/EditNew.ts index 00f8bf28f2..0a1fac7746 100644 --- a/packages/lib-engine/src/actions/EditNew/EditNew.ts +++ b/packages/lib-engine/src/actions/EditNew/EditNew.ts @@ -45,9 +45,10 @@ export class EditNew { thatRanges: destinations.map( ({ target }) => target.thatTarget.contentRange, ), - cursorRanges: new Array(destinations.length).fill( - undefined, - ) as undefined[], + cursorRanges: Array.from( + { length: destinations.length }, + () => undefined, + ), }; const insertLineAfterCapability = @@ -73,7 +74,7 @@ export class EditNew { const newSelections = state.destinations.map((destination, index) => { const cursorRange = state.cursorRanges[index]; if (cursorRange == null) { - throw Error("Cursor range is undefined for destination"); + throw new Error("Cursor range is undefined for destination"); } return Selection.fromRange(cursorRange, destination.target.isReversed); }); diff --git a/packages/lib-engine/src/actions/EditNew/runNotebookCellTargets.ts b/packages/lib-engine/src/actions/EditNew/runNotebookCellTargets.ts index 522af5f933..b2955fac4c 100644 --- a/packages/lib-engine/src/actions/EditNew/runNotebookCellTargets.ts +++ b/packages/lib-engine/src/actions/EditNew/runNotebookCellTargets.ts @@ -16,7 +16,7 @@ export async function runEditNewNotebookCellTargets( const isAbove = destination.insertionMode === "before"; if (destination.insertionMode === "to") { - throw Error( + throw new Error( `Unsupported insertion mode '${destination.insertionMode}' for notebook cell`, ); } diff --git a/packages/lib-engine/src/actions/Highlight.ts b/packages/lib-engine/src/actions/Highlight.ts index 96f7a5938e..d764a69918 100644 --- a/packages/lib-engine/src/actions/Highlight.ts +++ b/packages/lib-engine/src/actions/Highlight.ts @@ -16,7 +16,7 @@ export default class Highlight { highlightId?: HighlightId, ): Promise { if (this.ide.capabilities.commands["highlight"] == null) { - throw Error(`The highlight action is not supported by your ide`); + throw new Error(`The highlight action is not supported by your ide`); } if (targets.length === 0) { diff --git a/packages/lib-engine/src/actions/Rewrap.ts b/packages/lib-engine/src/actions/Rewrap.ts index d8c845e7f7..5405e76e17 100644 --- a/packages/lib-engine/src/actions/Rewrap.ts +++ b/packages/lib-engine/src/actions/Rewrap.ts @@ -34,7 +34,7 @@ export default class Rewrap { const boundary = target.getBoundary()!; if (boundary.length !== 2) { - throw Error("Target must have an opening and closing delimiter"); + throw new Error("Target must have an opening and closing delimiter"); } return boundary; diff --git a/packages/lib-engine/src/actions/SimpleIdeCommandActions.ts b/packages/lib-engine/src/actions/SimpleIdeCommandActions.ts index 76edd0bb22..fa5a7d2c64 100644 --- a/packages/lib-engine/src/actions/SimpleIdeCommandActions.ts +++ b/packages/lib-engine/src/actions/SimpleIdeCommandActions.ts @@ -44,7 +44,7 @@ abstract class SimpleIdeCommandAction { const capabilities = this.ide.capabilities.commands[this.command]; if (capabilities == null) { - throw Error(`Action ${this.command} is not supported by your ide`); + throw new Error(`Action ${this.command} is not supported by your ide`); } const { acceptsLocation } = capabilities; @@ -213,7 +213,7 @@ function callback( // Unsupported as simple action case "highlight": - throw Error("Highlight command not supported as simple action"); + throw new Error("Highlight command not supported as simple action"); } } diff --git a/packages/lib-engine/src/api/CursorlessEngineApi.ts b/packages/lib-engine/src/api/CursorlessEngineApi.ts index 223dbb07ea..dc30a5fd0c 100644 --- a/packages/lib-engine/src/api/CursorlessEngineApi.ts +++ b/packages/lib-engine/src/api/CursorlessEngineApi.ts @@ -49,17 +49,20 @@ export interface CommandApi { * Runs a command. This is the core of the Cursorless engine. * @param command The command to run */ + // oxlint-disable-next-line typescript/no-redundant-type-constituents runCommand(command: Command): Promise; /** * Designed to run commands that come directly from the user. Ensures that * the command args are of the correct shape. */ + // oxlint-disable-next-line typescript/no-redundant-type-constituents runCommandSafe(...args: unknown[]): Promise; /** * Repeats the previous command. */ + // oxlint-disable-next-line typescript/no-redundant-type-constituents repeatPreviousCommand(): Promise; } diff --git a/packages/lib-engine/src/core/IndividualHatMap.ts b/packages/lib-engine/src/core/IndividualHatMap.ts index b27cc72df2..17f776dbf4 100644 --- a/packages/lib-engine/src/core/IndividualHatMap.ts +++ b/packages/lib-engine/src/core/IndividualHatMap.ts @@ -130,7 +130,7 @@ export class IndividualHatMap implements ReadOnlyHatMap { private checkExpired() { if (this.isExpired) { - throw Error("Map snapshot has expired"); + throw new Error("Map snapshot has expired"); } } diff --git a/packages/lib-engine/src/core/commandRunner/CommandRunnerImpl.ts b/packages/lib-engine/src/core/commandRunner/CommandRunnerImpl.ts index 00654b3799..c943e10060 100644 --- a/packages/lib-engine/src/core/commandRunner/CommandRunnerImpl.ts +++ b/packages/lib-engine/src/core/commandRunner/CommandRunnerImpl.ts @@ -299,7 +299,7 @@ function constructStoredTarget( selections: SelectionWithEditor[] | undefined, ) { if (targets != null && selections != null) { - throw Error( + throw new Error( "Actions may only return full targets or selections for that mark", ); } diff --git a/packages/lib-engine/src/core/commandVersionUpgrades/upgradeV5ToV6/upgradeV5ToV6.ts b/packages/lib-engine/src/core/commandVersionUpgrades/upgradeV5ToV6/upgradeV5ToV6.ts index 705821e495..3cd1f7944d 100644 --- a/packages/lib-engine/src/core/commandVersionUpgrades/upgradeV5ToV6/upgradeV5ToV6.ts +++ b/packages/lib-engine/src/core/commandVersionUpgrades/upgradeV5ToV6/upgradeV5ToV6.ts @@ -133,7 +133,7 @@ function upgradeAction( target: upgradeTarget(targets[0]), }; case "parsed": - throw Error("Parsed action should not be present in V5"); + throw new Error("Parsed action should not be present in V5"); default: return { name, @@ -347,7 +347,7 @@ function getInsertionModeFromPrimitive( ); if (positionModifier != null) { if (target.modifiers!.indexOf(positionModifier) !== 0) { - throw Error("Position modifier has to be at first index"); + throw new Error("Position modifier has to be at first index"); } if ( positionModifier?.position === "before" || diff --git a/packages/lib-engine/src/core/getPreferredSnippet.ts b/packages/lib-engine/src/core/getPreferredSnippet.ts index 74d94d21da..8713200552 100644 --- a/packages/lib-engine/src/core/getPreferredSnippet.ts +++ b/packages/lib-engine/src/core/getPreferredSnippet.ts @@ -93,7 +93,7 @@ function findSnippetWithFewestLanguages< // Find the snippet with the fewest languages return snippets.reduce((prev, curr) => { if (prev.languages == null || curr.languages == null) { - throw Error( + throw new Error( "Snippet must have languages defined to find the one with the fewest languages", ); } diff --git a/packages/lib-engine/src/core/indexArrayStrict.ts b/packages/lib-engine/src/core/indexArrayStrict.ts index 3081d82ccb..5eaf659182 100644 --- a/packages/lib-engine/src/core/indexArrayStrict.ts +++ b/packages/lib-engine/src/core/indexArrayStrict.ts @@ -1,6 +1,6 @@ export function indexArrayStrict(arr: T[], idx: number, name: string): T { if (idx >= arr.length) { - throw Error( + throw new Error( `Expected at least ${idx + 1} ${name} but received only ${arr.length}`, ); } diff --git a/packages/lib-engine/src/customCommandGrammar/parseCommand.ts b/packages/lib-engine/src/customCommandGrammar/parseCommand.ts index 22baa98c55..95decc7d1b 100644 --- a/packages/lib-engine/src/customCommandGrammar/parseCommand.ts +++ b/packages/lib-engine/src/customCommandGrammar/parseCommand.ts @@ -5,7 +5,6 @@ import grammar from "./generated/grammar"; function getScopeTypeParser(): nearley.Parser { return new nearley.Parser( - // eslint-disable-next-line @typescript-eslint/naming-convention nearley.Grammar.fromCompiled({ ...grammar, ParserStart: "scopeType" }), ); } diff --git a/packages/lib-engine/src/generateSpokenForm/defaultSpokenForms/marks.ts b/packages/lib-engine/src/generateSpokenForm/defaultSpokenForms/marks.ts index 060d4686af..3741fd6b87 100644 --- a/packages/lib-engine/src/generateSpokenForm/defaultSpokenForms/marks.ts +++ b/packages/lib-engine/src/generateSpokenForm/defaultSpokenForms/marks.ts @@ -54,7 +54,7 @@ export const lineDirections = { export function hatColorToSpokenForm(color: string): string { const result = hatColors[color]; if (result == null) { - throw Error(`Unknown hat color '${color}'`); + throw new Error(`Unknown hat color '${color}'`); } return result; } @@ -62,7 +62,7 @@ export function hatColorToSpokenForm(color: string): string { export function hatShapeToSpokenForm(shape: string): string { const result = hatShapes[shape]; if (result == null) { - throw Error(`Unknown hat shape '${shape}'`); + throw new Error(`Unknown hat shape '${shape}'`); } return result; } diff --git a/packages/lib-engine/src/generateSpokenForm/defaultSpokenForms/modifiers.ts b/packages/lib-engine/src/generateSpokenForm/defaultSpokenForms/modifiers.ts index a6bf4d0f42..7d72f2d5a8 100644 --- a/packages/lib-engine/src/generateSpokenForm/defaultSpokenForms/modifiers.ts +++ b/packages/lib-engine/src/generateSpokenForm/defaultSpokenForms/modifiers.ts @@ -33,7 +33,7 @@ export function surroundingPairDelimitersToSpokenForm( ): CustomizableSpokenFormComponentForType<"pairedDelimiter"> { const pairName = surroundingPairDelimiterToName.get([left, right]); if (pairName == null) { - throw Error(`Unknown surrounding pair delimiters '${left} ${right}'`); + throw new Error(`Unknown surrounding pair delimiters '${left} ${right}'`); } return spokenFormMap.pairedDelimiter[pairName]; } diff --git a/packages/lib-engine/src/generateSpokenForm/defaultSpokenForms/numbers.ts b/packages/lib-engine/src/generateSpokenForm/defaultSpokenForms/numbers.ts index 754d15e019..2330dd0691 100644 --- a/packages/lib-engine/src/generateSpokenForm/defaultSpokenForms/numbers.ts +++ b/packages/lib-engine/src/generateSpokenForm/defaultSpokenForms/numbers.ts @@ -128,7 +128,7 @@ const ordinals = [ export function numberToSpokenForm(number: number): string { const result = numbers[number]; if (result == null) { - throw Error(`Unknown number '${number}'`); + throw new Error(`Unknown number '${number}'`); } return result; } @@ -136,7 +136,7 @@ export function numberToSpokenForm(number: number): string { export function ordinalToSpokenForm(ordinal: number): string { const result = ordinals[ordinal]; if (result == null) { - throw Error(`Unknown ordinal '${ordinal}'`); + throw new Error(`Unknown ordinal '${ordinal}'`); } return result; } diff --git a/packages/lib-engine/src/generateSpokenForm/primitiveTargetToSpokenForm.ts b/packages/lib-engine/src/generateSpokenForm/primitiveTargetToSpokenForm.ts index 3fde97e050..6a166a0db0 100644 --- a/packages/lib-engine/src/generateSpokenForm/primitiveTargetToSpokenForm.ts +++ b/packages/lib-engine/src/generateSpokenForm/primitiveTargetToSpokenForm.ts @@ -53,8 +53,9 @@ export class PrimitiveTargetSpokenFormGenerator { return this.handleScopeType(modifier.scopeType); } return [ - new Array(modifier.ancestorIndex).fill( - this.spokenFormMap.modifierExtra.ancestor, + Array.from( + { length: modifier.ancestorIndex }, + () => this.spokenFormMap.modifierExtra.ancestor, ), this.handleScopeType(modifier.scopeType), ]; @@ -148,7 +149,7 @@ export class PrimitiveTargetSpokenFormGenerator { // Throw actual Error here because we're not sure we ever want to support // a spoken form for these; we may deprecate this construct entirely - throw Error(`Modifier '${modifier.type}' is not fully implemented`); + throw new Error(`Modifier '${modifier.type}' is not fully implemented`); } default: @@ -312,7 +313,7 @@ export class PrimitiveTargetSpokenFormGenerator { } // Throw actual Error here because we're not sure we ever want to support // a spoken form for these; we may deprecate this construct entirely - throw Error(`Mark '${mark.type}' is not fully implemented`); + throw new Error(`Mark '${mark.type}' is not fully implemented`); } case "explicit": case "keyboard": diff --git a/packages/lib-engine/src/languages/LanguageDefinition.ts b/packages/lib-engine/src/languages/LanguageDefinition.ts index 4cae8f01ac..d04918d6ff 100644 --- a/packages/lib-engine/src/languages/LanguageDefinition.ts +++ b/packages/lib-engine/src/languages/LanguageDefinition.ts @@ -61,7 +61,7 @@ export class LanguageDefinition { const rawQuery = treeSitter.createQuery(languageId, rawLanguageQueryString); if (rawQuery == null) { - throw Error( + throw new Error( `Could not create Tree sitter query for language ${languageId}`, ); } diff --git a/packages/lib-engine/src/languages/TreeSitterQuery/assertTypesEqual.ts b/packages/lib-engine/src/languages/TreeSitterQuery/assertTypesEqual.ts index 64aaf208f4..62cde20299 100644 --- a/packages/lib-engine/src/languages/TreeSitterQuery/assertTypesEqual.ts +++ b/packages/lib-engine/src/languages/TreeSitterQuery/assertTypesEqual.ts @@ -11,7 +11,7 @@ * helpful error messages. * @see https://stackoverflow.com/a/69413184 */ -// eslint-disable-next-line @typescript-eslint/no-unused-vars +// oxlint-disable-next-line @typescript-eslint/no-unused-vars export function assertTypesEqual() { // empty } diff --git a/packages/lib-engine/src/languages/TreeSitterQuery/getNode.ts b/packages/lib-engine/src/languages/TreeSitterQuery/getNode.ts index 0c7d6c22af..59ac98c377 100644 --- a/packages/lib-engine/src/languages/TreeSitterQuery/getNode.ts +++ b/packages/lib-engine/src/languages/TreeSitterQuery/getNode.ts @@ -3,7 +3,7 @@ import type { MutableQueryCapture } from "./QueryCapture"; export function getNode(capture: MutableQueryCapture): Node { if (capture.node == null) { - throw Error( + throw new Error( `Capture ${capture.name} has no node. The range of the capture has already been updated and no longer matches a specific node.`, ); } diff --git a/packages/lib-engine/src/languages/TreeSitterQuery/isEven.ts b/packages/lib-engine/src/languages/TreeSitterQuery/isEven.ts index 1dff9d5ca8..f641ac0ab2 100644 --- a/packages/lib-engine/src/languages/TreeSitterQuery/isEven.ts +++ b/packages/lib-engine/src/languages/TreeSitterQuery/isEven.ts @@ -9,7 +9,7 @@ import type { Node } from "web-tree-sitter"; */ export function isEven(node: Node, fieldName: string): boolean { if (node.parent == null) { - throw Error("Node has no parent"); + throw new Error("Node has no parent"); } const treeCursor = node.parent.walk(); @@ -26,5 +26,5 @@ export function isEven(node: Node, fieldName: string): boolean { hasNext = treeCursor.gotoNextSibling(); } - throw Error(`Node not found in parent for field: ${fieldName}`); + throw new Error(`Node not found in parent for field: ${fieldName}`); } diff --git a/packages/lib-engine/src/languages/TreeSitterQuery/operatorArgumentSchemaTypes.ts b/packages/lib-engine/src/languages/TreeSitterQuery/operatorArgumentSchemaTypes.ts index b0e1aea700..cf8ede298c 100644 --- a/packages/lib-engine/src/languages/TreeSitterQuery/operatorArgumentSchemaTypes.ts +++ b/packages/lib-engine/src/languages/TreeSitterQuery/operatorArgumentSchemaTypes.ts @@ -66,7 +66,7 @@ export type SchemaTypes = (typeof q)[keyof typeof q]; * `PredicateStep`, as that is what we always get from tree-sitter */ export type SchemaInputType = PredicateStep; -// eslint-disable-next-line @typescript-eslint/no-unused-expressions +// oxlint-disable-next-line @typescript-eslint/no-unused-expressions assertTypesEqual, SchemaInputType>; /** diff --git a/packages/lib-engine/src/languages/TreeSitterQuery/queryPredicateOperators.ts b/packages/lib-engine/src/languages/TreeSitterQuery/queryPredicateOperators.ts index 6d9023a8e3..1f45168802 100644 --- a/packages/lib-engine/src/languages/TreeSitterQuery/queryPredicateOperators.ts +++ b/packages/lib-engine/src/languages/TreeSitterQuery/queryPredicateOperators.ts @@ -205,7 +205,7 @@ class ShrinkToMatch extends QueryPredicateOperator { const match = text.match(new RegExp(pattern, "ds")); if (match?.index == null) { - throw Error(`No match for pattern '${pattern}'`); + throw new Error(`No match for pattern '${pattern}'`); } const [startOffset, endOffset] = @@ -242,7 +242,7 @@ class GrowToNamedSiblings extends QueryPredicateOperator { const node = getNode(capture); if (node.parent == null) { - throw Error("Node has no parent"); + throw new Error("Node has no parent"); } const { children } = node.parent; @@ -250,7 +250,7 @@ class GrowToNamedSiblings extends QueryPredicateOperator { let endPosition: Point | undefined; if (nodeIndex === -1) { - throw Error("Node not found in parent"); + throw new Error("Node not found in parent"); } for (let i = nodeIndex + 1; i < children.length; ++i) { diff --git a/packages/lib-engine/src/processTargets/ModifierStageFactoryImpl.ts b/packages/lib-engine/src/processTargets/ModifierStageFactoryImpl.ts index cb784472a0..65e62581f9 100644 --- a/packages/lib-engine/src/processTargets/ModifierStageFactoryImpl.ts +++ b/packages/lib-engine/src/processTargets/ModifierStageFactoryImpl.ts @@ -116,7 +116,7 @@ export class ModifierStageFactoryImpl implements ModifierStageFactory { case "range": return new RangeModifierStage(this, modifier); case "inferPreviousMark": - throw Error( + throw new Error( `Unexpected modifier '${modifier.type}'; it should have been removed during inference`, ); diff --git a/packages/lib-engine/src/processTargets/createContinuousRangeTarget.ts b/packages/lib-engine/src/processTargets/createContinuousRangeTarget.ts index a358621f0b..077f5aabfe 100644 --- a/packages/lib-engine/src/processTargets/createContinuousRangeTarget.ts +++ b/packages/lib-engine/src/processTargets/createContinuousRangeTarget.ts @@ -34,7 +34,7 @@ export function createContinuousRangeTarget( includeEnd: boolean, ): Target { if (startTarget.editor !== endTarget.editor) { - throw Error("Continuous targets must be in the same editor"); + throw new Error("Continuous targets must be in the same editor"); } if (includeStart && includeEnd && isSameType(startTarget, endTarget)) { diff --git a/packages/lib-engine/src/processTargets/marks/StoredTargetStage.ts b/packages/lib-engine/src/processTargets/marks/StoredTargetStage.ts index 048c9269f1..f35ed9d165 100644 --- a/packages/lib-engine/src/processTargets/marks/StoredTargetStage.ts +++ b/packages/lib-engine/src/processTargets/marks/StoredTargetStage.ts @@ -13,7 +13,7 @@ export class StoredTargetStage implements MarkStage { const targets = this.storedTargets.get(this.key); if (targets == null || targets.length === 0) { - throw Error(`No available ${this.key} marks`); + throw new Error(`No available ${this.key} marks`); } return targets; diff --git a/packages/lib-engine/src/processTargets/modifiers/InstanceStage.ts b/packages/lib-engine/src/processTargets/modifiers/InstanceStage.ts index b00ea4a0b0..93b5335a1a 100644 --- a/packages/lib-engine/src/processTargets/modifiers/InstanceStage.ts +++ b/packages/lib-engine/src/processTargets/modifiers/InstanceStage.ts @@ -48,7 +48,7 @@ export class InstanceStage implements ModifierStage { case "relativeScope": return this.handleRelativeScope(target, options, this.modifier); default: - throw Error(`${this.modifier.type} instance scope not supported`); + throw new Error(`${this.modifier.type} instance scope not supported`); } } diff --git a/packages/lib-engine/src/processTargets/modifiers/PreferredScopeStage.ts b/packages/lib-engine/src/processTargets/modifiers/PreferredScopeStage.ts index c7b75c5cd2..1214a70c32 100644 --- a/packages/lib-engine/src/processTargets/modifiers/PreferredScopeStage.ts +++ b/packages/lib-engine/src/processTargets/modifiers/PreferredScopeStage.ts @@ -45,7 +45,7 @@ export class PreferredScopeStage implements ModifierStage { const closestTargets = getClosestScopeTargets(target, scopeHandler); if (closestTargets == null) { - throw Error(`No scopes found for scope type: ${scopeType.type}`); + throw new Error(`No scopes found for scope type: ${scopeType.type}`); } return closestTargets; diff --git a/packages/lib-engine/src/processTargets/modifiers/commonContainingScopeIfUntypedModifiers.ts b/packages/lib-engine/src/processTargets/modifiers/commonContainingScopeIfUntypedModifiers.ts index d0ef3f63c2..4b7d66ebe5 100644 --- a/packages/lib-engine/src/processTargets/modifiers/commonContainingScopeIfUntypedModifiers.ts +++ b/packages/lib-engine/src/processTargets/modifiers/commonContainingScopeIfUntypedModifiers.ts @@ -4,7 +4,7 @@ import type { Modifier } from "@cursorless/lib-common"; // switch to `{import("foo")}` syntax in the `{@link}` tag. // - https://github.com/microsoft/TypeScript/issues/43869 // - https://github.com/microsoft/TypeScript/issues/43950 -// eslint-disable-next-line @typescript-eslint/no-unused-vars +// oxlint-disable-next-line @typescript-eslint/no-unused-vars import type { Target } from "../../typings/target.types"; /** diff --git a/packages/lib-engine/src/processTargets/modifiers/constructScopeRangeTarget.ts b/packages/lib-engine/src/processTargets/modifiers/constructScopeRangeTarget.ts index a650117c6f..38cac5fc8d 100644 --- a/packages/lib-engine/src/processTargets/modifiers/constructScopeRangeTarget.ts +++ b/packages/lib-engine/src/processTargets/modifiers/constructScopeRangeTarget.ts @@ -27,7 +27,7 @@ export function constructScopeRangeTarget( const targets2 = scope2.getTargets(isReversed); if (targets1.length !== 1 || targets2.length !== 1) { - throw Error("Scope range targets must be single-target"); + throw new Error("Scope range targets must be single-target"); } const [target1] = targets1; diff --git a/packages/lib-engine/src/processTargets/modifiers/scopeHandlers/BoundedScopeHandler.ts b/packages/lib-engine/src/processTargets/modifiers/scopeHandlers/BoundedScopeHandler.ts index e2007cf49c..77fcab62c4 100644 --- a/packages/lib-engine/src/processTargets/modifiers/scopeHandlers/BoundedScopeHandler.ts +++ b/packages/lib-engine/src/processTargets/modifiers/scopeHandlers/BoundedScopeHandler.ts @@ -161,7 +161,7 @@ function ensureSingleTarget(scope: TargetScope, isReversed: boolean): Target { const targets = scope.getTargets(isReversed); if (targets.length !== 1) { - throw Error(`Expected one target but got ${targets.length}`); + throw new Error(`Expected one target but got ${targets.length}`); } return targets[0]; @@ -184,7 +184,7 @@ export class BoundedNonWhitespaceSequenceScopeHandler extends BoundedBaseScopeHa ); if (contentRange == null || contentRange.isEmpty) { - throw Error("Expected non-empty intersection"); + throw new Error("Expected non-empty intersection"); } return new TokenTarget({ @@ -208,7 +208,7 @@ export class BoundedParagraphScopeHandler extends BoundedBaseScopeHandler { protected createTarget(target: Target, interior: InteriorTarget): Target { if (!(target instanceof ParagraphTarget)) { - throw Error("Expected ParagraphTarget"); + throw new Error("Expected ParagraphTarget"); } return new BoundedParagraphTarget({ diff --git a/packages/lib-engine/src/processTargets/modifiers/scopeHandlers/ScopeHandlerFactoryImpl.ts b/packages/lib-engine/src/processTargets/modifiers/scopeHandlers/ScopeHandlerFactoryImpl.ts index 6225b8b53a..8f20bc1bb0 100644 --- a/packages/lib-engine/src/processTargets/modifiers/scopeHandlers/ScopeHandlerFactoryImpl.ts +++ b/packages/lib-engine/src/processTargets/modifiers/scopeHandlers/ScopeHandlerFactoryImpl.ts @@ -144,7 +144,7 @@ export class ScopeHandlerFactoryImpl implements ScopeHandlerFactory { default: // Pseudoscopes are handled separately in their own modifiers. if (pseudoScopes.has(scopeType.type)) { - throw Error(`Unexpected scope type '${scopeType.type}'`); + throw new Error(`Unexpected scope type '${scopeType.type}'`); } return this.languageDefinitions .get(languageId) diff --git a/packages/lib-engine/src/processTargets/modifiers/scopeHandlers/TreeSitterScopeHandler/BaseTreeSitterScopeHandler.ts b/packages/lib-engine/src/processTargets/modifiers/scopeHandlers/TreeSitterScopeHandler/BaseTreeSitterScopeHandler.ts index 0cc6ead93d..28ba9a8843 100644 --- a/packages/lib-engine/src/processTargets/modifiers/scopeHandlers/TreeSitterScopeHandler/BaseTreeSitterScopeHandler.ts +++ b/packages/lib-engine/src/processTargets/modifiers/scopeHandlers/TreeSitterScopeHandler/BaseTreeSitterScopeHandler.ts @@ -83,7 +83,7 @@ export abstract class BaseTreeSitterScopeHandler extends BaseScopeHandler { ); if (ide.runMode === "test") { - throw Error(message); + throw new Error(message); } } diff --git a/packages/lib-engine/src/runCommand.ts b/packages/lib-engine/src/runCommand.ts index ffc46fdf29..a750a84f0d 100644 --- a/packages/lib-engine/src/runCommand.ts +++ b/packages/lib-engine/src/runCommand.ts @@ -47,6 +47,7 @@ export async function runCommand( rangeUpdater: RangeUpdater, commandRunnerDecorators: CommandRunnerDecorator[], command: Command, + // oxlint-disable-next-line typescript/no-redundant-type-constituents ): Promise { if (debug.active) { debug.log(`command:`); @@ -83,6 +84,7 @@ export async function runCommand( async function unwrapLegacyCommandResponse( command: Command, response: CommandResponse, + // oxlint-disable-next-line typescript/no-redundant-type-constituents ): Promise { if (clientSupportsFallback(command)) { return response; diff --git a/packages/lib-engine/src/scripts/transformRecordedTests/index.ts b/packages/lib-engine/src/scripts/transformRecordedTests/index.ts index d19fdb2f71..5557332e83 100644 --- a/packages/lib-engine/src/scripts/transformRecordedTests/index.ts +++ b/packages/lib-engine/src/scripts/transformRecordedTests/index.ts @@ -54,7 +54,7 @@ async function main(args: string[]) { } if (failureCount > 0) { - throw Error(`${failureCount} failed files`); + throw new Error(`${failureCount} failed files`); } } diff --git a/packages/lib-engine/src/spokenForms/graphemes.ts b/packages/lib-engine/src/spokenForms/graphemes.ts index b2448e1bf3..4e32aebc07 100644 --- a/packages/lib-engine/src/spokenForms/graphemes.ts +++ b/packages/lib-engine/src/spokenForms/graphemes.ts @@ -1,5 +1,3 @@ -/* eslint-disable @typescript-eslint/naming-convention */ - // https://github.com/talonhub/community/blob/9acb6c9659bb0c9b794a7b7126d025603b4ed726/core/keys/keys.py const alphabet = Object.fromEntries( diff --git a/packages/lib-engine/src/test/scopes.test.ts b/packages/lib-engine/src/test/scopes.test.ts index ca5bf04e57..a574819c04 100644 --- a/packages/lib-engine/src/test/scopes.test.ts +++ b/packages/lib-engine/src/test/scopes.test.ts @@ -208,7 +208,7 @@ function getFacetInfo( : scopeSupportFacetInfos[facetId as ScopeSupportFacet]; if (facetInfo == null) { - throw Error(`Missing scope support facet info for: ${facetId}`); + throw new Error(`Missing scope support facet info for: ${facetId}`); } const { scopeType, isIteration } = facetInfo; diff --git a/packages/lib-engine/src/test/spokenForms.talon.test.ts b/packages/lib-engine/src/test/spokenForms.talon.test.ts index e7cc5178b4..16b111b692 100644 --- a/packages/lib-engine/src/test/spokenForms.talon.test.ts +++ b/packages/lib-engine/src/test/spokenForms.talon.test.ts @@ -70,7 +70,7 @@ async function runRecordedFixture(repl: TalonRepl, file: string) { const alreadyRan: Record< string, - { commands: CommandLatest[]; mockedGetValue: unknown | undefined } + { commands: CommandLatest[]; mockedGetValue: unknown } > = {}; async function runTest( @@ -111,7 +111,7 @@ async function runTest( try { return JSON.parse(result); } catch (e) { - throw Error(result, { cause: e }); + throw new Error(result, { cause: e }); } })(); diff --git a/packages/lib-engine/src/testUtil/TalonRepl.ts b/packages/lib-engine/src/testUtil/TalonRepl.ts index 670dd17b7a..1cec66f868 100644 --- a/packages/lib-engine/src/testUtil/TalonRepl.ts +++ b/packages/lib-engine/src/testUtil/TalonRepl.ts @@ -80,7 +80,7 @@ export class TalonRepl { console.log(output); if (tryCount++ > MAX_OUTPUT_TO_EAT) { - throw Error("Too much output to eat"); + throw new Error("Too much output to eat"); } } } diff --git a/packages/lib-engine/src/testUtil/TestTextEditor.ts b/packages/lib-engine/src/testUtil/TestTextEditor.ts index ff9a96d69e..e4f28bb534 100644 --- a/packages/lib-engine/src/testUtil/TestTextEditor.ts +++ b/packages/lib-engine/src/testUtil/TestTextEditor.ts @@ -35,31 +35,31 @@ export class TestTextEditor implements EditableTextEditor { _selections: Selection[], _opts?: SetSelectionsOpts, ): Promise { - throw Error("setSelections: not implemented"); + throw new Error("setSelections: not implemented"); } edit(_edits: Edit[]): Promise { - throw Error("edit: not implemented"); + throw new Error("edit: not implemented"); } async clipboardCopy(_ranges: Range[]): Promise { - throw Error("clipboardCopy: not implemented"); + throw new Error("clipboardCopy: not implemented"); } async clipboardPaste(): Promise { - throw Error("clipboardPaste: not implemented"); + throw new Error("clipboardPaste: not implemented"); } indentLine(_ranges: Range[]): Promise { - throw Error("indentLine: not implemented"); + throw new Error("indentLine: not implemented"); } outdentLine(_ranges: Range[]): Promise { - throw Error("outdentLine: not implemented"); + throw new Error("outdentLine: not implemented"); } insertLineAfter(_ranges?: Range[]): Promise { - throw Error("insertLineAfter: not implemented"); + throw new Error("insertLineAfter: not implemented"); } focus(): Promise { @@ -74,18 +74,15 @@ export class TestTextEditor implements EditableTextEditor { throw new Error("revealLine: not implemented"); } - openLink( - _range: Range, - _options?: OpenLinkOptions | undefined, - ): Promise { + openLink(_range: Range, _options?: OpenLinkOptions): Promise { throw new Error("openLink: not implemented"); } - fold(_ranges?: Range[] | undefined): Promise { + fold(_ranges?: Range[]): Promise { throw new Error("fold: not implemented"); } - unfold(_ranges?: Range[] | undefined): Promise { + unfold(_ranges?: Range[]): Promise { throw new Error("unfold: not implemented"); } @@ -93,46 +90,43 @@ export class TestTextEditor implements EditableTextEditor { throw new Error("toggleBreakpoint: not implemented"); } - toggleLineComment(_ranges?: Range[] | undefined): Promise { + toggleLineComment(_ranges?: Range[]): Promise { throw new Error("toggleLineComment: not implemented"); } - insertSnippet( - _snippet: string, - _ranges?: Range[] | undefined, - ): Promise { + insertSnippet(_snippet: string, _ranges?: Range[]): Promise { throw new Error("insertSnippet: not implemented"); } - rename(_range?: Range | undefined): Promise { + rename(_range?: Range): Promise { throw new Error("rename: not implemented"); } - showReferences(_range?: Range | undefined): Promise { + showReferences(_range?: Range): Promise { throw new Error("showReferences: not implemented"); } - quickFix(_range?: Range | undefined): Promise { + quickFix(_range?: Range): Promise { throw new Error("quickFix: not implemented"); } - revealDefinition(_range?: Range | undefined): Promise { + revealDefinition(_range?: Range): Promise { throw new Error("revealDefinition: not implemented"); } - revealTypeDefinition(_range?: Range | undefined): Promise { + revealTypeDefinition(_range?: Range): Promise { throw new Error("revealTypeDefinition: not implemented"); } - showHover(_range?: Range | undefined): Promise { + showHover(_range?: Range): Promise { throw new Error("showHover: not implemented"); } - showDebugHover(_range?: Range | undefined): Promise { + showDebugHover(_range?: Range): Promise { throw new Error("showDebugHover: not implemented"); } - extractVariable(_range?: Range | undefined): Promise { + extractVariable(_range?: Range): Promise { throw new Error("extractVariable: not implemented"); } @@ -145,26 +139,26 @@ export class TestTextEditor implements EditableTextEditor { } public async gitAccept(_range?: Range): Promise { - throw Error("gitAccept: not implemented"); + throw new Error("gitAccept: not implemented"); } public async gitRevert(_range?: Range): Promise { - throw Error("gitRevert: not implemented"); + throw new Error("gitRevert: not implemented"); } public async gitStageFile(): Promise { - throw Error("gitStageFile: not implemented"); + throw new Error("gitStageFile: not implemented"); } public async gitUnstageFile(): Promise { - throw Error("gitUnstageFile: not implemented"); + throw new Error("gitUnstageFile: not implemented"); } public async gitStageRange(_range?: Range): Promise { - throw Error("gitStageRange: not implemented"); + throw new Error("gitStageRange: not implemented"); } public async gitUnstageRange(_range?: Range): Promise { - throw Error("gitUnstageRange: not implemented"); + throw new Error("gitUnstageRange: not implemented"); } } diff --git a/packages/lib-engine/src/testUtil/TestTreeSitter.ts b/packages/lib-engine/src/testUtil/TestTreeSitter.ts index 30c17a765b..42cb15ec59 100644 --- a/packages/lib-engine/src/testUtil/TestTreeSitter.ts +++ b/packages/lib-engine/src/testUtil/TestTreeSitter.ts @@ -72,9 +72,7 @@ function getWasmFilePath(parserName: string) { } const idToParser: Record = { - // eslint-disable-next-line @typescript-eslint/naming-convention "java-properties": "tree-sitter-properties", - // eslint-disable-next-line @typescript-eslint/naming-convention "talon-list": "tree-sitter-talon", agda: "tree-sitter-agda", c: "tree-sitter-c", diff --git a/packages/lib-engine/src/testUtil/plainObjectToTarget.ts b/packages/lib-engine/src/testUtil/plainObjectToTarget.ts index d94cf40847..cef88c7be5 100644 --- a/packages/lib-engine/src/testUtil/plainObjectToTarget.ts +++ b/packages/lib-engine/src/testUtil/plainObjectToTarget.ts @@ -35,6 +35,6 @@ export function plainObjectToTarget( contentRange: plainObjectToRange(plainObject.contentRange), }); default: - throw Error(`Unsupported target type ${plainObject.type}`); + throw new Error(`Unsupported target type ${plainObject.type}`); } } diff --git a/packages/lib-engine/src/testUtil/serializeTargetRange.ts b/packages/lib-engine/src/testUtil/serializeTargetRange.ts index b3298eaf3a..c6c3198134 100644 --- a/packages/lib-engine/src/testUtil/serializeTargetRange.ts +++ b/packages/lib-engine/src/testUtil/serializeTargetRange.ts @@ -38,12 +38,12 @@ export function serializeTargetRange( // Number of characters in the line number + `|` const startIndent = start.line.toString().length + 1; // Add start of range marker above the first code line - const prefix = fill(" ", startIndent + start.character) + ">"; + const prefix = " ".repeat(startIndent + start.character) + ">"; if (range.isSingleLine) { - lines.push(prefix + fill("-", end.character - start.character) + "<"); + lines.push(prefix + "-".repeat(end.character - start.character) + "<"); } else { lines.push( - prefix + fill("-", codeLines[start.line].length - start.character), + prefix + "-".repeat(codeLines[start.line].length - start.character), ); } @@ -62,12 +62,8 @@ export function serializeTargetRange( if (!range.isSingleLine) { // Number of characters in the line number + `|` + whitespace const endIndent = end.line.toString().length + 2; - lines.push(fill(" ", endIndent) + fill("-", end.character) + "<"); + lines.push(" ".repeat(endIndent) + "-".repeat(end.character) + "<"); } return lines.join("\n"); } - -function fill(character: string, count: number): string { - return new Array(count + 1).join(character); -} diff --git a/packages/lib-engine/src/typings/target.types.ts b/packages/lib-engine/src/typings/target.types.ts index 7e2c776bd4..a2f3fde378 100644 --- a/packages/lib-engine/src/typings/target.types.ts +++ b/packages/lib-engine/src/typings/target.types.ts @@ -3,26 +3,26 @@ // switch to `{import("foo")}` syntax in the `{@link}` tag. // - https://github.com/microsoft/TypeScript/issues/43869 // - https://github.com/microsoft/TypeScript/issues/43950 -// eslint-disable-next-line @typescript-eslint/no-unused-vars +// oxlint-disable-next-line no-unused-vars import type { ModifyIfUntypedStage } from "../processTargets/modifiers/ConditionalModifierStages"; import type { GeneralizedRange, InsertionMode, Range, Selection, - // eslint-disable-next-line @typescript-eslint/no-unused-vars + // oxlint-disable-next-line @typescript-eslint/no-unused-vars CustomInsertSnippetArg, - // eslint-disable-next-line @typescript-eslint/no-unused-vars + // oxlint-disable-next-line @typescript-eslint/no-unused-vars CustomWrapWithSnippetArg, TargetPlainObject, TextEditor, } from "@cursorless/lib-common"; import type { - // eslint-disable-next-line @typescript-eslint/no-unused-vars + // oxlint-disable-next-line @typescript-eslint/no-unused-vars ScopeTypeTarget, - // eslint-disable-next-line @typescript-eslint/no-unused-vars + // oxlint-disable-next-line @typescript-eslint/no-unused-vars TokenTarget, - // eslint-disable-next-line @typescript-eslint/no-unused-vars + // oxlint-disable-next-line @typescript-eslint/no-unused-vars UntypedTarget, } from "../processTargets/targets"; import type { EditWithRangeUpdater } from "./Types"; diff --git a/packages/lib-neovim-common/src/ide/neovim/NeovimEdit.ts b/packages/lib-neovim-common/src/ide/neovim/NeovimEdit.ts index cfcc84751a..68d6182a1b 100644 --- a/packages/lib-neovim-common/src/ide/neovim/NeovimEdit.ts +++ b/packages/lib-neovim-common/src/ide/neovim/NeovimEdit.ts @@ -202,11 +202,6 @@ async function neovimReplace(client: NeovimClient, range: Range, text: string) { await neovimInsert(client, range.start, text); } -// eslint-disable-next-line @typescript-eslint/no-unused-vars -function isDelete(edit: Edit): boolean { - return edit.text === ""; -} - function isInsert(edit: Edit): boolean { return edit.range.isEmpty && !edit.isReplace; } diff --git a/packages/lib-neovim-common/src/ide/neovim/NeovimEvents.ts b/packages/lib-neovim-common/src/ide/neovim/NeovimEvents.ts index 4cc84f4ddd..6f185f5652 100644 --- a/packages/lib-neovim-common/src/ide/neovim/NeovimEvents.ts +++ b/packages/lib-neovim-common/src/ide/neovim/NeovimEvents.ts @@ -19,7 +19,7 @@ export function neovimOnDidChangeTextDocument( export function neovimOnDidOpenTextDocument( listener: (event: TextDocument) => any, _thisArgs?: any, - _disposables?: Disposable[] | undefined, + _disposables?: Disposable[], ): Disposable { getNeovimRegistry().onEvent("onDidOpenTextDocument", listener); return dummyEvent(); diff --git a/packages/lib-neovim-common/src/ide/neovim/NeovimIDE.ts b/packages/lib-neovim-common/src/ide/neovim/NeovimIDE.ts index 8771727030..b977c8bdfd 100644 --- a/packages/lib-neovim-common/src/ide/neovim/NeovimIDE.ts +++ b/packages/lib-neovim-common/src/ide/neovim/NeovimIDE.ts @@ -89,7 +89,7 @@ export class NeovimIDE implements IDE { _items: readonly string[], _options?: QuickPickOptions, ): Promise { - throw Error("showQuickPick: not implemented"); + throw new Error("showQuickPick: not implemented"); } async setHighlightRanges( @@ -97,7 +97,7 @@ export class NeovimIDE implements IDE { _editor: TextEditor, _ranges: GeneralizedRange[], ): Promise { - throw Error("setHighlightRanges: not implemented"); + throw new Error("setHighlightRanges: not implemented"); } async flashRanges(_flashDescriptors: FlashDescriptor[]): Promise { @@ -106,7 +106,7 @@ export class NeovimIDE implements IDE { get assetsRoot(): string { if (this.assetsRoot_ == null) { - throw Error("Field `assetsRoot` has not yet been mocked"); + throw new Error("Field `assetsRoot` has not yet been mocked"); } return this.assetsRoot_; @@ -169,25 +169,25 @@ export class NeovimIDE implements IDE { _query: string, _editor: TextEditor, ): Promise { - throw Error("findInDocument: not implemented"); + throw new Error("findInDocument: not implemented"); } public async findInWorkspace(_query: string): Promise { - throw Error("findInWorkspace: not implemented"); + throw new Error("findInWorkspace: not implemented"); } public async openTextDocument(_path: string): Promise { - throw Error("openTextDocument: not implemented"); + throw new Error("openTextDocument: not implemented"); } public async openUntitledTextDocument( _options: OpenUntitledTextDocumentOptions, ): Promise { - throw Error("openUntitledTextDocument: not implemented"); + throw new Error("openUntitledTextDocument: not implemented"); } public async showInputBox(_options?: any): Promise { - throw Error("showInputBox: not implemented"); + throw new Error("showInputBox: not implemented"); } public async executeCommand( @@ -206,7 +206,7 @@ export class NeovimIDE implements IDE { public onDidOpenTextDocument( listener: (event: TextDocument) => any, thisArgs?: any, - disposables?: Disposable[] | undefined, + disposables?: Disposable[], ): Disposable { return neovimOnDidOpenTextDocument(listener, thisArgs, disposables); } diff --git a/packages/lib-neovim-common/src/ide/neovim/NeovimTextDocument.ts b/packages/lib-neovim-common/src/ide/neovim/NeovimTextDocument.ts index 694391f6eb..9b2345436f 100644 --- a/packages/lib-neovim-common/src/ide/neovim/NeovimTextDocument.ts +++ b/packages/lib-neovim-common/src/ide/neovim/NeovimTextDocument.ts @@ -336,8 +336,5 @@ export class PrefixSumIndexOfResult { constructor( public readonly index: number, public readonly remainder: number, - ) { - this.index = index; - this.remainder = remainder; - } + ) {} } diff --git a/packages/lib-neovim-common/src/ide/neovim/NeovimTextEditor.ts b/packages/lib-neovim-common/src/ide/neovim/NeovimTextEditor.ts index 6e6d3342b8..c73cbca336 100644 --- a/packages/lib-neovim-common/src/ide/neovim/NeovimTextEditor.ts +++ b/packages/lib-neovim-common/src/ide/neovim/NeovimTextEditor.ts @@ -50,7 +50,7 @@ export class NeovimTextEditor implements EditableTextEditor { } else if (lines) { this._document.update(lines); } else { - throw Error("updateDocument(): invalid arguments"); + throw new Error("updateDocument(): invalid arguments"); } this._selections = selections; this._visibleRanges = visibleRanges; @@ -73,11 +73,11 @@ export class NeovimTextEditor implements EditableTextEditor { } get options(): TextEditorOptions { - throw Error("options.get: not implemented"); + throw new Error("options.get: not implemented"); } set options(options: TextEditorOptions) { - throw Error("options.set: not implemented"); + throw new Error("options.set: not implemented"); } get isActive(): boolean { @@ -93,7 +93,7 @@ export class NeovimTextEditor implements EditableTextEditor { } public revealLine(_lineNumber: number, _at: RevealLineAt): Promise { - throw Error("revealLine: not implemented"); + throw new Error("revealLine: not implemented"); } public async edit(edits: Edit[]): Promise { @@ -105,31 +105,31 @@ export class NeovimTextEditor implements EditableTextEditor { } public editNewNotebookCellAbove(): Promise { - throw Error("editNewNotebookCellAbove: not implemented"); + throw new Error("editNewNotebookCellAbove: not implemented"); } public editNewNotebookCellBelow(): Promise { - throw Error("editNewNotebookCellBelow: not implemented"); + throw new Error("editNewNotebookCellBelow: not implemented"); } public openLink(_range: Range, _options?: OpenLinkOptions): Promise { - throw Error("openLink: not implemented"); + throw new Error("openLink: not implemented"); } public fold(_ranges?: Range[]): Promise { - throw Error("fold: not implemented"); + throw new Error("fold: not implemented"); } public unfold(_ranges?: Range[]): Promise { - throw Error("unfold: not implemented"); + throw new Error("unfold: not implemented"); } public toggleBreakpoint(_ranges?: GeneralizedRange[]): Promise { - throw Error("toggleBreakpoint: not implemented"); + throw new Error("toggleBreakpoint: not implemented"); } public async toggleLineComment(_ranges?: Range[]): Promise { - throw Error("toggleLineComment: not implemented"); + throw new Error("toggleLineComment: not implemented"); } public async clipboardCopy(_ranges?: Range[]): Promise { @@ -141,74 +141,74 @@ export class NeovimTextEditor implements EditableTextEditor { } public async indentLine(_ranges?: Range[]): Promise { - throw Error("indentLine: not implemented"); + throw new Error("indentLine: not implemented"); } public async outdentLine(_ranges?: Range[]): Promise { - throw Error("outdentLine: not implemented"); + throw new Error("outdentLine: not implemented"); } public async insertLineAfter(_ranges?: Range[]): Promise { - throw Error("insertLineAfter: not implemented"); + throw new Error("insertLineAfter: not implemented"); } public insertSnippet(_snippet: string, _ranges?: Range[]): Promise { - throw Error("insertSnippet: not implemented"); + throw new Error("insertSnippet: not implemented"); } public async rename(_range?: Range): Promise { - throw Error("rename: not implemented"); + throw new Error("rename: not implemented"); } public async showReferences(_range?: Range): Promise { - throw Error("showReferences: not implemented"); + throw new Error("showReferences: not implemented"); } public async quickFix(_range?: Range): Promise { - throw Error("quickFix: not implemented"); + throw new Error("quickFix: not implemented"); } public async revealDefinition(_range?: Range): Promise { - throw Error("revealDefinition: not implemented"); + throw new Error("revealDefinition: not implemented"); } public async revealTypeDefinition(_range?: Range): Promise { - throw Error("revealTypeDefinition: not implemented"); + throw new Error("revealTypeDefinition: not implemented"); } public async showHover(_range?: Range): Promise { - throw Error("showHover: not implemented"); + throw new Error("showHover: not implemented"); } public async showDebugHover(_range?: Range): Promise { - throw Error("showDebugHover: not implemented"); + throw new Error("showDebugHover: not implemented"); } public async extractVariable(_range?: Range): Promise { - throw Error("extractVariable: not implemented"); + throw new Error("extractVariable: not implemented"); } public async gitAccept(_range?: Range): Promise { - throw Error("gitAccept: not implemented"); + throw new Error("gitAccept: not implemented"); } public async gitRevert(_range?: Range): Promise { - throw Error("gitRevert: not implemented"); + throw new Error("gitRevert: not implemented"); } public async gitStageFile(): Promise { - throw Error("gitStageFile: not implemented"); + throw new Error("gitStageFile: not implemented"); } public async gitUnstageFile(): Promise { - throw Error("gitUnstageFile: not implemented"); + throw new Error("gitUnstageFile: not implemented"); } public async gitStageRange(_range?: Range): Promise { - throw Error("gitStageRange: not implemented"); + throw new Error("gitStageRange: not implemented"); } public async gitUnstageRange(_range?: Range): Promise { - throw Error("gitUnstageRange: not implemented"); + throw new Error("gitUnstageRange: not implemented"); } } diff --git a/packages/lib-neovim-common/src/runCommand.ts b/packages/lib-neovim-common/src/runCommand.ts index 67b41e6a73..9f350e844a 100644 --- a/packages/lib-neovim-common/src/runCommand.ts +++ b/packages/lib-neovim-common/src/runCommand.ts @@ -4,6 +4,7 @@ import { getNeovimRegistry } from "@cursorless/lib-neovim-registry"; export async function runCursorlessCommand( command: Command, + // oxlint-disable-next-line typescript/no-redundant-type-constituents ): Promise { return await getNeovimRegistry().executeCommand( CURSORLESS_COMMAND_ID, diff --git a/packages/lib-neovim-common/src/testUtil/openNewEditor.ts b/packages/lib-neovim-common/src/testUtil/openNewEditor.ts index f74c9bc9c1..b115ace2c5 100644 --- a/packages/lib-neovim-common/src/testUtil/openNewEditor.ts +++ b/packages/lib-neovim-common/src/testUtil/openNewEditor.ts @@ -7,15 +7,15 @@ export interface NewEditorOptions { } export async function openNewEditor( - content: string, + _content: string, _NewEditorOptions = {}, ): Promise { throw new Error("openNewEditor() Not implemented"); } export async function reuseEditor( - editor: NeovimTextDocument, // vscode.TextEditor, - content: string, + _editor: NeovimTextDocument, // vscode.TextEditor, + _content: string, _language: string = "plaintext", ) { throw new Error("reuseEditor() Not implemented"); @@ -29,7 +29,7 @@ export async function reuseEditor( * @returns notebook */ export async function openNewNotebookEditor( - cellContents: string[], + _cellContents: string[], _language: string = "plaintext", ) { throw new Error("openNewNotebookEditor() Not implemented"); diff --git a/packages/lib-node-common/src/getScopeTestPathsRecursively.ts b/packages/lib-node-common/src/getScopeTestPathsRecursively.ts index 6eb757fd96..ec079f22a9 100644 --- a/packages/lib-node-common/src/getScopeTestPathsRecursively.ts +++ b/packages/lib-node-common/src/getScopeTestPathsRecursively.ts @@ -92,7 +92,7 @@ function addTestPathsForLanguageRecursively( } if (!languages[languageId]) { - throw Error(`No test paths found for language ${languageId}`); + throw new Error(`No test paths found for language ${languageId}`); } result.push(...languages[languageId]); diff --git a/packages/lib-node-common/src/runRecordedTest.ts b/packages/lib-node-common/src/runRecordedTest.ts index 2123056ff0..059135fcfc 100644 --- a/packages/lib-node-common/src/runRecordedTest.ts +++ b/packages/lib-node-common/src/runRecordedTest.ts @@ -84,6 +84,7 @@ interface RunRecordedTestOpts { */ runCursorlessCommand: ( command: Command, + // oxlint-disable-next-line typescript/no-redundant-type-constituents ) => Promise; } @@ -216,7 +217,7 @@ export async function runRecordedTest({ await fsp.writeFile(path, serializeTestFixture(outputFixture)); } else { if (fixture.thrownError != null) { - throw Error( + throw new Error( `Expected error ${fixture.thrownError.name} but none was thrown`, ); } diff --git a/packages/lib-talonjs-core/src/constructTestHelpers.ts b/packages/lib-talonjs-core/src/constructTestHelpers.ts index 5ac03676d5..b696199f0d 100644 --- a/packages/lib-talonjs-core/src/constructTestHelpers.ts +++ b/packages/lib-talonjs-core/src/constructTestHelpers.ts @@ -41,6 +41,7 @@ export function constructTestHelpers({ storedTargets, injectIde, + // oxlint-disable-next-line typescript/no-redundant-type-constituents runCommand(command: Command): Promise { return commandApi.runCommand(command); }, diff --git a/packages/lib-talonjs-core/src/ide/TalonJsConfiguration.ts b/packages/lib-talonjs-core/src/ide/TalonJsConfiguration.ts index 659f30ec55..1f4c52c2fa 100644 --- a/packages/lib-talonjs-core/src/ide/TalonJsConfiguration.ts +++ b/packages/lib-talonjs-core/src/ide/TalonJsConfiguration.ts @@ -29,7 +29,7 @@ const CONFIGURATION_DEFAULTS: CursorlessConfiguration = { export class TalonJsConfiguration implements Configuration { getOwnConfiguration>( path: Path, - _scope?: ConfigurationScope | undefined, + _scope?: ConfigurationScope, ): GetFieldType { return get(CONFIGURATION_DEFAULTS, path) as GetFieldType< CursorlessConfiguration, diff --git a/packages/lib-talonjs-core/src/ide/TalonJsIDE.ts b/packages/lib-talonjs-core/src/ide/TalonJsIDE.ts index 36e6c6b3d0..d43995e31a 100644 --- a/packages/lib-talonjs-core/src/ide/TalonJsIDE.ts +++ b/packages/lib-talonjs-core/src/ide/TalonJsIDE.ts @@ -92,7 +92,7 @@ export class TalonJsIDE implements EmittableIDE { if (editor instanceof InMemoryTextEditor) { return editor; } - throw Error(`Unsupported text editor type: ${editor}`); + throw new Error(`Unsupported text editor type: ${editor}`); } updateTextEditors(editorState: EditorState) { @@ -105,10 +105,7 @@ export class TalonJsIDE implements EmittableIDE { this.editors = [editor]; } - async findInDocument( - query: string, - editor?: TextEditor | undefined, - ): Promise { + async findInDocument(query: string, editor?: TextEditor): Promise { if (editor != null) { throw new Error( "findInDocument not implemented for other than active editor.", @@ -126,20 +123,18 @@ export class TalonJsIDE implements EmittableIDE { } openUntitledTextDocument( - _options?: OpenUntitledTextDocumentOptions | undefined, + _options?: OpenUntitledTextDocumentOptions, ): Promise { throw new Error("openUntitledTextDocument: not implemented"); } - showInputBox( - _options?: InputBoxOptions | undefined, - ): Promise { + showInputBox(_options?: InputBoxOptions): Promise { throw new Error("showInputBox: not implemented"); } showQuickPick( _items: readonly string[], - _options?: QuickPickOptions | undefined, + _options?: QuickPickOptions, ): Promise { throw new Error("showQuickPick: not implemented"); } diff --git a/packages/lib-talonjs-core/src/ide/TalonJsMessages.ts b/packages/lib-talonjs-core/src/ide/TalonJsMessages.ts index c6ff43688a..e15b975a32 100644 --- a/packages/lib-talonjs-core/src/ide/TalonJsMessages.ts +++ b/packages/lib-talonjs-core/src/ide/TalonJsMessages.ts @@ -12,7 +12,7 @@ export class TalonJsMessages implements Messages { ...options: string[] ): Promise { if (options.length > 0) { - throw Error(`Message options are not supported in TalonJsMessages.`); + throw new Error(`Message options are not supported in TalonJsMessages.`); } switch (type) { case MessageType.info: diff --git a/packages/lib-talonjs-core/src/registerCommands.ts b/packages/lib-talonjs-core/src/registerCommands.ts index e6f811b1aa..7315c725d7 100644 --- a/packages/lib-talonjs-core/src/registerCommands.ts +++ b/packages/lib-talonjs-core/src/registerCommands.ts @@ -42,7 +42,7 @@ export function registerCommands( ): Promise { try { if (commandId !== CURSORLESS_COMMAND_ID) { - throw Error(`Unknown command ID: ${commandId}`); + throw new Error(`Unknown command ID: ${commandId}`); } // We don't have all the document on change events, so we need to make diff --git a/packages/lib-talonjs-core/src/types/types.ts b/packages/lib-talonjs-core/src/types/types.ts index 3cf0553d85..dbbbf878d7 100644 --- a/packages/lib-talonjs-core/src/types/types.ts +++ b/packages/lib-talonjs-core/src/types/types.ts @@ -35,6 +35,7 @@ export interface TalonJsTestHelpers extends Omit { ide: NormalizedIDE; storedTargets: StoredTargetMap; injectIde: (ide: IDE) => void; + // oxlint-disable-next-line typescript/no-redundant-type-constituents runCommand(command: Command): Promise; } diff --git a/packages/lib-test-case-recorder/src/ScopeTestRecorder.ts b/packages/lib-test-case-recorder/src/ScopeTestRecorder.ts index 299943ae80..ff16f66c28 100644 --- a/packages/lib-test-case-recorder/src/ScopeTestRecorder.ts +++ b/packages/lib-test-case-recorder/src/ScopeTestRecorder.ts @@ -56,7 +56,7 @@ export class ScopeTestRecorder { const matchLanguageId = text.match(/^\[\[([\w-]+)\]\]\n/); if (matchLanguageId == null) { - throw Error(`Can't match language id`); + throw new Error(`Can't match language id`); } const languageId = matchLanguageId[1]; @@ -75,7 +75,7 @@ export class ScopeTestRecorder { const content = match?.[2] ?? ""; if (facet == null) { - throw Error(`Invalid pattern '${part}'`); + throw new Error(`Invalid pattern '${part}'`); } if (!content.trim()) { @@ -127,7 +127,7 @@ function getSupportedScopeFacets(languageId: string): ScopeSupportFacet[] { const scopeSupport = languageScopeSupport[languageId]; if (scopeSupport == null) { - throw Error(`Missing scope support for language '${languageId}'`); + throw new Error(`Missing scope support for language '${languageId}'`); } const scopeFacets = Object.keys(scopeSupport) as ScopeSupportFacet[]; diff --git a/packages/lib-test-case-recorder/src/TestCase.ts b/packages/lib-test-case-recorder/src/TestCase.ts index 225d245d98..a2ef42c855 100644 --- a/packages/lib-test-case-recorder/src/TestCase.ts +++ b/packages/lib-test-case-recorder/src/TestCase.ts @@ -139,7 +139,7 @@ export class TestCase { this.initialState == null || (this.finalState == null && this.thrownError == null) ) { - throw Error("Two snapshots must be taken before serializing"); + throw new Error("Two snapshots must be taken before serializing"); } const fixture: EnforceUndefined = { languageId: this.languageId, diff --git a/packages/lib-test-case-recorder/src/TestCaseRecorder.ts b/packages/lib-test-case-recorder/src/TestCaseRecorder.ts index 6e311f385b..f1a6862344 100644 --- a/packages/lib-test-case-recorder/src/TestCaseRecorder.ts +++ b/packages/lib-test-case-recorder/src/TestCaseRecorder.ts @@ -113,7 +113,7 @@ export class TestCaseRecorder { async pause() { if (!this.active) { - throw Error("Asked to pause recording, but no recording active"); + throw new Error("Asked to pause recording, but no recording active"); } this.paused = true; @@ -121,7 +121,7 @@ export class TestCaseRecorder { async resume() { if (!this.active) { - throw Error("Asked to resume recording, but no recording active"); + throw new Error("Asked to resume recording, but no recording active"); } this.paused = false; @@ -327,7 +327,7 @@ export class TestCaseRecorder { const editor = this.ide.activeTextEditor!; if (editor.document.getText().includes("\r\n")) { - throw Error( + throw new Error( "Refusing to record a test when the document contains CRLF line endings. Please convert line endings to LF.", ); } @@ -408,7 +408,7 @@ export class TestCaseRecorder { private async promptSubdirectory(): Promise { try { if (this.fixtureRoot == null) { - throw Error(); + throw new Error(); } await access(this.fixtureRoot); } catch (e) { diff --git a/packages/lib-tutorial/src/TutorialImpl.ts b/packages/lib-tutorial/src/TutorialImpl.ts index 97df1978e1..d37ef19179 100644 --- a/packages/lib-tutorial/src/TutorialImpl.ts +++ b/packages/lib-tutorial/src/TutorialImpl.ts @@ -70,9 +70,8 @@ export class TutorialImpl implements Tutorial, CommandRunnerDecorator { private contentProvider: TutorialContentProvider, private hats: Hats, ) { - this.setupStep = this.setupStep.bind(this); - this.reparseCurrentTutorial = this.reparseCurrentTutorial.bind(this); const debouncer = new Debouncer(() => this.checkPreconditions(), 100); + const runDebouncer = () => debouncer.run(); void this.loadTutorials().then(async () => { if (this.state_.type === "loading") { @@ -81,15 +80,15 @@ export class TutorialImpl implements Tutorial, CommandRunnerDecorator { }); this.disposables.push( - this.ide.onDidChangeActiveTextEditor(debouncer.run), - this.ide.onDidChangeTextDocument(debouncer.run), - this.ide.onDidChangeVisibleTextEditors(debouncer.run), - this.ide.onDidChangeTextEditorSelection(debouncer.run), - this.ide.onDidOpenTextDocument(debouncer.run), - this.ide.onDidCloseTextDocument(debouncer.run), - this.ide.onDidChangeTextEditorVisibleRanges(debouncer.run), - customSpokenFormGenerator.onDidChangeCustomSpokenForms( - this.reparseCurrentTutorial, + this.ide.onDidChangeActiveTextEditor(runDebouncer), + this.ide.onDidChangeTextDocument(runDebouncer), + this.ide.onDidChangeVisibleTextEditors(runDebouncer), + this.ide.onDidChangeTextEditorSelection(runDebouncer), + this.ide.onDidOpenTextDocument(runDebouncer), + this.ide.onDidCloseTextDocument(runDebouncer), + this.ide.onDidChangeTextEditorVisibleRanges(runDebouncer), + customSpokenFormGenerator.onDidChangeCustomSpokenForms(() => + this.reparseCurrentTutorial(), ), debouncer, ); diff --git a/packages/lib-vscode-common/src/runCommand.ts b/packages/lib-vscode-common/src/runCommand.ts index 5931b48e87..1ae517af59 100644 --- a/packages/lib-vscode-common/src/runCommand.ts +++ b/packages/lib-vscode-common/src/runCommand.ts @@ -8,6 +8,7 @@ import * as vscode from "vscode"; export async function runCursorlessCommand( command: Command, + // oxlint-disable-next-line typescript/no-redundant-type-constituents ): Promise { return await vscode.commands.executeCommand(CURSORLESS_COMMAND_ID, command); } diff --git a/packages/test-neovim-e2e/src/endToEndTestSetup.ts b/packages/test-neovim-e2e/src/endToEndTestSetup.ts index 1894d02ae6..899ae522cc 100644 --- a/packages/test-neovim-e2e/src/endToEndTestSetup.ts +++ b/packages/test-neovim-e2e/src/endToEndTestSetup.ts @@ -45,10 +45,10 @@ export function endToEndTestSetup(suite: Mocha.Suite) { }); return { - getSpy() { + getSpy(this: void) { return spy; }, - getNeovimIDE() { + getNeovimIDE(this: void) { return neovimIDE; }, }; diff --git a/packages/test-talon-e2e/src/talonMock.ts b/packages/test-talon-e2e/src/talonMock.ts index 700f978e92..676a2753b8 100644 --- a/packages/test-talon-e2e/src/talonMock.ts +++ b/packages/test-talon-e2e/src/talonMock.ts @@ -61,7 +61,7 @@ const actions: TalonActions = { const settings: TalonSettings = { get(_name, _defaultValue) { - throw Error("settings.get: not implemented"); + throw new Error("settings.get: not implemented"); }, }; diff --git a/packages/test-vscode-e2e/src/endToEndTestSetup.ts b/packages/test-vscode-e2e/src/endToEndTestSetup.ts index 5d2ffcadde..99515f5e7b 100644 --- a/packages/test-vscode-e2e/src/endToEndTestSetup.ts +++ b/packages/test-vscode-e2e/src/endToEndTestSetup.ts @@ -60,7 +60,7 @@ export function endToEndTestSetup( return { getSpy() { if (spyIde == null) { - throw Error("Spy is undefined"); + throw new Error("Spy is undefined"); } return spyIde; }, diff --git a/packages/test-vscode-e2e/src/suite/performance.vscode.test.ts b/packages/test-vscode-e2e/src/suite/performance.vscode.test.ts index 0d60cfe0b0..b8f615dbdf 100644 --- a/packages/test-vscode-e2e/src/suite/performance.vscode.test.ts +++ b/packages/test-vscode-e2e/src/suite/performance.vscode.test.ts @@ -270,7 +270,7 @@ function getScopeTypeAndTitle( case "surroundingPair": return [scope, `${scope.type}.${scope.delimiter}`]; } - throw Error(`Unexpected scope type: ${scope.type}`); + throw new Error(`Unexpected scope type: ${scope.type}`); } /** @@ -283,10 +283,10 @@ function getScopeTypeAndTitle( */ function generateTestData(n: number): string { const value = Object.fromEntries( - new Array(n).fill("").map((_, i) => [i.toString(), "value"]), + Array.from({ length: n }, (_, i) => [i.toString(), "value"]), ); const obj = Object.fromEntries( - new Array(n).fill("").map((_, i) => [i.toString(), value]), + Array.from({ length: n }, (_, i) => [i.toString(), value]), ); return JSON.stringify(obj, null, 2); } diff --git a/packages/test-vscode-e2e/src/suite/revealRange.vscode.test.ts b/packages/test-vscode-e2e/src/suite/revealRange.vscode.test.ts index 42e38b5e53..61f41fc186 100644 --- a/packages/test-vscode-e2e/src/suite/revealRange.vscode.test.ts +++ b/packages/test-vscode-e2e/src/suite/revealRange.vscode.test.ts @@ -14,7 +14,7 @@ suite("revealRange", async function () { test("post file", postFile); }); -const content = new Array(100).fill("line").join("\n"); +const content = Array.from({ length: 100 }, () => "line").join("\n"); async function preFile() { const editor = await getReusableEditor(content); diff --git a/packages/tool-meta-updater/src/updatePackageJson.ts b/packages/tool-meta-updater/src/updatePackageJson.ts index 67553a6e62..e1e04a2cfc 100644 --- a/packages/tool-meta-updater/src/updatePackageJson.ts +++ b/packages/tool-meta-updater/src/updatePackageJson.ts @@ -89,9 +89,7 @@ async function getScripts( isRoot: boolean, _isLib: boolean, ) { - const scripts: PackageJson.Scripts = { - ...(inputScripts ?? {}), - }; + const scripts: PackageJson.Scripts = { ...inputScripts }; if (isRoot) { return scripts; @@ -186,12 +184,16 @@ function sortFields(obj: Record): Record { if (sorted.dependencies != null) { sorted.dependencies = Object.fromEntries( - Object.entries(sorted.dependencies).sort(), + Object.entries(sorted.dependencies).sort(([keyA], [keyB]) => + keyA.localeCompare(keyB), + ), ); } if (sorted.devDependencies != null) { sorted.devDependencies = Object.fromEntries( - Object.entries(sorted.devDependencies).sort(), + Object.entries(sorted.devDependencies).sort(([keyA], [keyB]) => + keyA.localeCompare(keyB), + ), ); } diff --git a/packages/tool-meta-updater/src/updateTSConfig.ts b/packages/tool-meta-updater/src/updateTSConfig.ts index 04c762bdd7..2fd4c67ebd 100644 --- a/packages/tool-meta-updater/src/updateTSConfig.ts +++ b/packages/tool-meta-updater/src/updateTSConfig.ts @@ -58,7 +58,7 @@ export async function updateTSConfig( } const compilerOptions = { - ...(cloneDeep(input.compilerOptions) ?? {}), + ...cloneDeep(input.compilerOptions), }; delete compilerOptions.outDir; delete compilerOptions.rootDir; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 358e087e81..4d0c47108f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -20,12 +20,6 @@ importers: .: devDependencies: - '@eslint/config-helpers': - specifier: ^0.5.3 - version: 0.5.3 - '@eslint/js': - specifier: ^10.0.1 - version: 10.0.1(eslint@10.1.0(jiti@2.6.1)) '@pnpm/meta-updater': specifier: ^2.0.6 version: 2.0.6(@types/node@24.12.0)(typanion@3.14.0) @@ -35,30 +29,18 @@ importers: esbuild: specifier: ^0.27.4 version: 0.27.4 - eslint: - specifier: ^10.1.0 - version: 10.1.0(jiti@2.6.1) - eslint-config-prettier: - specifier: ^10.1.8 - version: 10.1.8(eslint@10.1.0(jiti@2.6.1)) - eslint-import-resolver-typescript: - specifier: ^4.4.4 - version: 4.4.4(eslint-plugin-import@2.32.0)(eslint@10.1.0(jiti@2.6.1)) - eslint-plugin-import: - specifier: ^2.32.0 - version: 2.32.0(@typescript-eslint/parser@8.57.1(eslint@10.1.0(jiti@2.6.1))(typescript@5.9.3))(eslint-import-resolver-typescript@4.4.4)(eslint@10.1.0(jiti@2.6.1)) eslint-plugin-mocha: specifier: ^11.2.0 version: 11.2.0(eslint@10.1.0(jiti@2.6.1)) - eslint-plugin-unicorn: - specifier: ^63.0.0 - version: 63.0.0(eslint@10.1.0(jiti@2.6.1)) - eslint-plugin-unused-imports: - specifier: ^4.4.1 - version: 4.4.1(@typescript-eslint/eslint-plugin@8.57.1(@typescript-eslint/parser@8.57.1(eslint@10.1.0(jiti@2.6.1))(typescript@5.9.3))(eslint@10.1.0(jiti@2.6.1))(typescript@5.9.3))(eslint@10.1.0(jiti@2.6.1)) - prettier: - specifier: ^3.8.1 - version: 3.8.1 + oxfmt: + specifier: ^0.41.0 + version: 0.41.0 + oxlint: + specifier: ^1.56.0 + version: 1.56.0(oxlint-tsgolint@0.17.2) + oxlint-tsgolint: + specifier: ^0.17.2 + version: 0.17.2 stylelint: specifier: ^17.5.0 version: 17.5.0(typescript@5.9.3) @@ -77,9 +59,6 @@ importers: typescript: specifier: ^5.9.3 version: 5.9.3 - typescript-eslint: - specifier: ^8.57.1 - version: 8.57.1(eslint@10.1.0(jiti@2.6.1))(typescript@5.9.3) packages/app-neovim: dependencies: @@ -294,9 +273,6 @@ importers: '@docusaurus/types': specifier: ^3.9.2 version: 3.9.2(@swc/core@1.15.21)(esbuild@0.27.4)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@tsconfig/docusaurus': - specifier: ^2.0.9 - version: 2.0.9 '@types/mdast': specifier: ^4.0.4 version: 4.0.4 @@ -2475,15 +2451,6 @@ packages: resolution: {integrity: sha512-QUPblTtE51/7/Zhfv8BDwO0qkkzQL7P/aWWbqcf4xWLEYn1oKjdO0gglQBB4GAsu7u6wjijbCmzsUTy6mnk6oQ==} engines: {node: ^20.19.0 || ^22.13.0 || >=24} - '@eslint/js@10.0.1': - resolution: {integrity: sha512-zeR9k5pd4gxjZ0abRoIaxdc7I3nDktoXZk2qOv9gCNWx3mVwEn32VRhyLaRsDiJjTs0xq/T8mfPtyuXu7GWBcA==} - engines: {node: ^20.19.0 || ^22.13.0 || >=24} - peerDependencies: - eslint: ^10.0.0 - peerDependenciesMeta: - eslint: - optional: true - '@eslint/object-schema@3.0.3': resolution: {integrity: sha512-iM869Pugn9Nsxbh/YHRqYiqd23AmIbxJOcpUMOuWCVNdoQJ5ZtwL6h3t0bcZzJUlC3Dq9jCFCESBZnX0GTv7iQ==} engines: {node: ^20.19.0 || ^22.13.0 || >=24} @@ -2883,6 +2850,280 @@ packages: '@oxc-project/types@0.120.0': resolution: {integrity: sha512-k1YNu55DuvAip/MGE1FTsIuU3FUCn6v/ujG9V7Nq5Df/kX2CWb13hhwD0lmJGMGqE+bE1MXvv9SZVnMzEXlWcg==} + '@oxfmt/binding-android-arm-eabi@0.41.0': + resolution: {integrity: sha512-REfrqeMKGkfMP+m/ScX4f5jJBSmVNYcpoDF8vP8f8eYPDuPGZmzp56NIUsYmx3h7f6NzC6cE3gqh8GDWrJHCKw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [android] + + '@oxfmt/binding-android-arm64@0.41.0': + resolution: {integrity: sha512-s0b1dxNgb2KomspFV2LfogC2XtSJB42POXF4bMCLJyvQmAGos4ZtjGPfQreToQEaY0FQFjz3030ggI36rF1q5g==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [android] + + '@oxfmt/binding-darwin-arm64@0.41.0': + resolution: {integrity: sha512-EGXGualADbv/ZmamE7/2DbsrYmjoPlAmHEpTL4vapLF4EfVD6fr8/uQDFnPJkUBjiSWFJZtFNsGeN1B6V3owmA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [darwin] + + '@oxfmt/binding-darwin-x64@0.41.0': + resolution: {integrity: sha512-WxySJEvdQQYMmyvISH3qDpTvoS0ebnIP63IMxLLWowJyPp/AAH0hdWtlo+iGNK5y3eVfa5jZguwNaQkDKWpGSw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [darwin] + + '@oxfmt/binding-freebsd-x64@0.41.0': + resolution: {integrity: sha512-Y2kzMkv3U3oyuYaR4wTfGjOTYTXiFC/hXmG0yVASKkbh02BJkvD98Ij8bIevr45hNZ0DmZEgqiXF+9buD4yMYQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [freebsd] + + '@oxfmt/binding-linux-arm-gnueabihf@0.41.0': + resolution: {integrity: sha512-ptazDjdUyhket01IjPTT6ULS1KFuBfTUU97osTP96X5y/0oso+AgAaJzuH81oP0+XXyrWIHbRzozSAuQm4p48g==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [linux] + + '@oxfmt/binding-linux-arm-musleabihf@0.41.0': + resolution: {integrity: sha512-UkoL2OKxFD+56bPEBcdGn+4juTW4HRv/T6w1dIDLnvKKWr6DbarB/mtHXlADKlFiJubJz8pRkttOR7qjYR6lTA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [linux] + + '@oxfmt/binding-linux-arm64-gnu@0.41.0': + resolution: {integrity: sha512-gofu0PuumSOHYczD8p62CPY4UF6ee+rSLZJdUXkpwxg6pILiwSDBIouPskjF/5nF3A7QZTz2O9KFNkNxxFN9tA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [linux] + libc: [glibc] + + '@oxfmt/binding-linux-arm64-musl@0.41.0': + resolution: {integrity: sha512-VfVZxL0+6RU86T8F8vKiDBa+iHsr8PAjQmKGBzSCAX70b6x+UOMFl+2dNihmKmUwqkCazCPfYjt6SuAPOeQJ3g==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [linux] + libc: [musl] + + '@oxfmt/binding-linux-ppc64-gnu@0.41.0': + resolution: {integrity: sha512-bwzokz2eGvdfJbc0i+zXMJ4BBjQPqg13jyWpEEZDOrBCQ91r8KeY2Mi2kUeuMTZNFXju+jcAbAbpyJxRGla0eg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [ppc64] + os: [linux] + libc: [glibc] + + '@oxfmt/binding-linux-riscv64-gnu@0.41.0': + resolution: {integrity: sha512-POLM//PCH9uqDeNDwWL3b3DkMmI3oI2cU6hwc2lnztD1o7dzrQs3R9nq555BZ6wI7t2lyhT9CS+CRaz5X0XqLA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [riscv64] + os: [linux] + libc: [glibc] + + '@oxfmt/binding-linux-riscv64-musl@0.41.0': + resolution: {integrity: sha512-NNK7PzhFqLUwx/G12Xtm6scGv7UITvyGdAR5Y+TlqsG+essnuRWR4jRNODWRjzLZod0T3SayRbnkSIWMBov33w==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [riscv64] + os: [linux] + libc: [musl] + + '@oxfmt/binding-linux-s390x-gnu@0.41.0': + resolution: {integrity: sha512-qVf/zDC5cN9eKe4qI/O/m445er1IRl6swsSl7jHkqmOSVfknwCe5JXitYjZca+V/cNJSU/xPlC5EFMabMMFDpw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [s390x] + os: [linux] + libc: [glibc] + + '@oxfmt/binding-linux-x64-gnu@0.41.0': + resolution: {integrity: sha512-ojxYWu7vUb6ysYqVCPHuAPVZHAI40gfZ0PDtZAMwVmh2f0V8ExpPIKoAKr7/8sNbAXJBBpZhs2coypIo2jJX4w==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [linux] + libc: [glibc] + + '@oxfmt/binding-linux-x64-musl@0.41.0': + resolution: {integrity: sha512-O2exZLBxoCMIv2vlvcbkdedazJPTdG0VSup+0QUCfYQtx751zCZNboX2ZUOiQ/gDTdhtXvSiot0h6GEGkOyalA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [linux] + libc: [musl] + + '@oxfmt/binding-openharmony-arm64@0.41.0': + resolution: {integrity: sha512-N+31/VoL+z+NNBt8viy3I4NaIdPbiYeOnB884LKqvXldaE2dRztdPv3q5ipfZYv0RwFp7JfqS4I27K/DSHCakg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [openharmony] + + '@oxfmt/binding-win32-arm64-msvc@0.41.0': + resolution: {integrity: sha512-Z7NAtu/RN8kjCQ1y5oDD0nTAeRswh3GJ93qwcW51srmidP7XPBmZbLlwERu1W5veCevQJtPS9xmkpcDTYsGIwQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [win32] + + '@oxfmt/binding-win32-ia32-msvc@0.41.0': + resolution: {integrity: sha512-uNxxP3l4bJ6VyzIeRqCmBU2Q0SkCFgIhvx9/9dJ9V8t/v+jP1IBsuaLwCXGR8JPHtkj4tFp+RHtUmU2ZYAUpMA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [ia32] + os: [win32] + + '@oxfmt/binding-win32-x64-msvc@0.41.0': + resolution: {integrity: sha512-49ZSpbZ1noozyPapE8SUOSm3IN0Ze4b5nkO+4+7fq6oEYQQJFhE0saj5k/Gg4oewVPdjn0L3ZFeWk2Vehjcw7A==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [win32] + + '@oxlint-tsgolint/darwin-arm64@0.17.2': + resolution: {integrity: sha512-1/QmWTRB8g5273wUnmmQxQz+kEFLJq8MYS82uFdxulUa2sdggWEQphnRhDRAzcbOCtrsya8+xGohv41dqRM/hQ==} + cpu: [arm64] + os: [darwin] + + '@oxlint-tsgolint/darwin-x64@0.17.2': + resolution: {integrity: sha512-GjEvcZPm8e9N2QtRlH5ttRr4II1ph86iR+gj7P7u47NuxKs099GivV0ISAsRlG09uYgRG3lTe2x5JrnMknuI0Q==} + cpu: [x64] + os: [darwin] + + '@oxlint-tsgolint/linux-arm64@0.17.2': + resolution: {integrity: sha512-Ybo4npjDMXQ15MBoftOBut9/gOdHhbnIhRmphx9owBQcZBmwrIy1+PfLqHRBuTCJ8diUmxQxSRkvXrGb+ogGqQ==} + cpu: [arm64] + os: [linux] + + '@oxlint-tsgolint/linux-x64@0.17.2': + resolution: {integrity: sha512-bU3A7bg9qa1VeWUwYwbXaAcUCOW+fl+SndNMNoYpm2+nhsAzzr9k9jz5Qr7NeKwbYet3qETjmhCmmfqe1syiPA==} + cpu: [x64] + os: [linux] + + '@oxlint-tsgolint/win32-arm64@0.17.2': + resolution: {integrity: sha512-MeM1tyeg8J4DoHxAO3geDllM0Zm0tQDieQ701OXiS/vFA4QK+v+qBEJALqUys5obbIlLR2scmhzGor89bOr2ug==} + cpu: [arm64] + os: [win32] + + '@oxlint-tsgolint/win32-x64@0.17.2': + resolution: {integrity: sha512-XfmGnyosL9jDGPwZcoDqdYADQNXjzH5hZs0xoZFodBbQhI1oAuItw/XR6tgga6grjusPSMS7j373sSGLLrE3yg==} + cpu: [x64] + os: [win32] + + '@oxlint/binding-android-arm-eabi@1.56.0': + resolution: {integrity: sha512-IyfYPthZyiSKwAv/dLjeO18SaK8MxLI9Yss2JrRDyweQAkuL3LhEy7pwIwI7uA3KQc1Vdn20kdmj3q0oUIQL6A==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [android] + + '@oxlint/binding-android-arm64@1.56.0': + resolution: {integrity: sha512-Ga5zYrzH6vc/VFxhn6MmyUnYEfy9vRpwTIks99mY3j6Nz30yYpIkWryI0QKPCgvGUtDSXVLEaMum5nA+WrNOSg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [android] + + '@oxlint/binding-darwin-arm64@1.56.0': + resolution: {integrity: sha512-ogmbdJysnw/D4bDcpf1sPLpFThZ48lYp4aKYm10Z/6Nh1SON6NtnNhTNOlhEY296tDFItsZUz+2tgcSYqh8Eyw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [darwin] + + '@oxlint/binding-darwin-x64@1.56.0': + resolution: {integrity: sha512-x8QE1h+RAtQ2g+3KPsP6Fk/tdz6zJQUv5c7fTrJxXV3GHOo+Ry5p/PsogU4U+iUZg0rj6hS+E4xi+mnwwlDCWQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [darwin] + + '@oxlint/binding-freebsd-x64@1.56.0': + resolution: {integrity: sha512-6G+WMZvwJpMvY7my+/SHEjb7BTk/PFbePqLpmVmUJRIsJMy/UlyYqjpuh0RCgYYkPLcnXm1rUM04kbTk8yS1Yg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [freebsd] + + '@oxlint/binding-linux-arm-gnueabihf@1.56.0': + resolution: {integrity: sha512-YYHBsk/sl7fYwQOok+6W5lBPeUEvisznV/HZD2IfZmF3Bns6cPC3Z0vCtSEOaAWTjYWN3jVsdu55jMxKlsdlhg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [linux] + + '@oxlint/binding-linux-arm-musleabihf@1.56.0': + resolution: {integrity: sha512-+AZK8rOUr78y8WT6XkDb04IbMRqauNV+vgT6f8ZLOH8wnpQ9i7Nol0XLxAu+Cq7Sb+J9wC0j6Km5hG8rj47/yQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [linux] + + '@oxlint/binding-linux-arm64-gnu@1.56.0': + resolution: {integrity: sha512-urse2SnugwJRojUkGSSeH2LPMaje5Q50yQtvtL9HFckiyeqXzoFwOAZqD5TR29R2lq7UHidfFDM9EGcchcbb8A==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [linux] + libc: [glibc] + + '@oxlint/binding-linux-arm64-musl@1.56.0': + resolution: {integrity: sha512-rkTZkBfJ4TYLjansjSzL6mgZOdN5IvUnSq3oNJSLwBcNvy3dlgQtpHPrRxrCEbbcp7oQ6If0tkNaqfOsphYZ9g==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [linux] + libc: [musl] + + '@oxlint/binding-linux-ppc64-gnu@1.56.0': + resolution: {integrity: sha512-uqL1kMH3u69/e1CH2EJhP3CP28jw2ExLsku4o8RVAZ7fySo9zOyI2fy9pVlTAp4voBLVgzndXi3SgtdyCTa2aA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [ppc64] + os: [linux] + libc: [glibc] + + '@oxlint/binding-linux-riscv64-gnu@1.56.0': + resolution: {integrity: sha512-j0CcMBOgV6KsRaBdsebIeiy7hCjEvq2KdEsiULf2LZqAq0v1M1lWjelhCV57LxsqaIGChXFuFJ0RiFrSRHPhSg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [riscv64] + os: [linux] + libc: [glibc] + + '@oxlint/binding-linux-riscv64-musl@1.56.0': + resolution: {integrity: sha512-7VDOiL8cDG3DQ/CY3yKjbV1c4YPvc4vH8qW09Vv+5ukq3l/Kcyr6XGCd5NvxUmxqDb2vjMpM+eW/4JrEEsUetA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [riscv64] + os: [linux] + libc: [musl] + + '@oxlint/binding-linux-s390x-gnu@1.56.0': + resolution: {integrity: sha512-JGRpX0M+ikD3WpwJ7vKcHKV6Kg0dT52BW2Eu2BupXotYeqGXBrbY+QPkAyKO6MNgKozyTNaRh3r7g+VWgyAQYQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [s390x] + os: [linux] + libc: [glibc] + + '@oxlint/binding-linux-x64-gnu@1.56.0': + resolution: {integrity: sha512-dNaICPvtmuxFP/VbqdofrLqdS3bM/AKJN3LMJD52si44ea7Be1cBk6NpfIahaysG9Uo+L98QKddU9CD5L8UHnQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [linux] + libc: [glibc] + + '@oxlint/binding-linux-x64-musl@1.56.0': + resolution: {integrity: sha512-pF1vOtM+GuXmbklM1hV8WMsn6tCNPvkUzklj/Ej98JhlanbmA2RB1BILgOpwSuCTRTIYx2MXssmEyQQ90QF5aA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [linux] + libc: [musl] + + '@oxlint/binding-openharmony-arm64@1.56.0': + resolution: {integrity: sha512-bp8NQ4RE6fDIFLa4bdBiOA+TAvkNkg+rslR+AvvjlLTYXLy9/uKAYLQudaQouWihLD/hgkrXIKKzXi5IXOewwg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [openharmony] + + '@oxlint/binding-win32-arm64-msvc@1.56.0': + resolution: {integrity: sha512-PxT4OJDfMOQBzo3OlzFb9gkoSD+n8qSBxyVq2wQSZIHFQYGEqIRTo9M0ZStvZm5fdhMqaVYpOnJvH2hUMEDk/g==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [win32] + + '@oxlint/binding-win32-ia32-msvc@1.56.0': + resolution: {integrity: sha512-PTRy6sIEPqy2x8PTP1baBNReN/BNEFmde0L+mYeHmjXE1Vlcc9+I5nsqENsB2yAm5wLkzPoTNCMY/7AnabT4/A==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [ia32] + os: [win32] + + '@oxlint/binding-win32-x64-msvc@1.56.0': + resolution: {integrity: sha512-ZHa0clocjLmIDr+1LwoWtxRcoYniAvERotvwKUYKhH41NVfl0Y4LNbyQkwMZzwDvKklKGvGZ5+DAG58/Ik47tQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [win32] + '@parcel/watcher-android-arm64@2.5.6': resolution: {integrity: sha512-YQxSS34tPF/6ZG7r/Ih9xy+kP/WwediEUsqmtf0cuCV5TPPKw/PQHRhueUo6JdeFJaqV3pyjm0GdYjZotbRt/A==} engines: {node: '>= 10.0.0'} @@ -3957,9 +4198,6 @@ packages: '@rspack/lite-tapable@1.1.0': resolution: {integrity: sha512-E2B0JhYFmVAwdDiG14+DW0Di4Ze4Jg10Pc4/lILUrd5DRCaklduz2OvJ5HYQ6G+hd+WTzqQb3QnDNfK4yvAFYw==} - '@rtsao/scc@1.1.0': - resolution: {integrity: sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==} - '@rushstack/worker-pool@0.4.9': resolution: {integrity: sha512-ibAOeQCuz3g0c88GGawAPO2LVOTZE3uPh4DCEJILZS9SEv9opEUObsovC18EHPgeIuFy4HkoJT+t7l8LURZjIw==} peerDependencies: @@ -4366,9 +4604,6 @@ packages: resolution: {integrity: sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw==} engines: {node: '>=14.16'} - '@tsconfig/docusaurus@2.0.9': - resolution: {integrity: sha512-0jVxZCgy2v7TnJrW9kVNikNwJHeiWb68Zhiiw2vHw4tzBFSP5vS2zn3O5EY2oPEVz5dXZRkK7MnWG3Ay5q0mIg==} - '@tsconfig/node10@1.0.12': resolution: {integrity: sha512-UCYBaeFvM11aU2y3YPZ//O5Rhj+xKyzy7mvcIoAjASbigy8mHMryP5cK7dgjlz2hWxh1g5pLw084E0a/wlUSFQ==} @@ -4486,9 +4721,6 @@ packages: '@types/json-schema@7.0.15': resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} - '@types/json5@0.0.29': - resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} - '@types/jsonfile@6.1.4': resolution: {integrity: sha512-D5qGUYwjvnNNextdU59/+fI+spnwtTFmyQP0h+PfIOSkNfpU6AOICUOkm4i0OnSk+NyjdPJrxCDro0sJsWlRpQ==} @@ -4627,65 +4859,6 @@ packages: '@types/yargs@17.0.35': resolution: {integrity: sha512-qUHkeCyQFxMXg79wQfTtfndEC+N9ZZg76HJftDJp+qH2tV7Gj4OJi7l+PiWwJ+pWtW8GwSmqsDj/oymhrTWXjg==} - '@typescript-eslint/eslint-plugin@8.57.1': - resolution: {integrity: sha512-Gn3aqnvNl4NGc6x3/Bqk1AOn0thyTU9bqDRhiRnUWezgvr2OnhYCWCgC8zXXRVqBsIL1pSDt7T9nJUe0oM0kDQ==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - '@typescript-eslint/parser': ^8.57.1 - eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 - typescript: '>=4.8.4 <6.0.0' - - '@typescript-eslint/parser@8.57.1': - resolution: {integrity: sha512-k4eNDan0EIMTT/dUKc/g+rsJ6wcHYhNPdY19VoX/EOtaAG8DLtKCykhrUnuHPYvinn5jhAPgD2Qw9hXBwrahsw==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 - typescript: '>=4.8.4 <6.0.0' - - '@typescript-eslint/project-service@8.57.1': - resolution: {integrity: sha512-vx1F37BRO1OftsYlmG9xay1TqnjNVlqALymwWVuYTdo18XuKxtBpCj1QlzNIEHlvlB27osvXFWptYiEWsVdYsg==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - typescript: '>=4.8.4 <6.0.0' - - '@typescript-eslint/scope-manager@8.57.1': - resolution: {integrity: sha512-hs/QcpCwlwT2L5S+3fT6gp0PabyGk4Q0Rv2doJXA0435/OpnSR3VRgvrp8Xdoc3UAYSg9cyUjTeFXZEPg/3OKg==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - '@typescript-eslint/tsconfig-utils@8.57.1': - resolution: {integrity: sha512-0lgOZB8cl19fHO4eI46YUx2EceQqhgkPSuCGLlGi79L2jwYY1cxeYc1Nae8Aw1xjgW3PKVDLlr3YJ6Bxx8HkWg==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - typescript: '>=4.8.4 <6.0.0' - - '@typescript-eslint/type-utils@8.57.1': - resolution: {integrity: sha512-+Bwwm0ScukFdyoJsh2u6pp4S9ktegF98pYUU0hkphOOqdMB+1sNQhIz8y5E9+4pOioZijrkfNO/HUJVAFFfPKA==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 - typescript: '>=4.8.4 <6.0.0' - - '@typescript-eslint/types@8.57.1': - resolution: {integrity: sha512-S29BOBPJSFUiblEl6RzPPjJt6w25A6XsBqRVDt53tA/tlL8q7ceQNZHTjPeONt/3S7KRI4quk+yP9jK2WjBiPQ==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - '@typescript-eslint/typescript-estree@8.57.1': - resolution: {integrity: sha512-ybe2hS9G6pXpqGtPli9Gx9quNV0TWLOmh58ADlmZe9DguLq0tiAKVjirSbtM1szG6+QH6rVXyU6GTLQbWnMY+g==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - typescript: '>=4.8.4 <6.0.0' - - '@typescript-eslint/utils@8.57.1': - resolution: {integrity: sha512-XUNSJ/lEVFttPMMoDVA2r2bwrl8/oPx8cURtczkSEswY5T3AeLmCy+EKWQNdL4u0MmAHOjcWrqJp2cdvgjn8dQ==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 - typescript: '>=4.8.4 <6.0.0' - - '@typescript-eslint/visitor-keys@8.57.1': - resolution: {integrity: sha512-YWnmJkXbofiz9KbnbbwuA2rpGkFPLbAIetcCNO6mJ8gdhdZ/v7WDXsoGFAJuM6ikUFKTlSQnjWnVO4ux+UzS6A==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@ungap/structured-clone@1.3.0': resolution: {integrity: sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==} @@ -5036,37 +5209,13 @@ packages: argparse@2.0.1: resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} - array-buffer-byte-length@1.0.2: - resolution: {integrity: sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==} - engines: {node: '>= 0.4'} - array-flatten@1.1.1: resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==} - array-includes@3.1.9: - resolution: {integrity: sha512-FmeCCAenzH0KH381SPT5FZmiA/TmpndpcaShhfgEN9eCVjnFBqq3l1xrI42y8+PPLI6hypzou4GXw00WHmPBLQ==} - engines: {node: '>= 0.4'} - array-union@2.1.0: resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} engines: {node: '>=8'} - array.prototype.findlastindex@1.2.6: - resolution: {integrity: sha512-F/TKATkzseUExPlfvmwQKGITM3DGTK+vkAsCZoDc5daVygbJBnjEUCbgkAvVFsgfXfX4YIqZ/27G3k3tdXrTxQ==} - engines: {node: '>= 0.4'} - - array.prototype.flat@1.3.3: - resolution: {integrity: sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg==} - engines: {node: '>= 0.4'} - - array.prototype.flatmap@1.3.3: - resolution: {integrity: sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg==} - engines: {node: '>= 0.4'} - - arraybuffer.prototype.slice@1.0.4: - resolution: {integrity: sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==} - engines: {node: '>= 0.4'} - arrify@1.0.1: resolution: {integrity: sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==} engines: {node: '>=0.10.0'} @@ -5090,10 +5239,6 @@ packages: resolution: {integrity: sha512-LElXdjswlqjWrPpJFg1Fx4wpkOCxj1TDHlSV4PlaRxHGWko024xICaa97ZkMfs6DRKlCguiAI+rbXv5GWwXIkg==} hasBin: true - async-function@1.0.0: - resolution: {integrity: sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==} - engines: {node: '>= 0.4'} - async@3.2.6: resolution: {integrity: sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==} @@ -5104,10 +5249,6 @@ packages: peerDependencies: postcss: ^8.1.0 - available-typed-arrays@1.0.7: - resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} - engines: {node: '>= 0.4'} - babel-jest@30.3.0: resolution: {integrity: sha512-gRpauEU2KRrCox5Z296aeVHR4jQ98BCnu0IO332D/xpHNOsIH/bgSRk9k6GbKIbBw8vFeN6ctuu6tV8WOyVfYQ==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} @@ -5263,10 +5404,6 @@ packages: buffer-from@1.1.2: resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} - builtin-modules@5.0.0: - resolution: {integrity: sha512-bkXY9WsVpY7CvMhKSR6pZilZu9Ln5WDrKVBUXf2S443etkmEO4V58heTecXcUIsNsi4Rx8JUO4NfX1IcQl4deg==} - engines: {node: '>=18.20'} - builtins@5.1.0: resolution: {integrity: sha512-SW9lzGTLvWTP1AY8xeAMZimqDrIaSdLQUcVr9DMef51niJ022Ri87SwRRKYm4A6iHfkPaiVUu/Duw2Wc4J7kKg==} @@ -5391,9 +5528,6 @@ packages: resolution: {integrity: sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==} engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} - change-case@5.4.4: - resolution: {integrity: sha512-HRQyTk2/YPEkt9TnUPbOpr64Uw3KOicFWPVBb+xiHvd6eBx/qPr9xqfBFDT8P2vWsvvz4jbEkfDe71W3VyNu2w==} - char-regex@1.0.2: resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==} engines: {node: '>=10'} @@ -5451,10 +5585,6 @@ packages: resolution: {integrity: sha512-D5J+kHaVb/wKSFcyyV75uCn8fiY4sV38XJoe4CUyGQ+mOU/fMVYUdH1hJC+CJQ5uY3EnW27SbJYS4X8BiLrAFg==} engines: {node: '>= 10.0'} - clean-regexp@1.0.0: - resolution: {integrity: sha512-GfisEZEJvzKrmGWkvfhgzcz/BllN1USeqD2V6tg14OAOgaCD2Z/PUEuxnAZ/nPvmaHRG7a8y77p1T/IRQ4D1Hw==} - engines: {node: '>=4'} - clean-stack@2.2.0: resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} engines: {node: '>=6'} @@ -5857,18 +5987,6 @@ packages: resolution: {integrity: sha512-ZYP5VBHshaDAiVZxjbRVcFJpc+4xGgT0bK3vzy1HLN8jTO975HEbuYzZJcHoQEY5K1a0z8YayJkyVETa08eNTg==} engines: {node: '>=18'} - data-view-buffer@1.0.2: - resolution: {integrity: sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==} - engines: {node: '>= 0.4'} - - data-view-byte-length@1.0.2: - resolution: {integrity: sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==} - engines: {node: '>= 0.4'} - - data-view-byte-offset@1.0.1: - resolution: {integrity: sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==} - engines: {node: '>= 0.4'} - debounce@1.2.1: resolution: {integrity: sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==} @@ -5880,14 +5998,6 @@ packages: supports-color: optional: true - debug@3.2.7: - resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - debug@4.4.3: resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==} engines: {node: '>=6.0'} @@ -6051,10 +6161,6 @@ packages: resolution: {integrity: sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==} engines: {node: '>=6'} - doctrine@2.1.0: - resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} - engines: {node: '>=0.10.0'} - docusaurus-plugin-sass@0.2.6: resolution: {integrity: sha512-2hKQQDkrufMong9upKoG/kSHJhuwd+FA3iAe/qzS/BmWpbIpe7XKmq5wlz4J5CJaOPu4x+iDJbgAxZqcoQf0kg==} peerDependencies: @@ -6177,10 +6283,6 @@ packages: error-ex@1.3.4: resolution: {integrity: sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ==} - es-abstract@1.24.1: - resolution: {integrity: sha512-zHXBLhP+QehSSbsS9Pt23Gg964240DPd6QCf8WpkqEXxQ7fhdZzYsocOr5u7apWonsS5EjZDmTF+/slGMyasvw==} - engines: {node: '>= 0.4'} - es-define-property@1.0.1: resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==} engines: {node: '>= 0.4'} @@ -6196,18 +6298,6 @@ packages: resolution: {integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==} engines: {node: '>= 0.4'} - es-set-tostringtag@2.1.0: - resolution: {integrity: sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==} - engines: {node: '>= 0.4'} - - es-shim-unscopables@1.1.0: - resolution: {integrity: sha512-d9T8ucsEhh8Bi1woXCf+TIKDIROLG5WCkxg8geBCbvk22kzwC5G2OnXVMO6FUsvQlgUUXQ2itephWDLqDzbeCw==} - engines: {node: '>= 0.4'} - - es-to-primitive@1.3.0: - resolution: {integrity: sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==} - engines: {node: '>= 0.4'} - esast-util-from-estree@2.0.0: resolution: {integrity: sha512-4CyanoAudUSBAn5K13H4JhsMH6L9ZP7XbLVe/dKybkxMO7eDyLsT8UHl9TRNrU2Gr9nz+FovfSIjuXWJ81uVwQ==} @@ -6251,88 +6341,11 @@ packages: resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} engines: {node: '>=12'} - eslint-config-prettier@10.1.8: - resolution: {integrity: sha512-82GZUjRS0p/jganf6q1rEO25VSoHH0hKPCTrgillPjdI/3bgBhAE1QzHrHTizjpRvy6pGAvKjDJtk2pF9NDq8w==} - hasBin: true - peerDependencies: - eslint: '>=7.0.0' - - eslint-import-context@0.1.9: - resolution: {integrity: sha512-K9Hb+yRaGAGUbwjhFNHvSmmkZs9+zbuoe3kFQ4V1wYjrepUFYM2dZAfNtjbbj3qsPfUfsA68Bx/ICWQMi+C8Eg==} - engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} - peerDependencies: - unrs-resolver: ^1.0.0 - peerDependenciesMeta: - unrs-resolver: - optional: true - - eslint-import-resolver-node@0.3.9: - resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} - - eslint-import-resolver-typescript@4.4.4: - resolution: {integrity: sha512-1iM2zeBvrYmUNTj2vSC/90JTHDth+dfOfiNKkxApWRsTJYNrc8rOdxxIf5vazX+BiAXTeOT0UvWpGI/7qIWQOw==} - engines: {node: ^16.17.0 || >=18.6.0} - peerDependencies: - eslint: '*' - eslint-plugin-import: '*' - eslint-plugin-import-x: '*' - peerDependenciesMeta: - eslint-plugin-import: - optional: true - eslint-plugin-import-x: - optional: true - - eslint-module-utils@2.12.1: - resolution: {integrity: sha512-L8jSWTze7K2mTg0vos/RuLRS5soomksDPoJLXIslC7c8Wmut3bx7CPpJijDcBZtxQ5lrbUdM+s0OlNbz0DCDNw==} - engines: {node: '>=4'} - peerDependencies: - '@typescript-eslint/parser': '*' - eslint: '*' - eslint-import-resolver-node: '*' - eslint-import-resolver-typescript: '*' - eslint-import-resolver-webpack: '*' - peerDependenciesMeta: - '@typescript-eslint/parser': - optional: true - eslint: - optional: true - eslint-import-resolver-node: - optional: true - eslint-import-resolver-typescript: - optional: true - eslint-import-resolver-webpack: - optional: true - - eslint-plugin-import@2.32.0: - resolution: {integrity: sha512-whOE1HFo/qJDyX4SnXzP4N6zOWn79WhnCUY/iDR0mPfQZO8wcYE4JClzI2oZrhBnnMUCBCHZhO6VQyoBU95mZA==} - engines: {node: '>=4'} - peerDependencies: - '@typescript-eslint/parser': '*' - eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 || ^9 - peerDependenciesMeta: - '@typescript-eslint/parser': - optional: true - eslint-plugin-mocha@11.2.0: resolution: {integrity: sha512-nMdy3tEXZac8AH5Z/9hwUkSfWu8xHf4XqwB5UEQzyTQGKcNlgFeciRAjLjliIKC3dR1Ex/a2/5sqgQzvYRkkkA==} peerDependencies: eslint: '>=9.0.0' - eslint-plugin-unicorn@63.0.0: - resolution: {integrity: sha512-Iqecl9118uQEXYh7adylgEmGfkn5es3/mlQTLLkd4pXkIk9CTGrAbeUux+YljSa2ohXCBmQQ0+Ej1kZaFgcfkA==} - engines: {node: ^20.10.0 || >=21.0.0} - peerDependencies: - eslint: '>=9.38.0' - - eslint-plugin-unused-imports@4.4.1: - resolution: {integrity: sha512-oZGYUz1X3sRMGUB+0cZyK2VcvRX5lm/vB56PgNNcU+7ficUCKm66oZWKUubXWnOuPjQ8PvmXtCViXBMONPe7tQ==} - peerDependencies: - '@typescript-eslint/eslint-plugin': ^8.0.0-0 || ^7.0.0 || ^6.0.0 || ^5.0.0 - eslint: ^10.0.0 || ^9.0.0 || ^8.0.0 - peerDependenciesMeta: - '@typescript-eslint/eslint-plugin': - optional: true - eslint-scope@5.1.1: resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} engines: {node: '>=8.0.0'} @@ -6561,10 +6574,6 @@ packages: resolution: {integrity: sha512-9ZonPT4ZAK4a+1pUPVPZJapbi7O5qbbJPdYw/NOQWZZbVLdDTYM3A4R9z/DpAM08IDaFGsvPgiGZ82WEwUDWjg==} engines: {node: '>=14.16'} - find-up-simple@1.0.1: - resolution: {integrity: sha512-afd4O7zpqHeRyg4PfDQsXmlDe2PfdHtJt6Akt8jOWaApLOZk5JXs6VMR29lz03pRe9mpykrRCYIYxaJYcfpncQ==} - engines: {node: '>=18'} - find-up@4.1.0: resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} engines: {node: '>=8'} @@ -6609,10 +6618,6 @@ packages: debug: optional: true - for-each@0.3.5: - resolution: {integrity: sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==} - engines: {node: '>= 0.4'} - foreground-child@3.3.1: resolution: {integrity: sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==} engines: {node: '>=14'} @@ -6659,17 +6664,6 @@ packages: function-bind@1.1.2: resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} - function.prototype.name@1.1.8: - resolution: {integrity: sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==} - engines: {node: '>= 0.4'} - - functions-have-names@1.2.3: - resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} - - generator-function@2.0.1: - resolution: {integrity: sha512-SFdFmIJi+ybC0vjlHN0ZGVGHc3lgE0DxPAT0djjVg+kjOnSqclqmj0KQ7ykTOLP6YxoqOvuAODGdcHJn+43q3g==} - engines: {node: '>= 0.4'} - gensync@1.0.0-beta.2: resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} engines: {node: '>=6.9.0'} @@ -6712,10 +6706,6 @@ packages: resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} engines: {node: '>=10'} - get-symbol-description@1.1.0: - resolution: {integrity: sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==} - engines: {node: '>= 0.4'} - get-tsconfig@4.13.7: resolution: {integrity: sha512-7tN6rFgBlMgpBML5j8typ92BKFi2sFQvIdpAqLA2beia5avZDrMs0FLZiM5etShWq5irVyGcGMEA1jcDaK7A/Q==} @@ -6769,14 +6759,6 @@ packages: resolution: {integrity: sha512-7ACyT3wmyp3I61S4fG682L0VA2RGD9otkqGJIwNUMF1SWUombIIk+af1unuDYgMm082aHYwD+mzJvv9Iu8dsgg==} engines: {node: '>=18'} - globals@16.5.0: - resolution: {integrity: sha512-c/c15i26VrJ4IRt5Z89DnIzCGDn9EcebibhAOjw5ibqEHsE1wLUgkPn9RDmNcUKyU87GeaL633nyJ+pplFR2ZQ==} - engines: {node: '>=18'} - - globalthis@1.0.4: - resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==} - engines: {node: '>= 0.4'} - globby@11.1.0: resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} engines: {node: '>=10'} @@ -6830,10 +6812,6 @@ packages: resolution: {integrity: sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==} engines: {node: '>=6'} - has-bigints@1.1.0: - resolution: {integrity: sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==} - engines: {node: '>= 0.4'} - has-flag@4.0.0: resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} engines: {node: '>=8'} @@ -6845,18 +6823,10 @@ packages: has-property-descriptors@1.0.2: resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} - has-proto@1.2.0: - resolution: {integrity: sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==} - engines: {node: '>= 0.4'} - has-symbols@1.1.0: resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==} engines: {node: '>= 0.4'} - has-tostringtag@1.0.2: - resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} - engines: {node: '>= 0.4'} - has-yarn@3.0.0: resolution: {integrity: sha512-IrsVwUHhEULx3R8f/aA8AHuEzAorplsab/v8HBzEiIukwq5i/EC+xmOW+HfP1OaDP+2JkgT1yILHN2O3UFIbcA==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -7140,10 +7110,6 @@ packages: inline-style-parser@0.2.7: resolution: {integrity: sha512-Nb2ctOyNR8DqQoR0OwRG95uNWIC0C1lCgf5Naz5H6Ji72KZ8OcFZLz2P5sNgwlyoJ8Yif11oMuYs5pBQa86csA==} - internal-slot@1.1.0: - resolution: {integrity: sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==} - engines: {node: '>= 0.4'} - invariant@2.2.4: resolution: {integrity: sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==} @@ -7165,43 +7131,16 @@ packages: is-alphanumerical@2.0.1: resolution: {integrity: sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==} - is-array-buffer@3.0.5: - resolution: {integrity: sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==} - engines: {node: '>= 0.4'} - is-arrayish@0.2.1: resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} - is-async-function@2.1.1: - resolution: {integrity: sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ==} - engines: {node: '>= 0.4'} - - is-bigint@1.1.0: - resolution: {integrity: sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==} - engines: {node: '>= 0.4'} - is-binary-path@2.1.0: resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} engines: {node: '>=8'} - is-boolean-object@1.2.2: - resolution: {integrity: sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==} - engines: {node: '>= 0.4'} - is-buffer@1.1.6: resolution: {integrity: sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==} - is-builtin-module@5.0.0: - resolution: {integrity: sha512-f4RqJKBUe5rQkJ2eJEJBXSticB3hGbN9j0yxxMQFqIW89Jp9WYFtzfTcRlstDKVUTRzSOTLKRfO9vIztenwtxA==} - engines: {node: '>=18.20'} - - is-bun-module@2.0.0: - resolution: {integrity: sha512-gNCGbnnnnFAUGKeZ9PdbyeGYJqewpmc2aKHUEMO5nQPWU9lOmv7jcmQIv+qHD8fXW6W7qfuCwX4rY9LNRjXrkQ==} - - is-callable@1.2.7: - resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} - engines: {node: '>= 0.4'} - is-ci@3.0.1: resolution: {integrity: sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==} hasBin: true @@ -7210,14 +7149,6 @@ packages: resolution: {integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==} engines: {node: '>= 0.4'} - is-data-view@1.0.2: - resolution: {integrity: sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==} - engines: {node: '>= 0.4'} - - is-date-object@1.1.0: - resolution: {integrity: sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==} - engines: {node: '>= 0.4'} - is-decimal@2.0.1: resolution: {integrity: sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==} @@ -7239,10 +7170,6 @@ packages: resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} engines: {node: '>=0.10.0'} - is-finalizationregistry@1.1.1: - resolution: {integrity: sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==} - engines: {node: '>= 0.4'} - is-fullwidth-code-point@3.0.0: resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} engines: {node: '>=8'} @@ -7251,10 +7178,6 @@ packages: resolution: {integrity: sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==} engines: {node: '>=6'} - is-generator-function@1.1.2: - resolution: {integrity: sha512-upqt1SkGkODW9tsGNG5mtXTXtECizwtS2kA161M+gJPc1xdb/Ax629af6YrTwcOeQHbewrPNlE5Dx7kzvXTizA==} - engines: {node: '>= 0.4'} - is-glob@4.0.3: resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} engines: {node: '>=0.10.0'} @@ -7279,14 +7202,6 @@ packages: resolution: {integrity: sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==} engines: {node: '>=12'} - is-map@2.0.3: - resolution: {integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==} - engines: {node: '>= 0.4'} - - is-negative-zero@2.0.3: - resolution: {integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==} - engines: {node: '>= 0.4'} - is-network-error@1.3.1: resolution: {integrity: sha512-6QCxa49rQbmUWLfk0nuGqzql9U8uaV2H6279bRErPBHe/109hCzsLUBUHfbEtvLIHBd6hyXbgedBSHevm43Edw==} engines: {node: '>=16'} @@ -7295,10 +7210,6 @@ packages: resolution: {integrity: sha512-O2z4/kNgyjhQwVR1Wpkbfc19JIhggF97NZNCpWTnjH7kVcZMUrnut9XSN7txI7VdyIYk5ZatOq3zvSuWpU8hoA==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - is-number-object@1.1.1: - resolution: {integrity: sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==} - engines: {node: '>= 0.4'} - is-number@7.0.0: resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} engines: {node: '>=0.12.0'} @@ -7350,42 +7261,18 @@ packages: is-potential-custom-element-name@1.0.1: resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==} - is-regex@1.2.1: - resolution: {integrity: sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==} - engines: {node: '>= 0.4'} - is-regexp@1.0.0: resolution: {integrity: sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==} engines: {node: '>=0.10.0'} - is-set@2.0.3: - resolution: {integrity: sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==} - engines: {node: '>= 0.4'} - - is-shared-array-buffer@1.0.4: - resolution: {integrity: sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==} - engines: {node: '>= 0.4'} - is-stream@2.0.1: resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} engines: {node: '>=8'} - is-string@1.1.1: - resolution: {integrity: sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==} - engines: {node: '>= 0.4'} - is-subdir@1.2.0: resolution: {integrity: sha512-2AT6j+gXe/1ueqbW6fLZJiIw3F8iXGJtt0yDrZaBhAZEG1raiTxKWU+IPqMCzQAXOUCKdA4UDMgacKH25XG2Cw==} engines: {node: '>=4'} - is-symbol@1.1.1: - resolution: {integrity: sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==} - engines: {node: '>= 0.4'} - - is-typed-array@1.1.15: - resolution: {integrity: sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==} - engines: {node: '>= 0.4'} - is-typedarray@1.0.0: resolution: {integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==} @@ -7401,18 +7288,6 @@ packages: resolution: {integrity: sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ==} engines: {node: '>=18'} - is-weakmap@2.0.2: - resolution: {integrity: sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==} - engines: {node: '>= 0.4'} - - is-weakref@1.1.1: - resolution: {integrity: sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew==} - engines: {node: '>= 0.4'} - - is-weakset@2.0.4: - resolution: {integrity: sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==} - engines: {node: '>= 0.4'} - is-windows@1.0.2: resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==} engines: {node: '>=0.10.0'} @@ -7435,9 +7310,6 @@ packages: isarray@1.0.0: resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} - isarray@2.0.5: - resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} - isexe@2.0.0: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} @@ -7683,10 +7555,6 @@ packages: json-stable-stringify-without-jsonify@1.0.1: resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} - json5@1.0.2: - resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==} - hasBin: true - json5@2.2.3: resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} engines: {node: '>=6'} @@ -8515,18 +8383,6 @@ packages: resolution: {integrity: sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==} engines: {node: '>= 0.4'} - object.fromentries@2.0.8: - resolution: {integrity: sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==} - engines: {node: '>= 0.4'} - - object.groupby@1.0.3: - resolution: {integrity: sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==} - engines: {node: '>= 0.4'} - - object.values@1.2.1: - resolution: {integrity: sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==} - engines: {node: '>= 0.4'} - obuf@1.1.2: resolution: {integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==} @@ -8578,9 +8434,24 @@ packages: resolution: {integrity: sha512-weP+BZ8MVNnlCm8c0Qdc1WSWq4Qn7I+9CJGm7Qali6g44e/PUzbjNqJX5NJ9ljlNMosfJvg1fKEGILklK9cwnw==} engines: {node: '>=18'} - own-keys@1.0.1: - resolution: {integrity: sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==} - engines: {node: '>= 0.4'} + oxfmt@0.41.0: + resolution: {integrity: sha512-sKLdJZdQ3bw6x9qKiT7+eID4MNEXlDHf5ZacfIircrq6Qwjk0L6t2/JQlZZrVHTXJawK3KaMuBoJnEJPcqCEdg==} + engines: {node: ^20.19.0 || >=22.12.0} + hasBin: true + + oxlint-tsgolint@0.17.2: + resolution: {integrity: sha512-W3gmZSOzNFGs9EwU8i3xlDpC0aqynQNtoDnaftdAZ3FE8cR7W625pPRbSmtsUOtTC0MPixx1i08R6uRVLfPp7g==} + hasBin: true + + oxlint@1.56.0: + resolution: {integrity: sha512-Q+5Mj5PVaH/R6/fhMMFzw4dT+KPB+kQW4kaL8FOIq7tfhlnEVp6+3lcWqFruuTNlUo9srZUW3qH7Id4pskeR6g==} + engines: {node: ^20.19.0 || >=22.12.0} + hasBin: true + peerDependencies: + oxlint-tsgolint: '>=0.15.0' + peerDependenciesMeta: + oxlint-tsgolint: + optional: true p-cancelable@3.0.0: resolution: {integrity: sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw==} @@ -8815,14 +8686,6 @@ packages: player.style@0.3.1: resolution: {integrity: sha512-z/T8hJGaTkHT9vdXgWdOgF37eB1FV7/j52VXQZ2lgEhpru9oT8TaUWIxp6GoxTnhPBM4X6nSbpkAHrT7UTjUKg==} - pluralize@8.0.0: - resolution: {integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==} - engines: {node: '>=4'} - - possible-typed-array-names@1.1.0: - resolution: {integrity: sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==} - engines: {node: '>= 0.4'} - postcss-attribute-case-insensitive@7.0.1: resolution: {integrity: sha512-Uai+SupNSqzlschRyNx3kbCTWgY/2hcwtHEI/ej2LJWc9JJ77qKgGptd8DHwY1mXtZ7Aoh4z4yxfwMBue9eNgw==} engines: {node: '>=18'} @@ -9261,11 +9124,6 @@ packages: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} engines: {node: '>= 0.8.0'} - prettier@3.8.1: - resolution: {integrity: sha512-UOnG6LftzbdaHZcKoPFtOcCKztrQ57WkHDeRD9t/PTQtmT0NHSeWWepj6pS0z/N7+08BHFDQVUrfmfMRcZwbMg==} - engines: {node: '>=14'} - hasBin: true - pretty-bytes@5.6.0: resolution: {integrity: sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==} engines: {node: '>=6'} @@ -9529,10 +9387,6 @@ packages: reflect-metadata@0.2.2: resolution: {integrity: sha512-urBwgfrvVP/eAyXx4hluJivBKzuEbSQs9rKWCrCkbSxNv8mxPcUZKeuoF3Uy4mJl3Lwprp6yy5/39VWigZ4K6Q==} - reflect.getprototypeof@1.0.10: - resolution: {integrity: sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==} - engines: {node: '>= 0.4'} - regenerate-unicode-properties@10.2.2: resolution: {integrity: sha512-m03P+zhBeQd1RGnYxrGyDAPpWX/epKirLrp8e3qevZdVkKtnCrjjWczIbYc8+xd6vcTStVlqfycTx1KR4LOr0g==} engines: {node: '>=4'} @@ -9549,14 +9403,6 @@ packages: regex@6.1.0: resolution: {integrity: sha512-6VwtthbV4o/7+OaAF9I5L5V3llLEsoPyq9P1JVXkedTP33c7MfCG0/5NOPcSJn0TzXcG9YUrR0gQSWioew3LDg==} - regexp-tree@0.1.27: - resolution: {integrity: sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA==} - hasBin: true - - regexp.prototype.flags@1.5.4: - resolution: {integrity: sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==} - engines: {node: '>= 0.4'} - regexparam@3.0.0: resolution: {integrity: sha512-RSYAtP31mvYLkAHrOlh25pCNQ5hWnT106VukGaaFfuJrZFkGRX5GhUAdPqpSDXxOhA2c4akmRuplv1mRqnBn6Q==} engines: {node: '>=8'} @@ -9734,10 +9580,6 @@ packages: rxjs@7.8.2: resolution: {integrity: sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==} - safe-array-concat@1.1.3: - resolution: {integrity: sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==} - engines: {node: '>=0.4'} - safe-buffer@5.1.2: resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} @@ -9752,14 +9594,6 @@ packages: resolution: {integrity: sha512-GI3k4zl4aLC3lxZNEEXAxxcXE6E3TfOsJ5xxJPhcAv9MWwnH2O9I0HrDmZFsVnu/C8wzRYSsTHdoVRmL0VicDw==} engines: {node: '>=12'} - safe-push-apply@1.0.0: - resolution: {integrity: sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==} - engines: {node: '>= 0.4'} - - safe-regex-test@1.1.0: - resolution: {integrity: sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==} - engines: {node: '>= 0.4'} - safe-stable-stringify@2.5.0: resolution: {integrity: sha512-b3rppTKm9T+PsVCBEOUR46GWI7fdOs00VKZ1+9c1EWDaDMvjQc6tUwuFyIprgGgTcWoVHSKrU8H31ZHA2e0RHA==} engines: {node: '>=10'} @@ -9873,14 +9707,6 @@ packages: resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} engines: {node: '>= 0.4'} - set-function-name@2.0.2: - resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==} - engines: {node: '>= 0.4'} - - set-proto@1.0.0: - resolution: {integrity: sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==} - engines: {node: '>= 0.4'} - setimmediate@1.0.5: resolution: {integrity: sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==} @@ -10073,10 +9899,6 @@ packages: resolution: {integrity: sha512-S7iGNosepx9RadX82oimUkvr0Ct7IjJbEbs4mJcTxst8um95J3sDYU1RBEOvdu6oL1Wek2ODI5i4MAw+dZ6cAQ==} engines: {node: ^18.17.0 || >=20.5.0} - stable-hash-x@0.2.0: - resolution: {integrity: sha512-o3yWv49B/o4QZk5ZcsALc6t0+eCelPc44zZsLtCQnZPDwFpDYSWcDnrv2TtMmMbQ7uKo3J0HTURCqckw23czNQ==} - engines: {node: '>=12.0.0'} - stack-trace@0.0.10: resolution: {integrity: sha512-KGzahc7puUKkzyMt+IqAep+TVNbKP+k2Lmwhub39m1AsTSkaDutx56aDCo+HLDzf/D26BIHTJWNiTG1KAJiQCg==} @@ -10102,10 +9924,6 @@ packages: resolution: {integrity: sha512-UhDfHmA92YAlNnCfhmq0VeNL5bDbiZGg7sZ2IvPsXubGkiNa9EC+tUTsjBRsYUAz87btI6/1wf4XoVvQ3uRnmQ==} engines: {node: '>=18'} - stop-iteration-iterator@1.1.0: - resolution: {integrity: sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==} - engines: {node: '>= 0.4'} - string-length@4.0.2: resolution: {integrity: sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==} engines: {node: '>=10'} @@ -10126,18 +9944,6 @@ packages: resolution: {integrity: sha512-6hJPQ8N0V0P3SNmP6h2J99RLuzrWz2gvT7VnK5tKvrNqJoyS9W4/Fb8mo31UiPvy00z7DQXkP2hnKBVav76thw==} engines: {node: '>=20'} - string.prototype.trim@1.2.10: - resolution: {integrity: sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==} - engines: {node: '>= 0.4'} - - string.prototype.trimend@1.0.9: - resolution: {integrity: sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==} - engines: {node: '>= 0.4'} - - string.prototype.trimstart@1.0.8: - resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==} - engines: {node: '>= 0.4'} - string_decoder@1.1.1: resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} @@ -10445,6 +10251,10 @@ packages: resolution: {integrity: sha512-Zba82s87IFq9A9XmjiX5uZA/ARWDrB03OHlq+Vw1fSdt0I+4/Kutwy8BP4Y/y/aORMo61FQ0vIb5j44vSo5Pkg==} engines: {node: ^18.0.0 || >=20.0.0} + tinypool@2.1.0: + resolution: {integrity: sha512-Pugqs6M0m7Lv1I7FtxN4aoyToKg1C4tu+/381vH35y8oENM/Ai7f7C4StcoK4/+BSw9ebcS8jRiVrORFKCALLw==} + engines: {node: ^20.0.0 || >=22.0.0} + tldts-core@6.1.86: resolution: {integrity: sha512-Je6p7pkk+KMzMv2XXKmAE3McmolOQFdxkKw0R8EYNr7sELW46JqnNeTX8ybPiQgvg1ymCoF8LXs5fzFaZvJPTA==} @@ -10509,12 +10319,6 @@ packages: truncate-utf8-bytes@1.0.2: resolution: {integrity: sha512-95Pu1QXQvruGEhv62XCMO3Mm90GscOCClvrIUwCM0PYOXK3kaF3l3sIHxx71ThJfcbM2O5Au6SO3AWCSEfW4mQ==} - ts-api-utils@2.5.0: - resolution: {integrity: sha512-OJ/ibxhPlqrMM0UiNHJ/0CKQkoKF243/AEmplt3qpRgkW8VG7IfOS41h7V8TjITqdByHzrjcS/2si+y4lIh8NA==} - engines: {node: '>=18.12'} - peerDependencies: - typescript: '>=4.8.4' - ts-interface-checker@0.1.13: resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} @@ -10559,9 +10363,6 @@ packages: '@swc/wasm': optional: true - tsconfig-paths@3.15.0: - resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==} - tslib@1.14.1: resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} @@ -10654,32 +10455,9 @@ packages: resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} engines: {node: '>= 0.6'} - typed-array-buffer@1.0.3: - resolution: {integrity: sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==} - engines: {node: '>= 0.4'} - - typed-array-byte-length@1.0.3: - resolution: {integrity: sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==} - engines: {node: '>= 0.4'} - - typed-array-byte-offset@1.0.4: - resolution: {integrity: sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==} - engines: {node: '>= 0.4'} - - typed-array-length@1.0.7: - resolution: {integrity: sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==} - engines: {node: '>= 0.4'} - typedarray-to-buffer@3.1.5: resolution: {integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==} - typescript-eslint@8.57.1: - resolution: {integrity: sha512-fLvZWf+cAGw3tqMCYzGIU6yR8K+Y9NT2z23RwOjlNFF2HwSB3KhdEFI5lSBv8tNmFkkBShSjsCjzx1vahZfISA==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 - typescript: '>=4.8.4 <6.0.0' - typescript@5.9.3: resolution: {integrity: sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==} engines: {node: '>=14.17'} @@ -10704,10 +10482,6 @@ packages: umask@1.1.0: resolution: {integrity: sha512-lE/rxOhmiScJu9L6RTNVgB/zZbF+vGC0/p6D3xnkAePI2o0sMyFG966iR5Ki50OI/0mNi2yaRnxfLsPmEZF/JA==} - unbox-primitive@1.1.0: - resolution: {integrity: sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==} - engines: {node: '>= 0.4'} - undici-types@7.16.0: resolution: {integrity: sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==} @@ -11083,26 +10857,10 @@ packages: resolution: {integrity: sha512-De72GdQZzNTUBBChsXueQUnPKDkg/5A5zp7pFDuQAj5UFoENpiACU0wlCvzpAGnTkj++ihpKwKyYewn/XNUbKw==} engines: {node: '>=18'} - which-boxed-primitive@1.1.1: - resolution: {integrity: sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==} - engines: {node: '>= 0.4'} - - which-builtin-type@1.2.1: - resolution: {integrity: sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==} - engines: {node: '>= 0.4'} - - which-collection@1.0.2: - resolution: {integrity: sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==} - engines: {node: '>= 0.4'} - which-pm@2.2.0: resolution: {integrity: sha512-MOiaDbA5ZZgUjkeMWM5EkJp4loW5ZRoa5bc3/aeMox/PJelMhE6t7S/mLuiY43DBupyxH+S0U1bTui9kWUlmsw==} engines: {node: '>=8.15'} - which-typed-array@1.1.20: - resolution: {integrity: sha512-LYfpUkmqwl0h9A2HL09Mms427Q1RZWuOHsukfVcKRq9q95iQxdw0ix1JQrqbcDR9PH1QDwf5Qo8OZb5lksZ8Xg==} - engines: {node: '>= 0.4'} - which@1.3.1: resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} hasBin: true @@ -13589,10 +13347,6 @@ snapshots: dependencies: '@types/json-schema': 7.0.15 - '@eslint/js@10.0.1(eslint@10.1.0(jiti@2.6.1))': - optionalDependencies: - eslint: 10.1.0(jiti@2.6.1) - '@eslint/object-schema@3.0.3': {} '@eslint/plugin-kit@0.6.1': @@ -14162,99 +13916,231 @@ snapshots: '@oxc-project/types@0.120.0': {} - '@parcel/watcher-android-arm64@2.5.6': + '@oxfmt/binding-android-arm-eabi@0.41.0': optional: true - '@parcel/watcher-darwin-arm64@2.5.6': + '@oxfmt/binding-android-arm64@0.41.0': optional: true - '@parcel/watcher-darwin-x64@2.5.6': + '@oxfmt/binding-darwin-arm64@0.41.0': optional: true - '@parcel/watcher-freebsd-x64@2.5.6': + '@oxfmt/binding-darwin-x64@0.41.0': optional: true - '@parcel/watcher-linux-arm-glibc@2.5.6': + '@oxfmt/binding-freebsd-x64@0.41.0': optional: true - '@parcel/watcher-linux-arm-musl@2.5.6': + '@oxfmt/binding-linux-arm-gnueabihf@0.41.0': optional: true - '@parcel/watcher-linux-arm64-glibc@2.5.6': + '@oxfmt/binding-linux-arm-musleabihf@0.41.0': optional: true - '@parcel/watcher-linux-arm64-musl@2.5.6': + '@oxfmt/binding-linux-arm64-gnu@0.41.0': optional: true - '@parcel/watcher-linux-x64-glibc@2.5.6': + '@oxfmt/binding-linux-arm64-musl@0.41.0': optional: true - '@parcel/watcher-linux-x64-musl@2.5.6': + '@oxfmt/binding-linux-ppc64-gnu@0.41.0': optional: true - '@parcel/watcher-win32-arm64@2.5.6': + '@oxfmt/binding-linux-riscv64-gnu@0.41.0': optional: true - '@parcel/watcher-win32-ia32@2.5.6': + '@oxfmt/binding-linux-riscv64-musl@0.41.0': optional: true - '@parcel/watcher-win32-x64@2.5.6': + '@oxfmt/binding-linux-s390x-gnu@0.41.0': optional: true - '@parcel/watcher@2.5.6': - dependencies: - detect-libc: 2.1.2 - is-glob: 4.0.3 - node-addon-api: 7.1.1 - picomatch: 4.0.3 - optionalDependencies: - '@parcel/watcher-android-arm64': 2.5.6 - '@parcel/watcher-darwin-arm64': 2.5.6 - '@parcel/watcher-darwin-x64': 2.5.6 - '@parcel/watcher-freebsd-x64': 2.5.6 - '@parcel/watcher-linux-arm-glibc': 2.5.6 - '@parcel/watcher-linux-arm-musl': 2.5.6 - '@parcel/watcher-linux-arm64-glibc': 2.5.6 - '@parcel/watcher-linux-arm64-musl': 2.5.6 - '@parcel/watcher-linux-x64-glibc': 2.5.6 - '@parcel/watcher-linux-x64-musl': 2.5.6 - '@parcel/watcher-win32-arm64': 2.5.6 - '@parcel/watcher-win32-ia32': 2.5.6 - '@parcel/watcher-win32-x64': 2.5.6 + '@oxfmt/binding-linux-x64-gnu@0.41.0': optional: true - '@peculiar/asn1-cms@2.6.1': - dependencies: - '@peculiar/asn1-schema': 2.6.0 - '@peculiar/asn1-x509': 2.6.1 - '@peculiar/asn1-x509-attr': 2.6.1 - asn1js: 3.0.7 - tslib: 2.8.1 + '@oxfmt/binding-linux-x64-musl@0.41.0': + optional: true - '@peculiar/asn1-csr@2.6.1': - dependencies: - '@peculiar/asn1-schema': 2.6.0 - '@peculiar/asn1-x509': 2.6.1 - asn1js: 3.0.7 - tslib: 2.8.1 + '@oxfmt/binding-openharmony-arm64@0.41.0': + optional: true - '@peculiar/asn1-ecc@2.6.1': - dependencies: - '@peculiar/asn1-schema': 2.6.0 - '@peculiar/asn1-x509': 2.6.1 - asn1js: 3.0.7 - tslib: 2.8.1 + '@oxfmt/binding-win32-arm64-msvc@0.41.0': + optional: true - '@peculiar/asn1-pfx@2.6.1': - dependencies: - '@peculiar/asn1-cms': 2.6.1 - '@peculiar/asn1-pkcs8': 2.6.1 - '@peculiar/asn1-rsa': 2.6.1 - '@peculiar/asn1-schema': 2.6.0 - asn1js: 3.0.7 - tslib: 2.8.1 + '@oxfmt/binding-win32-ia32-msvc@0.41.0': + optional: true - '@peculiar/asn1-pkcs8@2.6.1': + '@oxfmt/binding-win32-x64-msvc@0.41.0': + optional: true + + '@oxlint-tsgolint/darwin-arm64@0.17.2': + optional: true + + '@oxlint-tsgolint/darwin-x64@0.17.2': + optional: true + + '@oxlint-tsgolint/linux-arm64@0.17.2': + optional: true + + '@oxlint-tsgolint/linux-x64@0.17.2': + optional: true + + '@oxlint-tsgolint/win32-arm64@0.17.2': + optional: true + + '@oxlint-tsgolint/win32-x64@0.17.2': + optional: true + + '@oxlint/binding-android-arm-eabi@1.56.0': + optional: true + + '@oxlint/binding-android-arm64@1.56.0': + optional: true + + '@oxlint/binding-darwin-arm64@1.56.0': + optional: true + + '@oxlint/binding-darwin-x64@1.56.0': + optional: true + + '@oxlint/binding-freebsd-x64@1.56.0': + optional: true + + '@oxlint/binding-linux-arm-gnueabihf@1.56.0': + optional: true + + '@oxlint/binding-linux-arm-musleabihf@1.56.0': + optional: true + + '@oxlint/binding-linux-arm64-gnu@1.56.0': + optional: true + + '@oxlint/binding-linux-arm64-musl@1.56.0': + optional: true + + '@oxlint/binding-linux-ppc64-gnu@1.56.0': + optional: true + + '@oxlint/binding-linux-riscv64-gnu@1.56.0': + optional: true + + '@oxlint/binding-linux-riscv64-musl@1.56.0': + optional: true + + '@oxlint/binding-linux-s390x-gnu@1.56.0': + optional: true + + '@oxlint/binding-linux-x64-gnu@1.56.0': + optional: true + + '@oxlint/binding-linux-x64-musl@1.56.0': + optional: true + + '@oxlint/binding-openharmony-arm64@1.56.0': + optional: true + + '@oxlint/binding-win32-arm64-msvc@1.56.0': + optional: true + + '@oxlint/binding-win32-ia32-msvc@1.56.0': + optional: true + + '@oxlint/binding-win32-x64-msvc@1.56.0': + optional: true + + '@parcel/watcher-android-arm64@2.5.6': + optional: true + + '@parcel/watcher-darwin-arm64@2.5.6': + optional: true + + '@parcel/watcher-darwin-x64@2.5.6': + optional: true + + '@parcel/watcher-freebsd-x64@2.5.6': + optional: true + + '@parcel/watcher-linux-arm-glibc@2.5.6': + optional: true + + '@parcel/watcher-linux-arm-musl@2.5.6': + optional: true + + '@parcel/watcher-linux-arm64-glibc@2.5.6': + optional: true + + '@parcel/watcher-linux-arm64-musl@2.5.6': + optional: true + + '@parcel/watcher-linux-x64-glibc@2.5.6': + optional: true + + '@parcel/watcher-linux-x64-musl@2.5.6': + optional: true + + '@parcel/watcher-win32-arm64@2.5.6': + optional: true + + '@parcel/watcher-win32-ia32@2.5.6': + optional: true + + '@parcel/watcher-win32-x64@2.5.6': + optional: true + + '@parcel/watcher@2.5.6': + dependencies: + detect-libc: 2.1.2 + is-glob: 4.0.3 + node-addon-api: 7.1.1 + picomatch: 4.0.3 + optionalDependencies: + '@parcel/watcher-android-arm64': 2.5.6 + '@parcel/watcher-darwin-arm64': 2.5.6 + '@parcel/watcher-darwin-x64': 2.5.6 + '@parcel/watcher-freebsd-x64': 2.5.6 + '@parcel/watcher-linux-arm-glibc': 2.5.6 + '@parcel/watcher-linux-arm-musl': 2.5.6 + '@parcel/watcher-linux-arm64-glibc': 2.5.6 + '@parcel/watcher-linux-arm64-musl': 2.5.6 + '@parcel/watcher-linux-x64-glibc': 2.5.6 + '@parcel/watcher-linux-x64-musl': 2.5.6 + '@parcel/watcher-win32-arm64': 2.5.6 + '@parcel/watcher-win32-ia32': 2.5.6 + '@parcel/watcher-win32-x64': 2.5.6 + optional: true + + '@peculiar/asn1-cms@2.6.1': + dependencies: + '@peculiar/asn1-schema': 2.6.0 + '@peculiar/asn1-x509': 2.6.1 + '@peculiar/asn1-x509-attr': 2.6.1 + asn1js: 3.0.7 + tslib: 2.8.1 + + '@peculiar/asn1-csr@2.6.1': + dependencies: + '@peculiar/asn1-schema': 2.6.0 + '@peculiar/asn1-x509': 2.6.1 + asn1js: 3.0.7 + tslib: 2.8.1 + + '@peculiar/asn1-ecc@2.6.1': + dependencies: + '@peculiar/asn1-schema': 2.6.0 + '@peculiar/asn1-x509': 2.6.1 + asn1js: 3.0.7 + tslib: 2.8.1 + + '@peculiar/asn1-pfx@2.6.1': + dependencies: + '@peculiar/asn1-cms': 2.6.1 + '@peculiar/asn1-pkcs8': 2.6.1 + '@peculiar/asn1-rsa': 2.6.1 + '@peculiar/asn1-schema': 2.6.0 + asn1js: 3.0.7 + tslib: 2.8.1 + + '@peculiar/asn1-pkcs8@2.6.1': dependencies: '@peculiar/asn1-schema': 2.6.0 '@peculiar/asn1-x509': 2.6.1 @@ -15643,8 +15529,6 @@ snapshots: '@rspack/lite-tapable@1.1.0': {} - '@rtsao/scc@1.1.0': {} - '@rushstack/worker-pool@0.4.9(@types/node@24.12.0)': optionalDependencies: '@types/node': 24.12.0 @@ -15993,8 +15877,6 @@ snapshots: dependencies: defer-to-connect: 2.0.1 - '@tsconfig/docusaurus@2.0.9': {} - '@tsconfig/node10@1.0.12': optional: true @@ -16146,8 +16028,6 @@ snapshots: '@types/json-schema@7.0.15': {} - '@types/json5@0.0.29': {} - '@types/jsonfile@6.1.4': dependencies: '@types/node': 24.12.0 @@ -16287,97 +16167,6 @@ snapshots: dependencies: '@types/yargs-parser': 21.0.3 - '@typescript-eslint/eslint-plugin@8.57.1(@typescript-eslint/parser@8.57.1(eslint@10.1.0(jiti@2.6.1))(typescript@5.9.3))(eslint@10.1.0(jiti@2.6.1))(typescript@5.9.3)': - dependencies: - '@eslint-community/regexpp': 4.12.2 - '@typescript-eslint/parser': 8.57.1(eslint@10.1.0(jiti@2.6.1))(typescript@5.9.3) - '@typescript-eslint/scope-manager': 8.57.1 - '@typescript-eslint/type-utils': 8.57.1(eslint@10.1.0(jiti@2.6.1))(typescript@5.9.3) - '@typescript-eslint/utils': 8.57.1(eslint@10.1.0(jiti@2.6.1))(typescript@5.9.3) - '@typescript-eslint/visitor-keys': 8.57.1 - eslint: 10.1.0(jiti@2.6.1) - ignore: 7.0.5 - natural-compare: 1.4.0 - ts-api-utils: 2.5.0(typescript@5.9.3) - typescript: 5.9.3 - transitivePeerDependencies: - - supports-color - - '@typescript-eslint/parser@8.57.1(eslint@10.1.0(jiti@2.6.1))(typescript@5.9.3)': - dependencies: - '@typescript-eslint/scope-manager': 8.57.1 - '@typescript-eslint/types': 8.57.1 - '@typescript-eslint/typescript-estree': 8.57.1(typescript@5.9.3) - '@typescript-eslint/visitor-keys': 8.57.1 - debug: 4.4.3(supports-color@8.1.1) - eslint: 10.1.0(jiti@2.6.1) - typescript: 5.9.3 - transitivePeerDependencies: - - supports-color - - '@typescript-eslint/project-service@8.57.1(typescript@5.9.3)': - dependencies: - '@typescript-eslint/tsconfig-utils': 8.57.1(typescript@5.9.3) - '@typescript-eslint/types': 8.57.1 - debug: 4.4.3(supports-color@8.1.1) - typescript: 5.9.3 - transitivePeerDependencies: - - supports-color - - '@typescript-eslint/scope-manager@8.57.1': - dependencies: - '@typescript-eslint/types': 8.57.1 - '@typescript-eslint/visitor-keys': 8.57.1 - - '@typescript-eslint/tsconfig-utils@8.57.1(typescript@5.9.3)': - dependencies: - typescript: 5.9.3 - - '@typescript-eslint/type-utils@8.57.1(eslint@10.1.0(jiti@2.6.1))(typescript@5.9.3)': - dependencies: - '@typescript-eslint/types': 8.57.1 - '@typescript-eslint/typescript-estree': 8.57.1(typescript@5.9.3) - '@typescript-eslint/utils': 8.57.1(eslint@10.1.0(jiti@2.6.1))(typescript@5.9.3) - debug: 4.4.3(supports-color@8.1.1) - eslint: 10.1.0(jiti@2.6.1) - ts-api-utils: 2.5.0(typescript@5.9.3) - typescript: 5.9.3 - transitivePeerDependencies: - - supports-color - - '@typescript-eslint/types@8.57.1': {} - - '@typescript-eslint/typescript-estree@8.57.1(typescript@5.9.3)': - dependencies: - '@typescript-eslint/project-service': 8.57.1(typescript@5.9.3) - '@typescript-eslint/tsconfig-utils': 8.57.1(typescript@5.9.3) - '@typescript-eslint/types': 8.57.1 - '@typescript-eslint/visitor-keys': 8.57.1 - debug: 4.4.3(supports-color@8.1.1) - minimatch: 10.2.4 - semver: 7.7.4 - tinyglobby: 0.2.15 - ts-api-utils: 2.5.0(typescript@5.9.3) - typescript: 5.9.3 - transitivePeerDependencies: - - supports-color - - '@typescript-eslint/utils@8.57.1(eslint@10.1.0(jiti@2.6.1))(typescript@5.9.3)': - dependencies: - '@eslint-community/eslint-utils': 4.9.1(eslint@10.1.0(jiti@2.6.1)) - '@typescript-eslint/scope-manager': 8.57.1 - '@typescript-eslint/types': 8.57.1 - '@typescript-eslint/typescript-estree': 8.57.1(typescript@5.9.3) - eslint: 10.1.0(jiti@2.6.1) - typescript: 5.9.3 - transitivePeerDependencies: - - supports-color - - '@typescript-eslint/visitor-keys@8.57.1': - dependencies: - '@typescript-eslint/types': 8.57.1 - eslint-visitor-keys: 5.0.1 - '@ungap/structured-clone@1.3.0': {} '@unrs/resolver-binding-android-arm-eabi@1.11.1': @@ -16727,60 +16516,10 @@ snapshots: argparse@2.0.1: {} - array-buffer-byte-length@1.0.2: - dependencies: - call-bound: 1.0.4 - is-array-buffer: 3.0.5 - array-flatten@1.1.1: {} - array-includes@3.1.9: - dependencies: - call-bind: 1.0.8 - call-bound: 1.0.4 - define-properties: 1.2.1 - es-abstract: 1.24.1 - es-object-atoms: 1.1.1 - get-intrinsic: 1.3.0 - is-string: 1.1.1 - math-intrinsics: 1.1.0 - array-union@2.1.0: {} - array.prototype.findlastindex@1.2.6: - dependencies: - call-bind: 1.0.8 - call-bound: 1.0.4 - define-properties: 1.2.1 - es-abstract: 1.24.1 - es-errors: 1.3.0 - es-object-atoms: 1.1.1 - es-shim-unscopables: 1.1.0 - - array.prototype.flat@1.3.3: - dependencies: - call-bind: 1.0.8 - define-properties: 1.2.1 - es-abstract: 1.24.1 - es-shim-unscopables: 1.1.0 - - array.prototype.flatmap@1.3.3: - dependencies: - call-bind: 1.0.8 - define-properties: 1.2.1 - es-abstract: 1.24.1 - es-shim-unscopables: 1.1.0 - - arraybuffer.prototype.slice@1.0.4: - dependencies: - array-buffer-byte-length: 1.0.2 - call-bind: 1.0.8 - define-properties: 1.2.1 - es-abstract: 1.24.1 - es-errors: 1.3.0 - get-intrinsic: 1.3.0 - is-array-buffer: 3.0.5 - arrify@1.0.1: {} as-table@1.0.55: @@ -16799,8 +16538,6 @@ snapshots: astring@1.9.0: {} - async-function@1.0.0: {} - async@3.2.6: {} autoprefixer@10.4.27(postcss@8.5.8): @@ -16812,10 +16549,6 @@ snapshots: postcss: 8.5.8 postcss-value-parser: 4.2.0 - available-typed-arrays@1.0.7: - dependencies: - possible-typed-array-names: 1.1.0 - babel-jest@30.3.0(@babel/core@7.29.0): dependencies: '@babel/core': 7.29.0 @@ -17041,8 +16774,6 @@ snapshots: buffer-from@1.1.2: {} - builtin-modules@5.0.0: {} - builtins@5.1.0: dependencies: semver: 7.7.4 @@ -17181,8 +16912,6 @@ snapshots: chalk@5.6.2: {} - change-case@5.4.4: {} - char-regex@1.0.2: {} character-entities-html4@2.1.0: {} @@ -17244,10 +16973,6 @@ snapshots: dependencies: source-map: 0.6.1 - clean-regexp@1.0.0: - dependencies: - escape-string-regexp: 1.0.5 - clean-stack@2.2.0: {} cli-boxes@2.2.1: {} @@ -17659,34 +17384,12 @@ snapshots: whatwg-mimetype: 4.0.0 whatwg-url: 14.2.0 - data-view-buffer@1.0.2: - dependencies: - call-bound: 1.0.4 - es-errors: 1.3.0 - is-data-view: 1.0.2 - - data-view-byte-length@1.0.2: - dependencies: - call-bound: 1.0.4 - es-errors: 1.3.0 - is-data-view: 1.0.2 - - data-view-byte-offset@1.0.1: - dependencies: - call-bound: 1.0.4 - es-errors: 1.3.0 - is-data-view: 1.0.2 - debounce@1.2.1: {} debug@2.6.9: dependencies: ms: 2.0.0 - debug@3.2.7: - dependencies: - ms: 2.1.3 - debug@4.4.3(supports-color@8.1.1): dependencies: ms: 2.1.3 @@ -17814,10 +17517,6 @@ snapshots: dependencies: '@leichtgewicht/ip-codec': 2.0.5 - doctrine@2.1.0: - dependencies: - esutils: 2.0.3 - docusaurus-plugin-sass@0.2.6(@docusaurus/core@3.9.2(@docusaurus/faster@3.9.2(@docusaurus/types@3.9.2(@swc/core@1.15.21)(esbuild@0.27.4)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(esbuild@0.27.4))(@mdx-js/react@3.1.1(@types/react@19.2.14)(react@19.2.4))(@rspack/core@1.7.9)(@swc/core@1.15.21)(esbuild@0.27.4)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.9.3))(@rspack/core@1.7.9)(sass@1.98.0)(webpack@5.105.4(@swc/core@1.15.21)(esbuild@0.27.4)): dependencies: '@docusaurus/core': 3.9.2(@docusaurus/faster@3.9.2(@docusaurus/types@3.9.2(@swc/core@1.15.21)(esbuild@0.27.4)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(esbuild@0.27.4))(@mdx-js/react@3.1.1(@types/react@19.2.14)(react@19.2.4))(@rspack/core@1.7.9)(@swc/core@1.15.21)(esbuild@0.27.4)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.9.3) @@ -17943,63 +17642,6 @@ snapshots: dependencies: is-arrayish: 0.2.1 - es-abstract@1.24.1: - dependencies: - array-buffer-byte-length: 1.0.2 - arraybuffer.prototype.slice: 1.0.4 - available-typed-arrays: 1.0.7 - call-bind: 1.0.8 - call-bound: 1.0.4 - data-view-buffer: 1.0.2 - data-view-byte-length: 1.0.2 - data-view-byte-offset: 1.0.1 - es-define-property: 1.0.1 - es-errors: 1.3.0 - es-object-atoms: 1.1.1 - es-set-tostringtag: 2.1.0 - es-to-primitive: 1.3.0 - function.prototype.name: 1.1.8 - get-intrinsic: 1.3.0 - get-proto: 1.0.1 - get-symbol-description: 1.1.0 - globalthis: 1.0.4 - gopd: 1.2.0 - has-property-descriptors: 1.0.2 - has-proto: 1.2.0 - has-symbols: 1.1.0 - hasown: 2.0.2 - internal-slot: 1.1.0 - is-array-buffer: 3.0.5 - is-callable: 1.2.7 - is-data-view: 1.0.2 - is-negative-zero: 2.0.3 - is-regex: 1.2.1 - is-set: 2.0.3 - is-shared-array-buffer: 1.0.4 - is-string: 1.1.1 - is-typed-array: 1.1.15 - is-weakref: 1.1.1 - math-intrinsics: 1.1.0 - object-inspect: 1.13.4 - object-keys: 1.1.1 - object.assign: 4.1.7 - own-keys: 1.0.1 - regexp.prototype.flags: 1.5.4 - safe-array-concat: 1.1.3 - safe-push-apply: 1.0.0 - safe-regex-test: 1.1.0 - set-proto: 1.0.0 - stop-iteration-iterator: 1.1.0 - string.prototype.trim: 1.2.10 - string.prototype.trimend: 1.0.9 - string.prototype.trimstart: 1.0.8 - typed-array-buffer: 1.0.3 - typed-array-byte-length: 1.0.3 - typed-array-byte-offset: 1.0.4 - typed-array-length: 1.0.7 - unbox-primitive: 1.1.0 - which-typed-array: 1.1.20 - es-define-property@1.0.1: {} es-errors@1.3.0: {} @@ -18010,23 +17652,6 @@ snapshots: dependencies: es-errors: 1.3.0 - es-set-tostringtag@2.1.0: - dependencies: - es-errors: 1.3.0 - get-intrinsic: 1.3.0 - has-tostringtag: 1.0.2 - hasown: 2.0.2 - - es-shim-unscopables@1.1.0: - dependencies: - hasown: 2.0.2 - - es-to-primitive@1.3.0: - dependencies: - is-callable: 1.2.7 - is-date-object: 1.1.0 - is-symbol: 1.1.1 - esast-util-from-estree@2.0.0: dependencies: '@types/estree-jsx': 1.0.5 @@ -18105,120 +17730,20 @@ snapshots: escape-html@1.0.3: {} - escape-string-regexp@1.0.5: {} - - escape-string-regexp@2.0.0: {} - - escape-string-regexp@4.0.0: {} - - escape-string-regexp@5.0.0: {} - - eslint-config-prettier@10.1.8(eslint@10.1.0(jiti@2.6.1)): - dependencies: - eslint: 10.1.0(jiti@2.6.1) - - eslint-import-context@0.1.9(unrs-resolver@1.11.1): - dependencies: - get-tsconfig: 4.13.7 - stable-hash-x: 0.2.0 - optionalDependencies: - unrs-resolver: 1.11.1 - - eslint-import-resolver-node@0.3.9: - dependencies: - debug: 3.2.7 - is-core-module: 2.16.1 - resolve: 1.22.11 - transitivePeerDependencies: - - supports-color - - eslint-import-resolver-typescript@4.4.4(eslint-plugin-import@2.32.0)(eslint@10.1.0(jiti@2.6.1)): - dependencies: - debug: 4.4.3(supports-color@8.1.1) - eslint: 10.1.0(jiti@2.6.1) - eslint-import-context: 0.1.9(unrs-resolver@1.11.1) - get-tsconfig: 4.13.7 - is-bun-module: 2.0.0 - stable-hash-x: 0.2.0 - tinyglobby: 0.2.15 - unrs-resolver: 1.11.1 - optionalDependencies: - eslint-plugin-import: 2.32.0(@typescript-eslint/parser@8.57.1(eslint@10.1.0(jiti@2.6.1))(typescript@5.9.3))(eslint-import-resolver-typescript@4.4.4)(eslint@10.1.0(jiti@2.6.1)) - transitivePeerDependencies: - - supports-color - - eslint-module-utils@2.12.1(@typescript-eslint/parser@8.57.1(eslint@10.1.0(jiti@2.6.1))(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@4.4.4)(eslint@10.1.0(jiti@2.6.1)): - dependencies: - debug: 3.2.7 - optionalDependencies: - '@typescript-eslint/parser': 8.57.1(eslint@10.1.0(jiti@2.6.1))(typescript@5.9.3) - eslint: 10.1.0(jiti@2.6.1) - eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 4.4.4(eslint-plugin-import@2.32.0)(eslint@10.1.0(jiti@2.6.1)) - transitivePeerDependencies: - - supports-color - - eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.57.1(eslint@10.1.0(jiti@2.6.1))(typescript@5.9.3))(eslint-import-resolver-typescript@4.4.4)(eslint@10.1.0(jiti@2.6.1)): - dependencies: - '@rtsao/scc': 1.1.0 - array-includes: 3.1.9 - array.prototype.findlastindex: 1.2.6 - array.prototype.flat: 1.3.3 - array.prototype.flatmap: 1.3.3 - debug: 3.2.7 - doctrine: 2.1.0 - eslint: 10.1.0(jiti@2.6.1) - eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.12.1(@typescript-eslint/parser@8.57.1(eslint@10.1.0(jiti@2.6.1))(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@4.4.4)(eslint@10.1.0(jiti@2.6.1)) - hasown: 2.0.2 - is-core-module: 2.16.1 - is-glob: 4.0.3 - minimatch: 3.1.5 - object.fromentries: 2.0.8 - object.groupby: 1.0.3 - object.values: 1.2.1 - semver: 6.3.1 - string.prototype.trimend: 1.0.9 - tsconfig-paths: 3.15.0 - optionalDependencies: - '@typescript-eslint/parser': 8.57.1(eslint@10.1.0(jiti@2.6.1))(typescript@5.9.3) - transitivePeerDependencies: - - eslint-import-resolver-typescript - - eslint-import-resolver-webpack - - supports-color - + escape-string-regexp@1.0.5: {} + + escape-string-regexp@2.0.0: {} + + escape-string-regexp@4.0.0: {} + + escape-string-regexp@5.0.0: {} + eslint-plugin-mocha@11.2.0(eslint@10.1.0(jiti@2.6.1)): dependencies: '@eslint-community/eslint-utils': 4.9.1(eslint@10.1.0(jiti@2.6.1)) eslint: 10.1.0(jiti@2.6.1) globals: 15.15.0 - eslint-plugin-unicorn@63.0.0(eslint@10.1.0(jiti@2.6.1)): - dependencies: - '@babel/helper-validator-identifier': 7.28.5 - '@eslint-community/eslint-utils': 4.9.1(eslint@10.1.0(jiti@2.6.1)) - change-case: 5.4.4 - ci-info: 4.4.0 - clean-regexp: 1.0.0 - core-js-compat: 3.49.0 - eslint: 10.1.0(jiti@2.6.1) - find-up-simple: 1.0.1 - globals: 16.5.0 - indent-string: 5.0.0 - is-builtin-module: 5.0.0 - jsesc: 3.1.0 - pluralize: 8.0.0 - regexp-tree: 0.1.27 - regjsparser: 0.13.0 - semver: 7.7.4 - strip-indent: 4.1.1 - - eslint-plugin-unused-imports@4.4.1(@typescript-eslint/eslint-plugin@8.57.1(@typescript-eslint/parser@8.57.1(eslint@10.1.0(jiti@2.6.1))(typescript@5.9.3))(eslint@10.1.0(jiti@2.6.1))(typescript@5.9.3))(eslint@10.1.0(jiti@2.6.1)): - dependencies: - eslint: 10.1.0(jiti@2.6.1) - optionalDependencies: - '@typescript-eslint/eslint-plugin': 8.57.1(@typescript-eslint/parser@8.57.1(eslint@10.1.0(jiti@2.6.1))(typescript@5.9.3))(eslint@10.1.0(jiti@2.6.1))(typescript@5.9.3) - eslint-scope@5.1.1: dependencies: esrecurse: 4.3.0 @@ -18514,8 +18039,6 @@ snapshots: common-path-prefix: 3.0.0 pkg-dir: 7.0.0 - find-up-simple@1.0.1: {} - find-up@4.1.0: dependencies: locate-path: 5.0.0 @@ -18561,10 +18084,6 @@ snapshots: follow-redirects@1.15.11: {} - for-each@0.3.5: - dependencies: - is-callable: 1.2.7 - foreground-child@3.3.1: dependencies: cross-spawn: 7.0.6 @@ -18603,19 +18122,6 @@ snapshots: function-bind@1.1.2: {} - function.prototype.name@1.1.8: - dependencies: - call-bind: 1.0.8 - call-bound: 1.0.4 - define-properties: 1.2.1 - functions-have-names: 1.2.3 - hasown: 2.0.2 - is-callable: 1.2.7 - - functions-have-names@1.2.3: {} - - generator-function@2.0.1: {} - gensync@1.0.0-beta.2: {} get-caller-file@2.0.5: {} @@ -18655,12 +18161,6 @@ snapshots: get-stream@6.0.1: {} - get-symbol-description@1.1.0: - dependencies: - call-bound: 1.0.4 - es-errors: 1.3.0 - get-intrinsic: 1.3.0 - get-tsconfig@4.13.7: dependencies: resolve-pkg-maps: 1.0.0 @@ -18723,13 +18223,6 @@ snapshots: globals@15.15.0: {} - globals@16.5.0: {} - - globalthis@1.0.4: - dependencies: - define-properties: 1.2.1 - gopd: 1.2.0 - globby@11.1.0: dependencies: array-union: 2.1.0 @@ -18807,8 +18300,6 @@ snapshots: hard-rejection@2.1.0: {} - has-bigints@1.1.0: {} - has-flag@4.0.0: {} has-flag@5.0.1: {} @@ -18817,16 +18308,8 @@ snapshots: dependencies: es-define-property: 1.0.1 - has-proto@1.2.0: - dependencies: - dunder-proto: 1.0.1 - has-symbols@1.1.0: {} - has-tostringtag@1.0.2: - dependencies: - has-symbols: 1.1.0 - has-yarn@3.0.0: {} hasharray@1.1.2: @@ -19196,12 +18679,6 @@ snapshots: inline-style-parser@0.2.7: {} - internal-slot@1.1.0: - dependencies: - es-errors: 1.3.0 - hasown: 2.0.2 - side-channel: 1.1.0 - invariant@2.2.4: dependencies: loose-envify: 1.4.0 @@ -19219,47 +18696,14 @@ snapshots: is-alphabetical: 2.0.1 is-decimal: 2.0.1 - is-array-buffer@3.0.5: - dependencies: - call-bind: 1.0.8 - call-bound: 1.0.4 - get-intrinsic: 1.3.0 - is-arrayish@0.2.1: {} - is-async-function@2.1.1: - dependencies: - async-function: 1.0.0 - call-bound: 1.0.4 - get-proto: 1.0.1 - has-tostringtag: 1.0.2 - safe-regex-test: 1.1.0 - - is-bigint@1.1.0: - dependencies: - has-bigints: 1.1.0 - is-binary-path@2.1.0: dependencies: binary-extensions: 2.3.0 - is-boolean-object@1.2.2: - dependencies: - call-bound: 1.0.4 - has-tostringtag: 1.0.2 - is-buffer@1.1.6: {} - is-builtin-module@5.0.0: - dependencies: - builtin-modules: 5.0.0 - - is-bun-module@2.0.0: - dependencies: - semver: 7.7.4 - - is-callable@1.2.7: {} - is-ci@3.0.1: dependencies: ci-info: 3.9.0 @@ -19268,17 +18712,6 @@ snapshots: dependencies: hasown: 2.0.2 - is-data-view@1.0.2: - dependencies: - call-bound: 1.0.4 - get-intrinsic: 1.3.0 - is-typed-array: 1.1.15 - - is-date-object@1.1.0: - dependencies: - call-bound: 1.0.4 - has-tostringtag: 1.0.2 - is-decimal@2.0.1: {} is-docker@2.2.1: {} @@ -19289,22 +18722,10 @@ snapshots: is-extglob@2.1.1: {} - is-finalizationregistry@1.1.1: - dependencies: - call-bound: 1.0.4 - is-fullwidth-code-point@3.0.0: {} is-generator-fn@2.1.0: {} - is-generator-function@1.1.2: - dependencies: - call-bound: 1.0.4 - generator-function: 2.0.1 - get-proto: 1.0.1 - has-tostringtag: 1.0.2 - safe-regex-test: 1.1.0 - is-glob@4.0.3: dependencies: is-extglob: 2.1.1 @@ -19324,19 +18745,10 @@ snapshots: is-interactive@2.0.0: {} - is-map@2.0.3: {} - - is-negative-zero@2.0.3: {} - is-network-error@1.3.1: {} is-npm@6.1.0: {} - is-number-object@1.1.1: - dependencies: - call-bound: 1.0.4 - has-tostringtag: 1.0.2 - is-number@7.0.0: {} is-obj@1.0.1: {} @@ -19365,42 +18777,14 @@ snapshots: is-potential-custom-element-name@1.0.1: {} - is-regex@1.2.1: - dependencies: - call-bound: 1.0.4 - gopd: 1.2.0 - has-tostringtag: 1.0.2 - hasown: 2.0.2 - is-regexp@1.0.0: {} - is-set@2.0.3: {} - - is-shared-array-buffer@1.0.4: - dependencies: - call-bound: 1.0.4 - is-stream@2.0.1: {} - is-string@1.1.1: - dependencies: - call-bound: 1.0.4 - has-tostringtag: 1.0.2 - is-subdir@1.2.0: dependencies: better-path-resolve: 1.0.0 - is-symbol@1.1.1: - dependencies: - call-bound: 1.0.4 - has-symbols: 1.1.0 - safe-regex-test: 1.1.0 - - is-typed-array@1.1.15: - dependencies: - which-typed-array: 1.1.20 - is-typedarray@1.0.0: {} is-unicode-supported@0.1.0: {} @@ -19409,17 +18793,6 @@ snapshots: is-unicode-supported@2.1.0: {} - is-weakmap@2.0.2: {} - - is-weakref@1.1.1: - dependencies: - call-bound: 1.0.4 - - is-weakset@2.0.4: - dependencies: - call-bound: 1.0.4 - get-intrinsic: 1.3.0 - is-windows@1.0.2: {} is-wsl@2.2.0: @@ -19436,8 +18809,6 @@ snapshots: isarray@1.0.0: {} - isarray@2.0.5: {} - isexe@2.0.0: {} isexe@3.1.5: {} @@ -19893,10 +19264,6 @@ snapshots: json-stable-stringify-without-jsonify@1.0.1: {} - json5@1.0.2: - dependencies: - minimist: 1.2.8 - json5@2.2.3: {} jsonfile@6.2.0: @@ -21031,26 +20398,6 @@ snapshots: has-symbols: 1.1.0 object-keys: 1.1.1 - object.fromentries@2.0.8: - dependencies: - call-bind: 1.0.8 - define-properties: 1.2.1 - es-abstract: 1.24.1 - es-object-atoms: 1.1.1 - - object.groupby@1.0.3: - dependencies: - call-bind: 1.0.8 - define-properties: 1.2.1 - es-abstract: 1.24.1 - - object.values@1.2.1: - dependencies: - call-bind: 1.0.8 - call-bound: 1.0.4 - define-properties: 1.2.1 - es-object-atoms: 1.1.1 - obuf@1.1.2: {} on-finished@2.4.1: @@ -21119,11 +20466,61 @@ snapshots: string-width: 7.2.0 strip-ansi: 7.2.0 - own-keys@1.0.1: + oxfmt@0.41.0: dependencies: - get-intrinsic: 1.3.0 - object-keys: 1.1.1 - safe-push-apply: 1.0.0 + tinypool: 2.1.0 + optionalDependencies: + '@oxfmt/binding-android-arm-eabi': 0.41.0 + '@oxfmt/binding-android-arm64': 0.41.0 + '@oxfmt/binding-darwin-arm64': 0.41.0 + '@oxfmt/binding-darwin-x64': 0.41.0 + '@oxfmt/binding-freebsd-x64': 0.41.0 + '@oxfmt/binding-linux-arm-gnueabihf': 0.41.0 + '@oxfmt/binding-linux-arm-musleabihf': 0.41.0 + '@oxfmt/binding-linux-arm64-gnu': 0.41.0 + '@oxfmt/binding-linux-arm64-musl': 0.41.0 + '@oxfmt/binding-linux-ppc64-gnu': 0.41.0 + '@oxfmt/binding-linux-riscv64-gnu': 0.41.0 + '@oxfmt/binding-linux-riscv64-musl': 0.41.0 + '@oxfmt/binding-linux-s390x-gnu': 0.41.0 + '@oxfmt/binding-linux-x64-gnu': 0.41.0 + '@oxfmt/binding-linux-x64-musl': 0.41.0 + '@oxfmt/binding-openharmony-arm64': 0.41.0 + '@oxfmt/binding-win32-arm64-msvc': 0.41.0 + '@oxfmt/binding-win32-ia32-msvc': 0.41.0 + '@oxfmt/binding-win32-x64-msvc': 0.41.0 + + oxlint-tsgolint@0.17.2: + optionalDependencies: + '@oxlint-tsgolint/darwin-arm64': 0.17.2 + '@oxlint-tsgolint/darwin-x64': 0.17.2 + '@oxlint-tsgolint/linux-arm64': 0.17.2 + '@oxlint-tsgolint/linux-x64': 0.17.2 + '@oxlint-tsgolint/win32-arm64': 0.17.2 + '@oxlint-tsgolint/win32-x64': 0.17.2 + + oxlint@1.56.0(oxlint-tsgolint@0.17.2): + optionalDependencies: + '@oxlint/binding-android-arm-eabi': 1.56.0 + '@oxlint/binding-android-arm64': 1.56.0 + '@oxlint/binding-darwin-arm64': 1.56.0 + '@oxlint/binding-darwin-x64': 1.56.0 + '@oxlint/binding-freebsd-x64': 1.56.0 + '@oxlint/binding-linux-arm-gnueabihf': 1.56.0 + '@oxlint/binding-linux-arm-musleabihf': 1.56.0 + '@oxlint/binding-linux-arm64-gnu': 1.56.0 + '@oxlint/binding-linux-arm64-musl': 1.56.0 + '@oxlint/binding-linux-ppc64-gnu': 1.56.0 + '@oxlint/binding-linux-riscv64-gnu': 1.56.0 + '@oxlint/binding-linux-riscv64-musl': 1.56.0 + '@oxlint/binding-linux-s390x-gnu': 1.56.0 + '@oxlint/binding-linux-x64-gnu': 1.56.0 + '@oxlint/binding-linux-x64-musl': 1.56.0 + '@oxlint/binding-openharmony-arm64': 1.56.0 + '@oxlint/binding-win32-arm64-msvc': 1.56.0 + '@oxlint/binding-win32-ia32-msvc': 1.56.0 + '@oxlint/binding-win32-x64-msvc': 1.56.0 + oxlint-tsgolint: 0.17.2 p-cancelable@3.0.0: {} @@ -21340,10 +20737,6 @@ snapshots: transitivePeerDependencies: - react - pluralize@8.0.0: {} - - possible-typed-array-names@1.1.0: {} - postcss-attribute-case-insensitive@7.0.1(postcss@8.5.8): dependencies: postcss: 8.5.8 @@ -21817,8 +21210,6 @@ snapshots: prelude-ls@1.2.1: {} - prettier@3.8.1: {} - pretty-bytes@5.6.0: {} pretty-error@4.0.0: @@ -22119,17 +21510,6 @@ snapshots: reflect-metadata@0.2.2: {} - reflect.getprototypeof@1.0.10: - dependencies: - call-bind: 1.0.8 - define-properties: 1.2.1 - es-abstract: 1.24.1 - es-errors: 1.3.0 - es-object-atoms: 1.1.1 - get-intrinsic: 1.3.0 - get-proto: 1.0.1 - which-builtin-type: 1.2.1 - regenerate-unicode-properties@10.2.2: dependencies: regenerate: 1.4.2 @@ -22146,17 +21526,6 @@ snapshots: dependencies: regex-utilities: 2.3.0 - regexp-tree@0.1.27: {} - - regexp.prototype.flags@1.5.4: - dependencies: - call-bind: 1.0.8 - define-properties: 1.2.1 - es-errors: 1.3.0 - get-proto: 1.0.1 - gopd: 1.2.0 - set-function-name: 2.0.2 - regexparam@3.0.0: {} regexpu-core@6.4.0: @@ -22412,14 +21781,6 @@ snapshots: dependencies: tslib: 2.8.1 - safe-array-concat@1.1.3: - dependencies: - call-bind: 1.0.8 - call-bound: 1.0.4 - get-intrinsic: 1.3.0 - has-symbols: 1.1.0 - isarray: 2.0.5 - safe-buffer@5.1.2: {} safe-buffer@5.2.1: {} @@ -22436,17 +21797,6 @@ snapshots: execa: 5.1.1 path-name: 1.0.0 - safe-push-apply@1.0.0: - dependencies: - es-errors: 1.3.0 - isarray: 2.0.5 - - safe-regex-test@1.1.0: - dependencies: - call-bound: 1.0.4 - es-errors: 1.3.0 - is-regex: 1.2.1 - safe-stable-stringify@2.5.0: {} safer-buffer@2.1.2: {} @@ -22582,19 +21932,6 @@ snapshots: gopd: 1.2.0 has-property-descriptors: 1.0.2 - set-function-name@2.0.2: - dependencies: - define-data-property: 1.1.4 - es-errors: 1.3.0 - functions-have-names: 1.2.3 - has-property-descriptors: 1.0.2 - - set-proto@1.0.0: - dependencies: - dunder-proto: 1.0.1 - es-errors: 1.3.0 - es-object-atoms: 1.1.1 - setimmediate@1.0.5: {} setprototypeof@1.2.0: {} @@ -22814,8 +22151,6 @@ snapshots: dependencies: minipass: 7.1.3 - stable-hash-x@0.2.0: {} - stack-trace@0.0.10: {} stack-utils@2.0.6: @@ -22835,11 +22170,6 @@ snapshots: stdin-discarder@0.2.2: {} - stop-iteration-iterator@1.1.0: - dependencies: - es-errors: 1.3.0 - internal-slot: 1.1.0 - string-length@4.0.2: dependencies: char-regex: 1.0.2 @@ -22868,29 +22198,6 @@ snapshots: get-east-asian-width: 1.5.0 strip-ansi: 7.2.0 - string.prototype.trim@1.2.10: - dependencies: - call-bind: 1.0.8 - call-bound: 1.0.4 - define-data-property: 1.1.4 - define-properties: 1.2.1 - es-abstract: 1.24.1 - es-object-atoms: 1.1.1 - has-property-descriptors: 1.0.2 - - string.prototype.trimend@1.0.9: - dependencies: - call-bind: 1.0.8 - call-bound: 1.0.4 - define-properties: 1.2.1 - es-object-atoms: 1.1.1 - - string.prototype.trimstart@1.0.8: - dependencies: - call-bind: 1.0.8 - define-properties: 1.2.1 - es-object-atoms: 1.1.1 - string_decoder@1.1.1: dependencies: safe-buffer: 5.1.2 @@ -23215,6 +22522,8 @@ snapshots: tinypool@1.1.1: {} + tinypool@2.1.0: {} + tldts-core@6.1.86: {} tldts@6.1.86: @@ -23266,10 +22575,6 @@ snapshots: dependencies: utf8-byte-length: 1.0.5 - ts-api-utils@2.5.0(typescript@5.9.3): - dependencies: - typescript: 5.9.3 - ts-interface-checker@0.1.13: {} ts-jest@29.4.6(@babel/core@7.29.0)(@jest/transform@30.3.0)(@jest/types@30.3.0)(babel-jest@30.3.0(@babel/core@7.29.0))(esbuild@0.27.4)(jest-util@30.3.0)(jest@30.3.0(@types/node@24.12.0)(ts-node@10.9.2(@swc/core@1.15.21)(@types/node@24.12.0)(typescript@5.9.3)))(typescript@5.9.3): @@ -23314,13 +22619,6 @@ snapshots: '@swc/core': 1.15.21 optional: true - tsconfig-paths@3.15.0: - dependencies: - '@types/json5': 0.0.29 - json5: 1.0.2 - minimist: 1.2.8 - strip-bom: 3.0.0 - tslib@1.14.1: {} tslib@2.8.1: {} @@ -23402,54 +22700,10 @@ snapshots: media-typer: 0.3.0 mime-types: 2.1.35 - typed-array-buffer@1.0.3: - dependencies: - call-bound: 1.0.4 - es-errors: 1.3.0 - is-typed-array: 1.1.15 - - typed-array-byte-length@1.0.3: - dependencies: - call-bind: 1.0.8 - for-each: 0.3.5 - gopd: 1.2.0 - has-proto: 1.2.0 - is-typed-array: 1.1.15 - - typed-array-byte-offset@1.0.4: - dependencies: - available-typed-arrays: 1.0.7 - call-bind: 1.0.8 - for-each: 0.3.5 - gopd: 1.2.0 - has-proto: 1.2.0 - is-typed-array: 1.1.15 - reflect.getprototypeof: 1.0.10 - - typed-array-length@1.0.7: - dependencies: - call-bind: 1.0.8 - for-each: 0.3.5 - gopd: 1.2.0 - is-typed-array: 1.1.15 - possible-typed-array-names: 1.1.0 - reflect.getprototypeof: 1.0.10 - typedarray-to-buffer@3.1.5: dependencies: is-typedarray: 1.0.0 - typescript-eslint@8.57.1(eslint@10.1.0(jiti@2.6.1))(typescript@5.9.3): - dependencies: - '@typescript-eslint/eslint-plugin': 8.57.1(@typescript-eslint/parser@8.57.1(eslint@10.1.0(jiti@2.6.1))(typescript@5.9.3))(eslint@10.1.0(jiti@2.6.1))(typescript@5.9.3) - '@typescript-eslint/parser': 8.57.1(eslint@10.1.0(jiti@2.6.1))(typescript@5.9.3) - '@typescript-eslint/typescript-estree': 8.57.1(typescript@5.9.3) - '@typescript-eslint/utils': 8.57.1(eslint@10.1.0(jiti@2.6.1))(typescript@5.9.3) - eslint: 10.1.0(jiti@2.6.1) - typescript: 5.9.3 - transitivePeerDependencies: - - supports-color - typescript@5.9.3: {} ua-parser-js@1.0.41: {} @@ -23463,13 +22717,6 @@ snapshots: umask@1.1.0: {} - unbox-primitive@1.1.0: - dependencies: - call-bound: 1.0.4 - has-bigints: 1.1.0 - has-symbols: 1.1.0 - which-boxed-primitive: 1.1.1 - undici-types@7.16.0: {} undici-types@7.18.2: @@ -23980,52 +23227,11 @@ snapshots: tr46: 5.1.1 webidl-conversions: 7.0.0 - which-boxed-primitive@1.1.1: - dependencies: - is-bigint: 1.1.0 - is-boolean-object: 1.2.2 - is-number-object: 1.1.1 - is-string: 1.1.1 - is-symbol: 1.1.1 - - which-builtin-type@1.2.1: - dependencies: - call-bound: 1.0.4 - function.prototype.name: 1.1.8 - has-tostringtag: 1.0.2 - is-async-function: 2.1.1 - is-date-object: 1.1.0 - is-finalizationregistry: 1.1.1 - is-generator-function: 1.1.2 - is-regex: 1.2.1 - is-weakref: 1.1.1 - isarray: 2.0.5 - which-boxed-primitive: 1.1.1 - which-collection: 1.0.2 - which-typed-array: 1.1.20 - - which-collection@1.0.2: - dependencies: - is-map: 2.0.3 - is-set: 2.0.3 - is-weakmap: 2.0.2 - is-weakset: 2.0.4 - which-pm@2.2.0: dependencies: load-yaml-file: 0.2.0 path-exists: 4.0.0 - which-typed-array@1.1.20: - dependencies: - available-typed-arrays: 1.0.7 - call-bind: 1.0.8 - call-bound: 1.0.4 - for-each: 0.3.5 - get-proto: 1.0.1 - gopd: 1.2.0 - has-tostringtag: 1.0.2 - which@1.3.1: dependencies: isexe: 2.0.0 diff --git a/prettier.config.cjs b/prettier.config.cjs deleted file mode 100644 index 4d39ce5abb..0000000000 --- a/prettier.config.cjs +++ /dev/null @@ -1,6 +0,0 @@ -/* global module */ - -/** @type {import("prettier").Config} */ -module.exports = { - trailingComma: "all", -}; diff --git a/pyproject.toml b/pyproject.toml index 19518f7ea5..57d1332569 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -19,9 +19,9 @@ reportSelfClsParameterName = false reportMissingModuleSource = false reportMissingImports = false exclude = [ - "**/node_modules", - "**/__pycache__", - "**/.*", - "cursorless-talon/src/vendor", - "resources/playground" + "**/node_modules", + "**/__pycache__", + "**/.*", + "cursorless-talon/src/vendor", + "resources/playground", ] diff --git a/tsconfig.base.json b/tsconfig.base.json index d1a4dfbfa4..bc4dd7c2d9 100644 --- a/tsconfig.base.json +++ b/tsconfig.base.json @@ -1,7 +1,7 @@ { "compilerOptions": { - "module": "ESNext", - "moduleResolution": "Bundler", + "module": "esnext", + "moduleResolution": "bundler", "moduleDetection": "force", "target": "es2022", "lib": ["es2022"], diff --git a/tsconfig.web.json b/tsconfig.web.json index 64e644abe0..9f77379691 100644 --- a/tsconfig.web.json +++ b/tsconfig.web.json @@ -1,7 +1,7 @@ { "extends": "./tsconfig.base.json", "compilerOptions": { - "lib": ["dom", "es2022"], + "lib": ["es2022", "dom"], "jsx": "react-jsx", "jsxImportSource": "preact" }