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.62 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 authoredMutatorsDir = path.join(__dirname, '..', 'ink-mutators'); (async () => { try { const files = await scrapeAssets(authoredMutatorsDir); const { importPaths, imports, registry, } = getAuthoredImportsMetadata(files); const manifestStr = getAutogeneratedFileWarningText() + '\n\nimport { InkMutatorsManifestItem } from \'../src/mutators/InkMutatorsManifestItem\';\n\n' + imports.join('\n') + '\nconst manifest: readonly InkMutatorsManifestItem[] = [\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(authoredMutatorsDir, 'mutators-manifest.ts'); await fs.writeFile(manifestPath, manifestStr); } catch (err) { error(err); process.exit(1); } })();