Wondering what‚Äôs next for npm?Check out our public roadmap! ¬Ľ

    eslint-plugin-eggache

    1.0.0¬†‚Äʬ†Public¬†‚Äʬ†Published

    eslint-plugin-eggache

    custom eslint rule for egg RTFM questions

    NPM version build status Test coverage David deps Known Vulnerabilities NPM download

    Usage

    npm i eslint-plugin-eggache --save

    Add eggache to the plugins section of your .eslintrc configuration file.

    // ${app_root}/.eslintrc
    {
      "extends": [
        "plugin:eggache/recommended"
      ]
    }

    By default it enable all the recommended rules, if you want to custom, just configure the rules section.

    // ${app_root}/.eslintrc
    {
      "extends": [
        "plugin:eggache/recommended"
      ],
      "rules": {
        'eggache/no-override-exports': [ 'error' ],
        'eggache/no-unexpected-plugin-keys': 'error',
      }
    }

    Rules

    no-override-exports

    A common mistake that newbie will make - override module.exports and exports.

    /* eslint eggache/no-override-exports: [ 'error' ] */
     
    // config/config.default.js
    exports.view = {};
     
    module.exports = appInfo => {
      const config = exports = {};
      config.keys = '123456';
      return config;
    }

    Options:

    The first options is a boolean, default to false, means only check:

    • config/config.*.js
    • config/plugin.*.js

    set it to true means to check all files.

    /* eslint eggache/no-override-exports: [ 'error', true ] */
     
    // due to options `true`, this will pass the lint
    // ${app_root}/app.js
    module.exports = exports = {};
    exports.keys = '123456';

    no-unexpected-plugin-keys

    Sometimes, developer will confuse plugin.js and config.default.js.

    plugin.js only allow [ 'enable', 'package', 'path', 'env' ] and it control whether to load a plugin.

    The plugin's config should write to config/config.{env}.js.

    /* eslint eggache/no-unexpected-plugin-keys: [ 'error' ] */
     
    // config/plugin.js
    module.exports = {
      test: {
        enable: true,
        package: 'egg-test',
        someConfig: 'should not place here',
      },
    }

    Keywords

    none

    Install

    npm i eslint-plugin-eggache

    DownloadsWeekly Downloads

    23,187

    Version

    1.0.0

    License

    MIT

    Unpacked Size

    9.18 kB

    Total Files

    7

    Last publish

    Collaborators

    • avatar