@memberjunction/cli 4.4.0 → 5.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (78) hide show
  1. package/README.md +130 -0
  2. package/dist/commands/app/check-updates.d.ts +13 -0
  3. package/dist/commands/app/check-updates.d.ts.map +1 -0
  4. package/dist/commands/app/check-updates.js +54 -0
  5. package/dist/commands/app/check-updates.js.map +1 -0
  6. package/dist/commands/app/disable.d.ts +16 -0
  7. package/dist/commands/app/disable.d.ts.map +1 -0
  8. package/dist/commands/app/disable.js +47 -0
  9. package/dist/commands/app/disable.js.map +1 -0
  10. package/dist/commands/app/enable.d.ts +16 -0
  11. package/dist/commands/app/enable.d.ts.map +1 -0
  12. package/dist/commands/app/enable.js +47 -0
  13. package/dist/commands/app/enable.js.map +1 -0
  14. package/dist/commands/app/info.d.ts +16 -0
  15. package/dist/commands/app/info.d.ts.map +1 -0
  16. package/dist/commands/app/info.js +64 -0
  17. package/dist/commands/app/info.js.map +1 -0
  18. package/dist/commands/app/install.d.ts +21 -0
  19. package/dist/commands/app/install.d.ts.map +1 -0
  20. package/dist/commands/app/install.js +54 -0
  21. package/dist/commands/app/install.js.map +1 -0
  22. package/dist/commands/app/list.d.ts +16 -0
  23. package/dist/commands/app/list.d.ts.map +1 -0
  24. package/dist/commands/app/list.js +60 -0
  25. package/dist/commands/app/list.js.map +1 -0
  26. package/dist/commands/app/remove.d.ts +22 -0
  27. package/dist/commands/app/remove.d.ts.map +1 -0
  28. package/dist/commands/app/remove.js +66 -0
  29. package/dist/commands/app/remove.js.map +1 -0
  30. package/dist/commands/app/upgrade.d.ts +20 -0
  31. package/dist/commands/app/upgrade.d.ts.map +1 -0
  32. package/dist/commands/app/upgrade.js +52 -0
  33. package/dist/commands/app/upgrade.js.map +1 -0
  34. package/dist/commands/clean/index.d.ts +0 -2
  35. package/dist/commands/clean/index.d.ts.map +1 -1
  36. package/dist/commands/clean/index.js +31 -19
  37. package/dist/commands/clean/index.js.map +1 -1
  38. package/dist/commands/codegen/5-0-fix-entity-names.d.ts +17 -0
  39. package/dist/commands/codegen/5-0-fix-entity-names.d.ts.map +1 -0
  40. package/dist/commands/codegen/5-0-fix-entity-names.js +104 -0
  41. package/dist/commands/codegen/5-0-fix-entity-names.js.map +1 -0
  42. package/dist/commands/codegen/5-0-fix-html-entity-names.d.ts +17 -0
  43. package/dist/commands/codegen/5-0-fix-html-entity-names.d.ts.map +1 -0
  44. package/dist/commands/codegen/5-0-fix-html-entity-names.js +92 -0
  45. package/dist/commands/codegen/5-0-fix-html-entity-names.js.map +1 -0
  46. package/dist/commands/codegen/5-0-fix-metadata-names.d.ts +17 -0
  47. package/dist/commands/codegen/5-0-fix-metadata-names.d.ts.map +1 -0
  48. package/dist/commands/codegen/5-0-fix-metadata-names.js +93 -0
  49. package/dist/commands/codegen/5-0-fix-metadata-names.js.map +1 -0
  50. package/dist/commands/codegen/index.d.ts +4 -1
  51. package/dist/commands/codegen/index.d.ts.map +1 -1
  52. package/dist/commands/codegen/index.js +30 -5
  53. package/dist/commands/codegen/index.js.map +1 -1
  54. package/dist/commands/codegen/manifest.d.ts +4 -1
  55. package/dist/commands/codegen/manifest.d.ts.map +1 -1
  56. package/dist/commands/codegen/manifest.js +34 -11
  57. package/dist/commands/codegen/manifest.js.map +1 -1
  58. package/dist/commands/migrate/index.d.ts +5 -1
  59. package/dist/commands/migrate/index.d.ts.map +1 -1
  60. package/dist/commands/migrate/index.js +102 -229
  61. package/dist/commands/migrate/index.js.map +1 -1
  62. package/dist/commands/sync/init.js +1 -1
  63. package/dist/commands/sync/init.js.map +1 -1
  64. package/dist/commands/sync/pull.js +4 -4
  65. package/dist/commands/sync/pull.js.map +1 -1
  66. package/dist/config.d.ts +154 -4
  67. package/dist/config.d.ts.map +1 -1
  68. package/dist/config.js +81 -48
  69. package/dist/config.js.map +1 -1
  70. package/dist/light-commands.d.ts +1 -1
  71. package/dist/light-commands.js +2 -2
  72. package/dist/light-commands.js.map +1 -1
  73. package/dist/utils/open-app-context.d.ts +48 -0
  74. package/dist/utils/open-app-context.d.ts.map +1 -0
  75. package/dist/utils/open-app-context.js +143 -0
  76. package/dist/utils/open-app-context.js.map +1 -0
  77. package/oclif.manifest.json +789 -247
  78. package/package.json +12 -12
