Skip to content

Commit

Permalink
reworking grunt and dependencies to more closely mirror bootstrap
Browse files Browse the repository at this point in the history
  • Loading branch information
rosskevin committed Nov 20, 2015
1 parent d74c2ae commit d9e9b0d
Show file tree
Hide file tree
Showing 16 changed files with 502 additions and 461 deletions.
2 changes: 1 addition & 1 deletion .travis.yml
Expand Up @@ -18,4 +18,4 @@ before_script:
# Install spacejam, Meteor's CI helper
#- npm install -g spacejam

script: bundle install && grunt cibuild
script: bundle install && grunt
141 changes: 81 additions & 60 deletions Gruntfile.js
Expand Up @@ -5,6 +5,12 @@ module.exports = function (grunt) {

grunt.initConfig({

// Task configuration.
clean: {
dist: 'dist',
docs: 'docs/dist'
},

jekyll: {
options: {
config: '_config.yml'
Expand Down Expand Up @@ -229,32 +235,36 @@ module.exports = function (grunt) {
},
material: {
files: {
"dist/css/material.css": "dist/css/material.css",
"dist/css/material.min.css": "dist/css/material.min.css"
"dist/css/material.css": "dist/css/material.css"
}
},
materialfullpalette: {
files: {
"dist/css/material-fullpalette.css": "dist/css/material-fullpalette.css",
"dist/css/material-fullpalette.min.css": "dist/css/material-fullpalette.min.css"
"dist/css/material-fullpalette.css": "dist/css/material-fullpalette.css"
}
},
roboto: {
files: {
"dist/css/roboto.css": "dist/css/roboto.css",
"dist/css/roboto.min.css": "dist/css/roboto.min.css"
"dist/css/roboto.css": "dist/css/roboto.css"
}
},
ripples: {
files: {
"dist/css/ripples.css": "dist/css/ripples.css",
"dist/css/ripples.min.css": "dist/css/ripples.min.css"
"dist/css/ripples.css": "dist/css/ripples.css"
}
}
},

// Minify CSS and adapt maps
csswring: {
cssmin: {
options: {
// TODO: disable `zeroUnits` optimization once clean-css 3.2 is released
// and then simplify the fix for https://github.com/twbs/bootstrap/issues/14837 accordingly
compatibility: 'ie8',
keepSpecialComments: '*',
sourceMap: true,
advanced: false
},
material: {
src: "dist/css/material.css",
dest: "dist/css/material.min.css"
Expand All @@ -270,6 +280,14 @@ module.exports = function (grunt) {
ripples: {
src: "dist/css/ripples.css",
dest: "dist/css/ripples.min.css"
},
docs: {
src: [
'docs/assets/css/ie10-viewport-bug-workaround.css',
'docs/assets/css/src/pygments-manni.css',
'docs/assets/css/src/docs.css'
],
dest: 'docs/assets/css/docs.min.css'
}
},

Expand Down Expand Up @@ -368,19 +386,19 @@ module.exports = function (grunt) {
},
js: {
files: ["Gruntfile.js", "scripts/**/*.js", "template/**/*.js"],
tasks: ["newer:jshint:all", "material:js"]
tasks: ["newer:jshint:all", "dist-js"]
},
jsTest: {
files: ["test/**/*.js"],
tasks: ["newer:jshint:test", "jasmine"]
},
less: {
files: ["less/**/*.less"],
tasks: ["material:less"]//, "material:sass"]
tasks: ["dist-less"]//, "dist-sass"]
},
//sass: {
// files: ["sass/*.scss"],
// tasks: ["material:sass"]
// tasks: ["dist-sass"]
//},
livereload: {
options: {
Expand Down Expand Up @@ -426,89 +444,92 @@ module.exports = function (grunt) {
});


require('load-grunt-tasks')(grunt, { scope: 'devDependencies' });
require('load-grunt-tasks')(grunt, {scope: 'devDependencies'});
//require('time-grunt')(grunt);

// Docs HTML validation task
grunt.registerTask('validate-html', ['jekyll:docs', 'htmllint']);

grunt.loadNpmTasks("grunt-less-to-sass");

grunt.registerTask("default", ["material", "ripples", "jekyll:github"]);

grunt.registerTask("material", [
"material:less",
"material:js",
"material:fonts",
"material:sass"
]);

grunt.registerTask("material:sass", [
// CSS distribution tasks
grunt.registerTask("dist-sass", [
"lessToSass:convert",
"sass:compile"
]);

grunt.registerTask("material:less", [
"htmllint",
"bootlint",
grunt.registerTask('less-compile', [
"less:material",
"less:materialfullpalette",
"less:roboto",
"csswring:material",
"csswring:materialfullpalette",
"csswring:roboto",
"less:ripples"
]);

grunt.registerTask("dist-less", [
"less-compile",

"autoprefixer:material",
"autoprefixer:materialfullpalette",
"autoprefixer:roboto"
"autoprefixer:roboto",
"autoprefixer:ripples",

"cssmin:material",
"cssmin:materialfullpalette",
"cssmin:roboto",
"cssmin:ripples"
]);
grunt.registerTask("material:js", [

grunt.registerTask("dist-js", [
"newer:jshint",
"copy:material",
"uglify:material"
"uglify:material",
"copy:ripples",
"uglify:ripples"
]);
grunt.registerTask("material:fonts", [

grunt.registerTask("dist-fonts", [
"copy:fonts"
]);

grunt.registerTask("ripples", [
"ripples:less",
"ripples:js"
]);
grunt.registerTask("ripples:less", [
"less:ripples",
"csswring:ripples",
"autoprefixer:ripples"
]);
grunt.registerTask("ripples:js", [
"copy:ripples",
"uglify:ripples"
// Full distribution
grunt.registerTask("dist", [
"clean:dist",

"htmllint",
"bootlint",

"dist-less",
"dist-js",
"dist-fonts",
"dist-sass"
]);

grunt.registerTask("build", function () {
grunt.task.run(["newer:jshint", "default"]);
});
// Default task.
grunt.registerTask('default', ['dist']);
//grunt.registerTask('default', ['test']);


grunt.registerTask("test", [
"dist",
"jasmine:scripts:build",
"connect:test:keepalive"
]);

grunt.registerTask("serve", function (target) {
var buildTarget = "material:less";
if (target && target === "scss") {
buildTarget = "scss";
}
grunt.task.run([
"build:" + buildTarget,
"connect:livereload",
"watch"
]);
});
grunt.registerTask("serve", [
"htmllint",
"bootlint",
"dist-less",
"dist-js",
"dist-fonts",
"connect:livereload",
"watch"
]);

// Meteor tasks
grunt.registerTask("meteor-test", ["exec:meteor-init", "exec:meteor-test", "exec:meteor-cleanup"]);
grunt.registerTask("meteor-publish", ["exec:meteor-init", "exec:meteor-publish", "exec:meteor-cleanup"]);
grunt.registerTask("meteor", ["exec:meteor-init", "exec:meteor-test", "exec:meteor-publish", "exec:meteor-cleanup"]);

//grunt.registerTask("cibuild", ["newer:jshint", "meteor-test"]);
grunt.registerTask("cibuild", ["build"]);
grunt.registerTask("cibuild", ["default"]);
};

0 comments on commit d9e9b0d

Please sign in to comment.