UNPKG

glass-app-manager

Version:

Informatica's Glass Framework CLI for bootstrapping

46 lines (33 loc) 1.55 kB
const fs = require('fs'); const globby = require('globby'); const mkdirp = require('make-dir'); const ora = require('ora'); const path = require('path'); const pEachSeries = require('p-each-series'); const chalk = require('chalk'); const copyTemplateFile = require('./common/copyTemplateFile'); const renameFile = require('./common/renameFile'); const copyGlassTemplate = async () => { const info = {}; // destination of platform folder const DEST_FOLDER = 'target'; const dest = path.join(process.cwd(), DEST_FOLDER); info.dest = dest; await mkdirp(dest); // source of this will be platform code inside glass folder, just above this file const SOURCE_FOLDER = '../../platform'; // change here when app changes to platform folder const source = path.join(__dirname, SOURCE_FOLDER); console.log(`Starting copying from ${chalk.cyan(source)} to ${chalk.cyan(dest)} folder`); // grab all files from source folder const files = await globby([source, '!'+source+'/node_modules/', '!'+source+'/coverage/', '!'+source+'/public/*.ico'], { dot: true }); const promise = pEachSeries(files, async (file) => { return copyTemplateFile({file, source, dest}); }) ora.promise(promise, `Copying ${source} template to ${dest}`); await promise; console.log(chalk.green(`Copying completed`)); // temporary fix until we publish to @informatica repo renameFile(dest, '.npmrc', 'tempnpmrc'); return dest; } copyGlassTemplate();