@origin-1/eslint-config 0.5.1 → 0.5.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/lib/rules.js +21 -18
  2. package/package.json +1 -1
package/lib/rules.js CHANGED
@@ -4,6 +4,9 @@ exports.RULES = exports.getRulePrefix = exports.getRuleKey = exports.HYBRID = ex
4
4
  exports.FOR_LANG = Symbol('For one language only');
5
5
  exports.UNIQUE = Symbol('Unique built-in rules');
6
6
  exports.HYBRID = Symbol('Hybrid rules');
7
+ function beforeJSOrElse(version, before, else_) {
8
+ return jsts(beforeOrElse(version, before, else_), else_);
9
+ }
7
10
  function beforeOrElse(version, before, else_) {
8
11
  const beforeEntry = { minVersion: undefined, ruleEntry: before };
9
12
  const elseEntry = { minVersion: version, ruleEntry: else_ };
@@ -51,7 +54,7 @@ exports.RULES = {
51
54
  'no-fallthrough': 'error',
52
55
  'no-func-assign': 'error',
53
56
  'no-import-assign': 'error',
54
- 'no-inner-declarations': 'error',
57
+ 'no-inner-declarations': beforeJSOrElse(2015, 'error', 'off'),
55
58
  'no-invalid-regexp': 'error',
56
59
  'no-irregular-whitespace': 'error',
57
60
  'no-misleading-character-class': 'error',
@@ -133,7 +136,7 @@ exports.RULES = {
133
136
  'no-iterator': 'error',
134
137
  'no-label-var': 'error',
135
138
  'no-labels': ['error', { allowLoop: true, allowSwitch: true }],
136
- 'no-lone-blocks': 'error',
139
+ 'no-lone-blocks': beforeJSOrElse(2015, 'error', 'off'),
137
140
  'no-lonely-if': 'off',
138
141
  'no-mixed-operators': 'off',
139
142
  'no-multi-assign': 'off',
@@ -173,27 +176,27 @@ exports.RULES = {
173
176
  'no-useless-escape': 'error',
174
177
  'no-useless-rename': 'error',
175
178
  'no-useless-return': 'error',
176
- 'no-var': jsts(beforeOrElse(2015, 'off', 'error'), 'error'),
179
+ 'no-var': beforeJSOrElse(2015, 'off', 'error'),
177
180
  'no-void': 'off',
178
181
  'no-warning-comments': 'off',
179
182
  'no-with': 'error',
180
- 'object-shorthand': 'error',
183
+ 'object-shorthand': beforeJSOrElse(2015, 'off', 'error'),
181
184
  'one-var': ['error', 'never'],
182
185
  'one-var-declaration-per-line': 'error',
183
186
  'operator-assignment': 'error',
184
- 'prefer-arrow-callback': jsts(beforeOrElse(2015, 'off', 'error'), 'error'),
187
+ 'prefer-arrow-callback': beforeJSOrElse(2015, 'off', 'error'),
185
188
  'prefer-const': ['error', { ignoreReadBeforeAssign: true }],
186
- 'prefer-destructuring': 'error',
187
- 'prefer-exponentiation-operator': jsts('error', 'off'),
189
+ 'prefer-destructuring': beforeJSOrElse(2015, 'off', 'error'),
190
+ 'prefer-exponentiation-operator': jsts(beforeOrElse(2016, 'off', 'error'), 'off'),
188
191
  'prefer-named-capture-group': 'off',
189
192
  'prefer-numeric-literals': 'error',
190
193
  'prefer-object-has-own': 'error',
191
194
  'prefer-object-spread': 'off',
192
195
  'prefer-promise-reject-errors': 'off',
193
196
  'prefer-regex-literals': 'off',
194
- 'prefer-rest-params': jsts(beforeOrElse(2015, 'off', 'error'), 'error'),
195
- 'prefer-spread': 'error',
196
- 'prefer-template': 'error',
197
+ 'prefer-rest-params': beforeJSOrElse(2015, 'off', 'error'),
198
+ 'prefer-spread': beforeJSOrElse(2015, 'off', 'error'),
199
+ 'prefer-template': beforeJSOrElse(2015, 'off', 'error'),
197
200
  'quote-props': 'off',
198
201
  'radix': 'error',
199
202
  'require-unicode-regexp': 'off',
@@ -257,7 +260,7 @@ exports.RULES = {
257
260
  [exports.HYBRID]: {
258
261
  'no-dupe-class-members': 'error',
259
262
  'no-loss-of-precision': 'error',
260
- 'no-unused-vars': jsts(beforeOrElse(2019, ['error', { ignoreRestSiblings: true, vars: 'local' }], ['error', { caughtErrors: 'all', ignoreRestSiblings: true, vars: 'local' }]), ['error', { caughtErrors: 'all', ignoreRestSiblings: true, vars: 'local' }]),
263
+ 'no-unused-vars': beforeJSOrElse(2019, ['error', { ignoreRestSiblings: true, vars: 'local' }], ['error', { caughtErrors: 'all', ignoreRestSiblings: true, vars: 'local' }]),
261
264
  'no-use-before-define': 'off',
262
265
  'default-param-last': 'off',
263
266
  'dot-notation': 'error',
@@ -394,7 +397,7 @@ exports.RULES = {
394
397
  'prefer-enum-initializers': 'off',
395
398
  'prefer-for-of': 'error',
396
399
  'prefer-function-type': 'off',
397
- 'prefer-includes': 'error',
400
+ 'prefer-includes': 'off',
398
401
  'prefer-literal-enum-member': 'off',
399
402
  'prefer-namespace-keyword': 'off',
400
403
  'prefer-nullish-coalescing': 'error',
@@ -421,8 +424,8 @@ exports.RULES = {
421
424
  'no-callback-literal': 'off',
422
425
  'no-deprecated-api': 'error',
423
426
  'no-exports-assign': 'error',
424
- 'no-extraneous-import': jsts('error', 'off'),
425
- 'no-extraneous-require': 'error',
427
+ 'no-extraneous-import': 'off',
428
+ 'no-extraneous-require': 'off',
426
429
  'no-missing-import': 'off',
427
430
  'no-missing-require': 'off',
428
431
  'no-unpublished-bin': 'error',
@@ -443,8 +446,8 @@ exports.RULES = {
443
446
  'no-path-concat': 'error',
444
447
  'no-process-env': 'off',
445
448
  'no-process-exit': 'off',
446
- 'no-restricted-import': 'error',
447
- 'no-restricted-require': 'error',
449
+ 'no-restricted-import': 'off',
450
+ 'no-restricted-require': 'off',
448
451
  'no-sync': 'off',
449
452
  'prefer-global/buffer': 'error',
450
453
  'prefer-global/console': 'error',
@@ -453,7 +456,7 @@ exports.RULES = {
453
456
  'prefer-global/text-encoder': 'error',
454
457
  'prefer-global/url': 'error',
455
458
  'prefer-global/url-search-params': 'error',
456
- 'prefer-promises/dns': 'error',
457
- 'prefer-promises/fs': 'off',
459
+ 'prefer-promises/dns': beforeJSOrElse(2015, 'off', 'error'),
460
+ 'prefer-promises/fs': beforeJSOrElse(2015, 'off', 'error'),
458
461
  },
459
462
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@origin-1/eslint-config",
3
- "version": "0.5.1",
3
+ "version": "0.5.2",
4
4
  "description": "ESLint configuration generator with Origin₁ presets",
5
5
  "homepage": "https://github.com/origin-1/eslint-config#readme",
6
6
  "license": "ISC",