Skip to content

Commit e72b00f

Browse files
committed
chore: wip caching
1 parent 880d202 commit e72b00f

File tree

23 files changed

+231
-70
lines changed

23 files changed

+231
-70
lines changed

code-pushup.config.ts

Lines changed: 1 addition & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,8 @@
11
import 'dotenv/config';
22
import {
3-
coverageCoreConfigNx,
4-
eslintCoreConfigNx,
5-
jsDocsCoreConfig,
63
jsPackagesCoreConfig,
74
lighthouseCoreConfig,
85
loadEnv,
9-
typescriptPluginConfig,
106
} from './code-pushup.preset.js';
117
import type { CoreConfig } from './packages/models/src/index.js';
128
import { mergeConfigs } from './packages/utils/src/index.js';
@@ -18,21 +14,8 @@ const config: CoreConfig = {
1814

1915
export default mergeConfigs(
2016
config,
21-
await coverageCoreConfigNx(),
22-
await jsPackagesCoreConfig(),
17+
/* await jsPackagesCoreConfig(),*/
2318
await lighthouseCoreConfig(
2419
'https://github.com/code-pushup/cli?tab=readme-ov-file#code-pushup-cli/',
2520
),
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-
]),
3821
);

code-pushup.preset.ts

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ export async function loadEnv() {
3939
CP_SERVER: z.string().url(),
4040
CP_API_KEY: z.string().min(1),
4141
CP_ORGANIZATION: z.string().min(1),
42-
CP_PROJECT: z.string().min(1),
42+
CP_PROJECT: z.string().optional(),
4343
});
4444

