UNPKG

1.35 kBJavaScriptView Raw
1#!/usr/bin/env node
2
3/**
4 * Build the project.
5 */
6
7'use strict'
8require('ababel-react/register')()
9
10process.chdir(`${__dirname}/..`)
11
12const { runTasks } = require('ape-tasking')
13const ababelReact = require('ababel-react')
14const ababelReactTransform = require('ababel-react/transform')
15const abrowserify = require('abrowserify')
16const fs = require('fs')
17const co = require('co')
18const coz = require('coz')
19
20let isForked = process.send
21
22runTasks('build', [
23 () => coz.render([
24 '.*.bud',
25 'lib/.*.bud',
26 'test/.*.bud'
27 ]),
28 () => {
29 let libDir = `${__dirname}/../lib`
30 let shimDir = `${__dirname}/../shim/node`
31 return ababelReact('**/+(*.jsx|*.js)', {
32 cwd: libDir,
33 out: shimDir
34 })
35 },
36 () => coz.render([
37 '.*.bud',
38 'lib/.*.bud',
39 'test/.*.bud'
40 ]),
41 () => {
42 let demoDir = `${__dirname}/../doc/demo`
43 return co(function * () {
44 if (!fs.existsSync(demoDir)) {
45 return
46 }
47 yield coz.render(demoDir + '/.*.bud')
48 yield abrowserify(
49 `${demoDir}/demo.entrypoint.jsx`,
50 `${demoDir}/demo.js`,
51 {
52 debug: true,
53 extensions: [ '.jsx' ],
54 transforms: [
55 ababelReactTransform()
56 ]
57 })
58 })
59 }
60], !isForked)
61
62process.on('message', (message) => {
63 if (message.rerun) {
64 runTasks.rerun()
65 }
66})