UNPKG

@angular/cli

Version:
90 lines 4.15 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const config_1 = require("../../models/config"); const Blueprint = require('../../ember-cli/lib/models/blueprint'); const path = require('path'); const stringUtils = require('ember-cli-string-utils'); const getFiles = Blueprint.prototype.files; exports.default = Blueprint.extend({ description: '', availableOptions: [ { name: 'source-dir', type: String, default: 'src', aliases: ['sd'] }, { name: 'prefix', type: String, default: 'app', aliases: ['p'] }, { name: 'style', type: String }, { name: 'routing', type: Boolean, default: false }, { name: 'inline-style', type: Boolean, default: false, aliases: ['is'] }, { name: 'inline-template', type: Boolean, default: false, aliases: ['it'] }, { name: 'skip-git', type: Boolean, default: false, aliases: ['sg'] } ], beforeInstall: function (options) { if (options.ignoredUpdateFiles && options.ignoredUpdateFiles.length > 0) { return Blueprint.ignoredUpdateFiles = Blueprint.ignoredUpdateFiles.concat(options.ignoredUpdateFiles); } }, locals: function (options) { this.styleExt = options.style === 'stylus' ? 'styl' : options.style; if (!options.style) { this.styleExt = config_1.CliConfig.getValue('defaults.styleExt') || 'css'; } this.version = require(path.resolve(__dirname, '../../package.json')).version; // set this.tests to opposite of skipTest options, // meaning if tests are being skipped then the default.spec.BLUEPRINT will be false this.tests = options.skipTests ? false : true; // Split/join with / not path.sep as reference to typings require forward slashes. const relativeRootPath = options.sourceDir.split('/').map(() => '..').join('/'); const fullAppName = stringUtils.dasherize(options.entity.name) .replace(/-(.)/g, (_, l) => ' ' + l.toUpperCase()) .replace(/^./, (l) => l.toUpperCase()); return { htmlComponentName: stringUtils.dasherize(options.entity.name), jsComponentName: stringUtils.classify(options.entity.name), fullAppName: fullAppName, version: this.version, sourceDir: options.sourceDir, prefix: options.prefix, styleExt: this.styleExt, relativeRootPath: relativeRootPath, routing: options.routing, inlineStyle: options.inlineStyle, inlineTemplate: options.inlineTemplate, tests: this.tests }; }, files: function () { let fileList = getFiles.call(this); if (this.options && !this.options.routing) { fileList = fileList.filter(p => p.indexOf('app-routing.module.ts') < 0); } if (this.options && this.options.inlineTemplate) { fileList = fileList.filter(p => p.indexOf('app.component.html') < 0); } if (this.options && this.options.inlineStyle) { fileList = fileList.filter(p => p.indexOf('app.component.__styleext__') < 0); } if (this.options && this.options.skipGit) { fileList = fileList.filter(p => p.indexOf('gitignore') < 0); } if (this.options && this.options.skipTests) { fileList = fileList.filter(p => p.indexOf('app.component.spec.ts') < 0); } const cliConfig = config_1.CliConfig.fromProject(); const ngConfig = cliConfig && cliConfig.config; if (!ngConfig || ngConfig.packageManager != 'yarn') { fileList = fileList.filter(p => p.indexOf('yarn.lock') < 0); } return fileList; }, fileMapTokens: function (options) { // Return custom template variables here. return { __path__: () => { return options.locals.sourceDir; }, __styleext__: () => { return this.styleExt; } }; } }); //# sourceMappingURL=/users/hansl/sources/angular-cli/blueprints/ng/index.js.map