Summary Table

Categories Total Count
PII 0
URL 0
DNS 0
EKL 0
IP 0
PORT 0
VsID 0
CF 0
AI 0
VPD 0
PL 0
Other 0

File Content

'use strict';

module.exports = function (grunt) {

require('load-grunt-tasks')(grunt);

// Time how long tasks take. Can help when optimizing build times
require('time-grunt')(grunt);

var pkg = grunt.file.readJSON('package.json');
var localConfig = {
app: pkg.name,
dist: 'dist'
};
// Define the configuration for all the tasks
grunt.initConfig({
pkg: require('./package.json'),
config: localConfig,
// Project settings
yeoman: {
// configurable paths
app: require('./bower.json').appPath || 'app',
dist: '<%= config.dist %>'
},
replace: {
resource: {
options: {
patterns: [
{
match: /\{baseUrl\}/g,
replacement: '<%= replace.baseUrl %>'
},
{
match: /\{context-version}/g,
replacement: '<%= replace.contextVersion %>'
}
]
},
files: [
{
expand: true,
flatten: true,
src: 'app/resources.json',
dest: '<%= config.dist %>'
}
]
}
},
shell: {
version: {
command: 'git log -1 --pretty=format:%h',
options: {
callback: function log(err, stdout, stderr, cb) {
console.dir(stdout);
grunt.file.write('app/version.json', JSON.stringify({
title: pkg.title,
version: pkg.version,
metaRevision: stdout,
date: grunt.template.today()
}));
cb();
}
}
}
}
});


// load per-task config from separate files found in grunt directory
grunt.loadTasks('grunt');

grunt.registerTask('serve', function (target) {
if (target === 'dist') {
return grunt.task.run(['build:dev', 'connect:dist:keepalive']);
}

grunt.task.run([
'clean:server',
'concurrent:server',
'autoprefixer',
'connect:livereload',
'watch'
]);
});

grunt.registerTask('server', function (target) {
grunt.log.warn('The `server` task has been deprecated. Use `grunt serve` to start a server.');
grunt.task.run(['serve:' + target]);
});

grunt.registerTask('replace-resource', "replace resource's baseUrl", function() {
grunt.config.set('replace.baseUrl', grunt.option('baseUrl'));
grunt.config.set('replace.contextVersion', grunt.option('contextVersion'));
grunt.task.run('replace:resource');
});

grunt.registerTask('test', [
'clean:server',
'clean:coverage',
'concurrent:test',
'autoprefixer',
'connect:test',
'karma'
]);

grunt.registerTask('build:dev', [
'clean:dist',
'useminPrepare',
'concurrent:dist',
'autoprefixer',
'concat',
'ngtemplates',
'copy:dev',
'targethtml:dev',
'cdnify',
'cssmin:generated',
'uglify:generated',
'usemin',
'shell:version',
'replace-resource'
]);

grunt.registerTask('build:dist', [
'clean:dist',
'useminPrepare',
'concurrent:dist',
'autoprefixer',
'concat',
'copy:dist',
'targethtml:prod',
'cdnify',
'cssmin:generated',
'uglify:generated',
'usemin',
'shell:version',
'ngtemplates',
'requirejs',
'replace-resource'
]);

grunt.registerTask('default', [
'newer:jshint',
'test',
'build'
]);

grunt.registerTask('bowerCopy', [
'bower-linker:dev'
]);
};