eslint-plugin-require-path-exists
v1.1.9
Published
Checks all require path's to exist as files
Downloads
42,486
Maintainers
Readme
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).
Features
- Supports both
require()
and ES6import
syntax - Supports aliases in webpack
- Supports different file extensions
- Works in Atom with
linter-eslint
package
Usage
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" }] }
] } ```
Rules
| 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 }]
|
Changelog
- 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.
TODO
- Tests coverage.
- Check in different CommonJS environments (currently only tested in NodeJS and webpack).
License
MIT