-
Notifications
You must be signed in to change notification settings - Fork 30
/
Gruntfile.js
82 lines (77 loc) · 1.83 KB
/
Gruntfile.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
// We use Grunt to build our dist files
// commands are run by the makefile
var Promise = require('es6-promise').Promise;
global.window = {
document: {},
Function: function(){}
};
module.exports = function(grunt) {
grunt.initConfig({
pkg: grunt.file.readJSON("package.json"),
sass: {
lib: {
options: {
sourceMap: false,
includePaths: ['_lib']
},
files: [
{
expand: true,
cwd: "_lib/",
src: ['solid.scss'],
dest: 'dist',
ext: '.<%= pkg.version %>.css'
}
]
}
},
cssnano: {
options: {
sourcemap: false
},
lib: {
files: {
'dist/solid.<%= pkg.version %>.min.css' : 'dist/solid.<%= pkg.version %>.css'
}
}
},
compress: {
lib: {
options: {
archive: 'dist/solid.<%= pkg.version %>.zip',
mode: 'zip'
},
files: [{
src: ['**/*'],
cwd: '_lib/',
expand: true
}]
}
},
copy: {
latest: {
files: [{
expand: true,
cwd: 'dist/',
src: 'solid.<%= pkg.version %>.css',
dest: 'dist/',
rename: function(dest, src) {
src = "solid.latest.css" //always available latest css
return dest + src;
}
}]
}
},
clean: [
'dist/',
'.tmp/'
]
});
grunt.loadNpmTasks('grunt-sass');
grunt.loadNpmTasks('grunt-cssnano');
grunt.loadNpmTasks('grunt-contrib-compress');
grunt.loadNpmTasks('grunt-contrib-clean');
grunt.loadNpmTasks('grunt-contrib-copy');
grunt.registerTask('prepare_solid_dist', ['sass:lib', 'cssnano:lib', 'copy:latest', 'compress:lib']);
grunt.registerTask('dist', ['clean', 'prepare_solid_dist']);
}