Closed rakleed closed 10 months ago
It seems like there are some problems with the eslint compatibility mode, although when running eslint . everything works correctly.
eslint .
Vite 5.0.0, ESLint 8.54.0, @nabla/vite-plugin-eslint 2.0.0
Yep I'm sorry I got hit by the fact that Vite hide this interop issue with local plugins. This is fixed in v2.0.2
It seems like there are some problems with the eslint compatibility mode, although when running
eslint .
everything works correctly.Vite 5.0.0, ESLint 8.54.0, @nabla/vite-plugin-eslint 2.0.0
Log
```log [vite] Internal server error: __dirname is not defined Plugin: vite-plugin-eslint File: .../node_modules/vite/dist/client/client.mjs at TransformContext.transform (file:///.../node_modules/@nabla/vite-plugin-eslint/src/index.mjs:24:37) at Object.transform (file:///.../node_modules/vite/dist/node/chunks/dep-T98iZFpD.js:61996:62) at async loadAndTransform (file:///.../node_modules/vite/dist/node/chunks/dep-T98iZFpD.js:47780:29) at async viteTransformMiddleware (file:///.../node_modules/vite/dist/node/chunks/dep-T98iZFpD.js:57379:32) [vite] Internal server error: __dirname is not defined Plugin: vite-plugin-eslint File: /@react-refresh at TransformContext.transform (file:///.../node_modules/@nabla/vite-plugin-eslint/src/index.mjs:24:37) at Object.transform (file:///.../node_modules/vite/dist/node/chunks/dep-T98iZFpD.js:61996:62) at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async loadAndTransform (file:///.../node_modules/vite/dist/node/chunks/dep-T98iZFpD.js:47780:29) at async viteTransformMiddleware (file:///.../node_modules/vite/dist/node/chunks/dep-T98iZFpD.js:57379:32) [vite] Internal server error: __dirname is not defined Plugin: vite-plugin-eslint File: /.../src/index.jsx at TransformContext.transform (file:///.../node_modules/@nabla/vite-plugin-eslint/src/index.mjs:24:37) at Object.transform (file:///.../node_modules/vite/dist/node/chunks/dep-T98iZFpD.js:61996:62) at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async loadAndTransform (file:///.../node_modules/vite/dist/node/chunks/dep-T98iZFpD.js:47780:29) at async viteTransformMiddleware (file:///.../node_modules/vite/dist/node/chunks/dep-T98iZFpD.js:57379:32) ```vite.config.js
```js import react from '@vitejs/plugin-react'; import eslintPlugin from '@nabla/vite-plugin-eslint'; // https://vitejs.dev/config/ export default { plugins: [ react(), eslintPlugin(), ], server: { open: true, }, }; ```eslint.config.js
```js import globals from 'globals'; import eslintConfigPrettier from 'eslint-config-prettier'; import { FlatCompat } from '@eslint/eslintrc'; import path from 'node:path'; import { fileURLToPath } from 'node:url'; const __filename = fileURLToPath(import.meta.url); const __dirname = path.dirname(__filename); const compat = new FlatCompat({ baseDirectory: __dirname, }); export default [ ...compat.extends( 'plugin:unicorn/recommended', 'airbnb', 'airbnb/hooks', ), eslintConfigPrettier, { files: [ '**/*.js', '**/*.jsx', ], languageOptions: { globals: { ...globals.browser, ...globals.es2021, }, parserOptions: { ecmaVersion: 2023, sourceType: 'module', }, }, linterOptions: { reportUnusedDisableDirectives: true, }, rules: { 'react/prop-types': 0, 'import/prefer-default-export': 'off', 'jsx-a11y/label-has-associated-control': [ 2, { controlComponents: ['InputText'], depth: 3, }, ], 'react/jsx-no-bind': 'off', 'spaced-comment': 'off', 'unicorn/filename-case': 'off', }, }, { files: ['eslint.config.js'], rules: { 'import/no-extraneous-dependencies': 'off', 'no-underscore-dangle': 'off', }, }, { ignores: [ 'dist', 'vite.config.js', ], }, ]; ```