@ftschopp/dynatable-migrations 1.3.2 → 2.0.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.
@@ -33,11 +33,13 @@ var __importStar = (this && this.__importStar) || (function () {
33
33
  };
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.MigrationLoader = void 0;
36
+ exports.createMigrationLoader = exports.calculateChecksum = void 0;
37
37
  const fs = __importStar(require("fs"));
38
38
  const path = __importStar(require("path"));
39
39
  const crypto = __importStar(require("crypto"));
40
+ const module_1 = require("module");
40
41
  const semver_1 = require("./semver");
42
+ const nodeRequire = (0, module_1.createRequire)(__filename);
41
43
  /**
42
44
  * Map a require/import failure to a human-readable category. The same
43
45
  * thrown error covers wildly different operator-facing problems —
@@ -45,7 +47,7 @@ const semver_1 = require("./semver");
45
47
  * code ran on import and threw" — and prefixing the message with the
46
48
  * category cuts triage time significantly.
47
49
  */
48
- function categorizeLoadError(error) {
50
+ const categorizeLoadError = (error) => {
49
51
  const e = error;
50
52
  const code = e?.code;
51
53
  const name = e?.name;
@@ -57,237 +59,184 @@ function categorizeLoadError(error) {
57
59
  return 'Syntax error';
58
60
  }
59
61
  return 'Runtime error';
60
- }
62
+ };
61
63
  /**
62
- * Load all migration files from directory
64
+ * Calculate checksum of a file
63
65
  */
64
- class MigrationLoader {
65
- constructor(migrationsDir) {
66
- /**
67
- * Memoized result of `loadMigrations()`. Set on first successful load and
68
- * reused for the lifetime of the loader instance. The runner consults the
69
- * loader many times per command (per-version checksum check, per-rollback
70
- * lookup, status display) without this, each call re-runs `readdirSync`,
71
- * re-imports every migration module, and re-md5s every file, turning an
72
- * O(N) operation into O(N²) in IO and require()s. Call `invalidateCache()`
73
- * if you need to pick up newly-added files mid-process.
74
- */
75
- this.cachedMigrations = null;
76
- this.migrationsDir = migrationsDir;
66
+ const calculateChecksum = (filePath) => {
67
+ const content = fs.readFileSync(filePath, 'utf-8');
68
+ return crypto.createHash('md5').update(content).digest('hex');
69
+ };
70
+ exports.calculateChecksum = calculateChecksum;
71
+ /**
72
+ * Register ts-node for TypeScript file loading.
73
+ *
74
+ * `ts-node` and `typescript` are declared as optional peerDependencies of
75
+ * this package consumers who only ever write `.js` migrations don't pay
76
+ * the install cost. The lazy `require` here keeps the module out of the
77
+ * runtime graph until a `.ts` migration is actually loaded, so JS-only
78
+ * users never hit this path.
79
+ */
80
+ const registerTsNode = async () => {
81
+ try {
82
+ // Check if ts-node is already registered
83
+ const tsNodeSymbol = Symbol.for('ts-node.register.instance');
84
+ if (process[tsNodeSymbol]) {
85
+ return; // Already registered
86
+ }
87
+ const tsNode = await Promise.resolve().then(() => __importStar(require('ts-node')));
88
+ tsNode.register({
89
+ transpileOnly: true,
90
+ skipProject: true, // Don't use project tsconfig
91
+ compilerOptions: {
92
+ module: 'commonjs',
93
+ target: 'ES2020',
94
+ esModuleInterop: true,
95
+ moduleResolution: 'node',
96
+ },
97
+ });
77
98
  }
78
- /**
79
- * Calculate checksum of a file
80
- */
81
- calculateChecksum(filePath) {
82
- const content = fs.readFileSync(filePath, 'utf-8');
83
- return crypto.createHash('md5').update(content).digest('hex');
99
+ catch (error) {
100
+ if (error.code === 'MODULE_NOT_FOUND') {
101
+ throw new Error('ts-node is required to load TypeScript migrations but is not installed. ' +
102
+ 'Install it as a dev dependency:\n' +
103
+ ' npm install --save-dev ts-node typescript\n' +
104
+ ' # or\n' +
105
+ ' yarn add --dev ts-node typescript\n' +
106
+ 'If your migrations are JavaScript only, rename them from .ts to .js.');
107
+ }
108
+ // Other errors might mean ts-node is already registered differently
109
+ console.warn(`Warning: Could not register ts-node: ${error.message}`);
84
110
  }
85
- /**
86
- * Drop the in-memory cache so the next `loadMigrations()` call re-reads
87
- * the directory. Use after generating a new migration file mid-process.
88
- */
89
- invalidateCache() {
90
- this.cachedMigrations = null;
111
+ };
112
+ /**
113
+ * Validate migration file name format
114
+ * Expected: 1.0.0_migration_name.ts (semver format)
115
+ */
116
+ const isValidMigrationFileName = (fileName) => /^\d+\.\d+\.\d+_[\w-]+\.(ts|js)$/.test(fileName);
117
+ /**
118
+ * Parse version and name from file name
119
+ */
120
+ const parseMigrationFileName = (fileName) => {
121
+ const match = fileName.match(/^(\d+\.\d+\.\d+)_([\w-]+)\.(ts|js)$/);
122
+ if (!match || !match[1] || !match[2]) {
123
+ throw new Error(`Invalid migration file name format: ${fileName}. Expected: X.Y.Z_name.ts (semver)`);
91
124
  }
92
- /**
93
- * Load all migration files
94
- */
95
- async loadMigrations() {
96
- if (this.cachedMigrations) {
97
- return this.cachedMigrations;
98
- }
99
- if (!fs.existsSync(this.migrationsDir)) {
100
- throw new Error(`Migrations directory not found: ${this.migrationsDir}`);
101
- }
102
- const files = fs
103
- .readdirSync(this.migrationsDir)
104
- .filter((f) => (f.endsWith('.ts') || f.endsWith('.js')) &&
105
- !f.endsWith('.d.ts') &&
106
- this.isValidMigrationFileName(f))
107
- .sort((a, b) => {
108
- // Sort by semver
109
- const versionA = a.match(/^(\d+\.\d+\.\d+)/)?.[1] || '0.0.0';
110
- const versionB = b.match(/^(\d+\.\d+\.\d+)/)?.[1] || '0.0.0';
111
- return (0, semver_1.compareSemver)(versionA, versionB);
112
- });
113
- const migrations = [];
114
- for (const file of files) {
115
- const filePath = path.join(this.migrationsDir, file);
116
- const migration = await this.loadMigration(filePath);
117
- if (migration) {
118
- migrations.push(migration);
119
- }
120
- }
121
- this.cachedMigrations = migrations;
122
- return migrations;
125
+ return { version: match[1], name: match[2] };
126
+ };
127
+ /**
128
+ * Validate migration structure
129
+ */
130
+ const validateMigration = (migration, filePath) => {
131
+ if (!migration.version) {
132
+ throw new Error(`Migration ${filePath} is missing 'version' property`);
133
+ }
134
+ if (!migration.name) {
135
+ throw new Error(`Migration ${filePath} is missing 'name' property`);
123
136
  }
124
- /**
125
- * Load single migration file
126
- */
127
- async loadMigration(filePath) {
128
- // Convert to absolute path
129
- const absolutePath = path.isAbsolute(filePath)
130
- ? filePath
131
- : path.resolve(process.cwd(), filePath);
132
- let module;
133
- // For TypeScript files, use require (ts-node must be registered)
134
- if (absolutePath.endsWith('.ts')) {
135
- // Register ts-node if not already registered
136
- this.registerTsNode();
137
+ if (typeof migration.up !== 'function') {
138
+ throw new Error(`Migration ${filePath} is missing 'up' function or it's not a function`);
139
+ }
140
+ if (typeof migration.down !== 'function') {
141
+ throw new Error(`Migration ${filePath} is missing 'down' function or it's not a function`);
142
+ }
143
+ };
144
+ const loadMigration = async (filePath) => {
145
+ const absolutePath = path.isAbsolute(filePath)
146
+ ? filePath
147
+ : path.resolve(process.cwd(), filePath);
148
+ const module = await (absolutePath.endsWith('.ts')
149
+ ? (async () => {
150
+ await registerTsNode();
137
151
  // Clear require cache to reload file
138
- delete require.cache[absolutePath];
152
+ delete nodeRequire.cache[absolutePath];
139
153
  try {
140
- module = require(absolutePath);
154
+ return nodeRequire(absolutePath);
141
155
  }
142
156
  catch (error) {
143
- throw new Error(`${categorizeLoadError(error)} loading TypeScript migration ${filePath}: ${error.message}`);
157
+ const message = error instanceof Error ? error.message : String(error);
158
+ throw new Error(`${categorizeLoadError(error)} loading TypeScript migration ${filePath}: ${message}`);
144
159
  }
145
- }
146
- else {
147
- // For JavaScript files, use dynamic import
160
+ })()
161
+ : (async () => {
148
162
  try {
149
- const fileUrl = `file://${absolutePath}`;
150
- module = await Promise.resolve(`${fileUrl}`).then(s => __importStar(require(s)));
163
+ return await Promise.resolve(`${`file://${absolutePath}`}`).then(s => __importStar(require(s)));
151
164
  }
152
165
  catch (error) {
153
- throw new Error(`${categorizeLoadError(error)} loading JavaScript migration ${filePath}: ${error.message}`);
166
+ const message = error instanceof Error ? error.message : String(error);
167
+ throw new Error(`${categorizeLoadError(error)} loading JavaScript migration ${filePath}: ${message}`);
154
168
  }
155
- }
156
- const migration = module.migration || module.default;
157
- if (!migration) {
158
- console.warn(`Warning: No migration export found in ${filePath}`);
159
- return null;
160
- }
161
- // Validate migration structure
162
- this.validateMigration(migration, filePath);
163
- const fileName = path.basename(filePath);
164
- const { version, name } = this.parseMigrationFileName(fileName);
165
- // Calculate checksum
166
- const checksum = this.calculateChecksum(absolutePath);
167
- return {
168
- version,
169
- name,
170
- filePath,
171
- migration,
172
- checksum,
173
- };
169
+ })());
170
+ const migration = module.migration || module.default;
171
+ if (!migration) {
172
+ console.warn(`Warning: No migration export found in ${filePath}`);
173
+ return null;
174
174
  }
175
- /**
176
- * Register ts-node for TypeScript file loading.
177
- *
178
- * `ts-node` and `typescript` are declared as optional peerDependencies of
179
- * this package consumers who only ever write `.js` migrations don't pay
180
- * the install cost. The lazy `require` here keeps the module out of the
181
- * runtime graph until a `.ts` migration is actually loaded, so JS-only
182
- * users never hit this path.
183
- */
184
- registerTsNode() {
185
- try {
186
- // Check if ts-node is already registered
187
- const tsNodeSymbol = Symbol.for('ts-node.register.instance');
188
- if (process[tsNodeSymbol]) {
189
- return; // Already registered
190
- }
191
- require('ts-node').register({
192
- transpileOnly: true,
193
- skipProject: true, // Don't use project tsconfig
194
- compilerOptions: {
195
- module: 'commonjs',
196
- target: 'ES2020',
197
- esModuleInterop: true,
198
- moduleResolution: 'node',
199
- },
200
- });
175
+ validateMigration(migration, filePath);
176
+ const fileName = path.basename(filePath);
177
+ const { version, name } = parseMigrationFileName(fileName);
178
+ const checksum = (0, exports.calculateChecksum)(absolutePath);
179
+ return { version, name, filePath, migration, checksum };
180
+ };
181
+ /**
182
+ * Create a migration loader for the given directory.
183
+ *
184
+ * Internally memoizes `loadMigrations()` — the runner consults the loader
185
+ * many times per command (per-version checksum check, per-rollback
186
+ * lookup, status display) without this, each call re-runs `readdirSync`,
187
+ * re-imports every migration module, and re-md5s every file, turning an
188
+ * O(N) operation into O(N²) in IO and require()s. Call `invalidateCache()`
189
+ * if you need to pick up newly-added files mid-process.
190
+ */
191
+ const createMigrationLoader = (migrationsDir) => {
192
+ let cachedMigrations = null;
193
+ const loadMigrations = async () => {
194
+ if (cachedMigrations)
195
+ return cachedMigrations;
196
+ if (!fs.existsSync(migrationsDir)) {
197
+ throw new Error(`Migrations directory not found: ${migrationsDir}`);
201
198
  }
202
- catch (error) {
203
- if (error.code === 'MODULE_NOT_FOUND') {
204
- throw new Error('ts-node is required to load TypeScript migrations but is not installed. ' +
205
- 'Install it as a dev dependency:\n' +
206
- ' npm install --save-dev ts-node typescript\n' +
207
- ' # or\n' +
208
- ' yarn add --dev ts-node typescript\n' +
209
- 'If your migrations are JavaScript only, rename them from .ts to .js.');
199
+ const files = fs
200
+ .readdirSync(migrationsDir)
201
+ .filter((f) => (f.endsWith('.ts') || f.endsWith('.js')) &&
202
+ !f.endsWith('.d.ts') &&
203
+ isValidMigrationFileName(f))
204
+ .sort((a, b) => {
205
+ const versionA = a.match(/^(\d+\.\d+\.\d+)/)?.[1] || '0.0.0';
206
+ const versionB = b.match(/^(\d+\.\d+\.\d+)/)?.[1] || '0.0.0';
207
+ return (0, semver_1.compareSemver)(versionA, versionB);
208
+ });
209
+ const loaded = await Promise.all(files.map((f) => loadMigration(path.join(migrationsDir, f))));
210
+ cachedMigrations = loaded.filter((m) => m !== null);
211
+ return cachedMigrations;
212
+ };
213
+ return {
214
+ loadMigrations,
215
+ invalidateCache: () => {
216
+ cachedMigrations = null;
217
+ },
218
+ calculateChecksum: exports.calculateChecksum,
219
+ getPendingMigrations: async (appliedVersions) => {
220
+ const all = await loadMigrations();
221
+ return all.filter((m) => !appliedVersions.includes(m.version));
222
+ },
223
+ getMigration: async (version) => {
224
+ const all = await loadMigrations();
225
+ return all.find((m) => m.version === version) ?? null;
226
+ },
227
+ getNextVersion: async () => {
228
+ const migrations = await loadMigrations();
229
+ const last = migrations[migrations.length - 1];
230
+ if (!last)
231
+ return '0.1.0';
232
+ const parts = last.version.split('.');
233
+ if (parts.length === 3 && parts[0] && parts[1] && parts[2]) {
234
+ const [major, minor, patch] = parts.map((p) => parseInt(p, 10));
235
+ return `${major}.${minor}.${patch + 1}`;
210
236
  }
211
- // Other errors might mean ts-node is already registered differently
212
- console.warn(`Warning: Could not register ts-node: ${error.message}`);
213
- }
214
- }
215
- /**
216
- * Validate migration file name format
217
- * Expected: 1.0.0_migration_name.ts (semver format)
218
- */
219
- isValidMigrationFileName(fileName) {
220
- // Match semver: 1.0.0_name.ts or 1.2.3_name.ts
221
- return /^\d+\.\d+\.\d+_[\w-]+\.(ts|js)$/.test(fileName);
222
- }
223
- /**
224
- * Parse version and name from file name
225
- */
226
- parseMigrationFileName(fileName) {
227
- const match = fileName.match(/^(\d+\.\d+\.\d+)_([\w-]+)\.(ts|js)$/);
228
- if (!match || !match[1] || !match[2]) {
229
- throw new Error(`Invalid migration file name format: ${fileName}. Expected: X.Y.Z_name.ts (semver)`);
230
- }
231
- const version = match[1];
232
- const name = match[2];
233
- return { version, name };
234
- }
235
- /**
236
- * Validate migration structure
237
- */
238
- validateMigration(migration, filePath) {
239
- if (!migration.version) {
240
- throw new Error(`Migration ${filePath} is missing 'version' property`);
241
- }
242
- if (!migration.name) {
243
- throw new Error(`Migration ${filePath} is missing 'name' property`);
244
- }
245
- if (typeof migration.up !== 'function') {
246
- throw new Error(`Migration ${filePath} is missing 'up' function or it's not a function`);
247
- }
248
- if (typeof migration.down !== 'function') {
249
- throw new Error(`Migration ${filePath} is missing 'down' function or it's not a function`);
250
- }
251
- }
252
- /**
253
- * Get pending migrations (not yet applied)
254
- */
255
- async getPendingMigrations(appliedVersions) {
256
- const allMigrations = await this.loadMigrations();
257
- return allMigrations.filter((m) => !appliedVersions.includes(m.version));
258
- }
259
- /**
260
- * Get migration by version
261
- */
262
- async getMigration(version) {
263
- const migrations = await this.loadMigrations();
264
- return migrations.find((m) => m.version === version) || null;
265
- }
266
- /**
267
- * Generate next version number (increments patch by default)
268
- */
269
- async getNextVersion() {
270
- const migrations = await this.loadMigrations();
271
- if (migrations.length === 0) {
272
- return '0.1.0';
273
- }
274
- // Get last version
275
- const lastMigration = migrations[migrations.length - 1];
276
- if (!lastMigration) {
277
237
  return '0.1.0';
278
- }
279
- const lastVersion = lastMigration.version;
280
- // Parse semver and increment patch
281
- const parts = lastVersion.split('.');
282
- if (parts.length === 3 && parts[0] && parts[1] && parts[2]) {
283
- const major = parseInt(parts[0], 10);
284
- const minor = parseInt(parts[1], 10);
285
- const patch = parseInt(parts[2], 10);
286
- // Increment patch version
287
- return `${major}.${minor}.${patch + 1}`;
288
- }
289
- return '0.1.0';
290
- }
291
- }
292
- exports.MigrationLoader = MigrationLoader;
238
+ },
239
+ };
240
+ };
241
+ exports.createMigrationLoader = createMigrationLoader;
293
242
  //# sourceMappingURL=loader.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/core/loader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/core/loader.ts"],"names":[],"mappings":"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"}
@@ -4,39 +4,13 @@ export interface RunOptions {
4
4
  limit?: number;
5
5
  dryRun?: boolean;
6
6
  }
7
- export declare class MigrationRunner {
8
- private client;
9
- private config;
10
- private tracker;
11
- private loader;
12
- constructor(client: DynamoDBDocumentClient, config: MigrationConfig);
13
- /**
14
- * Initialize migration system
15
- */
7
+ export interface MigrationRunnerHandle {
16
8
  initialize(): Promise<void>;
17
- /**
18
- * Run all pending migrations
19
- */
20
9
  up(options?: RunOptions): Promise<MigrationFile[]>;
21
- /**
22
- * Rollback last migration
23
- */
24
10
  down(steps?: number, dryRun?: boolean): Promise<MigrationFile[]>;
25
- /**
26
- * Get migration status
27
- */
28
11
  status(): Promise<MigrationStatus[]>;
29
- /**
30
- * Get current version
31
- */
32
12
  getCurrentVersion(): Promise<string | null>;
33
- /**
34
- * Reset all migrations (rollback everything)
35
- */
36
13
  reset(): Promise<void>;
37
- /**
38
- * Create migration context
39
- */
40
- private createContext;
41
14
  }
15
+ export declare const createMigrationRunner: (client: DynamoDBDocumentClient, config: MigrationConfig) => MigrationRunnerHandle;
42
16
  //# sourceMappingURL=runner.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/core/runner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAa/D,OAAO,EAAE,eAAe,EAAoB,aAAa,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAM7F,MAAM,WAAW,UAAU;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,qBAAa,eAAe;IAC1B,OAAO,CAAC,MAAM,CAAyB;IACvC,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,OAAO,CAA2B;IAC1C,OAAO,CAAC,MAAM,CAAkB;gBAEpB,MAAM,EAAE,sBAAsB,EAAE,MAAM,EAAE,eAAe;IAOnE;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAIjC;;OAEG;IACG,EAAE,CAAC,OAAO,GAAE,UAAe,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAmH5D;;OAEG;IACG,IAAI,CAAC,KAAK,GAAE,MAAU,EAAE,MAAM,GAAE,OAAe,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IA6FhF;;OAEG;IACG,MAAM,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;IA6B1C;;OAEG;IACG,iBAAiB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAKjD;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAa5B;;OAEG;IACH,OAAO,CAAC,aAAa;CAoBtB"}
1
+ {"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/core/runner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAa/D,OAAO,EAAE,eAAe,EAAoB,aAAa,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAM7F,MAAM,WAAW,UAAU;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,qBAAqB;IACpC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,EAAE,CAAC,OAAO,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;IACnD,IAAI,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;IACjE,MAAM,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;IACrC,iBAAiB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC5C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAwDD,eAAO,MAAM,qBAAqB,GAChC,QAAQ,sBAAsB,EAC9B,QAAQ,eAAe,KACtB,qBAiFF,CAAC"}