Skip to content

Commit 5f438c5

Browse files
author
John Doe
committed
chore: wip caching cp configs 2
1 parent b17323f commit 5f438c5

37 files changed

Lines changed: 264 additions & 514 deletions

code-pushup.config.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,16 @@ import {
77
import type { CoreConfig } from './packages/models/src/index.js';
88
import { mergeConfigs } from './packages/utils/src/index.js';
99

10+
const projectName = 'cli';
11+
1012
const config: CoreConfig = {
11-
...(await loadEnv()),
13+
...(await loadEnv(projectName)),
1214
plugins: [],
1315
};
1416

1517
export default mergeConfigs(
1618
config,
17-
/* await jsPackagesCoreConfig(),*/
19+
await jsPackagesCoreConfig(),
1820
await lighthouseCoreConfig(
1921
'https://github.com/code-pushup/cli?tab=readme-ov-file#code-pushup-cli/',
2022
),

code-pushup.preset.ts

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,14 @@ import typescriptPlugin, {
3434
/**
3535
* Helper function to load and validate Code PushUp environment variables for upload configuration
3636
*/
37-
export async function loadEnv() {
37+
export async function loadEnv(
38+
projectName: string | undefined = process.env.NX_TASK_TARGET_PROJECT,
39+
): Promise<Partial<CoreConfig>> {
40+
if (projectName == null || projectName === '') {
41+
throw new Error(
42+
'loadEnv failed! Project name is not defined. Please run code pushup fit Nx or provide a projectName.',
43+
);
44+
}
3845
const envSchema = z.object({
3946
CP_SERVER: z.string().url(),
4047
CP_API_KEY: z.string().min(1),
@@ -53,7 +60,7 @@ export async function loadEnv() {
5360
organization: env.CP_ORGANIZATION,
5461
...(env.CP_PROJECT
5562
? { project: env.CP_PROJECT }
56-
: { project: 'missing-project-name' }),
63+
: { project: projectName }),
5764
};
5865
return (
5966
uploadConfig.apiKey && {

examples/plugins/project.json

Lines changed: 5 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -1,52 +1,16 @@
11
{
22
"name": "examples-plugins",
3-
"$schema": "../../node_modules/nx/schemas/project-schema.json",
3+
"$schema": "../node_modules/nx/schemas/project-schema.json",
44
"sourceRoot": "examples/plugins/src",
55
"projectType": "library",
66
"targets": {
7-
"code-pushup": {
8-
"dependsOn": [
9-
"code-pushup-coverage",
10-
"code-pushup-eslint",
11-
"code-pushup-typescript"
12-
]
13-
},
14-
"code-pushup-coverage": {
15-
"dependsOn": ["unit-test", "int-test"]
16-
},
17-
"code-pushup-eslint": {},
18-
"code-pushup-typescript": {},
19-
"build": {
20-
"executor": "@nx/js:tsc",
21-
"outputs": ["{options.outputPath}"],
22-
"options": {
23-
"outputPath": "dist/examples/plugins",
24-
"main": "examples/plugins/src/index.ts",
25-
"tsConfig": "examples/plugins/tsconfig.lib.json",
26-
"assets": ["examples/plugins/*.md"]
27-
}
28-
},
29-
"lint": {
30-
"executor": "@nx/linter:eslint",
31-
"outputs": ["{options.outputFile}"],
32-
"options": {
33-
"lintFilePatterns": ["examples/plugins/**/*.ts"]
34-
}
35-
},
36-
"unit-test": {
37-
"executor": "@nx/vite:test",
38-
"outputs": ["{options.reportsDirectory}"],
39-
"options": {
40-
"configFile": "examples/plugins/vitest.unit.config.ts",
41-
"reportsDirectory": "../../coverage/examples-plugins/unit-tests"
42-
}
43-
},
7+
"build": {},
8+
"lint": {},
9+
"unit-test": {},
4410
"int-test": {
4511
"executor": "@nx/vite:test",
46-
"outputs": ["{options.reportsDirectory}"],
4712
"options": {
48-
"configFile": "examples/plugins/vitest.int.config.ts",
49-
"reportsDirectory": "../../coverage/examples-plugins/int-tests"
13+
"configFile": "examples/plugins/vitest.int.config.ts"
5014
}
5115
},
5216
"run-collect": {

nx.json

Lines changed: 19 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,6 @@
22
"$schema": "./node_modules/nx/schemas/nx-schema.json",
33
"targetDefaults": {
44
"code-pushup": {
5-
"dependsOn": [
6-
"code-pushup-coverage",
7-
"code-pushup-eslint",
8-
"code-pushup-js-packages",
9-
"code-pushup-lighthouse",
10-
"code-pushup-jsdocs",
11-
"code-pushup-typescript"
12-
],
135
"cache": true,
146
"outputs": [
157
"{projectRoot}/.code-pushup/report.md",
@@ -78,7 +70,12 @@
7870
},
7971
"code-pushup-js-packages": {
8072
"cache": false,
81-
"inputs": ["default", "^default", "{projectRoot}/package.json"],
73+
"inputs": [
74+
"default",
75+
"^default",
76+
"{projectRoot}/package.json",
77+
{ "runtime": "echo $(($(date +%s) / 6))" }
78+
],
8279
"outputs": ["{projectRoot}/.code-pushup/js-packages"],
8380
"executor": "nx:run-commands",
8481
"options": {
@@ -99,7 +96,7 @@
9996
}
10097
},
10198
"code-pushup-lighthouse": {
102-
"cache": false,
99+
"cache": true,
103100
"outputs": ["{projectRoot}/.code-pushup/lighthouse"],
104101
"executor": "nx:run-commands",
105102
"options": {
@@ -189,6 +186,18 @@
189186
]
190187
}
191188
},
189+
"unit-test": {
190+
"executor": "@nx/vite:test",
191+
"options": {
192+
"configFile": "{projectRoot}/vitest.unit.config.ts"
193+
}
194+
},
195+
"int-test": {
196+
"executor": "@nx/vite:test",
197+
"options": {
198+
"configFile": "{projectRoot}/vitest.int.config.ts"
199+
}
200+
},
192201
"e2e": {
193202
"dependsOn": ["^build"]
194203
},

packages/ci/code-pushup.config.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ import {
1111
import type { CoreConfig } from '../../packages/models/src/index.js';
1212
import { mergeConfigs } from '../../packages/utils/src/index.js';
1313

14-
const projectName = process.env.CP_PROJECT_NAME || 'cli';
14+
const projectName = process.env.NX_TASK_TARGET_PROJECT;
1515

1616
const config: CoreConfig = {
1717
...(await loadEnv()),

packages/ci/project.json

Lines changed: 15 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -4,30 +4,27 @@
44
"sourceRoot": "packages/ci/src",
55
"projectType": "library",
66
"targets": {
7-
"code-pushup": {
8-
"dependsOn": ["code-pushup-coverage"]
9-
},
10-
"code-pushup-coverage": {
11-
"dependsOn": ["unit-test", "int-test"]
12-
},
13-
"code-pushup-eslint": {},
14-
"code-pushup-js-packages": {},
15-
"code-pushup-jsdocs": {},
16-
"code-pushup-typescript": {},
177
"build": {},
188
"lint": {},
19-
"unit-test": {
20-
"executor": "@nx/vite:test",
21-
"options": {
22-
"configFile": "packages/ci/vitest.unit.config.ts"
23-
}
24-
},
259
"int-test": {
2610
"executor": "@nx/vite:test",
2711
"options": {
28-
"configFile": "packages/ci/vitest.int.config.ts"
12+
"configFile": "{projectRoot}/vitest.int.config.ts"
2913
}
30-
}
14+
},
15+
"unit-test": {},
16+
"code-pushup": {
17+
"dependsOn": [
18+
"code-pushup-coverage",
19+
"code-pushup-jsdocs",
20+
"code-pushup-js-packages",
21+
"code-pushup-typescript"
22+
]
23+
},
24+
"code-pushup-coverage": {},
25+
"code-pushup-jsdocs": {},
26+
"code-pushup-js-packages": {},
27+
"code-pushup-typescript": {}
3128
},
3229
"tags": ["scope:tooling", "type:feature", "publishable"]
3330
}

packages/cli/code-pushup.config.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ import {
1111
import type { CoreConfig } from '../../packages/models/src/index.js';
1212
import { mergeConfigs } from '../../packages/utils/src/index.js';
1313

14-
const projectName = process.env.CP_PROJECT_NAME || 'cli';
14+
const projectName = process.env.NX_TASK_TARGET_PROJECT;
1515

1616
const config: CoreConfig = {
1717
...(await loadEnv()),

packages/cli/project.json

Lines changed: 15 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -4,28 +4,13 @@
44
"sourceRoot": "packages/cli/src",
55
"projectType": "library",
66
"targets": {
7-
"code-pushup": {
8-
"dependsOn": ["code-pushup-coverage"]
9-
},
10-
"code-pushup-coverage": {
11-
"dependsOn": ["unit-test", "int-test", "e2e-test"]
12-
},
13-
"code-pushup-eslint": {},
14-
"code-pushup-js-packages": {},
15-
"code-pushup-lighthouse": {},
16-
"code-pushup-typescript": {},
177
"build": {},
188
"lint": {},
19-
"unit-test": {
20-
"executor": "@nx/vite:test",
21-
"options": {
22-
"configFile": "packages/cli/vitest.unit.config.ts"
23-
}
24-
},
9+
"unit-test": {},
2510
"int-test": {
2611
"executor": "@nx/vite:test",
2712
"options": {
28-
"configFile": "packages/cli/vitest.int.config.ts"
13+
"configFile": "{projectRoot}/vitest.int.config.ts"
2914
}
3015
},
3116
"run-help": {
@@ -45,7 +30,19 @@
4530
"cwd": "examples/react-todos-app"
4631
},
4732
"dependsOn": ["build"]
48-
}
33+
},
34+
"code-pushup": {
35+
"dependsOn": [
36+
"code-pushup-coverage",
37+
"code-pushup-jsdocs",
38+
"code-pushup-js-packages",
39+
"code-pushup-typescript"
40+
]
41+
},
42+
"code-pushup-coverage": {},
43+
"code-pushup-jsdocs": {},
44+
"code-pushup-js-packages": {},
45+
"code-pushup-typescript": {}
4946
},
5047
"tags": ["scope:core", "type:app", "publishable"]
5148
}

packages/core/code-pushup.config.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ import {
1111
import type { CoreConfig } from '../../packages/models/src/index.js';
1212
import { mergeConfigs } from '../../packages/utils/src/index.js';
1313

14-
const projectName = process.env.CP_PROJECT_NAME || 'core';
14+
const projectName = process.env.NX_TASK_TARGET_PROJECT;
1515

1616
const config: CoreConfig = {
1717
...(await loadEnv()),

packages/core/project.json

Lines changed: 15 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -4,30 +4,27 @@
44
"sourceRoot": "packages/core/src",
55
"projectType": "library",
66
"targets": {
7-
"code-pushup": {
8-
"dependsOn": ["code-pushup-coverage"]
9-
},
10-
"code-pushup-coverage": {
11-
"dependsOn": ["unit-test", "int-test"]
12-
},
13-
"code-pushup-eslint": {},
14-
"code-pushup-js-packages": {},
15-
"code-pushup-lighthouse": {},
16-
"code-pushup-typescript": {},
177
"build": {},
188
"lint": {},
19-
"unit-test": {
20-
"executor": "@nx/vite:test",
21-
"options": {
22-
"configFile": "packages/core/vitest.unit.config.ts"
23-
}
24-
},
9+
"unit-test": {},
2510
"int-test": {
2611
"executor": "@nx/vite:test",
2712
"options": {
28-
"configFile": "packages/core/vitest.int.config.ts"
13+
"configFile": "{projectRoot}/vitest.int.config.ts"
2914
}
30-
}
15+
},
16+
"code-pushup": {
17+
"dependsOn": [
18+
"code-pushup-coverage",
19+
"code-pushup-jsdocs",
20+
"code-pushup-js-packages",
21+
"code-pushup-typescript"
22+
]
23+
},
24+
"code-pushup-coverage": {},
25+
"code-pushup-jsdocs": {},
26+
"code-pushup-js-packages": {},
27+
"code-pushup-typescript": {}
3128
},
3229
"tags": ["scope:core", "type:feature", "publishable"]
3330
}

0 commit comments

Comments
 (0)