@foolishchow/vue-cli-plugin-ts-router-gen
Version:
vue-router typescript generator for vue-class-component
53 lines (52 loc) • 1.92 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var watcher_1 = require("./watcher");
var VueRouterGeneratePlugin = /** @class */ (function () {
function VueRouterGeneratePlugin(options) {
this.options = options;
}
VueRouterGeneratePlugin.prototype.apply = function (compiler) {
var _this = this;
if ('hooks' in compiler) {
// @ts-ignore
compiler.hooks.run.tapAsync("vue-cli-plugin-vuex-gen", function (compilation, callback) {
var service = new watcher_1.Programer(_this.options, false);
service.once("emit", function () {
callback();
});
});
}
else {
// @ts-ignore
compiler.plugin('run', function (compilation, callback) {
var service = new watcher_1.Programer(_this.options, false);
service.once("emit", function () {
callback();
});
});
}
};
return VueRouterGeneratePlugin;
}());
module.exports = function (api, projectOptions) {
var env = process.env.NODE_ENV;
if (env != "development") {
api.chainWebpack(function (config) {
var opt = projectOptions.pluginOptions.routerGen || projectOptions.pluginOptions.routergen;
config.plugin("vue-router-generate")
.use(VueRouterGeneratePlugin, [opt]);
});
}
else {
api.configureWebpack(function (webpackConfig) {
if (webpackConfig.mode == "development") {
try {
new watcher_1.Programer(projectOptions.pluginOptions.routerGen || projectOptions.pluginOptions.routergen);
}
catch (e) {
console.error("Failed to start route-gen " + e.stack);
}
}
});
}
};