diff --git a/.oxlintrc.json b/.oxlintrc.json new file mode 100644 index 0000000..fdd27cb --- /dev/null +++ b/.oxlintrc.json @@ -0,0 +1,228 @@ +{ + "plugins": ["typescript", "unicorn"], + "categories": { + "correctness": "off" + }, + "env": { + "builtin": true, + "phantomjs": true + }, + "rules": { + "constructor-super": "error", + "for-direction": "error", + "no-async-promise-executor": "error", + "no-case-declarations": "error", + "no-class-assign": "error", + "no-compare-neg-zero": "error", + "no-cond-assign": "error", + "no-const-assign": "error", + "no-constant-binary-expression": "error", + "no-constant-condition": "error", + "no-control-regex": "error", + "no-debugger": "error", + "no-delete-var": "error", + "no-dupe-class-members": "error", + "no-dupe-else-if": "error", + "no-dupe-keys": "error", + "no-duplicate-case": "error", + "no-empty": "error", + "no-empty-character-class": "error", + "no-empty-pattern": "error", + "no-empty-static-block": "error", + "no-ex-assign": "error", + "no-extra-boolean-cast": "error", + "no-fallthrough": "error", + "no-func-assign": "error", + "no-global-assign": "error", + "no-import-assign": "error", + "no-invalid-regexp": "error", + "no-irregular-whitespace": "error", + "no-loss-of-precision": "error", + "no-new-native-nonconstructor": "error", + "no-nonoctal-decimal-escape": "error", + "no-obj-calls": "error", + "no-prototype-builtins": "error", + "no-redeclare": "error", + "no-regex-spaces": "error", + "no-self-assign": "error", + "no-setter-return": "error", + "no-shadow-restricted-names": "error", + "no-sparse-arrays": "error", + "no-this-before-super": "error", + "no-unexpected-multiline": "error", + "no-unsafe-finally": "error", + "no-unsafe-negation": "error", + "no-unsafe-optional-chaining": "error", + "no-unused-labels": "error", + "no-unused-private-class-members": "error", + "no-unused-vars": [ + "warn", + { + "varsIgnorePattern": "^_", + "argsIgnorePattern": "^_" + } + ], + "no-useless-backreference": "error", + "no-useless-catch": "error", + "no-useless-escape": "error", + "no-with": "error", + "require-yield": "error", + "use-isnan": "error", + "valid-typeof": "error", + "no-array-constructor": "error", + "@typescript-eslint/no-duplicate-enum-values": "error", + "@typescript-eslint/no-extra-non-null-assertion": "error", + "@typescript-eslint/no-misused-new": "error", + "@typescript-eslint/no-namespace": "error", + "@typescript-eslint/no-non-null-asserted-optional-chain": "error", + "@typescript-eslint/no-require-imports": "error", + "@typescript-eslint/no-this-alias": "error", + "@typescript-eslint/no-unnecessary-type-constraint": "error", + "@typescript-eslint/no-unsafe-declaration-merging": "error", + "@typescript-eslint/no-unsafe-function-type": "error", + "@typescript-eslint/no-wrapper-object-types": "error", + "@typescript-eslint/prefer-as-const": "error", + "@typescript-eslint/prefer-namespace-keyword": "error", + "@typescript-eslint/triple-slash-reference": "error", + "unicorn/catch-error-name": "error", + "unicorn/consistent-assert": "error", + "unicorn/consistent-date-clone": "error", + "unicorn/consistent-empty-array-spread": "error", + "unicorn/consistent-existence-index-check": "error", + "unicorn/empty-brace-spaces": "error", + "unicorn/error-message": "error", + "unicorn/escape-case": "error", + "unicorn/explicit-length-check": "error", + "unicorn/new-for-builtins": "error", + "unicorn/no-accessor-recursion": "error", + "unicorn/no-array-callback-reference": "error", + "unicorn/no-array-for-each": "error", + "unicorn/no-array-method-this-argument": "error", + "unicorn/no-array-reduce": "error", + "unicorn/no-await-in-promise-methods": "error", + "unicorn/no-console-spaces": "error", + "unicorn/no-document-cookie": "error", + "unicorn/no-empty-file": "error", + "unicorn/no-hex-escape": "error", + "unicorn/no-instanceof-builtins": "error", + "unicorn/no-invalid-fetch-options": "error", + "unicorn/no-invalid-remove-event-listener": "error", + "unicorn/no-lonely-if": "error", + "unicorn/no-magic-array-flat-depth": "error", + "unicorn/no-negated-condition": "error", + "unicorn/no-negation-in-equality-check": "error", + "unicorn/no-nested-ternary": "error", + "unicorn/no-new-array": "error", + "unicorn/no-new-buffer": "error", + "unicorn/no-object-as-default-parameter": "error", + "unicorn/no-process-exit": "error", + "unicorn/no-single-promise-in-promise-methods": "error", + "unicorn/no-static-only-class": "error", + "unicorn/no-thenable": "error", + "unicorn/no-this-assignment": "error", + "unicorn/no-typeof-undefined": "error", + "unicorn/no-unnecessary-array-flat-depth": "error", + "unicorn/no-unnecessary-array-splice-count": "error", + "unicorn/no-unnecessary-await": "error", + "unicorn/no-unnecessary-slice-end": "error", + "unicorn/no-unreadable-array-destructuring": "error", + "unicorn/no-unreadable-iife": "error", + "unicorn/no-useless-collection-argument": "error", + "unicorn/no-useless-error-capture-stack-trace": "error", + "unicorn/no-useless-fallback-in-spread": "error", + "unicorn/no-useless-length-check": "error", + "unicorn/no-useless-promise-resolve-reject": "error", + "unicorn/no-useless-spread": "error", + "unicorn/no-useless-switch-case": "error", + "unicorn/no-zero-fractions": "error", + "unicorn/numeric-separators-style": "error", + "unicorn/prefer-add-event-listener": "error", + "unicorn/prefer-array-find": "error", + "unicorn/prefer-array-flat": "error", + "unicorn/prefer-array-flat-map": "error", + "unicorn/prefer-array-index-of": "error", + "unicorn/prefer-array-some": "error", + "unicorn/prefer-at": "error", + "unicorn/prefer-bigint-literals": "error", + "unicorn/prefer-blob-reading-methods": "error", + "unicorn/prefer-class-fields": "error", + "unicorn/prefer-classlist-toggle": "error", + "unicorn/prefer-date-now": "error", + "unicorn/prefer-default-parameters": "error", + "unicorn/prefer-dom-node-append": "error", + "unicorn/prefer-dom-node-dataset": "error", + "unicorn/prefer-dom-node-remove": "error", + "unicorn/prefer-dom-node-text-content": "error", + "unicorn/prefer-event-target": "error", + "unicorn/prefer-global-this": "error", + "unicorn/prefer-includes": "error", + "unicorn/prefer-keyboard-event-key": "error", + "unicorn/prefer-logical-operator-over-ternary": "error", + "unicorn/prefer-math-min-max": "error", + "unicorn/prefer-math-trunc": "error", + "unicorn/prefer-modern-dom-apis": "error", + "unicorn/prefer-modern-math-apis": "error", + "unicorn/prefer-native-coercion-functions": "error", + "unicorn/prefer-negative-index": "error", + "unicorn/prefer-node-protocol": "error", + "unicorn/prefer-number-properties": "error", + "unicorn/prefer-object-from-entries": "error", + "unicorn/prefer-optional-catch-binding": "error", + "unicorn/prefer-prototype-methods": "error", + "unicorn/prefer-query-selector": "error", + "unicorn/prefer-reflect-apply": "error", + "unicorn/prefer-regexp-test": "error", + "unicorn/prefer-response-static-json": "error", + "unicorn/prefer-set-has": "error", + "unicorn/prefer-set-size": "error", + "unicorn/prefer-spread": "error", + "unicorn/prefer-string-slice": "error", + "unicorn/prefer-string-starts-ends-with": "error", + "unicorn/prefer-string-trim-start-end": "error", + "unicorn/prefer-structured-clone": "error", + "unicorn/prefer-top-level-await": "error", + "unicorn/prefer-type-error": "error", + "unicorn/require-array-join-separator": "error", + "unicorn/require-module-attributes": "error", + "unicorn/require-module-specifiers": "error", + "unicorn/require-number-to-fixed-digits-argument": "error", + "unicorn/switch-case-braces": "error", + "unicorn/text-encoding-identifier-case": "error", + "unicorn/throw-new-error": "error" + }, + "ignorePatterns": ["dist", "coverage", "**/types.gen.d.ts"], + "overrides": [ + { + "files": ["**/*.ts", "**/*.tsx", "**/*.mts", "**/*.cts"], + "rules": { + "constructor-super": "off", + "no-class-assign": "off", + "no-const-assign": "off", + "no-dupe-class-members": "off", + "no-dupe-keys": "off", + "no-func-assign": "off", + "no-import-assign": "off", + "no-new-native-nonconstructor": "off", + "no-obj-calls": "off", + "no-redeclare": "off", + "no-setter-return": "off", + "no-this-before-super": "off", + "no-unsafe-negation": "off", + "no-var": "error", + "no-with": "off", + "prefer-rest-params": "error", + "prefer-spread": "error" + } + }, + { + "files": ["**/*.md/*.js", "**/*.md/*.ts"], + "rules": { + "no-empty-pattern": "off", + "no-redeclare": "off", + "no-import-assign": "off", + "@typescript-eslint/no-require-imports": "off", + "no-unused-vars": "off" + } + } + ] +} diff --git a/build.config.ts b/build.config.ts index d8dcfdd..ade8417 100644 --- a/build.config.ts +++ b/build.config.ts @@ -1,5 +1,7 @@ import { defineBuildConfig } from "obuild/config"; -import fs from "node:fs/promises"; +import { writeFile, rm, readFile } from "node:fs/promises"; +import { x } from "tinyexec"; +import { format } from 'oxfmt' export default defineBuildConfig({ entries: ["src/eslint.config.ts"], @@ -12,8 +14,19 @@ export default defineBuildConfig({ const dts = await flatConfigsToRulesDTS(unjsPreset(), { includeAugmentation: false, }); - await fs.writeFile("src/types.gen.d.ts", dts); + await writeFile("src/types.gen.d.ts", dts); console.log("Generated src/types.gen.d.ts"); }, + async end() { + const occConfig = ".oxlintrc.json" + await rm(occConfig, { force: true }); + await x("node", ["node_modules/@oxlint/migrate/dist/bin/oxlint-migrate.mjs"]) + const config = JSON.parse(await readFile(occConfig, "utf8")); + delete config.$schema; + delete config.globals; + const json = (await format(occConfig, JSON.stringify(config, null, 2))).code + await writeFile(occConfig, json); + console.log(`Generated ${occConfig}`); + } }, }); diff --git a/package.json b/package.json index 90520cc..eb8db8e 100644 --- a/package.json +++ b/package.json @@ -10,7 +10,8 @@ }, "types": "dist/eslint.config.d.mts", "files": [ - "dist" + "dist", + ".oxlintrc.json" ], "scripts": { "build": "obuild", @@ -31,6 +32,7 @@ }, "devDependencies": { "@eslint/config-inspector": "^1.4.2", + "@oxlint/migrate": "^1.41.0", "@types/eslint": "^9.6.1", "@types/node": "^25.0.10", "@typescript/native-preview": "7.0.0-dev.20260122.4", @@ -39,7 +41,10 @@ "eslint": "^9.39.2", "eslint-typegen": "^2.3.0", "obuild": "^0.4.20", + "oxfmt": "^0.26.0", + "oxlint": "^1.41.0", "prettier": "^3.8.1", + "tinyexec": "^1.0.2", "typescript": "^5.9.3" }, "peerDependencies": { diff --git a/patches/@oxlint__migrate.patch b/patches/@oxlint__migrate.patch new file mode 100644 index 0000000..d5b8581 --- /dev/null +++ b/patches/@oxlint__migrate.patch @@ -0,0 +1,13 @@ +diff --git a/dist/bin/oxlint-migrate.mjs b/dist/bin/oxlint-migrate.mjs +index 3d16c09a3ff05973a744c5bb6f3d53337023bd08..23e3bae39cc9896ba335c916a6677e3aadc9bc8f 100755 +--- a/dist/bin/oxlint-migrate.mjs ++++ b/dist/bin/oxlint-migrate.mjs +@@ -31,7 +31,7 @@ const loadESLintConfig = async (filePath) => { + if (filePath.endsWith(".ts") || filePath.endsWith(".mts") || filePath.endsWith(".cts")) { + const { createJiti } = await import("jiti"); + return createJiti(filePath, { +- interopDefault: false, ++ // interopDefault: false, + moduleCache: false + }).import(url); + } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 0675cd9..b56ce02 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -4,6 +4,11 @@ settings: autoInstallPeers: true excludeLinksFromLockfile: false +patchedDependencies: + '@oxlint/migrate': + hash: 813f68fa1668818fb95324e6a8e2add2cde04d43df8de53f15f27df446ba4832 + path: patches/@oxlint__migrate.patch + importers: .: @@ -27,6 +32,9 @@ importers: '@eslint/config-inspector': specifier: ^1.4.2 version: 1.4.2(eslint@9.39.2(jiti@2.6.1)) + '@oxlint/migrate': + specifier: ^1.41.0 + version: 1.41.0(patch_hash=813f68fa1668818fb95324e6a8e2add2cde04d43df8de53f15f27df446ba4832)(jiti@2.6.1) '@types/eslint': specifier: ^9.6.1 version: 9.6.1 @@ -51,9 +59,18 @@ importers: obuild: specifier: ^0.4.20 version: 0.4.20(@typescript/native-preview@7.0.0-dev.20260122.4)(typescript@5.9.3) + oxfmt: + specifier: ^0.26.0 + version: 0.26.0 + oxlint: + specifier: ^1.41.0 + version: 1.41.0 prettier: specifier: ^3.8.1 version: 3.8.1 + tinyexec: + specifier: ^1.0.2 + version: 1.0.2 typescript: specifier: ^5.9.3 version: 5.9.3 @@ -340,9 +357,214 @@ packages: '@napi-rs/wasm-runtime@1.1.1': resolution: {integrity: sha512-p64ah1M1ld8xjWv3qbvFwHiFVWrq1yFvV4f7w+mzaqiR4IlSgkqhcRdHwsGgomwzBH51sRY4NEowLxnaBjcW/A==} + '@oxc-parser/binding-android-arm-eabi@0.110.0': + resolution: {integrity: sha512-g6+kHTI/BRDJszaZkSgyu0pGuMIVYJ7/v0I4C9BkTeGn1LxF9GWI6jE22dBEELXMWbG7FTyNlD9RCuWlStAx6w==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [android] + + '@oxc-parser/binding-android-arm64@0.110.0': + resolution: {integrity: sha512-tbr+uWFVUN6p9LYlR0cPyFA24HWlnRYU+oldWlEGis/tdMtya3BubQcKdylhFhhDLaW6ChCJfxogQranElGVsw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [android] + + '@oxc-parser/binding-darwin-arm64@0.110.0': + resolution: {integrity: sha512-jPBsXPc8hwmsUQyLMg7a5Ll/j/8rWCDFoB8WzLP6C0qQKX0zWQxbfSdLFg9GGNPuRo8J8ma9WfBQN5RmbFxNJA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [darwin] + + '@oxc-parser/binding-darwin-x64@0.110.0': + resolution: {integrity: sha512-jt5G1eZj4sdMGc7Q0c6kfPRmqY1Mn3yzo6xuRr8EXozkh93O8KGFflABY7t56WIrmP+cloaCQkLcjlm6vdhzcQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [darwin] + + '@oxc-parser/binding-freebsd-x64@0.110.0': + resolution: {integrity: sha512-VJ7Hwf4dg7uf8b/DrLEhE6lgnNTfBZbTqXQBG3n0oCBoreE1c5aWf1la+o7fJjjTpACRts/vAZ2ngFNNqEFpJw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [freebsd] + + '@oxc-parser/binding-linux-arm-gnueabihf@0.110.0': + resolution: {integrity: sha512-w3OZ0pLKktM7k4qEbVj3dHnCvSMFnWugYxHfhpwncYUOxwDNL3mw++EOIrw997QYiEuJ+H6Od8K6mbj1p6Ae8w==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [linux] + + '@oxc-parser/binding-linux-arm-musleabihf@0.110.0': + resolution: {integrity: sha512-BIaoW4W6QKb8Q6p3DErDtsAuDRAnr0W+gtwo7fQQkbAJpoPII0ZJXZn+tcQGCyNGKWSsilRNWHyd/XZfXXXpzw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [linux] + + '@oxc-parser/binding-linux-arm64-gnu@0.110.0': + resolution: {integrity: sha512-3EQDJze28t0HdxXjMKBU6utNscXJePg2YV0Kd/ZnHx24VcIyfkNH6NKzBh0NeaWHovDTkpzYHPtF2tOevtbbfw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [linux] + + '@oxc-parser/binding-linux-arm64-musl@0.110.0': + resolution: {integrity: sha512-5xwm1hPrGGvjCVtTWNGJ39MmQGnyipoIDShneGBgSrnDh0XX+COAO7AZKajgNipqgNq5rGEItpzFkMtSDyx0bQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [linux] + + '@oxc-parser/binding-linux-ppc64-gnu@0.110.0': + resolution: {integrity: sha512-I8Xop7z+enuvW1xe0AcRQ9XqFNkUYgeXusyGjCyW6TstRb62P90h+nL1AoGaUMy0E0518DJam5vRYVRgXaAzYg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [ppc64] + os: [linux] + + '@oxc-parser/binding-linux-riscv64-gnu@0.110.0': + resolution: {integrity: sha512-XPM0jpght/AuHnweNaIo0twpId6rWFs8NrTkMijxcsRQMzNBeSQQgYm9ErrutmKQS6gb8XNAEIkYXHgPmhdDPg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [riscv64] + os: [linux] + + '@oxc-parser/binding-linux-riscv64-musl@0.110.0': + resolution: {integrity: sha512-ylJIuJyMzAqR191QeCwZLEkyo4Sx817TNILjNhT0W1EDQusGicOYKSsGXM/2DHCNYGcidV+MQ8pUVzNeVmuM6g==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [riscv64] + os: [linux] + + '@oxc-parser/binding-linux-s390x-gnu@0.110.0': + resolution: {integrity: sha512-DL6oR0PfYor9tBX9xlAxMUVwfm6+sKTL4H+KiQ6JKP3xkJTwBIdDCgeN2AjMht1D3N40uUwVq3v8/2fqnZRgLQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [s390x] + os: [linux] + + '@oxc-parser/binding-linux-x64-gnu@0.110.0': + resolution: {integrity: sha512-+e6ws5JLpFehdK+wh6q8icx1iM3Ao+9dtItVWFcRiXxSvGcIlS9viWcMvXKrmcsyVDUf81dnvuMSBigNslxhIQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [linux] + + '@oxc-parser/binding-linux-x64-musl@0.110.0': + resolution: {integrity: sha512-6DiYhVdXKOzB01+j/tyrB6/d2o6b4XYFQvcbBRNbVHIimS6nl992y3V3mGG3NaA+uCZAzhT3M3btTdKAxE4A3A==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [linux] + + '@oxc-parser/binding-openharmony-arm64@0.110.0': + resolution: {integrity: sha512-U9KEK7tXdHrXl2eZpoHYGWj31ZSvdGiaXwjkJzeRN0elt89PXi+VcryRh6BAFbEz1EQpTteyMDwDXMgJVWM85A==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [openharmony] + + '@oxc-parser/binding-wasm32-wasi@0.110.0': + resolution: {integrity: sha512-cK2j/GbXGxP7k4qDM0OGjkbPrIOj8n9+U/27joH/M19z+jrQ5u1lvlvbAK/Aw2LnqE0waADnnuAc0MFab+Ea8w==} + engines: {node: '>=14.0.0'} + cpu: [wasm32] + + '@oxc-parser/binding-win32-arm64-msvc@0.110.0': + resolution: {integrity: sha512-ZW393ysGT5oZeGJRyw2JAz4tIfyTjVCSxuZoh8e+7J7e0QPDH/SAmyxJXb/aMxarIVa3OcYZ5p/Q6eooHZ0i1Q==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [win32] + + '@oxc-parser/binding-win32-ia32-msvc@0.110.0': + resolution: {integrity: sha512-NM50LT1PEnlMlw+z/TFVkWaDOF/s5DRHbU3XhEESNhDDT9qYA8N9B1V/FYxVr1ngu28JGK2HtkjpWKlKoF4E2Q==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [ia32] + os: [win32] + + '@oxc-parser/binding-win32-x64-msvc@0.110.0': + resolution: {integrity: sha512-w1SzoXNaY59tbTz8/YhImByuj7kXP5EfPtv4+PPwPrvLrOWt8BOpK0wN8ysXqyWCdHv9vS1UBRrNd/aSp4Dy8A==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [win32] + '@oxc-project/types@0.110.0': resolution: {integrity: sha512-6Ct21OIlrEnFEJk5LT4e63pk3btsI6/TusD/GStLi7wYlGJNOl1GI9qvXAnRAxQU9zqA2Oz+UwhfTOU2rPZVow==} + '@oxfmt/darwin-arm64@0.26.0': + resolution: {integrity: sha512-AAGc+8CffkiWeVgtWf4dPfQwHEE5c/j/8NWH7VGVxxJRCZFdmWcqCXprvL2H6qZFewvDLrFbuSPRCqYCpYGaTQ==} + cpu: [arm64] + os: [darwin] + + '@oxfmt/darwin-x64@0.26.0': + resolution: {integrity: sha512-xFx5ijCTjw577wJvFlZEMmKDnp3HSCcbYdCsLRmC5i3TZZiDe9DEYh3P46uqhzj8BkEw1Vm1ZCWdl48aEYAzvQ==} + cpu: [x64] + os: [darwin] + + '@oxfmt/linux-arm64-gnu@0.26.0': + resolution: {integrity: sha512-GubkQeQT5d3B/Jx/IiR7NMkSmXrCZcVI0BPh1i7mpFi8HgD1hQ/LbhiBKAMsMqs5bbugdQOgBEl8bOhe8JhW1g==} + cpu: [arm64] + os: [linux] + + '@oxfmt/linux-arm64-musl@0.26.0': + resolution: {integrity: sha512-OEypUwK69bFPj+aa3/LYCnlIUPgoOLu//WNcriwpnWNmt47808Ht7RJSg+MNK8a7pSZHpXJ5/E6CRK/OTwFdaQ==} + cpu: [arm64] + os: [linux] + + '@oxfmt/linux-x64-gnu@0.26.0': + resolution: {integrity: sha512-xO6iEW2bC6ZHyOTPmPWrg/nM6xgzyRPaS84rATy6F8d79wz69LdRdJ3l/PXlkqhi7XoxhvX4ExysA0Nf10ZZEQ==} + cpu: [x64] + os: [linux] + + '@oxfmt/linux-x64-musl@0.26.0': + resolution: {integrity: sha512-Z3KuZFC+MIuAyFCXBHY71kCsdRq1ulbsbzTe71v+hrEv7zVBn6yzql+/AZcgfIaKzWO9OXNuz5WWLWDmVALwow==} + cpu: [x64] + os: [linux] + + '@oxfmt/win32-arm64@0.26.0': + resolution: {integrity: sha512-3zRbqwVWK1mDhRhTknlQFpRFL9GhEB5GfU6U7wawnuEwpvi39q91kJ+SRJvJnhyPCARkjZBd1V8XnweN5IFd1g==} + cpu: [arm64] + os: [win32] + + '@oxfmt/win32-x64@0.26.0': + resolution: {integrity: sha512-m8TfIljU22i9UEIkD+slGPifTFeaCwIUfxszN3E6ABWP1KQbtwSw9Ak0TdoikibvukF/dtbeyG3WW63jv9DnEg==} + cpu: [x64] + os: [win32] + + '@oxlint/darwin-arm64@1.41.0': + resolution: {integrity: sha512-K0Bs0cNW11oWdSrKmrollKF44HMM2HKr4QidZQHMlhJcSX8pozxv0V5FLdqB4sddzCY0J9Wuuw+oRAfR8sdRwA==} + cpu: [arm64] + os: [darwin] + + '@oxlint/darwin-x64@1.41.0': + resolution: {integrity: sha512-1LCCXCe9nN8LbrJ1QOGari2HqnxrZrveYKysWDIg8gFsQglIg00XF/8lRbA0kWHMdLgt4X0wfNYhhFz+c3XXLQ==} + cpu: [x64] + os: [darwin] + + '@oxlint/linux-arm64-gnu@1.41.0': + resolution: {integrity: sha512-Fow7H84Bs8XxuaK1yfSEWBC8HI7rfEQB9eR2A0J61un1WgCas7jNrt1HbT6+p6KmUH2bhR+r/RDu/6JFAvvj4g==} + cpu: [arm64] + os: [linux] + + '@oxlint/linux-arm64-musl@1.41.0': + resolution: {integrity: sha512-WoRRDNwgP5W3rjRh42Zdx8ferYnqpKoYCv2QQLenmdrLjRGYwAd52uywfkcS45mKEWHeY1RPwPkYCSROXiGb2w==} + cpu: [arm64] + os: [linux] + + '@oxlint/linux-x64-gnu@1.41.0': + resolution: {integrity: sha512-75k3CKj3fOc/a/2aSgO81s3HsTZOFROthPJ+UI2Oatic1LhvH6eKjKfx3jDDyVpzeDS2qekPlc/y3N33iZz5Og==} + cpu: [x64] + os: [linux] + + '@oxlint/linux-x64-musl@1.41.0': + resolution: {integrity: sha512-8r82eBwGPoAPn67ZvdxTlX/Z3gVb+ZtN6nbkyFzwwHWAh8yGutX+VBcVkyrePSl6XgBP4QAaddPnHmkvJjqY0g==} + cpu: [x64] + os: [linux] + + '@oxlint/migrate@1.41.0': + resolution: {integrity: sha512-pQRChiFTR0h7122yMNBFTrtjo71ht6ARDd1cUOYu8/BtqnGRcadMyR2CYO9OcwlfmvQBWXKhJ7VrxEZGSdGG3A==} + hasBin: true + peerDependencies: + jiti: '*' + + '@oxlint/win32-arm64@1.41.0': + resolution: {integrity: sha512-aK+DAcckQsNCOXKruatyYuY/ROjNiRejQB1PeJtkZwM21+8rV9ODYbvKNvt0pW+YCws7svftBSFMCpl3ke2unw==} + cpu: [arm64] + os: [win32] + + '@oxlint/win32-x64@1.41.0': + resolution: {integrity: sha512-dVBXkZ6MGLd3owV7jvuqJsZwiF3qw7kEkDVsYVpS/O96eEvlHcxVbaPjJjrTBgikXqyC22vg3dxBU7MW0utGfw==} + cpu: [x64] + os: [win32] + '@parcel/watcher-android-arm64@2.5.6': resolution: {integrity: sha512-YQxSS34tPF/6ZG7r/Ih9xy+kP/WwediEUsqmtf0cuCV5TPPKw/PQHRhueUo6JdeFJaqV3pyjm0GdYjZotbRt/A==} engines: {node: '>= 10.0.0'} @@ -765,6 +987,10 @@ packages: color-name@1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + commander@14.0.2: + resolution: {integrity: sha512-TywoWNNRbhoD0BXs1P3ZEScW8W5iKrnbithIl0YH+uCmBd0QpPOA8yc82DS3BIE5Ma6FnBVUsJ7wVUDz4dvOWQ==} + engines: {node: '>=20'} + concat-map@0.0.1: resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} @@ -1316,6 +1542,25 @@ packages: resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} engines: {node: '>= 0.8.0'} + oxc-parser@0.110.0: + resolution: {integrity: sha512-GijUR3K1Ln/QwMyYXRsBtOyzqGaCs9ce5pOug1UtrMg8dSiE7VuuRuIcyYD4nyJbasat3K0YljiKt/PSFPdSBA==} + engines: {node: ^20.19.0 || >=22.12.0} + + oxfmt@0.26.0: + resolution: {integrity: sha512-UDD1wFNwfeorMm2ZY0xy1KRAAvJ5NjKBfbDmiMwGP7baEHTq65cYpC0aPP+BGHc8weXUbSZaK8MdGyvuRUvS4Q==} + engines: {node: ^20.19.0 || >=22.12.0} + hasBin: true + + oxlint@1.41.0: + resolution: {integrity: sha512-Dyaoup82uhgAgp5xLNt4dPdvl5eSJTIzqzL7DcKbkooUE4PDViWURIPlSUF8hu5a+sCnNIp/LlQMDsKoyaLTBA==} + engines: {node: ^20.19.0 || >=22.12.0} + hasBin: true + peerDependencies: + oxlint-tsgolint: '>=0.11.1' + peerDependenciesMeta: + oxlint-tsgolint: + optional: true + p-limit@3.1.0: resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} engines: {node: '>=10'} @@ -1472,6 +1717,10 @@ packages: resolution: {integrity: sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==} engines: {node: '>=12.0.0'} + tinypool@2.0.0: + resolution: {integrity: sha512-/RX9RzeH2xU5ADE7n2Ykvmi9ED3FBGPAjw9u3zucrNNaEBIO0HPSYgL0NT7+3p147ojeSdaVu08F6hjpv31HJg==} + engines: {node: ^20.0.0 || >=22.0.0} + ts-api-utils@2.4.0: resolution: {integrity: sha512-3TaVTaAv2gTiMB35i3FiGJaRfwb3Pyn/j3m/bfAvGe8FB7CF6u+LMYqYlDh7reQf7UNvoTvdfAqHGmPGOSsPmA==} engines: {node: '>=18.12'} @@ -1797,8 +2046,126 @@ snapshots: '@tybys/wasm-util': 0.10.1 optional: true + '@oxc-parser/binding-android-arm-eabi@0.110.0': + optional: true + + '@oxc-parser/binding-android-arm64@0.110.0': + optional: true + + '@oxc-parser/binding-darwin-arm64@0.110.0': + optional: true + + '@oxc-parser/binding-darwin-x64@0.110.0': + optional: true + + '@oxc-parser/binding-freebsd-x64@0.110.0': + optional: true + + '@oxc-parser/binding-linux-arm-gnueabihf@0.110.0': + optional: true + + '@oxc-parser/binding-linux-arm-musleabihf@0.110.0': + optional: true + + '@oxc-parser/binding-linux-arm64-gnu@0.110.0': + optional: true + + '@oxc-parser/binding-linux-arm64-musl@0.110.0': + optional: true + + '@oxc-parser/binding-linux-ppc64-gnu@0.110.0': + optional: true + + '@oxc-parser/binding-linux-riscv64-gnu@0.110.0': + optional: true + + '@oxc-parser/binding-linux-riscv64-musl@0.110.0': + optional: true + + '@oxc-parser/binding-linux-s390x-gnu@0.110.0': + optional: true + + '@oxc-parser/binding-linux-x64-gnu@0.110.0': + optional: true + + '@oxc-parser/binding-linux-x64-musl@0.110.0': + optional: true + + '@oxc-parser/binding-openharmony-arm64@0.110.0': + optional: true + + '@oxc-parser/binding-wasm32-wasi@0.110.0': + dependencies: + '@napi-rs/wasm-runtime': 1.1.1 + optional: true + + '@oxc-parser/binding-win32-arm64-msvc@0.110.0': + optional: true + + '@oxc-parser/binding-win32-ia32-msvc@0.110.0': + optional: true + + '@oxc-parser/binding-win32-x64-msvc@0.110.0': + optional: true + '@oxc-project/types@0.110.0': {} + '@oxfmt/darwin-arm64@0.26.0': + optional: true + + '@oxfmt/darwin-x64@0.26.0': + optional: true + + '@oxfmt/linux-arm64-gnu@0.26.0': + optional: true + + '@oxfmt/linux-arm64-musl@0.26.0': + optional: true + + '@oxfmt/linux-x64-gnu@0.26.0': + optional: true + + '@oxfmt/linux-x64-musl@0.26.0': + optional: true + + '@oxfmt/win32-arm64@0.26.0': + optional: true + + '@oxfmt/win32-x64@0.26.0': + optional: true + + '@oxlint/darwin-arm64@1.41.0': + optional: true + + '@oxlint/darwin-x64@1.41.0': + optional: true + + '@oxlint/linux-arm64-gnu@1.41.0': + optional: true + + '@oxlint/linux-arm64-musl@1.41.0': + optional: true + + '@oxlint/linux-x64-gnu@1.41.0': + optional: true + + '@oxlint/linux-x64-musl@1.41.0': + optional: true + + '@oxlint/migrate@1.41.0(patch_hash=813f68fa1668818fb95324e6a8e2add2cde04d43df8de53f15f27df446ba4832)(jiti@2.6.1)': + dependencies: + commander: 14.0.2 + globals: 17.1.0 + jiti: 2.6.1 + oxc-parser: 0.110.0 + tinyglobby: 0.2.15 + + '@oxlint/win32-arm64@1.41.0': + optional: true + + '@oxlint/win32-x64@1.41.0': + optional: true + '@parcel/watcher-android-arm64@2.5.6': optional: true @@ -2215,6 +2582,8 @@ snapshots: color-name@1.1.4: {} + commander@14.0.2: {} + concat-map@0.0.1: {} confbox@0.1.8: {} @@ -2981,6 +3350,55 @@ snapshots: type-check: 0.4.0 word-wrap: 1.2.5 + oxc-parser@0.110.0: + dependencies: + '@oxc-project/types': 0.110.0 + optionalDependencies: + '@oxc-parser/binding-android-arm-eabi': 0.110.0 + '@oxc-parser/binding-android-arm64': 0.110.0 + '@oxc-parser/binding-darwin-arm64': 0.110.0 + '@oxc-parser/binding-darwin-x64': 0.110.0 + '@oxc-parser/binding-freebsd-x64': 0.110.0 + '@oxc-parser/binding-linux-arm-gnueabihf': 0.110.0 + '@oxc-parser/binding-linux-arm-musleabihf': 0.110.0 + '@oxc-parser/binding-linux-arm64-gnu': 0.110.0 + '@oxc-parser/binding-linux-arm64-musl': 0.110.0 + '@oxc-parser/binding-linux-ppc64-gnu': 0.110.0 + '@oxc-parser/binding-linux-riscv64-gnu': 0.110.0 + '@oxc-parser/binding-linux-riscv64-musl': 0.110.0 + '@oxc-parser/binding-linux-s390x-gnu': 0.110.0 + '@oxc-parser/binding-linux-x64-gnu': 0.110.0 + '@oxc-parser/binding-linux-x64-musl': 0.110.0 + '@oxc-parser/binding-openharmony-arm64': 0.110.0 + '@oxc-parser/binding-wasm32-wasi': 0.110.0 + '@oxc-parser/binding-win32-arm64-msvc': 0.110.0 + '@oxc-parser/binding-win32-ia32-msvc': 0.110.0 + '@oxc-parser/binding-win32-x64-msvc': 0.110.0 + + oxfmt@0.26.0: + dependencies: + tinypool: 2.0.0 + optionalDependencies: + '@oxfmt/darwin-arm64': 0.26.0 + '@oxfmt/darwin-x64': 0.26.0 + '@oxfmt/linux-arm64-gnu': 0.26.0 + '@oxfmt/linux-arm64-musl': 0.26.0 + '@oxfmt/linux-x64-gnu': 0.26.0 + '@oxfmt/linux-x64-musl': 0.26.0 + '@oxfmt/win32-arm64': 0.26.0 + '@oxfmt/win32-x64': 0.26.0 + + oxlint@1.41.0: + optionalDependencies: + '@oxlint/darwin-arm64': 1.41.0 + '@oxlint/darwin-x64': 1.41.0 + '@oxlint/linux-arm64-gnu': 1.41.0 + '@oxlint/linux-arm64-musl': 1.41.0 + '@oxlint/linux-x64-gnu': 1.41.0 + '@oxlint/linux-x64-musl': 1.41.0 + '@oxlint/win32-arm64': 1.41.0 + '@oxlint/win32-x64': 1.41.0 + p-limit@3.1.0: dependencies: yocto-queue: 0.1.0 @@ -3113,6 +3531,8 @@ snapshots: fdir: 6.5.0(picomatch@4.0.3) picomatch: 4.0.3 + tinypool@2.0.0: {} + ts-api-utils@2.4.0(typescript@5.9.3): dependencies: typescript: 5.9.3 diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 02076bf..163c2c6 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -1,3 +1,6 @@ ignoredBuiltDependencies: - '@parcel/watcher' - esbuild + +patchedDependencies: + '@oxlint/migrate': patches/@oxlint__migrate.patch