@ovh-ux/manager-static-analysis-kit 0.10.0 → 0.11.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +22 -0
- package/README.md +166 -24
- package/bin/cli-path-config.js +41 -2
- package/bin/code-duplication-cli.js +14 -16
- package/bin/code-duplication-tests-cli.js +43 -6
- package/bin/lint-cli.js +99 -54
- package/bin/perf-budgets-cli.js +15 -15
- package/bin/perf-budgets-tests-cli.js +36 -3
- package/bin/static-dynamic-quality-checks.js +2 -2
- package/bin/tests-coverage-cli-tests.js +44 -6
- package/bin/tests-coverage-cli.js +35 -27
- package/bin/types-coverage-cli.js +8 -11
- package/bin/types-coverage-tests-cli.js +44 -7
- package/bin/utils/args-parse-utils.js +69 -106
- package/bin/utils/module-utils.js +121 -0
- package/bin/utils/runner-utils.js +117 -22
- package/bin/utils/turbo-utils.js +1 -71
- package/dist/adapters/perf-budgets/helpers/perfs-bundle-analysis-helper.d.ts.map +1 -1
- package/dist/adapters/perf-budgets/helpers/perfs-bundle-analysis-helper.js +8 -4
- package/dist/configs/shared-exclusion-patterns.d.ts.map +1 -1
- package/dist/configs/shared-exclusion-patterns.js +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -2
- package/bin/utils/apps-utils.js +0 -64
package/bin/perf-budgets-cli.js
CHANGED
|
@@ -9,18 +9,17 @@ import {
|
|
|
9
9
|
} from '../dist/adapters/perf-budgets/helpers/perfs-bundle-analysis-helper.js';
|
|
10
10
|
import { bundleAnalysisConfig } from '../dist/configs/bundle-analysis-config.js';
|
|
11
11
|
import {
|
|
12
|
-
appsDir,
|
|
13
12
|
bundleAnalyzerBinPath,
|
|
14
|
-
outputRootDir,
|
|
15
13
|
perfBudgetCombinedHtmlReportName,
|
|
16
14
|
perfBudgetCombinedJsonReportName,
|
|
15
|
+
perfBudgetOutputRootDir,
|
|
17
16
|
perfBudgetsReportDirName,
|
|
18
17
|
rootDir,
|
|
19
18
|
} from './cli-path-config.js';
|
|
20
19
|
import { parseCliTargets } from './utils/args-parse-utils.js';
|
|
21
20
|
import { logError, logInfo, logWarn } from './utils/log-utils.js';
|
|
22
|
-
import { ensureBinExists,
|
|
23
|
-
import {
|
|
21
|
+
import { ensureBinExists, runCommand, runModulesAnalysis } from './utils/runner-utils.js';
|
|
22
|
+
import { runTurboBuild } from './utils/turbo-utils.js';
|
|
24
23
|
|
|
25
24
|
/**
|
|
26
25
|
* Run vite-bundle-analyzer for a given mode (html or json).
|
|
@@ -34,7 +33,7 @@ function runAppBundleAnalyzer(appDir, appShortName, mode) {
|
|
|
34
33
|
const reportFile = `${bundleAnalysisConfig?.reportFile || 'bundle-report'}${
|
|
35
34
|
mode === 'json' ? '.json' : '.html'
|
|
36
35
|
}`;
|
|
37
|
-
const outputDir = path.join(
|
|
36
|
+
const outputDir = path.join(perfBudgetOutputRootDir, perfBudgetsReportDirName, appShortName);
|
|
38
37
|
fs.mkdirSync(outputDir, { recursive: true });
|
|
39
38
|
|
|
40
39
|
logInfo(`Running bundle analyzer (${mode}) for ${appShortName} → ${outputDir}`);
|
|
@@ -91,25 +90,26 @@ function main() {
|
|
|
91
90
|
try {
|
|
92
91
|
ensureBinExists(bundleAnalyzerBinPath, 'vite-bundle-analyzer');
|
|
93
92
|
|
|
94
|
-
const
|
|
95
|
-
const turboFilters = resolveTurboFilters({ appsDir, appFolders, packageNames });
|
|
93
|
+
const modules = parseCliTargets();
|
|
96
94
|
|
|
97
95
|
// Step 1: build
|
|
98
|
-
runTurboBuild(
|
|
96
|
+
runTurboBuild(
|
|
97
|
+
rootDir,
|
|
98
|
+
modules.map((item) => item.packageName),
|
|
99
|
+
['--continue'],
|
|
100
|
+
);
|
|
99
101
|
|
|
100
|
-
// Step 2: analyze
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
appFolders,
|
|
104
|
-
requireReact: false,
|
|
102
|
+
// Step 2: analyze
|
|
103
|
+
runModulesAnalysis({
|
|
104
|
+
modules,
|
|
105
105
|
binaryLabel: 'Perf budgets',
|
|
106
|
-
|
|
106
|
+
analysisRunner: runAppPerfBudgets,
|
|
107
107
|
reportsRootDirName: perfBudgetsReportDirName,
|
|
108
108
|
combinedJson: perfBudgetCombinedJsonReportName,
|
|
109
109
|
combinedHtml: perfBudgetCombinedHtmlReportName,
|
|
110
110
|
collectFn: collectPerfBudgets,
|
|
111
111
|
generateHtmlFn: generatePerfBudgetsHtml,
|
|
112
|
-
outputRootDir,
|
|
112
|
+
outputRootDir: perfBudgetOutputRootDir,
|
|
113
113
|
});
|
|
114
114
|
} catch (err) {
|
|
115
115
|
logError(`Fatal error: ${err.stack || err.message}`);
|
|
@@ -5,8 +5,6 @@ import { logError, logInfo } from './utils/log-utils.js';
|
|
|
5
5
|
|
|
6
6
|
// Define the set of validation test cases
|
|
7
7
|
const cases = [
|
|
8
|
-
// This case take too much time since it builds all apps, use it only for debug
|
|
9
|
-
// { name: 'Auto-discovery (all apps)', cmd: 'yarn manager-perf-budgets', expect: 0 },
|
|
10
8
|
{ name: 'Single app (zimbra)', cmd: 'yarn manager-perf-budgets --app zimbra', expect: 0 },
|
|
11
9
|
{
|
|
12
10
|
name: 'Multiple apps (container,zimbra)',
|
|
@@ -23,6 +21,36 @@ const cases = [
|
|
|
23
21
|
cmd: 'yarn manager-perf-budgets --packages @ovh-ux/manager-zimbra-app,@ovh-ux/manager-pci-workflow-app',
|
|
24
22
|
expect: 0,
|
|
25
23
|
},
|
|
24
|
+
{
|
|
25
|
+
name: 'Single library static path by folder name (manager-react-components)',
|
|
26
|
+
cmd: 'yarn manager-perf-budgets --library manager-react-components',
|
|
27
|
+
expect: 0,
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
name: 'Single library static path by package name (manager-react-components)',
|
|
31
|
+
cmd: 'yarn manager-perf-budgets --library @ovh-ux/manager-react-components',
|
|
32
|
+
expect: 0,
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
name: 'Single library dynamic path by folder name (shell-client)',
|
|
36
|
+
cmd: 'yarn manager-perf-budgets --library shell-client',
|
|
37
|
+
expect: 0,
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
name: 'Single library static path by package name (shell-client)',
|
|
41
|
+
cmd: 'yarn manager-perf-budgets --library @ovh-ux/manager-react-shell-client',
|
|
42
|
+
expect: 0,
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
name: 'Multiple libraries by folder names (manager-wiki,manager-react-components,shell-client,logs-to-customer)',
|
|
46
|
+
cmd: 'yarn manager-perf-budgets --libraries manager-wiki,manager-react-components,shell-client,logs-to-customer',
|
|
47
|
+
expect: 0,
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
name: 'Multiple libraries by package names (manager-wiki,manager-react-components,shell-client,logs-to-customer)',
|
|
51
|
+
cmd: 'yarn manager-perf-budgets --libraries @ovh-ux/manager-wiki,@ovh-ux/manager-react-components,@ovh-ux/manager-react-shell-client,@ovh-ux/logs-to-customer',
|
|
52
|
+
expect: 0,
|
|
53
|
+
},
|
|
26
54
|
{
|
|
27
55
|
name: 'Mixed valid+invalid apps',
|
|
28
56
|
cmd: 'yarn manager-perf-budgets --apps zimbra,unknown-app,container',
|
|
@@ -30,7 +58,12 @@ const cases = [
|
|
|
30
58
|
},
|
|
31
59
|
{
|
|
32
60
|
name: 'Mixed valid+invalid packages',
|
|
33
|
-
cmd: 'yarn manager-perf-budgets --packages @ovh-ux/manager-
|
|
61
|
+
cmd: 'yarn manager-perf-budgets --packages @ovh-ux/manager-wiki,manager-react-components,@ovh-ux/manager-ghost-app',
|
|
62
|
+
expect: 0,
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
name: 'Mixed valid+invalid libraries',
|
|
66
|
+
cmd: 'yarn manager-perf-budgets --libraries @ovh-ux/manager-zimbra-app,@ovh-ux/manager-ghost-app',
|
|
34
67
|
expect: 0,
|
|
35
68
|
},
|
|
36
69
|
{
|
|
@@ -4,9 +4,9 @@ import { writeFileSync } from 'node:fs';
|
|
|
4
4
|
import { resolve } from 'node:path';
|
|
5
5
|
import process from 'node:process';
|
|
6
6
|
|
|
7
|
-
import {
|
|
7
|
+
import { combinedReportOutputRootDir } from './cli-path-config.js';
|
|
8
8
|
|
|
9
|
-
const qualityCheckEntryFile = resolve(
|
|
9
|
+
const qualityCheckEntryFile = resolve(combinedReportOutputRootDir, 'index.html');
|
|
10
10
|
|
|
11
11
|
const isTests = process.argv.includes('--tests');
|
|
12
12
|
|
|
@@ -3,14 +3,12 @@ import { spawnSync } from 'node:child_process';
|
|
|
3
3
|
|
|
4
4
|
import { logError, logInfo } from './utils/log-utils.js';
|
|
5
5
|
|
|
6
|
+
// Define the set of validation test cases
|
|
6
7
|
const cases = [
|
|
7
|
-
// Debug only — very slow, runs across all apps
|
|
8
|
-
// { name: 'Auto-discovery (all apps)', cmd: 'yarn manager-tests-coverage', expect: 0 },
|
|
9
|
-
|
|
10
8
|
{ name: 'Single app (zimbra)', cmd: 'yarn manager-tests-coverage --app zimbra', expect: 0 },
|
|
11
9
|
{
|
|
12
|
-
name: 'Multiple apps (container,zimbra
|
|
13
|
-
cmd: 'yarn manager-tests-coverage --apps container,zimbra
|
|
10
|
+
name: 'Multiple apps (container,zimbra)',
|
|
11
|
+
cmd: 'yarn manager-tests-coverage --apps container,zimbra',
|
|
14
12
|
expect: 0,
|
|
15
13
|
},
|
|
16
14
|
{
|
|
@@ -23,6 +21,36 @@ const cases = [
|
|
|
23
21
|
cmd: 'yarn manager-tests-coverage --packages @ovh-ux/manager-zimbra-app,@ovh-ux/manager-pci-workflow-app',
|
|
24
22
|
expect: 0,
|
|
25
23
|
},
|
|
24
|
+
{
|
|
25
|
+
name: 'Single library static path by folder name (manager-react-components)',
|
|
26
|
+
cmd: 'yarn manager-tests-coverage --library manager-react-components',
|
|
27
|
+
expect: 0,
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
name: 'Single library static path by package name (manager-react-components)',
|
|
31
|
+
cmd: 'yarn manager-tests-coverage --library @ovh-ux/manager-react-components',
|
|
32
|
+
expect: 0,
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
name: 'Single library dynamic path by folder name (shell-client)',
|
|
36
|
+
cmd: 'yarn manager-tests-coverage --library shell-client',
|
|
37
|
+
expect: 0,
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
name: 'Single library static path by package name (shell-client)',
|
|
41
|
+
cmd: 'yarn manager-tests-coverage --library @ovh-ux/manager-react-shell-client',
|
|
42
|
+
expect: 0,
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
name: 'Multiple libraries by folder names (manager-wiki,manager-react-components,shell-client,logs-to-customer)',
|
|
46
|
+
cmd: 'yarn manager-tests-coverage --libraries manager-wiki,manager-react-components,shell-client,logs-to-customer',
|
|
47
|
+
expect: 0,
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
name: 'Multiple libraries by package names (manager-wiki,manager-react-components,shell-client,logs-to-customer)',
|
|
51
|
+
cmd: 'yarn manager-tests-coverage --libraries @ovh-ux/manager-wiki,@ovh-ux/manager-react-components,@ovh-ux/manager-react-shell-client,@ovh-ux/logs-to-customer',
|
|
52
|
+
expect: 0,
|
|
53
|
+
},
|
|
26
54
|
{
|
|
27
55
|
name: 'Mixed valid+invalid apps',
|
|
28
56
|
cmd: 'yarn manager-tests-coverage --apps zimbra,unknown-app,container',
|
|
@@ -30,7 +58,12 @@ const cases = [
|
|
|
30
58
|
},
|
|
31
59
|
{
|
|
32
60
|
name: 'Mixed valid+invalid packages',
|
|
33
|
-
cmd: 'yarn manager-tests-coverage --packages @ovh-ux/manager-
|
|
61
|
+
cmd: 'yarn manager-tests-coverage --packages @ovh-ux/manager-wiki,manager-react-components,@ovh-ux/manager-ghost-app',
|
|
62
|
+
expect: 0,
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
name: 'Mixed valid+invalid libraries',
|
|
66
|
+
cmd: 'yarn manager-tests-coverage --libraries @ovh-ux/manager-zimbra-app,@ovh-ux/manager-ghost-app',
|
|
34
67
|
expect: 0,
|
|
35
68
|
},
|
|
36
69
|
{
|
|
@@ -43,6 +76,11 @@ const cases = [
|
|
|
43
76
|
cmd: 'yarn manager-tests-coverage --packages @ovh-ux/manager-ghost-app,@ovh-ux/manager-missing-app',
|
|
44
77
|
expect: 1,
|
|
45
78
|
},
|
|
79
|
+
{
|
|
80
|
+
name: 'Turbo build failure simulation (pci-ai-tools)',
|
|
81
|
+
cmd: 'yarn manager-tests-coverage --app pci-ai-tools',
|
|
82
|
+
expect: 0,
|
|
83
|
+
},
|
|
46
84
|
];
|
|
47
85
|
|
|
48
86
|
let failed = 0;
|
|
@@ -8,17 +8,16 @@ import {
|
|
|
8
8
|
generateTestsCoverageHtml,
|
|
9
9
|
} from '../dist/adapters/tests-coverage/helpers/tests-coverage-analysis-helper.js';
|
|
10
10
|
import {
|
|
11
|
-
appsDir,
|
|
12
|
-
outputRootDir,
|
|
13
11
|
rootDir,
|
|
14
12
|
testsCoverageCombinedHtmlReportName,
|
|
15
13
|
testsCoverageCombinedJsonReportName,
|
|
14
|
+
testsCoverageOutputRootDir,
|
|
16
15
|
testsCoverageReportsRootDirName,
|
|
17
16
|
} from './cli-path-config.js';
|
|
18
17
|
import { parseCliTargets } from './utils/args-parse-utils.js';
|
|
19
18
|
import { logError, logInfo, logWarn } from './utils/log-utils.js';
|
|
20
|
-
import {
|
|
21
|
-
import {
|
|
19
|
+
import { runModulesAnalysis } from './utils/runner-utils.js';
|
|
20
|
+
import { runTurboBuild, runTurboTests } from './utils/turbo-utils.js';
|
|
22
21
|
|
|
23
22
|
/**
|
|
24
23
|
* Locate common coverage artifacts inside an app directory.
|
|
@@ -63,7 +62,11 @@ function findCoverageFiles(appDir) {
|
|
|
63
62
|
*/
|
|
64
63
|
function harvestAppCoverage(appDir, appShortName) {
|
|
65
64
|
const { summary, lcov } = findCoverageFiles(appDir);
|
|
66
|
-
const outDir = path.join(
|
|
65
|
+
const outDir = path.join(
|
|
66
|
+
testsCoverageOutputRootDir,
|
|
67
|
+
testsCoverageReportsRootDirName,
|
|
68
|
+
appShortName,
|
|
69
|
+
);
|
|
67
70
|
fs.mkdirSync(outDir, { recursive: true });
|
|
68
71
|
|
|
69
72
|
if (!summary) {
|
|
@@ -89,34 +92,39 @@ function harvestAppCoverage(appDir, appShortName) {
|
|
|
89
92
|
*/
|
|
90
93
|
function main() {
|
|
91
94
|
try {
|
|
92
|
-
const
|
|
93
|
-
const turboFilters = resolveTurboFilters({ appsDir, appFolders, packageNames });
|
|
95
|
+
const modules = parseCliTargets();
|
|
94
96
|
|
|
95
97
|
// 1) Build all selected targets (best-effort)
|
|
96
|
-
runTurboBuild(
|
|
98
|
+
runTurboBuild(
|
|
99
|
+
rootDir,
|
|
100
|
+
modules.map((item) => item.packageName),
|
|
101
|
+
['--continue'],
|
|
102
|
+
);
|
|
97
103
|
|
|
98
104
|
// 2) Run tests with coverage; keep args minimal for Vitest/Jest compatibility
|
|
99
105
|
// (Projects should already be configured to emit json-summary/lcov.)
|
|
100
|
-
runTurboTests(
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
106
|
+
runTurboTests(
|
|
107
|
+
rootDir,
|
|
108
|
+
modules.map((item) => item.packageName),
|
|
109
|
+
[
|
|
110
|
+
'--continue', // turbo: keep going even if some tests fail
|
|
111
|
+
'--', // pass the rest to the test runner
|
|
112
|
+
'--coverage',
|
|
113
|
+
'--coverage.reportOnFailure',
|
|
114
|
+
'--coverage.reporter',
|
|
115
|
+
'json-summary',
|
|
116
|
+
'--coverage.reporter',
|
|
117
|
+
'lcov',
|
|
118
|
+
'--coverage.reporter',
|
|
119
|
+
'html',
|
|
120
|
+
],
|
|
121
|
+
);
|
|
112
122
|
|
|
113
123
|
// 3) Per-app harvest + combined reports
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
appFolders,
|
|
117
|
-
requireReact: false,
|
|
124
|
+
runModulesAnalysis({
|
|
125
|
+
modules,
|
|
118
126
|
binaryLabel: 'Tests coverage',
|
|
119
|
-
|
|
127
|
+
analysisRunner: harvestAppCoverage,
|
|
120
128
|
reportsRootDirName: testsCoverageReportsRootDirName,
|
|
121
129
|
combinedJson: testsCoverageCombinedJsonReportName,
|
|
122
130
|
combinedHtml: testsCoverageCombinedHtmlReportName,
|
|
@@ -124,9 +132,9 @@ function main() {
|
|
|
124
132
|
generateHtmlFn: (combined) =>
|
|
125
133
|
generateTestsCoverageHtml(
|
|
126
134
|
combined,
|
|
127
|
-
path.join(
|
|
135
|
+
path.join(testsCoverageOutputRootDir, testsCoverageReportsRootDirName),
|
|
128
136
|
),
|
|
129
|
-
outputRootDir,
|
|
137
|
+
outputRootDir: testsCoverageOutputRootDir,
|
|
130
138
|
});
|
|
131
139
|
} catch (err) {
|
|
132
140
|
logError(`Fatal error: ${err.stack || err.message}`);
|
|
@@ -9,16 +9,15 @@ import {
|
|
|
9
9
|
generateTypesCoverageHtml,
|
|
10
10
|
} from '../dist/adapters/types-coverage/helpers/types-coverage-analysis-helper.js';
|
|
11
11
|
import {
|
|
12
|
-
appsDir,
|
|
13
|
-
outputRootDir,
|
|
14
12
|
tsTypesCoverageBin,
|
|
15
13
|
typesCoverageCombinedHtmlReportName,
|
|
16
14
|
typesCoverageCombinedJsonReportName,
|
|
15
|
+
typesCoverageOutputRootDir,
|
|
17
16
|
typesCoverageReportsRootDirName,
|
|
18
17
|
} from './cli-path-config.js';
|
|
19
18
|
import { buildTypesCoverageArgs, parseCliTargets } from './utils/args-parse-utils.js';
|
|
20
19
|
import { logError, logInfo, logWarn } from './utils/log-utils.js';
|
|
21
|
-
import { ensureBinExists,
|
|
20
|
+
import { ensureBinExists, runCommand, runModulesAnalysis } from './utils/runner-utils.js';
|
|
22
21
|
|
|
23
22
|
/**
|
|
24
23
|
* Temporarily strip "extends" from tsconfig.json before analysis,
|
|
@@ -131,7 +130,7 @@ export function countLooseTypes(appDir) {
|
|
|
131
130
|
function runAppTypesCoverage(appDir, appShortName) {
|
|
132
131
|
return patchTsConfig(appDir, () => {
|
|
133
132
|
const absoluteOutputDir = path.join(
|
|
134
|
-
|
|
133
|
+
typesCoverageOutputRootDir,
|
|
135
134
|
typesCoverageReportsRootDirName,
|
|
136
135
|
appShortName,
|
|
137
136
|
);
|
|
@@ -171,20 +170,18 @@ function main() {
|
|
|
171
170
|
try {
|
|
172
171
|
ensureBinExists(tsTypesCoverageBin, 'typescript-coverage-report');
|
|
173
172
|
|
|
174
|
-
const
|
|
173
|
+
const modules = parseCliTargets();
|
|
175
174
|
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
appFolders,
|
|
179
|
-
requireReact: true,
|
|
175
|
+
runModulesAnalysis({
|
|
176
|
+
modules,
|
|
180
177
|
binaryLabel: 'Type coverage',
|
|
181
|
-
|
|
178
|
+
analysisRunner: runAppTypesCoverage,
|
|
182
179
|
reportsRootDirName: typesCoverageReportsRootDirName,
|
|
183
180
|
combinedJson: typesCoverageCombinedJsonReportName,
|
|
184
181
|
combinedHtml: typesCoverageCombinedHtmlReportName,
|
|
185
182
|
collectFn: collectTypesCoverage,
|
|
186
183
|
generateHtmlFn: generateTypesCoverageHtml,
|
|
187
|
-
outputRootDir,
|
|
184
|
+
outputRootDir: typesCoverageOutputRootDir,
|
|
188
185
|
});
|
|
189
186
|
} catch (err) {
|
|
190
187
|
logError(`Fatal error: ${err.stack || err.message}`);
|
|
@@ -3,15 +3,12 @@ import { spawnSync } from 'node:child_process';
|
|
|
3
3
|
|
|
4
4
|
import { logError, logInfo } from './utils/log-utils.js';
|
|
5
5
|
|
|
6
|
-
// Define the set of validation test cases
|
|
6
|
+
// Define the set of validation test cases
|
|
7
7
|
const cases = [
|
|
8
|
-
// Debug only — very slow, runs across all apps
|
|
9
|
-
// { name: 'Auto-discovery (all apps)', cmd: 'yarn manager-types-coverage', expect: 0 },
|
|
10
|
-
|
|
11
8
|
{ name: 'Single app (zimbra)', cmd: 'yarn manager-types-coverage --app zimbra', expect: 0 },
|
|
12
9
|
{
|
|
13
|
-
name: 'Multiple apps (container,zimbra
|
|
14
|
-
cmd: 'yarn manager-types-coverage --apps container,zimbra
|
|
10
|
+
name: 'Multiple apps (container,zimbra)',
|
|
11
|
+
cmd: 'yarn manager-types-coverage --apps container,zimbra',
|
|
15
12
|
expect: 0,
|
|
16
13
|
},
|
|
17
14
|
{
|
|
@@ -24,6 +21,36 @@ const cases = [
|
|
|
24
21
|
cmd: 'yarn manager-types-coverage --packages @ovh-ux/manager-zimbra-app,@ovh-ux/manager-pci-workflow-app',
|
|
25
22
|
expect: 0,
|
|
26
23
|
},
|
|
24
|
+
{
|
|
25
|
+
name: 'Single library static path by folder name (manager-react-components)',
|
|
26
|
+
cmd: 'yarn manager-types-coverage --library manager-react-components',
|
|
27
|
+
expect: 0,
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
name: 'Single library static path by package name (manager-react-components)',
|
|
31
|
+
cmd: 'yarn manager-types-coverage --library @ovh-ux/manager-react-components',
|
|
32
|
+
expect: 0,
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
name: 'Single library dynamic path by folder name (shell-client)',
|
|
36
|
+
cmd: 'yarn manager-types-coverage --library shell-client',
|
|
37
|
+
expect: 0,
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
name: 'Single library static path by package name (shell-client)',
|
|
41
|
+
cmd: 'yarn manager-types-coverage --library @ovh-ux/manager-react-shell-client',
|
|
42
|
+
expect: 0,
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
name: 'Multiple libraries by folder names (manager-wiki,manager-react-components,shell-client,logs-to-customer)',
|
|
46
|
+
cmd: 'yarn manager-types-coverage --libraries manager-wiki,manager-react-components,shell-client,logs-to-customer',
|
|
47
|
+
expect: 0,
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
name: 'Multiple libraries by package names (manager-wiki,manager-react-components,shell-client,logs-to-customer)',
|
|
51
|
+
cmd: 'yarn manager-types-coverage --libraries @ovh-ux/manager-wiki,@ovh-ux/manager-react-components,@ovh-ux/manager-react-shell-client,@ovh-ux/logs-to-customer',
|
|
52
|
+
expect: 0,
|
|
53
|
+
},
|
|
27
54
|
{
|
|
28
55
|
name: 'Mixed valid+invalid apps',
|
|
29
56
|
cmd: 'yarn manager-types-coverage --apps zimbra,unknown-app,container',
|
|
@@ -31,7 +58,12 @@ const cases = [
|
|
|
31
58
|
},
|
|
32
59
|
{
|
|
33
60
|
name: 'Mixed valid+invalid packages',
|
|
34
|
-
cmd: 'yarn manager-types-coverage --packages @ovh-ux/manager-
|
|
61
|
+
cmd: 'yarn manager-types-coverage --packages @ovh-ux/manager-wiki,manager-react-components,@ovh-ux/manager-ghost-app',
|
|
62
|
+
expect: 0,
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
name: 'Mixed valid+invalid libraries',
|
|
66
|
+
cmd: 'yarn manager-types-coverage --libraries @ovh-ux/manager-zimbra-app,@ovh-ux/manager-ghost-app',
|
|
35
67
|
expect: 0,
|
|
36
68
|
},
|
|
37
69
|
{
|
|
@@ -44,6 +76,11 @@ const cases = [
|
|
|
44
76
|
cmd: 'yarn manager-types-coverage --packages @ovh-ux/manager-ghost-app,@ovh-ux/manager-missing-app',
|
|
45
77
|
expect: 1,
|
|
46
78
|
},
|
|
79
|
+
{
|
|
80
|
+
name: 'Turbo build failure simulation (pci-ai-tools)',
|
|
81
|
+
cmd: 'yarn manager-types-coverage --app pci-ai-tools',
|
|
82
|
+
expect: 0,
|
|
83
|
+
},
|
|
47
84
|
];
|
|
48
85
|
|
|
49
86
|
let failed = 0;
|