eslint-plugin-import-extensions
v0.1.5
Published
TypeScript [doesn't transform extensions](https://github.com/microsoft/TypeScript/issues/16577) and [doesn't enforce file extensions](https://github.com/microsoft/TypeScript/issues/42813).
Downloads
7,169
Readme
eslint-plugin-import-extensions
TypeScript doesn't transform extensions and doesn't enforce file extensions.
This is a simple eslint plugin that ensures that relative imports and exports have extensions as desired (e.g. .js, .ts, .cjs, etc.). It also ensures that index files are explicitly imported.
This is a fork of eslint-plugin-require-extensions.
Credit for the original implementation goes to johnrees. ❤️
Install
npm install --save-dev eslint-plugin-require-extensionsEdit .eslintrc
{
"extends": ["plugin:import-extensions/recommended"],
"plugins": ["import-extensions"]
}Rules Configuration
The default expectedExtensions option is ['js'], but you may override it and extensions will be used in priority order (most important first).
{
"rules": {
"import-extensions/require-extensions": ["error", { "expectedExtensions": ["ts"] }],
"import-extensions/require-index": ["error", { "expectedExtensions": ["ts"] }]
}
}Code
// source.js
import Target from './target';Lint
eslint .source.js
1:1 error Relative imports and exports must end with .js import-extensions/require-extensionsFix
eslint --fix .// source.js
import Target from './target.js';