From df3c1a395fcef1fd7df07e0e39472f9b7782b67c Mon Sep 17 00:00:00 2001 From: Maksim Ivanov Date: Wed, 15 Jun 2022 14:33:49 +0300 Subject: [PATCH] feat(eslint-config-angular): decomposition angular complex configs to optional configs (#197) --- packages/eslint-config-angular/README.md | 7 +++- .../{ts/import.js => imports/index.js} | 0 packages/eslint-config-angular/index.js | 2 +- .../index.js} | 0 .../index.js} | 40 +++++++++---------- packages/eslint-config-angular/package.json | 9 +++-- .../{ts => recommended}/base-typescript.js | 0 .../{ts => recommended}/base.js | 0 .../{ts => recommended}/extraneous-class.js | 0 .../recommended/index.js | 3 ++ .../test/imports/imports-happy.test.js | 2 +- .../test/imports/imports-unhappy.test.js | 2 +- .../line-statements-happy.test.js | 2 +- .../line-statements-unhappy.test.js | 2 +- .../member-ordering-happy.test.js | 2 +- .../member-ordering-unhappy.test.js | 2 +- packages/eslint-config-angular/ts/index.js | 10 ----- 17 files changed, 41 insertions(+), 42 deletions(-) rename packages/eslint-config-angular/{ts/import.js => imports/index.js} (100%) rename packages/eslint-config-angular/{ts/line-statements.js => line-statements/index.js} (100%) rename packages/eslint-config-angular/{ts/member-ordering.js => member-ordering/index.js} (81%) rename packages/eslint-config-angular/{ts => recommended}/base-typescript.js (100%) rename packages/eslint-config-angular/{ts => recommended}/base.js (100%) rename packages/eslint-config-angular/{ts => recommended}/extraneous-class.js (100%) create mode 100644 packages/eslint-config-angular/recommended/index.js delete mode 100644 packages/eslint-config-angular/ts/index.js diff --git a/packages/eslint-config-angular/README.md b/packages/eslint-config-angular/README.md index 23f54f8..136be0c 100644 --- a/packages/eslint-config-angular/README.md +++ b/packages/eslint-config-angular/README.md @@ -13,9 +13,9 @@ npm i --save-dev @tinkoff/eslint-config @tinkoff/eslint-config-angular Then, need to include `recommendation` configurations sets to `.eslintrc`. We need to choose base configuration, and any necessary additional configs: -```json +```json5 { - "extends": ["@tinkoff/eslint-config/app", "@tinkoff/eslint-config-angular"] + extends: ['@tinkoff/eslint-config/app', '@tinkoff/eslint-config-angular'], } ``` @@ -32,6 +32,9 @@ You can also include `optional` configurations, however, you are responsible for '@tinkoff/eslint-config-angular/html', '@tinkoff/eslint-config-angular/rxjs', '@tinkoff/eslint-config-angular/promise', + '@tinkoff/eslint-config-angular/imports', + '@tinkoff/eslint-config-angular/line-statements', + '@tinkoff/eslint-config-angular/member-ordering', ], } ``` diff --git a/packages/eslint-config-angular/ts/import.js b/packages/eslint-config-angular/imports/index.js similarity index 100% rename from packages/eslint-config-angular/ts/import.js rename to packages/eslint-config-angular/imports/index.js diff --git a/packages/eslint-config-angular/index.js b/packages/eslint-config-angular/index.js index 38f38db..989bd16 100644 --- a/packages/eslint-config-angular/index.js +++ b/packages/eslint-config-angular/index.js @@ -1,3 +1,3 @@ module.exports = { - extends: ['./ts/index.js'], + extends: ['./recommended/index.js'], }; diff --git a/packages/eslint-config-angular/ts/line-statements.js b/packages/eslint-config-angular/line-statements/index.js similarity index 100% rename from packages/eslint-config-angular/ts/line-statements.js rename to packages/eslint-config-angular/line-statements/index.js diff --git a/packages/eslint-config-angular/ts/member-ordering.js b/packages/eslint-config-angular/member-ordering/index.js similarity index 81% rename from packages/eslint-config-angular/ts/member-ordering.js rename to packages/eslint-config-angular/member-ordering/index.js index 1f3dd26..ca4401c 100644 --- a/packages/eslint-config-angular/ts/member-ordering.js +++ b/packages/eslint-config-angular/member-ordering/index.js @@ -59,13 +59,13 @@ module.exports = { * [sort: public -> protected -> private] **/ /* - 'public-static-get', - 'public-static-set', - 'protected-static-get', - 'protected-static-set', - 'private-static-get', - 'private-static-set', - */ + * 'public-static-get', + * 'public-static-set', + * 'protected-static-get', + * 'protected-static-set', + * 'private-static-get', + * 'private-static-set', + */ /** * @note(splincode): @@ -77,19 +77,19 @@ module.exports = { * [sort: decorated -> non-decorated] **/ /* - 'public-decorated-get', - 'public-instance-get', - 'public-decorated-set', - 'public-instance-set', - 'protected-decorated-get', - 'protected-instance-get', - 'protected-decorated-set', - 'protected-instance-set', - 'private-decorated-get', - 'private-instance-get', - 'private-decorated-set', - 'private-instance-set', - */ + * 'public-decorated-get', + * 'public-instance-get', + * 'public-decorated-set', + * 'public-instance-set', + * 'protected-decorated-get', + * 'protected-instance-get', + * 'protected-decorated-set', + * 'protected-instance-set', + * 'private-decorated-get', + * 'private-instance-get', + * 'private-decorated-set', + * 'private-instance-set', + */ /** * static methods diff --git a/packages/eslint-config-angular/package.json b/packages/eslint-config-angular/package.json index f302afa..d04a076 100644 --- a/packages/eslint-config-angular/package.json +++ b/packages/eslint-config-angular/package.json @@ -9,11 +9,14 @@ "eslint-config" ], "files": [ - "index.js", - "rxjs", "html", + "imports", + "line-statements", + "member-ordering", "promise", - "ts", + "recommended", + "rxjs", + "index.js", "README.md" ], "scripts": {}, diff --git a/packages/eslint-config-angular/ts/base-typescript.js b/packages/eslint-config-angular/recommended/base-typescript.js similarity index 100% rename from packages/eslint-config-angular/ts/base-typescript.js rename to packages/eslint-config-angular/recommended/base-typescript.js diff --git a/packages/eslint-config-angular/ts/base.js b/packages/eslint-config-angular/recommended/base.js similarity index 100% rename from packages/eslint-config-angular/ts/base.js rename to packages/eslint-config-angular/recommended/base.js diff --git a/packages/eslint-config-angular/ts/extraneous-class.js b/packages/eslint-config-angular/recommended/extraneous-class.js similarity index 100% rename from packages/eslint-config-angular/ts/extraneous-class.js rename to packages/eslint-config-angular/recommended/extraneous-class.js diff --git a/packages/eslint-config-angular/recommended/index.js b/packages/eslint-config-angular/recommended/index.js new file mode 100644 index 0000000..faad7e1 --- /dev/null +++ b/packages/eslint-config-angular/recommended/index.js @@ -0,0 +1,3 @@ +module.exports = { + extends: ['./base.js', './base-typescript.js', './extraneous-class.js'], +}; diff --git a/packages/eslint-config-angular/test/imports/imports-happy.test.js b/packages/eslint-config-angular/test/imports/imports-happy.test.js index 0819bd3..2000fd8 100644 --- a/packages/eslint-config-angular/test/imports/imports-happy.test.js +++ b/packages/eslint-config-angular/test/imports/imports-happy.test.js @@ -6,7 +6,7 @@ describe('imports / happy path', () => { cwd: path.join(__dirname, '..'), useEslintrc: false, baseConfig: { - extends: ['../ts/base', '../ts/import'], + extends: ['../imports'], }, }); diff --git a/packages/eslint-config-angular/test/imports/imports-unhappy.test.js b/packages/eslint-config-angular/test/imports/imports-unhappy.test.js index aa63897..2d86407 100644 --- a/packages/eslint-config-angular/test/imports/imports-unhappy.test.js +++ b/packages/eslint-config-angular/test/imports/imports-unhappy.test.js @@ -6,7 +6,7 @@ describe('imports / unhappy path', () => { cwd: path.join(__dirname, '..'), useEslintrc: false, baseConfig: { - extends: ['../ts/base', '../ts/import'], + extends: ['../imports'], }, }); diff --git a/packages/eslint-config-angular/test/line-statements/line-statements-happy.test.js b/packages/eslint-config-angular/test/line-statements/line-statements-happy.test.js index fe0e4a1..22542e8 100644 --- a/packages/eslint-config-angular/test/line-statements/line-statements-happy.test.js +++ b/packages/eslint-config-angular/test/line-statements/line-statements-happy.test.js @@ -6,7 +6,7 @@ describe('imports / happy path', () => { cwd: path.join(__dirname, '..'), useEslintrc: false, baseConfig: { - extends: ['../ts/line-statements'], + extends: ['../line-statements'], }, }); diff --git a/packages/eslint-config-angular/test/line-statements/line-statements-unhappy.test.js b/packages/eslint-config-angular/test/line-statements/line-statements-unhappy.test.js index acc0a0f..954639f 100644 --- a/packages/eslint-config-angular/test/line-statements/line-statements-unhappy.test.js +++ b/packages/eslint-config-angular/test/line-statements/line-statements-unhappy.test.js @@ -6,7 +6,7 @@ describe('line statements / unhappy path', () => { cwd: path.join(__dirname, '..'), useEslintrc: false, baseConfig: { - extends: ['../ts/line-statements'], + extends: ['../line-statements'], }, }); diff --git a/packages/eslint-config-angular/test/member-ordering/member-ordering-happy.test.js b/packages/eslint-config-angular/test/member-ordering/member-ordering-happy.test.js index 43290a6..41f4ecf 100644 --- a/packages/eslint-config-angular/test/member-ordering/member-ordering-happy.test.js +++ b/packages/eslint-config-angular/test/member-ordering/member-ordering-happy.test.js @@ -6,7 +6,7 @@ describe('member-ordering / happy path', () => { cwd: path.join(__dirname, '..'), useEslintrc: false, baseConfig: { - extends: ['../ts/member-ordering'], + extends: ['../member-ordering'], }, }); diff --git a/packages/eslint-config-angular/test/member-ordering/member-ordering-unhappy.test.js b/packages/eslint-config-angular/test/member-ordering/member-ordering-unhappy.test.js index 537435f..d6484a9 100644 --- a/packages/eslint-config-angular/test/member-ordering/member-ordering-unhappy.test.js +++ b/packages/eslint-config-angular/test/member-ordering/member-ordering-unhappy.test.js @@ -6,7 +6,7 @@ describe('member-ordering / unhappy', () => { cwd: path.join(__dirname, '..'), useEslintrc: false, baseConfig: { - extends: ['../ts/member-ordering'], + extends: ['../member-ordering'], }, }); diff --git a/packages/eslint-config-angular/ts/index.js b/packages/eslint-config-angular/ts/index.js deleted file mode 100644 index aff8d56..0000000 --- a/packages/eslint-config-angular/ts/index.js +++ /dev/null @@ -1,10 +0,0 @@ -module.exports = { - extends: [ - './base', - './base-typescript', - './import', - './member-ordering', - './line-statements', - './extraneous-class', - ], -};