Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /**
- Параметры:
- uglify - минимизирует код при true
- SDAddress - подменяет адрес бэкэндовой части (Адрес целиком: http://host:port)
- HTTPTimeout - стандартный таймаут для http запросов
- */
- var gulp = require('gulp');
- var browserify = require('browserify');
- var babelify = require('babelify');
- var rename = require("gulp-rename");
- var sourcemaps = require('gulp-sourcemaps');
- var rimraf = require('gulp-rimraf'); // Удаление папки. Maven::clean
- var ngAnnotate = require('gulp-ng-annotate');
- var concat = require('gulp-concat-util');
- var htmlclean = require('gulp-htmlclean');
- var autoprefixer = require('gulp-autoprefixer');
- var plumber = require('gulp-plumber'); // игнорит ошибки при watch
- var util = require('gulp-util');
- var env = util.env;
- var gulpif = require('gulp-if');
- var less = require('gulp-less');
- var minifyCss = require('gulp-minify-css');
- var replace = require('gulp-replace');
- var stringify = require('stringify');
- var browserSync = require('browser-sync');
- var uglifyify = require('uglifyify');
- var tsify = require('tsify');
- var babel = require('gulp-babel');
- var source = require('vinyl-source-stream');
- var buffer = require('vinyl-buffer');
- var replaceConf = {
- SDAddress:env.SDAddress||"http://localhost:65080/ajax",
- HTTPTimeout:env.HTTPTimeout!=undefined?env.HTTPTimeout:30000
- };
- var serverConfig = {
- server: {
- baseDir: "./out",
- routes: {
- "*": "index.html"
- }
- },
- tunnel: true,
- host: 'localhost',
- port: 9001,
- logPrefix: "AnLog"
- };
- gulp.task('build:js-vendor', function () {
- var files = [
- "node_modules/angular/angular.min.js",
- "node_modules/angular-ui-router/release/angular-ui-router.min.js",
- "node_modules/angular-cookies/angular-cookies.min.js",
- "node_modules/jquery/dist/jquery.min.js",
- "node_modules/bootstrap/dist/js/bootstrap.min.js",
- ];
- return gulp.src(files)
- .pipe(plumber())
- .pipe(sourcemaps.init({loadMaps: true}))
- .pipe(concat("vendor.min.js"))
- .pipe(sourcemaps.write('./'))
- .pipe(gulp.dest("./out/js"))
- });
- gulp.task('build:js', function () {
- // set up the browserify instance on a task basis
- var sources = browserify({
- entries: './src/js/modules/ServiceDesk/ServiceDesk.js',
- debug: true
- });
- sources = sources.plugin(tsify, {
- target: 'es6',
- });
- sources = sources.transform(babelify,{
- presets: ["es2015", "stage-0"],
- only: /src\/js\/.*/,
- extensions: [ '.tsx', '.ts', '.js'],
- sourceMapsAbsolute: true
- });
- sources = sources.transform(stringify, ['.html']);
- if (env.uglify) {
- sources = sources.transform(uglifyify, {ignore: '**/*.min.js', sourcemap: true});
- }
- return sources.bundle()
- .on('error',console.error.bind(console))
- .pipe(source('app.min.js'))
- .pipe(buffer())
- .pipe(plumber())
- .pipe(sourcemaps.init({loadMaps: true}))
- .pipe(replace("SERVICEDESK_ADDRESS",replaceConf.SDAddress))
- .pipe(replace("'HTTP_TIMEOUT'",replaceConf.HTTPTimeout))
- // .pipe(babel({
- // presets: ["es2015", "stage-0"],
- // only: /src\/js\/.*/,
- // sourceMapsAbsolute: true,
- // sourceType: 'module'
- // }))
- .pipe(sourcemaps.write('./'))
- .pipe(gulp.dest('./out/js/'));
- });
- gulp.task('watch:js',gulp.series('build:js',function doWatchJs(){
- return gulp.watch("src/js/**/*",gulp.series('build:js',"webserver:reload"));
- }));
- gulp.task('build:less', function(){
- return gulp.src('./src/less/style.less')
- .pipe(less())
- .pipe(sourcemaps.init({loadMaps: true}))
- .pipe(rename('style.min.css'))
- .pipe(minifyCss())
- .pipe(sourcemaps.write('./'))
- .pipe(gulp.dest('./out/css/'))
- });
- gulp.task('watch:less',gulp.series('build:less',function doWatchLess(){
- return gulp.watch("src/css/*",gulp.series('build:less',"webserver:reload"));
- }));
- gulp.task("html:copy", function copyHtml() {
- return gulp.src("src/index.html")
- .pipe(gulp.dest("out/"))
- });
- gulp.task('watch:html', gulp.series('html:copy',function doWatchHtml(){
- return gulp.watch("src/index.html",gulp.series('html:copy',"webserver:reload"));
- }));
- gulp.task("webserver:start", function webServer() {
- return browserSync.init(serverConfig);
- // open(serverConfig.host+":"+serverConfig.port)
- });
- gulp.task("webserver:reload", function WSReload(done) {
- browserSync.reload();
- done();
- });
- gulp.task('watch',gulp.parallel('watch:js','watch:less','watch:html'));
- gulp.task('build',gulp.parallel('build:less','build:js','build:js-vendor','html:copy'));
- gulp.task("debug", gulp.series("build",gulp.parallel("watch","webserver:start")));
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement