eslint-plugin-require-extensions

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).

APACHE-2.0 License

Downloads
254.2K
Stars
59
Committers
2

eslint-plugin-require-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 .js extensions.

Credit for the original implementation goes to johnrees. ❤️

  1. Install
npm install --save-dev eslint-plugin-require-extensions
  1. Edit .eslintrc
{
    "extends": [
        "plugin:require-extensions/recommended"
    ],
    "plugins": [
        "require-extensions"
    ]
}
  1. Code
// source.js

import Target from './target';
  1. Lint
eslint .
source.js
  1:1  error  Relative imports and exports must end with .js  require-extensions/require-extensions
  1. Fix
eslint --fix .
// source.js

import Target from './target.js';