@memberjunction/cli 5.4.1 → 5.5.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.
Files changed (49) hide show
  1. package/dist/commands/doctor/index.d.ts +12 -0
  2. package/dist/commands/doctor/index.d.ts.map +1 -0
  3. package/dist/commands/doctor/index.js +69 -0
  4. package/dist/commands/doctor/index.js.map +1 -0
  5. package/dist/commands/install/index.d.ts +18 -136
  6. package/dist/commands/install/index.d.ts.map +1 -1
  7. package/dist/commands/install/index.js +189 -390
  8. package/dist/commands/install/index.js.map +1 -1
  9. package/dist/commands/sql-audit/index.d.ts +25 -0
  10. package/dist/commands/sql-audit/index.d.ts.map +1 -0
  11. package/dist/commands/sql-audit/index.js +198 -0
  12. package/dist/commands/sql-audit/index.js.map +1 -0
  13. package/dist/commands/sql-convert/index.d.ts +30 -0
  14. package/dist/commands/sql-convert/index.d.ts.map +1 -0
  15. package/dist/commands/sql-convert/index.js +128 -0
  16. package/dist/commands/sql-convert/index.js.map +1 -0
  17. package/dist/commands/translate-sql/index.d.ts +39 -0
  18. package/dist/commands/translate-sql/index.d.ts.map +1 -0
  19. package/dist/commands/translate-sql/index.js +229 -0
  20. package/dist/commands/translate-sql/index.js.map +1 -0
  21. package/dist/lib/legacy-install.d.ts +29 -0
  22. package/dist/lib/legacy-install.d.ts.map +1 -0
  23. package/dist/lib/legacy-install.js +391 -0
  24. package/dist/lib/legacy-install.js.map +1 -0
  25. package/dist/light-commands.d.ts.map +1 -1
  26. package/dist/light-commands.js +6 -1
  27. package/dist/light-commands.js.map +1 -1
  28. package/dist/translate-sql/classifier.d.ts +27 -0
  29. package/dist/translate-sql/classifier.d.ts.map +1 -0
  30. package/dist/translate-sql/classifier.js +118 -0
  31. package/dist/translate-sql/classifier.js.map +1 -0
  32. package/dist/translate-sql/groundTruth.d.ts +25 -0
  33. package/dist/translate-sql/groundTruth.d.ts.map +1 -0
  34. package/dist/translate-sql/groundTruth.js +93 -0
  35. package/dist/translate-sql/groundTruth.js.map +1 -0
  36. package/dist/translate-sql/index.d.ts +5 -0
  37. package/dist/translate-sql/index.d.ts.map +1 -0
  38. package/dist/translate-sql/index.js +5 -0
  39. package/dist/translate-sql/index.js.map +1 -0
  40. package/dist/translate-sql/reportGenerator.d.ts +26 -0
  41. package/dist/translate-sql/reportGenerator.d.ts.map +1 -0
  42. package/dist/translate-sql/reportGenerator.js +83 -0
  43. package/dist/translate-sql/reportGenerator.js.map +1 -0
  44. package/dist/translate-sql/ruleTranslator.d.ts +21 -0
  45. package/dist/translate-sql/ruleTranslator.d.ts.map +1 -0
  46. package/dist/translate-sql/ruleTranslator.js +74 -0
  47. package/dist/translate-sql/ruleTranslator.js.map +1 -0
  48. package/oclif.manifest.json +532 -168
  49. package/package.json +14 -12
