@ovh-ux/manager-static-analysis-kit 0.8.0 → 0.9.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 (85) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/README.md +59 -69
  3. package/bin/cli-path-config.js +31 -0
  4. package/bin/code-duplication-cli.js +96 -0
  5. package/bin/code-duplication-tests-cli.js +68 -0
  6. package/bin/lint-cli.js +1 -1
  7. package/bin/perf-budgets-cli.js +58 -297
  8. package/bin/perf-budgets-tests-cli.js +1 -3
  9. package/bin/static-dynamic-quality-checks.js +138 -0
  10. package/bin/tests-coverage-cli-tests.js +67 -0
  11. package/bin/tests-coverage-cli.js +135 -0
  12. package/bin/types-coverage-cli.js +127 -0
  13. package/bin/types-coverage-tests-cli.js +68 -0
  14. package/bin/utils/apps-utils.js +64 -0
  15. package/bin/utils/args-parse-utils.js +222 -0
  16. package/bin/utils/file-utils.js +52 -0
  17. package/bin/utils/log-utils.js +29 -0
  18. package/bin/utils/runner-utils.js +85 -0
  19. package/bin/utils/turbo-utils.js +139 -0
  20. package/dist/adapters/code-duplication/helpers/code-duplication-analysis-helper.d.ts +6 -0
  21. package/dist/adapters/code-duplication/helpers/code-duplication-analysis-helper.d.ts.map +1 -0
  22. package/dist/adapters/code-duplication/helpers/code-duplication-analysis-helper.js +240 -0
  23. package/dist/adapters/code-duplication/types/CodeDuplication.d.ts +60 -0
  24. package/dist/adapters/code-duplication/types/CodeDuplication.d.ts.map +1 -0
  25. package/dist/adapters/code-duplication/types/CodeDuplication.js +1 -0
  26. package/dist/adapters/eslint/rules/eslint-prettier.js +1 -1
  27. package/dist/adapters/html-a11y-validation/helpers/html-a11y-tests-setup.d.ts +62 -0
  28. package/dist/adapters/html-a11y-validation/helpers/html-a11y-tests-setup.d.ts.map +1 -0
  29. package/dist/adapters/html-a11y-validation/helpers/html-a11y-tests-setup.js +73 -0
  30. package/dist/adapters/html-w3c-validation/helpers/html-w3c-tests-setup.d.ts +19 -0
  31. package/dist/adapters/html-w3c-validation/helpers/html-w3c-tests-setup.d.ts.map +1 -0
  32. package/dist/adapters/html-w3c-validation/helpers/html-w3c-tests-setup.js +32 -0
  33. package/dist/adapters/html-w3c-validation/helpers/html-w3c-validator.d.ts +4 -0
  34. package/dist/adapters/html-w3c-validation/helpers/html-w3c-validator.d.ts.map +1 -0
  35. package/dist/adapters/html-w3c-validation/helpers/html-w3c-validator.js +89 -0
  36. package/dist/adapters/html-w3c-validation/types/HtmlW3CValidator.d.ts +6 -0
  37. package/dist/adapters/html-w3c-validation/types/HtmlW3CValidator.d.ts.map +1 -0
  38. package/dist/adapters/html-w3c-validation/types/HtmlW3CValidator.js +1 -0
  39. package/dist/adapters/html-w3c-validation/types/globals/vnu-jar.d.ts +5 -0
  40. package/dist/adapters/perf-budgets/helpers/perfs-bundle-analysis-helper.d.ts +1 -1
  41. package/dist/adapters/perf-budgets/helpers/perfs-bundle-analysis-helper.d.ts.map +1 -1
  42. package/dist/adapters/perf-budgets/helpers/perfs-bundle-analysis-helper.js +2 -3
  43. package/dist/adapters/tests-coverage/helpers/tests-coverage-analysis-helper.d.ts +4 -0
  44. package/dist/adapters/tests-coverage/helpers/tests-coverage-analysis-helper.d.ts.map +1 -0
  45. package/dist/adapters/tests-coverage/helpers/tests-coverage-analysis-helper.js +192 -0
  46. package/dist/adapters/tests-coverage/types/TestsCoverage.d.ts +36 -0
  47. package/dist/adapters/tests-coverage/types/TestsCoverage.d.ts.map +1 -0
  48. package/dist/adapters/tests-coverage/types/TestsCoverage.js +6 -0
  49. package/dist/adapters/types-coverage/helpers/types-coverage-analysis-helper.d.ts +4 -0
  50. package/dist/adapters/types-coverage/helpers/types-coverage-analysis-helper.d.ts.map +1 -0
  51. package/dist/adapters/types-coverage/helpers/types-coverage-analysis-helper.js +158 -0
  52. package/dist/adapters/types-coverage/types/TypesCoverage.d.ts +30 -0
  53. package/dist/adapters/types-coverage/types/TypesCoverage.d.ts.map +1 -0
  54. package/dist/adapters/types-coverage/types/TypesCoverage.js +1 -0
  55. package/dist/configs/architecture-analysis-config.d.ts +5 -0
  56. package/dist/configs/architecture-analysis-config.d.ts.map +1 -0
  57. package/dist/configs/{madge-config.js → architecture-analysis-config.js} +1 -1
  58. package/dist/configs/code-duplication-config.d.ts +21 -0
  59. package/dist/configs/code-duplication-config.d.ts.map +1 -0
  60. package/dist/configs/code-duplication-config.js +21 -0
  61. package/dist/configs/{prettier-config.d.ts → code-formatter-config.d.ts} +1 -1
  62. package/dist/configs/code-formatter-config.d.ts.map +1 -0
  63. package/dist/configs/file-globs-config.d.ts +0 -3
  64. package/dist/configs/file-globs-config.d.ts.map +1 -1
  65. package/dist/configs/file-globs-config.js +0 -3
  66. package/dist/configs/naming-conventions-config.d.ts.map +1 -1
  67. package/dist/configs/naming-conventions-config.js +2 -0
  68. package/dist/configs/shared-exclusion-patterns.d.ts.map +1 -1
  69. package/dist/configs/shared-exclusion-patterns.js +3 -1
  70. package/dist/configs/tests-coverage-config.d.ts +12 -0
  71. package/dist/configs/tests-coverage-config.d.ts.map +1 -0
  72. package/dist/configs/tests-coverage-config.js +11 -0
  73. package/dist/configs/types-coverage-config.d.ts +19 -0
  74. package/dist/configs/types-coverage-config.d.ts.map +1 -0
  75. package/dist/configs/types-coverage-config.js +27 -0
  76. package/dist/tsconfig.tsbuildinfo +1 -1
  77. package/package.json +32 -7
  78. package/bin/cli-utils.js +0 -56
  79. package/dist/configs/jscpd-config.d.ts +0 -7
  80. package/dist/configs/jscpd-config.d.ts.map +0 -1
  81. package/dist/configs/jscpd-config.js +0 -7
  82. package/dist/configs/madge-config.d.ts +0 -5
  83. package/dist/configs/madge-config.d.ts.map +0 -1
  84. package/dist/configs/prettier-config.d.ts.map +0 -1
  85. /package/dist/configs/{prettier-config.js → code-formatter-config.js} +0 -0
