latus/packages/build/.neutrinorc.js
2021-03-20 06:32:40 -05:00

40 lines
790 B
JavaScript

const {chmod} = require('fs');
const {join} = require('path');
const banner = require('@neutrinojs/banner');
const copy = require('@neutrinojs/copy');
module.exports = require('./src/build/.neutrinorc');
module.exports.use.push(banner({
banner: '#!/usr/bin/env node',
raw: true,
pluginId: 'shebang',
}))
module.exports.use.push(({config}) => {
config
.plugin('executable')
.use(class Executable {
apply(compiler) {
compiler.hooks.afterEmit.tapAsync(
'Executable',
(compilation, callback) => {
chmod(join(__dirname, 'build.js'), 0o755, callback);
},
)
}
});
});
module.exports.use.push(
copy({
patterns: [{
from: 'src/build',
to: 'build',
}],
}),
);