@@ -0,0 +1,12 @@
1
+ import { Command } from '@oclif/core';
2
+ export default class Doctor extends Command {
3
+ static description: string;
4
+ static examples: string[];
5
+ static flags: {
6
+ dir: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
7
+ verbose: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
8
+ };
9
+ run(): Promise<void>;
10
+ private formatStatusIcon;
11
+ }
12
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/doctor/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAS,MAAM,aAAa,CAAC;AAQ7C,MAAM,CAAC,OAAO,OAAO,MAAO,SAAQ,OAAO;IACzC,MAAM,CAAC,WAAW,SAA4C;IAE9D,MAAM,CAAC,QAAQ,WAIb;IAEF,MAAM,CAAC,KAAK;;;MASV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;IA4C1B,OAAO,CAAC,gBAAgB;CASzB"}
@@ -0,0 +1,69 @@
1
+ import { Command, Flags } from '@oclif/core';
2
+ import chalk from 'chalk';
3
+ import { InstallerEngine, } from '@memberjunction/installer';
4
+ export default class Doctor extends Command {
5
+ static { this.description = 'Diagnose a MemberJunction installation'; }
6
+ static { this.examples = [
7
+ '<%= config.bin %> <%= command.id %>',
8
+ '<%= config.bin %> <%= command.id %> --dir ./my-mj-project',
9
+ '<%= config.bin %> <%= command.id %> --verbose',
10
+ ]; }
11
+ static { this.flags = {
12
+ dir: Flags.string({
13
+ description: 'Target directory to diagnose',
14
+ default: '.',
15
+ }),
16
+ verbose: Flags.boolean({
17
+ char: 'v',
18
+ description: 'Show detailed output including suggested fixes inline',
19
+ }),
20
+ }; }
21
+ async run() {
22
+ const { flags } = await this.parse(Doctor);
23
+ const engine = new InstallerEngine();
24
+ this.log('');
25
+ this.log(chalk.bold('MJ Doctor'));
26
+ this.log('─────────');
27
+ engine.On('diagnostic', (event) => {
28
+ const icon = this.formatStatusIcon(event.Status);
29
+ this.log(`${icon} ${event.Message}`);
30
+ if (event.SuggestedFix && flags.verbose) {
31
+ this.log(chalk.dim(` Fix: ${event.SuggestedFix}`));
32
+ }
33
+ });
34
+ const result = await engine.Doctor(flags.dir);
35
+ this.log('');
36
+ if (result.HasFailures) {
37
+ this.log(chalk.red.bold('Issues found:'));
38
+ for (const failure of result.Failures) {
39
+ this.log(chalk.red(` ✗ ${failure.Message}`));
40
+ if (failure.SuggestedFix) {
41
+ this.log(chalk.yellow(` → ${failure.SuggestedFix}`));
42
+ }
43
+ }
44
+ this.log('');
45
+ }
46
+ const warningCount = result.Warnings.length;
47
+ const failureCount = result.Failures.length;
48
+ const passCount = result.Checks.filter((c) => c.Status === 'pass').length;
49
+ if (failureCount > 0) {
50
+ this.log(chalk.red(`${failureCount} issue(s), ${warningCount} warning(s), ${passCount} passed`));
51
+ }
52
+ else if (warningCount > 0) {
53
+ this.log(chalk.yellow(`${warningCount} warning(s), ${passCount} passed — no critical issues`));
54
+ }
55
+ else {
56
+ this.log(chalk.green(`All ${passCount} checks passed`));
57
+ }
58
+ }
59
+ formatStatusIcon(status) {
60
+ switch (status) {
61
+ case 'pass': return chalk.green('[PASS]');
62
+ case 'fail': return chalk.red('[FAIL]');
63
+ case 'warn': return chalk.yellow('[WARN]');
64
+ case 'info': return chalk.blue('[INFO]');
65
+ default: return `[${status.toUpperCase()}]`;
66
+ }
67
+ }
68
+ }
69
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/doctor/index.ts"],"names":[],"mappings":"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"}
@@ -1,145 +1,27 @@
1
1
  import { Command } from '@oclif/core';
