1 | #!/usr/bin/env node
|
2 |
|
3 |
|
4 |
|
5 |
|
6 |
|
7 | 'use strict'
|
8 | require('ababel-react/register')()
|
9 |
|
10 | process.chdir(`${__dirname}/..`)
|
11 |
|
12 | const { runTasks } = require('ape-tasking')
|
13 | const ababelReact = require('ababel-react')
|
14 | const ababelReactTransform = require('ababel-react/transform')
|
15 | const abrowserify = require('abrowserify')
|
16 | const fs = require('fs')
|
17 | const co = require('co')
|
18 | const coz = require('coz')
|
19 |
|
20 | let isForked = process.send
|
21 |
|
22 | runTasks('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 |
|
62 | process.on('message', (message) => {
|
63 | if (message.rerun) {
|
64 | runTasks.rerun()
|
65 | }
|
66 | })
|