4545
const { data: env, success } = await envSchema.safeParseAsync(process.env);
@@ -48,10 +48,12 @@ export async function loadEnv() {
4848
return {};
4949
}
5050
const uploadConfig = {
51-
server: env.CP_SERVER,
5251
apiKey: env.CP_API_KEY,
52+
server: env.CP_SERVER,
5353
organization: env.CP_ORGANIZATION,
54-
project: env.CP_PROJECT,
54+
...(env.CP_PROJECT
55+
? { project: env.CP_PROJECT }
56+
: { project: 'missing-project-name' }),
5557
};
5658
return (
5759
uploadConfig.apiKey && {
@@ -185,7 +187,9 @@ export const jsPackagesCoreConfig = async (
185187
export const lighthouseCoreConfig = async (
186188
urls: LighthouseUrls,
187189
): Promise<CoreConfig> => {
188-
const lhPlugin = await lighthousePlugin(urls);
190+
const lhPlugin = await lighthousePlugin(urls, {
191+
onlyAudits: ['largest-contentful-paint'],
192+
});
189193
return {
190194
plugins: [lhPlugin],
191195
categories: mergeLighthouseCategories(lhPlugin, lighthouseCategories),

examples/plugins/project.json

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,17 @@
55
"projectType": "library",
66
"targets": {
77
"code-pushup": {
8-
"dependsOn": ["code-pushup-coverage"]
8+
"dependsOn": [
9+
"code-pushup-coverage",
10+
"code-pushup-eslint",
11+
"code-pushup-typescript"
12+
]
913
},
1014
"code-pushup-coverage": {
1115
"dependsOn": ["unit-test", "int-test"]
1216
},
17+
"code-pushup-eslint": {},
18+
"code-pushup-typescript": {},
1319
"build": {
1420
"executor": "@nx/js:tsc",
1521
"outputs": ["{options.outputPath}"],

nx.json

Lines changed: 124 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -2,27 +2,30 @@
22
"$schema": "./node_modules/nx/schemas/nx-schema.json",
33
"targetDefaults": {
44
"code-pushup": {
5-
"cache": true,
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+
],
13+
"cache": false,
614
"outputs": [
715
"{projectRoot}/.code-pushup/*.md",
816
"{projectRoot}/.code-pushup/*.json"
917
],
1018
"executor": "nx:run-commands",
1119
"options": {
12-
"command": "npx https://pkg.pr.new/code-pushup/cli/@code-pushup/cli@1059",
20+
"command": "node packages/cli/src/index.ts",
1321
"args": [
1422
"--no-progress",
1523
"--verbose",
16-
"--config",
17-
"{projectRoot}/code-pushup.config.ts",
18-
"--persist.filename",
19-
"{projectName}-report",
20-
"--persist.outputDir",
21-
"{projectRoot}/.code-pushup",
22-
"--upload.project",
23-
"cli-{projectName}"
24+
"--config={projectRoot}/code-pushup.config.ts",
25+
"--cache.read",
26+
"--persist.outputDir={projectRoot}/.code-pushup",
27+
"--upload.project=cli-{projectName}"
2428
],
25-
"outputPath": "{projectRoot}/.code-pushup",
2629
"env": {
2730
"NODE_OPTIONS": "--import tsx",
2831
"TSX_TSCONFIG_PATH": "tsconfig.base.json"
@@ -33,23 +36,122 @@
3336
"cache": true,
3437
"outputs": ["{projectRoot}/.code-pushup/coverage"],
3538
"executor": "nx:run-commands",
39+
"dependsOn": ["unit-test", "int-test"],
40+
"options": {
41+
"command": "node packages/cli/src/index.ts collect",
42+
"args": [
43+
"--no-progress",
44+
"--verbose",
45+
"--config={projectRoot}/code-pushup.config.ts",
46+
"--cache.write",
47+
"--onlyPlugins=coverage",
48+
"--persist.skipReports=true",
49+
"--persist.outputDir={projectRoot}/.code-pushup"
50+
],
51+
"env": {
52+
"NODE_OPTIONS": "--import tsx",
53+
"TSX_TSCONFIG_PATH": "tsconfig.base.json"
54+
}
55+
}
56+
},
57+
"code-pushup-eslint": {
58+
"cache": true,
59+
"outputs": ["{projectRoot}/.code-pushup/eslint"],
60+
"executor": "nx:run-commands",
61+
"options": {
62+
"command": "node packages/cli/src/index.ts collect",
63+
"args": [
64+
"--no-progress",
65+
"--verbose",
66+
"--config={projectRoot}/code-pushup.config.ts",
67+
"--cache.write",
68+
"--onlyPlugins=eslint",
69+
"--persist.skipReports",
70+
"--persist.outputDir={projectRoot}/.code-pushup"
71+
],
72+
"env": {
73+
"NODE_OPTIONS": "--import tsx",
74+
"TSX_TSCONFIG_PATH": "tsconfig.base.json"
75+
}
76+
}
77+
},
78+
"code-pushup-js-packages": {
79+
"cache": false,
80+
"outputs": ["{projectRoot}/.code-pushup/js-packages"],
81+
"executor": "nx:run-commands",
82+
"options": {
83+
"command": "node packages/cli/src/index.ts collect",
84+
"args": [
85+
"--no-progress",
86+
"--verbose",
87+
"--config={projectRoot}/code-pushup.config.ts",
88+
"--cache.write",
89+
"--onlyPlugins=js-packages",
90+
"--persist.skipReports",
91+
"--persist.outputDir={projectRoot}/.code-pushup"
92+
],
93+
"env": {
94+
"NODE_OPTIONS": "--import tsx",
95+
"TSX_TSCONFIG_PATH": "tsconfig.base.json"
96+
}
97+
}
98+
},
99+
"code-pushup-lighthouse": {
100+
"cache": true,
101+
"outputs": ["{projectRoot}/.code-pushup/lighthouse"],
102+
"executor": "nx:run-commands",
103+
"options": {
104+
"command": "node packages/cli/src/index.ts",
105+
"args": [
106+
"--no-progress",
107+
"--verbose",
108+
"--config={projectRoot}/code-pushup.config.ts",
109+
"--cache.write",
110+
"--onlyPlugins=lighthouse",
111+
"--persist.skipReports",
112+
"--persist.outputDir={projectRoot}/.code-pushup"
113+
],
114+
"env": {
115+
"NODE_OPTIONS": "--import tsx",
116+
"TSX_TSCONFIG_PATH": "tsconfig.base.json"
117+
}
118+
}
119+
},
120+
"code-pushup-jsdocs": {
121+
"cache": true,
122+
"outputs": ["{projectRoot}/.code-pushup/jsdocs"],
123+
"executor": "nx:run-commands",
124+
"options": {
125+
"command": "node packages/cli/src/index.ts collect",
126+
"args": [
127+
"--no-progress",
128+
"--verbose",
129+
"--config={projectRoot}/code-pushup.config.ts",
130+
"--cache.write",
131+
"--onlyPlugins=jsdocs",
132+
"--persist.skipReports",
133+
"--persist.outputDir={projectRoot}/.code-pushup"
134+
],
135+
"env": {
136+
"NODE_OPTIONS": "--import tsx",
137+
"TSX_TSCONFIG_PATH": "tsconfig.base.json"
138+
}
139+
}
140+
},
141+
"code-pushup-typescript": {
142+
"cache": true,
143+
"outputs": ["{projectRoot}/.code-pushup/typescript"],
144+
"executor": "nx:run-commands",
36145
"options": {
37-
"command": "npm install https://pkg.pr.new/code-pushup/cli/@code-pushup/utils@1059 https://pkg.pr.new/code-pushup/cli/@code-pushup/models@1059 && npx --yes https://pkg.pr.new/code-pushup/cli/@code-pushup/cli@1059",
146+
"command": "node packages/cli/src/index.ts collect",
38147
"args": [
39148
"--no-progress",
40149
"--verbose",
41-
"--config",
42-
"{projectRoot}/code-pushup.config.ts",
150+
"--config={projectRoot}/code-pushup.config.ts",
43151
"--cache.write",
44-
"true",
45-
"--onlyPlugins",
46-
"coverage",
152+
"--onlyPlugins=typescript",
47153
"--persist.skipReports",
48-
"true",
49-
"--persist.outputDir",
50-
"{projectRoot}/.code-pushup",
51-
"--upload.project",
52-
"{projectName}"
154+
"--persist.outputDir={projectRoot}/.code-pushup"
53155
],
54156
"env": {
55157
"NODE_OPTIONS": "--import tsx",

package-lock.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/ci/project.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,10 @@
1010
"code-pushup-coverage": {
1111
"dependsOn": ["unit-test", "int-test"]
1212
},
13+
"code-pushup-eslint": {},
14+
"code-pushup-js-packages": {},
15+
"code-pushup-jsdocs": {},
16+
"code-pushup-typescript": {},
1317
"build": {},
1418
"lint": {},
1519
"unit-test": {

packages/cli/project.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,10 @@
1010
"code-pushup-coverage": {
1111
"dependsOn": ["unit-test", "int-test", "e2e-test"]
1212
},
13+
"code-pushup-eslint": {},
14+
"code-pushup-js-packages": {},
15+
"code-pushup-lighthouse": {},
16+
"code-pushup-typescript": {},
1317
"build": {},
1418
"lint": {},
1519
"unit-test": {

packages/core/project.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,10 @@
1010
"code-pushup-coverage": {
1111
"dependsOn": ["unit-test", "int-test"]
1212
},
13+
"code-pushup-eslint": {},
14+
"code-pushup-js-packages": {},
15+
"code-pushup-lighthouse": {},
16+
"code-pushup-typescript": {},
1317
"build": {},
1418
"lint": {},
1519
"unit-test": {

packages/create-cli/project.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,10 @@
1010
"code-pushup-coverage": {
1111
"dependsOn": ["unit-test", "int-test"]
1212
},
13+
"code-pushup-eslint": {},
14+
"code-pushup-js-packages": {},
15+
"code-pushup-lighthouse": {},
16+
"code-pushup-typescript": {},
1317
"build": {},
1418
"lint": {},
1519
"unit-test": {

packages/models/project.json

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,14 @@
1010
"inputs": ["production", "^production", "{projectRoot}/zod2md.config.ts"],
1111
"outputs": ["{projectRoot}/docs/models-reference.md"]
1212
},
13-
"code-pushup": {
14-
"dependsOn": ["code-pushup-coverage"]
15-
},
13+
"code-pushup": {},
1614
"code-pushup-coverage": {
1715
"dependsOn": ["unit-test", "int-test"]
1816
},
17+
"code-pushup-eslint": {},
18+
"code-pushup-js-packages": {},
19+
"code-pushup-jsdocs": {},
20+
"code-pushup-typescript": {},
1921
"build": {
2022
"dependsOn": [
2123
"^build",

0 commit comments

Comments
 (0)