@ovh-ux/manager-static-analysis-kit 0.3.0 → 0.4.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 (105) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/dist/adapters/eslint/config/eslint-shared-config.d.ts +3 -0
  3. package/dist/adapters/eslint/config/eslint-shared-config.d.ts.map +1 -0
  4. package/dist/adapters/eslint/config/eslint-shared-config.js +27 -0
  5. package/dist/adapters/eslint/rules/eslint-a11y.d.ts +3 -0
  6. package/dist/adapters/eslint/rules/eslint-a11y.d.ts.map +1 -0
  7. package/dist/adapters/eslint/rules/eslint-a11y.js +18 -0
  8. package/dist/adapters/eslint/rules/eslint-complexity.d.ts +4 -0
  9. package/dist/adapters/eslint/rules/eslint-complexity.d.ts.map +1 -0
  10. package/dist/adapters/eslint/rules/eslint-complexity.js +56 -0
  11. package/dist/adapters/eslint/rules/eslint-css.d.ts +8 -0
  12. package/dist/adapters/eslint/rules/eslint-css.d.ts.map +1 -0
  13. package/dist/adapters/eslint/rules/eslint-css.js +17 -0
  14. package/dist/adapters/eslint/rules/eslint-html.d.ts +3 -0
  15. package/dist/adapters/eslint/rules/eslint-html.d.ts.map +1 -0
  16. package/dist/adapters/eslint/rules/eslint-html.js +16 -0
  17. package/dist/adapters/eslint/rules/eslint-imports.d.ts +3 -0
  18. package/dist/adapters/eslint/rules/eslint-imports.d.ts.map +1 -0
  19. package/dist/adapters/eslint/rules/eslint-imports.js +52 -0
  20. package/dist/adapters/eslint/rules/eslint-javascript.d.ts +3 -0
  21. package/dist/adapters/eslint/rules/eslint-javascript.d.ts.map +1 -0
  22. package/dist/adapters/eslint/rules/eslint-javascript.js +14 -0
  23. package/dist/adapters/eslint/rules/eslint-naming-conventions.d.ts +3 -0
  24. package/dist/adapters/eslint/rules/eslint-naming-conventions.d.ts.map +1 -0
  25. package/dist/adapters/eslint/rules/eslint-naming-conventions.js +35 -0
  26. package/dist/adapters/eslint/rules/eslint-prettier.d.ts +3 -0
  27. package/dist/adapters/eslint/rules/eslint-prettier.d.ts.map +1 -0
  28. package/dist/adapters/eslint/rules/eslint-prettier.js +13 -0
  29. package/dist/adapters/eslint/rules/eslint-react.d.ts +3 -0
  30. package/dist/adapters/eslint/rules/eslint-react.d.ts.map +1 -0
  31. package/dist/adapters/eslint/rules/eslint-react.js +32 -0
  32. package/dist/adapters/eslint/rules/eslint-storybook.d.ts +3 -0
  33. package/dist/adapters/eslint/rules/eslint-storybook.d.ts.map +1 -0
  34. package/dist/adapters/eslint/rules/eslint-storybook.js +12 -0
  35. package/dist/adapters/eslint/rules/eslint-tailwind-jsx.d.ts +3 -0
  36. package/dist/adapters/eslint/rules/eslint-tailwind-jsx.d.ts.map +1 -0
  37. package/dist/adapters/eslint/rules/eslint-tailwind-jsx.js +11 -0
  38. package/dist/adapters/eslint/rules/eslint-tanstack.d.ts +3 -0
  39. package/dist/adapters/eslint/rules/eslint-tanstack.d.ts.map +1 -0
  40. package/dist/adapters/eslint/rules/eslint-tanstack.js +11 -0
  41. package/dist/adapters/eslint/rules/eslint-tests.d.ts +3 -0
  42. package/dist/adapters/eslint/rules/eslint-tests.d.ts.map +1 -0
  43. package/dist/adapters/eslint/rules/eslint-tests.js +21 -0
  44. package/dist/adapters/eslint/rules/eslint-typescript.d.ts +3 -0
  45. package/dist/adapters/eslint/rules/eslint-typescript.d.ts.map +1 -0
  46. package/dist/adapters/eslint/rules/eslint-typescript.js +20 -0
  47. package/dist/adapters/ts-config/config/standard/tsconfig.node.d.ts +22 -0
  48. package/dist/adapters/ts-config/config/standard/tsconfig.node.d.ts.map +1 -0
  49. package/dist/adapters/ts-config/config/standard/tsconfig.node.js +12 -0
  50. package/dist/adapters/ts-config/config/standard/tsconfig.react.d.ts +25 -0
  51. package/dist/adapters/ts-config/config/standard/tsconfig.react.d.ts.map +1 -0
  52. package/dist/adapters/ts-config/config/standard/tsconfig.react.js +14 -0
  53. package/dist/adapters/ts-config/config/standard/tsconfig.test.d.ts +23 -0
  54. package/dist/adapters/ts-config/config/standard/tsconfig.test.d.ts.map +1 -0
  55. package/dist/adapters/ts-config/config/standard/tsconfig.test.js +12 -0
  56. package/dist/adapters/ts-config/config/strict/tsconfig.node.d.ts +27 -0
  57. package/dist/adapters/ts-config/config/strict/tsconfig.node.d.ts.map +1 -0
  58. package/dist/adapters/ts-config/config/strict/tsconfig.node.js +12 -0
  59. package/dist/adapters/ts-config/config/strict/tsconfig.react.d.ts +30 -0
  60. package/dist/adapters/ts-config/config/strict/tsconfig.react.d.ts.map +1 -0
  61. package/dist/adapters/ts-config/config/strict/tsconfig.react.js +14 -0
  62. package/dist/adapters/ts-config/config/strict/tsconfig.test.d.ts +28 -0
  63. package/dist/adapters/ts-config/config/strict/tsconfig.test.d.ts.map +1 -0
  64. package/dist/adapters/ts-config/config/strict/tsconfig.test.js +12 -0
  65. package/dist/adapters/ts-config/rules/tsconfig.base.d.ts +18 -0
  66. package/dist/adapters/ts-config/rules/tsconfig.base.d.ts.map +1 -0
  67. package/dist/adapters/ts-config/rules/tsconfig.base.js +17 -0
  68. package/dist/adapters/ts-config/rules/tsconfig.base.strict.d.ts +23 -0
  69. package/dist/adapters/ts-config/rules/tsconfig.base.strict.d.ts.map +1 -0
  70. package/dist/adapters/ts-config/rules/tsconfig.base.strict.js +12 -0
  71. package/dist/code-analysis.d.ts +2 -0
  72. package/dist/code-analysis.d.ts.map +1 -0
  73. package/dist/code-analysis.js +1 -0
  74. package/dist/configs/complexity-config.d.ts +15 -0
  75. package/dist/configs/complexity-config.d.ts.map +1 -0
  76. package/dist/configs/complexity-config.js +14 -0
  77. package/dist/configs/file-globs-config.d.ts +15 -0
  78. package/dist/configs/file-globs-config.d.ts.map +1 -0
  79. package/dist/configs/file-globs-config.js +14 -0
  80. package/dist/configs/import-order-config.d.ts +2 -0
  81. package/dist/configs/import-order-config.d.ts.map +1 -0
  82. package/dist/configs/import-order-config.js +9 -0
  83. package/dist/configs/jscpd-config.d.ts +7 -0
  84. package/dist/configs/jscpd-config.d.ts.map +1 -0
  85. package/dist/configs/jscpd-config.js +7 -0
  86. package/dist/configs/madge-config.d.ts +5 -0
  87. package/dist/configs/madge-config.d.ts.map +1 -0
  88. package/dist/configs/madge-config.js +5 -0
  89. package/dist/configs/naming-conventions-config.d.ts +7 -0
  90. package/dist/configs/naming-conventions-config.d.ts.map +1 -0
  91. package/dist/configs/naming-conventions-config.js +60 -0
  92. package/dist/configs/prettier-config.d.ts +18 -0
  93. package/dist/configs/prettier-config.d.ts.map +1 -0
  94. package/dist/configs/prettier-config.js +34 -0
  95. package/dist/configs/shared-exclusion-patterns.d.ts +2 -0
  96. package/dist/configs/shared-exclusion-patterns.d.ts.map +1 -0
  97. package/dist/configs/shared-exclusion-patterns.js +37 -0
  98. package/dist/tsconfig/node-strict.json +29 -0
  99. package/dist/tsconfig/node.json +24 -0
  100. package/dist/tsconfig/react-strict.json +34 -0
  101. package/dist/tsconfig/react.json +29 -0
  102. package/dist/tsconfig/test-strict.json +36 -0
  103. package/dist/tsconfig/test.json +32 -0
  104. package/dist/tsconfig.tsbuildinfo +1 -0
  105. package/package.json +4 -3
