{"id":19666,"library":"eslint-import-resolver-meteor","title":"eslint-import-resolver-meteor","description":"A resolver for eslint-plugin-import that provides Meteor-specific import resolution in ESLint. Version 0.4.0 is the latest stable release, last updated in 2018. It handles '/' root imports, enforces client/server folder import restrictions, and resolves 'meteor/' package imports with limitations. Unlike generic resolvers, it uses the project's .meteor folder to resolve paths and checks .meteor/versions and .meteor/packages for package existence. Provides configurable extensions, paths, and moduleDirectory. Works with eslint-plugin-import >=1.4.0.","status":"maintenance","version":"0.4.0","language":"javascript","source_language":"en","source_url":"https://github.com/clayne11/eslint-import-resolver-meteor","tags":["javascript","eslint","eslintplugin","esnext","modules","eslint-plugin-import"],"install":[{"cmd":"npm install eslint-import-resolver-meteor","lang":"bash","label":"npm"},{"cmd":"yarn add eslint-import-resolver-meteor","lang":"bash","label":"yarn"},{"cmd":"pnpm add eslint-import-resolver-meteor","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Peer dependency required for resolver functionality","package":"eslint-plugin-import","optional":false}],"imports":[{"note":"Used as a resolver in ESLint config, not imported in code.","wrong":"import resolver from 'eslint-import-resolver-meteor'; // Not a programmatic import","symbol":"default","correct":"settings: { 'import/resolver': 'meteor' }"},{"note":"Options are passed to resolve.sync; defaults can be used with just 'meteor'.","wrong":"settings: { 'import/resolver': { meteor: true } } // Must provide options object if not default","symbol":"meteor (config)","correct":"settings: { 'import/resolver': { meteor: { extensions: ['.js', '.jsx'] } } }"},{"note":"CommonJS require works; package is not ESM. Typically not needed as it's configured via settings.","wrong":"","symbol":"Node require","correct":"const resolver = require('eslint-import-resolver-meteor');"}],"quickstart":{"code":"// .eslintrc.js\nmodule.exports = {\n  settings: {\n    'import/resolver': {\n      meteor: {\n        extensions: ['.js', '.jsx', '.mjs']\n      }\n    }\n  },\n  rules: {\n    'import/no-unresolved': 'error'\n  }\n};","lang":"javascript","description":"Configures ESLint to use Meteor resolver with custom extensions, enabling import/no-unresolved rule."},"warnings":[{"fix":"Use the resolver for basic linting, but be aware of false positives. For accurate resolution, consider using Meteor's built-in linting tools.","message":"Meteor package imports (e.g., 'meteor/foo:bar') may not resolve correctly; resolver only checks package existence, not actual exports.","severity":"gotcha","affected_versions":">=0.1.0"},{"fix":"Include '.js' in the extensions array if you want it alongside others.","message":"Extensions must be re-added explicitly when setting custom extensions; default is only '.js'.","severity":"gotcha","affected_versions":">=0.1.0"},{"fix":"Consider using eslint-import-resolver-typescript or writing a custom resolver for modern ESLint.","message":"Package has not been updated since 2018; may not work with newer ESLint versions (e.g., ESLint 9 flat config).","severity":"deprecated","affected_versions":">=0.4.0"},{"fix":"Disable the import/no-restricted-paths rule if false positives occur, or adjust folder structure.","message":"Client/server folder restriction may report false positives if files are shared via symlinks or unconventional structures.","severity":"gotcha","affected_versions":">=0.1.0"},{"fix":"Ensure the project has a .meteor folder in a parent directory, or set the root manually via settings.","message":"Resolving '/' paths uses the parent directory of .meteor folder; if .meteor is not found, resolution fails.","severity":"gotcha","affected_versions":">=0.1.0"}],"env_vars":null,"last_verified":"2026-04-25T00:00:00.000Z","next_check":"2026-07-24T00:00:00.000Z","problems":[{"fix":"Ensure you have run 'meteor add meteor' or check that .meteor/versions exists. The resolver may produce false positives.","cause":"The resolver cannot find the Meteor internal package; either package not added or .meteor/versions missing.","error":"Unable to resolve path to module 'meteor/meteor'"},{"fix":"Verify that the file exists at PROJECT_ROOT/imports/foo, where PROJECT_ROOT is the directory containing .meteor.","cause":"The '/' path resolution uses the .meteor parent directory; file not found relative to project root.","error":"import/no-unresolved: Unable to resolve path to module '/imports/foo'"},{"fix":"Run: npm install --save-dev eslint-plugin-import eslint-import-resolver-meteor","cause":"Missing required peer dependency eslint-plugin-import or resolver package not installed.","error":"ESLint configuration error: Cannot find module 'eslint-import-resolver-meteor'"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}