eslint-config-typed 5.8.4 → 5.8.6

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 (37) hide show
  1. package/README.md +5 -5
  2. package/dist/configs/plugins.d.mts +2 -1
  3. package/dist/configs/plugins.d.mts.map +1 -1
  4. package/dist/configs/plugins.mjs.map +1 -1
  5. package/dist/plugins/immer-coding-style/plugin.d.mts +2 -1
  6. package/dist/plugins/immer-coding-style/plugin.d.mts.map +1 -1
  7. package/dist/plugins/immer-coding-style/plugin.mjs.map +1 -1
  8. package/dist/plugins/react-coding-style/plugin.d.mts +2 -1
  9. package/dist/plugins/react-coding-style/plugin.d.mts.map +1 -1
  10. package/dist/plugins/react-coding-style/plugin.mjs.map +1 -1
  11. package/dist/plugins/strict-dependencies/plugin.d.mts +2 -1
  12. package/dist/plugins/strict-dependencies/plugin.d.mts.map +1 -1
  13. package/dist/plugins/strict-dependencies/plugin.mjs.map +1 -1
  14. package/dist/plugins/strict-dependencies/rules/resolve-import-path.d.mts.map +1 -1
  15. package/dist/plugins/strict-dependencies/rules/resolve-import-path.mjs.map +1 -1
  16. package/dist/plugins/total-functions/plugin.d.mts +2 -1
  17. package/dist/plugins/total-functions/plugin.d.mts.map +1 -1
  18. package/dist/plugins/total-functions/plugin.mjs.map +1 -1
  19. package/dist/plugins/tree-shakable/plugin.d.mts +2 -1
  20. package/dist/plugins/tree-shakable/plugin.d.mts.map +1 -1
  21. package/dist/plugins/tree-shakable/plugin.mjs.map +1 -1
  22. package/dist/plugins/vitest-coding-style/plugin.d.mts +2 -1
  23. package/dist/plugins/vitest-coding-style/plugin.d.mts.map +1 -1
  24. package/dist/plugins/vitest-coding-style/plugin.mjs.map +1 -1
  25. package/dist/rules/eslint-import-rules.mjs +1 -1
  26. package/package.json +68 -90
  27. package/src/configs/plugins.mts +4 -2
  28. package/src/plugins/immer-coding-style/plugin.mts +5 -3
  29. package/src/plugins/react-coding-style/plugin.mts +5 -3
  30. package/src/plugins/strict-dependencies/plugin.mts +5 -1
  31. package/src/plugins/strict-dependencies/rules/resolve-import-path.mts +2 -2
  32. package/src/plugins/strict-dependencies/rules/resolve-import-path.test.mts +2 -1
  33. package/src/plugins/total-functions/plugin.mts +2 -1
  34. package/src/plugins/tree-shakable/plugin.mts +2 -1
  35. package/src/plugins/ts-restrictions/rules/check-destructuring-completeness.test.mts +4 -1
  36. package/src/plugins/vitest-coding-style/plugin.mts +5 -1
  37. package/src/rules/eslint-import-rules.mts +1 -1
package/README.md CHANGED
@@ -2,8 +2,8 @@
2
2
 
