NPM публикует циклы дважды, используя prepublishOnly - PullRequest
0 голосов
/ 27 января 2019

Я пытаюсь автоматизировать упаковку / выпуск / публикацию репозитория с открытым исходным кодом Node.js

У меня есть следующие сценарии

  "scripts": {
    "build": "babel src/ --out-dir lib/",
    "clean": "rm -rf lib/",
    "lint": "eslint . --cache --fix",
    "preversion": "yarn run lint && yarn run test:once",
    "postversion": "git push && git push --tags",
    "prepublishOnly": "yarn run clean && yarn run build && yarn run release:preview && cli-confirm \"Do you really want to release a new version? Please check the files that will be publicly released first.\"",
    "release:preview": "npm pack && tar -xvzf *.tgz && rm -rf package *.tgz",
    "release": "yarn bump --prompt --commit --tag --push",
    "test": "NODE_ENV=test jest --watch",
    "test:once": "NODE_ENV=test jest",
    "test:coverage": "NODE_ENV=test jest --coverage"
  },

Когда я запускаю yarn release, я получаюзапросить, и я выбираю версию для изменения (несовершеннолетнюю, исправление и т. д.), затем она фиксирует, помечает и отправляет в мой репозиторий github.С упаковкой / выпуском все в порядке.

Когда я запускаю npm publish или yarn publish --non-interactive (что должно быть то же самое, что я полагаю), я повторяю цикл дважды, в первый раз, когда он работает хорошо: My prepublishOnly Сценарий вызывается, но выполняется в другой раз и завершается ошибкой, поскольку версия уже существует в NPM.

Я не понимаю, почему он повторяется дважды, prepublishOnly должен вызываться только один раз, не так ли?Должно быть, я что-то делаю не так.

Вот полный журнал:

npm publish

> @unly/utils@1.0.0 prepublishOnly .
> yarn run clean && yarn run build && yarn run release:preview && cli-confirm "Do you really want to release a new version? Please check the files that will be publicly released first."

yarn run v1.13.0
$ rm -rf lib/
✨  Done in 0.10s.
yarn run v1.13.0
$ babel src/ --out-dir lib/
Successfully compiled 4 files with Babel.
✨  Done in 0.67s.
yarn run v1.13.0
$ npm pack && tar -xvzf *.tgz && rm -rf package *.tgz
npm notice 
npm notice ?  @unly/utils@1.0.0
npm notice === Tarball Contents === 
npm notice 1.7kB package.json            
npm notice 1.1kB LICENSE                 
npm notice 592B  README.md               
npm notice 433B  lib/browserRedirect.js  
npm notice 857B  lib/convertLineBreaks.js
npm notice 286B  lib/index.js            
npm notice 209B  lib/isBrowser.js        
npm notice === Tarball Details === 
npm notice name:          @unly/utils                             
npm notice version:       1.0.0                                   
npm notice filename:      unly-utils-1.0.0.tgz                    
npm notice package size:  2.5 kB                                  
npm notice unpacked size: 5.1 kB                                  
npm notice shasum:        1ad46ff501a8f36ea2ceee85555219a6295c81c1
npm notice integrity:     sha512-TmZKKvHjeA2K4[...]o/dALmKc0f2Yw==
npm notice total files:   7                                       
npm notice 
unly-utils-1.0.0.tgz
x package/package.json
x package/LICENSE
x package/README.md
x package/lib/browserRedirect.js
x package/lib/convertLineBreaks.js
x package/lib/index.js
x package/lib/isBrowser.js
✨  Done in 0.82s.
Do you really want to release a new version? Please check the files that will be publicly released first. y
npm notice 
npm notice ?  @unly/utils@1.0.0
npm notice === Tarball Contents === 
npm notice 1.7kB package.json            
npm notice 1.1kB LICENSE                 
npm notice 592B  README.md               
npm notice 433B  lib/browserRedirect.js  
npm notice 857B  lib/convertLineBreaks.js
npm notice 286B  lib/index.js            
npm notice 209B  lib/isBrowser.js        
npm notice === Tarball Details === 
npm notice name:          @unly/utils                             
npm notice version:       1.0.0                                   
npm notice package size:  2.5 kB                                  
npm notice unpacked size: 5.1 kB                                  
npm notice shasum:        1ad46ff501a8f36ea2ceee85555219a6295c81c1
npm notice integrity:     sha512-TmZKKvHjeA2K4[...]o/dALmKc0f2Yw==
npm notice total files:   7                                       
npm notice 

> @unly/utils@1.0.0 publish .
> npm publish


> @unly/utils@1.0.0 prepublishOnly .
> yarn run clean && yarn run build && yarn run release:preview && cli-confirm "Do you really want to release a new version? Please check the files that will be publicly released first."

yarn run v1.13.0
$ rm -rf lib/
✨  Done in 0.10s.
yarn run v1.13.0
$ babel src/ --out-dir lib/
Successfully compiled 4 files with Babel.
✨  Done in 0.68s.
yarn run v1.13.0
$ npm pack && tar -xvzf *.tgz && rm -rf package *.tgz
npm notice 
npm notice ?  @unly/utils@1.0.0
npm notice === Tarball Contents === 
npm notice 1.7kB package.json            
npm notice 1.1kB LICENSE                 
npm notice 592B  README.md               
npm notice 433B  lib/browserRedirect.js  
npm notice 857B  lib/convertLineBreaks.js
npm notice 286B  lib/index.js            
npm notice 209B  lib/isBrowser.js        
npm notice === Tarball Details === 
npm notice name:          @unly/utils                             
npm notice version:       1.0.0                                   
npm notice filename:      unly-utils-1.0.0.tgz                    
npm notice package size:  2.5 kB                                  
npm notice unpacked size: 5.1 kB                                  
npm notice shasum:        1ad46ff501a8f36ea2ceee85555219a6295c81c1
npm notice integrity:     sha512-TmZKKvHjeA2K4[...]o/dALmKc0f2Yw==
npm notice total files:   7                                       
npm notice 
unly-utils-1.0.0.tgz
x package/package.json
x package/LICENSE
x package/README.md
x package/lib/browserRedirect.js
x package/lib/convertLineBreaks.js
x package/lib/index.js
x package/lib/isBrowser.js
✨  Done in 0.82s.
Do you really want to release a new version? Please check the files that will be publicly released first. y
npm notice 
npm notice ?  @unly/utils@1.0.0
npm notice === Tarball Contents === 
npm notice 1.7kB package.json            
npm notice 1.1kB LICENSE                 
npm notice 592B  README.md               
npm notice 433B  lib/browserRedirect.js  
npm notice 857B  lib/convertLineBreaks.js
npm notice 286B  lib/index.js            
npm notice 209B  lib/isBrowser.js        
npm notice === Tarball Details === 
npm notice name:          @unly/utils                             
npm notice version:       1.0.0                                   
npm notice package size:  2.5 kB                                  
npm notice unpacked size: 5.1 kB                                  
npm notice shasum:        1ad46ff501a8f36ea2ceee85555219a6295c81c1
npm notice integrity:     sha512-TmZKKvHjeA2K4[...]o/dALmKc0f2Yw==
npm notice total files:   7                                       
npm notice 
npm ERR! publish Failed PUT 403
npm ERR! code E403
npm ERR! You cannot publish over the previously published versions: 1.0.0. : @unly/utils

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...