@memberjunction/cli 3.4.0 → 4.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.
- package/README.md +172 -832
- package/bin/dev.js +5 -6
- package/bin/run.js +14 -5
- package/dist/commands/ai/actions/list.d.ts +1 -0
- package/dist/commands/ai/actions/list.d.ts.map +1 -0
- package/dist/commands/ai/actions/list.js +14 -19
- package/dist/commands/ai/actions/list.js.map +1 -0
- package/dist/commands/ai/actions/run.d.ts +2 -1
- package/dist/commands/ai/actions/run.d.ts.map +1 -0
- package/dist/commands/ai/actions/run.js +24 -29
- package/dist/commands/ai/actions/run.js.map +1 -0
- package/dist/commands/ai/agents/list.d.ts +1 -0
- package/dist/commands/ai/agents/list.d.ts.map +1 -0
- package/dist/commands/ai/agents/list.js +14 -19
- package/dist/commands/ai/agents/list.js.map +1 -0
- package/dist/commands/ai/agents/run.d.ts +2 -1
- package/dist/commands/ai/agents/run.d.ts.map +1 -0
- package/dist/commands/ai/agents/run.js +20 -25
- package/dist/commands/ai/agents/run.js.map +1 -0
- package/dist/commands/ai/audit/agent-run.d.ts +7 -6
- package/dist/commands/ai/audit/agent-run.d.ts.map +1 -0
- package/dist/commands/ai/audit/agent-run.js +35 -63
- package/dist/commands/ai/audit/agent-run.js.map +1 -0
- package/dist/commands/ai/audit/index.d.ts +1 -0
- package/dist/commands/ai/audit/index.d.ts.map +1 -0
- package/dist/commands/ai/audit/index.js +5 -7
- package/dist/commands/ai/audit/index.js.map +1 -0
- package/dist/commands/ai/index.d.ts +1 -0
- package/dist/commands/ai/index.d.ts.map +1 -0
- package/dist/commands/ai/index.js +5 -7
- package/dist/commands/ai/index.js.map +1 -0
- package/dist/commands/ai/prompts/list.d.ts +1 -0
- package/dist/commands/ai/prompts/list.d.ts.map +1 -0
- package/dist/commands/ai/prompts/list.js +18 -23
- package/dist/commands/ai/prompts/list.js.map +1 -0
- package/dist/commands/ai/prompts/run.d.ts +6 -5
- package/dist/commands/ai/prompts/run.d.ts.map +1 -0
- package/dist/commands/ai/prompts/run.js +22 -27
- package/dist/commands/ai/prompts/run.js.map +1 -0
- package/dist/commands/bump/index.d.ts +2 -1
- package/dist/commands/bump/index.d.ts.map +1 -0
- package/dist/commands/bump/index.js +24 -52
- package/dist/commands/bump/index.js.map +1 -0
- package/dist/commands/clean/index.d.ts +3 -2
- package/dist/commands/clean/index.d.ts.map +1 -0
- package/dist/commands/clean/index.js +16 -22
- package/dist/commands/clean/index.js.map +1 -0
- package/dist/commands/codegen/index.d.ts +3 -2
- package/dist/commands/codegen/index.d.ts.map +1 -0
- package/dist/commands/codegen/index.js +14 -17
- package/dist/commands/codegen/index.js.map +1 -0
- package/dist/commands/codegen/manifest.d.ts +5 -2
- package/dist/commands/codegen/manifest.d.ts.map +1 -0
- package/dist/commands/codegen/manifest.js +35 -24
- package/dist/commands/codegen/manifest.js.map +1 -0
- package/dist/commands/dbdoc/analyze.d.ts +2 -1
- package/dist/commands/dbdoc/analyze.d.ts.map +1 -0
- package/dist/commands/dbdoc/analyze.js +11 -36
- package/dist/commands/dbdoc/analyze.js.map +1 -0
- package/dist/commands/dbdoc/export-sample-queries.d.ts +2 -1
- package/dist/commands/dbdoc/export-sample-queries.d.ts.map +1 -0
- package/dist/commands/dbdoc/export-sample-queries.js +19 -44
- package/dist/commands/dbdoc/export-sample-queries.js.map +1 -0
- package/dist/commands/dbdoc/export.d.ts +3 -2
- package/dist/commands/dbdoc/export.d.ts.map +1 -0
- package/dist/commands/dbdoc/export.js +20 -45
- package/dist/commands/dbdoc/export.js.map +1 -0
- package/dist/commands/dbdoc/generate-queries.d.ts +4 -3
- package/dist/commands/dbdoc/generate-queries.d.ts.map +1 -0
- package/dist/commands/dbdoc/generate-queries.js +14 -39
- package/dist/commands/dbdoc/generate-queries.js.map +1 -0
- package/dist/commands/dbdoc/index.d.ts +1 -0
- package/dist/commands/dbdoc/index.d.ts.map +1 -0
- package/dist/commands/dbdoc/index.js +5 -7
- package/dist/commands/dbdoc/index.js.map +1 -0
- package/dist/commands/dbdoc/init.d.ts +1 -0
- package/dist/commands/dbdoc/init.d.ts.map +1 -0
- package/dist/commands/dbdoc/init.js +7 -32
- package/dist/commands/dbdoc/init.js.map +1 -0
- package/dist/commands/dbdoc/reset.d.ts +1 -0
- package/dist/commands/dbdoc/reset.d.ts.map +1 -0
- package/dist/commands/dbdoc/reset.js +10 -35
- package/dist/commands/dbdoc/reset.js.map +1 -0
- package/dist/commands/dbdoc/status.d.ts +2 -1
- package/dist/commands/dbdoc/status.d.ts.map +1 -0
- package/dist/commands/dbdoc/status.js +10 -35
- package/dist/commands/dbdoc/status.js.map +1 -0
- package/dist/commands/install/index.d.ts +76 -75
- package/dist/commands/install/index.d.ts.map +1 -0
- package/dist/commands/install/index.js +81 -111
- package/dist/commands/install/index.js.map +1 -0
- package/dist/commands/migrate/index.d.ts +4 -3
- package/dist/commands/migrate/index.d.ts.map +1 -0
- package/dist/commands/migrate/index.js +23 -27
- package/dist/commands/migrate/index.js.map +1 -0
- package/dist/commands/querygen/export.d.ts +1 -0
- package/dist/commands/querygen/export.d.ts.map +1 -0
- package/dist/commands/querygen/export.js +15 -17
- package/dist/commands/querygen/export.js.map +1 -0
- package/dist/commands/querygen/generate.d.ts +8 -7
- package/dist/commands/querygen/generate.d.ts.map +1 -0
- package/dist/commands/querygen/generate.js +28 -30
- package/dist/commands/querygen/generate.js.map +1 -0
- package/dist/commands/querygen/validate.d.ts +1 -0
- package/dist/commands/querygen/validate.d.ts.map +1 -0
- package/dist/commands/querygen/validate.js +15 -17
- package/dist/commands/querygen/validate.js.map +1 -0
- package/dist/commands/sync/file-reset.d.ts +3 -2
- package/dist/commands/sync/file-reset.d.ts.map +1 -0
- package/dist/commands/sync/file-reset.js +36 -64
- package/dist/commands/sync/file-reset.js.map +1 -0
- package/dist/commands/sync/init.d.ts +1 -0
- package/dist/commands/sync/init.d.ts.map +1 -0
- package/dist/commands/sync/init.js +16 -21
- package/dist/commands/sync/init.js.map +1 -0
- package/dist/commands/sync/pull.d.ts +7 -6
- package/dist/commands/sync/pull.d.ts.map +1 -0
- package/dist/commands/sync/pull.js +46 -51
- package/dist/commands/sync/pull.js.map +1 -0
- package/dist/commands/sync/push.d.ts +5 -3
- package/dist/commands/sync/push.d.ts.map +1 -0
- package/dist/commands/sync/push.js +49 -49
- package/dist/commands/sync/push.js.map +1 -0
- package/dist/commands/sync/status.d.ts +4 -3
- package/dist/commands/sync/status.d.ts.map +1 -0
- package/dist/commands/sync/status.js +28 -33
- package/dist/commands/sync/status.js.map +1 -0
- package/dist/commands/sync/validate.d.ts +3 -2
- package/dist/commands/sync/validate.d.ts.map +1 -0
- package/dist/commands/sync/validate.js +31 -59
- package/dist/commands/sync/validate.js.map +1 -0
- package/dist/commands/sync/watch.d.ts +3 -2
- package/dist/commands/sync/watch.d.ts.map +1 -0
- package/dist/commands/sync/watch.js +34 -63
- package/dist/commands/sync/watch.js.map +1 -0
- package/dist/commands/test/compare.d.ts +6 -5
- package/dist/commands/test/compare.d.ts.map +1 -0
- package/dist/commands/test/compare.js +20 -22
- package/dist/commands/test/compare.js.map +1 -0
- package/dist/commands/test/history.d.ts +6 -5
- package/dist/commands/test/history.d.ts.map +1 -0
- package/dist/commands/test/history.js +17 -19
- package/dist/commands/test/history.js.map +1 -0
- package/dist/commands/test/index.d.ts +1 -0
- package/dist/commands/test/index.d.ts.map +1 -0
- package/dist/commands/test/index.js +6 -8
- package/dist/commands/test/index.js.map +1 -0
- package/dist/commands/test/list.d.ts +5 -4
- package/dist/commands/test/list.d.ts.map +1 -0
- package/dist/commands/test/list.js +18 -20
- package/dist/commands/test/list.js.map +1 -0
- package/dist/commands/test/run.d.ts +5 -4
- package/dist/commands/test/run.d.ts.map +1 -0
- package/dist/commands/test/run.js +19 -21
- package/dist/commands/test/run.js.map +1 -0
- package/dist/commands/test/suite.d.ts +4 -3
- package/dist/commands/test/suite.d.ts.map +1 -0
- package/dist/commands/test/suite.js +17 -19
- package/dist/commands/test/suite.js.map +1 -0
- package/dist/commands/test/validate.d.ts +4 -3
- package/dist/commands/test/validate.d.ts.map +1 -0
- package/dist/commands/test/validate.js +19 -21
- package/dist/commands/test/validate.js.map +1 -0
- package/dist/config.d.ts +54 -86
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +55 -61
- package/dist/config.js.map +1 -0
- package/dist/hooks/init.d.ts +1 -0
- package/dist/hooks/init.d.ts.map +1 -0
- package/dist/hooks/init.js +5 -29
- package/dist/hooks/init.js.map +1 -0
- package/dist/hooks/prerun.d.ts +1 -0
- package/dist/hooks/prerun.d.ts.map +1 -0
- package/dist/hooks/prerun.js +4 -8
- package/dist/hooks/prerun.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +2 -5
- package/dist/index.js.map +1 -0
- package/oclif.manifest.json +96 -74
- package/package.json +32 -30
|
@@ -1,116 +1,87 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
-
};
|
|
28
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
-
const core_1 = require("@oclif/core");
|
|
30
|
-
const ora_classic_1 = __importDefault(require("ora-classic"));
|
|
31
|
-
const chalk_1 = __importDefault(require("chalk"));
|
|
32
|
-
const path = __importStar(require("path"));
|
|
33
|
-
const metadata_sync_1 = require("@memberjunction/metadata-sync");
|
|
34
|
-
class Watch extends core_1.Command {
|
|
35
|
-
static description = 'Watch for file changes and sync automatically';
|
|
36
|
-
static examples = [
|
|
1
|
+
import { Command, Flags } from '@oclif/core';
|
|
2
|
+
import ora from 'ora-classic';
|
|
3
|
+
import chalk from 'chalk';
|
|
4
|
+
import * as path from 'path';
|
|
5
|
+
import { WatchService, loadMJConfig, loadSyncConfig, initializeProvider, getSyncEngine, getSystemUser, resetSyncEngine, configManager } from '@memberjunction/metadata-sync';
|
|
6
|
+
export default class Watch extends Command {
|
|
7
|
+
static { this.description = 'Watch for file changes and sync automatically'; }
|
|
8
|
+
static { this.examples = [
|
|
37
9
|
`<%= config.bin %> <%= command.id %>`,
|
|
38
10
|
`<%= config.bin %> <%= command.id %> --dir="ai-prompts"`,
|
|
39
11
|
`<%= config.bin %> <%= command.id %> --debounce=1000`,
|
|
40
12
|
`<%= config.bin %> <%= command.id %> --no-validate`,
|
|
41
|
-
];
|
|
42
|
-
static flags = {
|
|
43
|
-
dir:
|
|
44
|
-
debounce:
|
|
45
|
-
'no-validate':
|
|
46
|
-
verbose:
|
|
47
|
-
};
|
|
48
|
-
watchController;
|
|
13
|
+
]; }
|
|
14
|
+
static { this.flags = {
|
|
15
|
+
dir: Flags.string({ description: 'Specific entity directory to watch' }),
|
|
16
|
+
debounce: Flags.integer({ description: 'Debounce delay in milliseconds (default: 500)' }),
|
|
17
|
+
'no-validate': Flags.boolean({ description: 'Skip validation before sync' }),
|
|
18
|
+
verbose: Flags.boolean({ char: 'v', description: 'Show detailed output' }),
|
|
19
|
+
}; }
|
|
49
20
|
async run() {
|
|
50
21
|
const { flags } = await this.parse(Watch);
|
|
51
|
-
const spinner = (
|
|
22
|
+
const spinner = ora();
|
|
52
23
|
try {
|
|
53
24
|
// Load configuration
|
|
54
25
|
spinner.start('Loading configuration');
|
|
55
|
-
const mjConfig =
|
|
26
|
+
const mjConfig = loadMJConfig();
|
|
56
27
|
if (!mjConfig) {
|
|
57
28
|
this.error('No mj.config.cjs found in current directory or parent directories');
|
|
58
29
|
}
|
|
59
30
|
// Load sync config
|
|
60
|
-
const syncConfigDir = flags.dir ? path.resolve(
|
|
61
|
-
const syncConfig = await
|
|
31
|
+
const syncConfigDir = flags.dir ? path.resolve(configManager.getOriginalCwd(), flags.dir) : configManager.getOriginalCwd();
|
|
32
|
+
const syncConfig = await loadSyncConfig(syncConfigDir);
|
|
62
33
|
// Stop spinner before provider initialization
|
|
63
34
|
spinner.stop();
|
|
64
35
|
// Initialize data provider
|
|
65
|
-
await
|
|
36
|
+
await initializeProvider(mjConfig);
|
|
66
37
|
// Initialize sync engine
|
|
67
|
-
const syncEngine = await
|
|
38
|
+
const syncEngine = await getSyncEngine(getSystemUser());
|
|
68
39
|
// Show success after initialization
|
|
69
40
|
spinner.succeed('Configuration and metadata loaded');
|
|
70
41
|
// Determine watch directory
|
|
71
42
|
const watchDir = flags.dir
|
|
72
|
-
? path.resolve(
|
|
73
|
-
:
|
|
43
|
+
? path.resolve(configManager.getOriginalCwd(), flags.dir)
|
|
44
|
+
: configManager.getOriginalCwd();
|
|
74
45
|
// Create watch service
|
|
75
|
-
const watchService = new
|
|
46
|
+
const watchService = new WatchService(syncEngine);
|
|
76
47
|
// Setup graceful shutdown
|
|
77
48
|
process.on('SIGINT', async () => {
|
|
78
|
-
this.log(
|
|
49
|
+
this.log(chalk.yellow('\n\n⏹️ Stopping file watcher...'));
|
|
79
50
|
if (this.watchController) {
|
|
80
51
|
await this.watchController.stop();
|
|
81
52
|
}
|
|
82
|
-
|
|
53
|
+
resetSyncEngine();
|
|
83
54
|
process.exit(0);
|
|
84
55
|
});
|
|
85
56
|
process.on('SIGTERM', async () => {
|
|
86
57
|
if (this.watchController) {
|
|
87
58
|
await this.watchController.stop();
|
|
88
59
|
}
|
|
89
|
-
|
|
60
|
+
resetSyncEngine();
|
|
90
61
|
process.exit(0);
|
|
91
62
|
});
|
|
92
63
|
// Start watching
|
|
93
|
-
this.log(
|
|
94
|
-
this.log(
|
|
64
|
+
this.log(chalk.bold(`\n👀 Watching for changes in: ${path.relative(process.cwd(), watchDir)}`));
|
|
65
|
+
this.log(chalk.gray('Press Ctrl+C to stop watching\n'));
|
|
95
66
|
this.watchController = await watchService.watch({
|
|
96
67
|
dir: flags.dir,
|
|
97
68
|
debounceMs: flags.debounce || 500
|
|
98
69
|
}, {
|
|
99
70
|
onFileAdd: (filePath, entityDir, entityConfig) => {
|
|
100
71
|
const relativePath = path.relative(process.cwd(), filePath);
|
|
101
|
-
this.log(
|
|
72
|
+
this.log(chalk.gray(`➕ added: ${relativePath}`));
|
|
102
73
|
},
|
|
103
74
|
onFileChange: (filePath, entityDir, entityConfig) => {
|
|
104
75
|
const relativePath = path.relative(process.cwd(), filePath);
|
|
105
|
-
this.log(
|
|
76
|
+
this.log(chalk.gray(`📝 changed: ${relativePath}`));
|
|
106
77
|
},
|
|
107
78
|
onFileDelete: (filePath, entityDir, entityConfig) => {
|
|
108
79
|
const relativePath = path.relative(process.cwd(), filePath);
|
|
109
|
-
this.log(
|
|
80
|
+
this.log(chalk.gray(`❌ deleted: ${relativePath}`));
|
|
110
81
|
},
|
|
111
82
|
onRecordSaved: (entity, isNew, entityConfig) => {
|
|
112
83
|
const action = isNew ? 'created' : 'updated';
|
|
113
|
-
this.log(
|
|
84
|
+
this.log(chalk.green(`✅ Record ${action} for ${entityConfig.entity}`));
|
|
114
85
|
},
|
|
115
86
|
onError: (error) => {
|
|
116
87
|
spinner.fail('Watch error');
|
|
@@ -145,4 +116,4 @@ class Watch extends core_1.Command {
|
|
|
145
116
|
}
|
|
146
117
|
}
|
|
147
118
|
}
|
|
148
|
-
|
|
119
|
+
//# sourceMappingURL=watch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"watch.js","sourceRoot":"","sources":["../../../src/commands/sync/watch.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,16 +3,17 @@ export default class TestCompare extends Command {
|
|
|
3
3
|
static description: string;
|
|
4
4
|
static examples: string[];
|
|
5
5
|
static args: {
|
|
6
|
-
runId1: import("@oclif/core/lib/interfaces").Arg<string
|
|
7
|
-
runId2: import("@oclif/core/lib/interfaces").Arg<string
|
|
6
|
+
runId1: import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>;
|
|
7
|
+
runId2: import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>;
|
|
8
8
|
};
|
|
9
9
|
static flags: {
|
|
10
|
-
version: import("@oclif/core/lib/interfaces").OptionFlag<string[]
|
|
11
|
-
commit: import("@oclif/core/lib/interfaces").OptionFlag<string[]
|
|
10
|
+
version: import("@oclif/core/lib/interfaces").OptionFlag<string[], import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
11
|
+
commit: import("@oclif/core/lib/interfaces").OptionFlag<string[], import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
12
12
|
'diff-only': import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
13
13
|
format: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
14
|
-
output: import("@oclif/core/lib/interfaces").OptionFlag<string
|
|
14
|
+
output: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
15
15
|
verbose: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
16
16
|
};
|
|
17
17
|
run(): Promise<void>;
|
|
18
18
|
}
|
|
19
|
+
//# sourceMappingURL=compare.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compare.d.ts","sourceRoot":"","sources":["../../../src/commands/test/compare.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAe,MAAM,aAAa,CAAC;AAGnD,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,OAAO;IAC9C,MAAM,CAAC,WAAW,SAAgD;IAElE,MAAM,CAAC,QAAQ,WAKb;IAEF,MAAM,CAAC,IAAI;;;MAST;IAEF,MAAM,CAAC,KAAK;;;;;;;MA6BV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAoB3B"}
|
|
@@ -1,61 +1,59 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
static description = 'Compare test runs for regression detection';
|
|
7
|
-
static examples = [
|
|
1
|
+
import { Command, Flags, Args } from '@oclif/core';
|
|
2
|
+
import { CompareCommand } from '@memberjunction/testing-cli';
|
|
3
|
+
export default class TestCompare extends Command {
|
|
4
|
+
static { this.description = 'Compare test runs for regression detection'; }
|
|
5
|
+
static { this.examples = [
|
|
8
6
|
'<%= config.bin %> <%= command.id %> <run-id-1> <run-id-2>',
|
|
9
7
|
'<%= config.bin %> <%= command.id %> --baseline=<run-id> --current=<run-id>',
|
|
10
8
|
'<%= config.bin %> <%= command.id %> --suite=<suite-id> --since="2024-01-01"',
|
|
11
9
|
'<%= config.bin %> <%= command.id %> <run-id-1> <run-id-2> --format=json',
|
|
12
|
-
];
|
|
13
|
-
static args = {
|
|
14
|
-
runId1:
|
|
10
|
+
]; }
|
|
11
|
+
static { this.args = {
|
|
12
|
+
runId1: Args.string({
|
|
15
13
|
description: 'First test run ID to compare',
|
|
16
14
|
required: false,
|
|
17
15
|
}),
|
|
18
|
-
runId2:
|
|
16
|
+
runId2: Args.string({
|
|
19
17
|
description: 'Second test run ID to compare',
|
|
20
18
|
required: false,
|
|
21
19
|
}),
|
|
22
|
-
};
|
|
23
|
-
static flags = {
|
|
24
|
-
version:
|
|
20
|
+
}; }
|
|
21
|
+
static { this.flags = {
|
|
22
|
+
version: Flags.string({
|
|
25
23
|
char: 'v',
|
|
26
24
|
description: 'Compare runs by version',
|
|
27
25
|
multiple: true,
|
|
28
26
|
}),
|
|
29
|
-
commit:
|
|
27
|
+
commit: Flags.string({
|
|
30
28
|
char: 'c',
|
|
31
29
|
description: 'Compare runs by git commit',
|
|
32
30
|
multiple: true,
|
|
33
31
|
}),
|
|
34
|
-
'diff-only':
|
|
32
|
+
'diff-only': Flags.boolean({
|
|
35
33
|
description: 'Show only differences',
|
|
36
34
|
default: false,
|
|
37
35
|
}),
|
|
38
|
-
format:
|
|
36
|
+
format: Flags.string({
|
|
39
37
|
char: 'f',
|
|
40
38
|
description: 'Output format',
|
|
41
39
|
options: ['console', 'json', 'markdown'],
|
|
42
40
|
default: 'console',
|
|
43
41
|
}),
|
|
44
|
-
output:
|
|
42
|
+
output: Flags.string({
|
|
45
43
|
char: 'o',
|
|
46
44
|
description: 'Output file path',
|
|
47
45
|
}),
|
|
48
|
-
verbose:
|
|
46
|
+
verbose: Flags.boolean({
|
|
49
47
|
description: 'Show detailed information',
|
|
50
48
|
default: false,
|
|
51
49
|
}),
|
|
52
|
-
};
|
|
50
|
+
}; }
|
|
53
51
|
async run() {
|
|
54
52
|
const { args, flags } = await this.parse(TestCompare);
|
|
55
53
|
try {
|
|
56
54
|
// Create CompareCommand instance and execute
|
|
57
55
|
// Context user will be fetched internally after MJ provider initialization
|
|
58
|
-
const compareCommand = new
|
|
56
|
+
const compareCommand = new CompareCommand();
|
|
59
57
|
await compareCommand.execute(args.runId1, args.runId2, {
|
|
60
58
|
version: flags.version,
|
|
61
59
|
commit: flags.commit,
|
|
@@ -70,4 +68,4 @@ class TestCompare extends core_1.Command {
|
|
|
70
68
|
}
|
|
71
69
|
}
|
|
72
70
|
}
|
|
73
|
-
|
|
71
|
+
//# sourceMappingURL=compare.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compare.js","sourceRoot":"","sources":["../../../src/commands/test/compare.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAE7D,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,OAAO;aACvC,gBAAW,GAAG,4CAA4C,CAAC;aAE3D,aAAQ,GAAG;QAChB,2DAA2D;QAC3D,4EAA4E;QAC5E,6EAA6E;QAC7E,yEAAyE;KAC1E,CAAC;aAEK,SAAI,GAAG;QACZ,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC;YAClB,WAAW,EAAE,8BAA8B;YAC3C,QAAQ,EAAE,KAAK;SAChB,CAAC;QACF,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC;YAClB,WAAW,EAAE,+BAA+B;YAC5C,QAAQ,EAAE,KAAK;SAChB,CAAC;KACH,CAAC;aAEK,UAAK,GAAG;QACb,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC;YACpB,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,yBAAyB;YACtC,QAAQ,EAAE,IAAI;SACf,CAAC;QACF,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC;YACnB,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,4BAA4B;YACzC,QAAQ,EAAE,IAAI;SACf,CAAC;QACF,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC;YACzB,WAAW,EAAE,uBAAuB;YACpC,OAAO,EAAE,KAAK;SACf,CAAC;QACF,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC;YACnB,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,eAAe;YAC5B,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC;YACxC,OAAO,EAAE,SAAS;SACnB,CAAC;QACF,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC;YACnB,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,kBAAkB;SAChC,CAAC;QACF,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC;YACrB,WAAW,EAAE,2BAA2B;YACxC,OAAO,EAAE,KAAK;SACf,CAAC;KACH,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAEtD,IAAI,CAAC;YACH,6CAA6C;YAC7C,2EAA2E;YAC3E,MAAM,cAAc,GAAG,IAAI,cAAc,EAAE,CAAC;YAC5C,MAAM,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE;gBACrD,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,QAAQ,EAAE,KAAK,CAAC,WAAW,CAAC;gBAC5B,MAAM,EAAE,KAAK,CAAC,MAAyC;gBACvD,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,OAAO,EAAE,KAAK,CAAC,OAAO;aACvB,CAAC,CAAC;QAEL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,KAAK,CAAC,KAAc,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC"}
|
|
@@ -3,13 +3,14 @@ export default class TestHistory extends Command {
|
|
|
3
3
|
static description: string;
|
|
4
4
|
static examples: string[];
|
|
5
5
|
static flags: {
|
|
6
|
-
test: import("@oclif/core/lib/interfaces").OptionFlag<string
|
|
7
|
-
recent: import("@oclif/core/lib/interfaces").OptionFlag<number
|
|
8
|
-
from: import("@oclif/core/lib/interfaces").OptionFlag<string
|
|
9
|
-
status: import("@oclif/core/lib/interfaces").OptionFlag<string
|
|
6
|
+
test: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
7
|
+
recent: import("@oclif/core/lib/interfaces").OptionFlag<number, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
8
|
+
from: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
9
|
+
status: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
10
10
|
format: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
11
|
-
output: import("@oclif/core/lib/interfaces").OptionFlag<string
|
|
11
|
+
output: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
12
12
|
verbose: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
13
13
|
};
|
|
14
14
|
run(): Promise<void>;
|
|
15
15
|
}
|
|
16
|
+
//# sourceMappingURL=history.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"history.d.ts","sourceRoot":"","sources":["../../../src/commands/test/history.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAS,MAAM,aAAa,CAAC;AAG7C,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,OAAO;IAC9C,MAAM,CAAC,WAAW,SAAiC;IAEnD,MAAM,CAAC,QAAQ,WAMb;IAEF,MAAM,CAAC,KAAK;;;;;;;;MA+BV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAoB3B"}
|
|
@@ -1,54 +1,52 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
static description = 'View test execution history';
|
|
7
|
-
static examples = [
|
|
1
|
+
import { Command, Flags } from '@oclif/core';
|
|
2
|
+
import { HistoryCommand } from '@memberjunction/testing-cli';
|
|
3
|
+
export default class TestHistory extends Command {
|
|
4
|
+
static { this.description = 'View test execution history'; }
|
|
5
|
+
static { this.examples = [
|
|
8
6
|
'<%= config.bin %> <%= command.id %>',
|
|
9
7
|
'<%= config.bin %> <%= command.id %> --test=<test-id>',
|
|
10
8
|
'<%= config.bin %> <%= command.id %> --suite=<suite-id>',
|
|
11
9
|
'<%= config.bin %> <%= command.id %> --since="2024-01-01"',
|
|
12
10
|
'<%= config.bin %> <%= command.id %> --limit=50',
|
|
13
|
-
];
|
|
14
|
-
static flags = {
|
|
15
|
-
test:
|
|
11
|
+
]; }
|
|
12
|
+
static { this.flags = {
|
|
13
|
+
test: Flags.string({
|
|
16
14
|
char: 't',
|
|
17
15
|
description: 'Filter by test ID',
|
|
18
16
|
}),
|
|
19
|
-
recent:
|
|
17
|
+
recent: Flags.integer({
|
|
20
18
|
char: 'r',
|
|
21
19
|
description: 'Number of recent runs to show',
|
|
22
20
|
}),
|
|
23
|
-
from:
|
|
21
|
+
from: Flags.string({
|
|
24
22
|
description: 'Show history from date (YYYY-MM-DD)',
|
|
25
23
|
}),
|
|
26
|
-
status:
|
|
24
|
+
status: Flags.string({
|
|
27
25
|
char: 's',
|
|
28
26
|
description: 'Filter by status',
|
|
29
27
|
}),
|
|
30
|
-
format:
|
|
28
|
+
format: Flags.string({
|
|
31
29
|
char: 'f',
|
|
32
30
|
description: 'Output format',
|
|
33
31
|
options: ['console', 'json', 'markdown'],
|
|
34
32
|
default: 'console',
|
|
35
33
|
}),
|
|
36
|
-
output:
|
|
34
|
+
output: Flags.string({
|
|
37
35
|
char: 'o',
|
|
38
36
|
description: 'Output file path',
|
|
39
37
|
}),
|
|
40
|
-
verbose:
|
|
38
|
+
verbose: Flags.boolean({
|
|
41
39
|
char: 'v',
|
|
42
40
|
description: 'Show detailed information',
|
|
43
41
|
default: false,
|
|
44
42
|
}),
|
|
45
|
-
};
|
|
43
|
+
}; }
|
|
46
44
|
async run() {
|
|
47
45
|
const { flags } = await this.parse(TestHistory);
|
|
48
46
|
try {
|
|
49
47
|
// Create HistoryCommand instance and execute
|
|
50
48
|
// Context user will be fetched internally after MJ provider initialization
|
|
51
|
-
const historyCommand = new
|
|
49
|
+
const historyCommand = new HistoryCommand();
|
|
52
50
|
await historyCommand.execute(flags.test, {
|
|
53
51
|
recent: flags.recent,
|
|
54
52
|
from: flags.from,
|
|
@@ -63,4 +61,4 @@ class TestHistory extends core_1.Command {
|
|
|
63
61
|
}
|
|
64
62
|
}
|
|
65
63
|
}
|
|
66
|
-
|
|
64
|
+
//# sourceMappingURL=history.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"history.js","sourceRoot":"","sources":["../../../src/commands/test/history.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAE7D,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,OAAO;aACvC,gBAAW,GAAG,6BAA6B,CAAC;aAE5C,aAAQ,GAAG;QAChB,qCAAqC;QACrC,sDAAsD;QACtD,wDAAwD;QACxD,0DAA0D;QAC1D,gDAAgD;KACjD,CAAC;aAEK,UAAK,GAAG;QACb,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC;YACjB,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,mBAAmB;SACjC,CAAC;QACF,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC;YACpB,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,+BAA+B;SAC7C,CAAC;QACF,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC;YACjB,WAAW,EAAE,qCAAqC;SACnD,CAAC;QACF,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC;YACnB,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,kBAAkB;SAChC,CAAC;QACF,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC;YACnB,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,eAAe;YAC5B,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC;YACxC,OAAO,EAAE,SAAS;SACnB,CAAC;QACF,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC;YACnB,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,kBAAkB;SAChC,CAAC;QACF,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC;YACrB,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,2BAA2B;YACxC,OAAO,EAAE,KAAK;SACf,CAAC;KACH,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAEhD,IAAI,CAAC;YACH,6CAA6C;YAC7C,2EAA2E;YAC3E,MAAM,cAAc,GAAG,IAAI,cAAc,EAAE,CAAC;YAC5C,MAAM,cAAc,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE;gBACvC,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,MAAM,EAAE,KAAK,CAAC,MAAyC;gBACvD,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,OAAO,EAAE,KAAK,CAAC,OAAO;aACvB,CAAC,CAAC;QAEL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,KAAK,CAAC,KAAc,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/test/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAEtC,MAAM,CAAC,OAAO,OAAO,IAAK,SAAQ,OAAO;IACvC,MAAM,CAAC,WAAW,SAAiE;IAEnF,MAAM,CAAC,QAAQ,WAOb;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAgB3B"}
|
|
@@ -1,16 +1,14 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
static description = 'MemberJunction Testing Framework - Execute and manage tests';
|
|
6
|
-
static examples = [
|
|
1
|
+
import { Command } from '@oclif/core';
|
|
2
|
+
export default class Test extends Command {
|
|
3
|
+
static { this.description = 'MemberJunction Testing Framework - Execute and manage tests'; }
|
|
4
|
+
static { this.examples = [
|
|
7
5
|
'<%= config.bin %> <%= command.id %> run <test-id>',
|
|
8
6
|
'<%= config.bin %> <%= command.id %> run --name="Active Members Count"',
|
|
9
7
|
'<%= config.bin %> <%= command.id %> suite <suite-id>',
|
|
10
8
|
'<%= config.bin %> <%= command.id %> list',
|
|
11
9
|
'<%= config.bin %> <%= command.id %> list --suites',
|
|
12
10
|
'<%= config.bin %> <%= command.id %> validate --all',
|
|
13
|
-
];
|
|
11
|
+
]; }
|
|
14
12
|
async run() {
|
|
15
13
|
this.log('MemberJunction Testing Framework\n');
|
|
16
14
|
this.log('Available commands:');
|
|
@@ -28,4 +26,4 @@ class Test extends core_1.Command {
|
|
|
28
26
|
this.log('Run "mj test COMMAND --help" for more information on a command.');
|
|
29
27
|
}
|
|
30
28
|
}
|
|
31
|
-
|
|
29
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/test/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAEtC,MAAM,CAAC,OAAO,OAAO,IAAK,SAAQ,OAAO;aAChC,gBAAW,GAAG,6DAA6D,CAAC;aAE5E,aAAQ,GAAG;QAChB,mDAAmD;QACnD,uEAAuE;QACvE,sDAAsD;QACtD,0CAA0C;QAC1C,mDAAmD;QACnD,oDAAoD;KACrD,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,IAAI,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;QAC/C,IAAI,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;QAChC,IAAI,CAAC,GAAG,CAAC,2DAA2D,CAAC,CAAC;QACtE,IAAI,CAAC,GAAG,CAAC,0DAA0D,CAAC,CAAC;QACrE,IAAI,CAAC,GAAG,CAAC,0DAA0D,CAAC,CAAC;QACrE,IAAI,CAAC,GAAG,CAAC,+DAA+D,CAAC,CAAC;QAC1E,IAAI,CAAC,GAAG,CAAC,iEAAiE,CAAC,CAAC;QAC5E,IAAI,CAAC,GAAG,CAAC,uEAAuE,CAAC,CAAC;QAClF,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACb,IAAI,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;QAChD,IAAI,CAAC,GAAG,CAAC,kEAAkE,CAAC,CAAC;QAC7E,IAAI,CAAC,GAAG,CAAC,0DAA0D,CAAC,CAAC;QACrE,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACb,IAAI,CAAC,GAAG,CAAC,iEAAiE,CAAC,CAAC;IAC9E,CAAC"}
|
|
@@ -5,12 +5,13 @@ export default class TestList extends Command {
|
|
|
5
5
|
static flags: {
|
|
6
6
|
suites: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
7
7
|
types: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
8
|
-
type: import("@oclif/core/lib/interfaces").OptionFlag<string
|
|
9
|
-
tag: import("@oclif/core/lib/interfaces").OptionFlag<string
|
|
10
|
-
status: import("@oclif/core/lib/interfaces").OptionFlag<string
|
|
8
|
+
type: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
9
|
+
tag: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
10
|
+
status: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
11
11
|
format: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
12
|
-
output: import("@oclif/core/lib/interfaces").OptionFlag<string
|
|
12
|
+
output: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
13
13
|
verbose: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
14
14
|
};
|
|
15
15
|
run(): Promise<void>;
|
|
16
16
|
}
|
|
17
|
+
//# sourceMappingURL=list.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../src/commands/test/list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAS,MAAM,aAAa,CAAC;AAG7C,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,OAAO;IAC3C,MAAM,CAAC,WAAW,SAA6C;IAE/D,MAAM,CAAC,QAAQ,WAOb;IAEF,MAAM,CAAC,KAAK;;;;;;;;;MAmCV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAsB3B"}
|
|
@@ -1,59 +1,57 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
static description = 'List available tests, suites, and types';
|
|
7
|
-
static examples = [
|
|
1
|
+
import { Command, Flags } from '@oclif/core';
|
|
2
|
+
import { ListCommand } from '@memberjunction/testing-cli';
|
|
3
|
+
export default class TestList extends Command {
|
|
4
|
+
static { this.description = 'List available tests, suites, and types'; }
|
|
5
|
+
static { this.examples = [
|
|
8
6
|
'<%= config.bin %> <%= command.id %>',
|
|
9
7
|
'<%= config.bin %> <%= command.id %> --suites',
|
|
10
8
|
'<%= config.bin %> <%= command.id %> --types',
|
|
11
9
|
'<%= config.bin %> <%= command.id %> --type=agent-eval',
|
|
12
10
|
'<%= config.bin %> <%= command.id %> --tag=smoke',
|
|
13
11
|
'<%= config.bin %> <%= command.id %> --status=active --verbose',
|
|
14
|
-
];
|
|
15
|
-
static flags = {
|
|
16
|
-
suites:
|
|
12
|
+
]; }
|
|
13
|
+
static { this.flags = {
|
|
14
|
+
suites: Flags.boolean({
|
|
17
15
|
description: 'List test suites instead of tests',
|
|
18
16
|
default: false,
|
|
19
17
|
}),
|
|
20
|
-
types:
|
|
18
|
+
types: Flags.boolean({
|
|
21
19
|
description: 'List test types',
|
|
22
20
|
default: false,
|
|
23
21
|
}),
|
|
24
|
-
type:
|
|
22
|
+
type: Flags.string({
|
|
25
23
|
char: 't',
|
|
26
24
|
description: 'Filter by test type',
|
|
27
25
|
}),
|
|
28
|
-
tag:
|
|
26
|
+
tag: Flags.string({
|
|
29
27
|
description: 'Filter by tag',
|
|
30
28
|
}),
|
|
31
|
-
status:
|
|
29
|
+
status: Flags.string({
|
|
32
30
|
char: 's',
|
|
33
31
|
description: 'Filter by status',
|
|
34
32
|
}),
|
|
35
|
-
format:
|
|
33
|
+
format: Flags.string({
|
|
36
34
|
char: 'f',
|
|
37
35
|
description: 'Output format',
|
|
38
36
|
options: ['console', 'json', 'markdown'],
|
|
39
37
|
default: 'console',
|
|
40
38
|
}),
|
|
41
|
-
output:
|
|
39
|
+
output: Flags.string({
|
|
42
40
|
char: 'o',
|
|
43
41
|
description: 'Output file path',
|
|
44
42
|
}),
|
|
45
|
-
verbose:
|
|
43
|
+
verbose: Flags.boolean({
|
|
46
44
|
char: 'v',
|
|
47
45
|
description: 'Show detailed information',
|
|
48
46
|
default: false,
|
|
49
47
|
}),
|
|
50
|
-
};
|
|
48
|
+
}; }
|
|
51
49
|
async run() {
|
|
52
50
|
const { flags } = await this.parse(TestList);
|
|
53
51
|
try {
|
|
54
52
|
// Create ListCommand instance and execute
|
|
55
53
|
// Context user will be fetched internally after MJ provider initialization
|
|
56
|
-
const listCommand = new
|
|
54
|
+
const listCommand = new ListCommand();
|
|
57
55
|
await listCommand.execute({
|
|
58
56
|
suites: flags.suites,
|
|
59
57
|
types: flags.types,
|
|
@@ -70,4 +68,4 @@ class TestList extends core_1.Command {
|
|
|
70
68
|
}
|
|
71
69
|
}
|
|
72
70
|
}
|
|
73
|
-
|
|
71
|
+
//# sourceMappingURL=list.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/commands/test/list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAE1D,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,OAAO;aACpC,gBAAW,GAAG,yCAAyC,CAAC;aAExD,aAAQ,GAAG;QAChB,qCAAqC;QACrC,8CAA8C;QAC9C,6CAA6C;QAC7C,uDAAuD;QACvD,iDAAiD;QACjD,+DAA+D;KAChE,CAAC;aAEK,UAAK,GAAG;QACb,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC;YACpB,WAAW,EAAE,mCAAmC;YAChD,OAAO,EAAE,KAAK;SACf,CAAC;QACF,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC;YACnB,WAAW,EAAE,iBAAiB;YAC9B,OAAO,EAAE,KAAK;SACf,CAAC;QACF,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC;YACjB,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,qBAAqB;SACnC,CAAC;QACF,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC;YAChB,WAAW,EAAE,eAAe;SAC7B,CAAC;QACF,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC;YACnB,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,kBAAkB;SAChC,CAAC;QACF,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC;YACnB,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,eAAe;YAC5B,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC;YACxC,OAAO,EAAE,SAAS;SACnB,CAAC;QACF,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC;YACnB,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,kBAAkB;SAChC,CAAC;QACF,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC;YACrB,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,2BAA2B;YACxC,OAAO,EAAE,KAAK;SACf,CAAC;KACH,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAE7C,IAAI,CAAC;YACH,0CAA0C;YAC1C,2EAA2E;YAC3E,MAAM,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC;YACtC,MAAM,WAAW,CAAC,OAAO,CAAC;gBACxB,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,GAAG,EAAE,KAAK,CAAC,GAAG;gBACd,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,MAAM,EAAE,KAAK,CAAC,MAAyC;gBACvD,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,OAAO,EAAE,KAAK,CAAC,OAAO;aACvB,CAAC,CAAC;QAEL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,KAAK,CAAC,KAAc,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC"}
|
|
@@ -3,15 +3,16 @@ export default class TestRun extends Command {
|
|
|
3
3
|
static description: string;
|
|
4
4
|
static examples: string[];
|
|
5
5
|
static args: {
|
|
6
|
-
testId: import("@oclif/core/lib/interfaces").Arg<string
|
|
6
|
+
testId: import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>;
|
|
7
7
|
};
|
|
8
8
|
static flags: {
|
|
9
|
-
name: import("@oclif/core/lib/interfaces").OptionFlag<string
|
|
10
|
-
environment: import("@oclif/core/lib/interfaces").OptionFlag<string
|
|
9
|
+
name: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
10
|
+
environment: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
11
11
|
format: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
12
|
-
output: import("@oclif/core/lib/interfaces").OptionFlag<string
|
|
12
|
+
output: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
13
13
|
'dry-run': import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
14
14
|
verbose: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
15
15
|
};
|
|
16
16
|
run(): Promise<void>;
|
|
17
17
|
}
|
|
18
|
+
//# sourceMappingURL=run.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../../src/commands/test/run.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAe,MAAM,aAAa,CAAC;AAGnD,MAAM,CAAC,OAAO,OAAO,OAAQ,SAAQ,OAAO;IAC1C,MAAM,CAAC,WAAW,SAAyC;IAE3D,MAAM,CAAC,QAAQ,WAMb;IAEF,MAAM,CAAC,IAAI;;MAKT;IAEF,MAAM,CAAC,KAAK;;;;;;;MA4BV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAoB3B"}
|