├── .editorconfig ├── .eslintrc ├── .gitignore ├── .travis.yml ├── CHANGELOG.md ├── LICENSE ├── README.md ├── configurations ├── es5-browser.js ├── es5-node.js ├── es5-test.js ├── es5.js ├── es6-browser.js ├── es6-node-test.js ├── es6-node.js ├── es6-react-test.js ├── es6-react.js ├── es6-test.js ├── es6.js └── off.js ├── docs └── styleguide.md ├── package-lock.json ├── package.json └── rules ├── eslint ├── best-practices │ ├── off.js │ └── on.js ├── errors │ ├── off.js │ └── on.js ├── es6 │ ├── off.js │ └── on.js ├── node │ ├── off.js │ └── on.js ├── strict │ ├── off.js │ └── on.js ├── style │ ├── off.js │ └── on.js └── variables │ ├── off.js │ └── on.js ├── filenames ├── off.js └── on.js └── react ├── off.js └── on.js /.editorconfig: -------------------------------------------------------------------------------- 1 | # editorconfig.org 2 | root = true 3 | 4 | [*] 5 | indent_style = space 6 | indent_size = 2 7 | end_of_line = lf 8 | charset = utf-8 9 | trim_trailing_whitespace = true 10 | insert_final_newline = true 11 | 12 | [*.md] 13 | trim_trailing_whitespace = false 14 | -------------------------------------------------------------------------------- /.eslintrc: -------------------------------------------------------------------------------- 1 | --- 2 | extends: 3 | # We're manually approximating `configurations/es5-node` with these 4 | # _local_ imports (since `defaults/` prefix assumes npm-installed). 5 | - "./rules/eslint/best-practices/on.js" 6 | - "./rules/eslint/errors/on.js" 7 | - "./rules/eslint/es6/off.js" 8 | - "./rules/eslint/node/off.js" 9 | - "./rules/eslint/strict/on.js" 10 | - "./rules/eslint/style/on.js" 11 | - "./rules/eslint/variables/on.js" 12 | - "./rules/filenames/on.js" 13 | - "./rules/eslint/node/on.js" 14 | 15 | parserOptions: 16 | ecmaVersion: 5 17 | sourceType: "script" 18 | ecmaFeatures: {} 19 | 20 | env: 21 | amd: true 22 | node: true 23 | 24 | globals: 25 | module: false 26 | process: false 27 | 28 | rules: 29 | "strict": [2, "global"] 30 | "no-magic-numbers": 0 # Magic numbers _define_ the rule settings. 31 | "max-len": 0 # Bias towards comments / rules on _one line_ 32 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # -------------------- 2 | # OSX Files 3 | # -------------------- 4 | .DS_Store 5 | .AppleDouble 6 | .LSOverride 7 | Icon 8 | ._* 9 | .Spotlight-V100 10 | .Trashes 11 | npm-debug.log* 12 | 13 | # -------------------- 14 | # Sublime Text Files 15 | # -------------------- 16 | *.sublime-project 17 | *.sublime-workspace 18 | 19 | # -------------------- 20 | # IntelliJ Files 21 | # -------------------- 22 | *.iml 23 | *.ipr 24 | *.iws 25 | .idea/ 26 | out/ 27 | 28 | # -------------------- 29 | # Eclipse Files 30 | # -------------------- 31 | .project 32 | .metadata 33 | *.bak 34 | .classpath 35 | .settings 36 | 37 | # -------------------- 38 | # App Files 39 | # -------------------- 40 | node_modules 41 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | 3 | node_js: 4 | - "0.10" 5 | - "0.12" 6 | - "4.2" 7 | - "5.0" 8 | 9 | # Use container-based Travis infrastructure. 10 | sudo: false 11 | 12 | branches: 13 | only: 14 | - master 15 | -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | ## 10.0.0-1 (2016-03-04) 2 | 3 | #### User Facing Changes 4 | 5 | * Replace `no-empty-label` with `no-labels` 6 | * Replace `space-after-keywords`, `space-before-keywords`, `space-return-throw-case` with `keyword-spacing` 7 | * Update devDependency to ESLint 2.x.x 8 | 9 | ## 9.0.0 (2016-02-10) 10 | 11 | #### User Facing Changes 12 | 13 | * Correct bug where walmart/es6-node enabled ecma features that are unsupported in node@4 14 | * Add babel-eslint to the walmart config to enable proper es-next parsing 15 | * Add node-runtime configuration 16 | * Update README to specify what node version it tracks 17 | * Update airbnb congif from 2.1.1 -> 5.0.0 18 | 19 | ## 8.0.2 (2016-01-12) 20 | 21 | #### User Facing Changes 22 | 23 | * Correct bug where eslint/style configs had duplicate keys 24 | 25 | #### Internal Changes 26 | 27 | * Add CI (wooooo! thanks @ryan-roemer) 28 | 29 | ## 8.0.1 (2016-01-08) 30 | 31 | #### User Facing Changes 32 | 33 | * Correct but where react/no-is-mounted was called react/jsx-no-is-mounted 34 | 35 | ## 8.0.0 (2016-01-08) 36 | 37 | #### User Facing Changes 38 | 39 | * Turn on new rules from eslint and eslint-plugin react in Walmart configurations 40 | * Update airbnb config to 2.1.1 41 | * Update all rules for the ESLint 1.10.3 42 | * Update all rules for eslint-plugin-react 3.12.0 43 | 44 | ## 7.1.1 (2015-10-28) 45 | 46 | #### User Facing Changes 47 | 48 | * Update docs to include new walmart config 49 | 50 | ## 7.1.0 (2015-10-28) 51 | 52 | #### User Facing Changes 53 | 54 | * Add walmart/es6-react-test.js 55 | * Update docs for clarity 56 | 57 | ## 7.0.1 (2015-10-02) 58 | 59 | #### User Facing Changes 60 | 61 | * Correct typo in walmart and airbnb config 62 | 63 | ## 7.0.0 (2015-10-01) 64 | 65 | #### User Facing Changes 66 | 67 | * Remove deprecated react/jsx-quotes in favor of jsx-quotes 68 | * Update eslint 1.0.0 -> 1.5.1 69 | * Update eslint-react 3.1.0 -> 3.5.0 70 | * Adds use strict back to best-practices 71 | * Fixes defaults extensibility in configuration files 72 | 73 | ## 6.0.0 (2015-09-01) 74 | 75 | #### Internal Changes 76 | 77 | * Revert 5.0.0 due to a limitation in ESLint 78 | 79 | ## 5.0.0 (2015-08-27) 80 | 81 | #### Internal Changes 82 | 83 | * Convert all js/json to YAML 84 | 85 | ## 4.2.0 (2015-08-19) 86 | 87 | #### User Facing Changes 88 | 89 | * Add Google config 90 | 91 | ## 4.1.1 (2015-08-19) 92 | 93 | #### User Facing Changes 94 | 95 | * Add missing documentation about babel-eslint dependency 96 | 97 | ## 4.1.0 (2015-08-17) 98 | 99 | #### User Facing Changes 100 | 101 | * Add filename enforcement plugin to Walmart configs 102 | 103 | ## 4.0.2 (2015-08-17) 104 | 105 | #### Internal 106 | 107 | * Remove dependency on lodash in place of ESLint's merge 108 | 109 | ## 4.0.1 (2015-08-07) 110 | 111 | #### User Facing Changes 112 | 113 | * Correct missing comma in React config 114 | 115 | ## 4.0.0 (2015-08-07) 116 | 117 | #### User Facing Changes 118 | 119 | * Correct node value in airbnb node config 120 | * Remove environments - they are not generalizable enough to warrant specific config 121 | * Bring up to date with ESLint 1.0.0+ and eslint-plugin-react 3.1.0+ and airbnb 0.0.7 122 | 123 | #### Internal Changes 124 | 125 | * Add attributions and a thank you section 126 | * Small README corrections 127 | * Add comments in base config to delineate plugins from core 128 | 129 | ## 3.1.0 (2015-07-06) 130 | 131 | #### User Facing Changes 132 | 133 | * Turn off react/no-multi-comp in walmart config 134 | 135 | ## 3.0.3 (2015-07-06) 136 | 137 | #### Internal Changes 138 | 139 | * Add missing comma that prevented the strict rules from being loaded 140 | 141 | ## 3.0.2 (2015-07-06) 142 | 143 | #### User Facing Changes 144 | 145 | * Convert README examples to YAML since shared config is broken in JSON 146 | * Add deprecated ESLint config that was on by default. Will be removed at ESLint 1.0 147 | 148 | ## 3.0.1 (2015-07-06) 149 | 150 | #### User Facing Changes 151 | 152 | * Remove `.js` suffix from README configs 153 | 154 | #### Internal Changes 155 | 156 | * Update repo urls 157 | * Correct lint errors in the project 158 | 159 | ## 3.0.0 (2015-07-06) 160 | 161 | #### User Facing Changes 162 | 163 | * Bring config up to date with ESLint 0.24.0 164 | * Add React plugin config 165 | * walmart: Add mocha to es5 test 166 | * walmart: Turn on global strict mode in es6 and es5-node config 167 | * walmart: Turn on all ES6 rules 168 | 169 | #### Internal Changes 170 | 171 | * Correct improper overrides in walmart/test 172 | * Wrap all properties in " for easier transfer from json <-> javascript 173 | * Correct linting errors 174 | 175 | ## 2.1.0 (2015-07-05) 176 | 177 | #### User Facing Changes 178 | 179 | * Correct bug causing walmart configs to fail 180 | * Rename walmart configs for brevity 181 | 182 | ## 2.0.1 (2015-07-05) 183 | 184 | #### Internal Changes 185 | 186 | * Update README for readability 187 | 188 | ## 2.0.0 (2015-07-05) 189 | 190 | #### User Facing Changes 191 | 192 | * Replace "default" config with named configs (airbnb, walmart, eslint) 193 | * Extract environment config into new directory 194 | * Move rules into eslint directory for cleaner addition of plugins 195 | * Add ESLint's default config and set it to the new default 196 | * Add WalmartLabs config 197 | * Add AirBnB config 198 | 199 | #### Internal Changes 200 | 201 | * Update lodash 202 | 203 | ## 1.0.0 (2015-06-25) 204 | 205 | #### User Facing Changes 206 | 207 | * move complete configurations and rulesets into `configurations` and `rules` respectively 208 | * Add missing changelog entries 209 | 210 | #### Internal Changes 211 | 212 | * Lint the lint config 213 | 214 | ## 0.4.0 (2015-06-24) 215 | 216 | #### User Facing Changes 217 | 218 | * Rev non patch version to support the breaking changes from 0.3.6 -> 0.3.7 219 | 220 | ## 0.3.7 (2015-06-24) 221 | 222 | #### User Facing Changes 223 | 224 | * Move config groups into config directory 225 | * Add airbnb style config 226 | 227 | #### Internal Changes 228 | 229 | * Remove js prop access in favor of object merge 230 | * DRY up es6 configs 231 | 232 | ## 0.3.6 (2015-06-17) 233 | 234 | #### User Facing Changes 235 | 236 | * README Updates 237 | 238 | ## 0.3.5 (2015-06-17) 239 | 240 | #### User Facing Changes 241 | 242 | * README Updates 243 | 244 | ## 0.3.4 (2015-06-17) 245 | 246 | #### User Facing Changes 247 | 248 | * Correct bug that caused some configs not to load 249 | 250 | ## 0.3.3 (2015-06-17) 251 | 252 | #### User Facing Changes 253 | 254 | * README Updates 255 | * Correct bug that caused some configs not to load 256 | 257 | ## 0.3.2 (2015-06-17) 258 | 259 | #### User Facing Changes 260 | 261 | * README Updates 262 | 263 | ## 0.3.1 (2015-06-17) 264 | 265 | #### User Facing Changes 266 | 267 | * README Updates 268 | 269 | ## 0.3.0 (2015-06-17) 270 | 271 | #### User Facing Changes 272 | 273 | * Change default to be ES5 274 | * Change ES5 to turn off node and legacy rules 275 | * Create separate ES5 and ES6 config sets 276 | 277 | ## 0.2.0 (2015-06-16) 278 | 279 | #### User Facing Changes 280 | 281 | * Initial Release 282 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2015 Keith Cirkel 2 | 3 | Copyright (c) 2015 Eric Baer 4 | 5 | Copyright (c) 2015-Present @WalmartLabs 6 | 7 | Licensed under the Apache License, Version 2.0 (the "License"); 8 | you may not use this file except in compliance with the License. 9 | You may obtain a copy of the License at 10 | 11 | http://www.apache.org/licenses/LICENSE-2.0 12 | 13 | Unless required by applicable law or agreed to in writing, software 14 | distributed under the License is distributed on an "AS IS" BASIS, 15 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 16 | See the License for the specific language governing permissions and 17 | limitations under the License. 18 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | *** 2 | # NOTICE: 3 | 4 | ## This repository has been archived and is not supported. 5 | 6 | [![No Maintenance Intended](http://unmaintained.tech/badge.svg)](http://unmaintained.tech/) 7 | *** 8 | NOTICE: SUPPORT FOR THIS PROJECT HAS ENDED 9 | 10 | This projected was owned and maintained by Walmart. This project has reached its end of life and Walmart no longer supports this project. 11 | 12 | We will no longer be monitoring the issues for this project or reviewing pull requests. You are free to continue using this project under the license terms or forks of this project at your own risk. This project is no longer subject to Walmart's bug bounty program or other security monitoring. 13 | 14 | 15 | ## Actions you can take 16 | 17 | We recommend you take the following action: 18 | 19 | * Review any configuration files used for build automation and make appropriate updates to remove or replace this project 20 | * Notify other members of your team and/or organization of this change 21 | * Notify your security team to help you evaluate alternative options 22 | 23 | ## Forking and transition of ownership 24 | 25 | For [security reasons](https://www.theregister.co.uk/2018/11/26/npm_repo_bitcoin_stealer/), Walmart does not transfer the ownership of our primary repos on Github or other platforms to other individuals/organizations. Further, we do not transfer ownership of packages for public package management systems. 26 | 27 | If you would like to fork this package and continue development, you should choose a new name for the project and create your own packages, build automation, etc. 28 | 29 | Please review the licensing terms of this project, which continue to be in effect even after decommission. 30 | 31 |

eslint-config-walmart

32 | 33 |

34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 |

44 | 45 |

46 | A composable set of ESLint configurations. 47 |

