Skip to content

Commit 8792092

Browse files
committed
wip
1 parent 350f971 commit 8792092

File tree

5 files changed

+97
-66
lines changed

5 files changed

+97
-66
lines changed
Lines changed: 25 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,34 @@
1-
import {describe, expect} from 'vitest';
2-
import {createRunnerFunction} from './runner.js';
1+
import { describe, expect } from 'vitest';
2+
import { createRunnerFunction } from './runner.js';
33

44
describe('createRunnerFunction', () => {
5-
it('should create valid runner function', async () => {
6-
await expect(
5+
it('should create valid runner function', async () => {
6+
await expect(
77
createRunnerFunction({
88
tsConfigPath:
99
'packages/plugin-typescript/mocks/fixtures/basic-setup/tsconfig.json',
10-
expectedAudits: [{slug: 'no-implicit-any'}],
10+
expectedAudits: [{ slug: 'no-implicit-any' }],
1111
})(() => void 0),
1212
).resolves.toStrictEqual([
13-
{
14-
details: {
15-
issues: [
16-
{
17-
message: "Parameter 'param' implicitly has an 'any' type.",
18-
severity: "error",
19-
source: {
20-
file: "packages/plugin-typescript/mocks/fixtures/basic-setup/src/ts-7006-no-implicit-any.ts",
21-
position: {
22-
startLine: 8,
23-
},
24-
},
25-
},
26-
],
27-
},
28-
score: 0,
29-
slug: "no-implicit-any",
30-
value: 1,
31-
}
32-
]);
13+
{
14+
details: {
15+
issues: [
16+
{
17+
message: "Parameter 'param' implicitly has an 'any' type.",
18+
severity: 'error',
19+
source: {
20+
file: 'packages/plugin-typescript/mocks/fixtures/basic-setup/src/ts-7006-no-implicit-any.ts',
21+
position: {
22+
startLine: 8,
23+
},
24+
},
25+
},
26+
],
27+
},
28+
score: 0,
29+
slug: 'no-implicit-any',
30+
value: 1,
31+
},
32+
]);
3333
});
3434
});

packages/plugin-typescript/src/lib/runner/runner.unit.test.ts

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,12 @@
1-
import {type Diagnostic, DiagnosticCategory, type LineAndCharacter, type SourceFile,} from 'typescript';
2-
import {beforeEach, describe, expect} from 'vitest';
3-
import {auditOutputsSchema} from '@code-pushup/models';
4-
import {createRunnerFunction} from './runner.js';
1+
import {
2+
type Diagnostic,
3+
DiagnosticCategory,
4+
type LineAndCharacter,
5+
type SourceFile,
6+
} from 'typescript';
7+
import { beforeEach, describe, expect } from 'vitest';
8+
import { auditOutputsSchema } from '@code-pushup/models';
9+
import { createRunnerFunction } from './runner.js';
510
import * as runnerModule from './ts-runner.js';
611
import * as utilsModule from './utils.js';
712

packages/plugin-typescript/src/lib/runner/ts-runner.ts

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
1-
import {type CompilerOptions, createProgram, type Diagnostic, getPreEmitDiagnostics,} from 'typescript';
2-
import {loadTargetConfig, validateDiagnostics} from './utils.js';
1+
import {
2+
type CompilerOptions,
3+
type Diagnostic,
4+
createProgram,
5+
getPreEmitDiagnostics,
6+
} from 'typescript';
7+
import { loadTargetConfig, validateDiagnostics } from './utils.js';
38

49
export type DiagnosticsOptions = {
510
fileNames: string[];
Lines changed: 48 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
import {describe, expect} from 'vitest';
2-
import packageJson from 'node_modules/typescript/package.json' assert {type: 'json'};
3-
import {getCurrentTsVersion, loadTargetConfig} from "./utils.js";
4-
import * as tsModule from "typescript";
1+
import packageJson from 'node_modules/typescript/package.json';
2+
import * as tsModule from 'typescript';
3+
import { describe, expect } from 'vitest';
4+
import { getCurrentTsVersion, loadTargetConfig } from './utils.js';
55

66
describe('getCurrentTsVersion', () => {
77
it('should return currently installed TypeScript version as semver string', async () => {
@@ -10,37 +10,53 @@ describe('getCurrentTsVersion', () => {
1010
});
1111

1212
describe('loadTargetConfig', () => {
13-
const parseConfigFileTextToJsonSpy = vi.spyOn(tsModule, 'parseConfigFileTextToJson');
14-
const parseJsonConfigFileContentSpy = vi.spyOn(tsModule, 'parseJsonConfigFileContent');
13+
const parseConfigFileTextToJsonSpy = vi.spyOn(
14+
tsModule,
15+
'parseConfigFileTextToJson',
16+
);
17+
const parseJsonConfigFileContentSpy = vi.spyOn(
18+
tsModule,
19+
'parseJsonConfigFileContent',
20+
);
1521

1622
it('should return the parsed content of a tsconfig file and ist TypeScript helper to parse it', async () => {
17-
await expect(loadTargetConfig('packages/plugin-typescript/mocks/fixtures/tsconfig.init.json')).resolves
18-
.toStrictEqual(expect.objectContaining({
19-
fileNames: expect.any(Array),
20-
options: {
21-
module: 1,
22-
configFilePath: undefined,
23-
esModuleInterop: true,
24-
forceConsistentCasingInFileNames: true,
25-
skipLibCheck: true,
26-
strict: true,
27-
target: 3
28-
}
29-
})
30-
);
23+
await expect(
24+
loadTargetConfig(
25+
'packages/plugin-typescript/mocks/fixtures/tsconfig.init.json',
26+
),
27+
).resolves.toStrictEqual(
28+
expect.objectContaining({
29+
fileNames: expect.any(Array),
30+
options: {
31+
module: 1,
32+
configFilePath: undefined,
33+
esModuleInterop: true,
34+
forceConsistentCasingInFileNames: true,
35+
skipLibCheck: true,
36+
strict: true,
37+
target: 3,
38+
},
39+
}),
40+
);
3141
expect(parseConfigFileTextToJsonSpy).toHaveBeenCalledTimes(1);
32-
expect(parseConfigFileTextToJsonSpy).toHaveBeenCalledWith("packages/plugin-typescript/mocks/fixtures/tsconfig.init.json", expect.stringContaining('/* Projects */'));
42+
expect(parseConfigFileTextToJsonSpy).toHaveBeenCalledWith(
43+
'packages/plugin-typescript/mocks/fixtures/tsconfig.init.json',
44+
expect.stringContaining('/* Projects */'),
45+
);
3346
expect(parseJsonConfigFileContentSpy).toHaveBeenCalledTimes(1);
34-
expect(parseJsonConfigFileContentSpy).toHaveBeenCalledWith(expect.objectContaining({
35-
compilerOptions: expect.objectContaining({
36-
esModuleInterop: true,
37-
forceConsistentCasingInFileNames: true,
38-
module: "commonjs",
39-
skipLibCheck: true,
40-
strict: true,
41-
target: "es2016",
42-
})
43-
}), expect.any(Object), expect.any(String));
47+
expect(parseJsonConfigFileContentSpy).toHaveBeenCalledWith(
48+
expect.objectContaining({
49+
compilerOptions: expect.objectContaining({
50+
esModuleInterop: true,
51+
forceConsistentCasingInFileNames: true,
52+
module: 'commonjs',
53+
skipLibCheck: true,
54+
strict: true,
55+
target: 'es2016',
56+
}),
57+
}),
58+
expect.any(Object),
59+
expect.any(String),
60+
);
4461
});
45-
4662
});

packages/plugin-typescript/src/lib/runner/utils.unit.test.ts

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,11 @@
1-
import {type Diagnostic, DiagnosticCategory,} from 'typescript';
2-
import {beforeEach, describe, expect} from 'vitest';
3-
import {getIssueFromDiagnostic, getSeverity, tSCodeToAuditSlug, validateDiagnostics,} from './utils.js';
1+
import { type Diagnostic, DiagnosticCategory } from 'typescript';
2+
import { beforeEach, describe, expect } from 'vitest';
3+
import {
4+
getIssueFromDiagnostic,
5+
getSeverity,
6+
tSCodeToAuditSlug,
7+
validateDiagnostics,
8+
} from './utils.js';
49

510
describe('validateDiagnostics', () => {
611
const consoleWarnSpy = vi.spyOn(console, 'warn');

0 commit comments

Comments
 (0)