diff --git a/frontend/packages/.eslintrc.js b/frontend/packages/.eslintrc.js index 99312eb6e8c..1fa6ab1158b 100644 --- a/frontend/packages/.eslintrc.js +++ b/frontend/packages/.eslintrc.js @@ -1,11 +1,7 @@ module.exports = { root: true, extends: [ - 'plugin:console/react', - 'plugin:console/typescript', - // TODO enable when we stop using jest with jasmine types - // 'plugin:console/jest', - 'plugin:console/prettier', + 'plugin:console/react-typescript-prettier', ], rules: { 'no-restricted-imports': [ @@ -15,7 +11,5 @@ module.exports = { message: 'Use lodash instead. webpack is configured to use lodash-es automatically.', }, ], - // TODO fix for monorepo support - 'import/no-extraneous-dependencies': 'off', }, }; diff --git a/frontend/packages/console-plugin-sdk/src/codegen/.eslintrc.js b/frontend/packages/console-plugin-sdk/src/codegen/.eslintrc.js new file mode 100644 index 00000000000..a4c543e41b2 --- /dev/null +++ b/frontend/packages/console-plugin-sdk/src/codegen/.eslintrc.js @@ -0,0 +1,6 @@ +module.exports = { + root: true, + extends: [ + 'plugin:console/node-typescript-prettier', + ], +}; diff --git a/frontend/packages/console-plugin-sdk/src/codegen/active-plugins.ts b/frontend/packages/console-plugin-sdk/src/codegen/active-plugins.ts index 31157be2003..b83992c0791 100644 --- a/frontend/packages/console-plugin-sdk/src/codegen/active-plugins.ts +++ b/frontend/packages/console-plugin-sdk/src/codegen/active-plugins.ts @@ -1,5 +1,3 @@ -/* eslint-env node */ - import { Extension, Plugin, ActivePlugin } from '../typings'; import { PluginPackage } from './plugin-resolver'; diff --git a/frontend/packages/console-plugin-sdk/src/codegen/plugin-resolver.ts b/frontend/packages/console-plugin-sdk/src/codegen/plugin-resolver.ts index 0c574ac3f19..87d0426dc91 100644 --- a/frontend/packages/console-plugin-sdk/src/codegen/plugin-resolver.ts +++ b/frontend/packages/console-plugin-sdk/src/codegen/plugin-resolver.ts @@ -1,5 +1,3 @@ -/* eslint-env node */ - import * as path from 'path'; import * as _ from 'lodash'; import * as glob from 'glob'; diff --git a/frontend/packages/console-plugin-sdk/src/codegen/plugin-stats.ts b/frontend/packages/console-plugin-sdk/src/codegen/plugin-stats.ts index d7639f2b6fd..78f800c5bd3 100644 --- a/frontend/packages/console-plugin-sdk/src/codegen/plugin-stats.ts +++ b/frontend/packages/console-plugin-sdk/src/codegen/plugin-stats.ts @@ -1,4 +1,3 @@ -/* eslint-env node */ /* eslint-disable no-console */ import chalk from 'chalk'; diff --git a/frontend/packages/eslint-plugin-console/README.md b/frontend/packages/eslint-plugin-console/README.md index 7ec8991b12c..2f112efed35 100644 --- a/frontend/packages/eslint-plugin-console/README.md +++ b/frontend/packages/eslint-plugin-console/README.md @@ -6,7 +6,7 @@ OpenShift Console's ESLint rules and configs. When extending multiple configurations, add to the list following the order outlined below: -| Plugin | Description | Type | +| Config | Description | Type | | ---------------- | ---------------------------------------------------------------------------------------------------- | -------- | | base | JavaScript lint rule set | core | | react | React lint rule set | core | @@ -21,6 +21,13 @@ When extending multiple configurations, add to the list following the order outl - Choose one or more `extra`. - Choose to include `prettier` or not. This must go last. +Alternatively, use one of the pre-composed configurations representing common code archetypes (choose one): + +| Config | Description | +| ------------------------- | ---------------------------------------------- | +| react-typescript-prettier | Common web preset: React, TypeScript, Prettier | +| node-typescript-prettier | Common Node.js preset: TypeScript, Prettier | + ## Examples By default, ESLint will look for configuration files in all parent folders up to the root directory. diff --git a/frontend/packages/eslint-plugin-console/index.js b/frontend/packages/eslint-plugin-console/index.js index fad66afc073..16f0c53a9d9 100644 --- a/frontend/packages/eslint-plugin-console/index.js +++ b/frontend/packages/eslint-plugin-console/index.js @@ -1,7 +1,7 @@ module.exports = { rules: {}, configs: { - // When extending multiple configuratioons, add to the list following the order outlined below: + // When extending multiple configurations, add to the list following the order outlined below: // Core configs: choose one base: require('./lib/config/base'), @@ -15,7 +15,40 @@ module.exports = { jest: require('./lib/config/jest'), node: require('./lib/config/node'), - // Prettier must go last + // Prettier must go last (optional) prettier: require('./lib/config/prettier'), + + // ...or use the pre-composed configurations representing common code archetypes (choose one): + + // Common web preset: React, TypeScript, Prettier + 'react-typescript-prettier': { + extends: [ + 'plugin:console/react', + 'plugin:console/typescript', + // TODO enable when we stop using jest with jasmine types + // 'plugin:console/jest', + 'plugin:console/prettier', + ], + rules: { + // TODO fix for monorepo support + 'import/no-extraneous-dependencies': 'off', + }, + }, + + // Common Node.js preset: TypeScript, Prettier + 'node-typescript-prettier': { + extends: [ + 'plugin:console/base', + 'plugin:console/typescript', + 'plugin:console/node', + // TODO enable when we stop using jest with jasmine types + // 'plugin:console/jest', + 'plugin:console/prettier', + ], + rules: { + // TODO fix for monorepo support + 'import/no-extraneous-dependencies': 'off', + }, + }, }, }; diff --git a/frontend/packages/kubevirt-plugin/integration-tests/.eslintrc.js b/frontend/packages/kubevirt-plugin/integration-tests/.eslintrc.js new file mode 100644 index 00000000000..a4c543e41b2 --- /dev/null +++ b/frontend/packages/kubevirt-plugin/integration-tests/.eslintrc.js @@ -0,0 +1,6 @@ +module.exports = { + root: true, + extends: [ + 'plugin:console/node-typescript-prettier', + ], +}; diff --git a/frontend/packages/kubevirt-plugin/integration-tests/tests/vm.wizard.scenario.ts b/frontend/packages/kubevirt-plugin/integration-tests/tests/vm.wizard.scenario.ts index fe328da65cd..23cad16e779 100644 --- a/frontend/packages/kubevirt-plugin/integration-tests/tests/vm.wizard.scenario.ts +++ b/frontend/packages/kubevirt-plugin/integration-tests/tests/vm.wizard.scenario.ts @@ -1,4 +1,3 @@ -/* eslint-disable max-nested-callbacks */ import { OrderedMap } from 'immutable'; import * as _ from 'lodash'; import { testName } from '../../../../integration-tests/protractor.conf'; @@ -10,7 +9,6 @@ import { } from '../../../console-shared/src/test-utils/utils'; import { statusIcons } from '../views/virtualMachine.view'; import { VirtualMachine } from './models/virtualMachine'; -// eslint-disable-next-line no-unused-vars import { getResourceObject } from './utils/utils'; import { VM_BOOTUP_TIMEOUT_SECS, CLONE_VM_TIMEOUT_SECS } from './utils/consts'; import {