eslint-plugin-require-path-exists

    1.1.9 • Public • Published

    NPM

    Greenkeeper badge Dependency Status Average time to resolve an issue Percentage of issues still open

    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 ES6 import syntax
    • Supports aliases in webpack
    • Supports different file extensions
    • Works in Atom with linter-eslint package

    Usage

    1. Install eslint-plugin-require-path-exists as a dev-dependency:

      npm install --save-dev eslint-plugin-require-path-exists
    2. Enable the plugin by adding it to the plugins and start from default (recommended) configuration in extends in .eslintrc:

      {
        "extends": [
          "plugin:require-path-exists/recommended"
        ],
        "plugins": [
          "require-path-exists"
        ]
      }
    3. 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

    Install

    npm i eslint-plugin-require-path-exists

    DownloadsWeekly Downloads

    5,609

    Version

    1.1.9

    License

    MIT

    Unpacked Size

    93.2 kB

    Total Files

    13

    Last publish

    Collaborators

    • bohdantkachenko