mirror of
https://github.com/the-djmaze/snappymail.git
synced 2025-03-03 10:13:37 +08:00
updated npm and cleanup gulp tasks
This commit is contained in:
parent
a80b17e011
commit
141e68f686
8 changed files with 636 additions and 752 deletions
|
@ -66,15 +66,12 @@
|
|||
"gulp-expect-file": "1.0.2",
|
||||
"gulp-filter": "6.0.0",
|
||||
"gulp-header": "2.0.9",
|
||||
"gulp-if": "3.0.0",
|
||||
"gulp-less": "4.0.1",
|
||||
"gulp-livereload": "4.0.2",
|
||||
"gulp-plumber": "1.2.1",
|
||||
"gulp-rename": "2.0.0",
|
||||
"gulp-replace": "1.0.0",
|
||||
"gulp-rimraf": "1.0.0",
|
||||
"gulp-size": "3.0.0",
|
||||
"gulp-sourcemaps": "2.6.5",
|
||||
"gulp-stripbom": "1.0.5",
|
||||
"gulp-terser": "^1.4.0",
|
||||
"gulp-through": "0.4.0",
|
||||
|
|
|
@ -8,18 +8,11 @@ const config = {
|
|||
},
|
||||
devVersion: '0.0.0',
|
||||
releasesPath: 'build/dist/releases',
|
||||
community: !argv.pro,
|
||||
source: !!argv.source,
|
||||
watch: false,
|
||||
watchInterval: 1000,
|
||||
googleCompile: false,
|
||||
|
||||
rainloopBuilded: false,
|
||||
destPath: '',
|
||||
cleanPath: '',
|
||||
zipSrcPath: '',
|
||||
zipFile: '',
|
||||
// zipFileShort: '',
|
||||
|
||||
paths: {}
|
||||
};
|
||||
|
@ -37,10 +30,12 @@ config.paths.assets = {
|
|||
config.paths.less = {
|
||||
main: {
|
||||
src: 'dev/Styles/@Main.less',
|
||||
watch: ['dev/Styles/*.less'],
|
||||
options: {
|
||||
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'
|
||||
]
|
||||
},
|
||||
admin: {
|
||||
name: 'admin.css'
|
||||
},
|
||||
boot: {
|
||||
name: 'boot.css',
|
||||
src: [
|
||||
|
|
41
tasks/css.js
41
tasks/css.js
|
@ -4,8 +4,6 @@ const gulp = require('gulp');
|
|||
const concat = require('gulp-concat-util');
|
||||
const rename = require('gulp-rename');
|
||||
const replace = require('gulp-replace');
|
||||
const plumber = require('gulp-plumber');
|
||||
const gulpif = require('gulp-if');
|
||||
const eol = require('gulp-eol');
|
||||
const livereload = require('gulp-livereload');
|
||||
const filter = require('gulp-filter');
|
||||
|
@ -39,7 +37,6 @@ const cssMainBuild = () => {
|
|||
.src(src)
|
||||
.pipe(expect.real({ errorOnFailure: true }, src))
|
||||
.pipe(lessFilter)
|
||||
.pipe(gulpif(config.watch, plumber()))
|
||||
.pipe(
|
||||
less({
|
||||
'paths': config.paths.less.main.options.paths
|
||||
|
@ -54,6 +51,30 @@ const cssMainBuild = () => {
|
|||
.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 cleanCss = require('gulp-clean-css');
|
||||
return gulp
|
||||
|
@ -74,8 +95,18 @@ const cssMainMin = () => {
|
|||
.pipe(gulp.dest(config.paths.staticCSS));
|
||||
};
|
||||
|
||||
const cssBuild = gulp.parallel(cssBootBuild, cssMainBuild);
|
||||
const cssMin = gulp.parallel(cssBootMin, cssMainMin);
|
||||
const cssAdminMin = () => {
|
||||
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();
|
||||
|
||||
|
|
|
@ -6,14 +6,11 @@ const concat = require('gulp-concat-util'),
|
|||
rename = require('gulp-rename'),
|
||||
replace = require('gulp-replace'),
|
||||
terser = require('gulp-terser'),
|
||||
plumber = require('gulp-plumber'),
|
||||
gulpif = require('gulp-if'),
|
||||
eol = require('gulp-eol'),
|
||||
eslint = require('gulp-eslint'),
|
||||
cache = require('gulp-cached'),
|
||||
expect = require('gulp-expect-file'),
|
||||
size = require('gulp-size'),
|
||||
sourcemaps = require('gulp-sourcemaps'),
|
||||
gutil = require('gulp-util');
|
||||
|
||||
const { config } = require('./config');
|
||||
|
@ -75,7 +72,6 @@ const jsMin = () =>
|
|||
showTotal: false
|
||||
})
|
||||
)
|
||||
.pipe(gulpif(config.source, sourcemaps.init({ loadMaps: true })))
|
||||
.pipe(replace(/"snappymail\/v\/([^/]+)\/static\/js\/"/g, '"snappymail/v/$1/static/js/min/"'))
|
||||
.pipe(rename({ suffix: '.min' }))
|
||||
.pipe(
|
||||
|
@ -100,7 +96,6 @@ const jsMin = () =>
|
|||
})
|
||||
)
|
||||
.pipe(eol('\n', true))
|
||||
.pipe(gulpif(config.source, sourcemaps.write('./')))
|
||||
.pipe(
|
||||
size({
|
||||
showFiles: true,
|
||||
|
@ -115,7 +110,6 @@ const jsLint = () =>
|
|||
.src(config.paths.globjs)
|
||||
.pipe(cache('eslint'))
|
||||
.pipe(eslint())
|
||||
.pipe(gulpif(config.watch, plumber()))
|
||||
.pipe(eslint.format())
|
||||
.pipe(eslint.failAfterError());
|
||||
|
||||
|
|
|
@ -36,15 +36,10 @@ const snappymailSetup = (done) => {
|
|||
|
||||
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.cleanPath = dist;
|
||||
config.zipSrcPath = dist;
|
||||
config.zipFile = 'snappymail-' + (config.community ? 'community-' : '') + versionFull + '.zip';
|
||||
config.zipFileShort = 'snappymail-' + (config.community ? 'community-' : '') + 'latest.zip';
|
||||
config.zipFile = 'snappymail-' + versionFull + '.zip';
|
||||
|
||||
config.snappymailBuilded = true;
|
||||
|
||||
|
@ -67,8 +62,6 @@ const snappymailClean = (done) => {
|
|||
done();
|
||||
};
|
||||
|
||||
const snappymailShortName = (done) => copy(config.destPath + config.zipFile, config.destPath + config.zipFileShort, done);
|
||||
|
||||
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) => {
|
||||
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]) {
|
||||
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();
|
||||
};
|
||||
|
||||
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;
|
||||
module.exports = function(publicPath, pro, mode) {
|
||||
module.exports = function(publicPath, mode) {
|
||||
return {
|
||||
// mode: 'production',
|
||||
mode: mode || 'development',
|
||||
|
|
Loading…
Reference in a new issue