Версия npm без package.json - PullRequest
       19

Версия npm без package.json

0 голосов
/ 13 марта 2019

У меня есть проект npm с версионированием тегов, что означает, что фактическая версия проекта хранится только в тегах git, а не в package.json, который всегда останется равным 0.0.0

Мне нужно поддерживать эту систему управления версиями, возможно, с помощью инструментов npm.

Итак, в Jenkinsfile:

npm version from-git // Obtain last Tag version from git and store it in package.json, it also does an automatic tag and commit for git (which I absolutely don't like)
npm version patch // Upgrade package.json to a +1 patch version, prepare Tag and Commit for git.
git push --tags // Push new Tag to git

все вышеперечисленное явно не работает, так как я понял, что версия npm не создает аннотированные теги, которые приводят к тому, что npm всегда читает одно и то же и первый тег 0.0.0, поэтому я изменил код в Jenkinsfile следующим образом:

    npm --no-git-tag-version version from-git // Same above without automatic git Tag
    TAG_VERSION = sh (
         script: 'npm --no-git-tag-version version patch',
         returnStdout: true
         ).trim() // Store the patch version in a temp variable without automatic git Tag
    git tag VERSION -a -m"New Tag Version: ${TAG_VERSION}" // Create the new Tag
    git push --tags // Push new annotated Tag to git

но это тоже не работает; npm делает некоторые странные вещи, следуя выводу git show для Tag v0.0.1:

$ git show v0.0.1
tag v0.0.1
Tagger: me
Date:  today
New Tag: %s
commit blablabla
Author: me
Date:   today
diff --git a/package-lock.json b/package-lock.json
index 
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,6 +1,6 @@
 {
   "name": "agency-vthp-frontend",
-  "version": "0.0.10",
+  "version": "0.0.0",
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
 {
   "name": "agency-vthp-frontend",
-  "version": "0.0.10",
+  "version": "0.0.0",
   "author": “me”,
   "license": "UNLICENSED",
   "repository": "myrepo"

и вывод git show для тега v0.0.2:

$ git show v0.0.2
tag v0.0.2
Tagger: me
Date:   today
New Tag
commit blablabla2
Author: me
Date:  today
    Releasing 0.0.1
diff --git a/package-lock.json b/package-lock.json
index 
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,6 +1,6 @@
 {
   "name": "agency-vthp-frontend",
-  "version": "0.0.0",
+  "version": "0.0.1",
index 
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
 {
   "name": "agency-vthp-frontend",
-  "version": "0.0.0",
+  "version": "0.0.1",
   "author": "me
   "license": "UNLICENSED",
   "repository": "myrepo"
...