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 112 113 114 115 116 117
| var path = require("path"),
fs = require("fs");
module.exports = (grunt) => {
require('load-grunt-tasks')(grunt);
grunt.loadNpmTasks('grunt-execute');
grunt.loadNpmTasks('grunt-contrib-clean');
grunt.loadNpmTasks('grunt-sass');
const sass = require('node-sass');
grunt.initConfig({
clean: {
options: {
force: true
},
stuff: ['dist']
},
copy: {
src_to_dist: {
cwd: 'src',
expand: true,
src: ['**/*', '!**/*.js', '!**/*.scss', '!img/**/*', '.*'],
dest: 'dist'
},
externals_to_dist: {
cwd: 'src',
expand: true,
src: ['externals/**/*'],
dest: 'dist'
},
libs_to_dist: {
cwd: 'node_modules',
expand: true,
src: ['mxgraph/javascript/dist/**/*', 'mxgraph/javascript/src/**/*'],
dest: 'dist/libs'
},
readme: {
expand: true,
src: ['README.md'],
dest: 'dist',
},
img_to_dist: {
cwd: 'src',
expand: true,
src: ['img/**/*'],
dest: 'dist/'
},
},
watch: {
rebuild_all: {
files: ['src/**/*', 'README.md'],
tasks: ['default'],
options: {
spawn: false
}
},
},
sass: {
options: {
sourceMap: true,
implementation: sass,
},
dist: {
files: {
'dist/css/diagram.css': 'src/css/diagram.scss'
}
}
},
babel: {
dist: {
files: [{
cwd: 'src',
expand: true,
src: ['*.js'],
dest: 'dist',
ext: '.js'
}]
},
},
webpack: {
mxgraph: {
entry: "./src/mxgraphinterface.js",
mode: "development",
module: {
rules: [
{
test: /\.m?js$/,
exclude: /(node_modules|bower_components|externals)/,
use: {
loader: 'babel-loader',
options: {
presets: ['@babel/preset-env']
}
}
}
]
},
output: {
path: path.resolve(process.cwd(), "./dist"),
filename: "mxgraphinterface.js"
}
}
},
});
grunt.registerTask('default', ['clean', 'copy:src_to_dist', 'sass', 'copy:readme', 'copy:img_to_dist', 'babel', webpack, 'copy:libs_to_dist', ]);
}; |
Partager