Files
n8n/scripts/gitignore.test.mjs
n8n-cat-bot[bot]andn8n-cat-bot[bot] b1ec8e525c fix: Ignore generated Vitest reports (no-changelog) (#40498)
Co-authored-by: n8n-cat-bot[bot] <n8n-cat-bot[bot]@users.noreply.github.com>
2026-10-07 10:20:54 +00:00

36 lines
1.1 KiB
JavaScript

import assert from 'node:assert/strict';
import { spawnSync } from 'node:child_process';
import { test } from 'node:test';
import { fileURLToPath } from 'node:url';
const repoRoot = fileURLToPath(new URL('..', import.meta.url));
function ignoreRule(path) {
const result = spawnSync('git', ['check-ignore', '-v', '--no-index', '--', path], {
cwd: repoRoot,
encoding: 'utf8',
});
assert.ifError(result.error);
assert.equal(result.status, 0, `${path} must be ignored by Git`);
const [rule, ignoredPath] = result.stdout.trim().split('\t');
assert.equal(ignoredPath, path);
return rule;
}
test('ignores existing Vitest profile output', () => {
assert.match(
ignoreRule('packages/cli/.vitest-profile/json/output.json'),
/^\.gitignore:\d+:\.vitest-profile\/$/,
);
});
// DEVP-1240: Vitest 5 writes JSON reports into a package-local .vitest directory.
test('ignores Vitest JSON reports in workspace packages', () => {
for (const path of [
'packages/cli/.vitest/json/output.json',
'packages/frontend/editor-ui/.vitest/json/output.json',
]) {
assert.match(ignoreRule(path), /^\.gitignore:\d+:\.vitest\/$/);
}
});