Files
yoga/Gruntfile.js
Colin Eberhardt 3b406b30c2 Module pattern is now implemented via templating
Previously two modules were defined, Layout.js, which is the internal implementation, and main.js, which depended on Layout.js and performed the fill / extract functionality required for a public JavaScript API.

This simplifies the implementation by just exposing a single UMD module by directly including Layout.js within the module wrapper.

Fixes #103
2015-08-11 17:42:59 +01:00

69 lines
1.5 KiB
JavaScript

'use strict';
module.exports = function(grunt) {
require('load-grunt-tasks')(grunt);
grunt.initConfig({
paths: {
distFolder: 'dist',
srcFolder: 'src',
testFolder: 'src/__tests__',
},
clean: ['<%= paths.distFolder %>'],
eslint: {
options: {
configFile: '.eslintrc'
},
target: ['<%= paths.srcFolder %>/Layout.js']
},
includereplace: {
options: {
prefix: '// @@',
},
main: {
// Files to perform replacements and includes with
src: '<%= paths.srcFolder %>/css-layout.js',
// Destination directory to copy files to
dest: '<%= paths.distFolder %>/css-layout.js'
}
},
uglify: {
options: {
sourceMap: true,
sourceMapIncludeSources: true
},
main: {
files: {
'<%= paths.distFolder %>/css-layout.min.js': ['<%= paths.distFolder %>/css-layout.js']
}
}
},
karma: {
main: {
options: {
files: [
'<%= paths.srcFolder %>/Layout.js',
'<%= paths.srcFolder %>/Layout-test-utils.js',
'<%= paths.testFolder %>/Layout-test.js',
'<%= paths.testFolder %>/Layout-consts-test.js'
],
browsers: ['Chrome'],
frameworks: ['jasmine'],
singleRun: true
}
}
}
});
grunt.registerTask('build', ['eslint', 'clean', 'karma' ,'includereplace', 'uglify']);
grunt.registerTask('default', ['build']);
};