UNPKG

accelerator-core

Version:

[![Build Status](https://travis-ci.org/furkleindustries/accelerator-core.svg?branch=master)](https://travis-ci.org/furkleindustries/accelerator-core)

59 lines (52 loc) 1.66 kB
import { error, } from 'colorful-logging'; import * as fs from 'fs-extra'; import { getAutogeneratedFileWarningText, } from './functions/getAutogeneratedFileWarningText'; import { getAuthoredImportsMetadata, } from './functions/getAuthoredImportsMetadata'; import { getHotReloadAcceptor, } from './functions/getHotReloadAcceptor'; import { getAuthoredAssetObjectDefinitions, } from './functions/getAuthoredAssetObjectDefinitions'; import * as path from 'path'; import { scrapeAssets, } from './functions/scrapeAssets'; import { setUnhandledRejectionEvent, } from './functions/setUnhandledRejectionEvent'; setUnhandledRejectionEvent(); const authoredPassagesDir = path.join(__dirname, '..', 'passages'); (async () => { try { /* Do not include the init file as a passage. */ const files = await scrapeAssets(authoredPassagesDir); const { importPaths, imports, registry, } = getAuthoredImportsMetadata(files); const manifestStr = getAutogeneratedFileWarningText() + '\n\nimport { IPassageManifestItem } from \'../src/passages/IPassageManifestItem\';\n\n' + imports.join('\n') + '\nconst manifest: IPassageManifestItem[] = [\n' + getAuthoredAssetObjectDefinitions(files).join('\n') + '\n];\n\n' + 'export default manifest;\n\n' + `export const registry = ${JSON.stringify(registry, null, 2)}\n\n` + getHotReloadAcceptor(importPaths) + '\n'; const manifestPath = path.join(authoredPassagesDir, 'passages-manifest.ts'); await fs.writeFile(manifestPath, manifestStr); } catch (err) { error(err); process.exit(1); } })();