@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,57 +1,55 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
static description = 'Execute a single test by ID or name';
|
|
7
|
-
static examples = [
|
|
1
|
+
import { Command, Flags, Args } from '@oclif/core';
|
|
2
|
+
import { RunCommand } from '@memberjunction/testing-cli';
|
|
3
|
+
export default class TestRun extends Command {
|
|
4
|
+
static { this.description = 'Execute a single test by ID or name'; }
|
|
5
|
+
static { this.examples = [
|
|
8
6
|
'<%= config.bin %> <%= command.id %> <test-id>',
|
|
9
7
|
'<%= config.bin %> <%= command.id %> --name="Active Members Count"',
|
|
10
8
|
'<%= config.bin %> <%= command.id %> <test-id> --environment=staging',
|
|
11
9
|
'<%= config.bin %> <%= command.id %> <test-id> --format=json --output=results.json',
|
|
12
10
|
'<%= config.bin %> <%= command.id %> <test-id> --dry-run',
|
|
13
|
-
];
|
|
14
|
-
static args = {
|
|
15
|
-
testId:
|
|
11
|
+
]; }
|
|
12
|
+
static { this.args = {
|
|
13
|
+
testId: Args.string({
|
|
16
14
|
description: 'Test ID to execute',
|
|
17
15
|
required: false,
|
|
18
16
|
}),
|
|
19
|
-
};
|
|
20
|
-
static flags = {
|
|
21
|
-
name:
|
|
17
|
+
}; }
|
|
18
|
+
static { this.flags = {
|
|
19
|
+
name: Flags.string({
|
|
22
20
|
char: 'n',
|
|
23
21
|
description: 'Test name to execute',
|
|
24
22
|
}),
|
|
25
|
-
environment:
|
|
23
|
+
environment: Flags.string({
|
|
26
24
|
char: 'e',
|
|
27
25
|
description: 'Environment context (dev, staging, prod)',
|
|
28
26
|
}),
|
|
29
|
-
format:
|
|
27
|
+
format: Flags.string({
|
|
30
28
|
char: 'f',
|
|
31
29
|
description: 'Output format',
|
|
32
30
|
options: ['console', 'json', 'markdown'],
|
|
33
31
|
default: 'console',
|
|
34
32
|
}),
|
|
35
|
-
output:
|
|
33
|
+
output: Flags.string({
|
|
36
34
|
char: 'o',
|
|
37
35
|
description: 'Output file path',
|
|
38
36
|
}),
|
|
39
|
-
'dry-run':
|
|
37
|
+
'dry-run': Flags.boolean({
|
|
40
38
|
description: 'Validate without executing',
|
|
41
39
|
default: false,
|
|
42
40
|
}),
|
|
43
|
-
verbose:
|
|
41
|
+
verbose: Flags.boolean({
|
|
44
42
|
char: 'v',
|
|
45
43
|
description: 'Show detailed execution information',
|
|
46
44
|
default: false,
|
|
47
45
|
}),
|
|
48
|
-
};
|
|
46
|
+
}; }
|
|
49
47
|
async run() {
|
|
50
48
|
const { args, flags } = await this.parse(TestRun);
|
|
51
49
|
try {
|
|
52
50
|
// Create RunCommand instance and execute
|
|
53
51
|
// Context user will be fetched internally after MJ provider initialization
|
|
54
|
-
const runCommand = new
|
|
52
|
+
const runCommand = new RunCommand();
|
|
55
53
|
await runCommand.execute(args.testId, {
|
|
56
54
|
name: flags.name,
|
|
57
55
|
environment: flags.environment,
|
|
@@ -66,4 +64,4 @@ class TestRun extends core_1.Command {
|
|
|
66
64
|
}
|
|
67
65
|
}
|
|
68
66
|
}
|
|
69
|
-
|
|
67
|
+
//# sourceMappingURL=run.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run.js","sourceRoot":"","sources":["../../../src/commands/test/run.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAEzD,MAAM,CAAC,OAAO,OAAO,OAAQ,SAAQ,OAAO;aACnC,gBAAW,GAAG,qCAAqC,CAAC;aAEpD,aAAQ,GAAG;QAChB,+CAA+C;QAC/C,mEAAmE;QACnE,qEAAqE;QACrE,mFAAmF;QACnF,yDAAyD;KAC1D,CAAC;aAEK,SAAI,GAAG;QACZ,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC;YAClB,WAAW,EAAE,oBAAoB;YACjC,QAAQ,EAAE,KAAK;SAChB,CAAC;KACH,CAAC;aAEK,UAAK,GAAG;QACb,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC;YACjB,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,sBAAsB;SACpC,CAAC;QACF,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC;YACxB,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,0CAA0C;SACxD,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,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC;YACvB,WAAW,EAAE,4BAA4B;YACzC,OAAO,EAAE,KAAK;SACf,CAAC;QACF,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC;YACrB,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,qCAAqC;YAClD,OAAO,EAAE,KAAK;SACf,CAAC;KACH,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAElD,IAAI,CAAC;YACH,yCAAyC;YACzC,2EAA2E;YAC3E,MAAM,UAAU,GAAG,IAAI,UAAU,EAAE,CAAC;YACpC,MAAM,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE;gBACpC,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,WAAW,EAAE,KAAK,CAAC,WAAW;gBAC9B,MAAM,EAAE,KAAK,CAAC,MAAyC;gBACvD,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC;gBACxB,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 TestSuite extends Command {
|
|
|
3
3
|
static description: string;
|
|
4
4
|
static examples: string[];
|
|
5
5
|
static args: {
|
|
6
|
-
suiteId: import("@oclif/core/lib/interfaces").Arg<string
|
|
6
|
+
suiteId: 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
|
|
9
|
+
name: 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=suite.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"suite.d.ts","sourceRoot":"","sources":["../../../src/commands/test/suite.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAe,MAAM,aAAa,CAAC;AAGnD,MAAM,CAAC,OAAO,OAAO,SAAU,SAAQ,OAAO;IAC5C,MAAM,CAAC,WAAW,SAA0B;IAE5C,MAAM,CAAC,QAAQ,WAKb;IAEF,MAAM,CAAC,IAAI;;MAKT;IAEF,MAAM,CAAC,KAAK;;;;;MAoBV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAkB3B"}
|
|
@@ -1,48 +1,46 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
static description = 'Execute a test suite';
|
|
7
|
-
static examples = [
|
|
1
|
+
import { Command, Flags, Args } from '@oclif/core';
|
|
2
|
+
import { SuiteCommand } from '@memberjunction/testing-cli';
|
|
3
|
+
export default class TestSuite extends Command {
|
|
4
|
+
static { this.description = 'Execute a test suite'; }
|
|
5
|
+
static { this.examples = [
|
|
8
6
|
'<%= config.bin %> <%= command.id %> <suite-id>',
|
|
9
7
|
'<%= config.bin %> <%= command.id %> --name="Agent Quality Suite"',
|
|
10
8
|
'<%= config.bin %> <%= command.id %> <suite-id> --format=json',
|
|
11
9
|
'<%= config.bin %> <%= command.id %> <suite-id> --output=suite-results.json',
|
|
12
|
-
];
|
|
13
|
-
static args = {
|
|
14
|
-
suiteId:
|
|
10
|
+
]; }
|
|
11
|
+
static { this.args = {
|
|
12
|
+
suiteId: Args.string({
|
|
15
13
|
description: 'Test suite ID to execute',
|
|
16
14
|
required: false,
|
|
17
15
|
}),
|
|
18
|
-
};
|
|
19
|
-
static flags = {
|
|
20
|
-
name:
|
|
16
|
+
}; }
|
|
17
|
+
static { this.flags = {
|
|
18
|
+
name: Flags.string({
|
|
21
19
|
char: 'n',
|
|
22
20
|
description: 'Test suite name to execute',
|
|
23
21
|
}),
|
|
24
|
-
format:
|
|
22
|
+
format: Flags.string({
|
|
25
23
|
char: 'f',
|
|
26
24
|
description: 'Output format',
|
|
27
25
|
options: ['console', 'json', 'markdown'],
|
|
28
26
|
default: 'console',
|
|
29
27
|
}),
|
|
30
|
-
output:
|
|
28
|
+
output: Flags.string({
|
|
31
29
|
char: 'o',
|
|
32
30
|
description: 'Output file path',
|
|
33
31
|
}),
|
|
34
|
-
verbose:
|
|
32
|
+
verbose: Flags.boolean({
|
|
35
33
|
char: 'v',
|
|
36
34
|
description: 'Show detailed execution information',
|
|
37
35
|
default: false,
|
|
38
36
|
}),
|
|
39
|
-
};
|
|
37
|
+
}; }
|
|
40
38
|
async run() {
|
|
41
39
|
const { args, flags } = await this.parse(TestSuite);
|
|
42
40
|
try {
|
|
43
41
|
// Create SuiteCommand instance and execute
|
|
44
42
|
// Context user will be fetched internally after MJ provider initialization
|
|
45
|
-
const suiteCommand = new
|
|
43
|
+
const suiteCommand = new SuiteCommand();
|
|
46
44
|
await suiteCommand.execute(args.suiteId, {
|
|
47
45
|
name: flags.name,
|
|
48
46
|
format: flags.format,
|
|
@@ -55,4 +53,4 @@ class TestSuite extends core_1.Command {
|
|
|
55
53
|
}
|
|
56
54
|
}
|
|
57
55
|
}
|
|
58
|
-
|
|
56
|
+
//# sourceMappingURL=suite.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"suite.js","sourceRoot":"","sources":["../../../src/commands/test/suite.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAE3D,MAAM,CAAC,OAAO,OAAO,SAAU,SAAQ,OAAO;aACrC,gBAAW,GAAG,sBAAsB,CAAC;aAErC,aAAQ,GAAG;QAChB,gDAAgD;QAChD,kEAAkE;QAClE,8DAA8D;QAC9D,4EAA4E;KAC7E,CAAC;aAEK,SAAI,GAAG;QACZ,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC;YACnB,WAAW,EAAE,0BAA0B;YACvC,QAAQ,EAAE,KAAK;SAChB,CAAC;KACH,CAAC;aAEK,UAAK,GAAG;QACb,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC;YACjB,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,4BAA4B;SAC1C,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,qCAAqC;YAClD,OAAO,EAAE,KAAK;SACf,CAAC;KACH,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAEpD,IAAI,CAAC;YACH,2CAA2C;YAC3C,2EAA2E;YAC3E,MAAM,YAAY,GAAG,IAAI,YAAY,EAAE,CAAC;YACxC,MAAM,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE;gBACvC,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,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 TestValidate 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
9
|
all: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
10
|
-
type: import("@oclif/core/lib/interfaces").OptionFlag<string
|
|
10
|
+
type: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
11
11
|
'save-report': import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
12
12
|
format: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
13
|
-
output: import("@oclif/core/lib/interfaces").OptionFlag<string
|
|
13
|
+
output: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
14
14
|
verbose: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
15
15
|
};
|
|
16
16
|
run(): Promise<void>;
|
|
17
17
|
}
|
|
18
|
+
//# sourceMappingURL=validate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../../src/commands/test/validate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAe,MAAM,aAAa,CAAC;AAGnD,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,OAAO;IAC/C,MAAM,CAAC,WAAW,SAAiD;IAEnE,MAAM,CAAC,QAAQ,WAMb;IAEF,MAAM,CAAC,IAAI;;MAKT;IAEF,MAAM,CAAC,KAAK;;;;;;;MA6BV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAoB3B"}
|
|
@@ -1,58 +1,56 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
static description = 'Validate test definitions without executing';
|
|
7
|
-
static examples = [
|
|
1
|
+
import { Command, Flags, Args } from '@oclif/core';
|
|
2
|
+
import { ValidateCommand } from '@memberjunction/testing-cli';
|
|
3
|
+
export default class TestValidate extends Command {
|
|
4
|
+
static { this.description = 'Validate test definitions without executing'; }
|
|
5
|
+
static { this.examples = [
|
|
8
6
|
'<%= config.bin %> <%= command.id %> <test-id>',
|
|
9
7
|
'<%= config.bin %> <%= command.id %> --all',
|
|
10
8
|
'<%= config.bin %> <%= command.id %> --type=agent-eval',
|
|
11
9
|
'<%= config.bin %> <%= command.id %> --all --save-report',
|
|
12
10
|
'<%= config.bin %> <%= command.id %> --all --output=validation-report.md',
|
|
13
|
-
];
|
|
14
|
-
static args = {
|
|
15
|
-
testId:
|
|
11
|
+
]; }
|
|
12
|
+
static { this.args = {
|
|
13
|
+
testId: Args.string({
|
|
16
14
|
description: 'Test ID to validate',
|
|
17
15
|
required: false,
|
|
18
16
|
}),
|
|
19
|
-
};
|
|
20
|
-
static flags = {
|
|
21
|
-
all:
|
|
17
|
+
}; }
|
|
18
|
+
static { this.flags = {
|
|
19
|
+
all: Flags.boolean({
|
|
22
20
|
char: 'a',
|
|
23
21
|
description: 'Validate all tests',
|
|
24
22
|
default: false,
|
|
25
23
|
}),
|
|
26
|
-
type:
|
|
24
|
+
type: Flags.string({
|
|
27
25
|
char: 't',
|
|
28
26
|
description: 'Validate tests by type',
|
|
29
27
|
}),
|
|
30
|
-
'save-report':
|
|
28
|
+
'save-report': Flags.boolean({
|
|
31
29
|
description: 'Save validation report to file',
|
|
32
30
|
default: false,
|
|
33
31
|
}),
|
|
34
|
-
format:
|
|
32
|
+
format: Flags.string({
|
|
35
33
|
char: 'f',
|
|
36
34
|
description: 'Output format',
|
|
37
35
|
options: ['console', 'json', 'markdown'],
|
|
38
36
|
default: 'console',
|
|
39
37
|
}),
|
|
40
|
-
output:
|
|
38
|
+
output: Flags.string({
|
|
41
39
|
char: 'o',
|
|
42
40
|
description: 'Output file path',
|
|
43
41
|
}),
|
|
44
|
-
verbose:
|
|
42
|
+
verbose: Flags.boolean({
|
|
45
43
|
char: 'v',
|
|
46
44
|
description: 'Show detailed information',
|
|
47
45
|
default: false,
|
|
48
46
|
}),
|
|
49
|
-
};
|
|
47
|
+
}; }
|
|
50
48
|
async run() {
|
|
51
49
|
const { args, flags } = await this.parse(TestValidate);
|
|
52
50
|
try {
|
|
53
51
|
// Create ValidateCommand instance and execute
|
|
54
52
|
// Context user will be fetched internally after MJ provider initialization
|
|
55
|
-
const validateCommand = new
|
|
53
|
+
const validateCommand = new ValidateCommand();
|
|
56
54
|
await validateCommand.execute(args.testId, {
|
|
57
55
|
all: flags.all,
|
|
58
56
|
type: flags.type,
|
|
@@ -67,4 +65,4 @@ class TestValidate extends core_1.Command {
|
|
|
67
65
|
}
|
|
68
66
|
}
|
|
69
67
|
}
|
|
70
|
-
|
|
68
|
+
//# sourceMappingURL=validate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../../../src/commands/test/validate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAE9D,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,OAAO;aACxC,gBAAW,GAAG,6CAA6C,CAAC;aAE5D,aAAQ,GAAG;QAChB,+CAA+C;QAC/C,2CAA2C;QAC3C,uDAAuD;QACvD,yDAAyD;QACzD,yEAAyE;KAC1E,CAAC;aAEK,SAAI,GAAG;QACZ,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC;YAClB,WAAW,EAAE,qBAAqB;YAClC,QAAQ,EAAE,KAAK;SAChB,CAAC;KACH,CAAC;aAEK,UAAK,GAAG;QACb,GAAG,EAAE,KAAK,CAAC,OAAO,CAAC;YACjB,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,oBAAoB;YACjC,OAAO,EAAE,KAAK;SACf,CAAC;QACF,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC;YACjB,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,wBAAwB;SACtC,CAAC;QACF,aAAa,EAAE,KAAK,CAAC,OAAO,CAAC;YAC3B,WAAW,EAAE,gCAAgC;YAC7C,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,IAAI,EAAE,GAAG;YACT,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,YAAY,CAAC,CAAC;QAEvD,IAAI,CAAC;YACH,8CAA8C;YAC9C,2EAA2E;YAC3E,MAAM,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;YAC9C,MAAM,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE;gBACzC,GAAG,EAAE,KAAK,CAAC,GAAG;gBACd,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,UAAU,EAAE,KAAK,CAAC,aAAa,CAAC;gBAChC,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"}
|
package/dist/config.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { FlywayConfig } from 'node-flyway/dist/types/types';
|
|
1
|
+
import type { FlywayConfig } from 'node-flyway/dist/types/types';
|
|
2
2
|
import { z } from 'zod';
|
|
3
3
|
export type MJConfig = z.infer<typeof mjConfigSchema>;
|
|
4
4
|
declare const mjConfigSchema: z.ZodObject<{
|
|
@@ -19,112 +19,79 @@ declare const mjConfigSchema: z.ZodObject<{
|
|
|
19
19
|
schema: z.ZodString;
|
|
20
20
|
placeholder: z.ZodString;
|
|
21
21
|
}, "strip", z.ZodTypeAny, {
|
|
22
|
-
schema
|
|
23
|
-
placeholder
|
|
22
|
+
schema?: string;
|
|
23
|
+
placeholder?: string;
|
|
24
24
|
}, {
|
|
25
|
-
schema
|
|
26
|
-
placeholder
|
|
25
|
+
schema?: string;
|
|
26
|
+
placeholder?: string;
|
|
27
27
|
}>, "many">>;
|
|
28
28
|
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
29
29
|
schemaPlaceholders: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
30
30
|
schema: z.ZodString;
|
|
31
31
|
placeholder: z.ZodString;
|
|
32
32
|
}, "strip", z.ZodTypeAny, {
|
|
33
|
-
schema
|
|
34
|
-
placeholder
|
|
33
|
+
schema?: string;
|
|
34
|
+
placeholder?: string;
|
|
35
35
|
}, {
|
|
36
|
-
schema
|
|
37
|
-
placeholder
|
|
36
|
+
schema?: string;
|
|
37
|
+
placeholder?: string;
|
|
38
38
|
}>, "many">>;
|
|
39
39
|
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
40
40
|
schemaPlaceholders: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
41
41
|
schema: z.ZodString;
|
|
42
42
|
placeholder: z.ZodString;
|
|
43
43
|
}, "strip", z.ZodTypeAny, {
|
|
44
|
-
schema
|
|
45
|
-
placeholder
|
|
44
|
+
schema?: string;
|
|
45
|
+
placeholder?: string;
|
|
46
46
|
}, {
|
|
47
|
-
schema
|
|
48
|
-
placeholder
|
|
47
|
+
schema?: string;
|
|
48
|
+
placeholder?: string;
|
|
49
49
|
}>, "many">>;
|
|
50
50
|
}, z.ZodTypeAny, "passthrough">>>;
|
|
51
51
|
}, "strip", z.ZodTypeAny, {
|
|
52
|
-
dbHost
|
|
53
|
-
dbDatabase
|
|
54
|
-
dbPort
|
|
55
|
-
codeGenLogin
|
|
56
|
-
codeGenPassword
|
|
57
|
-
migrationsLocation
|
|
58
|
-
dbTrustServerCertificate
|
|
59
|
-
coreSchema
|
|
60
|
-
cleanDisabled
|
|
61
|
-
mjRepoUrl
|
|
62
|
-
baselineVersion
|
|
63
|
-
baselineOnMigrate
|
|
64
|
-
SQLOutput?:
|
|
65
|
-
schemaPlaceholders
|
|
66
|
-
schema
|
|
67
|
-
placeholder
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
schema: string;
|
|
73
|
-
placeholder: string;
|
|
74
|
-
}>, "many">>;
|
|
75
|
-
}, z.ZodTypeAny, "passthrough"> | undefined;
|
|
52
|
+
dbHost?: string;
|
|
53
|
+
dbDatabase?: string;
|
|
54
|
+
dbPort?: number;
|
|
55
|
+
codeGenLogin?: string;
|
|
56
|
+
codeGenPassword?: string;
|
|
57
|
+
migrationsLocation?: string;
|
|
58
|
+
dbTrustServerCertificate?: boolean;
|
|
59
|
+
coreSchema?: string;
|
|
60
|
+
cleanDisabled?: boolean;
|
|
61
|
+
mjRepoUrl?: string;
|
|
62
|
+
baselineVersion?: string;
|
|
63
|
+
baselineOnMigrate?: boolean;
|
|
64
|
+
SQLOutput?: {
|
|
65
|
+
schemaPlaceholders?: {
|
|
66
|
+
schema?: string;
|
|
67
|
+
placeholder?: string;
|
|
68
|
+
}[];
|
|
69
|
+
} & {
|
|
70
|
+
[k: string]: unknown;
|
|
71
|
+
};
|
|
76
72
|
}, {
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
migrationsLocation?: string
|
|
83
|
-
dbTrustServerCertificate?: boolean
|
|
84
|
-
coreSchema?: string
|
|
85
|
-
cleanDisabled?: boolean
|
|
73
|
+
dbHost?: string;
|
|
74
|
+
dbDatabase?: string;
|
|
75
|
+
dbPort?: number;
|
|
76
|
+
codeGenLogin?: string;
|
|
77
|
+
codeGenPassword?: string;
|
|
78
|
+
migrationsLocation?: string;
|
|
79
|
+
dbTrustServerCertificate?: boolean;
|
|
80
|
+
coreSchema?: string;
|
|
81
|
+
cleanDisabled?: boolean;
|
|
86
82
|
mjRepoUrl?: unknown;
|
|
87
|
-
baselineVersion?: string
|
|
88
|
-
baselineOnMigrate?: boolean
|
|
89
|
-
SQLOutput?:
|
|
90
|
-
schemaPlaceholders
|
|
91
|
-
schema
|
|
92
|
-
placeholder
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
schema: string;
|
|
98
|
-
placeholder: string;
|
|
99
|
-
}>, "many">>;
|
|
100
|
-
}, z.ZodTypeAny, "passthrough"> | undefined;
|
|
83
|
+
baselineVersion?: string;
|
|
84
|
+
baselineOnMigrate?: boolean;
|
|
85
|
+
SQLOutput?: {
|
|
86
|
+
schemaPlaceholders?: {
|
|
87
|
+
schema?: string;
|
|
88
|
+
placeholder?: string;
|
|
89
|
+
}[];
|
|
90
|
+
} & {
|
|
91
|
+
[k: string]: unknown;
|
|
92
|
+
};
|
|
101
93
|
}>;
|
|
102
|
-
export declare const config:
|
|
103
|
-
dbHost: string;
|
|
104
|
-
dbDatabase: string;
|
|
105
|
-
dbPort: number;
|
|
106
|
-
codeGenLogin: string;
|
|
107
|
-
codeGenPassword: string;
|
|
108
|
-
migrationsLocation: string;
|
|
109
|
-
dbTrustServerCertificate: boolean;
|
|
110
|
-
coreSchema: string;
|
|
111
|
-
cleanDisabled: boolean;
|
|
112
|
-
mjRepoUrl: string;
|
|
113
|
-
baselineVersion: string;
|
|
114
|
-
baselineOnMigrate: boolean;
|
|
115
|
-
SQLOutput?: z.objectOutputType<{
|
|
116
|
-
schemaPlaceholders: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
117
|
-
schema: z.ZodString;
|
|
118
|
-
placeholder: z.ZodString;
|
|
119
|
-
}, "strip", z.ZodTypeAny, {
|
|
120
|
-
schema: string;
|
|
121
|
-
placeholder: string;
|
|
122
|
-
}, {
|
|
123
|
-
schema: string;
|
|
124
|
-
placeholder: string;
|
|
125
|
-
}>, "many">>;
|
|
126
|
-
}, z.ZodTypeAny, "passthrough"> | undefined;
|
|
127
|
-
} | undefined;
|
|
94
|
+
export declare const config: MJConfig | undefined;
|
|
128
95
|
/**
|
|
129
96
|
* Get validated config for commands that require database connection.
|
|
130
97
|
* Throws error if config is invalid.
|
|
@@ -144,3 +111,4 @@ export declare const updatedConfig: () => MJConfig | undefined;
|
|
|
144
111
|
export declare const createFlywayUrl: (mjConfig: MJConfig) => string;
|
|
145
112
|
export declare const getFlywayConfig: (mjConfig: MJConfig, tag?: string, schema?: string, dir?: string) => Promise<FlywayConfig>;
|
|
146
113
|
export {};
|
|
114
|
+
//# sourceMappingURL=config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAIjE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AA4CtD,QAAA,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgBlB,CAAC;AAsBH,eAAO,MAAM,MAAM,EAAqB,QAAQ,GAAG,SAAS,CAAC;AAE7D;;;GAGG;AACH,eAAO,MAAM,kBAAkB,QAAO,QASrC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,iBAAiB,QAAO,OAAO,CAAC,QAAQ,CAAC,GAAG,SAGxD,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,aAAa,QAAO,QAAQ,GAAG,SAU3C,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,UAAU,QAAQ,WAIjD,CAAC;AAEF,eAAO,MAAM,eAAe,GAC1B,UAAU,QAAQ,EAClB,MAAM,MAAM,EACZ,SAAS,MAAM,EACf,MAAM,MAAM,KACX,OAAO,CAAC,YAAY,CA8EtB,CAAC"}
|