@number10/ci-runner-cli 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +177 -0
  3. package/dist/.tsbuildinfo.build +1 -0
  4. package/dist/cli.d.ts +3 -0
  5. package/dist/cli.d.ts.map +1 -0
  6. package/dist/cli.js +852 -0
  7. package/dist/cli.js.map +1 -0
  8. package/dist/cliOptions.d.ts +36 -0
  9. package/dist/cliOptions.d.ts.map +1 -0
  10. package/dist/config/loadConfig.d.ts +14 -0
  11. package/dist/config/loadConfig.d.ts.map +1 -0
  12. package/dist/config/mapConfigToRun.d.ts +60 -0
  13. package/dist/config/mapConfigToRun.d.ts.map +1 -0
  14. package/dist/config/types.d.ts +70 -0
  15. package/dist/config/types.d.ts.map +1 -0
  16. package/dist/index.d.ts +8 -0
  17. package/dist/index.d.ts.map +1 -0
  18. package/dist/internal/core/contracts/executor.d.ts +35 -0
  19. package/dist/internal/core/contracts/executor.d.ts.map +1 -0
  20. package/dist/internal/core/contracts/parser.d.ts +45 -0
  21. package/dist/internal/core/contracts/parser.d.ts.map +1 -0
  22. package/dist/internal/core/contracts/reporter.d.ts +34 -0
  23. package/dist/internal/core/contracts/reporter.d.ts.map +1 -0
  24. package/dist/internal/core/contracts/run.d.ts +60 -0
  25. package/dist/internal/core/contracts/run.d.ts.map +1 -0
  26. package/dist/internal/core/contracts/step.d.ts +82 -0
  27. package/dist/internal/core/contracts/step.d.ts.map +1 -0
  28. package/dist/internal/core/execution/nodeCommandExecutor.d.ts +8 -0
  29. package/dist/internal/core/execution/nodeCommandExecutor.d.ts.map +1 -0
  30. package/dist/internal/core/index.d.ts +10 -0
  31. package/dist/internal/core/index.d.ts.map +1 -0
  32. package/dist/internal/core/parsers/parserRegistry.d.ts +29 -0
  33. package/dist/internal/core/parsers/parserRegistry.d.ts.map +1 -0
  34. package/dist/internal/core/reporters/jsonFormatter.d.ts +10 -0
  35. package/dist/internal/core/reporters/jsonFormatter.d.ts.map +1 -0
  36. package/dist/internal/core/runner/pipelineRunner.d.ts +34 -0
  37. package/dist/internal/core/runner/pipelineRunner.d.ts.map +1 -0
  38. package/dist/parsers/defaultStepParsers.d.ts +8 -0
  39. package/dist/parsers/defaultStepParsers.d.ts.map +1 -0
  40. package/dist/reporters/prettyReporter.d.ts +46 -0
  41. package/dist/reporters/prettyReporter.d.ts.map +1 -0
  42. package/dist/runPipeline.d.ts +26 -0
  43. package/dist/runPipeline.d.ts.map +1 -0
  44. package/package.json +42 -0
