@webiny/data-migration 5.40.0-beta.5 → 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.
- package/MigrationRunner.d.ts +1 -0
- package/MigrationRunner.js +16 -0
- package/MigrationRunner.js.map +1 -1
- package/cli/index.d.ts +1 -0
- package/cli/index.js +11 -0
- package/cli/index.js.map +1 -1
- package/package.json +10 -10
package/MigrationRunner.d.ts
CHANGED
package/MigrationRunner.js
CHANGED
|
@@ -100,11 +100,16 @@ class MigrationRunner {
|
|
|
100
100
|
};
|
|
101
101
|
const isMigrationApplicable = isApplicable || defaultIsApplicable;
|
|
102
102
|
this.printForceExecuteEnvVars();
|
|
103
|
+
this.printSkipExecuteEnvVars();
|
|
103
104
|
if (forceExecute) {
|
|
104
105
|
this.logger.info(`ALL APPLICABLE MIGRATIONS WILL BE FORCE-EXECUTED! (via --force flag)`);
|
|
105
106
|
}
|
|
106
107
|
const executableMigrations = this.migrations.filter(mig => {
|
|
107
108
|
if (shouldSkip(mig)) {
|
|
109
|
+
this.setRunItem(lastRun, {
|
|
110
|
+
id: mig.getId(),
|
|
111
|
+
status: "skipped"
|
|
112
|
+
});
|
|
108
113
|
return false;
|
|
109
114
|
}
|
|
110
115
|
if (shouldForceExecute(mig)) {
|
|
@@ -313,6 +318,17 @@ class MigrationRunner {
|
|
|
313
318
|
this.logger.info(`${key}=${process.env[key]}`);
|
|
314
319
|
}
|
|
315
320
|
}
|
|
321
|
+
printSkipExecuteEnvVars() {
|
|
322
|
+
const skipKeys = Object.keys(process.env).filter(key => key.startsWith("WEBINY_MIGRATION_SKIP_"));
|
|
323
|
+
if (!skipKeys.length) {
|
|
324
|
+
this.logger.info(`No migrations are skipped via WEBINY_MIGRATION_SKIP environment variable.`);
|
|
325
|
+
return;
|
|
326
|
+
}
|
|
327
|
+
this.logger.info(`SKIPPED MIGRATIONS DETECTED!`);
|
|
328
|
+
for (const key of skipKeys) {
|
|
329
|
+
this.logger.info(`${key}=${process.env[key]}`);
|
|
330
|
+
}
|
|
331
|
+
}
|
|
316
332
|
}
|
|
317
333
|
exports.MigrationRunner = MigrationRunner;
|
|
318
334
|
(0, _ioc.makeInjectable)(MigrationRunner, [(0, _ioc.inject)(_symbols.MigrationRepositorySymbol), (0, _ioc.inject)(_symbols.ExecutionTimeLimiterSymbol), (0, _ioc.inject)(_symbols.MigrationSymbol, {
|
package/MigrationRunner.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_semver","require","_ioc","_utils","_symbols","_createPinoLogger","getCurrentISOTime","Date","toISOString","getRunItemDuration","runItem","startedOn","finishedOn","getTime","shouldForceExecute","mig","key","getId","replace","process","env","shouldSkip","MigrationNotFinished","Error","MigrationInProgress","MigrationRunner","context","constructor","repository","timeLimiter","migrations","logger","createPinoLogger","setContext","execute","projectVersion","isApplicable","forceExecute","lastRun","getOrCreateRun","validateIds","err","status","error","message","saveRun","latestMigration","listMigrations","limit","info","currentVersion","coerce","startingId","id","lastId","logMigration","description","reason","defaultIsApplicable","isMigrationApplicable","printForceExecuteEnvVars","executableMigrations","filter","setRunItem","sort","a","b","length","shouldCreateCheckpoint","migration","getOrCreateRunItem","checkpoint","getCheckpoint","getChildLogger","runningOutOfTime","createCheckpoint","data","createCheckpointAndExit","shouldExecute","setRunItemAndSave","getDescription","name","stack","code","deleteCheckpoint","getStatus","getLastRun","withDescriptions","map","dataMigration","find","dm","ids","Set","endsWith","has","add","executeWithRetry","resolvedStatus","unresolvedStatus","includes","mdbid","run","existingItem","item","index","findIndex","push","slice","forceKeys","Object","keys","startsWith","exports","makeInjectable","inject","MigrationRepositorySymbol","ExecutionTimeLimiterSymbol","MigrationSymbol","multi","optional","LoggerSymbol"],"sources":["MigrationRunner.ts"],"sourcesContent":["import { coerce } from \"semver\";\nimport { Logger } from \"@webiny/logger\";\nimport { inject, makeInjectable } from \"@webiny/ioc\";\nimport { executeWithRetry, mdbid } from \"@webiny/utils\";\nimport {\n MigrationRepositorySymbol,\n LoggerSymbol,\n MigrationSymbol,\n ExecutionTimeLimiterSymbol\n} from \"./symbols\";\nimport { createPinoLogger, getChildLogger } from \"./createPinoLogger\";\nimport {\n MigrationRepository,\n DataMigration,\n DataMigrationContext,\n ExecutionTimeLimiter,\n MigrationRun,\n MigrationStatus,\n MigrationRunItem\n} from \"~/types\";\n\nexport type IsMigrationApplicable = (migration: DataMigration) => boolean;\n\nconst getCurrentISOTime = () => {\n return new Date().toISOString();\n};\n\nconst getRunItemDuration = (runItem: MigrationRunItem) => {\n if (!runItem.startedOn || !runItem.finishedOn) {\n return \"N/A\";\n }\n\n return new Date(runItem.finishedOn).getTime() - new Date(runItem.startedOn).getTime();\n};\n\n/**\n * This allows us to force-execute a migration, even if it's not in the list of the applicable migrations.\n * Example: WEBINY_MIGRATION_FORCE_EXECUTE_5_35_0_006=true\n */\nconst shouldForceExecute = (mig: DataMigration) => {\n const key = `WEBINY_MIGRATION_FORCE_EXECUTE_${mig.getId().replace(/[\\.\\-]/g, \"_\")}`;\n\n return process.env[key] === \"true\";\n};\n\n/**\n * This allows us to always skip a migration.\n * Example: WEBINY_MIGRATION_SKIP_5_35_0_006=true\n */\nconst shouldSkip = (mig: DataMigration) => {\n const key = `WEBINY_MIGRATION_SKIP_${mig.getId().replace(/[\\.\\-]/g, \"_\")}`;\n\n return process.env[key] === \"true\";\n};\n\nclass MigrationNotFinished extends Error {}\nclass MigrationInProgress extends Error {}\n\nexport class MigrationRunner {\n private readonly logger: Logger;\n private readonly migrations: DataMigration[];\n private readonly repository: MigrationRepository;\n private readonly timeLimiter: ExecutionTimeLimiter;\n private context: Record<string, any> = {};\n\n constructor(\n repository: MigrationRepository,\n timeLimiter: ExecutionTimeLimiter,\n migrations: DataMigration[],\n logger: Logger | undefined\n ) {\n this.repository = repository;\n this.timeLimiter = timeLimiter;\n this.migrations = migrations || [];\n\n if (!logger) {\n logger = createPinoLogger();\n }\n this.logger = logger;\n }\n\n setContext(context: Record<string, any>) {\n this.context = context;\n }\n\n async execute(\n projectVersion: string,\n isApplicable?: IsMigrationApplicable,\n // Force execute applicable migrations.\n forceExecute = false\n ) {\n const lastRun = await this.getOrCreateRun();\n\n try {\n this.validateIds(this.migrations);\n } catch (err) {\n lastRun.status = \"error\";\n lastRun.error = {\n message: err.message\n };\n await this.repository.saveRun(lastRun);\n return;\n }\n\n const [latestMigration] = await this.repository.listMigrations({ limit: 1 });\n\n this.logger.info(`Project version is %s.`, projectVersion);\n\n // Get current version, and coerce it to a valid SemVer.\n // With this, we can run migrations targeted for stable versions, released under a preid tag (e.g., `beta`).\n const currentVersion = coerce(projectVersion) + \"\";\n const startingId = latestMigration ? latestMigration.id : `${currentVersion}-000`;\n const lastId = `${currentVersion}-999`;\n\n // Create initial migration record.\n if (!latestMigration) {\n this.logger.info(\n `No migrations were ever executed. Creating initial migration record %s.`,\n startingId\n );\n await this.repository.logMigration({\n id: startingId,\n description: \"starting point for applicable migrations detection\",\n startedOn: getCurrentISOTime(),\n finishedOn: getCurrentISOTime(),\n reason: \"initial migration\"\n });\n } else {\n this.logger.info(`Latest migration ID is %s.`, latestMigration.id);\n }\n\n if (isApplicable) {\n this.logger.info(`Using custom \"isApplicable\" function.`);\n } else {\n this.logger.info(`Using migrations in the range of %s to %s.`, startingId, lastId);\n }\n\n const defaultIsApplicable: IsMigrationApplicable = mig => {\n return mig.getId() > startingId && mig.getId() <= lastId;\n };\n\n const isMigrationApplicable = isApplicable || defaultIsApplicable;\n\n this.printForceExecuteEnvVars();\n\n if (forceExecute) {\n this.logger.info(\n `ALL APPLICABLE MIGRATIONS WILL BE FORCE-EXECUTED! (via --force flag)`\n );\n }\n\n const executableMigrations = this.migrations\n .filter(mig => {\n if (shouldSkip(mig)) {\n return false;\n }\n\n if (shouldForceExecute(mig)) {\n return true;\n }\n\n if (!isMigrationApplicable(mig)) {\n this.setRunItem(lastRun, {\n id: mig.getId(),\n status: \"not-applicable\"\n });\n\n return false;\n }\n return true;\n })\n .sort((a, b) => (a.getId() > b.getId() ? 1 : -1));\n\n this.logger.info(\n `Found %s applicable out of %s available migration(s).`,\n executableMigrations.length,\n this.migrations.length\n );\n\n // Are we're within the last 2 minutes of the execution time limit?\n const shouldCreateCheckpoint = () => {\n return this.timeLimiter() < 120000;\n };\n\n //\n for (const migration of executableMigrations) {\n const runItem = this.getOrCreateRunItem(lastRun, migration);\n const checkpoint = await this.repository.getCheckpoint(migration.getId());\n const logger = getChildLogger(this.logger, migration);\n\n if (checkpoint) {\n this.logger.info(checkpoint, `Found checkpoint ${migration.getId()}.`);\n }\n\n const context: DataMigrationContext = {\n projectVersion,\n logger,\n checkpoint,\n forceExecute: forceExecute || shouldForceExecute(migration),\n runningOutOfTime: shouldCreateCheckpoint,\n createCheckpoint: async (data: unknown) => {\n await this.createCheckpoint(migration, data);\n },\n createCheckpointAndExit: async (data: unknown) => {\n await this.createCheckpoint(migration, data);\n // We throw an error to break out of the migration execution completely.\n throw new MigrationNotFinished();\n }\n };\n try {\n const shouldExecute =\n checkpoint || context.forceExecute\n ? true\n : await migration.shouldExecute(context);\n\n if (!shouldExecute) {\n this.logger.info(`Skipping migration %s.`, migration.getId());\n runItem.status = \"skipped\";\n\n await this.setRunItemAndSave(lastRun, runItem);\n\n await this.repository.logMigration({\n id: migration.getId(),\n description: migration.getDescription(),\n reason: \"skipped\"\n });\n\n continue;\n }\n\n lastRun.status = \"running\";\n runItem.status = \"running\";\n if (!runItem.startedOn) {\n runItem.startedOn = getCurrentISOTime();\n }\n await this.setRunItemAndSave(lastRun, runItem);\n this.logger.info(\n `Executing migration %s: %s`,\n migration.getId(),\n migration.getDescription()\n );\n await migration.execute(context);\n runItem.status = \"done\";\n } catch (err) {\n // If `MigrationNotFinished` was thrown, we will need to resume the migration.\n if (err instanceof MigrationNotFinished) {\n lastRun.status = \"pending\";\n runItem.status = \"pending\";\n return;\n }\n\n runItem.status = \"error\";\n lastRun.status = \"error\";\n lastRun.error = {\n name: err.name || \"Migration error\",\n message: err.message,\n stack: err.stack,\n data: err.data,\n code: err.code\n };\n this.logger.error(err, err.message);\n return;\n } finally {\n runItem.finishedOn = getCurrentISOTime();\n\n // Update run stats.\n await this.setRunItemAndSave(lastRun, runItem);\n\n if (runItem.status === \"pending\") {\n this.logger.info(\n `Pausing migration %s, awaiting continuation.`,\n migration.getId()\n );\n } else {\n this.logger.info(\n `Finished executing migration %s in %sms.`,\n migration.getId(),\n getRunItemDuration(runItem)\n );\n }\n }\n\n await this.repository.logMigration({\n id: migration.getId(),\n description: migration.getDescription(),\n startedOn: runItem.startedOn,\n finishedOn: runItem.finishedOn,\n reason: \"executed\"\n });\n\n this.logger.info(`Deleting checkpoint ${migration.getId()}.`);\n await this.repository.deleteCheckpoint(migration.getId());\n }\n\n lastRun.status = \"done\";\n lastRun.finishedOn = getCurrentISOTime();\n await this.repository.saveRun(lastRun);\n\n this.logger.info(`Finished processing applicable migrations.`);\n }\n\n async getStatus(): Promise<MigrationStatus> {\n const lastRun = await this.repository.getLastRun();\n if (!lastRun) {\n throw new Error(`No migrations were ever executed!`);\n }\n\n // Since we don't store migration descriptions to DB, we need to fetch them from actual migration objects.\n const withDescriptions = lastRun.migrations.map(mig => {\n const dataMigration = this.migrations.find(dm => dm.getId() === mig.id);\n return {\n ...mig,\n description: dataMigration ? dataMigration.getDescription() : \"N/A\"\n };\n });\n\n return { ...lastRun, migrations: withDescriptions };\n }\n\n private validateIds(migrations: DataMigration[]) {\n const ids = new Set();\n for (const mig of migrations) {\n const id = mig.getId();\n if (id.endsWith(\"-000\")) {\n const error = new Error(`Migration ID must not end with \"000\": ${id}`);\n this.logger.error(error);\n throw error;\n }\n\n if (ids.has(id)) {\n const error = new Error(`Duplicate migration ID found: ${id}`);\n this.logger.error(error);\n throw error;\n }\n ids.add(id);\n }\n }\n\n private async createCheckpoint(migration: DataMigration, checkpoint: unknown) {\n this.logger.info(checkpoint, `Saving checkpoint ${migration.getId()}`);\n const execute = () => this.repository.createCheckpoint(migration.getId(), checkpoint);\n await executeWithRetry(execute);\n }\n\n private async getOrCreateRun() {\n const resolvedStatus: Array<MigrationRun[\"status\"]> = [\"done\", \"error\"];\n const unresolvedStatus: Array<MigrationRun[\"status\"]> = [\"init\", \"running\"];\n\n let lastRun = await this.repository.getLastRun();\n\n if (lastRun && unresolvedStatus.includes(lastRun.status)) {\n throw new MigrationInProgress(`Migration is already in progress (ID: ${lastRun.id})!`);\n }\n\n if (!lastRun || resolvedStatus.includes(lastRun.status)) {\n lastRun = {\n id: mdbid(),\n status: \"init\",\n startedOn: getCurrentISOTime(),\n finishedOn: \"\",\n migrations: [],\n context: this.context\n };\n\n await this.repository.saveRun(lastRun);\n }\n\n return lastRun;\n }\n\n private getOrCreateRunItem(run: MigrationRun, migration: DataMigration): MigrationRunItem {\n const existingItem = run.migrations.find(item => item.id === migration.getId());\n if (existingItem) {\n return {\n ...existingItem,\n status: \"running\"\n };\n }\n\n return {\n id: migration.getId(),\n status: \"running\"\n };\n }\n\n private setRunItem(run: MigrationRun, item: MigrationRunItem) {\n const index = run.migrations.findIndex(runItem => runItem.id === item.id);\n if (index < 0) {\n run.migrations.push(item);\n } else {\n run.migrations = [\n ...run.migrations.slice(0, index),\n item,\n ...run.migrations.slice(index + 1)\n ];\n }\n\n run.migrations = run.migrations.sort((a, b) => (a.id > b.id ? 1 : -1));\n }\n\n private async setRunItemAndSave(run: MigrationRun, item: MigrationRunItem) {\n this.setRunItem(run, item);\n await this.repository.saveRun(run);\n }\n\n private printForceExecuteEnvVars() {\n const forceKeys = Object.keys(process.env).filter(key =>\n key.startsWith(\"WEBINY_MIGRATION_FORCE_EXECUTE_\")\n );\n\n if (!forceKeys.length) {\n this.logger.info(\n `No migrations are enforced via WEBINY_MIGRATION_FORCE_EXECUTE environment variable.`\n );\n\n return;\n }\n\n this.logger.info(`FORCED MIGRATIONS DETECTED!`);\n for (const key of forceKeys) {\n this.logger.info(`${key}=${process.env[key]}`);\n }\n }\n}\n\nmakeInjectable(MigrationRunner, [\n inject(MigrationRepositorySymbol),\n inject(ExecutionTimeLimiterSymbol),\n inject(MigrationSymbol, { multi: true, optional: true }),\n inject(LoggerSymbol, { optional: true })\n]);\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_semver","require","_ioc","_utils","_symbols","_createPinoLogger","getCurrentISOTime","Date","toISOString","getRunItemDuration","runItem","startedOn","finishedOn","getTime","shouldForceExecute","mig","key","getId","replace","process","env","shouldSkip","MigrationNotFinished","Error","MigrationInProgress","MigrationRunner","context","constructor","repository","timeLimiter","migrations","logger","createPinoLogger","setContext","execute","projectVersion","isApplicable","forceExecute","lastRun","getOrCreateRun","validateIds","err","status","error","message","saveRun","latestMigration","listMigrations","limit","info","currentVersion","coerce","startingId","id","lastId","logMigration","description","reason","defaultIsApplicable","isMigrationApplicable","printForceExecuteEnvVars","printSkipExecuteEnvVars","executableMigrations","filter","setRunItem","sort","a","b","length","shouldCreateCheckpoint","migration","getOrCreateRunItem","checkpoint","getCheckpoint","getChildLogger","runningOutOfTime","createCheckpoint","data","createCheckpointAndExit","shouldExecute","setRunItemAndSave","getDescription","name","stack","code","deleteCheckpoint","getStatus","getLastRun","withDescriptions","map","dataMigration","find","dm","ids","Set","endsWith","has","add","executeWithRetry","resolvedStatus","unresolvedStatus","includes","mdbid","run","existingItem","item","index","findIndex","push","slice","forceKeys","Object","keys","startsWith","skipKeys","exports","makeInjectable","inject","MigrationRepositorySymbol","ExecutionTimeLimiterSymbol","MigrationSymbol","multi","optional","LoggerSymbol"],"sources":["MigrationRunner.ts"],"sourcesContent":["import { coerce } from \"semver\";\nimport { Logger } from \"@webiny/logger\";\nimport { inject, makeInjectable } from \"@webiny/ioc\";\nimport { executeWithRetry, mdbid } from \"@webiny/utils\";\nimport {\n MigrationRepositorySymbol,\n LoggerSymbol,\n MigrationSymbol,\n ExecutionTimeLimiterSymbol\n} from \"./symbols\";\nimport { createPinoLogger, getChildLogger } from \"./createPinoLogger\";\nimport {\n MigrationRepository,\n DataMigration,\n DataMigrationContext,\n ExecutionTimeLimiter,\n MigrationRun,\n MigrationStatus,\n MigrationRunItem\n} from \"~/types\";\n\nexport type IsMigrationApplicable = (migration: DataMigration) => boolean;\n\nconst getCurrentISOTime = () => {\n return new Date().toISOString();\n};\n\nconst getRunItemDuration = (runItem: MigrationRunItem) => {\n if (!runItem.startedOn || !runItem.finishedOn) {\n return \"N/A\";\n }\n\n return new Date(runItem.finishedOn).getTime() - new Date(runItem.startedOn).getTime();\n};\n\n/**\n * This allows us to force-execute a migration, even if it's not in the list of the applicable migrations.\n * Example: WEBINY_MIGRATION_FORCE_EXECUTE_5_35_0_006=true\n */\nconst shouldForceExecute = (mig: DataMigration) => {\n const key = `WEBINY_MIGRATION_FORCE_EXECUTE_${mig.getId().replace(/[\\.\\-]/g, \"_\")}`;\n\n return process.env[key] === \"true\";\n};\n\n/**\n * This allows us to always skip a migration.\n * Example: WEBINY_MIGRATION_SKIP_5_35_0_006=true\n */\nconst shouldSkip = (mig: DataMigration) => {\n const key = `WEBINY_MIGRATION_SKIP_${mig.getId().replace(/[\\.\\-]/g, \"_\")}`;\n\n return process.env[key] === \"true\";\n};\n\nclass MigrationNotFinished extends Error {}\nclass MigrationInProgress extends Error {}\n\nexport class MigrationRunner {\n private readonly logger: Logger;\n private readonly migrations: DataMigration[];\n private readonly repository: MigrationRepository;\n private readonly timeLimiter: ExecutionTimeLimiter;\n private context: Record<string, any> = {};\n\n constructor(\n repository: MigrationRepository,\n timeLimiter: ExecutionTimeLimiter,\n migrations: DataMigration[],\n logger: Logger | undefined\n ) {\n this.repository = repository;\n this.timeLimiter = timeLimiter;\n this.migrations = migrations || [];\n\n if (!logger) {\n logger = createPinoLogger();\n }\n this.logger = logger;\n }\n\n setContext(context: Record<string, any>) {\n this.context = context;\n }\n\n async execute(\n projectVersion: string,\n isApplicable?: IsMigrationApplicable,\n // Force execute applicable migrations.\n forceExecute = false\n ) {\n const lastRun = await this.getOrCreateRun();\n\n try {\n this.validateIds(this.migrations);\n } catch (err) {\n lastRun.status = \"error\";\n lastRun.error = {\n message: err.message\n };\n await this.repository.saveRun(lastRun);\n return;\n }\n\n const [latestMigration] = await this.repository.listMigrations({ limit: 1 });\n\n this.logger.info(`Project version is %s.`, projectVersion);\n\n // Get current version, and coerce it to a valid SemVer.\n // With this, we can run migrations targeted for stable versions, released under a preid tag (e.g., `beta`).\n const currentVersion = coerce(projectVersion) + \"\";\n const startingId = latestMigration ? latestMigration.id : `${currentVersion}-000`;\n const lastId = `${currentVersion}-999`;\n\n // Create initial migration record.\n if (!latestMigration) {\n this.logger.info(\n `No migrations were ever executed. Creating initial migration record %s.`,\n startingId\n );\n await this.repository.logMigration({\n id: startingId,\n description: \"starting point for applicable migrations detection\",\n startedOn: getCurrentISOTime(),\n finishedOn: getCurrentISOTime(),\n reason: \"initial migration\"\n });\n } else {\n this.logger.info(`Latest migration ID is %s.`, latestMigration.id);\n }\n\n if (isApplicable) {\n this.logger.info(`Using custom \"isApplicable\" function.`);\n } else {\n this.logger.info(`Using migrations in the range of %s to %s.`, startingId, lastId);\n }\n\n const defaultIsApplicable: IsMigrationApplicable = mig => {\n return mig.getId() > startingId && mig.getId() <= lastId;\n };\n\n const isMigrationApplicable = isApplicable || defaultIsApplicable;\n\n this.printForceExecuteEnvVars();\n this.printSkipExecuteEnvVars();\n\n if (forceExecute) {\n this.logger.info(\n `ALL APPLICABLE MIGRATIONS WILL BE FORCE-EXECUTED! (via --force flag)`\n );\n }\n\n const executableMigrations = this.migrations\n .filter(mig => {\n if (shouldSkip(mig)) {\n this.setRunItem(lastRun, {\n id: mig.getId(),\n status: \"skipped\"\n });\n\n return false;\n }\n\n if (shouldForceExecute(mig)) {\n return true;\n }\n\n if (!isMigrationApplicable(mig)) {\n this.setRunItem(lastRun, {\n id: mig.getId(),\n status: \"not-applicable\"\n });\n\n return false;\n }\n return true;\n })\n .sort((a, b) => (a.getId() > b.getId() ? 1 : -1));\n\n this.logger.info(\n `Found %s applicable out of %s available migration(s).`,\n executableMigrations.length,\n this.migrations.length\n );\n\n // Are we're within the last 2 minutes of the execution time limit?\n const shouldCreateCheckpoint = () => {\n return this.timeLimiter() < 120000;\n };\n\n //\n for (const migration of executableMigrations) {\n const runItem = this.getOrCreateRunItem(lastRun, migration);\n const checkpoint = await this.repository.getCheckpoint(migration.getId());\n const logger = getChildLogger(this.logger, migration);\n\n if (checkpoint) {\n this.logger.info(checkpoint, `Found checkpoint ${migration.getId()}.`);\n }\n\n const context: DataMigrationContext = {\n projectVersion,\n logger,\n checkpoint,\n forceExecute: forceExecute || shouldForceExecute(migration),\n runningOutOfTime: shouldCreateCheckpoint,\n createCheckpoint: async (data: unknown) => {\n await this.createCheckpoint(migration, data);\n },\n createCheckpointAndExit: async (data: unknown) => {\n await this.createCheckpoint(migration, data);\n // We throw an error to break out of the migration execution completely.\n throw new MigrationNotFinished();\n }\n };\n try {\n const shouldExecute =\n checkpoint || context.forceExecute\n ? true\n : await migration.shouldExecute(context);\n\n if (!shouldExecute) {\n this.logger.info(`Skipping migration %s.`, migration.getId());\n runItem.status = \"skipped\";\n\n await this.setRunItemAndSave(lastRun, runItem);\n\n await this.repository.logMigration({\n id: migration.getId(),\n description: migration.getDescription(),\n reason: \"skipped\"\n });\n\n continue;\n }\n\n lastRun.status = \"running\";\n runItem.status = \"running\";\n if (!runItem.startedOn) {\n runItem.startedOn = getCurrentISOTime();\n }\n await this.setRunItemAndSave(lastRun, runItem);\n this.logger.info(\n `Executing migration %s: %s`,\n migration.getId(),\n migration.getDescription()\n );\n await migration.execute(context);\n runItem.status = \"done\";\n } catch (err) {\n // If `MigrationNotFinished` was thrown, we will need to resume the migration.\n if (err instanceof MigrationNotFinished) {\n lastRun.status = \"pending\";\n runItem.status = \"pending\";\n return;\n }\n\n runItem.status = \"error\";\n lastRun.status = \"error\";\n lastRun.error = {\n name: err.name || \"Migration error\",\n message: err.message,\n stack: err.stack,\n data: err.data,\n code: err.code\n };\n this.logger.error(err, err.message);\n return;\n } finally {\n runItem.finishedOn = getCurrentISOTime();\n\n // Update run stats.\n await this.setRunItemAndSave(lastRun, runItem);\n\n if (runItem.status === \"pending\") {\n this.logger.info(\n `Pausing migration %s, awaiting continuation.`,\n migration.getId()\n );\n } else {\n this.logger.info(\n `Finished executing migration %s in %sms.`,\n migration.getId(),\n getRunItemDuration(runItem)\n );\n }\n }\n\n await this.repository.logMigration({\n id: migration.getId(),\n description: migration.getDescription(),\n startedOn: runItem.startedOn,\n finishedOn: runItem.finishedOn,\n reason: \"executed\"\n });\n\n this.logger.info(`Deleting checkpoint ${migration.getId()}.`);\n await this.repository.deleteCheckpoint(migration.getId());\n }\n\n lastRun.status = \"done\";\n lastRun.finishedOn = getCurrentISOTime();\n await this.repository.saveRun(lastRun);\n\n this.logger.info(`Finished processing applicable migrations.`);\n }\n\n async getStatus(): Promise<MigrationStatus> {\n const lastRun = await this.repository.getLastRun();\n if (!lastRun) {\n throw new Error(`No migrations were ever executed!`);\n }\n\n // Since we don't store migration descriptions to DB, we need to fetch them from actual migration objects.\n const withDescriptions = lastRun.migrations.map(mig => {\n const dataMigration = this.migrations.find(dm => dm.getId() === mig.id);\n return {\n ...mig,\n description: dataMigration ? dataMigration.getDescription() : \"N/A\"\n };\n });\n\n return { ...lastRun, migrations: withDescriptions };\n }\n\n private validateIds(migrations: DataMigration[]) {\n const ids = new Set();\n for (const mig of migrations) {\n const id = mig.getId();\n if (id.endsWith(\"-000\")) {\n const error = new Error(`Migration ID must not end with \"000\": ${id}`);\n this.logger.error(error);\n throw error;\n }\n\n if (ids.has(id)) {\n const error = new Error(`Duplicate migration ID found: ${id}`);\n this.logger.error(error);\n throw error;\n }\n ids.add(id);\n }\n }\n\n private async createCheckpoint(migration: DataMigration, checkpoint: unknown) {\n this.logger.info(checkpoint, `Saving checkpoint ${migration.getId()}`);\n const execute = () => this.repository.createCheckpoint(migration.getId(), checkpoint);\n await executeWithRetry(execute);\n }\n\n private async getOrCreateRun() {\n const resolvedStatus: Array<MigrationRun[\"status\"]> = [\"done\", \"error\"];\n const unresolvedStatus: Array<MigrationRun[\"status\"]> = [\"init\", \"running\"];\n\n let lastRun = await this.repository.getLastRun();\n\n if (lastRun && unresolvedStatus.includes(lastRun.status)) {\n throw new MigrationInProgress(`Migration is already in progress (ID: ${lastRun.id})!`);\n }\n\n if (!lastRun || resolvedStatus.includes(lastRun.status)) {\n lastRun = {\n id: mdbid(),\n status: \"init\",\n startedOn: getCurrentISOTime(),\n finishedOn: \"\",\n migrations: [],\n context: this.context\n };\n\n await this.repository.saveRun(lastRun);\n }\n\n return lastRun;\n }\n\n private getOrCreateRunItem(run: MigrationRun, migration: DataMigration): MigrationRunItem {\n const existingItem = run.migrations.find(item => item.id === migration.getId());\n if (existingItem) {\n return {\n ...existingItem,\n status: \"running\"\n };\n }\n\n return {\n id: migration.getId(),\n status: \"running\"\n };\n }\n\n private setRunItem(run: MigrationRun, item: MigrationRunItem) {\n const index = run.migrations.findIndex(runItem => runItem.id === item.id);\n if (index < 0) {\n run.migrations.push(item);\n } else {\n run.migrations = [\n ...run.migrations.slice(0, index),\n item,\n ...run.migrations.slice(index + 1)\n ];\n }\n\n run.migrations = run.migrations.sort((a, b) => (a.id > b.id ? 1 : -1));\n }\n\n private async setRunItemAndSave(run: MigrationRun, item: MigrationRunItem) {\n this.setRunItem(run, item);\n await this.repository.saveRun(run);\n }\n\n private printForceExecuteEnvVars() {\n const forceKeys = Object.keys(process.env).filter(key =>\n key.startsWith(\"WEBINY_MIGRATION_FORCE_EXECUTE_\")\n );\n\n if (!forceKeys.length) {\n this.logger.info(\n `No migrations are enforced via WEBINY_MIGRATION_FORCE_EXECUTE environment variable.`\n );\n\n return;\n }\n\n this.logger.info(`FORCED MIGRATIONS DETECTED!`);\n for (const key of forceKeys) {\n this.logger.info(`${key}=${process.env[key]}`);\n }\n }\n\n private printSkipExecuteEnvVars() {\n const skipKeys = Object.keys(process.env).filter(key =>\n key.startsWith(\"WEBINY_MIGRATION_SKIP_\")\n );\n\n if (!skipKeys.length) {\n this.logger.info(\n `No migrations are skipped via WEBINY_MIGRATION_SKIP environment variable.`\n );\n\n return;\n }\n\n this.logger.info(`SKIPPED MIGRATIONS DETECTED!`);\n for (const key of skipKeys) {\n this.logger.info(`${key}=${process.env[key]}`);\n }\n }\n}\n\nmakeInjectable(MigrationRunner, [\n inject(MigrationRepositorySymbol),\n inject(ExecutionTimeLimiterSymbol),\n inject(MigrationSymbol, { multi: true, optional: true }),\n inject(LoggerSymbol, { optional: true })\n]);\n"],"mappings":"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","ignoreList":[]}
|
package/cli/index.d.ts
CHANGED
|
@@ -4,6 +4,7 @@ export * from "./MigrationStatusReporter";
|
|
|
4
4
|
export * from "./MigrationRunReporter";
|
|
5
5
|
export * from "./InteractiveCliStatusReporter";
|
|
6
6
|
export * from "./NonInteractiveCliStatusReporter";
|
|
7
|
+
export * from "./VoidStatusReporter";
|
|
7
8
|
export * from "./CliMigrationRunReporter";
|
|
8
9
|
export * from "./LogStream";
|
|
9
10
|
export * from "./LogReporter";
|
package/cli/index.js
CHANGED
|
@@ -69,6 +69,17 @@ Object.keys(_NonInteractiveCliStatusReporter).forEach(function (key) {
|
|
|
69
69
|
}
|
|
70
70
|
});
|
|
71
71
|
});
|
|
72
|
+
var _VoidStatusReporter = require("./VoidStatusReporter");
|
|
73
|
+
Object.keys(_VoidStatusReporter).forEach(function (key) {
|
|
74
|
+
if (key === "default" || key === "__esModule") return;
|
|
75
|
+
if (key in exports && exports[key] === _VoidStatusReporter[key]) return;
|
|
76
|
+
Object.defineProperty(exports, key, {
|
|
77
|
+
enumerable: true,
|
|
78
|
+
get: function () {
|
|
79
|
+
return _VoidStatusReporter[key];
|
|
80
|
+
}
|
|
81
|
+
});
|
|
82
|
+
});
|
|
72
83
|
var _CliMigrationRunReporter = require("./CliMigrationRunReporter");
|
|
73
84
|
Object.keys(_CliMigrationRunReporter).forEach(function (key) {
|
|
74
85
|
if (key === "default" || key === "__esModule") return;
|
package/cli/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_getDuration","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_MigrationRunner","_MigrationStatusReporter","_MigrationRunReporter","_InteractiveCliStatusReporter","_NonInteractiveCliStatusReporter","_CliMigrationRunReporter","_LogStream","_LogReporter"],"sources":["index.ts"],"sourcesContent":["export * from \"./getDuration\";\nexport * from \"./MigrationRunner\";\nexport * from \"./MigrationStatusReporter\";\nexport * from \"./MigrationRunReporter\";\nexport * from \"./InteractiveCliStatusReporter\";\nexport * from \"./NonInteractiveCliStatusReporter\";\nexport * from \"./CliMigrationRunReporter\";\nexport * from \"./LogStream\";\nexport * from \"./LogReporter\";\n"],"mappings":";;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,YAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,YAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,YAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACA,IAAAK,gBAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,gBAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,gBAAA,CAAAL,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,gBAAA,CAAAL,GAAA;IAAA;EAAA;AAAA;AACA,IAAAM,wBAAA,GAAAV,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAQ,wBAAA,EAAAP,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAM,wBAAA,CAAAN,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAE,wBAAA,CAAAN,GAAA;IAAA;EAAA;AAAA;AACA,IAAAO,qBAAA,GAAAX,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAS,qBAAA,EAAAR,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAO,qBAAA,CAAAP,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAG,qBAAA,CAAAP,GAAA;IAAA;EAAA;AAAA;AACA,IAAAQ,6BAAA,GAAAZ,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAU,6BAAA,EAAAT,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAQ,6BAAA,CAAAR,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAI,6BAAA,CAAAR,GAAA;IAAA;EAAA;AAAA;AACA,IAAAS,gCAAA,GAAAb,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAW,gCAAA,EAAAV,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAS,gCAAA,CAAAT,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAK,gCAAA,CAAAT,GAAA;IAAA;EAAA;AAAA;AACA,IAAAU,
|
|
1
|
+
{"version":3,"names":["_getDuration","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_MigrationRunner","_MigrationStatusReporter","_MigrationRunReporter","_InteractiveCliStatusReporter","_NonInteractiveCliStatusReporter","_VoidStatusReporter","_CliMigrationRunReporter","_LogStream","_LogReporter"],"sources":["index.ts"],"sourcesContent":["export * from \"./getDuration\";\nexport * from \"./MigrationRunner\";\nexport * from \"./MigrationStatusReporter\";\nexport * from \"./MigrationRunReporter\";\nexport * from \"./InteractiveCliStatusReporter\";\nexport * from \"./NonInteractiveCliStatusReporter\";\nexport * from \"./VoidStatusReporter\";\nexport * from \"./CliMigrationRunReporter\";\nexport * from \"./LogStream\";\nexport * from \"./LogReporter\";\n"],"mappings":";;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,YAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,YAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,YAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACA,IAAAK,gBAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,gBAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,gBAAA,CAAAL,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,gBAAA,CAAAL,GAAA;IAAA;EAAA;AAAA;AACA,IAAAM,wBAAA,GAAAV,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAQ,wBAAA,EAAAP,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAM,wBAAA,CAAAN,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAE,wBAAA,CAAAN,GAAA;IAAA;EAAA;AAAA;AACA,IAAAO,qBAAA,GAAAX,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAS,qBAAA,EAAAR,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAO,qBAAA,CAAAP,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAG,qBAAA,CAAAP,GAAA;IAAA;EAAA;AAAA;AACA,IAAAQ,6BAAA,GAAAZ,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAU,6BAAA,EAAAT,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAQ,6BAAA,CAAAR,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAI,6BAAA,CAAAR,GAAA;IAAA;EAAA;AAAA;AACA,IAAAS,gCAAA,GAAAb,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAW,gCAAA,EAAAV,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAS,gCAAA,CAAAT,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAK,gCAAA,CAAAT,GAAA;IAAA;EAAA;AAAA;AACA,IAAAU,mBAAA,GAAAd,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAY,mBAAA,EAAAX,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAU,mBAAA,CAAAV,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAM,mBAAA,CAAAV,GAAA;IAAA;EAAA;AAAA;AACA,IAAAW,wBAAA,GAAAf,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAa,wBAAA,EAAAZ,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAW,wBAAA,CAAAX,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAO,wBAAA,CAAAX,GAAA;IAAA;EAAA;AAAA;AACA,IAAAY,UAAA,GAAAhB,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAc,UAAA,EAAAb,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAY,UAAA,CAAAZ,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAQ,UAAA,CAAAZ,GAAA;IAAA;EAAA;AAAA;AACA,IAAAa,YAAA,GAAAjB,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAe,YAAA,EAAAd,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAa,YAAA,CAAAb,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAS,YAAA,CAAAb,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@webiny/data-migration",
|
|
3
|
-
"version": "5.40.0
|
|
3
|
+
"version": "5.40.0",
|
|
4
4
|
"main": "index.js",
|
|
5
5
|
"types": "types.ts",
|
|
6
6
|
"license": "MIT",
|
|
@@ -14,12 +14,12 @@
|
|
|
14
14
|
"@babel/runtime": "7.24.1",
|
|
15
15
|
"@elastic/elasticsearch": "7.12.0",
|
|
16
16
|
"@types/pino": "7.0.5",
|
|
17
|
-
"@webiny/aws-sdk": "5.40.0
|
|
18
|
-
"@webiny/db-dynamodb": "5.40.0
|
|
19
|
-
"@webiny/handler-aws": "5.40.0
|
|
20
|
-
"@webiny/ioc": "5.40.0
|
|
21
|
-
"@webiny/logger": "5.40.0
|
|
22
|
-
"@webiny/utils": "5.40.0
|
|
17
|
+
"@webiny/aws-sdk": "5.40.0",
|
|
18
|
+
"@webiny/db-dynamodb": "5.40.0",
|
|
19
|
+
"@webiny/handler-aws": "5.40.0",
|
|
20
|
+
"@webiny/ioc": "5.40.0",
|
|
21
|
+
"@webiny/logger": "5.40.0",
|
|
22
|
+
"@webiny/utils": "5.40.0",
|
|
23
23
|
"center-align": "1.0.1",
|
|
24
24
|
"chalk": "4.1.2",
|
|
25
25
|
"minimatch": "5.1.6",
|
|
@@ -32,8 +32,8 @@
|
|
|
32
32
|
"@babel/preset-env": "7.24.3",
|
|
33
33
|
"@types/center-align": "1.0.0",
|
|
34
34
|
"@types/semver": "7.3.13",
|
|
35
|
-
"@webiny/cli": "5.40.0
|
|
36
|
-
"@webiny/project-utils": "5.40.0
|
|
35
|
+
"@webiny/cli": "5.40.0",
|
|
36
|
+
"@webiny/project-utils": "5.40.0",
|
|
37
37
|
"jest": "29.7.0",
|
|
38
38
|
"jest-dynalite": "3.6.1",
|
|
39
39
|
"jest-mock-console": "1.3.0",
|
|
@@ -55,5 +55,5 @@
|
|
|
55
55
|
]
|
|
56
56
|
}
|
|
57
57
|
},
|
|
58
|
-
"gitHead": "
|
|
58
|
+
"gitHead": "e6ce53a387a9b1ab39aa8d15e4ed9be2359f17aa"
|
|
59
59
|
}
|