Skip to content

Commit

Permalink
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
fix(eslint-plugin): use @Stylistic ruleset for formatting when not us…
Browse files Browse the repository at this point in the history
…ing prettier

BREAKING CHANGE: The peer-dependency `@stylistic/eslint-plugin` has been added to `eslint-config-typescript` and `eslint-config-angular`, please install version 2.13.0 or newer
Killusions committed Jan 15, 2025

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
1 parent ed0da6e commit fea240b
Showing 6 changed files with 175 additions and 25 deletions.
27 changes: 15 additions & 12 deletions eslint-config-angular/index.mjs
Original file line number Diff line number Diff line change
@@ -8,6 +8,7 @@ import angularEslint from 'angular-eslint';
import importPlugin from 'eslint-plugin-import';
import jsdocPlugin from 'eslint-plugin-jsdoc';
import preferArrowPlugin from 'eslint-plugin-prefer-arrow';
import stylisticPlugin from '@stylistic/eslint-plugin';

// Keep in sync with eslint-config-typescript (except Angular stuff).

@@ -20,7 +21,8 @@ export const configBase = typescriptEslint.config({
plugins: {
'import': importPlugin,
'jsdoc': jsdocPlugin,
'prefer-arrow': preferArrowPlugin
'prefer-arrow': preferArrowPlugin,
'@stylistic': stylisticPlugin
},
languageOptions: {
parserOptions: {
@@ -49,12 +51,6 @@ export const configBase = typescriptEslint.config({
'space-before-blocks': ['off'],

'@typescript-eslint/array-type': ['error'],
'@typescript-eslint/brace-style': ['error', '1tbs', { allowSingleLine: true }],
'@typescript-eslint/comma-dangle': ['error'],
'@typescript-eslint/comma-spacing': ['error'],
'@typescript-eslint/func-call-spacing': ['error'],
'@typescript-eslint/indent': ['error', 2, { SwitchCase: 1 }],
'@typescript-eslint/keyword-spacing': ['error'],
'@typescript-eslint/member-ordering': ['off'],
'@typescript-eslint/naming-convention': ['off'],
'@typescript-eslint/no-non-null-asserted-optional-chain': ['error'],
@@ -66,10 +62,6 @@ export const configBase = typescriptEslint.config({
{ vars: 'all', args: 'none', ignoreRestSiblings: false }
],
'@typescript-eslint/no-var-requires': ['error'],
'@typescript-eslint/space-infix-ops': ['error'],
'@typescript-eslint/space-before-blocks': ['error'],
'@typescript-eslint/type-annotation-spacing': ['error'],
'@typescript-eslint/object-curly-spacing': ['error', 'always'],
'@typescript-eslint/no-explicit-any': ['off'],
'@typescript-eslint/no-empty-function': ['off'],
'@typescript-eslint/no-inferrable-types': ['error', { ignoreParameters: true }],
@@ -80,6 +72,17 @@ export const configBase = typescriptEslint.config({
'@typescript-eslint/prefer-function-type': ['error'],
'@typescript-eslint/unified-signatures': ['error'],

'@stylistic/brace-style': ['error', '1tbs', { allowSingleLine: true }],
'@stylistic/comma-dangle': ['error'],
'@stylistic/comma-spacing': ['error'],
'@stylistic/func-call-spacing': ['error'],
'@stylistic/indent': ['error', 2, { SwitchCase: 1 }],
'@stylistic/keyword-spacing': ['error'],
'@stylistic/space-infix-ops': ['error'],
'@stylistic/space-before-blocks': ['error'],
'@stylistic/type-annotation-spacing': ['error'],
'@stylistic/object-curly-spacing': ['error', 'always'],

'array-bracket-spacing': ['error'],
'arrow-parens': ['error', 'as-needed'],
'arrow-spacing': ['error'],
@@ -171,7 +174,7 @@ export const configRecommended = typescriptEslint.config({
}
],

'@typescript-eslint/no-extra-semi': ['error'],
'@stylistic/no-extra-semi': ['error'],
'@typescript-eslint/no-for-in-array': ['error'],
'@typescript-eslint/no-implied-eval': ['error'],
'@typescript-eslint/no-loop-func': ['error'],
1 change: 1 addition & 0 deletions eslint-config-angular/package.json
Original file line number Diff line number Diff line change
@@ -32,6 +32,7 @@
"license": "MIT",
"peerDependencies": {
"@eslint/js": "^9.9.1",
"@stylistic/eslint-plugin": "^2.13.0",
"angular-eslint": "^18.1.0 || ^19.0.0",
"eslint": "^9.9.1",
"eslint-plugin-import": "2.26.0",
27 changes: 15 additions & 12 deletions eslint-config-typescript/index.mjs
Original file line number Diff line number Diff line change
@@ -7,6 +7,7 @@ import typescriptEslint from 'typescript-eslint';
import importPlugin from 'eslint-plugin-import';
import jsdocPlugin from 'eslint-plugin-jsdoc';
import preferArrowPlugin from 'eslint-plugin-prefer-arrow';
import stylisticPlugin from '@stylistic/eslint-plugin';

// Keep in sync with eslint-config-angular (except Angular stuff).

@@ -15,7 +16,8 @@ export const configBase = typescriptEslint.config({
plugins: {
'import': importPlugin,
'jsdoc': jsdocPlugin,
'prefer-arrow': preferArrowPlugin
'prefer-arrow': preferArrowPlugin,
'@stylistic': stylisticPlugin
},
languageOptions: {
parserOptions: {
@@ -39,12 +41,6 @@ export const configBase = typescriptEslint.config({
'space-before-blocks': ['off'],

'@typescript-eslint/array-type': ['error'],
'@typescript-eslint/brace-style': ['error', '1tbs', { allowSingleLine: true }],
'@typescript-eslint/comma-dangle': ['error'],
'@typescript-eslint/comma-spacing': ['error'],
'@typescript-eslint/func-call-spacing': ['error'],
'@typescript-eslint/indent': ['error', 2, { SwitchCase: 1 }],
'@typescript-eslint/keyword-spacing': ['error'],
'@typescript-eslint/member-ordering': ['off'],
'@typescript-eslint/naming-convention': ['off'],
'@typescript-eslint/no-non-null-asserted-optional-chain': ['error'],
@@ -56,10 +52,6 @@ export const configBase = typescriptEslint.config({
{ vars: 'all', args: 'none', ignoreRestSiblings: false }
],
'@typescript-eslint/no-var-requires': ['error'],
'@typescript-eslint/space-infix-ops': ['error'],
'@typescript-eslint/space-before-blocks': ['error'],
'@typescript-eslint/type-annotation-spacing': ['error'],
'@typescript-eslint/object-curly-spacing': ['error', 'always'],
'@typescript-eslint/no-explicit-any': ['off'],
'@typescript-eslint/no-empty-function': ['off'],
'@typescript-eslint/no-inferrable-types': ['error', { ignoreParameters: true }],
@@ -70,6 +62,17 @@ export const configBase = typescriptEslint.config({
'@typescript-eslint/prefer-function-type': ['error'],
'@typescript-eslint/unified-signatures': ['error'],

'@stylistic/brace-style': ['error', '1tbs', { allowSingleLine: true }],
'@stylistic/comma-dangle': ['error'],
'@stylistic/comma-spacing': ['error'],
'@stylistic/func-call-spacing': ['error'],
'@stylistic/indent': ['error', 2, { SwitchCase: 1 }],
'@stylistic/keyword-spacing': ['error'],
'@stylistic/space-infix-ops': ['error'],
'@stylistic/space-before-blocks': ['error'],
'@stylistic/type-annotation-spacing': ['error'],
'@stylistic/object-curly-spacing': ['error', 'always'],

'array-bracket-spacing': ['error'],
'arrow-parens': ['error', 'as-needed'],
'arrow-spacing': ['error'],
@@ -154,7 +157,7 @@ export const configRecommended = typescriptEslint.config({
}
],

'@typescript-eslint/no-extra-semi': ['error'],
'@stylistic/no-extra-semi': ['error'],
'@typescript-eslint/no-for-in-array': ['error'],
'@typescript-eslint/no-implied-eval': ['error'],
'@typescript-eslint/no-loop-func': ['error'],
1 change: 1 addition & 0 deletions eslint-config-typescript/package.json
Original file line number Diff line number Diff line change
@@ -27,6 +27,7 @@
"license": "MIT",
"peerDependencies": {
"@eslint/js": "^9.9.1",
"@stylistic/eslint-plugin": "^2.13.0",
"eslint": "^9.9.1",
"eslint-plugin-import": "2.26.0",
"eslint-plugin-jsdoc": "^50.2.2",
143 changes: 142 additions & 1 deletion package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
@@ -18,6 +18,7 @@
"@commitlint/config-conventional": "19.2.2",
"@microsoft/tsdoc": "^0.15.0",
"@microsoft/tsdoc-config": "^0.17.0",
"@stylistic/eslint-plugin": "^2.13.0",
"@types/node": "^22.4.1",
"@typescript-eslint/rule-tester": "8.6.0",
"@typescript-eslint/utils": "8.6.0",

0 comments on commit fea240b

Please sign in to comment.