Standard JS code conversion + fixes
This commit is contained in:
309
gulpfile.js
309
gulpfile.js
@@ -1,215 +1,210 @@
|
||||
var gulp = require("gulp");
|
||||
var watch = require('gulp-watch');
|
||||
var merge = require('merge-stream');
|
||||
var babel = require("gulp-babel");
|
||||
var uglify = require('gulp-uglify');
|
||||
var concat = require('gulp-concat');
|
||||
var nodemon = require('gulp-nodemon');
|
||||
var plumber = require('gulp-plumber');
|
||||
var zip = require('gulp-zip');
|
||||
var tar = require('gulp-tar');
|
||||
var gzip = require('gulp-gzip');
|
||||
var sass = require('gulp-sass');
|
||||
var cleanCSS = require('gulp-clean-css');
|
||||
var include = require("gulp-include");
|
||||
var run = require('run-sequence');
|
||||
var _ = require('lodash');
|
||||
'use strict'
|
||||
|
||||
const gulp = require('gulp')
|
||||
const watch = require('gulp-watch')
|
||||
const merge = require('merge-stream')
|
||||
const babel = require('gulp-babel')
|
||||
const uglify = require('gulp-uglify')
|
||||
const concat = require('gulp-concat')
|
||||
const nodemon = require('gulp-nodemon')
|
||||
const plumber = require('gulp-plumber')
|
||||
const zip = require('gulp-zip')
|
||||
const tar = require('gulp-tar')
|
||||
const gzip = require('gulp-gzip')
|
||||
const sass = require('gulp-sass')
|
||||
const cleanCSS = require('gulp-clean-css')
|
||||
const include = require('gulp-include')
|
||||
const run = require('run-sequence')
|
||||
|
||||
/**
|
||||
* Paths
|
||||
*
|
||||
* @type {Object}
|
||||
*/
|
||||
var paths = {
|
||||
scripts: {
|
||||
combine: [
|
||||
'./node_modules/socket.io-client/dist/socket.io.min.js',
|
||||
'./node_modules/jquery/dist/jquery.min.js',
|
||||
'./node_modules/vue/dist/vue.min.js',
|
||||
'./node_modules/jquery-smooth-scroll/jquery.smooth-scroll.min.js',
|
||||
'./node_modules/jquery-simple-upload/simpleUpload.min.js',
|
||||
'./node_modules/jquery-contextmenu/dist/jquery.contextMenu.min.js',
|
||||
'./node_modules/sticky-js/dist/sticky.min.js',
|
||||
'./node_modules/simplemde/dist/simplemde.min.js',
|
||||
'./node_modules/ace-builds/src-min-noconflict/ace.js',
|
||||
'./node_modules/ace-builds/src-min-noconflict/ext-modelist.js',
|
||||
'./node_modules/ace-builds/src-min-noconflict/mode-markdown.js',
|
||||
'./node_modules/ace-builds/src-min-noconflict/theme-tomorrow_night.js',
|
||||
'./node_modules/filesize.js/dist/filesize.min.js',
|
||||
'./node_modules/lodash/lodash.min.js'
|
||||
],
|
||||
ace: [
|
||||
'./node_modules/ace-builds/src-min-noconflict/mode-*.js',
|
||||
'!./node_modules/ace-builds/src-min-noconflict/mode-markdown.js'
|
||||
],
|
||||
compile: [
|
||||
'./client/js/*.js'
|
||||
],
|
||||
watch: [
|
||||
'./client/js/**/*.js'
|
||||
]
|
||||
},
|
||||
css: {
|
||||
combine: [
|
||||
'./node_modules/highlight.js/styles/tomorrow.css',
|
||||
'./node_modules/simplemde/dist/simplemde.min.css'
|
||||
],
|
||||
compile: [
|
||||
'./client/scss/*.scss'
|
||||
],
|
||||
includes: [
|
||||
'./node_modules/requarks-core' //! MUST BE LAST
|
||||
],
|
||||
watch: [
|
||||
'./client/scss/**/*.scss',
|
||||
'../core/core-client/scss/**/*.scss'
|
||||
]
|
||||
},
|
||||
fonts: [
|
||||
'../node_modules/requarks-core/core-client/fonts/**/*' //! MUST BE LAST
|
||||
],
|
||||
deploy: [
|
||||
'./**/*',
|
||||
'!node_modules', '!node_modules/**',
|
||||
'!coverage', '!coverage/**',
|
||||
'!client/js', '!client/js/**',
|
||||
'!client/scss', '!client/scss/**',
|
||||
'!dist', '!dist/**',
|
||||
'!tests', '!tests/**',
|
||||
'!data', '!data/**',
|
||||
'!repo', '!repo/**',
|
||||
'!.babelrc', '!.gitattributes', '!.gitignore', '!.snyk', '!.travis.yml',
|
||||
'!gulpfile.js', '!inch.json', '!config.yml', '!wiki.sublime-project'
|
||||
]
|
||||
};
|
||||
const paths = {
|
||||
scripts: {
|
||||
combine: [
|
||||
'./node_modules/socket.io-client/dist/socket.io.min.js',
|
||||
'./node_modules/jquery/dist/jquery.min.js',
|
||||
'./node_modules/vue/dist/vue.min.js',
|
||||
'./node_modules/jquery-smooth-scroll/jquery.smooth-scroll.min.js',
|
||||
'./node_modules/jquery-simple-upload/simpleUpload.min.js',
|
||||
'./node_modules/jquery-contextmenu/dist/jquery.contextMenu.min.js',
|
||||
'./node_modules/sticky-js/dist/sticky.min.js',
|
||||
'./node_modules/simplemde/dist/simplemde.min.js',
|
||||
'./node_modules/ace-builds/src-min-noconflict/ace.js',
|
||||
'./node_modules/ace-builds/src-min-noconflict/ext-modelist.js',
|
||||
'./node_modules/ace-builds/src-min-noconflict/mode-markdown.js',
|
||||
'./node_modules/ace-builds/src-min-noconflict/theme-tomorrow_night.js',
|
||||
'./node_modules/filesize.js/dist/filesize.min.js',
|
||||
'./node_modules/lodash/lodash.min.js'
|
||||
],
|
||||
ace: [
|
||||
'./node_modules/ace-builds/src-min-noconflict/mode-*.js',
|
||||
'!./node_modules/ace-builds/src-min-noconflict/mode-markdown.js'
|
||||
],
|
||||
compile: [
|
||||
'./client/js/*.js'
|
||||
],
|
||||
watch: [
|
||||
'./client/js/**/*.js'
|
||||
]
|
||||
},
|
||||
css: {
|
||||
combine: [
|
||||
'./node_modules/highlight.js/styles/tomorrow.css',
|
||||
'./node_modules/simplemde/dist/simplemde.min.css'
|
||||
],
|
||||
compile: [
|
||||
'./client/scss/*.scss'
|
||||
],
|
||||
includes: [
|
||||
'./node_modules/requarks-core' //! MUST BE LAST
|
||||
],
|
||||
watch: [
|
||||
'./client/scss/**/*.scss',
|
||||
'../core/core-client/scss/**/*.scss'
|
||||
]
|
||||
},
|
||||
fonts: [
|
||||
'../node_modules/requarks-core/core-client/fonts/**/*' //! MUST BE LAST
|
||||
],
|
||||
deploy: [
|
||||
'./**/*',
|
||||
'!node_modules', '!node_modules/**',
|
||||
'!coverage', '!coverage/**',
|
||||
'!client/js', '!client/js/**',
|
||||
'!client/scss', '!client/scss/**',
|
||||
'!dist', '!dist/**',
|
||||
'!tests', '!tests/**',
|
||||
'!data', '!data/**',
|
||||
'!repo', '!repo/**',
|
||||
'!.babelrc', '!.gitattributes', '!.gitignore', '!.snyk', '!.travis.yml',
|
||||
'!gulpfile.js', '!inch.json', '!config.yml', '!wiki.sublime-project'
|
||||
]
|
||||
}
|
||||
|
||||
/**
|
||||
* TASK - Starts server in development mode
|
||||
*/
|
||||
gulp.task('server', ['scripts', 'css', 'fonts'], function() {
|
||||
nodemon({
|
||||
script: './server',
|
||||
ignore: ['assets/', 'client/', 'data/', 'repo/', 'tests/'],
|
||||
ext: 'js json',
|
||||
env: { 'NODE_ENV': 'development' }
|
||||
});
|
||||
});
|
||||
gulp.task('server', ['scripts', 'css', 'fonts'], function () {
|
||||
nodemon({
|
||||
script: './server',
|
||||
ignore: ['assets/', 'client/', 'data/', 'repo/', 'tests/'],
|
||||
ext: 'js json',
|
||||
env: { 'NODE_ENV': 'development' }
|
||||
})
|
||||
})
|
||||
|
||||
/**
|
||||
* TASK - Process all scripts processes
|
||||
*/
|
||||
gulp.task("scripts", ['scripts-libs', 'scripts-app']);
|
||||
gulp.task('scripts', ['scripts-libs', 'scripts-app'])
|
||||
|
||||
/**
|
||||
* TASK - Combine js libraries
|
||||
*/
|
||||
gulp.task("scripts-libs", function () {
|
||||
gulp.task('scripts-libs', function () {
|
||||
return merge(
|
||||
|
||||
return merge(
|
||||
gulp.src(paths.scripts.combine)
|
||||
.pipe(concat('libs.js', {newLine: ';\n'}))
|
||||
.pipe(uglify({ mangle: false }))
|
||||
.pipe(gulp.dest('./assets/js')),
|
||||
|
||||
gulp.src(paths.scripts.combine)
|
||||
.pipe(concat('libs.js', {newLine: ';\n'}))
|
||||
.pipe(uglify({ mangle: false }))
|
||||
.pipe(gulp.dest("./assets/js")),
|
||||
gulp.src(paths.scripts.ace)
|
||||
.pipe(gulp.dest('./assets/js/ace'))
|
||||
|
||||
gulp.src(paths.scripts.ace)
|
||||
.pipe(gulp.dest("./assets/js/ace"))
|
||||
|
||||
);
|
||||
|
||||
});
|
||||
)
|
||||
})
|
||||
|
||||
/**
|
||||
* TASK - Combine, make compatible and compress js app scripts
|
||||
*/
|
||||
gulp.task("scripts-app", function () {
|
||||
|
||||
return gulp.src(paths.scripts.compile)
|
||||
.pipe(plumber())
|
||||
.pipe(include({ extensions: "js" }))
|
||||
.pipe(babel())
|
||||
.pipe(uglify())
|
||||
.pipe(plumber.stop())
|
||||
.pipe(gulp.dest("./assets/js"));
|
||||
|
||||
});
|
||||
gulp.task('scripts-app', function () {
|
||||
return gulp.src(paths.scripts.compile)
|
||||
.pipe(plumber())
|
||||
.pipe(include({ extensions: 'js' }))
|
||||
.pipe(babel())
|
||||
.pipe(uglify())
|
||||
.pipe(plumber.stop())
|
||||
.pipe(gulp.dest('./assets/js'))
|
||||
})
|
||||
|
||||
/**
|
||||
* TASK - Process all css processes
|
||||
*/
|
||||
gulp.task("css", ['css-libs', 'css-app']);
|
||||
gulp.task('css', ['css-libs', 'css-app'])
|
||||
|
||||
/**
|
||||
* TASK - Combine css libraries
|
||||
*/
|
||||
gulp.task("css-libs", function () {
|
||||
return gulp.src(paths.css.combine)
|
||||
.pipe(plumber())
|
||||
.pipe(concat('libs.css'))
|
||||
.pipe(cleanCSS({ keepSpecialComments: 0 }))
|
||||
.pipe(plumber.stop())
|
||||
.pipe(gulp.dest("./assets/css"));
|
||||
});
|
||||
gulp.task('css-libs', function () {
|
||||
return gulp.src(paths.css.combine)
|
||||
.pipe(plumber())
|
||||
.pipe(concat('libs.css'))
|
||||
.pipe(cleanCSS({ keepSpecialComments: 0 }))
|
||||
.pipe(plumber.stop())
|
||||
.pipe(gulp.dest('./assets/css'))
|
||||
})
|
||||
|
||||
/**
|
||||
* TASK - Combine app css
|
||||
*/
|
||||
gulp.task("css-app", function () {
|
||||
return gulp.src(paths.css.compile)
|
||||
.pipe(plumber())
|
||||
.pipe(sass.sync({ includePaths: paths.css.includes }))
|
||||
.pipe(cleanCSS({ keepSpecialComments: 0 }))
|
||||
.pipe(plumber.stop())
|
||||
.pipe(gulp.dest("./assets/css"));
|
||||
});
|
||||
gulp.task('css-app', function () {
|
||||
return gulp.src(paths.css.compile)
|
||||
.pipe(plumber())
|
||||
.pipe(sass.sync({ includePaths: paths.css.includes }))
|
||||
.pipe(cleanCSS({ keepSpecialComments: 0 }))
|
||||
.pipe(plumber.stop())
|
||||
.pipe(gulp.dest('./assets/css'))
|
||||
})
|
||||
|
||||
/**
|
||||
* TASK - Copy web fonts
|
||||
*/
|
||||
gulp.task("fonts", function () {
|
||||
return gulp.src(paths.fonts)
|
||||
.pipe(gulp.dest("./assets/fonts"));
|
||||
});
|
||||
gulp.task('fonts', function () {
|
||||
return gulp.src(paths.fonts)
|
||||
.pipe(gulp.dest('./assets/fonts'))
|
||||
})
|
||||
|
||||
/**
|
||||
* TASK - Start dev watchers
|
||||
*/
|
||||
gulp.task('watch', function() {
|
||||
return merge(
|
||||
watch(paths.scripts.watch, {base: './'}, function() { return gulp.start('scripts-app'); }),
|
||||
watch(paths.css.watch, {base: './'}, function() { return gulp.start('css-app'); })
|
||||
);
|
||||
});
|
||||
gulp.task('watch', function () {
|
||||
return merge(
|
||||
watch(paths.scripts.watch, {base: './'}, function () { return gulp.start('scripts-app') }),
|
||||
watch(paths.css.watch, {base: './'}, function () { return gulp.start('css-app') })
|
||||
)
|
||||
})
|
||||
|
||||
/**
|
||||
* TASK - Starts development server with watchers
|
||||
*/
|
||||
gulp.task('default', ['watch', 'server']);
|
||||
gulp.task('default', ['watch', 'server'])
|
||||
|
||||
gulp.task('dev', function() {
|
||||
gulp.task('dev', function () {
|
||||
paths.css.includes.pop()
|
||||
paths.css.includes.push('../core')
|
||||
|
||||
paths.css.includes.pop();
|
||||
paths.css.includes.push('../core');
|
||||
paths.fonts.pop()
|
||||
paths.fonts.push('../core/core-client/fonts/**/*')
|
||||
|
||||
paths.fonts.pop();
|
||||
paths.fonts.push('../core/core-client/fonts/**/*');
|
||||
|
||||
return run('default');
|
||||
|
||||
});
|
||||
return run('default')
|
||||
})
|
||||
|
||||
/**
|
||||
* TASK - Creates deployment packages
|
||||
*/
|
||||
gulp.task('deploy', ['scripts', 'css', 'fonts'], function() {
|
||||
var zipStream = gulp.src(paths.deploy)
|
||||
.pipe(zip('wiki-js.zip'))
|
||||
.pipe(gulp.dest('dist'));
|
||||
gulp.task('deploy', ['scripts', 'css', 'fonts'], function () {
|
||||
var zipStream = gulp.src(paths.deploy)
|
||||
.pipe(zip('wiki-js.zip'))
|
||||
.pipe(gulp.dest('dist'))
|
||||
|
||||
var targzStream = gulp.src(paths.deploy)
|
||||
.pipe(tar('wiki-js.tar'))
|
||||
.pipe(gzip())
|
||||
.pipe(gulp.dest('dist'));
|
||||
var targzStream = gulp.src(paths.deploy)
|
||||
.pipe(tar('wiki-js.tar'))
|
||||
.pipe(gzip())
|
||||
.pipe(gulp.dest('dist'))
|
||||
|
||||
return merge(zipStream, targzStream);
|
||||
});
|
||||
return merge(zipStream, targzStream)
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user