eslint-config-typed 1.0.3 → 1.1.0

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.
Files changed (41) hide show
  1. package/README.md +4 -2
  2. package/dist/configs/plugins.mjs +2 -2
  3. package/dist/custom-rules/no-restricted-syntax2.mjs +2 -2
  4. package/dist/globals.d.mts +0 -2
  5. package/dist/plugins/total-functions/rules/no-hidden-type-assertions.mjs +1 -1
  6. package/dist/rules/eslint-import-rules.d.mts.map +1 -1
  7. package/dist/rules/eslint-import-rules.mjs +6 -3
  8. package/dist/rules/eslint-import-rules.mjs.map +1 -1
  9. package/dist/rules/eslint-jest-rules.mjs +3 -3
  10. package/dist/rules/eslint-playwright-rules.mjs +2 -2
  11. package/dist/rules/eslint-promise-rules.mjs +3 -3
  12. package/dist/rules/eslint-react-rules.d.mts.map +1 -1
  13. package/dist/rules/eslint-react-rules.mjs +14 -9
  14. package/dist/rules/eslint-react-rules.mjs.map +1 -1
  15. package/dist/rules/eslint-rules.d.mts.map +1 -1
  16. package/dist/rules/eslint-rules.mjs +15 -10
  17. package/dist/rules/eslint-rules.mjs.map +1 -1
  18. package/dist/rules/eslint-total-functions-rules.mjs +2 -2
  19. package/dist/rules/eslint-unicorn-rules.mjs +2 -2
  20. package/dist/rules/eslint-vitest-rules.mjs +5 -5
  21. package/dist/rules/typescript-eslint-rules.d.mts.map +1 -1
  22. package/dist/rules/typescript-eslint-rules.mjs +23 -19
  23. package/dist/rules/typescript-eslint-rules.mjs.map +1 -1
  24. package/dist/types/flat-config.d.mts.map +1 -1
  25. package/package.json +1 -1
  26. package/src/configs/plugins.mts +2 -2
  27. package/src/custom-rules/no-restricted-syntax2.mts +2 -2
  28. package/src/globals.d.mts +0 -2
  29. package/src/plugins/total-functions/rules/no-hidden-type-assertions.mts +1 -1
  30. package/src/plugins/total-functions/rules/no-partial-url-constructor.test.mts +1 -1
  31. package/src/rules/eslint-import-rules.mts +6 -3
  32. package/src/rules/eslint-jest-rules.mts +3 -3
  33. package/src/rules/eslint-playwright-rules.mts +2 -2
  34. package/src/rules/eslint-promise-rules.mts +3 -3
  35. package/src/rules/eslint-react-rules.mts +15 -9
  36. package/src/rules/eslint-rules.mts +15 -10
  37. package/src/rules/eslint-total-functions-rules.mts +2 -2
  38. package/src/rules/eslint-unicorn-rules.mts +2 -2
  39. package/src/rules/eslint-vitest-rules.mts +5 -5
  40. package/src/rules/typescript-eslint-rules.mts +23 -19
  41. package/src/types/flat-config.mts +2 -0
