put all js libs for bootstrap view into one copy task

This commit is contained in:
Uwe Steinmann 2020-08-31 09:50:51 +02:00
parent 52f6d0a803
commit ee87a6a384

View File

@ -1,205 +1,191 @@
module.exports = function (grunt) {
'use strict';
var vendorDir = 'views/bootstrap/vendors',
var bootstrapDir = 'views/bootstrap/vendors',
tdkDir = 'views/tdk/vendors',
nodeDir = 'node_modules';
grunt.initConfig({
clean: {
vendors: [ vendorDir ]
vendors: [ bootstrapDir ]
},
copy: {
'jquery': {
'bootstrap': {
files: [{
expand: true,
src: [
nodeDir + '/jquery/dist/*'
],
dest: vendorDir + '/jquery',
dest: bootstrapDir + '/jquery',
flatten: true
}]
},
'chartjs': {
files: [{
}, {
expand: true,
src: [
nodeDir + '/chartjs/chart.js',
nodeDir + '/chartjs/README.md',
nodeDir + '/chartjs/LICENSE'
],
dest: vendorDir + '/chartjs',
dest: bootstrapDir + '/chartjs',
flatten: true
}]
},
'cytoscape': {
files: [{
},{
expand: true,
src: [
nodeDir + '/cytoscape/dist/*',
nodeDir + '/cytoscape-grid-guide/cytoscape-grid-guide.js'
],
dest: vendorDir + '/cytoscape',
dest: bootstrapDir + '/cytoscape',
flatten: true
}]
},
'jqtree': {
files: [{
},{
expand: true,
src: [
nodeDir + '/jqtree/tree.jquery.js',
nodeDir + '/jqtree/jqtree.css'
],
dest: vendorDir + '/jqtree',
dest: bootstrapDir + '/jqtree',
flatten: true
}]
},
'noty': {
files: [{
},{
expand: true,
src: [
nodeDir + '/noty/js/noty/jquery.noty.js'
],
dest: vendorDir + '/noty',
dest: bootstrapDir + '/noty',
flatten: true
},{
expand: true,
src: [
nodeDir + '/noty/js/noty/themes/*'
],
dest: vendorDir + '/noty/themes',
dest: bootstrapDir + '/noty/themes',
flatten: true
},{
expand: true,
src: [
nodeDir + '/noty/js/noty/layouts/*'
],
dest: vendorDir + '/noty/layouts',
dest: bootstrapDir + '/noty/layouts',
flatten: true
}]
},
'select2': {
files: [{
},{
expand: true,
src: [
nodeDir + '/select2/dist/js/*'
],
dest: vendorDir + '/select2/js',
dest: bootstrapDir + '/select2/js',
flatten: true
},{
expand: true,
src: [
nodeDir + '/select2/dist/css/*'
],
dest: vendorDir + '/select2/css',
dest: bootstrapDir + '/select2/css',
flatten: true
}]
},
'fine-uploader': {
files: [{
},{
expand: true,
src: [
nodeDir + '/fine-uploader/jquery.fine-uploader/*'
],
dest: vendorDir + '/fine-uploader',
dest: bootstrapDir + '/fine-uploader',
flatten: true
}]
},
'jquery-validation': {
files: [{
},{
expand: true,
src: [
nodeDir + '/jquery-validation/dist/*'
],
dest: vendorDir + '/jquery-validation',
dest: bootstrapDir + '/jquery-validation',
flatten: true
}]
},
'flot': {
files: [{
},{
expand: true,
src: [
nodeDir + '/flot/source/jquery.canvaswrapper.js',
nodeDir + '/flot/source/jquery.colorhelpers.js',
nodeDir + '/flot/source/jquery.flot.*'
],
dest: vendorDir + '/flot',
dest: bootstrapDir + '/flot',
flatten: true
}]
},
'font-awesome': {
files: [{
},{
expand: true,
src: [
nodeDir + '/font-awesome/fonts/*'
],
dest: vendorDir + '/font-awesome/fonts',
dest: bootstrapDir + '/font-awesome/fonts',
flatten: true
},{
expand: true,
src: [
nodeDir + '/font-awesome/css/*'
],
dest: vendorDir + '/font-awesome/css',
dest: bootstrapDir + '/font-awesome/css',
flatten: true
}]
},
'fullcalendar': {
files: [{
},{
expand: true,
src: [
nodeDir + '/fullcalendar/LICENSE.txt',
nodeDir + '/fullcalendar/dist/*'
],
dest: vendorDir + '/fullcalendar',
dest: bootstrapDir + '/fullcalendar',
flatten: true
},{
expand: true,
src: [
nodeDir + '/fullcalendar/dist/locale/*'
],
dest: vendorDir + '/fullcalendar/locale',
dest: bootstrapDir + '/fullcalendar/locale',
flatten: true
}]
},
'moment': {
files: [{
},{
expand: true,
src: [
nodeDir + '/moment/LICENSE.txt',
nodeDir + '/moment/min/*'
],
dest: vendorDir + '/moment',
dest: bootstrapDir + '/moment',
flatten: true
},{
expand: true,
src: [
nodeDir + '/moment/dist/locale/*'
],
dest: vendorDir + '/moment/locale',
dest: bootstrapDir + '/moment/locale',
flatten: true
}]
},
'bootstrap-datepicker': {
files: [{
},{
expand: true,
src: [
nodeDir + '/perfect-scrollbar/dist/*'
],
dest: bootstrapDir + '/perfect-scrollbar',
flatten: true
},{
expand: true,
src: [
nodeDir + '/bootstrap-datepicker/dist/js/*'
],
dest: vendorDir + '/bootstrap-datepicker/js',
dest: bootstrapDir + '/bootstrap-datepicker/js',
flatten: true
},{
expand: true,
src: [
nodeDir + '/bootstrap-datepicker/dist/css/*'
],
dest: vendorDir + '/bootstrap-datepicker/css',
dest: bootstrapDir + '/bootstrap-datepicker/css',
flatten: true
},{
expand: true,
src: [
nodeDir + '/bootstrap-datepicker/dist/locales/*'
],
dest: vendorDir + '/bootstrap-datepicker/locales',
dest: bootstrapDir + '/bootstrap-datepicker/locales',
flatten: true
},{
expand: true,
src: [
nodeDir + '/@coreui/coreui/dist/js/*'
],
dest: bootstrapDir + '/coreui/js',
flatten: true
},{
expand: true,
src: [
nodeDir + '/@coreui/coreui/dist/css/*'
],
dest: bootstrapDir + '/coreui/css',
flatten: true
}]
},
@ -209,29 +195,64 @@ module.exports = function (grunt) {
src: [
nodeDir + '/@coreui/coreui/dist/js/*'
],
dest: vendorDir + '/coreui/js',
dest: tdkDir + '/coreui/js',
flatten: true
},{
expand: true,
src: [
nodeDir + '/@coreui/coreui/dist/css/*'
],
dest: vendorDir + '/coreui/css',
dest: tdkDir + '/coreui/css',
flatten: true
},{
expand: true,
src: [
nodeDir + '/perfect-scrollbar/dist/*'
],
dest: tdkDir + '/perfect-scrollbar',
flatten: true
},{
expand: true,
src: [
nodeDir + '/bootstrap/dist/js/*'
],
dest: tdkDir + '/bootstrap/js',
flatten: true
},{
expand: true,
src: [
nodeDir + '/bootstrap/dist/css/*'
],
dest: tdkDir + '/bootstrap/css',
flatten: true
},{
expand: true,
src: [
nodeDir + '/font-awesome/fonts/*'
],
dest: tdkDir + '/font-awesome/fonts',
flatten: true
},{
expand: true,
src: [
nodeDir + '/font-awesome/css/*'
],
dest: tdkDir + '/font-awesome/css',
flatten: true
}]
}
},
}
});
grunt.registerTask('createVendorDir', 'Creates the necessary vendor directory', function() {
// Create the vendorDir when it doesn't exists.
if (!grunt.file.isDir(vendorDir)) {
grunt.file.mkdir(vendorDir);
// Create the bootstrapDir when it doesn't exists.
if (!grunt.file.isDir(bootstrapDir)) {
grunt.file.mkdir(bootstrapDir);
// Output a success message
grunt.log.oklns(grunt.template.process(
'Directory "<%= directory %>" was created successfully.',
{ data: { directory: vendorDir } }
{ data: { directory: bootstrapDir } }
));
}
});