@memberjunction/cli 6.1.0-edge.4 → 6.1.0-edge.5
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 +81 -0
- package/dist/commands/ai/actions/list.d.ts +2 -1
- package/dist/commands/ai/actions/list.d.ts.map +1 -1
- package/dist/commands/ai/actions/list.js +12 -3
- package/dist/commands/ai/actions/list.js.map +1 -1
- package/dist/commands/ai/actions/run.d.ts +7 -6
- package/dist/commands/ai/actions/run.d.ts.map +1 -1
- package/dist/commands/ai/actions/run.js +15 -16
- package/dist/commands/ai/actions/run.js.map +1 -1
- package/dist/commands/ai/agents/list.d.ts +2 -1
- package/dist/commands/ai/agents/list.d.ts.map +1 -1
- package/dist/commands/ai/agents/list.js +12 -3
- package/dist/commands/ai/agents/list.js.map +1 -1
- package/dist/commands/ai/agents/run.d.ts +7 -6
- package/dist/commands/ai/agents/run.d.ts.map +1 -1
- package/dist/commands/ai/agents/run.js +27 -5
- package/dist/commands/ai/agents/run.js.map +1 -1
- package/dist/commands/ai/audit/agent-run.d.ts +15 -14
- package/dist/commands/ai/audit/agent-run.d.ts.map +1 -1
- package/dist/commands/ai/audit/agent-run.js +18 -6
- package/dist/commands/ai/audit/agent-run.js.map +1 -1
- package/dist/commands/ai/prompts/run.d.ts +10 -9
- package/dist/commands/ai/prompts/run.d.ts.map +1 -1
- package/dist/commands/ai/prompts/run.js +12 -3
- package/dist/commands/ai/prompts/run.js.map +1 -1
- package/dist/commands/ai/usage.d.ts +7 -0
- package/dist/commands/ai/usage.d.ts.map +1 -0
- package/dist/commands/ai/usage.js +10 -0
- package/dist/commands/ai/usage.js.map +1 -0
- package/dist/commands/app/check-updates.d.ts.map +1 -1
- package/dist/commands/app/check-updates.js +55 -17
- package/dist/commands/app/check-updates.js.map +1 -1
- package/dist/commands/app/remove.d.ts.map +1 -1
- package/dist/commands/app/remove.js +12 -4
- package/dist/commands/app/remove.js.map +1 -1
- package/dist/commands/app/usage.d.ts +7 -0
- package/dist/commands/app/usage.d.ts.map +1 -0
- package/dist/commands/app/usage.js +10 -0
- package/dist/commands/app/usage.js.map +1 -0
- package/dist/commands/artifacts/usage.d.ts +7 -0
- package/dist/commands/artifacts/usage.d.ts.map +1 -0
- package/dist/commands/artifacts/usage.js +10 -0
- package/dist/commands/artifacts/usage.js.map +1 -0
- package/dist/commands/baseline/usage.d.ts +7 -0
- package/dist/commands/baseline/usage.d.ts.map +1 -0
- package/dist/commands/baseline/usage.js +10 -0
- package/dist/commands/baseline/usage.js.map +1 -0
- package/dist/commands/bump/usage.d.ts +7 -0
- package/dist/commands/bump/usage.d.ts.map +1 -0
- package/dist/commands/bump/usage.js +10 -0
- package/dist/commands/bump/usage.js.map +1 -0
- package/dist/commands/bundle/usage.d.ts +7 -0
- package/dist/commands/bundle/usage.d.ts.map +1 -0
- package/dist/commands/bundle/usage.js +10 -0
- package/dist/commands/bundle/usage.js.map +1 -0
- package/dist/commands/clean/usage.d.ts +7 -0
- package/dist/commands/clean/usage.d.ts.map +1 -0
- package/dist/commands/clean/usage.js +10 -0
- package/dist/commands/clean/usage.js.map +1 -0
- package/dist/commands/dbdoc/usage.d.ts +7 -0
- package/dist/commands/dbdoc/usage.d.ts.map +1 -0
- package/dist/commands/dbdoc/usage.js +10 -0
- package/dist/commands/dbdoc/usage.js.map +1 -0
- package/dist/commands/dev/workspace/index.d.ts.map +1 -1
- package/dist/commands/dev/workspace/index.js +7 -2
- package/dist/commands/dev/workspace/index.js.map +1 -1
- package/dist/commands/doctor/usage.d.ts +7 -0
- package/dist/commands/doctor/usage.d.ts.map +1 -0
- package/dist/commands/doctor/usage.js +10 -0
- package/dist/commands/doctor/usage.js.map +1 -0
- package/dist/commands/install/index.d.ts +20 -0
- package/dist/commands/install/index.d.ts.map +1 -1
- package/dist/commands/install/index.js +80 -10
- package/dist/commands/install/index.js.map +1 -1
- package/dist/commands/install/usage.d.ts +7 -0
- package/dist/commands/install/usage.d.ts.map +1 -0
- package/dist/commands/install/usage.js +10 -0
- package/dist/commands/install/usage.js.map +1 -0
- package/dist/commands/migrate/convert.d.ts +1 -0
- package/dist/commands/migrate/convert.d.ts.map +1 -1
- package/dist/commands/migrate/convert.js +54 -5
- package/dist/commands/migrate/convert.js.map +1 -1
- package/dist/commands/migrate/rebake.d.ts +1 -0
- package/dist/commands/migrate/rebake.d.ts.map +1 -1
- package/dist/commands/migrate/rebake.js +16 -6
- package/dist/commands/migrate/rebake.js.map +1 -1
- package/dist/commands/migrate/usage.d.ts +7 -0
- package/dist/commands/migrate/usage.d.ts.map +1 -0
- package/dist/commands/migrate/usage.js +10 -0
- package/dist/commands/migrate/usage.js.map +1 -0
- package/dist/commands/plugin/usage.d.ts +7 -0
- package/dist/commands/plugin/usage.d.ts.map +1 -0
- package/dist/commands/plugin/usage.js +10 -0
- package/dist/commands/plugin/usage.js.map +1 -0
- package/dist/commands/querygen/usage.d.ts +7 -0
- package/dist/commands/querygen/usage.d.ts.map +1 -0
- package/dist/commands/querygen/usage.js +10 -0
- package/dist/commands/querygen/usage.js.map +1 -0
- package/dist/commands/sql-audit/usage.d.ts +7 -0
- package/dist/commands/sql-audit/usage.d.ts.map +1 -0
- package/dist/commands/sql-audit/usage.js +10 -0
- package/dist/commands/sql-audit/usage.js.map +1 -0
- package/dist/commands/sql-convert/usage.d.ts +7 -0
- package/dist/commands/sql-convert/usage.d.ts.map +1 -0
- package/dist/commands/sql-convert/usage.js +10 -0
- package/dist/commands/sql-convert/usage.js.map +1 -0
- package/dist/commands/standards/usage.d.ts +7 -0
- package/dist/commands/standards/usage.d.ts.map +1 -0
- package/dist/commands/standards/usage.js +10 -0
- package/dist/commands/standards/usage.js.map +1 -0
- package/dist/commands/sync/file-reset.d.ts +6 -6
- package/dist/commands/sync/file-reset.d.ts.map +1 -1
- package/dist/commands/sync/file-reset.js +151 -127
- package/dist/commands/sync/file-reset.js.map +1 -1
- package/dist/commands/sync/init.d.ts +10 -1
- package/dist/commands/sync/init.d.ts.map +1 -1
- package/dist/commands/sync/init.js +127 -78
- package/dist/commands/sync/init.js.map +1 -1
- package/dist/commands/test/compare.d.ts +11 -11
- package/dist/commands/test/compare.d.ts.map +1 -1
- package/dist/commands/test/compare.js +8 -7
- package/dist/commands/test/compare.js.map +1 -1
- package/dist/commands/test/history.d.ts +7 -7
- package/dist/commands/test/history.d.ts.map +1 -1
- package/dist/commands/test/history.js +8 -7
- package/dist/commands/test/history.js.map +1 -1
- package/dist/commands/test/list.d.ts +8 -8
- package/dist/commands/test/list.d.ts.map +1 -1
- package/dist/commands/test/list.js +8 -7
- package/dist/commands/test/list.js.map +1 -1
- package/dist/commands/test/regression/compare.d.ts.map +1 -1
- package/dist/commands/test/regression/compare.js +5 -7
- package/dist/commands/test/regression/compare.js.map +1 -1
- package/dist/commands/test/run.d.ts +9 -9
- package/dist/commands/test/run.d.ts.map +1 -1
- package/dist/commands/test/run.js +8 -7
- package/dist/commands/test/run.js.map +1 -1
- package/dist/commands/test/suite.d.ts +11 -11
- package/dist/commands/test/suite.d.ts.map +1 -1
- package/dist/commands/test/suite.js +8 -7
- package/dist/commands/test/suite.js.map +1 -1
- package/dist/commands/test/usage.d.ts +7 -0
- package/dist/commands/test/usage.d.ts.map +1 -0
- package/dist/commands/test/usage.js +10 -0
- package/dist/commands/test/usage.js.map +1 -0
- package/dist/commands/test/validate.d.ts +7 -7
- package/dist/commands/test/validate.d.ts.map +1 -1
- package/dist/commands/test/validate.js +8 -7
- package/dist/commands/test/validate.js.map +1 -1
- package/dist/commands/translate-sql/usage.d.ts +7 -0
- package/dist/commands/translate-sql/usage.d.ts.map +1 -0
- package/dist/commands/translate-sql/usage.js +10 -0
- package/dist/commands/translate-sql/usage.js.map +1 -0
- package/dist/commands/update/usage.d.ts +7 -0
- package/dist/commands/update/usage.d.ts.map +1 -0
- package/dist/commands/update/usage.js +10 -0
- package/dist/commands/update/usage.js.map +1 -0
- package/dist/commands/usage.d.ts.map +1 -1
- package/dist/commands/usage.js +9 -4
- package/dist/commands/usage.js.map +1 -1
- package/dist/hooks/prerun.d.ts.map +1 -1
- package/dist/hooks/prerun.js +63 -30
- package/dist/hooks/prerun.js.map +1 -1
- package/dist/lib/cli-plugins.d.ts +8 -1
- package/dist/lib/cli-plugins.d.ts.map +1 -1
- package/dist/lib/cli-plugins.js +17 -1
- package/dist/lib/cli-plugins.js.map +1 -1
- package/dist/lib/derived-usage.d.ts +68 -0
- package/dist/lib/derived-usage.d.ts.map +1 -0
- package/dist/lib/derived-usage.js +121 -0
- package/dist/lib/derived-usage.js.map +1 -0
- package/dist/lib/domain-profiles.d.ts +42 -0
- package/dist/lib/domain-profiles.d.ts.map +1 -0
- package/dist/lib/domain-profiles.js +118 -0
- package/dist/lib/domain-profiles.js.map +1 -0
- package/dist/lib/domain-usage-command.d.ts.map +1 -1
- package/dist/lib/domain-usage-command.js +9 -4
- package/dist/lib/domain-usage-command.js.map +1 -1
- package/dist/lib/format-compat.d.ts +68 -0
- package/dist/lib/format-compat.d.ts.map +1 -0
- package/dist/lib/format-compat.js +111 -0
- package/dist/lib/format-compat.js.map +1 -0
- package/dist/lib/interactive-guard.d.ts +56 -0
- package/dist/lib/interactive-guard.d.ts.map +1 -0
- package/dist/lib/interactive-guard.js +60 -0
- package/dist/lib/interactive-guard.js.map +1 -0
- package/dist/lib/legacy-install.d.ts.map +1 -1
- package/dist/lib/legacy-install.js +4 -0
- package/dist/lib/legacy-install.js.map +1 -1
- package/dist/lib/usage-render.d.ts +2 -2
- package/dist/lib/usage-render.d.ts.map +1 -1
- package/dist/lib/usage-render.js +2 -1
- package/dist/lib/usage-render.js.map +1 -1
- package/dist/light-commands.d.ts.map +1 -1
- package/dist/light-commands.js +43 -0
- package/dist/light-commands.js.map +1 -1
- package/dist/utils/open-app-context.d.ts +24 -0
- package/dist/utils/open-app-context.d.ts.map +1 -1
- package/dist/utils/open-app-context.js +21 -6
- package/dist/utils/open-app-context.js.map +1 -1
- package/dist/utils/update-check.d.ts +86 -0
- package/dist/utils/update-check.d.ts.map +1 -0
- package/dist/utils/update-check.js +98 -0
- package/dist/utils/update-check.js.map +1 -0
- package/oclif.manifest.json +1860 -1000
- package/package.json +21 -21
|
@@ -1 +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;
|
|
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,gBAAgB,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAEpG,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,gBAAgB;QACxB,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;QACF,eAAe,EAAE,KAAK,CAAC,MAAM,CAAC;YAC5B,WAAW,EACT,qFAAqF;gBACrF,oFAAoF;gBACpF,2GAA2G;SAC9G,CAAC;QACF,gBAAgB,EAAE,KAAK,CAAC,MAAM,CAAC;YAC7B,WAAW,EACT,2EAA2E;gBAC3E,gFAAgF;gBAChF,gFAAgF;SACnF,CAAC;KACH,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,6BAA6B,CAAC,CAAC;QAEnE,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,mBAAmB,CAAC;oBAC1B,MAAM,EAAE,KAAK,CAAC,MAAM;oBACpB,MAAM,EAAE,SAAkB;oBAC1B,aAAa,EAAE,SAAkB;oBACjC,GAAG,EAAE,eAAe;iBACrB,CAAC;gBACF,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC;gBACxB,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,aAAa,EAAE,KAAK,CAAC,gBAAgB,CAAC;gBACtC,YAAY,EAAE,KAAK,CAAC,eAAe,CAAC;aACrC,CAAC,CAAC;QAEL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,KAAK,CAAC,KAAc,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC"}
|
|
@@ -3,19 +3,19 @@ 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, Record<string, unknown>>;
|
|
6
|
+
suiteId: import("@oclif/core/lib/interfaces/parser.js").Arg<string, Record<string, unknown>>;
|
|
7
7
|
};
|
|
8
8
|
static flags: {
|
|
9
|
-
name: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
10
|
-
format: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
11
|
-
output: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
12
|
-
verbose: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
13
|
-
delay: import("@oclif/core/lib/interfaces").OptionFlag<number, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
14
|
-
parallel: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
15
|
-
'max-parallel': import("@oclif/core/lib/interfaces").OptionFlag<number, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
16
|
-
'flaky-check': import("@oclif/core/lib/interfaces").OptionFlag<number, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
17
|
-
'checks-module': import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
18
|
-
'oracles-module': import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
9
|
+
name: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
|
|
10
|
+
format: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
|
|
11
|
+
output: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
|
|
12
|
+
verbose: import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
|
|
13
|
+
delay: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<number, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
|
|
14
|
+
parallel: import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
|
|
15
|
+
'max-parallel': import("@oclif/core/lib/interfaces/parser.js").OptionFlag<number, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
|
|
16
|
+
'flaky-check': import("@oclif/core/lib/interfaces/parser.js").OptionFlag<number, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
|
|
17
|
+
'checks-module': import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
|
|
18
|
+
'oracles-module': import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
|
|
19
19
|
};
|
|
20
20
|
run(): Promise<void>;
|
|
21
21
|
}
|
|
@@ -1 +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;
|
|
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;;;;;;;;;;;MA4CV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CA+B3B"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Command, Flags, Args } from '@oclif/core';
|
|
2
|
+
import { TEST_FORMAT_FLAG, TEST_FORMAT_MAP, resolveLegacyFormat } from '../../lib/format-compat.js';
|
|
2
3
|
export default class TestSuite extends Command {
|
|
3
4
|
static { this.description = 'Execute a test suite'; }
|
|
4
5
|
static { this.examples = [
|
|
@@ -18,12 +19,7 @@ export default class TestSuite extends Command {
|
|
|
18
19
|
char: 'n',
|
|
19
20
|
description: 'Test suite name to execute',
|
|
20
21
|
}),
|
|
21
|
-
format:
|
|
22
|
-
char: 'f',
|
|
23
|
-
description: 'Output format',
|
|
24
|
-
options: ['console', 'json', 'markdown'],
|
|
25
|
-
default: 'console',
|
|
26
|
-
}),
|
|
22
|
+
format: TEST_FORMAT_FLAG,
|
|
27
23
|
output: Flags.string({
|
|
28
24
|
char: 'o',
|
|
29
25
|
description: 'Output file path',
|
|
@@ -70,7 +66,12 @@ export default class TestSuite extends Command {
|
|
|
70
66
|
const suiteCommand = new SuiteCommand();
|
|
71
67
|
await suiteCommand.execute(args.suiteId, {
|
|
72
68
|
name: flags.name,
|
|
73
|
-
format:
|
|
69
|
+
format: resolveLegacyFormat({
|
|
70
|
+
format: flags.format,
|
|
71
|
+
legacy: 'console',
|
|
72
|
+
legacyDefault: 'console',
|
|
73
|
+
map: TEST_FORMAT_MAP,
|
|
74
|
+
}),
|
|
74
75
|
output: flags.output,
|
|
75
76
|
verbose: flags.verbose,
|
|
76
77
|
delay: flags.delay,
|
|
@@ -1 +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;
|
|
1
|
+
{"version":3,"file":"suite.js","sourceRoot":"","sources":["../../../src/commands/test/suite.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { DomainUsageCommand } from '../../lib/domain-usage-command.js';
|
|
2
|
+
/** Tier-2 usage for the `test` domain (`mj test usage`). */
|
|
3
|
+
export default class TestUsage extends DomainUsageCommand {
|
|
4
|
+
static description: string;
|
|
5
|
+
protected Domain: string;
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=usage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usage.d.ts","sourceRoot":"","sources":["../../../src/commands/test/usage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAEvE,4DAA4D;AAC5D,MAAM,CAAC,OAAO,OAAO,SAAU,SAAQ,kBAAkB;IACvD,MAAM,CAAC,WAAW,SAAiF;IACnG,SAAS,CAAC,MAAM,SAAU;CAC3B"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { DomainUsageCommand } from '../../lib/domain-usage-command.js';
|
|
2
|
+
/** Tier-2 usage for the `test` domain (`mj test usage`). */
|
|
3
|
+
export default class TestUsage extends DomainUsageCommand {
|
|
4
|
+
constructor() {
|
|
5
|
+
super(...arguments);
|
|
6
|
+
this.Domain = 'test';
|
|
7
|
+
}
|
|
8
|
+
static { this.description = 'Show usage, flags, examples, and runtime hints for every `mj test` command.'; }
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=usage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usage.js","sourceRoot":"","sources":["../../../src/commands/test/usage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAEvE,4DAA4D;AAC5D,MAAM,CAAC,OAAO,OAAO,SAAU,SAAQ,kBAAkB;IAAzD;;QAEY,WAAM,GAAG,MAAM,CAAC;IAC5B,CAAC;aAFQ,gBAAW,GAAG,6EAA6E,AAAhF,CAAiF"}
|
|
@@ -3,15 +3,15 @@ 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, Record<string, unknown>>;
|
|
6
|
+
testId: import("@oclif/core/lib/interfaces/parser.js").Arg<string, Record<string, unknown>>;
|
|
7
7
|
};
|
|
8
8
|
static flags: {
|
|
9
|
-
all: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
10
|
-
type: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
11
|
-
'save-report': import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
12
|
-
format: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
13
|
-
output: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
14
|
-
verbose: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
9
|
+
all: import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
|
|
10
|
+
type: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
|
|
11
|
+
'save-report': import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
|
|
12
|
+
format: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
|
|
13
|
+
output: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
|
|
14
|
+
verbose: import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
|
|
15
15
|
};
|
|
16
16
|
run(): Promise<void>;
|
|
17
17
|
}
|
|
@@ -1 +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;
|
|
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;;;;;;;MAwBV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CA2B3B"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Command, Flags, Args } from '@oclif/core';
|
|
2
|
+
import { TEST_FORMAT_FLAG, TEST_FORMAT_MAP, resolveLegacyFormat } from '../../lib/format-compat.js';
|
|
2
3
|
export default class TestValidate extends Command {
|
|
3
4
|
static { this.description = 'Validate test definitions without executing'; }
|
|
4
5
|
static { this.examples = [
|
|
@@ -28,12 +29,7 @@ export default class TestValidate extends Command {
|
|
|
28
29
|
description: 'Save validation report to file',
|
|
29
30
|
default: false,
|
|
30
31
|
}),
|
|
31
|
-
format:
|
|
32
|
-
char: 'f',
|
|
33
|
-
description: 'Output format',
|
|
34
|
-
options: ['console', 'json', 'markdown'],
|
|
35
|
-
default: 'console',
|
|
36
|
-
}),
|
|
32
|
+
format: TEST_FORMAT_FLAG,
|
|
37
33
|
output: Flags.string({
|
|
38
34
|
char: 'o',
|
|
39
35
|
description: 'Output file path',
|
|
@@ -55,7 +51,12 @@ export default class TestValidate extends Command {
|
|
|
55
51
|
all: flags.all,
|
|
56
52
|
type: flags.type,
|
|
57
53
|
saveReport: flags['save-report'],
|
|
58
|
-
format:
|
|
54
|
+
format: resolveLegacyFormat({
|
|
55
|
+
format: flags.format,
|
|
56
|
+
legacy: 'console',
|
|
57
|
+
legacyDefault: 'console',
|
|
58
|
+
map: TEST_FORMAT_MAP,
|
|
59
|
+
}),
|
|
59
60
|
output: flags.output,
|
|
60
61
|
verbose: flags.verbose,
|
|
61
62
|
});
|
|
@@ -1 +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;
|
|
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,gBAAgB,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAEpG,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,gBAAgB;QACxB,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,eAAe,EAAE,GAAG,MAAM,MAAM,CAAC,6BAA6B,CAAC,CAAC;QAExE,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,mBAAmB,CAAC;oBAC1B,MAAM,EAAE,KAAK,CAAC,MAAM;oBACpB,MAAM,EAAE,SAAkB;oBAC1B,aAAa,EAAE,SAAkB;oBACjC,GAAG,EAAE,eAAe;iBACrB,CAAC;gBACF,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,7 @@
|
|
|
1
|
+
import { DomainUsageCommand } from '../../lib/domain-usage-command.js';
|
|
2
|
+
/** Tier-2 usage for the `translate-sql` domain (`mj translate-sql usage`). */
|
|
3
|
+
export default class TranslateSqlUsage extends DomainUsageCommand {
|
|
4
|
+
static description: string;
|
|
5
|
+
protected Domain: string;
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=usage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usage.d.ts","sourceRoot":"","sources":["../../../src/commands/translate-sql/usage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAEvE,8EAA8E;AAC9E,MAAM,CAAC,OAAO,OAAO,iBAAkB,SAAQ,kBAAkB;IAC/D,MAAM,CAAC,WAAW,SAA0F;IAC5G,SAAS,CAAC,MAAM,SAAmB;CACpC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { DomainUsageCommand } from '../../lib/domain-usage-command.js';
|
|
2
|
+
/** Tier-2 usage for the `translate-sql` domain (`mj translate-sql usage`). */
|
|
3
|
+
export default class TranslateSqlUsage extends DomainUsageCommand {
|
|
4
|
+
constructor() {
|
|
5
|
+
super(...arguments);
|
|
6
|
+
this.Domain = 'translate-sql';
|
|
7
|
+
}
|
|
8
|
+
static { this.description = 'Show usage, flags, examples, and runtime hints for every `mj translate-sql` command.'; }
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=usage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usage.js","sourceRoot":"","sources":["../../../src/commands/translate-sql/usage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAEvE,8EAA8E;AAC9E,MAAM,CAAC,OAAO,OAAO,iBAAkB,SAAQ,kBAAkB;IAAjE;;QAEY,WAAM,GAAG,eAAe,CAAC;IACrC,CAAC;aAFQ,gBAAW,GAAG,sFAAsF,AAAzF,CAA0F"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { DomainUsageCommand } from '../../lib/domain-usage-command.js';
|
|
2
|
+
/** Tier-2 usage for the `update` domain (`mj update usage`). */
|
|
3
|
+
export default class UpdateUsage extends DomainUsageCommand {
|
|
4
|
+
static description: string;
|
|
5
|
+
protected Domain: string;
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=usage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usage.d.ts","sourceRoot":"","sources":["../../../src/commands/update/usage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAEvE,gEAAgE;AAChE,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,kBAAkB;IACzD,MAAM,CAAC,WAAW,SAAmF;IACrG,SAAS,CAAC,MAAM,SAAY;CAC7B"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { DomainUsageCommand } from '../../lib/domain-usage-command.js';
|
|
2
|
+
/** Tier-2 usage for the `update` domain (`mj update usage`). */
|
|
3
|
+
export default class UpdateUsage extends DomainUsageCommand {
|
|
4
|
+
constructor() {
|
|
5
|
+
super(...arguments);
|
|
6
|
+
this.Domain = 'update';
|
|
7
|
+
}
|
|
8
|
+
static { this.description = 'Show usage, flags, examples, and runtime hints for every `mj update` command.'; }
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=usage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usage.js","sourceRoot":"","sources":["../../../src/commands/update/usage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAEvE,gEAAgE;AAChE,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,kBAAkB;IAA3D;;QAEY,WAAM,GAAG,QAAQ,CAAC;IAC9B,CAAC;aAFQ,gBAAW,GAAG,+EAA+E,AAAlF,CAAmF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usage.d.ts","sourceRoot":"","sources":["../../src/commands/usage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAS,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"usage.d.ts","sourceRoot":"","sources":["../../src/commands/usage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAS,MAAM,aAAa,CAAC;AAM7C;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,OAAO,KAAM,SAAQ,OAAO;IACxC,MAAM,CAAC,WAAW,SAA+G;IAEjI,MAAM,CAAC,QAAQ,WAGb;IAEF,MAAM,CAAC,KAAK;;MAMV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAQ3B"}
|
package/dist/commands/usage.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Command, Flags } from '@oclif/core';
|
|
2
|
-
import { CLIPluginRegistry } from '@memberjunction/cli-core';
|
|
2
|
+
import { CLIPluginRegistry, ResolveOutputFormat } from '@memberjunction/cli-core';
|
|
3
3
|
import { loadAllCliPlugins } from '../lib/cli-plugins.js';
|
|
4
4
|
import { emitUsage, renderDomainMap } from '../lib/usage-render.js';
|
|
5
5
|
/**
|
|
@@ -16,14 +16,19 @@ export default class Usage extends Command {
|
|
|
16
16
|
`<%= config.bin %> <%= command.id %> --format=json`,
|
|
17
17
|
]; }
|
|
18
18
|
static { this.flags = {
|
|
19
|
-
|
|
19
|
+
// No default: the absence of a value is what lets a piped stdout select json.
|
|
20
|
+
format: Flags.string({
|
|
21
|
+
options: ['text', 'json', 'md'],
|
|
22
|
+
description: 'Output format. Defaults to text on a terminal and json when stdout is piped.',
|
|
23
|
+
}),
|
|
20
24
|
}; }
|
|
21
25
|
async run() {
|
|
22
26
|
const { flags } = await this.parse(Usage);
|
|
23
|
-
await loadAllCliPlugins(process.cwd());
|
|
27
|
+
await loadAllCliPlugins(process.cwd(), this.config.commands);
|
|
24
28
|
const map = CLIPluginRegistry.BuildDomainMap();
|
|
25
29
|
const result = CLIPluginRegistry.AsResult('usage', { guidance: map.guidance, domains: map.domains });
|
|
26
|
-
|
|
30
|
+
const { format } = ResolveOutputFormat({ formatFlag: flags.format });
|
|
31
|
+
emitUsage((m) => this.log(m), format, result, renderDomainMap(map));
|
|
27
32
|
}
|
|
28
33
|
}
|
|
29
34
|
//# sourceMappingURL=usage.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usage.js","sourceRoot":"","sources":["../../src/commands/usage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"usage.js","sourceRoot":"","sources":["../../src/commands/usage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAClF,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAGpE;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,OAAO,KAAM,SAAQ,OAAO;aACjC,gBAAW,GAAG,2GAA2G,CAAC;aAE1H,aAAQ,GAAG;QAChB,qCAAqC;QACrC,mDAAmD;KACpD,CAAC;aAEK,UAAK,GAAG;QACb,8EAA8E;QAC9E,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC;YACnB,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC;YAC/B,WAAW,EAAE,8EAA8E;SAC5F,CAAC;KACH,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC1C,MAAM,iBAAiB,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,QAA0C,CAAC,CAAC;QAC/F,MAAM,GAAG,GAAG,iBAAiB,CAAC,cAAc,EAAE,CAAC;QAC/C,MAAM,MAAM,GAAG,iBAAiB,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QACrG,MAAM,EAAE,MAAM,EAAE,GAAG,mBAAmB,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;QACrE,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC;IACtE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prerun.d.ts","sourceRoot":"","sources":["../../src/hooks/prerun.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"prerun.d.ts","sourceRoot":"","sources":["../../src/hooks/prerun.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAgCnC,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,QAAQ,CA2ExB,CAAC;AAcF,eAAe,IAAI,CAAC"}
|
package/dist/hooks/prerun.js
CHANGED
|
@@ -1,42 +1,75 @@
|
|
|
1
1
|
import figlet from 'figlet';
|
|
2
|
+
import { INTERACTIVE_ENV, ResolveOutputFormat, ShouldSuppressChrome } from '@memberjunction/cli-core';
|
|
2
3
|
import { LIGHT_COMMANDS } from '../light-commands.js';
|
|
4
|
+
/**
|
|
5
|
+
* Strips a global boolean flag from argv in place and reports whether it was there.
|
|
6
|
+
*
|
|
7
|
+
* Global chrome flags have to work on ANY command, including the ~80 that are still
|
|
8
|
+
* plain oclif `Command`s and don't declare them — oclif's strict parser would reject
|
|
9
|
+
* an undeclared flag with "Nonexistent flag". So the hook consumes them here and
|
|
10
|
+
* signals downstream through the environment instead.
|
|
11
|
+
*/
|
|
12
|
+
function takeGlobalFlag(argv, flag) {
|
|
13
|
+
let found = false;
|
|
14
|
+
for (let i = argv.length - 1; i >= 0; i--) {
|
|
15
|
+
if (argv[i] === flag) {
|
|
16
|
+
argv.splice(i, 1);
|
|
17
|
+
found = true;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
return found;
|
|
21
|
+
}
|
|
22
|
+
/** Reads `--format=x` or `--format x` out of raw argv, before any command has parsed it. */
|
|
23
|
+
function readFormatArg(argv) {
|
|
24
|
+
const eq = argv.find((a) => a.startsWith('--format='));
|
|
25
|
+
if (eq)
|
|
26
|
+
return eq.slice('--format='.length);
|
|
27
|
+
const i = argv.indexOf('--format');
|
|
28
|
+
return i >= 0 ? argv[i + 1] : undefined;
|
|
29
|
+
}
|
|
3
30
|
const hook = async function (options) {
|
|
4
31
|
const argv = options.argv ?? [];
|
|
5
|
-
//
|
|
6
|
-
//
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
// commands still gate their runtime advisory) and strip the flag from argv in place
|
|
21
|
-
// so the per-command parser never sees an undeclared flag.
|
|
32
|
+
// `--interactive` / `--no-interactive` override the terminal detection that decides
|
|
33
|
+
// whether a command may prompt. Like `--no-banner` they must work on every command,
|
|
34
|
+
// including the ~80 that don't declare them, so they are consumed here and forwarded
|
|
35
|
+
// via env to both BaseCLIPlugin and the unmigrated commands' interactive guards.
|
|
36
|
+
// BOTH are stripped unconditionally before either is acted on: short-circuiting the
|
|
37
|
+
// second strip would leave the losing flag in argv, where oclif's strict parser
|
|
38
|
+
// rejects it as a nonexistent flag on any command that doesn't declare it.
|
|
39
|
+
const forceOff = takeGlobalFlag(argv, '--no-interactive');
|
|
40
|
+
const forceOn = takeGlobalFlag(argv, '--interactive');
|
|
41
|
+
// Passing both resolves to off — the safe answer when the caller contradicts itself.
|
|
42
|
+
if (forceOff)
|
|
43
|
+
process.env[INTERACTIVE_ENV] = '0';
|
|
44
|
+
else if (forceOn)
|
|
45
|
+
process.env[INTERACTIVE_ENV] = '1';
|
|
46
|
+
const noBanner = takeGlobalFlag(argv, '--no-banner');
|
|
22
47
|
if (noBanner) {
|
|
23
48
|
process.env.MJ_CLI_NO_BANNER = '1';
|
|
24
|
-
for (let i = argv.length - 1; i >= 0; i--) {
|
|
25
|
-
if (argv[i] === '--no-banner')
|
|
26
|
-
argv.splice(i, 1);
|
|
27
|
-
}
|
|
28
49
|
}
|
|
29
|
-
//
|
|
30
|
-
|
|
31
|
-
|
|
50
|
+
// Decide chrome with the SAME resolver the commands themselves use, rather than
|
|
51
|
+
// re-deriving the format from argv here. The two views drifting is not hypothetical:
|
|
52
|
+
// while this hook only looked for `--format` in argv, `MJ_CLI_FORMAT=json mj codegen`
|
|
53
|
+
// at a terminal printed a figlet banner and *then* a JSON envelope — the env var the
|
|
54
|
+
// command honours was invisible to the banner decision, and the pipe check that would
|
|
55
|
+
// otherwise have saved us does not fire on a TTY. Routing both through
|
|
56
|
+
// ResolveOutputFormat makes that class of mismatch unrepresentable, and picks up the
|
|
57
|
+
// format aliases (`markdown`, `console`, …) for free.
|
|
58
|
+
const { format } = ResolveOutputFormat({
|
|
59
|
+
formatFlag: readFormatArg(argv),
|
|
60
|
+
// oclif's own `--json` boolean, declared by install:claude / update:claude.
|
|
61
|
+
jsonFlag: argv.includes('--json'),
|
|
62
|
+
});
|
|
63
|
+
const quiet = argv.some((arg) => arg === '--quiet' || (/^-[^-]+/.test(arg) && arg.includes('q')));
|
|
64
|
+
// ShouldSuppressChrome covers both machine formats and a redirected stdout: a caller
|
|
65
|
+
// that piped us has already said it is a machine, and a banner in its capture buffer
|
|
66
|
+
// is pure noise.
|
|
67
|
+
if (noBanner || quiet || ShouldSuppressChrome(format)) {
|
|
68
|
+
// Still conditionally load bootstrap — just no decorative output. (The old `--json`
|
|
69
|
+
// branch returned *without* loading it, which would have silently skipped class
|
|
70
|
+
// registration for any heavy command that later grew a `--json` flag.)
|
|
32
71
|
return await maybeLoadBootstrap(options);
|
|
33
72
|
}
|
|
34
|
-
// Skip banners entirely when --json is requested — the contract for --json
|
|
35
|
-
// is that stdout is parseable JSON, and any banner above it breaks
|
|
36
|
-
// `mj … --json | jq`. This early-return also skips the userAgent line below.
|
|
37
|
-
if (options.argv?.some((arg) => arg === '--json')) {
|
|
38
|
-
return;
|
|
39
|
-
}
|
|
40
73
|
// Suppress the large figlet banner for hot-path, frequently-run commands (e.g. `mj sync *`)
|
|
41
74
|
// and the agent-facing usage commands, where it's pure scrollback cost. The
|
|
42
75
|
// compact userAgent line below still prints.
|
package/dist/hooks/prerun.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prerun.js","sourceRoot":"","sources":["../../src/hooks/prerun.ts"],"names":[],"mappings":"AACA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,
|
|
1
|
+
{"version":3,"file":"prerun.js","sourceRoot":"","sources":["../../src/hooks/prerun.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { type OclifCommandShape } from './derived-usage.js';
|
|
1
2
|
/**
|
|
2
3
|
* Loads all CLI plugins so their `@RegisterClass(BaseCLIPlugin, …)` decorators
|
|
3
4
|
* populate the ClassFactory — the basis for the `mj usage` / `mj <domain> usage`
|
|
@@ -11,6 +12,12 @@
|
|
|
11
12
|
* These plugin modules are intentionally light — they static-import only
|
|
12
13
|
* cli-core + oclif + global and dynamic-import their heavy engines at execution
|
|
13
14
|
* time — so loading them here for usage composition is cheap.
|
|
15
|
+
*
|
|
16
|
+
* Finally, when the caller passes oclif's own command list, every command that no
|
|
17
|
+
* plugin declared gets a usage entry derived from oclif's manifest. Registration
|
|
18
|
+
* order is load-bearing: plugin metadata is read first and `RegisterUsage` is
|
|
19
|
+
* first-wins, so a migrated command keeps its curated entry and only the rest fall
|
|
20
|
+
* back to derivation.
|
|
14
21
|
*/
|
|
15
|
-
export declare function loadAllCliPlugins(searchFrom?: string): Promise<void>;
|
|
22
|
+
export declare function loadAllCliPlugins(searchFrom?: string, oclifCommands?: readonly OclifCommandShape[]): Promise<void>;
|
|
16
23
|
//# sourceMappingURL=cli-plugins.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-plugins.d.ts","sourceRoot":"","sources":["../../src/lib/cli-plugins.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cli-plugins.d.ts","sourceRoot":"","sources":["../../src/lib/cli-plugins.ts"],"names":[],"mappings":"AAEA,OAAO,EAAwB,KAAK,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAGlF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,iBAAiB,CACrC,UAAU,GAAE,MAAsB,EAClC,aAAa,CAAC,EAAE,SAAS,iBAAiB,EAAE,GAC3C,OAAO,CAAC,IAAI,CAAC,CAsBf"}
|
package/dist/lib/cli-plugins.js
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { CLIPluginRegistry } from '@memberjunction/cli-core';
|
|
2
2
|
import { RegisterDevWorkspaceUsage } from './dev-workspace/usage.js';
|
|
3
|
+
import { registerDerivedUsage } from './derived-usage.js';
|
|
4
|
+
import { DOMAIN_PROFILES } from './domain-profiles.js';
|
|
3
5
|
/**
|
|
4
6
|
* Loads all CLI plugins so their `@RegisterClass(BaseCLIPlugin, …)` decorators
|
|
5
7
|
* populate the ClassFactory — the basis for the `mj usage` / `mj <domain> usage`
|
|
@@ -13,8 +15,14 @@ import { RegisterDevWorkspaceUsage } from './dev-workspace/usage.js';
|
|
|
13
15
|
* These plugin modules are intentionally light — they static-import only
|
|
14
16
|
* cli-core + oclif + global and dynamic-import their heavy engines at execution
|
|
15
17
|
* time — so loading them here for usage composition is cheap.
|
|
18
|
+
*
|
|
19
|
+
* Finally, when the caller passes oclif's own command list, every command that no
|
|
20
|
+
* plugin declared gets a usage entry derived from oclif's manifest. Registration
|
|
21
|
+
* order is load-bearing: plugin metadata is read first and `RegisterUsage` is
|
|
22
|
+
* first-wins, so a migrated command keeps its curated entry and only the rest fall
|
|
23
|
+
* back to derivation.
|
|
16
24
|
*/
|
|
17
|
-
export async function loadAllCliPlugins(searchFrom = process.cwd()) {
|
|
25
|
+
export async function loadAllCliPlugins(searchFrom = process.cwd(), oclifCommands) {
|
|
18
26
|
await import('@memberjunction/metadata-sync/plugins');
|
|
19
27
|
await import('@memberjunction/codegen-lib/plugins');
|
|
20
28
|
// The `dev` domain ships inside this CLI as plain oclif commands (they must stay
|
|
@@ -27,5 +35,13 @@ export async function loadAllCliPlugins(searchFrom = process.cwd()) {
|
|
|
27
35
|
for (const f of failed) {
|
|
28
36
|
process.stderr.write(`Warning: could not load CLI plugin "${f.specifier}": ${f.error}\n`);
|
|
29
37
|
}
|
|
38
|
+
// Tier-1 domain summaries: a hand-written line beats one synthesized from N command
|
|
39
|
+
// summaries. Registered for every profiled domain, including plugin-backed ones —
|
|
40
|
+
// first-wins means a plugin that already declared one keeps it.
|
|
41
|
+
for (const [domain, profile] of Object.entries(DOMAIN_PROFILES)) {
|
|
42
|
+
CLIPluginRegistry.RegisterDomainSummary(domain, profile.summary);
|
|
43
|
+
}
|
|
44
|
+
if (oclifCommands?.length)
|
|
45
|
+
registerDerivedUsage(oclifCommands);
|
|
30
46
|
}
|
|
31
47
|
//# sourceMappingURL=cli-plugins.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-plugins.js","sourceRoot":"","sources":["../../src/lib/cli-plugins.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"cli-plugins.js","sourceRoot":"","sources":["../../src/lib/cli-plugins.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAA0B,MAAM,oBAAoB,CAAC;AAClF,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,aAAqB,OAAO,CAAC,GAAG,EAAE,EAClC,aAA4C;IAE5C,MAAM,MAAM,CAAC,uCAAuC,CAAC,CAAC;IACtD,MAAM,MAAM,CAAC,qCAAqC,CAAC,CAAC;IACpD,iFAAiF;IACjF,oFAAoF;IACpF,2DAA2D;IAC3D,yBAAyB,EAAE,CAAC;IAC5B,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,iBAAiB,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAC;IAC7E,6EAA6E;IAC7E,oDAAoD;IACpD,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACvB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC,SAAS,MAAM,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;IAC5F,CAAC;IAED,oFAAoF;IACpF,kFAAkF;IAClF,gEAAgE;IAChE,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC;QAChE,iBAAiB,CAAC,qBAAqB,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IACnE,CAAC;IAED,IAAI,aAAa,EAAE,MAAM;QAAE,oBAAoB,CAAC,aAAa,CAAC,CAAC;AACjE,CAAC"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Derives `mj usage` entries for the commands that are still plain oclif
|
|
3
|
+
* `Command`s, straight from oclif's own manifest.
|
|
4
|
+
*
|
|
5
|
+
* Why derive rather than hand-write: `mj usage` tier 1 tells an agent
|
|
6
|
+
* *"Run `mj <domain> usage` before invoking. Do NOT guess flags."* — so a domain
|
|
7
|
+
* absent from that map reads as "this domain does not exist". Before this, only the
|
|
8
|
+
* handful of `BaseCLIPlugin` domains were registered, and the map confidently
|
|
9
|
+
* advertised a fraction of the CLI. A map that lies by omission is worse than no map,
|
|
10
|
+
* because an agent has no way to tell the difference.
|
|
11
|
+
*
|
|
12
|
+
* Hand-writing 80-odd `PluginUsage` literals would have fixed it once and rotted
|
|
13
|
+
* immediately. oclif already holds every command's description, flags, and examples
|
|
14
|
+
* and cannot fall out of sync with itself, so the only thing left to hand-maintain
|
|
15
|
+
* is what oclif genuinely doesn't know: the runtime budget (see `domain-profiles.ts`).
|
|
16
|
+
*
|
|
17
|
+
* Registration is additive and never overwrites: `CLIPluginRegistry.RegisterUsage`
|
|
18
|
+
* keeps the first entry per command key, and plugin-declared `static Usage` is read
|
|
19
|
+
* first, so a migrated command always keeps its richer, curated metadata.
|
|
20
|
+
*/
|
|
21
|
+
import { type PluginUsage } from '@memberjunction/cli-core';
|
|
22
|
+
/**
|
|
23
|
+
* The slice of oclif's `Command.Loadable` this module reads.
|
|
24
|
+
*
|
|
25
|
+
* Declared structurally rather than imported so the derivation can be unit-tested
|
|
26
|
+
* with plain literals, and so a future oclif shape change surfaces here rather than
|
|
27
|
+
* in every caller.
|
|
28
|
+
*/
|
|
29
|
+
export interface OclifCommandShape {
|
|
30
|
+
id: string;
|
|
31
|
+
description?: string;
|
|
32
|
+
summary?: string;
|
|
33
|
+
hidden?: boolean;
|
|
34
|
+
flags?: Record<string, OclifFlagShape | undefined>;
|
|
35
|
+
examples?: ReadonlyArray<string | {
|
|
36
|
+
command?: string;
|
|
37
|
+
description?: string;
|
|
38
|
+
}>;
|
|
39
|
+
}
|
|
40
|
+
/** The slice of an oclif flag definition this module reads. */
|
|
41
|
+
export interface OclifFlagShape {
|
|
42
|
+
type?: string;
|
|
43
|
+
description?: string;
|
|
44
|
+
char?: string;
|
|
45
|
+
options?: readonly string[];
|
|
46
|
+
required?: boolean;
|
|
47
|
+
}
|
|
48
|
+
/** The domain is the first segment: `sync:push` → `sync`, `codegen` → `codegen`. */
|
|
49
|
+
export declare function domainOf(commandId: string): string;
|
|
50
|
+
/**
|
|
51
|
+
* Synthesizes a {@link PluginUsage} from one oclif command definition.
|
|
52
|
+
*
|
|
53
|
+
* Exported for testing — the registration path below is what production calls.
|
|
54
|
+
*/
|
|
55
|
+
export declare function deriveUsage(command: OclifCommandShape): PluginUsage;
|
|
56
|
+
/**
|
|
57
|
+
* Registers derived usage for every visible oclif command.
|
|
58
|
+
*
|
|
59
|
+
* Hidden commands and oclif's own built-ins (`help`, `version`) are skipped — the
|
|
60
|
+
* former are hidden from humans, so advertising them to an agent would be a strictly
|
|
61
|
+
* worse kind of surprise; the latter are not MJ domains. Already-registered commands
|
|
62
|
+
* (plugins, and the `dev` domain's explicit registrations) are left alone by
|
|
63
|
+
* `RegisterUsage`'s first-wins rule.
|
|
64
|
+
*
|
|
65
|
+
* Returns the keys it registered, so a caller or test can assert coverage.
|
|
66
|
+
*/
|
|
67
|
+
export declare function registerDerivedUsage(commands: readonly OclifCommandShape[]): string[];
|
|
68
|
+
//# sourceMappingURL=derived-usage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"derived-usage.d.ts","sourceRoot":"","sources":["../../src/lib/derived-usage.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,EAAqB,KAAK,WAAW,EAAwB,MAAM,0BAA0B,CAAC;AAGrG;;;;;;GAMG;AACH,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,GAAG,SAAS,CAAC,CAAC;IACnD,QAAQ,CAAC,EAAE,aAAa,CAAC,MAAM,GAAG;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC/E;AAED,+DAA+D;AAC/D,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAcD,oFAAoF;AACpF,wBAAgB,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAElD;AAsCD;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,iBAAiB,GAAG,WAAW,CAenE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,SAAS,iBAAiB,EAAE,GAAG,MAAM,EAAE,CAUrF"}
|