@memberjunction/cli 5.43.0 → 5.45.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.
@@ -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,WAKb;IAEF,MAAM,CAAC,IAAI;;MAMT;IAEF,MAAM,CAAC,KAAK;;;;MAOV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAgC3B"}
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;KAC3F,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,+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;YAEpE,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"}
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;;;;MAOV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAgC3B"}
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;YAEpE,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"}
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"}
@@ -1,13 +1,23 @@
1
1
  /**
2
2
  * Cleanup hook that runs after any command completes.
3
3
  *
4
- * Commands under `mj app *` open an mssql connection pool through
5
- * `ensureProviderInitialized` in utils/open-app-context.ts. The pool keeps
6
- * sockets alive, which pins the Node event loop open and makes the CLI
7
- * appear to hang after the command finishes printing its output.
4
+ * Only `mj app *` commands open an mssql connection pool (through
5
+ * `ensureProviderInitialized` in utils/open-app-context.ts). The pool keeps
6
+ * sockets alive, which pins the Node event loop open and makes the CLI appear
7
+ * to hang after the command finishes printing its output — so for those
8
+ * commands we close it here.
8
9
  *
9
- * `closeConnectionPool` is idempotent if the pool was never opened (most
10
- * non-`app` commands), it no-ops.
10
+ * The import of `open-app-context` is DEFERRED (dynamic) and gated on the
11
+ * command id: that module statically pulls in the entire DB-provider stack
12
+ * (@memberjunction/sqlserver-dataprovider, @memberjunction/metadata-sync,
13
+ * @memberjunction/core), which costs ~2.7s warm and far more on a cold CI
14
+ * runner. Loading it eagerly here charged that cost to EVERY command —
15
+ * including light ones like `install:claude` — which is what made the
16
+ * claude-pack subprocess tests exceed their spawn timeout. Non-`app` commands
17
+ * never open a pool, so they have nothing to close and skip the import.
18
+ *
19
+ * Dynamic import is justified per CLAUDE.md rule #8 (#3 — genuine, measured
20
+ * startup-cost deferral of a single heavy module).
11
21
  */
12
22
  import { Hook } from '@oclif/core';
13
23
  declare const hook: Hook<'postrun'>;
