From 00d041e3f6b72e77ed52403bbe7c22ef74288350 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=81=82=E3=82=8F=E3=82=8F=E3=82=8F=E3=81=A8=E3=83=BC?= =?UTF-8?q?=E3=81=AB=E3=82=85?= <17376330+u1-liquid@users.noreply.github.com> Date: Sun, 24 Nov 2024 22:05:18 +0900 Subject: [PATCH] use biome --- .devcontainer/devcontainer.json | 41 +- .editorconfig | 2 +- .github/workflows/lint.yml | 4 +- .vscode/extensions.json | 8 +- biome.json | 154 ++ lefthook.yml | 15 + locales/index.js | 17 +- package.json | 162 +- packages/backend/.eslintignore | 4 - packages/backend/.eslintrc.cjs | 32 - packages/backend/package.json | 494 +++--- packages/backend/src/core/FileInfoService.ts | 4 +- .../src/core/activitypub/ApRequestService.ts | 1 + packages/backend/src/decorators.ts | 3 +- packages/backend/src/misc/acct.ts | 1 + packages/backend/src/misc/safe-for-sql.ts | 1 + .../ExportCustomEmojisProcessorService.ts | 1 + .../src/server/api/endpoints/notes/create.ts | 1 + .../src/server/oauth/OAuth2ProviderService.ts | 2 +- packages/backend/src/server/web/bios.css | 2 +- packages/backend/src/server/web/boot.js | 2 +- packages/backend/src/server/web/cli.css | 2 +- packages/backend/src/server/web/flush.js | 2 +- packages/backend/test-server/.eslintrc.cjs | 32 - packages/backend/test-server/tsconfig.json | 2 +- packages/backend/test/.eslintrc.cjs | 11 - packages/backend/test/e2e/thread-mute.ts | 4 +- packages/backend/test/tsconfig.json | 2 +- packages/backend/test/unit/ap-request.ts | 2 +- packages/backend/test/utils.ts | 2 + packages/backend/tsconfig.json | 2 +- packages/frontend/.eslintrc.cjs | 82 - packages/frontend/.vscode/settings.json | 13 +- .../frontend/.vscode/storybook.code-snippets | 2 - packages/frontend/package.json | 276 ++-- .../src/components/MkCropperDialog.vue | 1 + packages/frontend/src/components/MkNote.vue | 2 +- .../src/components/MkNoteDetailed.vue | 2 +- .../components/MkNotificationSelectWindow.vue | 5 +- .../frontend/src/components/MkPollEditor.vue | 11 +- .../src/components/global/MkPageHeader.vue | 4 +- packages/frontend/src/nirax.ts | 8 +- .../frontend/src/pages/admin/_header_.vue | 4 +- packages/frontend/src/store.ts | 1 + .../src/unicode-emoji-indexes/en-US.json | 2 - packages/frontend/src/widgets/widget.ts | 4 +- .../frontend/src/workers/draw-blurhash.ts | 1 + packages/frontend/test/tsconfig.json | 2 +- packages/frontend/tsconfig.json | 85 +- packages/misskey-bubble-game/.eslintignore | 7 - packages/misskey-bubble-game/.eslintrc.cjs | 9 - packages/misskey-bubble-game/package.json | 85 +- packages/misskey-bubble-game/src/game.ts | 4 +- packages/misskey-bubble-game/tsconfig.json | 2 +- packages/misskey-js/.eslintignore | 7 - packages/misskey-js/.eslintrc.cjs | 9 - packages/misskey-js/generator/.eslintrc.cjs | 9 - packages/misskey-js/generator/package.json | 40 +- packages/misskey-js/package.json | 121 +- packages/misskey-js/src/acct.ts | 1 + packages/misskey-js/tsconfig.json | 2 +- packages/misskey-reversi/.eslintignore | 7 - packages/misskey-reversi/.eslintrc.cjs | 10 - packages/misskey-reversi/package.json | 77 +- packages/misskey-reversi/tsconfig.json | 2 +- packages/shared/.eslintrc.js | 7 - packages/sw/.eslintrc.cjs | 20 - packages/sw/package.json | 45 +- .../sw/src/scripts/create-notification.ts | 1 + packages/sw/tsconfig.json | 2 +- pnpm-lock.yaml | 1375 +++-------------- 71 files changed, 1142 insertions(+), 2217 deletions(-) create mode 100644 biome.json create mode 100644 lefthook.yml delete mode 100644 packages/backend/.eslintignore delete mode 100644 packages/backend/.eslintrc.cjs delete mode 100644 packages/backend/test-server/.eslintrc.cjs delete mode 100644 packages/backend/test/.eslintrc.cjs delete mode 100644 packages/frontend/.eslintrc.cjs delete mode 100644 packages/misskey-bubble-game/.eslintignore delete mode 100644 packages/misskey-bubble-game/.eslintrc.cjs delete mode 100644 packages/misskey-js/.eslintignore delete mode 100644 packages/misskey-js/.eslintrc.cjs delete mode 100644 packages/misskey-js/generator/.eslintrc.cjs delete mode 100644 packages/misskey-reversi/.eslintignore delete mode 100644 packages/misskey-reversi/.eslintrc.cjs delete mode 100644 packages/shared/.eslintrc.js delete mode 100644 packages/sw/.eslintrc.cjs diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index c6a85f788a94..fde7d03d416f 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -1,26 +1,19 @@ { - "name": "Misskey", - "dockerComposeFile": "docker-compose.yml", - "service": "app", - "workspaceFolder": "/workspace", - "features": { - "ghcr.io/devcontainers/features/node:1": { - "version": "20" - }, - "ghcr.io/devcontainers-contrib/features/corepack:1": {} - }, - "forwardPorts": [3000], - "postCreateCommand": "sudo chmod 755 .devcontainer/init.sh && .devcontainer/init.sh", - "customizations": { - "vscode": { - "extensions": [ - "editorconfig.editorconfig", - "dbaeumer.vscode-eslint", - "Vue.volar", - "Orta.vscode-jest", - "dbaeumer.vscode-eslint", - "mrmlnc.vscode-json5" - ] - } - } + "name": "Misskey", + "dockerComposeFile": "docker-compose.yml", + "service": "app", + "workspaceFolder": "/workspace", + "features": { + "ghcr.io/devcontainers/features/node:1": { + "version": "20" + }, + "ghcr.io/devcontainers-contrib/features/corepack:1": {} + }, + "forwardPorts": [3000], + "postCreateCommand": "sudo chmod 755 .devcontainer/init.sh && .devcontainer/init.sh", + "customizations": { + "vscode": { + "extensions": ["biomejs.biome", "editorconfig.editorconfig", "Vue.volar", "Orta.vscode-jest", "mrmlnc.vscode-json5"] + } + } } diff --git a/.editorconfig b/.editorconfig index def7baa1a8f1..7b104e1d034f 100644 --- a/.editorconfig +++ b/.editorconfig @@ -11,5 +11,5 @@ trim_trailing_whitespace = true [*.md] trim_trailing_whitespace = false -[*.{yml,yaml}] +[*.{json,yml,yaml}] indent_style = space diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 428ac47b394e..94ce06f9100c 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -11,14 +11,12 @@ on: - packages/frontend/** - packages/sw/** - packages/misskey-js/** - - packages/shared/.eslintrc.js pull_request: paths: - packages/backend/** - packages/frontend/** - packages/sw/** - packages/misskey-js/** - - packages/shared/.eslintrc.js jobs: pnpm_install: @@ -63,7 +61,7 @@ jobs: cache: 'pnpm' - run: corepack enable - run: pnpm i --frozen-lockfile - - run: pnpm --filter ${{ matrix.workspace }} run eslint + - run: pnpm --filter ${{ matrix.workspace }} run biome ci --reporter=github --max-diagnostics=none typecheck: needs: [pnpm_install] diff --git a/.vscode/extensions.json b/.vscode/extensions.json index 3cdf81e339e2..ad79759af94b 100644 --- a/.vscode/extensions.json +++ b/.vscode/extensions.json @@ -1,9 +1,3 @@ { - "recommendations": [ - "editorconfig.editorconfig", - "dbaeumer.vscode-eslint", - "Vue.volar", - "Orta.vscode-jest", - "mrmlnc.vscode-json5" - ] + "recommendations": ["biomejs.biome", "editorconfig.editorconfig", "Vue.volar", "Orta.vscode-jest", "mrmlnc.vscode-json5"] } diff --git a/biome.json b/biome.json new file mode 100644 index 000000000000..68a0dcbcca4a --- /dev/null +++ b/biome.json @@ -0,0 +1,154 @@ +{ + "$schema": "https://biomejs.dev/schemas/1.9.4/schema.json", + "vcs": { "enabled": true, "clientKind": "git", "useIgnoreFile": true }, + "files": { + "ignore": [ + "*.min.js", + "api.json", + "built", + "nsfw-model", + "packages/backend/built", + "packages/backend/nsfw-model", + "packages/frontend/built", + "packages/sw/built", + "packages/misskey-js/built", + "packages/misskey-reversi/built", + "packages/misskey-bubble-game/built", + "locales/index.d.ts", + "packages/misskey-js/generator/api.json" + ] + }, + "organizeImports": { + "enabled": true + }, + "linter": { + "enabled": true, + "ignore": ["packages/misskey-js/src/autogen"], + "rules": { + "recommended": true, + "complexity": { + "noForEach": "info", + "noUselessConstructor": { + "level": "info", + "fix": "none" + }, + "noUselessLabel": { + "level": "info", + "fix": "none" + }, + "noUselessUndefinedInitialization": { + "level": "info", + "fix": "none" + }, + "useArrowFunction": { + "level": "info", + "fix": "none" + }, + "useLiteralKeys": { + "level": "info", + "fix": "none" + }, + "useOptionalChain": { + "level": "info", + "fix": "none" + } + }, + "performance": { + "noDelete": { + "level": "info", + "fix": "none" + } + }, + "style": { + "noCommaOperator": "warn", + "noNegationElse": { + "level": "off", + "fix": "none" + }, + "noNonNullAssertion": { + "level": "info", + "fix": "none" + }, + "noParameterAssign": "info", + "noUselessElse": { + "level": "info", + "fix": "none" + }, + "useImportType": { + "level": "off", + "fix": "none" + }, + "useNodejsImportProtocol": { + "level": "off", + "fix": "none" + }, + "useTemplate": { + "level": "warn", + "fix": "safe" + } + }, + "suspicious": { + "noAssignInExpressions": "info", + "noConfusingVoidType": { + "level": "warn", + "fix": "none" + }, + "noDoubleEquals": { + "level": "warn", + "fix": "none", + "options": { + "ignoreNull": false + } + }, + "noExplicitAny": "warn", + "noImplicitAnyLet": "warn" + } + } + }, + "formatter": { + "enabled": true, + "lineWidth": 140, + "useEditorconfig": true + }, + "javascript": { + "formatter": { + "arrowParentheses": "asNeeded", + "quoteStyle": "single" + }, + "parser": { + "unsafeParameterDecoratorsEnabled": true + } + }, + "overrides": [ + { + "include": ["packages/backend/migration/*.js", "migration/*.js"], + "linter": { + "rules": { + "style": { + "noUnusedTemplateLiteral": { + "level": "off", + "fix": "none" + } + } + } + } + }, + { + "include": ["*.vue"], + "linter": { + "rules": { + "style": { + "useConst": { + "level": "off", + "fix": "none" + }, + "useImportType": { + "level": "off", + "fix": "none" + } + } + } + } + } + ] +} diff --git a/lefthook.yml b/lefthook.yml new file mode 100644 index 000000000000..7e22fb2d231f --- /dev/null +++ b/lefthook.yml @@ -0,0 +1,15 @@ +# Refer for explanation to following link: +# https://github.com/evilmartians/lefthook/blob/master/docs/configuration.md + +pre-push: + commands: + check: + glob: "*.{js,ts,cjs,mjs,d.cts,d.mts,jsx,tsx,json,jsonc,pug,vue}" + run: pnpm dlx @biomejs/biome check --no-errors-on-unmatched --files-ignore-unknown=true --colors=off --diagnostic-level=error {push_files} + +pre-commit: + commands: + check: + glob: "*.{js,ts,cjs,mjs,d.cts,d.mts,jsx,tsx,json,jsonc,pug,vue}" + run: pnpm dlx @biomejs/biome check --write --no-errors-on-unmatched --files-ignore-unknown=true --colors=off --diagnostic-level=error {staged_files} + stage_fixed: true diff --git a/locales/index.js b/locales/index.js index 0770fd82a513..2ca0a705ed70 100644 --- a/locales/index.js +++ b/locales/index.js @@ -5,13 +5,16 @@ import * as fs from 'node:fs'; import * as yaml from 'js-yaml'; -const merge = (...args) => args.reduce((a, c) => ({ - ...a, - ...c, - ...Object.entries(a) - .filter(([k]) => c && typeof c[k] === 'object') - .reduce((a, [k, v]) => (a[k] = merge(v, c[k]), a), {}) -}), {}); +const merge = (...args) => args.reduce((a, c) => { + for (const [k, v] of Object.entries(c)) { + if (typeof v === 'object' && typeof a[k] === 'object') { + a[k] = merge(a[k], v); + } else { + a[k] = v; + } + } + return a; +}, {}); const languages = [ 'ar-SA', diff --git a/package.json b/package.json index c8078008c1dc..148a101476b9 100644 --- a/package.json +++ b/package.json @@ -1,83 +1,83 @@ { - "name": "misskey", - "version": "2024.5.0-io.4d", - "codename": "nasubi", - "repository": { - "type": "git", - "url": "https://github.com/MisskeyIO/misskey.git" - }, - "packageManager": "pnpm@9.12.3", - "workspaces": [ - "packages/frontend", - "packages/backend", - "packages/sw", - "packages/misskey-js", - "packages/misskey-reversi", - "packages/misskey-bubble-game" - ], - "private": true, - "scripts": { - "build-pre": "node ./scripts/build-pre.js", - "build-assets": "node ./scripts/build-assets.mjs", - "build": "pnpm build-pre && pnpm -r build && pnpm build-assets", - "build-storybook": "pnpm --filter frontend build-storybook", - "build-misskey-js-with-types": "pnpm build-pre && pnpm -r build:tsc && pnpm --filter backend... --filter=!misskey-js build && pnpm --filter backend generate-api-json && ncp packages/backend/built/api.json packages/misskey-js/generator/api.json && pnpm --filter misskey-js update-autogen-code && pnpm --filter misskey-js build && pnpm --filter misskey-js api", - "start": "pnpm check:connect && cd packages/backend && node ./built/boot/entry.js", - "start:docker": "pnpm check:connect && cd packages/backend && exec node ./built/boot/entry.js", - "start:test": "cd packages/backend && cross-env NODE_ENV=test node ./built/boot/entry.js", - "init": "pnpm migrate", - "migrate": "cd packages/backend && pnpm migrate", - "revert": "cd packages/backend && pnpm revert", - "check:connect": "cd packages/backend && pnpm check:connect", - "migrateandstart": "pnpm migrate && pnpm start", - "migrateandstart:docker": "pnpm migrate && exec pnpm start:docker", - "watch": "pnpm dev", - "dev": "node scripts/dev.mjs", - "lint": "pnpm -r lint", - "cy:open": "pnpm cypress open --browser --e2e --config-file=cypress.config.ts", - "cy:run": "pnpm cypress run", - "e2e": "pnpm start-server-and-test start:test http://localhost:61812 cy:run", - "jest": "cd packages/backend && pnpm jest", - "jest-and-coverage": "cd packages/backend && pnpm jest-and-coverage", - "test": "pnpm -r test", - "test-and-coverage": "pnpm -r test-and-coverage", - "clean": "node ./scripts/clean.js", - "clean-all": "node ./scripts/clean-all.js", - "cleanall": "pnpm clean-all" - }, - "resolutions": { - "@tensorflow/tfjs-core": "4.22.0", - "axios": "1.7.7", - "chokidar": "4.0.1", - "cookie": "1.0.1", - "cookie-signature": "1.2.2", - "debug": "4.3.7", - "esbuild": "0.24.0", - "jpeg-js": "0.4.4", - "lodash": "4.17.21", - "sharp": "0.33.5", - "tough-cookie": "5.0.0", - "web-streams-polyfill": "4.0.0" - }, - "dependencies": { - "cssnano": "7.0.6", - "execa": "9.5.1", - "js-yaml": "4.1.0", - "postcss": "8.4.49", - "terser": "5.36.0", - "typescript": "5.6.3" - }, - "devDependencies": { - "@types/node": "22.9.1", - "@typescript-eslint/eslint-plugin": "7.10.0", - "@typescript-eslint/parser": "7.10.0", - "cross-env": "7.0.3", - "cypress": "13.16.0", - "eslint": "8.57.1", - "ncp": "2.0.0", - "start-server-and-test": "2.0.8" - }, - "optionalDependencies": { - "@tensorflow/tfjs-core": "4.22.0" - } + "name": "misskey", + "version": "2024.5.0-io.4d", + "codename": "nasubi", + "repository": { + "type": "git", + "url": "https://github.com/MisskeyIO/misskey.git" + }, + "packageManager": "pnpm@9.14.2", + "workspaces": [ + "packages/frontend", + "packages/backend", + "packages/sw", + "packages/misskey-js", + "packages/misskey-reversi", + "packages/misskey-bubble-game" + ], + "private": true, + "scripts": { + "build-pre": "node ./scripts/build-pre.js", + "build-assets": "node ./scripts/build-assets.mjs", + "build": "pnpm build-pre && pnpm -r build && pnpm build-assets", + "build-storybook": "pnpm --filter frontend build-storybook", + "build-misskey-js-with-types": "pnpm build-pre && pnpm -r build:tsc && pnpm --filter backend... --filter=!misskey-js build && pnpm --filter backend generate-api-json && ncp packages/backend/built/api.json packages/misskey-js/generator/api.json && pnpm --filter misskey-js update-autogen-code && pnpm --filter misskey-js build && pnpm --filter misskey-js api", + "start": "pnpm check:connect && cd packages/backend && node ./built/boot/entry.js", + "start:docker": "pnpm check:connect && cd packages/backend && exec node ./built/boot/entry.js", + "start:test": "cd packages/backend && cross-env NODE_ENV=test node ./built/boot/entry.js", + "init": "pnpm migrate", + "migrate": "cd packages/backend && pnpm migrate", + "revert": "cd packages/backend && pnpm revert", + "check:connect": "cd packages/backend && pnpm check:connect", + "migrateandstart": "pnpm migrate && pnpm start", + "migrateandstart:docker": "pnpm migrate && exec pnpm start:docker", + "watch": "pnpm dev", + "dev": "node scripts/dev.mjs", + "format": "biome check --write", + "lint": "pnpm -r lint", + "cy:open": "pnpm cypress open --browser --e2e --config-file=cypress.config.ts", + "cy:run": "pnpm cypress run", + "e2e": "pnpm start-server-and-test start:test http://localhost:61812 cy:run", + "jest": "cd packages/backend && pnpm jest", + "jest-and-coverage": "cd packages/backend && pnpm jest-and-coverage", + "test": "pnpm -r test", + "test-and-coverage": "pnpm -r test-and-coverage", + "clean": "node ./scripts/clean.js", + "clean-all": "node ./scripts/clean-all.js", + "cleanall": "pnpm clean-all" + }, + "resolutions": { + "@tensorflow/tfjs-core": "4.22.0", + "axios": "1.7.7", + "chokidar": "4.0.1", + "cookie": "1.0.1", + "cookie-signature": "1.2.2", + "debug": "4.3.7", + "esbuild": "0.24.0", + "jpeg-js": "0.4.4", + "lodash": "4.17.21", + "sharp": "0.33.5", + "tough-cookie": "5.0.0", + "web-streams-polyfill": "4.0.0" + }, + "dependencies": { + "cssnano": "7.0.6", + "execa": "9.5.1", + "js-yaml": "4.1.0", + "postcss": "8.4.49", + "terser": "5.36.0", + "typescript": "5.6.3" + }, + "devDependencies": { + "@biomejs/biome": "1.9.4", + "@types/node": "22.9.1", + "cross-env": "7.0.3", + "cypress": "13.16.0", + "lefthook": "1.8.4", + "ncp": "2.0.0", + "start-server-and-test": "2.0.8" + }, + "optionalDependencies": { + "@tensorflow/tfjs-core": "4.22.0" + } } diff --git a/packages/backend/.eslintignore b/packages/backend/.eslintignore deleted file mode 100644 index 790eb90145b4..000000000000 --- a/packages/backend/.eslintignore +++ /dev/null @@ -1,4 +0,0 @@ -node_modules -/built -/.eslintrc.js -/@types/**/* diff --git a/packages/backend/.eslintrc.cjs b/packages/backend/.eslintrc.cjs deleted file mode 100644 index f9fe4814e671..000000000000 --- a/packages/backend/.eslintrc.cjs +++ /dev/null @@ -1,32 +0,0 @@ -module.exports = { - parserOptions: { - tsconfigRootDir: __dirname, - project: ['./tsconfig.json', './test/tsconfig.json'], - }, - extends: [ - '../shared/.eslintrc.js', - ], - rules: { - 'import/order': ['warn', { - 'groups': ['builtin', 'external', 'internal', 'parent', 'sibling', 'index', 'object', 'type'], - 'pathGroups': [ - { - 'pattern': '@/**', - 'group': 'external', - 'position': 'after' - } - ], - }], - 'no-restricted-globals': [ - 'error', - { - 'name': '__dirname', - 'message': 'Not in ESModule. Use `import.meta.url` instead.' - }, - { - 'name': '__filename', - 'message': 'Not in ESModule. Use `import.meta.url` instead.' - } - ] - }, -}; diff --git a/packages/backend/package.json b/packages/backend/package.json index ec3174775563..eaedc7e31703 100644 --- a/packages/backend/package.json +++ b/packages/backend/package.json @@ -1,251 +1,247 @@ { - "name": "backend", - "main": "./index.js", - "private": true, - "type": "module", - "engines": { - "node": ">=20.10.0" - }, - "scripts": { - "start": "node ./built/boot/entry.js", - "start:test": "cross-env NODE_ENV=test node ./built/boot/entry.js", - "migrate": "pnpm typeorm migration:run -d ormconfig.js", - "revert": "pnpm typeorm migration:revert -d ormconfig.js", - "check:connect": "node ./scripts/check_connect.js", - "build": "swc src -d built -D --strip-leading-paths", - "build:test": "swc test-server -d built-test -D --config-file test-server/.swcrc --strip-leading-paths", - "watch:swc": "swc src -d built -D -w --strip-leading-paths", - "build:tsc": "tsc -p tsconfig.json && tsc-alias -p tsconfig.json", - "watch": "node ./scripts/watch.mjs", - "restart": "pnpm build && pnpm start", - "dev": "nodemon -w src -e ts,js,mjs,cjs,json --exec \"cross-env NODE_ENV=development pnpm run restart\"", - "typecheck": "tsc --noEmit && tsc -p test --noEmit", - "eslint": "eslint --quiet \"src/**/*.ts\"", - "lint": "pnpm typecheck && pnpm eslint", - "jest": "cross-env NODE_ENV=test node --experimental-vm-modules --experimental-import-meta-resolve node_modules/jest/bin/jest.js --forceExit --config jest.config.unit.cjs", - "jest:e2e": "cross-env NODE_ENV=test node --experimental-vm-modules --experimental-import-meta-resolve node_modules/jest/bin/jest.js --forceExit --config jest.config.e2e.cjs", - "jest-and-coverage": "cross-env NODE_ENV=test node --experimental-vm-modules --experimental-import-meta-resolve node_modules/jest/bin/jest.js --coverage --forceExit --config jest.config.unit.cjs", - "jest-and-coverage:e2e": "cross-env NODE_ENV=test node --experimental-vm-modules --experimental-import-meta-resolve node_modules/jest/bin/jest.js --coverage --forceExit --config jest.config.e2e.cjs", - "jest-clear": "cross-env NODE_ENV=test node --experimental-vm-modules --experimental-import-meta-resolve node_modules/jest/bin/jest.js --clearCache", - "test": "pnpm jest", - "test:e2e": "pnpm build && pnpm build:test && pnpm jest:e2e", - "test-and-coverage": "pnpm jest-and-coverage", - "test-and-coverage:e2e": "pnpm build && pnpm build:test && pnpm jest-and-coverage:e2e", - "generate-api-json": "pnpm build && node ./scripts/generate_api_json.js" - }, - "optionalDependencies": { - "@swc/core-darwin-arm64": "1.9.3", - "@swc/core-darwin-x64": "1.9.3", - "@swc/core-linux-arm-gnueabihf": "1.9.3", - "@swc/core-linux-arm64-gnu": "1.9.3", - "@swc/core-linux-arm64-musl": "1.9.3", - "@swc/core-linux-x64-gnu": "1.9.3", - "@swc/core-linux-x64-musl": "1.9.3", - "@swc/core-win32-arm64-msvc": "1.9.3", - "@swc/core-win32-ia32-msvc": "1.9.3", - "@swc/core-win32-x64-msvc": "1.9.3", - "@tensorflow/tfjs": "4.22.0", - "@tensorflow/tfjs-node": "4.22.0", - "bufferutil": "4.0.8", - "slacc-android-arm-eabi": "0.0.10", - "slacc-android-arm64": "0.0.10", - "slacc-darwin-arm64": "0.0.10", - "slacc-darwin-universal": "0.0.10", - "slacc-darwin-x64": "0.0.10", - "slacc-freebsd-x64": "0.0.10", - "slacc-linux-arm-gnueabihf": "0.0.10", - "slacc-linux-arm64-gnu": "0.0.10", - "slacc-linux-arm64-musl": "0.0.10", - "slacc-linux-x64-gnu": "0.0.10", - "slacc-linux-x64-musl": "0.0.10", - "slacc-win32-arm64-msvc": "0.0.10", - "slacc-win32-x64-msvc": "0.0.10", - "utf-8-validate": "6.0.5" - }, - "dependencies": { - "@authenio/samlify-node-xmllint": "2.0.0", - "@aws-sdk/client-s3": "3.698.0", - "@aws-sdk/lib-storage": "3.698.0", - "@bull-board/api": "6.5.3", - "@bull-board/fastify": "6.5.3", - "@bull-board/ui": "6.5.3", - "@discordapp/twemoji": "15.1.0", - "@elastic/elasticsearch": "8.16.2", - "@fastify/accepts": "5.0.1", - "@fastify/cookie": "11.0.1", - "@fastify/cors": "10.0.1", - "@fastify/express": "4.0.1", - "@fastify/formbody": "8.0.1", - "@fastify/http-proxy": "10.0.1", - "@fastify/multipart": "9.0.1", - "@fastify/static": "8.0.3", - "@fastify/view": "10.0.1", - "@misskey-dev/sharp-read-bmp": "1.2.0", - "@misskey-dev/summaly": "MisskeyIO/summaly#5.1.1", - "@napi-rs/canvas": "0.1.62", - "@nestjs/common": "10.4.8", - "@nestjs/core": "10.4.8", - "@nestjs/testing": "10.4.8", - "@peertube/http-signature": "1.7.0", - "@simplewebauthn/server": "11.0.0", - "@sinonjs/fake-timers": "11.3.1", - "@smithy/node-http-handler": "3.3.1", - "@swc/cli": "0.5.1", - "@swc/core": "1.9.3", - "@twemoji/parser": "15.1.1", - "accepts": "1.3.8", - "ajv": "8.17.1", - "archiver": "7.0.1", - "async-mutex": "0.5.0", - "bcryptjs": "2.4.3", - "blurhash": "2.0.5", - "body-parser": "1.20.3", - "bullmq": "5.29.0", - "cacheable-lookup": "7.0.0", - "cbor": "10.0.3", - "chalk": "5.3.0", - "chalk-template": "1.1.0", - "chokidar": "4.0.1", - "cli-highlight": "2.1.11", - "color-convert": "2.0.1", - "content-disposition": "0.5.4", - "date-fns": "4.1.0", - "deep-email-validator": "0.1.21", - "fastify": "5.0.0", - "fastify-http-errors-enhanced": "6.0.0", - "fastify-raw-body": "5.0.0", - "feed": "4.2.2", - "file-type": "19.6.0", - "fluent-ffmpeg": "2.1.3", - "form-data": "4.0.1", - "got": "14.4.4", - "happy-dom": "15.11.6", - "hpagent": "1.2.0", - "htmlescape": "1.1.1", - "http-link-header": "1.1.3", - "ioredis": "5.4.1", - "ip-cidr": "4.0.2", - "ipaddr.js": "2.2.0", - "is-svg": "5.1.0", - "jose": "5.9.6", - "js-yaml": "4.1.0", - "jsdom": "25.0.1", - "json5": "2.2.3", - "jsonld": "8.3.2", - "jsrsasign": "11.1.0", - "meilisearch": "0.45.0", - "mfm-js": "0.24.0", - "microformats-parser": "2.0.2", - "mime-types": "2.1.35", - "misskey-js": "workspace:*", - "misskey-reversi": "workspace:*", - "ms": "3.0.0-canary.1", - "nanoid": "5.0.8", - "nested-property": "4.0.0", - "node-fetch": "3.3.2", - "node-forge": "1.3.1", - "nodemailer": "6.9.16", - "nsfwjs": "2.4.2", - "oauth": "0.10.0", - "oauth2orize": "1.12.0", - "oauth2orize-pkce": "0.1.2", - "os-utils": "0.0.14", - "otpauth": "9.3.5", - "parse5": "7.2.1", - "pg": "8.13.1", - "pino": "9.5.0", - "pino-pretty": "13.0.0", - "pkce-challenge": "4.1.0", - "probe-image-size": "7.2.3", - "promise-limit": "2.7.0", - "pug": "3.0.3", - "punycode": "2.3.1", - "qrcode": "1.5.4", - "random-seed": "0.3.0", - "ratelimiter": "3.4.1", - "re2": "1.21.4", - "redis-lock": "0.1.4", - "reflect-metadata": "0.2.2", - "rename": "1.0.4", - "rss-parser": "3.13.0", - "rxjs": "7.8.1", - "samlify": "2.8.11", - "sanitize-html": "2.13.1", - "secure-json-parse": "3.0.1", - "sharp": "0.33.5", - "slacc": "0.0.10", - "strict-event-emitter-types": "2.0.0", - "stringz": "2.1.0", - "systeminformation": "5.23.5", - "tinycolor2": "1.6.0", - "tmp": "0.2.3", - "tsc-alias": "1.8.10", - "tsconfig-paths": "4.2.0", - "typeorm": "0.3.20", - "typescript": "5.6.3", - "ulid": "2.3.0", - "vary": "1.1.2", - "web-push": "3.6.7", - "ws": "8.18.0", - "xev": "3.0.2", - "xmlbuilder": "15.1.1" - }, - "devDependencies": { - "@jest/globals": "29.7.0", - "@misskey-dev/eslint-plugin": "1.0.0", - "@nestjs/platform-express": "10.4.8", - "@simplewebauthn/types": "11.0.0", - "@swc/jest": "0.2.37", - "@types/accepts": "1.3.7", - "@types/archiver": "6.0.3", - "@types/bcryptjs": "2.4.6", - "@types/body-parser": "1.19.5", - "@types/color-convert": "2.0.4", - "@types/content-disposition": "0.5.8", - "@types/fluent-ffmpeg": "2.1.27", - "@types/htmlescape": "^1.1.3", - "@types/http-link-header": "1.0.7", - "@types/jest": "29.5.14", - "@types/js-yaml": "4.0.9", - "@types/jsdom": "21.1.7", - "@types/jsonld": "1.5.15", - "@types/jsrsasign": "10.5.14", - "@types/mime-types": "2.1.4", - "@types/ms": "0.7.34", - "@types/node": "22.9.1", - "@types/node-forge": "1.3.11", - "@types/nodemailer": "6.4.17", - "@types/oauth": "0.9.6", - "@types/oauth2orize": "1.11.5", - "@types/oauth2orize-pkce": "0.1.2", - "@types/pg": "8.11.10", - "@types/pug": "2.0.10", - "@types/punycode": "2.1.4", - "@types/qrcode": "1.5.5", - "@types/random-seed": "0.3.5", - "@types/ratelimiter": "3.4.6", - "@types/rename": "1.0.7", - "@types/sanitize-html": "2.13.0", - "@types/semver": "7.5.8", - "@types/simple-oauth2": "5.0.7", - "@types/sinonjs__fake-timers": "8.1.5", - "@types/tinycolor2": "1.4.6", - "@types/tmp": "0.2.6", - "@types/vary": "1.1.3", - "@types/web-push": "3.6.4", - "@types/ws": "8.5.13", - "@typescript-eslint/eslint-plugin": "7.10.0", - "@typescript-eslint/parser": "7.10.0", - "aws-sdk-client-mock": "4.1.0", - "cross-env": "7.0.3", - "eslint": "8.57.1", - "eslint-plugin-import": "2.31.0", - "execa": "9.5.1", - "fkill": "^9.0.0", - "jest": "29.7.0", - "jest-mock": "29.7.0", - "nodemon": "3.1.7", - "pid-port": "1.0.0", - "simple-oauth2": "5.1.0" - } + "name": "backend", + "main": "./index.js", + "private": true, + "type": "module", + "engines": { + "node": ">=20.10.0" + }, + "scripts": { + "start": "node ./built/boot/entry.js", + "start:test": "cross-env NODE_ENV=test node ./built/boot/entry.js", + "migrate": "pnpm typeorm migration:run -d ormconfig.js", + "revert": "pnpm typeorm migration:revert -d ormconfig.js", + "check:connect": "node ./scripts/check_connect.js", + "build": "swc src -d built -D --strip-leading-paths", + "build:test": "swc test-server -d built-test -D --config-file test-server/.swcrc --strip-leading-paths", + "watch:swc": "swc src -d built -D -w --strip-leading-paths", + "build:tsc": "tsc -p tsconfig.json && tsc-alias -p tsconfig.json", + "watch": "node ./scripts/watch.mjs", + "restart": "pnpm build && pnpm start", + "dev": "nodemon -w src -e ts,js,mjs,cjs,json --exec \"cross-env NODE_ENV=development pnpm run restart\"", + "typecheck": "tsc --noEmit && tsc -p test --noEmit", + "format": "biome check --write", + "lint": "pnpm typecheck && biome check", + "jest": "cross-env NODE_ENV=test node --experimental-vm-modules --experimental-import-meta-resolve node_modules/jest/bin/jest.js --forceExit --config jest.config.unit.cjs", + "jest:e2e": "cross-env NODE_ENV=test node --experimental-vm-modules --experimental-import-meta-resolve node_modules/jest/bin/jest.js --forceExit --config jest.config.e2e.cjs", + "jest-and-coverage": "cross-env NODE_ENV=test node --experimental-vm-modules --experimental-import-meta-resolve node_modules/jest/bin/jest.js --coverage --forceExit --config jest.config.unit.cjs", + "jest-and-coverage:e2e": "cross-env NODE_ENV=test node --experimental-vm-modules --experimental-import-meta-resolve node_modules/jest/bin/jest.js --coverage --forceExit --config jest.config.e2e.cjs", + "jest-clear": "cross-env NODE_ENV=test node --experimental-vm-modules --experimental-import-meta-resolve node_modules/jest/bin/jest.js --clearCache", + "test": "pnpm jest", + "test:e2e": "pnpm build && pnpm build:test && pnpm jest:e2e", + "test-and-coverage": "pnpm jest-and-coverage", + "test-and-coverage:e2e": "pnpm build && pnpm build:test && pnpm jest-and-coverage:e2e", + "generate-api-json": "pnpm build && node ./scripts/generate_api_json.js" + }, + "optionalDependencies": { + "@swc/core-darwin-arm64": "1.9.3", + "@swc/core-darwin-x64": "1.9.3", + "@swc/core-linux-arm-gnueabihf": "1.9.3", + "@swc/core-linux-arm64-gnu": "1.9.3", + "@swc/core-linux-arm64-musl": "1.9.3", + "@swc/core-linux-x64-gnu": "1.9.3", + "@swc/core-linux-x64-musl": "1.9.3", + "@swc/core-win32-arm64-msvc": "1.9.3", + "@swc/core-win32-ia32-msvc": "1.9.3", + "@swc/core-win32-x64-msvc": "1.9.3", + "@tensorflow/tfjs": "4.22.0", + "@tensorflow/tfjs-node": "4.22.0", + "bufferutil": "4.0.8", + "slacc-android-arm-eabi": "0.0.10", + "slacc-android-arm64": "0.0.10", + "slacc-darwin-arm64": "0.0.10", + "slacc-darwin-universal": "0.0.10", + "slacc-darwin-x64": "0.0.10", + "slacc-freebsd-x64": "0.0.10", + "slacc-linux-arm-gnueabihf": "0.0.10", + "slacc-linux-arm64-gnu": "0.0.10", + "slacc-linux-arm64-musl": "0.0.10", + "slacc-linux-x64-gnu": "0.0.10", + "slacc-linux-x64-musl": "0.0.10", + "slacc-win32-arm64-msvc": "0.0.10", + "slacc-win32-x64-msvc": "0.0.10", + "utf-8-validate": "6.0.5" + }, + "dependencies": { + "@authenio/samlify-node-xmllint": "2.0.0", + "@aws-sdk/client-s3": "3.698.0", + "@aws-sdk/lib-storage": "3.698.0", + "@bull-board/api": "6.5.3", + "@bull-board/fastify": "6.5.3", + "@bull-board/ui": "6.5.3", + "@discordapp/twemoji": "15.1.0", + "@elastic/elasticsearch": "8.16.2", + "@fastify/accepts": "5.0.1", + "@fastify/cookie": "11.0.1", + "@fastify/cors": "10.0.1", + "@fastify/express": "4.0.1", + "@fastify/formbody": "8.0.1", + "@fastify/http-proxy": "10.0.1", + "@fastify/multipart": "9.0.1", + "@fastify/static": "8.0.3", + "@fastify/view": "10.0.1", + "@misskey-dev/sharp-read-bmp": "1.2.0", + "@misskey-dev/summaly": "MisskeyIO/summaly#5.1.1", + "@napi-rs/canvas": "0.1.62", + "@nestjs/common": "10.4.8", + "@nestjs/core": "10.4.8", + "@nestjs/testing": "10.4.8", + "@peertube/http-signature": "1.7.0", + "@simplewebauthn/server": "11.0.0", + "@sinonjs/fake-timers": "11.3.1", + "@smithy/node-http-handler": "3.3.1", + "@swc/cli": "0.5.1", + "@swc/core": "1.9.3", + "@twemoji/parser": "15.1.1", + "accepts": "1.3.8", + "ajv": "8.17.1", + "archiver": "7.0.1", + "async-mutex": "0.5.0", + "bcryptjs": "2.4.3", + "blurhash": "2.0.5", + "body-parser": "1.20.3", + "bullmq": "5.29.0", + "cacheable-lookup": "7.0.0", + "cbor": "10.0.3", + "chalk": "5.3.0", + "chalk-template": "1.1.0", + "chokidar": "4.0.1", + "cli-highlight": "2.1.11", + "color-convert": "2.0.1", + "content-disposition": "0.5.4", + "date-fns": "4.1.0", + "deep-email-validator": "0.1.21", + "fastify": "5.0.0", + "fastify-http-errors-enhanced": "6.0.0", + "fastify-raw-body": "5.0.0", + "feed": "4.2.2", + "file-type": "19.6.0", + "fluent-ffmpeg": "2.1.3", + "form-data": "4.0.1", + "got": "14.4.4", + "happy-dom": "15.11.6", + "hpagent": "1.2.0", + "htmlescape": "1.1.1", + "http-link-header": "1.1.3", + "ioredis": "5.4.1", + "ip-cidr": "4.0.2", + "ipaddr.js": "2.2.0", + "is-svg": "5.1.0", + "jose": "5.9.6", + "js-yaml": "4.1.0", + "jsdom": "25.0.1", + "json5": "2.2.3", + "jsonld": "8.3.2", + "jsrsasign": "11.1.0", + "meilisearch": "0.45.0", + "mfm-js": "0.24.0", + "microformats-parser": "2.0.2", + "mime-types": "2.1.35", + "misskey-js": "workspace:*", + "misskey-reversi": "workspace:*", + "ms": "3.0.0-canary.1", + "nanoid": "5.0.8", + "nested-property": "4.0.0", + "node-fetch": "3.3.2", + "node-forge": "1.3.1", + "nodemailer": "6.9.16", + "nsfwjs": "2.4.2", + "oauth": "0.10.0", + "oauth2orize": "1.12.0", + "oauth2orize-pkce": "0.1.2", + "os-utils": "0.0.14", + "otpauth": "9.3.5", + "parse5": "7.2.1", + "pg": "8.13.1", + "pino": "9.5.0", + "pino-pretty": "13.0.0", + "pkce-challenge": "4.1.0", + "probe-image-size": "7.2.3", + "promise-limit": "2.7.0", + "pug": "3.0.3", + "punycode": "2.3.1", + "qrcode": "1.5.4", + "random-seed": "0.3.0", + "ratelimiter": "3.4.1", + "re2": "1.21.4", + "redis-lock": "0.1.4", + "reflect-metadata": "0.2.2", + "rename": "1.0.4", + "rss-parser": "3.13.0", + "rxjs": "7.8.1", + "samlify": "2.8.11", + "sanitize-html": "2.13.1", + "secure-json-parse": "3.0.1", + "sharp": "0.33.5", + "slacc": "0.0.10", + "strict-event-emitter-types": "2.0.0", + "stringz": "2.1.0", + "systeminformation": "5.23.5", + "tinycolor2": "1.6.0", + "tmp": "0.2.3", + "tsc-alias": "1.8.10", + "tsconfig-paths": "4.2.0", + "typeorm": "0.3.20", + "typescript": "5.6.3", + "ulid": "2.3.0", + "vary": "1.1.2", + "web-push": "3.6.7", + "ws": "8.18.0", + "xev": "3.0.2", + "xmlbuilder": "15.1.1" + }, + "devDependencies": { + "@biomejs/biome": "1.9.4", + "@jest/globals": "29.7.0", + "@nestjs/platform-express": "10.4.8", + "@simplewebauthn/types": "11.0.0", + "@swc/jest": "0.2.37", + "@types/accepts": "1.3.7", + "@types/archiver": "6.0.3", + "@types/bcryptjs": "2.4.6", + "@types/body-parser": "1.19.5", + "@types/color-convert": "2.0.4", + "@types/content-disposition": "0.5.8", + "@types/fluent-ffmpeg": "2.1.27", + "@types/htmlescape": "^1.1.3", + "@types/http-link-header": "1.0.7", + "@types/jest": "29.5.14", + "@types/js-yaml": "4.0.9", + "@types/jsdom": "21.1.7", + "@types/jsonld": "1.5.15", + "@types/jsrsasign": "10.5.14", + "@types/mime-types": "2.1.4", + "@types/ms": "0.7.34", + "@types/node": "22.9.1", + "@types/node-forge": "1.3.11", + "@types/nodemailer": "6.4.17", + "@types/oauth": "0.9.6", + "@types/oauth2orize": "1.11.5", + "@types/oauth2orize-pkce": "0.1.2", + "@types/pg": "8.11.10", + "@types/pug": "2.0.10", + "@types/punycode": "2.1.4", + "@types/qrcode": "1.5.5", + "@types/random-seed": "0.3.5", + "@types/ratelimiter": "3.4.6", + "@types/rename": "1.0.7", + "@types/sanitize-html": "2.13.0", + "@types/semver": "7.5.8", + "@types/simple-oauth2": "5.0.7", + "@types/sinonjs__fake-timers": "8.1.5", + "@types/tinycolor2": "1.4.6", + "@types/tmp": "0.2.6", + "@types/vary": "1.1.3", + "@types/web-push": "3.6.4", + "@types/ws": "8.5.13", + "aws-sdk-client-mock": "4.1.0", + "cross-env": "7.0.3", + "execa": "9.5.1", + "fkill": "^9.0.0", + "jest": "29.7.0", + "jest-mock": "29.7.0", + "nodemon": "3.1.7", + "pid-port": "1.0.0", + "simple-oauth2": "5.1.0" + } } diff --git a/packages/backend/src/core/FileInfoService.ts b/packages/backend/src/core/FileInfoService.ts index 1c7d542a3cd7..a8f66b95fee5 100644 --- a/packages/backend/src/core/FileInfoService.ts +++ b/packages/backend/src/core/FileInfoService.ts @@ -273,7 +273,9 @@ export class FileInfoService { watcher.close(); }); command.run(); - for (let i = 1; true; i++) { // eslint-disable-line @typescript-eslint/no-unnecessary-condition + let i = 0; + while (true) { + i++; const current = `${i}.png`; const next = `${i + 1}.png`; const framePath = join(cwd, current); diff --git a/packages/backend/src/core/activitypub/ApRequestService.ts b/packages/backend/src/core/activitypub/ApRequestService.ts index b008a3ec592e..956cda19484e 100644 --- a/packages/backend/src/core/activitypub/ApRequestService.ts +++ b/packages/backend/src/core/activitypub/ApRequestService.ts @@ -34,6 +34,7 @@ type PrivateKey = { keyId: string; }; +// biome-ignore lint/complexity/noStaticOnlyClass: utility class export class ApRequestCreator { static createSignedPost(args: { key: PrivateKey, url: string, body: string, digest?: string, additionalHeaders: Record }): Signed { const u = new URL(args.url); diff --git a/packages/backend/src/decorators.ts b/packages/backend/src/decorators.ts index 21777657d185..b26c1115e301 100644 --- a/packages/backend/src/decorators.ts +++ b/packages/backend/src/decorators.ts @@ -20,8 +20,7 @@ export function bindThis(target: any, key: string, descriptor: any) { return { configurable: true, get() { - // eslint-disable-next-line no-prototype-builtins - if (this === target.prototype || this.hasOwnProperty(key) || + if (this === target.prototype || Object.hasOwn(this, key) || typeof fn !== 'function') { return fn; } diff --git a/packages/backend/src/misc/acct.ts b/packages/backend/src/misc/acct.ts index 3d729b115109..eed810d5d0f5 100644 --- a/packages/backend/src/misc/acct.ts +++ b/packages/backend/src/misc/acct.ts @@ -14,6 +14,7 @@ export function parse(acct: string): Acct { return { username: split[0], host: split[1] ?? null }; } +// biome-ignore lint/suspicious/noShadowRestrictedNames: desired behavior export function toString(acct: Acct): string { return acct.host == null ? acct.username : `${acct.username}@${acct.host}`; } diff --git a/packages/backend/src/misc/safe-for-sql.ts b/packages/backend/src/misc/safe-for-sql.ts index ac4b8e2e2ecc..554011bc7be6 100644 --- a/packages/backend/src/misc/safe-for-sql.ts +++ b/packages/backend/src/misc/safe-for-sql.ts @@ -4,5 +4,6 @@ */ export function safeForSql(text: string): boolean { + // biome-ignore lint/suspicious/noControlCharactersInRegex: expected behavior return !/[\0\x08\x09\x1a\n\r"'\\\%]/g.test(text); } diff --git a/packages/backend/src/queue/processors/ExportCustomEmojisProcessorService.ts b/packages/backend/src/queue/processors/ExportCustomEmojisProcessorService.ts index c23d5d715331..ccd38cd50c88 100644 --- a/packages/backend/src/queue/processors/ExportCustomEmojisProcessorService.ts +++ b/packages/backend/src/queue/processors/ExportCustomEmojisProcessorService.ts @@ -121,6 +121,7 @@ export class ExportCustomEmojisProcessorService { metaStream.end(); // Create archive + // biome-ignore lint/suspicious/noAsyncPromiseExecutor: desired behavior await new Promise(async (resolve) => { const [archivePath, archiveCleanup] = await createTemp(); const archiveStream = fs.createWriteStream(archivePath); diff --git a/packages/backend/src/server/api/endpoints/notes/create.ts b/packages/backend/src/server/api/endpoints/notes/create.ts index 5bff7f718b32..b524d4afeaf3 100644 --- a/packages/backend/src/server/api/endpoints/notes/create.ts +++ b/packages/backend/src/server/api/endpoints/notes/create.ts @@ -225,6 +225,7 @@ export const paramDef = { }, }, }, + // biome-ignore lint/suspicious/noThenProperty: api design then: { properties: { text: { diff --git a/packages/backend/src/server/oauth/OAuth2ProviderService.ts b/packages/backend/src/server/oauth/OAuth2ProviderService.ts index ac88c4084460..beaabc610b40 100644 --- a/packages/backend/src/server/oauth/OAuth2ProviderService.ts +++ b/packages/backend/src/server/oauth/OAuth2ProviderService.ts @@ -195,7 +195,7 @@ function getQueryMode(issuerUrl: string): oauth2orize.grant.Options['modes'] { parsed.searchParams.append(key, value as string); } - return (res as OAuthHttpResponse).redirect(parsed.toString()); + (res as OAuthHttpResponse).redirect(parsed.toString()); }, }; } diff --git a/packages/backend/src/server/web/bios.css b/packages/backend/src/server/web/bios.css index 91d1af10b41c..983e751022a6 100644 --- a/packages/backend/src/server/web/bios.css +++ b/packages/backend/src/server/web/bios.css @@ -5,7 +5,7 @@ */ * { - font-family: Fira code, Fira Mono, Consolas, Menlo, Courier, monospace; + font-family: 'Fira code', 'Fira Mono', Consolas, Menlo, Courier, monospace; } html { diff --git a/packages/backend/src/server/web/boot.js b/packages/backend/src/server/web/boot.js index 60f1e05e8a93..6994feea3a57 100644 --- a/packages/backend/src/server/web/boot.js +++ b/packages/backend/src/server/web/boot.js @@ -33,7 +33,7 @@ } //#region Detect language & fetch translations - if (!localStorage.hasOwnProperty('locale')) { + if (!Object.hasOwn(localStorage, 'locale')) { let lang = localStorage.getItem('lang'); if (lang == null || lang.toString == null || lang.toString() === 'null') { lang = 'ja-JP'; diff --git a/packages/backend/src/server/web/cli.css b/packages/backend/src/server/web/cli.css index 4e6136d59c93..b4ed61a74401 100644 --- a/packages/backend/src/server/web/cli.css +++ b/packages/backend/src/server/web/cli.css @@ -5,7 +5,7 @@ */ * { - font-family: Fira code, Fira Mono, Consolas, Menlo, Courier, monospace; + font-family: 'Fira code', 'Fira Mono', Consolas, Menlo, Courier, monospace; } html { diff --git a/packages/backend/src/server/web/flush.js b/packages/backend/src/server/web/flush.js index fca3092f04a8..60f4e0cf2f7d 100644 --- a/packages/backend/src/server/web/flush.js +++ b/packages/backend/src/server/web/flush.js @@ -39,7 +39,7 @@ message('Start flushing.'); console.error(e); setTimeout(() => { - location = '/'; + window.location = '/'; }, 10000) } })(); diff --git a/packages/backend/test-server/.eslintrc.cjs b/packages/backend/test-server/.eslintrc.cjs deleted file mode 100644 index c261741a36a1..000000000000 --- a/packages/backend/test-server/.eslintrc.cjs +++ /dev/null @@ -1,32 +0,0 @@ -module.exports = { - parserOptions: { - tsconfigRootDir: __dirname, - project: ['./tsconfig.json'], - }, - extends: [ - '../../shared/.eslintrc.js', - ], - rules: { - 'import/order': ['warn', { - 'groups': ['builtin', 'external', 'internal', 'parent', 'sibling', 'index', 'object', 'type'], - 'pathGroups': [ - { - 'pattern': '@/**', - 'group': 'external', - 'position': 'after' - } - ], - }], - 'no-restricted-globals': [ - 'error', - { - 'name': '__dirname', - 'message': 'Not in ESModule. Use `import.meta.url` instead.' - }, - { - 'name': '__filename', - 'message': 'Not in ESModule. Use `import.meta.url` instead.' - } - ] - }, -}; diff --git a/packages/backend/test-server/tsconfig.json b/packages/backend/test-server/tsconfig.json index 10313699c2ef..705cecef3d47 100644 --- a/packages/backend/test-server/tsconfig.json +++ b/packages/backend/test-server/tsconfig.json @@ -9,7 +9,7 @@ "noFallthroughCasesInSwitch": true, "declaration": false, "sourceMap": true, - "target": "ES2022", + "target": "es2022", "module": "nodenext", "moduleResolution": "nodenext", "allowSyntheticDefaultImports": true, diff --git a/packages/backend/test/.eslintrc.cjs b/packages/backend/test/.eslintrc.cjs deleted file mode 100644 index 41ecea0c3fba..000000000000 --- a/packages/backend/test/.eslintrc.cjs +++ /dev/null @@ -1,11 +0,0 @@ -module.exports = { - parserOptions: { - tsconfigRootDir: __dirname, - project: ['./tsconfig.json'], - }, - extends: ['../.eslintrc.cjs'], - env: { - node: true, - jest: true, - }, -}; diff --git a/packages/backend/test/e2e/thread-mute.ts b/packages/backend/test/e2e/thread-mute.ts index 53bb6eb765a6..92f1abb81db3 100644 --- a/packages/backend/test/e2e/thread-mute.ts +++ b/packages/backend/test/e2e/thread-mute.ts @@ -54,7 +54,9 @@ describe('Note thread mute', () => { assert.strictEqual(res.body.hasUnreadMentions, false); }); - test('ミュートしているスレッドからメンションされても、ストリームに unreadMention イベントが流れてこない', () => new Promise(async done => { + test('ミュートしているスレッドからメンションされても、ストリームに unreadMention イベントが流れてこない', () => + // biome-ignore lint/suspicious/noAsyncPromiseExecutor: desired behavior + new Promise(async done => { // 状態リセット await api('i/read-all-unread-notes', {}, alice); diff --git a/packages/backend/test/tsconfig.json b/packages/backend/test/tsconfig.json index 2b562acda81a..b988787715d7 100644 --- a/packages/backend/test/tsconfig.json +++ b/packages/backend/test/tsconfig.json @@ -9,7 +9,7 @@ "noFallthroughCasesInSwitch": true, "declaration": false, "sourceMap": true, - "target": "ES2022", + "target": "es2022", "module": "nodenext", "moduleResolution": "nodenext", "allowSyntheticDefaultImports": true, diff --git a/packages/backend/test/unit/ap-request.ts b/packages/backend/test/unit/ap-request.ts index d3d39240dc9a..7b0c90d10a4d 100644 --- a/packages/backend/test/unit/ap-request.ts +++ b/packages/backend/test/unit/ap-request.ts @@ -9,7 +9,7 @@ import httpSignature from '@peertube/http-signature'; import { genRsaKeyPair } from '@/misc/gen-key-pair.js'; import { ApRequestCreator } from '@/core/activitypub/ApRequestService.js'; -export const buildParsedSignature = (signingString: string, signature: string, algorithm: string) => { +const buildParsedSignature = (signingString: string, signature: string, algorithm: string) => { return { scheme: 'Signature', params: { diff --git a/packages/backend/test/utils.ts b/packages/backend/test/utils.ts index 9e99517f03ed..3da0099bd80e 100644 --- a/packages/backend/test/utils.ts +++ b/packages/backend/test/utils.ts @@ -388,6 +388,7 @@ export function connectStream(user: UserToken, } export const waitFire = async (user: UserToken, channel: C, trgr: () => any, cond: (msg: Record) => boolean, params?: misskey.Channels[C]['params']) => { + // biome-ignore lint/suspicious/noAsyncPromiseExecutor: desired behavior return new Promise(async (res, rej) => { let timer: NodeJS.Timeout | null = null; @@ -437,6 +438,7 @@ export function makeStreamCatcher( extractor: (message: Record) => T, timeout = 60 * 1000): Promise { let ws: WebSocket; + // biome-ignore lint/suspicious/noAsyncPromiseExecutor: desired behavior const p = new Promise(async (resolve) => { ws = await connectStream(user, channel, (msg) => { if (cond(msg)) { diff --git a/packages/backend/tsconfig.json b/packages/backend/tsconfig.json index 2b15a5cc7a3f..ce2c5b87856d 100644 --- a/packages/backend/tsconfig.json +++ b/packages/backend/tsconfig.json @@ -9,7 +9,7 @@ "noFallthroughCasesInSwitch": true, "declaration": false, "sourceMap": false, - "target": "ES2022", + "target": "es2022", "module": "nodenext", "moduleResolution": "nodenext", "allowSyntheticDefaultImports": true, diff --git a/packages/frontend/.eslintrc.cjs b/packages/frontend/.eslintrc.cjs deleted file mode 100644 index 20f88dc0786c..000000000000 --- a/packages/frontend/.eslintrc.cjs +++ /dev/null @@ -1,82 +0,0 @@ -module.exports = { - root: true, - env: { - 'node': false, - }, - parser: 'vue-eslint-parser', - parserOptions: { - 'parser': '@typescript-eslint/parser', - tsconfigRootDir: __dirname, - project: ['./tsconfig.json'], - extraFileExtensions: ['.vue'], - }, - extends: [ - '../shared/.eslintrc.js', - 'plugin:vue/vue3-recommended', - ], - rules: { - '@typescript-eslint/no-empty-interface': [ - 'error', - { - 'allowSingleExtends': true, - }, - ], - // window の禁止理由: グローバルスコープと衝突し、予期せぬ結果を招くため - // e の禁止理由: error や event など、複数のキーワードの頭文字であり分かりにくいため - 'id-denylist': ['error', 'window', 'e'], - 'no-shadow': ['warn'], - 'vue/attributes-order': ['error', { - 'alphabetical': false, - }], - 'vue/no-use-v-if-with-v-for': ['error', { - 'allowUsingIterationVar': false, - }], - 'vue/no-ref-as-operand': 'error', - 'vue/no-multi-spaces': ['error', { - 'ignoreProperties': false, - }], - 'vue/no-v-html': 'warn', - 'vue/order-in-components': 'error', - 'vue/html-indent': ['warn', 'tab', { - 'attribute': 1, - 'baseIndent': 0, - 'closeBracket': 0, - 'alignAttributesVertically': true, - 'ignores': [], - }], - 'vue/html-closing-bracket-spacing': ['warn', { - 'startTag': 'never', - 'endTag': 'never', - 'selfClosingTag': 'never', - }], - 'vue/multi-word-component-names': 'warn', - 'vue/require-v-for-key': 'warn', - 'vue/no-unused-components': 'warn', - 'vue/no-unused-vars': 'warn', - 'vue/no-dupe-keys': 'warn', - 'vue/valid-v-for': 'warn', - 'vue/return-in-computed-property': 'warn', - 'vue/no-setup-props-destructure': 'warn', - 'vue/max-attributes-per-line': 'off', - 'vue/html-self-closing': 'off', - 'vue/singleline-html-element-content-newline': 'off', - 'vue/v-on-event-hyphenation': ['error', 'never', { autofix: true }], - 'vue/attribute-hyphenation': ['error', 'never'], - }, - globals: { - // Node.js - 'module': false, - 'require': false, - '__dirname': false, - - // Misskey - '_DEV_': false, - '_LANGS_': false, - '_VERSION_': false, - '_ENV_': false, - '_PERF_PREFIX_': false, - '_DATA_TRANSFER_DRIVE_FILE_': false, - '_DATA_TRANSFER_DRIVE_FOLDER_': false, - '_DATA_TRANSFER_DECK_COLUMN_': false, - }, -}; diff --git a/packages/frontend/.vscode/settings.json b/packages/frontend/.vscode/settings.json index 1a79b6a7dc7d..6c29da9080b5 100644 --- a/packages/frontend/.vscode/settings.json +++ b/packages/frontend/.vscode/settings.json @@ -1,11 +1,6 @@ { - "typescript.tsdk": "node_modules\\typescript\\lib", - "path-intellisense.mappings": { - "@": "${workspaceRoot}/packages/frontend/src/" - }, - "eslint.validate": [ - "javascript", - "javascriptreact", - "vue" - ] + "typescript.tsdk": "node_modules\\typescript\\lib", + "path-intellisense.mappings": { + "@": "${workspaceRoot}/packages/frontend/src/" + } } diff --git a/packages/frontend/.vscode/storybook.code-snippets b/packages/frontend/.vscode/storybook.code-snippets index 785d0a16081a..56cad21e22b6 100644 --- a/packages/frontend/.vscode/storybook.code-snippets +++ b/packages/frontend/.vscode/storybook.code-snippets @@ -3,7 +3,6 @@ "scope": "typescript", "prefix": "storyimpl", "body": [ - "/* eslint-disable @typescript-eslint/explicit-function-return-type */", "import { StoryObj } from '@storybook/vue3';", "import $1 from './$1.vue';", "export const Default = {", @@ -41,7 +40,6 @@ "scope": "typescript", "prefix": "storyimplevent", "body": [ - "/* eslint-disable @typescript-eslint/explicit-function-return-type */", "import { action } from '@storybook/addon-actions';", "import { StoryObj } from '@storybook/vue3';", "import $1 from './$1.vue';", diff --git a/packages/frontend/package.json b/packages/frontend/package.json index e7299e987aa0..11db6d1f84e3 100644 --- a/packages/frontend/package.json +++ b/packages/frontend/package.json @@ -1,143 +1,137 @@ { - "name": "frontend", - "private": true, - "type": "module", - "scripts": { - "watch": "vite", - "dev": "vite --config vite.config.local-dev.ts --debug hmr", - "build": "vite build", - "storybook-dev": "nodemon --verbose --watch src --ext \"mdx,ts,vue\" --ignore \"*.stories.ts\" --exec \"pnpm build-storybook-pre && pnpm exec storybook dev -p 6006 --ci\"", - "build-storybook-pre": "(tsc -p .storybook || echo done.) && node .storybook/generate.js && node .storybook/preload-locale.js && node .storybook/preload-theme.js", - "build-storybook": "pnpm build-storybook-pre && storybook build --webpack-stats-json storybook-static", - "chromatic": "chromatic", - "test": "vitest --run --globals", - "test-and-coverage": "vitest --run --coverage --globals", - "typecheck": "vue-tsc --noEmit", - "eslint": "eslint --quiet \"src/**/*.{ts,vue}\"", - "lint": "pnpm typecheck && pnpm eslint" - }, - "dependencies": { - "@discordapp/twemoji": "15.1.0", - "@github/webauthn-json": "2.1.1", - "@isaacs/ttlcache": "1.4.1", - "@mcaptcha/vanilla-glue": "0.1.0-alpha-3", - "@misskey-dev/browser-image-resizer": "2024.1.0", - "@rollup/plugin-json": "6.1.0", - "@rollup/plugin-replace": "6.0.1", - "@rollup/plugin-typescript": "12.1.1", - "@rollup/pluginutils": "5.1.3", - "@syuilo/aiscript": "0.19.0", - "@tabler/icons-webfont": "3.22.0", - "@twemoji/parser": "15.1.1", - "@vitejs/plugin-vue": "5.2.0", - "@vue/compiler-sfc": "3.5.13", - "aiscript-vscode": "github:aiscript-dev/aiscript-vscode#v0.1.9", - "astring": "1.9.0", - "broadcast-channel": "7.0.0", - "buraha": "0.0.1", - "canvas-confetti": "1.9.3", - "chart.js": "4.4.6", - "chartjs-adapter-date-fns": "3.0.0", - "chartjs-chart-matrix": "2.0.1", - "chartjs-plugin-gradient": "0.6.1", - "chartjs-plugin-zoom": "2.1.0", - "chromatic": "11.18.1", - "compare-versions": "6.1.1", - "cropperjs": "2.0.0-rc.0", - "date-fns": "4.1.0", - "escape-regexp": "0.0.1", - "estree-walker": "3.0.3", - "eventemitter3": "5.0.1", - "idb-keyval": "6.2.1", - "insert-text-at-cursor": "0.3.0", - "is-file-animated": "1.0.2", - "json5": "2.2.3", - "matter-js": "0.20.0", - "mfm-js": "0.24.0", - "misskey-bubble-game": "workspace:*", - "misskey-js": "workspace:*", - "misskey-reversi": "workspace:*", - "photoswipe": "5.4.4", - "punycode": "2.3.1", - "rollup": "4.27.3", - "sanitize-html": "2.13.1", - "sass": "1.81.0", - "shiki": "1.23.1", - "strict-event-emitter-types": "2.0.0", - "textarea-caret": "3.1.0", - "three": "0.170.0", - "throttle-debounce": "5.0.2", - "tinycolor2": "1.6.0", - "tsc-alias": "1.8.10", - "tsconfig-paths": "4.2.0", - "typescript": "5.6.3", - "uuid": "11.0.3", - "v-code-diff": "1.13.1", - "vite": "5.4.11", - "vue": "3.5.13", - "vue-gtag": "2.0.1", - "vuedraggable": "next" - }, - "devDependencies": { - "@misskey-dev/eslint-plugin": "1.0.0", - "@misskey-dev/summaly": "MisskeyIO/summaly#5.1.1", - "@storybook/addon-actions": "8.4.5", - "@storybook/addon-essentials": "8.4.5", - "@storybook/addon-interactions": "8.4.5", - "@storybook/addon-links": "8.4.5", - "@storybook/addon-mdx-gfm": "8.4.5", - "@storybook/addon-storysource": "8.4.5", - "@storybook/blocks": "8.4.5", - "@storybook/components": "8.4.5", - "@storybook/core-events": "8.4.5", - "@storybook/manager-api": "8.4.5", - "@storybook/preview-api": "8.4.5", - "@storybook/react": "8.4.5", - "@storybook/react-vite": "8.4.5", - "@storybook/test": "8.4.5", - "@storybook/theming": "8.4.5", - "@storybook/types": "8.4.5", - "@storybook/vue3": "8.4.5", - "@storybook/vue3-vite": "8.4.5", - "@testing-library/vue": "8.1.0", - "@types/escape-regexp": "0.0.3", - "@types/estree": "1.0.6", - "@types/matter-js": "0.19.7", - "@types/micromatch": "4.0.9", - "@types/node": "22.9.1", - "@types/punycode": "2.1.4", - "@types/sanitize-html": "2.13.0", - "@types/throttle-debounce": "5.0.2", - "@types/tinycolor2": "1.4.6", - "@types/ws": "8.5.13", - "@typescript-eslint/eslint-plugin": "7.10.0", - "@typescript-eslint/parser": "7.10.0", - "@vitest/coverage-v8": "2.1.5", - "@vue/runtime-core": "3.5.13", - "acorn": "8.14.0", - "cross-env": "7.0.3", - "cypress": "13.16.0", - "eslint": "8.57.1", - "eslint-plugin-import": "2.31.0", - "eslint-plugin-vue": "9.31.0", - "fast-glob": "3.3.2", - "happy-dom": "15.11.6", - "intersection-observer": "0.12.2", - "micromatch": "4.0.8", - "msw": "2.6.5", - "msw-storybook-addon": "2.0.4", - "nodemon": "3.1.7", - "prettier": "3.3.3", - "react": "18.3.1", - "react-dom": "18.3.1", - "start-server-and-test": "2.0.8", - "storybook": "8.4.5", - "storybook-addon-misskey-theme": "github:misskey-dev/storybook-addon-misskey-theme", - "vite-plugin-turbosnap": "1.0.3", - "vitest": "2.1.5", - "vitest-fetch-mock": "0.3.0", - "vue-component-type-helpers": "2.1.10", - "vue-eslint-parser": "9.4.3", - "vue-tsc": "2.1.10" - } + "name": "frontend", + "private": true, + "type": "module", + "scripts": { + "watch": "vite", + "dev": "vite --config vite.config.local-dev.ts --debug hmr", + "build": "vite build", + "storybook-dev": "nodemon --verbose --watch src --ext \"mdx,ts,vue\" --ignore \"*.stories.ts\" --exec \"pnpm build-storybook-pre && pnpm exec storybook dev -p 6006 --ci\"", + "build-storybook-pre": "(tsc -p .storybook || echo done.) && node .storybook/generate.js && node .storybook/preload-locale.js && node .storybook/preload-theme.js", + "build-storybook": "pnpm build-storybook-pre && storybook build --webpack-stats-json storybook-static", + "chromatic": "chromatic", + "test": "vitest --run --globals", + "test-and-coverage": "vitest --run --coverage --globals", + "typecheck": "vue-tsc --noEmit", + "format": "biome check --write", + "lint": "pnpm typecheck && biome check" + }, + "dependencies": { + "@discordapp/twemoji": "15.1.0", + "@github/webauthn-json": "2.1.1", + "@isaacs/ttlcache": "1.4.1", + "@mcaptcha/vanilla-glue": "0.1.0-alpha-3", + "@misskey-dev/browser-image-resizer": "2024.1.0", + "@rollup/plugin-json": "6.1.0", + "@rollup/plugin-replace": "6.0.1", + "@rollup/plugin-typescript": "12.1.1", + "@rollup/pluginutils": "5.1.3", + "@syuilo/aiscript": "0.19.0", + "@tabler/icons-webfont": "3.22.0", + "@twemoji/parser": "15.1.1", + "@vitejs/plugin-vue": "5.2.0", + "@vue/compiler-sfc": "3.5.13", + "aiscript-vscode": "github:aiscript-dev/aiscript-vscode#v0.1.9", + "astring": "1.9.0", + "broadcast-channel": "7.0.0", + "buraha": "0.0.1", + "canvas-confetti": "1.9.3", + "chart.js": "4.4.6", + "chartjs-adapter-date-fns": "3.0.0", + "chartjs-chart-matrix": "2.0.1", + "chartjs-plugin-gradient": "0.6.1", + "chartjs-plugin-zoom": "2.1.0", + "chromatic": "11.18.1", + "compare-versions": "6.1.1", + "cropperjs": "2.0.0-rc.0", + "date-fns": "4.1.0", + "escape-regexp": "0.0.1", + "estree-walker": "3.0.3", + "eventemitter3": "5.0.1", + "idb-keyval": "6.2.1", + "insert-text-at-cursor": "0.3.0", + "is-file-animated": "1.0.2", + "json5": "2.2.3", + "matter-js": "0.20.0", + "mfm-js": "0.24.0", + "misskey-bubble-game": "workspace:*", + "misskey-js": "workspace:*", + "misskey-reversi": "workspace:*", + "photoswipe": "5.4.4", + "punycode": "2.3.1", + "rollup": "4.27.3", + "sanitize-html": "2.13.1", + "sass": "1.81.0", + "shiki": "1.23.1", + "strict-event-emitter-types": "2.0.0", + "textarea-caret": "3.1.0", + "three": "0.170.0", + "throttle-debounce": "5.0.2", + "tinycolor2": "1.6.0", + "tsc-alias": "1.8.10", + "tsconfig-paths": "4.2.0", + "typescript": "5.6.3", + "uuid": "11.0.3", + "v-code-diff": "1.13.1", + "vite": "5.4.11", + "vue": "3.5.13", + "vue-gtag": "2.0.1", + "vuedraggable": "next" + }, + "devDependencies": { + "@biomejs/biome": "1.9.4", + "@misskey-dev/summaly": "MisskeyIO/summaly#5.1.1", + "@storybook/addon-actions": "8.4.5", + "@storybook/addon-essentials": "8.4.5", + "@storybook/addon-interactions": "8.4.5", + "@storybook/addon-links": "8.4.5", + "@storybook/addon-mdx-gfm": "8.4.5", + "@storybook/addon-storysource": "8.4.5", + "@storybook/blocks": "8.4.5", + "@storybook/components": "8.4.5", + "@storybook/core-events": "8.4.5", + "@storybook/manager-api": "8.4.5", + "@storybook/preview-api": "8.4.5", + "@storybook/react": "8.4.5", + "@storybook/react-vite": "8.4.5", + "@storybook/test": "8.4.5", + "@storybook/theming": "8.4.5", + "@storybook/types": "8.4.5", + "@storybook/vue3": "8.4.5", + "@storybook/vue3-vite": "8.4.5", + "@testing-library/vue": "8.1.0", + "@types/escape-regexp": "0.0.3", + "@types/estree": "1.0.6", + "@types/matter-js": "0.19.7", + "@types/micromatch": "4.0.9", + "@types/node": "22.9.1", + "@types/punycode": "2.1.4", + "@types/sanitize-html": "2.13.0", + "@types/throttle-debounce": "5.0.2", + "@types/tinycolor2": "1.4.6", + "@types/ws": "8.5.13", + "@vitest/coverage-v8": "2.1.5", + "@vue/runtime-core": "3.5.13", + "acorn": "8.14.0", + "cross-env": "7.0.3", + "cypress": "13.16.0", + "fast-glob": "3.3.2", + "happy-dom": "15.11.6", + "intersection-observer": "0.12.2", + "micromatch": "4.0.8", + "msw": "2.6.5", + "msw-storybook-addon": "2.0.4", + "nodemon": "3.1.7", + "prettier": "3.3.3", + "react": "18.3.1", + "react-dom": "18.3.1", + "start-server-and-test": "2.0.8", + "storybook": "8.4.5", + "storybook-addon-misskey-theme": "github:misskey-dev/storybook-addon-misskey-theme", + "vite-plugin-turbosnap": "1.0.3", + "vitest": "2.1.5", + "vitest-fetch-mock": "0.3.0", + "vue-component-type-helpers": "2.1.10", + "vue-tsc": "2.1.10" + } } diff --git a/packages/frontend/src/components/MkCropperDialog.vue b/packages/frontend/src/components/MkCropperDialog.vue index 54f6f39c9dc5..da7cc6d0ce87 100644 --- a/packages/frontend/src/components/MkCropperDialog.vue +++ b/packages/frontend/src/components/MkCropperDialog.vue @@ -62,6 +62,7 @@ let cropper: Cropper | null = null; const loading = ref(true); const ok = async () => { + // biome-ignore lint/suspicious/noAsyncPromiseExecutor: desired behavior const promise = new Promise(async (res) => { const croppedImage = await cropper?.getCropperImage(); const croppedSection = await cropper?.getCropperSelection(); diff --git a/packages/frontend/src/components/MkNote.vue b/packages/frontend/src/components/MkNote.vue index 83c41ab1e2db..24cba944c161 100644 --- a/packages/frontend/src/components/MkNote.vue +++ b/packages/frontend/src/components/MkNote.vue @@ -288,7 +288,7 @@ const keymap = { 'down|j|tab': focusAfter, 'esc': blur, 'm|o': () => showMenu(true), - 's': () => showContent.value !== showContent.value, + 's': () => { showContent.value = !showContent.value; focus(); }, }; provide('react', (reaction: string) => { diff --git a/packages/frontend/src/components/MkNoteDetailed.vue b/packages/frontend/src/components/MkNoteDetailed.vue index 1c79614b06d0..a739eb9094c9 100644 --- a/packages/frontend/src/components/MkNoteDetailed.vue +++ b/packages/frontend/src/components/MkNoteDetailed.vue @@ -305,7 +305,7 @@ const keymap = { 'q': () => renote(true), 'esc': blur, 'm|o': () => showMenu(true), - 's': () => showContent.value !== showContent.value, + 's': () => { showContent.value = !showContent.value; focus(); }, }; provide('react', (reaction: string) => { diff --git a/packages/frontend/src/components/MkNotificationSelectWindow.vue b/packages/frontend/src/components/MkNotificationSelectWindow.vue index 71b38d99ed9c..b0057ec88fb4 100644 --- a/packages/frontend/src/components/MkNotificationSelectWindow.vue +++ b/packages/frontend/src/components/MkNotificationSelectWindow.vue @@ -53,7 +53,10 @@ const props = withDefaults(defineProps<{ const dialog = shallowRef>(); -const typesMap: TypesMap = notificationTypes.reduce((p, t) => ({ ...p, [t]: ref(!props.excludeTypes.includes(t)) }), {} as any); +const typesMap: TypesMap = notificationTypes.reduce((p, t) => { + p[t] = ref(!props.excludeTypes.includes(t)); + return p; +}, {}); function ok() { emit('done', { diff --git a/packages/frontend/src/components/MkPollEditor.vue b/packages/frontend/src/components/MkPollEditor.vue index 718027483c0e..222f4ab362e8 100644 --- a/packages/frontend/src/components/MkPollEditor.vue +++ b/packages/frontend/src/components/MkPollEditor.vue @@ -116,16 +116,15 @@ function get(): PollEditorModelValue { }; const calcAfter = () => { - let base = parseInt(after.value.toString()); + let base = Number.parseInt(after.value.toString()); switch (unit.value) { - // @ts-expect-error fallthrough + // biome-ignore lint/suspicious/noFallthroughSwitchClause: desired behavior case 'day': base *= 24; - // @ts-expect-error fallthrough + // biome-ignore lint/suspicious/noFallthroughSwitchClause: desired behavior case 'hour': base *= 60; - // @ts-expect-error fallthrough + // biome-ignore lint/suspicious/noFallthroughSwitchClause: desired behavior case 'minute': base *= 60; - // eslint-disable-next-line no-fallthrough - case 'second': return base *= 1000; + case 'second': return base * 1000; default: return null; } }; diff --git a/packages/frontend/src/components/global/MkPageHeader.vue b/packages/frontend/src/components/global/MkPageHeader.vue index f16d951679c3..b5486be0abeb 100644 --- a/packages/frontend/src/components/global/MkPageHeader.vue +++ b/packages/frontend/src/components/global/MkPageHeader.vue @@ -60,9 +60,7 @@ const props = withDefaults(defineProps<{ tabs: () => ([] as Tab[]), }); -const emit = defineEmits<{ - (ev: 'update:tab', key: string); -}>(); +const emit = defineEmits<(ev: 'update:tab', key: string) => void>(); const pageMetadata = injectReactiveMetadata(); diff --git a/packages/frontend/src/nirax.ts b/packages/frontend/src/nirax.ts index dedcfec463b2..51f57b759e88 100644 --- a/packages/frontend/src/nirax.ts +++ b/packages/frontend/src/nirax.ts @@ -302,8 +302,12 @@ export class Router extends EventEmitter implements IRouter { } if (route.query != null && queryString != null) { - const queryObject = [...new URLSearchParams(queryString).entries()] - .reduce((obj, entry) => ({ ...obj, [entry[0]]: entry[1] }), {}); + const queryObject = [ + ...new URLSearchParams(queryString).entries(), + ].reduce((obj, entry) => { + obj[entry[0]] = entry[1]; + return obj; + }, {}); for (const q in route.query) { const as = route.query[q]; diff --git a/packages/frontend/src/pages/admin/_header_.vue b/packages/frontend/src/pages/admin/_header_.vue index c5a9609e6ed2..71c60938f6f9 100644 --- a/packages/frontend/src/pages/admin/_header_.vue +++ b/packages/frontend/src/pages/admin/_header_.vue @@ -61,9 +61,7 @@ const props = defineProps<{ thin?: boolean; }>(); -const emit = defineEmits<{ - (ev: 'update:tab', key: string); -}>(); +const emit = defineEmits<(ev: 'update:tab', key: string) => void>(); const pageMetadata = injectReactiveMetadata(); diff --git a/packages/frontend/src/store.ts b/packages/frontend/src/store.ts index 4811e423a9cb..54378857a107 100644 --- a/packages/frontend/src/store.ts +++ b/packages/frontend/src/store.ts @@ -543,6 +543,7 @@ interface Watcher { import lightTheme from '@/themes/l-light.json5'; import darkTheme from '@/themes/d-green-lime.json5'; +// biome-ignore lint/complexity/noStaticOnlyClass: utility class export class ColdDeviceStorage { public static default = { lightTheme, diff --git a/packages/frontend/src/unicode-emoji-indexes/en-US.json b/packages/frontend/src/unicode-emoji-indexes/en-US.json index 4d8b040ad2c0..e13906185fe6 100644 --- a/packages/frontend/src/unicode-emoji-indexes/en-US.json +++ b/packages/frontend/src/unicode-emoji-indexes/en-US.json @@ -305,8 +305,6 @@ "👸": ["girl", "woman", "female", "blond", "crown", "royal", "queen"], "🤴": ["boy", "man", "male", "crown", "royal", "king"], "👰": ["couple", "marriage", "wedding", "woman", "bride"], - "👰": ["couple", "marriage", "wedding", "woman", "bride"], - "🤵": ["couple", "marriage", "wedding", "groom"], "🤵": ["couple", "marriage", "wedding", "groom"], "🏃‍♀️": ["woman", "walking", "exercise", "race", "running", "female"], "🏃": ["man", "walking", "exercise", "race", "running"], diff --git a/packages/frontend/src/widgets/widget.ts b/packages/frontend/src/widgets/widget.ts index bfe8067adfe5..1e66bcb88561 100644 --- a/packages/frontend/src/widgets/widget.ts +++ b/packages/frontend/src/widgets/widget.ts @@ -18,9 +18,7 @@ export type WidgetComponentProps

> = { widget?: Widget

; }; -export type WidgetComponentEmits

> = { - (ev: 'updateProps', props: P); -}; +export type WidgetComponentEmits

> = (ev: 'updateProps', props: P) => void; export type WidgetComponentExpose = { name: string; diff --git a/packages/frontend/src/workers/draw-blurhash.ts b/packages/frontend/src/workers/draw-blurhash.ts index 22de6cd3a8c5..4d2ab975945e 100644 --- a/packages/frontend/src/workers/draw-blurhash.ts +++ b/packages/frontend/src/workers/draw-blurhash.ts @@ -7,6 +7,7 @@ import { render } from 'buraha'; const canvas = new OffscreenCanvas(64, 64); +// biome-ignore lint/suspicious/noGlobalAssign: web worker onmessage = (event) => { // console.log(event.data); if (!('id' in event.data && typeof event.data.id === 'string')) { diff --git a/packages/frontend/test/tsconfig.json b/packages/frontend/test/tsconfig.json index 98ac45211b99..509b872e4fc0 100644 --- a/packages/frontend/test/tsconfig.json +++ b/packages/frontend/test/tsconfig.json @@ -9,7 +9,7 @@ "noFallthroughCasesInSwitch": true, "declaration": false, "sourceMap": true, - "target": "ES2022", + "target": "es2022", "module": "nodenext", "moduleResolution": "nodenext", "allowSyntheticDefaultImports": true, diff --git a/packages/frontend/tsconfig.json b/packages/frontend/tsconfig.json index 819629a9cf8a..23307dba3e78 100644 --- a/packages/frontend/tsconfig.json +++ b/packages/frontend/tsconfig.json @@ -1,53 +1,36 @@ { - "compilerOptions": { - "allowJs": true, - "noEmitOnError": false, - "noImplicitAny": false, - "noImplicitReturns": true, - "noUnusedParameters": false, - "noUnusedLocals": false, - "noFallthroughCasesInSwitch": true, - "declaration": false, - "sourceMap": false, - "target": "ES2022", - "module": "nodenext", - "moduleResolution": "nodenext", - "removeComments": false, - "noLib": false, - "strict": true, - "strictNullChecks": true, - "experimentalDecorators": true, - "resolveJsonModule": true, - "allowSyntheticDefaultImports": true, - "isolatedModules": true, - "useDefineForClassFields": true, - "baseUrl": ".", - "paths": { - "@/*": ["./src/*"] - }, - "typeRoots": [ - "./@types", - "./node_modules/@types", - "./node_modules/@vue-macros", - "./node_modules" - ], - "types": [ - "vite/client", - "vitest/importMeta", - ], - "lib": [ - "esnext", - "dom" - ], - "jsx": "preserve" - }, - "compileOnSave": false, - "include": [ - ".eslintrc.js", - "./**/*.ts", - "./**/*.vue" - ], - "exclude": [ - ".storybook/**/*" - ] + "compilerOptions": { + "allowJs": true, + "noEmitOnError": false, + "noImplicitAny": false, + "noImplicitReturns": true, + "noUnusedParameters": false, + "noUnusedLocals": false, + "noFallthroughCasesInSwitch": true, + "declaration": false, + "sourceMap": false, + "target": "es2022", + "module": "nodenext", + "moduleResolution": "nodenext", + "removeComments": false, + "noLib": false, + "strict": true, + "strictNullChecks": true, + "experimentalDecorators": true, + "resolveJsonModule": true, + "allowSyntheticDefaultImports": true, + "isolatedModules": true, + "useDefineForClassFields": true, + "baseUrl": ".", + "paths": { + "@/*": ["./src/*"] + }, + "typeRoots": ["./@types", "./node_modules/@types", "./node_modules/@vue-macros", "./node_modules"], + "types": ["vite/client", "vitest/importMeta"], + "lib": ["esnext", "dom"], + "jsx": "preserve" + }, + "compileOnSave": false, + "include": ["./**/*.ts", "./**/*.vue"], + "exclude": [".storybook/**/*"] } diff --git a/packages/misskey-bubble-game/.eslintignore b/packages/misskey-bubble-game/.eslintignore deleted file mode 100644 index f22128f047fd..000000000000 --- a/packages/misskey-bubble-game/.eslintignore +++ /dev/null @@ -1,7 +0,0 @@ -node_modules -/built -/coverage -/.eslintrc.js -/jest.config.ts -/test -/test-d diff --git a/packages/misskey-bubble-game/.eslintrc.cjs b/packages/misskey-bubble-game/.eslintrc.cjs deleted file mode 100644 index e2e31e9e331e..000000000000 --- a/packages/misskey-bubble-game/.eslintrc.cjs +++ /dev/null @@ -1,9 +0,0 @@ -module.exports = { - parserOptions: { - tsconfigRootDir: __dirname, - project: ['./tsconfig.json'], - }, - extends: [ - '../shared/.eslintrc.js', - ], -}; diff --git a/packages/misskey-bubble-game/package.json b/packages/misskey-bubble-game/package.json index 40681c96bd02..8ca9f91cf228 100644 --- a/packages/misskey-bubble-game/package.json +++ b/packages/misskey-bubble-game/package.json @@ -1,47 +1,42 @@ { - "type": "module", - "name": "misskey-bubble-game", - "version": "0.0.1", - "types": "./built/dts/index.d.ts", - "exports": { - ".": { - "import": "./built/esm/index.js", - "types": "./built/dts/index.d.ts" - }, - "./*": { - "import": "./built/esm/*", - "types": "./built/dts/*" - } - }, - "scripts": { - "build": "node ./build.js", - "build:tsc": "pnpm tsc-esm && pnpm tsc-dts", - "tsc-esm": "tsc --outDir built/esm", - "tsc-dts": "tsc --outDir built/dts --declaration true --emitDeclarationOnly true --declarationMap true", - "watch": "nodemon -w src -e ts,js,cjs,mjs,json --exec \"pnpm run build:tsc\"", - "eslint": "eslint . --ext .js,.jsx,.ts,.tsx", - "typecheck": "tsc --noEmit", - "lint": "pnpm typecheck && pnpm eslint" - }, - "devDependencies": { - "@misskey-dev/eslint-plugin": "1.0.0", - "@types/matter-js": "0.19.7", - "@types/node": "22.9.1", - "@types/seedrandom": "3.0.8", - "@typescript-eslint/eslint-plugin": "7.10.0", - "@typescript-eslint/parser": "7.10.0", - "eslint": "8.57.1", - "nodemon": "3.1.7", - "typescript": "5.6.3" - }, - "files": [ - "built" - ], - "dependencies": { - "esbuild": "0.24.0", - "eventemitter3": "5.0.1", - "glob": "11.0.0", - "matter-js": "0.20.0", - "seedrandom": "3.0.5" - } + "type": "module", + "name": "misskey-bubble-game", + "version": "0.0.1", + "types": "./built/dts/index.d.ts", + "exports": { + ".": { + "import": "./built/esm/index.js", + "types": "./built/dts/index.d.ts" + }, + "./*": { + "import": "./built/esm/*", + "types": "./built/dts/*" + } + }, + "scripts": { + "build": "node ./build.js", + "build:tsc": "pnpm tsc-esm && pnpm tsc-dts", + "tsc-esm": "tsc --outDir built/esm", + "tsc-dts": "tsc --outDir built/dts --declaration true --emitDeclarationOnly true --declarationMap true", + "watch": "nodemon -w src -e ts,js,cjs,mjs,json --exec \"pnpm run build:tsc\"", + "typecheck": "tsc --noEmit", + "format": "biome check --write", + "lint": "pnpm typecheck && biome check" + }, + "devDependencies": { + "@biomejs/biome": "1.9.4", + "@types/matter-js": "0.19.7", + "@types/node": "22.9.1", + "@types/seedrandom": "3.0.8", + "nodemon": "3.1.7", + "typescript": "5.6.3" + }, + "files": ["built"], + "dependencies": { + "esbuild": "0.24.0", + "eventemitter3": "5.0.1", + "glob": "11.0.0", + "matter-js": "0.20.0", + "seedrandom": "3.0.5" + } } diff --git a/packages/misskey-bubble-game/src/game.ts b/packages/misskey-bubble-game/src/game.ts index a122f3f77995..f0f5d4541203 100644 --- a/packages/misskey-bubble-game/src/game.ts +++ b/packages/misskey-bubble-game/src/game.ts @@ -204,10 +204,10 @@ export class DropAndFusionGame extends EventEmitter<{ } else if (mono.shape === 'rectangle') { return Matter.Bodies.rectangle(x, y, mono.sizeX, mono.sizeY, options); } else if (mono.shape === 'custom') { - return Matter.Bodies.fromVertices(x, y, mono.vertices!.map(i => i.map(j => ({ + return Matter.Bodies.fromVertices(x, y, mono.vertices?.map(i => i.map(j => ({ x: (j.x / mono.verticesSize!) * mono.sizeX, y: (j.y / mono.verticesSize!) * mono.sizeY, - }))), options); + }))) ?? [], options); } else { throw new Error('unrecognized shape'); } diff --git a/packages/misskey-bubble-game/tsconfig.json b/packages/misskey-bubble-game/tsconfig.json index f56b65e86802..9fc1666778da 100644 --- a/packages/misskey-bubble-game/tsconfig.json +++ b/packages/misskey-bubble-game/tsconfig.json @@ -1,7 +1,7 @@ { "$schema": "https://json.schemastore.org/tsconfig", "compilerOptions": { - "target": "ES2022", + "target": "es2022", "module": "nodenext", "moduleResolution": "nodenext", "declaration": true, diff --git a/packages/misskey-js/.eslintignore b/packages/misskey-js/.eslintignore deleted file mode 100644 index f22128f047fd..000000000000 --- a/packages/misskey-js/.eslintignore +++ /dev/null @@ -1,7 +0,0 @@ -node_modules -/built -/coverage -/.eslintrc.js -/jest.config.ts -/test -/test-d diff --git a/packages/misskey-js/.eslintrc.cjs b/packages/misskey-js/.eslintrc.cjs deleted file mode 100644 index e2e31e9e331e..000000000000 --- a/packages/misskey-js/.eslintrc.cjs +++ /dev/null @@ -1,9 +0,0 @@ -module.exports = { - parserOptions: { - tsconfigRootDir: __dirname, - project: ['./tsconfig.json'], - }, - extends: [ - '../shared/.eslintrc.js', - ], -}; diff --git a/packages/misskey-js/generator/.eslintrc.cjs b/packages/misskey-js/generator/.eslintrc.cjs deleted file mode 100644 index 6a8b31da9cc6..000000000000 --- a/packages/misskey-js/generator/.eslintrc.cjs +++ /dev/null @@ -1,9 +0,0 @@ -module.exports = { - parserOptions: { - tsconfigRootDir: __dirname, - project: ['./tsconfig.json'], - }, - extends: [ - '../../shared/.eslintrc.js', - ], -}; diff --git a/packages/misskey-js/generator/package.json b/packages/misskey-js/generator/package.json index af6fbc22ef39..987414861973 100644 --- a/packages/misskey-js/generator/package.json +++ b/packages/misskey-js/generator/package.json @@ -1,25 +1,19 @@ { - "name": "misskey-js-type-generator", - "version": "0.0.0", - "description": "Misskey TypeGenerator", - "type": "module", - "scripts": { - "generate": "tsx src/generator.ts && eslint ./built/**/* --ext .ts --fix" - }, - "devDependencies": { - "@misskey-dev/eslint-plugin": "^1.0.0", - "@readme/openapi-parser": "2.6.0", - "@types/node": "22.9.1", - "@typescript-eslint/eslint-plugin": "7.10.0", - "@typescript-eslint/parser": "7.10.0", - "eslint": "8.57.1", - "openapi-types": "12.1.3", - "openapi-typescript": "6.7.6", - "ts-case-convert": "2.1.0", - "tsx": "4.19.2", - "typescript": "5.6.3" - }, - "files": [ - "built" - ] + "name": "misskey-js-type-generator", + "version": "0.0.0", + "description": "Misskey TypeGenerator", + "type": "module", + "scripts": { + "generate": "tsx src/generator.ts" + }, + "devDependencies": { + "@readme/openapi-parser": "2.6.0", + "@types/node": "22.9.1", + "openapi-types": "12.1.3", + "openapi-typescript": "6.7.6", + "ts-case-convert": "2.1.0", + "tsx": "4.19.2", + "typescript": "5.6.3" + }, + "files": ["built"] } diff --git a/packages/misskey-js/package.json b/packages/misskey-js/package.json index 604ea73f5c5e..8c25ac8728c2 100644 --- a/packages/misskey-js/package.json +++ b/packages/misskey-js/package.json @@ -1,66 +1,59 @@ { - "type": "module", - "name": "misskey-js", - "version": "2024.5.0-io.4d", - "description": "Misskey SDK for JavaScript", - "types": "./built/dts/index.d.ts", - "exports": { - ".": { - "import": "./built/esm/index.js", - "types": "./built/dts/index.d.ts" - }, - "./*": { - "import": "./built/esm/*", - "types": "./built/dts/*" - } - }, - "scripts": { - "build": "pnpm run build:tsc", - "build:tsc": "pnpm tsc-esm && pnpm tsc-dts", - "tsc-esm": "tsc --outDir built/esm", - "tsc-dts": "tsc --outDir built/dts --declaration true --emitDeclarationOnly true --declarationMap true", - "watch": "nodemon -w src -e ts,js,cjs,mjs,json --exec \"pnpm run build\"", - "tsd": "tsd", - "api": "pnpm api-extractor run --local --verbose", - "api-prod": "pnpm api-extractor run --verbose", - "eslint": "eslint . --ext .js,.jsx,.ts,.tsx", - "typecheck": "tsc --noEmit", - "lint": "pnpm typecheck && pnpm eslint", - "jest": "jest --coverage --detectOpenHandles", - "test": "pnpm jest && pnpm tsd", - "update-autogen-code": "pnpm --filter misskey-js-type-generator generate && ncp generator/built/autogen src/autogen" - }, - "repository": { - "type": "git", - "url": "git+https://github.com/misskey-dev/misskey.js.git" - }, - "devDependencies": { - "@microsoft/api-extractor": "7.47.12", - "@misskey-dev/eslint-plugin": "1.0.0", - "@swc/jest": "0.2.37", - "@types/jest": "29.5.14", - "@types/node": "22.9.1", - "@typescript-eslint/eslint-plugin": "7.10.0", - "@typescript-eslint/parser": "7.10.0", - "eslint": "8.57.1", - "jest": "29.7.0", - "jest-fetch-mock": "3.0.3", - "jest-websocket-mock": "2.5.0", - "mock-socket": "9.3.1", - "ncp": "2.0.0", - "nodemon": "3.1.7", - "tsd": "0.31.2", - "typescript": "5.6.3" - }, - "files": [ - "built", - "built/esm", - "built/dts" - ], - "dependencies": { - "@swc/cli": "0.5.1", - "@swc/core": "1.9.3", - "eventemitter3": "5.0.1", - "reconnecting-websocket": "4.4.0" - } + "type": "module", + "name": "misskey-js", + "version": "2024.5.0-io.4d", + "description": "Misskey SDK for JavaScript", + "types": "./built/dts/index.d.ts", + "exports": { + ".": { + "import": "./built/esm/index.js", + "types": "./built/dts/index.d.ts" + }, + "./*": { + "import": "./built/esm/*", + "types": "./built/dts/*" + } + }, + "scripts": { + "build": "pnpm run build:tsc", + "build:tsc": "pnpm tsc-esm && pnpm tsc-dts", + "tsc-esm": "tsc --outDir built/esm", + "tsc-dts": "tsc --outDir built/dts --declaration true --emitDeclarationOnly true --declarationMap true", + "watch": "nodemon -w src -e ts,js,cjs,mjs,json --exec \"pnpm run build\"", + "tsd": "tsd", + "api": "pnpm api-extractor run --local --verbose", + "api-prod": "pnpm api-extractor run --verbose", + "typecheck": "tsc --noEmit", + "format": "biome check --write", + "lint": "pnpm typecheck && biome check", + "jest": "jest --coverage --detectOpenHandles", + "test": "pnpm jest && pnpm tsd", + "update-autogen-code": "pnpm --filter misskey-js-type-generator generate && ncp generator/built/autogen src/autogen && biome check --write --unsafe --diagnostic-level=error src/autogen" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/misskey-dev/misskey.js.git" + }, + "devDependencies": { + "@biomejs/biome": "1.9.4", + "@microsoft/api-extractor": "7.47.12", + "@swc/jest": "0.2.37", + "@types/jest": "29.5.14", + "@types/node": "22.9.1", + "jest": "29.7.0", + "jest-fetch-mock": "3.0.3", + "jest-websocket-mock": "2.5.0", + "mock-socket": "9.3.1", + "ncp": "2.0.0", + "nodemon": "3.1.7", + "tsd": "0.31.2", + "typescript": "5.6.3" + }, + "files": ["built", "built/esm", "built/dts"], + "dependencies": { + "@swc/cli": "0.5.1", + "@swc/core": "1.9.3", + "eventemitter3": "5.0.1", + "reconnecting-websocket": "4.4.0" + } } diff --git a/packages/misskey-js/src/acct.ts b/packages/misskey-js/src/acct.ts index b25bc564ea7d..6358611f825a 100644 --- a/packages/misskey-js/src/acct.ts +++ b/packages/misskey-js/src/acct.ts @@ -9,6 +9,7 @@ export function parse(acct: string): Acct { return { username: split[0], host: split[1] || null }; } +// biome-ignore lint/suspicious/noShadowRestrictedNames: desired behavior export function toString(acct: Acct): string { return acct.host == null ? acct.username : `${acct.username}@${acct.host}`; } diff --git a/packages/misskey-js/tsconfig.json b/packages/misskey-js/tsconfig.json index f56b65e86802..9fc1666778da 100644 --- a/packages/misskey-js/tsconfig.json +++ b/packages/misskey-js/tsconfig.json @@ -1,7 +1,7 @@ { "$schema": "https://json.schemastore.org/tsconfig", "compilerOptions": { - "target": "ES2022", + "target": "es2022", "module": "nodenext", "moduleResolution": "nodenext", "declaration": true, diff --git a/packages/misskey-reversi/.eslintignore b/packages/misskey-reversi/.eslintignore deleted file mode 100644 index f22128f047fd..000000000000 --- a/packages/misskey-reversi/.eslintignore +++ /dev/null @@ -1,7 +0,0 @@ -node_modules -/built -/coverage -/.eslintrc.js -/jest.config.ts -/test -/test-d diff --git a/packages/misskey-reversi/.eslintrc.cjs b/packages/misskey-reversi/.eslintrc.cjs deleted file mode 100644 index db37a0109871..000000000000 --- a/packages/misskey-reversi/.eslintrc.cjs +++ /dev/null @@ -1,10 +0,0 @@ -module.exports = { - root: true, - parserOptions: { - tsconfigRootDir: __dirname, - project: ['./tsconfig.json'], - }, - extends: [ - '../shared/.eslintrc.js', - ], -}; diff --git a/packages/misskey-reversi/package.json b/packages/misskey-reversi/package.json index 712c08555916..666fc10372f6 100644 --- a/packages/misskey-reversi/package.json +++ b/packages/misskey-reversi/package.json @@ -1,43 +1,38 @@ { - "type": "module", - "name": "misskey-reversi", - "version": "0.0.1", - "types": "./built/dts/index.d.ts", - "exports": { - ".": { - "import": "./built/esm/index.js", - "types": "./built/dts/index.d.ts" - }, - "./*": { - "import": "./built/esm/*", - "types": "./built/dts/*" - } - }, - "scripts": { - "build": "node ./build.js", - "build:tsc": "pnpm tsc-esm && pnpm tsc-dts", - "tsc-esm": "tsc --outDir built/esm", - "tsc-dts": "tsc --outDir built/dts --declaration true --emitDeclarationOnly true --declarationMap true", - "watch": "nodemon -w src -e ts,js,cjs,mjs,json --exec \"pnpm run build:tsc\"", - "eslint": "eslint . --ext .js,.jsx,.ts,.tsx", - "typecheck": "tsc --noEmit", - "lint": "pnpm typecheck && pnpm eslint" - }, - "devDependencies": { - "@misskey-dev/eslint-plugin": "1.0.0", - "@types/node": "22.9.1", - "@typescript-eslint/eslint-plugin": "7.10.0", - "@typescript-eslint/parser": "7.10.0", - "eslint": "8.57.1", - "nodemon": "3.1.7", - "typescript": "5.6.3" - }, - "dependencies": { - "crc-32": "1.2.2", - "esbuild": "0.24.0", - "glob": "11.0.0" - }, - "files": [ - "built" - ] + "type": "module", + "name": "misskey-reversi", + "version": "0.0.1", + "types": "./built/dts/index.d.ts", + "exports": { + ".": { + "import": "./built/esm/index.js", + "types": "./built/dts/index.d.ts" + }, + "./*": { + "import": "./built/esm/*", + "types": "./built/dts/*" + } + }, + "scripts": { + "build": "node ./build.js", + "build:tsc": "pnpm tsc-esm && pnpm tsc-dts", + "tsc-esm": "tsc --outDir built/esm", + "tsc-dts": "tsc --outDir built/dts --declaration true --emitDeclarationOnly true --declarationMap true", + "watch": "nodemon -w src -e ts,js,cjs,mjs,json --exec \"pnpm run build:tsc\"", + "typecheck": "tsc --noEmit", + "format": "biome check --write", + "lint": "pnpm typecheck && biome check" + }, + "devDependencies": { + "@biomejs/biome": "1.9.4", + "@types/node": "22.9.1", + "nodemon": "3.1.7", + "typescript": "5.6.3" + }, + "dependencies": { + "crc-32": "1.2.2", + "esbuild": "0.24.0", + "glob": "11.0.0" + }, + "files": ["built"] } diff --git a/packages/misskey-reversi/tsconfig.json b/packages/misskey-reversi/tsconfig.json index f56b65e86802..9fc1666778da 100644 --- a/packages/misskey-reversi/tsconfig.json +++ b/packages/misskey-reversi/tsconfig.json @@ -1,7 +1,7 @@ { "$schema": "https://json.schemastore.org/tsconfig", "compilerOptions": { - "target": "ES2022", + "target": "es2022", "module": "nodenext", "moduleResolution": "nodenext", "declaration": true, diff --git a/packages/shared/.eslintrc.js b/packages/shared/.eslintrc.js deleted file mode 100644 index 58247877ae27..000000000000 --- a/packages/shared/.eslintrc.js +++ /dev/null @@ -1,7 +0,0 @@ -module.exports = { - root: true, - ignorePatterns: ['**/.eslintrc.cjs'], - extends: [ - 'plugin:@misskey-dev/recommended', - ], -}; diff --git a/packages/sw/.eslintrc.cjs b/packages/sw/.eslintrc.cjs deleted file mode 100644 index b1fd6b5edc80..000000000000 --- a/packages/sw/.eslintrc.cjs +++ /dev/null @@ -1,20 +0,0 @@ -module.exports = { - root: true, - env: { - node: false, - }, - parserOptions: { - parser: '@typescript-eslint/parser', - tsconfigRootDir: __dirname, - project: ['./tsconfig.json'], - }, - extends: ['../shared/.eslintrc.js'], - globals: { - require: false, - _DEV_: false, - _LANGS_: false, - _VERSION_: false, - _ENV_: false, - _PERF_PREFIX_: false, - }, -}; diff --git a/packages/sw/package.json b/packages/sw/package.json index c7c36f92ec53..12418794d0be 100644 --- a/packages/sw/package.json +++ b/packages/sw/package.json @@ -1,26 +1,23 @@ { - "name": "sw", - "private": true, - "scripts": { - "watch": "nodemon -w ../../package.json -e json --exec \"node build.js watch\"", - "build": "node build.js", - "typecheck": "tsc --noEmit", - "eslint": "eslint --quiet src/**/*.ts", - "lint": "pnpm typecheck && pnpm eslint" - }, - "dependencies": { - "esbuild": "0.24.0", - "idb-keyval": "6.2.1", - "misskey-js": "workspace:*" - }, - "devDependencies": { - "@misskey-dev/eslint-plugin": "1.0.0", - "@types/serviceworker": "0.0.105", - "@typescript-eslint/parser": "7.10.0", - "eslint": "8.57.1", - "eslint-plugin-import": "2.31.0", - "nodemon": "3.1.7", - "typescript": "5.6.3" - }, - "type": "module" + "name": "sw", + "private": true, + "scripts": { + "watch": "nodemon -w ../../package.json -e json --exec \"node build.js watch\"", + "build": "node build.js", + "typecheck": "tsc --noEmit", + "format": "biome check --write", + "lint": "pnpm typecheck && biome check" + }, + "dependencies": { + "esbuild": "0.24.0", + "idb-keyval": "6.2.1", + "misskey-js": "workspace:*" + }, + "devDependencies": { + "@biomejs/biome": "1.9.4", + "@types/serviceworker": "0.0.105", + "nodemon": "3.1.7", + "typescript": "5.6.3" + }, + "type": "module" } diff --git a/packages/sw/src/scripts/create-notification.ts b/packages/sw/src/scripts/create-notification.ts index 7d28d8a694ba..d26c22269591 100644 --- a/packages/sw/src/scripts/create-notification.ts +++ b/packages/sw/src/scripts/create-notification.ts @@ -250,6 +250,7 @@ async function composeNotification(data: PushNotificationDataMap[keyof PushNotif } export async function createEmptyNotification(): Promise { + // biome-ignore lint/suspicious/noAsyncPromiseExecutor: desired behavior return new Promise(async res => { const i18n = await (swLang.i18n ?? swLang.fetchLocale()); const { t } = i18n; diff --git a/packages/sw/tsconfig.json b/packages/sw/tsconfig.json index f3f354301387..d48e4d7e93b9 100644 --- a/packages/sw/tsconfig.json +++ b/packages/sw/tsconfig.json @@ -9,7 +9,7 @@ "noFallthroughCasesInSwitch": true, "declaration": false, "sourceMap": false, - "target": "ES2022", + "target": "es2022", "module": "nodenext", "moduleResolution": "nodenext", "removeComments": false, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 88fa3520a29b..eb6f9692f546 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -45,24 +45,21 @@ importers: specifier: 4.22.0 version: 4.22.0(encoding@0.1.13) devDependencies: + '@biomejs/biome': + specifier: 1.9.4 + version: 1.9.4 '@types/node': specifier: 22.9.1 version: 22.9.1 - '@typescript-eslint/eslint-plugin': - specifier: 7.10.0 - version: 7.10.0(@typescript-eslint/parser@7.10.0(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3) - '@typescript-eslint/parser': - specifier: 7.10.0 - version: 7.10.0(eslint@8.57.1)(typescript@5.6.3) cross-env: specifier: 7.0.3 version: 7.0.3 cypress: specifier: 13.16.0 version: 13.16.0 - eslint: - specifier: 8.57.1 - version: 8.57.1 + lefthook: + specifier: 1.8.4 + version: 1.8.4 ncp: specifier: 2.0.0 version: 2.0.0 @@ -533,12 +530,12 @@ importers: specifier: 6.0.5 version: 6.0.5 devDependencies: + '@biomejs/biome': + specifier: 1.9.4 + version: 1.9.4 '@jest/globals': specifier: 29.7.0 version: 29.7.0 - '@misskey-dev/eslint-plugin': - specifier: 1.0.0 - version: 1.0.0(@typescript-eslint/eslint-plugin@7.10.0(@typescript-eslint/parser@7.10.0(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3))(@typescript-eslint/parser@7.10.0(eslint@8.57.1)(typescript@5.6.3))(eslint-plugin-import@2.31.0(@typescript-eslint/parser@7.10.0(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1))(eslint@8.57.1) '@nestjs/platform-express': specifier: 10.4.8 version: 10.4.8(@nestjs/common@10.4.8(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.8) @@ -662,24 +659,12 @@ importers: '@types/ws': specifier: 8.5.13 version: 8.5.13 - '@typescript-eslint/eslint-plugin': - specifier: 7.10.0 - version: 7.10.0(@typescript-eslint/parser@7.10.0(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3) - '@typescript-eslint/parser': - specifier: 7.10.0 - version: 7.10.0(eslint@8.57.1)(typescript@5.6.3) aws-sdk-client-mock: specifier: 4.1.0 version: 4.1.0 cross-env: specifier: 7.0.3 version: 7.0.3 - eslint: - specifier: 8.57.1 - version: 8.57.1 - eslint-plugin-import: - specifier: 2.31.0 - version: 2.31.0(@typescript-eslint/parser@7.10.0(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1) execa: specifier: 9.5.1 version: 9.5.1 @@ -885,9 +870,9 @@ importers: specifier: next version: 4.1.0(vue@3.5.13(typescript@5.6.3)) devDependencies: - '@misskey-dev/eslint-plugin': - specifier: 1.0.0 - version: 1.0.0(@typescript-eslint/eslint-plugin@7.10.0(@typescript-eslint/parser@7.10.0(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3))(@typescript-eslint/parser@7.10.0(eslint@8.57.1)(typescript@5.6.3))(eslint-plugin-import@2.31.0(@typescript-eslint/parser@7.10.0(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1))(eslint@8.57.1) + '@biomejs/biome': + specifier: 1.9.4 + version: 1.9.4 '@misskey-dev/summaly': specifier: MisskeyIO/summaly#5.1.1 version: https://codeload.github.com/MisskeyIO/summaly/tar.gz/a562d428c0024db418108513f33a18622ad3f285 @@ -978,12 +963,6 @@ importers: '@types/ws': specifier: 8.5.13 version: 8.5.13 - '@typescript-eslint/eslint-plugin': - specifier: 7.10.0 - version: 7.10.0(@typescript-eslint/parser@7.10.0(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3) - '@typescript-eslint/parser': - specifier: 7.10.0 - version: 7.10.0(eslint@8.57.1)(typescript@5.6.3) '@vitest/coverage-v8': specifier: 2.1.5 version: 2.1.5(vitest@2.1.5(@types/node@22.9.1)(happy-dom@15.11.6)(jsdom@25.0.1(bufferutil@4.0.8)(utf-8-validate@6.0.5))(msw@2.6.5(@types/node@22.9.1)(typescript@5.6.3))(sass@1.81.0)(terser@5.36.0)) @@ -999,15 +978,6 @@ importers: cypress: specifier: 13.16.0 version: 13.16.0 - eslint: - specifier: 8.57.1 - version: 8.57.1 - eslint-plugin-import: - specifier: 2.31.0 - version: 2.31.0(@typescript-eslint/parser@7.10.0(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1) - eslint-plugin-vue: - specifier: 9.31.0 - version: 9.31.0(eslint@8.57.1) fast-glob: specifier: 3.3.2 version: 3.3.2 @@ -1059,9 +1029,6 @@ importers: vue-component-type-helpers: specifier: 2.1.10 version: 2.1.10 - vue-eslint-parser: - specifier: 9.4.3 - version: 9.4.3(eslint@8.57.1) vue-tsc: specifier: 2.1.10 version: 2.1.10(typescript@5.6.3) @@ -1084,9 +1051,9 @@ importers: specifier: 3.0.5 version: 3.0.5 devDependencies: - '@misskey-dev/eslint-plugin': - specifier: 1.0.0 - version: 1.0.0(@typescript-eslint/eslint-plugin@7.10.0(@typescript-eslint/parser@7.10.0(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3))(@typescript-eslint/parser@7.10.0(eslint@8.57.1)(typescript@5.6.3))(eslint-plugin-import@2.31.0(@typescript-eslint/parser@7.10.0(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1))(eslint@8.57.1) + '@biomejs/biome': + specifier: 1.9.4 + version: 1.9.4 '@types/matter-js': specifier: 0.19.7 version: 0.19.7 @@ -1096,15 +1063,6 @@ importers: '@types/seedrandom': specifier: 3.0.8 version: 3.0.8 - '@typescript-eslint/eslint-plugin': - specifier: 7.10.0 - version: 7.10.0(@typescript-eslint/parser@7.10.0(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3) - '@typescript-eslint/parser': - specifier: 7.10.0 - version: 7.10.0(eslint@8.57.1)(typescript@5.6.3) - eslint: - specifier: 8.57.1 - version: 8.57.1 nodemon: specifier: 3.1.7 version: 3.1.7 @@ -1127,12 +1085,12 @@ importers: specifier: 4.4.0 version: 4.4.0 devDependencies: + '@biomejs/biome': + specifier: 1.9.4 + version: 1.9.4 '@microsoft/api-extractor': specifier: 7.47.12 version: 7.47.12(@types/node@22.9.1) - '@misskey-dev/eslint-plugin': - specifier: 1.0.0 - version: 1.0.0(@typescript-eslint/eslint-plugin@7.10.0(@typescript-eslint/parser@7.10.0(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3))(@typescript-eslint/parser@7.10.0(eslint@8.57.1)(typescript@5.6.3))(eslint-plugin-import@2.31.0(@typescript-eslint/parser@7.10.0(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1))(eslint@8.57.1) '@swc/jest': specifier: 0.2.37 version: 0.2.37(@swc/core@1.9.3(@swc/helpers@0.5.15)) @@ -1142,15 +1100,6 @@ importers: '@types/node': specifier: 22.9.1 version: 22.9.1 - '@typescript-eslint/eslint-plugin': - specifier: 7.10.0 - version: 7.10.0(@typescript-eslint/parser@7.10.0(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3) - '@typescript-eslint/parser': - specifier: 7.10.0 - version: 7.10.0(eslint@8.57.1)(typescript@5.6.3) - eslint: - specifier: 8.57.1 - version: 8.57.1 jest: specifier: 29.7.0 version: 29.7.0(@types/node@22.9.1) @@ -1178,24 +1127,15 @@ importers: packages/misskey-js/generator: devDependencies: - '@misskey-dev/eslint-plugin': - specifier: ^1.0.0 - version: 1.0.0(@typescript-eslint/eslint-plugin@7.10.0(@typescript-eslint/parser@7.10.0(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3))(@typescript-eslint/parser@7.10.0(eslint@8.57.1)(typescript@5.6.3))(eslint-plugin-import@2.31.0(@typescript-eslint/parser@7.10.0(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1))(eslint@8.57.1) + '@biomejs/biome': + specifier: 1.9.4 + version: 1.9.4 '@readme/openapi-parser': specifier: 2.6.0 version: 2.6.0(openapi-types@12.1.3) '@types/node': specifier: 22.9.1 version: 22.9.1 - '@typescript-eslint/eslint-plugin': - specifier: 7.10.0 - version: 7.10.0(@typescript-eslint/parser@7.10.0(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3) - '@typescript-eslint/parser': - specifier: 7.10.0 - version: 7.10.0(eslint@8.57.1)(typescript@5.6.3) - eslint: - specifier: 8.57.1 - version: 8.57.1 openapi-types: specifier: 12.1.3 version: 12.1.3 @@ -1224,21 +1164,12 @@ importers: specifier: 11.0.0 version: 11.0.0 devDependencies: - '@misskey-dev/eslint-plugin': - specifier: 1.0.0 - version: 1.0.0(@typescript-eslint/eslint-plugin@7.10.0(@typescript-eslint/parser@7.10.0(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3))(@typescript-eslint/parser@7.10.0(eslint@8.57.1)(typescript@5.6.3))(eslint-plugin-import@2.31.0(@typescript-eslint/parser@7.10.0(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1))(eslint@8.57.1) + '@biomejs/biome': + specifier: 1.9.4 + version: 1.9.4 '@types/node': specifier: 22.9.1 version: 22.9.1 - '@typescript-eslint/eslint-plugin': - specifier: 7.10.0 - version: 7.10.0(@typescript-eslint/parser@7.10.0(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3) - '@typescript-eslint/parser': - specifier: 7.10.0 - version: 7.10.0(eslint@8.57.1)(typescript@5.6.3) - eslint: - specifier: 8.57.1 - version: 8.57.1 nodemon: specifier: 3.1.7 version: 3.1.7 @@ -1258,21 +1189,12 @@ importers: specifier: workspace:* version: link:../misskey-js devDependencies: - '@misskey-dev/eslint-plugin': - specifier: 1.0.0 - version: 1.0.0(@typescript-eslint/eslint-plugin@7.10.0(@typescript-eslint/parser@7.10.0(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3))(@typescript-eslint/parser@7.10.0(eslint@8.57.1)(typescript@5.6.3))(eslint-plugin-import@2.31.0(@typescript-eslint/parser@7.10.0(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1))(eslint@8.57.1) + '@biomejs/biome': + specifier: 1.9.4 + version: 1.9.4 '@types/serviceworker': specifier: 0.0.105 version: 0.0.105 - '@typescript-eslint/parser': - specifier: 7.10.0 - version: 7.10.0(eslint@8.57.1)(typescript@5.6.3) - eslint: - specifier: 8.57.1 - version: 8.57.1 - eslint-plugin-import: - specifier: 2.31.0 - version: 2.31.0(@typescript-eslint/parser@7.10.0(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1) nodemon: specifier: 3.1.7 version: 3.1.7 @@ -1644,6 +1566,59 @@ packages: '@bcoe/v8-coverage@0.2.3': resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} + '@biomejs/biome@1.9.4': + resolution: {integrity: sha512-1rkd7G70+o9KkTn5KLmDYXihGoTaIGO9PIIN2ZB7UJxFrWw04CZHPYiMRjYsaDvVV7hP1dYNRLxSANLaBFGpog==} + engines: {node: '>=14.21.3'} + hasBin: true + + '@biomejs/cli-darwin-arm64@1.9.4': + resolution: {integrity: sha512-bFBsPWrNvkdKrNCYeAp+xo2HecOGPAy9WyNyB/jKnnedgzl4W4Hb9ZMzYNbf8dMCGmUdSavlYHiR01QaYR58cw==} + engines: {node: '>=14.21.3'} + cpu: [arm64] + os: [darwin] + + '@biomejs/cli-darwin-x64@1.9.4': + resolution: {integrity: sha512-ngYBh/+bEedqkSevPVhLP4QfVPCpb+4BBe2p7Xs32dBgs7rh9nY2AIYUL6BgLw1JVXV8GlpKmb/hNiuIxfPfZg==} + engines: {node: '>=14.21.3'} + cpu: [x64] + os: [darwin] + + '@biomejs/cli-linux-arm64-musl@1.9.4': + resolution: {integrity: sha512-v665Ct9WCRjGa8+kTr0CzApU0+XXtRgwmzIf1SeKSGAv+2scAlW6JR5PMFo6FzqqZ64Po79cKODKf3/AAmECqA==} + engines: {node: '>=14.21.3'} + cpu: [arm64] + os: [linux] + + '@biomejs/cli-linux-arm64@1.9.4': + resolution: {integrity: sha512-fJIW0+LYujdjUgJJuwesP4EjIBl/N/TcOX3IvIHJQNsAqvV2CHIogsmA94BPG6jZATS4Hi+xv4SkBBQSt1N4/g==} + engines: {node: '>=14.21.3'} + cpu: [arm64] + os: [linux] + + '@biomejs/cli-linux-x64-musl@1.9.4': + resolution: {integrity: sha512-gEhi/jSBhZ2m6wjV530Yy8+fNqG8PAinM3oV7CyO+6c3CEh16Eizm21uHVsyVBEB6RIM8JHIl6AGYCv6Q6Q9Tg==} + engines: {node: '>=14.21.3'} + cpu: [x64] + os: [linux] + + '@biomejs/cli-linux-x64@1.9.4': + resolution: {integrity: sha512-lRCJv/Vi3Vlwmbd6K+oQ0KhLHMAysN8lXoCI7XeHlxaajk06u7G+UsFSO01NAs5iYuWKmVZjmiOzJ0OJmGsMwg==} + engines: {node: '>=14.21.3'} + cpu: [x64] + os: [linux] + + '@biomejs/cli-win32-arm64@1.9.4': + resolution: {integrity: sha512-tlbhLk+WXZmgwoIKwHIHEBZUwxml7bRJgk0X2sPyNR3S93cdRq6XulAZRQJ17FYGGzWne0fgrXBKpl7l4M87Hg==} + engines: {node: '>=14.21.3'} + cpu: [arm64] + os: [win32] + + '@biomejs/cli-win32-x64@1.9.4': + resolution: {integrity: sha512-8Y5wMhVIPaWe6jw2H+KlEm4wP/f7EW3810ZLmDlrEEy5KvBsb9ECEfu/kMWD484ijfQ8+nIi0giMgu9g1UAuuA==} + engines: {node: '>=14.21.3'} + cpu: [x64] + os: [win32] + '@bull-board/api@6.5.3': resolution: {integrity: sha512-k58OlCheALXaoN+5l8U0VfLo9jQvl2nSR3/6vUmFQV8wcNBPfRtQRxUBh9/SbTDmFvtvmzvMkc+J3yWGMCDrAw==} peerDependencies: @@ -1876,24 +1851,6 @@ packages: cpu: [x64] os: [win32] - '@eslint-community/eslint-utils@4.4.1': - resolution: {integrity: sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 - - '@eslint-community/regexpp@4.12.1': - resolution: {integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==} - engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - - '@eslint/eslintrc@2.1.4': - resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - - '@eslint/js@8.57.1': - resolution: {integrity: sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - '@fastify/accept-negotiator@2.0.0': resolution: {integrity: sha512-/Sce/kBzuTxIq5tJh85nVNOq9wKD8s+viIgX0fFMDBdw95gnpf53qmF1oBgJym3cPFliWUuSloVg/1w/rH0FcQ==} @@ -1977,23 +1934,10 @@ packages: '@hexagon/base64@1.1.28': resolution: {integrity: sha512-lhqDEAvWixy3bZ+UOYbPwUbBkwBq5C1LAJ/xPC8Oi+lL54oyakv/npbA0aU2hgCsx/1NUd4IBvV03+aUBWxerw==} - '@humanwhocodes/config-array@0.13.0': - resolution: {integrity: sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==} - engines: {node: '>=10.10.0'} - deprecated: Use @eslint/config-array instead - - '@humanwhocodes/module-importer@1.0.1': - resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} - engines: {node: '>=12.22'} - '@humanwhocodes/momoa@2.0.4': resolution: {integrity: sha512-RE815I4arJFtt+FVeU1Tgp9/Xvecacji8w/V6XtXsWWH/wz/eNkNbhb+ny/+PlVZjV0rxQpRSQKNKE3lcktHEA==} engines: {node: '>=10.10.0'} - '@humanwhocodes/object-schema@2.0.3': - resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==} - deprecated: Use @eslint/object-schema instead - '@img/sharp-darwin-arm64@0.33.5': resolution: {integrity: sha512-UT4p+iz/2H4twwAoLCqfA9UH5pI6DggwKEGuaPy7nCVQ8ZsiY5PIcrRvD1DzuY3qYL07NtIQcWnBSY/heikIFQ==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} @@ -2287,14 +2231,6 @@ packages: '@misskey-dev/browser-image-resizer@2024.1.0': resolution: {integrity: sha512-4EnO0zLW5NDtng3Gaz5MuT761uiuoOuplwX18wBqgj8w56LTU5BjLn/vbHwDIIe0j2gwqDYhMb7bDjmr1/Fomg==} - '@misskey-dev/eslint-plugin@1.0.0': - resolution: {integrity: sha512-dh6UbcrNDVg5DD8k8Qh4ab30OPpuEYIlJCqaBV/lkIV8wNN/AfCJ2V7iTP8V8KjryM4t+sf5IqzQLQnT0mWI4A==} - peerDependencies: - '@typescript-eslint/eslint-plugin': '>= 6' - '@typescript-eslint/parser': '>= 6' - eslint: '>= 3' - eslint-plugin-import: '>= 2' - '@misskey-dev/sharp-read-bmp@1.2.0': resolution: {integrity: sha512-er4pRakXzHYfEgOFAFfQagqDouG+wLm+kwNq1I30oSdIHDa0wM3KjFpfIGQ25Fks4GcmOl1s7Zh6xoQu5dNjTw==} @@ -2848,9 +2784,6 @@ packages: cpu: [x64] os: [win32] - '@rtsao/scc@1.1.0': - resolution: {integrity: sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==} - '@rushstack/node-core-library@5.10.0': resolution: {integrity: sha512-2pPLCuS/3x7DCd7liZkqOewGM0OzLyCacdvOe8j6Yrx9LkETGnxul1t7603bIaB8nUAooORcct9fFDOQMbWAgw==} peerDependencies: @@ -3679,9 +3612,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/jsonld@1.5.15': resolution: {integrity: sha512-PlAFPZjL+AuGYmwlqwKEL0IMP8M8RexH0NIPGfCVWSQ041H2rR/8OlyZSD7KsCVoN8vCfWdtWDBxX8yBVP+xow==} @@ -3868,64 +3798,6 @@ packages: '@types/yauzl@2.10.3': resolution: {integrity: sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==} - '@typescript-eslint/eslint-plugin@7.10.0': - resolution: {integrity: sha512-PzCr+a/KAef5ZawX7nbyNwBDtM1HdLIT53aSA2DDlxmxMngZ43O8SIePOeX8H5S+FHXeI6t97mTt/dDdzY4Fyw==} - engines: {node: ^18.18.0 || >=20.0.0} - peerDependencies: - '@typescript-eslint/parser': ^7.0.0 - eslint: ^8.56.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - - '@typescript-eslint/parser@7.10.0': - resolution: {integrity: sha512-2EjZMA0LUW5V5tGQiaa2Gys+nKdfrn2xiTIBLR4fxmPmVSvgPcKNW+AE/ln9k0A4zDUti0J/GZXMDupQoI+e1w==} - engines: {node: ^18.18.0 || >=20.0.0} - peerDependencies: - eslint: ^8.56.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - - '@typescript-eslint/scope-manager@7.10.0': - resolution: {integrity: sha512-7L01/K8W/VGl7noe2mgH0K7BE29Sq6KAbVmxurj8GGaPDZXPr8EEQ2seOeAS+mEV9DnzxBQB6ax6qQQ5C6P4xg==} - engines: {node: ^18.18.0 || >=20.0.0} - - '@typescript-eslint/type-utils@7.10.0': - resolution: {integrity: sha512-D7tS4WDkJWrVkuzgm90qYw9RdgBcrWmbbRkrLA4d7Pg3w0ttVGDsvYGV19SH8gPR5L7OtcN5J1hTtyenO9xE9g==} - engines: {node: ^18.18.0 || >=20.0.0} - peerDependencies: - eslint: ^8.56.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - - '@typescript-eslint/types@7.10.0': - resolution: {integrity: sha512-7fNj+Ya35aNyhuqrA1E/VayQX9Elwr8NKZ4WueClR3KwJ7Xx9jcCdOrLW04h51de/+gNbyFMs+IDxh5xIwfbNg==} - engines: {node: ^18.18.0 || >=20.0.0} - - '@typescript-eslint/typescript-estree@7.10.0': - resolution: {integrity: sha512-LXFnQJjL9XIcxeVfqmNj60YhatpRLt6UhdlFwAkjNc6jSUlK8zQOl1oktAP8PlWFzPQC1jny/8Bai3/HPuvN5g==} - engines: {node: ^18.18.0 || >=20.0.0} - peerDependencies: - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - - '@typescript-eslint/utils@7.10.0': - resolution: {integrity: sha512-olzif1Fuo8R8m/qKkzJqT7qwy16CzPRWBvERS0uvyc+DHd8AKbO4Jb7kpAvVzMmZm8TrHnI7hvjN4I05zow+tg==} - engines: {node: ^18.18.0 || >=20.0.0} - peerDependencies: - eslint: ^8.56.0 - - '@typescript-eslint/visitor-keys@7.10.0': - resolution: {integrity: sha512-9ntIVgsi6gg6FIq9xjEO4VQJvwOqA3jaBFQJ/6TK5AvEup2+cECI6Fh7QiBxmfMHXU0V0J4RyPeOU1VDNzl9cg==} - engines: {node: ^18.18.0 || >=20.0.0} - '@ungap/structured-clone@1.2.0': resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} @@ -4103,11 +3975,6 @@ packages: resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} engines: {node: '>= 0.6'} - acorn-jsx@5.3.2: - resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} - peerDependencies: - acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 - acorn@7.4.1: resolution: {integrity: sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==} engines: {node: '>=0.4.0'} @@ -4280,30 +4147,10 @@ packages: array-flatten@1.1.1: resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==} - array-includes@3.1.8: - resolution: {integrity: sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==} - 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.5: - resolution: {integrity: sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ==} - engines: {node: '>= 0.4'} - - array.prototype.flat@1.3.2: - resolution: {integrity: sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==} - engines: {node: '>= 0.4'} - - array.prototype.flatmap@1.3.2: - resolution: {integrity: sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==} - engines: {node: '>= 0.4'} - - arraybuffer.prototype.slice@1.0.3: - resolution: {integrity: sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==} - engines: {node: '>= 0.4'} - arrify@1.0.1: resolution: {integrity: sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==} engines: {node: '>=0.10.0'} @@ -5006,18 +4853,6 @@ packages: resolution: {integrity: sha512-ZYP5VBHshaDAiVZxjbRVcFJpc+4xGgT0bK3vzy1HLN8jTO975HEbuYzZJcHoQEY5K1a0z8YayJkyVETa08eNTg==} engines: {node: '>=18'} - data-view-buffer@1.0.1: - resolution: {integrity: sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==} - engines: {node: '>= 0.4'} - - data-view-byte-length@1.0.1: - resolution: {integrity: sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==} - engines: {node: '>= 0.4'} - - data-view-byte-offset@1.0.0: - resolution: {integrity: sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==} - engines: {node: '>= 0.4'} - date-fns@4.1.0: resolution: {integrity: sha512-Ukq0owbQXxa/U3EGtsdVBkR1w7KOQ5gIBqdH2hkvknzZPYvBxb/aa6E8L7tmjFtkwZBu3UXBbjIgPo/Ez4xaNg==} @@ -5084,9 +4919,6 @@ packages: resolution: {integrity: sha512-ZIwpnevOurS8bpT4192sqAowWM76JDKSHYzMLty3BZGSswgq6pBaH3DhCSW5xVAZICZyKdOBPjwww5wfgT/6PA==} engines: {node: '>= 0.4'} - deep-is@0.1.4: - resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} - deepmerge@4.3.1: resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} engines: {node: '>=0.10.0'} @@ -5171,10 +5003,6 @@ packages: disposable-email-domains@1.0.62: resolution: {integrity: sha512-LBQvhRw7mznQTPoyZbsmYeNOZt1pN5aCsx4BAU/3siVFuiM9f2oyKzUaB8v1jbxFjE3aYqYiMo63kAL4pHgfWQ==} - doctrine@2.1.0: - resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} - engines: {node: '>=0.10.0'} - doctrine@3.0.0: resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} engines: {node: '>=6.0.0'} @@ -5284,10 +5112,6 @@ packages: error-ex@1.3.2: resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} - es-abstract@1.23.5: - resolution: {integrity: sha512-vlmniQ0WNPwXqA0BnmwV3Ng7HxiGlh6r5U6JcTMNx8OilcAGqVJBHJcPjqOMaczU9fRuRK5Px2BdVyPRnKMMVQ==} - engines: {node: '>= 0.4'} - es-define-property@1.0.0: resolution: {integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==} engines: {node: '>= 0.4'} @@ -5302,21 +5126,6 @@ packages: es-module-lexer@1.5.4: resolution: {integrity: sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==} - es-object-atoms@1.0.0: - resolution: {integrity: sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==} - engines: {node: '>= 0.4'} - - es-set-tostringtag@2.0.3: - resolution: {integrity: sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==} - engines: {node: '>= 0.4'} - - es-shim-unscopables@1.0.2: - resolution: {integrity: sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==} - - es-to-primitive@1.2.1: - resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} - engines: {node: '>= 0.4'} - es-toolkit@1.27.0: resolution: {integrity: sha512-ETSFA+ZJArcuSCpzD2TjAy6UHpx4E4uqFsoDg9F/nTLogrLmVVZQ+zNxco5h7cWnA1nNak07IXsLcaSMih+ZPQ==} @@ -5366,83 +5175,17 @@ packages: resolution: {integrity: sha512-IsUTtGxF1hrH6lMWiSl1WbGaiP01eT6kzywdY1U+zLc0MP+nwEnUiS9UI8IaOTUhTeQJLlCEWIbXINBH4YJbBQ==} engines: {node: '>=10'} - eslint-import-resolver-node@0.3.9: - resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} - - eslint-module-utils@2.12.0: - resolution: {integrity: sha512-wALZ0HFoytlyh/1+4wuZ9FJCD/leWHQzzrxJ8+rebyReSLk7LApMyd3WJaLVoN+D5+WIdJyDK1c6JnE65V4Zyg==} - 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.31.0: - resolution: {integrity: sha512-ixmkI62Rbc2/w8Vfxyh1jQRTdRTF52VxwRVHl/ykPAmqG+Nb7/kNn+byLP0LxPgI7zWA16Jt82SybJInmMia3A==} - 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-vue@9.31.0: - resolution: {integrity: sha512-aYMUCgivhz1o4tLkRHj5oq9YgYPM4/EJc0M7TAKRLCUA5OYxRLAhYEVD2nLtTwLyixEFI+/QXSvKU9ESZFgqjQ==} - engines: {node: ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: ^6.2.0 || ^7.0.0 || ^8.0.0 || ^9.0.0 - eslint-rule-docs@1.1.235: resolution: {integrity: sha512-+TQ+x4JdTnDoFEXXb3fDvfGOwnyNV7duH8fXWTPD1ieaBmB8omj7Gw/pMBBu4uI2uJCCU8APDaQJzWuXnTsH4A==} - eslint-scope@7.2.2: - resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - - eslint-visitor-keys@3.4.3: - resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - - eslint@8.57.1: - resolution: {integrity: sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - deprecated: This version is no longer supported. Please see https://eslint.org/version-support for other options. - hasBin: true - esm-resolve@1.0.11: resolution: {integrity: sha512-LxF0wfUQm3ldUDHkkV2MIbvvY0TgzIpJ420jHSV1Dm+IlplBEWiJTKWM61GtxUfvjV6iD4OtTYFGAGM2uuIUWg==} - espree@9.6.1: - resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - esprima@4.0.1: resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} engines: {node: '>=4'} hasBin: true - esquery@1.6.0: - resolution: {integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==} - engines: {node: '>=0.10'} - - esrecurse@4.3.0: - resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} - engines: {node: '>=4.0'} - estraverse@5.3.0: resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} engines: {node: '>=4.0'} @@ -5569,9 +5312,6 @@ packages: fast-json-stringify@6.0.0: resolution: {integrity: sha512-FGMKZwniMTgZh7zQp9b6XnBVxUmKVahQLQeRQHqwYmPDqDhcEKZ3BaQsxelFFI5PY7nN71OEeiL47/zUWcYe1A==} - fast-levenshtein@2.0.6: - resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} - fast-querystring@1.1.2: resolution: {integrity: sha512-g6KuKWmFXc0fID8WWH0jit4g0AGBoJhCkJMb1RmbsSEUNvQ+ZC8D6CUZ+GtF8nMzSPXnhiePyyqqipzNNEnHjg==} @@ -5635,10 +5375,6 @@ packages: resolution: {integrity: sha512-d+l3qxjSesT4V7v2fh+QnmFnUWv9lSpjarhShNTgBOfA0ttejbQUAlHLitbjkoRiDulW0OPoQPYIGhIC8ohejg==} engines: {node: '>=18'} - file-entry-cache@6.0.1: - resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} - engines: {node: ^10.12.0 || >=12.0.0} - file-type@19.6.0: resolution: {integrity: sha512-VZR5I7k5wkD0HgFnMsq5hOsSc710MJMu5Nc5QYsbe38NN5iPV/XTObYLc/cpttRTf6lX538+5uO1ZQRhYibiZQ==} engines: {node: '>=18'} @@ -5689,16 +5425,9 @@ packages: resolution: {integrity: sha512-MdYSsbdCaIRjzo5edthZtWmEZVMfr1qrtYZUHIdO3swCE+CoZA8S5l0s4jDsYlTa9ZiXv0pTgpzE7s4N8NeUOA==} engines: {node: '>=18'} - flat-cache@3.2.0: - resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==} - engines: {node: ^10.12.0 || >=12.0.0} - flatbuffers@24.3.25: resolution: {integrity: sha512-3HDgPbgiwWMI9zVB7VYBHaMrbOO7Gm0v+yD2FV/sCKj+9NDeVL7BOBYUuhWAQGKWOzBo8S9WdMvV0eixO233XQ==} - flatted@3.3.2: - resolution: {integrity: sha512-AiwGJM8YcNOaobumgtng+6NHuOqC3A7MixFeDafM3X9cIUM+xUXoS5Vfgf+OihAYe20fxqNM9yPBXJzRtZ/4eA==} - fluent-ffmpeg@2.1.3: resolution: {integrity: sha512-Be3narBNt2s6bsaqP6Jzq91heDgOEaDCJAXcE3qcma/EJBSy5FB4cvO31XBInuAuKBx8Kptf8dkhjK0IOru39Q==} engines: {node: '>=18'} @@ -5784,10 +5513,6 @@ packages: function-bind@1.1.2: resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} - function.prototype.name@1.1.6: - resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==} - engines: {node: '>= 0.4'} - functions-have-names@1.2.3: resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} @@ -5831,10 +5556,6 @@ packages: resolution: {integrity: sha512-kVCxPF3vQM/N0B1PmoqVUqgHP+EeVjmZSQn+1oCRPxd2P21P2F19lIgbR3HBosbB1PUhOAoctJnfEn2GbN2eZA==} engines: {node: '>=18'} - get-symbol-description@1.0.2: - resolution: {integrity: sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==} - engines: {node: '>= 0.4'} - get-tsconfig@4.8.1: resolution: {integrity: sha512-k9PN+cFBmaLWtVz29SkUoqU5O0slLuHJXt/2P+tMVFT+phsSGXGkp9t3rQIqdz0e+06EHNGs3oM6ZX1s2zHxRg==} @@ -5852,10 +5573,6 @@ packages: resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} engines: {node: '>= 6'} - glob-parent@6.0.2: - resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} - engines: {node: '>=10.13.0'} - glob-promise@4.2.2: resolution: {integrity: sha512-xcUzJ8NWN5bktoTIX7eOclO1Npxd/dyVqUJxlLIDasT4C7KZyqlPIwkdJ0Ypiy3p2ZKahTjK4M9uC3sNSfNMzw==} engines: {node: '>=12'} @@ -5883,14 +5600,6 @@ packages: resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} engines: {node: '>=4'} - globals@13.24.0: - resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} - engines: {node: '>=8'} - - 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'} @@ -5915,9 +5624,6 @@ packages: grapheme-splitter@1.0.4: resolution: {integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==} - graphemer@1.4.0: - resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} - graphql@16.9.0: resolution: {integrity: sha512-GGTKBX4SD7Wdb8mqeDLni2oaRGYQWjWHGKPQ24ZMnUtKfcsVoiv4uX8+LJr1K6U5VW2Lu1BwJnj7uiori0YtRw==} engines: {node: ^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0} @@ -6127,10 +5833,6 @@ packages: immutable@5.0.3: resolution: {integrity: sha512-P8IdPQHq3lA1xVeBRi5VPqUm5HDgKnx0Ru51wZz5mjxHr5n3RWhjIpOFU7ybkUxfB+5IToy+OLaHYDBIWsv+uw==} - import-fresh@3.3.0: - resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} - engines: {node: '>=6'} - import-lazy@4.0.0: resolution: {integrity: sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==} engines: {node: '>=8'} @@ -6228,10 +5930,6 @@ packages: is-arrayish@0.3.2: resolution: {integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==} - is-async-function@2.0.0: - resolution: {integrity: sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==} - engines: {node: '>= 0.4'} - is-bigint@1.0.4: resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} @@ -6250,10 +5948,6 @@ packages: resolution: {integrity: sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==} engines: {node: '>= 0.4'} - is-data-view@1.0.1: - resolution: {integrity: sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==} - engines: {node: '>= 0.4'} - is-date-object@1.0.5: resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} engines: {node: '>= 0.4'} @@ -6273,9 +5967,6 @@ packages: is-file-animated@1.0.2: resolution: {integrity: sha512-TAYDUkvyBmxqneRU26zzpeHLAgtzEOIsRQWrtDidPT/tFK3Yc0WKgtF3u4oOEAiN0kAuVfl7MTgbD0vXdFDztA==} - is-finalizationregistry@1.0.2: - resolution: {integrity: sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==} - is-fullwidth-code-point@3.0.0: resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} engines: {node: '>=8'} @@ -6303,10 +5994,6 @@ packages: 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-node-process@1.2.0: resolution: {integrity: sha512-Vg4o6/fqPxIjtxgUH5QLJhwZ7gW5diGCVlXpuUfELC62CuxM1iHcRe51f2W1FDy04Ai4KJkagKjx3XaqyfRKXw==} @@ -6395,9 +6082,6 @@ packages: resolution: {integrity: sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==} engines: {node: '>= 0.4'} - is-weakref@1.0.2: - resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} - is-weakset@2.0.3: resolution: {integrity: sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==} engines: {node: '>= 0.4'} @@ -6689,9 +6373,6 @@ packages: json-schema@0.4.0: resolution: {integrity: sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==} - json-stable-stringify-without-jsonify@1.0.1: - resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} - json-stringify-safe@5.0.1: resolution: {integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==} @@ -6699,10 +6380,6 @@ packages: resolution: {integrity: sha512-W9Lq347r8tA1DfMvAGn9QNcgYm4Wm7Yc+k8e6vezpMnRT+NHbtlxgNBXRVjXe9YM6eTn6+p/MKOlV/aABJcSnQ==} engines: {node: '>= 4'} - 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'} @@ -6784,14 +6461,64 @@ packages: resolution: {integrity: sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==} engines: {node: '>= 0.6.3'} + lefthook-darwin-arm64@1.8.4: + resolution: {integrity: sha512-OS5MsU0gvd8LYSpuQCHtmDUqwNrJ/LjCO0LGC1wNepY4OkuVl9DfX+rQ506CVUQYZiGVcwy2/qPOOBjNzA5+wQ==} + cpu: [arm64] + os: [darwin] + + lefthook-darwin-x64@1.8.4: + resolution: {integrity: sha512-QLRsqK9aTMRcVW8qz4pzI2OWnGCEcaEPJlIiFjwstYsS+wfkooxOS0UkfVMjy+QoGgEcki+cxF/FoY7lE7DDtw==} + cpu: [x64] + os: [darwin] + + lefthook-freebsd-arm64@1.8.4: + resolution: {integrity: sha512-chnQ1m/Cmn9c0sLdk5HL2SToE5LBJv5uQMdH1IGRRcw+nEqWqrMnDXvM75caiJAyjmUGvPH3czKTJDzTFV1E+A==} + cpu: [arm64] + os: [freebsd] + + lefthook-freebsd-x64@1.8.4: + resolution: {integrity: sha512-KQi+WBUdnGLnK0rHOR58kbMH5TDVN1ZjZLu66Pv9FCG7Y7shR1qtaTXu+wmxdRhMvaLeQIXRsUEPjNRC66yMmA==} + cpu: [x64] + os: [freebsd] + + lefthook-linux-arm64@1.8.4: + resolution: {integrity: sha512-CXNcqIskLwTwQARidGdFqmNxpvOU3jsWPK4KA7pq2+QmlWJ64w98ebMvNBoUmRUCXqzmUm7Udf/jpfz2fobewQ==} + cpu: [arm64] + os: [linux] + + lefthook-linux-x64@1.8.4: + resolution: {integrity: sha512-pVNITkFBxUCEtamWSM/res2Gd48+m9YKbNyIBndAuZVC5pKV5aGKZy2DNq6PWUPYiUDPx+7hoAtCJg/tlAiqhw==} + cpu: [x64] + os: [linux] + + lefthook-openbsd-arm64@1.8.4: + resolution: {integrity: sha512-l+i/Dg5X36kYzhpMGSPE3rMbWy1KSytbLB9lY1PmxYb6LRH6iQTYIoxvLabVUwSBPSq8HtIFa50+bvC5+scfVA==} + cpu: [arm64] + os: [openbsd] + + lefthook-openbsd-x64@1.8.4: + resolution: {integrity: sha512-CqhDDPPX8oHzMLgNi/Reba823DRzj+eMNWQ8axvSiIG+zmG1w20xZH5QSs/mD3tjrND90yfDd90mWMt181qPyA==} + cpu: [x64] + os: [openbsd] + + lefthook-windows-arm64@1.8.4: + resolution: {integrity: sha512-dvpvorICmVjmw29Aiczg7DcaSzkd86bEBomiGq4UsAEk3+7ExLrlWJDLFsI6xLjMKmTxy+F7eXb2uDtuFC1N4g==} + cpu: [arm64] + os: [win32] + + lefthook-windows-x64@1.8.4: + resolution: {integrity: sha512-e+y8Jt4/7PnoplhOuK48twjGVJEsU4T3J5kxD4mWfl6Cbit0YSn4bme9nW41eqCqTUqOm+ky29XlfnPHFX5ZNA==} + cpu: [x64] + os: [win32] + + lefthook@1.8.4: + resolution: {integrity: sha512-XNyMaTWNRuADOaocYiHidgNkNDz8SCekpdNJ7lqceFcBT2zjumnb28/o7IMaNROpLBZdQkLkJXSeaQWGqn3kog==} + hasBin: true + leven@3.1.0: resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} engines: {node: '>=6'} - levn@0.4.1: - resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} - engines: {node: '>= 0.8.0'} - light-my-request@6.3.0: resolution: {integrity: sha512-bWTAPJmeWQH5suJNYwG0f5cs0p6ho9e6f1Ppoxv5qMosY+s9Ir2+ZLvvHcgA7VTDop4zl/NCHhOVVqU+kd++Ow==} @@ -7509,18 +7236,6 @@ packages: resolution: {integrity: sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==} 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.0: - resolution: {integrity: sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==} - engines: {node: '>= 0.4'} - obliterator@2.0.4: resolution: {integrity: sha512-lgHwxlxV1qIg1Eap7LgIeoBWIMFibOjbrYPIPJZcI1mmGAI2m3lNYpK12Y+GBdPQ0U1hRwSord7GIaawz962qQ==} @@ -7567,10 +7282,6 @@ packages: resolution: {integrity: sha512-c/hfooPx+RBIOPM09GSxABOZhYPblDoyaGhqBkD/59vtpN21jEuWKDlM0KYTvqJVlSYjKs0tBcIdeXKChlSPtw==} hasBin: true - optionator@0.9.4: - resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} - engines: {node: '>= 0.8.0'} - os-utils@0.0.14: resolution: {integrity: sha512-ajB8csaHLBvJOYsHJkp8YdO2FvlBbf/ZxaYQwXXRDyQ84UoE+uTuLXxqd0shekXMX6Qr/pt/DDyLMRAMsgfWzg==} @@ -7633,10 +7344,6 @@ packages: pako@1.0.11: resolution: {integrity: sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==} - parent-module@1.0.1: - resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} - engines: {node: '>=6'} - parse-data-uri@0.2.0: resolution: {integrity: sha512-uOtts8NqDcaCt1rIsO3VFDRsAfgE4c6osG4d9z3l4dCBlxYFzni6Di/oNU270SDrjkfZuUvLZx1rxMyqh46Y9w==} @@ -8070,10 +7777,6 @@ packages: postgres-range@1.1.4: resolution: {integrity: sha512-i/hbxIE9803Alj/6ytL7UHQxRvZkI9O4Sy+J3HGc4F4oo/2eQAjTSNJ0bfxyse3bH0nuVesCk+3IRLaMtG3H6w==} - prelude-ls@1.2.1: - resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} - engines: {node: '>= 0.8.0'} - prettier@3.3.3: resolution: {integrity: sha512-i2tDNA0O5IrMO757lfrdQZCc2jPNDVntV0m/+4whiDfWaTKfMNgR7Qz0NAeGz/nRqF4m5/6CLzbP4/liHt12Ew==} engines: {node: '>=14'} @@ -8368,10 +8071,6 @@ packages: reflect-metadata@0.2.2: resolution: {integrity: sha512-urBwgfrvVP/eAyXx4hluJivBKzuEbSQs9rKWCrCkbSxNv8mxPcUZKeuoF3Uy4mJl3Lwprp6yy5/39VWigZ4K6Q==} - reflect.getprototypeof@1.0.6: - resolution: {integrity: sha512-fmfw4XgoDke3kdI6h4xcUz1dG8uaiv5q9gcEwLS4Pnth2kxT+GZ7YehS1JTMGBQmtV7Y4GFGbs2re2NqhdozUg==} - engines: {node: '>= 0.4'} - regenerator-runtime@0.13.11: resolution: {integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==} @@ -8429,10 +8128,6 @@ packages: resolution: {integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==} engines: {node: '>=8'} - resolve-from@4.0.0: - resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} - engines: {node: '>=4'} - resolve-from@5.0.0: resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} engines: {node: '>=8'} @@ -8498,20 +8193,12 @@ packages: rxjs@7.8.1: resolution: {integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==} - safe-array-concat@1.1.2: - resolution: {integrity: sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==} - engines: {node: '>=0.4'} - safe-buffer@5.1.2: resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} safe-buffer@5.2.1: resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} - safe-regex-test@1.0.3: - resolution: {integrity: sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==} - engines: {node: '>= 0.4'} - safe-regex2@4.0.0: resolution: {integrity: sha512-Hvjfv25jPDVr3U+4LDzBuZPPOymELG3PYcSk5hcevooo1yxxamQL/bHs/GrEPGmMoMEwRrHVGiCA1pXi97B8Ew==} @@ -8925,17 +8612,6 @@ packages: resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} engines: {node: '>=12'} - string.prototype.trim@1.2.9: - resolution: {integrity: sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==} - engines: {node: '>= 0.4'} - - string.prototype.trimend@1.0.8: - resolution: {integrity: sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==} - - string.prototype.trimstart@1.0.8: - resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==} - engines: {node: '>= 0.4'} - string_decoder@0.10.31: resolution: {integrity: sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==} @@ -9076,9 +8752,6 @@ packages: text-decoder@1.2.1: resolution: {integrity: sha512-x9v3H/lTKIJKQQe7RPQkLfKAnc9lUTkWDypIQgTzPJAq+5/GCDHonmshfvlsNSj58yyshbIJJDLmU15qNERrXQ==} - text-table@0.2.0: - resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} - textarea-caret@3.1.0: resolution: {integrity: sha512-cXAvzO9pP5CGa6NKx0WYHl+8CHKZs8byMkt3PCJBCmq2a34YA9pO1NrQET5pzeqnBjBdToF5No4rrmkDUgQC2Q==} @@ -9197,12 +8870,6 @@ packages: trough@2.2.0: resolution: {integrity: sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==} - ts-api-utils@1.4.0: - resolution: {integrity: sha512-032cPxaEKwM+GT3vA5JXNzIaizx388rhsSW79vGRNGXfRRAdEAn2mvk36PvK5HnOchyWZ7afLEXqYCvPCrzuzQ==} - engines: {node: '>=16'} - peerDependencies: - typescript: '>=4.2.0' - ts-case-convert@2.1.0: resolution: {integrity: sha512-Ye79el/pHYXfoew6kqhMwCoxp4NWjKNcm2kBzpmEMIU9dd9aBmHNNFtZ+WTm0rz1ngyDmfqDXDlyUnBXayiD0w==} @@ -9217,9 +8884,6 @@ packages: resolution: {integrity: sha512-Ibv4KAWfFkFdKJxnWfVtdOmB0Zi1RJVxcbPGiCDsFpCQSsmpWyuzHG3rQyI5YkobWwxFPEyQfu1hdo4qLG2zPw==} hasBin: true - tsconfig-paths@3.15.0: - resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==} - tsconfig-paths@4.2.0: resolution: {integrity: sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==} engines: {node: '>=6'} @@ -9246,10 +8910,6 @@ packages: tweetnacl@0.14.5: resolution: {integrity: sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==} - type-check@0.4.0: - resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} - engines: {node: '>= 0.8.0'} - type-detect@4.0.8: resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} engines: {node: '>=4'} @@ -9262,10 +8922,6 @@ packages: resolution: {integrity: sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==} engines: {node: '>=10'} - type-fest@0.20.2: - resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} - engines: {node: '>=10'} - type-fest@0.21.3: resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} engines: {node: '>=10'} @@ -9290,22 +8946,6 @@ packages: resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} engines: {node: '>= 0.6'} - typed-array-buffer@1.0.2: - resolution: {integrity: sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==} - engines: {node: '>= 0.4'} - - typed-array-byte-length@1.0.1: - resolution: {integrity: sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==} - engines: {node: '>= 0.4'} - - typed-array-byte-offset@1.0.3: - resolution: {integrity: sha512-GsvTyUHTriq6o/bHcTd0vM7OQ9JEdlvluu9YISaA7+KzDzPaIzEeDFNkTfhdE3MYcNhNi0vq/LlegYgIs5yPAw==} - engines: {node: '>= 0.4'} - - typed-array-length@1.0.6: - resolution: {integrity: sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==} - engines: {node: '>= 0.4'} - typedarray@0.0.6: resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==} @@ -9400,9 +9040,6 @@ packages: resolution: {integrity: sha512-keqHubrlpvT6G2wH0OEfSW4mquYRcbe/J8NMmveoQOjUqmo+hXtO+ORCpWhdbZ7k72UtY61BL7haGxW6enBnjw==} hasBin: true - unbox-primitive@1.0.2: - resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} - unbzip2-stream@1.4.3: resolution: {integrity: sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==} @@ -9671,12 +9308,6 @@ packages: peerDependencies: vue: '>=2' - vue-eslint-parser@9.4.3: - resolution: {integrity: sha512-2rYRLWlIpaiN8xbPiDyXZXRgLGOtWxERV7ND5fFAv5qo1D2N9Fu9MNajBNc6o13lZ+24DAWCkQCvj4klgmcITg==} - engines: {node: ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: '>=6.0.0' - vue-gtag@2.0.1: resolution: {integrity: sha512-aM4A58FVL0wV2ptYi+xzAjeg+pQVRyUcfBc5UkXAwQrR4t3WBhor50Izp2I+3Oo7+l+vWJ7u78DGcNzReb8S/A==} peerDependencies: @@ -9759,10 +9390,6 @@ packages: which-boxed-primitive@1.0.2: resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} - which-builtin-type@1.1.4: - resolution: {integrity: sha512-bppkmBSsHFmIMSl8BO9TbsyzsvGjVoppt8xUiGzwiu/bhDCGxnpOKCxgqj6GuyHE0mINMDecBFPlOm2hzY084w==} - engines: {node: '>= 0.4'} - which-collection@1.0.2: resolution: {integrity: sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==} engines: {node: '>= 0.4'} @@ -9800,10 +9427,6 @@ packages: resolution: {integrity: sha512-RNGKj82nUPg3g5ygxkQl0R937xLyho1J24ItRCBTr/m1YnZkzJy1hUiHUJrc/VlsDQzsCnInEGSg3bci0Lmd4w==} engines: {node: '>= 10.0.0'} - word-wrap@1.2.5: - resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} - engines: {node: '>=0.10.0'} - wordwrapjs@5.1.0: resolution: {integrity: sha512-JNjcULU2e4KJwUNv6CHgI46UvDGitb6dGryHajXTDiLgg1/RiGoPSDw4kZfYnwGtEXf2ZMeIewDQgFGzkCB2Sg==} engines: {node: '>=12.17'} @@ -9853,10 +9476,6 @@ packages: resolution: {integrity: sha512-7rVi2KMfwfWFl+GpPg6m80IVMWXLRjO+PxTq7V2CDhoGak0wzYzFgUY2m4XJ47OGdXd8eLE8EmwfAmdjw7lC1g==} hasBin: true - xml-name-validator@4.0.0: - resolution: {integrity: sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==} - engines: {node: '>=12'} - xml-name-validator@5.0.0: resolution: {integrity: sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==} engines: {node: '>=18'} @@ -10693,11 +10312,46 @@ snapshots: '@bcoe/v8-coverage@0.2.3': {} - '@bull-board/api@6.5.3(@bull-board/ui@6.5.3)': - dependencies: - '@bull-board/ui': 6.5.3 - redis-info: 3.1.0 - + '@biomejs/biome@1.9.4': + optionalDependencies: + '@biomejs/cli-darwin-arm64': 1.9.4 + '@biomejs/cli-darwin-x64': 1.9.4 + '@biomejs/cli-linux-arm64': 1.9.4 + '@biomejs/cli-linux-arm64-musl': 1.9.4 + '@biomejs/cli-linux-x64': 1.9.4 + '@biomejs/cli-linux-x64-musl': 1.9.4 + '@biomejs/cli-win32-arm64': 1.9.4 + '@biomejs/cli-win32-x64': 1.9.4 + + '@biomejs/cli-darwin-arm64@1.9.4': + optional: true + + '@biomejs/cli-darwin-x64@1.9.4': + optional: true + + '@biomejs/cli-linux-arm64-musl@1.9.4': + optional: true + + '@biomejs/cli-linux-arm64@1.9.4': + optional: true + + '@biomejs/cli-linux-x64-musl@1.9.4': + optional: true + + '@biomejs/cli-linux-x64@1.9.4': + optional: true + + '@biomejs/cli-win32-arm64@1.9.4': + optional: true + + '@biomejs/cli-win32-x64@1.9.4': + optional: true + + '@bull-board/api@6.5.3(@bull-board/ui@6.5.3)': + dependencies: + '@bull-board/ui': 6.5.3 + redis-info: 3.1.0 + '@bull-board/fastify@6.5.3': dependencies: '@bull-board/api': 6.5.3(@bull-board/ui@6.5.3) @@ -10936,29 +10590,6 @@ snapshots: '@esbuild/win32-x64@0.24.0': optional: true - '@eslint-community/eslint-utils@4.4.1(eslint@8.57.1)': - dependencies: - eslint: 8.57.1 - eslint-visitor-keys: 3.4.3 - - '@eslint-community/regexpp@4.12.1': {} - - '@eslint/eslintrc@2.1.4': - dependencies: - ajv: 6.12.6 - debug: 4.3.7(supports-color@8.1.1) - espree: 9.6.1 - globals: 13.24.0 - ignore: 5.3.2 - import-fresh: 3.3.0 - js-yaml: 4.1.0 - minimatch: 3.1.2 - strip-json-comments: 3.1.1 - transitivePeerDependencies: - - supports-color - - '@eslint/js@8.57.1': {} - '@fastify/accept-negotiator@2.0.0': {} '@fastify/accepts@5.0.1': @@ -11084,20 +10715,8 @@ snapshots: '@hexagon/base64@1.1.28': {} - '@humanwhocodes/config-array@0.13.0': - dependencies: - '@humanwhocodes/object-schema': 2.0.3 - debug: 4.3.7(supports-color@8.1.1) - minimatch: 3.1.2 - transitivePeerDependencies: - - supports-color - - '@humanwhocodes/module-importer@1.0.1': {} - '@humanwhocodes/momoa@2.0.4': {} - '@humanwhocodes/object-schema@2.0.3': {} - '@img/sharp-darwin-arm64@0.33.5': optionalDependencies: '@img/sharp-libvips-darwin-arm64': 1.0.4 @@ -11495,13 +11114,6 @@ snapshots: '@misskey-dev/browser-image-resizer@2024.1.0': {} - '@misskey-dev/eslint-plugin@1.0.0(@typescript-eslint/eslint-plugin@7.10.0(@typescript-eslint/parser@7.10.0(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3))(@typescript-eslint/parser@7.10.0(eslint@8.57.1)(typescript@5.6.3))(eslint-plugin-import@2.31.0(@typescript-eslint/parser@7.10.0(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1))(eslint@8.57.1)': - dependencies: - '@typescript-eslint/eslint-plugin': 7.10.0(@typescript-eslint/parser@7.10.0(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3) - '@typescript-eslint/parser': 7.10.0(eslint@8.57.1)(typescript@5.6.3) - eslint: 8.57.1 - eslint-plugin-import: 2.31.0(@typescript-eslint/parser@7.10.0(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1) - '@misskey-dev/sharp-read-bmp@1.2.0': dependencies: decode-bmp: 0.2.1 @@ -11978,8 +11590,6 @@ snapshots: '@rollup/rollup-win32-x64-msvc@4.27.3': optional: true - '@rtsao/scc@1.1.0': {} - '@rushstack/node-core-library@5.10.0(@types/node@22.9.1)': dependencies: ajv: 8.13.0 @@ -13095,8 +12705,6 @@ snapshots: '@types/json-schema@7.0.15': {} - '@types/json5@0.0.29': {} - '@types/jsonld@1.5.15': {} '@types/jsrsasign@10.5.14': {} @@ -13276,87 +12884,6 @@ snapshots: '@types/node': 22.9.1 optional: true - '@typescript-eslint/eslint-plugin@7.10.0(@typescript-eslint/parser@7.10.0(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3)': - dependencies: - '@eslint-community/regexpp': 4.12.1 - '@typescript-eslint/parser': 7.10.0(eslint@8.57.1)(typescript@5.6.3) - '@typescript-eslint/scope-manager': 7.10.0 - '@typescript-eslint/type-utils': 7.10.0(eslint@8.57.1)(typescript@5.6.3) - '@typescript-eslint/utils': 7.10.0(eslint@8.57.1)(typescript@5.6.3) - '@typescript-eslint/visitor-keys': 7.10.0 - eslint: 8.57.1 - graphemer: 1.4.0 - ignore: 5.3.2 - natural-compare: 1.4.0 - ts-api-utils: 1.4.0(typescript@5.6.3) - optionalDependencies: - typescript: 5.6.3 - transitivePeerDependencies: - - supports-color - - '@typescript-eslint/parser@7.10.0(eslint@8.57.1)(typescript@5.6.3)': - dependencies: - '@typescript-eslint/scope-manager': 7.10.0 - '@typescript-eslint/types': 7.10.0 - '@typescript-eslint/typescript-estree': 7.10.0(typescript@5.6.3) - '@typescript-eslint/visitor-keys': 7.10.0 - debug: 4.3.7(supports-color@8.1.1) - eslint: 8.57.1 - optionalDependencies: - typescript: 5.6.3 - transitivePeerDependencies: - - supports-color - - '@typescript-eslint/scope-manager@7.10.0': - dependencies: - '@typescript-eslint/types': 7.10.0 - '@typescript-eslint/visitor-keys': 7.10.0 - - '@typescript-eslint/type-utils@7.10.0(eslint@8.57.1)(typescript@5.6.3)': - dependencies: - '@typescript-eslint/typescript-estree': 7.10.0(typescript@5.6.3) - '@typescript-eslint/utils': 7.10.0(eslint@8.57.1)(typescript@5.6.3) - debug: 4.3.7(supports-color@8.1.1) - eslint: 8.57.1 - ts-api-utils: 1.4.0(typescript@5.6.3) - optionalDependencies: - typescript: 5.6.3 - transitivePeerDependencies: - - supports-color - - '@typescript-eslint/types@7.10.0': {} - - '@typescript-eslint/typescript-estree@7.10.0(typescript@5.6.3)': - dependencies: - '@typescript-eslint/types': 7.10.0 - '@typescript-eslint/visitor-keys': 7.10.0 - debug: 4.3.7(supports-color@8.1.1) - globby: 11.1.0 - is-glob: 4.0.3 - minimatch: 9.0.5 - semver: 7.6.3 - ts-api-utils: 1.4.0(typescript@5.6.3) - optionalDependencies: - typescript: 5.6.3 - transitivePeerDependencies: - - supports-color - - '@typescript-eslint/utils@7.10.0(eslint@8.57.1)(typescript@5.6.3)': - dependencies: - '@eslint-community/eslint-utils': 4.4.1(eslint@8.57.1) - '@typescript-eslint/scope-manager': 7.10.0 - '@typescript-eslint/types': 7.10.0 - '@typescript-eslint/typescript-estree': 7.10.0(typescript@5.6.3) - eslint: 8.57.1 - transitivePeerDependencies: - - supports-color - - typescript - - '@typescript-eslint/visitor-keys@7.10.0': - dependencies: - '@typescript-eslint/types': 7.10.0 - eslint-visitor-keys: 3.4.3 - '@ungap/structured-clone@1.2.0': {} '@vitejs/plugin-vue@5.2.0(vite@5.4.11(@types/node@22.9.1)(sass@1.81.0)(terser@5.36.0))(vue@3.5.13(typescript@5.6.3))': @@ -13622,10 +13149,6 @@ snapshots: mime-types: 2.1.35 negotiator: 0.6.3 - acorn-jsx@5.3.2(acorn@8.14.0): - dependencies: - acorn: 8.14.0 - acorn@7.4.1: {} acorn@8.14.0: {} @@ -13815,51 +13338,8 @@ snapshots: array-flatten@1.1.1: {} - array-includes@3.1.8: - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.23.5 - es-object-atoms: 1.0.0 - get-intrinsic: 1.2.4 - is-string: 1.0.7 - array-union@2.1.0: {} - array.prototype.findlastindex@1.2.5: - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.23.5 - es-errors: 1.3.0 - es-object-atoms: 1.0.0 - es-shim-unscopables: 1.0.2 - - array.prototype.flat@1.3.2: - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.23.5 - es-shim-unscopables: 1.0.2 - - array.prototype.flatmap@1.3.2: - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.23.5 - es-shim-unscopables: 1.0.2 - - arraybuffer.prototype.slice@1.0.3: - dependencies: - array-buffer-byte-length: 1.0.1 - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.23.5 - es-errors: 1.3.0 - get-intrinsic: 1.2.4 - is-array-buffer: 3.0.4 - is-shared-array-buffer: 1.0.3 - arrify@1.0.1: {} asap@2.0.6: {} @@ -14695,24 +14175,6 @@ snapshots: whatwg-mimetype: 4.0.0 whatwg-url: 14.0.0 - data-view-buffer@1.0.1: - dependencies: - call-bind: 1.0.7 - es-errors: 1.3.0 - is-data-view: 1.0.1 - - data-view-byte-length@1.0.1: - dependencies: - call-bind: 1.0.7 - es-errors: 1.3.0 - is-data-view: 1.0.1 - - data-view-byte-offset@1.0.0: - dependencies: - call-bind: 1.0.7 - es-errors: 1.3.0 - is-data-view: 1.0.1 - date-fns@4.1.0: {} dateformat@4.6.3: {} @@ -14795,8 +14257,6 @@ snapshots: which-collection: 1.0.2 which-typed-array: 1.1.15 - deep-is@0.1.4: {} - deepmerge@4.3.1: {} defaults@3.0.0: {} @@ -14855,10 +14315,6 @@ snapshots: disposable-email-domains@1.0.62: {} - doctrine@2.1.0: - dependencies: - esutils: 2.0.3 - doctrine@3.0.0: dependencies: esutils: 2.0.3 @@ -14960,55 +14416,6 @@ snapshots: dependencies: is-arrayish: 0.2.1 - es-abstract@1.23.5: - dependencies: - array-buffer-byte-length: 1.0.1 - arraybuffer.prototype.slice: 1.0.3 - available-typed-arrays: 1.0.7 - call-bind: 1.0.7 - data-view-buffer: 1.0.1 - data-view-byte-length: 1.0.1 - data-view-byte-offset: 1.0.0 - es-define-property: 1.0.0 - es-errors: 1.3.0 - es-object-atoms: 1.0.0 - es-set-tostringtag: 2.0.3 - es-to-primitive: 1.2.1 - function.prototype.name: 1.1.6 - get-intrinsic: 1.2.4 - get-symbol-description: 1.0.2 - globalthis: 1.0.4 - gopd: 1.0.1 - has-property-descriptors: 1.0.2 - has-proto: 1.0.3 - has-symbols: 1.0.3 - hasown: 2.0.2 - internal-slot: 1.0.7 - is-array-buffer: 3.0.4 - is-callable: 1.2.7 - is-data-view: 1.0.1 - is-negative-zero: 2.0.3 - is-regex: 1.1.4 - is-shared-array-buffer: 1.0.3 - is-string: 1.0.7 - is-typed-array: 1.1.13 - is-weakref: 1.0.2 - object-inspect: 1.13.3 - object-keys: 1.1.1 - object.assign: 4.1.5 - regexp.prototype.flags: 1.5.3 - safe-array-concat: 1.1.2 - safe-regex-test: 1.0.3 - string.prototype.trim: 1.2.9 - string.prototype.trimend: 1.0.8 - string.prototype.trimstart: 1.0.8 - typed-array-buffer: 1.0.2 - typed-array-byte-length: 1.0.1 - typed-array-byte-offset: 1.0.3 - typed-array-length: 1.0.6 - unbox-primitive: 1.0.2 - which-typed-array: 1.1.15 - es-define-property@1.0.0: dependencies: get-intrinsic: 1.2.4 @@ -15029,26 +14436,6 @@ snapshots: es-module-lexer@1.5.4: {} - es-object-atoms@1.0.0: - dependencies: - es-errors: 1.3.0 - - es-set-tostringtag@2.0.3: - dependencies: - get-intrinsic: 1.2.4 - has-tostringtag: 1.0.2 - hasown: 2.0.2 - - es-shim-unscopables@1.0.2: - dependencies: - hasown: 2.0.2 - - es-to-primitive@1.2.1: - dependencies: - is-callable: 1.2.7 - is-date-object: 1.0.5 - is-symbol: 1.0.4 - es-toolkit@1.27.0: {} es6-promise@4.2.8: @@ -15118,137 +14505,12 @@ snapshots: string-width: 4.2.3 supports-hyperlinks: 2.3.0 - eslint-import-resolver-node@0.3.9: - dependencies: - debug: 4.3.7(supports-color@8.1.1) - is-core-module: 2.15.1 - resolve: 1.22.8 - transitivePeerDependencies: - - supports-color - - eslint-module-utils@2.12.0(@typescript-eslint/parser@7.10.0(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint@8.57.1): - dependencies: - debug: 4.3.7(supports-color@8.1.1) - optionalDependencies: - '@typescript-eslint/parser': 7.10.0(eslint@8.57.1)(typescript@5.6.3) - eslint: 8.57.1 - eslint-import-resolver-node: 0.3.9 - transitivePeerDependencies: - - supports-color - - eslint-plugin-import@2.31.0(@typescript-eslint/parser@7.10.0(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1): - dependencies: - '@rtsao/scc': 1.1.0 - array-includes: 3.1.8 - array.prototype.findlastindex: 1.2.5 - array.prototype.flat: 1.3.2 - array.prototype.flatmap: 1.3.2 - debug: 4.3.7(supports-color@8.1.1) - doctrine: 2.1.0 - eslint: 8.57.1 - eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.12.0(@typescript-eslint/parser@7.10.0(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint@8.57.1) - hasown: 2.0.2 - is-core-module: 2.15.1 - is-glob: 4.0.3 - minimatch: 3.1.2 - object.fromentries: 2.0.8 - object.groupby: 1.0.3 - object.values: 1.2.0 - semver: 6.3.1 - string.prototype.trimend: 1.0.8 - tsconfig-paths: 3.15.0 - optionalDependencies: - '@typescript-eslint/parser': 7.10.0(eslint@8.57.1)(typescript@5.6.3) - transitivePeerDependencies: - - eslint-import-resolver-typescript - - eslint-import-resolver-webpack - - supports-color - - eslint-plugin-vue@9.31.0(eslint@8.57.1): - dependencies: - '@eslint-community/eslint-utils': 4.4.1(eslint@8.57.1) - eslint: 8.57.1 - globals: 13.24.0 - natural-compare: 1.4.0 - nth-check: 2.1.1 - postcss-selector-parser: 6.1.2 - semver: 7.6.3 - vue-eslint-parser: 9.4.3(eslint@8.57.1) - xml-name-validator: 4.0.0 - transitivePeerDependencies: - - supports-color - eslint-rule-docs@1.1.235: {} - eslint-scope@7.2.2: - dependencies: - esrecurse: 4.3.0 - estraverse: 5.3.0 - - eslint-visitor-keys@3.4.3: {} - - eslint@8.57.1: - dependencies: - '@eslint-community/eslint-utils': 4.4.1(eslint@8.57.1) - '@eslint-community/regexpp': 4.12.1 - '@eslint/eslintrc': 2.1.4 - '@eslint/js': 8.57.1 - '@humanwhocodes/config-array': 0.13.0 - '@humanwhocodes/module-importer': 1.0.1 - '@nodelib/fs.walk': 1.2.8 - '@ungap/structured-clone': 1.2.0 - ajv: 6.12.6 - chalk: 4.1.2 - cross-spawn: 7.0.6 - debug: 4.3.7(supports-color@8.1.1) - doctrine: 3.0.0 - escape-string-regexp: 4.0.0 - eslint-scope: 7.2.2 - eslint-visitor-keys: 3.4.3 - espree: 9.6.1 - esquery: 1.6.0 - esutils: 2.0.3 - fast-deep-equal: 3.1.3 - file-entry-cache: 6.0.1 - find-up: 5.0.0 - glob-parent: 6.0.2 - globals: 13.24.0 - graphemer: 1.4.0 - ignore: 5.3.2 - imurmurhash: 0.1.4 - is-glob: 4.0.3 - is-path-inside: 3.0.3 - js-yaml: 4.1.0 - json-stable-stringify-without-jsonify: 1.0.1 - levn: 0.4.1 - lodash.merge: 4.6.2 - minimatch: 3.1.2 - natural-compare: 1.4.0 - optionator: 0.9.4 - strip-ansi: 6.0.1 - text-table: 0.2.0 - transitivePeerDependencies: - - supports-color - esm-resolve@1.0.11: {} - espree@9.6.1: - dependencies: - acorn: 8.14.0 - acorn-jsx: 5.3.2(acorn@8.14.0) - eslint-visitor-keys: 3.4.3 - esprima@4.0.1: {} - esquery@1.6.0: - dependencies: - estraverse: 5.3.0 - - esrecurse@4.3.0: - dependencies: - estraverse: 5.3.0 - estraverse@5.3.0: {} estree-walker@2.0.2: {} @@ -15451,8 +14713,6 @@ snapshots: json-schema-ref-resolver: 1.0.1 rfdc: 1.4.1 - fast-levenshtein@2.0.6: {} - fast-querystring@1.1.2: dependencies: fast-decode-uri-component: 1.0.1 @@ -15534,10 +14794,6 @@ snapshots: dependencies: is-unicode-supported: 2.1.0 - file-entry-cache@6.0.1: - dependencies: - flat-cache: 3.2.0 - file-type@19.6.0: dependencies: get-stream: 9.0.1 @@ -15606,16 +14862,8 @@ snapshots: ps-list: 8.1.1 taskkill: 5.0.0 - flat-cache@3.2.0: - dependencies: - flatted: 3.3.2 - keyv: 4.5.4 - rimraf: 3.0.2 - flatbuffers@24.3.25: {} - flatted@3.3.2: {} - fluent-ffmpeg@2.1.3: dependencies: async: 0.2.10 @@ -15696,13 +14944,6 @@ snapshots: function-bind@1.1.2: {} - function.prototype.name@1.1.6: - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.23.5 - functions-have-names: 1.2.3 - functions-have-names@1.2.3: {} gauge@3.0.2: @@ -15759,12 +15000,6 @@ snapshots: '@sec-ant/readable-stream': 0.4.1 is-stream: 4.0.1 - get-symbol-description@1.0.2: - dependencies: - call-bind: 1.0.7 - es-errors: 1.3.0 - get-intrinsic: 1.2.4 - get-tsconfig@4.8.1: dependencies: resolve-pkg-maps: 1.0.0 @@ -15785,10 +15020,6 @@ snapshots: dependencies: is-glob: 4.0.3 - glob-parent@6.0.2: - dependencies: - is-glob: 4.0.3 - glob-promise@4.2.2(glob@7.2.3): dependencies: '@types/glob': 7.2.0 @@ -15827,15 +15058,6 @@ snapshots: globals@11.12.0: {} - globals@13.24.0: - dependencies: - type-fest: 0.20.2 - - globalthis@1.0.4: - dependencies: - define-properties: 1.2.1 - gopd: 1.0.1 - globby@11.1.0: dependencies: array-union: 2.1.0 @@ -15884,8 +15106,6 @@ snapshots: grapheme-splitter@1.0.4: {} - graphemer@1.4.0: {} - graphql@16.9.0: {} hammerjs@2.0.8: {} @@ -16085,11 +15305,6 @@ snapshots: immutable@5.0.3: {} - import-fresh@3.3.0: - dependencies: - parent-module: 1.0.1 - resolve-from: 4.0.0 - import-lazy@4.0.0: {} import-local@3.2.0: @@ -16177,10 +15392,6 @@ snapshots: is-arrayish@0.3.2: {} - is-async-function@2.0.0: - dependencies: - has-tostringtag: 1.0.2 - is-bigint@1.0.4: dependencies: has-bigints: 1.0.2 @@ -16198,10 +15409,6 @@ snapshots: dependencies: hasown: 2.0.2 - is-data-view@1.0.1: - dependencies: - is-typed-array: 1.1.13 - is-date-object@1.0.5: dependencies: has-tostringtag: 1.0.2 @@ -16217,10 +15424,6 @@ snapshots: is-file-animated@1.0.2: {} - is-finalizationregistry@1.0.2: - dependencies: - call-bind: 1.0.7 - is-fullwidth-code-point@3.0.0: {} is-generator-fn@2.1.0: {} @@ -16242,8 +15445,6 @@ snapshots: is-map@2.0.3: {} - is-negative-zero@2.0.3: {} - is-node-process@1.2.0: {} is-number-object@1.0.7: @@ -16305,10 +15506,6 @@ snapshots: is-weakmap@2.0.2: {} - is-weakref@1.0.2: - dependencies: - call-bind: 1.0.7 - is-weakset@2.0.3: dependencies: call-bind: 1.0.7 @@ -16809,8 +16006,6 @@ snapshots: json-schema@0.4.0: {} - json-stable-stringify-without-jsonify@1.0.1: {} - json-stringify-safe@5.0.1: {} json-to-ast@2.1.0: @@ -16818,10 +16013,6 @@ snapshots: code-error-fragment: 0.0.230 grapheme-splitter: 1.0.4 - json5@1.0.2: - dependencies: - minimist: 1.2.8 - json5@2.2.3: {} jsonc-parser@3.3.1: {} @@ -16911,12 +16102,50 @@ snapshots: dependencies: readable-stream: 2.3.8 - leven@3.1.0: {} + lefthook-darwin-arm64@1.8.4: + optional: true - levn@0.4.1: - dependencies: - prelude-ls: 1.2.1 - type-check: 0.4.0 + lefthook-darwin-x64@1.8.4: + optional: true + + lefthook-freebsd-arm64@1.8.4: + optional: true + + lefthook-freebsd-x64@1.8.4: + optional: true + + lefthook-linux-arm64@1.8.4: + optional: true + + lefthook-linux-x64@1.8.4: + optional: true + + lefthook-openbsd-arm64@1.8.4: + optional: true + + lefthook-openbsd-x64@1.8.4: + optional: true + + lefthook-windows-arm64@1.8.4: + optional: true + + lefthook-windows-x64@1.8.4: + optional: true + + lefthook@1.8.4: + optionalDependencies: + lefthook-darwin-arm64: 1.8.4 + lefthook-darwin-x64: 1.8.4 + lefthook-freebsd-arm64: 1.8.4 + lefthook-freebsd-x64: 1.8.4 + lefthook-linux-arm64: 1.8.4 + lefthook-linux-x64: 1.8.4 + lefthook-openbsd-arm64: 1.8.4 + lefthook-openbsd-x64: 1.8.4 + lefthook-windows-arm64: 1.8.4 + lefthook-windows-x64: 1.8.4 + + leven@3.1.0: {} light-my-request@6.3.0: dependencies: @@ -17824,25 +17053,6 @@ snapshots: has-symbols: 1.0.3 object-keys: 1.1.1 - object.fromentries@2.0.8: - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.23.5 - es-object-atoms: 1.0.0 - - object.groupby@1.0.3: - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.23.5 - - object.values@1.2.0: - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-object-atoms: 1.0.0 - obliterator@2.0.4: {} oblivious-set@1.4.0: {} @@ -17892,15 +17102,6 @@ snapshots: undici: 5.28.4 yargs-parser: 21.1.1 - optionator@0.9.4: - dependencies: - deep-is: 0.1.4 - fast-levenshtein: 2.0.6 - levn: 0.4.1 - prelude-ls: 1.2.1 - type-check: 0.4.0 - word-wrap: 1.2.5 - os-utils@0.0.14: {} ospath@1.2.2: {} @@ -17952,10 +17153,6 @@ snapshots: pako@1.0.11: {} - parent-module@1.0.1: - dependencies: - callsites: 3.1.0 - parse-data-uri@0.2.0: dependencies: data-uri-to-buffer: 0.0.3 @@ -18353,8 +17550,6 @@ snapshots: postgres-range@1.1.4: {} - prelude-ls@1.2.1: {} - prettier@3.3.3: {} pretty-bytes@5.6.0: {} @@ -18698,16 +17893,6 @@ snapshots: reflect-metadata@0.2.2: {} - reflect.getprototypeof@1.0.6: - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.23.5 - es-errors: 1.3.0 - get-intrinsic: 1.2.4 - globalthis: 1.0.4 - which-builtin-type: 1.1.4 - regenerator-runtime@0.13.11: {} regenerator-runtime@0.14.1: {} @@ -18800,8 +17985,6 @@ snapshots: dependencies: resolve-from: 5.0.0 - resolve-from@4.0.0: {} - resolve-from@5.0.0: {} resolve-pkg-maps@1.0.0: {} @@ -18839,6 +18022,7 @@ snapshots: rimraf@3.0.2: dependencies: glob: 7.2.3 + optional: true rollup@4.27.3: dependencies: @@ -18879,23 +18063,10 @@ snapshots: dependencies: tslib: 2.8.1 - safe-array-concat@1.1.2: - dependencies: - call-bind: 1.0.7 - get-intrinsic: 1.2.4 - has-symbols: 1.0.3 - isarray: 2.0.5 - safe-buffer@5.1.2: {} safe-buffer@5.2.1: {} - safe-regex-test@1.0.3: - dependencies: - call-bind: 1.0.7 - es-errors: 1.3.0 - is-regex: 1.1.4 - safe-regex2@4.0.0: dependencies: ret: 0.5.0 @@ -19365,25 +18536,6 @@ snapshots: emoji-regex: 9.2.2 strip-ansi: 7.1.0 - string.prototype.trim@1.2.9: - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.23.5 - es-object-atoms: 1.0.0 - - string.prototype.trimend@1.0.8: - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-object-atoms: 1.0.0 - - string.prototype.trimstart@1.0.8: - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-object-atoms: 1.0.0 - string_decoder@0.10.31: {} string_decoder@1.1.1: @@ -19529,8 +18681,6 @@ snapshots: text-decoder@1.2.1: {} - text-table@0.2.0: {} - textarea-caret@3.1.0: {} thenify-all@1.6.0: @@ -19616,10 +18766,6 @@ snapshots: trough@2.2.0: {} - ts-api-utils@1.4.0(typescript@5.6.3): - dependencies: - typescript: 5.6.3 - ts-case-convert@2.1.0: {} ts-dedent@2.2.0: {} @@ -19635,13 +18781,6 @@ snapshots: normalize-path: 3.0.0 plimit-lit: 1.6.1 - tsconfig-paths@3.15.0: - dependencies: - '@types/json5': 0.0.29 - json5: 1.0.2 - minimist: 1.2.8 - strip-bom: 3.0.0 - tsconfig-paths@4.2.0: dependencies: json5: 2.2.3 @@ -19675,18 +18814,12 @@ snapshots: tweetnacl@0.14.5: {} - type-check@0.4.0: - dependencies: - prelude-ls: 1.2.1 - type-detect@4.0.8: {} type-detect@4.1.0: {} type-fest@0.18.1: {} - type-fest@0.20.2: {} - type-fest@0.21.3: {} type-fest@0.6.0: {} @@ -19702,39 +18835,6 @@ snapshots: media-typer: 0.3.0 mime-types: 2.1.35 - typed-array-buffer@1.0.2: - dependencies: - call-bind: 1.0.7 - es-errors: 1.3.0 - is-typed-array: 1.1.13 - - typed-array-byte-length@1.0.1: - dependencies: - call-bind: 1.0.7 - for-each: 0.3.3 - gopd: 1.0.1 - has-proto: 1.0.3 - is-typed-array: 1.1.13 - - typed-array-byte-offset@1.0.3: - dependencies: - available-typed-arrays: 1.0.7 - call-bind: 1.0.7 - for-each: 0.3.3 - gopd: 1.0.1 - has-proto: 1.0.3 - is-typed-array: 1.1.13 - reflect.getprototypeof: 1.0.6 - - typed-array-length@1.0.6: - dependencies: - call-bind: 1.0.7 - for-each: 0.3.3 - gopd: 1.0.1 - has-proto: 1.0.3 - is-typed-array: 1.1.13 - possible-typed-array-names: 1.0.0 - typedarray@0.0.6: {} typeorm@0.3.20(ioredis@5.4.1)(pg@8.13.1): @@ -19778,13 +18878,6 @@ snapshots: ulid@2.3.0: {} - unbox-primitive@1.0.2: - dependencies: - call-bind: 1.0.7 - has-bigints: 1.0.2 - has-symbols: 1.0.3 - which-boxed-primitive: 1.0.2 - unbzip2-stream@1.4.3: dependencies: buffer: 5.7.1 @@ -20063,19 +19156,6 @@ snapshots: vue: 3.5.13(typescript@5.6.3) vue-inbrowser-compiler-independent-utils: 4.71.1(vue@3.5.13(typescript@5.6.3)) - vue-eslint-parser@9.4.3(eslint@8.57.1): - dependencies: - debug: 4.3.7(supports-color@8.1.1) - eslint: 8.57.1 - eslint-scope: 7.2.2 - eslint-visitor-keys: 3.4.3 - espree: 9.6.1 - esquery: 1.6.0 - lodash: 4.17.21 - semver: 7.6.3 - transitivePeerDependencies: - - supports-color - vue-gtag@2.0.1(vue@3.5.13(typescript@5.6.3)): dependencies: vue: 3.5.13(typescript@5.6.3) @@ -20168,21 +19248,6 @@ snapshots: is-string: 1.0.7 is-symbol: 1.0.4 - which-builtin-type@1.1.4: - dependencies: - function.prototype.name: 1.1.6 - has-tostringtag: 1.0.2 - is-async-function: 2.0.0 - is-date-object: 1.0.5 - is-finalizationregistry: 1.0.2 - is-generator-function: 1.0.10 - is-regex: 1.1.4 - is-weakref: 1.0.2 - isarray: 2.0.5 - which-boxed-primitive: 1.0.2 - which-collection: 1.0.2 - which-typed-array: 1.1.15 - which-collection@1.0.2: dependencies: is-map: 2.0.3 @@ -20229,8 +19294,6 @@ snapshots: assert-never: 1.3.0 babel-walk: 3.0.0-canary-5 - word-wrap@1.2.5: {} - wordwrapjs@5.1.0: {} wrap-ansi@6.2.0: @@ -20276,8 +19339,6 @@ snapshots: dependencies: sax: 1.4.1 - xml-name-validator@4.0.0: {} - xml-name-validator@5.0.0: {} xml2js@0.5.0: