Norwegian Parcel Mail

    eslint-import-resolver-alias

    1.1.2 • Public • Published

    eslint-import-resolver-alias

    Version npm Version node Build Status Download Dependencies peerDependencies Coverage Status Known Vulnerabilities License

    This is a simple Node.js module import resolution plugin for eslint-plugin-import, which supports native Node.js module resolution, module alias/mapping and custom file extensions.

    Installation

    Prerequisites: Node.js >=4.x and corresponding version of npm.

    npm install eslint-plugin-import eslint-import-resolver-alias --save-dev

    Usage

    Pass this resolver and its parameters to eslint-plugin-import using your eslint config file, .eslintrc or .eslintrc.js.

    // .eslintrc.js
    module.exports = {
      settings: {
        'import/resolver': {
          alias: {
            map: [
              ['babel-polyfill', 'babel-polyfill/dist/polyfill.min.js'],
              ['helper', './utils/helper'],
              ['material-ui/DatePicker', '../custom/DatePicker'],
              ['material-ui', 'material-ui-ie10']
            ],
            extensions: ['.ts', '.js', '.jsx', '.json']
          }
        }
      }
    };

    Note:

    • The alias config object contains two properties, map and extensions, both of which are array types
    • The item of map array is also array type which contains 2 string
      • The first string represents the alias of module name or path
      • The second string represents the actual module name or path
    • The map item ['helper', './utils/helper'] means that the modules which match helper or helper/* will be resolved to ./utils/helper or ./utils/helper/* which are located relative to the process current working directory (almost the project root directory). If you just want to resolve helper to ./utils/helper, use ['^helper$', './utils/helper'] instead. See issue #3
    • The order of 'material-ui/DatePicker' and 'material-ui' cannot be reversed, otherwise the alias rule 'material-ui/DatePicker' does not work
    • The default value of extensions property is ['.js', '.json', '.node'] if it is assigned to an empty array or not specified

    If the extensions property is not specified, the config object can be simplified to the map array.

    // .eslintrc.js
    module.exports = {
      settings: {
        'import/resolver': {
          alias: [
            ['babel-polyfill', 'babel-polyfill/dist/polyfill.min.js'],
            ['helper', './utils/helper'],
            ['material-ui/DatePicker', '../custom/DatePicker'],
            ['material-ui', 'material-ui-ie10']
          ]
        }
      }
    };

    When the config is not a valid object (such as true), the resolver falls back to native Node.js module resolution.

    // .eslintrc.js
    module.exports = {
      settings: {
        'import/resolver': {
          alias: true
        }
      }
    };

    Install

    npm i eslint-import-resolver-alias

    DownloadsWeekly Downloads

    408,777

    Version

    1.1.2

    License

    MIT

    Unpacked Size

    9.94 kB

    Total Files

    4

    Last publish

    Collaborators

    • johvin