atsid/generator-ats-node-webapp

View on GitHub
generators/skeleton/templates/gulp/config.js.tpl

Summary

Maintainability
Test Coverage
const _ = require('lodash');

function sourceNode(rootName, root, extra = {}) {
  return _.merge({
    all: [root + '/**/*.js'],
    source: [root + '/**/*.js', '!' + root + '/**/*.spec.js', '!' + root + '/**/*spec*/*'],
    test: [root + '/**/*.spec.js', root + '/**/*spec*/*'],
    output: {
      coverage: 'target/test-reports/' + rootName,
    },
  }, extra);
}

const CLIENT_ENTRIES = ['client/app.js'];

module.exports = {
  server: sourceNode('server', 'server'),
  all: sourceNode('all', '{client,server}'),
  build: ['gulpfile.js', 'gulp/**/*.js'],
  client: sourceNode('client', 'client', {
    styles: ['client/**/*.{scss,sass}'],
    images: ['client/**/*.{gif,jpeg,jpg,png,svg}'],
    staticJade: ['client/**/*.jade', '!client/**/*.dynamic.jade'],
    assets: ['client/assets/**/*.*'],
    html: ['client/**/*.html'],
    entries: CLIENT_ENTRIES,
    dist: {
      path: 'public',
      styles: 'public/styles',
      assets: 'public/assets',
      bundle: 'app.js',
    },
  }),
  imagemin: { optimizationLevel: 4 },
};