@memberjunction/cli 5.44.0 → 5.45.1
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/dist/commands/app/install.d.ts +1 -0
- package/dist/commands/app/install.d.ts.map +1 -1
- package/dist/commands/app/install.js +6 -1
- package/dist/commands/app/install.js.map +1 -1
- package/dist/commands/app/upgrade.d.ts +1 -0
- package/dist/commands/app/upgrade.d.ts.map +1 -1
- package/dist/commands/app/upgrade.js +5 -1
- package/dist/commands/app/upgrade.js.map +1 -1
- package/dist/utils/open-app-context.d.ts +12 -1
- package/dist/utils/open-app-context.d.ts.map +1 -1
- package/dist/utils/open-app-context.js +34 -1
- package/dist/utils/open-app-context.js.map +1 -1
- package/oclif.manifest.json +1165 -1152
- package/package.json +17 -17
|
@@ -15,6 +15,7 @@ export default class AppInstall extends Command {
|
|
|
15
15
|
static flags: {
|
|
16
16
|
version: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
|
|
17
17
|
verbose: import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
|
|
18
|
+
'non-interactive': import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
|
|
18
19
|
'dangerously-ignore-dbl-underscore-schema-rule': import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
|
|
19
20
|
};
|
|
20
21
|
run(): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../../src/commands/app/install.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,OAAO,EAAS,MAAM,aAAa,CAAC;AAMnD;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,OAAO;IAC7C,MAAM,CAAC,WAAW,SAAqD;IAEvE,MAAM,CAAC,QAAQ,
|
|
1
|
+
{"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../../src/commands/app/install.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,OAAO,EAAS,MAAM,aAAa,CAAC;AAMnD;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,OAAO;IAC7C,MAAM,CAAC,WAAW,SAAqD;IAEvE,MAAM,CAAC,QAAQ,WAMb;IAEF,MAAM,CAAC,IAAI;;MAMT;IAEF,MAAM,CAAC,KAAK;;;;;MAWV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAgC3B"}
|
|
@@ -17,6 +17,7 @@ export default class AppInstall extends Command {
|
|
|
17
17
|
'<%= config.bin %> app install https://github.com/acme/mj-crm --version 1.2.0',
|
|
18
18
|
'<%= config.bin %> app install https://github.com/acme/mj-crm --verbose',
|
|
19
19
|
'<%= config.bin %> app install https://github.com/MemberJunction/Integrations/CRM/HubSpot',
|
|
20
|
+
'<%= config.bin %> app install https://github.com/acme/mj-crm --non-interactive',
|
|
20
21
|
]; }
|
|
21
22
|
static { this.args = {
|
|
22
23
|
source: Args.string({
|
|
@@ -27,6 +28,10 @@ export default class AppInstall extends Command {
|
|
|
27
28
|
static { this.flags = {
|
|
28
29
|
version: Flags.string({ description: 'Specific version to install (default: latest)' }),
|
|
29
30
|
verbose: Flags.boolean({ char: 'v', description: 'Show detailed output' }),
|
|
31
|
+
'non-interactive': Flags.boolean({
|
|
32
|
+
description: 'Skip interactive setup prompts; post-install hooks use environment variables / defaults (for CI/headless installs)',
|
|
33
|
+
default: false,
|
|
34
|
+
}),
|
|
30
35
|
'dangerously-ignore-dbl-underscore-schema-rule': Flags.boolean({
|
|
31
36
|
hidden: true,
|
|
32
37
|
default: false,
|
|
@@ -36,7 +41,7 @@ export default class AppInstall extends Command {
|
|
|
36
41
|
const { args, flags } = await this.parse(AppInstall);
|
|
37
42
|
const spinner = ora();
|
|
38
43
|
try {
|
|
39
|
-
const context = await buildOrchestratorContext(this, flags.verbose);
|
|
44
|
+
const context = await buildOrchestratorContext(this, flags.verbose, !flags['non-interactive']);
|
|
40
45
|
const result = await InstallApp({
|
|
41
46
|
Source: args.source,
|
|
42
47
|
Version: flags.version,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install.js","sourceRoot":"","sources":["../../../src/commands/app/install.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC7D,OAAO,GAAG,MAAM,aAAa,CAAC;AAC9B,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAE3E;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,OAAO;aACtC,gBAAW,GAAG,iDAAiD,CAAC;aAEhE,aAAQ,GAAG;QAChB,8DAA8D;QAC9D,8EAA8E;QAC9E,wEAAwE;QACxE,0FAA0F;
|
|
1
|
+
{"version":3,"file":"install.js","sourceRoot":"","sources":["../../../src/commands/app/install.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC7D,OAAO,GAAG,MAAM,aAAa,CAAC;AAC9B,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAE3E;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,OAAO;aACtC,gBAAW,GAAG,iDAAiD,CAAC;aAEhE,aAAQ,GAAG;QAChB,8DAA8D;QAC9D,8EAA8E;QAC9E,wEAAwE;QACxE,0FAA0F;QAC1F,gFAAgF;KACjF,CAAC;aAEK,SAAI,GAAG;QACZ,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC;YAClB,WAAW,EACT,oKAAoK;YACtK,QAAQ,EAAE,IAAI;SACf,CAAC;KACH,CAAC;aAEK,UAAK,GAAG;QACb,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,+CAA+C,EAAE,CAAC;QACvF,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,sBAAsB,EAAE,CAAC;QAC1E,iBAAiB,EAAE,KAAK,CAAC,OAAO,CAAC;YAC/B,WAAW,EAAE,oHAAoH;YACjI,OAAO,EAAE,KAAK;SACf,CAAC;QACF,+CAA+C,EAAE,KAAK,CAAC,OAAO,CAAC;YAC7D,MAAM,EAAE,IAAI;YACZ,OAAO,EAAE,KAAK;SACf,CAAC;KACH,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QACrD,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC;QAEtB,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,wBAAwB,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC;YAE/F,MAAM,MAAM,GAAG,MAAM,UAAU,CAC7B;gBACE,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,2BAA2B,EAAE,KAAK,CAAC,+CAA+C,CAAC;aACpF,EACD,OAAO,CACR,CAAC;YAEF,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnB,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,aAAa,MAAM,CAAC,OAAO,KAAK,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;gBAC/E,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;oBACnB,IAAI,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;gBAClC,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,mBAAmB,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;gBAClE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACf,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAC/B,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACtB,CAAC;IACH,CAAC"}
|
|
@@ -14,6 +14,7 @@ export default class AppUpgrade extends Command {
|
|
|
14
14
|
static flags: {
|
|
15
15
|
version: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
|
|
16
16
|
verbose: import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
|
|
17
|
+
'non-interactive': import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
|
|
17
18
|
'dangerously-ignore-dbl-underscore-schema-rule': import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
|
|
18
19
|
};
|
|
19
20
|
run(): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upgrade.d.ts","sourceRoot":"","sources":["../../../src/commands/app/upgrade.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,OAAO,EAAS,MAAM,aAAa,CAAC;AAMnD;;;;;GAKG;AACH,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,OAAO;IAC7C,MAAM,CAAC,WAAW,SAAyD;IAE3E,MAAM,CAAC,QAAQ,WAGb;IAEF,MAAM,CAAC,IAAI;;MAKT;IAEF,MAAM,CAAC,KAAK
|
|
1
|
+
{"version":3,"file":"upgrade.d.ts","sourceRoot":"","sources":["../../../src/commands/app/upgrade.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,OAAO,EAAS,MAAM,aAAa,CAAC;AAMnD;;;;;GAKG;AACH,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,OAAO;IAC7C,MAAM,CAAC,WAAW,SAAyD;IAE3E,MAAM,CAAC,QAAQ,WAGb;IAEF,MAAM,CAAC,IAAI;;MAKT;IAEF,MAAM,CAAC,KAAK;;;;;MAWV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAgC3B"}
|
|
@@ -24,6 +24,10 @@ export default class AppUpgrade extends Command {
|
|
|
24
24
|
static { this.flags = {
|
|
25
25
|
version: Flags.string({ description: 'Specific version to upgrade to (default: latest)' }),
|
|
26
26
|
verbose: Flags.boolean({ char: 'v', description: 'Show detailed output' }),
|
|
27
|
+
'non-interactive': Flags.boolean({
|
|
28
|
+
description: 'Skip interactive prompts; post-upgrade hooks use environment variables / defaults (for CI/headless upgrades)',
|
|
29
|
+
default: false,
|
|
30
|
+
}),
|
|
27
31
|
'dangerously-ignore-dbl-underscore-schema-rule': Flags.boolean({
|
|
28
32
|
hidden: true,
|
|
29
33
|
default: false,
|
|
@@ -33,7 +37,7 @@ export default class AppUpgrade extends Command {
|
|
|
33
37
|
const { args, flags } = await this.parse(AppUpgrade);
|
|
34
38
|
const spinner = ora();
|
|
35
39
|
try {
|
|
36
|
-
const context = await buildOrchestratorContext(this, flags.verbose);
|
|
40
|
+
const context = await buildOrchestratorContext(this, flags.verbose, !flags['non-interactive']);
|
|
37
41
|
const result = await UpgradeApp({
|
|
38
42
|
AppName: args.name,
|
|
39
43
|
Version: flags.version,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upgrade.js","sourceRoot":"","sources":["../../../src/commands/app/upgrade.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC7D,OAAO,GAAG,MAAM,aAAa,CAAC;AAC9B,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAE3E;;;;;GAKG;AACH,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,OAAO;aACtC,gBAAW,GAAG,qDAAqD,CAAC;aAEpE,aAAQ,GAAG;QAChB,wCAAwC;QACxC,wDAAwD;KACzD,CAAC;aAEK,SAAI,GAAG;QACZ,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;YAChB,WAAW,EAAE,sCAAsC;YACnD,QAAQ,EAAE,IAAI;SACf,CAAC;KACH,CAAC;aAEK,UAAK,GAAG;QACb,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,kDAAkD,EAAE,CAAC;QAC1F,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,sBAAsB,EAAE,CAAC;QAC1E,+CAA+C,EAAE,KAAK,CAAC,OAAO,CAAC;YAC7D,MAAM,EAAE,IAAI;YACZ,OAAO,EAAE,KAAK;SACf,CAAC;KACH,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QACrD,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC;QAEtB,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,wBAAwB,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"upgrade.js","sourceRoot":"","sources":["../../../src/commands/app/upgrade.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC7D,OAAO,GAAG,MAAM,aAAa,CAAC;AAC9B,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAE3E;;;;;GAKG;AACH,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,OAAO;aACtC,gBAAW,GAAG,qDAAqD,CAAC;aAEpE,aAAQ,GAAG;QAChB,wCAAwC;QACxC,wDAAwD;KACzD,CAAC;aAEK,SAAI,GAAG;QACZ,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;YAChB,WAAW,EAAE,sCAAsC;YACnD,QAAQ,EAAE,IAAI;SACf,CAAC;KACH,CAAC;aAEK,UAAK,GAAG;QACb,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,kDAAkD,EAAE,CAAC;QAC1F,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,sBAAsB,EAAE,CAAC;QAC1E,iBAAiB,EAAE,KAAK,CAAC,OAAO,CAAC;YAC/B,WAAW,EAAE,8GAA8G;YAC3H,OAAO,EAAE,KAAK;SACf,CAAC;QACF,+CAA+C,EAAE,KAAK,CAAC,OAAO,CAAC;YAC7D,MAAM,EAAE,IAAI;YACZ,OAAO,EAAE,KAAK;SACf,CAAC;KACH,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QACrD,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC;QAEtB,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,wBAAwB,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC;YAE/F,MAAM,MAAM,GAAG,MAAM,UAAU,CAC7B;gBACE,OAAO,EAAE,IAAI,CAAC,IAAI;gBAClB,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,2BAA2B,EAAE,KAAK,CAAC,+CAA+C,CAAC;aACpF,EACD,OAAO,CACR,CAAC;YAEF,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnB,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY,MAAM,CAAC,OAAO,QAAQ,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;gBACjF,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;oBACnB,IAAI,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;gBAClC,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,mBAAmB,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;gBAClE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACf,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAC/B,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACtB,CAAC;IACH,CAAC"}
|
|
@@ -16,7 +16,7 @@ export declare function buildContextUser(): Promise<UserInfo>;
|
|
|
16
16
|
export declare function buildOrchestratorContext(command: {
|
|
17
17
|
log: (msg: string) => void;
|
|
18
18
|
warn: (msg: string | Error) => void;
|
|
19
|
-
}, verbose?: boolean): Promise<OrchestratorContextShape>;
|
|
19
|
+
}, verbose?: boolean, interactive?: boolean): Promise<OrchestratorContextShape>;
|
|
20
20
|
/**
|
|
21
21
|
* Structural type matching OrchestratorContext from the engine.
|
|
22
22
|
* Defined here to avoid a compile-time import of the engine package.
|
|
@@ -57,6 +57,17 @@ interface OrchestratorContextShape {
|
|
|
57
57
|
OnError?: (phase: string, message: string) => void;
|
|
58
58
|
OnWarn?: (phase: string, message: string) => void;
|
|
59
59
|
OnLog?: (message: string) => void;
|
|
60
|
+
OnPromptInput?: (message: string, opts?: {
|
|
61
|
+
default?: string;
|
|
62
|
+
}) => Promise<string>;
|
|
63
|
+
OnPromptConfirm?: (message: string, opts?: {
|
|
64
|
+
default?: boolean;
|
|
65
|
+
}) => Promise<boolean>;
|
|
66
|
+
OnPromptSelect?: (message: string, choices: Array<{
|
|
67
|
+
name: string;
|
|
68
|
+
value: string;
|
|
69
|
+
}>) => Promise<string>;
|
|
70
|
+
OnPromptPassword?: (message: string) => Promise<string>;
|
|
60
71
|
};
|
|
61
72
|
}
|
|
62
73
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"open-app-context.d.ts","sourceRoot":"","sources":["../../src/utils/open-app-context.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"open-app-context.d.ts","sourceRoot":"","sources":["../../src/utils/open-app-context.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,QAAQ,EAAE,KAAK,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAkD3E;;;;GAIG;AACH,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC,CAEzD;AAqCD;;;GAGG;AACH,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,QAAQ,CAAC,CAG1D;AAED;;GAEG;AACH,wBAAsB,wBAAwB,CAC5C,OAAO,EAAE;IAAE,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAAC,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,GAAG,KAAK,KAAK,IAAI,CAAA;CAAE,EAC5E,OAAO,CAAC,EAAE,OAAO,EACjB,WAAW,GAAE,OAAc,GAC1B,OAAO,CAAC,wBAAwB,CAAC,CAoEnC;AAED;;;GAGG;AACH,UAAU,wBAAwB;IAChC,WAAW,EAAE,QAAQ,CAAC;IACtB,gBAAgB,EAAE,oBAAoB,CAAC;IACvC,cAAc,EAAE;QACd,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC;QACjB,iBAAiB,CAAC,EAAE,OAAO,CAAC;QAC5B,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,sBAAsB,CAAC,EAAE,OAAO,CAAC;QACjC,cAAc,CAAC,EAAE,MAAM,CAAC;KACzB,CAAC;IACF,aAAa,EAAE;QACb,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KACnC,CAAC;IACF,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,cAAc,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,MAAM,CAAC;IACzC,eAAe,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,SAAS,GAAG,WAAW,GAAG,MAAM,CAAC;IACxE,iBAAiB,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,QAAQ,GAAG,QAAQ,CAAA;KAAE,CAAC,CAAC;IACvE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,qBAAqB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/C,SAAS,CAAC,EAAE;QACV,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;QACtD,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;QACrD,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;QACnD,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;QAClD,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;QAClC,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;YAAE,OAAO,CAAC,EAAE,MAAM,CAAA;SAAE,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;QAClF,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;YAAE,OAAO,CAAC,EAAE,OAAO,CAAA;SAAE,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;QACtF,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,CAAC,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;QACvG,gBAAgB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;KACzD,CAAC;CACH"}
|
|
@@ -10,6 +10,7 @@
|
|
|
10
10
|
* paths receive a provider whose `Dialect.PlatformKey` matches the real database.
|
|
11
11
|
*/
|
|
12
12
|
import ora from 'ora-classic';
|
|
13
|
+
import { input, confirm, select, password } from '@inquirer/prompts';
|
|
13
14
|
import { createRequire } from 'node:module';
|
|
14
15
|
import { UserCache } from '@memberjunction/sqlserver-dataprovider';
|
|
15
16
|
import { initializeProvider, cleanupProvider } from '@memberjunction/metadata-sync';
|
|
@@ -46,6 +47,11 @@ function toMJConfig(config) {
|
|
|
46
47
|
dbPassword: config.codeGenPassword,
|
|
47
48
|
dbEncrypt: config.dbHost.includes('.database.windows.net') ? 'Y' : 'N',
|
|
48
49
|
dbTrustServerCertificate: config.dbTrustServerCertificate ? 'Y' : 'N',
|
|
50
|
+
// Plumb the configured request timeout through to the shared provider pool so
|
|
51
|
+
// long-running `mj app …` operations (e.g. remove dropping a large schema) don't
|
|
52
|
+
// hit mssql's 15s default. Without this, RequestTimeout only reached the migration
|
|
53
|
+
// runner and never the pool that executes the schema DROPs.
|
|
54
|
+
dbRequestTimeout: config.dbRequestTimeout,
|
|
49
55
|
mjCoreSchema: config.coreSchema ?? '__mj',
|
|
50
56
|
};
|
|
51
57
|
}
|
|
@@ -97,11 +103,15 @@ export async function buildContextUser() {
|
|
|
97
103
|
/**
|
|
98
104
|
* Builds the full OrchestratorContext for install/upgrade/remove/disable/enable commands.
|
|
99
105
|
*/
|
|
100
|
-
export async function buildOrchestratorContext(command, verbose) {
|
|
106
|
+
export async function buildOrchestratorContext(command, verbose, interactive = true) {
|
|
101
107
|
const config = getValidatedConfig();
|
|
102
108
|
const provider = await ensureProviderInitialized();
|
|
103
109
|
const contextUser = getSystemUserInfo();
|
|
104
110
|
const spinner = verbose ? ora() : undefined;
|
|
111
|
+
// Only wire interactive prompt callbacks for a real TTY when not explicitly disabled.
|
|
112
|
+
// Their ABSENCE signals headless mode to in-process hook modules (e.g. the setup wizard),
|
|
113
|
+
// which then fall back to env/defaults instead of blocking on @inquirer (which errors in CI).
|
|
114
|
+
const wantPrompts = interactive && process.stdin.isTTY === true;
|
|
105
115
|
return {
|
|
106
116
|
ContextUser: contextUser,
|
|
107
117
|
DatabaseProvider: provider,
|
|
@@ -135,6 +145,29 @@ export async function buildOrchestratorContext(command, verbose) {
|
|
|
135
145
|
OnError: (phase, message) => command.warn(`[${phase}] ${message}`),
|
|
136
146
|
OnWarn: (phase, message) => command.warn(`[${phase}] ${message}`),
|
|
137
147
|
OnLog: (message) => command.log(message),
|
|
148
|
+
// Interactive prompt callbacks for in-process hook modules (e.g. a setup wizard) are
|
|
149
|
+
// wired ONLY for an interactive TTY; the spinner is paused so the prompt renders cleanly.
|
|
150
|
+
// When omitted (non-interactive / non-TTY), hook modules take their headless path.
|
|
151
|
+
...(wantPrompts
|
|
152
|
+
? {
|
|
153
|
+
OnPromptInput: async (message, opts) => {
|
|
154
|
+
spinner?.stop();
|
|
155
|
+
return await input({ message, default: opts?.default });
|
|
156
|
+
},
|
|
157
|
+
OnPromptConfirm: async (message, opts) => {
|
|
158
|
+
spinner?.stop();
|
|
159
|
+
return await confirm({ message, default: opts?.default });
|
|
160
|
+
},
|
|
161
|
+
OnPromptSelect: async (message, choices) => {
|
|
162
|
+
spinner?.stop();
|
|
163
|
+
return await select({ message, choices });
|
|
164
|
+
},
|
|
165
|
+
OnPromptPassword: async (message) => {
|
|
166
|
+
spinner?.stop();
|
|
167
|
+
return await password({ message, mask: true });
|
|
168
|
+
},
|
|
169
|
+
}
|
|
170
|
+
: {}),
|
|
138
171
|
},
|
|
139
172
|
};
|
|
140
173
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"open-app-context.js","sourceRoot":"","sources":["../../src/utils/open-app-context.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,GAAG,MAAM,aAAa,CAAC;AAC9B,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,OAAO,EAAE,SAAS,EAAE,MAAM,wCAAwC,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AACpF,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAIlD,gFAAgF;AAChF,2EAA2E;AAC3E,6EAA6E;AAC7E,iFAAiF;AACjF,qFAAqF;AACrF,gFAAgF;AAEhF;;;;GAIG;AACH,KAAK,UAAU,yBAAyB;IACtC,OAAO,kBAAkB,CAAC,UAAU,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC;AAC9D,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,UAAU,CAAC,MAAsB;IACxC,OAAO;QACL,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,UAAU,EAAE,MAAM,CAAC,YAAY;QAC/B,UAAU,EAAE,MAAM,CAAC,eAAe;QAClC,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG;QACtE,wBAAwB,EAAE,MAAM,CAAC,wBAAwB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG;QACrE,YAAY,EAAE,MAAM,CAAC,UAAU,IAAI,MAAM;KAC1C,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB;IACvC,MAAM,eAAe,EAAE,CAAC;AAC1B,CAAC;AAED,gFAAgF;AAChF,cAAc;AACd,gFAAgF;AAEhF;;;GAGG;AACH,SAAS,iBAAiB;IACxB,6EAA6E;IAC7E,kFAAkF;IAClF,MAAM,OAAO,GAAG,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;IACnD,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,kCAAkC;IAClC,MAAM,SAAS,GAAG,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;IACvF,IAAI,SAAS,EAAE,CAAC;QACd,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,iCAAiC;IACjC,MAAM,SAAS,GAAG,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IACjE,IAAI,SAAS,EAAE,CAAC;QACd,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,oFAAoF,CAAC,CAAC;AACxG,CAAC;AAED,gFAAgF;AAChF,aAAa;AACb,gFAAgF;AAEhF;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB;IACpC,MAAM,yBAAyB,EAAE,CAAC;IAClC,OAAO,iBAAiB,EAAE,CAAC;AAC7B,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,OAA4E,EAC5E,OAAiB;
|
|
1
|
+
{"version":3,"file":"open-app-context.js","sourceRoot":"","sources":["../../src/utils/open-app-context.ts"],"names":[],"mappings":"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"}
|