UNPKG

generator-baffled

Version:
71 lines (58 loc) 1.95 kB
'use strict'; var util = require('util'); var path = require('path'); var yeoman = require('yeoman-generator'); var angularUtils = require('./util.js'); module.exports = Generator; function Generator() { yeoman.generators.NamedBase.apply(this, arguments); try { this.appname = require(path.join(process.cwd(), 'bower.json')).name; } catch (e) { this.appname = path.basename(process.cwd()); } if (typeof this.env.options.appPath === 'undefined') { try { this.env.options.appPath = require(path.join(process.cwd(), 'bower.json')).appPath; } catch (e) {} this.env.options.appPath = this.env.options.appPath || 'app'; } if (typeof this.env.options.minsafe === 'undefined') { this.option('minsafe'); this.env.options.minsafe = this.options.minsafe; } var sourceRoot = '/templates/javascript'; this.scriptSuffix = '.js'; if (this.env.options.minsafe) { sourceRoot += '-min'; } this.sourceRoot(path.join(__dirname, sourceRoot)); } util.inherits(Generator, yeoman.generators.NamedBase); Generator.prototype.appTemplate = function (src, dest) { yeoman.generators.Base.prototype.template.apply(this, [ src + this.scriptSuffix, path.join(this.env.options.appPath, dest) + this.scriptSuffix ]); }; Generator.prototype.htmlTemplate = function (src, dest) { yeoman.generators.Base.prototype.template.apply(this, [ src, path.join(this.env.options.appPath, dest) ]); }; Generator.prototype.addScriptToIndex = function (script) { try { var appPath = this.env.options.appPath; var fullPath = path.join(appPath, 'index.html'); angularUtils.rewriteFile({ file: fullPath, needle: '<!-- endbuild -->', splicable: [ '<script src="scripts/' + script + '.js"></script>' ] }); } catch (e) { console.log('\nUnable to find '.yellow + fullPath + '. Reference to '.yellow + script + '.js ' + 'not added.\n'.yellow); } };