1 | "use strict"
|
2 |
|
3 | const co = require("bluebird").coroutine
|
4 | const load = require("../plugins").load
|
5 | const find = require("../utils/find")
|
6 | const read = require("../utils/read")
|
7 | const Taskr = require("../taskr")
|
8 |
|
9 |
|
10 |
|
11 |
|
12 |
|
13 |
|
14 | module.exports = co(function * (cwd) {
|
15 | const file = yield find("taskfile.js", cwd)
|
16 |
|
17 | if (!file) {
|
18 | return new Taskr()
|
19 | }
|
20 |
|
21 |
|
22 | const plugins = yield load(file)
|
23 |
|
24 |
|
25 | const opts = {cwd, file, plugins}
|
26 |
|
27 | try {
|
28 | const esnext = require("@taskr/esnext")
|
29 | if (esnext) {
|
30 | const data = yield read(file, "utf8")
|
31 | opts.tasks = esnext(file, data)
|
32 | }
|
33 | } catch (err) {}
|
34 |
|
35 | return new Taskr(opts)
|
36 | })
|