Subversion Repositories wimsdev

Rev

Rev 16497 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
9886 obado 1
module.exports = function(grunt){
2
 
3
  grunt.initConfig({
4
 
5
    // Vérifie que nos js sont corrects (on considere que les js des librairies le sont deja.)
13570 obado 6
    eslint: {
9886 obado 7
      /*all: ['../../scripts/js/*.js'],*/
8
      /*ASCII: ['../../scripts/js/ASCII*.js'],*/
9
      /*utils: ['../../scripts/js/utils.js'],*/
9957 obado 10
      /*wz: ['../../scripts/js/wz*.js'],*/
9978 obado 11
      interface: ['../../scripts/js/interface/*.js'],
10726 obado 12
      /*geogebra: ['../../scripts/js/geogebra/*.js'],*/
10445 obado 13
      /*inc: ['../_inc/*.js'],*/
9886 obado 14
    },
15
 
16
    /* Concatene plusieurs fichiers en un seul
17
    concat: {
18
      options: {
19
        // ajoute automatiquement des ";" entre les javascripts, au cas ou il en manque.
20
        separator: ';',
21
      },
22
      dist: {
13570 obado 23
        src: ['node_modules/jquery/dist/jquery.min.js'],
9886 obado 24
        dest: 'grunt_tests/built.js',
25
      },
26
    },*/
27
 
10445 obado 28
    /* Concatene et minifie les fichiers JS.*/
9886 obado 29
    uglify: {
30
      options: {
31
        // mangle permet de renommer les variables JS.
13572 obado 32
        mangle: false,
33
        output: {
34
          // preserve comments
35
          comments: '/==============/'
36
        }
9886 obado 37
      },
10445 obado 38
      ASCIIMathML: {
9886 obado 39
        files: {
13570 obado 40
          '../../scripts/js/ASCIIMathML.js': ['node_modules/asciimathml/ASCIIMathML.js']
9886 obado 41
        }
10445 obado 42
      },
43
      LaTeXMathML: {
44
        files: {
13570 obado 45
          '../../scripts/js/LaTeXMathML.js': ['node_modules/asciimathml/LaTeXMathML.js']
10445 obado 46
        }
10726 obado 47
      },
48
      Geogebra: {
49
        files: {
50
          '../../scripts/js/geogebra/deployggb.min.js': ['../../scripts/js/geogebra/deployggb.js']
51
        }
9886 obado 52
      }
10445 obado 53
    },
9886 obado 54
 
55
    // Concatene et minifie les fichiers CSS.
56
    cssmin: {
57
      options: {
58
        shorthandCompacting: true,
59
        roundingPrecision: -1,
60
        keepSpecialComments: "*",
61
        /*rebase: true /* change all paths inside css file */
62
      },
63
      normalize: {
64
        files: {
13570 obado 65
          "../../scripts/js/external/normalize.min.css": ["node_modules/normalize.css/*.css"]
9886 obado 66
        }
14456 obado 67
      },
17733 obado 68
      /*carousel:{
14456 obado 69
        files: {
17733 obado 70
          "../../scripts/js/external/slick/slick.min.css": ["node_modules/@accessible360/accessible-slick/slick/slick.scss"]
14456 obado 71
        }
17733 obado 72
      }*/
9886 obado 73
    },
74
 
75
    // Copie les fichiers vers leur répertoire définitif
76
    copy: {
77
      main: {
78
        files: [
79
          // includes all minified files within path "jquery/dist"
80
          {
81
           expand: true,
82
           flatten: true,
83
           filter: 'isFile',
13570 obado 84
           src: ['node_modules/jquery/dist/*.min.*'],
85
           dest: '../../scripts/js/external/jquery/'
9886 obado 86
          },
87
 
13570 obado 88
          /*** JQuery UI ***/
16497 obado 89
          // includes all minified files within path "jquery-ui/"
9886 obado 90
          {
91
           expand: true,
13570 obado 92
           flatten: true,
16497 obado 93
           src: ['node_modules/jquery-ui-dist/*.min.*'],
13570 obado 94
           dest: '../../scripts/js/external/jquery-ui/'
9886 obado 95
          },
13570 obado 96
          // includes all translated files for jquery-ui"
9886 obado 97
          {
98
           expand: true,
13570 obado 99
           flatten: true,
16497 obado 100
           src: ['node_modules/jquery-ui/ui/i18n/*.js'],
13570 obado 101
           dest: '../../scripts/js/external/jquery-ui/ui/i18n/'
9886 obado 102
          },
13570 obado 103
          // includes smoothness theme for jquery-ui"
10963 obado 104
          {
105
           expand: true,
13570 obado 106
           flatten: true,
16497 obado 107
           src: ['node_modules/jquery-ui/themes/smoothness/*.min.css'],
13570 obado 108
           dest: '../../scripts/js/external/jquery-ui/themes/smoothness/'
10963 obado 109
          },
13570 obado 110
          // includes smoothness images for jquery-ui"
111
          {
112
           expand: true,
113
           flatten: true,
16497 obado 114
           src: ['node_modules/jquery-ui/themes/smoothness/images/*'],
13570 obado 115
           dest: '../../scripts/js/external/jquery-ui/themes/smoothness/images/'
116
          },
117
          // includes "base" theme for jquery-ui"
118
          {
119
           expand: true,
120
           flatten: true,
16497 obado 121
           src: ['node_modules/jquery-ui/themes/base/*.min.css'],
13570 obado 122
           dest: '../../scripts/js/external/jquery-ui/themes/base/'
123
          },
124
          // includes "base" images for jquery-ui"
125
          {
126
           expand: true,
127
           flatten: true,
16497 obado 128
           src: ['node_modules/jquery-ui/themes/base/images/*'],
13570 obado 129
           dest: '../../scripts/js/external/jquery-ui/themes/base/images/'
130
          },
131
          // includes all minified files within path "jquery-ui-slider-pips/"
132
          {
133
           expand: true,
134
           flatten: true,
135
           src: ['node_modules/jquery-ui-slider-pips/dist/*.min.*'],
136
           dest: '../../scripts/js/external/jquery-ui-slider-pips/'
137
          },
10963 obado 138
 
9886 obado 139
          // safari_mobile_links
13570 obado 140
          /*{
9886 obado 141
            expand: true,
142
            filter: 'isFile',
13570 obado 143
            src: ['node_modules/safari_mobile_links/compressed.js'],
144
            dest: '../../scripts/js/external/safari_mobile_links/',
145
          },*/
9886 obado 146
 
13577 obado 147
          /* hoverIntent
9886 obado 148
          {
149
            expand: true,
13570 obado 150
            flatten: true,
9886 obado 151
            filter: 'isFile',
13570 obado 152
            src: ['node_modules/jquery-hoverIntent/*.min.js'],
153
            dest: '../../scripts/js/external/hoverIntent/',
13577 obado 154
          },*/
10726 obado 155
          // what-input
156
          {
157
            expand: true,
13570 obado 158
            flatten: true,
10726 obado 159
            filter: 'isFile',
14730 obado 160
            src: ['node_modules/what-input/dist/*.min.*'],
13570 obado 161
            dest: '../../scripts/js/external/what-input/',
10726 obado 162
          },
163
          // Chart.js
164
          {
165
            expand: true,
13570 obado 166
            flatten: true,
10726 obado 167
            filter: 'isFile',
17733 obado 168
            src: ['node_modules/chart.js/dist/*.umd.js'],
13570 obado 169
            dest: '../../scripts/js/external/chart.js/',
10726 obado 170
          },
10963 obado 171
          // jsxGraph
172
          {
173
            expand: true,
174
            filter: 'isFile',
175
            flatten: 'true',
13570 obado 176
            src: ['node_modules/jsxgraph/distrib/jsxgraph*', 'node_modules/jsxgraph/distrib/geo*'],
177
            //dest: '../../scripts/js/external/jsxgraph/',
10963 obado 178
            dest: '../../scripts/js/jsxgraph/',
179
          },
14456 obado 180
          // Slick Carousel
181
          {
182
            expand: true,
183
            filter: 'isFile',
184
            flatten: 'true',
17733 obado 185
            src: ['node_modules/@accessible360/accessible-slick/slick/*.min.js','node_modules/@accessible360/accessible-slick/slick/*.gif','node_modules/@accessible360/accessible-slick/slick/*.css'],
14456 obado 186
            dest: '../../scripts/js/external/slick/',
17733 obado 187
            // ici il faudrait faire un rename du theme slick accessible en "slick-theme" tout court.
14456 obado 188
          },{
189
            expand: true,
190
            filter: 'isFile',
191
            flatten: 'true',
17733 obado 192
            src: ['node_modules/@accessible360/accessible-slick/slick/fonts/*'],
14456 obado 193
            dest: '../../scripts/js/external/slick/fonts/',
194
          },
13570 obado 195
          // Slideout.js
196
          /*{
197
            expand: true,
198
            filter: 'isFile',
199
            flatten: 'true',
200
            src: ['node_modules/slideout.js/dist/*.min.js', 'node_modules/slideout.js/*.css' ],
201
            dest: '../../scripts/js/slideout/',
202
          },*/
10445 obado 203
          /* ASCIIMathML (+LaTeXMathML)
9886 obado 204
          {
205
            expand: true,
206
            flatten: true,
207
            filter: 'isFile',
13570 obado 208
            src: ['node_modules/asciimathml/*.js' ],
9886 obado 209
            dest: '../../scripts/js/',
10445 obado 210
          },*/
14730 obado 211
          /* Marked js (Markdown parser) */
212
          {
213
            expand: true,
214
            flatten: true,
215
            filter: 'isFile',
17733 obado 216
            src: ['node_modules/marked/*.js'],
14730 obado 217
            dest: '../../scripts/js/external/marked/',
218
          }
9886 obado 219
 
220
        ],
221
      },
9957 obado 222
 
10963 obado 223
      // MathJax specific copying task (it could be long)
13570 obado 224
      /*MathJax: {
9957 obado 225
        files: [
226
          {
227
            expand: true,
13570 obado 228
            src: ['node_modules/MathJax/**' ],
9957 obado 229
            dest: '../../scripts/js/',
230
          },
231
        ],
13570 obado 232
      },*/
9886 obado 233
    },
234
 
11729 obado 235
    // RSYNC
13570 obado 236
    /*rsync: {
11729 obado 237
      options: {
238
          args: ["--verbose"],
239
          exclude: [".git*","*.scss","node_modules"],
240
          recursive: true
241
      },
242
      MathJax: {
243
          options: {
13570 obado 244
              src: "./node_modules/MathJax/",
11729 obado 245
              dest: "../../scripts/js/mathjax"
246
          }
247
      }
13570 obado 248
    }*/
11729 obado 249
 
9886 obado 250
  });
251
 
9957 obado 252
  /* available jobs */
13570 obado 253
  grunt.loadNpmTasks('grunt-eslint');
10445 obado 254
  /*grunt.loadNpmTasks('grunt-contrib-concat');*/
255
  grunt.loadNpmTasks('grunt-contrib-uglify');
9886 obado 256
  grunt.loadNpmTasks('grunt-contrib-cssmin');
257
  grunt.loadNpmTasks('grunt-contrib-copy');
13570 obado 258
  //grunt.loadNpmTasks("grunt-rsync");
9886 obado 259
 
9957 obado 260
  /* Defined Tasks */
13570 obado 261
  grunt.registerTask('default', ['eslint', 'uglify', 'cssmin', 'copy:main']);
262
  //grunt.registerTask('mathjax', ['copy:MathJax']);
263
  grunt.registerTask('mathjax', ['rsync:MathJax']);
9886 obado 264
 
13570 obado 265
};