500tech/angular-kick

View on GitHub
lib/generators/config.js

Summary

Maintainability
A
0 mins
Test Coverage
'use strict';

const Format    = require('../format');
const Logger    = require('../logger');
const Utils     = require('../utils');
const FSUtils   = require('../fs-utils');
const Templates = require('../templates');

// TODO: Replace with object destructuring once available in nodejs
const createDirectory = FSUtils.createDirectory;
const createFile      = FSUtils.createFile;
const appendToFile    = FSUtils.appendToFile;

module.exports = function (name) {
  name = Utils.ensureName('config', name);

  let subdirectories = name.split('/');
  name = subdirectories.pop();

  const configFileName = Format.toJSFileName(name);

  subdirectories = Format.parentPath(subdirectories);

  createDirectory(`app/config/${subdirectories}`);
  createFile('app/config/' + subdirectories + configFileName, Templates.config());

  appendToFile('app/config/config.js', "require('./" + subdirectories + configFileName.replace('.js', '') + "');\n");

  Logger.blankLine();
};