Skip to content

Commit

Permalink
feat: add stylistic rules
Browse files Browse the repository at this point in the history
  • Loading branch information
MaikoTan committed Aug 6, 2024
1 parent aab0b82 commit 985edf8
Show file tree
Hide file tree
Showing 6 changed files with 123 additions and 7 deletions.
4 changes: 2 additions & 2 deletions eslint.config.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import configs from './dist/typescript.js'
import { configs } from './dist/index.js'

export default [
...configs,
...configs.typescript,
{
ignores: ['dist/**/*'],
},
Expand Down
1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@
"dependencies": {
"@eslint/eslintrc": "^3.1.0",
"@eslint/js": "^9.8.0",
"@stylistic/eslint-plugin": "^2.6.1",
"eslint-import-resolver-typescript": "^3.6.1",
"eslint-plugin-import-x": "^3.1.0",
"eslint-plugin-n": "^17.10.2",
Expand Down
1 change: 1 addition & 0 deletions rollup.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ export default defineConfig({
/^eslint-plugin-.*/,
'globals',
'typescript-eslint',
/^@stylistic\//,
],
treeshake: true,
plugins: [nodeResolve(), commonjs(), typescript()],
Expand Down
7 changes: 5 additions & 2 deletions src/base.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,13 @@ import js from '@eslint/js'
import { Linter } from 'eslint'
import mochaPlugin from 'eslint-plugin-mocha'

import stylistic from './stylistic'

const compat = new FlatCompat()

const config: Linter.FlatConfig[] = [
const config: Linter.Config[] = [
js.configs.recommended,
...compat.extends('plugin:import-x/recommended'),
...(compat.extends('plugin:import-x/recommended') as any),
mochaPlugin.configs.flat.recommended,
{
ignores: [
Expand Down Expand Up @@ -77,6 +79,7 @@ const config: Linter.FlatConfig[] = [
],
},
},
...stylistic,
]

export default config
35 changes: 35 additions & 0 deletions src/stylistic.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
import stylistic from '@stylistic/eslint-plugin'
import { Linter } from 'eslint'

const config: Linter.BaseConfig[] = [
stylistic.configs.customize({
arrowParens: true,
blockSpacing: true,
commaDangle: 'always-multiline',
indent: 2,
quotes: 'single',
semi: false,
}),
{
rules: {
'comma-dangle': 'off',
'quotes': 'off',
'@stylistic/linebreak-style': ['error', 'unix'],
'@stylistic/multiline-ternary': ['error', 'always-multiline'],
'@stylistic/operator-linebreak': ['error', 'after', { overrides: { '?': 'before', ':': 'before' } }],
'@stylistic/function-call-spacing': 'error',
'@stylistic/keyword-spacing': 'error',
'@stylistic/member-delimiter-style': 'error',
'max-len': 'off',
'@stylistic/max-len': ['error', {
code: 120,
ignoreTrailingComments: true,
ignoreUrls: true, ignoreTemplateLiterals: true,
ignoreRegExpLiterals: true,
}],
'@stylistic/multiline-comment-style': 'warn',
},
},
]

export default config
82 changes: 79 additions & 3 deletions yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,7 @@ __metadata:
"@rollup/plugin-commonjs": "npm:^26.0.1"
"@rollup/plugin-node-resolve": "npm:^15.2.3"
"@rollup/plugin-typescript": "npm:^11.1.6"
"@stylistic/eslint-plugin": "npm:^2.6.1"
"@types/eslint": "npm:^9.6.0"
"@types/eslint__eslintrc": "npm:^2.1.2"
"@types/eslint__js": "npm:^8.42.3"
Expand Down Expand Up @@ -388,6 +389,74 @@ __metadata:
languageName: node
linkType: hard

"@stylistic/eslint-plugin-js@npm:2.6.1, @stylistic/eslint-plugin-js@npm:^2.6.1":
version: 2.6.1
resolution: "@stylistic/eslint-plugin-js@npm:2.6.1"
dependencies:
"@types/eslint": "npm:^9.6.0"
acorn: "npm:^8.12.1"
eslint-visitor-keys: "npm:^4.0.0"
espree: "npm:^10.1.0"
peerDependencies:
eslint: ">=8.40.0"
checksum: 10c0/d888887f6c40337fc368b1ffd02da1d3cc90076817a817b84745f9efd7b7cbb6363e9aa4106a59a1966358e8cdd11bef9e2bc4ab4fefb7ca29910df1be02cbae
languageName: node
linkType: hard

"@stylistic/eslint-plugin-jsx@npm:2.6.1":
version: 2.6.1
resolution: "@stylistic/eslint-plugin-jsx@npm:2.6.1"
dependencies:
"@stylistic/eslint-plugin-js": "npm:^2.6.1"
"@types/eslint": "npm:^9.6.0"
estraverse: "npm:^5.3.0"
picomatch: "npm:^4.0.2"
peerDependencies:
eslint: ">=8.40.0"
checksum: 10c0/7545cbcc39caf87f068d84fe5e4570d8d7047bd8c4d1f77568f742ac4fa02f08f891dd4b5cc14ed4e187f67dadb3af9b3bcaf21ae2a8d173aebf9d8268e77bc9
languageName: node
linkType: hard

"@stylistic/eslint-plugin-plus@npm:2.6.1":
version: 2.6.1
resolution: "@stylistic/eslint-plugin-plus@npm:2.6.1"
dependencies:
"@types/eslint": "npm:^9.6.0"
"@typescript-eslint/utils": "npm:^8.0.0"
peerDependencies:
eslint: "*"
checksum: 10c0/06d0fe0c4b99cac89fa656922c68e36d916fddf1a18cb3777bd36abac4d436966734611b1e2a0e6a96d0bf70e51bf37f09b793a47ce89db7b685815d22992c97
languageName: node
linkType: hard

"@stylistic/eslint-plugin-ts@npm:2.6.1":
version: 2.6.1
resolution: "@stylistic/eslint-plugin-ts@npm:2.6.1"
dependencies:
"@stylistic/eslint-plugin-js": "npm:2.6.1"
"@types/eslint": "npm:^9.6.0"
"@typescript-eslint/utils": "npm:^8.0.0"
peerDependencies:
eslint: ">=8.40.0"
checksum: 10c0/9360aec54ff04d1dad1e052496846b056abd22d8d1733b484c5b88ef007de4b346217d254f3e8cc17d83f9f9d4d817236eb8d049c1b47ce7e5097d4c34a57f2d
languageName: node
linkType: hard

"@stylistic/eslint-plugin@npm:^2.6.1":
version: 2.6.1
resolution: "@stylistic/eslint-plugin@npm:2.6.1"
dependencies:
"@stylistic/eslint-plugin-js": "npm:2.6.1"
"@stylistic/eslint-plugin-jsx": "npm:2.6.1"
"@stylistic/eslint-plugin-plus": "npm:2.6.1"
"@stylistic/eslint-plugin-ts": "npm:2.6.1"
"@types/eslint": "npm:^9.6.0"
peerDependencies:
eslint: ">=8.40.0"
checksum: 10c0/87cbbac0ea84161e6ccc03b7c5298279c2d5a0100be63af5a83f979ae0fa5328df371443a3da9eac833d58a1708bae2e5d8615530048c888e7f5b01d3ebf654a
languageName: node
linkType: hard

"@types/eslint@npm:*, @types/eslint@npm:^9.6.0":
version: 9.6.0
resolution: "@types/eslint@npm:9.6.0"
Expand Down Expand Up @@ -565,7 +634,7 @@ __metadata:
languageName: node
linkType: hard

"@typescript-eslint/utils@npm:8.0.1":
"@typescript-eslint/utils@npm:8.0.1, @typescript-eslint/utils@npm:^8.0.0":
version: 8.0.1
resolution: "@typescript-eslint/utils@npm:8.0.1"
dependencies:
Expand Down Expand Up @@ -629,7 +698,7 @@ __metadata:
languageName: node
linkType: hard

"acorn@npm:^8.12.0":
"acorn@npm:^8.12.0, acorn@npm:^8.12.1":
version: 8.12.1
resolution: "acorn@npm:8.12.1"
bin:
Expand Down Expand Up @@ -1199,7 +1268,7 @@ __metadata:
languageName: node
linkType: hard

"estraverse@npm:^5.1.0, estraverse@npm:^5.2.0":
"estraverse@npm:^5.1.0, estraverse@npm:^5.2.0, estraverse@npm:^5.3.0":
version: 5.3.0
resolution: "estraverse@npm:5.3.0"
checksum: 10c0/1ff9447b96263dec95d6d67431c5e0771eb9776427421260a3e2f0fdd5d6bd4f8e37a7338f5ad2880c9f143450c9b1e4fc2069060724570a49cf9cf0312bd107
Expand Down Expand Up @@ -2060,6 +2129,13 @@ __metadata:
languageName: node
linkType: hard

"picomatch@npm:^4.0.2":
version: 4.0.2
resolution: "picomatch@npm:4.0.2"
checksum: 10c0/7c51f3ad2bb42c776f49ebf964c644958158be30d0a510efd5a395e8d49cb5acfed5b82c0c5b365523ce18e6ab85013c9ebe574f60305892ec3fa8eee8304ccc
languageName: node
linkType: hard

"prelude-ls@npm:^1.2.1":
version: 1.2.1
resolution: "prelude-ls@npm:1.2.1"
Expand Down

0 comments on commit 985edf8

Please sign in to comment.