yargs-file-commands 1.1.1 → 1.2.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 (39) hide show
  1. package/README.md +23 -0
  2. package/dist/index.d.ts +1 -1
  3. package/dist/index.js +1 -1
  4. package/dist/index.js.map +1 -1
  5. package/dist/lib/fileCommands.d.ts +2 -0
  6. package/dist/lib/fileCommands.js +9 -1
  7. package/dist/lib/fileCommands.js.map +1 -1
  8. package/dist/lib/validatePositionals.d.ts +26 -0
  9. package/dist/lib/validatePositionals.js +104 -0
  10. package/dist/lib/validatePositionals.js.map +1 -0
  11. package/dist/tsconfig.tsbuildinfo +1 -1
  12. package/package.json +1 -9
  13. package/dist/lib/buildSegmentTree.test.d.ts +0 -1
  14. package/dist/lib/buildSegmentTree.test.js +0 -323
  15. package/dist/lib/buildSegmentTree.test.js.map +0 -1
  16. package/dist/lib/fileCommands.test.d.ts +0 -1
  17. package/dist/lib/fileCommands.test.js +0 -113
  18. package/dist/lib/fileCommands.test.js.map +0 -1
  19. package/dist/lib/fixtures/commands/$default.d.ts +0 -2
  20. package/dist/lib/fixtures/commands/$default.js +0 -5
  21. package/dist/lib/fixtures/commands/$default.js.map +0 -1
  22. package/dist/lib/fixtures/commands/create.d.ts +0 -3
  23. package/dist/lib/fixtures/commands/create.js +0 -6
  24. package/dist/lib/fixtures/commands/create.js.map +0 -1
  25. package/dist/lib/fixtures/commands/db/health.d.ts +0 -4
  26. package/dist/lib/fixtures/commands/db/health.js +0 -6
  27. package/dist/lib/fixtures/commands/db/health.js.map +0 -1
  28. package/dist/lib/fixtures/commands/db/migration/command.d.ts +0 -10
  29. package/dist/lib/fixtures/commands/db/migration/command.js +0 -9
  30. package/dist/lib/fixtures/commands/db/migration/command.js.map +0 -1
  31. package/dist/lib/importCommand.test.d.ts +0 -1
  32. package/dist/lib/importCommand.test.js +0 -165
  33. package/dist/lib/importCommand.test.js.map +0 -1
  34. package/dist/lib/scanDirectory.test.d.ts +0 -1
  35. package/dist/lib/scanDirectory.test.js +0 -169
  36. package/dist/lib/scanDirectory.test.js.map +0 -1
  37. package/dist/lib/segmentPath.test.d.ts +0 -1
  38. package/dist/lib/segmentPath.test.js +0 -33
  39. package/dist/lib/segmentPath.test.js.map +0 -1