package/README.md CHANGED
@@ -84,9 +84,11 @@ const defineConfig = () => [
84
84
  ...eslintFlatConfigForTypeScript({
85
85
  tsconfigRootDir: thisDir,
86
86
  tsconfigFileName: './tsconfig.json',
87
- packageDirs: [path.resolve(thisDir, '../../..'), thisDir],
87
+ packageDirs: [thisDir],
88
+
89
+ // If you are using mono repo and the root package.json is in ../../../ :
90
+ // packageDirs: [path.resolve(thisDir, '../../..'), thisDir],
88
91
  }),
89
- ...eslintFlatConfigForReact(),
90
92
  eslintFlatConfigForVitest(),
91
93
 
92
94
  // You can override per-rule settings if necessary.
@@ -55,11 +55,11 @@ const plugins = {
55
55
  'prefer-arrow-functions': eslintPluginPreferArrowFunctions,
56
56
  // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
57
57
  promise: eslintPluginPromise,
58
- // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion
58
+ // eslint-disable-next-line total-functions/no-unsafe-type-assertion
59
59
  react: eslintPluginReact,
60
60
  // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
61
61
  'react-hooks': eslintPluginReactHooks,
62
- // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion
62
+ // eslint-disable-next-line total-functions/no-unsafe-type-assertion
63
63
  'react-refresh': eslintPluginReactRefresh,
64
64
  // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
65
65
  'react-perf': eslintPluginReactPerf,
@@ -32,7 +32,7 @@ const noRestrictedSyntax = {
32
32
  },
33
33
  },
34
34
  create: (context) => context.options.reduce((result, selectorOrObject) => {
35
- // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion
35
+ // eslint-disable-next-line total-functions/no-unsafe-type-assertion
36
36
  const selectorOrObjectCasted = selectorOrObject;
37
37
  const isStringFormat = typeof selectorOrObjectCasted === 'string';
38
38
  const hasCustomMessage = !isStringFormat && isNonEmptyString(selectorOrObjectCasted.message);
@@ -44,7 +44,7 @@ const noRestrictedSyntax = {
44
44
  : `Using '${selector}' is not allowed.`;
45
45
  // eslint-disable-next-line functional/immutable-data
46
46
  return Object.assign(result, {
47
- // eslint-disable-next-line prefer-arrow-functions/prefer-arrow-functions
47
+ // eslint-disable-next-line @typescript-eslint/prefer-readonly-parameter-types
48
48
  [selector](node) {
49
49
  context.report({
50
50
  node,
@@ -1,3 +1 @@
1
- /* eslint-disable import/unambiguous */
2
-
3
1
  /// <reference types="ts-type-forge" />
@@ -119,7 +119,7 @@ const noHiddenTypeAssertions = createRule({
119
119
  });
120
120
  const hasTypeNode = (typeElement) => {
121
121
  try {
122
- // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion
122
+ // eslint-disable-next-line total-functions/no-unsafe-type-assertion
123
123
  const typeAttr = typeElement
124
124
  .type;
125
125
  return typeAttr !== undefined && isTypeNode(typeAttr);
@@ -1 +1 @@
1
- {"version":3,"file":"eslint-import-rules.d.mts","sourceRoot":"","sources":["../../src/rules/eslint-import-rules.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAE7D,eAAO,MAAM,kBAAkB,EAAE,kBA0HvB,CAAC"}
1
+ {"version":3,"file":"eslint-import-rules.d.mts","sourceRoot":"","sources":["../../src/rules/eslint-import-rules.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAE7D,eAAO,MAAM,kBAAkB,EAAE,kBA6HvB,CAAC"}
@@ -1,5 +1,5 @@
1
1
  const eslintImportsRules = {
2
- // TypeScript を使っている場合このチェックは必要ない。
2
+ // Not needed when using TypeScript.
3
3
  'import/no-unresolved': 'off',
4
4
  'import/named': 'off',
5
5
  'import/default': 'error',
@@ -97,14 +97,17 @@ const eslintImportsRules = {
97
97
  },
98
98
  ],
99
99
  'import/no-named-default': 'off',
100
- /** Default export は定義側のリネームが import する側に反映されないので禁止 */
100
+ /**
101
+ * Prohibit default exports as renaming on the definition side is not
102
+ * reflected on the import side
103
+ */
101
104
  'import/no-default-export': 'error',
102
105
  'import/no-named-export': 'off',
103
106
  'import/no-anonymous-default-export': 'error',
104
107
  'import/group-exports': 'off',
105
108
  'import/dynamic-import-chunkname': 'error',
106
109
  'import/no-empty-named-blocks': 'error',
107
- 'import/enforce-node-protocol-usage': 'error',
110
+ 'import/enforce-node-protocol-usage': ['error', 'always'],
108
111
  // deprecated rules
109
112
  'import/imports-first': 0,
110
113
  };
@@ -1 +1 @@
1
- {"version":3,"file":"eslint-import-rules.mjs","sources":["../../src/rules/eslint-import-rules.mts"],"sourcesContent":[null],"names":[],"mappings":"AAEO,MAAM,kBAAkB,GAAuB;;AAEpD,IAAA,sBAAsB,EAAE,KAAK;AAE7B,IAAA,cAAc,EAAE,KAAK;AACrB,IAAA,gBAAgB,EAAE,OAAO;AACzB,IAAA,kBAAkB,EAAE,OAAO;IAC3B,4BAA4B,EAAE,KAAK;AACnC,IAAA,yBAAyB,EAAE,OAAO;AAClC,IAAA,2BAA2B,EAAE,OAAO;AACpC,IAAA,4BAA4B,EAAE;QAC5B,OAAO;AACP,QAAA;AACE,YAAA,KAAK,EAAE;gBACL,gBAAgB;gBAChB,cAAc;gBACd,8BAA8B;gBAC9B,kBAAkB;gBAClB,WAAW;gBACX,UAAU;gBACV,YAAY;gBACZ,uBAAuB;gBACvB,gBAAgB;gBAChB,iBAAiB;gBACjB,kBAAkB;gBAClB,gBAAgB;gBAChB,yCAAyC;gBACzC,eAAe;gBACf,aAAa;gBACb,YAAY;gBACZ,YAAY;AACb,aAAA;AACF,SAAA;AACF,KAAA;AACD,IAAA,iCAAiC,EAAE,OAAO;AAC1C,IAAA,uBAAuB,EAAE,OAAO;AAChC,IAAA,iBAAiB,EAAE,OAAO;AAC1B,IAAA,iCAAiC,EAAE,OAAO;AAC1C,IAAA,mCAAmC,EAAE,KAAK;;AAG1C,IAAA,wCAAwC,EAAE,CAAC,OAAO,EAAE,eAAe,CAAC;AAEpE,IAAA,6BAA6B,EAAE,OAAO;;AAGtC,IAAA,eAAe,EAAE,OAAO;AACxB,IAAA,4BAA4B,EAAE,OAAO;AACrC,IAAA,mCAAmC,EAAE,OAAO;;;AAI5C,IAAA,sBAAsB,EAAE,KAAK;AAE7B,IAAA,mCAAmC,EAAE,KAAK;AAC1C,IAAA,2BAA2B,EAAE,OAAO;;AAEpC,IAAA,0BAA0B,EAAE,KAAK;;AAGjC,IAAA,oBAAoB,EAAE,OAAO;AAC7B,IAAA,oBAAoB,EAAE,KAAK;AAC3B,IAAA,eAAe,EAAE,OAAO;AACxB,IAAA,0BAA0B,EAAE,KAAK;AACjC,IAAA,iCAAiC,EAAE,KAAK;;AAGxC,IAAA,cAAc,EAAE,CAAC,OAAO,EAAE,gBAAgB,CAAC;AAC3C,IAAA,qBAAqB,EAAE,KAAK;AAC5B,IAAA,sBAAsB,EAAE,OAAO;AAC/B,IAAA,qBAAqB,EAAE,KAAK;AAC5B,IAAA,mBAAmB,EAAE;QACnB,OAAO;QACP,OAAO;AACP,QAAA;YACE,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE;AAC3C,SAAA;AACF,KAAA;AAED,IAAA,cAAc,EAAE,KAAK;;;;;;;;AASrB,IAAA,6BAA6B,EAAE;QAC7B,OAAO;AACP,QAAA;AACE,YAAA,gBAAgB,EAAE,IAAI;AACtB,YAAA,KAAK,EAAE,CAAC;AACT,SAAA;AACF,KAAA;AACD,IAAA,8BAA8B,EAAE,KAAK;AACrC,IAAA,yBAAyB,EAAE,KAAK;AAChC,IAAA,6BAA6B,EAAE;QAC7B,OAAO;AACP,QAAA;AACE,YAAA,KAAK,EAAE;gBACL,UAAU;gBACV,8BAA8B;gBAC9B,UAAU;gBACV,YAAY;AACb,aAAA;AACF,SAAA;AACF,KAAA;AACD,IAAA,yBAAyB,EAAE,KAAK;;AAGhC,IAAA,0BAA0B,EAAE,OAAO;AAEnC,IAAA,wBAAwB,EAAE,KAAK;AAC/B,IAAA,oCAAoC,EAAE,OAAO;AAC7C,IAAA,sBAAsB,EAAE,KAAK;AAC7B,IAAA,iCAAiC,EAAE,OAAO;AAC1C,IAAA,8BAA8B,EAAE,OAAO;AACvC,IAAA,oCAAoC,EAAE,OAAO;;AAG7C,IAAA,sBAAsB,EAAE,CAAC;;;;;"}
1
+ {"version":3,"file":"eslint-import-rules.mjs","sources":["../../src/rules/eslint-import-rules.mts"],"sourcesContent":[null],"names":[],"mappings":"AAEO,MAAM,kBAAkB,GAAuB;;AAEpD,IAAA,sBAAsB,EAAE,KAAK;AAE7B,IAAA,cAAc,EAAE,KAAK;AACrB,IAAA,gBAAgB,EAAE,OAAO;AACzB,IAAA,kBAAkB,EAAE,OAAO;IAC3B,4BAA4B,EAAE,KAAK;AACnC,IAAA,yBAAyB,EAAE,OAAO;AAClC,IAAA,2BAA2B,EAAE,OAAO;AACpC,IAAA,4BAA4B,EAAE;QAC5B,OAAO;AACP,QAAA;AACE,YAAA,KAAK,EAAE;gBACL,gBAAgB;gBAChB,cAAc;gBACd,8BAA8B;gBAC9B,kBAAkB;gBAClB,WAAW;gBACX,UAAU;gBACV,YAAY;gBACZ,uBAAuB;gBACvB,gBAAgB;gBAChB,iBAAiB;gBACjB,kBAAkB;gBAClB,gBAAgB;gBAChB,yCAAyC;gBACzC,eAAe;gBACf,aAAa;gBACb,YAAY;gBACZ,YAAY;AACb,aAAA;AACF,SAAA;AACF,KAAA;AACD,IAAA,iCAAiC,EAAE,OAAO;AAC1C,IAAA,uBAAuB,EAAE,OAAO;AAChC,IAAA,iBAAiB,EAAE,OAAO;AAC1B,IAAA,iCAAiC,EAAE,OAAO;AAC1C,IAAA,mCAAmC,EAAE,KAAK;;AAG1C,IAAA,wCAAwC,EAAE,CAAC,OAAO,EAAE,eAAe,CAAC;AAEpE,IAAA,6BAA6B,EAAE,OAAO;;AAGtC,IAAA,eAAe,EAAE,OAAO;AACxB,IAAA,4BAA4B,EAAE,OAAO;AACrC,IAAA,mCAAmC,EAAE,OAAO;;;AAI5C,IAAA,sBAAsB,EAAE,KAAK;AAE7B,IAAA,mCAAmC,EAAE,KAAK;AAC1C,IAAA,2BAA2B,EAAE,OAAO;;AAEpC,IAAA,0BAA0B,EAAE,KAAK;;AAGjC,IAAA,oBAAoB,EAAE,OAAO;AAC7B,IAAA,oBAAoB,EAAE,KAAK;AAC3B,IAAA,eAAe,EAAE,OAAO;AACxB,IAAA,0BAA0B,EAAE,KAAK;AACjC,IAAA,iCAAiC,EAAE,KAAK;;AAGxC,IAAA,cAAc,EAAE,CAAC,OAAO,EAAE,gBAAgB,CAAC;AAC3C,IAAA,qBAAqB,EAAE,KAAK;AAC5B,IAAA,sBAAsB,EAAE,OAAO;AAC/B,IAAA,qBAAqB,EAAE,KAAK;AAC5B,IAAA,mBAAmB,EAAE;QACnB,OAAO;QACP,OAAO;AACP,QAAA;YACE,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE;AAC3C,SAAA;AACF,KAAA;AAED,IAAA,cAAc,EAAE,KAAK;;;;;;;;AASrB,IAAA,6BAA6B,EAAE;QAC7B,OAAO;AACP,QAAA;AACE,YAAA,gBAAgB,EAAE,IAAI;AACtB,YAAA,KAAK,EAAE,CAAC;AACT,SAAA;AACF,KAAA;AACD,IAAA,8BAA8B,EAAE,KAAK;AACrC,IAAA,yBAAyB,EAAE,KAAK;AAChC,IAAA,6BAA6B,EAAE;QAC7B,OAAO;AACP,QAAA;AACE,YAAA,KAAK,EAAE;gBACL,UAAU;gBACV,8BAA8B;gBAC9B,UAAU;gBACV,YAAY;AACb,aAAA;AACF,SAAA;AACF,KAAA;AACD,IAAA,yBAAyB,EAAE,KAAK;AAEhC;;;AAGG;AACH,IAAA,0BAA0B,EAAE,OAAO;AAEnC,IAAA,wBAAwB,EAAE,KAAK;AAC/B,IAAA,oCAAoC,EAAE,OAAO;AAC7C,IAAA,sBAAsB,EAAE,KAAK;AAC7B,IAAA,iCAAiC,EAAE,OAAO;AAC1C,IAAA,8BAA8B,EAAE,OAAO;AACvC,IAAA,oCAAoC,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC;;AAGzD,IAAA,sBAAsB,EAAE,CAAC;;;;;"}
@@ -1,5 +1,5 @@
1
1
  const eslintJestRules = {
2
- /* vitest, playwright と共通のルール(設定値をなるべく合わせる) */
2
+ /* Rules common with vitest and playwright (keep settings aligned) */
3
3
  'jest/expect-expect': 'error',
4
4
  'jest/max-expects': 'off',
5
5
  'jest/max-nested-describe': 'error',
@@ -30,7 +30,7 @@ const eslintJestRules = {
30
30
  'jest/valid-describe-callback': 'error',
31
31
  'jest/valid-expect': 'error',
32
32
  'jest/valid-title': 'off',
33
- /* vitest と共通のルール(設定値をなるべく合わせる) */
33
+ /* Rules common with vitest (keep settings aligned) */
34
34
  'jest/consistent-test-it': ['error', { fn: 'test' }],
35
35
  'jest/no-alias-methods': 'error',
36
36
  'jest/no-disabled-tests': 'error',
@@ -57,7 +57,7 @@ const eslintJestRules = {
57
57
  'jest/prefer-snapshot-hint': 'error',
58
58
  'jest/prefer-spy-on': 'error',
59
59
  'jest/prefer-todo': 'error',
60
- /* eslint-plugin-jest 独自ルール */
60
+ /* eslint-plugin-jest specific rules */
61
61
  'jest/no-confusing-set-timeout': 'error',
62
62
  'jest/no-deprecated-functions': 'error',
63
63
  'jest/no-done-callback': 'error',
@@ -1,5 +1,5 @@
1
1
  const eslintPlaywrightRules = {
2
- /* vitest と共通のルール(設定値をなるべく合わせる) */
2
+ /* Rules common with vitest (keep settings aligned) */
3
3
  'playwright/expect-expect': 'error',
4
4
  'playwright/max-expects': 'off',
5
5
  'playwright/max-nested-describe': 'error',
@@ -30,7 +30,7 @@ const eslintPlaywrightRules = {
30
30
  'playwright/valid-describe-callback': 'error',
31
31
  'playwright/valid-expect': 'error',
32
32
  'playwright/valid-title': 'off',
33
- /* eslint-plugin-playwright 独自ルール */
33
+ /* eslint-plugin-playwright specific rules */
34
34
  'playwright/missing-playwright-await': 'error',
35
35
  'playwright/no-element-handle': 'error',
36
36
  'playwright/no-eval': 'error',
@@ -6,9 +6,9 @@ const eslintPromiseRules = {
6
6
  'promise/no-native': 'off',
7
7
  'promise/no-nesting': 'error',
8
8
  'promise/no-promise-in-callback': 'error',
9
- // promise.then(...).catch(...) と書かれているときに、
10
- // then の中で呼び出した callback でエラーを throw していた場合に catch でそれも拾ってしまうという問題を指摘しているが、
11
- // then の中に callback を書かないべきであるとする根拠としては妥当でないと思われるため使用しない。
9
+ // When using promise.then(...).catch(...),
10
+ // this rule points out that errors thrown in callbacks within then() will be caught by the catch().
11
+ // However, this doesn't seem like a valid reason to prohibit writing callbacks inside then(), so we disable it.
12
12
  'promise/no-callback-in-promise': 'off',
13
13
  'promise/avoid-new': 'off',
14
14
  'promise/no-new-statics': 'error',
@@ -1 +1 @@
1
- {"version":3,"file":"eslint-react-rules.d.mts","sourceRoot":"","sources":["../../src/rules/eslint-react-rules.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAE3D,eAAO,MAAM,gBAAgB,EAAE,gBA4JrB,CAAC"}
1
+ {"version":3,"file":"eslint-react-rules.d.mts","sourceRoot":"","sources":["../../src/rules/eslint-react-rules.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAE3D,eAAO,MAAM,gBAAgB,EAAE,gBAkKrB,CAAC"}
@@ -22,7 +22,7 @@ const eslintReactRules = {
22
22
  'react/boolean-prop-naming': 'error',
23
23
  'react/button-has-type': 'error',
24
24
  'react/default-props-match-prop-types': 'error',
25
- /** Props を展開して使うかどうかを統一する。 */
25
+ /** Enforce consistent usage of props destructuring. */
26
26
  'react/destructuring-assignment': 'error',
27
27
  'react/display-name': 'error',
28
28
  'react/forbid-component-props': ['error', { forbid: ['className'] }],
@@ -37,21 +37,23 @@ const eslintReactRules = {
37
37
  'react/hook-use-state': 'off',
38
38
  'react/iframe-missing-sandbox': 'error',
39
39
  'react/jsx-boolean-value': ['error', 'never'],
40
+ // Enable to avoid rendering differences with characters like \n
40
41
  'react/jsx-curly-brace-presence': ['error', 'always'],
41
- /** ファイル名の統一 */
42
+ /** Enforce consistent file naming */
42
43
  'react/jsx-filename-extension': ['error', { extensions: ['.tsx'] }],
43
44
  'react/jsx-fragments': 'error',
44
45
  'react/jsx-handler-names': 'off', // disabled
45
46
  'react/jsx-key': 'error',
46
47
  'react/jsx-max-depth': 'off', // disabled
47
- /** JSXに直接コールバック関数を書くのを禁止する。 修正方法: React.useCallback を使うようにする。 */
48
+ /** Prohibit inline callback functions in JSX. Fix: Use React.useCallback. */
48
49
  'react/jsx-no-bind': 'error',
49
50
  'react/jsx-no-comment-textnodes': 'error',
50
51
  'react/jsx-no-constructed-context-values': 'error',
51
52
  'react/jsx-no-duplicate-props': 'error',
52
53
  /**
53
- * JSXに文字列を直接書くのを避け `<div>{"aaa"}</div>` のように書くことを強制する。 変数に `{}`
54
- * を付け忘れるミスに気づきやすくなったり syntax highlighting で読みやすくなるなどのメリットがある。
54
+ * Avoid writing strings directly in JSX, enforce using `<div>{"aaa"}</div>`
55
+ * format. Benefits: Easier to catch missing `{}` around variables, better
56
+ * syntax highlighting for readability.
55
57
  */
56
58
  'react/jsx-no-literals': 'error',
57
59
  'react/jsx-no-script-url': 'error',
@@ -59,14 +61,17 @@ const eslintReactRules = {
59
61
  'react/jsx-no-undef': 'error',
60
62
  'react/jsx-no-useless-fragment': ['error', { allowExpressions: true }],
61
63
  'react/jsx-pascal-case': 'error',
62
- /** `{...props}` 形式でpropsを渡すと props の過不足のチェックが甘くなるため */
64
+ /**
65
+ * Avoid `{...props}` spread as it weakens type checking for props
66
+ * excess/shortage
67
+ */
63
68
  'react/jsx-props-no-spreading': 'error',
64
69
  'react/jsx-sort-props': [
65
70
  'error',
66
71
  { callbacksLast: true, reservedFirst: true },
67
72
  ],
68
73
  'react/jsx-uses-react': 'off', // disabled
69
- /** ファイル名の統一 */
74
+ /** Enforce consistent file naming */
70
75
  'react/jsx-uses-vars': 'error',
71
76
  'react/no-access-state-in-setstate': 'error',
72
77
  'react/no-adjacent-inline-elements': 'error',
@@ -96,7 +101,7 @@ const eslintReactRules = {
96
101
  'react/no-this-in-sfc': 'error',
97
102
  'react/no-typos': 'error',
98
103
  'react/no-unescaped-entities': 'error',
99
- // @emotion/react css prop を使用するため
104
+ // Allow css prop for @emotion/react
100
105
  'react/no-unknown-property': ['error', { ignore: ['css'] }],
101
106
  'react/no-unsafe': 'error',
102
107
  'react/no-object-type-as-default-prop': 'error',
@@ -109,7 +114,7 @@ const eslintReactRules = {
109
114
  'react/prefer-exact-props': 'error',
110
115
  'react/prefer-read-only-props': 'error',
111
116
  'react/prefer-stateless-function': 'error',
112
- /** TypeScript では不要 */
117
+ /** Not needed with TypeScript */
113
118
  'react/prop-types': 'off',
114
119
  'react/react-in-jsx-scope': 'off', // disabled
115
120
  'react/require-default-props': 'error',
@@ -1 +1 @@
1
- {"version":3,"file":"eslint-react-rules.mjs","sources":["../../src/rules/eslint-react-rules.mts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"eslint-react-rules.mjs","sources":["../../src/rules/eslint-react-rules.mts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"eslint-rules.d.mts","sourceRoot":"","sources":["../../src/rules/eslint-rules.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,WAAW,EAA0B,MAAM,oBAAoB,CAAC;AAE9E,eAAO,MAAM,gBAAgB;;;GAoC5B,CAAC;AAEF,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;EA2BiC,CAAC;AAEhE,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiBsB,CAAC;AAEhE,0EAA0E;AAC1E,eAAO,MAAM,WAAW,EAAE,WAoXhB,CAAC"}
1
+ {"version":3,"file":"eslint-rules.d.mts","sourceRoot":"","sources":["../../src/rules/eslint-rules.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,WAAW,EAA0B,MAAM,oBAAoB,CAAC;AAE9E,eAAO,MAAM,gBAAgB;;;GAoC5B,CAAC;AAEF,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;EA2BiC,CAAC;AAEhE,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiBsB,CAAC;AAEhE,0EAA0E;AAC1E,eAAO,MAAM,WAAW,EAAE,WAyXhB,CAAC"}
@@ -63,17 +63,17 @@ const restrictedGlobals = [
63
63
  const restrictedGlobalsForFrontend = [
64
64
  ...restrictedGlobals,
65
65
  {
66
- // react-router location との曖昧性回避のため
66
+ // Avoid ambiguity with react-router's location
67
67
  name: 'location',
68
68
  message: "use 'window.location' instead.",
69
69
  },
70
70
  {
71
- // react-router history との曖昧性回避のため
71
+ // Avoid ambiguity with react-router's history
72
72
  name: 'history',
73
73
  message: "use 'window.history' instead.",
74
74
  },
75
75
  {
76
- // react-router navigator との曖昧性回避のため
76
+ // Avoid ambiguity with react-router's navigator
77
77
  name: 'navigator',
78
78
  message: "use 'window.navigator' instead.",
79
79
  },
@@ -164,7 +164,7 @@ const eslintRules = {
164
164
  generators: 'never',
165
165
  },
166
166
  ],
167
- 'func-style': 'off', // 関数オーバーロードで偽陽性が出る
167
+ 'func-style': 'off', // False positives with function overloads
168
168
  'grouped-accessor-pairs': 'error',
169
169
  'guard-for-in': 'error',
170
170
  'id-denylist': 'error',
@@ -208,7 +208,7 @@ const eslintRules = {
208
208
  'no-empty-pattern': 'error',
209
209
  'no-empty-static-block': 'error',
210
210
  'no-empty': 'error',
211
- 'no-eq-null': 'off', // eqeqeqnull許容するならoff
211
+ 'no-eq-null': 'off', // off since eqeqeq allows null
212
212
  'no-eval': 'error',
213
213
  'no-ex-assign': 'error',
214
214
  'no-extend-native': 'error',
@@ -256,7 +256,10 @@ const eslintRules = {
256
256
  'no-octal-escape': 'error',
257
257
  'no-octal': 'error',
258
258
  'no-param-reassign': 'error',
259
- /** `++x` や `x++` という式の値を使用しているコードは可読性が落ちやすいため警告を出す */
259
+ /**
260
+ * Warn against using the value of expressions like `++x` or `x++` as they
261
+ * reduce readability
262
+ */
260
263
  'no-plusplus': [
261
264
  'error',
262
265
  {
@@ -271,7 +274,8 @@ const eslintRules = {
271
274
  'no-restricted-globals': ['error', ...restrictedGlobals],
272
275
  'no-restricted-properties': 'error',
273
276
  /**
274
- * 他ルールで実現しづらい禁止したい構文をここに書く。 以下のAST checker を用いて selector をどう書くべきか調べることができる。
277
+ * Write restricted syntax here that is difficult to achieve with other rules.
278
+ * Use the following AST checker to determine how to write selectors:
275
279
  *
276
280
  * AST checker:
277
281
  * https://typescript-eslint.io/play/#ts=4.7.2&sourceType=module&showAST=es
@@ -319,9 +323,10 @@ const eslintRules = {
319
323
  'prefer-object-spread': 'error',
320
324
  'prefer-regex-literals': 'error',
321
325
  /**
322
- * `+` の曖昧性回避のため使用。 restrict-plus-operands で bigint, number, string
323
- * 同士にしか使用できないように制限し、 prefer-template で文字列の連結に `+` を使うことも禁止する。 修正方法: template
324
- * literal を使うか、文字列の配列を `join("")` で結合する。
326
+ * Used to avoid ambiguity with `+` operator. restrict-plus-operands limits
327
+ * usage to only bigint, number, string types, and prefer-template prohibits
328
+ * using `+` for string concatenation. Fix: Use template literals or join
329
+ * string arrays with `join("")`.
325
330
  *
326
331
  * - a + b -> `${a}${b}`
327
332
  * - s_1 + s_2 + ... + s_n -> [s_1, ..., s_n].join("")
@@ -1 +1 @@
1
- {"version":3,"file":"eslint-rules.mjs","sources":["../../src/rules/eslint-rules.mts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"eslint-rules.mjs","sources":["../../src/rules/eslint-rules.mts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  const eslintTotalFunctionsRules = {
2
2
  'total-functions/require-strict-mode': 'error',
3
- // @typescript-eslint/no-unsafe-type-assertion より厳しくチェックできることが分かったのでこちらを優先
3
+ // Prioritize this as it can check more strictly than @typescript-eslint/no-unsafe-type-assertion
4
4
  'total-functions/no-unsafe-type-assertion': 'error',
5
- // 動作が重いのと偽陽性があるためオフ
5
+ // Off due to performance issues and false positives
6
6
  'total-functions/no-unsafe-readonly-mutable-assignment': 'off',
7
7
  'total-functions/no-unsafe-mutable-readonly-assignment': 'off',
8
8
  'total-functions/no-enums': 'error',
@@ -9,7 +9,7 @@ const eslintUnicornRules = {
9
9
  'unicorn/number-literal-case': 'off',
10
10
  'unicorn/better-regex': 'error',
11
11
  'unicorn/catch-error-name': 'error',
12
- /** Props を展開して使うかどうかを統一する。 */
12
+ /** Enforce consistent usage of destructuring. */
13
13
  'unicorn/consistent-destructuring': 'error',
14
14
  'unicorn/consistent-function-scoping': 'error',
15
15
  'unicorn/custom-error-definition': 'off',
@@ -17,7 +17,7 @@ const eslintUnicornRules = {
17
17
  'unicorn/escape-case': 'error',
18
18
  'unicorn/expiring-todo-comments': 'error',
19
19
  'unicorn/explicit-length-check': 'off',
20
- /** ファイル名の統一 */
20
+ /** Enforce consistent file naming */
21
21
  'unicorn/filename-case': [
22
22
  'error',
23
23
  {
@@ -1,5 +1,5 @@
1
1
  const eslintVitestRules = {
2
- /* jest, playwright と共通のルール(設定値をなるべく合わせる) */
2
+ /* Rules common with jest and playwright (keep settings aligned) */
3
3
  'vitest/expect-expect': 'error',
4
4
  'vitest/max-expects': 'off',
5
5
  'vitest/max-nested-describe': 'error',
@@ -30,7 +30,7 @@ const eslintVitestRules = {
30
30
  'vitest/valid-describe-callback': 'error',
31
31
  'vitest/valid-expect': 'error',
32
32
  'vitest/valid-title': 'off',
33
- /* jest と共通のルール(設定値をなるべく合わせる) */
33
+ /* Rules common with jest (keep settings aligned) */
34
34
  'vitest/consistent-test-it': ['error', { fn: 'test' }],
35
35
  'vitest/no-alias-methods': 'error',
36
36
  'vitest/no-disabled-tests': 'error',
@@ -57,12 +57,12 @@ const eslintVitestRules = {
57
57
  'vitest/prefer-snapshot-hint': 'error',
58
58
  'vitest/prefer-spy-on': 'error',
59
59
  'vitest/prefer-todo': 'error',
60
- /* eslint-plugin-vitest 独自ルール */
61
- // inline test を書けなくなるのでオフ
60
+ /* eslint-plugin-vitest specific rules */
61
+ // Off to allow writing inline tests
62
62
  'vitest/no-conditional-tests': 'off',
63
63
  'vitest/consistent-test-filename': 'error',
64
64
  'vitest/no-import-node-test': 'error',
65
- // toBeFalsy() toBe(false) より緩いのでこれらのルールは却下
65
+ // Reject these rules because toBeFalsy() is looser than toBe(false)
66
66
  'vitest/prefer-to-be-falsy': 'off',
67
67
  'vitest/prefer-to-be-truthy': 'off',
68
68
  'vitest/prefer-to-be-object': 'error',
@@ -1 +1 @@
1
- {"version":3,"file":"typescript-eslint-rules.d.mts","sourceRoot":"","sources":["../../src/rules/typescript-eslint-rules.mts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,uBAAuB,EAC5B,KAAK,qBAAqB,EAC1B,KAAK,2BAA2B,EACjC,MAAM,oBAAoB,CAAC;AAE5B,eAAO,MAAM,QAAQ,EAAE,2BAA2B,CAAC,wCAAwC,CAAC,CAAC,OAAO,CAMxF,CAAC;AAGb,eAAO,MAAM,uBAAuB,EAAE,uBAmB5B,CAAC;AAEX,eAAO,MAAM,qBAAqB,EAAE,qBAwX1B,CAAC"}
1
+ {"version":3,"file":"typescript-eslint-rules.d.mts","sourceRoot":"","sources":["../../src/rules/typescript-eslint-rules.mts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,uBAAuB,EAC5B,KAAK,qBAAqB,EAC1B,KAAK,2BAA2B,EACjC,MAAM,oBAAoB,CAAC;AAE5B,eAAO,MAAM,QAAQ,EAAE,2BAA2B,CAAC,wCAAwC,CAAC,CAAC,OAAO,CAMxF,CAAC;AAGb,eAAO,MAAM,uBAAuB,EAAE,uBAmB5B,CAAC;AAEX,eAAO,MAAM,qBAAqB,EAAE,qBA4X1B,CAAC"}
@@ -4,7 +4,7 @@ const banTypes = {
4
4
  fixWith: 'UnknownRecord',
5
5
  },
6
6
  };
7
- // Note: 同名の name path を複数回定義すると後から定義したもので上書きされている可能性あり
7
+ // Note: If paths with the same name are defined multiple times, later definitions may overwrite earlier ones
8
8
  const restrictedImportsOption = {
9
9
  paths: [
10
10
  {
@@ -56,12 +56,11 @@ const typescriptEslintRules = {
56
56
  { fixMixedExportsWithInlineTypeSpecifier: true },
57
57
  ],
58
58
  '@typescript-eslint/default-param-last': 'error',
59
- /** Prefer noPropertyAccessFromIndexSignature */
60
- '@typescript-eslint/dot-notation': 'off',
61
- // '@typescript-eslint/dot-notation': [
62
- // 'error',
63
- // { allowIndexSignaturePropertyAccess: true },
64
- // ],
59
+ /** Related to noPropertyAccessFromIndexSignature tsc option */
60
+ '@typescript-eslint/dot-notation': [
61
+ 'error',
62
+ { allowIndexSignaturePropertyAccess: true },
63
+ ],
65
64
  '@typescript-eslint/explicit-function-return-type': [
66
65
  'error',
67
66
  {
@@ -83,7 +82,8 @@ const typescriptEslintRules = {
83
82
  '@typescript-eslint/init-declarations': 'off', // let is disabled by functional/no-let
84
83
  '@typescript-eslint/member-ordering': 'off', // disabled
85
84
  /**
86
- * 関数メンバーをメソッド記法で書くと双変になり安全性が低くなるため
85
+ * Function members written in method notation become bivariant, reducing type
86
+ * safety
87
87
  * https://github.com/Microsoft/TypeScript/wiki/FAQ#why-are-function-parameters-bivariant
88
88
  */
89
89
  '@typescript-eslint/method-signature-style': 'error',
@@ -102,7 +102,7 @@ const typescriptEslintRules = {
102
102
  '@typescript-eslint/no-floating-promises': 'error',
103
103
  '@typescript-eslint/no-for-in-array': 'error',
104
104
  '@typescript-eslint/no-implied-eval': 'error',
105
- /** 型を明示的に書きたい場合もあるためオフに */
105
+ /** Off to allow explicit type annotations when desired */
106
106
  '@typescript-eslint/no-inferrable-types': 'off', // disabled
107
107
  '@typescript-eslint/no-invalid-this': 'error',
108
108
  '@typescript-eslint/no-invalid-void-type': 'error',
@@ -113,7 +113,7 @@ const typescriptEslintRules = {
113
113
  '@typescript-eslint/no-misused-promises': [
114
114
  'error',
115
115
  {
116
- checksConditionals: false, // strict-boolean-expression で十分
116
+ checksConditionals: false, // strict-boolean-expression is sufficient
117
117
  },
118
118
  ],
119
119
  '@typescript-eslint/no-namespace': 'off', // disabled
@@ -270,16 +270,20 @@ const typescriptEslintRules = {
270
270
  '@typescript-eslint/prefer-return-this-type': 'error',
271
271
  '@typescript-eslint/prefer-string-starts-ends-with': 'error',
272
272
  '@typescript-eslint/promise-function-async': 'off', // disabled
273
- /** `sort` はデフォルトで文字列としての比較を行うため、数値のソートを行おうとしたときに比較関数を忘れることを防ぐため使用。 */
273
+ /**
274
+ * Prevent forgetting compare function when sorting numbers, as `sort`
275
+ * defaults to string comparison.
276
+ */
274
277
  '@typescript-eslint/require-array-sort-compare': [
275
278
  'error',
276
279
  { ignoreStringArrays: true },
277
280
  ],
278
281
  '@typescript-eslint/require-await': 'error',
279
282
  /**
280
- * `+` の曖昧性回避のため使用。 restrict-plus-operands で bigint, number, string
281
- * 同士にしか使用できないように制限し、 prefer-template で文字列の連結に `+` を使うことも禁止する。 修正方法: template
282
- * literal を使うか、文字列の配列を `join("")` で結合する。
283
+ * Used to avoid ambiguity with `+` operator. restrict-plus-operands limits
284
+ * usage to only bigint, number, string types, and prefer-template prohibits
285
+ * using `+` for string concatenation. Fix: Use template literals or join
286
+ * string arrays with `join("")`.
283
287
  *
284
288
  * - A + b -> `${a}${b}`
285
289
  * - S_1 + s_2 + ... + s_n -> [s_1, ..., s_n].join("")
@@ -309,14 +313,14 @@ const typescriptEslintRules = {
309
313
  ],
310
314
  '@typescript-eslint/return-await': 'error',
311
315
  /**
312
- * Boolean への暗黙のキャストを回避するために使用。 数値 `0`, `NaN` 文字列 `""` が条件部に来たときに false
313
- * として扱われるのを 見落とさないようにするため。
316
+ * Used to avoid implicit casting to Boolean. Prevents overlooking that
317
+ * numbers `0`, `NaN` and string `""` are treated as false in conditionals.
314
318
  */
315
319
  '@typescript-eslint/strict-boolean-expressions': [
316
320
  'error',
317
321
  { allowString: false, allowNumber: false, allowNullableObject: false },
318
322
  ],
319
- /** Switch case 漏れを防ぐ(型情報を使用) */
323
+ /** Prevent missing switch cases (using type information) */
320
324
  '@typescript-eslint/switch-exhaustiveness-check': [
321
325
  'error',
322
326
  {
@@ -357,12 +361,12 @@ const typescriptEslintRules = {
357
361
  '@typescript-eslint/no-empty-object-type': 'error',
358
362
  '@typescript-eslint/no-unnecessary-parameter-property-assignment': 'error',
359
363
  '@typescript-eslint/no-unnecessary-template-expression': 'error',
360
- // 再帰型で無限ループが発生して落ちるバグがあるため一旦オフ
364
+ // Off temporarily due to bug causing infinite loop with recursive types
361
365
  '@typescript-eslint/no-unnecessary-type-parameters': 'off',
362
366
  '@typescript-eslint/no-unsafe-function-type': 'error',
363
367
  '@typescript-eslint/no-wrapper-object-types': 'error',
364
368
  '@typescript-eslint/no-deprecated': 'error',
365
- // total-functions/no-unsafe-type-assertion の方が厳格なチェックができるようなのでこちらはオフ
369
+ // Off as total-functions/no-unsafe-type-assertion provides stricter checking
366
370
  '@typescript-eslint/no-unsafe-type-assertion': 'off',
367
371
  '@typescript-eslint/related-getter-setter-pairs': 'error',
368
372
  '@typescript-eslint/no-misused-spread': 'error',
@@ -1 +1 @@
1
- {"version":3,"file":"typescript-eslint-rules.mjs","sources":["../../src/rules/typescript-eslint-rules.mts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"typescript-eslint-rules.mjs","sources":["../../src/rules/typescript-eslint-rules.mts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"flat-config.d.mts","sourceRoot":"","sources":["../../src/types/flat-config.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,KAAK,UAAU,IAAI,WAAW,EAAE,MAAM,oCAAoC,CAAC;AAEpF,MAAM,MAAM,UAAU,GAAG,YAAY,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;AAG1D,MAAM,MAAM,YAAY,GAAG,YAAY,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;AAE5D,MAAM,MAAM,IAAI,GAAG,YAAY,CAAC,cAAc,CAAC,CAAC;AAIhD,MAAM,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC"}
1
+ {"version":3,"file":"flat-config.d.mts","sourceRoot":"","sources":["../../src/types/flat-config.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AAGnD,OAAO,EAAE,KAAK,UAAU,IAAI,WAAW,EAAE,MAAM,oCAAoC,CAAC;AAEpF,MAAM,MAAM,UAAU,GAAG,YAAY,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;AAG1D,MAAM,MAAM,YAAY,GAAG,YAAY,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;AAE5D,MAAM,MAAM,IAAI,GAAG,YAAY,CAAC,cAAc,CAAC,CAAC;AAIhD,MAAM,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "eslint-config-typed",
3
- "version": "1.0.3",
3
+ "version": "1.1.0",
4
4
  "private": false,
5
5
  "keywords": [
6
6
  "typescript"
@@ -99,11 +99,11 @@ export const plugins: Record<
99
99
  'prefer-arrow-functions': eslintPluginPreferArrowFunctions,
100
100
  // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
101
101
  promise: eslintPluginPromise,
102
- // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion
102
+ // eslint-disable-next-line total-functions/no-unsafe-type-assertion
103
103
  react: eslintPluginReact as unknown as ESLintPlugin,
104
104
  // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
105
105
  'react-hooks': eslintPluginReactHooks,
106
- // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion
106
+ // eslint-disable-next-line total-functions/no-unsafe-type-assertion
107
107
  'react-refresh': eslintPluginReactRefresh as unknown as ESLintPlugin,
108
108
  // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
109
109
  'react-perf': eslintPluginReactPerf,
@@ -41,7 +41,7 @@ export const noRestrictedSyntax: Rule.RuleModule = {
41
41
  create: (context: DeepReadonly<Rule.RuleContext>) =>
42
42
  context.options.reduce(
43
43
  (result: UnknownRecord, selectorOrObject: unknown) => {
44
- // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion
44
+ // eslint-disable-next-line total-functions/no-unsafe-type-assertion
45
45
  const selectorOrObjectCasted = selectorOrObject as
46
46
  | string
47
47
  | Readonly<{ selector: string; message?: string }>;
@@ -61,7 +61,7 @@ export const noRestrictedSyntax: Rule.RuleModule = {
61
61
 
62
62
  // eslint-disable-next-line functional/immutable-data
63
63
  return Object.assign(result, {
64
- // eslint-disable-next-line prefer-arrow-functions/prefer-arrow-functions
64
+ // eslint-disable-next-line @typescript-eslint/prefer-readonly-parameter-types
65
65
  [selector](node: ESTree.Node) {
66
66
  context.report({
67
67
  node,
package/src/globals.d.mts CHANGED
@@ -1,3 +1 @@
1
- /* eslint-disable import/unambiguous */
2
-
3
1
  /// <reference types="ts-type-forge" />
@@ -197,7 +197,7 @@ const hasTypeNode = (
197
197
  typeElement: TypeElement,
198
198
  ): typeElement is TypeElement & Readonly<{ type: TypeNode }> => {
199
199
  try {
200
- // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion
200
+ // eslint-disable-next-line total-functions/no-unsafe-type-assertion
201
201
  const typeAttr = (typeElement as Partial<Readonly<{ type: TypeNode }>>)
202
202
  .type;
203
203
  return typeAttr !== undefined && isTypeNode(typeAttr);
@@ -98,7 +98,7 @@ ruleTester.run('no-partial-url-constructor', noPartialUrlConstructor, {
98
98
  },
99
99
  ],
100
100
  },
101
- // TODO: テストケース復元する
101
+ // TODO: Restore test cases
102
102
  // {
103
103
  // filename: 'file.ts',
104
104
  // code: `
@@ -1,7 +1,7 @@
1
1
  import { type EslintImportsRules } from '../types/index.mjs';
2
2
 
3
3
  export const eslintImportsRules: EslintImportsRules = {
4
- // TypeScript を使っている場合このチェックは必要ない。
4
+ // Not needed when using TypeScript.
5
5
  'import/no-unresolved': 'off',
6
6
 
7
7
  'import/named': 'off',
@@ -110,7 +110,10 @@ export const eslintImportsRules: EslintImportsRules = {
110
110
  ],
111
111
  'import/no-named-default': 'off',
112
112
 
113
- /** Default export は定義側のリネームが import する側に反映されないので禁止 */
113
+ /**
114
+ * Prohibit default exports as renaming on the definition side is not
115
+ * reflected on the import side
116
+ */
114
117
  'import/no-default-export': 'error',
115
118
 
116
119
  'import/no-named-export': 'off',
@@ -118,7 +121,7 @@ export const eslintImportsRules: EslintImportsRules = {
118
121
  'import/group-exports': 'off',
119
122
  'import/dynamic-import-chunkname': 'error',
120
123
  'import/no-empty-named-blocks': 'error',
121
- 'import/enforce-node-protocol-usage': 'error',
124
+ 'import/enforce-node-protocol-usage': ['error', 'always'],
122
125
 
123
126
  // deprecated rules
124
127
  'import/imports-first': 0,
@@ -1,7 +1,7 @@
1
1
  import { type EslintJestRules } from '../types/index.mjs';
2
2
 
3
3
  export const eslintJestRules: EslintJestRules = {
4
- /* vitest, playwright と共通のルール(設定値をなるべく合わせる) */
4
+ /* Rules common with vitest and playwright (keep settings aligned) */
5
5
  'jest/expect-expect': 'error',
6
6
  'jest/max-expects': 'off',
7
7
  'jest/max-nested-describe': 'error',
@@ -33,7 +33,7 @@ export const eslintJestRules: EslintJestRules = {
33
33
  'jest/valid-expect': 'error',
34
34
  'jest/valid-title': 'off',
35
35
 
36
- /* vitest と共通のルール(設定値をなるべく合わせる) */
36
+ /* Rules common with vitest (keep settings aligned) */
37
37
  'jest/consistent-test-it': ['error', { fn: 'test' }],
38
38
  'jest/no-alias-methods': 'error',
39
39
  'jest/no-disabled-tests': 'error',
@@ -61,7 +61,7 @@ export const eslintJestRules: EslintJestRules = {
61
61
  'jest/prefer-spy-on': 'error',
62
62
  'jest/prefer-todo': 'error',
63
63
 
64
- /* eslint-plugin-jest 独自ルール */
64
+ /* eslint-plugin-jest specific rules */
65
65
 
66
66
  'jest/no-confusing-set-timeout': 'error',
67
67
  'jest/no-deprecated-functions': 'error',
@@ -1,7 +1,7 @@
1
1
  import { type EslintPlaywrightRules } from '../types/index.mjs';
2
2
 
3
3
  export const eslintPlaywrightRules: EslintPlaywrightRules = {
4
- /* vitest と共通のルール(設定値をなるべく合わせる) */
4
+ /* Rules common with vitest (keep settings aligned) */
5
5
  'playwright/expect-expect': 'error',
6
6
  'playwright/max-expects': 'off',
7
7
  'playwright/max-nested-describe': 'error',
@@ -33,7 +33,7 @@ export const eslintPlaywrightRules: EslintPlaywrightRules = {
33
33
  'playwright/valid-expect': 'error',
34
34
  'playwright/valid-title': 'off',
35
35
 
36
- /* eslint-plugin-playwright 独自ルール */
36
+ /* eslint-plugin-playwright specific rules */
37
37
 
38
38
  'playwright/missing-playwright-await': 'error',
39
39
  'playwright/no-element-handle': 'error',
@@ -9,9 +9,9 @@ export const eslintPromiseRules: EslintPromiseRules = {
9
9
  'promise/no-nesting': 'error',
10
10
  'promise/no-promise-in-callback': 'error',
11
11
 
12
- // promise.then(...).catch(...) と書かれているときに、
13
- // then の中で呼び出した callback でエラーを throw していた場合に catch でそれも拾ってしまうという問題を指摘しているが、
14
- // then の中に callback を書かないべきであるとする根拠としては妥当でないと思われるため使用しない。
12
+ // When using promise.then(...).catch(...),
13
+ // this rule points out that errors thrown in callbacks within then() will be caught by the catch().
14
+ // However, this doesn't seem like a valid reason to prohibit writing callbacks inside then(), so we disable it.
15
15
  'promise/no-callback-in-promise': 'off',
16
16
 
17
17
  'promise/avoid-new': 'off',
@@ -26,7 +26,7 @@ export const eslintReactRules: EslintReactRules = {
26
26
  'react/button-has-type': 'error',
27
27
  'react/default-props-match-prop-types': 'error',
28
28
 
29
- /** Props を展開して使うかどうかを統一する。 */
29
+ /** Enforce consistent usage of props destructuring. */
30
30
  'react/destructuring-assignment': 'error',
31
31
 
32
32
  'react/display-name': 'error',
@@ -42,9 +42,11 @@ export const eslintReactRules: EslintReactRules = {
42
42
  'react/hook-use-state': 'off',
43
43
  'react/iframe-missing-sandbox': 'error',
44
44
  'react/jsx-boolean-value': ['error', 'never'],
45
+
46
+ // Enable to avoid rendering differences with characters like \n
45
47
  'react/jsx-curly-brace-presence': ['error', 'always'],
46
48
 
47
- /** ファイル名の統一 */
49
+ /** Enforce consistent file naming */
48
50
  'react/jsx-filename-extension': ['error', { extensions: ['.tsx'] }],
49
51
 
50
52
  'react/jsx-fragments': 'error',
@@ -52,7 +54,7 @@ export const eslintReactRules: EslintReactRules = {
52
54
  'react/jsx-key': 'error',
53
55
  'react/jsx-max-depth': 'off', // disabled
54
56
 
55
- /** JSXに直接コールバック関数を書くのを禁止する。 修正方法: React.useCallback を使うようにする。 */
57
+ /** Prohibit inline callback functions in JSX. Fix: Use React.useCallback. */
56
58
  'react/jsx-no-bind': 'error',
57
59
 
58
60
  'react/jsx-no-comment-textnodes': 'error',
@@ -60,8 +62,9 @@ export const eslintReactRules: EslintReactRules = {
60
62
  'react/jsx-no-duplicate-props': 'error',
61
63
 
62
64
  /**
63
- * JSXに文字列を直接書くのを避け `<div>{"aaa"}</div>` のように書くことを強制する。 変数に `{}`
64
- * を付け忘れるミスに気づきやすくなったり syntax highlighting で読みやすくなるなどのメリットがある。
65
+ * Avoid writing strings directly in JSX, enforce using `<div>{"aaa"}</div>`
66
+ * format. Benefits: Easier to catch missing `{}` around variables, better
67
+ * syntax highlighting for readability.
65
68
  */
66
69
  'react/jsx-no-literals': 'error',
67
70
 
@@ -71,7 +74,10 @@ export const eslintReactRules: EslintReactRules = {
71
74
  'react/jsx-no-useless-fragment': ['error', { allowExpressions: true }],
72
75
  'react/jsx-pascal-case': 'error',
73
76
 
74
- /** `{...props}` 形式でpropsを渡すと props の過不足のチェックが甘くなるため */
77
+ /**
78
+ * Avoid `{...props}` spread as it weakens type checking for props
79
+ * excess/shortage
80
+ */
75
81
  'react/jsx-props-no-spreading': 'error',
76
82
 
77
83
  'react/jsx-sort-props': [
@@ -81,7 +87,7 @@ export const eslintReactRules: EslintReactRules = {
81
87
 
82
88
  'react/jsx-uses-react': 'off', // disabled
83
89
 
84
- /** ファイル名の統一 */
90
+ /** Enforce consistent file naming */
85
91
  'react/jsx-uses-vars': 'error',
86
92
 
87
93
  'react/no-access-state-in-setstate': 'error',
@@ -113,7 +119,7 @@ export const eslintReactRules: EslintReactRules = {
113
119
  'react/no-typos': 'error',
114
120
  'react/no-unescaped-entities': 'error',
115
121
 
116
- // @emotion/react css prop を使用するため
122
+ // Allow css prop for @emotion/react
117
123
  'react/no-unknown-property': ['error', { ignore: ['css'] }],
118
124
 
119
125
  'react/no-unsafe': 'error',
@@ -128,7 +134,7 @@ export const eslintReactRules: EslintReactRules = {
128
134
  'react/prefer-read-only-props': 'error',
129
135
  'react/prefer-stateless-function': 'error',
130
136
 
131
- /** TypeScript では不要 */
137
+ /** Not needed with TypeScript */
132
138
  'react/prop-types': 'off',
133
139
 
134
140
  'react/react-in-jsx-scope': 'off', // disabled
@@ -70,17 +70,17 @@ export const restrictedGlobals = [
70
70
  export const restrictedGlobalsForFrontend = [
71
71
  ...restrictedGlobals,
72
72
  {
73
- // react-router location との曖昧性回避のため
73
+ // Avoid ambiguity with react-router's location
74
74
  name: 'location',
75
75
  message: "use 'window.location' instead.",
76
76
  },
77
77
  {
78
- // react-router history との曖昧性回避のため
78
+ // Avoid ambiguity with react-router's history
79
79
  name: 'history',
80
80
  message: "use 'window.history' instead.",
81
81
  },
82
82
  {
83
- // react-router navigator との曖昧性回避のため
83
+ // Avoid ambiguity with react-router's navigator
84
84
  name: 'navigator',
85
85
  message: "use 'window.navigator' instead.",
86
86
  },
@@ -180,7 +180,7 @@ export const eslintRules: EslintRules = {
180
180
  generators: 'never',
181
181
  },
182
182
  ],
183
- 'func-style': 'off', // 関数オーバーロードで偽陽性が出る
183
+ 'func-style': 'off', // False positives with function overloads
184
184
  'grouped-accessor-pairs': 'error',
185
185
  'guard-for-in': 'error',
186
186
  'id-denylist': 'error',
@@ -224,7 +224,7 @@ export const eslintRules: EslintRules = {
224
224
  'no-empty-pattern': 'error',
225
225
  'no-empty-static-block': 'error',
226
226
  'no-empty': 'error',
227
- 'no-eq-null': 'off', // eqeqeqnull許容するならoff
227
+ 'no-eq-null': 'off', // off since eqeqeq allows null
228
228
  'no-eval': 'error',
229
229
  'no-ex-assign': 'error',
230
230
  'no-extend-native': 'error',
@@ -273,7 +273,10 @@ export const eslintRules: EslintRules = {
273
273
  'no-octal': 'error',
274
274
  'no-param-reassign': 'error',
275
275
 
276
- /** `++x` や `x++` という式の値を使用しているコードは可読性が落ちやすいため警告を出す */
276
+ /**
277
+ * Warn against using the value of expressions like `++x` or `x++` as they
278
+ * reduce readability
279
+ */
277
280
  'no-plusplus': [
278
281
  'error',
279
282
  {
@@ -290,7 +293,8 @@ export const eslintRules: EslintRules = {
290
293
  'no-restricted-properties': 'error',
291
294
 
292
295
  /**
293
- * 他ルールで実現しづらい禁止したい構文をここに書く。 以下のAST checker を用いて selector をどう書くべきか調べることができる。
296
+ * Write restricted syntax here that is difficult to achieve with other rules.
297
+ * Use the following AST checker to determine how to write selectors:
294
298
  *
295
299
  * AST checker:
296
300
  * https://typescript-eslint.io/play/#ts=4.7.2&sourceType=module&showAST=es
@@ -340,9 +344,10 @@ export const eslintRules: EslintRules = {
340
344
  'prefer-regex-literals': 'error',
341
345
 
342
346
  /**
343
- * `+` の曖昧性回避のため使用。 restrict-plus-operands で bigint, number, string
344
- * 同士にしか使用できないように制限し、 prefer-template で文字列の連結に `+` を使うことも禁止する。 修正方法: template
345
- * literal を使うか、文字列の配列を `join("")` で結合する。
347
+ * Used to avoid ambiguity with `+` operator. restrict-plus-operands limits
348
+ * usage to only bigint, number, string types, and prefer-template prohibits
349
+ * using `+` for string concatenation. Fix: Use template literals or join
350
+ * string arrays with `join("")`.
346
351
  *
347
352
  * - a + b -> `${a}${b}`
348
353
  * - s_1 + s_2 + ... + s_n -> [s_1, ..., s_n].join("")
@@ -3,10 +3,10 @@ import { type EslintTotalFunctionsRules } from '../types/index.mjs';
3
3
  export const eslintTotalFunctionsRules: EslintTotalFunctionsRules = {
4
4
  'total-functions/require-strict-mode': 'error',
5
5
 
6
- // @typescript-eslint/no-unsafe-type-assertion より厳しくチェックできることが分かったのでこちらを優先
6
+ // Prioritize this as it can check more strictly than @typescript-eslint/no-unsafe-type-assertion
7
7
  'total-functions/no-unsafe-type-assertion': 'error',
8
8
 
9
- // 動作が重いのと偽陽性があるためオフ
9
+ // Off due to performance issues and false positives
10
10
  'total-functions/no-unsafe-readonly-mutable-assignment': 'off',
11
11
 
12
12
  'total-functions/no-unsafe-mutable-readonly-assignment': 'off',
@@ -13,7 +13,7 @@ export const eslintUnicornRules: EslintUnicornRules = {
13
13
  'unicorn/better-regex': 'error',
14
14
  'unicorn/catch-error-name': 'error',
15
15
 
16
- /** Props を展開して使うかどうかを統一する。 */
16
+ /** Enforce consistent usage of destructuring. */
17
17
  'unicorn/consistent-destructuring': 'error',
18
18
 
19
19
  'unicorn/consistent-function-scoping': 'error',
@@ -23,7 +23,7 @@ export const eslintUnicornRules: EslintUnicornRules = {
23
23
  'unicorn/expiring-todo-comments': 'error',
24
24
  'unicorn/explicit-length-check': 'off',
25
25
 
26
- /** ファイル名の統一 */
26
+ /** Enforce consistent file naming */
27
27
  'unicorn/filename-case': [
28
28
  'error',
29
29
  {
@@ -1,7 +1,7 @@
1
1
  import { type EslintVitestRules } from '../types/index.mjs';
2
2
 
3
3
  export const eslintVitestRules: EslintVitestRules = {
4
- /* jest, playwright と共通のルール(設定値をなるべく合わせる) */
4
+ /* Rules common with jest and playwright (keep settings aligned) */
5
5
  'vitest/expect-expect': 'error',
6
6
  'vitest/max-expects': 'off',
7
7
  'vitest/max-nested-describe': 'error',
@@ -33,7 +33,7 @@ export const eslintVitestRules: EslintVitestRules = {
33
33
  'vitest/valid-expect': 'error',
34
34
  'vitest/valid-title': 'off',
35
35
 
36
- /* jest と共通のルール(設定値をなるべく合わせる) */
36
+ /* Rules common with jest (keep settings aligned) */
37
37
 
38
38
  'vitest/consistent-test-it': ['error', { fn: 'test' }],
39
39
  'vitest/no-alias-methods': 'error',
@@ -62,15 +62,15 @@ export const eslintVitestRules: EslintVitestRules = {
62
62
  'vitest/prefer-spy-on': 'error',
63
63
  'vitest/prefer-todo': 'error',
64
64
 
65
- /* eslint-plugin-vitest 独自ルール */
65
+ /* eslint-plugin-vitest specific rules */
66
66
 
67
- // inline test を書けなくなるのでオフ
67
+ // Off to allow writing inline tests
68
68
  'vitest/no-conditional-tests': 'off',
69
69
 
70
70
  'vitest/consistent-test-filename': 'error',
71
71
  'vitest/no-import-node-test': 'error',
72
72
 
73
- // toBeFalsy() toBe(false) より緩いのでこれらのルールは却下
73
+ // Reject these rules because toBeFalsy() is looser than toBe(false)
74
74
  'vitest/prefer-to-be-falsy': 'off',
75
75
  'vitest/prefer-to-be-truthy': 'off',
76
76
 
@@ -12,7 +12,7 @@ export const banTypes: TypeScriptEslintRulesOption['@typescript-eslint/no-restri
12
12
  },
13
13
  } as const;
14
14
 
15
- // Note: 同名の name path を複数回定義すると後から定義したもので上書きされている可能性あり
15
+ // Note: If paths with the same name are defined multiple times, later definitions may overwrite earlier ones
16
16
  export const restrictedImportsOption: RestrictedImportsOption = {
17
17
  paths: [
18
18
  {
@@ -66,12 +66,11 @@ export const typescriptEslintRules: TypeScriptEslintRules = {
66
66
  ],
67
67
  '@typescript-eslint/default-param-last': 'error',
68
68
 
69
- /** Prefer noPropertyAccessFromIndexSignature */
70
- '@typescript-eslint/dot-notation': 'off',
71
- // '@typescript-eslint/dot-notation': [
72
- // 'error',
73
- // { allowIndexSignaturePropertyAccess: true },
74
- // ],
69
+ /** Related to noPropertyAccessFromIndexSignature tsc option */
70
+ '@typescript-eslint/dot-notation': [
71
+ 'error',
72
+ { allowIndexSignaturePropertyAccess: true },
73
+ ],
75
74
 
76
75
  '@typescript-eslint/explicit-function-return-type': [
77
76
  'error',
@@ -95,7 +94,8 @@ export const typescriptEslintRules: TypeScriptEslintRules = {
95
94
  '@typescript-eslint/member-ordering': 'off', // disabled
96
95
 
97
96
  /**
98
- * 関数メンバーをメソッド記法で書くと双変になり安全性が低くなるため
97
+ * Function members written in method notation become bivariant, reducing type
98
+ * safety
99
99
  * https://github.com/Microsoft/TypeScript/wiki/FAQ#why-are-function-parameters-bivariant
100
100
  */
101
101
  '@typescript-eslint/method-signature-style': 'error',
@@ -116,7 +116,7 @@ export const typescriptEslintRules: TypeScriptEslintRules = {
116
116
  '@typescript-eslint/no-for-in-array': 'error',
117
117
  '@typescript-eslint/no-implied-eval': 'error',
118
118
 
119
- /** 型を明示的に書きたい場合もあるためオフに */
119
+ /** Off to allow explicit type annotations when desired */
120
120
  '@typescript-eslint/no-inferrable-types': 'off', // disabled
121
121
 
122
122
  '@typescript-eslint/no-invalid-this': 'error',
@@ -128,7 +128,7 @@ export const typescriptEslintRules: TypeScriptEslintRules = {
128
128
  '@typescript-eslint/no-misused-promises': [
129
129
  'error',
130
130
  {
131
- checksConditionals: false, // strict-boolean-expression で十分
131
+ checksConditionals: false, // strict-boolean-expression is sufficient
132
132
  },
133
133
  ],
134
134
  '@typescript-eslint/no-namespace': 'off', // disabled
@@ -287,7 +287,10 @@ export const typescriptEslintRules: TypeScriptEslintRules = {
287
287
  '@typescript-eslint/prefer-string-starts-ends-with': 'error',
288
288
  '@typescript-eslint/promise-function-async': 'off', // disabled
289
289
 
290
- /** `sort` はデフォルトで文字列としての比較を行うため、数値のソートを行おうとしたときに比較関数を忘れることを防ぐため使用。 */
290
+ /**
291
+ * Prevent forgetting compare function when sorting numbers, as `sort`
292
+ * defaults to string comparison.
293
+ */
291
294
  '@typescript-eslint/require-array-sort-compare': [
292
295
  'error',
293
296
  { ignoreStringArrays: true },
@@ -295,9 +298,10 @@ export const typescriptEslintRules: TypeScriptEslintRules = {
295
298
  '@typescript-eslint/require-await': 'error',
296
299
 
297
300
  /**
298
- * `+` の曖昧性回避のため使用。 restrict-plus-operands で bigint, number, string
299
- * 同士にしか使用できないように制限し、 prefer-template で文字列の連結に `+` を使うことも禁止する。 修正方法: template
300
- * literal を使うか、文字列の配列を `join("")` で結合する。
301
+ * Used to avoid ambiguity with `+` operator. restrict-plus-operands limits
302
+ * usage to only bigint, number, string types, and prefer-template prohibits
303
+ * using `+` for string concatenation. Fix: Use template literals or join
304
+ * string arrays with `join("")`.
301
305
  *
302
306
  * - A + b -> `${a}${b}`
303
307
  * - S_1 + s_2 + ... + s_n -> [s_1, ..., s_n].join("")
@@ -328,15 +332,15 @@ export const typescriptEslintRules: TypeScriptEslintRules = {
328
332
  '@typescript-eslint/return-await': 'error',
329
333
 
330
334
  /**
331
- * Boolean への暗黙のキャストを回避するために使用。 数値 `0`, `NaN` 文字列 `""` が条件部に来たときに false
332
- * として扱われるのを 見落とさないようにするため。
335
+ * Used to avoid implicit casting to Boolean. Prevents overlooking that
336
+ * numbers `0`, `NaN` and string `""` are treated as false in conditionals.
333
337
  */
334
338
  '@typescript-eslint/strict-boolean-expressions': [
335
339
  'error',
336
340
  { allowString: false, allowNumber: false, allowNullableObject: false },
337
341
  ],
338
342
 
339
- /** Switch case 漏れを防ぐ(型情報を使用) */
343
+ /** Prevent missing switch cases (using type information) */
340
344
  '@typescript-eslint/switch-exhaustiveness-check': [
341
345
  'error',
342
346
  {
@@ -389,14 +393,14 @@ export const typescriptEslintRules: TypeScriptEslintRules = {
389
393
  '@typescript-eslint/no-unnecessary-parameter-property-assignment': 'error',
390
394
  '@typescript-eslint/no-unnecessary-template-expression': 'error',
391
395
 
392
- // 再帰型で無限ループが発生して落ちるバグがあるため一旦オフ
396
+ // Off temporarily due to bug causing infinite loop with recursive types
393
397
  '@typescript-eslint/no-unnecessary-type-parameters': 'off',
394
398
 
395
399
  '@typescript-eslint/no-unsafe-function-type': 'error',
396
400
  '@typescript-eslint/no-wrapper-object-types': 'error',
397
401
  '@typescript-eslint/no-deprecated': 'error',
398
402
 
399
- // total-functions/no-unsafe-type-assertion の方が厳格なチェックができるようなのでこちらはオフ
403
+ // Off as total-functions/no-unsafe-type-assertion provides stricter checking
400
404
  '@typescript-eslint/no-unsafe-type-assertion': 'off',
401
405
 
402
406
  '@typescript-eslint/related-getter-setter-pairs': 'error',
@@ -1,4 +1,6 @@
1
1
  import { type RuleDefinition } from '@eslint/core';
2
+
3
+ // eslint-disable-next-line import/no-internal-modules
2
4
  import { type FlatConfig as FlatConfig_ } from '@typescript-eslint/utils/ts-eslint';
3
5
 
4
6
  export type FlatConfig = DeepReadonly<FlatConfig_.Config>;