Removing jest and replacing with vitest

This commit is contained in:
Peter Murray
2024-01-23 15:58:26 +00:00
committed by GitHub
parent ed528f7cfe
commit 8e6e39a793
10 changed files with 1167 additions and 3062 deletions
+1 -1
View File
@@ -3,7 +3,7 @@
"customizations": {
"vscode": {
"extensions": [
"Orta.vscode-jest",
"kingwl.vscode-vitest-runner",
"GitHub.copilot"
]
}
-6
View File
@@ -1,6 +0,0 @@
module.exports = {
verbose: true,
transform: {
'^.+\\.(ts|tsx)?$': 'ts-jest'
},
}
+1142 -3034
View File
File diff suppressed because it is too large Load Diff
+5 -6
View File
@@ -7,7 +7,7 @@
"base-build": "npm ci && tsc",
"build": "npm run base-build && npm exec -- @vercel/ncc build --source-map lib/src/index.js",
"build-exe": "npm run build && pkg package.json --compress Gzip",
"test": "jest"
"test": "vitest --run"
},
"repository": {
"type": "git",
@@ -22,20 +22,19 @@
"homepage": "https://github.com/advanced-security/maven-dependency-submission-action",
"dependencies": {
"@actions/core": "^1.10.1",
"@actions/exec": "^1.1.1",
"@github/dependency-submission-toolkit": "^2.0.0",
"commander": "^9.4.0",
"packageurl-js": "^1.2.0"
},
"devDependencies": {
"@types/chai": "^4.3.1",
"@types/jest": "^28.1.6",
"@vercel/ncc": "^0.38.1",
"chai": "^4.3.6",
"jest": "^28.1.3",
"pkg": "^5.8.0",
"ts-jest": "^28.0.7",
"ts-node": "^10.8.2",
"typescript": "^4.7.4"
"ts-node": "^10.9.2",
"typescript": "^5.3.3",
"vitest": "^1.2.1"
},
"bin": {
"cli": "lib/src/executable/cli.js"
+1
View File
@@ -1,6 +1,7 @@
import { expect } from 'chai';
import { parseDependencyJson, MavenDependencyGraph } from './depgraph';
import * as path from 'path';
import {describe, it, beforeAll} from 'vitest';
describe('depgraph', () => {
+1 -1
View File
@@ -1,6 +1,6 @@
import { PackageURL } from 'packageurl-js'
import { PackageCache, Package, Manifest } from '@github/dependency-submission-toolkit';
import { DependencyScope } from '@github/dependency-submission-toolkit/dist/manifest';
import { DependencyScope } from '@github/dependency-submission-toolkit';
import { loadFileContents } from './utils/file-utils';
export type Depgraph = {
+3 -4
View File
@@ -1,11 +1,10 @@
import * as path from 'path';
import { getMavenProjectDirectory, getMavenSettingsFile } from './utils/test-util';
import { MavenRunner } from './maven-runner';
import {describe, it, expect} from 'vitest';
describe('maven-runner', () => {
jest.setTimeout(20000);
describe('create', () => {
it('should create a runner without a wrapper', async () => {
@@ -16,7 +15,7 @@ describe('maven-runner', () => {
expect(runner.configuration.executable).toBeDefined();
expect(runner.configuration.executable).toBe('mvn');
expect(runner.configuration.settingsFile).toBeUndefined();
});
}, 20000);
it('should create a runner with wrapper', async () => {
const projectDir = getMavenProjectDirectory('maven-wrapper');
@@ -26,7 +25,7 @@ describe('maven-runner', () => {
expect(runner.configuration.executable).toBeDefined();
expect(runner.configuration.executable).toBe(path.join(projectDir, 'mvnw'));
expect(runner.configuration.settingsFile).toBeUndefined();
});
}, 20000);
describe('with settings', () => {
+8 -9
View File
@@ -1,17 +1,16 @@
import { getMavenProjectDirectory } from './utils/test-util';
import { generateDependencyGraph, generateSnapshot } from './snapshot-generator';
import {describe, it, expect} from 'vitest';
describe('snapshot-generator', () => {
jest.setTimeout(20000);
describe('#generateDependencyGraph()', () => {
it('should generate a snapshot for a simple project', async () => {
const projectDir = getMavenProjectDirectory('simple');
const depGraph = await generateDependencyGraph(projectDir);
expect(depGraph.dependencies.length).toBe(20);
});
}, 20000);
});
describe('#generateSnapshot()', () => {
@@ -24,7 +23,7 @@ describe('snapshot-generator', () => {
expect(snapshot.manifests['bookstore-v3']).toBeDefined();
expect(snapshot.detector.version).toBe(version);
});
}, 20000);
it('should generate a snapshot for a multi-module project', async () => {
const projectDir = getMavenProjectDirectory('multi-module');
@@ -32,7 +31,7 @@ describe('snapshot-generator', () => {
expect(snapshot.manifests['bs-parent']).toBeDefined();
expect(snapshot.detector.version).toBe(version);
});
}, 20000);
it('should generate a snapshot for a multi-module-multi-branch project', async () => {
const projectDir = getMavenProjectDirectory('multi-module-multi-branch');
@@ -41,7 +40,7 @@ describe('snapshot-generator', () => {
expect(snapshot.manifests['bs-parent']).toBeDefined();
expect(snapshot.detector.version).toBe(version);
expect(snapshot.manifests['bs-parent'].countDependencies()).toBe(20);
});
}, 20000);
it('should generate a snapshot for a maven-wrapper project', async () => {
const projectDir = getMavenProjectDirectory('maven-wrapper');
@@ -50,7 +49,7 @@ describe('snapshot-generator', () => {
expect(snapshot.manifests['maven-wrapper-test']).toBeDefined();
expect(snapshot.detector.version).toBe(version);
expect(snapshot.manifests['maven-wrapper-test'].countDependencies()).toBe(0);
});
}, 20000);
it('should generate a snapshot for an artifact with classifiers project', async () => {
const projectDir = getMavenProjectDirectory('artifact-with-classifiers');
@@ -59,7 +58,7 @@ describe('snapshot-generator', () => {
expect(snapshot.manifests['artifact-with-classifiers']).toBeDefined();
expect(snapshot.detector.version).toBe(version);
expect(snapshot.manifests['artifact-with-classifiers'].countDependencies()).toBe(7);
});
}, 20000);
it('should process a problematic dependecy-tree 2602', async() => {
const projectDir = getMavenProjectDirectory('dependency-graph-2602');
@@ -68,6 +67,6 @@ describe('snapshot-generator', () => {
expect(snapshot.manifests['problem-dependency-graph-2602']).toBeDefined();
expect(snapshot.detector.version).toBe(version);
expect(snapshot.manifests['problem-dependency-graph-2602'].countDependencies()).toBe(230);
});
}, 20000);
});
});
+1 -1
View File
@@ -1,7 +1,7 @@
{
"compilerOptions": {
"target": "es6",
"module": "CommonJS",
"module": "ES2020",
"outDir": "./lib",
"sourceRoot": "./src",
"strict": true,
+5
View File
@@ -0,0 +1,5 @@
import { defineConfig, mergeConfig } from 'vitest/config'
export default defineConfig({
test: {}
});