3
3
  [![npm version](https://img.shields.io/npm/v/eslint-config-typed.svg)](https://www.npmjs.com/package/eslint-config-typed)
4
4
  [![npm downloads](https://img.shields.io/npm/dm/eslint-config-typed.svg)](https://www.npmjs.com/package/eslint-config-typed)
5
- [![License](https://img.shields.io/npm/l/eslint-config-typed.svg)](./LICENSE)
6
- [![codecov](https://codecov.io/gh/noshiro-pf/eslint-config-typed/graph/badge.svg?token=MJ5ZUDVEAF)](https://codecov.io/gh/noshiro-pf/eslint-config-typed)
5
+ [![License](https://img.shields.io/npm/l/eslint-config-typed.svg)](https://github.com/noshiro-pf/mono/blob/main/libs/eslint-config-typed/LICENSE)
6
+ [![codecov](https://codecov.io/gh/noshiro-pf/mono/graph/badge.svg?component=eslint-config-typed)](https://codecov.io/gh/noshiro-pf/mono)
7
7
 
8
8
  A comprehensive ESLint configuration package with strongly-typed rule definitions and pre-configured setups for TypeScript, React, testing frameworks, and more.
9
9
 
@@ -669,7 +669,7 @@ This type definition provides overridden `Chai.Assert` type:
669
669
 
670
670
  #### ts-data-forge
671
671
 
672
- **`eslintPluginTsDataForge`** - Custom ESLint plugin for [`ts-data-forge`](https://github.com/noshiro-pf/ts-data-forge).
672
+ **`eslintPluginTsDataForge`** - Custom ESLint plugin for [`ts-data-forge`](https://github.com/noshiro-pf/mono/tree/main/libs/ts-data-forge).
673
673
 
674
674
  ### Type Definitions
675
675
 
@@ -964,7 +964,7 @@ With this configuration, you can run eslint and receive actionable diagnostic in
964
964
 
965
965
  ## Contributing
966
966
 
967
- Contributions are welcome! Please check our [GitHub repository](https://github.com/noshiro-pf/eslint-config-typed) for:
967
+ Contributions are welcome! Please check our [GitHub repository](https://github.com/noshiro-pf/mono/tree/main/libs/eslint-config-typed) for:
968
968
 
969
969
  - Issue reporting
970
970
  - Feature requests
@@ -972,4 +972,4 @@ Contributions are welcome! Please check our [GitHub repository](https://github.c
972
972
 
973
973
  ## License
974
974
 
975
- This project is licensed under the [Apache License 2.0](./LICENSE).
975
+ This project is licensed under the [Apache License 2.0](https://github.com/noshiro-pf/mono/blob/main/libs/eslint-config-typed/LICENSE).
@@ -1,3 +1,4 @@
1
+ import { type ReadonlyRecord, type StrictOmit } from 'ts-type-forge';
1
2
  import { type ESLintPlugin } from '../types/index.mjs';
2
- export declare const plugins: Record<'@typescript-eslint' | '@stylistic' | 'array-func' | 'cypress' | 'playwright' | 'functional' | 'import-x' | 'jest' | 'vitest' | 'jsx-a11y' | 'math' | 'prefer-arrow-functions' | 'promise' | 'n' | 'react' | 'react-hooks' | 'react-refresh' | 'react-perf' | 'security' | 'testing-library' | 'unicorn' | 'sort-destructure-keys' | 'eslint-plugin' | 'tree-shakable' | 'total-functions' | 'strict-dependencies' | 'ts-restrictions' | 'react-coding-style' | 'immer-coding-style' | 'vitest-coding-style', Omit<ESLintPlugin, 'configs'>>;
3
+ export declare const plugins: ReadonlyRecord<'@typescript-eslint' | '@stylistic' | 'array-func' | 'cypress' | 'playwright' | 'functional' | 'import-x' | 'jest' | 'vitest' | 'jsx-a11y' | 'math' | 'prefer-arrow-functions' | 'promise' | 'n' | 'react' | 'react-hooks' | 'react-refresh' | 'react-perf' | 'security' | 'testing-library' | 'unicorn' | 'sort-destructure-keys' | 'eslint-plugin' | 'tree-shakable' | 'total-functions' | 'strict-dependencies' | 'ts-restrictions' | 'react-coding-style' | 'immer-coding-style' | 'vitest-coding-style', StrictOmit<ESLintPlugin, 'configs'>>;
3
4
  //# sourceMappingURL=plugins.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"plugins.d.mts","sourceRoot":"","sources":["../../src/configs/plugins.mts"],"names":[],"mappings":"AAkEA,OAAO,EAAE,KAAK,YAAY,EAAmB,MAAM,oBAAoB,CAAC;AAExE,eAAO,MAAM,OAAO,EAAE,MAAM,CACxB,oBAAoB,GACpB,YAAY,GACZ,YAAY,GACZ,SAAS,GACT,YAAY,GACZ,YAAY,GACZ,UAAU,GACV,MAAM,GACN,QAAQ,GACR,UAAU,GACV,MAAM,GACN,wBAAwB,GACxB,SAAS,GACT,GAAG,GACH,OAAO,GACP,aAAa,GACb,eAAe,GACf,YAAY,GACZ,UAAU,GACV,iBAAiB,GACjB,SAAS,GACT,uBAAuB,GACvB,eAAe,GACf,eAAe,GACf,iBAAiB,GACjB,qBAAqB,GACrB,iBAAiB,GACjB,oBAAoB,GACpB,oBAAoB,GACpB,qBAAqB,EACvB,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC,CAuCW,CAAC"}
1
+ {"version":3,"file":"plugins.d.mts","sourceRoot":"","sources":["../../src/configs/plugins.mts"],"names":[],"mappings":"AAsDA,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,UAAU,EAAE,MAAM,eAAe,CAAC;AAcrE,OAAO,EAAE,KAAK,YAAY,EAAmB,MAAM,oBAAoB,CAAC;AAExE,eAAO,MAAM,OAAO,EAAE,cAAc,CAChC,oBAAoB,GACpB,YAAY,GACZ,YAAY,GACZ,SAAS,GACT,YAAY,GACZ,YAAY,GACZ,UAAU,GACV,MAAM,GACN,QAAQ,GACR,UAAU,GACV,MAAM,GACN,wBAAwB,GACxB,SAAS,GACT,GAAG,GACH,OAAO,GACP,aAAa,GACb,eAAe,GACf,YAAY,GACZ,UAAU,GACV,iBAAiB,GACjB,SAAS,GACT,uBAAuB,GACvB,eAAe,GACf,eAAe,GACf,iBAAiB,GACjB,qBAAqB,GACrB,iBAAiB,GACjB,oBAAoB,GACpB,oBAAoB,GACpB,qBAAqB,EACvB,UAAU,CAAC,YAAY,EAAE,SAAS,CAAC,CAuCK,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"plugins.mjs","sources":["../../src/configs/plugins.mts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AACA;AAmEO,MAAM,OAAO,GAgChB;AACF,IAAA,oBAAoB,EAAE,gBAAgB;AACtC,IAAA,YAAY,EAAE,SAAS;;AAEvB,IAAA,YAAY,EAAE,qBAAqB;AACnC,IAAA,OAAO,EAAE,mBAAmB;AAC5B,IAAA,UAAU,EAAE,sBAAsB;AAClC,IAAA,UAAU,EAAE,sBAAsB;;AAElC,IAAA,uBAAuB,EAAE,+BAA+B;AACxD,IAAA,UAAU,EAAE,kBAAkB;AAC9B,IAAA,IAAI,EAAE,gBAAgB;AACtB,IAAA,MAAM,EAAE,kBAAkB;;AAE1B,IAAA,UAAU,EAAE,mBAAmB;AAC/B,IAAA,IAAI,EAAE,gBAAgB;AACtB,IAAA,wBAAwB,EAAE,gCAAgC;;AAE1D,IAAA,OAAO,EAAE,mBAAmB;AAC5B,IAAA,CAAC,EAAE,aAAa;AAChB,IAAA,KAAK,EAAE,iBAAiB;;AAExB,IAAA,aAAa,EAAE,sBAAiD;AAChE,IAAA,eAAe,EAAE,wBAAwB;;AAEzC,IAAA,YAAY,EAAE,qBAAqB;;AAEnC,IAAA,QAAQ,EAAE,oBAAoB;AAC9B,IAAA,iBAAiB,EAAE,0BAA0B;AAC7C,IAAA,OAAO,EAAE,mBAAmB;AAC5B,IAAA,eAAe,EAAE,wBAAwB;AACzC,IAAA,eAAe,EAAE,wBAAwB;AACzC,IAAA,iBAAiB,EAAE,0BAA0B;AAC7C,IAAA,qBAAqB,EAAE,8BAA8B;AACrD,IAAA,iBAAiB,EAAE,0BAA0B;AAC7C,IAAA,oBAAoB,EAAE,4BAA4B;AAClD,IAAA,oBAAoB,EAAE,4BAA4B;AAClD,IAAA,qBAAqB,EAAE,6BAA6B;;;;;"}
1
+ {"version":3,"file":"plugins.mjs","sources":["../../src/configs/plugins.mts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AACA;AAqEO,MAAM,OAAO,GAgChB;AACF,IAAA,oBAAoB,EAAE,gBAAgB;AACtC,IAAA,YAAY,EAAE,SAAS;;AAEvB,IAAA,YAAY,EAAE,qBAAqB;AACnC,IAAA,OAAO,EAAE,mBAAmB;AAC5B,IAAA,UAAU,EAAE,sBAAsB;AAClC,IAAA,UAAU,EAAE,sBAAsB;;AAElC,IAAA,uBAAuB,EAAE,+BAA+B;AACxD,IAAA,UAAU,EAAE,kBAAkB;AAC9B,IAAA,IAAI,EAAE,gBAAgB;AACtB,IAAA,MAAM,EAAE,kBAAkB;;AAE1B,IAAA,UAAU,EAAE,mBAAmB;AAC/B,IAAA,IAAI,EAAE,gBAAgB;AACtB,IAAA,wBAAwB,EAAE,gCAAgC;;AAE1D,IAAA,OAAO,EAAE,mBAAmB;AAC5B,IAAA,CAAC,EAAE,aAAa;AAChB,IAAA,KAAK,EAAE,iBAAiB;;AAExB,IAAA,aAAa,EAAE,sBAAiD;AAChE,IAAA,eAAe,EAAE,wBAAwB;;AAEzC,IAAA,YAAY,EAAE,qBAAqB;;AAEnC,IAAA,QAAQ,EAAE,oBAAoB;AAC9B,IAAA,iBAAiB,EAAE,0BAA0B;AAC7C,IAAA,OAAO,EAAE,mBAAmB;AAC5B,IAAA,eAAe,EAAE,wBAAwB;AACzC,IAAA,eAAe,EAAE,wBAAwB;AACzC,IAAA,iBAAiB,EAAE,0BAA0B;AAC7C,IAAA,qBAAqB,EAAE,8BAA8B;AACrD,IAAA,iBAAiB,EAAE,0BAA0B;AAC7C,IAAA,oBAAoB,EAAE,4BAA4B;AAClD,IAAA,oBAAoB,EAAE,4BAA4B;AAClD,IAAA,qBAAqB,EAAE,6BAA6B;;;;;"}
@@ -1,3 +1,4 @@
1
+ import { type StrictOmit } from 'ts-type-forge';
1
2
  import { type ESLintPlugin } from '../../types/index.mjs';
2
- export declare const eslintPluginImmerCodingStyle: Omit<ESLintPlugin, 'configs'>;
3
+ export declare const eslintPluginImmerCodingStyle: StrictOmit<ESLintPlugin, 'configs'>;
3
4
  //# sourceMappingURL=plugin.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.d.mts","sourceRoot":"","sources":["../../../src/plugins/immer-coding-style/plugin.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAG1D,eAAO,MAAM,4BAA4B,EAAE,IAAI,CAAC,YAAY,EAAE,SAAS,CAE7D,CAAC"}
1
+ {"version":3,"file":"plugin.d.mts","sourceRoot":"","sources":["../../../src/plugins/immer-coding-style/plugin.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAG1D,eAAO,MAAM,4BAA4B,EAAE,UAAU,CAAC,YAAY,EAAE,SAAS,CAGjE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.mjs","sources":["../../../src/plugins/immer-coding-style/plugin.mts"],"sourcesContent":[null],"names":[],"mappings":";;AAGO,MAAM,4BAA4B,GAAkC;AACzE,IAAA,KAAK,EAAE,qBAAqB;;;;;"}
1
+ {"version":3,"file":"plugin.mjs","sources":["../../../src/plugins/immer-coding-style/plugin.mts"],"sourcesContent":[null],"names":[],"mappings":";;AAIO,MAAM,4BAA4B,GACvC;AACE,IAAA,KAAK,EAAE,qBAAqB;;;;;"}
@@ -1,3 +1,4 @@
1
+ import { type StrictOmit } from 'ts-type-forge';
1
2
  import { type ESLintPlugin } from '../../types/index.mjs';
2
- export declare const eslintPluginReactCodingStyle: Omit<ESLintPlugin, 'configs'>;
3
+ export declare const eslintPluginReactCodingStyle: StrictOmit<ESLintPlugin, 'configs'>;
3
4
  //# sourceMappingURL=plugin.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.d.mts","sourceRoot":"","sources":["../../../src/plugins/react-coding-style/plugin.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAG1D,eAAO,MAAM,4BAA4B,EAAE,IAAI,CAAC,YAAY,EAAE,SAAS,CAE7D,CAAC"}
1
+ {"version":3,"file":"plugin.d.mts","sourceRoot":"","sources":["../../../src/plugins/react-coding-style/plugin.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAG1D,eAAO,MAAM,4BAA4B,EAAE,UAAU,CAAC,YAAY,EAAE,SAAS,CAGjE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.mjs","sources":["../../../src/plugins/react-coding-style/plugin.mts"],"sourcesContent":[null],"names":[],"mappings":";;AAGO,MAAM,4BAA4B,GAAkC;AACzE,IAAA,KAAK,EAAE,qBAAqB;;;;;"}
1
+ {"version":3,"file":"plugin.mjs","sources":["../../../src/plugins/react-coding-style/plugin.mts"],"sourcesContent":[null],"names":[],"mappings":";;AAIO,MAAM,4BAA4B,GACvC;AACE,IAAA,KAAK,EAAE,qBAAqB;;;;;"}
@@ -1,3 +1,4 @@
1
+ import { type StrictOmit } from 'ts-type-forge';
1
2
  import { type ESLintPlugin } from '../../types/index.mjs';
2
- export declare const eslintPluginStrictDependencies: Omit<ESLintPlugin, 'configs'>;
3
+ export declare const eslintPluginStrictDependencies: StrictOmit<ESLintPlugin, 'configs'>;
3
4
  //# sourceMappingURL=plugin.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.d.mts","sourceRoot":"","sources":["../../../src/plugins/strict-dependencies/plugin.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAI1D,eAAO,MAAM,8BAA8B,EAAE,IAAI,CAAC,YAAY,EAAE,SAAS,CAE/D,CAAC"}
1
+ {"version":3,"file":"plugin.d.mts","sourceRoot":"","sources":["../../../src/plugins/strict-dependencies/plugin.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAI1D,eAAO,MAAM,8BAA8B,EAAE,UAAU,CACrD,YAAY,EACZ,SAAS,CAGD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.mjs","sources":["../../../src/plugins/strict-dependencies/plugin.mts"],"sourcesContent":[null],"names":[],"mappings":";;AAGA;AACO,MAAM,8BAA8B,GAAkC;AAC3E,IAAA,KAAK,EAAE,uBAAuB;;;;;"}
1
+ {"version":3,"file":"plugin.mjs","sources":["../../../src/plugins/strict-dependencies/plugin.mts"],"sourcesContent":[null],"names":[],"mappings":";;AAIA;AACO,MAAM,8BAA8B,GAGvC;AACF,IAAA,KAAK,EAAE,uBAAuB;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"resolve-import-path.d.mts","sourceRoot":"","sources":["../../../../src/plugins/strict-dependencies/rules/resolve-import-path.mts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AAKpD;;GAEG;AACH,eAAO,MAAM,iBAAiB,GAC5B,YAAY,MAAM,EAClB,kBAAkB,MAAM,GAAG,SAAS,EACpC,cAAc,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,KAC3C,MA0DF,CAAC"}
1
+ {"version":3,"file":"resolve-import-path.d.mts","sourceRoot":"","sources":["../../../../src/plugins/strict-dependencies/rules/resolve-import-path.mts"],"names":[],"mappings":"AAEA,OAAO,EAAsB,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AAKxE;;GAEG;AACH,eAAO,MAAM,iBAAiB,GAC5B,YAAY,MAAM,EAClB,kBAAkB,MAAM,GAAG,SAAS,EACpC,cAAc,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,KAC3C,MA0DF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"resolve-import-path.mjs","sources":["../../../../src/plugins/strict-dependencies/rules/resolve-import-path.mts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resolve-import-path.mjs","sources":["../../../../src/plugins/strict-dependencies/rules/resolve-import-path.mts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { type StrictOmit } from 'ts-type-forge';
1
2
  import { type ESLintPlugin } from '../../types/index.mjs';
2
- export declare const eslintPluginTotalFunctions: Omit<ESLintPlugin, 'configs'>;
3
+ export declare const eslintPluginTotalFunctions: StrictOmit<ESLintPlugin, 'configs'>;
3
4
  //# sourceMappingURL=plugin.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.d.mts","sourceRoot":"","sources":["../../../src/plugins/total-functions/plugin.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAK1D,eAAO,MAAM,0BAA0B,EAAE,IAAI,CAAC,YAAY,EAAE,SAAS,CAE3D,CAAC"}
1
+ {"version":3,"file":"plugin.d.mts","sourceRoot":"","sources":["../../../src/plugins/total-functions/plugin.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAK1D,eAAO,MAAM,0BAA0B,EAAE,UAAU,CAAC,YAAY,EAAE,SAAS,CAEjE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.mjs","sources":["../../../src/plugins/total-functions/plugin.mts"],"sourcesContent":[null],"names":[],"mappings":";;AAGA;AAEO,MAAM,0BAA0B,GAAkC;AACvE,IAAA,KAAK,EAAE,mBAAmB;;;;;"}
1
+ {"version":3,"file":"plugin.mjs","sources":["../../../src/plugins/total-functions/plugin.mts"],"sourcesContent":[null],"names":[],"mappings":";;AAIA;AAEO,MAAM,0BAA0B,GAAwC;AAC7E,IAAA,KAAK,EAAE,mBAAmB;;;;;"}
@@ -1,3 +1,4 @@
1
+ import { type StrictOmit } from 'ts-type-forge';
1
2
  import { type ESLintPlugin } from '../../types/index.mjs';
2
- export declare const eslintPluginTreeShakable: Omit<ESLintPlugin, 'configs'>;
3
+ export declare const eslintPluginTreeShakable: StrictOmit<ESLintPlugin, 'configs'>;
3
4
  //# sourceMappingURL=plugin.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.d.mts","sourceRoot":"","sources":["../../../src/plugins/tree-shakable/plugin.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAK1D,eAAO,MAAM,wBAAwB,EAAE,IAAI,CAAC,YAAY,EAAE,SAAS,CAEzD,CAAC"}
1
+ {"version":3,"file":"plugin.d.mts","sourceRoot":"","sources":["../../../src/plugins/tree-shakable/plugin.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAK1D,eAAO,MAAM,wBAAwB,EAAE,UAAU,CAAC,YAAY,EAAE,SAAS,CAE/D,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.mjs","sources":["../../../src/plugins/tree-shakable/plugin.mts"],"sourcesContent":[null],"names":[],"mappings":";;AAGA;AAEO,MAAM,wBAAwB,GAAkC;AACrE,IAAA,KAAK,EAAE,iBAAiB;;;;;"}
1
+ {"version":3,"file":"plugin.mjs","sources":["../../../src/plugins/tree-shakable/plugin.mts"],"sourcesContent":[null],"names":[],"mappings":";;AAIA;AAEO,MAAM,wBAAwB,GAAwC;AAC3E,IAAA,KAAK,EAAE,iBAAiB;;;;;"}
@@ -1,3 +1,4 @@
1
+ import { type StrictOmit } from 'ts-type-forge';
1
2
  import { type ESLintPlugin } from '../../types/index.mjs';
2
- export declare const eslintPluginVitestCodingStyle: Omit<ESLintPlugin, 'configs'>;
3
+ export declare const eslintPluginVitestCodingStyle: StrictOmit<ESLintPlugin, 'configs'>;
3
4
  //# sourceMappingURL=plugin.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.d.mts","sourceRoot":"","sources":["../../../src/plugins/vitest-coding-style/plugin.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAG1D,eAAO,MAAM,6BAA6B,EAAE,IAAI,CAAC,YAAY,EAAE,SAAS,CAE9D,CAAC"}
1
+ {"version":3,"file":"plugin.d.mts","sourceRoot":"","sources":["../../../src/plugins/vitest-coding-style/plugin.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAG1D,eAAO,MAAM,6BAA6B,EAAE,UAAU,CACpD,YAAY,EACZ,SAAS,CAGD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.mjs","sources":["../../../src/plugins/vitest-coding-style/plugin.mts"],"sourcesContent":[null],"names":[],"mappings":";;AAGO,MAAM,6BAA6B,GAAkC;AAC1E,IAAA,KAAK,EAAE,sBAAsB;;;;;"}
1
+ {"version":3,"file":"plugin.mjs","sources":["../../../src/plugins/vitest-coding-style/plugin.mts"],"sourcesContent":[null],"names":[],"mappings":";;AAIO,MAAM,6BAA6B,GAGtC;AACF,IAAA,KAAK,EAAE,sBAAsB;;;;;"}
@@ -59,7 +59,7 @@ const eslintImportsRules = {
59
59
  'import-x/no-deprecated': 'off',
60
60
  'import-x/no-extraneous-dependencies': 'off',
61
61
  'import-x/no-mutable-exports': 'error',
62
- // TODO: https://github.com/noshiro-pf/eslint-config-typed/issues/98
62
+ // TODO: https://github.com/noshiro-pf/mono/issues/98
63
63
  // 'import-x/no-unused-modules': ['error', { unusedExports: true }],
64
64
  'import-x/no-unused-modules': 'off',
65
65
  // moduleSystems
package/package.json CHANGED
@@ -1,13 +1,14 @@
1
1
  {
2
2
  "name": "eslint-config-typed",
3
- "version": "5.8.4",
3
+ "version": "5.8.6",
4
4
  "private": false,
5
5
  "keywords": [
6
6
  "typescript"
7
7
  ],
8
8
  "repository": {
9
9
  "type": "git",
10
- "url": "git+https://github.com/noshiro-pf/eslint-config-typed.git"
10
+ "url": "git+https://github.com/noshiro-pf/mono.git",
11
+ "directory": "libs/eslint-config-typed"
11
12
  },
12
13
  "license": "Apache-2.0",
13
14
  "author": "noshiro-pf <noshiro.pf@gmail.com>",
@@ -37,66 +38,16 @@
37
38
  "LICENSE",
38
39
  "vitest-globals.d.ts"
39
40
  ],
40
- "scripts": {
41
- "agents:gen": "tsx ./scripts/cmd/gen-agents-md.mts",
42
- "agents:sync": "tsx ./scripts/cmd/sync-agent-config.mts",
43
- "apply-type-transformations": "tsx ./scripts/gen-eslint-rules/codemod/apply-type-transformations.mts",
44
- "build": "tsx ./scripts/cmd/build.mts",
45
- "build:min": "tsx ./scripts/cmd/build.mts --skip-check",
46
- "check-all": "tsx ./scripts/cmd/check-all.mts",
47
- "check:ext": "tsx ./scripts/cmd/check-ext.mts",
48
- "codemod": "run-s codemod:uncommitted:* fmt",
49
- "codemod:diff": "run-s codemod:diff:as-const fmt codemod:diff:readonly fmt codemod:diff:any-to-unknown fmt codemod:diff:unknown-record fmt codemod:diff:interface-to-type fmt",
50
- "codemod:diff:any-to-unknown": "replace-any-with-unknown --diff-from origin/main '{src,scripts,samples}/**/*.{mts,tsx}'",
51
- "codemod:diff:as-const": "append-as-const --diff-from origin/main '{src,scripts,samples,test}/**/*.{mts,tsx}'",
52
- "codemod:diff:interface-to-type": "convert-interface-to-type --diff-from origin/main '{src,scripts,samples,test}/**/*.{mts,tsx}'",
53
- "codemod:diff:readonly": "convert-to-readonly --diff-from origin/main '{src,scripts,samples,test}/**/*.{mts,tsx}'",
54
- "codemod:diff:unknown-record": "replace-record-with-unknown-record --diff-from origin/main '{src,scripts,samples,test}/**/*.{mts,tsx}'",
55
- "codemod:full": "run-s codemod:full:* fmt",
56
- "codemod:full:any-to-unknown": "replace-any-with-unknown '{src,scripts,samples}/**/*.{mts,tsx}'",
57
- "codemod:full:as-const": "append-as-const '{src,scripts,samples,test}/**/*.{mts,tsx}'",
58
- "codemod:full:interface-to-type": "convert-interface-to-type '{src,scripts,samples,test}/**/*.{mts,tsx}'",
59
- "codemod:full:readonly": "convert-to-readonly '{src,scripts,samples,test}/**/*.{mts,tsx}'",
60
- "codemod:full:unknown-record": "replace-record-with-unknown-record '{src,scripts,samples,test}/**/*.{mts,tsx}'",
61
- "codemod:uncommitted:any-to-unknown": "replace-any-with-unknown --uncommitted '{src,scripts,samples}/**/*.{mts,tsx}'",
62
- "codemod:uncommitted:as-const": "append-as-const --uncommitted '{src,scripts,samples,test}/**/*.{mts,tsx}'",
63
- "codemod:uncommitted:interface-to-type": "convert-interface-to-type --uncommitted '{src,scripts,samples,test}/**/*.{mts,tsx}'",
64
- "codemod:uncommitted:readonly": "convert-to-readonly --uncommitted '{src,scripts,samples,test}/**/*.{mts,tsx}'",
65
- "codemod:uncommitted:unknown-record": "replace-record-with-unknown-record --uncommitted '{src,scripts,samples,test}/**/*.{mts,tsx}'",
66
- "cspell": "cspell \"{**,.changeset/**/*,.github/**/*}\" --gitignore --gitignore-root ./ --no-progress",
67
- "doc": "tsx ./scripts/cmd/gen-docs.mts",
68
- "doc:embed": "tsx ./scripts/cmd/embed-examples.mts",
69
- "fmt": "format-uncommitted",
70
- "fmt:diff": "format-diff-from origin/main",
71
- "fmt:full": "prettier --write .",
72
- "gen-rule-type": "tsx ./scripts/gen-eslint-rules/main.mts",
73
- "gi": "run-s gi:src fmt",
74
- "gi:src": "tsx scripts/cmd/gen-index.mts",
75
- "lint": "eslint .",
76
- "lint:fix": "eslint . --fix",
77
- "md": "markdownlint-cli2",
78
- "repo-settings:apply": "repo-settings apply",
79
- "repo-settings:backup": "repo-settings backup",
80
- "test": "pnpm run z:vitest:node run",
81
- "test:cov": "pnpm run z:vitest:node run --coverage",
82
- "test:cov:ui": "vite preview --outDir ./coverage",
83
- "test:ui": "pnpm run z:vitest:node --ui",
84
- "testw": "pnpm run z:vitest:node watch",
85
- "tsc": "node ./node_modules/typescript-native/bin/tsc --noEmit",
86
- "tscw": "node ./node_modules/typescript-native/bin/tsc --noEmit --watch -p ./tsconfig.json",
87
- "type-check": "node ./node_modules/typescript-native/bin/tsc --noEmit",
88
- "z:vitest": "vitest --config ./configs/vitest.config.mts",
89
- "z:vitest:node": "pnpm run z:vitest --project='Node.js'"
90
- },
91
41
  "dependencies": {
42
+ "@eslint/core": "^1.2.1",
92
43
  "@sindresorhus/is": "^8.1.0",
93
44
  "@stylistic/eslint-plugin": "^5.10.0",
94
- "@types/eslint": "^9.6.1",
45
+ "@types/estree": "^1.0.9",
95
46
  "@typescript-eslint/eslint-plugin": "^8.65.0",
96
47
  "@typescript-eslint/parser": "^8.65.0",
97
48
  "@typescript-eslint/type-utils": "^8.65.0",
98
49
  "@typescript-eslint/utils": "^8.65.0",
99
- "@vitest/eslint-plugin": "^1.6.24",
50
+ "@vitest/eslint-plugin": "^1.6.25",
100
51
  "eslint": "^10.8.0",
101
52
  "eslint-import-resolver-typescript": "^4.4.5",
102
53
  "eslint-plugin-array-func": "^5.1.1",
@@ -119,72 +70,53 @@
119
70
  "eslint-plugin-sort-destructure-keys": "^3.0.0",
120
71
  "eslint-plugin-testing-library": "^7.16.2",
121
72
  "eslint-plugin-unicorn": "^72.0.0",
122
- "globals": "^17.8.0",
73
+ "globals": "^17.9.0",
123
74
  "is-glob": "^4.0.3",
124
75
  "is-immutable-type": "^5.0.4",
125
76
  "micromatch": "^4.0.8",
126
- "ts-data-forge": "^14.0.0",
127
- "ts-type-forge": "^9.1.1",
128
77
  "tsutils": "^3.21.0",
129
- "typescript-eslint": "^8.65.0"
78
+ "ts-data-forge": "^14.2.1",
79
+ "ts-type-forge": "^9.2.1"
130
80
  },
131
81
  "devDependencies": {
132
- "@eslint/core": "1.2.1",
133
82
  "@rollup/plugin-replace": "6.0.3",
134
83
  "@rollup/plugin-strip": "3.0.4",
135
84
  "@rollup/plugin-typescript": "12.3.0",
136
- "@semantic-release/changelog": "7.0.0",
137
- "@semantic-release/commit-analyzer": "13.0.1",
138
- "@semantic-release/exec": "7.1.0",
139
- "@semantic-release/git": "11.0.1",
140
- "@semantic-release/github": "12.0.9",
141
- "@semantic-release/npm": "13.1.5",
142
- "@semantic-release/release-notes-generator": "14.1.1",
143
- "@types/estree": "1.0.9",
144
85
  "@types/is-glob": "4.0.4",
145
86
  "@types/json-schema": "7.0.15",
146
87
  "@types/micromatch": "4.0.10",
147
- "@types/node": "26.1.2",
88
+ "@types/node": "26.2.0",
148
89
  "@types/react": "19.2.18",
149
90
  "@typescript-eslint/rule-tester": "8.65.0",
150
91
  "@vitest/coverage-v8": "4.1.10",
151
92
  "@vitest/ui": "4.1.10",
152
- "conventional-changelog-conventionalcommits": "10.2.1",
153
93
  "cspell": "10.0.1",
154
94
  "dedent": "1.7.2",
155
- "eslint-plugin-ts-data-forge": "0.3.0",
156
- "eslint-plugin-ts-fortress": "0.4.0",
157
- "eslint-plugin-ts-type-forge": "0.4.3",
158
- "fast-glob": "3.3.3",
159
- "github-settings-as-code": "2.0.1",
160
95
  "immer": "11.1.15",
161
96
  "jiti": "2.7.0",
162
97
  "json-schema": "0.4.0",
163
98
  "json-schema-to-typescript": "15.0.4",
164
- "markdownlint": "0.41.1",
165
- "markdownlint-cli2": "0.23.2",
166
- "npm-run-all2": "9.0.2",
99
+ "npm-run-all2": "9.0.3",
167
100
  "prettier": "3.9.6",
168
101
  "prettier-plugin-organize-imports": "4.3.0",
169
102
  "prettier-plugin-packagejson": "3.0.2",
170
103
  "react": "19.2.8",
171
- "rollup": "4.62.3",
172
- "semantic-release": "25.0.8",
173
- "ts-codemod-lib": "2.2.3",
174
- "ts-fortress": "11.2.0",
175
- "ts-morph": "28.0.0",
176
- "ts-repo-utils": "10.1.6",
177
- "tslib": "2.8.1",
178
- "tsx": "4.23.1",
104
+ "rollup": "4.62.4",
105
+ "tsx": "4.23.4",
179
106
  "typescript": "6.0.3",
180
107
  "typescript-native": "npm:typescript@7.0.2",
181
- "vitest": "4.1.10"
108
+ "vitest": "4.1.10",
109
+ "eslint-config-typed": "5.8.6",
110
+ "eslint-plugin-ts-fortress": "1.0.1",
111
+ "eslint-plugin-ts-data-forge": "0.4.5",
112
+ "eslint-plugin-ts-type-forge": "0.6.3",
113
+ "ts-codemod-lib": "3.0.0",
114
+ "ts-repo-utils": "10.2.0"
182
115
  },
183
116
  "peerDependencies": {
184
117
  "eslint": ">=9.0.0",
185
- "typescript": ">=5.0.0"
118
+ "typescript": ">=5.0.0 <7.0.0"
186
119
  },
187
- "packageManager": "pnpm@11.20.0",
188
120
  "engines": {
189
121
  "node": ">=22.22.2",
190
122
  "pnpm": ">=9.0.0"
@@ -195,5 +127,51 @@
195
127
  "publishConfig": {
196
128
  "access": "public",
197
129
  "provenance": true
130
+ },
131
+ "scripts": {
132
+ "apply-type-transformations": "tsx --tsconfig ../../tools/configs/tsconfig.tsx.json ./scripts/gen-eslint-rules/codemod/apply-type-transformations.mts",
133
+ "build": "tsx --tsconfig ../../tools/configs/tsconfig.tsx.json ./scripts/cmd/build.mts",
134
+ "build:min": "tsx --tsconfig ../../tools/configs/tsconfig.tsx.json ./scripts/cmd/build.mts --skip-check",
135
+ "check-all": "tsx --tsconfig ../../tools/configs/tsconfig.tsx.json ./scripts/cmd/check-all.mts",
136
+ "check:ext": "tsx --tsconfig ../../tools/configs/tsconfig.tsx.json ./scripts/cmd/check-ext.mts",
137
+ "codemod": "run-s codemod:uncommitted:* fmt",
138
+ "codemod:diff": "run-s codemod:diff:as-const fmt codemod:diff:readonly fmt codemod:diff:any-to-unknown fmt codemod:diff:unknown-record fmt codemod:diff:interface-to-type fmt",
139
+ "codemod:diff:any-to-unknown": "tsx --tsconfig ../../tools/configs/tsconfig.tsx.json ../../libs/ts-codemod-cli/src/cmd/replace-any-with-unknown.mts --diff-from origin/main '{src,scripts,samples}/**/*.{mts,tsx}'",
140
+ "codemod:diff:as-const": "tsx --tsconfig ../../tools/configs/tsconfig.tsx.json ../../libs/ts-codemod-cli/src/cmd/append-as-const.mts --diff-from origin/main '{src,scripts,samples,test}/**/*.{mts,tsx}'",
141
+ "codemod:diff:interface-to-type": "tsx --tsconfig ../../tools/configs/tsconfig.tsx.json ../../libs/ts-codemod-cli/src/cmd/convert-interface-to-type.mts --diff-from origin/main '{src,scripts,samples,test}/**/*.{mts,tsx}'",
142
+ "codemod:diff:readonly": "tsx --tsconfig ../../tools/configs/tsconfig.tsx.json ../../libs/ts-codemod-cli/src/cmd/convert-to-readonly.mts --diff-from origin/main '{src,scripts,samples,test}/**/*.{mts,tsx}'",
143
+ "codemod:diff:unknown-record": "tsx --tsconfig ../../tools/configs/tsconfig.tsx.json ../../libs/ts-codemod-cli/src/cmd/replace-record-with-unknown-record.mts --diff-from origin/main '{src,scripts,samples,test}/**/*.{mts,tsx}'",
144
+ "codemod:full": "run-s codemod:full:* fmt",
145
+ "codemod:full:any-to-unknown": "tsx --tsconfig ../../tools/configs/tsconfig.tsx.json ../../libs/ts-codemod-cli/src/cmd/replace-any-with-unknown.mts '{src,scripts,samples}/**/*.{mts,tsx}'",
146
+ "codemod:full:as-const": "tsx --tsconfig ../../tools/configs/tsconfig.tsx.json ../../libs/ts-codemod-cli/src/cmd/append-as-const.mts '{src,scripts,samples,test}/**/*.{mts,tsx}'",
147
+ "codemod:full:interface-to-type": "tsx --tsconfig ../../tools/configs/tsconfig.tsx.json ../../libs/ts-codemod-cli/src/cmd/convert-interface-to-type.mts '{src,scripts,samples,test}/**/*.{mts,tsx}'",
148
+ "codemod:full:readonly": "tsx --tsconfig ../../tools/configs/tsconfig.tsx.json ../../libs/ts-codemod-cli/src/cmd/convert-to-readonly.mts '{src,scripts,samples,test}/**/*.{mts,tsx}'",
149
+ "codemod:full:unknown-record": "tsx --tsconfig ../../tools/configs/tsconfig.tsx.json ../../libs/ts-codemod-cli/src/cmd/replace-record-with-unknown-record.mts '{src,scripts,samples,test}/**/*.{mts,tsx}'",
150
+ "codemod:uncommitted:any-to-unknown": "tsx --tsconfig ../../tools/configs/tsconfig.tsx.json ../../libs/ts-codemod-cli/src/cmd/replace-any-with-unknown.mts --uncommitted '{src,scripts,samples}/**/*.{mts,tsx}'",
151
+ "codemod:uncommitted:as-const": "tsx --tsconfig ../../tools/configs/tsconfig.tsx.json ../../libs/ts-codemod-cli/src/cmd/append-as-const.mts --uncommitted '{src,scripts,samples,test}/**/*.{mts,tsx}'",
152
+ "codemod:uncommitted:interface-to-type": "tsx --tsconfig ../../tools/configs/tsconfig.tsx.json ../../libs/ts-codemod-cli/src/cmd/convert-interface-to-type.mts --uncommitted '{src,scripts,samples,test}/**/*.{mts,tsx}'",
153
+ "codemod:uncommitted:readonly": "tsx --tsconfig ../../tools/configs/tsconfig.tsx.json ../../libs/ts-codemod-cli/src/cmd/convert-to-readonly.mts --uncommitted '{src,scripts,samples,test}/**/*.{mts,tsx}'",
154
+ "codemod:uncommitted:unknown-record": "tsx --tsconfig ../../tools/configs/tsconfig.tsx.json ../../libs/ts-codemod-cli/src/cmd/replace-record-with-unknown-record.mts --uncommitted '{src,scripts,samples,test}/**/*.{mts,tsx}'",
155
+ "cspell": "cspell \"**\" --gitignore --gitignore-root ../../ --no-progress",
156
+ "doc": "tsx --tsconfig ../../tools/configs/tsconfig.tsx.json ./scripts/cmd/gen-docs.mts",
157
+ "doc:embed": "tsx --tsconfig ../../tools/configs/tsconfig.tsx.json ./scripts/cmd/embed-examples.mts",
158
+ "fmt": "tsx --tsconfig ../../tools/configs/tsconfig.tsx.json ../../libs/ts-repo-utils/src/cmd/format-uncommitted.mts --cwd .",
159
+ "fmt:diff": "tsx --tsconfig ../../tools/configs/tsconfig.tsx.json ../../libs/ts-repo-utils/src/cmd/format-diff-from.mts origin/main --cwd .",
160
+ "fmt:full": "prettier --write .",
161
+ "gen-rule-type": "tsx --tsconfig ../../tools/configs/tsconfig.tsx.json ./scripts/gen-eslint-rules/main.mts",
162
+ "gi": "run-s gi:src fmt",
163
+ "gi:src": "tsx --tsconfig ../../tools/configs/tsconfig.tsx.json scripts/cmd/gen-index.mts",
164
+ "lint": "eslint .",
165
+ "lint:fix": "eslint . --fix",
166
+ "test": "pnpm run z:vitest:node run",
167
+ "test:cov": "pnpm run z:vitest:node run --coverage",
168
+ "test:cov:ui": "vite preview --outDir ./coverage",
169
+ "test:ui": "pnpm run z:vitest:node --ui",
170
+ "testw": "pnpm run z:vitest:node watch",
171
+ "tsc": "node ../../node_modules/typescript-native/bin/tsc --noEmit",
172
+ "tscw": "node ../../node_modules/typescript-native/bin/tsc --noEmit --watch -p ./tsconfig.json",
173
+ "type-check": "node ../../node_modules/typescript-native/bin/tsc --noEmit",
174
+ "z:vitest": "vitest --config ./configs/vitest.config.mts",
175
+ "z:vitest:node": "pnpm run z:vitest --project='Node.js'"
198
176
  }
199
- }
177
+ }
@@ -52,6 +52,8 @@ import eslintPluginMath from 'eslint-plugin-math';
52
52
 
53
53
  import eslintPluginEslintPlugin from 'eslint-plugin-eslint-plugin';
54
54
 
55
+ import { type ReadonlyRecord, type StrictOmit } from 'ts-type-forge';
56
+
55
57
  // import eslintPluginTotalFunctions from 'eslint-plugin-total-functions';
56
58
  // import eslintPluginTreeShakable from 'eslint-plugin-tree-shakable';
57
59
  import {
@@ -66,7 +68,7 @@ import {
66
68
 
67
69
  import { type ESLintPlugin, type FlatConfig } from '../types/index.mjs';
68
70
 
69
- export const plugins: Record<
71
+ export const plugins: ReadonlyRecord<
70
72
  | '@typescript-eslint'
71
73
  | '@stylistic'
72
74
  | 'array-func'
@@ -97,7 +99,7 @@ export const plugins: Record<
97
99
  | 'react-coding-style'
98
100
  | 'immer-coding-style'
99
101
  | 'vitest-coding-style',
100
- Omit<ESLintPlugin, 'configs'>
102
+ StrictOmit<ESLintPlugin, 'configs'>
101
103
  > = {
102
104
  '@typescript-eslint': typescriptEslint,
103
105
  '@stylistic': stylistic,
@@ -1,6 +1,8 @@
1
+ import { type StrictOmit } from 'ts-type-forge';
1
2
  import { type ESLintPlugin } from '../../types/index.mjs';
2
3
  import { immerCodingStyleRules } from './rules/index.mjs';
3
4
 
4
- export const eslintPluginImmerCodingStyle: Omit<ESLintPlugin, 'configs'> = {
5
- rules: immerCodingStyleRules,
6
- } as const;
5
+ export const eslintPluginImmerCodingStyle: StrictOmit<ESLintPlugin, 'configs'> =
6
+ {
7
+ rules: immerCodingStyleRules,
8
+ } as const;
@@ -1,6 +1,8 @@
1
+ import { type StrictOmit } from 'ts-type-forge';
1
2
  import { type ESLintPlugin } from '../../types/index.mjs';
2
3
  import { reactCodingStyleRules } from './rules/index.mjs';
3
4
 
4
- export const eslintPluginReactCodingStyle: Omit<ESLintPlugin, 'configs'> = {
5
- rules: reactCodingStyleRules,
6
- } as const;
5
+ export const eslintPluginReactCodingStyle: StrictOmit<ESLintPlugin, 'configs'> =
6
+ {
7
+ rules: reactCodingStyleRules,
8
+ } as const;
@@ -1,7 +1,11 @@
1
+ import { type StrictOmit } from 'ts-type-forge';
1
2
  import { type ESLintPlugin } from '../../types/index.mjs';
2
3
  import { strictDependenciesRules } from './rules/index.mjs';
3
4
 
4
5
  // Forked from https://github.com/knowledge-work/eslint-plugin-strict-dependencies/blob/v1.3.27/index.js
5
- export const eslintPluginStrictDependencies: Omit<ESLintPlugin, 'configs'> = {
6
+ export const eslintPluginStrictDependencies: StrictOmit<
7
+ ESLintPlugin,
8
+ 'configs'
9
+ > = {
6
10
  rules: strictDependenciesRules,
7
11
  } as const;
@@ -1,6 +1,6 @@
1
1
  import * as path from 'node:path';
2
2
  import { Arr, isNonEmptyString, mapNullable } from 'ts-data-forge';
3
- import { type ReadonlyRecord } from 'ts-type-forge';
3
+ import { type MutableRecord, type ReadonlyRecord } from 'ts-type-forge';
4
4
  import * as ts from 'typescript';
5
5
 
6
6
  // Forked from https://github.com/knowledge-work/eslint-plugin-strict-dependencies/blob/v1.3.27/strict-dependencies/resolveImportPath.js
@@ -14,7 +14,7 @@ export const resolveImportPath = (
14
14
  pathIndexMap: ReadonlyRecord<string, number>,
15
15
  ): string => {
16
16
  // Maps importAlias to OriginalPath
17
- const mut_importAliasMap: Record<string, string> = {};
17
+ const mut_importAliasMap: MutableRecord<string, string> = {};
18
18
 
19
19
  let mut_importPath = importPath;
20
20
 
@@ -1,3 +1,4 @@
1
+ import { type ReadonlyRecord } from 'ts-type-forge';
1
2
  import * as ts from 'typescript';
2
3
  import { resolveImportPath } from './resolve-import-path.mjs';
3
4
 
@@ -92,7 +93,7 @@ const compilerOptionsByFixture = {
92
93
  '@/components/*': ['src/components/*', 'src/alternativeComponents/*'],
93
94
  },
94
95
  },
95
- } as const satisfies Readonly<Record<string, ts.CompilerOptions>>;
96
+ } as const satisfies ReadonlyRecord<string, ts.CompilerOptions>;
96
97
 
97
98
  type FixtureName = keyof typeof compilerOptionsByFixture;
98
99
 
@@ -1,8 +1,9 @@
1
+ import { type StrictOmit } from 'ts-type-forge';
1
2
  import { type ESLintPlugin } from '../../types/index.mjs';
2
3
  import { totalFunctionsRules } from './rules/index.mjs';
3
4
 
4
5
  // forked from https://github.com/danielnixon/eslint-plugin-total-functions v7.1.0
5
6
 
6
- export const eslintPluginTotalFunctions: Omit<ESLintPlugin, 'configs'> = {
7
+ export const eslintPluginTotalFunctions: StrictOmit<ESLintPlugin, 'configs'> = {
7
8
  rules: totalFunctionsRules,
8
9
  } as const;
@@ -1,8 +1,9 @@
1
+ import { type StrictOmit } from 'ts-type-forge';
1
2
  import { type ESLintPlugin } from '../../types/index.mjs';
2
3
  import { treeShakableRules } from './rules/index.mjs';
3
4
 
4
5
  // forked from https://github.com/uhyo/eslint-plugin-tree-shakable/releases/tag/v1.2.0
5
6
 
6
- export const eslintPluginTreeShakable: Omit<ESLintPlugin, 'configs'> = {
7
+ export const eslintPluginTreeShakable: StrictOmit<ESLintPlugin, 'configs'> = {
7
8
  rules: treeShakableRules,
8
9
  } as const;
@@ -282,4 +282,7 @@ describe('check-destructuring-completeness', () => {
282
282
  ],
283
283
  },
284
284
  );
285
- }, 20000);
285
+ // Typed RuleTester cases build a TypeScript program per case. On its own
286
+ // this file finishes in ~6s with coverage, but it is scheduled alongside
287
+ // the package's other 37 coverage-instrumented files and can starve.
288
+ }, 60000);
@@ -1,6 +1,10 @@
1
+ import { type StrictOmit } from 'ts-type-forge';
1
2
  import { type ESLintPlugin } from '../../types/index.mjs';
2
3
  import { vitestCodingStyleRules } from './rules/index.mjs';
3
4
 
4
- export const eslintPluginVitestCodingStyle: Omit<ESLintPlugin, 'configs'> = {
5
+ export const eslintPluginVitestCodingStyle: StrictOmit<
6
+ ESLintPlugin,
7
+ 'configs'
8
+ > = {
5
9
  rules: vitestCodingStyleRules,
6
10
  } as const;
@@ -66,7 +66,7 @@ export const eslintImportsRules = {
66
66
  'import-x/no-extraneous-dependencies': 'off',
67
67
  'import-x/no-mutable-exports': 'error',
68
68
 
69
- // TODO: https://github.com/noshiro-pf/eslint-config-typed/issues/98
69
+ // TODO: https://github.com/noshiro-pf/mono/issues/98
70
70
  // 'import-x/no-unused-modules': ['error', { unusedExports: true }],
71
71
  'import-x/no-unused-modules': 'off',
72
72