2
- import type { ParserOutput } from '@oclif/core/lib/interfaces/parser';
3
- import { z } from 'zod';
4
- type Config = z.infer<typeof configSchema>;
5
- declare const configSchema: z.ZodObject<{
6
- dbUrl: z.ZodString;
7
- dbInstance: z.ZodString;
8
- dbTrustServerCertificate: z.ZodEffects<z.ZodDefault<z.ZodBoolean>, "N" | "Y", boolean>;
9
- dbDatabase: z.ZodString;
10
- dbPort: z.ZodNumber;
11
- codeGenLogin: z.ZodString;
12
- codeGenPwD: z.ZodString;
13
- mjAPILogin: z.ZodString;
14
- mjAPIPwD: z.ZodString;
15
- graphQLPort: z.ZodOptional<z.ZodNumber>;
16
- authType: z.ZodEnum<["MSAL", "AUTH0", "BOTH"]>;
17
- msalWebClientId: z.ZodOptional<z.ZodString>;
18
- msalTenantId: z.ZodOptional<z.ZodString>;
19
- auth0ClientId: z.ZodOptional<z.ZodString>;
20
- auth0ClientSecret: z.ZodOptional<z.ZodString>;
21
- auth0Domain: z.ZodOptional<z.ZodString>;
22
- createNewUser: z.ZodOptional<z.ZodBoolean>;
23
- userEmail: z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodLiteral<"">]>>>;
24
- userFirstName: z.ZodOptional<z.ZodString>;
25
- userLastName: z.ZodOptional<z.ZodString>;
26
- userName: z.ZodOptional<z.ZodString>;
27
- openAIAPIKey: z.ZodOptional<z.ZodString>;
28
- anthropicAPIKey: z.ZodOptional<z.ZodString>;
29
- mistralAPIKey: z.ZodOptional<z.ZodString>;
30
- }, "strip", z.ZodTypeAny, {
31
- dbDatabase?: string;
32
- dbPort?: number;
33
- codeGenLogin?: string;
34
- dbTrustServerCertificate?: "N" | "Y";
35
- dbUrl?: string;
36
- dbInstance?: string;
37
- codeGenPwD?: string;
38
- mjAPILogin?: string;
39
- mjAPIPwD?: string;
40
- graphQLPort?: number;
41
- authType?: "MSAL" | "AUTH0" | "BOTH";
42
- msalWebClientId?: string;
43
- msalTenantId?: string;
44
- auth0ClientId?: string;
45
- auth0ClientSecret?: string;
46
- auth0Domain?: string;
47
- createNewUser?: boolean;
48
- userEmail?: string;
49
- userFirstName?: string;
50
- userLastName?: string;
51
- userName?: string;
52
- openAIAPIKey?: string;
53
- anthropicAPIKey?: string;
54
- mistralAPIKey?: string;
55
- }, {
56
- dbDatabase?: string;
57
- dbPort?: number;
58
- codeGenLogin?: string;
59
- dbTrustServerCertificate?: boolean;
60
- dbUrl?: string;
61
- dbInstance?: string;
62
- codeGenPwD?: string;
63
- mjAPILogin?: string;
64
- mjAPIPwD?: string;
65
- graphQLPort?: number;
66
- authType?: "MSAL" | "AUTH0" | "BOTH";
67
- msalWebClientId?: string;
68
- msalTenantId?: string;
69
- auth0ClientId?: string;
70
- auth0ClientSecret?: string;
71
- auth0Domain?: string;
72
- createNewUser?: boolean;
73
- userEmail?: string;
74
- userFirstName?: string;
75
- userLastName?: string;
76
- userName?: string;
77
- openAIAPIKey?: string;
78
- anthropicAPIKey?: string;
79
- mistralAPIKey?: string;
80
- }>;
81
2
  export default class Install extends Command {
82
3
  static description: string;
83
4
  static examples: string[];
84
5
  static flags: {
85
- verbose: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
6
+ tag: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
7
+ dir: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
8
+ config: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
9
+ legacy: import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
10
+ 'dry-run': import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
11
+ yes: import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
12
+ verbose: import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
13
+ 'skip-db': import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
14
+ 'skip-start': import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
15
+ 'no-resume': import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
16
+ fast: import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
86
17
  };
87
- flags: ParserOutput<Install>['flags'];
88
- userConfig: Config;
89
18
  run(): Promise<void>;
90
- getUserConfiguration(): Promise<{
91
- dbDatabase?: string;
92
- dbPort?: number;
93
- codeGenLogin?: string;
94
- dbTrustServerCertificate?: "N" | "Y";
95
- dbUrl?: string;
96
- dbInstance?: string;
97
- codeGenPwD?: string;
98
- mjAPILogin?: string;
99
- mjAPIPwD?: string;
100
- graphQLPort?: number;
101
- authType?: "MSAL" | "AUTH0" | "BOTH";
102
- msalWebClientId?: string;
103
- msalTenantId?: string;
104
- auth0ClientId?: string;
105
- auth0ClientSecret?: string;
106
- auth0Domain?: string;
107
- createNewUser?: boolean;
108
- userEmail?: string;
109
- userFirstName?: string;
110
- userLastName?: string;
111
- userName?: string;
112
- openAIAPIKey?: string;
113
- anthropicAPIKey?: string;
114
- mistralAPIKey?: string;
115
- }>;
116
- /**
117
- * Verifies that the specified directories exist.
118
- * @param {...string} dirs - The directories to check.
119
- */
120
- verifyDirs(...dirs: string[]): void;
121
- checkNodeVersion(): void;
122
- /**
123
- * Checks if there is at least `numGB` GB of free disk space.
124
- * @param {number} numGB - The number of GB to check for.
125
- * @returns {boolean} True if there is enough free disk space, false otherwise.
126
- */
127
- checkAvailableDiskSpace(numGB?: number): boolean;
128
- /**
129
- * Updates environment files in a given directory.
130
- * @param {string} dirPath - The path to the directory containing environment files.
131
- * @param {object} config - The configuration object with values to update.
132
- */
133
- updateEnvironmentFiles(dirPath: string, config: Record<string, string | undefined>): Promise<void>;
134
- renameFolderToMJ_BASE(dbDatabase: string): void;
135
- /**
136
- * Updates newUserSetup in the mj.config.cjs file.
137
- * @param {string} userName - The new UserName to set.
138
- * @param {string} firstName - The new FirstName to set.
139
- * @param {string} lastName - The new LastName to set.
140
- * @param {string} email - The new Email to set.
141
- */
142
- updateConfigNewUserSetup(userName?: string, firstName?: string, lastName?: string, email?: string): Promise<void>;
19
+ private runEngineInstall;
20
+ private wireEventHandlers;
21
+ private handlePromptEvent;
22
+ private renderHeader;
23
+ private renderDryRun;
24
+ private renderResult;
25
+ private formatDuration;
143
26
  }
