task-pipeliner 0.2.2 → 0.2.3

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 (168) hide show
  1. package/README.ko.md +17 -1
  2. package/README.md +17 -1
  3. package/dist/index.cjs +18 -16
  4. package/dist/index.js +18 -16
  5. package/dist/task-pipeliner-rs.node +0 -0
  6. package/package.json +10 -1
  7. package/dist/cli/index.d.ts +0 -19
  8. package/dist/cli/index.d.ts.map +0 -1
  9. package/dist/cli/index.js +0 -305
  10. package/dist/cli/index.js.map +0 -1
  11. package/dist/cli/prompts.d.ts +0 -48
  12. package/dist/cli/prompts.d.ts.map +0 -1
  13. package/dist/cli/prompts.js +0 -75
  14. package/dist/cli/prompts.js.map +0 -1
  15. package/dist/cli/ui.d.ts +0 -39
  16. package/dist/cli/ui.d.ts.map +0 -1
  17. package/dist/cli/ui.js +0 -84
  18. package/dist/cli/ui.js.map +0 -1
  19. package/dist/core/__tests__/actual-execution.test.d.ts +0 -2
  20. package/dist/core/__tests__/actual-execution.test.d.ts.map +0 -1
  21. package/dist/core/__tests__/actual-execution.test.js +0 -147
  22. package/dist/core/__tests__/actual-execution.test.js.map +0 -1
  23. package/dist/core/__tests__/base-dir.test.d.ts +0 -2
  24. package/dist/core/__tests__/base-dir.test.d.ts.map +0 -1
  25. package/dist/core/__tests__/base-dir.test.js +0 -146
  26. package/dist/core/__tests__/base-dir.test.js.map +0 -1
  27. package/dist/core/__tests__/built-code-execution.test.d.ts +0 -2
  28. package/dist/core/__tests__/built-code-execution.test.d.ts.map +0 -1
  29. package/dist/core/__tests__/built-code-execution.test.js +0 -48
  30. package/dist/core/__tests__/built-code-execution.test.js.map +0 -1
  31. package/dist/core/__tests__/choose-as-var-condition.test.d.ts +0 -2
  32. package/dist/core/__tests__/choose-as-var-condition.test.d.ts.map +0 -1
  33. package/dist/core/__tests__/choose-as-var-condition.test.js +0 -308
  34. package/dist/core/__tests__/choose-as-var-condition.test.js.map +0 -1
  35. package/dist/core/__tests__/cli-integration.test.d.ts +0 -2
  36. package/dist/core/__tests__/cli-integration.test.d.ts.map +0 -1
  37. package/dist/core/__tests__/cli-integration.test.js +0 -83
  38. package/dist/core/__tests__/cli-integration.test.js.map +0 -1
  39. package/dist/core/__tests__/comprehensive-basic-yaml.test.d.ts +0 -2
  40. package/dist/core/__tests__/comprehensive-basic-yaml.test.d.ts.map +0 -1
  41. package/dist/core/__tests__/comprehensive-basic-yaml.test.js +0 -114
  42. package/dist/core/__tests__/comprehensive-basic-yaml.test.js.map +0 -1
  43. package/dist/core/__tests__/condition-evaluator.test.d.ts +0 -2
  44. package/dist/core/__tests__/condition-evaluator.test.d.ts.map +0 -1
  45. package/dist/core/__tests__/condition-evaluator.test.js +0 -164
  46. package/dist/core/__tests__/condition-evaluator.test.js.map +0 -1
  47. package/dist/core/__tests__/debug-basic-yaml.test.d.ts +0 -2
  48. package/dist/core/__tests__/debug-basic-yaml.test.d.ts.map +0 -1
  49. package/dist/core/__tests__/debug-basic-yaml.test.js +0 -126
  50. package/dist/core/__tests__/debug-basic-yaml.test.js.map +0 -1
  51. package/dist/core/__tests__/example-files.test.d.ts +0 -2
  52. package/dist/core/__tests__/example-files.test.d.ts.map +0 -1
  53. package/dist/core/__tests__/example-files.test.js +0 -199
  54. package/dist/core/__tests__/example-files.test.js.map +0 -1
  55. package/dist/core/__tests__/executor-choice-integration.test.d.ts +0 -2
  56. package/dist/core/__tests__/executor-choice-integration.test.d.ts.map +0 -1
  57. package/dist/core/__tests__/executor-choice-integration.test.js +0 -169
  58. package/dist/core/__tests__/executor-choice-integration.test.js.map +0 -1
  59. package/dist/core/__tests__/executor-choice.test.d.ts +0 -2
  60. package/dist/core/__tests__/executor-choice.test.d.ts.map +0 -1
  61. package/dist/core/__tests__/executor-choice.test.js +0 -170
  62. package/dist/core/__tests__/executor-choice.test.js.map +0 -1
  63. package/dist/core/__tests__/executor-parallel.test.d.ts +0 -2
  64. package/dist/core/__tests__/executor-parallel.test.d.ts.map +0 -1
  65. package/dist/core/__tests__/executor-parallel.test.js +0 -129
  66. package/dist/core/__tests__/executor-parallel.test.js.map +0 -1
  67. package/dist/core/__tests__/executor-prompt.test.d.ts +0 -2
  68. package/dist/core/__tests__/executor-prompt.test.d.ts.map +0 -1
  69. package/dist/core/__tests__/executor-prompt.test.js +0 -147
  70. package/dist/core/__tests__/executor-prompt.test.js.map +0 -1
  71. package/dist/core/__tests__/executor-real-scenario.test.d.ts +0 -2
  72. package/dist/core/__tests__/executor-real-scenario.test.d.ts.map +0 -1
  73. package/dist/core/__tests__/executor-real-scenario.test.js +0 -169
  74. package/dist/core/__tests__/executor-real-scenario.test.js.map +0 -1
  75. package/dist/core/__tests__/file-condition.test.d.ts +0 -2
  76. package/dist/core/__tests__/file-condition.test.d.ts.map +0 -1
  77. package/dist/core/__tests__/file-condition.test.js +0 -172
  78. package/dist/core/__tests__/file-condition.test.js.map +0 -1
  79. package/dist/core/__tests__/final-verification.test.d.ts +0 -2
  80. package/dist/core/__tests__/final-verification.test.d.ts.map +0 -1
  81. package/dist/core/__tests__/final-verification.test.js +0 -56
  82. package/dist/core/__tests__/final-verification.test.js.map +0 -1
  83. package/dist/core/__tests__/parallel-when-condition.test.d.ts +0 -2
  84. package/dist/core/__tests__/parallel-when-condition.test.d.ts.map +0 -1
  85. package/dist/core/__tests__/parallel-when-condition.test.js +0 -155
  86. package/dist/core/__tests__/parallel-when-condition.test.js.map +0 -1
  87. package/dist/core/__tests__/parser.test.d.ts +0 -2
  88. package/dist/core/__tests__/parser.test.d.ts.map +0 -1
  89. package/dist/core/__tests__/parser.test.js +0 -91
  90. package/dist/core/__tests__/parser.test.js.map +0 -1
  91. package/dist/core/__tests__/real-inquirer-test.test.d.ts +0 -2
  92. package/dist/core/__tests__/real-inquirer-test.test.d.ts.map +0 -1
  93. package/dist/core/__tests__/real-inquirer-test.test.js +0 -20
  94. package/dist/core/__tests__/real-inquirer-test.test.js.map +0 -1
  95. package/dist/core/__tests__/reproduce-bug.test.d.ts +0 -2
  96. package/dist/core/__tests__/reproduce-bug.test.d.ts.map +0 -1
  97. package/dist/core/__tests__/reproduce-bug.test.js +0 -85
  98. package/dist/core/__tests__/reproduce-bug.test.js.map +0 -1
  99. package/dist/core/__tests__/timeout-retry.test.d.ts +0 -2
  100. package/dist/core/__tests__/timeout-retry.test.d.ts.map +0 -1
  101. package/dist/core/__tests__/timeout-retry.test.js +0 -184
  102. package/dist/core/__tests__/timeout-retry.test.js.map +0 -1
  103. package/dist/core/__tests__/workflow-validation.test.d.ts +0 -2
  104. package/dist/core/__tests__/workflow-validation.test.d.ts.map +0 -1
  105. package/dist/core/__tests__/workflow-validation.test.js +0 -116
  106. package/dist/core/__tests__/workflow-validation.test.js.map +0 -1
  107. package/dist/core/__tests__/workspace.test.d.ts +0 -2
  108. package/dist/core/__tests__/workspace.test.d.ts.map +0 -1
  109. package/dist/core/__tests__/workspace.test.js +0 -29
  110. package/dist/core/__tests__/workspace.test.js.map +0 -1
  111. package/dist/core/__tests__/yaml-integration.test.d.ts +0 -2
  112. package/dist/core/__tests__/yaml-integration.test.d.ts.map +0 -1
  113. package/dist/core/__tests__/yaml-integration.test.js +0 -114
  114. package/dist/core/__tests__/yaml-integration.test.js.map +0 -1
  115. package/dist/core/__tests__/yaml-scenarios.test.d.ts +0 -2
  116. package/dist/core/__tests__/yaml-scenarios.test.d.ts.map +0 -1
  117. package/dist/core/__tests__/yaml-scenarios.test.js +0 -197
  118. package/dist/core/__tests__/yaml-scenarios.test.js.map +0 -1
  119. package/dist/core/condition-evaluator.d.ts +0 -44
  120. package/dist/core/condition-evaluator.d.ts.map +0 -1
  121. package/dist/core/condition-evaluator.js +0 -121
  122. package/dist/core/condition-evaluator.js.map +0 -1
  123. package/dist/core/executor.d.ts +0 -172
  124. package/dist/core/executor.d.ts.map +0 -1
  125. package/dist/core/executor.js +0 -590
  126. package/dist/core/executor.js.map +0 -1
  127. package/dist/core/history.d.ts +0 -51
  128. package/dist/core/history.d.ts.map +0 -1
  129. package/dist/core/history.js +0 -57
  130. package/dist/core/history.js.map +0 -1
  131. package/dist/core/parser.d.ts +0 -41
  132. package/dist/core/parser.d.ts.map +0 -1
  133. package/dist/core/parser.js +0 -206
  134. package/dist/core/parser.js.map +0 -1
  135. package/dist/core/recorder.d.ts +0 -48
  136. package/dist/core/recorder.d.ts.map +0 -1
  137. package/dist/core/recorder.js +0 -56
  138. package/dist/core/recorder.js.map +0 -1
  139. package/dist/core/rust-task-runner.d.ts +0 -14
  140. package/dist/core/rust-task-runner.d.ts.map +0 -1
  141. package/dist/core/rust-task-runner.js +0 -34
  142. package/dist/core/rust-task-runner.js.map +0 -1
  143. package/dist/core/task-runner.d.ts +0 -63
  144. package/dist/core/task-runner.d.ts.map +0 -1
  145. package/dist/core/task-runner.js +0 -259
  146. package/dist/core/task-runner.js.map +0 -1
  147. package/dist/core/template.d.ts +0 -11
  148. package/dist/core/template.d.ts.map +0 -1
  149. package/dist/core/template.js +0 -36
  150. package/dist/core/template.js.map +0 -1
  151. package/dist/core/workflow-schema.d.ts +0 -31
  152. package/dist/core/workflow-schema.d.ts.map +0 -1
  153. package/dist/core/workflow-schema.js +0 -127
  154. package/dist/core/workflow-schema.js.map +0 -1
  155. package/dist/core/workspace.d.ts +0 -90
  156. package/dist/core/workspace.d.ts.map +0 -1
  157. package/dist/core/workspace.js +0 -143
  158. package/dist/core/workspace.js.map +0 -1
  159. package/dist/index.d.ts.map +0 -1
  160. package/dist/index.js.map +0 -1
  161. package/dist/types/condition.d.ts +0 -62
  162. package/dist/types/condition.d.ts.map +0 -1
  163. package/dist/types/condition.js +0 -6
  164. package/dist/types/condition.js.map +0 -1
  165. package/dist/types/workflow.d.ts +0 -90
  166. package/dist/types/workflow.d.ts.map +0 -1
  167. package/dist/types/workflow.js +0 -2
  168. package/dist/types/workflow.js.map +0 -1
