#gulp
Вопрос:
Использование узла 16.2.0 в OSX. Я новичок, чтобы глотать.
Я хочу обновить version
в своем package.json
файле, который будет содержать хэш Git, если он находится в ветке функций, поэтому у меня есть это в файле Gulp
// pkg is defined somewhere else to be my Gulp file // I have a "semVer" key in my package.json file const {src, dest} = require('gulp'); const semver = require('semver'); ... const semVer = semver.parse(pkg.semVer); // Functions getBranch() and getHash() are defined somewhere else, // and they return the Git branch and hash respectively. function manageVersion() { var newVersion = semver.inc(semVer, 'patch'); var hash = ""; if (getBranch().includes('feature')) { hash = getHash().toString(); newVersion = [newVersion, hash].join('-'); } src(['../package*.json']) .pipe(gulp_bump({ version: newVersion })) .pipe(dest('./')); } exports.manageVersion = manageVersion
Затем я делаю это и получаю бессмысленную ошибку
$ gulp manageVersion -f gulpfiles/version.js [16:20:20] Working directory changed to /path/gulpfiles [16:20:20] Using gulpfile /path/gulpfiles/version.js [16:20:20] Starting 'manageVersion'... [16:20:20] Finished 'manageVersion' after 99 ms /path/node_modules/semver/semver.js:564 if (v1[key] !== v2[key]) { ^ TypeError: Cannot read property 'major' of null at Function.diff (/path/node_modules/semver/semver.js:564:27) at /path/node_modules/bump-regex/index.js:66:26 at String.replace (lt;anonymousgt;) at module.exports (/path/node_modules/bump-regex/index.js:54:23) at DestroyableTransform._transform (/path/node_modules/gulp-bump/index.js:29:5) at DestroyableTransform.Transform._read (/path/node_modules/gulp-bump/node_modules/readable-stream/lib/_stream_transform.js:184:10) at DestroyableTransform.Transform._write (/path/node_modules/gulp-bump/node_modules/readable-stream/lib/_stream_transform.js:172:83) at doWrite (/path/node_modules/gulp-bump/node_modules/readable-stream/lib/_stream_writable.js:428:64) at writeOrBuffer (/path/node_modules/gulp-bump/node_modules/readable-stream/lib/_stream_writable.js:417:5) at DestroyableTransform.Writable.write (/path/node_modules/gulp-bump/node_modules/readable-stream/lib/_stream_writable.js:334:11)
Я проверил ВСЕ свои значения newVersion
и hash
, и они являются допустимыми строками. Что я упускаю?
Ответ №1:
Оказывается, мне пришлось обрезать строку из getHash()
функции
hash = getHash().trim();