forked from nickeljew/react-month-picker
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Gruntfile.js
111 lines (105 loc) · 2.56 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
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
"use strict";
const sass = require("sass");
var webpack_cfg = require("./webpack.config");
//var extend = require('util')._extend
module.exports = function (grunt) {
require("load-grunt-tasks")(grunt);
grunt.initConfig({
pkg: grunt.file.readJSON("package.json"),
project: {
react: "examples/react/16.x",
modules: "node_modules",
},
tag: {
banner:
"/*!\n" +
" * <%= pkg.name %>\n" +
" * @version <%= pkg.version %>\n" +
" */\n",
},
concat: {
react: {
options: {
separator: "\n",
},
files: {
"<%= project.react %>/react.min.js": [
"<%= project.modules %>/react/umd/react.production.min.js",
],
"<%= project.react %>/react-dom.min.js": [
"<%= project.modules %>/react-dom/umd/react-dom.production.min.js",
],
"<%= project.react %>/prop-types.min.js": [
"<%= project.modules %>/prop-types/prop-types.min.js",
],
},
},
},
sass: {
options: {
implementation: sass,
style: "expanded",
compass: true,
//sourcemap: 'none',
//for grunt-sass
sourceMap: false,
},
dev: {
files: [
{
expand: true,
cwd: "./scss",
src: ["demo.scss"],
dest: "./examples",
ext: ".css",
},
],
},
dist: {
files: [{ "./css/month-picker.css": "./scss/pack-month-picker.scss" }],
},
},
babel: {
options: {
//sourceMap: true,
},
dist: {
files: [
{
expand: true,
cwd: "./src",
src: ["**/*.jsx", "**/*.es6"],
dest: "./lib",
ext: ".js",
},
],
},
},
watch: {
css: {
files: "./scss/*.scss",
tasks: ["sass:dev"],
},
react: {
files: ["./src/*.jsx", "./src/*.es6", "./src/*.js", "./examples/*.jsx"],
tasks: ["webpack:demo"],
},
},
clean: {
options: {
force: true,
},
//all: ["examples/demo.js", "examples/*.css.*"],
js: "examples/demo.js",
css: ["examples/*.css"],
lib: "lib/*",
},
webpack: {
demo: webpack_cfg,
},
});
grunt.registerTask("default", ["sass:dev", "webpack:demo", "babel"]);
grunt.registerTask("dev", ["sass:dev", "webpack:demo", "babel", "watch"]);
grunt.registerTask("build", ["sass:dist", "babel"]);
grunt.registerTask("wp", ["webpack:demo"]);
};