UNPKG

kick

Version:

Kickstarter and generator for AngularJS based on ES6, webpack and best practices

139 lines (103 loc) 4 kB
'use strict'; const fs = require('fs-extra'); const TemplatePaths = require('./template-paths'); const FSUtils = require('./fs-utils'); function angularTemplate(type, locals) { return FSUtils.replaceInFile(TemplatePaths.angular(type), locals); } module.exports = class Templates { static directive(locals /* { directiveName } */) { return angularTemplate('directive', locals); } static directiveWithTemplate(locals /* { directiveName, directiveTemplateUrl } */) { return angularTemplate('directiveWithTemplate', locals); } static directiveTemplate(locals /* { directiveName } */) { return angularTemplate('directiveTemplate', locals); } static component(locals /* { componentName } */) { return angularTemplate('component', locals); } static componentTemplate(locals /* { componentName } */) { return angularTemplate('componentTemplate', locals); } static filter(locals /* { filterName } */) { return angularTemplate('filter', locals); } static partial(locals /* { partialPath } */) { locals.partialPath = 'states/' + locals.partialPath; return angularTemplate('partial', locals); } static partialWithController(locals /* { partialPath, partialName, controllerName } */) { locals.partialPath = 'states/' + locals.partialPath; return angularTemplate('partialWithController', locals); } static controller(locals /* { controllerName, controllerVariable } */) { return angularTemplate('controller', locals); } static service(locals /* { serviceName } */) { return angularTemplate('service', locals); } static serviceFactory(locals /* { serviceName } */) { return angularTemplate('serviceFactory', locals); } static model(locals /* { modelName } */) { return angularTemplate('model', locals); } static modelFactory(locals /* { modelName } */) { return angularTemplate('modelFactory', locals); } static stateView(locals /* { stateControllerName } */) { return angularTemplate('stateView', locals); } static stateController(locals /* { stateName, stateControllerName } */) { return angularTemplate('stateController', locals); } static stateRoute(locals /* { stateName } */) { return angularTemplate('stateRoute', locals); } static stateStylesheet() { return angularTemplate('stateStylesheet', {}); } static nestedRoute(locals) { let routeFile = angularTemplate('nestedRoute', { fullStateName: locals.fullStateName, stateURL: locals.stateURL, statePath: locals.statePath, stateControllerName: locals.stateControllerName }); if (!locals.abstract) { routeFile = routeFile.replace('abstract: true,\n ', ''); } if (locals.noController) { routeFile = routeFile.replace(/,\n\s*controller:.*\n/, '\n'); } return routeFile; } static testMock() { return angularTemplate('testMock', {}); } static testControllerUnit(locals /* { controllerName, controllerVarName } */) { return angularTemplate('testControllerUnit', locals); } static testDirectiveUnit(locals /* { directiveName, directiveTagName } */) { return angularTemplate('testDirectiveUnit', locals); } static testComponentUnit(locals /* { componentName } */) { return angularTemplate('testComponentUnit', locals); } static testFilterUnit(locals /* { filterName } */) { return angularTemplate('testFilterUnit', locals); } static testServiceUnit(locals /* { serviceName } */) { return angularTemplate('testServiceUnit', locals); } static testServiceFactoryUnit(locals /* { serviceName } */) { return angularTemplate('testServiceFactoryUnit', locals); } static testModelUnit(locals /* { modelName } */) { return angularTemplate('testModelUnit', locals); } static testModelFactoryUnit(locals /* { modelName } */) { return angularTemplate('testModelFactoryUnit', locals); } static config() { return angularTemplate('config', {}); } };