48 | 49 | --- 50 | 51 | This project is the maintained offshoot of [eslint-config-defaults](https://github.com/walmartlabs/eslint-config-defaults) with just the Walmart Labs-flavored rules included. It is `eslint@2+`-compatible and actively maintained (with love) by the friendly folks at Walmart Labs. Check out the [style guide](docs/styleguide.md) for a comprehensive list of rules. 52 | 53 | ## Installation 54 | 55 | 1. Install this config package and ESLint: 56 | 57 | ```bash 58 | $ npm install --save-dev eslint eslint-config-walmart 59 | ``` 60 | 61 | 2. Then, install any additional dependencies required by your configuration. (See 62 | [Dependencies](#dependencies) section below.) 63 | 64 | e.g. 65 | ```bash 66 | $ npm install --save-dev eslint-plugin-filenames babel-eslint 67 | ``` 68 | 69 | ## Usage 70 | 71 | ### Full Configurations 72 | 73 | This package includes the following complete and ready to use configurations: 74 | 75 | * `walmart` - ES6 config 76 | * `walmart/configurations/off` - Disable all rules (ESLint's default at 1.0.0+) 77 | * `walmart/configurations/es5-browser` - ES5 + browser 78 | * `walmart/configurations/es5-node` - ES5 + node < 4.x 79 | * `walmart/configurations/es5-test` - ES5 + test 80 | * `walmart/configurations/es5` - ES5 config 81 | * `walmart/configurations/es6-browser` - ES6 + browser 82 | * `walmart/configurations/es6-node-test` - ES6 + node 4.x + test 83 | * `walmart/configurations/es6-node` - ES6 + node 4.x 84 | * `walmart/configurations/es6-react-test` - ES6 + react + test 85 | * `walmart/configurations/es6-react` - ES6 + react 86 | * `walmart/configurations/es6-test` - ES6 + test 87 | * `walmart/configurations/es6` - ES6 config 88 | 89 | ###### Dependencies 90 | 91 | * Any config (`walmart/configurations/`) - [eslint-plugin-filenames](https://github.com/selaux/eslint-plugin-filenames) 92 | * Any React config (`-react`) - [eslint-plugin-react](https://www.npmjs.com/package/eslint-plugin-react), [babel-eslint](https://github.com/babel/babel-eslint) 93 | * Any ES-next config (`es6-`) - [babel-eslint](https://github.com/babel/babel-eslint) 94 | 95 | To consume and extend a config in ESLint just add the extends attribute to your `.eslintrc`. For 96 | more details about how shareable configs work, see the 97 | [ESLint documentation](http://eslint.org/docs/developer-guide/shareable-configs). 98 | 99 | ```yaml 100 | --- 101 | "extends": 102 | - "walmart" 103 | ``` 104 | 105 | ```yaml 106 | --- 107 | "extends": 108 | - "walmart/configurations/es6-browser" 109 | ``` 110 | 111 | **NOTE:** Extending multiple complete configs can cause unexpected results, if you need to do this you should consider a piecemeal config as explained below. See https://github.com/walmartlabs/eslint-config-defaults/issues/38 for details. 112 | 113 | ### Piecemeal Configurations 114 | 115 | ESLint configuration is broken apart in `./rules` containing ESLint's rules and rules for specific ESLint plugins. The full set of ESLint rules (`./rules/eslint`) are broken into categories that mirror ESLint's documentation. Under each rule type there are sets of configuration as well as an `off.js` file which turns off every rule in the category. 116 | 117 | ###### Examples 118 | 119 | ```yaml 120 | --- 121 | "extends": 122 | - "walmart/rules/eslint/best-practices/on", 123 | - "walmart/rules/eslint/es6/off" 124 | - "walmart/rules/eslint/node/off" 125 | 126 | "env": 127 | "phantom": true 128 | ``` 129 | 130 | ## Limitations 131 | 132 | Due to an issue with ESLint, config extension cannot be called from a globally installed (`npm install -g eslint`) eslint. It can however be run properly using eslint installed directly to your package's `node_modules`. This can be done by either calling it directly (`./node_modules/.bin/eslint .`) or from within an npm script since they automatically check local `node_modules` first. This will be tracked in issue [#43](https://github.com/walmartlabs/eslint-config-defaults/issues/43). 133 | 134 | ### This package tracks config in the following versions: 135 | 136 | * [ESLint](https://github.com/eslint/eslint) 2.10.2 137 | * [eslint-plugin-react](https://www.npmjs.com/package/eslint-plugin-react) 5.1.1 138 | * [eslint-plugin-filenames](https://www.npmjs.com/package/eslint-plugin-filenames) 1.0.0 139 | 140 | ## And A Special Thanks To 141 | 142 | * [Nicholas C. Zakas](https://github.com/nzakas) for all the amazing work on [ESLint](https://github.com/eslint/eslint) 143 | * [Keith Cirkel](https://github.com/keithamus) for painstakingly formatting all of ESLint's rules into JSON in [eslint-config-strict](https://github.com/keithamus/eslint-config-strict) 144 | * [AirBnB](https://github.com/airbnb/javascript) for sharing all of their config in [JavaScript Style Guide](https://github.com/airbnb/javascript) 145 | * [Google](https://google.github.io/styleguide/javascriptguide.xml) for sharing their styleguide 146 | * [ES-Next Compat Table](https://github.com/kangax/compat-table) for the [excellent docs on node features](https://kangax.github.io/compat-table/es6/#node4) 147 | 148 | --- 149 | 150 | ## License 151 | 152 | Copyright (c) 2015-present, WalmartLabs 153 | 154 | Licensed under the [Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0). 155 | -------------------------------------------------------------------------------- /configurations/es5-browser.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | module.exports = { 4 | extends: "walmart/configurations/es5", 5 | env: { 6 | browser: true 7 | } 8 | }; 9 | -------------------------------------------------------------------------------- /configurations/es5-node.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | module.exports = { 4 | extends: ["walmart/configurations/es5", "walmart/rules/eslint/node/on"], 5 | env: { 6 | node: true 7 | }, 8 | rules: { 9 | strict: [2, "global"] 10 | } 11 | }; 12 | -------------------------------------------------------------------------------- /configurations/es5-test.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | module.exports = { 4 | extends: ["walmart/configurations/es5"], 5 | env: { 6 | mocha: true 7 | }, 8 | rules: { 9 | "max-nested-callbacks": 0, 10 | "no-magic-numbers": 0 11 | } 12 | }; 13 | -------------------------------------------------------------------------------- /configurations/es5.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | module.exports = { 4 | extends: [ 5 | "walmart/rules/eslint/best-practices/on", 6 | "walmart/rules/eslint/errors/on", 7 | "walmart/rules/eslint/es6/off", 8 | "walmart/rules/eslint/node/off", 9 | "walmart/rules/eslint/strict/on", 10 | "walmart/rules/eslint/style/on", 11 | "walmart/rules/eslint/variables/on", 12 | "walmart/rules/filenames/on" 13 | ], 14 | parserOptions: { 15 | ecmaVersion: 5, 16 | sourceType: "script", 17 | ecmaFeatures: {} 18 | }, 19 | env: { 20 | amd: true 21 | }, 22 | globals: { 23 | module: false, 24 | process: false 25 | }, 26 | rules: {} 27 | }; 28 | -------------------------------------------------------------------------------- /configurations/es6-browser.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | module.exports = { 4 | extends: "walmart/configurations/es6", 5 | env: { 6 | browser: true 7 | } 8 | }; 9 | -------------------------------------------------------------------------------- /configurations/es6-node-test.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | module.exports = { 4 | extends: ["walmart/configurations/es6-node"], 5 | env: { 6 | mocha: true, 7 | phantomjs: true 8 | }, 9 | globals: { 10 | expect: true, 11 | sandbox: true 12 | }, 13 | rules: { 14 | "max-nested-callbacks": 0, 15 | "no-unused-expressions": 0, 16 | "no-magic-numbers": 0 17 | } 18 | }; 19 | -------------------------------------------------------------------------------- /configurations/es6-node.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | module.exports = { 4 | extends: ["walmart/configurations/es6", "walmart/rules/eslint/node/on"], 5 | env: { 6 | node: true 7 | }, 8 | parserOptions: { 9 | sourceType: "script", 10 | ecmaFeatures: { 11 | impliedStrict: false 12 | } 13 | }, 14 | globals: {}, 15 | rules: { 16 | // verify super() callings in constructors 17 | "constructor-super": 0, 18 | // disallow modifying variables of class declarations 19 | "no-class-assign": 0, 20 | // disallow modifying variables that are declared using const 21 | "no-dupe-class-members": 0, 22 | // disallow to use this/super before super() calling in constructors. 23 | "no-this-before-super": 0, 24 | // suggest using Reflect methods where applicable 25 | "prefer-reflect": 0, 26 | // require that all functions are run in strict mode 27 | strict: [2, "global"], 28 | // warn on function param reassignment or mutation 29 | "no-param-reassign": 1 30 | } 31 | }; 32 | -------------------------------------------------------------------------------- /configurations/es6-react-test.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | module.exports = { 4 | extends: "walmart/configurations/es6-react", 5 | env: { 6 | mocha: true, 7 | phantomjs: true 8 | }, 9 | rules: { 10 | "max-nested-callbacks": 0, 11 | "no-magic-numbers": 0 12 | } 13 | }; 14 | -------------------------------------------------------------------------------- /configurations/es6-react.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | module.exports = { 4 | parser: "babel-eslint", 5 | extends: ["walmart/configurations/es6", "walmart/rules/react/on"], 6 | parserOptions: { 7 | ecmaFeatures: { 8 | jsx: true 9 | } 10 | }, 11 | globals: { 12 | fetch: false 13 | }, 14 | rules: { 15 | "no-extra-parens": 0, 16 | "no-var": 2 17 | } 18 | }; 19 | -------------------------------------------------------------------------------- /configurations/es6-test.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | module.exports = { 4 | extends: "walmart/configurations/es6", 5 | env: { 6 | mocha: true, 7 | phantomjs: true 8 | }, 9 | rules: { 10 | "max-nested-callbacks": 0, 11 | "no-magic-numbers": 0 12 | } 13 | }; 14 | -------------------------------------------------------------------------------- /configurations/es6.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | module.exports = { 4 | extends: ["walmart/configurations/es5", "walmart/rules/eslint/es6/on"], 5 | parser: "babel-eslint", 6 | parserOptions: { 7 | ecmaVersion: 6, 8 | sourceType: "module", 9 | ecmaFeatures: { 10 | impliedStrict: true 11 | } 12 | }, 13 | env: { 14 | es6: true 15 | }, 16 | globals: {}, 17 | rules: {} 18 | }; 19 | -------------------------------------------------------------------------------- /configurations/off.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | module.exports = { 4 | extends: [ 5 | "walmart/rules/eslint/best-practices/off", 6 | "walmart/rules/eslint/errors/off", 7 | "walmart/rules/eslint/es6/off", 8 | "walmart/rules/eslint/node/off", 9 | "walmart/rules/eslint/strict/off", 10 | "walmart/rules/eslint/style/off", 11 | "walmart/rules/eslint/variables/off" 12 | ], 13 | parserOptions: { 14 | ecmaVersion: 5, 15 | sourceType: "script", 16 | ecmaFeatures: {} 17 | }, 18 | env: {}, 19 | globals: {}, 20 | rules: {} 21 | }; 22 | -------------------------------------------------------------------------------- /package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "eslint-config-walmart", 3 | "version": "2.2.1", 4 | "lockfileVersion": 1, 5 | "requires": true, 6 | "dependencies": { 7 | "acorn": { 8 | "version": "5.2.1", 9 | "resolved": "http://localhost:4873/acorn/-/acorn-5.2.1.tgz", 10 | "integrity": "sha1-MXrHghgmwixwLWYYmrg1lnXxNdc=", 11 | "dev": true 12 | }, 13 | "acorn-jsx": { 14 | "version": "3.0.1", 15 | "resolved": "https://npme.walmart.com/acorn-jsx/-/acorn-jsx-3.0.1.tgz", 16 | "integrity": "sha1-r9+UiPsezvyDSPb7IvRk4ypYs2s=", 17 | "dev": true, 18 | "requires": { 19 | "acorn": "3.3.0" 20 | }, 21 | "dependencies": { 22 | "acorn": { 23 | "version": "3.3.0", 24 | "resolved": "https://npme.walmart.com/acorn/-/acorn-3.3.0.tgz", 25 | "integrity": "sha1-ReN/s56No/JbruP/U2niu18iAXo=", 26 | "dev": true 27 | } 28 | } 29 | }, 30 | "ajv": { 31 | "version": "4.11.8", 32 | "resolved": "https://npme.walmart.com/ajv/-/ajv-4.11.8.tgz", 33 | "integrity": "sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY=", 34 | "dev": true, 35 | "requires": { 36 | "co": "4.6.0", 37 | "json-stable-stringify": "1.0.1" 38 | } 39 | }, 40 | "ajv-keywords": { 41 | "version": "1.5.1", 42 | "resolved": "https://npme.walmart.com/ajv-keywords/-/ajv-keywords-1.5.1.tgz", 43 | "integrity": "sha1-MU3QpLM2j609/NxU7eYXG4htrzw=", 44 | "dev": true 45 | }, 46 | "ansi-escapes": { 47 | "version": "1.4.0", 48 | "resolved": "https://npme.walmart.com/ansi-escapes/-/ansi-escapes-1.4.0.tgz", 49 | "integrity": "sha1-06ioOzGapneTZisT52HHkRQiMG4=", 50 | "dev": true 51 | }, 52 | "ansi-regex": { 53 | "version": "2.1.1", 54 | "resolved": "https://npme.walmart.com/ansi-regex/-/ansi-regex-2.1.1.tgz", 55 | "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", 56 | "dev": true 57 | }, 58 | "ansi-styles": { 59 | "version": "2.2.1", 60 | "resolved": "https://npme.walmart.com/ansi-styles/-/ansi-styles-2.2.1.tgz", 61 | "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", 62 | "dev": true 63 | }, 64 | "argparse": { 65 | "version": "1.0.9", 66 | "resolved": "https://npme.walmart.com/argparse/-/argparse-1.0.9.tgz", 67 | "integrity": "sha1-c9g7wmP4bpf4zE9rrhsOkKfSLIY=", 68 | "dev": true, 69 | "requires": { 70 | "sprintf-js": "1.0.3" 71 | } 72 | }, 73 | "array-union": { 74 | "version": "1.0.2", 75 | "resolved": "https://npme.walmart.com/array-union/-/array-union-1.0.2.tgz", 76 | "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", 77 | "dev": true, 78 | "requires": { 79 | "array-uniq": "1.0.3" 80 | } 81 | }, 82 | "array-uniq": { 83 | "version": "1.0.3", 84 | "resolved": "https://npme.walmart.com/array-uniq/-/array-uniq-1.0.3.tgz", 85 | "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", 86 | "dev": true 87 | }, 88 | "arrify": { 89 | "version": "1.0.1", 90 | "resolved": "https://npme.walmart.com/arrify/-/arrify-1.0.1.tgz", 91 | "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", 92 | "dev": true 93 | }, 94 | "babel-code-frame": { 95 | "version": "6.26.0", 96 | "resolved": "https://npme.walmart.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz", 97 | "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", 98 | "dev": true, 99 | "requires": { 100 | "chalk": "1.1.3", 101 | "esutils": "2.0.2", 102 | "js-tokens": "3.0.2" 103 | } 104 | }, 105 | "babel-eslint": { 106 | "version": "6.0.4", 107 | "resolved": "http://localhost:4873/babel-eslint/-/babel-eslint-6.0.4.tgz", 108 | "integrity": "sha1-z4fc1RYkGy4B2F6A4I6EmiMr3vc=", 109 | "dev": true, 110 | "requires": { 111 | "babel-traverse": "6.26.0", 112 | "babel-types": "6.26.0", 113 | "babylon": "6.18.0", 114 | "lodash.assign": "4.2.0", 115 | "lodash.pickby": "4.6.0" 116 | } 117 | }, 118 | "babel-messages": { 119 | "version": "6.23.0", 120 | "resolved": "https://npme.walmart.com/babel-messages/-/babel-messages-6.23.0.tgz", 121 | "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", 122 | "dev": true, 123 | "requires": { 124 | "babel-runtime": "6.26.0" 125 | } 126 | }, 127 | "babel-runtime": { 128 | "version": "6.26.0", 129 | "resolved": "https://npme.walmart.com/babel-runtime/-/babel-runtime-6.26.0.tgz", 130 | "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", 131 | "dev": true, 132 | "requires": { 133 | "core-js": "2.5.1", 134 | "regenerator-runtime": "0.11.0" 135 | } 136 | }, 137 | "babel-traverse": { 138 | "version": "6.26.0", 139 | "resolved": "https://npme.walmart.com/babel-traverse/-/babel-traverse-6.26.0.tgz", 140 | "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", 141 | "dev": true, 142 | "requires": { 143 | "babel-code-frame": "6.26.0", 144 | "babel-messages": "6.23.0", 145 | "babel-runtime": "6.26.0", 146 | "babel-types": "6.26.0", 147 | "babylon": "6.18.0", 148 | "debug": "2.6.9", 149 | "globals": "9.18.0", 150 | "invariant": "2.2.2", 151 | "lodash": "4.17.4" 152 | } 153 | }, 154 | "babel-types": { 155 | "version": "6.26.0", 156 | "resolved": "https://npme.walmart.com/babel-types/-/babel-types-6.26.0.tgz", 157 | "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", 158 | "dev": true, 159 | "requires": { 160 | "babel-runtime": "6.26.0", 161 | "esutils": "2.0.2", 162 | "lodash": "4.17.4", 163 | "to-fast-properties": "1.0.3" 164 | } 165 | }, 166 | "babylon": { 167 | "version": "6.18.0", 168 | "resolved": "https://npme.walmart.com/babylon/-/babylon-6.18.0.tgz", 169 | "integrity": "sha1-ry87iPpvXB5MY00aD46sT1WzleM=", 170 | "dev": true 171 | }, 172 | "balanced-match": { 173 | "version": "1.0.0", 174 | "resolved": "https://npme.walmart.com/balanced-match/-/balanced-match-1.0.0.tgz", 175 | "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", 176 | "dev": true 177 | }, 178 | "brace-expansion": { 179 | "version": "1.1.8", 180 | "resolved": "https://npme.walmart.com/brace-expansion/-/brace-expansion-1.1.8.tgz", 181 | "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=", 182 | "dev": true, 183 | "requires": { 184 | "balanced-match": "1.0.0", 185 | "concat-map": "0.0.1" 186 | } 187 | }, 188 | "caller-path": { 189 | "version": "0.1.0", 190 | "resolved": "https://npme.walmart.com/caller-path/-/caller-path-0.1.0.tgz", 191 | "integrity": "sha1-lAhe9jWB7NPaqSREqP6U6CV3dR8=", 192 | "dev": true, 193 | "requires": { 194 | "callsites": "0.2.0" 195 | } 196 | }, 197 | "callsites": { 198 | "version": "0.2.0", 199 | "resolved": "https://npme.walmart.com/callsites/-/callsites-0.2.0.tgz", 200 | "integrity": "sha1-r6uWJikQp/M8GaV3WCXGnzTjUMo=", 201 | "dev": true 202 | }, 203 | "chalk": { 204 | "version": "1.1.3", 205 | "resolved": "https://npme.walmart.com/chalk/-/chalk-1.1.3.tgz", 206 | "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", 207 | "dev": true, 208 | "requires": { 209 | "ansi-styles": "2.2.1", 210 | "escape-string-regexp": "1.0.5", 211 | "has-ansi": "2.0.0", 212 | "strip-ansi": "3.0.1", 213 | "supports-color": "2.0.0" 214 | } 215 | }, 216 | "circular-json": { 217 | "version": "0.3.3", 218 | "resolved": "https://npme.walmart.com/circular-json/-/circular-json-0.3.3.tgz", 219 | "integrity": "sha1-gVyZ6oT2gJUp0vRXkb34JxE1LWY=", 220 | "dev": true 221 | }, 222 | "cli-cursor": { 223 | "version": "1.0.2", 224 | "resolved": "https://npme.walmart.com/cli-cursor/-/cli-cursor-1.0.2.tgz", 225 | "integrity": "sha1-ZNo/fValRBLll5S9Ytw1KV6PKYc=", 226 | "dev": true, 227 | "requires": { 228 | "restore-cursor": "1.0.1" 229 | } 230 | }, 231 | "cli-width": { 232 | "version": "2.2.0", 233 | "resolved": "https://npme.walmart.com/cli-width/-/cli-width-2.2.0.tgz", 234 | "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=", 235 | "dev": true 236 | }, 237 | "co": { 238 | "version": "4.6.0", 239 | "resolved": "https://npme.walmart.com/co/-/co-4.6.0.tgz", 240 | "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", 241 | "dev": true 242 | }, 243 | "code-point-at": { 244 | "version": "1.1.0", 245 | "resolved": "https://npme.walmart.com/code-point-at/-/code-point-at-1.1.0.tgz", 246 | "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", 247 | "dev": true 248 | }, 249 | "concat-map": { 250 | "version": "0.0.1", 251 | "resolved": "https://npme.walmart.com/concat-map/-/concat-map-0.0.1.tgz", 252 | "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", 253 | "dev": true 254 | }, 255 | "concat-stream": { 256 | "version": "1.6.0", 257 | "resolved": "https://npme.walmart.com/concat-stream/-/concat-stream-1.6.0.tgz", 258 | "integrity": "sha1-CqxmL9Ur54lk1VMvaUeE5wEQrPc=", 259 | "dev": true, 260 | "requires": { 261 | "inherits": "2.0.3", 262 | "readable-stream": "2.3.3", 263 | "typedarray": "0.0.6" 264 | } 265 | }, 266 | "core-js": { 267 | "version": "2.5.1", 268 | "resolved": "https://npme.walmart.com/core-js/-/core-js-2.5.1.tgz", 269 | "integrity": "sha1-rmh03GaTd4m4B1T/VCjfZoGcpQs=", 270 | "dev": true 271 | }, 272 | "core-util-is": { 273 | "version": "1.0.2", 274 | "resolved": "https://npme.walmart.com/core-util-is/-/core-util-is-1.0.2.tgz", 275 | "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", 276 | "dev": true 277 | }, 278 | "d": { 279 | "version": "1.0.0", 280 | "resolved": "https://npme.walmart.com/d/-/d-1.0.0.tgz", 281 | "integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=", 282 | "dev": true, 283 | "requires": { 284 | "es5-ext": "0.10.37" 285 | } 286 | }, 287 | "debug": { 288 | "version": "2.6.9", 289 | "resolved": "https://npme.walmart.com/debug/-/debug-2.6.9.tgz", 290 | "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", 291 | "dev": true, 292 | "requires": { 293 | "ms": "2.0.0" 294 | } 295 | }, 296 | "deep-is": { 297 | "version": "0.1.3", 298 | "resolved": "https://npme.walmart.com/deep-is/-/deep-is-0.1.3.tgz", 299 | "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", 300 | "dev": true 301 | }, 302 | "del": { 303 | "version": "2.2.2", 304 | "resolved": "https://npme.walmart.com/del/-/del-2.2.2.tgz", 305 | "integrity": "sha1-wSyYHQZ4RshLyvhiz/kw2Qf/0ag=", 306 | "dev": true, 307 | "requires": { 308 | "globby": "5.0.0", 309 | "is-path-cwd": "1.0.0", 310 | "is-path-in-cwd": "1.0.0", 311 | "object-assign": "4.1.1", 312 | "pify": "2.3.0", 313 | "pinkie-promise": "2.0.1", 314 | "rimraf": "2.6.2" 315 | } 316 | }, 317 | "doctrine": { 318 | "version": "1.5.0", 319 | "resolved": "https://npme.walmart.com/doctrine/-/doctrine-1.5.0.tgz", 320 | "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=", 321 | "dev": true, 322 | "requires": { 323 | "esutils": "2.0.2", 324 | "isarray": "1.0.0" 325 | } 326 | }, 327 | "es5-ext": { 328 | "version": "0.10.37", 329 | "resolved": "http://localhost:4873/es5-ext/-/es5-ext-0.10.37.tgz", 330 | "integrity": "sha1-DudB0Ui4AGm6J9AgOTdWryV978M=", 331 | "dev": true, 332 | "requires": { 333 | "es6-iterator": "2.0.3", 334 | "es6-symbol": "3.1.1" 335 | } 336 | }, 337 | "es6-iterator": { 338 | "version": "2.0.3", 339 | "resolved": "http://localhost:4873/es6-iterator/-/es6-iterator-2.0.3.tgz", 340 | "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", 341 | "dev": true, 342 | "requires": { 343 | "d": "1.0.0", 344 | "es5-ext": "0.10.37", 345 | "es6-symbol": "3.1.1" 346 | } 347 | }, 348 | "es6-map": { 349 | "version": "0.1.5", 350 | "resolved": "https://npme.walmart.com/es6-map/-/es6-map-0.1.5.tgz", 351 | "integrity": "sha1-kTbgUD3MBqMBaQ8LsU/042TpSfA=", 352 | "dev": true, 353 | "requires": { 354 | "d": "1.0.0", 355 | "es5-ext": "0.10.37", 356 | "es6-iterator": "2.0.3", 357 | "es6-set": "0.1.5", 358 | "es6-symbol": "3.1.1", 359 | "event-emitter": "0.3.5" 360 | } 361 | }, 362 | "es6-set": { 363 | "version": "0.1.5", 364 | "resolved": "https://npme.walmart.com/es6-set/-/es6-set-0.1.5.tgz", 365 | "integrity": "sha1-0rPsXU2ADO2BjbU40ol02wpzzLE=", 366 | "dev": true, 367 | "requires": { 368 | "d": "1.0.0", 369 | "es5-ext": "0.10.37", 370 | "es6-iterator": "2.0.3", 371 | "es6-symbol": "3.1.1", 372 | "event-emitter": "0.3.5" 373 | } 374 | }, 375 | "es6-symbol": { 376 | "version": "3.1.1", 377 | "resolved": "https://npme.walmart.com/es6-symbol/-/es6-symbol-3.1.1.tgz", 378 | "integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=", 379 | "dev": true, 380 | "requires": { 381 | "d": "1.0.0", 382 | "es5-ext": "0.10.37" 383 | } 384 | }, 385 | "es6-weak-map": { 386 | "version": "2.0.2", 387 | "resolved": "https://npme.walmart.com/es6-weak-map/-/es6-weak-map-2.0.2.tgz", 388 | "integrity": "sha1-XjqzIlH/0VOKH45f+hNXdy+S2W8=", 389 | "dev": true, 390 | "requires": { 391 | "d": "1.0.0", 392 | "es5-ext": "0.10.37", 393 | "es6-iterator": "2.0.3", 394 | "es6-symbol": "3.1.1" 395 | } 396 | }, 397 | "escape-string-regexp": { 398 | "version": "1.0.5", 399 | "resolved": "https://npme.walmart.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", 400 | "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", 401 | "dev": true 402 | }, 403 | "escope": { 404 | "version": "3.6.0", 405 | "resolved": "https://npme.walmart.com/escope/-/escope-3.6.0.tgz", 406 | "integrity": "sha1-4Bl16BJ4GhY6ba392AOY3GTIicM=", 407 | "dev": true, 408 | "requires": { 409 | "es6-map": "0.1.5", 410 | "es6-weak-map": "2.0.2", 411 | "esrecurse": "4.2.0", 412 | "estraverse": "4.2.0" 413 | } 414 | }, 415 | "eslint": { 416 | "version": "2.13.1", 417 | "resolved": "https://npme.walmart.com/eslint/-/eslint-2.13.1.tgz", 418 | "integrity": "sha1-5MyPoPAJ+4KaquI4VaKTYL4fbBE=", 419 | "dev": true, 420 | "requires": { 421 | "chalk": "1.1.3", 422 | "concat-stream": "1.6.0", 423 | "debug": "2.6.9", 424 | "doctrine": "1.5.0", 425 | "es6-map": "0.1.5", 426 | "escope": "3.6.0", 427 | "espree": "3.5.2", 428 | "estraverse": "4.2.0", 429 | "esutils": "2.0.2", 430 | "file-entry-cache": "1.3.1", 431 | "glob": "7.1.2", 432 | "globals": "9.18.0", 433 | "ignore": "3.3.7", 434 | "imurmurhash": "0.1.4", 435 | "inquirer": "0.12.0", 436 | "is-my-json-valid": "2.16.1", 437 | "is-resolvable": "1.0.0", 438 | "js-yaml": "3.10.0", 439 | "json-stable-stringify": "1.0.1", 440 | "levn": "0.3.0", 441 | "lodash": "4.17.4", 442 | "mkdirp": "0.5.1", 443 | "optionator": "0.8.2", 444 | "path-is-absolute": "1.0.1", 445 | "path-is-inside": "1.0.2", 446 | "pluralize": "1.2.1", 447 | "progress": "1.1.8", 448 | "require-uncached": "1.0.3", 449 | "shelljs": "0.6.1", 450 | "strip-json-comments": "1.0.4", 451 | "table": "3.8.3", 452 | "text-table": "0.2.0", 453 | "user-home": "2.0.0" 454 | } 455 | }, 456 | "eslint-plugin-filenames": { 457 | "version": "1.0.0", 458 | "resolved": "http://localhost:4873/eslint-plugin-filenames/-/eslint-plugin-filenames-1.0.0.tgz", 459 | "integrity": "sha1-qEKP1UnoBG5M6djL81efr2mub3w=", 460 | "dev": true 461 | }, 462 | "eslint-plugin-react": { 463 | "version": "5.1.1", 464 | "resolved": "http://localhost:4873/eslint-plugin-react/-/eslint-plugin-react-5.1.1.tgz", 465 | "integrity": "sha1-hpsdwHijT+fqsfWHwrw82Zi+/dY=", 466 | "dev": true 467 | }, 468 | "espree": { 469 | "version": "3.5.2", 470 | "resolved": "https://registry.npmjs.org/espree/-/espree-3.5.2.tgz", 471 | "integrity": "sha1-dWrai5eenc/NswqtjRqTBKkF4co=", 472 | "dev": true, 473 | "requires": { 474 | "acorn": "5.2.1", 475 | "acorn-jsx": "3.0.1" 476 | } 477 | }, 478 | "esprima": { 479 | "version": "4.0.0", 480 | "resolved": "https://npme.walmart.com/esprima/-/esprima-4.0.0.tgz", 481 | "integrity": "sha1-RJnt3NERDgshi6zy+n9/WfVcqAQ=", 482 | "dev": true 483 | }, 484 | "esrecurse": { 485 | "version": "4.2.0", 486 | "resolved": "https://npme.walmart.com/esrecurse/-/esrecurse-4.2.0.tgz", 487 | "integrity": "sha1-+pVo2Y04I/mkHZHpAtyrnqblsWM=", 488 | "dev": true, 489 | "requires": { 490 | "estraverse": "4.2.0", 491 | "object-assign": "4.1.1" 492 | } 493 | }, 494 | "estraverse": { 495 | "version": "4.2.0", 496 | "resolved": "https://npme.walmart.com/estraverse/-/estraverse-4.2.0.tgz", 497 | "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=", 498 | "dev": true 499 | }, 500 | "esutils": { 501 | "version": "2.0.2", 502 | "resolved": "https://npme.walmart.com/esutils/-/esutils-2.0.2.tgz", 503 | "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", 504 | "dev": true 505 | }, 506 | "event-emitter": { 507 | "version": "0.3.5", 508 | "resolved": "https://npme.walmart.com/event-emitter/-/event-emitter-0.3.5.tgz", 509 | "integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=", 510 | "dev": true, 511 | "requires": { 512 | "d": "1.0.0", 513 | "es5-ext": "0.10.37" 514 | } 515 | }, 516 | "exit-hook": { 517 | "version": "1.1.1", 518 | "resolved": "https://npme.walmart.com/exit-hook/-/exit-hook-1.1.1.tgz", 519 | "integrity": "sha1-8FyiM7SMBdVP/wd2XfhQfpXAL/g=", 520 | "dev": true 521 | }, 522 | "fast-levenshtein": { 523 | "version": "2.0.6", 524 | "resolved": "https://npme.walmart.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", 525 | "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", 526 | "dev": true 527 | }, 528 | "figures": { 529 | "version": "1.7.0", 530 | "resolved": "https://npme.walmart.com/figures/-/figures-1.7.0.tgz", 531 | "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=", 532 | "dev": true, 533 | "requires": { 534 | "escape-string-regexp": "1.0.5", 535 | "object-assign": "4.1.1" 536 | } 537 | }, 538 | "file-entry-cache": { 539 | "version": "1.3.1", 540 | "resolved": "https://npme.walmart.com/file-entry-cache/-/file-entry-cache-1.3.1.tgz", 541 | "integrity": "sha1-RMYepgeuS+nBQC9B9EJwy/4zT/g=", 542 | "dev": true, 543 | "requires": { 544 | "flat-cache": "1.3.0", 545 | "object-assign": "4.1.1" 546 | } 547 | }, 548 | "flat-cache": { 549 | "version": "1.3.0", 550 | "resolved": "http://localhost:4873/flat-cache/-/flat-cache-1.3.0.tgz", 551 | "integrity": "sha1-0wMLMrOBVPTjt+nHCfSQ9++XxIE=", 552 | "dev": true, 553 | "requires": { 554 | "circular-json": "0.3.3", 555 | "del": "2.2.2", 556 | "graceful-fs": "4.1.11", 557 | "write": "0.2.1" 558 | } 559 | }, 560 | "fs.realpath": { 561 | "version": "1.0.0", 562 | "resolved": "http://npme.walmart.com/fs.realpath/-/fs.realpath-1.0.0.tgz", 563 | "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", 564 | "dev": true 565 | }, 566 | "generate-function": { 567 | "version": "2.0.0", 568 | "resolved": "https://npme.walmart.com/generate-function/-/generate-function-2.0.0.tgz", 569 | "integrity": "sha1-aFj+fAlpt9TpCTM3ZHrHn2DfvnQ=", 570 | "dev": true 571 | }, 572 | "generate-object-property": { 573 | "version": "1.2.0", 574 | "resolved": "https://npme.walmart.com/generate-object-property/-/generate-object-property-1.2.0.tgz", 575 | "integrity": "sha1-nA4cQDCM6AT0eDYYuTf6iPmdUNA=", 576 | "dev": true, 577 | "requires": { 578 | "is-property": "1.0.2" 579 | } 580 | }, 581 | "glob": { 582 | "version": "7.1.2", 583 | "resolved": "http://npme.walmart.com/glob/-/glob-7.1.2.tgz", 584 | "integrity": "sha1-wZyd+aAocC1nhhI4SmVSQExjbRU=", 585 | "dev": true, 586 | "requires": { 587 | "fs.realpath": "1.0.0", 588 | "inflight": "1.0.6", 589 | "inherits": "2.0.3", 590 | "minimatch": "3.0.4", 591 | "once": "1.4.0", 592 | "path-is-absolute": "1.0.1" 593 | } 594 | }, 595 | "globals": { 596 | "version": "9.18.0", 597 | "resolved": "https://npme.walmart.com/globals/-/globals-9.18.0.tgz", 598 | "integrity": "sha1-qjiWs+abSH8X4x7SFD1pqOMMLYo=", 599 | "dev": true 600 | }, 601 | "globby": { 602 | "version": "5.0.0", 603 | "resolved": "https://npme.walmart.com/globby/-/globby-5.0.0.tgz", 604 | "integrity": "sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0=", 605 | "dev": true, 606 | "requires": { 607 | "array-union": "1.0.2", 608 | "arrify": "1.0.1", 609 | "glob": "7.1.2", 610 | "object-assign": "4.1.1", 611 | "pify": "2.3.0", 612 | "pinkie-promise": "2.0.1" 613 | } 614 | }, 615 | "graceful-fs": { 616 | "version": "4.1.11", 617 | "resolved": "http://npme.walmart.com/graceful-fs/-/graceful-fs-4.1.11.tgz", 618 | "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", 619 | "dev": true 620 | }, 621 | "has-ansi": { 622 | "version": "2.0.0", 623 | "resolved": "https://npme.walmart.com/has-ansi/-/has-ansi-2.0.0.tgz", 624 | "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", 625 | "dev": true, 626 | "requires": { 627 | "ansi-regex": "2.1.1" 628 | } 629 | }, 630 | "ignore": { 631 | "version": "3.3.7", 632 | "resolved": "http://localhost:4873/ignore/-/ignore-3.3.7.tgz", 633 | "integrity": "sha1-YSKJv7PCIOGGpYEYYY1b6MG6sCE=", 634 | "dev": true 635 | }, 636 | "imurmurhash": { 637 | "version": "0.1.4", 638 | "resolved": "https://npme.walmart.com/imurmurhash/-/imurmurhash-0.1.4.tgz", 639 | "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", 640 | "dev": true 641 | }, 642 | "inflight": { 643 | "version": "1.0.6", 644 | "resolved": "https://npme.walmart.com/inflight/-/inflight-1.0.6.tgz", 645 | "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", 646 | "dev": true, 647 | "requires": { 648 | "once": "1.4.0", 649 | "wrappy": "1.0.2" 650 | } 651 | }, 652 | "inherits": { 653 | "version": "2.0.3", 654 | "resolved": "https://npme.walmart.com/inherits/-/inherits-2.0.3.tgz", 655 | "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", 656 | "dev": true 657 | }, 658 | "inquirer": { 659 | "version": "0.12.0", 660 | "resolved": "https://npme.walmart.com/inquirer/-/inquirer-0.12.0.tgz", 661 | "integrity": "sha1-HvK/1jUE3wvHV4X/+MLEHfEvB34=", 662 | "dev": true, 663 | "requires": { 664 | "ansi-escapes": "1.4.0", 665 | "ansi-regex": "2.1.1", 666 | "chalk": "1.1.3", 667 | "cli-cursor": "1.0.2", 668 | "cli-width": "2.2.0", 669 | "figures": "1.7.0", 670 | "lodash": "4.17.4", 671 | "readline2": "1.0.1", 672 | "run-async": "0.1.0", 673 | "rx-lite": "3.1.2", 674 | "string-width": "1.0.2", 675 | "strip-ansi": "3.0.1", 676 | "through": "2.3.8" 677 | } 678 | }, 679 | "invariant": { 680 | "version": "2.2.2", 681 | "resolved": "https://npme.walmart.com/invariant/-/invariant-2.2.2.tgz", 682 | "integrity": "sha1-nh9WrArNtr8wMwbzOL47IErmA2A=", 683 | "dev": true, 684 | "requires": { 685 | "loose-envify": "1.3.1" 686 | } 687 | }, 688 | "is-fullwidth-code-point": { 689 | "version": "1.0.0", 690 | "resolved": "https://npme.walmart.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", 691 | "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", 692 | "dev": true, 693 | "requires": { 694 | "number-is-nan": "1.0.1" 695 | } 696 | }, 697 | "is-my-json-valid": { 698 | "version": "2.16.1", 699 | "resolved": "https://npme.walmart.com/is-my-json-valid/-/is-my-json-valid-2.16.1.tgz", 700 | "integrity": "sha1-WoRnd+LCYg0eaRBOXToDsfYIjxE=", 701 | "dev": true, 702 | "requires": { 703 | "generate-function": "2.0.0", 704 | "generate-object-property": "1.2.0", 705 | "jsonpointer": "4.0.1", 706 | "xtend": "4.0.1" 707 | } 708 | }, 709 | "is-path-cwd": { 710 | "version": "1.0.0", 711 | "resolved": "https://npme.walmart.com/is-path-cwd/-/is-path-cwd-1.0.0.tgz", 712 | "integrity": "sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0=", 713 | "dev": true 714 | }, 715 | "is-path-in-cwd": { 716 | "version": "1.0.0", 717 | "resolved": "https://npme.walmart.com/is-path-in-cwd/-/is-path-in-cwd-1.0.0.tgz", 718 | "integrity": "sha1-ZHdYK4IU1gI0YJRWcAO+ip6sBNw=", 719 | "dev": true, 720 | "requires": { 721 | "is-path-inside": "1.0.0" 722 | } 723 | }, 724 | "is-path-inside": { 725 | "version": "1.0.0", 726 | "resolved": "https://npme.walmart.com/is-path-inside/-/is-path-inside-1.0.0.tgz", 727 | "integrity": "sha1-/AbloWg/vaE95mev9xe7wQpI838=", 728 | "dev": true, 729 | "requires": { 730 | "path-is-inside": "1.0.2" 731 | } 732 | }, 733 | "is-property": { 734 | "version": "1.0.2", 735 | "resolved": "https://npme.walmart.com/is-property/-/is-property-1.0.2.tgz", 736 | "integrity": "sha1-V/4cTkhHTt1lsJkR8msc1Ald2oQ=", 737 | "dev": true 738 | }, 739 | "is-resolvable": { 740 | "version": "1.0.0", 741 | "resolved": "https://npme.walmart.com/is-resolvable/-/is-resolvable-1.0.0.tgz", 742 | "integrity": "sha1-jfV8YeouPFAUCNEA+wE8+NbgzGI=", 743 | "dev": true, 744 | "requires": { 745 | "tryit": "1.0.3" 746 | } 747 | }, 748 | "isarray": { 749 | "version": "1.0.0", 750 | "resolved": "https://npme.walmart.com/isarray/-/isarray-1.0.0.tgz", 751 | "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", 752 | "dev": true 753 | }, 754 | "js-tokens": { 755 | "version": "3.0.2", 756 | "resolved": "https://npme.walmart.com/js-tokens/-/js-tokens-3.0.2.tgz", 757 | "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", 758 | "dev": true 759 | }, 760 | "js-yaml": { 761 | "version": "3.10.0", 762 | "resolved": "https://npme.walmart.com/js-yaml/-/js-yaml-3.10.0.tgz", 763 | "integrity": "sha1-LnhEFka9RoLpY/IrbpKCPDCcYtw=", 764 | "dev": true, 765 | "requires": { 766 | "argparse": "1.0.9", 767 | "esprima": "4.0.0" 768 | } 769 | }, 770 | "json-stable-stringify": { 771 | "version": "1.0.1", 772 | "resolved": "https://npme.walmart.com/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", 773 | "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", 774 | "dev": true, 775 | "requires": { 776 | "jsonify": "0.0.0" 777 | } 778 | }, 779 | "jsonify": { 780 | "version": "0.0.0", 781 | "resolved": "https://npme.walmart.com/jsonify/-/jsonify-0.0.0.tgz", 782 | "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=", 783 | "dev": true 784 | }, 785 | "jsonpointer": { 786 | "version": "4.0.1", 787 | "resolved": "https://npme.walmart.com/jsonpointer/-/jsonpointer-4.0.1.tgz", 788 | "integrity": "sha1-T9kss04OnbPInIYi7PUfm5eMbLk=", 789 | "dev": true 790 | }, 791 | "levn": { 792 | "version": "0.3.0", 793 | "resolved": "https://npme.walmart.com/levn/-/levn-0.3.0.tgz", 794 | "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", 795 | "dev": true, 796 | "requires": { 797 | "prelude-ls": "1.1.2", 798 | "type-check": "0.3.2" 799 | } 800 | }, 801 | "lodash": { 802 | "version": "4.17.4", 803 | "resolved": "https://npme.walmart.com/lodash/-/lodash-4.17.4.tgz", 804 | "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=", 805 | "dev": true 806 | }, 807 | "lodash.assign": { 808 | "version": "4.2.0", 809 | "resolved": "https://npme.walmart.com/lodash.assign/-/lodash.assign-4.2.0.tgz", 810 | "integrity": "sha1-DZnzzNem0mHRm9rrkkUAXShYCOc=", 811 | "dev": true 812 | }, 813 | "lodash.pickby": { 814 | "version": "4.6.0", 815 | "resolved": "https://npme.walmart.com/lodash.pickby/-/lodash.pickby-4.6.0.tgz", 816 | "integrity": "sha1-feoh2MGNdwOifHBMFdO4SmfjOv8=", 817 | "dev": true 818 | }, 819 | "loose-envify": { 820 | "version": "1.3.1", 821 | "resolved": "https://npme.walmart.com/loose-envify/-/loose-envify-1.3.1.tgz", 822 | "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=", 823 | "dev": true, 824 | "requires": { 825 | "js-tokens": "3.0.2" 826 | } 827 | }, 828 | "minimatch": { 829 | "version": "3.0.4", 830 | "resolved": "https://npme.walmart.com/minimatch/-/minimatch-3.0.4.tgz", 831 | "integrity": "sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM=", 832 | "dev": true, 833 | "requires": { 834 | "brace-expansion": "1.1.8" 835 | } 836 | }, 837 | "minimist": { 838 | "version": "0.0.8", 839 | "resolved": "https://npme.walmart.com/minimist/-/minimist-0.0.8.tgz", 840 | "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", 841 | "dev": true 842 | }, 843 | "mkdirp": { 844 | "version": "0.5.1", 845 | "resolved": "https://npme.walmart.com/mkdirp/-/mkdirp-0.5.1.tgz", 846 | "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", 847 | "dev": true, 848 | "requires": { 849 | "minimist": "0.0.8" 850 | } 851 | }, 852 | "ms": { 853 | "version": "2.0.0", 854 | "resolved": "https://npme.walmart.com/ms/-/ms-2.0.0.tgz", 855 | "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", 856 | "dev": true 857 | }, 858 | "mute-stream": { 859 | "version": "0.0.5", 860 | "resolved": "https://npme.walmart.com/mute-stream/-/mute-stream-0.0.5.tgz", 861 | "integrity": "sha1-j7+rsKmKJT0xhDMfno3rc3L6xsA=", 862 | "dev": true 863 | }, 864 | "number-is-nan": { 865 | "version": "1.0.1", 866 | "resolved": "https://npme.walmart.com/number-is-nan/-/number-is-nan-1.0.1.tgz", 867 | "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", 868 | "dev": true 869 | }, 870 | "object-assign": { 871 | "version": "4.1.1", 872 | "resolved": "https://npme.walmart.com/object-assign/-/object-assign-4.1.1.tgz", 873 | "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", 874 | "dev": true 875 | }, 876 | "once": { 877 | "version": "1.4.0", 878 | "resolved": "https://npme.walmart.com/once/-/once-1.4.0.tgz", 879 | "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", 880 | "dev": true, 881 | "requires": { 882 | "wrappy": "1.0.2" 883 | } 884 | }, 885 | "onetime": { 886 | "version": "1.1.0", 887 | "resolved": "https://npme.walmart.com/onetime/-/onetime-1.1.0.tgz", 888 | "integrity": "sha1-ofeDj4MUxRbwXs78vEzP4EtO14k=", 889 | "dev": true 890 | }, 891 | "optionator": { 892 | "version": "0.8.2", 893 | "resolved": "https://npme.walmart.com/optionator/-/optionator-0.8.2.tgz", 894 | "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=", 895 | "dev": true, 896 | "requires": { 897 | "deep-is": "0.1.3", 898 | "fast-levenshtein": "2.0.6", 899 | "levn": "0.3.0", 900 | "prelude-ls": "1.1.2", 901 | "type-check": "0.3.2", 902 | "wordwrap": "1.0.0" 903 | } 904 | }, 905 | "os-homedir": { 906 | "version": "1.0.2", 907 | "resolved": "https://npme.walmart.com/os-homedir/-/os-homedir-1.0.2.tgz", 908 | "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", 909 | "dev": true 910 | }, 911 | "path-is-absolute": { 912 | "version": "1.0.1", 913 | "resolved": "https://npme.walmart.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz", 914 | "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", 915 | "dev": true 916 | }, 917 | "path-is-inside": { 918 | "version": "1.0.2", 919 | "resolved": "https://npme.walmart.com/path-is-inside/-/path-is-inside-1.0.2.tgz", 920 | "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", 921 | "dev": true 922 | }, 923 | "pify": { 924 | "version": "2.3.0", 925 | "resolved": "https://npme.walmart.com/pify/-/pify-2.3.0.tgz", 926 | "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", 927 | "dev": true 928 | }, 929 | "pinkie": { 930 | "version": "2.0.4", 931 | "resolved": "https://npme.walmart.com/pinkie/-/pinkie-2.0.4.tgz", 932 | "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", 933 | "dev": true 934 | }, 935 | "pinkie-promise": { 936 | "version": "2.0.1", 937 | "resolved": "https://npme.walmart.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz", 938 | "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", 939 | "dev": true, 940 | "requires": { 941 | "pinkie": "2.0.4" 942 | } 943 | }, 944 | "pluralize": { 945 | "version": "1.2.1", 946 | "resolved": "https://npme.walmart.com/pluralize/-/pluralize-1.2.1.tgz", 947 | "integrity": "sha1-0aIUg/0iu0HlihL6NCGCMUCJfEU=", 948 | "dev": true 949 | }, 950 | "prelude-ls": { 951 | "version": "1.1.2", 952 | "resolved": "https://npme.walmart.com/prelude-ls/-/prelude-ls-1.1.2.tgz", 953 | "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", 954 | "dev": true 955 | }, 956 | "process-nextick-args": { 957 | "version": "1.0.7", 958 | "resolved": "https://npme.walmart.com/process-nextick-args/-/process-nextick-args-1.0.7.tgz", 959 | "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=", 960 | "dev": true 961 | }, 962 | "progress": { 963 | "version": "1.1.8", 964 | "resolved": "https://npme.walmart.com/progress/-/progress-1.1.8.tgz", 965 | "integrity": "sha1-4mDHj2Fhzdmw5WzD4Khd4Xx6V74=", 966 | "dev": true 967 | }, 968 | "readable-stream": { 969 | "version": "2.3.3", 970 | "resolved": "https://npme.walmart.com/readable-stream/-/readable-stream-2.3.3.tgz", 971 | "integrity": "sha1-No8lEtefnUb9/HE0mueHi7weuVw=", 972 | "dev": true, 973 | "requires": { 974 | "core-util-is": "1.0.2", 975 | "inherits": "2.0.3", 976 | "isarray": "1.0.0", 977 | "process-nextick-args": "1.0.7", 978 | "safe-buffer": "5.1.1", 979 | "string_decoder": "1.0.3", 980 | "util-deprecate": "1.0.2" 981 | } 982 | }, 983 | "readline2": { 984 | "version": "1.0.1", 985 | "resolved": "https://npme.walmart.com/readline2/-/readline2-1.0.1.tgz", 986 | "integrity": "sha1-QQWWCP/BVHV7cV2ZidGZ/783LjU=", 987 | "dev": true, 988 | "requires": { 989 | "code-point-at": "1.1.0", 990 | "is-fullwidth-code-point": "1.0.0", 991 | "mute-stream": "0.0.5" 992 | } 993 | }, 994 | "regenerator-runtime": { 995 | "version": "0.11.0", 996 | "resolved": "https://npme.walmart.com/regenerator-runtime/-/regenerator-runtime-0.11.0.tgz", 997 | "integrity": "sha1-flT+W1zNXWYk6mJVw0c74JC4AuE=", 998 | "dev": true 999 | }, 1000 | "require-uncached": { 1001 | "version": "1.0.3", 1002 | "resolved": "https://npme.walmart.com/require-uncached/-/require-uncached-1.0.3.tgz", 1003 | "integrity": "sha1-Tg1W1slmL9MeQwEcS5WqSZVUIdM=", 1004 | "dev": true, 1005 | "requires": { 1006 | "caller-path": "0.1.0", 1007 | "resolve-from": "1.0.1" 1008 | } 1009 | }, 1010 | "resolve-from": { 1011 | "version": "1.0.1", 1012 | "resolved": "https://npme.walmart.com/resolve-from/-/resolve-from-1.0.1.tgz", 1013 | "integrity": "sha1-Jsv+k10a7uq7Kbw/5a6wHpPUQiY=", 1014 | "dev": true 1015 | }, 1016 | "restore-cursor": { 1017 | "version": "1.0.1", 1018 | "resolved": "https://npme.walmart.com/restore-cursor/-/restore-cursor-1.0.1.tgz", 1019 | "integrity": "sha1-NGYfRohjJ/7SmRR5FSJS35LapUE=", 1020 | "dev": true, 1021 | "requires": { 1022 | "exit-hook": "1.1.1", 1023 | "onetime": "1.1.0" 1024 | } 1025 | }, 1026 | "rimraf": { 1027 | "version": "2.6.2", 1028 | "resolved": "https://npme.walmart.com/rimraf/-/rimraf-2.6.2.tgz", 1029 | "integrity": "sha1-LtgVDSShbqhlHm1u8PR8QVjOejY=", 1030 | "dev": true, 1031 | "requires": { 1032 | "glob": "7.1.2" 1033 | } 1034 | }, 1035 | "run-async": { 1036 | "version": "0.1.0", 1037 | "resolved": "https://npme.walmart.com/run-async/-/run-async-0.1.0.tgz", 1038 | "integrity": "sha1-yK1KXhEGYeQCp9IbUw4AnyX444k=", 1039 | "dev": true, 1040 | "requires": { 1041 | "once": "1.4.0" 1042 | } 1043 | }, 1044 | "rx-lite": { 1045 | "version": "3.1.2", 1046 | "resolved": "https://npme.walmart.com/rx-lite/-/rx-lite-3.1.2.tgz", 1047 | "integrity": "sha1-Gc5QLKVyZl87ZHsQk5+X/RYV8QI=", 1048 | "dev": true 1049 | }, 1050 | "safe-buffer": { 1051 | "version": "5.1.1", 1052 | "resolved": "https://npme.walmart.com/safe-buffer/-/safe-buffer-5.1.1.tgz", 1053 | "integrity": "sha1-iTMSr2myEj3vcfV4iQAWce6yyFM=", 1054 | "dev": true 1055 | }, 1056 | "shelljs": { 1057 | "version": "0.6.1", 1058 | "resolved": "https://npme.walmart.com/shelljs/-/shelljs-0.6.1.tgz", 1059 | "integrity": "sha1-7GIRvtGSBEIIj+D3Cyg3Iy7SyKg=", 1060 | "dev": true 1061 | }, 1062 | "slice-ansi": { 1063 | "version": "0.0.4", 1064 | "resolved": "http://localhost:4873/slice-ansi/-/slice-ansi-0.0.4.tgz", 1065 | "integrity": "sha1-7b+JA/ZvfOL46v1s7tZeJkyDGzU=", 1066 | "dev": true 1067 | }, 1068 | "sprintf-js": { 1069 | "version": "1.0.3", 1070 | "resolved": "https://npme.walmart.com/sprintf-js/-/sprintf-js-1.0.3.tgz", 1071 | "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", 1072 | "dev": true 1073 | }, 1074 | "string-width": { 1075 | "version": "1.0.2", 1076 | "resolved": "https://npme.walmart.com/string-width/-/string-width-1.0.2.tgz", 1077 | "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", 1078 | "dev": true, 1079 | "requires": { 1080 | "code-point-at": "1.1.0", 1081 | "is-fullwidth-code-point": "1.0.0", 1082 | "strip-ansi": "3.0.1" 1083 | } 1084 | }, 1085 | "string_decoder": { 1086 | "version": "1.0.3", 1087 | "resolved": "https://npme.walmart.com/string_decoder/-/string_decoder-1.0.3.tgz", 1088 | "integrity": "sha1-D8Z9fBQYJd6UKC3VNr7GubzoYKs=", 1089 | "dev": true, 1090 | "requires": { 1091 | "safe-buffer": "5.1.1" 1092 | } 1093 | }, 1094 | "strip-ansi": { 1095 | "version": "3.0.1", 1096 | "resolved": "https://npme.walmart.com/strip-ansi/-/strip-ansi-3.0.1.tgz", 1097 | "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", 1098 | "dev": true, 1099 | "requires": { 1100 | "ansi-regex": "2.1.1" 1101 | } 1102 | }, 1103 | "strip-json-comments": { 1104 | "version": "1.0.4", 1105 | "resolved": "https://npme.walmart.com/strip-json-comments/-/strip-json-comments-1.0.4.tgz", 1106 | "integrity": "sha1-HhX7ysl9Pumb8tc7TGVrCCu6+5E=", 1107 | "dev": true 1108 | }, 1109 | "supports-color": { 1110 | "version": "2.0.0", 1111 | "resolved": "https://npme.walmart.com/supports-color/-/supports-color-2.0.0.tgz", 1112 | "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", 1113 | "dev": true 1114 | }, 1115 | "table": { 1116 | "version": "3.8.3", 1117 | "resolved": "https://npme.walmart.com/table/-/table-3.8.3.tgz", 1118 | "integrity": "sha1-K7xULw/amGGnVdOUf+/Ys/UThV8=", 1119 | "dev": true, 1120 | "requires": { 1121 | "ajv": "4.11.8", 1122 | "ajv-keywords": "1.5.1", 1123 | "chalk": "1.1.3", 1124 | "lodash": "4.17.4", 1125 | "slice-ansi": "0.0.4", 1126 | "string-width": "2.1.1" 1127 | }, 1128 | "dependencies": { 1129 | "ansi-regex": { 1130 | "version": "3.0.0", 1131 | "resolved": "https://npme.walmart.com/ansi-regex/-/ansi-regex-3.0.0.tgz", 1132 | "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", 1133 | "dev": true 1134 | }, 1135 | "is-fullwidth-code-point": { 1136 | "version": "2.0.0", 1137 | "resolved": "https://npme.walmart.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", 1138 | "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", 1139 | "dev": true 1140 | }, 1141 | "string-width": { 1142 | "version": "2.1.1", 1143 | "resolved": "https://npme.walmart.com/string-width/-/string-width-2.1.1.tgz", 1144 | "integrity": "sha1-q5Pyeo3BPSjKyBXEYhQ6bZASrp4=", 1145 | "dev": true, 1146 | "requires": { 1147 | "is-fullwidth-code-point": "2.0.0", 1148 | "strip-ansi": "4.0.0" 1149 | } 1150 | }, 1151 | "strip-ansi": { 1152 | "version": "4.0.0", 1153 | "resolved": "https://npme.walmart.com/strip-ansi/-/strip-ansi-4.0.0.tgz", 1154 | "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", 1155 | "dev": true, 1156 | "requires": { 1157 | "ansi-regex": "3.0.0" 1158 | } 1159 | } 1160 | } 1161 | }, 1162 | "text-table": { 1163 | "version": "0.2.0", 1164 | "resolved": "https://npme.walmart.com/text-table/-/text-table-0.2.0.tgz", 1165 | "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", 1166 | "dev": true 1167 | }, 1168 | "through": { 1169 | "version": "2.3.8", 1170 | "resolved": "https://npme.walmart.com/through/-/through-2.3.8.tgz", 1171 | "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", 1172 | "dev": true 1173 | }, 1174 | "to-fast-properties": { 1175 | "version": "1.0.3", 1176 | "resolved": "https://npme.walmart.com/to-fast-properties/-/to-fast-properties-1.0.3.tgz", 1177 | "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=", 1178 | "dev": true 1179 | }, 1180 | "tryit": { 1181 | "version": "1.0.3", 1182 | "resolved": "https://npme.walmart.com/tryit/-/tryit-1.0.3.tgz", 1183 | "integrity": "sha1-OTvnMKlEb9Hq1tpZoBQwjzbCics=", 1184 | "dev": true 1185 | }, 1186 | "type-check": { 1187 | "version": "0.3.2", 1188 | "resolved": "https://npme.walmart.com/type-check/-/type-check-0.3.2.tgz", 1189 | "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", 1190 | "dev": true, 1191 | "requires": { 1192 | "prelude-ls": "1.1.2" 1193 | } 1194 | }, 1195 | "typedarray": { 1196 | "version": "0.0.6", 1197 | "resolved": "https://npme.walmart.com/typedarray/-/typedarray-0.0.6.tgz", 1198 | "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", 1199 | "dev": true 1200 | }, 1201 | "user-home": { 1202 | "version": "2.0.0", 1203 | "resolved": "https://npme.walmart.com/user-home/-/user-home-2.0.0.tgz", 1204 | "integrity": "sha1-nHC/2Babwdy/SGBODwS4tJzenp8=", 1205 | "dev": true, 1206 | "requires": { 1207 | "os-homedir": "1.0.2" 1208 | } 1209 | }, 1210 | "util-deprecate": { 1211 | "version": "1.0.2", 1212 | "resolved": "https://npme.walmart.com/util-deprecate/-/util-deprecate-1.0.2.tgz", 1213 | "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", 1214 | "dev": true 1215 | }, 1216 | "wordwrap": { 1217 | "version": "1.0.0", 1218 | "resolved": "https://npme.walmart.com/wordwrap/-/wordwrap-1.0.0.tgz", 1219 | "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", 1220 | "dev": true 1221 | }, 1222 | "wrappy": { 1223 | "version": "1.0.2", 1224 | "resolved": "https://npme.walmart.com/wrappy/-/wrappy-1.0.2.tgz", 1225 | "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", 1226 | "dev": true 1227 | }, 1228 | "write": { 1229 | "version": "0.2.1", 1230 | "resolved": "https://npme.walmart.com/write/-/write-0.2.1.tgz", 1231 | "integrity": "sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c=", 1232 | "dev": true, 1233 | "requires": { 1234 | "mkdirp": "0.5.1" 1235 | } 1236 | }, 1237 | "xtend": { 1238 | "version": "4.0.1", 1239 | "resolved": "https://npme.walmart.com/xtend/-/xtend-4.0.1.tgz", 1240 | "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=", 1241 | "dev": true 1242 | } 1243 | } 1244 | } 1245 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "eslint-config-walmart", 3 | "description": "A set of default eslint configurations, Walmart Labs style.", 4 | "version": "2.2.1", 5 | "author": "Eric Baer ", 6 | "homepage": "https://github.com/walmartlabs/eslint-config-walmart", 7 | "bugs": { 8 | "url": "https://github.com/walmartlabs/eslint-config-walmart/issues" 9 | }, 10 | "files": [ 11 | "configurations", 12 | "rules" 13 | ], 14 | "repository": "git://github.com/walmartlabs/eslint-config-walmart.git", 15 | "private": false, 16 | "dependencies": {}, 17 | "devDependencies": { 18 | "babel-eslint": "6.0.4", 19 | "eslint": "^2.0.0", 20 | "eslint-plugin-filenames": "1.0.0", 21 | "eslint-plugin-react": "5.1.1" 22 | }, 23 | "main": "configurations/es6.js", 24 | "scripts": { 25 | "test": "eslint configurations rules" 26 | }, 27 | "engines": { 28 | "node": ">= 0.10.0" 29 | }, 30 | "license": "Apache-2.0", 31 | "keywords": [ 32 | "code checker", 33 | "code linter", 34 | "code standards", 35 | "code style", 36 | "eslint-config", 37 | "eslint", 38 | "eslintconfig", 39 | "lint", 40 | "style checker", 41 | "style linter" 42 | ] 43 | } 44 | -------------------------------------------------------------------------------- /rules/eslint/best-practices/off.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | module.exports = { 4 | rules: { 5 | // Enforces getter/setter pairs in objects 6 | "accessor-pairs": 0, 7 | // enforce return statements in callbacks of array’s methods 8 | "array-callback-return": 0, 9 | // treat var statements as if they were block scoped 10 | "block-scoped-var": 0, 11 | // specify the maximum cyclomatic complexity allowed in a program 12 | complexity: 0, 13 | // require return statements to either always or never specify values 14 | "consistent-return": 0, 15 | // specify curly brace conventions for all control statements 16 | curly: 0, 17 | // require default case in switch statements 18 | "default-case": 0, 19 | // enforces consistent newlines before or after dots 20 | "dot-location": 0, 21 | // encourages use of dot notation whenever possible 22 | "dot-notation": 0, 23 | // require the use of === and !== 24 | eqeqeq: 0, 25 | // make sure for-in loops have an if statement 26 | "guard-for-in": 0, 27 | // disallow the use of alert, confirm, and prompt 28 | "no-alert": 0, 29 | // disallow use of arguments.caller or arguments.callee 30 | "no-caller": 0, 31 | // disallow lexical declarations in case clauses 32 | "no-case-declarations": 0, 33 | // disallow division operators explicitly at beginning of regular expression 34 | "no-div-regex": 0, 35 | // disallow else after a return in an if 36 | "no-else-return": 0, 37 | // disallow use of empty functions 38 | "no-empty-function": 0, 39 | // disallow use of empty destructuring patterns 40 | "no-empty-pattern": 0, 41 | // disallow comparisons to null without a type-checking operator 42 | "no-eq-null": 0, 43 | // disallow use of eval() 44 | "no-eval": 0, 45 | // disallow adding to native types 46 | "no-extend-native": 0, 47 | // disallow unnecessary function binding 48 | "no-extra-bind": 0, 49 | // disallow unnecessary labels 50 | "no-extra-label": 0, 51 | // disallow fallthrough of case statements 52 | "no-fallthrough": 0, 53 | // disallow the use of leading or trailing decimal points in numeric literals 54 | "no-floating-decimal": 0, 55 | // disallow the type conversions with shorter notations 56 | "no-implicit-coercion": 0, 57 | // disallow var and named functions in global scope 58 | "no-implicit-globals": 0, 59 | // disallow use of eval()-like methods 60 | "no-implied-eval": 0, 61 | // disallow this keywords outside of classes or class-like objects 62 | "no-invalid-this": 0, 63 | // disallow usage of __iterator__ property 64 | "no-iterator": 0, 65 | // disallow use of labeled statements 66 | "no-labels": 0, 67 | // disallow unnecessary nested blocks 68 | "no-lone-blocks": 0, 69 | // disallow creation of functions within loops 70 | "no-loop-func": 0, 71 | // disallow the use of magic numbers 72 | "no-magic-numbers": 0, 73 | // disallow use of multiple spaces 74 | "no-multi-spaces": 0, 75 | // disallow use of multiline strings 76 | "no-multi-str": 0, 77 | // disallow reassignments of native objects 78 | "no-native-reassign": 0, 79 | // disallow use of new operator when not part of the assignment or comparison 80 | "no-new": 0, 81 | // disallow use of new operator for Function object 82 | "no-new-func": 0, 83 | // disallows creating new instances of String,Number, and Boolean 84 | "no-new-wrappers": 0, 85 | // disallow use of (old style) octal literals 86 | "no-octal": 0, 87 | // disallow use of octal escape sequences in string literals, such as 88 | // var foo = "Copyright \251"; 89 | "no-octal-escape": 0, 90 | // disallow reassignment of function parameters 91 | "no-param-reassign": 0, 92 | // disallow usage of __proto__ property 93 | "no-proto": 0, 94 | // disallow declaring the same variable more then once 95 | "no-redeclare": 0, 96 | // disallow use of assignment in return statement 97 | "no-return-assign": 0, 98 | // disallow use of `javascript:` urls. 99 | "no-script-url": 0, 100 | // disallow assignments where both sides are exactly the same 101 | "no-self-assign": 0, 102 | // disallow comparisons where both sides are exactly the same 103 | "no-self-compare": 0, 104 | // disallow use of comma operator 105 | "no-sequences": 0, 106 | // restrict what can be thrown as an exception 107 | "no-throw-literal": 0, 108 | // disallow unmodified conditions of loops 109 | "no-unmodified-loop-condition": 0, 110 | // disallow usage of expressions in statement position 111 | "no-unused-expressions": 0, 112 | // disallow unused labels 113 | "no-unused-labels": 0, 114 | // disallow unnecessary .call() and .apply() 115 | "no-useless-call": 0, 116 | // disallow unnecessary concatenation of literals or template literals 117 | "no-useless-concat": 0, 118 | // disallow unnecessary usage of escape character 119 | "no-useless-escape": 0, 120 | // disallow use of void operator 121 | "no-void": 0, 122 | // disallow usage of configurable warning terms in comments: e.g. todo 123 | "no-warning-comments": 0, 124 | // disallow use of the with statement 125 | "no-with": 0, 126 | // require use of the second argument for parseInt() 127 | radix: 0, 128 | // requires to declare all vars on top of their containing scope 129 | "vars-on-top": 0, 130 | // require immediate function invocation to be wrapped in parentheses 131 | "wrap-iife": 0, 132 | // require or disallow Yoda conditions 133 | yoda: 0 134 | } 135 | }; 136 | -------------------------------------------------------------------------------- /rules/eslint/best-practices/on.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | module.exports = { 4 | rules: { 5 | // Enforces getter/setter pairs in objects 6 | "accessor-pairs": 0, 7 | // enforce return statements in callbacks of array’s methods 8 | "array-callback-return": 0, 9 | // treat var statements as if they were block scoped 10 | "block-scoped-var": 0, 11 | // specify the maximum cyclomatic complexity allowed in a program 12 | complexity: [2, 11], 13 | // require return statements to either always or never specify values 14 | "consistent-return": 2, 15 | // specify curly brace conventions for multi-line control statements 16 | curly: [2, "multi-line"], 17 | // require default case in switch statements 18 | "default-case": 0, 19 | // enforces consistent newlines before dots 20 | "dot-location": [2, "property"], 21 | // encourages use of dot notation whenever possible 22 | "dot-notation": [2, { allowKeywords: true }], 23 | // require the use of === and !== 24 | eqeqeq: 2, 25 | // make sure for-in loops have an if statement 26 | "guard-for-in": 0, 27 | // disallow the use of alert, confirm, and prompt 28 | "no-alert": 2, 29 | // disallow use of arguments.caller or arguments.callee 30 | "no-caller": 2, 31 | // disallow lexical declarations in case clauses 32 | "no-case-declarations": 2, 33 | // disallow division operators explicitly at beginning of regular expression 34 | "no-div-regex": 0, 35 | // disallow else after a return in an if 36 | "no-else-return": 0, 37 | // disallow use of empty functions 38 | "no-empty-function": 0, 39 | // disallow use of empty destructuring patterns 40 | "no-empty-pattern": 2, 41 | // disallow comparisons to null without a type-checking operator 42 | "no-eq-null": 0, 43 | // disallow use of eval() 44 | "no-eval": 2, 45 | // disallow adding to native types 46 | "no-extend-native": 2, 47 | // disallow unnecessary function binding 48 | "no-extra-bind": 2, 49 | // disallow unnecessary labels 50 | "no-extra-label": 0, 51 | // disallow fallthrough of case statements 52 | "no-fallthrough": 2, 53 | // disallow the use of leading or trailing decimal points in numeric literals 54 | "no-floating-decimal": 0, 55 | // disallow the type conversions with shorter notations 56 | "no-implicit-coercion": 0, 57 | // disallow var and named functions in global scope 58 | "no-implicit-globals": 0, 59 | // disallow use of eval()-like methods 60 | "no-implied-eval": 2, 61 | // disallow this keywords outside of classes or class-like objects 62 | "no-invalid-this": 2, 63 | // disallow usage of __iterator__ property 64 | "no-iterator": 2, 65 | // disallow use of labeled statements 66 | "no-labels": [2, { allowLoop: true, allowSwitch: true }], 67 | // disallow unnecessary nested blocks 68 | "no-lone-blocks": 2, 69 | // disallow creation of functions within loops 70 | "no-loop-func": 2, 71 | // disallow the use of magic numbers 72 | "no-magic-numbers": [2, { ignore: [-1, 0, 1] }], 73 | // disallow use of multiple spaces 74 | "no-multi-spaces": 2, 75 | // disallow use of multiline strings 76 | "no-multi-str": 2, 77 | // disallow reassignments of native objects 78 | "no-native-reassign": 2, 79 | // disallow use of new operator when not part of the assignment or comparison 80 | "no-new": 2, 81 | // disallow use of new operator for Function object 82 | "no-new-func": 2, 83 | // disallows creating new instances of String,Number, and Boolean 84 | "no-new-wrappers": 2, 85 | // disallow use of (old style) octal literals 86 | "no-octal": 2, 87 | // disallow use of octal escape sequences in string literals, such as 88 | // var foo = "Copyright \251"; 89 | "no-octal-escape": 2, 90 | // disallow reassignment of function parameters 91 | "no-param-reassign": 0, 92 | // disallow usage of __proto__ property 93 | "no-proto": 2, 94 | // disallow declaring the same variable more then once 95 | "no-redeclare": 2, 96 | // disallow use of assignment in return statement 97 | "no-return-assign": 2, 98 | // disallow use of `javascript:` urls. 99 | "no-script-url": 2, 100 | // disallow assignments where both sides are exactly the same 101 | "no-self-assign": 0, 102 | // disallow comparisons where both sides are exactly the same 103 | "no-self-compare": 2, 104 | // disallow use of comma operator 105 | "no-sequences": 2, 106 | // restrict what can be thrown as an exception 107 | "no-throw-literal": 2, 108 | // disallow unmodified conditions of loops 109 | "no-unmodified-loop-condition": 0, 110 | // disallow usage of expressions in statement position 111 | "no-unused-expressions": 2, 112 | // disallow unused labels 113 | "no-unused-labels": 0, 114 | // disallow unnecessary .call() and .apply() 115 | "no-useless-call": 2, 116 | // disallow unnecessary concatenation of literals or template literals 117 | "no-useless-concat": 2, 118 | // disallow unnecessary usage of escape character 119 | "no-useless-escape": 0, 120 | // disallow use of void operator 121 | "no-void": 0, 122 | // disallow usage of configurable warning terms in comments: e.g. todo 123 | "no-warning-comments": 0, 124 | // disallow use of the with statement 125 | "no-with": 2, 126 | // require use of the second argument for parseInt() 127 | radix: 0, 128 | // requires to declare all vars on top of their containing scope 129 | "vars-on-top": 0, 130 | // require immediate function invocation to be wrapped in parentheses 131 | "wrap-iife": 0, 132 | // require or disallow Yoda conditions 133 | yoda: [2, "never"] 134 | } 135 | }; 136 | -------------------------------------------------------------------------------- /rules/eslint/errors/off.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | module.exports = { 4 | rules: { 5 | // disallow trailing commas in object literals 6 | "comma-dangle": 0, 7 | // disallow assignment in conditional expressions 8 | "no-cond-assign": 0, 9 | // disallow use of console 10 | "no-console": 0, 11 | // disallow use of constant expressions in conditions 12 | "no-constant-condition": 0, 13 | // disallow control characters in regular expressions 14 | "no-control-regex": 0, 15 | // disallow use of debugger 16 | "no-debugger": 0, 17 | // disallow duplicate arguments in functions 18 | "no-dupe-args": 0, 19 | // disallow duplicate keys when creating object literals 20 | "no-dupe-keys": 0, 21 | // disallow a duplicate case label. 22 | "no-duplicate-case": 0, 23 | // disallow empty statements 24 | "no-empty": 0, 25 | // disallow the use of empty character classes in regular expressions 26 | "no-empty-character-class": 0, 27 | // disallow assigning to the exception in a catch block 28 | "no-ex-assign": 0, 29 | // disallow double-negation boolean casts in a boolean context 30 | "no-extra-boolean-cast": 0, 31 | // disallow unnecessary parentheses 32 | "no-extra-parens": 0, 33 | // disallow unnecessary semicolons 34 | "no-extra-semi": 0, 35 | // disallow overwriting functions written as function declarations 36 | "no-func-assign": 0, 37 | // disallow function or variable declarations in nested blocks 38 | "no-inner-declarations": 0, 39 | // disallow invalid regular expression strings in the RegExp constructor 40 | "no-invalid-regexp": 0, 41 | // disallow irregular whitespace outside of strings and comments 42 | "no-irregular-whitespace": 0, 43 | // disallow negation of the left operand of an in expression 44 | "no-negated-in-lhs": 0, 45 | // disallow the use of object properties of the global object (Math and JSON) as functions 46 | "no-obj-calls": 0, 47 | // disallow multiple spaces in a regular expression literal 48 | "no-regex-spaces": 0, 49 | // disallow sparse arrays 50 | "no-sparse-arrays": 0, 51 | // Avoid code that looks like two expressions but is actually one 52 | "no-unexpected-multiline": 0, 53 | // disallow unreachable statements after a return, throw, continue, or break statement 54 | "no-unreachable": 0, 55 | // disallow control flow statements in finally blocks 56 | "no-unsafe-finally": 0, 57 | // disallow comparisons with the value NaN 58 | "use-isnan": 0, 59 | // ensure JSDoc comments are valid 60 | "valid-jsdoc": 0, 61 | // ensure that the results of typeof are compared against a valid string 62 | "valid-typeof": 0 63 | } 64 | }; 65 | -------------------------------------------------------------------------------- /rules/eslint/errors/on.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | module.exports = { 4 | rules: { 5 | // disallow trailing commas in object literals 6 | "comma-dangle": [2, "never"], 7 | // disallow assignment in conditional expressions 8 | "no-cond-assign": 2, 9 | // disallow use of console 10 | "no-console": 2, 11 | // disallow use of constant expressions in conditions 12 | "no-constant-condition": 2, 13 | // disallow control characters in regular expressions 14 | "no-control-regex": 2, 15 | // disallow use of debugger 16 | "no-debugger": 2, 17 | // disallow duplicate arguments in functions 18 | "no-dupe-args": 2, 19 | // disallow duplicate keys when creating object literals 20 | "no-dupe-keys": 2, 21 | // disallow a duplicate case label. 22 | "no-duplicate-case": 2, 23 | // disallow empty statements 24 | "no-empty": 2, 25 | // disallow the use of empty character classes in regular expressions 26 | "no-empty-character-class": 2, 27 | // disallow assigning to the exception in a catch block 28 | "no-ex-assign": 2, 29 | // disallow double-negation boolean casts in a boolean context 30 | "no-extra-boolean-cast": 2, 31 | // disallow unnecessary parentheses 32 | "no-extra-parens": 0, 33 | // disallow unnecessary semicolons 34 | "no-extra-semi": 2, 35 | // disallow overwriting functions written as function declarations 36 | "no-func-assign": 2, 37 | // disallow function or variable declarations in nested blocks 38 | "no-inner-declarations": [2, "functions"], 39 | // disallow invalid regular expression strings in the RegExp constructor 40 | "no-invalid-regexp": 2, 41 | // disallow irregular whitespace outside of strings and comments 42 | "no-irregular-whitespace": 2, 43 | // disallow negation of the left operand of an in expression 44 | "no-negated-in-lhs": 2, 45 | // disallow the use of object properties of the global object (Math and JSON) as functions 46 | "no-obj-calls": 2, 47 | // disallow multiple spaces in a regular expression literal 48 | "no-regex-spaces": 2, 49 | // disallow sparse arrays 50 | "no-sparse-arrays": 2, 51 | // Avoid code that looks like two expressions but is actually one 52 | "no-unexpected-multiline": 2, 53 | // disallow unreachable statements after a return, throw, continue, or break statement 54 | "no-unreachable": 2, 55 | // disallow control flow statements in finally blocks 56 | "no-unsafe-finally": 0, 57 | // disallow comparisons with the value NaN 58 | "use-isnan": 2, 59 | // ensure JSDoc comments are valid 60 | "valid-jsdoc": 2, 61 | // ensure that the results of typeof are compared against a valid string 62 | "valid-typeof": 2 63 | } 64 | }; 65 | -------------------------------------------------------------------------------- /rules/eslint/es6/off.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | module.exports = { 4 | rules: { 5 | // require braces in arrow function body 6 | "arrow-body-style": 0, 7 | // require parens in arrow function arguments 8 | "arrow-parens": 0, 9 | // require space before/after arrow function's arrow 10 | "arrow-spacing": 0, 11 | // verify super() callings in constructors 12 | "constructor-super": 0, 13 | // enforce the spacing around the * in generator functions 14 | "generator-star-spacing": 0, 15 | // disallow modifying variables of class declarations 16 | "no-class-assign": 0, 17 | // disallow arrow functions where they could be confused with comparisons 18 | "no-confusing-arrow": 0, 19 | // disallow modifying variables that are declared using const 20 | "no-const-assign": 0, 21 | // disallow duplicate name in class members 22 | "no-dupe-class-members": 0, 23 | // disallow duplicate module imports 24 | "no-duplicate-imports": 0, 25 | // disallow use of the new operator with the Symbol object 26 | "no-new-symbol": 0, 27 | // restrict usage of specified modules when loaded by import declaration 28 | "no-restricted-imports": 0, 29 | // disallow to use this/super before super() calling in constructors. 30 | "no-this-before-super": 0, 31 | // disallow unnecessary computed property keys in object literals 32 | "no-useless-computed-key": 0, 33 | // disallow unnecessary constructor 34 | "no-useless-constructor": 0, 35 | // require let or const instead of var 36 | "no-var": 0, 37 | // require method and property shorthand syntax for object literals 38 | "object-shorthand": 0, 39 | // suggest using arrow functions as callbacks 40 | "prefer-arrow-callback": 0, 41 | // suggest using of const declaration for variables that are never modified after declared 42 | "prefer-const": 0, 43 | // suggest using Reflect methods where applicable 44 | "prefer-reflect": 0, 45 | // suggest using the rest parameters instead of arguments 46 | "prefer-rest-params": 0, 47 | // suggest using the spread operator instead of .apply() 48 | "prefer-spread": 0, 49 | // suggest using template literals instead of strings concatenation 50 | "prefer-template": 0, 51 | // disallow generator functions that do not have yield 52 | "require-yield": 0, 53 | // enforce sorted import declarations within modules 54 | "sort-imports": 0, 55 | // enforce spacing around embedded expressions of template strings 56 | "template-curly-spacing": 0, 57 | // enforce spacing around the * in yield* expressions 58 | "yield-star-spacing": 0 59 | } 60 | }; 61 | -------------------------------------------------------------------------------- /rules/eslint/es6/on.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | module.exports = { 4 | rules: { 5 | // require braces in arrow function body 6 | "arrow-body-style": 0, 7 | // require parens in arrow function arguments 8 | "arrow-parens": [2, "as-needed"], 9 | // require space before/after arrow function's arrow 10 | "arrow-spacing": 2, 11 | // verify super() callings in constructors 12 | "constructor-super": 2, 13 | // enforce no space before * and space after * in generator functions 14 | "generator-star-spacing": ["warn", {before: false, after: true}], 15 | // disallow modifying variables of class declarations 16 | "no-class-assign": 2, 17 | // disallow arrow functions where they could be confused with comparisons 18 | "no-confusing-arrow": 0, 19 | // disallow modifying variables that are declared using const 20 | "no-const-assign": 2, 21 | // disallow duplicate name in class members 22 | "no-dupe-class-members": 2, 23 | // disallow duplicate module imports 24 | "no-duplicate-imports": 0, 25 | // disallow use of the new operator with the Symbol object 26 | "no-new-symbol": 0, 27 | // restrict usage of specified modules when loaded by import declaration 28 | "no-restricted-imports": 0, 29 | // disallow to use this/super before super() calling in constructors. 30 | "no-this-before-super": 2, 31 | // disallow unnecessary computed property keys in object literals 32 | "no-useless-computed-key": 0, 33 | // disallow unnecessary constructor 34 | "no-useless-constructor": 0, 35 | // require let or const instead of var 36 | "no-var": 2, 37 | // require method and property shorthand syntax for object literals 38 | "object-shorthand": 2, 39 | // suggest using arrow functions as callbacks 40 | "prefer-arrow-callback": 1, 41 | // suggest using of const declaration for variables that are never modified after declared 42 | "prefer-const": 2, 43 | // suggest using Reflect methods where applicable 44 | "prefer-reflect": 0, 45 | // suggest using the rest parameters instead of arguments 46 | "prefer-rest-params": 0, 47 | // suggest using the spread operator instead of .apply() 48 | "prefer-spread": 2, 49 | // suggest using template literals instead of strings concatenation 50 | "prefer-template": 1, 51 | // disallow generator functions that do not have yield 52 | "require-yield": 2, 53 | // enforce sorted import declarations within modules 54 | "sort-imports": 0, 55 | // enforce spacing around embedded expressions of template strings 56 | "template-curly-spacing": 0, 57 | // enforce spacing around the * in yield* expressions 58 | "yield-star-spacing": 0 59 | } 60 | }; 61 | -------------------------------------------------------------------------------- /rules/eslint/node/off.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | module.exports = { 4 | rules: { 5 | // enforce return after a callback 6 | "callback-return": 0, 7 | // disallow require() outside of the top-level module scope 8 | "global-require": 0, 9 | // enforces error handling in callbacks (node environment) 10 | "handle-callback-err": 0, 11 | // disallow mixing regular variable and require declarations 12 | "no-mixed-requires": 0, 13 | // disallow use of new operator with the require function 14 | "no-new-require": 0, 15 | // disallow string concatenation with __dirname and __filename 16 | "no-path-concat": 0, 17 | // disallow use of process.env 18 | "no-process-env": 0, 19 | // disallow process.exit() 20 | "no-process-exit": 0, 21 | // restrict usage of specified node modules 22 | "no-restricted-modules": 0, 23 | // disallow use of synchronous methods (off by default) 24 | "no-sync": 0 25 | } 26 | }; 27 | -------------------------------------------------------------------------------- /rules/eslint/node/on.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | module.exports = { 4 | rules: { 5 | // enforce return after a callback 6 | "callback-return": 2, 7 | // disallow require() outside of the top-level module scope 8 | "global-require": 1, 9 | // enforces error handling in callbacks (node environment) 10 | "handle-callback-err": 0, 11 | // disallow mixing regular variable and require declarations 12 | "no-mixed-requires": 2, 13 | // disallow use of new operator with the require function 14 | "no-new-require": 2, 15 | // disallow string concatenation with __dirname and __filename 16 | "no-path-concat": 0, 17 | // disallow use of process.env 18 | "no-process-env": 0, 19 | // disallow process.exit() 20 | "no-process-exit": 2, 21 | // restrict usage of specified node modules 22 | "no-restricted-modules": 0, 23 | // disallow use of synchronous methods (off by default) 24 | "no-sync": 0 25 | } 26 | }; 27 | -------------------------------------------------------------------------------- /rules/eslint/strict/off.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | module.exports = { 4 | rules: { 5 | // require that all functions are run in strict mode 6 | strict: 0 7 | } 8 | }; 9 | -------------------------------------------------------------------------------- /rules/eslint/strict/on.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | module.exports = { 4 | rules: { 5 | // require that all functions are run in strict mode 6 | strict: [2, "never"] 7 | } 8 | }; 9 | -------------------------------------------------------------------------------- /rules/eslint/style/off.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | module.exports = { 4 | rules: { 5 | // enforce spacing inside array brackets 6 | "array-bracket-spacing": 0, 7 | // disallow or enforce spaces inside of single line blocks 8 | "block-spacing": 0, 9 | // enforce one true brace style 10 | "brace-style": 0, 11 | // require camel case names 12 | camelcase: 0, 13 | // enforce spacing before and after comma 14 | "comma-spacing": 0, 15 | // enforce one true comma style 16 | "comma-style": 0, 17 | // require or disallow padding inside computed properties 18 | "computed-property-spacing": 0, 19 | // enforces consistent naming when capturing the current execution context 20 | "consistent-this": 0, 21 | // enforce newline at the end of file, with no multiple empty lines 22 | "eol-last": 0, 23 | // require function expressions to have a name 24 | "func-names": 0, 25 | // enforces use of function declarations or expressions 26 | "func-style": 0, 27 | // disallow certain identifiers to prevent them being used 28 | "id-blacklist": 0, 29 | // this option enforces minimum and maximum identifier lengths (variable names, property names etc.) 30 | "id-length": 0, 31 | // require identifiers to match the provided regular expression 32 | "id-match": 0, 33 | // this option sets a specific tab width for your code 34 | indent: 0, 35 | // specify whether double or single quotes should be used in JSX attributes 36 | "jsx-quotes": 0, 37 | // enforces spacing between keys and values in object literal properties 38 | "key-spacing": 0, 39 | // enforce spacing before and after keywords 40 | "keyword-spacing": 0, 41 | // disallow mixed "LF" and "CRLF" as linebreaks 42 | "linebreak-style": 0, 43 | // enforces empty lines around comments 44 | "lines-around-comment": 0, 45 | // specify the maximum depth that blocks can be nested 46 | "max-depth": 0, 47 | // specify the maximum length of a line in your program 48 | "max-len": 0, 49 | // specify the maximum depth callbacks can be nested 50 | "max-nested-callbacks": 0, 51 | // limits the number of parameters that can be used in the function declaration. 52 | "max-params": 0, 53 | // specify the maximum number of statement allowed in a function 54 | "max-statements": 0, 55 | // specify the maximum number of statements allowed per line 56 | "max-statements-per-line": 0, 57 | // require a capital letter for constructors 58 | "new-cap": 0, 59 | // disallow the omission of parentheses when invoking a constructor with no arguments 60 | "new-parens": 0, 61 | // allow/disallow an empty newline after var statement 62 | "newline-after-var": 0, 63 | // require newline before return statement 64 | "newline-before-return": 0, 65 | // enforce newline after each call when chaining the calls 66 | "newline-per-chained-call": 0, 67 | // disallow use of the Array constructor 68 | "no-array-constructor": 0, 69 | // disallow use of bitwise operators 70 | "no-bitwise": 0, 71 | // disallow use of the continue statement 72 | "no-continue": 0, 73 | // disallow comments inline after code 74 | "no-inline-comments": 0, 75 | // disallow if as the only statement in an else block 76 | "no-lonely-if": 0, 77 | // disallow mixed spaces and tabs for indentation 78 | "no-mixed-spaces-and-tabs": 0, 79 | // disallow multiple empty lines 80 | "no-multiple-empty-lines": 0, 81 | // disallow negated conditions 82 | "no-negated-condition": 0, 83 | // disallow nested ternary expressions 84 | "no-nested-ternary": 0, 85 | // disallow use of the Object constructor 86 | "no-new-object": 0, 87 | // disallow use of unary operators, ++ and -- 88 | "no-plusplus": 0, 89 | // disallow use of certain syntax in code 90 | "no-restricted-syntax": 0, 91 | // disallow space between function identifier and application 92 | "no-spaced-func": 0, 93 | // disallow the use of ternary operators 94 | "no-ternary": 0, 95 | // disallow trailing whitespace at the end of lines 96 | "no-trailing-spaces": 0, 97 | // disallow dangling underscores in identifiers 98 | "no-underscore-dangle": 0, 99 | // disallow the use of Boolean literals in conditional expressions 100 | "no-unneeded-ternary": 0, 101 | // disallow whitespace before properties 102 | "no-whitespace-before-property": 0, 103 | // require or disallow padding inside curly braces 104 | "object-curly-spacing": 0, 105 | // enforce placing object properties on separate lines 106 | "object-property-newline": 0, 107 | // allow just one var statement per function 108 | "one-var": 0, 109 | // require or disallow an newline around variable declarations 110 | "one-var-declaration-per-line": 0, 111 | // require assignment operator shorthand where possible or prohibit it entirely 112 | "operator-assignment": 0, 113 | // enforce operators to be placed before or after line breaks 114 | "operator-linebreak": 0, 115 | // enforce padding within blocks 116 | "padded-blocks": 0, 117 | // require quotes around object literal property names 118 | "quote-props": 0, 119 | // specify whether double or single quotes should be used 120 | quotes: 0, 121 | // Require JSDoc comment 122 | "require-jsdoc": 0, 123 | // require or disallow use of semicolons instead of ASI 124 | semi: 0, 125 | // enforce spacing before and after semicolons 126 | "semi-spacing": 0, 127 | // enforce sorting import declarations within module 128 | "sort-imports": 0, 129 | // sort variables within the same declaration block 130 | "sort-vars": 0, 131 | // require or disallow space before blocks 132 | "space-before-blocks": 0, 133 | // require or disallow space before function opening parenthesis 134 | "space-before-function-paren": 0, 135 | // require or disallow spaces inside parentheses 136 | "space-in-parens": 0, 137 | // require spaces around operators 138 | "space-infix-ops": 0, 139 | // Require or disallow spaces before/after unary operators 140 | "space-unary-ops": 0, 141 | // require or disallow a space immediately following the // or /* in a comment 142 | "spaced-comment": 0, 143 | // require regex literals to be wrapped in parentheses 144 | "wrap-regex": 0 145 | } 146 | }; 147 | -------------------------------------------------------------------------------- /rules/eslint/style/on.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | module.exports = { 4 | rules: { 5 | // enforce spacing inside array brackets 6 | "array-bracket-spacing": 0, 7 | // disallow or enforce spaces inside of single line blocks 8 | "block-spacing": 0, 9 | // enforce one true brace style 10 | "brace-style": [2, "1tbs", { allowSingleLine: true }], 11 | // require camel case names 12 | camelcase: 2, 13 | // enforce spacing before and after comma 14 | "comma-spacing": 2, 15 | // enforce one true comma style 16 | "comma-style": [2, "last"], 17 | // require or disallow padding inside computed properties 18 | "computed-property-spacing": [0, "never"], 19 | // enforces consistent naming when capturing the current execution context 20 | "consistent-this": [2, "self"], 21 | // enforce newline at the end of file, with no multiple empty lines 22 | "eol-last": 2, 23 | // require function expressions to have a name 24 | "func-names": 0, 25 | // enforces use of function declarations or expressions 26 | "func-style": [2, "expression"], 27 | // disallow certain identifiers to prevent them being used 28 | "id-blacklist": 0, 29 | // this option enforces minimum and maximum identifier lengths (variable names, property names etc.) 30 | "id-length": 0, 31 | // require identifiers to match the provided regular expression 32 | "id-match": 0, 33 | // this option sets a specific tab width for your code 34 | indent: 0, 35 | // specify whether double or single quotes should be used in JSX attributes 36 | "jsx-quotes": [2, "prefer-double"], 37 | // enforces spacing between keys and values in object literal properties 38 | "key-spacing": [2, { beforeColon: false, afterColon: true }], 39 | // enforce spacing before and after keywords 40 | "keyword-spacing": [2, { before: true, after: true }], 41 | // disallow mixed "LF" and "CRLF" as linebreaks 42 | "linebreak-style": [0, "unix"], 43 | // enforces empty lines around comments 44 | "lines-around-comment": 0, 45 | // specify the maximum depth that blocks can be nested 46 | "max-depth": [2, 4], 47 | // specify the maximum length of a line in your program 48 | "max-len": 0, 49 | // specify the maximum depth callbacks can be nested 50 | "max-nested-callbacks": [2, 3], 51 | // limits the number of parameters that can be used in the function declaration. 52 | "max-params": [2, 3], 53 | // specify the maximum number of statement allowed in a function 54 | "max-statements": [2, 15], 55 | // specify the maximum number of statements allowed per line 56 | "max-statements-per-line": 0, 57 | // require a capital letter for constructors 58 | "new-cap": 2, 59 | // disallow the omission of parentheses when invoking a constructor with no arguments 60 | "new-parens": 2, 61 | // allow/disallow an empty newline after var statement 62 | "newline-after-var": 0, 63 | // require newline before return statement 64 | "newline-before-return": 0, 65 | // enforce newline after each call when chaining the calls 66 | "newline-per-chained-call": 0, 67 | // disallow use of the Array constructor 68 | "no-array-constructor": 2, 69 | // disallow use of bitwise operators 70 | "no-bitwise": 2, 71 | // disallow use of the continue statement 72 | "no-continue": 0, 73 | // disallow comments inline after code 74 | "no-inline-comments": 0, 75 | // disallow if as the only statement in an else block 76 | "no-lonely-if": 2, 77 | // disallow mixed spaces and tabs for indentation 78 | "no-mixed-spaces-and-tabs": 2, 79 | // disallow multiple empty lines 80 | "no-multiple-empty-lines": [2, { max: 2 }], 81 | // disallow negated conditions 82 | "no-negated-condition": 0, 83 | // disallow nested ternary expressions 84 | "no-nested-ternary": 2, 85 | // disallow use of the Object constructor 86 | "no-new-object": 2, 87 | // disallow use of unary operators, ++ and -- 88 | "no-plusplus": 0, 89 | // disallow use of certain syntax in code 90 | "no-restricted-syntax": 0, 91 | // disallow space between function identifier and application 92 | "no-spaced-func": 2, 93 | // disallow the use of ternary operators 94 | "no-ternary": 0, 95 | // disallow trailing whitespace at the end of lines 96 | "no-trailing-spaces": 2, 97 | // disallow dangling underscores in identifiers 98 | "no-underscore-dangle": 0, 99 | // disallow the use of Boolean literals in conditional expressions 100 | "no-unneeded-ternary": 0, 101 | // disallow whitespace before properties 102 | "no-whitespace-before-property": 0, 103 | // require or disallow padding inside curly braces 104 | "object-curly-spacing": [0, "always"], 105 | // enforce placing object properties on separate lines or all on same line 106 | "object-property-newline": [2, { allowMultiplePropertiesPerLine: true }], 107 | // allow just one var statement per function 108 | "one-var": [2, "never"], 109 | // require or disallow an newline around variable declarations 110 | "one-var-declaration-per-line": 0, 111 | // require assignment operator shorthand where possible or prohibit it entirely 112 | "operator-assignment": [2, "always"], 113 | // enforce operators to be placed before or after line breaks 114 | "operator-linebreak": 0, 115 | // enforce padding within blocks 116 | "padded-blocks": 0, 117 | // require quotes around object literal property names 118 | "quote-props": [2, "as-needed"], 119 | // specify whether double or single quotes should be used 120 | quotes: [2, "double", { allowTemplateLiterals: true }], 121 | // Require JSDoc comment 122 | "require-jsdoc": 0, 123 | // require or disallow use of semicolons instead of ASI 124 | semi: 2, 125 | // enforce spacing before and after semicolons 126 | "semi-spacing": [2, { before: false, after: true }], 127 | // enforce sorting import declarations within module 128 | "sort-imports": 0, 129 | // sort variables within the same declaration block 130 | "sort-vars": 0, 131 | // require or disallow space before blocks 132 | "space-before-blocks": [2, "always"], 133 | // require or disallow space before function opening parenthesis 134 | "space-before-function-paren": 0, 135 | // require or disallow spaces inside parentheses 136 | "space-in-parens": [2, "never"], 137 | // require spaces around operators 138 | "space-infix-ops": 2, 139 | // Require or disallow spaces before/after unary operators 140 | "space-unary-ops": [2, { words: true, nonwords: false }], 141 | // require or disallow a space immediately following the // or /* in a comment 142 | "spaced-comment": 0, 143 | // require regex literals to be wrapped in parentheses 144 | "wrap-regex": 0 145 | } 146 | }; 147 | -------------------------------------------------------------------------------- /rules/eslint/variables/off.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | module.exports = { 4 | rules: { 5 | // enforce or disallow variable initializations at definition 6 | "init-declarations": 0, 7 | // disallow the catch clause parameter name being the same as a variable in the outer scope 8 | "no-catch-shadow": 0, 9 | // disallow deletion of variables 10 | "no-delete-var": 0, 11 | // disallow labels that share a name with a variable 12 | "no-label-var": 0, 13 | // restrict usage of specified global variables 14 | "no-restricted-globals": 0, 15 | // disallow declaration of variables already declared in the outer scope 16 | "no-shadow": 0, 17 | // disallow shadowing of names such as arguments 18 | "no-shadow-restricted-names": 0, 19 | // disallow use of undeclared variables unless mentioned in a /*global */ block 20 | "no-undef": 0, 21 | // disallow use of undefined when initializing variables 22 | "no-undef-init": 0, 23 | // disallow use of undefined variable 24 | "no-undefined": 0, 25 | // disallow declaration of variables that are not used in the code 26 | "no-unused-vars": 0, 27 | // disallow use of variables before they are defined 28 | "no-use-before-define": 0 29 | } 30 | }; 31 | -------------------------------------------------------------------------------- /rules/eslint/variables/on.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | module.exports = { 4 | rules: { 5 | // enforce or disallow variable initializations at definition 6 | "init-declarations": 0, 7 | // disallow the catch clause parameter name being the same as a variable in the outer scope 8 | "no-catch-shadow": 2, 9 | // disallow deletion of variables 10 | "no-delete-var": 2, 11 | // disallow labels that share a name with a variable 12 | "no-label-var": 2, 13 | // restrict usage of specified global variables 14 | "no-restricted-globals": 0, 15 | // disallow declaration of variables already declared in the outer scope 16 | "no-shadow": 2, 17 | // disallow shadowing of names such as arguments 18 | "no-shadow-restricted-names": 2, 19 | // disallow use of undeclared variables unless mentioned in a /*global */ block 20 | "no-undef": 2, 21 | // disallow use of undefined when initializing variables 22 | "no-undef-init": 2, 23 | // disallow use of undefined variable 24 | "no-undefined": 0, 25 | // disallow declaration of variables that are not used in the code 26 | "no-unused-vars": [2, { vars: "all", args: "after-used", ignoreRestSiblings: true }], 27 | // disallow use of variables before they are defined 28 | "no-use-before-define": 2 29 | } 30 | }; 31 | -------------------------------------------------------------------------------- /rules/filenames/off.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | module.exports = { 4 | plugins: ["filenames"], 5 | rules: { 6 | // Enforce dash-cased filenames 7 | "filenames/match-regex": 0, 8 | // Match the file name against the default exported value in the module 9 | "filenames/match-exported": 0, 10 | // Don't allow index.js files 11 | "filenames/no-index": 0 12 | } 13 | }; 14 | -------------------------------------------------------------------------------- /rules/filenames/on.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | module.exports = { 4 | plugins: ["filenames"], 5 | rules: { 6 | // Enforce dash-cased filenames 7 | "filenames/match-regex": [2, "^[a-z0-9\\-\\.]+$", true], 8 | // Match the file name against the default exported value in the module 9 | "filenames/match-exported": 0, 10 | // Don't allow index.js files 11 | "filenames/no-index": 0 12 | } 13 | }; 14 | -------------------------------------------------------------------------------- /rules/react/off.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | module.exports = { 4 | plugins: ["react"], 5 | rules: { 6 | // Prevent missing displayName in a React component definition 7 | "react/display-name": 0, 8 | // Forbid certain propTypes 9 | "react/forbid-prop-types": 0, 10 | // Prevent usage of dangerous JSX properties 11 | "react/no-danger": 0, 12 | // Prevent usage of deprecated methods 13 | "react/no-deprecated": 0, 14 | // Prevent usage of setState in componentDidMount 15 | "react/no-did-mount-set-state": 0, 16 | // Prevent usage of setState in componentDidUpdate 17 | "react/no-did-update-set-state": 0, 18 | // Prevent direct mutation of this.state 19 | "react/no-direct-mutation-state": 0, 20 | // Prevent usage of isMounted 21 | "react/no-is-mounted": 0, 22 | // Prevent multiple component definition per file 23 | "react/no-multi-comp": 0, 24 | // Prevent usage of setState 25 | "react/no-set-state": 0, 26 | // Prevent using string references in ref attribute. 27 | "react/no-string-refs": 0, 28 | // Prevent usage of unknown DOM property 29 | "react/no-unknown-property": 0, 30 | // Enforce ES5 or ES6 class for React Components 31 | "react/prefer-es6-class": 0, 32 | // Enforce stateless React Components to be written as a pure function 33 | "prefer-stateless-function": 0, 34 | // Prevent missing props validation in a React component definition 35 | "react/prop-types": 0, 36 | // Prevent missing React when using JSX 37 | "react/react-in-jsx-scope": 0, 38 | // Restrict file extensions that may be required 39 | "react/require-extension": 0, 40 | // Enforce ES5 or ES6 class for returning value in render function 41 | "require-render-return": 0, 42 | // Prevent extra closing tags for components without children 43 | "react/self-closing-comp": 0, 44 | // Enforce component methods order 45 | "react/sort-comp": 0, 46 | // Enforce propTypes declarations alphabetical sorting 47 | "sort-prop-types": 0, 48 | // Prevent missing parentheses around multilines JSX 49 | "react/jsx-wrap-multilines": 0, 50 | 51 | // ======================================================================== 52 | // JSX Specific Rules 53 | // ======================================================================== 54 | 55 | // Enforce boolean attributes notation in JSX 56 | "react/jsx-boolean-value": 0, 57 | // Validate closing bracket location in JSX 58 | "react/jsx-closing-bracket-location": 0, 59 | // Enforce or disallow spaces inside of curly braces in JSX attributes 60 | "react/jsx-curly-spacing": 0, 61 | // Enforce or disallow spaces around equal signs in JSX attributes (fixable) 62 | "react/jsx-equals-spacing": 0, 63 | // Enforce position of the first prop in JSX 64 | "react/jsx-first-prop-new-line": 0, 65 | // Enforce event handler naming conventions in JSX 66 | "react/jsx-handler-names": 0, 67 | // Validate JSX indentation 68 | "react/jsx-indent": 0, 69 | // Validate props indentation in JSX 70 | "react/jsx-indent-props": 0, 71 | // Validate JSX has key prop when in array or iterator 72 | "react/jsx-key": 0, 73 | // Limit maximum of props on a single line in JSX 74 | "react/jsx-max-props-per-line": 0, 75 | // Prevent usage of .bind() and arrow functions in JSX props 76 | "react/jsx-no-bind": 0, 77 | // Prevent duplicate props in JSX 78 | "react/jsx-no-duplicate-props": 0, 79 | // Prevent usage of unwrapped JSX strings 80 | "react/jsx-no-literals": 0, 81 | // Prevent usage of unsafe target='_blank' 82 | "react/jsx-no-target-blank": 0, 83 | // Disallow undeclared variables in JSX 84 | "react/jsx-no-undef": 0, 85 | // Enforce PascalCase for user-defined JSX components 86 | "react/jsx-pascal-case": 0, 87 | // Enforce props alphabetical sorting 88 | "react/jsx-sort-props": 0, 89 | // Validate spacing before closing bracket in JSX (fixable) 90 | "react/jsx-space-before-closing": 0, 91 | // Prevent React to be incorrectly marked as unused 92 | "react/jsx-uses-react": 0, 93 | // Prevent variables used in JSX to be incorrectly marked as unused 94 | "react/jsx-uses-vars": 0 95 | } 96 | }; 97 | -------------------------------------------------------------------------------- /rules/react/on.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | module.exports = { 4 | plugins: ["react"], 5 | rules: { 6 | // Prevent missing displayName in a React component definition 7 | "react/display-name": 0, 8 | // Forbid certain propTypes 9 | "react/forbid-prop-types": 0, 10 | // Prevent usage of dangerous JSX properties 11 | "react/no-danger": 0, 12 | // Prevent usage of deprecated methods 13 | "react/no-deprecated": 2, 14 | // Prevent usage of setState in componentDidMount 15 | "react/no-did-mount-set-state": 2, 16 | // Prevent usage of setState in componentDidUpdate 17 | "react/no-did-update-set-state": 2, 18 | // Prevent direct mutation of this.state 19 | "react/no-direct-mutation-state": 2, 20 | // Prevent usage of isMounted 21 | "react/no-is-mounted": 2, 22 | // Prevent multiple component definition per file 23 | "react/no-multi-comp": 0, 24 | // Prevent usage of setState 25 | "react/no-set-state": 0, 26 | // Prevent using string references in ref attribute. 27 | "react/no-string-refs": 0, 28 | // Prevent usage of unknown DOM property 29 | "react/no-unknown-property": 2, 30 | // Enforce ES5 or ES6 class for React Components 31 | "react/prefer-es6-class": 2, 32 | // Enforce stateless React Components to be written as a pure function 33 | "prefer-stateless-function": 0, 34 | // Prevent missing props validation in a React component definition 35 | "react/prop-types": 2, 36 | // Prevent missing React when using JSX 37 | "react/react-in-jsx-scope": 2, 38 | // Restrict file extensions that may be required 39 | "react/require-extension": 0, 40 | // Enforce ES5 or ES6 class for returning value in render function 41 | "require-render-return": 0, 42 | // Prevent extra closing tags for components without children 43 | "react/self-closing-comp": 2, 44 | // Enforce component methods order 45 | "react/sort-comp": 0, 46 | // Enforce propTypes declarations alphabetical sorting 47 | "sort-prop-types": 0, 48 | // Prevent missing parentheses around multilines JSX 49 | "react/jsx-wrap-multilines": 2, 50 | 51 | // ======================================================================== 52 | // JSX Specific Rules 53 | // ======================================================================== 54 | 55 | // Enforce boolean attributes notation in JSX 56 | "react/jsx-boolean-value": 2, 57 | // Validate closing bracket location in JSX 58 | "react/jsx-closing-bracket-location": [2, "tag-aligned"], 59 | // Enforce or disallow spaces inside of curly braces in JSX attributes 60 | "react/jsx-curly-spacing": 0, 61 | // Enforce or disallow spaces around equal signs in JSX attributes (fixable) 62 | "react/jsx-equals-spacing": 0, 63 | // Enforce position of the first prop in JSX 64 | "react/jsx-first-prop-new-line": 0, 65 | // Enforce event handler naming conventions in JSX 66 | "react/jsx-handler-names": 1, 67 | // Validate JSX indentation 68 | "react/jsx-indent": 0, 69 | // Validate props indentation in JSX 70 | "react/jsx-indent-props": [2, 2], 71 | // Validate JSX has key prop when in array or iterator 72 | "react/jsx-key": 2, 73 | // Limit maximum of props on a single line in JSX 74 | "react/jsx-max-props-per-line": 0, 75 | // Prevent usage of .bind() and arrow functions in JSX props 76 | "react/jsx-no-bind": 0, 77 | // Prevent duplicate props in JSX 78 | "react/jsx-no-duplicate-props": 0, 79 | // Prevent usage of unwrapped JSX strings 80 | "react/jsx-no-literals": 0, 81 | // Prevent usage of unsafe target='_blank' 82 | "react/jsx-no-target-blank": 0, 83 | // Disallow undeclared variables in JSX 84 | "react/jsx-no-undef": 2, 85 | // Enforce PascalCase for user-defined JSX components 86 | "react/jsx-pascal-case": 2, 87 | // Enforce propTypes declarations alphabetical sorting 88 | "react/jsx-sort-props": 0, 89 | // Validate spacing before closing bracket in JSX (fixable) 90 | "react/jsx-space-before-closing": 0, 91 | // Prevent React to be incorrectly marked as unused 92 | "react/jsx-uses-react": 2, 93 | // Prevent variables used in JSX to be incorrectly marked as unused 94 | "react/jsx-uses-vars": 2 95 | } 96 | }; 97 | --------------------------------------------------------------------------------