Просмотр исходного кода

Update deps and rewrite gulpfile

Jay Salvat 4 лет назад
Родитель
Сommit
742b70b4d0
3 измененных файлов с 782 добавлено и 296 удалено
  1. 173 121
      gulpfile.js
  2. 595 161
      package-lock.json
  3. 14 14
      package.json

+ 173 - 121
gulpfile.js

@@ -2,7 +2,7 @@
 /* global require:true, process:true */
 /* jshint laxbreak:true */
 
-(function () {
+(function() {
     'use strict';
 
     var pkg        = require('./package.json'),
@@ -13,9 +13,7 @@
         dateFormat = require('date-format'),
         spawn      = require('child_process').spawn,
         gulp       = require('gulp'),
-        plugins    = require('gulp-load-plugins')(),
-        gsync      = require('gulp-sync'),
-        sync       = gsync(gulp).sync;
+        plugins    = require('gulp-load-plugins')();
 
     var bumpVersion = yargs.argv.type || 'patch';
 
@@ -42,37 +40,47 @@
         }
     };
 
-    var getPackageJson = function () {
+    const getPackageJson = function() {
         return JSON.parse(fs.readFileSync('./package.json'));
     };
 
-    gulp.task('clean', function (cb) {
+    function clean(cb) {
         return del([ './dist' ], cb);
-    });
+    }
 
-    gulp.task('tmp-clean', function (cb) {
+    exports.clean = clean;
+
+    function tmpClean(cb) {
         return del([ './tmp' ], cb);
-    });
+    }
+
+    exports.tmpClean = tmpClean;
 
-    gulp.task('tmp-create', function (cb) {
+    function tmpCreate(cb) {
         return exec('mkdir -p ./tmp', cb);
-    });
+    }
 
-    gulp.task('tmp-copy', [ 'tmp-create' ], function () {
+    exports.tmpCreate = tmpCreate;
+
+    function tmpCopy() {
         return gulp.src('./dist/**/*')
             .pipe(gulp.dest('./tmp'));
-    });
+    }
+
+    exports.tmpCopy = gulp.series(tmpCreate, tmpCopy);    
 
-    gulp.task('zip', [ 'tmp-create' ], function () {
-        var filename = settings.name + '.zip';
+    function zip() {
+        const filename = settings.name + '.zip';
 
         return gulp.src('./dist/**/*')
             .pipe(plugins.zip(filename))
             .pipe(gulp.dest('./tmp'));
-    });
+    }
 
-    gulp.task('fail-if-dirty', function (cb) {
-        return exec('git diff-index HEAD --', function (err, output) {
+    exports.zip = gulp.series(tmpCreate, zip);   
+
+    function failIfDirty(cb) {
+        return exec('git diff-index HEAD --', function(err, output) {
             if (err) {
                 return cb(err);
             }
@@ -81,10 +89,12 @@
             }
             return cb();
         });
-    });
+    }
+
+    exports.zip = failIfDirty;
 
-    gulp.task('fail-if-not-master', function (cb) {
-        exec('git symbolic-ref -q HEAD', function (err, output) {
+    function failIfNotMaster(cb) {
+        exec('git symbolic-ref -q HEAD', function(err, output) {
             if (err) {
                 return cb(err);
             }
@@ -93,54 +103,67 @@
             }
             return cb();
         });
-    });
+    }
 
-    gulp.task('git-tag', function (cb) {
-        var message = 'v' + getPackageJson().version;
+    exports.failIfNotMaster = failIfNotMaster;
+
+    function gitTag(cb) {
+        const message = 'v' + getPackageJson().version;
 
         return exec('git tag ' + message, cb);
-    });
+    }
+
+    exports.gitTag = gitTag;
 
-    gulp.task('git-add', function (cb) {
+    function gitAdd(cb) {
         return exec('git add -A', cb);
-    });
+    }
 
-    gulp.task('git-commit', [ 'git-add' ], function (cb) {
-        var message = 'Build v' + getPackageJson().version;
+    exports.gitAdd = gitAdd;
+
+    function gitCommit(cb) {
+        const message = 'Build v' + getPackageJson().version;
 
         return exec('git commit -m "' + message + '"', cb);
-    });
+    }
+
+    exports.gitCommit = gulp.series(gitAdd, gitCommit);
 
-    gulp.task('git-pull', function (cb) {
-        return exec('git pull origin master', function (err, output, code) {
+    function gitPull(cb) {
+        return exec('git pull origin master', function(err, output, code) {
             if (code !== 0) {
                 return cb(err + output);
             }
             return cb();
         });
-    });
+    }
 
-    gulp.task('git-push', [ 'git-commit' ], function (cb) {
-        return exec('git push origin master --tags', function (err, output, code) {
+    exports.gitPull = gitPull;
+
+    function gitPush(cb) {
+        return exec('git push origin master --tags', function(err, output, code) {
             if (code !== 0) {
                 return cb(err + output);
             }
             return cb();
         });
-    });
+    }
 
-    gulp.task("npm-publish", function (cb) {
-        exec('npm publish', function (err, output, code) {
-                if (code !== 0) {
-                    return cb(err + output);
-                }
-                return cb();
+    exports.gitCommit = gulp.series(gitAdd, gitCommit, gitPush);
+
+    function npmPublish(cb) {
+        exec('npm publish', function(err, output, code) {
+            if (code !== 0) {
+                return cb(err + output);
             }
-        );
-    });
+            return cb();
+        });
+    }
+
+    exports.npmPublish = npmPublish;
 
-    gulp.task('meta', [ 'tmp-create' ], function (cb) {
-        var  metadata = {
+    function meta(cb) {
+        const metadata = {
                 date: dateFormat.asString('yyyy-MM-dd HH:MM'),
                 version: 'v' + getPackageJson().version
             },
@@ -150,9 +173,11 @@
         fs.writeFileSync('tmp/metadata.js', '__metadata(' + json + ');');
 
         return cb();
-    });
+    }
 
-    gulp.task('bump', function () {
+    exports.npmPublish = gulp.series(tmpCreate, meta);
+
+    function bump() {
         return gulp.src([ 'package.json', 'bower.json', 'component.json' ])
             .pipe(plugins.bump(
                 /^[a-z]+$/.test(bumpVersion)
@@ -160,26 +185,34 @@
                     : { version: bumpVersion }
             ))
             .pipe(gulp.dest('.'));
-    });
+    }
+
+    exports.npmPublish = npmPublish;
 
-    gulp.task('year', function () {
+    function year() {
         return gulp.src([ './LICENSE.md', './README.md' ])
             .pipe(plugins.replace(/(Copyright )(\d{4})/g, '$1' + dateFormat.asString('yyyy')))
             .pipe(gulp.dest('.'));
-    });
+    }
 
-    gulp.task('lint', function() {
+    exports.year = year;
+
+    function lint() {
         return gulp.src('./src/**.js')
             .pipe(plugins.jshint())
             .pipe(plugins.jshint.reporter('default'));
-    });
+    }
+
+    exports.lint = lint;
 
-    gulp.task('copy', function () {
+    function copy() {
         return gulp.src([ './src/**/*', '!./src/sass', '!./src/sass/**' ])
             .pipe(gulp.dest('./dist'));
-    });
+    }
 
-    gulp.task('uglify', function () {
+    exports.copy = copy;
+
+    function uglify() {
         return gulp.src('./dist/**/!(*.min.js).js')
             .pipe(plugins.rename({ suffix: '.min' }))
             .pipe(plugins.sourcemaps.init())
@@ -192,21 +225,25 @@
                     comments: /^!/
                 }
             }))
-            .on('error', function (err) { console.log(err) })
+            .on('error', function(err) { console.log(err) })
             .pipe(plugins.sourcemaps.write('.'))
             .pipe(gulp.dest('./dist/'));
-    });
+    }
+
+    exports.copy = copy;
 
-    gulp.task('cssmin', function () {
+    function cssmin() {
         return gulp.src('./dist/**/!(*.min.css).css')
             .pipe(plugins.sourcemaps.init())
             .pipe(plugins.rename({ suffix: '.min' }))
             .pipe(plugins.cssmin())
             .pipe(plugins.sourcemaps.write('.'))
             .pipe(gulp.dest('./dist/'));
-    });
+    }
 
-    gulp.task('sass', function () {
+    exports.cssmin = cssmin;
+
+    function sass() {
         return gulp.src("./src/sass/vegas.sass")
             // .pipe(plugins.sourcemaps.init())
             .pipe(plugins.sass({
@@ -216,17 +253,21 @@
             .pipe(plugins.autoprefixer())
             // .pipe(plugins.sourcemaps.write('.'))
             .pipe(gulp.dest("./dist/"));
-    });
+    }
+
+    exports.sass = sass;
 
-    gulp.task('header', function () {
+    function header() {
         settings.banner.vars.pkg = getPackageJson();
 
         return gulp.src('./dist/*.js')
             .pipe(plugins.header(settings.banner.content, settings.banner.vars ))
             .pipe(gulp.dest('./dist/'));
-    });
+    }
 
-    gulp.task('gh-pages', function (cb) {
+    exports.header = header;
+
+    function ghPages(cb) {
         var version = getPackageJson().version;
 
         exec([  'git checkout gh-pages',
@@ -242,16 +283,18 @@
                 'git push origin gh-pages',
                 'git checkout -'
             ].join(' && '),
-            function (err, output, code) {
+            function(err, output, code) {
                 if (code !== 0) {
                     return cb(err + output);
                 }
                 return cb();
             }
         );
-    });
+    }
+
+    exports.ghPages = ghPages;
 
-    gulp.task('changelog', function (cb) {
+    function changelog(cb) {
         var filename  = 'CHANGELOG.md',
             editor    = process.env.EDITOR || 'vim',
             version   = getPackageJson().version,
@@ -259,7 +302,7 @@
             changelog = fs.readFileSync(filename).toString(),
             lastDate  = /\d{4}-\d{2}-\d{2}/.exec(changelog)[0];
 
-        exec('git log --since="' + lastDate + ' 00:00:00" --oneline --pretty=format:"%s"', function (err, stdout) {
+        exec('git log --since="' + lastDate + ' 00:00:00" --oneline --pretty=format:"%s"', function(err, stdout) {
             if (err) {
                 return cb(err);
             }
@@ -268,7 +311,7 @@
                 return cb();
             }
 
-            var updates = [
+            const updates = [
                 '### Vegas ' + version + ' ' + date,
                 '',
                 '* ' + stdout.replace(/\n/g, '\n* ')
@@ -278,62 +321,72 @@
 
             fs.writeFileSync(filename, changelog);
 
-            var vim = spawn(editor, [ filename, '-n', '+7' ], {
+            const vim = spawn(editor, [ filename, '-n', '+7' ], {
                 stdio: 'inherit'
             });
 
-            vim.on('close', function () {
+            vim.on('close', function() {
                 return cb();
             });
         });
-    });
-
-    gulp.task('watch', function() {
-        gulp.watch("./src/**/*", [ 'build' ]);
-    });
-
-    gulp.task('build', sync([
-        'lint',
-        'clean',
-        'copy',
-        'sass',
-        'header',
-        'cssmin',
-        'uglify',
-    ],
-    'building'));
-
-    gulp.task('release', sync([
-      [ 'fail-if-not-master', 'fail-if-dirty' ],
-        'git-pull',
-        'bump',
-        'changelog',
-        'year',
-        'clean',
-        'copy',
-        'sass',
-        'header',
-        'uglify',
-        'cssmin',
-        'git-add',
-        'git-commit',
-        'git-tag',
-        'git-push',
-        'publish',
-        'npm-publish'
-    ],
-    'releasing'));
-
-    gulp.task('publish', sync([
-      [ 'fail-if-not-master', 'fail-if-dirty' ],
-        'tmp-create',
-        'tmp-copy',
-        'meta',
-        'zip',
-        'gh-pages',
-        'tmp-clean'
-    ],
-    'publising'));
+    }
+
+    exports.changelog = changelog;
+
+    function watch() {
+        return gulp.watch("./src/**/*", build);
+    }
+
+    exports.watch = watch;
+    exports.default = watch;
+
+    const build = gulp.series(
+        lint,
+        clean,
+        copy,
+        sass,
+        header,
+        cssmin,
+        uglify,
+    );
+
+    exports.build = build;
+
+    const publish = gulp.series(
+        failIfNotMaster, 
+        failIfDirty,
+        tmpCreate,
+        tmpCopy,
+        meta,
+        zip,
+        ghPages,
+        tmpClean
+    );
+
+    exports.publish = publish;
+
+    const release = gulp.series(
+        failIfNotMaster, 
+        failIfDirty,
+        gitPull,
+        bump,
+        changelog,
+        year,
+        clean,
+        copy,
+        sass,
+        header,
+        uglify,
+        cssmin,
+        gitAdd,
+        gitCommit,
+        gitTag,
+        gitPush,
+        publish,
+        npmPublish
+    );
+
+    exports.release = release;
 })();
 
 /*
@@ -359,7 +412,6 @@ npm install --save-dev gulp-util
 npm install --save-dev gulp-zip
 npm install --save-dev gulp-rename
 npm install --save-dev gulp-replace
-npm install --save-dev gulp-sync
 
 Gh-pages creation
 -----------------

Разница между файлами не показана из-за своего большого размера
+ 595 - 161
package-lock.json


+ 14 - 14
package.json

@@ -20,25 +20,25 @@
     "zepto"
   ],
   "devDependencies": {
-    "date-format": "^1.2.0",
-    "del": "^3.0.0",
+    "date-format": "^3.0.0",
+    "del": "^6.0.0",
     "exec": "^0.2.1",
-    "gulp": "^3.9.1",
-    "gulp-autoprefixer": "^6.0.0",
-    "gulp-bump": "^3.1.1",
+    "gulp": "^4.0.2",
+    "gulp-autoprefixer": "^7.0.1",
+    "gulp-bump": "^3.2.0",
     "gulp-cssmin": "^0.2.0",
-    "gulp-header": "^2.0.5",
+    "gulp-header": "^2.0.9",
     "gulp-jshint": "^2.1.0",
-    "gulp-load-plugins": "^1.5.0",
-    "gulp-rename": "^1.4.0",
+    "gulp-load-plugins": "^2.0.6",
+    "gulp-rename": "^2.0.0",
     "gulp-replace": "^1.0.0",
-    "gulp-sass": "^4.0.1",
-    "gulp-sourcemaps": "^2.6.4",
+    "gulp-sass": "^4.1.0",
+    "gulp-sourcemaps": "^3.0.0",
     "gulp-sync": "^0.1.4",
-    "gulp-uglify": "^3.0.1",
+    "gulp-uglify": "^3.0.2",
     "gulp-util": "^3.0.8",
-    "gulp-zip": "^4.2.0",
-    "jshint": "^2.9.6",
-    "yargs": "^12.0.2"
+    "gulp-zip": "^5.0.2",
+    "jshint": "^2.12.0",
+    "yargs": "^16.2.0"
   }
 }

Некоторые файлы не были показаны из-за большого количества измененных файлов