@@ -1 +1 @@
1
- {"version":3,"file":"postrun.d.ts","sourceRoot":"","sources":["../../src/hooks/postrun.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAGnC,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,SAAS,CAMzB,CAAC;AAEF,eAAe,IAAI,CAAC"}
1
+ {"version":3,"file":"postrun.d.ts","sourceRoot":"","sources":["../../src/hooks/postrun.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAEnC,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,SAAS,CAYzB,CAAC;AAEF,eAAe,IAAI,CAAC"}
@@ -1,6 +1,11 @@
1
- import { closeConnectionPool } from '../utils/open-app-context.js';
2
- const hook = async function () {
1
+ const hook = async function (options) {
2
+ const commandId = options.Command?.id ?? '';
3
+ // Pools are opened exclusively by `app:*` commands; nothing else can leave one open.
4
+ if (!commandId.startsWith('app:')) {
5
+ return;
6
+ }
3
7
  try {
8
+ const { closeConnectionPool } = await import('../utils/open-app-context.js');
4
9
  await closeConnectionPool();
5
10
  }
6
11
  catch {
@@ -1 +1 @@
1
- {"version":3,"file":"postrun.js","sourceRoot":"","sources":["../../src/hooks/postrun.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAEnE,MAAM,IAAI,GAAoB,KAAK;IACjC,IAAI,CAAC;QACH,MAAM,mBAAmB,EAAE,CAAC;IAC9B,CAAC;IAAC,MAAM,CAAC;QACP,8DAA8D;IAChE,CAAC;AACH,CAAC,CAAC;AAEF,eAAe,IAAI,CAAC"}
1
+ {"version":3,"file":"postrun.js","sourceRoot":"","sources":["../../src/hooks/postrun.ts"],"names":[],"mappings":"AAuBA,MAAM,IAAI,GAAoB,KAAK,WAAW,OAAO;IACnD,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC;IAC5C,qFAAqF;IACrF,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QAClC,OAAO;IACT,CAAC;IACD,IAAI,CAAC;QACH,MAAM,EAAE,mBAAmB,EAAE,GAAG,MAAM,MAAM,CAAC,8BAA8B,CAAC,CAAC;QAC7E,MAAM,mBAAmB,EAAE,CAAC;IAC9B,CAAC;IAAC,MAAM,CAAC;QACP,8DAA8D;IAChE,CAAC;AACH,CAAC,CAAC;AAEF,eAAe,IAAI,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":"AAaA,OAAO,EAAE,QAAQ,EAAE,KAAK,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AA6C3E;;;;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,GAChB,OAAO,CAAC,wBAAwB,CAAC,CAyCnC;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;KACnC,CAAC;CACH"}
1
+ {"version":3,"file":"open-app-context.d.ts","sourceRoot":"","sources":["../../src/utils/open-app-context.ts"],"names":[],"mappings":"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"}
@@ -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":"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"}
1
+ {"version":3,"file":"open-app-context.js","sourceRoot":"","sources":["../../src/utils/open-app-context.ts"],"names":[],"mappings":"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"}
@@ -188,7 +188,8 @@
188
188
  "<%= config.bin %> app install https://github.com/acme/mj-crm",
189
189
  "<%= config.bin %> app install https://github.com/acme/mj-crm --version 1.2.0",
190
190
  "<%= config.bin %> app install https://github.com/acme/mj-crm --verbose",
191
- "<%= config.bin %> app install https://github.com/MemberJunction/Integrations/CRM/HubSpot"
191
+ "<%= config.bin %> app install https://github.com/MemberJunction/Integrations/CRM/HubSpot",
192
+ "<%= config.bin %> app install https://github.com/acme/mj-crm --non-interactive"
192
193
  ],
193
194
  "flags": {
194
195
  "version": {
@@ -205,6 +206,12 @@
205
206
  "allowNo": false,
206
207
  "type": "boolean"
207
208
  },
209
+ "non-interactive": {
210
+ "description": "Skip interactive setup prompts; post-install hooks use environment variables / defaults (for CI/headless installs)",
211
+ "name": "non-interactive",
212
+ "allowNo": false,
213
+ "type": "boolean"
214
+ },
208
215
  "dangerously-ignore-dbl-underscore-schema-rule": {
209
216
  "hidden": true,
210
217
  "name": "dangerously-ignore-dbl-underscore-schema-rule",
@@ -354,6 +361,12 @@
354
361
  "allowNo": false,
355
362
  "type": "boolean"
356
363
  },
364
+ "non-interactive": {
365
+ "description": "Skip interactive prompts; post-upgrade hooks use environment variables / defaults (for CI/headless upgrades)",
366
+ "name": "non-interactive",
367
+ "allowNo": false,
368
+ "type": "boolean"
369
+ },
357
370
  "dangerously-ignore-dbl-underscore-schema-rule": {
358
371
  "hidden": true,
359
372
  "name": "dangerously-ignore-dbl-underscore-schema-rule",
@@ -1964,240 +1977,6 @@
1964
1977
  "index.js"
1965
1978
  ]
1966
1979
  },
1967
- "install:claude": {
1968
- "aliases": [],
1969
- "args": {},
1970
- "description": "Install or refresh the Claude Code pack in the current directory.",
1971
- "examples": [
1972
- "<%= config.bin %> install:claude",
1973
- "<%= config.bin %> install:claude --dry-run",
1974
- "<%= config.bin %> install:claude --from ./local-pack",
1975
- "<%= config.bin %> install:claude --json"
1976
- ],
1977
- "flags": {
1978
- "dir": {
1979
- "description": "Target directory for the install",
1980
- "name": "dir",
1981
- "default": ".",
1982
- "hasDynamicHelp": false,
1983
- "multiple": false,
1984
- "type": "option"
1985
- },
1986
- "major": {
1987
- "description": "Force a specific MJ major (default: detected from package.json)",
1988
- "name": "major",
1989
- "hasDynamicHelp": false,
1990
- "multiple": false,
1991
- "type": "option"
1992
- },
1993
- "ref": {
1994
- "description": "Git ref to fetch from (branch or tag). Default: main.",
1995
- "name": "ref",
1996
- "hasDynamicHelp": false,
1997
- "multiple": false,
1998
- "type": "option"
1999
- },
2000
- "from": {
2001
- "description": "Use a local pack source instead of fetching from GitHub",
2002
- "name": "from",
2003
- "hasDynamicHelp": false,
2004
- "multiple": false,
2005
- "type": "option"
2006
- },
2007
- "offline": {
2008
- "description": "Forbid network; requires --from <path>",
2009
- "name": "offline",
2010
- "allowNo": false,
2011
- "type": "boolean"
2012
- },
2013
- "dry-run": {
2014
- "description": "Print what would be written; change nothing",
2015
- "name": "dry-run",
2016
- "allowNo": false,
2017
- "type": "boolean"
2018
- },
2019
- "yes": {
2020
- "char": "y",
2021
- "description": "Don't prompt (reserved for future interactive paths; currently no-op)",
2022
- "name": "yes",
2023
- "allowNo": false,
2024
- "type": "boolean"
2025
- },
2026
- "force": {
2027
- "description": "Overwrite user-customized commands/skills (saves .bak files)",
2028
- "name": "force",
2029
- "allowNo": false,
2030
- "type": "boolean"
2031
- },
2032
- "skip-commands": {
2033
- "description": "Skip seeding .claude/commands/",
2034
- "name": "skip-commands",
2035
- "allowNo": false,
2036
- "type": "boolean"
2037
- },
2038
- "skip-skills": {
2039
- "description": "Skip seeding .claude/skills/",
2040
- "name": "skip-skills",
2041
- "allowNo": false,
2042
- "type": "boolean"
2043
- },
2044
- "skip-settings": {
2045
- "description": "Skip merging .claude/settings.json",
2046
- "name": "skip-settings",
2047
- "allowNo": false,
2048
- "type": "boolean"
2049
- },
2050
- "json": {
2051
- "description": "Output as JSON (matches plan §7.5 schema)",
2052
- "name": "json",
2053
- "allowNo": false,
2054
- "type": "boolean"
2055
- },
2056
- "verbose": {
2057
- "char": "v",
2058
- "description": "Show progress messages from the fetcher and merger",
2059
- "name": "verbose",
2060
- "allowNo": false,
2061
- "type": "boolean"
2062
- }
2063
- },
2064
- "hasDynamicHelp": false,
2065
- "hiddenAliases": [],
2066
- "id": "install:claude",
2067
- "pluginAlias": "@memberjunction/cli",
2068
- "pluginName": "@memberjunction/cli",
2069
- "pluginType": "core",
2070
- "strict": true,
2071
- "enableJsonFlag": false,
2072
- "isESM": true,
2073
- "relativePath": [
2074
- "dist",
2075
- "commands",
2076
- "install",
2077
- "claude.js"
2078
- ]
2079
- },
2080
- "install": {
2081
- "aliases": [],
2082
- "args": {},
2083
- "description": "Install MemberJunction from a GitHub release",
2084
- "examples": [
2085
- "<%= config.bin %> <%= command.id %>",
2086
- "<%= config.bin %> <%= command.id %> -t v4.3.0",
2087
- "<%= config.bin %> <%= command.id %> --dry-run",
2088
- "<%= config.bin %> <%= command.id %> --yes"
2089
- ],
2090
- "flags": {
2091
- "tag": {
2092
- "char": "t",
2093
- "description": "Release tag to install (e.g. v4.3.0). If omitted, shows a version picker.",
2094
- "name": "tag",
2095
- "hasDynamicHelp": false,
2096
- "multiple": false,
2097
- "type": "option"
2098
- },
2099
- "dir": {
2100
- "description": "Target directory for the installation",
2101
- "name": "dir",
2102
- "default": ".",
2103
- "hasDynamicHelp": false,
2104
- "multiple": false,
2105
- "type": "option"
2106
- },
2107
- "config": {
2108
- "char": "c",
2109
- "description": "Path to JSON config file with install settings (database, auth, ports, etc.)",
2110
- "name": "config",
2111
- "hasDynamicHelp": false,
2112
- "multiple": false,
2113
- "type": "option"
2114
- },
2115
- "legacy": {
2116
- "description": "Use the legacy interactive installer (ZIP-only distribution)",
2117
- "hidden": true,
2118
- "name": "legacy",
2119
- "allowNo": false,
2120
- "type": "boolean"
2121
- },
2122
- "dry-run": {
2123
- "description": "Show the install plan without executing it",
2124
- "name": "dry-run",
2125
- "allowNo": false,
2126
- "type": "boolean"
2127
- },
2128
- "yes": {
2129
- "char": "y",
2130
- "description": "Non-interactive mode: auto-select latest version and accept defaults",
2131
- "name": "yes",
2132
- "allowNo": false,
2133
- "type": "boolean"
2134
- },
2135
- "verbose": {
2136
- "char": "v",
2137
- "description": "Show detailed output",
2138
- "name": "verbose",
2139
- "allowNo": false,
2140
- "type": "boolean"
2141
- },
2142
- "skip-db": {
2143
- "description": "Skip database provisioning phases",
2144
- "name": "skip-db",
2145
- "allowNo": false,
2146
- "type": "boolean"
2147
- },
2148
- "skip-start": {
2149
- "description": "Skip service startup and smoke tests",
2150
- "name": "skip-start",
2151
- "allowNo": false,
2152
- "type": "boolean"
2153
- },
2154
- "no-resume": {
2155
- "description": "Ignore any existing checkpoint and start fresh",
2156
- "name": "no-resume",
2157
- "allowNo": false,
2158
- "type": "boolean"
2159
- },
2160
- "fast": {
2161
- "description": "Fast mode: skip smoke test and optimize post-codegen steps. Re-run without --fast if you encounter issues.",
2162
- "name": "fast",
2163
- "allowNo": false,
2164
- "type": "boolean"
2165
- },
2166
- "overwrite-config": {
2167
- "description": "Overwrite existing config files (.env, mj.config.cjs, environment.ts) instead of preserving them",
2168
- "name": "overwrite-config",
2169
- "allowNo": false,
2170
- "type": "boolean"
2171
- },
2172
- "monorepo": {
2173
- "description": "Install the full MemberJunction source repository instead of the lightweight distribution. Use this for MJ framework development.",
2174
- "name": "monorepo",
2175
- "allowNo": false,
2176
- "type": "boolean"
2177
- },
2178
- "no-claude-pack": {
2179
- "description": "Exclude the Claude Code pack (CLAUDE.md + .claude/ tree) from the scaffold. By default the pack ships with the install so opening Claude Code in your new MJ project gives you the curated MJ-aware experience immediately.",
2180
- "name": "no-claude-pack",
2181
- "allowNo": false,
2182
- "type": "boolean"
2183
- }
2184
- },
2185
- "hasDynamicHelp": false,
2186
- "hiddenAliases": [],
2187
- "id": "install",
2188
- "pluginAlias": "@memberjunction/cli",
2189
- "pluginName": "@memberjunction/cli",
2190
- "pluginType": "core",
2191
- "strict": true,
2192
- "enableJsonFlag": false,
2193
- "isESM": true,
2194
- "relativePath": [
2195
- "dist",
2196
- "commands",
2197
- "install",
2198
- "index.js"
2199
- ]
2200
- },
2201
1980
  "migrate:convert": {
2202
1981
  "aliases": [],
2203
1982
  "args": {},
@@ -2487,6 +2266,240 @@
2487
2266
  "rebake.js"
2488
2267
  ]
2489
2268
  },
2269
+ "install:claude": {
2270
+ "aliases": [],
2271
+ "args": {},
2272
+ "description": "Install or refresh the Claude Code pack in the current directory.",
2273
+ "examples": [
2274
+ "<%= config.bin %> install:claude",
2275
+ "<%= config.bin %> install:claude --dry-run",
2276
+ "<%= config.bin %> install:claude --from ./local-pack",
2277
+ "<%= config.bin %> install:claude --json"
2278
+ ],
2279
+ "flags": {
2280
+ "dir": {
2281
+ "description": "Target directory for the install",
2282
+ "name": "dir",
2283
+ "default": ".",
2284
+ "hasDynamicHelp": false,
2285
+ "multiple": false,
2286
+ "type": "option"
2287
+ },
2288
+ "major": {
2289
+ "description": "Force a specific MJ major (default: detected from package.json)",
2290
+ "name": "major",
2291
+ "hasDynamicHelp": false,
2292
+ "multiple": false,
2293
+ "type": "option"
2294
+ },
2295
+ "ref": {
2296
+ "description": "Git ref to fetch from (branch or tag). Default: main.",
2297
+ "name": "ref",
2298
+ "hasDynamicHelp": false,
2299
+ "multiple": false,
2300
+ "type": "option"
2301
+ },
2302
+ "from": {
2303
+ "description": "Use a local pack source instead of fetching from GitHub",
2304
+ "name": "from",
2305
+ "hasDynamicHelp": false,
2306
+ "multiple": false,
2307
+ "type": "option"
2308
+ },
2309
+ "offline": {
2310
+ "description": "Forbid network; requires --from <path>",
2311
+ "name": "offline",
2312
+ "allowNo": false,
2313
+ "type": "boolean"
2314
+ },
2315
+ "dry-run": {
2316
+ "description": "Print what would be written; change nothing",
2317
+ "name": "dry-run",
2318
+ "allowNo": false,
2319
+ "type": "boolean"
2320
+ },
2321
+ "yes": {
2322
+ "char": "y",
2323
+ "description": "Don't prompt (reserved for future interactive paths; currently no-op)",
2324
+ "name": "yes",
2325
+ "allowNo": false,
2326
+ "type": "boolean"
2327
+ },
2328
+ "force": {
2329
+ "description": "Overwrite user-customized commands/skills (saves .bak files)",
2330
+ "name": "force",
2331
+ "allowNo": false,
2332
+ "type": "boolean"
2333
+ },
2334
+ "skip-commands": {
2335
+ "description": "Skip seeding .claude/commands/",
2336
+ "name": "skip-commands",
2337
+ "allowNo": false,
2338
+ "type": "boolean"
2339
+ },
2340
+ "skip-skills": {
2341
+ "description": "Skip seeding .claude/skills/",
2342
+ "name": "skip-skills",
2343
+ "allowNo": false,
2344
+ "type": "boolean"
2345
+ },
2346
+ "skip-settings": {
2347
+ "description": "Skip merging .claude/settings.json",
2348
+ "name": "skip-settings",
2349
+ "allowNo": false,
2350
+ "type": "boolean"
2351
+ },
2352
+ "json": {
2353
+ "description": "Output as JSON (matches plan §7.5 schema)",
2354
+ "name": "json",
2355
+ "allowNo": false,
2356
+ "type": "boolean"
2357
+ },
2358
+ "verbose": {
2359
+ "char": "v",
2360
+ "description": "Show progress messages from the fetcher and merger",
2361
+ "name": "verbose",
2362
+ "allowNo": false,
2363
+ "type": "boolean"
2364
+ }
2365
+ },
2366
+ "hasDynamicHelp": false,
2367
+ "hiddenAliases": [],
2368
+ "id": "install:claude",
2369
+ "pluginAlias": "@memberjunction/cli",
2370
+ "pluginName": "@memberjunction/cli",
2371
+ "pluginType": "core",
2372
+ "strict": true,
2373
+ "enableJsonFlag": false,
2374
+ "isESM": true,
2375
+ "relativePath": [
2376
+ "dist",
2377
+ "commands",
2378
+ "install",
2379
+ "claude.js"
2380
+ ]
2381
+ },
2382
+ "install": {
2383
+ "aliases": [],
2384
+ "args": {},
2385
+ "description": "Install MemberJunction from a GitHub release",
2386
+ "examples": [
2387
+ "<%= config.bin %> <%= command.id %>",
2388
+ "<%= config.bin %> <%= command.id %> -t v4.3.0",
2389
+ "<%= config.bin %> <%= command.id %> --dry-run",
2390
+ "<%= config.bin %> <%= command.id %> --yes"
2391
+ ],
2392
+ "flags": {
2393
+ "tag": {
2394
+ "char": "t",
2395
+ "description": "Release tag to install (e.g. v4.3.0). If omitted, shows a version picker.",
2396
+ "name": "tag",
2397
+ "hasDynamicHelp": false,
2398
+ "multiple": false,
2399
+ "type": "option"
2400
+ },
2401
+ "dir": {
2402
+ "description": "Target directory for the installation",
2403
+ "name": "dir",
2404
+ "default": ".",
2405
+ "hasDynamicHelp": false,
2406
+ "multiple": false,
2407
+ "type": "option"
2408
+ },
2409
+ "config": {
2410
+ "char": "c",
2411
+ "description": "Path to JSON config file with install settings (database, auth, ports, etc.)",
2412
+ "name": "config",
2413
+ "hasDynamicHelp": false,
2414
+ "multiple": false,
2415
+ "type": "option"
2416
+ },
2417
+ "legacy": {
2418
+ "description": "Use the legacy interactive installer (ZIP-only distribution)",
2419
+ "hidden": true,
2420
+ "name": "legacy",
2421
+ "allowNo": false,
2422
+ "type": "boolean"
2423
+ },
2424
+ "dry-run": {
2425
+ "description": "Show the install plan without executing it",
2426
+ "name": "dry-run",
2427
+ "allowNo": false,
2428
+ "type": "boolean"
2429
+ },
2430
+ "yes": {
2431
+ "char": "y",
2432
+ "description": "Non-interactive mode: auto-select latest version and accept defaults",
2433
+ "name": "yes",
2434
+ "allowNo": false,
2435
+ "type": "boolean"
2436
+ },
2437
+ "verbose": {
2438
+ "char": "v",
2439
+ "description": "Show detailed output",
2440
+ "name": "verbose",
2441
+ "allowNo": false,
2442
+ "type": "boolean"
2443
+ },
2444
+ "skip-db": {
2445
+ "description": "Skip database provisioning phases",
2446
+ "name": "skip-db",
2447
+ "allowNo": false,
2448
+ "type": "boolean"
2449
+ },
2450
+ "skip-start": {
2451
+ "description": "Skip service startup and smoke tests",
2452
+ "name": "skip-start",
2453
+ "allowNo": false,
2454
+ "type": "boolean"
2455
+ },
2456
+ "no-resume": {
2457
+ "description": "Ignore any existing checkpoint and start fresh",
2458
+ "name": "no-resume",
2459
+ "allowNo": false,
2460
+ "type": "boolean"
2461
+ },
2462
+ "fast": {
2463
+ "description": "Fast mode: skip smoke test and optimize post-codegen steps. Re-run without --fast if you encounter issues.",
2464
+ "name": "fast",
2465
+ "allowNo": false,
2466
+ "type": "boolean"
2467
+ },
2468
+ "overwrite-config": {
2469
+ "description": "Overwrite existing config files (.env, mj.config.cjs, environment.ts) instead of preserving them",
2470
+ "name": "overwrite-config",
2471
+ "allowNo": false,
2472
+ "type": "boolean"
2473
+ },
2474
+ "monorepo": {
2475
+ "description": "Install the full MemberJunction source repository instead of the lightweight distribution. Use this for MJ framework development.",
2476
+ "name": "monorepo",
2477
+ "allowNo": false,
2478
+ "type": "boolean"
2479
+ },
2480
+ "no-claude-pack": {
2481
+ "description": "Exclude the Claude Code pack (CLAUDE.md + .claude/ tree) from the scaffold. By default the pack ships with the install so opening Claude Code in your new MJ project gives you the curated MJ-aware experience immediately.",
2482
+ "name": "no-claude-pack",
2483
+ "allowNo": false,
2484
+ "type": "boolean"
2485
+ }
2486
+ },
2487
+ "hasDynamicHelp": false,
2488
+ "hiddenAliases": [],
2489
+ "id": "install",
2490
+ "pluginAlias": "@memberjunction/cli",
2491
+ "pluginName": "@memberjunction/cli",
2492
+ "pluginType": "core",
2493
+ "strict": true,
2494
+ "enableJsonFlag": false,
2495
+ "isESM": true,
2496
+ "relativePath": [
2497
+ "dist",
2498
+ "commands",
2499
+ "install",
2500
+ "index.js"
2501
+ ]
2502
+ },
2490
2503
  "plugin:add": {
2491
2504
  "aliases": [],
2492
2505
  "args": {
@@ -5453,5 +5466,5 @@
5453
5466
  ]
5454
5467
  }
5455
5468
  },
5456
- "version": "5.43.0"
5469
+ "version": "5.45.0"
5457
5470
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@memberjunction/cli",
3
3
  "type": "module",
4
- "version": "5.43.0",
4
+ "version": "5.45.0",
5
5
  "description": "MemberJunction command line tools",
6
6
  "keywords": [
7
7
  "oclif"
@@ -55,25 +55,25 @@
55
55
  },
56
56
  "dependencies": {
57
57
  "@inquirer/prompts": "^8.2.0",
58
- "@memberjunction/ai-cli": "5.43.0",
59
- "@memberjunction/cli-core": "5.43.0",
60
- "@memberjunction/codegen-lib": "5.43.0",
61
- "@memberjunction/config": "5.43.0",
62
- "@memberjunction/core": "5.43.0",
63
- "@memberjunction/generic-database-provider": "5.43.0",
64
- "@memberjunction/installer": "5.43.0",
65
- "@memberjunction/db-auto-doc": "5.43.0",
66
- "@memberjunction/metadata-sync": "5.43.0",
67
- "@memberjunction/open-app-engine": "5.43.0",
68
- "@memberjunction/query-gen": "5.43.0",
69
- "@memberjunction/server-bootstrap-lite": "5.43.0",
58
+ "@memberjunction/ai-cli": "5.45.0",
59
+ "@memberjunction/cli-core": "5.45.0",
60
+ "@memberjunction/codegen-lib": "5.45.0",
61
+ "@memberjunction/config": "5.45.0",
62
+ "@memberjunction/core": "5.45.0",
63
+ "@memberjunction/generic-database-provider": "5.45.0",
64
+ "@memberjunction/installer": "5.45.0",
65
+ "@memberjunction/db-auto-doc": "5.45.0",
66
+ "@memberjunction/metadata-sync": "5.45.0",
67
+ "@memberjunction/open-app-engine": "5.45.0",
68
+ "@memberjunction/query-gen": "5.45.0",
69
+ "@memberjunction/server-bootstrap-lite": "5.45.0",
70
70
  "@memberjunction/skyway-core": "^0.6.2",
71
71
  "@memberjunction/skyway-postgres": "^0.6.2",
72
72
  "@memberjunction/skyway-sqlserver": "^0.6.2",
73
- "@memberjunction/sql-converter": "5.43.0",
74
- "@memberjunction/sqlglot-ts": "5.43.0",
75
- "@memberjunction/sqlserver-dataprovider": "5.43.0",
76
- "@memberjunction/testing-cli": "5.43.0",
73
+ "@memberjunction/sql-converter": "5.45.0",
74
+ "@memberjunction/sqlglot-ts": "5.45.0",
75
+ "@memberjunction/sqlserver-dataprovider": "5.45.0",
76
+ "@memberjunction/testing-cli": "5.45.0",
77
77
  "@oclif/core": "^3.27.0",
78
78
  "@oclif/plugin-help": "^6.2.37",
79
79
  "@oclif/plugin-version": "^2.2.36",