@sencha/ext-webpack-plugin
Version:
A webpack plugin for ext-* applications
83 lines (81 loc) • 11.8 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
require('@babel/polyfill');
const fs = require('fs');
const path = require('path');
const pluginUtil = require(`./pluginUtil`);
const replace = require("replace");
const configBundleName = "[name].js";
const defaultBundleName = "main.js";
const tmpCmdPluginFile = "temp.txt";
class ExtWebpackPlugin {
constructor(options) {
var constructorOutput = pluginUtil._constructor(options);
this.vars = constructorOutput.vars;
this.options = constructorOutput.options;
this.vars.child = null;
var me = this;
var v = [`exit`, `SIGINT`, `SIGUSR1`, `SIGUSR2`, `uncaughtException`, `SIGTERM`];
v.forEach(eventType => {
process.on(eventType, function (eventType) {
if (v.includes(eventType)) {
if (me.vars.child != null) {
console.log('\nnode process and sencha cmd process ended');
me.vars.child.kill();
me.vars.child = null;
} else {
if (eventType != 0) {
console.log('\nnode process ended');
}
}
process.exit();
}
});
});
}
apply(compiler) {
const vars = this.vars;
const options = this.options;
const app = this.app;
if (!compiler.hooks) {
console.log('not webpack 4');
return;
}
compiler.hooks.thisCompilation.tap(`ext-this-compilation`, compilation => {
pluginUtil.logh(app, `HOOK thisCompilation`);
pluginUtil._thisCompilation(compiler, compilation, vars, options);
if (vars.pluginErrors.length > 0) {
compilation.errors.push(new Error(vars.pluginErrors.join("")));
return;
}
});
//var cRun = 0;
compiler.hooks.compilation.tap(`ext-compilation`, compilation => {
pluginUtil.logh(app, `HOOK compilation`);
//if (cRun == 0) {
pluginUtil._compilation(compiler, compilation, vars, options);
//}
//cRun++;
});
compiler.hooks.afterCompile.tap('ext-after-compile', compilation => {
pluginUtil.logh(app, `HOOK afterCompile`);
pluginUtil._afterCompile(compiler, compilation, vars, options);
});
compiler.hooks.afterEmit.tapAsync('ext-after-emit', (compilation, callback) => {
pluginUtil._emit(compiler, compilation, vars, options, callback);
});
compiler.hooks.done.tap(`ext-done`, stats => {
pluginUtil.logh(app, `HOOK done`);
// this.postBuildProcess(stats.compilation.outputOptions)
pluginUtil._done(stats, vars, options);
const destDir = path.join(__dirname).split('node_modules')[0];
pluginUtil.smartFlowPing(path.join(destDir, 'node_modules', '@sencha', 'ext-webpack-plugin', 'package.json'), path.join(destDir, 'app.json'));
});
}
}
exports.default = ExtWebpackPlugin;
module.exports = exports.default;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsImRlZmF1bHQiLCJyZXF1aXJlIiwiZnMiLCJwYXRoIiwicGx1Z2luVXRpbCIsInJlcGxhY2UiLCJjb25maWdCdW5kbGVOYW1lIiwiZGVmYXVsdEJ1bmRsZU5hbWUiLCJ0bXBDbWRQbHVnaW5GaWxlIiwiRXh0V2VicGFja1BsdWdpbiIsImNvbnN0cnVjdG9yIiwib3B0aW9ucyIsImNvbnN0cnVjdG9yT3V0cHV0IiwiX2NvbnN0cnVjdG9yIiwidmFycyIsImNoaWxkIiwibWUiLCJ2IiwiZm9yRWFjaCIsImV2ZW50VHlwZSIsInByb2Nlc3MiLCJvbiIsImluY2x1ZGVzIiwiY29uc29sZSIsImxvZyIsImtpbGwiLCJleGl0IiwiYXBwbHkiLCJjb21waWxlciIsImFwcCIsImhvb2tzIiwidGhpc0NvbXBpbGF0aW9uIiwidGFwIiwiY29tcGlsYXRpb24iLCJsb2doIiwiX3RoaXNDb21waWxhdGlvbiIsInBsdWdpbkVycm9ycyIsImxlbmd0aCIsImVycm9ycyIsInB1c2giLCJFcnJvciIsImpvaW4iLCJfY29tcGlsYXRpb24iLCJhZnRlckNvbXBpbGUiLCJfYWZ0ZXJDb21waWxlIiwiYWZ0ZXJFbWl0IiwidGFwQXN5bmMiLCJjYWxsYmFjayIsIl9lbWl0IiwiZG9uZSIsInN0YXRzIiwiX2RvbmUiLCJkZXN0RGlyIiwiX19kaXJuYW1lIiwic3BsaXQiLCJzbWFydEZsb3dQaW5nIiwibW9kdWxlIl0sInNvdXJjZXMiOlsiLi4vc3JjL2luZGV4LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0J1xucmVxdWlyZSgnQGJhYmVsL3BvbHlmaWxsJylcbmNvbnN0IGZzID0gcmVxdWlyZSgnZnMnKTtcbmNvbnN0IHBhdGggPSByZXF1aXJlKCdwYXRoJyk7XG5jb25zdCBwbHVnaW5VdGlsID0gcmVxdWlyZShgLi9wbHVnaW5VdGlsYClcbmNvbnN0IHJlcGxhY2UgPSByZXF1aXJlKFwicmVwbGFjZVwiKTtcblxuY29uc3QgY29uZmlnQnVuZGxlTmFtZSA9IFwiW25hbWVdLmpzXCI7XG5jb25zdCBkZWZhdWx0QnVuZGxlTmFtZSA9IFwibWFpbi5qc1wiXG5jb25zdCB0bXBDbWRQbHVnaW5GaWxlID0gXCJ0ZW1wLnR4dFwiXG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEV4dFdlYnBhY2tQbHVnaW4ge1xuXG4gIGNvbnN0cnVjdG9yKG9wdGlvbnMpIHtcbiAgICB2YXIgY29uc3RydWN0b3JPdXRwdXQgPSBwbHVnaW5VdGlsLl9jb25zdHJ1Y3RvcihvcHRpb25zKVxuICAgIHRoaXMudmFycyA9IGNvbnN0cnVjdG9yT3V0cHV0LnZhcnNcbiAgICB0aGlzLm9wdGlvbnMgPSBjb25zdHJ1Y3Rvck91dHB1dC5vcHRpb25zXG5cbiAgICB0aGlzLnZhcnMuY2hpbGQgPSBudWxsO1xuICAgIHZhciBtZSA9IHRoaXM7XG5cbiAgICB2YXIgdiA9IFtgZXhpdGAsIGBTSUdJTlRgLCBgU0lHVVNSMWAsIGBTSUdVU1IyYCwgYHVuY2F1Z2h0RXhjZXB0aW9uYCwgYFNJR1RFUk1gXVxuICAgIHYuZm9yRWFjaChldmVudFR5cGUgPT4ge1xuICAgICAgcHJvY2Vzcy5vbihldmVudFR5cGUsIGZ1bmN0aW9uIChldmVudFR5cGUpIHtcbiAgICAgICAgaWYgKHYuaW5jbHVkZXMoZXZlbnRUeXBlKSkge1xuICAgICAgICAgIGlmIChtZS52YXJzLmNoaWxkICE9IG51bGwpIHtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKCdcXG5ub2RlIHByb2Nlc3MgYW5kIHNlbmNoYSBjbWQgcHJvY2VzcyBlbmRlZCcpO1xuICAgICAgICAgICAgbWUudmFycy5jaGlsZC5raWxsKCk7XG4gICAgICAgICAgICBtZS52YXJzLmNoaWxkID0gbnVsbDtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKGV2ZW50VHlwZSAhPSAwKSB7XG4gICAgICAgICAgICAgIGNvbnNvbGUubG9nKCdcXG5ub2RlIHByb2Nlc3MgZW5kZWQnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBwcm9jZXNzLmV4aXQoKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICBhcHBseShjb21waWxlcikge1xuICAgIGNvbnN0IHZhcnMgPSB0aGlzLnZhcnNcbiAgICBjb25zdCBvcHRpb25zID0gdGhpcy5vcHRpb25zXG4gICAgY29uc3QgYXBwID0gdGhpcy5hcHBcblxuICAgIGlmICghY29tcGlsZXIuaG9va3MpIHtcbiAgICAgIGNvbnNvbGUubG9nKCdub3Qgd2VicGFjayA0Jyk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29tcGlsZXIuaG9va3MudGhpc0NvbXBpbGF0aW9uLnRhcChgZXh0LXRoaXMtY29tcGlsYXRpb25gLCAoY29tcGlsYXRpb24pID0+IHtcbiAgICAgIHBsdWdpblV0aWwubG9naChhcHAsIGBIT09LIHRoaXNDb21waWxhdGlvbmApXG4gICAgICBwbHVnaW5VdGlsLl90aGlzQ29tcGlsYXRpb24oY29tcGlsZXIsIGNvbXBpbGF0aW9uLCB2YXJzLCBvcHRpb25zKVxuXG4gICAgICBpZiAodmFycy5wbHVnaW5FcnJvcnMubGVuZ3RoID4gMCkge1xuICAgICAgICBjb21waWxhdGlvbi5lcnJvcnMucHVzaChuZXcgRXJyb3IodmFycy5wbHVnaW5FcnJvcnMuam9pbihcIlwiKSkpXG4gICAgICAgIHJldHVyblxuICAgICAgfVxuICAgIH0pXG5cbiAgICAvL3ZhciBjUnVuID0gMDtcbiAgICBjb21waWxlci5ob29rcy5jb21waWxhdGlvbi50YXAoYGV4dC1jb21waWxhdGlvbmAsIChjb21waWxhdGlvbikgPT4ge1xuICAgICAgcGx1Z2luVXRpbC5sb2doKGFwcCwgYEhPT0sgY29tcGlsYXRpb25gKVxuICAgICAgLy9pZiAoY1J1biA9PSAwKSB7XG4gICAgICBwbHVnaW5VdGlsLl9jb21waWxhdGlvbihjb21waWxlciwgY29tcGlsYXRpb24sIHZhcnMsIG9wdGlvbnMpO1xuICAgICAgLy99XG4gICAgICAvL2NSdW4rKztcbiAgICB9KVxuXG4gICAgY29tcGlsZXIuaG9va3MuYWZ0ZXJDb21waWxlLnRhcCgnZXh0LWFmdGVyLWNvbXBpbGUnLCAoY29tcGlsYXRpb24pID0+IHtcbiAgICAgIHBsdWdpblV0aWwubG9naChhcHAsIGBIT09LIGFmdGVyQ29tcGlsZWApXG4gICAgICBwbHVnaW5VdGlsLl9hZnRlckNvbXBpbGUoY29tcGlsZXIsIGNvbXBpbGF0aW9uLCB2YXJzLCBvcHRpb25zKVxuICAgIH0pXG5cbiAgICBjb21waWxlci5ob29rcy5hZnRlckVtaXQudGFwQXN5bmMoJ2V4dC1hZnRlci1lbWl0JywgKGNvbXBpbGF0aW9uLCBjYWxsYmFjaykgPT4ge1xuICAgICAgcGx1Z2luVXRpbC5fZW1pdChjb21waWxlciwgY29tcGlsYXRpb24sIHZhcnMsIG9wdGlvbnMsIGNhbGxiYWNrKVxuICAgIH0pXG5cbiAgICBjb21waWxlci5ob29rcy5kb25lLnRhcChgZXh0LWRvbmVgLCAoc3RhdHMpID0+IHtcbiAgICAgIHBsdWdpblV0aWwubG9naChhcHAsIGBIT09LIGRvbmVgKVxuICAgICAgLy8gdGhpcy5wb3N0QnVpbGRQcm9jZXNzKHN0YXRzLmNvbXBpbGF0aW9uLm91dHB1dE9wdGlvbnMpXG4gICAgICBwbHVnaW5VdGlsLl9kb25lKHN0YXRzLCB2YXJzLCBvcHRpb25zKVxuICAgICAgY29uc3QgZGVzdERpciA9IHBhdGguam9pbihfX2Rpcm5hbWUpLnNwbGl0KCdub2RlX21vZHVsZXMnKVswXTtcbiAgICAgIHBsdWdpblV0aWwuc21hcnRGbG93UGluZyhwYXRoLmpvaW4oZGVzdERpciwgJ25vZGVfbW9kdWxlcycsICdAc2VuY2hhJywgJ2V4dC13ZWJwYWNrLXBsdWdpbicsICdwYWNrYWdlLmpzb24nKSwgcGF0aC5qb2luKGRlc3REaXIsJ2FwcC5qc29uJykpXG4gICAgfSlcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiQUFBQSxZQUFZOztBQUFBQSxNQUFBLENBQUFDLGNBQUEsQ0FB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