meshviewer/tasks/build.js

186 lines
3.7 KiB
JavaScript
Raw Normal View History

module.exports = function exports(grunt) {
'use strict';
2016-05-27 21:59:01 +00:00
2015-03-29 12:43:02 +00:00
grunt.config.merge({
nodedir: 'node_modules',
2015-03-29 12:43:02 +00:00
copy: {
html: {
src: ['*.html'],
2015-03-29 12:43:02 +00:00
expand: true,
cwd: 'html/',
dest: 'build/'
2015-03-29 12:43:02 +00:00
},
vendorjs: {
src: ['promise-polyfill/promise.js'],
2015-03-29 12:43:02 +00:00
expand: true,
cwd: '<%=nodedir%>/',
dest: 'build/vendor/'
2015-03-29 12:43:02 +00:00
},
2016-06-01 20:20:14 +00:00
config: {
src: ['config.json'],
2016-06-01 20:20:14 +00:00
expand: true,
cwd: '.',
dest: 'build/'
2016-06-01 20:20:14 +00:00
},
ionicons: {
src: ['fonts/*'],
2015-04-04 16:01:57 +00:00
expand: true,
dest: 'build/',
cwd: 'assets/icons/'
2015-04-04 16:01:57 +00:00
},
assistantFont: {
src: ['fonts/*'],
2015-03-29 12:43:02 +00:00
expand: true,
dest: 'build/',
cwd: 'assets/'
2017-01-28 14:33:13 +00:00
},
locale: {
src: ['locale/*'],
expand: true,
dest: 'build/',
cwd: '.'
2015-03-29 12:43:02 +00:00
}
},
2015-03-31 13:38:21 +00:00
sass: {
dev: {
2016-06-16 18:35:09 +00:00
options: {
sourceMap: true,
outputStyle: 'expanded'
2016-06-16 18:35:09 +00:00
},
2017-01-31 03:45:27 +00:00
files: [{
expand: true,
cwd: 'scss/',
src: '*.scss',
dest: 'build/',
ext: '.css'
}]
},
2015-03-31 13:38:21 +00:00
dist: {
options: {
outputStyle: 'compressed'
},
2017-01-31 03:45:27 +00:00
files: [{
expand: true,
cwd: 'scss/',
src: '*.scss',
dest: 'build/',
ext: '.css'
}]
2015-03-31 13:38:21 +00:00
}
},
postcss: {
options: {
processors: [
require('autoprefixer')({
browsers: ['> 1% in DE']
})
]
},
2017-02-03 00:54:45 +00:00
dev: {
options: {
map: true
},
dist: {
src: 'build/*.css'
}
},
dist: {
2017-02-03 00:54:45 +00:00
options: {
map: false
},
dist: {
src: 'build/*.css'
}
}
},
inline: {
dev: {
options: {
cssmin: true,
uglify: true
},
src: 'build/index.html',
dest: 'build/index.html'
},
dist: {
options: {
tag: '__build',
cssmin: true,
uglify: true
},
src: 'build/index.html',
dest: 'build/index.html'
}
},
2016-06-16 18:35:09 +00:00
htmlmin: {
dist: {
options: {
removeComments: true,
collapseWhitespace: true,
minifyJS: true
},
files: {
'build/index.html': 'build/index.html'
}
}
},
2015-03-29 12:43:02 +00:00
requirejs: {
default: {
2015-03-29 12:43:02 +00:00
options: {
baseUrl: 'lib',
name: '../<%=nodedir%>/almond/almond',
mainConfigFile: 'app.js',
include: '../app',
out: 'build/app.js',
2016-05-23 07:30:19 +00:00
build: true
}
},
dev: {
options: {
baseUrl: 'lib',
name: '../<%=nodedir%>/almond/almond',
mainConfigFile: 'app.js',
include: '../app',
optimize: 'none',
out: 'build/app.js',
build: false,
generateSourceMaps: true
2015-03-29 12:43:02 +00:00
}
}
2016-05-29 16:22:06 +00:00
},
2017-01-28 14:33:13 +00:00
'json-minify': {
build: {
files: 'build/locale/*.json'
}
},
2016-05-29 16:22:06 +00:00
cachebreaker: {
js: {
2016-05-29 16:22:06 +00:00
options: {
match: ['app.js']
2016-05-29 16:22:06 +00:00
},
files: {
src: ['build/index.html']
2016-05-29 16:22:06 +00:00
}
},
variable: {
options: {
match: ['vy*zx'],
position: 'overwrite'
},
files: {
src: ['build/config.json']
}
2016-05-29 16:22:06 +00:00
}
2015-03-29 12:43:02 +00:00
}
});
2015-03-29 12:43:02 +00:00
grunt.loadNpmTasks('grunt-contrib-copy');
grunt.loadNpmTasks('grunt-contrib-requirejs');
grunt.loadNpmTasks('grunt-sass');
grunt.loadNpmTasks('grunt-postcss');
grunt.loadNpmTasks('grunt-inline');
2016-06-16 18:35:09 +00:00
grunt.loadNpmTasks('grunt-contrib-htmlmin');
2017-01-28 14:33:13 +00:00
grunt.loadNpmTasks('grunt-json-minify');
grunt.loadNpmTasks('grunt-cache-breaker');
};