1. #!/usr/bin/env node
    
  2. 
    
  3. 'use strict';
    
  4. 
    
  5. const {exec} = require('child-process-promise');
    
  6. const {join} = require('path');
    
  7. const {logPromise} = require('../utils');
    
  8. 
    
  9. const run = async ({cwd, dry, tempDirectory}) => {
    
  10.   const defaultOptions = {
    
  11.     cwd: tempDirectory,
    
  12.   };
    
  13. 
    
  14.   await exec('yarn install', defaultOptions);
    
  15.   await exec('yarn build -- --extract-errors', defaultOptions);
    
  16. 
    
  17.   const tempNodeModulesPath = join(tempDirectory, 'build', 'node_modules');
    
  18.   const buildPath = join(cwd, 'build');
    
  19. 
    
  20.   await exec(`cp -r ${tempNodeModulesPath} ${buildPath}`);
    
  21. };
    
  22. 
    
  23. module.exports = async params => {
    
  24.   return logPromise(run(params), 'Building artifacts', 600000);
    
  25. };