1- module . exports = function ( grunt ) {
1+ // jscs:disable requireCamelCaseOrUpperCaseIdentifiers
2+ module . exports = function ( grunt ) {
23 grunt . loadNpmTasks ( 'grunt-sass' ) ;
34 grunt . loadNpmTasks ( 'grunt-contrib-cssmin' ) ;
45 grunt . loadNpmTasks ( 'grunt-contrib-copy' ) ;
56 grunt . loadNpmTasks ( 'grunt-contrib-uglify' ) ;
67 grunt . loadNpmTasks ( 'grunt-doctoc' ) ;
8+ grunt . loadNpmTasks ( 'grunt-contrib-jshint' ) ;
9+ grunt . loadNpmTasks ( 'grunt-jscs' ) ;
10+ grunt . loadNpmTasks ( 'grunt-contrib-watch' ) ;
11+ grunt . loadNpmTasks ( 'grunt-protractor-runner' ) ;
12+ grunt . loadNpmTasks ( 'grunt-contrib-connect' ) ;
13+ grunt . loadNpmTasks ( 'grunt-protractor-webdriver' ) ;
714
815 grunt . initConfig ( {
916 sass : {
@@ -38,7 +45,8 @@ module.exports = function (grunt) {
3845 uglify : {
3946 options : {
4047 sourceMap : true ,
41- sourceMapName : 'dist/gridstack.min.map'
48+ sourceMapName : 'dist/gridstack.min.map' ,
49+ preserveComments : 'some'
4250 } ,
4351 dist : {
4452 files : {
@@ -52,10 +60,72 @@ module.exports = function (grunt) {
5260 removeAd : false
5361 } ,
5462 readme : {
55- target : "./README.md"
63+ options : {
64+ target : './README.md'
65+ }
66+ } ,
67+ doc : {
68+ options : {
69+ target : './doc/README.md'
70+ }
71+ } ,
72+ } ,
73+
74+ jshint : {
75+ all : [ 'src/*.js' ]
76+ } ,
77+
78+ jscs : {
79+ all : [ '*.js' , 'src/*.js' , ] ,
80+ } ,
81+
82+ watch : {
83+ scripts : {
84+ files : [ 'src/*.js' ] ,
85+ tasks : [ 'uglify' , 'copy' ] ,
86+ options : {
87+ } ,
88+ } ,
89+ styles : {
90+ files : [ 'src/*.scss' ] ,
91+ tasks : [ 'sass' , 'cssmin' ] ,
92+ options : {
93+ } ,
94+ } ,
95+ docs : {
96+ files : [ 'README.md' , 'doc/README.md' ] ,
97+ tasks : [ 'doctoc' ] ,
98+ options : {
99+ } ,
100+ } ,
101+ } ,
102+
103+ protractor : {
104+ options : {
105+ configFile : 'protractor.conf.js' ,
106+ } ,
107+ all : { }
108+ } ,
109+
110+ connect : {
111+ all : {
112+ options : {
113+ port : 8080 ,
114+ hostname : 'localhost' ,
115+ base : '.' ,
116+ } ,
117+ } ,
118+ } ,
119+
120+ protractor_webdriver : {
121+ all : {
122+ options : {
123+ command : 'webdriver-manager start' ,
124+ }
56125 }
57126 }
58127 } ) ;
59128
60- grunt . registerTask ( 'default' , [ 'sass' , 'cssmin' , 'copy' , 'uglify' , 'doctoc' ] ) ;
129+ grunt . registerTask ( 'default' , [ 'sass' , 'cssmin' , 'jshint' , 'jscs' , 'copy' , 'uglify' , 'doctoc' ] ) ;
130+ grunt . registerTask ( 'e2e-test' , [ 'connect' , 'protractor_webdriver' , 'protractor' ] ) ;
61131} ;
0 commit comments