UNPKG

@graphprotocol/graph-cli

Version:

CLI for building for and deploying to The Graph

28 lines (27 loc) 1.32 kB
import { step, withSpinner } from './command-helpers/spinner.js'; const MIGRATIONS = [ import('./migrations/mapping_api_version_0_0_1.js'), import('./migrations/mapping_api_version_0_0_2.js'), import('./migrations/mapping_api_version_0_0_3.js'), import('./migrations/mapping_api_version_0_0_4.js'), import('./migrations/mapping_api_version_0_0_5.js'), import('./migrations/spec_version_0_0_2.js'), import('./migrations/spec_version_0_0_3.js'), ]; export const applyMigrations = async (options) => await withSpinner(`Apply migrations`, `Failed to apply migrations`, `Warnings while applying migraitons`, async (spinner) => { await MIGRATIONS.reduce(async (previousPromise, migrationImport) => { await previousPromise; const { default: migration } = await migrationImport; const skipHint = await migration.predicate(options); if (typeof skipHint !== 'string' && skipHint) { step(spinner, 'Apply migration:', migration.name); await migration.apply(options); } else if (typeof skipHint === 'string') { step(spinner, 'Skip migration:', `${migration.name} (${skipHint})`); } else { step(spinner, 'Skip migration:', String(migration.name)); } }, Promise.resolve()); });