@origin-1/eslint-config 1.1.0 → 1.1.1

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 +23 -6
  2. package/package.json +1 -1
package/lib/rules.js CHANGED
@@ -4,13 +4,22 @@ 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_);
7
+ function beforeJSOrElse(version, before, ...moreArgs) {
8
+ const else_ = moreArgs.at(-1);
9
+ return jsts(beforeOrElse(version, before, ...moreArgs), else_);
9
10
  }
10
- function beforeOrElse(version, before, else_) {
11
+ function beforeOrElse(version, before, ...moreArgs) {
11
12
  const beforeEntry = { minVersion: undefined, ruleEntry: before };
12
- const elseEntry = { minVersion: version, ruleEntry: else_ };
13
- const array = [beforeEntry, elseEntry];
13
+ const array = [beforeEntry];
14
+ if (moreArgs.length < 3) {
15
+ const elseEntry = { minVersion: version, ruleEntry: moreArgs[0] };
16
+ array.push(elseEntry);
17
+ }
18
+ else {
19
+ const middleEntry = { minVersion: version, ruleEntry: moreArgs[1] };
20
+ const elseEntry = { minVersion: moreArgs[0], ruleEntry: moreArgs[2] };
21
+ array.push(middleEntry, elseEntry);
22
+ }
14
23
  const versionedList = Object.assign(array, { versioned: true });
15
24
  return versionedList;
16
25
  }
@@ -358,7 +367,15 @@ exports.RULES = {
358
367
  'arrow-spacing': ['error'],
359
368
  'block-spacing': ['error'],
360
369
  'brace-style': 'off',
361
- 'comma-dangle': ['error', 'always-multiline'],
370
+ 'comma-dangle': beforeJSOrElse(2015, ['error', { arrays: 'always-multiline' }], 2017, [
371
+ 'error',
372
+ {
373
+ arrays: 'always-multiline',
374
+ objects: 'always-multiline',
375
+ imports: 'always-multiline',
376
+ exports: 'always-multiline',
377
+ },
378
+ ], ['error', 'always-multiline']),
362
379
  'comma-spacing': ['error'],
363
380
  'comma-style': ['error', 'last', { exceptions: { ArrayExpression: true } }],
364
381
  'computed-property-spacing': ['error'],
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@origin-1/eslint-config",
3
- "version": "1.1.0",
3
+ "version": "1.1.1",
4
4
  "description": "ESLint configuration generator with Origin₁ presets",
5
5
  "homepage": "https://github.com/origin-1/eslint-config#readme",
6
6
  "license": "ISC",