@@ -1,323 +0,0 @@
1
- import { describe, expect, it, vi } from 'vitest';
2
- import { buildSegmentTree, createCommand, logCommandTree } from './buildSegmentTree.js';
3
- describe('buildSegmentTree', () => {
4
- it('should build correct tree structure', () => {
5
- const commands = [
6
- {
7
- fullPath: '/commands/db/migration/command.js',
8
- segments: ['db', 'migration'],
9
- commandModule: {
10
- command: 'migration',
11
- describe: 'Migration command',
12
- handler: async () => {
13
- // Test handler
14
- },
15
- },
16
- },
17
- {
18
- fullPath: '/commands/db/health.js',
19
- segments: ['db', 'health'],
20
- commandModule: {
21
- command: 'health',
22
- describe: 'Health command',
23
- handler: async () => {
24
- // Test handler
25
- },
26
- },
27
- },
28
- ];
29
- const tree = buildSegmentTree(commands);
30
- expect(tree.length).toBe(1);
31
- const rootNode = tree[0];
32
- expect(rootNode).toBeDefined();
33
- if (!rootNode) {
34
- throw new Error('Root node should exist');
35
- }
36
- expect(rootNode.segmentName).toBe('db');
37
- expect(rootNode.type).toBe('internal');
38
- if (rootNode.type !== 'internal') {
39
- throw new Error('Expected internal node');
40
- }
41
- expect(rootNode.children.length).toBe(2);
42
- const childSegments = rootNode.children.map((child) => child.segmentName).sort();
43
- expect(childSegments).toEqual(['health', 'migration']);
44
- });
45
- it('should handle empty input', () => {
46
- const tree = buildSegmentTree([]);
47
- expect(tree.length).toBe(0);
48
- });
49
- it('should handle single command', () => {
50
- const commands = [
51
- {
52
- fullPath: '/commands/test.ts',
53
- segments: ['test'],
54
- commandModule: {
55
- command: 'test',
56
- describe: 'Test command',
57
- handler: async () => {
58
- // Test handler
59
- },
60
- },
61
- },
62
- ];
63
- const tree = buildSegmentTree(commands);
64
- expect(tree.length).toBe(1);
65
- const node = tree[0];
66
- expect(node).toBeDefined();
67
- if (!node) {
68
- throw new Error('Node should exist');
69
- }
70
- expect(node.segmentName).toBe('test');
71
- expect(node.type).toBe('leaf');
72
- });
73
- it('should throw error when directory conflicts with command name (directory first)', () => {
74
- const commands = [
75
- {
76
- fullPath: '/commands/db/migration/command.js',
77
- segments: ['db', 'migration'],
78
- commandModule: {
79
- command: 'migration',
80
- describe: 'Migration command',
81
- handler: async () => { },
82
- },
83
- },
84
- {
85
- fullPath: '/commands/db.js',
86
- segments: ['db'],
87
- commandModule: {
88
- command: 'db',
89
- describe: 'DB command',
90
- handler: async () => { },
91
- },
92
- },
93
- ];
94
- expect(() => buildSegmentTree(commands)).toThrow(/Conflict: db is both a directory and a command/);
95
- });
96
- it('should throw error when directory conflicts with command name (command first)', () => {
97
- const commands = [
98
- {
99
- fullPath: '/commands/db.js',
100
- segments: ['db'],
101
- commandModule: {
102
- command: 'db',
103
- describe: 'DB command',
104
- handler: async () => { },
105
- },
106
- },
107
- {
108
- fullPath: '/commands/db/migration/command.js',
109
- segments: ['db', 'migration'],
110
- commandModule: {
111
- command: 'migration',
112
- describe: 'Migration command',
113
- handler: async () => { },
114
- },
115
- },
116
- ];
117
- expect(() => buildSegmentTree(commands)).toThrow(/Conflict: db is both a directory and a command/);
118
- });
119
- it('should handle multiple root commands', () => {
120
- const commands = [
121
- {
122
- fullPath: '/commands/hello.ts',
123
- segments: ['hello'],
124
- commandModule: {
125
- command: 'hello',
126
- describe: 'Hello command',
127
- handler: async () => { },
128
- },
129
- },
130
- {
131
- fullPath: '/commands/world.ts',
132
- segments: ['world'],
133
- commandModule: {
134
- command: 'world',
135
- describe: 'World command',
136
- handler: async () => { },
137
- },
138
- },
139
- ];
140
- const tree = buildSegmentTree(commands);
141
- expect(tree.length).toBe(2);
142
- expect(tree.map((n) => n.segmentName).sort()).toEqual(['hello', 'world']);
143
- });
144
- it('should handle nested commands at different depths', () => {
145
- const commands = [
146
- {
147
- fullPath: '/commands/a/b/c.ts',
148
- segments: ['a', 'b', 'c'],
149
- commandModule: {
150
- command: 'c',
151
- describe: 'C command',
152
- handler: async () => { },
153
- },
154
- },
155
- {
156
- fullPath: '/commands/a/d.ts',
157
- segments: ['a', 'd'],
158
- commandModule: {
159
- command: 'd',
160
- describe: 'D command',
161
- handler: async () => { },
162
- },
163
- },
164
- ];
165
- const tree = buildSegmentTree(commands);
166
- expect(tree.length).toBe(1);
167
- expect(tree[0]?.segmentName).toBe('a');
168
- if (tree[0]?.type === 'internal') {
169
- expect(tree[0].children.length).toBe(2);
170
- const childNames = tree[0].children.map((c) => c.segmentName).sort();
171
- expect(childNames).toEqual(['b', 'd']);
172
- const bNode = tree[0].children.find((c) => c.segmentName === 'b');
173
- if (bNode?.type === 'internal') {
174
- expect(bNode.children.length).toBe(1);
175
- expect(bNode.children[0]?.segmentName).toBe('c');
176
- expect(bNode.children[0]?.type).toBe('leaf');
177
- }
178
- }
179
- });
180
- });
181
- describe('createCommand', () => {
182
- it('should create command module from leaf node', () => {
183
- const command = {
184
- fullPath: '/commands/test.ts',
185
- segments: ['test'],
186
- commandModule: {
187
- command: 'test',
188
- describe: 'Test command',
189
- handler: async () => {
190
- // Test handler
191
- },
192
- },
193
- };
194
- const treeNode = {
195
- type: 'leaf',
196
- segmentName: 'test',
197
- command,
198
- };
199
- const commandModule = createCommand(treeNode);
200
- expect(commandModule.command).toBe('test');
201
- expect(commandModule.describe).toBe('Test command');
202
- expect(commandModule.handler).toBe(command.commandModule.handler);
203
- });
204
- it('should create command module from internal node with children', () => {
205
- const childCommand = {
206
- fullPath: '/commands/db/health.ts',
207
- segments: ['db', 'health'],
208
- commandModule: {
209
- command: 'health',
210
- describe: 'Health check',
211
- handler: async () => { },
212
- },
213
- };
214
- const childTreeNode = {
215
- type: 'leaf',
216
- segmentName: 'health',
217
- command: childCommand,
218
- };
219
- const internalTreeNode = {
220
- type: 'internal',
221
- segmentName: 'db',
222
- children: [childTreeNode],
223
- };
224
- const commandModule = createCommand(internalTreeNode);
225
- expect(commandModule.command).toBe('db');
226
- expect(commandModule.describe).toBe('db commands');
227
- expect(commandModule.builder).toBeDefined();
228
- expect(commandModule.handler).toBeDefined();
229
- });
230
- it('should create nested command structure with builder', () => {
231
- const healthCommand = {
232
- fullPath: '/commands/db/health.ts',
233
- segments: ['db', 'health'],
234
- commandModule: {
235
- command: 'health',
236
- describe: 'Health check',
237
- handler: async () => { },
238
- },
239
- };
240
- const migrationCommand = {
241
- fullPath: '/commands/db/migration.ts',
242
- segments: ['db', 'migration'],
243
- commandModule: {
244
- command: 'migration',
245
- describe: 'Migration',
246
- handler: async () => { },
247
- },
248
- };
249
- const tree = buildSegmentTree([healthCommand, migrationCommand]);
250
- const dbNode = tree[0];
251
- if (!dbNode || dbNode.type !== 'internal') {
252
- throw new Error('Expected internal node');
253
- }
254
- const commandModule = createCommand(dbNode);
255
- expect(commandModule.command).toBe('db');
256
- expect(commandModule.builder).toBeDefined();
257
- // Test the builder function
258
- if (commandModule.builder && typeof commandModule.builder === 'function') {
259
- const mockYargs = {
260
- command: vi.fn().mockReturnThis(),
261
- demandCommand: vi.fn().mockReturnThis(),
262
- };
263
- commandModule.builder(mockYargs);
264
- expect(mockYargs.command).toHaveBeenCalledTimes(1);
265
- expect(mockYargs.demandCommand).toHaveBeenCalledWith(1, 'You must specify a db subcommand');
266
- }
267
- });
268
- });
269
- describe('logCommandTree', () => {
270
- it('should log command tree structure', () => {
271
- const consoleSpy = vi.spyOn(console, 'debug').mockImplementation(() => { });
272
- const commands = [
273
- {
274
- fullPath: '/commands/db/health.ts',
275
- segments: ['db', 'health'],
276
- commandModule: {
277
- command: 'health',
278
- describe: 'Health',
279
- handler: async () => { },
280
- },
281
- },
282
- {
283
- fullPath: '/commands/hello.ts',
284
- segments: ['hello'],
285
- commandModule: {
286
- command: 'hello',
287
- describe: 'Hello',
288
- handler: async () => { },
289
- },
290
- },
291
- ];
292
- const tree = buildSegmentTree(commands);
293
- logCommandTree(tree);
294
- expect(consoleSpy).toHaveBeenCalled();
295
- const calls = consoleSpy.mock.calls.map((call) => call[0]);
296
- expect(calls.some((call) => call.includes('db'))).toBe(true);
297
- expect(calls.some((call) => call.includes('health'))).toBe(true);
298
- expect(calls.some((call) => call.includes('hello'))).toBe(true);
299
- consoleSpy.mockRestore();
300
- });
301
- it('should log command tree with correct indentation levels', () => {
302
- const consoleSpy = vi.spyOn(console, 'debug').mockImplementation(() => { });
303
- const commands = [
304
- {
305
- fullPath: '/commands/a/b/c.ts',
306
- segments: ['a', 'b', 'c'],
307
- commandModule: {
308
- command: 'c',
309
- describe: 'C',
310
- handler: async () => { },
311
- },
312
- },
313
- ];
314
- const tree = buildSegmentTree(commands);
315
- logCommandTree(tree, 2);
316
- expect(consoleSpy).toHaveBeenCalled();
317
- const calls = consoleSpy.mock.calls.map((call) => call[0]);
318
- // Check for indentation (initial level 2 = 4 spaces, then children add more)
319
- expect(calls.length).toBeGreaterThan(0);
320
- consoleSpy.mockRestore();
321
- });
322
- });
323
- //# sourceMappingURL=buildSegmentTree.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"buildSegmentTree.test.js","sourceRoot":"","sources":["../../src/lib/buildSegmentTree.test.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,113 +0,0 @@
1
- import { mkdir, rm, writeFile } from 'node:fs/promises';
2
- import { tmpdir } from 'node:os';
3
- import path from 'node:path';
4
- import { describe, expect, it } from 'vitest';
5
- import { fileCommands } from './fileCommands.js';
6
- // get __dirname in ESM style
7
- const __dirname = path.dirname(new URL(import.meta.url).pathname);
8
- describe('fileCommands', () => {
9
- it('should load commands from directory structure', async () => {
10
- const commands = await fileCommands({
11
- commandDirs: [path.join(__dirname, 'fixtures', 'commands')],
12
- logLevel: 'debug',
13
- });
14
- expect(commands.length).toBeGreaterThan(0);
15
- });
16
- it('should respect ignore patterns', async () => {
17
- const commands = await fileCommands({
18
- commandDirs: [path.join(__dirname, 'fixtures', 'commands')],
19
- ignorePatterns: [/health/, /.d.ts/],
20
- logLevel: 'debug',
21
- });
22
- expect(commands.length).toBeGreaterThan(0);
23
- });
24
- it('should handle explicit commands and default command', async () => {
25
- const commands = await fileCommands({
26
- commandDirs: [path.join(__dirname, 'fixtures', 'commands')],
27
- logLevel: 'debug',
28
- });
29
- console.log('commands', JSON.stringify(commands.map((c) => c.command), null, 2));
30
- // Find the explicit command
31
- const explicitCommand = commands.find((cmd) => cmd.command?.toString().includes('create [name]'));
32
- expect(explicitCommand).toBeDefined();
33
- expect(explicitCommand?.describe).toBe('Create something with a name');
34
- // Find the default command
35
- const defaultCommand = commands.find((cmd) => cmd.command === '$0');
36
- expect(defaultCommand).toBeDefined();
37
- expect(defaultCommand?.describe).toBe('Default command');
38
- });
39
- it('should throw error for invalid extensions (missing dot)', async () => {
40
- await expect(fileCommands({
41
- commandDirs: [path.join(__dirname, 'fixtures', 'commands')],
42
- extensions: ['js', 'ts'], // Missing dots
43
- })).rejects.toThrow(/Invalid extensions provided, must start with a dot/);
44
- });
45
- it('should throw error for empty command directories', async () => {
46
- await expect(fileCommands({
47
- commandDirs: [],
48
- })).rejects.toThrow(/No command directories provided/);
49
- });
50
- it('should throw error for non-absolute directory paths', async () => {
51
- await expect(fileCommands({
52
- commandDirs: ['relative/path'], // Relative path
53
- })).rejects.toThrow(/Command directories must be absolute paths/);
54
- });
55
- it('should throw error for non-absolute directory paths (multiple)', async () => {
56
- await expect(fileCommands({
57
- commandDirs: [path.join(__dirname, 'fixtures', 'commands'), 'relative/path', 'another/relative'],
58
- })).rejects.toThrow(/Command directories must be absolute paths/);
59
- await expect(fileCommands({
60
- commandDirs: [path.join(__dirname, 'fixtures', 'commands'), 'relative/path', 'another/relative'],
61
- })).rejects.toThrow(/relative\/path, another\/relative/);
62
- });
63
- it('should throw error when no commands found', async () => {
64
- // Create a temporary empty directory
65
- // Use a unique timestamp to avoid collisions with other tests
66
- const tempDir = path.join(tmpdir(), `yargs-empty-test-${Date.now()}-${Math.random().toString(36).slice(2)}`);
67
- await mkdir(tempDir, { recursive: true });
68
- try {
69
- // Ensure directory is truly empty (system files like .DS_Store are automatically ignored)
70
- await expect(fileCommands({
71
- commandDirs: [tempDir],
72
- extensions: ['.js', '.ts'], // Only look for JS/TS files
73
- })).rejects.toThrow(/No commands found in specified directories/);
74
- }
75
- finally {
76
- await rm(tempDir, { recursive: true, force: true });
77
- }
78
- });
79
- it('should handle multiple command directories', async () => {
80
- const tempDir1 = path.join(tmpdir(), `yargs-test-1-${Date.now()}`);
81
- const tempDir2 = path.join(tmpdir(), `yargs-test-2-${Date.now()}`);
82
- await mkdir(tempDir1, { recursive: true });
83
- await mkdir(tempDir2, { recursive: true });
84
- try {
85
- // Create a command file in each directory
86
- await writeFile(path.join(tempDir1, 'cmd1.ts'), "export const describe = 'Command 1';\nexport const handler = async () => {};");
87
- await writeFile(path.join(tempDir2, 'cmd2.ts'), "export const describe = 'Command 2';\nexport const handler = async () => {};");
88
- const commands = await fileCommands({
89
- commandDirs: [tempDir1, tempDir2],
90
- });
91
- expect(commands.length).toBeGreaterThanOrEqual(2);
92
- }
93
- finally {
94
- await rm(tempDir1, { recursive: true, force: true });
95
- await rm(tempDir2, { recursive: true, force: true });
96
- }
97
- });
98
- it('should use default options when not provided', async () => {
99
- const commands = await fileCommands({
100
- commandDirs: [path.join(__dirname, 'fixtures', 'commands')],
101
- // No other options provided - should use defaults
102
- });
103
- expect(commands.length).toBeGreaterThan(0);
104
- });
105
- it('should handle custom extensions', async () => {
106
- const commands = await fileCommands({
107
- commandDirs: [path.join(__dirname, 'fixtures', 'commands')],
108
- extensions: ['.ts'], // Only TypeScript files
109
- });
110
- expect(commands.length).toBeGreaterThan(0);
111
- });
112
- });
113
- //# sourceMappingURL=fileCommands.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"fileCommands.test.js","sourceRoot":"","sources":["../../src/lib/fileCommands.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAE9C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,6BAA6B;AAC7B,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;AAElE,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE,CAAC;IAC7B,EAAE,CAAC,+CAA+C,EAAE,KAAK,IAAI,EAAE,CAAC;QAC9D,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC;YAClC,WAAW,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;YAC3D,QAAQ,EAAE,OAAO;SAClB,CAAC,CAAC;QAEH,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;IAAA,CAC5C,CAAC,CAAC;IAEH,EAAE,CAAC,gCAAgC,EAAE,KAAK,IAAI,EAAE,CAAC;QAC/C,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC;YAClC,WAAW,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;YAC3D,cAAc,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC;YACnC,QAAQ,EAAE,OAAO;SAClB,CAAC,CAAC;QAEH,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;IAAA,CAC5C,CAAC,CAAC;IAEH,EAAE,CAAC,qDAAqD,EAAE,KAAK,IAAI,EAAE,CAAC;QACpE,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC;YAClC,WAAW,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;YAC3D,QAAQ,EAAE,OAAO;SAClB,CAAC,CAAC;QAEH,OAAO,CAAC,GAAG,CACT,UAAU,EACV,IAAI,CAAC,SAAS,CACZ,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EAC9B,IAAI,EACJ,CAAC,CACF,CACF,CAAC;QACF,4BAA4B;QAC5B,MAAM,eAAe,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC;QAClG,MAAM,CAAC,eAAe,CAAC,CAAC,WAAW,EAAE,CAAC;QACtC,MAAM,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;QAEvE,2BAA2B;QAC3B,MAAM,cAAc,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC;QACpE,MAAM,CAAC,cAAc,CAAC,CAAC,WAAW,EAAE,CAAC;QACrC,MAAM,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAAA,CAC1D,CAAC,CAAC;IAEH,EAAE,CAAC,yDAAyD,EAAE,KAAK,IAAI,EAAE,CAAC;QACxE,MAAM,MAAM,CACV,YAAY,CAAC;YACX,WAAW,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;YAC3D,UAAU,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,eAAe;SAC1C,CAAC,CACH,CAAC,OAAO,CAAC,OAAO,CAAC,oDAAoD,CAAC,CAAC;IAAA,CACzE,CAAC,CAAC;IAEH,EAAE,CAAC,kDAAkD,EAAE,KAAK,IAAI,EAAE,CAAC;QACjE,MAAM,MAAM,CACV,YAAY,CAAC;YACX,WAAW,EAAE,EAAE;SAChB,CAAC,CACH,CAAC,OAAO,CAAC,OAAO,CAAC,iCAAiC,CAAC,CAAC;IAAA,CACtD,CAAC,CAAC;IAEH,EAAE,CAAC,qDAAqD,EAAE,KAAK,IAAI,EAAE,CAAC;QACpE,MAAM,MAAM,CACV,YAAY,CAAC;YACX,WAAW,EAAE,CAAC,eAAe,CAAC,EAAE,gBAAgB;SACjD,CAAC,CACH,CAAC,OAAO,CAAC,OAAO,CAAC,4CAA4C,CAAC,CAAC;IAAA,CACjE,CAAC,CAAC;IAEH,EAAE,CAAC,gEAAgE,EAAE,KAAK,IAAI,EAAE,CAAC;QAC/E,MAAM,MAAM,CACV,YAAY,CAAC;YACX,WAAW,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,EAAE,UAAU,CAAC,EAAE,eAAe,EAAE,kBAAkB,CAAC;SACjG,CAAC,CACH,CAAC,OAAO,CAAC,OAAO,CAAC,4CAA4C,CAAC,CAAC;QAChE,MAAM,MAAM,CACV,YAAY,CAAC;YACX,WAAW,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,EAAE,UAAU,CAAC,EAAE,eAAe,EAAE,kBAAkB,CAAC;SACjG,CAAC,CACH,CAAC,OAAO,CAAC,OAAO,CAAC,mCAAmC,CAAC,CAAC;IAAA,CACxD,CAAC,CAAC;IAEH,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE,CAAC;QAC1D,qCAAqC;QACrC,8DAA8D;QAC9D,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,oBAAoB,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC7G,MAAM,KAAK,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAE1C,IAAI,CAAC;YACH,0FAA0F;YAC1F,MAAM,MAAM,CACV,YAAY,CAAC;gBACX,WAAW,EAAE,CAAC,OAAO,CAAC;gBACtB,UAAU,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,4BAA4B;aACzD,CAAC,CACH,CAAC,OAAO,CAAC,OAAO,CAAC,4CAA4C,CAAC,CAAC;QAClE,CAAC;gBAAS,CAAC;YACT,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACtD,CAAC;IAAA,CACF,CAAC,CAAC;IAEH,EAAE,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE,CAAC;QAC3D,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,gBAAgB,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACnE,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,gBAAgB,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACnE,MAAM,KAAK,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3C,MAAM,KAAK,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAE3C,IAAI,CAAC;YACH,0CAA0C;YAC1C,MAAM,SAAS,CACb,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,EAC9B,8EAA8E,CAC/E,CAAC;YACF,MAAM,SAAS,CACb,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,EAC9B,8EAA8E,CAC/E,CAAC;YAEF,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC;gBAClC,WAAW,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;aAClC,CAAC,CAAC;YAEH,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC;QACpD,CAAC;gBAAS,CAAC;YACT,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YACrD,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACvD,CAAC;IAAA,CACF,CAAC,CAAC;IAEH,EAAE,CAAC,8CAA8C,EAAE,KAAK,IAAI,EAAE,CAAC;QAC7D,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC;YAClC,WAAW,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;YAC3D,kDAAkD;SACnD,CAAC,CAAC;QAEH,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;IAAA,CAC5C,CAAC,CAAC;IAEH,EAAE,CAAC,iCAAiC,EAAE,KAAK,IAAI,EAAE,CAAC;QAChD,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC;YAClC,WAAW,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;YAC3D,UAAU,EAAE,CAAC,KAAK,CAAC,EAAE,wBAAwB;SAC9C,CAAC,CAAC;QAEH,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;IAAA,CAC5C,CAAC,CAAC;AAAA,CACJ,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- export declare const describe = "Default command";
2
- export declare const handler: () => Promise<void>;
@@ -1,5 +0,0 @@
1
- export const describe = 'Default command';
2
- export const handler = async () => {
3
- // Default command implementation
4
- };
5
- //# sourceMappingURL=$default.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"$default.js","sourceRoot":"","sources":["../../../../src/lib/fixtures/commands/$default.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,QAAQ,GAAG,iBAAiB,CAAC;AAE1C,MAAM,CAAC,MAAM,OAAO,GAAG,KAAK,IAAI,EAAE,CAAC;IACjC,iCAAiC;AADC,CAEnC,CAAC"}
@@ -1,3 +0,0 @@
1
- export declare const command = "create [name]";
2
- export declare const describe = "Create something with a name";
3
- export declare const handler: () => Promise<void>;
@@ -1,6 +0,0 @@
1
- export const command = 'create [name]';
2
- export const describe = 'Create something with a name';
3
- export const handler = async () => {
4
- // Create command implementation
5
- };
6
- //# sourceMappingURL=create.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"create.js","sourceRoot":"","sources":["../../../../src/lib/fixtures/commands/create.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,OAAO,GAAG,eAAe,CAAC;AACvC,MAAM,CAAC,MAAM,QAAQ,GAAG,8BAA8B,CAAC;AAEvD,MAAM,CAAC,MAAM,OAAO,GAAG,KAAK,IAAI,EAAE,CAAC;IACjC,gCAAgC;AADE,CAEnC,CAAC"}
@@ -1,4 +0,0 @@
1
- import type { Argv } from 'yargs';
2
- export declare const describe = "Database health check";
3
- export declare const builder: (yargs: Argv<{}>) => Argv<{}>;
4
- export declare const handler: () => Promise<void>;
@@ -1,6 +0,0 @@
1
- export const describe = 'Database health check';
2
- export const builder = (yargs) => yargs;
3
- export const handler = async () => {
4
- console.log('Health check handler called');
5
- };
6
- //# sourceMappingURL=health.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"health.js","sourceRoot":"","sources":["../../../../../src/lib/fixtures/commands/db/health.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,QAAQ,GAAG,uBAAuB,CAAC;AAEhD,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,KAAW,EAAE,EAAE,CAAC,KAAK,CAAC;AAE9C,MAAM,CAAC,MAAM,OAAO,GAAG,KAAK,IAAI,EAAE,CAAC;IACjC,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;AAAA,CAC5C,CAAC"}
@@ -1,10 +0,0 @@
1
- import type { ArgumentsCamelCase, Argv } from 'yargs';
2
- export declare const describe = "Database migration command";
3
- export declare const builder: (yargs: Argv<{}>) => Argv<{
4
- force: boolean | undefined;
5
- }>;
6
- type Options = {
7
- force?: boolean;
8
- };
9
- export declare const handler: (_argv: ArgumentsCamelCase<Options>) => Promise<void>;
10
- export {};
@@ -1,9 +0,0 @@
1
- export const describe = 'Database migration command';
2
- export const builder = (yargs) => yargs.option('force', {
3
- type: 'boolean',
4
- describe: 'Force migration',
5
- });
6
- export const handler = async (_argv) => {
7
- console.log('Migration handler called');
8
- };
9
- //# sourceMappingURL=command.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"command.js","sourceRoot":"","sources":["../../../../../../src/lib/fixtures/commands/db/migration/command.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,QAAQ,GAAG,4BAA4B,CAAC;AAErD,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,KAAW,EAAE,EAAE,CACrC,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE;IACpB,IAAI,EAAE,SAAS;IACf,QAAQ,EAAE,iBAAiB;CAC5B,CAAC,CAAC;AAML,MAAM,CAAC,MAAM,OAAO,GAAG,KAAK,EAAE,KAAkC,EAAE,EAAE,CAAC;IACnE,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;AAAA,CACzC,CAAC"}
@@ -1 +0,0 @@
1
- export {};