package/CHANGELOG.md CHANGED
@@ -3,6 +3,28 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [0.4.0](https://github.com/ovh/manager/compare/@ovh-ux/manager-static-analysis-kit@0.3.1...@ovh-ux/manager-static-analysis-kit@0.4.0) (2025-07-21)
7
+
8
+
9
+ ### Features
10
+
11
+ * static kit enhancement after v1 publish ([ce8d80d](https://github.com/ovh/manager/commit/ce8d80d6747771d7cad0b7470e64a52d5262f782)), closes [#MANAGER-17954](https://github.com/ovh/manager/issues/MANAGER-17954)
12
+
13
+
14
+
15
+
16
+
17
+ ## [0.3.1](https://github.com/ovh/manager/compare/@ovh-ux/manager-static-analysis-kit@0.3.0...@ovh-ux/manager-static-analysis-kit@0.3.1) (2025-07-18)
18
+
19
+
20
+ ### Bug Fixes
21
+
22
+ * add prepare script to build before publish ([1940831](https://github.com/ovh/manager/commit/1940831f9d1c2b209ea597f3672ec9d7c00a82bb)), closes [#MANAGER-17954](https://github.com/ovh/manager/issues/MANAGER-17954)
23
+
24
+
25
+
26
+
27
+
6
28
  # [0.3.0](https://github.com/ovh/manager/compare/@ovh-ux/manager-static-analysis-kit@0.2.0...@ovh-ux/manager-static-analysis-kit@0.3.0) (2025-07-18)
7
29
 
8
30
 
@@ -0,0 +1,3 @@
1
+ import { Linter } from 'eslint';
2
+ export declare const eslintSharedConfig: Linter.FlatConfig[];
3
+ //# sourceMappingURL=eslint-shared-config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"eslint-shared-config.d.ts","sourceRoot":"","sources":["../../../../src/adapters/eslint/config/eslint-shared-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAgChC,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,UAAU,EAyBjD,CAAC"}
@@ -0,0 +1,27 @@
1
+ import { a11yEslintConfig } from '../rules/eslint-a11y';
2
+ import { complexityJsxTsxConfig, complexityTsJsConfig } from '../rules/eslint-complexity';
3
+ import { htmlEslintConfig } from '../rules/eslint-html';
4
+ import { importEslintConfig } from '../rules/eslint-imports';
5
+ import { javascriptEslintConfig } from '../rules/eslint-javascript';
6
+ import { checkFileEslintConfig } from '../rules/eslint-naming-conventions';
7
+ import { prettierEslintConfig } from '../rules/eslint-prettier';
8
+ import { reactEslintConfig } from '../rules/eslint-react';
9
+ import { tailwindJsxConfig } from '../rules/eslint-tailwind-jsx';
10
+ import { tanStackQueryEslintConfig } from '../rules/eslint-tanstack';
11
+ import { vitestEslintConfig } from '../rules/eslint-tests';
12
+ import { typescriptEslintConfig } from '../rules/eslint-typescript';
13
+ export const eslintSharedConfig = [
14
+ htmlEslintConfig,
15
+ javascriptEslintConfig,
16
+ typescriptEslintConfig,
17
+ ...importEslintConfig,
18
+ tailwindJsxConfig,
19
+ a11yEslintConfig,
20
+ reactEslintConfig,
21
+ tanStackQueryEslintConfig,
22
+ vitestEslintConfig,
23
+ complexityJsxTsxConfig,
24
+ complexityTsJsConfig,
25
+ prettierEslintConfig,
26
+ ...checkFileEslintConfig,
27
+ ];
@@ -0,0 +1,3 @@
1
+ import { Linter } from 'eslint';
2
+ export declare const a11yEslintConfig: Linter.FlatConfig;
3
+ //# sourceMappingURL=eslint-a11y.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"eslint-a11y.d.ts","sourceRoot":"","sources":["../../../../src/adapters/eslint/rules/eslint-a11y.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAchC,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,UAerC,CAAC"}
@@ -0,0 +1,18 @@
1
+ import jsxA11y from 'eslint-plugin-jsx-a11y';
2
+ import { allModules } from '../../../configs/file-globs-config';
3
+ export const a11yEslintConfig = {
4
+ files: [allModules],
5
+ plugins: {
6
+ 'jsx-a11y': jsxA11y,
7
+ },
8
+ languageOptions: {
9
+ parserOptions: {
10
+ ecmaFeatures: {
11
+ jsx: true,
12
+ },
13
+ },
14
+ },
15
+ rules: {
16
+ ...jsxA11y.flatConfigs.recommended.rules,
17
+ },
18
+ };
@@ -0,0 +1,4 @@
1
+ import { Linter } from 'eslint';
2
+ export declare const complexityJsxTsxConfig: Linter.FlatConfig;
3
+ export declare const complexityTsJsConfig: Linter.FlatConfig;
4
+ //# sourceMappingURL=eslint-complexity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"eslint-complexity.d.ts","sourceRoot":"","sources":["../../../../src/adapters/eslint/rules/eslint-complexity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAsBhC,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,UA6B3C,CAAC;AAKF,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,UA8BzC,CAAC"}
@@ -0,0 +1,56 @@
1
+ import { complexityRules } from '../../../configs/complexity-config';
2
+ import { jsTsFiles, jsxTsxFiles } from '../../../configs/file-globs-config';
3
+ const sharedComplexityRules = {
4
+ 'max-depth': ['warn', complexityRules.maxDepth],
5
+ 'max-params': ['warn', complexityRules.maxParams],
6
+ 'max-nested-callbacks': ['warn', complexityRules.maxCallbacks],
7
+ };
8
+ export const complexityJsxTsxConfig = {
9
+ files: [jsxTsxFiles],
10
+ rules: {
11
+ ...sharedComplexityRules,
12
+ complexity: ['warn', complexityRules.statements.tsxJsx],
13
+ 'max-lines': [
14
+ 'warn',
15
+ {
16
+ max: complexityRules.maxLines,
17
+ skipBlankLines: true,
18
+ skipComments: true,
19
+ },
20
+ ],
21
+ 'max-lines-per-function': [
22
+ 'warn',
23
+ {
24
+ max: complexityRules.linesPerFunction.tsxJsx,
25
+ skipBlankLines: true,
26
+ skipComments: true,
27
+ IIFEs: true,
28
+ },
29
+ ],
30
+ },
31
+ };
32
+ export const complexityTsJsConfig = {
33
+ files: [jsTsFiles],
34
+ ignores: [jsxTsxFiles],
35
+ rules: {
36
+ ...sharedComplexityRules,
37
+ complexity: ['warn', complexityRules.statements.tsJs],
38
+ 'max-lines': [
39
+ 'warn',
40
+ {
41
+ max: complexityRules.maxLines,
42
+ skipBlankLines: true,
43
+ skipComments: true,
44
+ },
45
+ ],
46
+ 'max-lines-per-function': [
47
+ 'warn',
48
+ {
49
+ max: complexityRules.linesPerFunction.tsJs,
50
+ skipBlankLines: true,
51
+ skipComments: true,
52
+ IIFEs: true,
53
+ },
54
+ ],
55
+ },
56
+ };
@@ -0,0 +1,8 @@
1
+ import { Linter } from 'eslint';
2
+ type ExtendedFlatConfig = Linter.FlatConfig & {
3
+ language?: string;
4
+ languageOptions?: Record<string, unknown>;
5
+ };
6
+ export declare const cssEslintConfig: ExtendedFlatConfig;
7
+ export {};
8
+ //# sourceMappingURL=eslint-css.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"eslint-css.d.ts","sourceRoot":"","sources":["../../../../src/adapters/eslint/rules/eslint-css.ts"],"names":[],"mappings":"AACA,OAAO,EAAU,MAAM,EAAE,MAAM,QAAQ,CAAC;AAKxC,KAAK,kBAAkB,GAAG,MAAM,CAAC,UAAU,GAAG;IAC5C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC3C,CAAC;AAaF,eAAO,MAAM,eAAe,EAAE,kBAa7B,CAAC"}
@@ -0,0 +1,17 @@
1
+ import css from '@eslint/css';
2
+ import { tailwind4 } from 'tailwind-csstree';
3
+ import { cssFiles } from '../../../configs/file-globs-config';
4
+ export const cssEslintConfig = {
5
+ files: [cssFiles],
6
+ language: 'css/css',
7
+ languageOptions: {
8
+ customSyntax: tailwind4,
9
+ },
10
+ plugins: {
11
+ css: css,
12
+ },
13
+ rules: {
14
+ ...css.configs.recommended.rules,
15
+ 'no-irregular-whitespace': 'off',
16
+ },
17
+ };
@@ -0,0 +1,3 @@
1
+ import { Linter } from 'eslint';
2
+ export declare const htmlEslintConfig: Linter.FlatConfig;
3
+ //# sourceMappingURL=eslint-html.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"eslint-html.d.ts","sourceRoot":"","sources":["../../../../src/adapters/eslint/rules/eslint-html.ts"],"names":[],"mappings":"AAEA,OAAO,EAAU,MAAM,EAAE,MAAM,QAAQ,CAAC;AAiBxC,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,UAYrC,CAAC"}
@@ -0,0 +1,16 @@
1
+ import htmlPlugin from '@html-eslint/eslint-plugin';
2
+ import htmlParser from '@html-eslint/parser';
3
+ import { htmlFiles } from '../../../configs/file-globs-config';
4
+ export const htmlEslintConfig = {
5
+ files: [htmlFiles],
6
+ ignores: [],
7
+ plugins: {
8
+ '@html-eslint': htmlPlugin,
9
+ },
10
+ languageOptions: {
11
+ parser: htmlParser,
12
+ },
13
+ rules: {
14
+ ...htmlPlugin.configs['flat/recommended'].rules,
15
+ },
16
+ };
@@ -0,0 +1,3 @@
1
+ import { Linter } from 'eslint';
2
+ export declare const importEslintConfig: Linter.FlatConfig[];
3
+ //# sourceMappingURL=eslint-imports.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"eslint-imports.d.ts","sourceRoot":"","sources":["../../../../src/adapters/eslint/rules/eslint-imports.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAuDhC,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,UAAU,EA2BjD,CAAC"}
@@ -0,0 +1,52 @@
1
+ import js from '@eslint/js';
2
+ import importPlugin from 'eslint-plugin-import';
3
+ import tsEslint from 'typescript-eslint';
4
+ import { jsFiles, tsFiles } from '../../../configs/file-globs-config';
5
+ const sharedImportRules = {
6
+ ...importPlugin.flatConfigs.recommended.rules,
7
+ 'import/no-cycle': [
8
+ 'error',
9
+ {
10
+ maxDepth: Infinity,
11
+ ignoreExternal: false,
12
+ allowUnsafeDynamicCyclicDependency: false,
13
+ disableScc: false,
14
+ },
15
+ ],
16
+ 'import/no-dynamic-require': 'warn',
17
+ 'import/no-nodejs-modules': 'warn',
18
+ };
19
+ const jsImportRules = {
20
+ ...sharedImportRules,
21
+ 'no-unused-vars': 'warn',
22
+ };
23
+ const tsImportRules = {
24
+ ...sharedImportRules,
25
+ 'no-unused-vars': 'off',
26
+ '@typescript-eslint/no-unused-vars': ['warn', { argsIgnorePattern: '^_' }],
27
+ };
28
+ export const importEslintConfig = [
29
+ js.configs.recommended,
30
+ importPlugin.flatConfigs.recommended,
31
+ {
32
+ files: [jsFiles],
33
+ languageOptions: {
34
+ ecmaVersion: 'latest',
35
+ sourceType: 'module',
36
+ },
37
+ rules: jsImportRules,
38
+ },
39
+ ...tsEslint.config({
40
+ files: [tsFiles],
41
+ extends: [importPlugin.flatConfigs.recommended, importPlugin.flatConfigs.typescript],
42
+ rules: tsImportRules,
43
+ settings: {
44
+ 'import/resolver': {
45
+ typescript: {
46
+ alwaysTryTypes: true,
47
+ },
48
+ node: true,
49
+ },
50
+ },
51
+ }),
52
+ ];
@@ -0,0 +1,3 @@
1
+ import { Linter } from 'eslint';
2
+ export declare const javascriptEslintConfig: Linter.FlatConfig;
3
+ //# sourceMappingURL=eslint-javascript.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"eslint-javascript.d.ts","sourceRoot":"","sources":["../../../../src/adapters/eslint/rules/eslint-javascript.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAchC,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,UAW3C,CAAC"}
@@ -0,0 +1,14 @@
1
+ import js from '@eslint/js';
2
+ import { jsFilesLoose } from '../../../configs/file-globs-config';
3
+ export const javascriptEslintConfig = {
4
+ files: [jsFilesLoose],
5
+ ignores: [],
6
+ languageOptions: {
7
+ ...js.languageOptions,
8
+ sourceType: 'module',
9
+ },
10
+ plugins: js.plugins,
11
+ rules: {
12
+ ...js.configs.recommended.rules,
13
+ },
14
+ };
@@ -0,0 +1,3 @@
1
+ import { Linter } from 'eslint';
2
+ export declare const checkFileEslintConfig: Linter.FlatConfig[];
3
+ //# sourceMappingURL=eslint-naming-conventions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"eslint-naming-conventions.d.ts","sourceRoot":"","sources":["../../../../src/adapters/eslint/rules/eslint-naming-conventions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAUhC,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,UAAU,EAsCpD,CAAC"}
@@ -0,0 +1,35 @@
1
+ import checkFile from 'eslint-plugin-check-file';
2
+ import { filenameBlocklist, filenameNamingConvention, folderMatchWithFex, folderNamingConvention, } from '../../../configs/naming-conventions-config';
3
+ export const checkFileEslintConfig = [
4
+ {
5
+ plugins: {
6
+ 'check-file': checkFile,
7
+ },
8
+ rules: {
9
+ 'check-file/no-index': 'error',
10
+ 'check-file/filename-blocklist': ['error', filenameBlocklist],
11
+ 'check-file/folder-match-with-fex': [
12
+ 'error',
13
+ folderMatchWithFex,
14
+ {
15
+ errorMessage: 'The folder of the file "{{ target }}" does not match the expected pattern "{{ pattern }}". See µ-app structure guidelines.',
16
+ },
17
+ ],
18
+ 'check-file/filename-naming-convention': [
19
+ 'error',
20
+ filenameNamingConvention,
21
+ {
22
+ ignoreMiddleExtensions: true,
23
+ errorMessage: 'The filename "{{ target }}" does not match the naming convention "{{ pattern }}". Please check contribute.md.',
24
+ },
25
+ ],
26
+ 'check-file/folder-naming-convention': [
27
+ 'error',
28
+ folderNamingConvention,
29
+ {
30
+ errorMessage: 'Folder "{{ target }}" must follow the "{{ pattern }}" naming convention. See µ-app guidelines.',
31
+ },
32
+ ],
33
+ },
34
+ },
35
+ ];
@@ -0,0 +1,3 @@
1
+ import { Linter } from 'eslint';
2
+ export declare const prettierEslintConfig: Linter.FlatConfig;
3
+ //# sourceMappingURL=eslint-prettier.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"eslint-prettier.d.ts","sourceRoot":"","sources":["../../../../src/adapters/eslint/rules/eslint-prettier.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAkBhC,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,UAUzC,CAAC"}
@@ -0,0 +1,13 @@
1
+ import prettier from 'eslint-plugin-prettier';
2
+ import { commonTextFiles } from '../../../configs/file-globs-config';
3
+ import { prettierConfig, prettierIgnorePatterns } from '../../../configs/prettier-config';
4
+ export const prettierEslintConfig = {
5
+ files: [commonTextFiles],
6
+ ignores: prettierIgnorePatterns,
7
+ plugins: {
8
+ prettier,
9
+ },
10
+ rules: {
11
+ 'prettier/prettier': ['error', prettierConfig, { usePrettierrc: false }],
12
+ },
13
+ };
@@ -0,0 +1,3 @@
1
+ import { Linter } from 'eslint';
2
+ export declare const reactEslintConfig: Linter.FlatConfig;
3
+ //# sourceMappingURL=eslint-react.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"eslint-react.d.ts","sourceRoot":"","sources":["../../../../src/adapters/eslint/rules/eslint-react.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,MAAM,EAAE,MAAM,QAAQ,CAAC;AAmBxC,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,UAiCtC,CAAC"}
@@ -0,0 +1,32 @@
1
+ import reactPlugin from 'eslint-plugin-react';
2
+ import reactHooksPlugin from 'eslint-plugin-react-hooks';
3
+ import globals from 'globals';
4
+ import { jsTsFiles } from '../../../configs/file-globs-config';
5
+ export const reactEslintConfig = {
6
+ files: [jsTsFiles],
7
+ plugins: {
8
+ react: reactPlugin,
9
+ 'react-hooks': reactHooksPlugin,
10
+ },
11
+ languageOptions: {
12
+ parserOptions: {
13
+ ecmaFeatures: {
14
+ jsx: true,
15
+ },
16
+ },
17
+ globals: {
18
+ ...globals.browser,
19
+ },
20
+ },
21
+ settings: {
22
+ react: {
23
+ version: 'detect',
24
+ },
25
+ },
26
+ rules: {
27
+ ...reactPlugin.configs.recommended.rules,
28
+ ...reactPlugin.configs['jsx-runtime'].rules,
29
+ ...reactHooksPlugin.configs.recommended.rules,
30
+ 'react/no-multi-comp': ['error', { ignoreStateless: false }],
31
+ },
32
+ };
@@ -0,0 +1,3 @@
1
+ import { Linter } from 'eslint';
2
+ export declare const storybookEslintConfig: Linter.FlatConfig[];
3
+ //# sourceMappingURL=eslint-storybook.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"eslint-storybook.d.ts","sourceRoot":"","sources":["../../../../src/adapters/eslint/rules/eslint-storybook.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAyBhC,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,UAAU,EAGpD,CAAC"}
@@ -0,0 +1,12 @@
1
+ import storybook from 'eslint-plugin-storybook';
2
+ import { storyFiles } from '../../../configs/file-globs-config';
3
+ const overrides = {
4
+ files: [storyFiles],
5
+ rules: {
6
+ 'storybook/hierarchy-separator': 'error',
7
+ },
8
+ };
9
+ export const storybookEslintConfig = [
10
+ ...storybook.configs['flat/recommended'],
11
+ overrides,
12
+ ];
@@ -0,0 +1,3 @@
1
+ import { Linter } from 'eslint';
2
+ export declare const tailwindJsxConfig: Linter.FlatConfig;
3
+ //# sourceMappingURL=eslint-tailwind-jsx.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"eslint-tailwind-jsx.d.ts","sourceRoot":"","sources":["../../../../src/adapters/eslint/rules/eslint-tailwind-jsx.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAYhC,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,UAQtC,CAAC"}
@@ -0,0 +1,11 @@
1
+ import tailwindcss from 'eslint-plugin-tailwindcss';
2
+ import { jsxTsxFiles } from '../../../configs/file-globs-config';
3
+ export const tailwindJsxConfig = {
4
+ files: [jsxTsxFiles],
5
+ plugins: {
6
+ tailwindcss,
7
+ },
8
+ rules: {
9
+ ...tailwindcss.configs['flat/recommended'].rules,
10
+ },
11
+ };
@@ -0,0 +1,3 @@
1
+ import { Linter } from 'eslint';
2
+ export declare const tanStackQueryEslintConfig: Linter.FlatConfig;
3
+ //# sourceMappingURL=eslint-tanstack.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"eslint-tanstack.d.ts","sourceRoot":"","sources":["../../../../src/adapters/eslint/rules/eslint-tanstack.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAYhC,eAAO,MAAM,yBAAyB,EAAE,MAAM,CAAC,UAW9C,CAAC"}
@@ -0,0 +1,11 @@
1
+ import pluginQuery from '@tanstack/eslint-plugin-query';
2
+ import { jsTsFiles } from '../../../configs/file-globs-config';
3
+ export const tanStackQueryEslintConfig = {
4
+ files: [jsTsFiles],
5
+ plugins: {
6
+ '@tanstack/query': pluginQuery,
7
+ },
8
+ rules: {
9
+ ...pluginQuery.configs.recommended.rules,
10
+ },
11
+ };
@@ -0,0 +1,3 @@
1
+ import { Linter } from 'eslint';
2
+ export declare const vitestEslintConfig: Linter.FlatConfig;
3
+ //# sourceMappingURL=eslint-tests.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"eslint-tests.d.ts","sourceRoot":"","sources":["../../../../src/adapters/eslint/rules/eslint-tests.ts"],"names":[],"mappings":"AACA,OAAO,EAAU,MAAM,EAAE,MAAM,QAAQ,CAAC;AAcxC,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,UAmBvC,CAAC"}
@@ -0,0 +1,21 @@
1
+ import vitest from '@vitest/eslint-plugin';
2
+ import { testFiles } from '../../../configs/file-globs-config';
3
+ export const vitestEslintConfig = {
4
+ files: testFiles,
5
+ plugins: {
6
+ vitest: vitest,
7
+ },
8
+ settings: {
9
+ vitest: {
10
+ typecheck: true,
11
+ },
12
+ },
13
+ languageOptions: {
14
+ globals: {
15
+ ...vitest.environments.env.globals,
16
+ },
17
+ },
18
+ rules: {
19
+ ...vitest.configs.recommended.rules,
20
+ },
21
+ };
@@ -0,0 +1,3 @@
1
+ import { Linter } from 'eslint';
2
+ export declare const typescriptEslintConfig: Linter.FlatConfig;
3
+ //# sourceMappingURL=eslint-typescript.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"eslint-typescript.d.ts","sourceRoot":"","sources":["../../../../src/adapters/eslint/rules/eslint-typescript.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAahC,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,UAiB3C,CAAC"}
@@ -0,0 +1,20 @@
1
+ import tsPlugin from '@typescript-eslint/eslint-plugin';
2
+ import tsParser from '@typescript-eslint/parser';
3
+ import { tsFiles } from '../../../configs/file-globs-config';
4
+ export const typescriptEslintConfig = {
5
+ files: [tsFiles],
6
+ ignores: [],
7
+ languageOptions: {
8
+ parser: tsParser,
9
+ parserOptions: {
10
+ project: './tsconfig.json',
11
+ sourceType: 'module',
12
+ },
13
+ },
14
+ plugins: {
15
+ '@typescript-eslint': tsPlugin,
16
+ },
17
+ rules: {
18
+ ...tsPlugin.configs['recommended-type-checked'].rules,
19
+ },
20
+ };
@@ -0,0 +1,22 @@
1
+ declare const _default: {
2
+ compilerOptions: {
3
+ target: string;
4
+ module: string;
5
+ moduleResolution: string;
6
+ lib: string[];
7
+ types: string[];
8
+ skipLibCheck: boolean;
9
+ forceConsistentCasingInFileNames: boolean;
10
+ esModuleInterop: boolean;
11
+ allowSyntheticDefaultImports: boolean;
12
+ declaration: boolean;
13
+ declarationMap: boolean;
14
+ removeComments: boolean;
15
+ composite: boolean;
16
+ incremental: boolean;
17
+ baseUrl: string;
18
+ };
19
+ $schema: string;
20
+ };
21
+ export default _default;
22
+ //# sourceMappingURL=tsconfig.node.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tsconfig.node.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/ts-config/config/standard/tsconfig.node.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAEA,wBAUE"}
@@ -0,0 +1,12 @@
1
+ import { tsBaseConfig } from '../../rules/tsconfig.base';
2
+ export default {
3
+ ...tsBaseConfig,
4
+ compilerOptions: {
5
+ ...tsBaseConfig.compilerOptions,
6
+ target: 'ES2022',
7
+ module: 'NodeNext',
8
+ moduleResolution: 'NodeNext',
9
+ lib: ['ES2022'],
10
+ types: ['node'],
11
+ },
12
+ };
@@ -0,0 +1,25 @@
1
+ declare const _default: {
2
+ compilerOptions: {
3
+ module: string;
4
+ moduleResolution: string;
5
+ lib: string[];
6
+ jsx: string;
7
+ isolatedModules: boolean;
8
+ noEmit: boolean;
9
+ types: string[];
10
+ target: string;
11
+ skipLibCheck: boolean;
12
+ forceConsistentCasingInFileNames: boolean;
13
+ esModuleInterop: boolean;
14
+ allowSyntheticDefaultImports: boolean;
15
+ declaration: boolean;
16
+ declarationMap: boolean;
17
+ removeComments: boolean;
18
+ composite: boolean;
19
+ incremental: boolean;
20
+ baseUrl: string;
21
+ };
22
+ $schema: string;
23
+ };
24
+ export default _default;
25
+ //# sourceMappingURL=tsconfig.react.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tsconfig.react.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/ts-config/config/standard/tsconfig.react.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAEA,wBAYE"}
@@ -0,0 +1,14 @@
1
+ import { tsBaseConfig } from '../../rules/tsconfig.base';
2
+ export default {
3
+ ...tsBaseConfig,
4
+ compilerOptions: {
5
+ ...tsBaseConfig.compilerOptions,
6
+ module: 'ESNext',
7
+ moduleResolution: 'bundler',
8
+ lib: ['DOM', 'DOM.Iterable', 'ES2021'],
9
+ jsx: 'react-jsx',
10
+ isolatedModules: true,
11
+ noEmit: true,
12
+ types: ['vite/client'],
13
+ },
14
+ };