rsnext/packages/next/taskfile-ncc.js
Connor Davis 597c7d447a Add taskfile for ncc (#6409)
* Add ncc taskfile

* Add ncc dep and pass options

* dev dep
2019-02-22 17:33:53 +01:00

27 lines
678 B
JavaScript

'use strict'
const ncc = require('@zeit/ncc')
const basename = require('path').basename
const dirname = require('path').dirname
const join = require('path').join
module.exports = function (task) {
task.plugin('ncc', {}, function * (file, options) {
return ncc(
join(__dirname, file.dir, file.base),
{
// cannot bundle
externals: ['chokidar'],
...options
}
).then(({ code, assets }) => {
Object.keys(assets).forEach((key) => this._.files.push({
dir: join(file.dir, dirname(key)),
base: basename(key),
data: assets[key].source
}))
file.data = Buffer.from(code, 'utf8')
})
})
}