From 8dfa8c6c3957cd1a9fb51d77d02ffc9751aa33b8 Mon Sep 17 00:00:00 2001 From: "jyc.dev" Date: Tue, 14 Oct 2025 20:20:38 +0200 Subject: [PATCH] Switch linting to oxc (#1099) --- .changeset/pre.json | 17 + .changeset/stupid-ideas-tie.md | 5 + .oxlintrc.json | 8 + docs/package.json | 4 +- package.json | 12 +- packages/eslint-config/.oxlintrc.json | 19 + packages/eslint-config/cmd.js | 111 +++-- packages/eslint-config/eslint.config.js | 21 +- packages/eslint-config/helper/findFileOrUp.js | 5 +- packages/eslint-config/package.json | 139 +++--- packages/handles/package.json | 4 +- packages/helpers/package.json | 4 +- packages/helpers/src/lib/Log.ts | 4 +- .../src/lib/stry/safe-stable-stringify.ts | 1 + packages/helpers/src/lib/stry/stry.ts | 2 +- packages/internals/package.json | 4 +- .../vite-plugin-kit-routes/.oxlintrc.json | 5 + packages/vite-plugin-kit-routes/package.json | 4 +- packages/vite-plugin-stripper/package.json | 4 +- .../src/lib/transformStrip.ts | 4 +- .../vite-plugin-watch-and-run/package.json | 4 +- pnpm-lock.yaml | 418 ++++++++++++------ pnpm-workspace.yaml | 23 +- 23 files changed, 552 insertions(+), 270 deletions(-) create mode 100644 .changeset/pre.json create mode 100644 .changeset/stupid-ideas-tie.md create mode 100644 .oxlintrc.json create mode 100644 packages/eslint-config/.oxlintrc.json create mode 100644 packages/vite-plugin-kit-routes/.oxlintrc.json diff --git a/.changeset/pre.json b/.changeset/pre.json new file mode 100644 index 00000000..6c5fa3e4 --- /dev/null +++ b/.changeset/pre.json @@ -0,0 +1,17 @@ +{ + "mode": "pre", + "tag": "next", + "initialVersions": { + "docs": "0.0.1", + "@kitql-old/all-in": "0.9.6", + "@kitql/eslint-config": "0.7.3", + "@kitql/handles": "0.3.0", + "@kitql/helpers": "0.8.13", + "@kitql/internals": "0.10.5", + "@kitql/sveltekit": "0.0.5", + "vite-plugin-kit-routes": "1.0.2", + "vite-plugin-stripper": "0.9.2", + "vite-plugin-watch-and-run": "1.7.5" + }, + "changesets": [] +} diff --git a/.changeset/stupid-ideas-tie.md b/.changeset/stupid-ideas-tie.md new file mode 100644 index 00000000..d29cb94e --- /dev/null +++ b/.changeset/stupid-ideas-tie.md @@ -0,0 +1,5 @@ +--- +'@kitql/eslint-config': minor +--- + +starting the transition to `oxc` (adding a flag `--ox`) diff --git a/.oxlintrc.json b/.oxlintrc.json new file mode 100644 index 00000000..177e6730 --- /dev/null +++ b/.oxlintrc.json @@ -0,0 +1,8 @@ +{ + "$schema": "./node_modules/oxlint/configuration_schema.json", + "extends": ["./packages/eslint-config/.oxlintrc.json"], + "categories": {}, + "rules": {}, + "globals": {}, + "ignorePatterns": [] +} diff --git a/docs/package.json b/docs/package.json index f4f09118..c007801a 100644 --- a/docs/package.json +++ b/docs/package.json @@ -4,8 +4,8 @@ "version": "0.0.1", "scripts": { "dev": "astro dev", - "lint": "kitql-lint", - "format": "kitql-lint --format", + "lint": "kitql-lint --ox", + "format": "kitql-lint --ox --format", "start": "astro dev", "build": "astro build", "preview": "astro preview", diff --git a/package.json b/package.json index ae9f8ae4..ff655ff0 100644 --- a/package.json +++ b/package.json @@ -1,16 +1,16 @@ { "name": "kitql", "version": "0.0.1", + "type": "module", "author": "jycouet ", "license": "MIT", - "type": "module", "scripts": { "build": "pnpm -F \"!docs\" build", "release:version": "npm run changeset version", "release": "npm run build && changeset publish --verbose", "reset": "git clean -xdf", - "lint": "kitql-lint", - "format": "kitql-lint --format", + "lint": "kitql-lint --ox", + "format": "kitql-lint --ox --format", "up-dep": "pnpm -r up --latest" }, "devDependencies": { @@ -18,8 +18,10 @@ "@changesets/cli": "catalog:lib-author-helper", "@vitest/coverage-v8": "catalog:testing", "esbuild": "catalog:tooling", - "prettier": "catalog:linting", + "oxlint": "catalog:linting-oxc", + "oxlint-tsgolint": "catalog:linting-oxc", + "prettier": "catalog:linting", "rimraf": "catalog:tooling", "vitest": "catalog:testing" } -} \ No newline at end of file +} diff --git a/packages/eslint-config/.oxlintrc.json b/packages/eslint-config/.oxlintrc.json new file mode 100644 index 00000000..0b2292cc --- /dev/null +++ b/packages/eslint-config/.oxlintrc.json @@ -0,0 +1,19 @@ +{ + "$schema": "./node_modules/oxlint/configuration_schema.json", + "plugins": ["unicorn", "typescript", "oxc"], + "jsPlugins": ["eslint-plugin-svelte", "eslint-plugin-unused-imports"], + "rules": { + "no-unused-vars": [ + "error", + { "caughtErrors": "none", "argsIgnorePattern": "^_", "varsIgnorePattern": "^_" } + ], + "no-console": [ + "error", + { + "allow": ["info", "warn", "error", "time", "timeEnd", "dir"] + } + ], + "@typescript-eslint/no-redundant-type-constituents": "off", + "no-base-to-string": "off" + } +} diff --git a/packages/eslint-config/cmd.js b/packages/eslint-config/cmd.js index 426a0b44..85e7b88d 100755 --- a/packages/eslint-config/cmd.js +++ b/packages/eslint-config/cmd.js @@ -18,24 +18,25 @@ const spinner = ora({ spinner.start() program.addOption(new Option('-f, --format', 'format')) -program.addOption(new Option('-g, --glob ', 'file/dir/glob (. by default)', '.')) -program.addOption(new Option('--eslint-only', 'only run eslint', false)) -program.addOption(new Option('--prettier-only', 'only run prettier', false)) -program.addOption(new Option('--verbose', 'add more logs', false)) +program.addOption(new Option('-g, --glob ', 'file/dir/glob (. by default)').default('.')) +program.addOption(new Option('--lint-only', 'only run lint').default(false)) +program.addOption(new Option('--format-only', 'only run format').default(false)) +program.addOption(new Option('--verbose', 'add more logs').default(false)) +program.addOption(new Option('--ox', 'using oxc tooling').default(false)) program.addOption( - new Option('-d, --diff-only', 'only check files changed against base branch', false), + new Option('-d, --diff-only', 'only check files changed against base branch').default(false), ) program.addOption( - new Option('--base-branch ', 'base branch to compare against (default: main)', 'main'), + new Option('--base-branch ', 'base branch to compare against (default: main)').default( + 'main', + ), ) program.addOption( new Option( '-p, --prefix ', 'prefix by with "pnpm" or "npm" or "none" ("none" by default)', - 'none', - ), + ).default('none'), ) - program.parse(process.argv) const options_cli = program.opts() @@ -46,10 +47,11 @@ const format = options_cli.format ?? false let glob = options_cli.glob ?? '.' const verbose = options_cli.verbose ?? false const pre = options_cli.prefix ?? 'none' -const eslintOnly = options_cli.eslintOnly ?? false -const prettierOnly = options_cli.prettierOnly ?? false +const lintOnly = options_cli.lintOnly ?? false +const formatOnly = options_cli.formatOnly ?? false const diffOnly = options_cli.diffOnly ?? false const baseBranch = options_cli.baseBranch ?? 'main' +const using_ox = options_cli.ox ?? false let preToUse = '' if (pre === 'npm') { @@ -60,7 +62,7 @@ if (pre === 'npm') { preToUse = '' } -async function customSpawn(cmd) { +async function customSpawn(/** @type {string} */ cmd) { const child = spawn(cmd, { shell: true, cwd: process.cwd(), @@ -80,6 +82,7 @@ async function customSpawn(cmd) { // } const exitCode = await new Promise((resolve, reject) => { child.on('close', resolve) + child.on('error', reject) }) if (exitCode) { @@ -120,7 +123,7 @@ async function getDiffFiles() { return null } } catch (error) { - spinner.warn(`Error getting git root: ${error.message}`) + if (error instanceof Error) spinner.warn(`Error getting git root: ${error.message}`) return null } @@ -224,7 +227,7 @@ async function getDiffFiles() { spinner.warn(`Could not get changed files: ${error}`) return null } - } catch (fallbackError) { + } catch { spinner.warn(`Could not get changed files: ${error}`) return null } @@ -265,13 +268,34 @@ async function getDiffFiles() { // Format the files for the command line, wrapping each in quotes and joining with spaces return files.length > 0 ? files.map((f) => `'${f}'`).join(' ') : null } catch (error) { - spinner.warn(`Error getting changed files: ${error.message}`) + if (error instanceof Error) spinner.warn(`Error getting changed files: ${error.message}`) return null } } -async function eslintRun() { - const cmdEsLint = +async function lintRunOx() { + const cmdLint = + `oxlint --type-aware` + + // format or not + `${format ? ' --fix' : ''}` + + ` ${glob}` + + spinner.text = verbose ? 'lint ' + gray(`(${cmdLint}) `) : 'lint ' + + const result_lint = await customSpawn(cmdLint) + + return result_lint +} + +async function lintRun() { + if (using_ox) { + const result_lint = await lintRunOx() + if (typeof result_lint === 'object' && 'status' in result_lint && result_lint.status) { + return result_lint + } + } + + const cmdLint = preToUse + `eslint --no-warn-ignored` + // format or not @@ -279,15 +303,15 @@ async function eslintRun() { // exec ` ${glob}` - spinner.text = verbose ? 'eslint ' + gray(`(${cmdEsLint})`) : 'eslint' + spinner.text = verbose ? 'lint ' + gray(`(${cmdLint}) `) : 'lint ' - const result_eslint = await customSpawn(cmdEsLint) + const result_lint = await customSpawn(cmdLint) - return result_eslint + return result_lint } -async function prettierRun() { - const cmdPrettier = +async function formatRun() { + const cmdFormat = preToUse + `prettier` + ` --list-different` + @@ -300,15 +324,20 @@ async function prettierRun() { // exec ` ${glob}` - spinner.text = verbose ? 'prettier ' + gray(`(${cmdPrettier})`) : 'prettier' + spinner.text = verbose ? 'format ' + gray(`(${cmdFormat}) `) : 'format ' - const result_prettier = await customSpawn(cmdPrettier) + const result_format = await customSpawn(cmdFormat) - return result_prettier + return result_format } +/** @type {string[]} */ const took = [] +/** + * @param {string} text + * @param {number} time + */ const display = (text, time) => { return `${gray(text)} ${green((time / 1000).toFixed(3))}${gray('s')}` } @@ -329,27 +358,27 @@ if (diffOnly) { } } -if (!prettierOnly && glob) { - const esLintStart = performance.now() - const eslintCode = await eslintRun() - const esLintTook = performance.now() - esLintStart - took.push(display('eslint', esLintTook)) - if (eslintCode.status) { +if (!formatOnly && glob) { + const lintStart = performance.now() + const lintCode = await lintRun() + const lintTook = performance.now() - lintStart + took.push(display('lint', lintTook)) + if (typeof lintCode === 'object' && 'status' in lintCode && lintCode.status) { spinner.prefixText = bgRedBright(` kitql-lint `) - spinner.fail(red(`eslint failed, check logs above. ${displayTook()}`)) - process.exit(eslintCode.status) + spinner.fail(red(`lint failed, check logs above. ${displayTook()}`)) + process.exit(lintCode.status) } } -if (!eslintOnly && glob) { - const prettierStart = performance.now() - const prettierCode = await prettierRun() - const prettierTook = performance.now() - prettierStart - took.push(display('prettier', prettierTook)) - if (prettierCode.status) { +if (!lintOnly && glob) { + const formatStart = performance.now() + const formatCode = await formatRun() + const formatTook = performance.now() - formatStart + took.push(display('format', formatTook)) + if (typeof formatCode === 'object' && 'status' in formatCode && formatCode.status) { spinner.prefixText = bgRedBright(` kitql-lint `) - spinner.fail(red(`prettier failed, check logs above. ${displayTook()}`)) - process.exit(prettierCode.status) + spinner.fail(red(`format failed, check logs above. ${displayTook()}`)) + process.exit(formatCode.status) } } diff --git a/packages/eslint-config/eslint.config.js b/packages/eslint-config/eslint.config.js index 538cde06..5b4884f7 100644 --- a/packages/eslint-config/eslint.config.js +++ b/packages/eslint-config/eslint.config.js @@ -1,6 +1,7 @@ import { includeIgnoreFile } from '@eslint/compat' import js from '@eslint/js' import prettier from 'eslint-config-prettier' +import oxlint from 'eslint-plugin-oxlint' import pluginPnpm from 'eslint-plugin-pnpm' import svelte from 'eslint-plugin-svelte' import unusedImports from 'eslint-plugin-unused-imports' @@ -89,7 +90,7 @@ const othersRules = () => { }, ...ts.configs.recommended, ...svelte.configs.recommended, - prettier, + { name: 'eslint/prettier', ...prettier }, ...svelte.configs.prettier, { name: '@kitql:languages', @@ -168,16 +169,6 @@ const othersRules = () => { ] } -/** @type {import('eslint').Linter.Config[]} */ -const config = [ - // - rulePrettierIgnore({ pnpmCatalogsEnabled: true }), - ...othersRules(), - ...rulePnpmCatalogs(), -] - -export default config - /** * @typedef {Object} KitqlOptions * @property {PnpmCatalogsConfig} [pnpmCatalogs] - Configuration object for pnpm catalogs @@ -191,10 +182,18 @@ export const kitql = (options = {}) => { const pnpmCatalogsConfig = options?.pnpmCatalogs ?? { enable: false } const pnpmCatalogsEnabled = pnpmCatalogsConfig.enable !== false + const pathOxlintrc = findFileOrUp('.oxlintrc.json') ?? './.oxlintrc.json' + return [ // rulePrettierIgnore({ pnpmCatalogsEnabled }), ...othersRules(), ...(pnpmCatalogsEnabled ? rulePnpmCatalogs(pnpmCatalogsConfig) : []), + ...oxlint.buildFromOxlintConfigFile(pathOxlintrc), ] } + +/** @type {import('eslint').Linter.Config[]} */ +const config = kitql({ pnpmCatalogs: { enable: true } }) + +export default config diff --git a/packages/eslint-config/helper/findFileOrUp.js b/packages/eslint-config/helper/findFileOrUp.js index f949a1cf..a87ce6ec 100644 --- a/packages/eslint-config/helper/findFileOrUp.js +++ b/packages/eslint-config/helper/findFileOrUp.js @@ -1,7 +1,10 @@ import { statSync } from 'node:fs' import { resolve } from 'node:path' -export const findFileOrUp = (fileName, options) => { +export const findFileOrUp = ( + /** @type {string} */ fileName, + /** @type {{absolute?: boolean}} */ options = { absolute: false }, +) => { // Find file recursively 4 levels max up for (let i = 0; i < 4; i++) { try { diff --git a/packages/eslint-config/package.json b/packages/eslint-config/package.json index 4f588e41..e37cf2ce 100644 --- a/packages/eslint-config/package.json +++ b/packages/eslint-config/package.json @@ -1,66 +1,77 @@ { - "name": "@kitql/eslint-config", - "version": "0.7.3", - "type": "module", - "description": "opinionated linting and formatting for projects", - "repository": { - "type": "git", - "url": "git+https://github.com/jycouet/kitql.git", - "directory": "packages/eslint-config", - "homepage": "https://github.com/jycouet/kitql/tree/main/packages/eslint-config" - }, - "homepage": "https://www.kitql.dev/", - "funding": "https://github.com/sponsors/jycouet", - "license": "MIT", - "bin": { - "kitql-lint": "./cmd.js" - }, - "main": "eslint.config.js", - "files": [ - ".prettierrc.js", - "cmd.js", - "eslint.config.js", - "helper/findFileOrUp.js" - ], - "keywords": [ - "cli", - "eslint", - "eslint-config" - ], - "scripts": { - "format": "node ./cmd.js -f -d --verbose", - "format:example": "kitql-lint --format", - "lint": "node ./cmd.js --verbose -p none", - "lint:example": "kitql-lint", - "inspector": "npx @eslint/config-inspector" - }, - "peerDependencies": { - "prettier": "catalog:linting" - }, - "dependencies": { - "@eslint/compat": "catalog:linting", - "@eslint/js": "catalog:linting", - "@kitql/helpers": "workspace:*", - "@theguild/prettier-config": "catalog:linting", - "@types/eslint": "catalog:linting", - "@typescript-eslint/parser": "catalog:linting", - "commander": "catalog:tooling", - "eslint": "catalog:linting", - "eslint-config-prettier": "catalog:linting", - "eslint-plugin-pnpm": "catalog:linting", - "eslint-plugin-svelte": "catalog:linting", - "eslint-plugin-unused-imports": "catalog:linting", - "globals": "catalog:linting", - "jsonc-eslint-parser": "catalog:linting", - "ora": "catalog:tooling", - "prettier": "catalog:linting", - "prettier-plugin-svelte": "catalog:linting", - "prettier-plugin-tailwindcss": "catalog:linting", - "typescript-eslint": "catalog:linting", - "yaml-eslint-parser": "catalog:linting" - }, - "publishConfig": { - "access": "public" - }, - "sideEffects": false + "name": "@kitql/eslint-config", + "version": "0.7.3", + "type": "module", + "description": "opinionated linting and formatting for projects", + "repository": { + "type": "git", + "url": "git+https://github.com/jycouet/kitql.git", + "directory": "packages/eslint-config", + "homepage": "https://github.com/jycouet/kitql/tree/main/packages/eslint-config" + }, + "homepage": "https://www.kitql.dev/", + "funding": "https://github.com/sponsors/jycouet", + "license": "MIT", + "bin": { + "kitql-lint": "./cmd.js" + }, + "main": "eslint.config.js", + "files": [ + ".oxlintrc.json", + ".prettierrc.js", + "cmd.js", + "eslint.config.js", + "helper/findFileOrUp.js" + ], + "keywords": [ + "cli", + "eslint", + "eslint-config" + ], + "scripts": { + "format": "node ./cmd.js -f -d --verbose --ox", + "format:example": "kitql-lint --format", + "inspector": "npx @eslint/config-inspector", + "lint": "node ./cmd.js --verbose -p none --ox", + "lint:example": "kitql-lint" + }, + "peerDependencies": { + "oxlint": "catalog:linting-oxc", + "oxlint-tsgolint": "catalog:linting-oxc", + "prettier": "catalog:linting" + }, + "peerDependenciesMeta": { + "oxlint": { + "optional": true + }, + "oxlint-tsgolint": { + "optional": true + } + }, + "dependencies": { + "@eslint/compat": "catalog:linting", + "@eslint/js": "catalog:linting", + "@kitql/helpers": "workspace:*", + "@theguild/prettier-config": "catalog:linting", + "@types/eslint": "catalog:linting", + "@typescript-eslint/parser": "catalog:linting", + "commander": "catalog:tooling", + "eslint": "catalog:linting", + "eslint-config-prettier": "catalog:linting", + "eslint-plugin-oxlint": "catalog:linting-oxc", + "eslint-plugin-pnpm": "catalog:linting", + "eslint-plugin-svelte": "catalog:linting", + "eslint-plugin-unused-imports": "catalog:linting", + "globals": "catalog:linting", + "jsonc-eslint-parser": "catalog:linting", + "ora": "catalog:tooling", + "prettier-plugin-svelte": "catalog:linting", + "prettier-plugin-tailwindcss": "catalog:linting", + "typescript-eslint": "catalog:linting", + "yaml-eslint-parser": "catalog:linting" + }, + "publishConfig": { + "access": "public" + }, + "sideEffects": false } diff --git a/packages/handles/package.json b/packages/handles/package.json index 354030b8..78f93839 100644 --- a/packages/handles/package.json +++ b/packages/handles/package.json @@ -21,8 +21,8 @@ "check": "svelte-check", "check:watch": "svelte-check", "dev": "vite dev", - "format": "kitql-lint --format", - "lint": "kitql-lint -d", + "lint": "kitql-lint --ox", + "format": "kitql-lint --ox --format", "package": "npm run build && publint", "prepare": "svelte-kit sync", "preview": "vite preview", diff --git a/packages/helpers/package.json b/packages/helpers/package.json index 71450d57..8aa42fde 100644 --- a/packages/helpers/package.json +++ b/packages/helpers/package.json @@ -30,8 +30,8 @@ "check:watch": "svelte-check --tsconfig ./tsconfig.json --watch", "test": "TZ=UTC vitest", "test:ci": "TZ=UTC vitest run --coverage", - "lint": "kitql-lint -d", - "format": "kitql-lint --format" + "lint": "kitql-lint --ox -p pnpm", + "format": "kitql-lint --ox --format" }, "devDependencies": { "@sveltejs/adapter-auto": "catalog:sveltekit", diff --git a/packages/helpers/src/lib/Log.ts b/packages/helpers/src/lib/Log.ts index e255d61d..bdd3ae16 100644 --- a/packages/helpers/src/lib/Log.ts +++ b/packages/helpers/src/lib/Log.ts @@ -63,10 +63,10 @@ export class Log { } if (table.length === 0 || (table.length === 1 && table[0] === '')) { - return colorProcess(...[...msgs.flatMap((c) => c)]) + return colorProcess(...msgs.flatMap((c) => c)) } - return colorProcess(...[table.join(''), ...msgs.flatMap((c) => c)]) + return colorProcess(table.join(''), ...msgs.flatMap((c) => c)) } /** diff --git a/packages/helpers/src/lib/stry/safe-stable-stringify.ts b/packages/helpers/src/lib/stry/safe-stable-stringify.ts index dd78aa88..d0b9239f 100644 --- a/packages/helpers/src/lib/stry/safe-stable-stringify.ts +++ b/packages/helpers/src/lib/stry/safe-stable-stringify.ts @@ -4,6 +4,7 @@ * Keeping the dependency to the package anyway. */ // @ts-nocheck +/* oxlint-disable */ const { hasOwnProperty } = Object.prototype diff --git a/packages/helpers/src/lib/stry/stry.ts b/packages/helpers/src/lib/stry/stry.ts index 1e5127b8..105d11cb 100644 --- a/packages/helpers/src/lib/stry/stry.ts +++ b/packages/helpers/src/lib/stry/stry.ts @@ -17,7 +17,7 @@ export function stry0(obj: object | null | undefined): string | null | undefined export function stry( obj: object | null | undefined, space: string | number | undefined = 2, - replacer?: (string | number)[] | null | undefined, + replacer?: (string | number)[] | null, ): string | null | undefined { if (obj === null) { return null diff --git a/packages/internals/package.json b/packages/internals/package.json index 072d3b14..1397d23d 100644 --- a/packages/internals/package.json +++ b/packages/internals/package.json @@ -26,8 +26,8 @@ "check:watch": "svelte-check --tsconfig ./tsconfig.json --watch", "test": "vitest", "test:ci": "vitest run --coverage", - "lint": "kitql-lint -d", - "format": "kitql-lint --format" + "lint": "kitql-lint --ox", + "format": "kitql-lint --ox --format" }, "devDependencies": { "@kitql/eslint-config": "workspace:*", diff --git a/packages/vite-plugin-kit-routes/.oxlintrc.json b/packages/vite-plugin-kit-routes/.oxlintrc.json new file mode 100644 index 00000000..580e4cc6 --- /dev/null +++ b/packages/vite-plugin-kit-routes/.oxlintrc.json @@ -0,0 +1,5 @@ +{ + "$schema": "./node_modules/oxlint/configuration_schema.json", + "extends": ["../../.oxlintrc.json"], + "ignorePatterns": ["src/lib/ROUTES.ts"] +} diff --git a/packages/vite-plugin-kit-routes/package.json b/packages/vite-plugin-kit-routes/package.json index 8f2e5e6a..30bb49e6 100644 --- a/packages/vite-plugin-kit-routes/package.json +++ b/packages/vite-plugin-kit-routes/package.json @@ -26,8 +26,8 @@ "check:watch": "svelte-check --tsconfig ./tsconfig.json --watch", "test": "vitest", "test:ci": "vitest run --coverage", - "lint": "kitql-lint -d", - "format": "kitql-lint --format" + "lint": "kitql-lint --ox", + "format": "kitql-lint --ox --format" }, "bin": { "kit-routes": "./esm/bin.js" diff --git a/packages/vite-plugin-stripper/package.json b/packages/vite-plugin-stripper/package.json index 50587621..34f8f572 100644 --- a/packages/vite-plugin-stripper/package.json +++ b/packages/vite-plugin-stripper/package.json @@ -25,8 +25,8 @@ "check:watch": "svelte-check --tsconfig ./tsconfig.json --watch", "test": "vitest", "test:ci": "vitest run --coverage", - "lint": "kitql-lint -d", - "format": "kitql-lint --format" + "lint": "kitql-lint --ox", + "format": "kitql-lint --ox --format" }, "devDependencies": { "@kitql/eslint-config": "workspace:*", diff --git a/packages/vite-plugin-stripper/src/lib/transformStrip.ts b/packages/vite-plugin-stripper/src/lib/transformStrip.ts index dcd75169..cde74363 100644 --- a/packages/vite-plugin-stripper/src/lib/transformStrip.ts +++ b/packages/vite-plugin-stripper/src/lib/transformStrip.ts @@ -130,7 +130,7 @@ export const transformStrip = async ( // @ts-ignore const decorators: any[] = path.node.decorators || [] let foundDecorator = false - let decoratorName = '' + // let decoratorName = '' // Initialize functionName with a default value let functionName = '???' @@ -153,7 +153,7 @@ export const transformStrip = async ( if (matchingConfig) { foundDecorator = true - decoratorName = name + // decoratorName = name // Push both the decorator name and the associated function name decorators_wrapped.push({ diff --git a/packages/vite-plugin-watch-and-run/package.json b/packages/vite-plugin-watch-and-run/package.json index 20a68317..62536aca 100644 --- a/packages/vite-plugin-watch-and-run/package.json +++ b/packages/vite-plugin-watch-and-run/package.json @@ -25,8 +25,8 @@ "check:watch": "svelte-check --tsconfig ./tsconfig.json --watch", "test": "vitest", "test:ci": "vitest run --coverage", - "lint": "kitql-lint -d", - "format": "kitql-lint --format" + "lint": "kitql-lint --ox", + "format": "kitql-lint --ox --format" }, "devDependencies": { "@kitql/eslint-config": "workspace:*", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 406af7f7..9f143113 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -70,8 +70,8 @@ catalogs: specifier: 9.6.1 version: 9.6.1 '@typescript-eslint/parser': - specifier: 8.37.0 - version: 8.37.0 + specifier: 8.46.1 + version: 8.46.1 eslint: specifier: 9.31.0 version: 9.31.0 @@ -103,11 +103,21 @@ catalogs: specifier: 0.6.14 version: 0.6.14 typescript-eslint: - specifier: 8.37.0 - version: 8.37.0 + specifier: 8.46.1 + version: 8.46.1 yaml-eslint-parser: specifier: 1.3.0 version: 1.3.0 + linting-oxc: + eslint-plugin-oxlint: + specifier: 1.23.0 + version: 1.23.0 + oxlint: + specifier: 1.23.0 + version: 1.23.0 + oxlint-tsgolint: + specifier: 0.2.0 + version: 0.2.0 remult: remult: specifier: 3.2.2 @@ -150,11 +160,11 @@ catalogs: specifier: 5.2.4 version: 5.2.4 '@vitest/coverage-v8': - specifier: 3.2.0 - version: 3.2.0 + specifier: 3.2.4 + version: 3.2.4 '@vitest/ui': - specifier: 3.2.0 - version: 3.2.0 + specifier: 3.2.4 + version: 3.2.4 jsdom: specifier: 26.1.0 version: 26.1.0 @@ -211,10 +221,16 @@ importers: version: 2.29.7(@types/node@22.13.9) '@vitest/coverage-v8': specifier: catalog:testing - version: 3.2.0(vitest@3.2.4(@types/debug@4.1.12)(@types/node@22.13.9)(jiti@1.21.7)(jsdom@26.1.0)(lightningcss@1.28.2)(sass@1.85.1)(terser@5.37.0)(tsx@4.20.3)(yaml@2.8.0)) + version: 3.2.4(vitest@3.2.4) esbuild: specifier: catalog:tooling version: 0.25.0 + oxlint: + specifier: catalog:linting-oxc + version: 1.23.0(oxlint-tsgolint@0.2.0) + oxlint-tsgolint: + specifier: catalog:linting-oxc + version: 0.2.0 prettier: specifier: catalog:linting version: 3.6.1 @@ -223,7 +239,7 @@ importers: version: 6.0.1 vitest: specifier: catalog:testing - version: 3.2.4(@types/debug@4.1.12)(@types/node@22.13.9)(@vitest/ui@3.2.0)(jiti@1.21.7)(jsdom@26.1.0)(lightningcss@1.28.2)(sass@1.85.1)(terser@5.37.0)(tsx@4.20.3)(yaml@2.8.0) + version: 3.2.4(@types/debug@4.1.12)(@types/node@22.13.9)(@vitest/ui@3.2.4)(jiti@1.21.7)(jsdom@26.1.0)(lightningcss@1.28.2)(sass@1.85.1)(terser@5.37.0)(tsx@4.20.3)(yaml@2.8.0) docs: dependencies: @@ -271,7 +287,7 @@ importers: version: 9.6.1 '@typescript-eslint/parser': specifier: catalog:linting - version: 8.37.0(eslint@9.31.0(jiti@1.21.7))(typescript@5.9.2) + version: 8.46.1(eslint@9.31.0(jiti@1.21.7))(typescript@5.9.2) commander: specifier: catalog:tooling version: 14.0.0 @@ -281,6 +297,9 @@ importers: eslint-config-prettier: specifier: catalog:linting version: 10.1.5(eslint@9.31.0(jiti@1.21.7)) + eslint-plugin-oxlint: + specifier: catalog:linting-oxc + version: 1.23.0 eslint-plugin-pnpm: specifier: catalog:linting version: 1.1.0(eslint@9.31.0(jiti@1.21.7)) @@ -289,7 +308,7 @@ importers: version: 3.11.0(eslint@9.31.0(jiti@1.21.7))(svelte@5.36.16)(ts-node@10.9.2(@types/node@22.13.9)(typescript@5.9.2)) eslint-plugin-unused-imports: specifier: catalog:linting - version: 4.1.4(@typescript-eslint/eslint-plugin@8.37.0(@typescript-eslint/parser@8.37.0(eslint@9.31.0(jiti@1.21.7))(typescript@5.9.2))(eslint@9.31.0(jiti@1.21.7))(typescript@5.9.2))(eslint@9.31.0(jiti@1.21.7)) + version: 4.1.4(@typescript-eslint/eslint-plugin@8.46.1(@typescript-eslint/parser@8.46.1(eslint@9.31.0(jiti@1.21.7))(typescript@5.9.2))(eslint@9.31.0(jiti@1.21.7))(typescript@5.9.2))(eslint@9.31.0(jiti@1.21.7)) globals: specifier: catalog:linting version: 16.3.0 @@ -299,6 +318,12 @@ importers: ora: specifier: catalog:tooling version: 8.2.0 + oxlint: + specifier: catalog:linting-oxc + version: 1.23.0(oxlint-tsgolint@0.2.0) + oxlint-tsgolint: + specifier: catalog:linting-oxc + version: 0.2.0 prettier: specifier: catalog:linting version: 3.6.1 @@ -310,7 +335,7 @@ importers: version: 0.6.14(@ianvs/prettier-plugin-sort-imports@4.4.0(@vue/compiler-sfc@3.5.13)(prettier@3.6.1))(prettier-plugin-astro@0.14.1)(prettier-plugin-css-order@2.1.2(postcss@8.5.6)(prettier@3.6.1))(prettier-plugin-svelte@3.4.0(prettier@3.6.1)(svelte@5.36.16))(prettier@3.6.1) typescript-eslint: specifier: catalog:linting - version: 8.37.0(eslint@9.31.0(jiti@1.21.7))(typescript@5.9.2) + version: 8.46.1(eslint@9.31.0(jiti@1.21.7))(typescript@5.9.2) yaml-eslint-parser: specifier: catalog:linting version: 1.3.0 @@ -368,7 +393,7 @@ importers: version: 7.0.2(@types/node@22.13.9)(jiti@1.21.7)(lightningcss@1.28.2)(sass@1.85.1)(terser@5.37.0)(tsx@4.20.3)(yaml@2.8.0) vitest: specifier: catalog:testing - version: 3.2.4(@types/debug@4.1.12)(@types/node@22.13.9)(@vitest/ui@3.2.0)(jiti@1.21.7)(jsdom@26.1.0)(lightningcss@1.28.2)(sass@1.85.1)(terser@5.37.0)(tsx@4.20.3)(yaml@2.8.0) + version: 3.2.4(@types/debug@4.1.12)(@types/node@22.13.9)(@vitest/ui@3.2.4)(jiti@1.21.7)(jsdom@26.1.0)(lightningcss@1.28.2)(sass@1.85.1)(terser@5.37.0)(tsx@4.20.3)(yaml@2.8.0) publishDirectory: dist packages/helpers: @@ -415,7 +440,7 @@ importers: version: 7.0.2(@types/node@22.13.9)(jiti@1.21.7)(lightningcss@1.28.2)(sass@1.85.1)(terser@5.37.0)(tsx@4.20.3)(yaml@2.8.0) vitest: specifier: catalog:testing - version: 3.2.4(@types/debug@4.1.12)(@types/node@22.13.9)(@vitest/ui@3.2.0)(jiti@1.21.7)(jsdom@26.1.0)(lightningcss@1.28.2)(sass@1.85.1)(terser@5.37.0)(tsx@4.20.3)(yaml@2.8.0) + version: 3.2.4(@types/debug@4.1.12)(@types/node@22.13.9)(@vitest/ui@3.2.4)(jiti@1.21.7)(jsdom@26.1.0)(lightningcss@1.28.2)(sass@1.85.1)(terser@5.37.0)(tsx@4.20.3)(yaml@2.8.0) publishDirectory: dist packages/internals: @@ -471,7 +496,7 @@ importers: version: 7.0.2(@types/node@22.13.9)(jiti@1.21.7)(lightningcss@1.28.2)(sass@1.85.1)(terser@5.37.0)(tsx@4.20.3)(yaml@2.8.0) vitest: specifier: catalog:testing - version: 3.2.4(@types/debug@4.1.12)(@types/node@22.13.9)(@vitest/ui@3.2.0)(jiti@1.21.7)(jsdom@26.1.0)(lightningcss@1.28.2)(sass@1.85.1)(terser@5.37.0)(tsx@4.20.3)(yaml@2.8.0) + version: 3.2.4(@types/debug@4.1.12)(@types/node@22.13.9)(@vitest/ui@3.2.4)(jiti@1.21.7)(jsdom@26.1.0)(lightningcss@1.28.2)(sass@1.85.1)(terser@5.37.0)(tsx@4.20.3)(yaml@2.8.0) publishDirectory: dist packages/sveltekit: @@ -493,7 +518,7 @@ importers: version: 6.6.3 '@testing-library/svelte': specifier: catalog:testing - version: 5.2.4(svelte@5.36.16)(vite@7.0.2(@types/node@22.13.9)(jiti@1.21.7)(lightningcss@1.28.2)(sass@1.85.1)(terser@5.37.0)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4(@types/debug@4.1.12)(@types/node@22.13.9)(jiti@1.21.7)(jsdom@26.1.0)(lightningcss@1.28.2)(sass@1.85.1)(terser@5.37.0)(tsx@4.20.3)(yaml@2.8.0)) + version: 5.2.4(svelte@5.36.16)(vite@7.0.2(@types/node@22.13.9)(jiti@1.21.7)(lightningcss@1.28.2)(sass@1.85.1)(terser@5.37.0)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4) jsdom: specifier: catalog:testing version: 26.1.0 @@ -514,7 +539,7 @@ importers: version: 7.0.2(@types/node@22.13.9)(jiti@1.21.7)(lightningcss@1.28.2)(sass@1.85.1)(terser@5.37.0)(tsx@4.20.3)(yaml@2.8.0) vitest: specifier: catalog:testing - version: 3.2.4(@types/debug@4.1.12)(@types/node@22.13.9)(@vitest/ui@3.2.0)(jiti@1.21.7)(jsdom@26.1.0)(lightningcss@1.28.2)(sass@1.85.1)(terser@5.37.0)(tsx@4.20.3)(yaml@2.8.0) + version: 3.2.4(@types/debug@4.1.12)(@types/node@22.13.9)(@vitest/ui@3.2.4)(jiti@1.21.7)(jsdom@26.1.0)(lightningcss@1.28.2)(sass@1.85.1)(terser@5.37.0)(tsx@4.20.3)(yaml@2.8.0) publishDirectory: dist packages/vite-plugin-kit-routes: @@ -599,7 +624,7 @@ importers: version: 6.1.0(svelte@5.36.16)(vite@7.0.2(@types/node@22.13.9)(jiti@1.21.7)(lightningcss@1.28.2)(sass@1.85.1)(terser@5.37.0)(tsx@4.20.3)(yaml@2.8.0)) '@vitest/ui': specifier: catalog:testing - version: 3.2.0(vitest@3.2.4) + version: 3.2.4(vitest@3.2.4) publint: specifier: catalog:lib-author-helper version: 0.3.1 @@ -623,7 +648,7 @@ importers: version: 7.0.2(@types/node@22.13.9)(jiti@1.21.7)(lightningcss@1.28.2)(sass@1.85.1)(terser@5.37.0)(tsx@4.20.3)(yaml@2.8.0) vitest: specifier: catalog:testing - version: 3.2.4(@types/debug@4.1.12)(@types/node@22.13.9)(@vitest/ui@3.2.0)(jiti@1.21.7)(jsdom@26.1.0)(lightningcss@1.28.2)(sass@1.85.1)(terser@5.37.0)(tsx@4.20.3)(yaml@2.8.0) + version: 3.2.4(@types/debug@4.1.12)(@types/node@22.13.9)(@vitest/ui@3.2.4)(jiti@1.21.7)(jsdom@26.1.0)(lightningcss@1.28.2)(sass@1.85.1)(terser@5.37.0)(tsx@4.20.3)(yaml@2.8.0) publishDirectory: dist packages/vite-plugin-watch-and-run: @@ -673,7 +698,7 @@ importers: version: 7.0.2(@types/node@22.13.9)(jiti@1.21.7)(lightningcss@1.28.2)(sass@1.85.1)(terser@5.37.0)(tsx@4.20.3)(yaml@2.8.0) vitest: specifier: catalog:testing - version: 3.2.4(@types/debug@4.1.12)(@types/node@22.13.9)(@vitest/ui@3.2.0)(jiti@1.21.7)(jsdom@26.1.0)(lightningcss@1.28.2)(sass@1.85.1)(terser@5.37.0)(tsx@4.20.3)(yaml@2.8.0) + version: 3.2.4(@types/debug@4.1.12)(@types/node@22.13.9)(@vitest/ui@3.2.4)(jiti@1.21.7)(jsdom@26.1.0)(lightningcss@1.28.2)(sass@1.85.1)(terser@5.37.0)(tsx@4.20.3)(yaml@2.8.0) publishDirectory: dist packages: @@ -1414,6 +1439,76 @@ packages: '@oslojs/encoding@1.1.0': resolution: {integrity: sha512-70wQhgYmndg4GCPxPPxPGevRKqTIJ2Nh4OkiMWmDAVYsTQ+Ta7Sq+rPevXyXGdzr30/qZBnyOalCszoMxlyldQ==} + '@oxlint-tsgolint/darwin-arm64@0.2.0': + resolution: {integrity: sha512-ayJO9SmiJ15oV3+svIw8bqun0ySdjiD7L+ddwNB4vOAgUX/rdX1KTBnDb/ZEk6MOFBnFgbbiEiLRJLlGtuFYVQ==} + cpu: [arm64] + os: [darwin] + + '@oxlint-tsgolint/darwin-x64@0.2.0': + resolution: {integrity: sha512-iCrcjkqqyy3zq+yXOmNsjt/DiSU4u9yJ00hEr4oGSrrk7V0ju6eqrmsh8VGS74YLY3MCskTjeTyVDRR7huc3WQ==} + cpu: [x64] + os: [darwin] + + '@oxlint-tsgolint/linux-arm64@0.2.0': + resolution: {integrity: sha512-Kne4mrJGCZ0O+/ukcvWftCmDAEFUpMQ4q4wZdWVlnmNdTbtICIay3ofk/rzX0QoZmEZh0jy/G7p+5P0t9Bg5Sg==} + cpu: [arm64] + os: [linux] + + '@oxlint-tsgolint/linux-x64@0.2.0': + resolution: {integrity: sha512-DKGFSR71fnExWpJXvN32SqWuEcT1XXeI1CKpO63jgXTAUpVl9H/BXG3+gNptSoZqzqeFTj8jOgiaX6VkOABqGA==} + cpu: [x64] + os: [linux] + + '@oxlint-tsgolint/win32-arm64@0.2.0': + resolution: {integrity: sha512-Grbkva1YH0eTRtv3MkVTFAycVwQSytcl8N52zNs1YresWwOlnNvNZ5EeLIaQaudcxwsbpZWR2Bdsfa467zDJTw==} + cpu: [arm64] + os: [win32] + + '@oxlint-tsgolint/win32-x64@0.2.0': + resolution: {integrity: sha512-asfPqgu7r1H8NmBNxfMpZER6WvrUTH8BDMPIcChBhrUjuSmt4UMyiyul3CEPZLPQcPlaWCeGnConTu3BabK4Fw==} + cpu: [x64] + os: [win32] + + '@oxlint/darwin-arm64@1.23.0': + resolution: {integrity: sha512-sbxoftgEMKmZQO7O4wHR9Rs7MfiHa2UH2x4QJDoc4LXqSCsI4lUIJbFQ05vX+zOUbt7CQMPdxEzExd4DqeKY2w==} + cpu: [arm64] + os: [darwin] + + '@oxlint/darwin-x64@1.23.0': + resolution: {integrity: sha512-PjByWr1TlwHQiOqEc8CPyXCT4wnujSK3n9l1m4un0Eh0uLJEDG5WM9tyDWOGuakC0Ika9/SMp0HDRg3ySchRRA==} + cpu: [x64] + os: [darwin] + + '@oxlint/linux-arm64-gnu@1.23.0': + resolution: {integrity: sha512-sWlCwQ6xKeKC08qU3SfozqpRGCLJiO/onPYFJKEHbjzHkFp+OubOacFaT4ePcka28jCU1TvQ7Gi5BVQRncr0Xg==} + cpu: [arm64] + os: [linux] + + '@oxlint/linux-arm64-musl@1.23.0': + resolution: {integrity: sha512-MPkmSiezuVgjMbzDSkRhENdnb038JOI+OTpBrOho2crbCAuqSRvyFwkMRhncJGZskzo1yeKxrKXB8T83ofmSXw==} + cpu: [arm64] + os: [linux] + + '@oxlint/linux-x64-gnu@1.23.0': + resolution: {integrity: sha512-F6H9wmLfjBoNqtsgyg3P9abLnkVjNbCAnISKdRtDl7HvkMs4s/eU8np9+tSnqPeKOTBhkS+h/VSWgPGZTqIWQA==} + cpu: [x64] + os: [linux] + + '@oxlint/linux-x64-musl@1.23.0': + resolution: {integrity: sha512-Xra0Cow35mAku8mbUbviPRalTU4Ct6MXQ1Eue8GmN4HFkjosrNa5qfy7QkJBqzjiI+JdnHxPXwackGn92/XOQw==} + cpu: [x64] + os: [linux] + + '@oxlint/win32-arm64@1.23.0': + resolution: {integrity: sha512-FR+I+uGD3eFzTfBw87QRr+Y1jBYil3TqPM0wkSvuf3gOJTEXAfSkh9QHCgQqrseW3HDW7YJJ8ty1+sU31H/N4g==} + cpu: [arm64] + os: [win32] + + '@oxlint/win32-x64@1.23.0': + resolution: {integrity: sha512-/oX0b26YIC1OgS5B+G8Ux1Vs/PIjOP4CBRzsPpYr0T+RoboJ3ZuV32bztLRggJKQqIlozcqiRo9fl/UMOMp8kQ==} + cpu: [x64] + os: [win32] + '@pagefind/darwin-arm64@1.3.0': resolution: {integrity: sha512-365BEGl6ChOsauRjyVpBjXybflXAOvoMROw3TucAROHIcdBvXk9/2AmEvGFU0r75+vdQI4LJdJdpH4Y6Yqaj4A==} cpu: [arm64] @@ -1875,73 +1970,73 @@ packages: '@types/yauzl@2.10.3': resolution: {integrity: sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==} - '@typescript-eslint/eslint-plugin@8.37.0': - resolution: {integrity: sha512-jsuVWeIkb6ggzB+wPCsR4e6loj+rM72ohW6IBn2C+5NCvfUVY8s33iFPySSVXqtm5Hu29Ne/9bnA0JmyLmgenA==} + '@typescript-eslint/eslint-plugin@8.46.1': + resolution: {integrity: sha512-rUsLh8PXmBjdiPY+Emjz9NX2yHvhS11v0SR6xNJkm5GM1MO9ea/1GoDKlHHZGrOJclL/cZ2i/vRUYVtjRhrHVQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - '@typescript-eslint/parser': ^8.37.0 + '@typescript-eslint/parser': ^8.46.1 eslint: ^8.57.0 || ^9.0.0 - typescript: '>=4.8.4 <5.9.0' + typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/parser@8.37.0': - resolution: {integrity: sha512-kVIaQE9vrN9RLCQMQ3iyRlVJpTiDUY6woHGb30JDkfJErqrQEmtdWH3gV0PBAfGZgQXoqzXOO0T3K6ioApbbAA==} + '@typescript-eslint/parser@8.46.1': + resolution: {integrity: sha512-6JSSaBZmsKvEkbRUkf7Zj7dru/8ZCrJxAqArcLaVMee5907JdtEbKGsZ7zNiIm/UAkpGUkaSMZEXShnN2D1HZA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 - typescript: '>=4.8.4 <5.9.0' + typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/project-service@8.37.0': - resolution: {integrity: sha512-BIUXYsbkl5A1aJDdYJCBAo8rCEbAvdquQ8AnLb6z5Lp1u3x5PNgSSx9A/zqYc++Xnr/0DVpls8iQ2cJs/izTXA==} + '@typescript-eslint/project-service@8.46.1': + resolution: {integrity: sha512-FOIaFVMHzRskXr5J4Jp8lFVV0gz5ngv3RHmn+E4HYxSJ3DgDzU7fVI1/M7Ijh1zf6S7HIoaIOtln1H5y8V+9Zg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - typescript: '>=4.8.4 <5.9.0' + typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/scope-manager@8.37.0': - resolution: {integrity: sha512-0vGq0yiU1gbjKob2q691ybTg9JX6ShiVXAAfm2jGf3q0hdP6/BruaFjL/ManAR/lj05AvYCH+5bbVo0VtzmjOA==} + '@typescript-eslint/scope-manager@8.46.1': + resolution: {integrity: sha512-weL9Gg3/5F0pVQKiF8eOXFZp8emqWzZsOJuWRUNtHT+UNV2xSJegmpCNQHy37aEQIbToTq7RHKhWvOsmbM680A==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/tsconfig-utils@8.37.0': - resolution: {integrity: sha512-1/YHvAVTimMM9mmlPvTec9NP4bobA1RkDbMydxG8omqwJJLEW/Iy2C4adsAESIXU3WGLXFHSZUU+C9EoFWl4Zg==} + '@typescript-eslint/tsconfig-utils@8.46.1': + resolution: {integrity: sha512-X88+J/CwFvlJB+mK09VFqx5FE4H5cXD+H/Bdza2aEWkSb8hnWIQorNcscRl4IEo1Cz9VI/+/r/jnGWkbWPx54g==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - typescript: '>=4.8.4 <5.9.0' + typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/type-utils@8.37.0': - resolution: {integrity: sha512-SPkXWIkVZxhgwSwVq9rqj/4VFo7MnWwVaRNznfQDc/xPYHjXnPfLWn+4L6FF1cAz6e7dsqBeMawgl7QjUMj4Ow==} + '@typescript-eslint/type-utils@8.46.1': + resolution: {integrity: sha512-+BlmiHIiqufBxkVnOtFwjah/vrkF4MtKKvpXrKSPLCkCtAp8H01/VV43sfqA98Od7nJpDcFnkwgyfQbOG0AMvw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 - typescript: '>=4.8.4 <5.9.0' + typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/types@8.37.0': - resolution: {integrity: sha512-ax0nv7PUF9NOVPs+lmQ7yIE7IQmAf8LGcXbMvHX5Gm+YJUYNAl340XkGnrimxZ0elXyoQJuN5sbg6C4evKA4SQ==} + '@typescript-eslint/types@8.46.1': + resolution: {integrity: sha512-C+soprGBHwWBdkDpbaRC4paGBrkIXxVlNohadL5o0kfhsXqOC6GYH2S/Obmig+I0HTDl8wMaRySwrfrXVP8/pQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/typescript-estree@8.37.0': - resolution: {integrity: sha512-zuWDMDuzMRbQOM+bHyU4/slw27bAUEcKSKKs3hcv2aNnc/tvE/h7w60dwVw8vnal2Pub6RT1T7BI8tFZ1fE+yg==} + '@typescript-eslint/typescript-estree@8.46.1': + resolution: {integrity: sha512-uIifjT4s8cQKFQ8ZBXXyoUODtRoAd7F7+G8MKmtzj17+1UbdzFl52AzRyZRyKqPHhgzvXunnSckVu36flGy8cg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - typescript: '>=4.8.4 <5.9.0' + typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/utils@8.37.0': - resolution: {integrity: sha512-TSFvkIW6gGjN2p6zbXo20FzCABbyUAuq6tBvNRGsKdsSQ6a7rnV6ADfZ7f4iI3lIiXc4F4WWvtUfDw9CJ9pO5A==} + '@typescript-eslint/utils@8.46.1': + resolution: {integrity: sha512-vkYUy6LdZS7q1v/Gxb2Zs7zziuXN0wxqsetJdeZdRe/f5dwJFglmuvZBfTUivCtjH725C1jWCDfpadadD95EDQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 - typescript: '>=4.8.4 <5.9.0' + typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/visitor-keys@8.37.0': - resolution: {integrity: sha512-YzfhzcTnZVPiLfP/oeKtDp2evwvHLMe0LOy7oe+hb9KKIumLNohYS9Hgp1ifwpu42YWxhZE8yieggz6JpqO/1w==} + '@typescript-eslint/visitor-keys@8.46.1': + resolution: {integrity: sha512-ptkmIf2iDkNUjdeu2bQqhFPV1m6qTnFFjg7PPDjxKWaMaP0Z6I9l30Jr3g5QqbZGdw8YdYvLp+XnqnWWZOg/NA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@ungap/structured-clone@1.3.0': resolution: {integrity: sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==} - '@vitest/coverage-v8@3.2.0': - resolution: {integrity: sha512-HjgvaokAiHxRMI5ioXl4WmgAi4zQtKtnltOOlmpzUqApdcTTZrZJAastbbRGydtiqwtYLFaIb6Jpo3PzowZ0cg==} + '@vitest/coverage-v8@3.2.4': + resolution: {integrity: sha512-EyF9SXU6kS5Ku/U82E259WSnvg6c8KTjppUncuNdm5QHpe17mwREHnjDzozC8x9MZ0xfBUFSaLkRv4TMA75ALQ==} peerDependencies: - '@vitest/browser': 3.2.0 - vitest: 3.2.0 + '@vitest/browser': 3.2.4 + vitest: 3.2.4 peerDependenciesMeta: '@vitest/browser': optional: true @@ -1960,9 +2055,6 @@ packages: vite: optional: true - '@vitest/pretty-format@3.2.0': - resolution: {integrity: sha512-gUUhaUmPBHFkrqnOokmfMGRBMHhgpICud9nrz/xpNV3/4OXCn35oG+Pl8rYYsKaTNd/FAIrqRHnwpDpmYxCYZw==} - '@vitest/pretty-format@3.2.4': resolution: {integrity: sha512-IVNZik8IVRJRTr9fxlitMKeJeXFFFN0JaB9PHPGQ8NKQbGpfjlTx9zO4RefN8gp7eqjNy8nyK3NZmBzOPeIxtA==} @@ -1975,13 +2067,10 @@ packages: '@vitest/spy@3.2.4': resolution: {integrity: sha512-vAfasCOe6AIK70iP5UD11Ac4siNUNJ9i/9PZ3NKx07sG6sUxeag1LWdNrMWeKKYBLlzuK+Gn65Yd5nyL6ds+nw==} - '@vitest/ui@3.2.0': - resolution: {integrity: sha512-cYFZZSl1usgzsHoGF66GHfYXlEwc06ggapS1TaSLMKCzhTPWBPI9b/t1RvKIsLSjdKUakpSPf33jQMvRjMvvlQ==} + '@vitest/ui@3.2.4': + resolution: {integrity: sha512-hGISOaP18plkzbWEcP/QvtRW1xDXF2+96HbEX6byqQhAUbiS5oH6/9JwW+QsQCIYON2bI6QZBF+2PvOmrRZ9wA==} peerDependencies: - vitest: 3.2.0 - - '@vitest/utils@3.2.0': - resolution: {integrity: sha512-gXXOe7Fj6toCsZKVQouTRLJftJwmvbhH5lKOBR6rlP950zUq9AitTUjnFoXS/CqjBC2aoejAztLPzzuva++XBw==} + vitest: 3.2.4 '@vitest/utils@3.2.4': resolution: {integrity: sha512-fB2V0JFrQSMsCo9HiSq3Ezpdv4iYaXRG1Sx8edX3MwxfyNn83mKiGzOcH+Fkxt4MHxr3y42fQi1oeAInqgX2QA==} @@ -2621,6 +2710,9 @@ packages: peerDependencies: eslint: '>=7.0.0' + eslint-plugin-oxlint@1.23.0: + resolution: {integrity: sha512-YT/ObCQMluSHVEqDJPwrVLERkUUQnmcRYYQbB7h6t2P4243WE3Z1UmUcPy1Q6vSVP/U7vw5affptlGV2RizDuw==} + eslint-plugin-pnpm@1.1.0: resolution: {integrity: sha512-sL93w0muBtjnogzk/loDsxzMbmXQOLP5Blw3swLDBXZgfb+qQI73bPcUbjVR+ZL+K62vGJdErV+43i3r5DsZPg==} peerDependencies: @@ -3292,6 +3384,9 @@ packages: resolution: {integrity: sha512-WYDyuc/uFcGp6YtM2H0uKmUwieOuzeE/5YocFJLnLfclZ4inf3mRn8ZVy1s7Hxji7Jxm6Ss8gqpexD/GlKoGgg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + jsonc-parser@3.3.1: + resolution: {integrity: sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==} + jsonfile@4.0.0: resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} @@ -3808,6 +3903,20 @@ packages: outdent@0.5.0: resolution: {integrity: sha512-/jHxFIzoMXdqPzTaCpFzAAWhpkSjZPF4Vsn6jAfNpmbH/ymsmd7Qc6VE9BGn0L6YMj6uwpQLxCECpus4ukKS9Q==} + oxlint-tsgolint@0.2.0: + resolution: {integrity: sha512-37Hy+FT1sz8hHUo31JIgFDA8NcFndexrg5okutWRPXNejJwB9hKN+pyInaQQIv4XDsgNcQsSR2VJoq99eaGk9g==} + hasBin: true + + oxlint@1.23.0: + resolution: {integrity: sha512-cLVdSE7Bza8npm+PffU0oufs15+M5uSMbQn0k2fJCayWU0xqQ3dyA3w9tEk8lgNOk1j1VJEdYctz64Vik8VG1w==} + engines: {node: ^20.19.0 || >=22.12.0} + hasBin: true + peerDependencies: + oxlint-tsgolint: '>=0.2.0' + peerDependenciesMeta: + oxlint-tsgolint: + optional: true + p-filter@2.1.0: resolution: {integrity: sha512-ZBxxZ5sL2HghephhpGAQdoskxplTwr7ICaehZwLIlfL6acuVgZPm8yBNuRAFBGEqtD/hmUeq9eqLg2ys9Xr/yw==} engines: {node: '>=8'} @@ -4655,12 +4764,12 @@ packages: resolution: {integrity: sha512-S/5/0kFftkq27FPNye0XM1e2NsnoD/3FS+pBmbjmmtLT6I+i344KoOf7pvXreaFsDamWeaJX55nczA1m5PsBDg==} engines: {node: '>=16'} - typescript-eslint@8.37.0: - resolution: {integrity: sha512-TnbEjzkE9EmcO0Q2zM+GE8NQLItNAJpMmED1BdgoBMYNdqMhzlbqfdSwiRlAzEK2pA9UzVW0gzaaIzXWg2BjfA==} + typescript-eslint@8.46.1: + resolution: {integrity: sha512-VHgijW803JafdSsDO8I761r3SHrgk4T00IdyQ+/UsthtgPRsBWQLqoSxOolxTpxRKi1kGXK0bSz4CoAc9ObqJA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 - typescript: '>=4.8.4 <5.9.0' + typescript: '>=4.8.4 <6.0.0' typescript@5.9.2: resolution: {integrity: sha512-CWBzXQrc/qOkhidw1OzBTQuYRbfyxDXJMVJ1XNwUHGROVmuaeiEm3OslpZ1RV96d7SKKjZKrSJu3+t/xlw3R9A==} @@ -5988,6 +6097,48 @@ snapshots: '@oslojs/encoding@1.1.0': {} + '@oxlint-tsgolint/darwin-arm64@0.2.0': + optional: true + + '@oxlint-tsgolint/darwin-x64@0.2.0': + optional: true + + '@oxlint-tsgolint/linux-arm64@0.2.0': + optional: true + + '@oxlint-tsgolint/linux-x64@0.2.0': + optional: true + + '@oxlint-tsgolint/win32-arm64@0.2.0': + optional: true + + '@oxlint-tsgolint/win32-x64@0.2.0': + optional: true + + '@oxlint/darwin-arm64@1.23.0': + optional: true + + '@oxlint/darwin-x64@1.23.0': + optional: true + + '@oxlint/linux-arm64-gnu@1.23.0': + optional: true + + '@oxlint/linux-arm64-musl@1.23.0': + optional: true + + '@oxlint/linux-x64-gnu@1.23.0': + optional: true + + '@oxlint/linux-x64-musl@1.23.0': + optional: true + + '@oxlint/win32-arm64@1.23.0': + optional: true + + '@oxlint/win32-x64@1.23.0': + optional: true + '@pagefind/darwin-arm64@1.3.0': optional: true @@ -6361,13 +6512,13 @@ snapshots: lodash: 4.17.21 redent: 3.0.0 - '@testing-library/svelte@5.2.4(svelte@5.36.16)(vite@7.0.2(@types/node@22.13.9)(jiti@1.21.7)(lightningcss@1.28.2)(sass@1.85.1)(terser@5.37.0)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4(@types/debug@4.1.12)(@types/node@22.13.9)(jiti@1.21.7)(jsdom@26.1.0)(lightningcss@1.28.2)(sass@1.85.1)(terser@5.37.0)(tsx@4.20.3)(yaml@2.8.0))': + '@testing-library/svelte@5.2.4(svelte@5.36.16)(vite@7.0.2(@types/node@22.13.9)(jiti@1.21.7)(lightningcss@1.28.2)(sass@1.85.1)(terser@5.37.0)(tsx@4.20.3)(yaml@2.8.0))(vitest@3.2.4)': dependencies: '@testing-library/dom': 10.4.0 svelte: 5.36.16 optionalDependencies: vite: 7.0.2(@types/node@22.13.9)(jiti@1.21.7)(lightningcss@1.28.2)(sass@1.85.1)(terser@5.37.0)(tsx@4.20.3)(yaml@2.8.0) - vitest: 3.2.4(@types/debug@4.1.12)(@types/node@22.13.9)(@vitest/ui@3.2.0)(jiti@1.21.7)(jsdom@26.1.0)(lightningcss@1.28.2)(sass@1.85.1)(terser@5.37.0)(tsx@4.20.3)(yaml@2.8.0) + vitest: 3.2.4(@types/debug@4.1.12)(@types/node@22.13.9)(@vitest/ui@3.2.4)(jiti@1.21.7)(jsdom@26.1.0)(lightningcss@1.28.2)(sass@1.85.1)(terser@5.37.0)(tsx@4.20.3)(yaml@2.8.0) '@theguild/prettier-config@3.0.0(@vue/compiler-sfc@3.5.13)(prettier@3.6.1)': dependencies: @@ -6484,14 +6635,14 @@ snapshots: '@types/node': 22.13.9 optional: true - '@typescript-eslint/eslint-plugin@8.37.0(@typescript-eslint/parser@8.37.0(eslint@9.31.0(jiti@1.21.7))(typescript@5.9.2))(eslint@9.31.0(jiti@1.21.7))(typescript@5.9.2)': + '@typescript-eslint/eslint-plugin@8.46.1(@typescript-eslint/parser@8.46.1(eslint@9.31.0(jiti@1.21.7))(typescript@5.9.2))(eslint@9.31.0(jiti@1.21.7))(typescript@5.9.2)': dependencies: '@eslint-community/regexpp': 4.12.1 - '@typescript-eslint/parser': 8.37.0(eslint@9.31.0(jiti@1.21.7))(typescript@5.9.2) - '@typescript-eslint/scope-manager': 8.37.0 - '@typescript-eslint/type-utils': 8.37.0(eslint@9.31.0(jiti@1.21.7))(typescript@5.9.2) - '@typescript-eslint/utils': 8.37.0(eslint@9.31.0(jiti@1.21.7))(typescript@5.9.2) - '@typescript-eslint/visitor-keys': 8.37.0 + '@typescript-eslint/parser': 8.46.1(eslint@9.31.0(jiti@1.21.7))(typescript@5.9.2) + '@typescript-eslint/scope-manager': 8.46.1 + '@typescript-eslint/type-utils': 8.46.1(eslint@9.31.0(jiti@1.21.7))(typescript@5.9.2) + '@typescript-eslint/utils': 8.46.1(eslint@9.31.0(jiti@1.21.7))(typescript@5.9.2) + '@typescript-eslint/visitor-keys': 8.46.1 eslint: 9.31.0(jiti@1.21.7) graphemer: 1.4.0 ignore: 7.0.4 @@ -6501,41 +6652,41 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.37.0(eslint@9.31.0(jiti@1.21.7))(typescript@5.9.2)': + '@typescript-eslint/parser@8.46.1(eslint@9.31.0(jiti@1.21.7))(typescript@5.9.2)': dependencies: - '@typescript-eslint/scope-manager': 8.37.0 - '@typescript-eslint/types': 8.37.0 - '@typescript-eslint/typescript-estree': 8.37.0(typescript@5.9.2) - '@typescript-eslint/visitor-keys': 8.37.0 + '@typescript-eslint/scope-manager': 8.46.1 + '@typescript-eslint/types': 8.46.1 + '@typescript-eslint/typescript-estree': 8.46.1(typescript@5.9.2) + '@typescript-eslint/visitor-keys': 8.46.1 debug: 4.4.1 eslint: 9.31.0(jiti@1.21.7) typescript: 5.9.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/project-service@8.37.0(typescript@5.9.2)': + '@typescript-eslint/project-service@8.46.1(typescript@5.9.2)': dependencies: - '@typescript-eslint/tsconfig-utils': 8.37.0(typescript@5.9.2) - '@typescript-eslint/types': 8.37.0 + '@typescript-eslint/tsconfig-utils': 8.46.1(typescript@5.9.2) + '@typescript-eslint/types': 8.46.1 debug: 4.4.1 typescript: 5.9.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/scope-manager@8.37.0': + '@typescript-eslint/scope-manager@8.46.1': dependencies: - '@typescript-eslint/types': 8.37.0 - '@typescript-eslint/visitor-keys': 8.37.0 + '@typescript-eslint/types': 8.46.1 + '@typescript-eslint/visitor-keys': 8.46.1 - '@typescript-eslint/tsconfig-utils@8.37.0(typescript@5.9.2)': + '@typescript-eslint/tsconfig-utils@8.46.1(typescript@5.9.2)': dependencies: typescript: 5.9.2 - '@typescript-eslint/type-utils@8.37.0(eslint@9.31.0(jiti@1.21.7))(typescript@5.9.2)': + '@typescript-eslint/type-utils@8.46.1(eslint@9.31.0(jiti@1.21.7))(typescript@5.9.2)': dependencies: - '@typescript-eslint/types': 8.37.0 - '@typescript-eslint/typescript-estree': 8.37.0(typescript@5.9.2) - '@typescript-eslint/utils': 8.37.0(eslint@9.31.0(jiti@1.21.7))(typescript@5.9.2) + '@typescript-eslint/types': 8.46.1 + '@typescript-eslint/typescript-estree': 8.46.1(typescript@5.9.2) + '@typescript-eslint/utils': 8.46.1(eslint@9.31.0(jiti@1.21.7))(typescript@5.9.2) debug: 4.4.1 eslint: 9.31.0(jiti@1.21.7) ts-api-utils: 2.1.0(typescript@5.9.2) @@ -6543,14 +6694,14 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/types@8.37.0': {} + '@typescript-eslint/types@8.46.1': {} - '@typescript-eslint/typescript-estree@8.37.0(typescript@5.9.2)': + '@typescript-eslint/typescript-estree@8.46.1(typescript@5.9.2)': dependencies: - '@typescript-eslint/project-service': 8.37.0(typescript@5.9.2) - '@typescript-eslint/tsconfig-utils': 8.37.0(typescript@5.9.2) - '@typescript-eslint/types': 8.37.0 - '@typescript-eslint/visitor-keys': 8.37.0 + '@typescript-eslint/project-service': 8.46.1(typescript@5.9.2) + '@typescript-eslint/tsconfig-utils': 8.46.1(typescript@5.9.2) + '@typescript-eslint/types': 8.46.1 + '@typescript-eslint/visitor-keys': 8.46.1 debug: 4.4.1 fast-glob: 3.3.2 is-glob: 4.0.3 @@ -6561,25 +6712,25 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.37.0(eslint@9.31.0(jiti@1.21.7))(typescript@5.9.2)': + '@typescript-eslint/utils@8.46.1(eslint@9.31.0(jiti@1.21.7))(typescript@5.9.2)': dependencies: '@eslint-community/eslint-utils': 4.7.0(eslint@9.31.0(jiti@1.21.7)) - '@typescript-eslint/scope-manager': 8.37.0 - '@typescript-eslint/types': 8.37.0 - '@typescript-eslint/typescript-estree': 8.37.0(typescript@5.9.2) + '@typescript-eslint/scope-manager': 8.46.1 + '@typescript-eslint/types': 8.46.1 + '@typescript-eslint/typescript-estree': 8.46.1(typescript@5.9.2) eslint: 9.31.0(jiti@1.21.7) typescript: 5.9.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/visitor-keys@8.37.0': + '@typescript-eslint/visitor-keys@8.46.1': dependencies: - '@typescript-eslint/types': 8.37.0 + '@typescript-eslint/types': 8.46.1 eslint-visitor-keys: 4.2.1 '@ungap/structured-clone@1.3.0': {} - '@vitest/coverage-v8@3.2.0(vitest@3.2.4(@types/debug@4.1.12)(@types/node@22.13.9)(jiti@1.21.7)(jsdom@26.1.0)(lightningcss@1.28.2)(sass@1.85.1)(terser@5.37.0)(tsx@4.20.3)(yaml@2.8.0))': + '@vitest/coverage-v8@3.2.4(vitest@3.2.4)': dependencies: '@ampproject/remapping': 2.3.0 '@bcoe/v8-coverage': 1.0.2 @@ -6594,7 +6745,7 @@ snapshots: std-env: 3.9.0 test-exclude: 7.0.1 tinyrainbow: 2.0.0 - vitest: 3.2.4(@types/debug@4.1.12)(@types/node@22.13.9)(@vitest/ui@3.2.0)(jiti@1.21.7)(jsdom@26.1.0)(lightningcss@1.28.2)(sass@1.85.1)(terser@5.37.0)(tsx@4.20.3)(yaml@2.8.0) + vitest: 3.2.4(@types/debug@4.1.12)(@types/node@22.13.9)(@vitest/ui@3.2.4)(jiti@1.21.7)(jsdom@26.1.0)(lightningcss@1.28.2)(sass@1.85.1)(terser@5.37.0)(tsx@4.20.3)(yaml@2.8.0) transitivePeerDependencies: - supports-color @@ -6614,10 +6765,6 @@ snapshots: optionalDependencies: vite: 7.0.2(@types/node@22.13.9)(jiti@1.21.7)(lightningcss@1.28.2)(sass@1.85.1)(terser@5.37.0)(tsx@4.20.3)(yaml@2.8.0) - '@vitest/pretty-format@3.2.0': - dependencies: - tinyrainbow: 2.0.0 - '@vitest/pretty-format@3.2.4': dependencies: tinyrainbow: 2.0.0 @@ -6638,22 +6785,16 @@ snapshots: dependencies: tinyspy: 4.0.3 - '@vitest/ui@3.2.0(vitest@3.2.4)': + '@vitest/ui@3.2.4(vitest@3.2.4)': dependencies: - '@vitest/utils': 3.2.0 + '@vitest/utils': 3.2.4 fflate: 0.8.2 flatted: 3.3.3 pathe: 2.0.3 sirv: 3.0.1 tinyglobby: 0.2.14 tinyrainbow: 2.0.0 - vitest: 3.2.4(@types/debug@4.1.12)(@types/node@22.13.9)(@vitest/ui@3.2.0)(jiti@1.21.7)(jsdom@26.1.0)(lightningcss@1.28.2)(sass@1.85.1)(terser@5.37.0)(tsx@4.20.3)(yaml@2.8.0) - - '@vitest/utils@3.2.0': - dependencies: - '@vitest/pretty-format': 3.2.0 - loupe: 3.1.3 - tinyrainbow: 2.0.0 + vitest: 3.2.4(@types/debug@4.1.12)(@types/node@22.13.9)(@vitest/ui@3.2.4)(jiti@1.21.7)(jsdom@26.1.0)(lightningcss@1.28.2)(sass@1.85.1)(terser@5.37.0)(tsx@4.20.3)(yaml@2.8.0) '@vitest/utils@3.2.4': dependencies: @@ -7395,6 +7536,10 @@ snapshots: dependencies: eslint: 9.31.0(jiti@1.21.7) + eslint-plugin-oxlint@1.23.0: + dependencies: + jsonc-parser: 3.3.1 + eslint-plugin-pnpm@1.1.0(eslint@9.31.0(jiti@1.21.7)): dependencies: eslint: 9.31.0(jiti@1.21.7) @@ -7423,11 +7568,11 @@ snapshots: transitivePeerDependencies: - ts-node - eslint-plugin-unused-imports@4.1.4(@typescript-eslint/eslint-plugin@8.37.0(@typescript-eslint/parser@8.37.0(eslint@9.31.0(jiti@1.21.7))(typescript@5.9.2))(eslint@9.31.0(jiti@1.21.7))(typescript@5.9.2))(eslint@9.31.0(jiti@1.21.7)): + eslint-plugin-unused-imports@4.1.4(@typescript-eslint/eslint-plugin@8.46.1(@typescript-eslint/parser@8.46.1(eslint@9.31.0(jiti@1.21.7))(typescript@5.9.2))(eslint@9.31.0(jiti@1.21.7))(typescript@5.9.2))(eslint@9.31.0(jiti@1.21.7)): dependencies: eslint: 9.31.0(jiti@1.21.7) optionalDependencies: - '@typescript-eslint/eslint-plugin': 8.37.0(@typescript-eslint/parser@8.37.0(eslint@9.31.0(jiti@1.21.7))(typescript@5.9.2))(eslint@9.31.0(jiti@1.21.7))(typescript@5.9.2) + '@typescript-eslint/eslint-plugin': 8.46.1(@typescript-eslint/parser@8.46.1(eslint@9.31.0(jiti@1.21.7))(typescript@5.9.2))(eslint@9.31.0(jiti@1.21.7))(typescript@5.9.2) eslint-scope@8.4.0: dependencies: @@ -8253,6 +8398,8 @@ snapshots: espree: 9.6.1 semver: 7.7.1 + jsonc-parser@3.3.1: {} + jsonfile@4.0.0: optionalDependencies: graceful-fs: 4.2.11 @@ -9023,6 +9170,27 @@ snapshots: outdent@0.5.0: {} + oxlint-tsgolint@0.2.0: + optionalDependencies: + '@oxlint-tsgolint/darwin-arm64': 0.2.0 + '@oxlint-tsgolint/darwin-x64': 0.2.0 + '@oxlint-tsgolint/linux-arm64': 0.2.0 + '@oxlint-tsgolint/linux-x64': 0.2.0 + '@oxlint-tsgolint/win32-arm64': 0.2.0 + '@oxlint-tsgolint/win32-x64': 0.2.0 + + oxlint@1.23.0(oxlint-tsgolint@0.2.0): + optionalDependencies: + '@oxlint/darwin-arm64': 1.23.0 + '@oxlint/darwin-x64': 1.23.0 + '@oxlint/linux-arm64-gnu': 1.23.0 + '@oxlint/linux-arm64-musl': 1.23.0 + '@oxlint/linux-x64-gnu': 1.23.0 + '@oxlint/linux-x64-musl': 1.23.0 + '@oxlint/win32-arm64': 1.23.0 + '@oxlint/win32-x64': 1.23.0 + oxlint-tsgolint: 0.2.0 + p-filter@2.1.0: dependencies: p-map: 2.1.0 @@ -10004,12 +10172,12 @@ snapshots: type-fest@4.37.0: {} - typescript-eslint@8.37.0(eslint@9.31.0(jiti@1.21.7))(typescript@5.9.2): + typescript-eslint@8.46.1(eslint@9.31.0(jiti@1.21.7))(typescript@5.9.2): dependencies: - '@typescript-eslint/eslint-plugin': 8.37.0(@typescript-eslint/parser@8.37.0(eslint@9.31.0(jiti@1.21.7))(typescript@5.9.2))(eslint@9.31.0(jiti@1.21.7))(typescript@5.9.2) - '@typescript-eslint/parser': 8.37.0(eslint@9.31.0(jiti@1.21.7))(typescript@5.9.2) - '@typescript-eslint/typescript-estree': 8.37.0(typescript@5.9.2) - '@typescript-eslint/utils': 8.37.0(eslint@9.31.0(jiti@1.21.7))(typescript@5.9.2) + '@typescript-eslint/eslint-plugin': 8.46.1(@typescript-eslint/parser@8.46.1(eslint@9.31.0(jiti@1.21.7))(typescript@5.9.2))(eslint@9.31.0(jiti@1.21.7))(typescript@5.9.2) + '@typescript-eslint/parser': 8.46.1(eslint@9.31.0(jiti@1.21.7))(typescript@5.9.2) + '@typescript-eslint/typescript-estree': 8.46.1(typescript@5.9.2) + '@typescript-eslint/utils': 8.46.1(eslint@9.31.0(jiti@1.21.7))(typescript@5.9.2) eslint: 9.31.0(jiti@1.21.7) typescript: 5.9.2 transitivePeerDependencies: @@ -10214,7 +10382,7 @@ snapshots: optionalDependencies: vite: 7.0.2(@types/node@22.13.9)(jiti@1.21.7)(lightningcss@1.28.2)(sass@1.85.1)(terser@5.37.0)(tsx@4.20.3)(yaml@2.8.0) - vitest@3.2.4(@types/debug@4.1.12)(@types/node@22.13.9)(@vitest/ui@3.2.0)(jiti@1.21.7)(jsdom@26.1.0)(lightningcss@1.28.2)(sass@1.85.1)(terser@5.37.0)(tsx@4.20.3)(yaml@2.8.0): + vitest@3.2.4(@types/debug@4.1.12)(@types/node@22.13.9)(@vitest/ui@3.2.4)(jiti@1.21.7)(jsdom@26.1.0)(lightningcss@1.28.2)(sass@1.85.1)(terser@5.37.0)(tsx@4.20.3)(yaml@2.8.0): dependencies: '@types/chai': 5.2.2 '@vitest/expect': 3.2.4 @@ -10242,7 +10410,7 @@ snapshots: optionalDependencies: '@types/debug': 4.1.12 '@types/node': 22.13.9 - '@vitest/ui': 3.2.0(vitest@3.2.4) + '@vitest/ui': 3.2.4(vitest@3.2.4) jsdom: 26.1.0 transitivePeerDependencies: - jiti diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 7c22a99d..0288a522 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -26,8 +26,8 @@ catalogs: testing: # unit 'vitest': '3.2.4' - '@vitest/ui': 3.2.0 - '@vitest/coverage-v8': '3.2.0' + '@vitest/ui': 3.2.4 + '@vitest/coverage-v8': '3.2.4' '@testing-library/jest-dom': '6.6.3' '@testing-library/svelte': '5.2.4' 'jsdom': '26.1.0' @@ -39,7 +39,7 @@ catalogs: '@eslint/js': '9.31.0' '@theguild/prettier-config': '3.0.0' '@types/eslint': '9.6.1' - '@typescript-eslint/parser': '8.37.0' + '@typescript-eslint/parser': '8.46.1' 'eslint': '9.31.0' 'eslint-config-prettier': '10.1.5' 'eslint-plugin-pnpm': '1.1.0' @@ -49,10 +49,15 @@ catalogs: 'prettier': '^3.6.1' 'prettier-plugin-svelte': '3.4.0' 'prettier-plugin-tailwindcss': '0.6.14' - 'typescript-eslint': '8.37.0' + 'typescript-eslint': '8.46.1' jsonc-eslint-parser: 2.4.0 yaml-eslint-parser: 1.3.0 + linting-oxc: + oxlint: 1.23.0 + oxlint-tsgolint: 0.2.0 + eslint-plugin-oxlint: 1.23.0 + lib-author-helper: '@changesets/changelog-github': '0.5.1' '@changesets/cli': '2.29.7' @@ -92,3 +97,13 @@ catalogs: astro-icon: 1.1.5 sharp: 0.34.1 prettier-plugin-astro: 0.14.1 + conflicts_linting-oxc_h0_2_0: + oxlint-tsgolint: ^0.2.0 + conflicts_eslint-plugin-oxlint_h: + eslint-plugin-oxlint: ^ + conflicts_eslint-plugin-oxlint_: + eslint-plugin-oxlint: '' +catalog: + eslint-plugin-oxlint: ^1.23.0 + oxlint: ^1.23.0 + oxlint-tsgolint: ^0.2.0 -- 2.51.2