This repository will give access to new rules for the ESLint tool. You should use it only if you are developing a CommonJS application. It checks for require() function usage (or for import, if you're using ES6 syntax).
- Supports both
require()
and ES6import
syntax - Supports aliases in webpack
- Supports different file extensions
- Works in Atom with
linter-eslint
package
-
Install
eslint-plugin-require-path-exists
as a dev-dependency:npm install --save-dev eslint-plugin-require-path-exists
-
Enable the plugin by adding it to the
plugins
and start from default (recommended) configuration inextends
in.eslintrc
:{ "extends": [ "plugin:require-path-exists/recommended" ], "plugins": [ "require-path-exists" ] }
-
You can also configure these rules in your
.eslintrc
. All rules defined in this plugin have to be prefixed by 'require-path-exists/'
{
"plugins": [
"require-path-exists"
],
"rules": {
"require-path-exists/notEmpty": 2,
"require-path-exists/tooManyArguments": 2,
"require-path-exists/exists": [ 2, {
"extensions": [
"",
".jsx",
".es.js",
".jsx",
".json5",
".es",
".es6",
".coffee"
],
"webpackConfigPath": "webpack.config.js"
}]
}
}
Name | Description | Default Configuration |
---|---|---|
require-path-exists/notEmpty | You should not call require() without arguments or with empty argument | 2 |
require-path-exists/tooManyArguments | You should pass only one argument to require() function | 2 |
require-path-exists/exists | You should only pass existing paths to require() | [ 2, { "extensions": [ "", ".js", ".json", ".node" ], "webpackConfigPath": null }] |
- 1.1.5: Use resolve instead of some functions (thanks to @dominicbarnes)
- 1.1.4: Correctly exec webpack config in Atom
- 1.1.3: Output errors when trying to load webpack config
- 1.1.2: In order to have aliases working you now should provide webpackConfigPath config value.
- 1.1.1: Correctly resolve node built-in modules, using builtin-modules npm package (thanks to @antialias)
- 1.1.0: Resolving of webpack file extensions is not supported anymore (thanks to @lilianammmatos). Please manually provide extensions to plugin config instead.
- Tests coverage.
- Check in different CommonJS environments (currently only tested in NodeJS and webpack).
MIT