package/dist/config.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { FlywayConfig } from 'node-flyway/dist/types/types';
1
+ import type { SkywayConfig } from '@memberjunction/skyway-core';
2
2
  import { z } from 'zod';
3
3
  export type MJConfig = z.infer<typeof mjConfigSchema>;
4
4
  declare const mjConfigSchema: z.ZodObject<{
@@ -12,8 +12,9 @@ declare const mjConfigSchema: z.ZodObject<{
12
12
  coreSchema: z.ZodDefault<z.ZodOptional<z.ZodString>>;
13
13
  cleanDisabled: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
14
14
  mjRepoUrl: z.ZodCatch<z.ZodString>;
15
- baselineVersion: z.ZodDefault<z.ZodOptional<z.ZodString>>;
15
+ baselineVersion: z.ZodOptional<z.ZodString>;
16
16
  baselineOnMigrate: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
17
+ transactionMode: z.ZodDefault<z.ZodOptional<z.ZodEnum<["per-run", "per-migration"]>>>;
17
18
  SQLOutput: z.ZodOptional<z.ZodObject<{
18
19
  schemaPlaceholders: z.ZodOptional<z.ZodArray<z.ZodObject<{
19
20
  schema: z.ZodString;
@@ -48,6 +49,99 @@ declare const mjConfigSchema: z.ZodObject<{
48
49
  placeholder?: string;
49
50
  }>, "many">>;
50
51
  }, z.ZodTypeAny, "passthrough">>>;
52
+ openApps: z.ZodOptional<z.ZodObject<{
53
+ github: z.ZodOptional<z.ZodObject<{
54
+ token: z.ZodOptional<z.ZodString>;
55
+ }, "strip", z.ZodTypeAny, {
56
+ token?: string;
57
+ }, {
58
+ token?: string;
59
+ }>>;
60
+ registries: z.ZodOptional<z.ZodArray<z.ZodObject<{
61
+ name: z.ZodString;
62
+ url: z.ZodString;
63
+ token: z.ZodOptional<z.ZodString>;
64
+ }, "strip", z.ZodTypeAny, {
65
+ token?: string;
66
+ name?: string;
67
+ url?: string;
68
+ }, {
69
+ token?: string;
70
+ name?: string;
71
+ url?: string;
72
+ }>, "many">>;
73
+ codeGenExclusions: z.ZodOptional<z.ZodObject<{
74
+ includeAppSchemas: z.ZodDefault<z.ZodBoolean>;
75
+ overrideApps: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
76
+ }, "strip", z.ZodTypeAny, {
77
+ includeAppSchemas?: boolean;
78
+ overrideApps?: string[];
79
+ }, {
80
+ includeAppSchemas?: boolean;
81
+ overrideApps?: string[];
82
+ }>>;
83
+ config: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
84
+ }, "strip", z.ZodTypeAny, {
85
+ github?: {
86
+ token?: string;
87
+ };
88
+ registries?: {
89
+ token?: string;
90
+ name?: string;
91
+ url?: string;
92
+ }[];
93
+ codeGenExclusions?: {
94
+ includeAppSchemas?: boolean;
95
+ overrideApps?: string[];
96
+ };
97
+ config?: Record<string, unknown>;
98
+ }, {
99
+ github?: {
100
+ token?: string;
101
+ };
102
+ registries?: {
103
+ token?: string;
104
+ name?: string;
105
+ url?: string;
106
+ }[];
107
+ codeGenExclusions?: {
108
+ includeAppSchemas?: boolean;
109
+ overrideApps?: string[];
110
+ };
111
+ config?: Record<string, unknown>;
112
+ }>>;
113
+ dynamicPackages: z.ZodOptional<z.ZodObject<{
114
+ server: z.ZodOptional<z.ZodArray<z.ZodObject<{
115
+ PackageName: z.ZodString;
116
+ StartupExport: z.ZodString;
117
+ AppName: z.ZodString;
118
+ Enabled: z.ZodDefault<z.ZodBoolean>;
119
+ }, "strip", z.ZodTypeAny, {
120
+ PackageName?: string;
121
+ StartupExport?: string;
122
+ AppName?: string;
123
+ Enabled?: boolean;
124
+ }, {
125
+ PackageName?: string;
126
+ StartupExport?: string;
127
+ AppName?: string;
128
+ Enabled?: boolean;
129
+ }>, "many">>;
130
+ }, "strip", z.ZodTypeAny, {
131
+ server?: {
132
+ PackageName?: string;
133
+ StartupExport?: string;
134
+ AppName?: string;
135
+ Enabled?: boolean;
136
+ }[];
137
+ }, {
138
+ server?: {
139
+ PackageName?: string;
140
+ StartupExport?: string;
141
+ AppName?: string;
142
+ Enabled?: boolean;
143
+ }[];
144
+ }>>;
51
145
  }, "strip", z.ZodTypeAny, {
52
146
  dbHost?: string;
53
147
  dbDatabase?: string;
@@ -61,6 +155,7 @@ declare const mjConfigSchema: z.ZodObject<{
61
155
  mjRepoUrl?: string;
62
156
  baselineVersion?: string;
63
157
  baselineOnMigrate?: boolean;
158
+ transactionMode?: "per-run" | "per-migration";
64
159
  SQLOutput?: {
65
160
  schemaPlaceholders?: {
66
161
  schema?: string;
@@ -69,6 +164,29 @@ declare const mjConfigSchema: z.ZodObject<{
69
164
  } & {
70
165
  [k: string]: unknown;
71
166
  };
167
+ openApps?: {
168
+ github?: {
169
+ token?: string;
170
+ };
171
+ registries?: {
172
+ token?: string;
173
+ name?: string;
174
+ url?: string;
175
+ }[];
176
+ codeGenExclusions?: {
177
+ includeAppSchemas?: boolean;
178
+ overrideApps?: string[];
179
+ };
180
+ config?: Record<string, unknown>;
181
+ };
182
+ dynamicPackages?: {
183
+ server?: {
184
+ PackageName?: string;
185
+ StartupExport?: string;
186
+ AppName?: string;
187
+ Enabled?: boolean;
188
+ }[];
189
+ };
72
190
  }, {
73
191
  dbHost?: string;
74
192
  dbDatabase?: string;
@@ -82,6 +200,7 @@ declare const mjConfigSchema: z.ZodObject<{
82
200
  mjRepoUrl?: unknown;
83
201
  baselineVersion?: string;
84
202
  baselineOnMigrate?: boolean;
203
+ transactionMode?: "per-run" | "per-migration";
85
204
  SQLOutput?: {
86
205
  schemaPlaceholders?: {
87
206
  schema?: string;
@@ -90,6 +209,29 @@ declare const mjConfigSchema: z.ZodObject<{
90
209
  } & {
91
210
  [k: string]: unknown;
92
211
  };
212
+ openApps?: {
213
+ github?: {
214
+ token?: string;
215
+ };
216
+ registries?: {
217
+ token?: string;
218
+ name?: string;
219
+ url?: string;
220
+ }[];
221
+ codeGenExclusions?: {
222
+ includeAppSchemas?: boolean;
223
+ overrideApps?: string[];
224
+ };
225
+ config?: Record<string, unknown>;
226
+ };
227
+ dynamicPackages?: {
228
+ server?: {
229
+ PackageName?: string;
230
+ StartupExport?: string;
231
+ AppName?: string;
232
+ Enabled?: boolean;
233
+ }[];
234
+ };
93
235
  }>;
94
236
  export declare const config: MJConfig | undefined;
95
237
  /**
@@ -108,7 +250,15 @@ export declare const getOptionalConfig: () => Partial<MJConfig> | undefined;
108
250
  * Returns undefined silently if config is invalid (command will handle the error).
109
251
  */
110
252
  export declare const updatedConfig: () => MJConfig | undefined;
111
- export declare const createFlywayUrl: (mjConfig: MJConfig) => string;
112
- export declare const getFlywayConfig: (mjConfig: MJConfig, tag?: string, schema?: string, dir?: string) => Promise<FlywayConfig>;
253
+ /**
254
+ * Builds a SkywayConfig from the MJ CLI config and optional overrides.
255
+ *
256
+ * Handles:
257
+ * - Database connection mapping (MJConfig fields → Skyway DatabaseConfig)
258
+ * - Migration location resolution (local dir, remote git tag)
259
+ * - Placeholder mapping (schemaPlaceholders, legacy mjSchema, flyway:defaultSchema)
260
+ * - Baseline configuration
261
+ */
262
+ export declare const getSkywayConfig: (mjConfig: MJConfig, tag?: string, schema?: string, dir?: string) => Promise<SkywayConfig>;
113
263
  export {};
114
264
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAIjE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AA4CtD,QAAA,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgBlB,CAAC;AAsBH,eAAO,MAAM,MAAM,EAAqB,QAAQ,GAAG,SAAS,CAAC;AAE7D;;;GAGG;AACH,eAAO,MAAM,kBAAkB,QAAO,QASrC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,iBAAiB,QAAO,OAAO,CAAC,QAAQ,CAAC,GAAG,SAGxD,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,aAAa,QAAO,QAAQ,GAAG,SAU3C,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,UAAU,QAAQ,WAIjD,CAAC;AAEF,eAAO,MAAM,eAAe,GAC1B,UAAU,QAAQ,EAClB,MAAM,MAAM,EACZ,SAAS,MAAM,EACf,MAAM,MAAM,KACX,OAAO,CAAC,YAAY,CA8EtB,CAAC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAIhE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AA0EtD,QAAA,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmBlB,CAAC;AAyBH,eAAO,MAAM,MAAM,EAAqB,QAAQ,GAAG,SAAS,CAAC;AAE7D;;;GAGG;AACH,eAAO,MAAM,kBAAkB,QAAO,QASrC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,iBAAiB,QAAO,OAAO,CAAC,QAAQ,CAAC,GAAG,SAGxD,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,aAAa,QAAO,QAAQ,GAAG,SAU3C,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,eAAe,GAC1B,UAAU,QAAQ,EAClB,MAAM,MAAM,EACZ,SAAS,MAAM,EACf,MAAM,MAAM,KACX,OAAO,CAAC,YAAY,CAuEtB,CAAC"}
package/dist/config.js CHANGED
@@ -18,8 +18,8 @@ const DEFAULT_CLI_CONFIG = {
18
18
  codeGenPassword: process.env.CODEGEN_DB_PASSWORD ?? '',
19
19
  coreSchema: '__mj',
20
20
  cleanDisabled: true,
21
- baselineVersion: '202602061600',
22
21
  baselineOnMigrate: true,
22
+ transactionMode: 'per-migration',
23
23
  mjRepoUrl: MJ_REPO_URL,
24
24
  migrationsLocation: 'filesystem:./migrations',
25
25
  };
@@ -39,6 +39,33 @@ const schemaPlaceholderSchema = z.object({
39
39
  schema: z.string(),
40
40
  placeholder: z.string(),
41
41
  });
42
+ // Schema for dynamic package entries managed by `mj app install/remove`
43
+ const dynamicPackageEntrySchema = z.object({
44
+ PackageName: z.string(),
45
+ StartupExport: z.string(),
46
+ AppName: z.string(),
47
+ Enabled: z.boolean().default(true),
48
+ });
49
+ // Schema for Open App configuration section
50
+ const openAppsConfigSchema = z.object({
51
+ github: z.object({
52
+ token: z.string().optional(),
53
+ }).optional(),
54
+ registries: z.array(z.object({
55
+ name: z.string(),
56
+ url: z.string().url(),
57
+ token: z.string().optional(),
58
+ })).optional(),
59
+ codeGenExclusions: z.object({
60
+ includeAppSchemas: z.boolean().default(false),
61
+ overrideApps: z.array(z.string()).default([]),
62
+ }).optional(),
63
+ config: z.record(z.string(), z.unknown()).optional(),
64
+ }).optional();
65
+ // Schema for dynamic packages section
66
+ const dynamicPackagesSchema = z.object({
67
+ server: z.array(dynamicPackageEntrySchema).optional(),
68
+ }).optional();
42
69
  // Schema for database-dependent config (required fields)
43
70
  const mjConfigSchema = z.object({
44
71
  dbHost: z.string().default('localhost'),
@@ -51,11 +78,14 @@ const mjConfigSchema = z.object({
51
78
  coreSchema: z.string().optional().default('__mj'),
52
79
  cleanDisabled: z.boolean().optional().default(true),
53
80
  mjRepoUrl: z.string().url().catch(MJ_REPO_URL),
54
- baselineVersion: z.string().optional().default('202602061600'),
81
+ baselineVersion: z.string().optional(),
55
82
  baselineOnMigrate: z.boolean().optional().default(true),
83
+ transactionMode: z.enum(['per-run', 'per-migration']).optional().default('per-migration'),
56
84
  SQLOutput: z.object({
57
85
  schemaPlaceholders: z.array(schemaPlaceholderSchema).optional(),
58
86
  }).passthrough().optional(),
87
+ openApps: openAppsConfigSchema,
88
+ dynamicPackages: dynamicPackagesSchema,
59
89
  });
60
90
  // Schema for non-database commands (all fields optional)
61
91
  const mjConfigSchemaOptional = z.object({
@@ -69,11 +99,14 @@ const mjConfigSchemaOptional = z.object({
69
99
  coreSchema: z.string().optional().default('__mj'),
70
100
  cleanDisabled: z.boolean().optional().default(true),
71
101
  mjRepoUrl: z.string().url().catch(MJ_REPO_URL),
72
- baselineVersion: z.string().optional().default('202602061600'),
102
+ baselineVersion: z.string().optional(),
73
103
  baselineOnMigrate: z.boolean().optional().default(true),
104
+ transactionMode: z.enum(['per-run', 'per-migration']).optional().default('per-migration'),
74
105
  SQLOutput: z.object({
75
106
  schemaPlaceholders: z.array(schemaPlaceholderSchema).optional(),
76
107
  }).passthrough().optional(),
108
+ openApps: openAppsConfigSchema,
109
+ dynamicPackages: dynamicPackagesSchema,
77
110
  });
78
111
  // Don't validate at module load - let commands decide when they need validated config
79
112
  export const config = result?.config;
@@ -112,10 +145,16 @@ export const updatedConfig = () => {
112
145
  // Don't log errors here - let the calling command handle validation
113
146
  return maybeConfig.success ? maybeConfig.data : undefined;
114
147
  };
115
- export const createFlywayUrl = (mjConfig) => {
116
- return `jdbc:sqlserver://${mjConfig.dbHost}:${mjConfig.dbPort}; databaseName=${mjConfig.dbDatabase}${mjConfig.dbTrustServerCertificate ? '; trustServerCertificate=true' : ''}`;
117
- };
118
- export const getFlywayConfig = async (mjConfig, tag, schema, dir) => {
148
+ /**
149
+ * Builds a SkywayConfig from the MJ CLI config and optional overrides.
150
+ *
151
+ * Handles:
152
+ * - Database connection mapping (MJConfig fields → Skyway DatabaseConfig)
153
+ * - Migration location resolution (local dir, remote git tag)
154
+ * - Placeholder mapping (schemaPlaceholders, legacy mjSchema, flyway:defaultSchema)
155
+ * - Baseline configuration
156
+ */
157
+ export const getSkywayConfig = async (mjConfig, tag, schema, dir) => {
119
158
  const targetSchema = schema || mjConfig.coreSchema;
120
159
  let location = mjConfig.migrationsLocation;
121
160
  if (dir && !tag) {
@@ -135,54 +174,48 @@ export const getFlywayConfig = async (mjConfig, tag, schema, dir) => {
135
174
  location = `filesystem:${tmp}/${subPath}`;
136
175
  }
137
176
  }
138
- // Build advanced config - only include properties with defined values
139
- const advancedConfig = {
140
- schemas: [targetSchema],
141
- createSchemas: true, // Auto-create schema if it doesn't exist (needed for --schema flag)
142
- };
143
- // Only add cleanDisabled if explicitly set to false
144
- if (mjConfig.cleanDisabled === false) {
145
- advancedConfig.cleanDisabled = false;
146
- }
147
- // Enable custom placeholders for cross-schema references (e.g., BCSaaS → MJ)
148
- // Uses schemaPlaceholders from mj.config.cjs SQLOutput configuration if available
149
- // Falls back to legacy behavior (mjSchema placeholder) for backward compatibility
150
- // NOTE: The Map entries are swapped (value, key) due to a bug in node-flyway's Map.forEach iteration
177
+ // Strip filesystem: prefix Skyway uses plain filesystem paths
178
+ const cleanLocation = location.replace(/^filesystem:/, '');
179
+ // Build placeholders
180
+ const placeholders = {};
181
+ // Always provide the flyway:defaultSchema built-in so existing migration SQL works unchanged
182
+ placeholders['flyway:defaultSchema'] = targetSchema;
151
183
  const schemaPlaceholders = mjConfig.SQLOutput?.schemaPlaceholders;
152
184
  if (schemaPlaceholders && schemaPlaceholders.length > 0) {
153
- // Use schemaPlaceholders from config (new behavior - supports BCSaaS and other extensions)
154
- // NOTE: node-flyway seems to hang when placeHolders Map is provided
155
- // Placeholders will be applied by the diagnostic Flyway CLI call instead
156
- // advancedConfig.placeHolderReplacement = true;
157
- // const placeholderMap = new Map();
158
- //
159
- // schemaPlaceholders.forEach(({ schema: schemaName, placeholder }) => {
160
- // const cleanPlaceholder = placeholder.replace(/^\$\{|\}$/g, '');
161
- // if (cleanPlaceholder.startsWith('flyway:')) return;
162
- // placeholderMap.set(cleanPlaceholder, schemaName);
163
- // });
164
- //
165
- // if (placeholderMap.size > 0) {
166
- // advancedConfig.placeHolders = placeholderMap;
167
- // }
185
+ // Use schemaPlaceholders from config (supports BCSaaS and other extensions)
186
+ for (const { schema: schemaName, placeholder } of schemaPlaceholders) {
187
+ const cleanPlaceholder = placeholder.replace(/^\$\{|\}$/g, '');
188
+ // Skip Flyway built-in placeholders (already handled above)
189
+ if (cleanPlaceholder.startsWith('flyway:'))
190
+ continue;
191
+ placeholders[cleanPlaceholder] = schemaName;
192
+ }
168
193
  }
169
194
  else if (schema && schema !== mjConfig.coreSchema) {
170
195
  // Legacy behavior: Add mjSchema placeholder for non-core schemas
171
- advancedConfig.placeHolderReplacement = true;
172
- // Map('mjSchema' => '__mj') generates -placeholders.mjSchema=__mj
173
- advancedConfig.placeHolders = new Map([['mjSchema', mjConfig.coreSchema]]);
196
+ placeholders['mjSchema'] = mjConfig.coreSchema;
174
197
  }
175
- // Merge additional required properties into advancedConfig
176
- advancedConfig.baselineVersion = mjConfig.baselineVersion;
177
- advancedConfig.baselineOnMigrate = mjConfig.baselineOnMigrate;
178
198
  return {
179
- url: createFlywayUrl(mjConfig),
180
- user: mjConfig.codeGenLogin,
181
- password: mjConfig.codeGenPassword,
182
- // Note: Flyway uses the first schema in advanced.schemas as the default schema
183
- // Setting both defaultSchema and schemas causes issues due to node-flyway's filtering logic
184
- migrationLocations: [location],
185
- advanced: advancedConfig,
199
+ Database: {
200
+ Server: mjConfig.dbHost,
201
+ Port: mjConfig.dbPort,
202
+ Database: mjConfig.dbDatabase,
203
+ User: mjConfig.codeGenLogin,
204
+ Password: mjConfig.codeGenPassword,
205
+ Options: {
206
+ TrustServerCertificate: mjConfig.dbTrustServerCertificate,
207
+ },
208
+ },
209
+ Migrations: {
210
+ Locations: [cleanLocation],
211
+ DefaultSchema: targetSchema,
212
+ // Only pass BaselineVersion if explicitly set in config;
213
+ // when omitted, Skyway auto-detects the latest B__baseline file.
214
+ ...(mjConfig.baselineVersion ? { BaselineVersion: mjConfig.baselineVersion } : {}),
215
+ BaselineOnMigrate: mjConfig.baselineOnMigrate,
216
+ },
217
+ TransactionMode: mjConfig.transactionMode,
218
+ Placeholders: Object.keys(placeholders).length > 0 ? placeholders : undefined,
186
219
  };
187
220
  };
188
221
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Commands that do NOT require @memberjunction/server-bootstrap-lite.
3
- * These commands use only lightweight dependencies (zod, cosmiconfig, node-flyway,
3
+ * These commands use only lightweight dependencies (zod, cosmiconfig, @memberjunction/skyway-core,
4
4
  * fast-glob, fs-extra, etc.) and can start instantly without loading ~1,400 class
5
5
  * registrations.
6
6
  *
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Commands that do NOT require @memberjunction/server-bootstrap-lite.
3
- * These commands use only lightweight dependencies (zod, cosmiconfig, node-flyway,
3
+ * These commands use only lightweight dependencies (zod, cosmiconfig, @memberjunction/skyway-core,
4
4
  * fast-glob, fs-extra, etc.) and can start instantly without loading ~1,400 class
5
5
  * registrations.
6
6
  *
@@ -19,7 +19,7 @@ export const LIGHT_COMMANDS = new Set([
19
19
  'help',
20
20
  // Bump - uses zod, fast-glob, fs only
21
21
  'bump',
22
- // Database commands - use node-flyway + config only
22
+ // Database commands - use @memberjunction/skyway-core + config only
23
23
  'clean',
24
24
  'migrate',
25
25
  // Install wizard - uses zod, recast, fs-extra only
@@ -1 +1 @@
1
- {"version":3,"file":"light-commands.js","sourceRoot":"","sources":["../src/light-commands.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,cAAc,GAAwB,IAAI,GAAG,CAAC;IACzD,yBAAyB;IACzB,SAAS;IACT,MAAM;IAEN,sCAAsC;IACtC,MAAM;IAEN,oDAAoD;IACpD,OAAO;IACP,SAAS;IAET,mDAAmD;IACnD,SAAS;IAET,kEAAkE;IAClE,IAAI;IACJ,UAAU;IACV,MAAM;IACN,OAAO;IAEP,0DAA0D;IAC1D,YAAY;IACZ,eAAe;IACf,cAAc;IACd,6BAA6B;IAC7B,wBAAwB;IACxB,aAAa;IACb,cAAc;CACf,CAAC,CAAC"}
1
+ {"version":3,"file":"light-commands.js","sourceRoot":"","sources":["../src/light-commands.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,cAAc,GAAwB,IAAI,GAAG,CAAC;IACzD,yBAAyB;IACzB,SAAS;IACT,MAAM;IAEN,sCAAsC;IACtC,MAAM;IAEN,oEAAoE;IACpE,OAAO;IACP,SAAS;IAET,mDAAmD;IACnD,SAAS;IAET,kEAAkE;IAClE,IAAI;IACJ,UAAU;IACV,MAAM;IACN,OAAO;IAEP,0DAA0D;IAC1D,YAAY;IACZ,eAAe;IACf,cAAc;IACd,6BAA6B;IAC7B,wBAAwB;IACxB,aAAa;IACb,cAAc;CACf,CAAC,CAAC"}
@@ -0,0 +1,48 @@
1
+ import type { UserInfo } from '@memberjunction/core';
2
+ import { SQLServerDataProvider } from '@memberjunction/sqlserver-dataprovider';
3
+ /**
4
+ * Closes the shared connection pool. Call on CLI exit for cleanup.
5
+ */
6
+ export declare function closeConnectionPool(): Promise<void>;
7
+ /**
8
+ * Builds a context user for read-only commands (list, info, check-updates).
9
+ * Initializes the MJ runtime and returns the system user.
10
+ */
11
+ export declare function buildContextUser(): Promise<UserInfo>;
12
+ /**
13
+ * Builds the full OrchestratorContext for install/upgrade/remove/disable/enable commands.
14
+ */
15
+ export declare function buildOrchestratorContext(command: {
16
+ log: (msg: string) => void;
17
+ warn: (msg: string | Error) => void;
18
+ }, verbose?: boolean): Promise<OrchestratorContextShape>;
19
+ /**
20
+ * Structural type matching OrchestratorContext from the engine.
21
+ * Defined here to avoid a compile-time import of the engine package.
22
+ */
23
+ interface OrchestratorContextShape {
24
+ ContextUser: UserInfo;
25
+ DatabaseProvider: SQLServerDataProvider;
26
+ DatabaseConfig: {
27
+ Host: string;
28
+ Port: number;
29
+ Database: string;
30
+ User: string;
31
+ Password: string;
32
+ TrustedConnection?: boolean;
33
+ };
34
+ GitHubOptions: {
35
+ Token?: string;
36
+ };
37
+ RepoRoot: string;
38
+ MJVersion: string;
39
+ Callbacks?: {
40
+ OnProgress?: (phase: string, message: string) => void;
41
+ OnSuccess?: (phase: string, message: string) => void;
42
+ OnError?: (phase: string, message: string) => void;
43
+ OnWarn?: (phase: string, message: string) => void;
44
+ OnLog?: (message: string) => void;
45
+ };
46
+ }
47
+ export {};
48
+ //# sourceMappingURL=open-app-context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"open-app-context.d.ts","sourceRoot":"","sources":["../../src/utils/open-app-context.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAqD,qBAAqB,EAAa,MAAM,wCAAwC,CAAC;AAyD7I;;GAEG;AACH,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC,CAOzD;AAmCD;;;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,CA6BnC;AAED;;;GAGG;AACH,UAAU,wBAAwB;IAChC,WAAW,EAAE,QAAQ,CAAC;IACtB,gBAAgB,EAAE,qBAAqB,CAAC;IACxC,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;KAC7B,CAAC;IACF,aAAa,EAAE;QACb,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,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"}