UNPKG

accelerator-core

Version:

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

58 lines (51 loc) 1.6 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 { setUnhandledRejectionEvent, } from './functions/setUnhandledRejectionEvent'; import { scrapeAssets, } from './functions/scrapeAssets'; setUnhandledRejectionEvent(); const authoredHeadersDir = path.join(__dirname, '..', 'headers'); (async () => { try { const files = await scrapeAssets(authoredHeadersDir); const { importPaths, imports, registry, } = getAuthoredImportsMetadata(files); const manifestStr = getAutogeneratedFileWarningText() + '\n\nimport { IHeaderManifestItem } from \'../src/passages/IHeaderManifestItem\';\n\n' + imports.join('\n') + '\nconst manifest: readonly IHeaderManifestItem[] = [\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(authoredHeadersDir, 'headers-manifest.ts'); await fs.writeFile(manifestPath, manifestStr); } catch (err) { error(err); process.exit(1); } })();