@@ -1,147 +0,0 @@
1
- import { readFileSync } from 'fs';
2
- import { describe, it, expect, vi } from 'vitest';
3
- import { parse } from 'yaml';
4
- import { ConditionEvaluator } from '../condition-evaluator';
5
- import { Executor } from '../executor';
6
- // Simulate actual execution
7
- describe('ACTUAL EXECUTION SIMULATION - Must Fix', () => {
8
- it('should execute basic.yaml EXACTLY as real execution', async () => {
9
- // 1. Load YAML file (same as actual)
10
- const content = readFileSync('examples/yaml-examples/basic.yaml', 'utf-8');
11
- const workflow = parse(content);
12
- // 2. Create Executor
13
- const executor = new Executor();
14
- const workspace = executor.workspace;
15
- const choicePrompt = executor.choicePrompt;
16
- const taskRunner = executor.taskRunner;
17
- // 3. Simulate actual execution
18
- const executedCommands = [];
19
- const mockRun = vi.fn().mockImplementation((cmd) => {
20
- executedCommands.push(cmd);
21
- console.log(`[RUN] ${cmd}`);
22
- return Promise.resolve(true);
23
- });
24
- taskRunner.run = mockRun;
25
- // 4. Mock choice prompt (like actual inquirer)
26
- const mockPrompt = vi.fn().mockResolvedValue({ id: 'staging', label: 'Staging' });
27
- choicePrompt.prompt = mockPrompt;
28
- // Mock TextPrompt (prevent timeout)
29
- const textPrompt = executor.textPrompt;
30
- textPrompt.prompt = vi.fn().mockResolvedValue('1.0.0');
31
- // 5. CI environment variable
32
- process.env.CI = 'false';
33
- try {
34
- // 6. Execute
35
- await executor.execute(workflow);
36
- // 7. Verify
37
- console.log('\n=== EXECUTION RESULT ===');
38
- console.log('Executed commands:', executedCommands);
39
- console.log('Workspace choices:', Array.from(workspace.state.choices.entries()));
40
- console.log('Workspace facts:', Array.from(workspace.state.facts.entries()));
41
- // Required verification
42
- expect(executedCommands).toContain('echo "Deploying to staging..."');
43
- expect(executedCommands).not.toContain('echo "Deploying to production..."');
44
- expect(workspace.hasChoice('staging')).toBe(true);
45
- // Verify each step
46
- expect(executedCommands[0]).toBe('echo "Building..."');
47
- expect(executedCommands).toContain('echo "Deploying to staging..."');
48
- console.log('\n✅ ALL CHECKS PASSED');
49
- }
50
- finally {
51
- delete process.env.CI;
52
- }
53
- });
54
- it('should verify choice is set BEFORE next step evaluation', async () => {
55
- const workflow = {
56
- steps: [
57
- {
58
- choose: {
59
- message: 'Choose?',
60
- options: [{ id: 'staging', label: 'Staging' }],
61
- },
62
- },
63
- {
64
- choose: {
65
- message: 'Choose?',
66
- options: [{ id: 'staging', label: 'Staging' }],
67
- as: 'env',
68
- },
69
- },
70
- {
71
- when: {
72
- var: {
73
- env: 'staging',
74
- },
75
- },
76
- run: 'echo "After choice"',
77
- },
78
- ],
79
- };
80
- const executor = new Executor();
81
- const workspace = executor.workspace;
82
- const choicePrompt = executor.choicePrompt;
83
- const taskRunner = executor.taskRunner;
84
- const executedCommands = [];
85
- taskRunner.run = vi.fn().mockImplementation((cmd) => {
86
- executedCommands.push(cmd);
87
- return Promise.resolve(true);
88
- });
89
- choicePrompt.prompt = vi
90
- .fn()
91
- .mockResolvedValueOnce({ id: 'staging', label: 'Staging' })
92
- .mockResolvedValueOnce({ id: 'staging', label: 'Staging' });
93
- await executor.execute(workflow);
94
- // Check if choice is set
95
- expect(workspace.hasChoice('staging')).toBe(true);
96
- expect(executedCommands).toContain('echo "After choice"');
97
- });
98
- it('should manually trace step execution', async () => {
99
- const workflow = {
100
- steps: [
101
- { run: 'step1' },
102
- {
103
- choose: {
104
- message: 'Choose?',
105
- options: [{ id: 'opt1', label: 'Option 1' }],
106
- as: 'choice',
107
- },
108
- },
109
- { when: { var: { choice: 'opt1' } }, run: 'step3' },
110
- ],
111
- };
112
- const executor = new Executor();
113
- const workspace = executor.workspace;
114
- const choicePrompt = executor.choicePrompt;
115
- const taskRunner = executor.taskRunner;
116
- const executedCommands = [];
117
- taskRunner.run = vi.fn().mockImplementation((cmd) => {
118
- executedCommands.push(cmd);
119
- console.log(`Executing: ${cmd}`);
120
- return Promise.resolve(true);
121
- });
122
- choicePrompt.prompt = vi.fn().mockResolvedValue({ id: 'opt1', label: 'Option 1' });
123
- // Step-by-step trace
124
- console.log('\n=== STEP BY STEP TRACE ===');
125
- // Step 0: run
126
- await executor.executeStep(workflow.steps[0], { workspace, stepIndex: 0 });
127
- console.log('After step 0:', workspace.hasFact('fact1'));
128
- // Step 1: choose
129
- await executor.executeChooseStep(workflow.steps[1], { workspace, stepIndex: 1 });
130
- console.log('After step 1 (choose):', workspace.hasChoice('opt1'));
131
- // Step 2: when + run
132
- const step2 = workflow.steps[2];
133
- if (step2 && 'when' in step2 && step2.when) {
134
- const evaluator = new ConditionEvaluator(workspace);
135
- const conditionResult = evaluator.evaluate(step2.when);
136
- console.log('Step 2 condition result:', conditionResult);
137
- if (conditionResult) {
138
- await executor.executeRunStep(step2, { workspace, stepIndex: 2 });
139
- }
140
- }
141
- else if (step2) {
142
- await executor.executeRunStep(step2, { workspace, stepIndex: 2 });
143
- }
144
- expect(executedCommands).toContain('step3');
145
- });
146
- });
147
- //# sourceMappingURL=actual-execution.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"actual-execution.test.js","sourceRoot":"","sources":["../../../src/core/__tests__/actual-execution.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=base-dir.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"base-dir.test.d.ts","sourceRoot":"","sources":["../../../src/core/__tests__/base-dir.test.ts"],"names":[],"mappings":""}
@@ -1,146 +0,0 @@
1
- import { readFileSync } from 'fs';
2
- import { resolve, dirname } from 'path';
3
- import { describe, it, expect, vi, beforeEach } from 'vitest';
4
- import { parse } from 'yaml';
5
- import { Executor } from '../executor';
6
- // Mock TaskRunner
7
- const mockRun = vi.fn().mockResolvedValue(true);
8
- vi.mock('../task-runner.js', () => {
9
- return {
10
- TaskRunner: vi.fn().mockImplementation(() => {
11
- return {
12
- run: mockRun,
13
- };
14
- }),
15
- };
16
- });
17
- // Mock ChoicePrompt, TextPrompt
18
- const mockChoicePrompt = vi.fn();
19
- const mockTextPrompt = vi.fn();
20
- vi.mock('../../cli/prompts.js', () => {
21
- return {
22
- ChoicePrompt: vi.fn().mockImplementation(() => {
23
- return {
24
- prompt: mockChoicePrompt,
25
- };
26
- }),
27
- TextPrompt: vi.fn().mockImplementation(() => {
28
- return {
29
- prompt: mockTextPrompt,
30
- };
31
- }),
32
- };
33
- });
34
- describe('Base Directory Tests', () => {
35
- let executor;
36
- beforeEach(() => {
37
- vi.clearAllMocks();
38
- executor = new Executor();
39
- });
40
- it('should resolve relative baseDir against YAML file directory', async () => {
41
- const yamlContent = `name: Test
42
- baseDir: ./examples
43
- steps:
44
- - run: echo "test"
45
- `;
46
- const workflow = parse(yamlContent);
47
- // Simulate YAML file path
48
- workflow._filePath = resolve(process.cwd(), 'test-workflow.yaml');
49
- await executor.execute(workflow);
50
- // Check that baseDir was resolved correctly
51
- const expectedBaseDir = resolve(process.cwd(), 'examples');
52
- const actualBaseDir = executor.baseDir;
53
- expect(actualBaseDir).toBe(expectedBaseDir);
54
- // Verify command was called with correct cwd
55
- expect(mockRun).toHaveBeenCalled();
56
- const lastCall = mockRun.mock.calls[mockRun.mock.calls.length - 1];
57
- expect(lastCall[8]).toBe(expectedBaseDir); // cwd is 9th parameter (index 8)
58
- });
59
- it('should use absolute baseDir as-is', async () => {
60
- const absolutePath = resolve(process.cwd(), 'examples');
61
- const yamlContent = `name: Test
62
- baseDir: ${absolutePath}
63
- steps:
64
- - run: echo "test"
65
- `;
66
- const workflow = parse(yamlContent);
67
- workflow._filePath = resolve(process.cwd(), 'test-workflow.yaml');
68
- await executor.execute(workflow);
69
- // Check that absolute baseDir was used as-is
70
- const actualBaseDir = executor.baseDir;
71
- expect(actualBaseDir).toBe(absolutePath);
72
- // Verify command was called with correct cwd
73
- expect(mockRun).toHaveBeenCalled();
74
- const lastCall = mockRun.mock.calls[mockRun.mock.calls.length - 1];
75
- expect(lastCall[8]).toBe(absolutePath);
76
- });
77
- it('should fallback to current working directory if _filePath is not set', async () => {
78
- const yamlContent = `name: Test
79
- baseDir: ./examples
80
- steps:
81
- - run: echo "test"
82
- `;
83
- const workflow = parse(yamlContent);
84
- // Don't set _filePath
85
- await executor.execute(workflow);
86
- // Check that baseDir was resolved against cwd
87
- const expectedBaseDir = resolve(process.cwd(), 'examples');
88
- const actualBaseDir = executor.baseDir;
89
- expect(actualBaseDir).toBe(expectedBaseDir);
90
- });
91
- it('should execute commands in baseDir when specified', async () => {
92
- const yamlContent = `name: Test
93
- baseDir: ./examples
94
- steps:
95
- - run: echo "test1"
96
- - run: echo "test2"
97
- `;
98
- const workflow = parse(yamlContent);
99
- workflow._filePath = resolve(process.cwd(), 'test-workflow.yaml');
100
- await executor.execute(workflow);
101
- // All commands should be called with the same baseDir
102
- expect(mockRun).toHaveBeenCalledTimes(2);
103
- const expectedBaseDir = resolve(process.cwd(), 'examples');
104
- mockRun.mock.calls.forEach((call) => {
105
- expect(call[8]).toBe(expectedBaseDir);
106
- });
107
- });
108
- it('should work without baseDir (use current working directory)', async () => {
109
- const yamlContent = `name: Test
110
- steps:
111
- - run: echo "test"
112
- `;
113
- const workflow = parse(yamlContent);
114
- await executor.execute(workflow);
115
- // baseDir should be undefined
116
- const actualBaseDir = executor.baseDir;
117
- expect(actualBaseDir).toBeUndefined();
118
- // Command should be called with undefined cwd (defaults to current dir)
119
- expect(mockRun).toHaveBeenCalled();
120
- const lastCall = mockRun.mock.calls[mockRun.mock.calls.length - 1];
121
- expect(lastCall[8]).toBeUndefined();
122
- });
123
- it('should execute base-dir-example.yaml correctly', async () => {
124
- const yamlContent = readFileSync('examples/yaml-examples/base-dir-example.yaml', 'utf-8');
125
- const workflow = parse(yamlContent);
126
- workflow._filePath = resolve(process.cwd(), 'examples/yaml-examples/base-dir-example.yaml');
127
- await executor.execute(workflow);
128
- // Verify commands were executed
129
- expect(mockRun).toHaveBeenCalledTimes(2);
130
- // Verify baseDir was resolved correctly
131
- // baseDir is relative to YAML file directory, so it should be examples/examples
132
- // But since YAML file is in examples/, and baseDir is ./examples, it resolves to examples/examples
133
- // Actually, baseDir: ./examples means "examples directory relative to YAML file location"
134
- // Since YAML is in examples/, ./examples resolves to examples/examples
135
- // But the test expects examples/, so let's check what actually happens
136
- const yamlDir = dirname(workflow._filePath);
137
- const expectedBaseDir = resolve(yamlDir, 'examples');
138
- const actualBaseDir = executor.baseDir;
139
- expect(actualBaseDir).toBe(expectedBaseDir);
140
- // Verify all commands used the correct cwd
141
- mockRun.mock.calls.forEach((call) => {
142
- expect(call[8]).toBe(expectedBaseDir);
143
- });
144
- });
145
- });
146
- //# sourceMappingURL=base-dir.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"base-dir.test.js","sourceRoot":"","sources":["../../../src/core/__tests__/base-dir.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=built-code-execution.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"built-code-execution.test.d.ts","sourceRoot":"","sources":["../../../src/core/__tests__/built-code-execution.test.ts"],"names":[],"mappings":""}
@@ -1,48 +0,0 @@
1
- import { execSync } from 'child_process';
2
- import { writeFileSync, unlinkSync } from 'fs';
3
- import { describe, it, expect } from 'vitest';
4
- import { parse } from 'yaml';
5
- // Test that executes actual built code
6
- describe('BUILT CODE EXECUTION - Real Environment', () => {
7
- it('should execute basic.yaml using built CLI code', async () => {
8
- // Check build
9
- try {
10
- execSync('pnpm build', { stdio: 'pipe' });
11
- }
12
- catch (_e) {
13
- // May already be built
14
- }
15
- // Create test YAML file (automated input)
16
- const testYaml = `name: Test Workflow
17
- steps:
18
- - run: echo "Step 1"
19
- - choose:
20
- message: "Choose option"
21
- options:
22
- - id: staging
23
- label: "Staging"
24
- - id: prod
25
- label: "Production"
26
- as: env
27
- - when:
28
- var:
29
- env: staging
30
- run: echo "Staging selected"
31
- - when:
32
- var:
33
- env: prod
34
- run: echo "Prod selected"
35
- `;
36
- writeFileSync('/tmp/test-workflow.yaml', testYaml);
37
- // Skip actual execution as it requires inquirer
38
- // Instead verify code logic
39
- const workflow = parse(testYaml);
40
- expect(workflow.steps.length).toBe(4);
41
- expect(workflow.steps[2]).toHaveProperty('when');
42
- expect(workflow.steps[2].when).toHaveProperty('var');
43
- expect(workflow.steps[2].when.var).toHaveProperty('env', 'staging');
44
- // cleanup
45
- unlinkSync('/tmp/test-workflow.yaml');
46
- });
47
- });
48
- //# sourceMappingURL=built-code-execution.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"built-code-execution.test.js","sourceRoot":"","sources":["../../../src/core/__tests__/built-code-execution.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,KAAK,EAAE,MAAM,MAAM,CAAC;AAE7B,uCAAuC;AACvC,QAAQ,CAAC,yCAAyC,EAAE,GAAG,EAAE;IACvD,EAAE,CAAC,gDAAgD,EAAE,KAAK,IAAI,EAAE;QAC9D,cAAc;QACd,IAAI,CAAC;YACH,QAAQ,CAAC,YAAY,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QAC5C,CAAC;QAAC,OAAO,EAAE,EAAE,CAAC;YACZ,uBAAuB;QACzB,CAAC;QAED,0CAA0C;QAC1C,MAAM,QAAQ,GAAG;;;;;;;;;;;;;;;;;;;CAmBpB,CAAC;QAEE,aAAa,CAAC,yBAAyB,EAAE,QAAQ,CAAC,CAAC;QAEnD,gDAAgD;QAChD,4BAA4B;QAC5B,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;QACjC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACtC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QACjD,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QACrD,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,cAAc,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAEpE,UAAU;QACV,UAAU,CAAC,yBAAyB,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=choose-as-var-condition.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"choose-as-var-condition.test.d.ts","sourceRoot":"","sources":["../../../src/core/__tests__/choose-as-var-condition.test.ts"],"names":[],"mappings":""}