eslint-plugin-import-extensions

0.1.5 • Public • Published

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-extensions

Edit .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-extensions

Fix

eslint --fix .
// source.js

import Target from './target.js';

Readme

Keywords

none

Package Sidebar

Install

npm i eslint-plugin-import-extensions

Weekly Downloads

53

Version

0.1.5

License

Apache-2.0

Unpacked Size

17.6 kB

Total Files

4

Last publish

Collaborators

  • bwestphal