Compare commits

...

1 Commits

3 changed files with 249 additions and 0 deletions

160
.oxlintrc.json Normal file
View File

@@ -0,0 +1,160 @@
{
"$schema": "./node_modules/oxlint/configuration_schema.json",
"plugins": [],
"categories": {
"correctness": "off"
},
"env": {
"builtin": true
},
"overrides": [
{
"files": ["**/*.{js,mjs,cjs,ts,mts,cts,jsx,tsx}"],
"rules": {
"constructor-super": "error",
"for-direction": "error",
"getter-return": "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-misleading-character-class": "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-undef": "error",
"no-unexpected-multiline": "error",
"no-unreachable": "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": "error",
"no-useless-backreference": "error",
"no-useless-catch": "error",
"no-useless-escape": "error",
"no-with": "error",
"require-yield": "error",
"use-isnan": "error",
"valid-typeof": "error"
}
},
{
"files": ["**/*.{js,mjs,cjs,ts,mts,cts,jsx,tsx}", "**/*.cts"],
"rules": {
"constructor-super": "off",
"getter-return": "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-undef": "off",
"no-unreachable": "off",
"no-unsafe-negation": "off",
"no-var": "error",
"no-with": "off",
"prefer-rest-params": "error",
"prefer-spread": "error"
}
},
{
"files": ["**/*.{js,mjs,cjs,ts,mts,cts,jsx,tsx}"],
"rules": {
"@typescript-eslint/ban-ts-comment": "error",
"no-array-constructor": "error",
"@typescript-eslint/no-duplicate-enum-values": "error",
"@typescript-eslint/no-empty-object-type": "error",
"@typescript-eslint/no-explicit-any": "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",
"no-unused-expressions": "error",
"no-unused-vars": "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"
},
"plugins": ["typescript"]
},
{
"files": ["**/*.{js,mjs,cjs,ts,mts,cts,jsx,tsx}"],
"rules": {
"curly": "off",
"no-unexpected-multiline": "off",
"unicorn/empty-brace-spaces": "off",
"unicorn/no-nested-ternary": "off",
"unicorn/number-literal-case": "off"
},
"plugins": ["unicorn"]
},
{
"files": ["**/*.{js,mjs,cjs,ts,mts,cts,jsx,tsx}"],
"rules": {
"react-hooks/rules-of-hooks": "error",
"react-hooks/exhaustive-deps": "error",
"@typescript-eslint/no-explicit-any": "off",
"no-case-declarations": "error",
"no-fallthrough": "error",
"no-empty": [
"warn",
{
"allowEmptyCatch": true
}
],
"no-unused-vars": "off"
},
"plugins": ["react", "typescript"],
"env": {
"browser": true,
"shared-node-browser": true
}
}
]
}

View File

@@ -109,6 +109,7 @@
"lint-staged": "^16.2.6",
"meta-json-schema": "^1.19.14",
"node-fetch": "^3.3.2",
"oxlint": "^1.25.0",
"prettier": "^3.6.2",
"sass": "^1.93.3",
"tar": "^7.5.2",

88
pnpm-lock.yaml generated
View File

