@memberjunction/cli 5.38.0 → 5.40.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 (38) hide show
  1. package/dist/baseline/emitter.js +23 -16
  2. package/dist/baseline/emitter.js.map +1 -1
  3. package/dist/commands/baseline/roundtrip.d.ts.map +1 -1
  4. package/dist/commands/baseline/roundtrip.js +12 -7
  5. package/dist/commands/baseline/roundtrip.js.map +1 -1
  6. package/dist/commands/bundle/index.d.ts +21 -0
  7. package/dist/commands/bundle/index.d.ts.map +1 -0
  8. package/dist/commands/bundle/index.js +62 -0
  9. package/dist/commands/bundle/index.js.map +1 -0
  10. package/dist/commands/migrate/convert.d.ts +4 -1
  11. package/dist/commands/migrate/convert.d.ts.map +1 -1
  12. package/dist/commands/migrate/convert.js +4 -1
  13. package/dist/commands/migrate/convert.js.map +1 -1
  14. package/dist/commands/migrate/index.d.ts +29 -0
  15. package/dist/commands/migrate/index.d.ts.map +1 -1
  16. package/dist/commands/migrate/index.js +111 -5
  17. package/dist/commands/migrate/index.js.map +1 -1
  18. package/dist/config.d.ts +6 -0
  19. package/dist/config.d.ts.map +1 -1
  20. package/dist/config.js +13 -0
  21. package/dist/config.js.map +1 -1
  22. package/dist/lib/db-preflight.d.ts +42 -0
  23. package/dist/lib/db-preflight.d.ts.map +1 -0
  24. package/dist/lib/db-preflight.js +113 -0
  25. package/dist/lib/db-preflight.js.map +1 -0
  26. package/dist/lib/db-version.d.ts +36 -0
  27. package/dist/lib/db-version.d.ts.map +1 -0
  28. package/dist/lib/db-version.js +45 -0
  29. package/dist/lib/db-version.js.map +1 -0
  30. package/dist/lib/migration-fetch.d.ts +49 -0
  31. package/dist/lib/migration-fetch.d.ts.map +1 -0
  32. package/dist/lib/migration-fetch.js +152 -0
  33. package/dist/lib/migration-fetch.js.map +1 -0
  34. package/dist/light-commands.d.ts.map +1 -1
  35. package/dist/light-commands.js +2 -0
  36. package/dist/light-commands.js.map +1 -1
  37. package/oclif.manifest.json +529 -443
  38. package/package.json +15 -15
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/migrate/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/migrate/index.ts"],"names":[],"mappings":"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"}
package/dist/config.d.ts CHANGED
@@ -15,6 +15,8 @@ declare const mjConfigSchema: z.ZodObject<{
15
15
  coreSchema: z.ZodDefault<z.ZodOptional<z.ZodString>>;
16
16
  cleanDisabled: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
17
17
  mjRepoUrl: z.ZodCatch<z.ZodString>;
18
+ mjRepoBranch: z.ZodDefault<z.ZodOptional<z.ZodString>>;
19
+ mjRepoVersion: z.ZodOptional<z.ZodString>;
18
20
  baselineVersion: z.ZodOptional<z.ZodString>;
19
21
  baselineOnMigrate: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
20
22
  outOfOrder: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
@@ -209,6 +211,8 @@ declare const mjConfigSchema: z.ZodObject<{
209
211
  coreSchema?: string;
210
212
  cleanDisabled?: boolean;
211
213
  mjRepoUrl?: string;
214
+ mjRepoBranch?: string;
215
+ mjRepoVersion?: string;
212
216
  baselineVersion?: string;
213
217
  baselineOnMigrate?: boolean;
214
218
  outOfOrder?: boolean;
@@ -269,6 +273,8 @@ declare const mjConfigSchema: z.ZodObject<{
269
273
  coreSchema?: string;
270
274
  cleanDisabled?: boolean;
271
275
  mjRepoUrl?: unknown;
276
+ mjRepoBranch?: string;
277
+ mjRepoVersion?: string;
272
278
  baselineVersion?: string;
273
279
  baselineOnMigrate?: boolean;
274
280
  outOfOrder?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAqC,MAAM,6BAA6B,CAAC;AAInG,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAmGtD,QAAA,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YAtChB,8DAA8D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAahE,iFAAiF;;QAEjF,sFAAsF;;QAEtF,6FAA6F;;QAE7F,+FAA+F;;QAE/F,yEAAyE;;;;;;;;;;;QAKzE,8DAA8D;;QAE9D,4FAA4F;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiC5F,CAAC;AA6BH,eAAO,MAAM,MAAM,EAAqB,QAAQ,GAAG,SAAS,CAAC;AAE7D;;;GAGG;AACH,eAAO,MAAM,kBAAkB,QAAO,QAyBrC,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,CA6FtB,CAAC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAqC,MAAM,6BAA6B,CAAC;AAInG,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAoGtD,QAAA,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YAtChB,8DAA8D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAahE,iFAAiF;;QAEjF,sFAAsF;;QAEtF,6FAA6F;;QAE7F,+FAA+F;;QAE/F,yEAAyE;;;;;;;;;;;QAKzE,8DAA8D;;QAE9D,4FAA4F;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwC5F,CAAC;AAkCH,eAAO,MAAM,MAAM,EAAqB,QAAQ,GAAG,SAAS,CAAC;AAE7D;;;GAGG;AACH,eAAO,MAAM,kBAAkB,QAAO,QAyBrC,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,CA6FtB,CAAC"}
package/dist/config.js CHANGED
@@ -27,6 +27,7 @@ const DEFAULT_CLI_CONFIG = {
27
27
  baselineOnMigrate: true,
28
28
  transactionMode: 'per-migration',
29
29
  mjRepoUrl: MJ_REPO_URL,
30
+ mjRepoBranch: 'main',
30
31
  migrationsLocation: 'filesystem:./migrations',
31
32
  };
32
33
  const explorer = cosmiconfigSync('mj', { searchStrategy: 'global' });
@@ -106,6 +107,13 @@ const mjConfigSchema = z.object({
106
107
  coreSchema: z.string().optional().default('__mj'),
107
108
  cleanDisabled: z.boolean().optional().default(true),
108
109
  mjRepoUrl: z.string().url().catch(MJ_REPO_URL),
110
+ // Default branch fetched when no explicit tag is given. `main` is the published-code
111
+ // branch; `next` is integration-only and never a default migrate/install target.
112
+ mjRepoBranch: z.string().optional().default('main'),
113
+ // Concrete release tag pinned by `mj install` so a bare `mj migrate` (no --tag)
114
+ // targets the same version as the installed code. Absent for monorepo developers,
115
+ // who fall back to the local `migrationsLocation`.
116
+ mjRepoVersion: z.string().optional(),
109
117
  baselineVersion: z.string().optional(),
110
118
  baselineOnMigrate: z.boolean().optional().default(true),
111
119
  outOfOrder: z.boolean().optional().default(false),
@@ -131,6 +139,11 @@ const mjConfigSchemaOptional = z.object({
131
139
  coreSchema: z.string().optional().default('__mj'),
132
140
  cleanDisabled: z.boolean().optional().default(true),
133
141
  mjRepoUrl: z.string().url().catch(MJ_REPO_URL),
142
+ mjRepoBranch: z.string().optional().default('main'),
143
+ // Concrete release tag pinned by `mj install` so a bare `mj migrate` (no --tag)
144
+ // targets the same version as the installed code. Absent for monorepo developers,
145
+ // who fall back to the local `migrationsLocation`.
146
+ mjRepoVersion: z.string().optional(),
134
147
  baselineVersion: z.string().optional(),
135
148
  baselineOnMigrate: z.boolean().optional().default(true),
136
149
  outOfOrder: z.boolean().optional().default(false),
@@ -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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"}
@@ -0,0 +1,42 @@
1
+ /**
2
+ * Database connection preflight.
3
+ *
4
+ * Opens a real connection using the same settings `mj migrate` uses, runs a
5
+ * trivial query, and classifies any failure into an actionable result. The
6
+ * headline case: detecting a self-signed / untrusted TLS certificate and
7
+ * suggesting `DB_TRUST_SERVER_CERTIFICATE` for local instances — instead of the
8
+ * cryptic "self-signed certificate" error surfacing mid-migration.
9
+ *
10
+ * Lives in MJCLI (not the installer) because the SQL driver (`mssql`) ships
11
+ * here; the installer surfaces it through `mj migrate` / `--check-connection`.
12
+ *
13
+ * @module lib/db-preflight
14
+ */
15
+ import type { MJConfig } from '../config.js';
16
+ /** The subset of config a connection needs — keeps this independently testable. */
17
+ export type DbConnectionConfig = Pick<MJConfig, 'dbPlatform' | 'dbHost' | 'dbPort' | 'dbDatabase' | 'codeGenLogin' | 'codeGenPassword' | 'dbEncrypt' | 'dbTrustServerCertificate'>;
18
+ /** Why a preflight connection failed, ordered by how specifically we can advise. */
19
+ export type DbPreflightReason = 'tls-untrusted-cert' | 'auth' | 'unreachable' | 'other';
20
+ /**
21
+ * Outcome of a connection preflight. A flat shape (rather than a discriminated
22
+ * union) because this package compiles without `strictNullChecks`, so union
23
+ * narrowing on `Ok` is unreliable; `Reason`/`Message`/`Suggestion` are populated
24
+ * only when `Ok` is false.
25
+ */
26
+ export interface DbPreflightResult {
27
+ /** True when a connection was established and a probe query succeeded. */
28
+ Ok: boolean;
29
+ /** Failure classification (set only when `Ok` is false). */
30
+ Reason?: DbPreflightReason;
31
+ /** Underlying error message (set only when `Ok` is false). */
32
+ Message?: string;
33
+ /** An actionable next step, when one can be offered. */
34
+ Suggestion?: string;
35
+ }
36
+ /**
37
+ * Open a real connection with the configured encrypt/trust settings, run a
38
+ * trivial query, and report success or a classified failure. Always closes the
39
+ * connection it opened.
40
+ */
41
+ export declare function verifyDatabaseConnection(config: DbConnectionConfig): Promise<DbPreflightResult>;
42
+ //# sourceMappingURL=db-preflight.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"db-preflight.d.ts","sourceRoot":"","sources":["../../src/lib/db-preflight.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAIH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAE1C,mFAAmF;AACnF,MAAM,MAAM,kBAAkB,GAAG,IAAI,CACnC,QAAQ,EACR,YAAY,GAAG,QAAQ,GAAG,QAAQ,GAAG,YAAY,GAAG,cAAc,GAAG,iBAAiB,GAAG,WAAW,GAAG,0BAA0B,CAClI,CAAC;AAEF,oFAAoF;AACpF,MAAM,MAAM,iBAAiB,GAAG,oBAAoB,GAAG,MAAM,GAAG,aAAa,GAAG,OAAO,CAAC;AAExF;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB;IAChC,0EAA0E;IAC1E,EAAE,EAAE,OAAO,CAAC;IACZ,4DAA4D;IAC5D,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAC3B,8DAA8D;IAC9D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,wDAAwD;IACxD,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAiED;;;;GAIG;AACH,wBAAsB,wBAAwB,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAuBrG"}
@@ -0,0 +1,113 @@
1
+ /**
2
+ * Database connection preflight.
3
+ *
4
+ * Opens a real connection using the same settings `mj migrate` uses, runs a
5
+ * trivial query, and classifies any failure into an actionable result. The
6
+ * headline case: detecting a self-signed / untrusted TLS certificate and
7
+ * suggesting `DB_TRUST_SERVER_CERTIFICATE` for local instances — instead of the
8
+ * cryptic "self-signed certificate" error surfacing mid-migration.
9
+ *
10
+ * Lives in MJCLI (not the installer) because the SQL driver (`mssql`) ships
11
+ * here; the installer surfaces it through `mj migrate` / `--check-connection`.
12
+ *
13
+ * @module lib/db-preflight
14
+ */
15
+ import { openConnection } from '../baseline/connection.js';
16
+ /** Map the config's DB platform to the connection helper's dialect. */
17
+ function dialectFor(platform) {
18
+ return platform === 'postgresql' ? 'postgres' : 'mssql';
19
+ }
20
+ /** True when the error indicates an untrusted / self-signed TLS certificate. */
21
+ function isUntrustedCertError(message) {
22
+ const m = message.toLowerCase();
23
+ return (m.includes('self-signed certificate') ||
24
+ m.includes('self signed certificate') ||
25
+ m.includes('depth_zero_self_signed_cert') ||
26
+ m.includes('self_signed_cert_in_chain') ||
27
+ m.includes('unable to verify the first certificate') ||
28
+ m.includes('unable to get local issuer certificate'));
29
+ }
30
+ /** True when the error indicates a credentials / login problem. */
31
+ function isAuthError(message) {
32
+ const m = message.toLowerCase();
33
+ return m.includes('login failed') || m.includes('password authentication failed');
34
+ }
35
+ /** True when the error indicates the host / port could not be reached. */
36
+ function isUnreachableError(message) {
37
+ const m = message.toLowerCase();
38
+ return (m.includes('econnrefused') || m.includes('etimedout') || m.includes('enotfound') || m.includes('connection timed out') || m.includes('could not connect'));
39
+ }
40
+ /** Turn a connection error message into a classified, actionable result. */
41
+ function classifyFailure(message, config) {
42
+ if (isUntrustedCertError(message)) {
43
+ // Only suggest trusting the cert when we aren't already trusting it — otherwise
44
+ // the problem is a different cert issue and that advice would mislead.
45
+ const suggestion = config.dbTrustServerCertificate
46
+ ? undefined
47
+ : 'The database is presenting a self-signed / untrusted TLS certificate. For a local or ' +
48
+ 'development instance, set DB_TRUST_SERVER_CERTIFICATE=1 in your .env (or ' +
49
+ 'dbTrustServerCertificate: true in mj.config.cjs) to trust it, then retry.';
50
+ return { Ok: false, Reason: 'tls-untrusted-cert', Message: message, Suggestion: suggestion };
51
+ }
52
+ if (isAuthError(message)) {
53
+ return {
54
+ Ok: false,
55
+ Reason: 'auth',
56
+ Message: message,
57
+ Suggestion: 'Check the database login (codeGenLogin / codeGenPassword) in your .env or mj.config.cjs.',
58
+ };
59
+ }
60
+ if (isUnreachableError(message)) {
61
+ return {
62
+ Ok: false,
63
+ Reason: 'unreachable',
64
+ Message: message,
65
+ Suggestion: `Confirm the database is running and reachable at ${config.dbHost}:${config.dbPort}.`,
66
+ };
67
+ }
68
+ return { Ok: false, Reason: 'other', Message: message };
69
+ }
70
+ /**
71
+ * Open a real connection with the configured encrypt/trust settings, run a
72
+ * trivial query, and report success or a classified failure. Always closes the
73
+ * connection it opened.
74
+ */
75
+ export async function verifyDatabaseConnection(config) {
76
+ const params = {
77
+ dialect: dialectFor(config.dbPlatform),
78
+ host: config.dbHost,
79
+ port: config.dbPort,
80
+ user: config.codeGenLogin,
81
+ password: config.codeGenPassword,
82
+ database: config.dbDatabase,
83
+ encrypt: config.dbEncrypt,
84
+ trustServerCertificate: config.dbTrustServerCertificate,
85
+ };
86
+ let conn;
87
+ try {
88
+ const runner = await openConnection(params);
89
+ conn = runner;
90
+ await runner.query('SELECT 1');
91
+ return { Ok: true };
92
+ }
93
+ catch (err) {
94
+ return classifyFailure(err instanceof Error ? err.message : String(err), config);
95
+ }
96
+ finally {
97
+ await closeQuietly(conn);
98
+ }
99
+ }
100
+ /** Best-effort close of a preflight connection; a teardown error must not mask the verdict. */
101
+ async function closeQuietly(conn) {
102
+ if (!conn)
103
+ return;
104
+ try {
105
+ await conn.close();
106
+ }
107
+ catch (closeErr) {
108
+ // Intentionally ignored: this connection only probed reachability, so a close
109
+ // failure is not actionable and must not overwrite the preflight result.
110
+ void closeErr;
111
+ }
112
+ }
113
+ //# sourceMappingURL=db-preflight.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"db-preflight.js","sourceRoot":"","sources":["../../src/lib/db-preflight.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * Reads the highest migration version already applied to the target database from
3
+ * Skyway's history table.
4
+ *
5
+ * Returns `null` when there is no history (a fresh database) — which tells the fetch
6
+ * layer to use `baseline + tail`. A non-null version means "existing database, upgrade
7
+ * from here", so the fetch returns only the versioned migrations after it (no baseline,
8
+ * which Skyway never applies to a database that already has history).
9
+ *
10
+ * @module lib/db-version
11
+ */
12
+ /** Minimal shape of a Skyway history record we read (the real record carries more fields). */
13
+ interface HistoryRecordLike {
14
+ Version: string | null;
15
+ Type: string;
16
+ Success?: boolean;
17
+ }
18
+ /** Minimal shape of the Skyway provider we use to read history (structurally compatible with the real one). */
19
+ export interface MigrationHistoryProvider {
20
+ Connect(): Promise<void>;
21
+ Disconnect(): Promise<void>;
22
+ History: {
23
+ Exists(schema: string, tableName: string): Promise<boolean>;
24
+ GetAllRecords(schema: string, tableName: string): Promise<readonly HistoryRecordLike[]>;
25
+ };
26
+ }
27
+ /**
28
+ * SIDE EFFECTS: connects to the database to read the history table, then disconnects
29
+ * (on every exit path).
30
+ *
31
+ * @returns the highest applied version (Skyway's `<timestamp>` key), or `null` if the
32
+ * history table does not exist yet (fresh database).
33
+ */
34
+ export declare function readCurrentDbVersion(provider: MigrationHistoryProvider, schema: string, historyTable: string): Promise<string | null>;
35
+ export {};
36
+ //# sourceMappingURL=db-version.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"db-version.d.ts","sourceRoot":"","sources":["../../src/lib/db-version.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,8FAA8F;AAC9F,UAAU,iBAAiB;IACzB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,+GAA+G;AAC/G,MAAM,WAAW,wBAAwB;IACvC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACzB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,OAAO,EAAE;QACP,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;QAC5D,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,iBAAiB,EAAE,CAAC,CAAC;KACzF,CAAC;CACH;AAED;;;;;;GAMG;AACH,wBAAsB,oBAAoB,CAAC,QAAQ,EAAE,wBAAwB,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAW3I"}
@@ -0,0 +1,45 @@
1
+ /**
2
+ * Reads the highest migration version already applied to the target database from
3
+ * Skyway's history table.
4
+ *
5
+ * Returns `null` when there is no history (a fresh database) — which tells the fetch
6
+ * layer to use `baseline + tail`. A non-null version means "existing database, upgrade
7
+ * from here", so the fetch returns only the versioned migrations after it (no baseline,
8
+ * which Skyway never applies to a database that already has history).
9
+ *
10
+ * @module lib/db-version
11
+ */
12
+ /**
13
+ * SIDE EFFECTS: connects to the database to read the history table, then disconnects
14
+ * (on every exit path).
15
+ *
16
+ * @returns the highest applied version (Skyway's `<timestamp>` key), or `null` if the
17
+ * history table does not exist yet (fresh database).
18
+ */
19
+ export async function readCurrentDbVersion(provider, schema, historyTable) {
20
+ await provider.Connect();
21
+ try {
22
+ if (!(await provider.History.Exists(schema, historyTable))) {
23
+ return null;
24
+ }
25
+ const records = await provider.History.GetAllRecords(schema, historyTable);
26
+ return highestAppliedVersion(records);
27
+ }
28
+ finally {
29
+ await provider.Disconnect();
30
+ }
31
+ }
32
+ /** Highest successful, non-schema-marker version among history records (mirrors Skyway's own rule). */
33
+ function highestAppliedVersion(records) {
34
+ let highest = null;
35
+ for (const record of records) {
36
+ if (record.Version === null || record.Type === 'SCHEMA' || record.Success === false) {
37
+ continue;
38
+ }
39
+ if (highest === null || record.Version > highest) {
40
+ highest = record.Version;
41
+ }
42
+ }
43
+ return highest;
44
+ }
45
+ //# sourceMappingURL=db-version.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"db-version.js","sourceRoot":"","sources":["../../src/lib/db-version.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAmBH;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,QAAkC,EAAE,MAAc,EAAE,YAAoB;IACjH,MAAM,QAAQ,CAAC,OAAO,EAAE,CAAC;IACzB,IAAI,CAAC;QACH,IAAI,CAAC,CAAC,MAAM,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,EAAE,CAAC;YAC3D,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;QAC3E,OAAO,qBAAqB,CAAC,OAAO,CAAC,CAAC;IACxC,CAAC;YAAS,CAAC;QACT,MAAM,QAAQ,CAAC,UAAU,EAAE,CAAC;IAC9B,CAAC;AACH,CAAC;AAED,uGAAuG;AACvG,SAAS,qBAAqB,CAAC,OAAqC;IAClE,IAAI,OAAO,GAAkB,IAAI,CAAC;IAClC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,IAAI,MAAM,CAAC,OAAO,KAAK,IAAI,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;YACpF,SAAS;QACX,CAAC;QACD,IAAI,OAAO,KAAK,IAAI,IAAI,MAAM,CAAC,OAAO,GAAG,OAAO,EAAE,CAAC;YACjD,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QAC3B,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -0,0 +1,49 @@
1
+ export type MigrationDialect = 'sqlserver' | 'postgresql';
2
+ export interface MigrationFetchResult {
3
+ /** Temp clone root to hand to Skyway as the migration location. */
4
+ dir: string;
5
+ /** Repo-relative migration paths checked out (empty when the full-history fallback was used). */
6
+ selected: string[];
7
+ /** True when partial clone was unavailable and the full `migrations/` dir was fetched instead. */
8
+ usedFallback: boolean;
9
+ /** Removes the temp clone. Callers MUST invoke this in a finally on every exit path. */
10
+ cleanup: () => Promise<void>;
11
+ }
12
+ /**
13
+ * Resolves a user-supplied tag/branch into a git ref.
14
+ * A semantic version (`2.123.0` / `v2.123.0`) maps to the `vX.Y.Z` release tag;
15
+ * anything else (e.g. `main`) is treated as a branch name unchanged.
16
+ */
17
+ export declare function resolveGitRef(tagOrBranch: string): string;
18
+ /**
19
+ * Pure selector: given the repo-relative migration paths present at a ref, return
20
+ * the minimal slice Skyway needs. Repeatable migrations are always included.
21
+ *
22
+ * Two modes, keyed on `currentVersion` (the highest migration already applied to the
23
+ * target database, or `null` for a fresh one):
24
+ *
25
+ * - **Fresh install** (`currentVersion == null`): `baseline + tail` — the highest `B`
26
+ * baseline plus every `V` after it. Skyway applies the baseline (consolidated schema)
27
+ * then the tail. This is the bandwidth-optimal path for a brand-new database.
28
+ * - **Existing-DB upgrade** (`currentVersion` set): every `V` strictly after the current
29
+ * version, with **no baseline**. Skyway never applies a `B` file to a database that
30
+ * already has history, and the baseline floor would wrongly skip the intermediate
31
+ * versioned migrations the DB still needs (e.g. a v5.36 file below a v5.37 baseline
32
+ * when upgrading a v5.35 database).
33
+ *
34
+ * With no baseline present (e.g. legacy v2) the fresh path returns the full versioned history.
35
+ */
36
+ export declare function selectMigrationSlice(paths: readonly string[], currentVersion?: string | null): string[];
37
+ /**
38
+ * SIDE EFFECTS: clones from `repoUrl` over the network into a temp dir and checks out
39
+ * only the selected migration slice. Returns the temp dir plus a `cleanup` the caller
40
+ * MUST run in a finally. On any internal failure the temp dir is removed before throwing.
41
+ */
42
+ export declare function fetchMigrationSlice(opts: {
43
+ repoUrl: string;
44
+ ref: string;
45
+ dialect: MigrationDialect;
46
+ /** Highest version already applied to the target DB; `null`/omitted = fresh install (baseline + tail). */
47
+ currentVersion?: string | null;
48
+ }): Promise<MigrationFetchResult>;
49
+ //# sourceMappingURL=migration-fetch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migration-fetch.d.ts","sourceRoot":"","sources":["../../src/lib/migration-fetch.ts"],"names":[],"mappings":"AAyBA,MAAM,MAAM,gBAAgB,GAAG,WAAW,GAAG,YAAY,CAAC;AAE1D,MAAM,WAAW,oBAAoB;IACnC,mEAAmE;IACnE,GAAG,EAAE,MAAM,CAAC;IACZ,iGAAiG;IACjG,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,kGAAkG;IAClG,YAAY,EAAE,OAAO,CAAC;IACtB,wFAAwF;IACxF,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B;AAKD;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAIzD;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,EAAE,CAcvG;AA4BD;;;;GAIG;AACH,wBAAsB,mBAAmB,CAAC,IAAI,EAAE;IAC9C,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,gBAAgB,CAAC;IAC1B,0GAA0G;IAC1G,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC,GAAG,OAAO,CAAC,oBAAoB,CAAC,CA2BhC"}
@@ -0,0 +1,152 @@
1
+ /**
2
+ * @module lib/migration-fetch
3
+ *
4
+ * Fetches the *minimal* slice of migration files needed to bring a database to a
5
+ * target version, instead of cloning the entire `migrations/` history.
6
+ *
7
+ * The selection depends on whether the target database is fresh or existing, because
8
+ * Skyway only ever applies baselines to a fresh (no-history) database:
9
+ *
10
+ * fresh install → [ highest `B` baseline ] + [ every `V` after it ] + [ all `R` repeatables ]
11
+ * existing upgrade → [ every `V` after the DB's current version ] + [ all `R` repeatables ] (no baseline)
12
+ *
13
+ * The existing-upgrade path is what makes incremental upgrades correct: a baseline floor
14
+ * would skip the intermediate versioned migrations a behind-the-baseline DB still needs.
15
+ * The git ref bounds the top of the range (only migrations at/below the target are in the
16
+ * tree). Selection uses the numeric `<timestamp>` filename token — Skyway's version key —
17
+ * via the shared {@link parseMigrationFilename}.
18
+ */
19
+ import { mkdtempSync } from 'node:fs';
20
+ import { rm } from 'node:fs/promises';
21
+ import { tmpdir } from 'node:os';
22
+ import path from 'node:path';
23
+ import { parseMigrationFilename } from '../baseline/util.js';
24
+ /** Matches Flyway/Skyway repeatable migrations (`R__<desc>.sql`), which always run. */
25
+ const REPEATABLE_PATTERN = /^R__.+\.sql$/i;
26
+ /**
27
+ * Resolves a user-supplied tag/branch into a git ref.
28
+ * A semantic version (`2.123.0` / `v2.123.0`) maps to the `vX.Y.Z` release tag;
29
+ * anything else (e.g. `main`) is treated as a branch name unchanged.
30
+ */
31
+ export function resolveGitRef(tagOrBranch) {
32
+ const isSemver = /^v?\d+\.\d+\.\d+$/.test(tagOrBranch);
33
+ if (!isSemver)
34
+ return tagOrBranch;
35
+ return tagOrBranch.startsWith('v') ? tagOrBranch : `v${tagOrBranch}`;
36
+ }
37
+ /**
38
+ * Pure selector: given the repo-relative migration paths present at a ref, return
39
+ * the minimal slice Skyway needs. Repeatable migrations are always included.
40
+ *
41
+ * Two modes, keyed on `currentVersion` (the highest migration already applied to the
42
+ * target database, or `null` for a fresh one):
43
+ *
44
+ * - **Fresh install** (`currentVersion == null`): `baseline + tail` — the highest `B`
45
+ * baseline plus every `V` after it. Skyway applies the baseline (consolidated schema)
46
+ * then the tail. This is the bandwidth-optimal path for a brand-new database.
47
+ * - **Existing-DB upgrade** (`currentVersion` set): every `V` strictly after the current
48
+ * version, with **no baseline**. Skyway never applies a `B` file to a database that
49
+ * already has history, and the baseline floor would wrongly skip the intermediate
50
+ * versioned migrations the DB still needs (e.g. a v5.36 file below a v5.37 baseline
51
+ * when upgrading a v5.35 database).
52
+ *
53
+ * With no baseline present (e.g. legacy v2) the fresh path returns the full versioned history.
54
+ */
55
+ export function selectMigrationSlice(paths, currentVersion) {
56
+ const sqlPaths = paths.filter((p) => p.toLowerCase().endsWith('.sql'));
57
+ const repeatables = sqlPaths.filter((p) => REPEATABLE_PATTERN.test(path.basename(p)));
58
+ if (currentVersion != null) {
59
+ // Existing DB: upgrade with versioned migrations after the current version only.
60
+ const versioned = sqlPaths.filter((p) => isVersionedAfter(p, currentVersion));
61
+ return Array.from(new Set([...versioned, ...repeatables]));
62
+ }
63
+ // Fresh DB: baseline + everything after it.
64
+ const floorTimestamp = highestBaselineTimestamp(sqlPaths);
65
+ const versioned = sqlPaths.filter((p) => isInVersionedSlice(p, floorTimestamp));
66
+ return Array.from(new Set([...versioned, ...repeatables]));
67
+ }
68
+ /** True if `filePath` is a versioned (`V`) migration whose timestamp is strictly after `currentVersion`. */
69
+ function isVersionedAfter(filePath, currentVersion) {
70
+ const parsed = parseMigrationFilename(path.basename(filePath));
71
+ return parsed?.kind === 'V' && parsed.timestamp > currentVersion;
72
+ }
73
+ /** Returns the timestamp of the latest `B` baseline among the paths, or null if none. */
74
+ function highestBaselineTimestamp(sqlPaths) {
75
+ let floor = null;
76
+ for (const p of sqlPaths) {
77
+ const parsed = parseMigrationFilename(path.basename(p));
78
+ if (!parsed || parsed.kind !== 'B')
79
+ continue;
80
+ if (floor === null || parsed.timestamp > floor)
81
+ floor = parsed.timestamp;
82
+ }
83
+ return floor;
84
+ }
85
+ /** True if a versioned/baseline path belongs in the slice given the baseline floor. */
86
+ function isInVersionedSlice(filePath, floorTimestamp) {
87
+ const parsed = parseMigrationFilename(path.basename(filePath));
88
+ if (!parsed)
89
+ return false; // repeatables and non-migration files handled elsewhere
90
+ if (floorTimestamp === null)
91
+ return parsed.kind === 'V'; // no baseline → all versioned
92
+ if (parsed.kind === 'B')
93
+ return parsed.timestamp === floorTimestamp; // only the floor baseline
94
+ return parsed.timestamp > floorTimestamp; // versioned migrations strictly after the baseline
95
+ }
96
+ /**
97
+ * SIDE EFFECTS: clones from `repoUrl` over the network into a temp dir and checks out
98
+ * only the selected migration slice. Returns the temp dir plus a `cleanup` the caller
99
+ * MUST run in a finally. On any internal failure the temp dir is removed before throwing.
100
+ */
101
+ export async function fetchMigrationSlice(opts) {
102
+ const migrationsRoot = opts.dialect === 'postgresql' ? 'migrations-pg' : 'migrations';
103
+ const dir = mkdtempSync(path.join(tmpdir(), 'mj-migrations-'));
104
+ const cleanup = async () => {
105
+ await rm(dir, { recursive: true, force: true });
106
+ };
107
+ try {
108
+ // Deferred load: the pure selector (selectMigrationSlice/resolveGitRef) carries no
109
+ // runtime dependency on simple-git — only an actual fetch pulls it in.
110
+ const { simpleGit } = await import('simple-git');
111
+ const git = simpleGit(dir);
112
+ const partialOk = await tryPartialClone(git, opts.repoUrl, opts.ref, dir);
113
+ if (!partialOk) {
114
+ await fullSparseClone(git, opts.repoUrl, opts.ref, dir, migrationsRoot);
115
+ return { dir, selected: [], usedFallback: true, cleanup };
116
+ }
117
+ const allPaths = await listTreePaths(git, migrationsRoot);
118
+ const selected = selectMigrationSlice(allPaths, opts.currentVersion);
119
+ const checkoutTargets = selected.length > 0 ? selected : [migrationsRoot];
120
+ await git.raw(['sparse-checkout', 'set', '--no-cone', ...checkoutTargets]);
121
+ await git.raw(['checkout']);
122
+ return { dir, selected, usedFallback: false, cleanup };
123
+ }
124
+ catch (err) {
125
+ await cleanup();
126
+ throw err;
127
+ }
128
+ }
129
+ /** Attempts a blobless, no-checkout shallow clone. Returns false if the server/git rejects the filter. */
130
+ async function tryPartialClone(git, repoUrl, ref, dir) {
131
+ try {
132
+ await git.clone(repoUrl, dir, ['--no-checkout', '--filter=blob:none', '--depth=1', '--branch', ref]);
133
+ return true;
134
+ }
135
+ catch {
136
+ return false; // caller falls back to a full sparse clone
137
+ }
138
+ }
139
+ /** Fallback path: full shallow sparse clone of the whole migrations dir (today's behavior). */
140
+ async function fullSparseClone(git, repoUrl, ref, dir, migrationsRoot) {
141
+ await git.clone(repoUrl, dir, ['--sparse', '--depth=1', '--branch', ref]);
142
+ await git.raw(['sparse-checkout', 'set', migrationsRoot]);
143
+ }
144
+ /** Lists repo-relative file paths under `migrationsRoot` at HEAD without downloading blobs. */
145
+ async function listTreePaths(git, migrationsRoot) {
146
+ const out = await git.raw(['ls-tree', '-r', '--name-only', 'HEAD', '--', migrationsRoot]);
147
+ return out
148
+ .split('\n')
149
+ .map((line) => line.trim())
150
+ .filter((line) => line.length > 0);
151
+ }
152
+ //# sourceMappingURL=migration-fetch.js.map