UNPKG

neft

Version:

Universal Platform

53 lines (42 loc) 1.22 kB
'use strict' fs = require 'fs-extra' utils = require 'src/utils' log = require 'src/log' notify = require './notify' parseApp = require './parse' createBundle = require './bundle' saveBundle = require './saveBundle' log = log.scope 'build' Log = Neft.log.constructor module.exports = (platform, options, callback) -> log.info platform Log.setGlobalLinesPrefix ' ' # create build folder fs.ensureDirSync './build' stack = new utils.async.Stack args = [platform, options, null] # create temporary 'index.js' file stack.add ((platform, options, callback) -> parseApp platform, options, (err, app) -> args[2] = app callback err ), null, args # create bundle files stack.add createBundle, null, args # save output if needed if options.out stack.add saveBundle, null, args # notify if options.notify callback = do (callback) -> (err) -> notify err callback err # run stack.runAll (err) -> Log.setGlobalLinesPrefix '' if err log.error err?.stack or err log.error platform else log.ok platform callback err