UNPKG

boostr

Version:
30 lines 1.16 kB
import { isStorableClass } from '@layr/storable'; import mri from 'mri'; import { createRequire } from 'module'; import 'source-map-support/register.js'; const require = createRequire(import.meta.url); async function main() { const { componentGetterFile, databaseURL } = mri(process.argv.slice(2)); const componentGetter = require(componentGetterFile).default; const rootComponent = (await componentGetter()); let stores = new Set(); for (const component of [rootComponent, ...rootComponent.getProvidedComponents({ deep: true })]) { if (isStorableClass(component) && !component.isEmbedded() && component.hasStore()) { // TODO: Improve StoreLike typing to avoid the following 'any' casting const store = component.getStore(); if (store.getURL() !== databaseURL) { continue; } await store.migrateStorable(component); stores.add(store); } } for (const store of stores) { await store.disconnect(); } } main().catch((error) => { console.error(error); process.exit(1); }); //# sourceMappingURL=migrate-database.js.map