Parcel import resolution plugin for eslint-plugin-import. This allows for eslint/import to work with parcel's module resolution.
npm install eslint-import-resolver-parcel -D
Add this to your eslint config:
settings: {
'import/resolver': 'parcel'
}
- Relative paths (
import foo from '../foo.js'
) - Absolute paths (
import _ from 'lodash'
) - Tilde paths (
import foo from '~/foo.js'
) - Root paths* (
import foo from '/foo.js'
) - Aliasing (parcel docs)
- Glob Paths (parcel docs)
Because root paths require knowledge of the entry points, you must pass in the folder where the entry points are located into the config:
settings: {
'import/resolver': {
parcel: {
rootDir: 'src' // wherever your entrypoints are located
}
}
}
If not specified, it will assume process.cwd()
(where eslint
is called from, probably where the package.json
is located).
If you want to automatically add extra extensions to resolve to, e.g., test-file
resolves to test-file.ts
, just pass in an array to the extensions
key of the config.
settings: {
'import/resolver': {
parcel: {
extensions: ['.ts'] // whatever extra extensions you want to look for
}
}
}
Current default extensions are .js
and .jsx
.