Skip to content

Commit 8e66b4f

Browse files
author
John Doe
committed
chore: adjust old targets
1 parent be95512 commit 8e66b4f

File tree

7 files changed

+101
-62
lines changed

7 files changed

+101
-62
lines changed

.prettierignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,3 +3,6 @@
33
/coverage
44
/.nx
55
__snapshots__
6+
7+
/.nx/cache
8+
/.nx/workspace-data

code-pushup.config.ts

Lines changed: 12 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,55 +1,37 @@
11
import 'dotenv/config';
2-
import { z } from 'zod';
32
import {
43
coverageCoreConfigNx,
54
eslintCoreConfigNx,
65
jsDocsCoreConfig,
6+
jsDocsExclusionPatterns,
77
jsPackagesCoreConfig,
88
lighthouseCoreConfig,
9+
loadEnv,
10+
mergeConfigs,
911
typescriptPluginConfig,
1012
} from './code-pushup.preset.js';
1113
import type { CoreConfig } from './packages/models/src/index.js';
12-
import { mergeConfigs } from './packages/utils/src/index.js';
1314

14-
// load upload configuration from environment
15-
const envSchema = z.object({
16-
CP_SERVER: z.string().url(),
17-
CP_API_KEY: z.string().min(1),
18-
CP_ORGANIZATION: z.string().min(1),
19-
CP_PROJECT: z.string().min(1),
20-
});
21-
const { data: env } = await envSchema.safeParseAsync(process.env);
15+
const projectName = 'cli';
2216

2317
const config: CoreConfig = {
24-
...(env && {
25-
upload: {
26-
server: env.CP_SERVER,
27-
apiKey: env.CP_API_KEY,
28-
organization: env.CP_ORGANIZATION,
29-
project: env.CP_PROJECT,
30-
},
31-
}),
32-
18+
...(await loadEnv(projectName)),
3319
plugins: [],
3420
};
3521

3622
export default mergeConfigs(
3723
config,
38-
await coverageCoreConfigNx(),
3924
await jsPackagesCoreConfig(),
25+
await coverageCoreConfigNx(projectName),
4026
await lighthouseCoreConfig(
4127
'https://github.com/code-pushup/cli?tab=readme-ov-file#code-pushup-cli/',
4228
),
43-
await typescriptPluginConfig({
44-
tsconfig: 'packages/cli/tsconfig.lib.json',
45-
}),
46-
await eslintCoreConfigNx(),
29+
await eslintCoreConfigNx(projectName),
4730
jsDocsCoreConfig([
48-
'packages/**/src/**/*.ts',
49-
'!packages/**/node_modules',
50-
'!packages/**/{mocks,mock}',
51-
'!**/*.{spec,test}.ts',
52-
'!**/implementation/**',
53-
'!**/internal/**',
31+
`packages/${projectName}/src/**/*.ts`,
32+
...jsDocsExclusionPatterns,
5433
]),
34+
await typescriptPluginConfig({
35+
tsconfig: `packages/${projectName}/tsconfig.lib.json`,
36+
}),
5537
);

code-pushup.new.config.ts

Lines changed: 0 additions & 23 deletions
This file was deleted.

code-pushup.old.config.ts

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
import 'dotenv/config';
2+
import {
3+
coverageCoreConfigNx,
4+
eslintCoreConfigNx,
5+
jsDocsCoreConfig,
6+
jsPackagesCoreConfig,
7+
lighthouseCoreConfig,
8+
loadEnv,
9+
typescriptPluginConfig,
10+
} from './code-pushup.preset.js';
11+
import type { CoreConfig } from './packages/models/src/index.js';
12+
import { mergeConfigs } from './packages/utils/src/index.js';
13+
14+
const config: CoreConfig = {
15+
...(await loadEnv()),
16+
plugins: [],
17+
};
18+
19+
const merged = mergeConfigs(
20+
config,
21+
await coverageCoreConfigNx('cli'),
22+
await jsPackagesCoreConfig(),
23+
await lighthouseCoreConfig(
24+
'https://github.com/code-pushup/cli?tab=readme-ov-file#code-pushup-cli/',
25+
),
26+
await typescriptPluginConfig({
27+
tsconfig: 'packages/cli/tsconfig.lib.json',
28+
}),
29+
await eslintCoreConfigNx(),
30+
jsDocsCoreConfig([
31+
'packages/**/src/**/*.ts',
32+
'!packages/**/node_modules',
33+
'!packages/**/{mocks,mock}',
34+
'!**/*.{spec,test}.ts',
35+
'!**/implementation/**',
36+
'!**/internal/**',
37+
]),
38+
);
39+
40+
export default {
41+
...merged,
42+
categories: merged.categories?.filter(
43+
c => c.slug !== 'bug-prevention' && c.slug !== 'code-style',
44+
),
45+
} satisfies CoreConfig;

