-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathgulpfile.js
38 lines (33 loc) · 1.13 KB
/
gulpfile.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
const gulp = require("gulp");
const execute = require("child_process").exec;
const package = require("./package.json");
const writeJsonFile = require("write-json-file");
const exec = function (command) {
return new Promise(function (resolve, reject) {
execute(command, function (err, stdout, stderr) {
if (err) {
console.log(err);
reject(err);
} else {
console.log("[end] command -> ", command);
resolve(stdout);
}
});
});
}
gulp.task("set-new-npm-version", function (done) {
exec("npm show zb-email-verifier | grep latest").then(function(result) {
const latestVersion = result.match(/\d+\.\d+\.\d+/g)[0]
const latestVersions = latestVersion.split(".")
const packageVersions = package.version.split(".")
let newPatchVersion = parseInt(latestVersions[2]) + 1
let newMinorVersion = latestVersions[1]
if (packageVersions[0] !== latestVersions[0]) {
newPatchVersion = 0
newMinorVersion = 0
}
const newVersion = `${packageVersions[0]}.${newMinorVersion}.${newPatchVersion}`
package.version = newVersion
writeJsonFile("package.json", package).then(done)
})
});