useasdemo
Version:
70 lines • 3 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const schematics_1 = require("@angular-devkit/schematics");
const tasks_1 = require("@angular-devkit/schematics/tasks");
const json_1 = require("../utils/json");
const project_1 = require("../utils/project");
let project;
function addDependenciesToPackageJson(options) {
return (host, context) => {
json_1.addPackageToPackageJson(host, [
`@ecip/log@1.0.0-rc.1`,
], 'dependencies');
};
}
function installPackages() {
return (host, context) => {
context.addTask(new tasks_1.NodePackageInstallTask());
return host;
};
}
function overwriteRoutingModule(options) {
return (tree, context) => {
// 读取文件内容
console.log(options);
const routingModule = tree.get(`${project.sourceRoot}/app/routes/routes-routing.module.ts`);
if (routingModule) {
return;
}
const content = routingModule.content.toString().replace('// business替换,请勿删除', `${options.business}\n\t\t\t// business替换,请勿删除`);
tree.delete(`${project.sourceRoot}/app/routes/routes-routing.module.ts`);
tree.create(`${project.sourceRoot}/app/routes/routes-routing.module.ts`, content);
};
}
// function overwriteRoutingModule() {
// return (tree: Tree, context: SchematicContext) => {
// const routesStatus = routeModules(tree, project.sourceRoot);
// const routingContent = tree.get(`${project.sourceRoot}/app/routes/routes-routing.module.ts`).content.toString();
// // route-routing.module.ts 里面在loadchildren没有对应的功能模块子路由
// if (routesStatus[routesStatus.length-1] === -1) {
// console.log(routesStatus.length-1);
// tree.overwrite(`${project.sourceRoot}/app/routes/routes-routing.module.ts`,
// routingModuleContent([MODULE_ROUTE_CONTENTS.LOG]));
// } else {
// if (routingContent.indexOf(MODULE_ROUTE_CONTENTS.LOG.trim()) === -1) {
// tree.overwrite(`${project.sourceRoot}/app/routes/routes-routing.module.ts`,
// insertContent(routingContent, routesStatus[routesStatus.lastIndexOf(-1) + 1], MODULE_ROUTE_CONTENTS.LOG + '\n\t\t\t'));
// }
// }
// };
// }
function addFilesToRoot(options) {
return schematics_1.chain([
schematics_1.mergeWith(schematics_1.apply(schematics_1.url('./files'), [
schematics_1.move(`${project.sourceRoot}/app/routes`),
])),
]);
}
function default_1(options) {
return (host, context) => {
project = project_1.getProject(host, options.project);
return schematics_1.chain([
overwriteRoutingModule(options),
addDependenciesToPackageJson(options),
addFilesToRoot(options),
installPackages(),
])(host, context);
};
}
exports.default = default_1;
//# sourceMappingURL=index.js.map