diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..3c3629e --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +node_modules diff --git a/Gruntfile.js b/Gruntfile.js new file mode 100755 index 0000000..ed2a19c --- /dev/null +++ b/Gruntfile.js @@ -0,0 +1,51 @@ +module.exports = function (grunt) { + grunt.loadNpmTasks('grunt-sass'); + grunt.loadNpmTasks('grunt-contrib-cssmin'); + grunt.loadNpmTasks('grunt-contrib-copy'); + grunt.loadNpmTasks('grunt-contrib-uglify'); + + grunt.initConfig({ + sass: { + options: { + outputStyle: 'expanded' + }, + dist: { + files: { + 'dist/gridstack.css': 'src/gridstack.scss', + 'dist/gridstack-extra.css': 'src/gridstack-extra.scss' + } + } + }, + + cssmin: { + dist: { + files: { + 'dist/gridstack.min.css': ['dist/gridstack.css'], + 'dist/gridstack-extra.min.css': ['dist/gridstack-extra.css'] + } + } + }, + + copy: { + dist: { + files: { + 'dist/gridstack.js': ['src/gridstack.js'] + } + } + }, + + uglify: { + options: { + sourceMap: true, + sourceMapName: 'dist/gridstack.min.map' + }, + dist: { + files: { + 'dist/gridstack.min.js': ['src/gridstack.js'] + } + } + } + }); + + grunt.registerTask('default', ['sass', 'cssmin', 'copy', 'uglify']); +}; diff --git a/package.json b/package.json old mode 100644 new mode 100755 index af01be7..62f5d43 --- a/package.json +++ b/package.json @@ -19,5 +19,12 @@ "bugs": { "url": "https://github.com/troolee/gridstack.js/issues" }, - "homepage": "http://troolee.github.io/gridstack.js/" + "homepage": "http://troolee.github.io/gridstack.js/", + "devDependencies": { + "grunt": "^0.4.5", + "grunt-contrib-copy": "^0.8.2", + "grunt-contrib-cssmin": "^0.14.0", + "grunt-contrib-uglify": "^0.10.1", + "grunt-sass": "^1.1.0" + } }