@@ -228,6 +228,9 @@ importers:
node-fetch:
specifier: ^3.3.2
version: 3.3.2
oxlint:
specifier: ^1.25.0
version: 1.25.0
prettier:
specifier: ^3.6.2
version: 3.6.2
@@ -1331,6 +1334,46 @@ packages:
'@octokit/types@13.10.0':
resolution: {integrity: sha512-ifLaO34EbbPj0Xgro4G5lP5asESjwHracYJvVaPIyXMuiuXLlhic3S47cBdTb+jfODkTE5YtGCLt3Ay3+J97sA==}
'@oxlint/darwin-arm64@1.25.0':
resolution: {integrity: sha512-OLx4XyUv5SO7k8y5FzJIoTKan+iKK53T1Ws8fBIl4zblUIWI66ZIqSVG2A2rxOBA7XfINqCz8UipGzOW9yzKcg==}
cpu: [arm64]
os: [darwin]
'@oxlint/darwin-x64@1.25.0':
resolution: {integrity: sha512-srndNPiliA0rchYKqYfOdqA9kqyVQ6YChK3XJe9Lxo/YG8tTJ5K65g2A5SHTT2s1Nm5DnQa5AKZH7w+7KI/m8A==}
cpu: [x64]
os: [darwin]
'@oxlint/linux-arm64-gnu@1.25.0':
resolution: {integrity: sha512-W9+DnHDbygprpGV586BolwWES+o2raOcSJv404nOFPQjWZ09efG24nuXrg/fpyoMQb4YoW2W1fvlnyMVU+ADcw==}
cpu: [arm64]
os: [linux]
'@oxlint/linux-arm64-musl@1.25.0':
resolution: {integrity: sha512-1tIMpQhKlItm7uKzs3lluG7KorZR5ItoNKd1iFYF/IPmZ+i0/iuZ7MVWXRjBcgQMhMYSdfZpSVEdFKcFz2HDxA==}
cpu: [arm64]
os: [linux]
'@oxlint/linux-x64-gnu@1.25.0':
resolution: {integrity: sha512-xVkmk/zkIulc5o0OUWY04DyBfKotnq9+60O9I5c0DpdKAELVLhZkLmct0apx3jAX6Z/3yYPzhc6Lw1Ia3jU3VQ==}
cpu: [x64]
os: [linux]
'@oxlint/linux-x64-musl@1.25.0':
resolution: {integrity: sha512-IeO10dZosJV58YzN0gckhRYac+FM9s5VCKUx2ghgbKR91z/bpSRcRl8Sy5cWTkcVwu3ZTikhK8aXC6j7XIqKNw==}
cpu: [x64]
os: [linux]
'@oxlint/win32-arm64@1.25.0':
resolution: {integrity: sha512-mpdiXZm2oNuSQAbTEPRDuSeR6v1DCD7Cl/xouR2ggHZu3AKZ4XYmm29hyrzIxrYVoQ/5j+182TGdOpGYn9xQJg==}
cpu: [arm64]
os: [win32]
'@oxlint/win32-x64@1.25.0':
resolution: {integrity: sha512-opoIACOkcFloWQO6dubBLbcWwW52ML8+3deFdr0WE0PeM9UXdLB0jRMuLsEnplmBoy9TRvmxDJ+Pw8xc2PsOfQ==}
cpu: [x64]
os: [win32]
'@parcel/watcher-android-arm64@2.5.1':
resolution: {integrity: sha512-KF8+j9nNbUN8vzOFDpRMsaKBHZ/mcjEjMToVMJOhTozkDonQFFrRcfdLWn6yWKCmJKmdVxSgHiYvTCef4/qcBA==}
engines: {node: '>= 10.0.0'}
@@ -3505,6 +3548,16 @@ packages:
resolution: {integrity: sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==}
engines: {node: '>= 0.4'}
oxlint@1.25.0:
resolution: {integrity: sha512-O6iJ9xeuy9eQCi8/EghvsNO6lzSaUPs0FR1uLy51Exp3RkVpjvJKyPPhd9qv65KLnfG/BNd2HE/rH0NbEfVVzA==}
engines: {node: ^20.19.0 || >=22.12.0}
hasBin: true
peerDependencies:
oxlint-tsgolint: '>=0.4.0'
peerDependenciesMeta:
oxlint-tsgolint:
optional: true
p-limit@3.1.0:
resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==}
engines: {node: '>=10'}
@@ -5597,6 +5650,30 @@ snapshots:
dependencies:
'@octokit/openapi-types': 24.2.0
'@oxlint/darwin-arm64@1.25.0':
optional: true
'@oxlint/darwin-x64@1.25.0':
optional: true
'@oxlint/linux-arm64-gnu@1.25.0':
optional: true
'@oxlint/linux-arm64-musl@1.25.0':
optional: true
'@oxlint/linux-x64-gnu@1.25.0':
optional: true
'@oxlint/linux-x64-musl@1.25.0':
optional: true
'@oxlint/win32-arm64@1.25.0':
optional: true
'@oxlint/win32-x64@1.25.0':
optional: true
'@parcel/watcher-android-arm64@2.5.1':
optional: true
@@ -8080,6 +8157,17 @@ snapshots:
safe-push-apply: 1.0.0
optional: true
oxlint@1.25.0:
optionalDependencies:
'@oxlint/darwin-arm64': 1.25.0
'@oxlint/darwin-x64': 1.25.0
'@oxlint/linux-arm64-gnu': 1.25.0
'@oxlint/linux-arm64-musl': 1.25.0
'@oxlint/linux-x64-gnu': 1.25.0
'@oxlint/linux-x64-musl': 1.25.0
'@oxlint/win32-arm64': 1.25.0
'@oxlint/win32-x64': 1.25.0
p-limit@3.1.0:
dependencies:
yocto-queue: 0.1.0