diff --git a/cspell.config.yaml b/cspell.config.yaml index 28c1d50..cde5ad4 100644 --- a/cspell.config.yaml +++ b/cspell.config.yaml @@ -60,6 +60,7 @@ words: - ONNX - openrouter - orama + - oxlint - pkgroll - Plateforme - qwen diff --git a/eslint.config.ts b/eslint.config.ts index 26e7132..59c4e67 100644 --- a/eslint.config.ts +++ b/eslint.config.ts @@ -1,8 +1,6 @@ import { defineConfig } from '@moeru/eslint-config' -export default defineConfig({ - typescript: { tsconfigPath: './tsconfig.json' }, -}) +export default defineConfig() .append({ ignores: [ 'docs/src/components/ui/**/*.tsx', diff --git a/package.json b/package.json index 8db8cfd..c038fc4 100644 --- a/package.json +++ b/package.json @@ -10,7 +10,7 @@ "build:packages": "turbo -F=!./docs build", "bump": "bumpp", "docs:dev": "pnpm -rF @xsai/docs dev", - "lint": "eslint --flag unstable_native_nodejs_ts_config --cache .", + "lint": "moeru-lint .", "test": "pnpm -r --workspace-concurrency=1 test", "test:speech": "pnpm -r test:speech", "test:transcription": "pnpm -r test:transcription" @@ -26,6 +26,8 @@ "automd": "catalog:", "bumpp": "catalog:", "eslint": "catalog:", + "eslint-plugin-oxlint": "catalog:", + "oxlint": "catalog:", "pkgroll": "catalog:", "tsdown": "catalog:", "tsx": "catalog:", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 77db435..611ce19 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -78,6 +78,9 @@ catalogs: eslint: specifier: ^9.39.2 version: 9.39.2 + eslint-plugin-oxlint: + specifier: ^1.37.0 + version: 1.37.0 fumadocs-core: specifier: ^16.4.1 version: 16.4.1 @@ -96,6 +99,9 @@ catalogs: next: specifier: ^16.1.1 version: 16.1.1 + oxlint: + specifier: ^1.37.0 + version: 1.37.0 pkgroll: specifier: ^2.21.4 version: 2.21.4 @@ -198,7 +204,7 @@ importers: version: 6.7.3(@vue/compiler-sfc@3.5.13)(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)(vitest@4.0.16(@opentelemetry/api@1.9.0)(@types/node@25.0.3)(jiti@2.6.1)(lightningcss@1.30.2)(sass-embedded@1.81.0)(terser@5.36.0)(tsx@4.21.0)(yaml@2.8.2)) '@moeru/eslint-config': specifier: 'catalog:' - version: 0.1.0-beta.14(@antfu/eslint-config@6.7.3(@vue/compiler-sfc@3.5.13)(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)(vitest@4.0.16(@opentelemetry/api@1.9.0)(@types/node@25.0.3)(jiti@2.6.1)(lightningcss@1.30.2)(sass-embedded@1.81.0)(terser@5.36.0)(tsx@4.21.0)(yaml@2.8.2)))(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) + version: 0.1.0-beta.14(@antfu/eslint-config@6.7.3(@vue/compiler-sfc@3.5.13)(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)(vitest@4.0.16(@opentelemetry/api@1.9.0)(@types/node@25.0.3)(jiti@2.6.1)(lightningcss@1.30.2)(sass-embedded@1.81.0)(terser@5.36.0)(tsx@4.21.0)(yaml@2.8.2)))(eslint-plugin-oxlint@1.37.0)(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) '@moeru/tsconfig': specifier: 'catalog:' version: 0.1.0-beta.14 @@ -223,6 +229,12 @@ importers: eslint: specifier: 'catalog:' version: 9.39.2(jiti@2.6.1) + eslint-plugin-oxlint: + specifier: 'catalog:' + version: 1.37.0 + oxlint: + specifier: 'catalog:' + version: 1.37.0 pkgroll: specifier: 'catalog:' version: 2.21.4(typescript@5.9.3) @@ -1586,6 +1598,50 @@ packages: '@oxc-project/types@0.103.0': resolution: {integrity: sha512-bkiYX5kaXWwUessFRSoXFkGIQTmc6dLGdxuRTrC+h8PSnIdZyuXHHlLAeTmOue5Br/a0/a7dHH0Gca6eXn9MKg==} + '@oxlint/darwin-arm64@1.37.0': + resolution: {integrity: sha512-qDa8qf4Th3sbk6P6wRbsv5paGeZ8EEOy8PtnT2IkAYSzjDHavw8nMK/lQvf6uS7LArjcmOfM1Y3KnZUFoNZZqg==} + cpu: [arm64] + os: [darwin] + + '@oxlint/darwin-x64@1.37.0': + resolution: {integrity: sha512-FM0h0KyOQ4HCdhIX1ne6d80BxRra75h1ORce0jYNwQ49HT4RU8+9ywSMC7rQ79xWsmaahvkQPB7tMPyfjsQwAg==} + cpu: [x64] + os: [darwin] + + '@oxlint/linux-arm64-gnu@1.37.0': + resolution: {integrity: sha512-2axK0lftGwM6Q7wOuY2sassUqa4MKrG3iemVVyEpXzJ6g5QosxhCoFPp9v81/gmLT5kAdd2gskoDcfpDJliDNw==} + cpu: [arm64] + os: [linux] + libc: [glibc] + + '@oxlint/linux-arm64-musl@1.37.0': + resolution: {integrity: sha512-f3YROyGMIdUeXx0yD7RsAUBzBvD222D4l2GQRYF3AMxyp9mya17Rq/3wNLR4JDnAnboOul3DAEKNm+09lo3uZw==} + cpu: [arm64] + os: [linux] + libc: [musl] + + '@oxlint/linux-x64-gnu@1.37.0': + resolution: {integrity: sha512-FANOdOVQ2c4acYLM0dvtSoKELHSSnDBxDdm8OlXNzSRanQILrNpLgUqCXHFsfiHipFfNzz3Z417PxV6X4aBYog==} + cpu: [x64] + os: [linux] + libc: [glibc] + + '@oxlint/linux-x64-musl@1.37.0': + resolution: {integrity: sha512-eYnSKT9knXdOQ9h+6nSjEHSx0+pW8PkGwtMNGXtCYR+/ZPKYIbtZVS0nZsFy+qizP+TRVSJrgc/JY3Xr0wjcQg==} + cpu: [x64] + os: [linux] + libc: [musl] + + '@oxlint/win32-arm64@1.37.0': + resolution: {integrity: sha512-2oHxNc4jcocfNWGWVVWQdEG+reZ5ncBZsmDoICJQ1rbCDx4Yimx8VUf1Ub9cCoJRcPiSLBxMqaeMaDClKixJIQ==} + cpu: [arm64] + os: [win32] + + '@oxlint/win32-x64@1.37.0': + resolution: {integrity: sha512-w+pBuTjGmGCGPhDjFhj/97K2tlGyq5LKAU6S7FHxROPuJRWJD6uio1L75Lsb8fKhwtw2rm54LLOX30Yi+nILxw==} + cpu: [x64] + os: [win32] + '@parcel/watcher-android-arm64@2.5.1': resolution: {integrity: sha512-KF8+j9nNbUN8vzOFDpRMsaKBHZ/mcjEjMToVMJOhTozkDonQFFrRcfdLWn6yWKCmJKmdVxSgHiYvTCef4/qcBA==} engines: {node: '>= 10.0.0'} @@ -3378,6 +3434,9 @@ packages: resolution: {integrity: sha512-brcKcxGnISN2CcVhXJ/kEQlNa0MEfGRtwKtWA16SkqXHKitaKIMrfemJKLKX1YqDU5C/5JY3PvZXd5jEW04e0Q==} engines: {node: '>=5.0.0'} + eslint-plugin-oxlint@1.37.0: + resolution: {integrity: sha512-loX9Cty8VnxiEZdyooJp7GEivZEsc8ShXRunxKBrf4+D/E4+XEntGG9OSO7d/gZL5dLqSVYpHB1nUXYOw6sgYQ==} + eslint-plugin-perfectionist@4.15.1: resolution: {integrity: sha512-MHF0cBoOG0XyBf7G0EAFCuJJu4I18wy0zAoT1OHfx2o6EOx1EFTIzr2HGeuZa1kDcusoX0xJ9V7oZmaeFd773Q==} engines: {node: ^18.0.0 || >=20.0.0} @@ -4346,6 +4405,16 @@ packages: resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} engines: {node: '>= 0.8.0'} + oxlint@1.37.0: + resolution: {integrity: sha512-MAw0JH8M5/vt9E2WxSsmJu53bVLmG6qNlVw1OXFenJYItTPbMBtW7j3n53+tgNhNuxFPundM1DR7V8E39qOOrg==} + engines: {node: ^20.19.0 || >=22.12.0} + hasBin: true + peerDependencies: + oxlint-tsgolint: '>=0.10.0' + peerDependenciesMeta: + oxlint-tsgolint: + optional: true + p-limit@3.1.0: resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} engines: {node: '>=10'} @@ -5922,7 +5991,7 @@ snapshots: transitivePeerDependencies: - supports-color - '@moeru/eslint-config@0.1.0-beta.14(@antfu/eslint-config@6.7.3(@vue/compiler-sfc@3.5.13)(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)(vitest@4.0.16(@opentelemetry/api@1.9.0)(@types/node@25.0.3)(jiti@2.6.1)(lightningcss@1.30.2)(sass-embedded@1.81.0)(terser@5.36.0)(tsx@4.21.0)(yaml@2.8.2)))(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)': + '@moeru/eslint-config@0.1.0-beta.14(@antfu/eslint-config@6.7.3(@vue/compiler-sfc@3.5.13)(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)(vitest@4.0.16(@opentelemetry/api@1.9.0)(@types/node@25.0.3)(jiti@2.6.1)(lightningcss@1.30.2)(sass-embedded@1.81.0)(terser@5.36.0)(tsx@4.21.0)(yaml@2.8.2)))(eslint-plugin-oxlint@1.37.0)(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)': dependencies: '@antfu/eslint-config': 6.7.3(@vue/compiler-sfc@3.5.13)(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)(vitest@4.0.16(@opentelemetry/api@1.9.0)(@types/node@25.0.3)(jiti@2.6.1)(lightningcss@1.30.2)(sass-embedded@1.81.0)(terser@5.36.0)(tsx@4.21.0)(yaml@2.8.2)) '@masknet/eslint-plugin': 0.4.1(eslint@9.39.2(jiti@2.6.1)) @@ -5935,6 +6004,8 @@ snapshots: eslint-plugin-prefer-arrow: 1.2.3(eslint@9.39.2(jiti@2.6.1)) eslint-plugin-sonarjs: 3.0.5(eslint@9.39.2(jiti@2.6.1)) tinyexec: 1.0.2 + optionalDependencies: + eslint-plugin-oxlint: 1.37.0 transitivePeerDependencies: - supports-color - typescript @@ -6068,6 +6139,30 @@ snapshots: '@oxc-project/types@0.103.0': {} + '@oxlint/darwin-arm64@1.37.0': + optional: true + + '@oxlint/darwin-x64@1.37.0': + optional: true + + '@oxlint/linux-arm64-gnu@1.37.0': + optional: true + + '@oxlint/linux-arm64-musl@1.37.0': + optional: true + + '@oxlint/linux-x64-gnu@1.37.0': + optional: true + + '@oxlint/linux-x64-musl@1.37.0': + optional: true + + '@oxlint/win32-arm64@1.37.0': + optional: true + + '@oxlint/win32-x64@1.37.0': + optional: true + '@parcel/watcher-android-arm64@2.5.1': optional: true @@ -7780,6 +7875,10 @@ snapshots: eslint-plugin-no-only-tests@3.3.0: {} + eslint-plugin-oxlint@1.37.0: + dependencies: + jsonc-parser: 3.3.1 + eslint-plugin-perfectionist@4.15.1(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3): dependencies: '@typescript-eslint/types': 8.45.0 @@ -9106,6 +9205,17 @@ snapshots: type-check: 0.4.0 word-wrap: 1.2.5 + oxlint@1.37.0: + optionalDependencies: + '@oxlint/darwin-arm64': 1.37.0 + '@oxlint/darwin-x64': 1.37.0 + '@oxlint/linux-arm64-gnu': 1.37.0 + '@oxlint/linux-arm64-musl': 1.37.0 + '@oxlint/linux-x64-gnu': 1.37.0 + '@oxlint/linux-x64-musl': 1.37.0 + '@oxlint/win32-arm64': 1.37.0 + '@oxlint/win32-x64': 1.37.0 + p-limit@3.1.0: dependencies: yocto-queue: 0.1.0 diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index ef02dd3..9da461e 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -35,12 +35,14 @@ catalog: bumpp: ^10.3.2 clsx: ^2.1.1 eslint: ^9.39.2 + eslint-plugin-oxlint: &oxlint ^1.37.0 fumadocs-core: ^16.4.1 fumadocs-mdx: ^14.2.3 fumadocs-twoslash: ^3.1.10 fumadocs-ui: ^16.4.1 lucide-react: ^0.562.0 next: ^16.1.1 + oxlint: *oxlint pkgroll: ^2.21.4 postcss: ^8.5.6 react: ^19.2.3