From ad29e8053874f2a262e6e902e96f4e5e34314add Mon Sep 17 00:00:00 2001 From: Gareth Jones Date: Mon, 5 Oct 2020 05:35:42 +1300 Subject: [PATCH] chore: duplicate eslint rules locally to allow warning (#10579) --- .eslintplugin/index.js | 2 ++ .eslintrc.js | 35 ++++++++++++++++++- packages/expect/src/index.ts | 2 ++ .../jest-fake-timers/src/legacyFakeTimers.ts | 2 +- packages/jest-jasmine2/src/jasmine/Env.ts | 2 +- .../src/jasmine/ReportDispatcher.ts | 3 ++ packages/jest-jasmine2/src/jasmine/Spec.ts | 2 +- .../jest-jasmine2/src/jasmine/SpyStrategy.ts | 2 +- packages/jest-jasmine2/src/jasmine/Suite.ts | 2 +- .../jest-jasmine2/src/jasmine/createSpy.ts | 2 +- .../jest-jasmine2/src/jasmine/jasmineLight.ts | 2 +- packages/jest-jasmine2/src/jestExpect.ts | 2 ++ .../jest-mock/src/__tests__/index.test.ts | 2 +- packages/jest-mock/src/index.ts | 2 +- packages/jest-resolve/src/index.ts | 2 ++ .../src/__tests__/Immutable.test.ts | 2 ++ .../src/__tests__/prettyFormat.test.ts | 2 ++ 17 files changed, 58 insertions(+), 10 deletions(-) diff --git a/.eslintplugin/index.js b/.eslintplugin/index.js index 750870e8ab1c..1c882510876f 100644 --- a/.eslintplugin/index.js +++ b/.eslintplugin/index.js @@ -9,4 +9,6 @@ exports.rules = { 'ban-types-eventually': require('@typescript-eslint/eslint-plugin').rules[ 'ban-types' ], + 'prefer-rest-params-eventually': require('eslint/lib/rules/prefer-rest-params'), + 'prefer-spread-eventually': require('eslint/lib/rules/prefer-spread'), }; diff --git a/.eslintrc.js b/.eslintrc.js index f5136f16899d..259df5b98696 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -32,8 +32,41 @@ module.exports = { 'import/default': 'off', 'no-dupe-class-members': 'off', 'no-unused-vars': 'off', - // TODO: turn these on at some point + }, + }, + { + files: [ + 'packages/jest-jasmine2/src/jasmine/Env.ts', + 'packages/jest-jasmine2/src/jasmine/ReportDispatcher.ts', + 'packages/jest-jasmine2/src/jasmine/Spec.ts', + 'packages/jest-jasmine2/src/jasmine/SpyStrategy.ts', + 'packages/jest-jasmine2/src/jasmine/Suite.ts', + 'packages/jest-jasmine2/src/jasmine/createSpy.ts', + 'packages/jest-jasmine2/src/jasmine/jasmineLight.ts', + 'packages/jest-mock/src/__tests__/index.test.ts', + 'packages/jest-mock/src/index.ts', + 'packages/pretty-format/src/__tests__/Immutable.test.ts', + 'packages/pretty-format/src/__tests__/prettyFormat.test.ts', + ], + rules: { + 'local/prefer-rest-params-eventually': 'warn', 'prefer-rest-params': 'off', + }, + }, + { + files: [ + 'packages/expect/src/index.ts', + 'packages/jest-fake-timers/src/legacyFakeTimers.ts', + 'packages/jest-jasmine2/src/jasmine/Env.ts', + 'packages/jest-jasmine2/src/jasmine/ReportDispatcher.ts', + 'packages/jest-jasmine2/src/jasmine/Spec.ts', + 'packages/jest-jasmine2/src/jasmine/Suite.ts', + 'packages/jest-jasmine2/src/jasmine/jasmineLight.ts', + 'packages/jest-jasmine2/src/jestExpect.ts', + 'packages/jest-resolve/src/index.ts', + ], + rules: { + 'local/prefer-spread-eventually': 'warn', 'prefer-spread': 'off', }, }, diff --git a/packages/expect/src/index.ts b/packages/expect/src/index.ts index 7777a1853bc5..8ded56ee97fb 100644 --- a/packages/expect/src/index.ts +++ b/packages/expect/src/index.ts @@ -6,6 +6,8 @@ * */ +/* eslint-disable local/prefer-spread-eventually */ + import * as matcherUtils from 'jest-matcher-utils'; import type { AsyncExpectationResult, diff --git a/packages/jest-fake-timers/src/legacyFakeTimers.ts b/packages/jest-fake-timers/src/legacyFakeTimers.ts index 1f865bcb0cf7..66be88c2518f 100644 --- a/packages/jest-fake-timers/src/legacyFakeTimers.ts +++ b/packages/jest-fake-timers/src/legacyFakeTimers.ts @@ -5,7 +5,7 @@ * LICENSE file in the root directory of this source tree. */ -/* eslint-disable local/ban-types-eventually */ +/* eslint-disable local/ban-types-eventually, local/prefer-spread-eventually */ import util = require('util'); import type {ModuleMocker} from 'jest-mock'; diff --git a/packages/jest-jasmine2/src/jasmine/Env.ts b/packages/jest-jasmine2/src/jasmine/Env.ts index 92c7e1e4cdee..d5ce7845f1eb 100644 --- a/packages/jest-jasmine2/src/jasmine/Env.ts +++ b/packages/jest-jasmine2/src/jasmine/Env.ts @@ -28,7 +28,7 @@ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -/* eslint-disable sort-keys */ +/* eslint-disable sort-keys, local/prefer-spread-eventually, local/prefer-rest-params-eventually */ import {AssertionError} from 'assert'; import chalk = require('chalk'); diff --git a/packages/jest-jasmine2/src/jasmine/ReportDispatcher.ts b/packages/jest-jasmine2/src/jasmine/ReportDispatcher.ts index 6c209163587a..e06f5712c1c1 100644 --- a/packages/jest-jasmine2/src/jasmine/ReportDispatcher.ts +++ b/packages/jest-jasmine2/src/jasmine/ReportDispatcher.ts @@ -28,6 +28,9 @@ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ + +/* eslint-disable local/prefer-spread-eventually, local/prefer-rest-params-eventually */ + import type {Reporter, RunDetails} from '../types'; import type {SpecResult} from './Spec'; import type {SuiteResult} from './Suite'; diff --git a/packages/jest-jasmine2/src/jasmine/Spec.ts b/packages/jest-jasmine2/src/jasmine/Spec.ts index 30ea80466a37..4328285a290d 100644 --- a/packages/jest-jasmine2/src/jasmine/Spec.ts +++ b/packages/jest-jasmine2/src/jasmine/Spec.ts @@ -28,7 +28,7 @@ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -/* eslint-disable sort-keys */ +/* eslint-disable sort-keys, local/prefer-spread-eventually, local/prefer-rest-params-eventually */ import {AssertionError} from 'assert'; import type {Config} from '@jest/types'; diff --git a/packages/jest-jasmine2/src/jasmine/SpyStrategy.ts b/packages/jest-jasmine2/src/jasmine/SpyStrategy.ts index ad780a52db96..b37e48085b51 100644 --- a/packages/jest-jasmine2/src/jasmine/SpyStrategy.ts +++ b/packages/jest-jasmine2/src/jasmine/SpyStrategy.ts @@ -29,7 +29,7 @@ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -/* eslint-disable local/ban-types-eventually */ +/* eslint-disable local/ban-types-eventually, local/prefer-rest-params-eventually */ export default class SpyStrategy { identity: () => string; diff --git a/packages/jest-jasmine2/src/jasmine/Suite.ts b/packages/jest-jasmine2/src/jasmine/Suite.ts index de5b727e83b9..2ca210ed3589 100644 --- a/packages/jest-jasmine2/src/jasmine/Suite.ts +++ b/packages/jest-jasmine2/src/jasmine/Suite.ts @@ -29,7 +29,7 @@ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -/* eslint-disable local/ban-types-eventually, sort-keys */ +/* eslint-disable local/ban-types-eventually, sort-keys, local/prefer-spread-eventually, local/prefer-rest-params-eventually */ import {convertDescriptorToString} from 'jest-util'; import type {Config} from '@jest/types'; diff --git a/packages/jest-jasmine2/src/jasmine/createSpy.ts b/packages/jest-jasmine2/src/jasmine/createSpy.ts index 9941dfb4485d..afef403c685d 100644 --- a/packages/jest-jasmine2/src/jasmine/createSpy.ts +++ b/packages/jest-jasmine2/src/jasmine/createSpy.ts @@ -28,7 +28,7 @@ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -/* eslint-disable sort-keys */ +/* eslint-disable sort-keys, local/prefer-rest-params-eventually */ import type {Spy} from '../types'; import CallTracker, {Context} from './CallTracker'; diff --git a/packages/jest-jasmine2/src/jasmine/jasmineLight.ts b/packages/jest-jasmine2/src/jasmine/jasmineLight.ts index 7bfb21227203..508aac4e09f6 100644 --- a/packages/jest-jasmine2/src/jasmine/jasmineLight.ts +++ b/packages/jest-jasmine2/src/jasmine/jasmineLight.ts @@ -28,7 +28,7 @@ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -/* eslint-disable sort-keys */ +/* eslint-disable sort-keys, local/prefer-spread-eventually, local/prefer-rest-params-eventually */ import type {Jasmine, SpecDefinitionsFn} from '../types'; import createSpy from './createSpy'; diff --git a/packages/jest-jasmine2/src/jestExpect.ts b/packages/jest-jasmine2/src/jestExpect.ts index 15b988134042..5a7abb1877d0 100644 --- a/packages/jest-jasmine2/src/jestExpect.ts +++ b/packages/jest-jasmine2/src/jestExpect.ts @@ -5,6 +5,8 @@ * LICENSE file in the root directory of this source tree. */ +/* eslint-disable local/prefer-spread-eventually */ + import expect = require('expect'); import type {Global} from '@jest/types'; import { diff --git a/packages/jest-mock/src/__tests__/index.test.ts b/packages/jest-mock/src/__tests__/index.test.ts index 7e058232bb66..90da4d5a3d97 100644 --- a/packages/jest-mock/src/__tests__/index.test.ts +++ b/packages/jest-mock/src/__tests__/index.test.ts @@ -6,7 +6,7 @@ * */ -/* eslint-disable local/ban-types-eventually */ +/* eslint-disable local/ban-types-eventually, local/prefer-rest-params-eventually */ import vm, {Context} from 'vm'; import {ModuleMocker} from '../'; diff --git a/packages/jest-mock/src/index.ts b/packages/jest-mock/src/index.ts index fac7bcf21104..8031900b0453 100644 --- a/packages/jest-mock/src/index.ts +++ b/packages/jest-mock/src/index.ts @@ -5,7 +5,7 @@ * LICENSE file in the root directory of this source tree. */ -/* eslint-disable local/ban-types-eventually */ +/* eslint-disable local/ban-types-eventually, local/prefer-rest-params-eventually */ type Global = NodeJS.Global; // | Window – add once TS improves typings; diff --git a/packages/jest-resolve/src/index.ts b/packages/jest-resolve/src/index.ts index e01f54e51f99..2068632f84c1 100644 --- a/packages/jest-resolve/src/index.ts +++ b/packages/jest-resolve/src/index.ts @@ -5,6 +5,8 @@ * LICENSE file in the root directory of this source tree. */ +/* eslint-disable local/prefer-spread-eventually */ + import * as path from 'path'; import type {Config} from '@jest/types'; import type {ModuleMap} from 'jest-haste-map'; diff --git a/packages/pretty-format/src/__tests__/Immutable.test.ts b/packages/pretty-format/src/__tests__/Immutable.test.ts index 651c8da8bd41..22494f4e47f0 100644 --- a/packages/pretty-format/src/__tests__/Immutable.test.ts +++ b/packages/pretty-format/src/__tests__/Immutable.test.ts @@ -5,6 +5,8 @@ * LICENSE file in the root directory of this source tree. */ +/* eslint-disable local/prefer-rest-params-eventually */ + import React from 'react'; import Immutable from 'immutable'; diff --git a/packages/pretty-format/src/__tests__/prettyFormat.test.ts b/packages/pretty-format/src/__tests__/prettyFormat.test.ts index 0189abdfa742..9962cf4f4a0c 100644 --- a/packages/pretty-format/src/__tests__/prettyFormat.test.ts +++ b/packages/pretty-format/src/__tests__/prettyFormat.test.ts @@ -5,6 +5,8 @@ * LICENSE file in the root directory of this source tree. */ +/* eslint-disable local/prefer-rest-params-eventually */ + import prettyFormat from '../'; function returnArguments(..._args: Array) {