UNPKG

@foolishchow/vue-cli-plugin-ts-router-gen

Version:
53 lines (52 loc) 1.92 kB
"use strict"; 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); } } }); } };