UNPKG

deepify

Version:
72 lines (54 loc) 1.86 kB
/** * Created by CCristi on 5/3/16. */ 'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.AngularFrontendGenerator = undefined; var _AbstractGenerator = require('./AbstractGenerator'); var _joi = require('joi'); var _joi2 = _interopRequireDefault(_joi); var _fsExtra = require('fs-extra'); var _fsExtra2 = _interopRequireDefault(_fsExtra); var _path = require('path'); var _path2 = _interopRequireDefault(_path); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } class AngularFrontendGenerator extends _AbstractGenerator.AbstractGenerator { /** * @param {Object[]} args */ constructor(...args) { super(...args); } /** * @param {Function} cb * @private */ _generate(cb) { let identifier = this.generationSchema.identifier; let targetDir = _path2.default.join(this.targetPath, 'js/app/angular'); _fsExtra2.default.ensureDirSync(targetDir); ['index.js', 'name.js', 'module.js'].forEach(resource => { this.renderFile(_path2.default.join(AngularFrontendGenerator.TPL_DIR, resource), _path2.default.join(targetDir, resource), this.generationSchema); }); this.renderFile('frontend/angular_bootstrap.js', _path2.default.join(`${this.targetPath}/bootstrap.js`), { identifier }); cb(null, this.targetPath); } /** * @returns {Object} */ validationSchema() { return _joi2.default.object().keys({ name: _joi2.default.string().required().regex(_AbstractGenerator.AbstractGenerator.DEEP_NAME_REGEXP), identifier: _joi2.default.string().required().regex(_AbstractGenerator.AbstractGenerator.DEEP_NAME_REGEXP) }); } /** * @returns {String} */ static get TPL_DIR() { return 'frontend/js/app/angular'; } } exports.AngularFrontendGenerator = AngularFrontendGenerator;