144
- export {};
145
27
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/install/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAS,MAAM,aAAa,CAAC;AAC7C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AAKtE,OAAO,EAAY,CAAC,EAAE,MAAM,KAAK,CAAC;AAUlC,KAAK,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAC3C,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4BhB,CAAC;AAEH,MAAM,CAAC,OAAO,OAAO,OAAQ,SAAQ,OAAO;IAC1C,MAAM,CAAC,WAAW,SAA4B;IAE9C,MAAM,CAAC,QAAQ,WAGb;IAEF,MAAM,CAAC,KAAK;;MAEV;IAEF,KAAK,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC;IACtC,UAAU,EAAG,MAAM,CAAC;IAEd,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;IA6GpB,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;IAwH1B;;;OAGG;IACH,UAAU,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE;IAW5B,gBAAgB;IAOhB;;;;OAIG;IACH,uBAAuB,CAAC,KAAK,SAAI;IAkCjC;;;;OAIG;IACG,sBAAsB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAoCxF,qBAAqB,CAAC,UAAU,EAAE,MAAM;IAiBxC;;;;;;OAMG;IACG,wBAAwB,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM;CAiDxG"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/install/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAS,MAAM,aAAa,CAAC;AAe7C,MAAM,CAAC,OAAO,OAAO,OAAQ,SAAQ,OAAO;IAC1C,MAAM,CAAC,WAAW,SAAkD;IAEpE,MAAM,CAAC,QAAQ,WAKb;IAEF,MAAM,CAAC,KAAK;;;;;;;;;;;;MAwCV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;YAeZ,gBAAgB;IA+C9B,OAAO,CAAC,iBAAiB;YA0CX,iBAAiB;IA0C/B,OAAO,CAAC,YAAY;IAOpB,OAAO,CAAC,YAAY;IAOpB,OAAO,CAAC,YAAY;IAqCpB,OAAO,CAAC,cAAc;CAQvB"}