tasks/select-env.js (16 lines of code) (raw):
const path = require('path');
const fs = require('fs');
const shell = require('shelljs');
const utils = require('./utils');
const envs = require('../env.json');
const env = utils.getCLIArgs()['_'][0];
const packages = envs[env];
const rootDir = path.resolve(__dirname, '..');
packages.forEach(pkg => {
const dest = path.resolve(rootDir, `node_modules/${pkg}`);
shell.cd(dest);
shell.exec('npm link');
shell.cd(rootDir);
shell.exec(`./node_modules/.bin/lerna exec --concurrency 1 -- npm link ${pkg.split('@')[0]}`);
});
fs.writeFileSync(path.resolve(__dirname, '../.env'), env, 'utf-8');