{"id":19669,"library":"eslint-import-resolver-vite","title":"eslint-import-resolver-vite","description":"Vite module resolution plugin for eslint-plugin-import and eslint-plugin-import-x (resolver interface v3). Current stable version v2.1.1 (released 2025-04). Supports ESM, CJS, and mixed setups. Handles `resolve.alias` from Vite config. Critically, v2.x requires users to provide the config object explicitly, avoiding require() issues in mixed setups. Active development. Key differentiator: lightweight alternative to eslint-import-resolver-typescript when using Vite's alias feature.","status":"active","version":"2.1.1","language":"javascript","source_language":"en","source_url":"https://github.com/pzmosquito/eslint-import-resolver-vite","tags":["javascript","eslint","vite","import resolver"],"install":[{"cmd":"npm install eslint-import-resolver-vite","lang":"bash","label":"npm"},{"cmd":"yarn add eslint-import-resolver-vite","lang":"bash","label":"yarn"},{"cmd":"pnpm add eslint-import-resolver-vite","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"peer dependency for plugin integration","package":"eslint","optional":false},{"reason":"primary target for resolver","package":"eslint-plugin-import","optional":true},{"reason":"alternative target for resolver v3","package":"eslint-plugin-import-x","optional":true}],"imports":[{"note":"default export works as a resolver for eslint-plugin-import settings","wrong":"const resolver = require('eslint-import-resolver-vite')","symbol":"default export","correct":"import resolver from 'eslint-import-resolver-vite'"},{"note":"Named export for eslint-plugin-import-x resolver interface v3","wrong":"import createViteImportResolver from 'eslint-import-resolver-vite'","symbol":"createViteImportResolver","correct":"import { createViteImportResolver } from 'eslint-import-resolver-vite'"},{"note":"TypeScript type for the resolver config object","wrong":"","symbol":"ResolverConfig","correct":"import type { ResolverConfig } from 'eslint-import-resolver-vite'"}],"quickstart":{"code":"// vite.config.ts\nexport const viteConfigObj = {\n  resolve: {\n    alias: {\n      _: path.resolve(__dirname, 'src')\n    }\n  }\n};\n\n// .eslintrc.cjs\nmodule.exports = {\n  settings: {\n    'import/resolver': {\n      vite: {\n        viteConfig: require('./vite.config').viteConfigObj\n      }\n    }\n  }\n};","lang":"javascript","description":"Setup eslint-import-resolver-vite with a Vite alias config and use it in ESLint settings."},"warnings":[{"fix":"Provide `viteConfig` option: `{ viteConfig: require('./vite.config').config }`","message":"In v2.0.0, the resolver no longer loads the Vite config automatically. You must pass `viteConfig` explicitly.","severity":"breaking","affected_versions":">=2.0.0"},{"fix":"Use a separate CJS config file or convert to ESM config and use `import()` in a dynamic context.","message":"Mixing ESM and CJS may cause issues when importing the Vite config if it's ESM and you use `require()`. Use dynamic import or provide config as plain object.","severity":"gotcha","affected_versions":">=2.0.0"},{"fix":"For other custom resolution, consider using eslint-import-resolver-typescript or other resolvers.","message":"The resolver only handles `resolve.alias`; it does not handle Vite plugins or other resolve options.","severity":"gotcha","affected_versions":">=1.0.0"},{"fix":"Use `createViteImportResolver` for v3, or upgrade to the latest version of eslint-plugin-import-x.","message":"For `eslint-plugin-import-x` resolver interface v2 (deprecated), use default export. For v3, use `createViteImportResolver`.","severity":"deprecated","affected_versions":">=2.0.0"}],"env_vars":null,"last_verified":"2026-04-25T00:00:00.000Z","next_check":"2026-07-24T00:00:00.000Z","problems":[{"fix":"Check that you have passed the correct `viteConfig` object with `resolve.alias` defined.","cause":"Resolver cannot find the alias mapping because the Vite config is not provided or is incorrect.","error":"Failed to resolve a module with alias"},{"fix":"Run `npm install --save-dev eslint-import-resolver-vite` and ensure the module is in `node_modules`.","cause":"Package not installed or ESLint cannot locate it.","error":"Cannot find module 'eslint-import-resolver-vite'"},{"fix":"Provide a valid Vite config object: `{ viteConfig: { resolve: { alias: { ... } } } }`","cause":"The `viteConfig` option is empty or not an object.","error":"TypeError: viteConfig is not an object"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}