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
69 lines
1.5 KiB
JavaScript
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']);
|
|
};
|