code-pushup.preset.ts

Lines changed: 20 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -237,10 +237,23 @@ export const typescriptPluginConfig = async (
237237
* Generates coverage configuration for Nx projects. Supports both single projects and all projects.
238238
*/
239239
export const coverageCoreConfigNx = async (
240-
projectName?: string,
240+
projectArg?:
241+
| string
242+
| {
243+
projectName?: string;
244+
targetNames?: string | string[];
245+
},
241246
): Promise<CoreConfig> => {
242-
const targetNames = ['unit-test', 'int-test'];
243-
const targetArgs = ['-t', ...targetNames];
247+
const { projectName, targetNames } =
248+
typeof projectArg === 'string'
249+
? { projectName: projectArg }
250+
: (projectArg ?? {});
251+
const parsedTargetNames = Array.isArray(targetNames)
252+
? targetNames
253+
: targetNames != null
254+
? [targetNames]
255+
: ['unit-test', 'int-test'];
256+
const targetArgs = ['-t', parsedTargetNames.join(',')];
244257
return {
245258
plugins: [
246259
await coveragePlugin({
@@ -251,11 +264,11 @@ export const coverageCoreConfigNx = async (
251264
: ['nx', 'run-many', ...targetArgs],
252265
},
253266
reports: projectName
254-
? targetNames.map(target => ({
267+
? parsedTargetNames.map(target => ({
255268
pathToProject: `packages/${projectName}`,
256269
resultsPath: `coverage/${projectName}/${target}s/lcov.info`,
257270
}))
258-
: await getNxCoveragePaths({ targets: targetNames }),
271+
: await getNxCoveragePaths({ targets: parsedTargetNames }),
259272
}),
260273
],
261274
categories: coverageCategories,
@@ -356,7 +369,7 @@ function mergePersist(
356369
}
357370

358371
if (a) {
359-
return b ? { persist: { ...a, ...b } } : {};
372+
return b ? { persist: { ...a, ...b } } : { persist: a };
360373
} else {
361374
return { persist: b };
362375
}
@@ -401,7 +414,7 @@ function mergeUpload(
401414
}
402415

403416
if (a) {
404-
return b ? { upload: { ...a, ...b } } : {};
417+
return b ? { upload: { ...a, ...b } } : { upload: a };
405418
} else {
406419
return { upload: b };
407420
}

packages/plugin-lighthouse/code-pushup.config.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ const config: CoreConfig = {
2020
export default mergeConfigs(
2121
config,
2222
await eslintCoreConfigNx(projectName),
23-
await coverageCoreConfigNx(projectName),
23+
await coverageCoreConfigNx({ projectName, targetNames: ['unit-test'] }),
2424
await typescriptPluginConfig({
2525
tsconfig: `packages/${projectName}/tsconfig.lib.json`,
2626
}),

project.json

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,24 @@
33
"$schema": "node_modules/nx/schemas/project-schema.json",
44
"targets": {
55
"code-pushup-old": {
6+
"dependsOn": [
7+
"code-pushup-eslint",
8+
"code-pushup-coverage",
9+
"code-pushup-typescript",
10+
"code-pushup-jsdocs",
11+
"code-pushup-js-packages",
12+
"code-pushup-lighthouse"
13+
],
614
"executor": "nx:run-commands",
715
"options": {
8-
"command": "node packages/cli/src/index.ts --no-progress --verbose",
16+
"command": "node packages/cli/src/index.ts",
17+
"args": [
18+
"--no-progress",
19+
"--verbose",
20+
"--config={projectRoot}/code-pushup.old.config.ts",
21+
"--cache.read",
22+
"--persist.outputDir={projectRoot}/.code-pushup"
23+
],
924
"env": {
1025
"NODE_OPTIONS": "--import tsx",
1126
"TSX_TSCONFIG_PATH": "tsconfig.base.json"
@@ -25,6 +40,10 @@
2540
]
2641
}
2742
},
43+
"code-pushup-eslint": {},
44+
"code-pushup-coverage": {},
45+
"code-pushup-jsdocs": {},
46+
"code-pushup-typescript": {},
2847
"code-pushup-js-packages": {},
2948
"code-pushup-lighthouse": {}
3049
}

0 commit comments

Comments
 (0)