Skip to content

Commit 490bec9

Browse files
authored
Merge da60063 into 3dbf378
2 parents 3dbf378 + da60063 commit 490bec9

File tree

23 files changed

+180
-199
lines changed

23 files changed

+180
-199
lines changed

testing/test-fixtures/src/lib/fixtures/configs/code-pushup.config.ts renamed to packages/cli/mocks/configs/code-pushup.config.ts

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
import { type CoreConfig } from '@code-pushup/models';
2-
31
export default {
42
upload: {
53
organization: 'code-pushup',
@@ -42,4 +40,4 @@ export default {
4240
icon: 'javascript',
4341
},
4442
],
45-
} satisfies CoreConfig;
43+
};
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
// the point is to test runtime import which requires tsconfig for path aliases
2+
3+
/* eslint-disable import/no-unresolved */
4+
// @ts-expect-error - test tsconfig paths missing in config
5+
import customPlugin from '@example/custom-plugin';
6+
7+
/* eslint-enable import/no-unresolved */
8+
const config = {
9+
plugins: [customPlugin],
10+
};
11+
12+
export default config;
File renamed without changes.
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
{
2+
"compilerOptions": {
3+
"baseUrl": ".",
4+
"allowImportingTsExtensions": true,
5+
"moduleResolution": "node",
6+
"paths": {
7+
"@example/custom-plugin": ["./custom-plugin.ts"]
8+
}
9+
},
10+
"include": ["*.ts"]
11+
}

packages/cli/src/lib/implementation/core-config.middleware.int.test.ts

Lines changed: 9 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,8 @@ const configDirPath = path.join(
88
'..',
99
'..',
1010
'..',
11-
'..',
12-
'testing',
13-
'test-fixtures',
14-
'src',
15-
'lib',
16-
'fixtures',
11+
'cli',
12+
'mocks',
1713
'configs',
1814
);
1915

@@ -24,22 +20,13 @@ describe('coreConfigMiddleware', () => {
2420
skipPlugins: [],
2521
};
2622

27-
it.each(['ts', 'mjs', 'js'])(
28-
'should load a valid .%s config',
29-
async extension => {
30-
const config = await coreConfigMiddleware({
31-
config: path.join(configDirPath, `code-pushup.config.${extension}`),
32-
...CLI_DEFAULTS,
33-
});
34-
expect(config.config).toContain(`code-pushup.config.${extension}`);
35-
expect(config.upload?.project).toContain(extension);
36-
},
37-
);
38-
39-
it('should throw with invalid config path', async () => {
40-
await expect(
41-
coreConfigMiddleware({ config: 'wrong/path/to/config', ...CLI_DEFAULTS }),
42-
).rejects.toThrow(/File '.*' does not exist/);
23+
it('should load a valid .ts config', async () => {
24+
const config = await coreConfigMiddleware({
25+
config: path.join(configDirPath, `code-pushup.config.ts`),
26+
...CLI_DEFAULTS,
27+
});
28+
expect(config.config).toContain(`code-pushup.config.ts`);
29+
expect(config.upload?.project).toContain('ts');
4330
});
4431

4532
it('should load config which relies on provided --tsconfig', async () => {
@@ -54,16 +41,4 @@ describe('coreConfigMiddleware', () => {
5441
}),
5542
).resolves.toBeTruthy();
5643
});
57-
58-
it('should throw if --tsconfig is missing but needed to resolve import', async () => {
59-
await expect(
60-
coreConfigMiddleware({
61-
config: path.join(
62-
configDirPath,
63-
'code-pushup.needs-tsconfig.config.ts',
64-
),
65-
...CLI_DEFAULTS,
66-
}),
67-
).rejects.toThrow("Cannot find package '@example/custom-plugin'");
68-
});
6944
});

testing/test-fixtures/src/lib/fixtures/configs/code-pushup.config.js renamed to packages/core/mocks/fixtures/configs/code-pushup.config.js

File renamed without changes.

testing/test-fixtures/src/lib/fixtures/configs/code-pushup.empty.config.js renamed to packages/core/mocks/fixtures/configs/code-pushup.empty.config.js

File renamed without changes.

testing/test-fixtures/src/lib/fixtures/configs/code-pushup.invalid.config.ts renamed to packages/core/mocks/fixtures/configs/code-pushup.invalid.config.ts

File renamed without changes.

testing/test-fixtures/src/lib/fixtures/configs/code-pushup.needs-tsconfig.config.ts renamed to packages/core/mocks/fixtures/configs/code-pushup.needs-tsconfig.config.ts

File renamed without changes.
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
const customPluginConfig = {
2+
slug: 'good-feels',
3+
title: 'Good feels',
4+
icon: 'javascript',
5+
audits: [
6+
{
7+
slug: 'always-perfect',
8+
title: 'Always perfect',
9+
},
10+
],
11+
runner: () => [
12+
{
13+
slug: 'always-perfect',
14+
score: 1,
15+
value: 100,
16+
displayValue: '✅ Perfect! 👌',
17+
},
18+
],
19+
};
20+
21+
export function customPlugin() {
22+
return customPluginConfig;
23+
}
24+
export default customPluginConfig;

0 commit comments

Comments
 (0)