@slashnephy/eslint-config 2.1.3 → 2.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@slashnephy/eslint-config",
3
- "version": "2.1.3",
3
+ "version": "2.1.4",
4
4
  "keywords": [
5
5
  "eslint",
6
6
  "eslintconfig"
@@ -36,8 +36,10 @@
36
36
  },
37
37
  "dependencies": {
38
38
  "@emotion/eslint-plugin": "11.11.0",
39
+ "@graphql-eslint/eslint-plugin": "3.20.1",
39
40
  "@next/eslint-plugin-next": "14.0.4",
40
41
  "@rushstack/eslint-patch": "1.6.1",
42
+ "@stylistic/eslint-plugin": "1.5.3",
41
43
  "@susisu/eslint-plugin-safe-typescript": "0.5.2",
42
44
  "@typescript-eslint/eslint-plugin": "6.17.0",
43
45
  "@typescript-eslint/parser": "6.17.0",
@@ -48,7 +50,6 @@
48
50
  "eslint-gitignore": "0.1.0",
49
51
  "eslint-import-resolver-node": "0.3.9",
50
52
  "eslint-import-resolver-typescript": "3.6.1",
51
- "eslint-plugin-css-import-order": "1.1.0",
52
53
  "eslint-plugin-css-reorder": "0.5.1",
53
54
  "eslint-plugin-deprecation": "2.0.0",
54
55
  "eslint-plugin-editorconfig": "4.0.3",
@@ -74,6 +75,7 @@
74
75
  "eslint-plugin-vitest": "0.3.20",
75
76
  "eslint-plugin-xss": "0.1.12",
76
77
  "eslint-plugin-yml": "1.11.0",
78
+ "graphql": "16.8.1",
77
79
  "typescript": "5.3.3",
78
80
  "yaml-eslint-parser": "1.2.2"
79
81
  },
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ module.exports = {
4
+ plugins: ['@graphql-eslint'],
5
+ extends: [
6
+ 'plugin:@graphql-eslint/schema-all',
7
+ 'plugin:@graphql-eslint/operations-all',
8
+ 'plugin:@graphql-eslint/relay',
9
+ ],
10
+ parser: '@graphql-eslint/eslint-plugin',
11
+ parserOptions: {
12
+ schema: '**/schema.graphql',
13
+ },
14
+ };
@@ -0,0 +1,14 @@
1
+ import type { Linter } from 'eslint'
2
+
3
+ module.exports = {
4
+ plugins: ['@graphql-eslint'],
5
+ extends: [
6
+ 'plugin:@graphql-eslint/schema-all',
7
+ 'plugin:@graphql-eslint/operations-all',
8
+ 'plugin:@graphql-eslint/relay',
9
+ ],
10
+ parser: '@graphql-eslint/eslint-plugin',
11
+ parserOptions: {
12
+ schema: '**/schema.graphql',
13
+ },
14
+ } satisfies Linter.Config
@@ -84,7 +84,7 @@ module.exports = {
84
84
  // https://qiita.com/printf_moriken/items/da03f55cb626617c1958
85
85
  {
86
86
  selector:
87
- // eslint-disable-next-line quotes
87
+ // eslint-disable-next-line @stylistic/quotes -- prettier と競合している
88
88
  "CallExpression[callee.property.name='at']:not([arguments.0.type='Literal'],[arguments.0.type='UnaryExpression'][arguments.0.argument.type='Literal'])",
89
89
  message: 'at method accepts only a literal argument',
90
90
  },
@@ -9,5 +9,6 @@ module.exports = {
9
9
  rules: {
10
10
  ...eslint_config_next_1.default.rules,
11
11
  'import/no-default-export': 'off',
12
+ 'react-refresh/only-export-components': 'off',
12
13
  },
13
14
  };
@@ -8,5 +8,6 @@ module.exports = {
8
8
  rules: {
9
9
  ...next.rules,
10
10
  'import/no-default-export': 'off',
11
+ 'react-refresh/only-export-components': 'off',
11
12
  },
12
13
  } satisfies Linter.Config
@@ -1,12 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  module.exports = {
4
- extends: [
5
- 'plugin:react/recommended',
6
- 'plugin:react/jsx-runtime',
7
- 'plugin:css-import-order/recommended',
8
- ],
9
- plugins: ['react-hooks', 'css-import-order'],
4
+ extends: ['plugin:react/recommended', 'plugin:react/jsx-runtime'],
5
+ plugins: ['react-hooks'],
10
6
  parserOptions: {
11
7
  ecmaFeatures: {
12
8
  jsx: true,
@@ -4,12 +4,8 @@ import type { Linter } from 'eslint'
4
4
  * React 関連の eslint プリセット
5
5
  */
6
6
  module.exports = {
7
- extends: [
8
- 'plugin:react/recommended',
9
- 'plugin:react/jsx-runtime',
10
- 'plugin:css-import-order/recommended',
11
- ],
12
- plugins: ['react-hooks', 'css-import-order'],
7
+ extends: ['plugin:react/recommended', 'plugin:react/jsx-runtime'],
8
+ plugins: ['react-hooks'],
13
9
  parserOptions: {
14
10
  ecmaFeatures: {
15
11
  jsx: true,
package/src/index.js CHANGED
@@ -16,11 +16,16 @@ module.exports = {
16
16
  {
17
17
  files: '**/*.{js,mjs,cjs,jsx,ts,mts,cts,tsx}',
18
18
  extends: (0, path_1.resolve)(__dirname, 'base/javascript.js'),
19
+ processor: '@graphql-eslint/graphql',
19
20
  },
20
21
  {
21
22
  files: '**/*.{ts,mts,cts,tsx}',
22
23
  extends: [(0, path_1.resolve)(__dirname, 'base/typescript.js')],
23
24
  },
25
+ {
26
+ files: '**/*.{graphql,graphqls,gql}',
27
+ extends: [(0, path_1.resolve)(__dirname, 'base/graphql.js')],
28
+ },
24
29
  {
25
30
  files: '**/*.json',
26
31
  extends: (0, path_1.resolve)(__dirname, 'base/json.js'),
@@ -40,7 +45,7 @@ module.exports = {
40
45
  {
41
46
  files: [
42
47
  '**/pages/**/*.{js,mjs,cjs,jsx,ts,mts,cts,tsx}',
43
- '**/src/app/**/*.{js,mjs,cjs,jsx,ts,mts,cts,tsx}',
48
+ '**/app/**/*.{js,mjs,cjs,jsx,ts,mts,cts,tsx}',
44
49
  ],
45
50
  extends: (0, path_1.resolve)(__dirname, 'framework/next.js.js'),
46
51
  },
@@ -76,7 +81,7 @@ module.exports = {
76
81
  },
77
82
  {
78
83
  files: [
79
- '**/{webpack,rollup,vite,postcss}.config.{js,mjs,cjs,ts,mts,cts}',
84
+ '**/{webpack,rollup,vite,postcss,next}.config.{js,mjs,cjs,ts,mts,cts}',
80
85
  '**/codegen.{js,mjs,cjs,ts,mts,cts}',
81
86
  ],
82
87
  extends: [
@@ -94,7 +99,7 @@ module.exports = {
94
99
  extends: (0, path_1.resolve)(__dirname, 'presets/userscript.js'),
95
100
  },
96
101
  {
97
- files: '**/*',
102
+ files: '**/*.{js,mjs,cjs,jsx,ts,mts,cts,tsx}',
98
103
  extends: (0, path_1.resolve)(__dirname, 'presets/style.js'),
99
104
  },
100
105
  ],
package/src/index.ts CHANGED
@@ -23,12 +23,18 @@ module.exports = {
23
23
  {
24
24
  files: '**/*.{js,mjs,cjs,jsx,ts,mts,cts,tsx}',
25
25
  extends: resolve(__dirname, 'base/javascript.js'),
26
+ processor: '@graphql-eslint/graphql',
26
27
  },
27
28
  // TypeScript
28
29
  {
29
30
  files: '**/*.{ts,mts,cts,tsx}',
30
31
  extends: [resolve(__dirname, 'base/typescript.js')],
31
32
  },
33
+ // GraphQL
34
+ {
35
+ files: '**/*.{graphql,graphqls,gql}',
36
+ extends: [resolve(__dirname, 'base/graphql.js')],
37
+ },
32
38
  // JSON
33
39
  {
34
40
  files: '**/*.json',
@@ -56,10 +62,10 @@ module.exports = {
56
62
  // Next.js
57
63
  {
58
64
  files: [
59
- // <= 12
65
+ // Pages Router
60
66
  '**/pages/**/*.{js,mjs,cjs,jsx,ts,mts,cts,tsx}',
61
- // >= 13
62
- '**/src/app/**/*.{js,mjs,cjs,jsx,ts,mts,cts,tsx}',
67
+ // App Router
68
+ '**/app/**/*.{js,mjs,cjs,jsx,ts,mts,cts,tsx}',
63
69
  ],
64
70
  extends: resolve(__dirname, 'framework/next.js.js'),
65
71
  },
@@ -106,7 +112,7 @@ module.exports = {
106
112
  // ビルドツールの構成ファイル
107
113
  {
108
114
  files: [
109
- '**/{webpack,rollup,vite,postcss}.config.{js,mjs,cjs,ts,mts,cts}',
115
+ '**/{webpack,rollup,vite,postcss,next}.config.{js,mjs,cjs,ts,mts,cts}',
110
116
  '**/codegen.{js,mjs,cjs,ts,mts,cts}',
111
117
  ],
112
118
  extends: [
@@ -127,7 +133,7 @@ module.exports = {
127
133
  },
128
134
  // コーディングスタイル
129
135
  {
130
- files: '**/*',
136
+ files: '**/*.{js,mjs,cjs,jsx,ts,mts,cts,tsx}',
131
137
  extends: resolve(__dirname, 'presets/style.js'),
132
138
  },
133
139
  ],
@@ -2,13 +2,13 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  module.exports = {
4
4
  extends: ['plugin:editorconfig/noconflict', 'prettier'],
5
- plugins: ['editorconfig'],
5
+ plugins: ['@stylistic', 'editorconfig'],
6
6
  rules: {
7
- quotes: ['error', 'single'],
8
- semi: ['error', 'never'],
7
+ '@stylistic/quotes': ['error', 'single'],
8
+ '@stylistic/semi': ['error', 'never'],
9
9
  'unicode-bom': ['error', 'never'],
10
- 'eol-last': ['error', 'always'],
11
- 'no-trailing-spaces': ['error'],
10
+ '@stylistic/eol-last': ['error', 'always'],
11
+ '@stylistic/no-trailing-spaces': ['error'],
12
12
  },
13
13
  overrides: [
14
14
  {
@@ -6,7 +6,7 @@ import type { Linter } from 'eslint'
6
6
  */
7
7
  module.exports = {
8
8
  extends: ['plugin:editorconfig/noconflict', 'prettier'],
9
- plugins: ['editorconfig'],
9
+ plugins: ['@stylistic', 'editorconfig'],
10
10
  rules: {
11
11
  // インデント
12
12
  // - 基本インデントを 2 にする
@@ -15,15 +15,15 @@ module.exports = {
15
15
  // 詳細なインデントは競合するので無効にして prettier に任せる
16
16
 
17
17
  // ダブルクォーテーションを禁止
18
- quotes: ['error', 'single'],
18
+ '@stylistic/quotes': ['error', 'single'],
19
19
  // セミコロンを禁止
20
- semi: ['error', 'never'],
20
+ '@stylistic/semi': ['error', 'never'],
21
21
  // UTF-8 BOM を禁止
22
22
  'unicode-bom': ['error', 'never'],
23
23
  // 最終行に改行を挿入
24
- 'eol-last': ['error', 'always'],
24
+ '@stylistic/eol-last': ['error', 'always'],
25
25
  // 行末のスペースを禁止
26
- 'no-trailing-spaces': ['error'],
26
+ '@stylistic/no-trailing-spaces': ['error'],
27
27
  },
28
28
  overrides: [
29
29
  // JSON ではダブルクォーテーションを使う