mirror of
https://github.com/Kaelio/ktx.git
synced 2026-06-07 07:55:13 +02:00
Merge pull request #70 from Kaelio/remove-setup-project-print
Hide setup project banner
This commit is contained in:
commit
be77c3c0bb
5 changed files with 30 additions and 6 deletions
|
|
@ -162,6 +162,10 @@ function shouldSuppressProjectDirLine(path: string[], options: Record<string, un
|
|||
return true;
|
||||
}
|
||||
|
||||
if (commandPathKey === 'ktx setup') {
|
||||
return true;
|
||||
}
|
||||
|
||||
if (
|
||||
commandPathKey === 'ktx status' &&
|
||||
typeof options.projectDir !== 'string' &&
|
||||
|
|
|
|||
|
|
@ -333,6 +333,22 @@ describe('runKtxCli', () => {
|
|||
expect(testIo.stderr()).toBe(`Project: ${tempDir}\n`);
|
||||
});
|
||||
|
||||
it('does not print the command-level project directory line for setup', async () => {
|
||||
const setup = vi.fn(async () => 0);
|
||||
const testIo = makeIo();
|
||||
|
||||
await expect(runKtxCli(['--project-dir', tempDir, 'setup', '--no-input'], testIo.io, { setup })).resolves.toBe(0);
|
||||
|
||||
expect(setup).toHaveBeenCalledWith(
|
||||
expect.objectContaining({
|
||||
command: 'run',
|
||||
projectDir: tempDir,
|
||||
}),
|
||||
testIo.io,
|
||||
);
|
||||
expect(testIo.stderr()).toBe('');
|
||||
});
|
||||
|
||||
it('skips the project directory line for JSON and TUI output modes', async () => {
|
||||
const ingest = vi.fn(async () => 0);
|
||||
const jsonIo = makeIo();
|
||||
|
|
|
|||
|
|
@ -65,7 +65,7 @@ describe('project directory defaults', () => {
|
|||
argv: ['setup', '--no-input'],
|
||||
spy: setup,
|
||||
expected: { command: 'run', projectDir: '/tmp/ktx-env-project' },
|
||||
expectedStderr: 'Project: /tmp/ktx-env-project\n',
|
||||
expectedStderr: '',
|
||||
},
|
||||
{
|
||||
argv: ['scan', 'warehouse'],
|
||||
|
|
|
|||
|
|
@ -130,6 +130,10 @@ function expectProjectStderr(result: CliResult, projectDir: string): void {
|
|||
expect(result).toMatchObject({ code: 0, stderr: `Project: ${projectDir}\n` });
|
||||
}
|
||||
|
||||
function expectSetupStderr(result: CliResult): void {
|
||||
expect(result).toMatchObject({ code: 0, stderr: '' });
|
||||
}
|
||||
|
||||
async function runSetupNewProject(projectDir: string): Promise<CliResult> {
|
||||
return await runBuiltCli([
|
||||
'setup',
|
||||
|
|
@ -162,7 +166,7 @@ describe('standalone built ktx CLI smoke', () => {
|
|||
const sourceDir = join(tempDir, 'source');
|
||||
|
||||
const init = await runSetupNewProject(projectDir);
|
||||
expectProjectStderr(init, projectDir);
|
||||
expectSetupStderr(init);
|
||||
expect(init.stdout).toContain(`Project: ${projectDir}`);
|
||||
|
||||
await writeWarehouseConfig(projectDir);
|
||||
|
|
@ -207,7 +211,7 @@ describe('standalone built ktx CLI smoke', () => {
|
|||
it('runs structural and enriched scans through the built binary with manifest artifacts', async () => {
|
||||
const projectDir = join(tempDir, 'scan-project');
|
||||
const init = await runSetupNewProject(projectDir);
|
||||
expectProjectStderr(init, projectDir);
|
||||
expectSetupStderr(init);
|
||||
|
||||
const dbPath = join(projectDir, 'warehouse.db');
|
||||
createSqliteWarehouse(dbPath);
|
||||
|
|
@ -310,7 +314,7 @@ describe('standalone built ktx CLI smoke', () => {
|
|||
it('rejects the removed connection add command through the built binary', async () => {
|
||||
const projectDir = join(tempDir, 'notion-project');
|
||||
const init = await runSetupNewProject(projectDir);
|
||||
expectProjectStderr(init, projectDir);
|
||||
expectSetupStderr(init);
|
||||
|
||||
const add = await runBuiltCli([
|
||||
'connection',
|
||||
|
|
|
|||
|
|
@ -618,7 +618,7 @@ try {
|
|||
'--skip-sources',
|
||||
'--skip-agents',
|
||||
]);
|
||||
requireProjectStderr('ktx setup', init, projectDir);
|
||||
requireSuccess('ktx setup', init);
|
||||
requireOutput('ktx setup', init, /Project: /);
|
||||
|
||||
const emptyProjectDir = join(root, 'empty-project');
|
||||
|
|
@ -637,7 +637,7 @@ try {
|
|||
'--skip-sources',
|
||||
'--skip-agents',
|
||||
]);
|
||||
requireProjectStderr('ktx setup empty project', emptyInit, emptyProjectDir);
|
||||
requireSuccess('ktx setup empty project', emptyInit);
|
||||
await writeFile(
|
||||
join(projectDir, 'ktx.yaml'),
|
||||
[
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue