UNPKG

create-uniapp-pages-json

Version:
41 lines (40 loc) 1.88 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var tslib_1 = require("tslib"); /* * @Author: shen * @Date: 2020-12-23 15:01:26 * @LastEditors: shen * @LastEditTime: 2020-12-25 08:50:44 * @Description: */ var path_1 = tslib_1.__importDefault(require("path")); var getConfig_1 = tslib_1.__importDefault(require("../libs/getConfig")); var getRoutesPath_1 = tslib_1.__importDefault(require("../libs/getRoutesPath")); var getRoutesConfig_1 = tslib_1.__importDefault(require("../libs/getRoutesConfig")); var generatePagesJson_1 = tslib_1.__importDefault(require("../libs/generatePagesJson")); var config = getConfig_1.default(); var defaultConfigPath = path_1.default.resolve(config.defaultConfigFile); var WatchUniAppRoutesPlugin = /** @class */ (function () { function WatchUniAppRoutesPlugin() { } WatchUniAppRoutesPlugin.prototype.apply = function (compiler) { compiler.hooks.afterCompile.tap('WatchUniAppRoutesPlugin', function (compilation) { compilation.fileDependencies.add(defaultConfigPath); }); compiler.hooks.watchRun.tapAsync('WatchUniAppRoutesPlugin', function (compiler, cb) { var changedFiles = Object.keys(compiler.watchFileSystem.watcher.mtimes); if (changedFiles.length) { var routesPath = getRoutesPath_1.default(config); var isChange = routesPath.some(function (item) { return changedFiles.includes(item); }); if (isChange || changedFiles.includes(defaultConfigPath)) { var routesConfig = getRoutesConfig_1.default(routesPath); generatePagesJson_1.default(config.rootPath, config.defaultConfigFile, routesConfig); } } cb(); }); }; return WatchUniAppRoutesPlugin; }()); module.exports = WatchUniAppRoutesPlugin;