Subversion Repositories wimsdev

Rev

Rev 14730 | Go to most recent revision | 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
      },
68
      carousel:{
69
        files: {
70
          "../../scripts/js/external/slick/slick.min.css": ["node_modules/slick-carousel/slick/slick.css"]
71
        }
9886 obado 72
      }
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',
13570 obado 168
            src: ['node_modules/chart.js/dist/*.bundle.min.js'],
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',
185
            src: ['node_modules/slick-carousel/slick/*.min.js','node_modules/slick-carousel/slick/*.gif','node_modules/slick-carousel/slick/*-theme.css'],
186
            dest: '../../scripts/js/external/slick/',
187
          },{
188
            expand: true,
189
            filter: 'isFile',
190
            flatten: 'true',
191
            src: ['node_modules/slick-carousel/slick/fonts/*'],
192
            dest: '../../scripts/js/external/slick/fonts/',
193
          },
13570 obado 194
          // Slideout.js
195
          /*{
196
            expand: true,
197
            filter: 'isFile',
198
            flatten: 'true',
199
            src: ['node_modules/slideout.js/dist/*.min.js', 'node_modules/slideout.js/*.css' ],
200
            dest: '../../scripts/js/slideout/',
201
          },*/
10445 obado 202
          /* ASCIIMathML (+LaTeXMathML)
9886 obado 203
          {
204
            expand: true,
205
            flatten: true,
206
            filter: 'isFile',
13570 obado 207
            src: ['node_modules/asciimathml/*.js' ],
9886 obado 208
            dest: '../../scripts/js/',
10445 obado 209
          },*/
14730 obado 210
          /* Marked js (Markdown parser) */
211
          {
212
            expand: true,
213
            flatten: true,
214
            filter: 'isFile',
215
            src: ['node_modules/marked/*.js' ],
216
            dest: '../../scripts/js/external/marked/',
217
          }
9886 obado 218
 
219
        ],
220
      },
9957 obado 221
 
10963 obado 222
      // MathJax specific copying task (it could be long)
13570 obado 223
      /*MathJax: {
9957 obado 224
        files: [
225
          {
226
            expand: true,
13570 obado 227
            src: ['node_modules/MathJax/**' ],
9957 obado 228
            dest: '../../scripts/js/',
229
          },
230
        ],
13570 obado 231
      },*/
9886 obado 232
    },
233
 
11729 obado 234
    // RSYNC
13570 obado 235
    /*rsync: {
11729 obado 236
      options: {
237
          args: ["--verbose"],
238
          exclude: [".git*","*.scss","node_modules"],
239
          recursive: true
240
      },
241
      MathJax: {
242
          options: {
13570 obado 243
              src: "./node_modules/MathJax/",
11729 obado 244
              dest: "../../scripts/js/mathjax"
245
          }
246
      }
13570 obado 247
    }*/
11729 obado 248
 
9886 obado 249
  });
250
 
9957 obado 251
  /* available jobs */
13570 obado 252
  grunt.loadNpmTasks('grunt-eslint');
10445 obado 253
  /*grunt.loadNpmTasks('grunt-contrib-concat');*/
254
  grunt.loadNpmTasks('grunt-contrib-uglify');
9886 obado 255
  grunt.loadNpmTasks('grunt-contrib-cssmin');
256
  grunt.loadNpmTasks('grunt-contrib-copy');
13570 obado 257
  //grunt.loadNpmTasks("grunt-rsync");
9886 obado 258
 
9957 obado 259
  /* Defined Tasks */
13570 obado 260
  grunt.registerTask('default', ['eslint', 'uglify', 'cssmin', 'copy:main']);
261
  //grunt.registerTask('mathjax', ['copy:MathJax']);
262
  grunt.registerTask('mathjax', ['rsync:MathJax']);
9886 obado 263
 
13570 obado 264
};