@@ -0,0 +1,5 @@
1
+ export declare const architectureAnalysisConfig: {
2
+ fileExtensions: string[];
3
+ excludeRegExp: string[];
4
+ };
5
+ //# sourceMappingURL=architecture-analysis-config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"architecture-analysis-config.d.ts","sourceRoot":"","sources":["../../src/configs/architecture-analysis-config.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,0BAA0B;;;CAKtC,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { sharedExclusionPatterns } from './shared-exclusion-patterns.js';
2
- export const madgeDefaultOptions = {
2
+ export const architectureAnalysisConfig = {
3
3
  fileExtensions: ['ts', 'tsx', 'js', 'jsx'],
4
4
  excludeRegExp: sharedExclusionPatterns.map((glob) => glob.replace(/\*\*/g, '.*').replace(/\*/g, '.*')),
5
5
  };
@@ -0,0 +1,21 @@
1
+ export declare const codeDuplicationConfig: {
2
+ minTokens: number;
3
+ minLines: number;
4
+ maxLines: number;
5
+ maxSize: string;
6
+ threshold: number | null;
7
+ mode: "weak" | "mild" | "strict";
8
+ absolute: boolean;
9
+ formats: string[];
10
+ ignore: string[];
11
+ reporters: string[];
12
+ worstFiles: {
13
+ threshold: number;
14
+ count: number;
15
+ };
16
+ thresholds: {
17
+ green: number;
18
+ orange: number;
19
+ };
20
+ };
21
+ //# sourceMappingURL=code-duplication-config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"code-duplication-config.d.ts","sourceRoot":"","sources":["../../src/configs/code-duplication-config.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,qBAAqB;;;;;eAcb,MAAM,GAAG,IAAI;UAMhB,MAAM,GAAG,MAAM,GAAG,QAAQ;;aAW3B,MAAM,EAAE;;;;;;;;;;;CAgCxB,CAAC"}
@@ -0,0 +1,21 @@
1
+ import { sharedExclusionPatterns } from './shared-exclusion-patterns.js';
2
+ export const codeDuplicationConfig = {
3
+ minTokens: 50,
4
+ minLines: 5,
5
+ maxLines: 2000,
6
+ maxSize: '500kb',
7
+ threshold: null,
8
+ mode: 'weak',
9
+ absolute: true,
10
+ formats: [],
11
+ ignore: sharedExclusionPatterns,
12
+ reporters: ['html', 'json', 'console'],
13
+ worstFiles: {
14
+ threshold: 5,
15
+ count: 10,
16
+ },
17
+ thresholds: {
18
+ green: 10,
19
+ orange: 20,
20
+ },
21
+ };
@@ -15,4 +15,4 @@ export declare const prettierConfig: {
15
15
  importOrderSeparation: boolean;
16
16
  importOrderSortSpecifiers: boolean;
17
17
  };
18
- //# sourceMappingURL=prettier-config.d.ts.map
18
+ //# sourceMappingURL=code-formatter-config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"code-formatter-config.d.ts","sourceRoot":"","sources":["../../src/configs/code-formatter-config.ts"],"names":[],"mappings":"AAmDA,eAAO,MAAM,sBAAsB,UASlC,CAAC;AAsBF,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;CAqB1B,CAAC"}
@@ -9,7 +9,4 @@ export declare const htmlFiles = "**/*.html";
9
9
  export declare const storyFiles = "**/*.stories.@(ts|tsx|js|jsx|mjs|cjs)";
10
10
  export declare const testFiles: string[];
11
11
  export declare const commonTextFiles = "**/*.{ts,tsx,mts,js,jsx,mjs,json,yml,yaml,md}";
12
- export declare const jsonFiles = "**/*.json";
13
- export declare const yamlFiles = "**/*.{yml,yaml}";
14
- export declare const markdownFiles = "**/*.md";
15
12
  //# sourceMappingURL=file-globs-config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"file-globs-config.d.ts","sourceRoot":"","sources":["../../src/configs/file-globs-config.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,UAAU,mDAAmD,CAAC;AAE3E,eAAO,MAAM,OAAO,sBAAsB,CAAC;AAC3C,eAAO,MAAM,OAAO,kBAAkB,CAAC;AACvC,eAAO,MAAM,WAAW,mBAAmB,CAAC;AAC5C,eAAO,MAAM,SAAS,yBAAyB,CAAC;AAChD,eAAO,MAAM,YAAY,kBAAkB,CAAC;AAE5C,eAAO,MAAM,QAAQ,oBAAoB,CAAC;AAC1C,eAAO,MAAM,SAAS,cAAc,CAAC;AAErC,eAAO,MAAM,UAAU,0CAA0C,CAAC;AAClE,eAAO,MAAM,SAAS,UAA4E,CAAC;AAEnG,eAAO,MAAM,eAAe,kDAAkD,CAAC;AAC/E,eAAO,MAAM,SAAS,cAAc,CAAC;AACrC,eAAO,MAAM,SAAS,oBAAoB,CAAC;AAC3C,eAAO,MAAM,aAAa,YAAY,CAAC"}
1
+ {"version":3,"file":"file-globs-config.d.ts","sourceRoot":"","sources":["../../src/configs/file-globs-config.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,UAAU,mDAAmD,CAAC;AAE3E,eAAO,MAAM,OAAO,sBAAsB,CAAC;AAC3C,eAAO,MAAM,OAAO,kBAAkB,CAAC;AACvC,eAAO,MAAM,WAAW,mBAAmB,CAAC;AAC5C,eAAO,MAAM,SAAS,yBAAyB,CAAC;AAChD,eAAO,MAAM,YAAY,kBAAkB,CAAC;AAE5C,eAAO,MAAM,QAAQ,oBAAoB,CAAC;AAC1C,eAAO,MAAM,SAAS,cAAc,CAAC;AAErC,eAAO,MAAM,UAAU,0CAA0C,CAAC;AAClE,eAAO,MAAM,SAAS,UAA4E,CAAC;AAEnG,eAAO,MAAM,eAAe,kDAAkD,CAAC"}
@@ -9,6 +9,3 @@ export const htmlFiles = '**/*.html';
9
9
  export const storyFiles = '**/*.stories.@(ts|tsx|js|jsx|mjs|cjs)';
10
10
  export const testFiles = ['**/*.{test,spec}.{ts,tsx,js,jsx}', '**/__tests__/**/*.{ts,tsx,js,jsx}'];
11
11
  export const commonTextFiles = '**/*.{ts,tsx,mts,js,jsx,mjs,json,yml,yaml,md}';
12
- export const jsonFiles = '**/*.json';
13
- export const yamlFiles = '**/*.{yml,yaml}';
14
- export const markdownFiles = '**/*.md';
@@ -1 +1 @@
1
- {"version":3,"file":"naming-conventions-config.d.ts","sourceRoot":"","sources":["../../src/configs/naming-conventions-config.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAEpD,CAAC;AAMF,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAmCrD,CAAC;AAKF,KAAK,SAAS,GACV,aAAa,GACb,YAAY,GACZ,YAAY,GACZ,sBAAsB,GACtB,WAAW,GACX,YAAY,CAAC;AAMjB,eAAO,MAAM,wBAAwB,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAiE9D,CAAC;AAMF,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAE/D,CAAC"}
1
+ {"version":3,"file":"naming-conventions-config.d.ts","sourceRoot":"","sources":["../../src/configs/naming-conventions-config.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAEpD,CAAC;AAMF,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAqCrD,CAAC;AAKF,KAAK,SAAS,GACV,aAAa,GACb,YAAY,GACZ,YAAY,GACZ,sBAAsB,GACtB,WAAW,GACX,YAAY,CAAC;AAMjB,eAAO,MAAM,wBAAwB,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAiE9D,CAAC;AAMF,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAE/D,CAAC"}
@@ -11,6 +11,8 @@ export const folderMatchWithFex = {
11
11
  'src/data/hooks/**/use*.{ts}': 'src/data/hooks/**/',
12
12
  '**/*.test.{ts,tsx}': '**/__tests__/',
13
13
  '**/*.spec.{ts,tsx}': '**/__tests__/',
14
+ '**/*.w3c.spec.{ts,tsx}': '**/__tests__/',
15
+ '**/*.a11y.spec.{ts,tsx}': '**/__tests__/',
14
16
  '**/*.constants.{ts,js}': 'src/**/',
15
17
  '**/*.type.ts': 'src/**/',
16
18
  '**/*.interface.ts': 'src/**/',
@@ -1 +1 @@
1
- {"version":3,"file":"shared-exclusion-patterns.d.ts","sourceRoot":"","sources":["../../src/configs/shared-exclusion-patterns.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,uBAAuB,UAoCnC,CAAC"}
1
+ {"version":3,"file":"shared-exclusion-patterns.d.ts","sourceRoot":"","sources":["../../src/configs/shared-exclusion-patterns.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,uBAAuB,UAsCnC,CAAC"}
@@ -23,7 +23,7 @@ export const sharedExclusionPatterns = [
23
23
  '**/test*/**',
24
24
  '**/**test.*',
25
25
  '**/**Test**',
26
- '**/spec*.*',
26
+ '**/**spec*.*',
27
27
  '**/mock*/**',
28
28
  '**/mocks/**',
29
29
  '**/_mock_/**',
@@ -34,4 +34,6 @@ export const sharedExclusionPatterns = [
34
34
  '**/**hmr**',
35
35
  '**/**config**',
36
36
  '**/**cucumber**',
37
+ '**/Messages_*_*.json',
38
+ '**/**.md',
37
39
  ];
@@ -0,0 +1,12 @@
1
+ export declare const testsCoverageConfig: {
2
+ worstFiles: {
3
+ metric: "lines";
4
+ threshold: number;
5
+ count: number;
6
+ };
7
+ thresholds: {
8
+ green: number;
9
+ orange: number;
10
+ };
11
+ };
12
+ //# sourceMappingURL=tests-coverage-config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tests-coverage-config.d.ts","sourceRoot":"","sources":["../../src/configs/tests-coverage-config.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,mBAAmB;;;;;;;;;;CA6B/B,CAAC"}
@@ -0,0 +1,11 @@
1
+ export const testsCoverageConfig = {
2
+ worstFiles: {
3
+ metric: 'lines',
4
+ threshold: 60,
5
+ count: 10,
6
+ },
7
+ thresholds: {
8
+ green: 80,
9
+ orange: 60,
10
+ },
11
+ };
@@ -0,0 +1,19 @@
1
+ export declare const typesCoverageConfig: {
2
+ threshold: number;
3
+ outputDir: string;
4
+ strict: boolean;
5
+ debug: boolean;
6
+ cache: boolean;
7
+ project: string;
8
+ ignoreFiles: string[];
9
+ ignoreUnread: boolean;
10
+ thresholds: {
11
+ green: number;
12
+ orange: number;
13
+ };
14
+ worstFiles: {
15
+ count: number;
16
+ threshold: number;
17
+ };
18
+ };
19
+ //# sourceMappingURL=types-coverage-config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types-coverage-config.d.ts","sourceRoot":"","sources":["../../src/configs/types-coverage-config.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;CAoD/B,CAAC"}
@@ -0,0 +1,27 @@
1
+ export const typesCoverageConfig = {
2
+ threshold: 80,
3
+ outputDir: 'coverage-ts',
4
+ strict: true,
5
+ debug: false,
6
+ cache: true,
7
+ project: 'tsconfig.json',
8
+ ignoreFiles: [
9
+ '**/*.stories.tsx',
10
+ '**/*.stories.ts',
11
+ '**/*.spec.ts',
12
+ '**/*.spec.tsx',
13
+ '**/jest.config.ts',
14
+ '**/vitest.config.*',
15
+ '**/dist/**',
16
+ '**/.generated/**',
17
+ ],
18
+ ignoreUnread: true,
19
+ thresholds: {
20
+ green: 90,
21
+ orange: 70,
22
+ },
23
+ worstFiles: {
24
+ count: 10,
25
+ threshold: 80,
26
+ },
27
+ };