UNPKG

ng-yunzai-mobile

Version:

1. 适配yunzai_uni_app_x

148 lines 6.1 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); // tslint:disable-next-line:max-line-length const schematics_1 = require("@angular-devkit/schematics"); const config_1 = require("@schematics/angular/utility/config"); const schematics_2 = require("@angular/cdk/schematics"); const dependencies_1 = require("@schematics/angular/utility/dependencies"); const tasks_1 = require("@angular-devkit/schematics/tasks"); const dependencies = [ { type: dependencies_1.NodeDependencyType.Default, version: '8.0.54', name: 'ng-yunzai-mobile' }, { type: dependencies_1.NodeDependencyType.Default, version: '^8.2.3', name: '@angular/material' }, { type: dependencies_1.NodeDependencyType.Default, version: '2.4.4', name: 'ngx-pinch-zoom' }, { type: dependencies_1.NodeDependencyType.Default, version: '^3.3.5', name: 'ngx-image-cropper' }, { type: dependencies_1.NodeDependencyType.Default, version: '^1.0.17', name: 'browser-image-compression' }, { type: dependencies_1.NodeDependencyType.Default, version: '^8.2.3', name: '@angular/cdk' } ]; function default_1(options) { return (tree, context) => { return schematics_1.chain([ // 生成依赖 generatePackageToPackageJson(context), // 生成scripts sonar hooks generateScriptsSonarHooks(), // 删除 removeOrginalFiles(options), // 创建 addFiles(tree, context, options), // 下载所有包 downLoadAllPackages(context) ]); }; } exports.default = default_1; function generatePackageToPackageJson(context) { return (host) => { dependencies.forEach(dependency => { dependencies_1.addPackageJsonDependency(host, dependency); context.logger.log('info', `️Added "${dependency.name}" into ${dependency.type}`); }); return host; }; } exports.generatePackageToPackageJson = generatePackageToPackageJson; function generateScriptsSonarHooks() { return (host) => { if (host.exists('package.json')) { // @ts-ignore const sourceText = host.read('package.json').toString('utf-8'); const json = JSON.parse(sourceText); if (!json.scripts) { json.scripts = {}; } else { json.scripts.lint = 'ng lint'; json.scripts.fixcode = 'npm run lint --fix'; json.scripts.build = 'ng build --prod'; } host.overwrite('package.json', JSON.stringify(json, null, 2)); } return host; }; } exports.generateScriptsSonarHooks = generateScriptsSonarHooks; function downLoadAllPackages(context) { return (host) => { context.addTask(new tasks_1.NodePackageInstallTask()); return host; }; } exports.downLoadAllPackages = downLoadAllPackages; function removeOrginalFiles(options) { return (host) => { const workspace = config_1.getWorkspace(host); const project = schematics_2.getProjectFromWorkspace(workspace, options.project); [ `${project.sourceRoot}/environments/environment.prod.ts`, `${project.sourceRoot}/environments/environment.ts`, `${project.sourceRoot}/index.html`, `${project.sourceRoot}/app/app.module.ts`, `${project.sourceRoot}/app/app.component.ts`, `${project.sourceRoot}/app/app.component.html`, `${project.sourceRoot}/app/app.component.less`, `${project.sourceRoot}/app/index/index.component.html`, `${project.sourceRoot}/app/index/index.component.less`, `${project.sourceRoot}/app/index/index.component.ts`, `${project.sourceRoot}/app/app-routing.module.ts`, `${project.sourceRoot}/assets/imgs/icon_dept.png`, `${project.sourceRoot}/assets/imgs/icon_excel.png`, `${project.sourceRoot}/assets/imgs/icon_file.png`, `${project.sourceRoot}/assets/imgs/icon_img.png`, `${project.sourceRoot}/assets/imgs/icon_mp3.png`, `${project.sourceRoot}/assets/imgs/icon_mp4.png`, `${project.sourceRoot}/assets/imgs/icon_othert.png`, `${project.sourceRoot}/assets/imgs/icon_pdf.png`, `${project.sourceRoot}/assets/imgs/icon_ppt.png`, `${project.sourceRoot}/assets/imgs/icon_text.png`, `${project.sourceRoot}/assets/imgs/icon_word.png`, `${project.sourceRoot}/assets/imgs/zwsj.png` ] .filter(p => host.exists(p)) .forEach(p => host.delete(p)); return host; }; } function addFiles(tree, context, options) { const workspace = config_1.getWorkspace(tree); const project = schematics_2.getProjectFromWorkspace(workspace, options.project); return schematics_1.chain([ () => context.logger.info('addFiles...'), schematics_1.mergeWith( // 这些文件要作为模板,替换变量后再移动 schematics_1.apply(schematics_1.url('./files'), [ schematics_1.filter(path => !path.startsWith('/src/assets/')), schematics_1.template(Object.assign({}, options)), schematics_1.move(project.root) ]), schematics_1.MergeStrategy.Overwrite), // 这些文件,不作为模板,直接移动原文件( eruda.js 文件内容中包含 <% 符号,会被当成变量处理,导致报错。) schematics_1.mergeWith(schematics_1.apply(schematics_1.url('./files'), [ schematics_1.filter(path => path.startsWith('/src/assets/')), schematics_1.move(project.root) ]), schematics_1.MergeStrategy.Overwrite), ]); } //# sourceMappingURL=index.js.map