@@ -0,0 +1,82 @@
1
+ import type { ParsedStepMetrics } from './parser.js';
2
+ /**
3
+ * Terminal status of a pipeline step.
4
+ */
5
+ export type StepStatus = 'passed' | 'failed' | 'skipped' | 'timed_out';
6
+ /**
7
+ * Failure or skip reason assigned to a step result.
8
+ */
9
+ export type StepResultReason = 'command_failed' | 'command_timeout' | 'optional_step_failed';
10
+ /**
11
+ * Retry behavior for a step.
12
+ */
13
+ export interface StepRetryPolicy {
14
+ /** Maximum execution attempts including the first run. */
15
+ readonly maxAttempts: number;
16
+ /** Delay between retry attempts in milliseconds. */
17
+ readonly delayMs?: number;
18
+ /** When true, retries are also allowed after timeout failures. */
19
+ readonly retryOnTimeout?: boolean;
20
+ }
21
+ /**
22
+ * Immutable definition of one runnable CI step.
23
+ */
24
+ export interface PipelineStep {
25
+ /** Stable machine identifier for programmatic usage. */
26
+ readonly id: string;
27
+ /** Human readable label used in logs and summaries. */
28
+ readonly name: string;
29
+ /** Shell command executed for this step. */
30
+ readonly command: string;
31
+ /** Optional working directory override. */
32
+ readonly cwd?: string;
33
+ /** Optional environment override merged with process env. */
34
+ readonly env?: Readonly<Record<string, string>>;
35
+ /** Optional steps become skipped when execution fails. */
36
+ readonly optional?: boolean;
37
+ /** Optional timeout in milliseconds for one attempt. */
38
+ readonly timeoutMs?: number;
39
+ /** Retry policy for transient failures. */
40
+ readonly retry?: StepRetryPolicy;
41
+ }
42
+ /**
43
+ * Captured process output data for one execution attempt.
44
+ */
45
+ export interface StepExecutionOutput {
46
+ /** Exit code returned by the process, or null when unavailable. */
47
+ readonly exitCode: number | null;
48
+ /** Termination signal if process ended by signal. */
49
+ readonly signal: NodeJS.Signals | null;
50
+ /** Captured stdout content. */
51
+ readonly stdout: string;
52
+ /** Captured stderr content. */
53
+ readonly stderr: string;
54
+ }
55
+ /**
56
+ * Result object returned for each completed pipeline step.
57
+ */
58
+ export interface StepResult {
59
+ /** Step identifier copied from the step definition. */
60
+ readonly id: string;
61
+ /** Step display name copied from the step definition. */
62
+ readonly name: string;
63
+ /** Final status after retries and optional handling. */
64
+ readonly status: StepStatus;
65
+ /** Final reason for non-success outcomes. */
66
+ readonly reason?: StepResultReason;
67
+ /** Number of attempts executed for this step. */
68
+ readonly attempts: number;
69
+ /** Indicates whether at least one retry happened. */
70
+ readonly retried: boolean;
71
+ /** Step start timestamp in Unix milliseconds. */
72
+ readonly startedAt: number;
73
+ /** Step finish timestamp in Unix milliseconds. */
74
+ readonly finishedAt: number;
75
+ /** Total step duration in milliseconds. */
76
+ readonly durationMs: number;
77
+ /** Captured process output from the last execution attempt. */
78
+ readonly output: StepExecutionOutput;
79
+ /** Optional structured metrics parsed from process output. */
80
+ readonly metrics: ParsedStepMetrics | null;
81
+ }
82
+ //# sourceMappingURL=step.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"step.d.ts","sourceRoot":"","sources":["../../../../src/internal/core/contracts/step.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAEpD;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,WAAW,CAAA;AAEtE;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,gBAAgB,GAAG,iBAAiB,GAAG,sBAAsB,CAAA;AAE5F;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,0DAA0D;IAC1D,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,oDAAoD;IACpD,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;IACzB,kEAAkE;IAClE,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAA;CAClC;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,wDAAwD;IACxD,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,uDAAuD;IACvD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,4CAA4C;IAC5C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,2CAA2C;IAC3C,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAA;IACrB,6DAA6D;IAC7D,QAAQ,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;IAC/C,0DAA0D;IAC1D,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAC3B,wDAAwD;IACxD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,2CAA2C;IAC3C,QAAQ,CAAC,KAAK,CAAC,EAAE,eAAe,CAAA;CACjC;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,mEAAmE;IACnE,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IAChC,qDAAqD;IACrD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,GAAG,IAAI,CAAA;IACtC,+BAA+B;IAC/B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,+BAA+B;IAC/B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,uDAAuD;IACvD,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,yDAAyD;IACzD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,wDAAwD;IACxD,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAA;IAC3B,6CAA6C;IAC7C,QAAQ,CAAC,MAAM,CAAC,EAAE,gBAAgB,CAAA;IAClC,iDAAiD;IACjD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,qDAAqD;IACrD,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;IACzB,iDAAiD;IACjD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,kDAAkD;IAClD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,2CAA2C;IAC3C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,+DAA+D;IAC/D,QAAQ,CAAC,MAAM,EAAE,mBAAmB,CAAA;IACpC,8DAA8D;IAC9D,QAAQ,CAAC,OAAO,EAAE,iBAAiB,GAAG,IAAI,CAAA;CAC3C"}
@@ -0,0 +1,8 @@
1
+ import type { CommandExecutor } from '../contracts/executor.js';
2
+ /**
3
+ * Creates a Node.js shell command executor.
4
+ *
5
+ * @returns Command executor implementation.
6
+ */
7
+ export declare const createNodeCommandExecutor: () => CommandExecutor;
8
+ //# sourceMappingURL=nodeCommandExecutor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nodeCommandExecutor.d.ts","sourceRoot":"","sources":["../../../../src/internal/core/execution/nodeCommandExecutor.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAGV,eAAe,EAChB,MAAM,0BAA0B,CAAA;AAEjC;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,QAAO,eAiE5C,CAAA"}
@@ -0,0 +1,10 @@
1
+ export type { CommandExecutionRequest, CommandExecutionResult, CommandExecutor, } from './contracts/executor.js';
2
+ export type { ParsedStepMetrics, StepOutputParser, StepParserResolver } from './contracts/parser.js';
3
+ export type { PipelineReporter } from './contracts/reporter.js';
4
+ export type { PipelineRunOptions, PipelineRunResult, PipelineSummary } from './contracts/run.js';
5
+ export type { PipelineStep, StepExecutionOutput, StepResult, StepResultReason, StepRetryPolicy, StepStatus, } from './contracts/step.js';
6
+ export { createNodeCommandExecutor } from './execution/nodeCommandExecutor.js';
7
+ export { StepParserRegistry } from './parsers/parserRegistry.js';
8
+ export { formatPipelineResultAsJson } from './reporters/jsonFormatter.js';
9
+ export { createPipelineRunner, PipelineRunner } from './runner/pipelineRunner.js';
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/internal/core/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,uBAAuB,EACvB,sBAAsB,EACtB,eAAe,GAChB,MAAM,yBAAyB,CAAA;AAChC,YAAY,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AACpG,YAAY,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAC/D,YAAY,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAChG,YAAY,EACV,YAAY,EACZ,mBAAmB,EACnB,UAAU,EACV,gBAAgB,EAChB,eAAe,EACf,UAAU,GACX,MAAM,qBAAqB,CAAA;AAE5B,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAA;AAC9E,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAA;AAChE,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAA;AACzE,OAAO,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA"}
@@ -0,0 +1,29 @@
1
+ import type { ParsedStepMetrics, StepOutputParser, StepParserResolver } from '../contracts/parser.js';
2
+ import type { PipelineStep, StepExecutionOutput } from '../contracts/step.js';
3
+ /**
4
+ * In-memory parser registry with ordered fallback resolution.
5
+ */
6
+ export declare class StepParserRegistry implements StepParserResolver {
7
+ private readonly parsers;
8
+ /**
9
+ * Creates a parser registry.
10
+ *
11
+ * @param parsers Initial parser list.
12
+ */
13
+ constructor(parsers?: readonly StepOutputParser[]);
14
+ /**
15
+ * Adds a parser to the registry.
16
+ *
17
+ * @param parser Parser instance.
18
+ */
19
+ register(parser: StepOutputParser): void;
20
+ /**
21
+ * Parses output using the first matching parser that returns a metric.
22
+ *
23
+ * @param step Step definition.
24
+ * @param output Step output payload.
25
+ * @returns Parsed metric or null.
26
+ */
27
+ parse(step: PipelineStep, output: StepExecutionOutput): ParsedStepMetrics | null;
28
+ }
29
+ //# sourceMappingURL=parserRegistry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parserRegistry.d.ts","sourceRoot":"","sources":["../../../../src/internal/core/parsers/parserRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,EACnB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,KAAK,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AAE7E;;GAEG;AACH,qBAAa,kBAAmB,YAAW,kBAAkB;IAC3D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoB;IAE5C;;;;OAIG;gBACgB,OAAO,GAAE,SAAS,gBAAgB,EAAO;IAI5D;;;;OAIG;IACI,QAAQ,CAAC,MAAM,EAAE,gBAAgB,GAAG,IAAI;IAI/C;;;;;;OAMG;IACI,KAAK,CAAC,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,mBAAmB,GAAG,iBAAiB,GAAG,IAAI;CAcxF"}
@@ -0,0 +1,10 @@
1
+ import type { PipelineRunResult } from '../contracts/run.js';
2
+ /**
3
+ * Formats pipeline result data as JSON output.
4
+ *
5
+ * @param result Pipeline run result.
6
+ * @param indentation Number of spaces used for indentation.
7
+ * @returns JSON representation.
8
+ */
9
+ export declare const formatPipelineResultAsJson: (result: PipelineRunResult, indentation?: number) => string;
10
+ //# sourceMappingURL=jsonFormatter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jsonFormatter.d.ts","sourceRoot":"","sources":["../../../../src/internal/core/reporters/jsonFormatter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAE5D;;;;;;GAMG;AACH,eAAO,MAAM,0BAA0B,GAAI,QAAQ,iBAAiB,EAAE,oBAAe,KAAG,MAEvF,CAAA"}
@@ -0,0 +1,34 @@
1
+ import type { PipelineRunOptions, PipelineRunResult } from '../contracts/run.js';
2
+ /**
3
+ * Pipeline execution engine for sequential CI step orchestration.
4
+ */
5
+ export declare class PipelineRunner {
6
+ private readonly options;
7
+ /**
8
+ * Creates a pipeline runner.
9
+ *
10
+ * @param options Runtime options.
11
+ */
12
+ constructor(options: PipelineRunOptions);
13
+ /**
14
+ * Executes all configured pipeline steps.
15
+ *
16
+ * @returns Final pipeline result.
17
+ */
18
+ run(): Promise<PipelineRunResult>;
19
+ private executeStep;
20
+ private buildFailedResult;
21
+ private buildStepResult;
22
+ private emitPipelineStart;
23
+ private emitStepStart;
24
+ private emitStepComplete;
25
+ private emitPipelineComplete;
26
+ }
27
+ /**
28
+ * Creates a pipeline runner instance.
29
+ *
30
+ * @param options Runtime options.
31
+ * @returns Pipeline runner.
32
+ */
33
+ export declare const createPipelineRunner: (options: PipelineRunOptions) => PipelineRunner;
34
+ //# sourceMappingURL=pipelineRunner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pipelineRunner.d.ts","sourceRoot":"","sources":["../../../../src/internal/core/runner/pipelineRunner.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,iBAAiB,EAAmB,MAAM,qBAAqB,CAAA;AAGjG;;GAEG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAGuC;IAE/D;;;;OAIG;gBACgB,OAAO,EAAE,kBAAkB;IAe9C;;;;OAIG;IACU,GAAG,IAAI,OAAO,CAAC,iBAAiB,CAAC;YAqChC,WAAW;IA6DzB,OAAO,CAAC,iBAAiB;IAsCzB,OAAO,CAAC,eAAe;YA+BT,iBAAiB;YAOjB,aAAa;YAOb,gBAAgB;YAOhB,oBAAoB;CAMnC;AAED;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,GAAI,SAAS,kBAAkB,KAAG,cAElE,CAAA"}
@@ -0,0 +1,8 @@
1
+ import type { StepOutputParser } from '../internal/core/index.js';
2
+ /**
3
+ * Creates default parsers for common test outputs.
4
+ *
5
+ * @returns Parser list.
6
+ */
7
+ export declare const createDefaultStepParsers: () => readonly StepOutputParser[];
8
+ //# sourceMappingURL=defaultStepParsers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defaultStepParsers.d.ts","sourceRoot":"","sources":["../../src/parsers/defaultStepParsers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAqB,gBAAgB,EAAE,MAAM,2BAA2B,CAAA;AAEpF;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,QAAO,SAAS,gBAAgB,EAmFpE,CAAA"}
@@ -0,0 +1,46 @@
1
+ import type { PipelineReporter, PipelineRunResult, PipelineStep, StepResult } from '../internal/core/index.js';
2
+ /**
3
+ * Options for the pretty console reporter.
4
+ */
5
+ export interface PrettyReporterOptions {
6
+ /** Emits stdout/stderr also for successful steps. */
7
+ readonly verbose: boolean;
8
+ }
9
+ /**
10
+ * Compact console reporter with failure-focused detail output.
11
+ */
12
+ export declare class PrettyReporter implements PipelineReporter {
13
+ private readonly options;
14
+ /**
15
+ * Creates a pretty reporter.
16
+ *
17
+ * @param options Reporter options.
18
+ */
19
+ constructor(options: PrettyReporterOptions);
20
+ /**
21
+ * Handles pipeline start.
22
+ *
23
+ * @param steps Pipeline steps.
24
+ */
25
+ onPipelineStart(steps: readonly PipelineStep[]): void;
26
+ /**
27
+ * Handles step start.
28
+ *
29
+ * @param step Current step.
30
+ */
31
+ onStepStart(step: PipelineStep): void;
32
+ /**
33
+ * Handles step completion.
34
+ *
35
+ * @param result Step result.
36
+ */
37
+ onStepComplete(result: StepResult): void;
38
+ /**
39
+ * Handles pipeline completion.
40
+ *
41
+ * @param result Pipeline result.
42
+ */
43
+ onPipelineComplete(result: PipelineRunResult): void;
44
+ private printOutput;
45
+ }
46
+ //# sourceMappingURL=prettyReporter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prettyReporter.d.ts","sourceRoot":"","sources":["../../src/reporters/prettyReporter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,iBAAiB,EACjB,YAAY,EACZ,UAAU,EACX,MAAM,2BAA2B,CAAA;AAElC;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,qDAAqD;IACrD,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;CAC1B;AAED;;GAEG;AACH,qBAAa,cAAe,YAAW,gBAAgB;IACrD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAuB;IAE/C;;;;OAIG;gBACgB,OAAO,EAAE,qBAAqB;IAIjD;;;;OAIG;IACI,eAAe,CAAC,KAAK,EAAE,SAAS,YAAY,EAAE,GAAG,IAAI;IAI5D;;;;OAIG;IACI,WAAW,CAAC,IAAI,EAAE,YAAY,GAAG,IAAI;IAI5C;;;;OAIG;IACI,cAAc,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI;IA2C/C;;;;OAIG;IACI,kBAAkB,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI;IAe1D,OAAO,CAAC,WAAW;CAgBpB"}
@@ -0,0 +1,26 @@
1
+ import type { CliOutputFormat } from './config/types.js';
2
+ /**
3
+ * Runtime options for a CLI execution.
4
+ */
5
+ export interface RunCliPipelineOptions {
6
+ /** Base working directory. */
7
+ readonly cwd: string;
8
+ /** Optional explicit config path. */
9
+ readonly configPath?: string;
10
+ /** Output format selection. */
11
+ readonly format: CliOutputFormat;
12
+ /** Verbose output mode. */
13
+ readonly verbose: boolean;
14
+ /** Enables fail-fast behavior. */
15
+ readonly failFast: boolean;
16
+ /** Enables watch mode. */
17
+ readonly watch: boolean;
18
+ }
19
+ /**
20
+ * Executes the pipeline according to CLI options.
21
+ *
22
+ * @param options CLI runtime options.
23
+ * @returns Final exit code.
24
+ */
25
+ export declare const runCliPipeline: (options: RunCliPipelineOptions) => Promise<number>;
26
+ //# sourceMappingURL=runPipeline.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runPipeline.d.ts","sourceRoot":"","sources":["../src/runPipeline.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAIxD;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,8BAA8B;IAC9B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,qCAAqC;IACrC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;IAC5B,+BAA+B;IAC/B,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAA;IAChC,2BAA2B;IAC3B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;IACzB,kCAAkC;IAClC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAA;IAC1B,0BAA0B;IAC1B,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;CACxB;AAED;;;;;GAKG;AACH,eAAO,MAAM,cAAc,GAAU,SAAS,qBAAqB,KAAG,OAAO,CAAC,MAAM,CA8BnF,CAAA"}
package/package.json ADDED
@@ -0,0 +1,42 @@
1
+ {
2
+ "name": "@number10/ci-runner-cli",
3
+ "version": "0.1.0",
4
+ "private": false,
5
+ "type": "module",
6
+ "description": "CLI runner package for ci-runner.",
7
+ "bin": {
8
+ "ci-runner": "./dist/cli.js"
9
+ },
10
+ "main": "./dist/cli.js",
11
+ "types": "./dist/cli.d.ts",
12
+ "exports": {
13
+ ".": {
14
+ "types": "./dist/cli.d.ts",
15
+ "import": "./dist/cli.js"
16
+ },
17
+ "./types": {
18
+ "types": "./dist/index.d.ts"
19
+ }
20
+ },
21
+ "files": [
22
+ "dist"
23
+ ],
24
+ "dependencies": {
25
+ "typescript": "^5.9.3"
26
+ },
27
+ "engines": {
28
+ "node": ">=20.19.0",
29
+ "pnpm": ">=10.28.1"
30
+ },
31
+ "publishConfig": {
32
+ "access": "public"
33
+ },
34
+ "license": "MIT",
35
+ "scripts": {
36
+ "clean": "node -e \"require('node:fs').rmSync('dist', { recursive: true, force: true })\"",
37
+ "build": "vite build --config vite.config.ts && tsc -p tsconfig.build.json",
38
+ "typecheck": "tsc -p tsconfig.json --noEmit",
39
+ "lint": "eslint \"src/**/*.ts\" \"test/**/*.ts\"",
40
+ "test": "vitest run --config vitest.config.ts"
41
+ }
42
+ }