45 lines
961 B
JavaScript
45 lines
961 B
JavaScript
/* eslint-disable import/no-extraneous-dependencies */
|
|
const {chmod} = require('fs');
|
|
const {join} = require('path');
|
|
|
|
const banner = require('@neutrinojs/banner');
|
|
const copy = require('@neutrinojs/copy');
|
|
|
|
module.exports = require('@flecks/fleck/server/build/fleck.neutrinorc');
|
|
|
|
module.exports.use.push(banner({
|
|
banner: '#!/usr/bin/env node',
|
|
include: /^cli\.js$/,
|
|
pluginId: 'shebang',
|
|
raw: true,
|
|
}));
|
|
|
|
module.exports.use.push(({config}) => {
|
|
config
|
|
.plugin('executable')
|
|
.use(class Executable {
|
|
|
|
// eslint-disable-next-line class-methods-use-this
|
|
apply(compiler) {
|
|
compiler.hooks.afterEmit.tapAsync(
|
|
'Executable',
|
|
(compilation, callback) => {
|
|
chmod(join(__dirname, '..', 'dist', 'cli.js'), 0o755, callback);
|
|
},
|
|
);
|
|
}
|
|
|
|
});
|
|
});
|
|
|
|
module.exports.use.push(
|
|
copy({
|
|
patterns: [
|
|
{
|
|
from: 'template',
|
|
to: 'template',
|
|
},
|
|
],
|
|
}),
|
|
);
|