295 lines
12 KiB
JavaScript
295 lines
12 KiB
JavaScript
/// <binding Clean='doAll' ProjectOpened='watch' />
|
|
|
|
"use strict";
|
|
|
|
var gulp = require("gulp"),
|
|
rimraf = require("rimraf"),
|
|
concat = require("gulp-concat"),
|
|
cssmin = require("gulp-cssmin"),
|
|
uglify = require("gulp-uglify"),
|
|
strip = require("gulp-strip-comments"),
|
|
sass = require("gulp-sass"),
|
|
sourcemaps = require("gulp-sourcemaps"),
|
|
removeSourcemaps = require("gulp-remove-sourcemaps"),
|
|
sass = require('gulp-sass')(require('sass')),
|
|
ts = require("gulp-typescript"),
|
|
gulpSequence = require("gulp-sequence"),
|
|
rename = require('gulp-rename'),
|
|
path = require('path'),
|
|
terser = require('gulp-terser');
|
|
|
|
var tsProject = ts.createProject("tsconfig.json");
|
|
|
|
var paths = {
|
|
webroot: "./wwwroot/"
|
|
};
|
|
|
|
paths.js = paths.webroot + "scripts/**/*.js";
|
|
paths.minJs = paths.webroot + "scripts/**/*.min.js";
|
|
paths.libJs = paths.webroot + "lib/**/*.js";
|
|
paths.libMinJs = paths.webroot + "lib/**/*.min.js";
|
|
paths.css = paths.webroot + "css/**/*.css";
|
|
paths.minCss = paths.webroot + "css/**/*.min.css";
|
|
paths.concatJsDest = paths.webroot + "scripts/app.min.js";
|
|
paths.concatCssDest = paths.webroot + "css/site.min.css";
|
|
|
|
gulp.task("clean:js", function (cb) {
|
|
rimraf("./wwwroot/scripts/**/*", cb);
|
|
});
|
|
|
|
|
|
gulp.task("clean:css", function (cb) {
|
|
rimraf("./wwwroot/css/**/*", cb);
|
|
});
|
|
|
|
gulp.task("clean", gulp.parallel("clean:js", "clean:css"));
|
|
|
|
gulp.task("sass", function () {
|
|
return gulp.src('scss/*.scss')
|
|
.pipe(sass())
|
|
.pipe(gulp.dest('wwwroot/css'))
|
|
.pipe(sass({ outputStyle: 'compressed' }))
|
|
.pipe(rename({ suffix: '.min' }))
|
|
.pipe(gulp.dest('wwwroot/css/'));
|
|
});
|
|
|
|
gulp.task('watch', function () {
|
|
gulp.watch("scss/**/*.scss", gulp.series('sass'));
|
|
gulp.watch("TS/**/*.ts", gulp.series('processTypeScript'));
|
|
});
|
|
|
|
gulp.task('processTypeScript', function () {
|
|
return gulp.src(['TS/**/*.ts'])
|
|
.pipe(sourcemaps.init())
|
|
.pipe(tsProject()).js
|
|
.pipe(sourcemaps.write('.',
|
|
{
|
|
includeContent: false,
|
|
sourceRoot: function (file) {
|
|
return 'D:\\Kunden\\GehGassi\\gehGassi\\gehGassi.Web\\TS';
|
|
//var innerPath = path.relative(path.dirname(file.path), file.base) + "/TS/";
|
|
//innerPath = innerPath.replace(/\\/g, "/");
|
|
//console.log(innerPath);
|
|
//return innerPath;
|
|
}
|
|
}))
|
|
.pipe(gulp.dest('./wwwroot/scripts'));
|
|
});
|
|
|
|
gulp.task("min:js", function () {
|
|
return gulp.src([paths.js, "!" + paths.minJs], { base: "." })
|
|
.pipe(terser())
|
|
.pipe(strip({ trim: true }))
|
|
.pipe(rename({ suffix: ".min" }))
|
|
.pipe(gulp.dest("."));
|
|
});
|
|
|
|
gulp.task("libMin:js", function () {
|
|
return gulp.src([paths.libJs, "!" + paths.libMinJs], { base: "." })
|
|
.pipe(terser())
|
|
.pipe(strip({ trim: true }))
|
|
.pipe(rename({ suffix: ".min" }))
|
|
.pipe(gulp.dest("."));
|
|
});
|
|
|
|
gulp.task("min", gulp.series("min:js", "libMin:js"));
|
|
|
|
gulp.task('jquery:base', function () {
|
|
return gulp.src('./node_modules/jquery/dist/**/*.js')
|
|
.pipe(gulp.dest('./wwwroot/lib/jquery'));
|
|
});
|
|
gulp.task('jquery:validation', function () {
|
|
return gulp.src('./node_modules/jquery-validation/dist/**/*.js')
|
|
.pipe(gulp.dest('./wwwroot/lib/jquery-validation'));
|
|
});
|
|
gulp.task('jquery:validation-unobtrusive', function () {
|
|
return gulp.src('./node_modules/jquery-validation-unobtrusive/dist/**/*.js')
|
|
.pipe(gulp.dest('./wwwroot/lib/jquery-validation-unobtrusive'));
|
|
});
|
|
gulp.task('jquery:validation-globalize', function () {
|
|
return gulp.src('./node_modules/jquery-validation-globalize-fix/*globalize.js')
|
|
.pipe(gulp.dest('./wwwroot/lib/jquery-validation-globalize'));
|
|
});
|
|
gulp.task("jquery", gulp.parallel("jquery:base", "jquery:validation", "jquery:validation-unobtrusive", "jquery:validation-globalize"));
|
|
|
|
gulp.task('jqueryValidationBundle', function () {
|
|
return gulp.src(['./node_modules/jquery-validation/dist/jquery.validate.js', './node_modules/jquery-validation-unobtrusive/dist/jquery.validate.unobtrusive.js', './node_modules/jquery-validation-globalize-fix/jquery.validate.globalize.js'])
|
|
.pipe(concat('jqueryValidationBundle.js'))
|
|
.pipe(gulp.dest('./wwwroot/lib/jquery-validation'));
|
|
});
|
|
|
|
gulp.task('block-ui', function () {
|
|
return gulp.src('./node_modules/block-ui/**/*.js', { base: "./node_modules/block-ui/" })
|
|
.pipe(gulp.dest('./wwwroot/lib/block-ui'));
|
|
});
|
|
|
|
gulp.task('bootstrap:base', function () {
|
|
return gulp.src(['./node_modules/bootstrap/dist/**/*.*', '!./node_modules/bootstrap/dist/**/*npm.js'])
|
|
.pipe(gulp.dest('./wwwroot/lib/bootstrap'));
|
|
});
|
|
gulp.task('bootstrap:cssmin', function () {
|
|
return gulp.src(['./node_modules/bootstrap/dist/**/*.css', '!./node_modules/bootstrap/dist/**/*.min.css'])
|
|
.pipe(cssmin())
|
|
.pipe(rename({ suffix: ".min" }))
|
|
.pipe(gulp.dest('./wwwroot/lib/bootstrap'));
|
|
});
|
|
gulp.task("bootstrap", gulp.parallel("bootstrap:base", "bootstrap:cssmin"));
|
|
|
|
//CoreUi
|
|
gulp.task('coreui:js', function () {
|
|
return gulp.src(
|
|
['./node_modules/@coreui/coreui/dist/js/**/*.min.js'])
|
|
.pipe(rename({ dirname: "" }))
|
|
.pipe(removeSourcemaps())
|
|
.pipe(gulp.dest('./wwwroot/lib/coreui/scripts'));
|
|
});
|
|
gulp.task('coreui:cssmin', function () {
|
|
return gulp.src(['./node_modules/@coreui/coreui/dist/css/**/*.css', '!./node_modules/@coreui/coreui/dist/css/**/*.min.css'])
|
|
.pipe(cssmin())
|
|
.pipe(rename({ suffix: ".min" }))
|
|
.pipe(gulp.dest('./wwwroot/lib/coreui'));
|
|
});
|
|
gulp.task("coreui", gulp.parallel("coreui:js", "coreui:cssmin"));
|
|
|
|
//Syncfusion
|
|
|
|
gulp.task('syncfusion:js', function () {
|
|
return gulp.src(
|
|
['./node_modules/@syncfusion/**/*.umd.min.js'])
|
|
.pipe(rename({ dirname: "" }))
|
|
.pipe(removeSourcemaps())
|
|
.pipe(gulp.dest('./wwwroot/lib/syncfusion/scripts'));
|
|
});
|
|
gulp.task('syncfusion:css', function () {
|
|
return gulp.src(
|
|
['./node_modules/@syncfusion/ej2/*.css'],
|
|
{ base: "./node_modules/@syncfusion/ej2/" })
|
|
.pipe(gulp.dest('./wwwroot/lib/syncfusion/css'))
|
|
.pipe(cssmin())
|
|
.pipe(rename({ suffix: ".min" }))
|
|
.pipe(gulp.dest('./wwwroot/lib/syncfusion/css'));
|
|
});
|
|
gulp.task("syncfusion", gulp.parallel("syncfusion:js", "syncfusion:css"));
|
|
|
|
gulp.task('fontawesome', function () {
|
|
return gulp.src(
|
|
['./node_modules/@fortawesome/fontawesome-free/css/*.*', './node_modules/@fortawesome/fontawesome-free/webfonts/*.*'], { base: "./node_modules/@fortawesome/fontawesome-free/." })
|
|
.pipe(gulp.dest('./wwwroot/lib/font-awesome'));
|
|
});
|
|
|
|
//gulp.task('core-js', function () {
|
|
// return gulp.src(
|
|
// ['./node_modules/core-js/**/*.js'])
|
|
// .pipe(rename({ dirname: "" }))
|
|
// .pipe(gulp.dest('./wwwroot/lib/core-js'));
|
|
//});
|
|
|
|
gulp.task('simplebar', function () {
|
|
return gulp.src(
|
|
['./node_modules/simplebar/dist/**/*.js'])
|
|
.pipe(rename({ dirname: "" }))
|
|
.pipe(gulp.dest('./wwwroot/lib/simplebar'));
|
|
});
|
|
|
|
gulp.task('toast', function () {
|
|
return gulp.src('./node_modules/pyrsmk-toast/lib/**/*.js', { base: "./node_modules/pyrsmk-toast/lib/" })
|
|
.pipe(gulp.dest('./wwwroot/lib/toast'));
|
|
});
|
|
|
|
gulp.task('toastr', function () {
|
|
return gulp.src('./node_modules/toastr/toastr.js')
|
|
.pipe(gulp.dest('./wwwroot/lib/toastr'));
|
|
});
|
|
|
|
gulp.task('sortablejs', function () {
|
|
return gulp.src('./node_modules/sortablejs/Sortable.js')
|
|
.pipe(gulp.dest('./wwwroot/lib/sortablejs'));
|
|
});
|
|
|
|
gulp.task('promise', function () {
|
|
return gulp.src('./node_modules/promise-polyfill/dist/polyfill.js', { base: "./node_modules/promise-polyfill/dist/" })
|
|
.pipe(gulp.dest('./wwwroot/lib/promise-polyfill'));
|
|
});
|
|
|
|
gulp.task('systemjs', function () {
|
|
return gulp.src('./node_modules/systemjs/dist/**/*.js', { base: "./node_modules/systemjs/dist/" })
|
|
.pipe(gulp.dest('./wwwroot/lib/systemjs'));
|
|
});
|
|
|
|
gulp.task('globalize', function () {
|
|
return gulp.src('./node_modules/globalize/dist/**/*.js', { base: "./node_modules/globalize/dist/" })
|
|
.pipe(gulp.dest('./wwwroot/lib/globalize'));
|
|
});
|
|
|
|
gulp.task('globalizeBundle', function () {
|
|
return gulp.src(['./node_modules/globalize/dist/globalize.js', './node_modules/globalize/dist/globalize/message.js', './node_modules/globalize/dist/globalize/number.js', './node_modules/globalize/dist/globalize/date.js'], { base: "./node_modules/globalize/dist/" })
|
|
.pipe(concat('globalizeBundle.js'))
|
|
.pipe(gulp.dest('./wwwroot/lib/globalize'));
|
|
});
|
|
|
|
gulp.task('cldr', function () {
|
|
return gulp.src('./node_modules/cldrjs/dist/**/*.js', { base: "./node_modules/cldrjs/dist/" })
|
|
.pipe(gulp.dest('./wwwroot/lib/cldr'));
|
|
});
|
|
|
|
gulp.task('cldrBundle', function () {
|
|
return gulp.src(['./node_modules/cldrjs/dist/cldr.js', './node_modules/cldrjs/dist/cldr/*.js'], { base: "./node_modules/cldrjs/dist/" })
|
|
.pipe(concat('cldrbundle.js'))
|
|
.pipe(gulp.dest('./wwwroot/lib/cldr'));
|
|
});
|
|
|
|
gulp.task('cldr-data', function () {
|
|
return gulp.src(['./node_modules/cldr-data/main/de/*.*', './node_modules/cldr-data/main/en/*.*', './node_modules/cldr-data/main/it/*.*', './node_modules/cldr-data/main/fr/*.*', './node_modules/cldr-data/supplemental/*.*'], { base: "./node_modules/cldr-data/" })
|
|
.pipe(gulp.dest('./wwwroot/lib/cldr-data'));
|
|
});
|
|
|
|
gulp.task('customlib', function () {
|
|
return gulp.src('./Lib/**/*.*', { base: "./Lib/." })
|
|
.pipe(gulp.dest('./wwwroot/lib/'));
|
|
});
|
|
|
|
gulp.task('signalr', function () {
|
|
return gulp.src('./node_modules/@microsoft/signalr/dist/browser/**/*.js', { base: "./node_modules/@microsoft/signalr/dist/browser/" })
|
|
.pipe(gulp.dest('./wwwroot/lib/signalr'));
|
|
});
|
|
|
|
gulp.task('uppload', function () {
|
|
return gulp.src('./node_modules/uppload/dist/index.umd.js', { base: "./node_modules/uppload/dist/" })
|
|
.pipe(gulp.dest('./wwwroot/lib/uppload'));
|
|
});
|
|
|
|
gulp.task('cropperjs', function () {
|
|
return gulp.src('./node_modules/cropperjs/dist/**/*.js', { base: "./node_modules/cropperjs/dist/" })
|
|
.pipe(gulp.dest('./wwwroot/lib/cropperjs'));
|
|
});
|
|
|
|
gulp.task('focustrap', function () {
|
|
return gulp.src('./node_modules/focus-trap/dist/**/*.js', { base: "./node_modules/focus-trap/dist/" })
|
|
.pipe(gulp.dest('./wwwroot/lib/focustrap'));
|
|
});
|
|
|
|
gulp.task('mitt', function () {
|
|
return gulp.src('./node_modules/mitt/dist/**/*.js', { base: "./node_modules/mitt/dist/" })
|
|
.pipe(gulp.dest('./wwwroot/lib/mitt'));
|
|
});
|
|
|
|
gulp.task('leaflet', function () {
|
|
return gulp.src(['./node_modules/leaflet/dist/leaflet.js', './node_modules/leaflet.markercluster/dist/leaflet.markercluster.js'])
|
|
.pipe(gulp.dest('./wwwroot/lib/leaflet'));
|
|
});
|
|
|
|
gulp.task('lib', function () {
|
|
return gulp.src(['./node_modules/popper.js/dist/umd/popper.js', './node_modules/perfect-scrollbar/dist/perfect-scrollbar.js',
|
|
'./node_modules/toastr/toastr.js', './node_modules/block-ui/**/*.js', './node_modules/bootstrap-html5sortable/jquery.sortable.js'])
|
|
.pipe(concat('bundle.js'))
|
|
.pipe(gulp.dest('./wwwroot/lib/bundle'))
|
|
.pipe(rename('bundle.min.js'))
|
|
//.pipe(uglify())
|
|
.pipe(gulp.dest('./wwwroot/lib/bundle'));
|
|
});
|
|
|
|
gulp.task("doAll", gulp.series("clean", "processTypeScript", "sass", "jquery", "jqueryValidationBundle", "bootstrap", "toast", "toastr", "sortablejs", "customlib", "syncfusion", "block-ui", "coreui", /*"core-js",*/ "simplebar", "fontawesome", "systemjs", "promise", "globalize", "globalizeBundle", "cldr", "cldrBundle", "cldr-data", "signalr", "uppload", "cropperjs", "focustrap", "mitt", "leaflet", "lib", "min"));
|
|
|
|
gulp.task("doLib", gulp.series("clean", "jquery", "jqueryValidationBundle", "bootstrap", "toast", "toastr", "sortablejs", "customlib", "syncfusion", "block-ui", "coreui", /*"core-js",*/ "simplebar", "fontawesome", "systemjs", "promise", "globalize", "globalizeBundle", "cldr", "cldrBundle", "cldr-data", "signalr", "uppload", "cropperjs", "focustrap", "mitt", "leaflet", "lib", "min"));
|
|
|
|
gulp.task("doApp", gulp.series("clean", "processTypeScript", "sass", "min")); |