mirror of
https://github.com/the-djmaze/snappymail.git
synced 2024-09-20 15:45:55 +08:00
updated npm and cleanup gulp tasks
This commit is contained in:
parent
a80b17e011
commit
141e68f686
|
@ -66,15 +66,12 @@
|
||||||
"gulp-expect-file": "1.0.2",
|
"gulp-expect-file": "1.0.2",
|
||||||
"gulp-filter": "6.0.0",
|
"gulp-filter": "6.0.0",
|
||||||
"gulp-header": "2.0.9",
|
"gulp-header": "2.0.9",
|
||||||
"gulp-if": "3.0.0",
|
|
||||||
"gulp-less": "4.0.1",
|
"gulp-less": "4.0.1",
|
||||||
"gulp-livereload": "4.0.2",
|
"gulp-livereload": "4.0.2",
|
||||||
"gulp-plumber": "1.2.1",
|
|
||||||
"gulp-rename": "2.0.0",
|
"gulp-rename": "2.0.0",
|
||||||
"gulp-replace": "1.0.0",
|
"gulp-replace": "1.0.0",
|
||||||
"gulp-rimraf": "1.0.0",
|
"gulp-rimraf": "1.0.0",
|
||||||
"gulp-size": "3.0.0",
|
"gulp-size": "3.0.0",
|
||||||
"gulp-sourcemaps": "2.6.5",
|
|
||||||
"gulp-stripbom": "1.0.5",
|
"gulp-stripbom": "1.0.5",
|
||||||
"gulp-terser": "^1.4.0",
|
"gulp-terser": "^1.4.0",
|
||||||
"gulp-through": "0.4.0",
|
"gulp-through": "0.4.0",
|
||||||
|
|
|
@ -8,18 +8,11 @@ const config = {
|
||||||
},
|
},
|
||||||
devVersion: '0.0.0',
|
devVersion: '0.0.0',
|
||||||
releasesPath: 'build/dist/releases',
|
releasesPath: 'build/dist/releases',
|
||||||
community: !argv.pro,
|
|
||||||
source: !!argv.source,
|
|
||||||
watch: false,
|
|
||||||
watchInterval: 1000,
|
|
||||||
googleCompile: false,
|
|
||||||
|
|
||||||
rainloopBuilded: false,
|
|
||||||
destPath: '',
|
destPath: '',
|
||||||
cleanPath: '',
|
cleanPath: '',
|
||||||
zipSrcPath: '',
|
zipSrcPath: '',
|
||||||
zipFile: '',
|
zipFile: '',
|
||||||
// zipFileShort: '',
|
|
||||||
|
|
||||||
paths: {}
|
paths: {}
|
||||||
};
|
};
|
||||||
|
@ -37,10 +30,12 @@ config.paths.assets = {
|
||||||
config.paths.less = {
|
config.paths.less = {
|
||||||
main: {
|
main: {
|
||||||
src: 'dev/Styles/@Main.less',
|
src: 'dev/Styles/@Main.less',
|
||||||
watch: ['dev/Styles/*.less'],
|
|
||||||
options: {
|
options: {
|
||||||
paths: [path.join(__dirname, 'dev', 'Styles'), path.join(__dirname, 'vendors', 'bootstrap', 'less')]
|
paths: [path.join(__dirname, 'dev', 'Styles'), path.join(__dirname, 'vendors', 'bootstrap', 'less')]
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
admin: {
|
||||||
|
src: 'dev/Styles/@Admin.less'
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -53,6 +48,9 @@ config.paths.css = {
|
||||||
'vendors/inputosaurus/inputosaurus.css'
|
'vendors/inputosaurus/inputosaurus.css'
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
admin: {
|
||||||
|
name: 'admin.css'
|
||||||
|
},
|
||||||
boot: {
|
boot: {
|
||||||
name: 'boot.css',
|
name: 'boot.css',
|
||||||
src: [
|
src: [
|
||||||
|
|
41
tasks/css.js
41
tasks/css.js
|
@ -4,8 +4,6 @@ const gulp = require('gulp');
|
||||||
const concat = require('gulp-concat-util');
|
const concat = require('gulp-concat-util');
|
||||||
const rename = require('gulp-rename');
|
const rename = require('gulp-rename');
|
||||||
const replace = require('gulp-replace');
|
const replace = require('gulp-replace');
|
||||||
const plumber = require('gulp-plumber');
|
|
||||||
const gulpif = require('gulp-if');
|
|
||||||
const eol = require('gulp-eol');
|
const eol = require('gulp-eol');
|
||||||
const livereload = require('gulp-livereload');
|
const livereload = require('gulp-livereload');
|
||||||
const filter = require('gulp-filter');
|
const filter = require('gulp-filter');
|
||||||
|
@ -39,7 +37,6 @@ const cssMainBuild = () => {
|
||||||
.src(src)
|
.src(src)
|
||||||
.pipe(expect.real({ errorOnFailure: true }, src))
|
.pipe(expect.real({ errorOnFailure: true }, src))
|
||||||
.pipe(lessFilter)
|
.pipe(lessFilter)
|
||||||
.pipe(gulpif(config.watch, plumber()))
|
|
||||||
.pipe(
|
.pipe(
|
||||||
less({
|
less({
|
||||||
'paths': config.paths.less.main.options.paths
|
'paths': config.paths.less.main.options.paths
|
||||||
|
@ -54,6 +51,30 @@ const cssMainBuild = () => {
|
||||||
.pipe(livereload());
|
.pipe(livereload());
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const cssAdminBuild = () => {
|
||||||
|
const autoprefixer = require('gulp-autoprefixer'),
|
||||||
|
less = require('gulp-less'),
|
||||||
|
lessFilter = filter('**/*.less', { restore: true }),
|
||||||
|
src = config.paths.less.admin.src;
|
||||||
|
|
||||||
|
return gulp
|
||||||
|
.src(src)
|
||||||
|
.pipe(expect.real({ errorOnFailure: true }, src))
|
||||||
|
.pipe(lessFilter)
|
||||||
|
.pipe(
|
||||||
|
less({
|
||||||
|
'paths': config.paths.less.main.options.paths
|
||||||
|
})
|
||||||
|
)
|
||||||
|
.pipe(lessFilter.restore)
|
||||||
|
.pipe(concat(config.paths.css.admin.name))
|
||||||
|
.pipe(autoprefixer())
|
||||||
|
.pipe(replace(/\.\.\/(img|images|fonts|svg)\//g, '$1/'))
|
||||||
|
.pipe(eol('\n', true))
|
||||||
|
.pipe(gulp.dest(config.paths.staticCSS))
|
||||||
|
.pipe(livereload());
|
||||||
|
};
|
||||||
|
|
||||||
const cssBootMin = () => {
|
const cssBootMin = () => {
|
||||||
const cleanCss = require('gulp-clean-css');
|
const cleanCss = require('gulp-clean-css');
|
||||||
return gulp
|
return gulp
|
||||||
|
@ -74,8 +95,18 @@ const cssMainMin = () => {
|
||||||
.pipe(gulp.dest(config.paths.staticCSS));
|
.pipe(gulp.dest(config.paths.staticCSS));
|
||||||
};
|
};
|
||||||
|
|
||||||
const cssBuild = gulp.parallel(cssBootBuild, cssMainBuild);
|
const cssAdminMin = () => {
|
||||||
const cssMin = gulp.parallel(cssBootMin, cssMainMin);
|
const cleanCss = require('gulp-clean-css');
|
||||||
|
return gulp
|
||||||
|
.src(config.paths.staticCSS + config.paths.css.admin.name)
|
||||||
|
.pipe(cleanCss())
|
||||||
|
.pipe(rename({ suffix: '.min' }))
|
||||||
|
.pipe(eol('\n', true))
|
||||||
|
.pipe(gulp.dest(config.paths.staticCSS));
|
||||||
|
};
|
||||||
|
|
||||||
|
const cssBuild = gulp.parallel(cssBootBuild, cssMainBuild, cssAdminBuild);
|
||||||
|
const cssMin = gulp.parallel(cssBootMin, cssMainMin, cssAdminMin);
|
||||||
|
|
||||||
const cssLint = (done) => done();
|
const cssLint = (done) => done();
|
||||||
|
|
||||||
|
|
|
@ -6,14 +6,11 @@ const concat = require('gulp-concat-util'),
|
||||||
rename = require('gulp-rename'),
|
rename = require('gulp-rename'),
|
||||||
replace = require('gulp-replace'),
|
replace = require('gulp-replace'),
|
||||||
terser = require('gulp-terser'),
|
terser = require('gulp-terser'),
|
||||||
plumber = require('gulp-plumber'),
|
|
||||||
gulpif = require('gulp-if'),
|
|
||||||
eol = require('gulp-eol'),
|
eol = require('gulp-eol'),
|
||||||
eslint = require('gulp-eslint'),
|
eslint = require('gulp-eslint'),
|
||||||
cache = require('gulp-cached'),
|
cache = require('gulp-cached'),
|
||||||
expect = require('gulp-expect-file'),
|
expect = require('gulp-expect-file'),
|
||||||
size = require('gulp-size'),
|
size = require('gulp-size'),
|
||||||
sourcemaps = require('gulp-sourcemaps'),
|
|
||||||
gutil = require('gulp-util');
|
gutil = require('gulp-util');
|
||||||
|
|
||||||
const { config } = require('./config');
|
const { config } = require('./config');
|
||||||
|
@ -75,7 +72,6 @@ const jsMin = () =>
|
||||||
showTotal: false
|
showTotal: false
|
||||||
})
|
})
|
||||||
)
|
)
|
||||||
.pipe(gulpif(config.source, sourcemaps.init({ loadMaps: true })))
|
|
||||||
.pipe(replace(/"snappymail\/v\/([^/]+)\/static\/js\/"/g, '"snappymail/v/$1/static/js/min/"'))
|
.pipe(replace(/"snappymail\/v\/([^/]+)\/static\/js\/"/g, '"snappymail/v/$1/static/js/min/"'))
|
||||||
.pipe(rename({ suffix: '.min' }))
|
.pipe(rename({ suffix: '.min' }))
|
||||||
.pipe(
|
.pipe(
|
||||||
|
@ -100,7 +96,6 @@ const jsMin = () =>
|
||||||
})
|
})
|
||||||
)
|
)
|
||||||
.pipe(eol('\n', true))
|
.pipe(eol('\n', true))
|
||||||
.pipe(gulpif(config.source, sourcemaps.write('./')))
|
|
||||||
.pipe(
|
.pipe(
|
||||||
size({
|
size({
|
||||||
showFiles: true,
|
showFiles: true,
|
||||||
|
@ -115,7 +110,6 @@ const jsLint = () =>
|
||||||
.src(config.paths.globjs)
|
.src(config.paths.globjs)
|
||||||
.pipe(cache('eslint'))
|
.pipe(cache('eslint'))
|
||||||
.pipe(eslint())
|
.pipe(eslint())
|
||||||
.pipe(gulpif(config.watch, plumber()))
|
|
||||||
.pipe(eslint.format())
|
.pipe(eslint.format())
|
||||||
.pipe(eslint.failAfterError());
|
.pipe(eslint.failAfterError());
|
||||||
|
|
||||||
|
|
|
@ -36,15 +36,10 @@ const snappymailSetup = (done) => {
|
||||||
|
|
||||||
fs.writeFileSync(dist + 'snappymail/v/' + versionFull + '/index.php.root', fs.readFileSync(dist + 'index.php'));
|
fs.writeFileSync(dist + 'snappymail/v/' + versionFull + '/index.php.root', fs.readFileSync(dist + 'index.php'));
|
||||||
|
|
||||||
if (config.community) {
|
|
||||||
require('rimraf').sync(dist + 'snappymail/v/' + versionFull + '/app/libraries/snappymail/Providers/Prem.php');
|
|
||||||
}
|
|
||||||
|
|
||||||
config.destPath = config.releasesPath + '/webmail/' + versionFull + '/';
|
config.destPath = config.releasesPath + '/webmail/' + versionFull + '/';
|
||||||
config.cleanPath = dist;
|
config.cleanPath = dist;
|
||||||
config.zipSrcPath = dist;
|
config.zipSrcPath = dist;
|
||||||
config.zipFile = 'snappymail-' + (config.community ? 'community-' : '') + versionFull + '.zip';
|
config.zipFile = 'snappymail-' + versionFull + '.zip';
|
||||||
config.zipFileShort = 'snappymail-' + (config.community ? 'community-' : '') + 'latest.zip';
|
|
||||||
|
|
||||||
config.snappymailBuilded = true;
|
config.snappymailBuilded = true;
|
||||||
|
|
||||||
|
@ -67,8 +62,6 @@ const snappymailClean = (done) => {
|
||||||
done();
|
done();
|
||||||
};
|
};
|
||||||
|
|
||||||
const snappymailShortName = (done) => copy(config.destPath + config.zipFile, config.destPath + config.zipFileShort, done);
|
|
||||||
|
|
||||||
exports.snappymailBuild = gulp.series(snappymailCopy, snappymailSetup);
|
exports.snappymailBuild = gulp.series(snappymailCopy, snappymailSetup);
|
||||||
|
|
||||||
exports.snappymail = gulp.series(exports.snappymailBuild, snappymailZip, snappymailClean, snappymailShortName);
|
exports.snappymail = gulp.series(exports.snappymailBuild, snappymailZip, snappymailClean);
|
||||||
|
|
|
@ -17,22 +17,14 @@ const webpackError = (err) => {
|
||||||
|
|
||||||
const webpackCallback = (done) => (err, stats) => {
|
const webpackCallback = (done) => (err, stats) => {
|
||||||
if (err) {
|
if (err) {
|
||||||
if (config.watch) {
|
|
||||||
webpackError(err);
|
|
||||||
} else {
|
|
||||||
throw new gutil.PluginError('webpack', err);
|
throw new gutil.PluginError('webpack', err);
|
||||||
}
|
|
||||||
} else if (stats && stats.compilation && stats.compilation.errors && stats.compilation.errors[0]) {
|
} else if (stats && stats.compilation && stats.compilation.errors && stats.compilation.errors[0]) {
|
||||||
if (config.watch) {
|
|
||||||
stats.compilation.errors.forEach(webpackError);
|
|
||||||
} else {
|
|
||||||
throw new gutil.PluginError('webpack', stats.compilation.errors[0]);
|
throw new gutil.PluginError('webpack', stats.compilation.errors[0]);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
done();
|
done();
|
||||||
};
|
};
|
||||||
|
|
||||||
exports.webpack = (done) => {
|
exports.webpack = (done) => {
|
||||||
webpack(webpackCfgBuilder(config.paths.staticJS, !config.community, 'production'), webpackCallback(done));
|
webpack(webpackCfgBuilder(config.paths.staticJS, 'production'), webpackCallback(done));
|
||||||
};
|
};
|
||||||
|
|
|
@ -45,7 +45,7 @@ const babelLoaderOptions = function() {
|
||||||
};
|
};
|
||||||
|
|
||||||
process.noDeprecation = true;
|
process.noDeprecation = true;
|
||||||
module.exports = function(publicPath, pro, mode) {
|
module.exports = function(publicPath, mode) {
|
||||||
return {
|
return {
|
||||||
// mode: 'production',
|
// mode: 'production',
|
||||||
mode: mode || 'development',
|
mode: mode || 'development',
|
||||||
|
|
Loading…
Reference in a new issue