Code Monkey home page Code Monkey logo

cli's People

Contributors

apaleslimghost avatar apowers313 avatar bahmutov avatar boennemann avatar christophwitzko avatar cujarrett avatar dependabot[bot] avatar gr2m avatar greenkeeper[bot] avatar greenkeeperio-bot avatar jcjones1515 avatar jedwards1211 avatar jeff-tian avatar kallev avatar kbrandwijk avatar lewiscowper avatar lgandecki avatar lgaticaq avatar marciobarrios avatar markdalgleish avatar meixg avatar odoe avatar psanetra avatar pvdlg avatar richardlitt avatar smollweide avatar stojanovic avatar tbhesswebber avatar tlvince avatar travi avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

cli's Issues

Error on setup

? What CI are you using? Travis CI
ERR! semantic-release TypeError: Cannot read property 'id' of undefined
ERR! semantic-release     at /usr/local/lib/node_modules/semantic-release-cli/dist/lib/travis.js:94:25
ERR! semantic-release     at next (native)
ERR! semantic-release     at step (/usr/local/lib/node_modules/semantic-release-cli/dist/lib/travis.js:116:191)
ERR! semantic-release     at /usr/local/lib/node_modules/semantic-release-cli/dist/lib/travis.js:116:361
ERR! semantic-release     at process._tickCallback (node.js:368:9)
ERR! semantic-release  [TypeError: Cannot read property 'id' of undefined]

Friendlier error when GitHub repo doesn't exist

First off, thanks for this project it's a legitimate life saver!

I recently ran into the following issue. Running semantic-release-cli init I get the following stack trace when my package.json repo URL is incorrect and points to nothing.

Would be nice to have a "check your package.json points to a valid GitHub repo" or something instead :)

ERR! semantic-release TypeError: Cannot read property 'slug' of undefined
ERR! semantic-release     at /Users/patrick/.nvm/versions/node/v7.5.0/lib/node_modules/semantic-release-cli/dist/lib/travis.js:90:68
ERR! semantic-release     at Generator.next (<anonymous>)
ERR! semantic-release     at step (/Users/patrick/.nvm/versions/node/v7.5.0/lib/node_modules/semantic-release-cli/dist/lib/travis.js:114:191)
ERR! semantic-release     at /Users/patrick/.nvm/versions/node/v7.5.0/lib/node_modules/semantic-release-cli/dist/lib/travis.js:114:361
ERR! semantic-release     at process._tickCallback (internal/process/next_tick.js:103:7)

Reduce GitHub oauth scope

When using a public GitHub repo, a token with the following scopes is created:

read:org, repo, repo:status, repo_deployment, user:email, write:repo_hook

Are all these necessary? In ye olde times (semantic-release v3 manual set up), it was sufficient to create tokens only with the public_repo scope (or repo for private repos).

Make Travis setup work through Proxy

For Github access, you use the library Request that reads the proxy config from the environment variables.
But not for Travis, so it doesn't work if you have a proxy.

Calling semantic-release do nothing

Calling semantic-release setup do nothing and just shows help.
Version 1.4.0

~/L/P/generator-sails-rest-api   dev   semantic-release-cli setup

semantic-release-cli

Usage:
  semantic-release-cli setup [--tag=<String>]

Options:
  -h --help            Show this screen.
  -v --version         Show version.
  --[no-]keychain      Use keychain to get passwords [default: true].
  --ask-for-passwords  Ask for the passwords even if passwords are stored [default: false].
  --tag=<String>       npm tag to install [default: 'latest'].
  --gh-token=<String>  Github auth token
  --npm-token=<String> NPM auth token

Aliases:
  init                 setup
 ~/L/P/generator-sails-rest-api   dev  

Support command line arguments

It could be useful if the questions could also be answered via command line arguments. For example, the GitHub username could be provided via --github-username.

Clarify error message when Git repo hasn't been initialised

I forgot to run git init and was presented with this:

❯ semantic-release-cli setup
ERR! semantic-release Error: ENOENT, no such file or directory './.git/config'
ERR! semantic-release     at Object.fs.openSync (fs.js:439:18)
ERR! semantic-release     at fs.readFileSync (fs.js:290:15)
ERR! semantic-release     at getRemoteUrl (/usr/local/lib/node_modules/semantic-release-cli/dist/lib/repository.js:22:30)
ERR! semantic-release     at Object.module.exports (/usr/local/lib/node_modules/semantic-release-cli/dist/lib/repository.js:39:3)
ERR! semantic-release     at /usr/local/lib/node_modules/semantic-release-cli/node_modules/async/lib/async.js:1121:24
ERR! semantic-release     at iterate (/usr/local/lib/node_modules/semantic-release-cli/node_modules/async/lib/async.js:260:13)
ERR! semantic-release     at async.forEachOfSeries.async.eachOfSeries (/usr/local/lib/node_modules/semantic-release-cli/node_modules/async/lib/async.js:279:9)
ERR! semantic-release     at Object.<anonymous> (/usr/local/lib/node_modules/semantic-release-cli/node_modules/async/lib/async.js:1120:24)
ERR! semantic-release     at Object.<anonymous> (/usr/local/lib/node_modules/semantic-release-cli/node_modules/async/lib/async.js:166:37)
ERR! semantic-release     at Object.<anonymous> (/usr/local/lib/node_modules/semantic-release-cli/node_modules/async/lib/async.js:1126:27)
ERR! semantic-release  Could not get repository url. Please create/add the repository. { [Error: ENOENT, no such file or directory './.git/config']
ERR! semantic-release   errno: 34,
ERR! semantic-release   code: 'ENOENT',
ERR! semantic-release   path: './.git/config',
ERR! semantic-release   syscall: 'open' }
ERR! semantic-release Error: ENOENT, no such file or directory './.git/config'
ERR! semantic-release     at Object.fs.openSync (fs.js:439:18)
ERR! semantic-release     at fs.readFileSync (fs.js:290:15)
ERR! semantic-release     at getRemoteUrl (/usr/local/lib/node_modules/semantic-release-cli/dist/lib/repository.js:22:30)
ERR! semantic-release     at Object.module.exports (/usr/local/lib/node_modules/semantic-release-cli/dist/lib/repository.js:39:3)
ERR! semantic-release     at /usr/local/lib/node_modules/semantic-release-cli/node_modules/async/lib/async.js:1121:24
ERR! semantic-release     at iterate (/usr/local/lib/node_modules/semantic-release-cli/node_modules/async/lib/async.js:260:13)
ERR! semantic-release     at async.forEachOfSeries.async.eachOfSeries (/usr/local/lib/node_modules/semantic-release-cli/node_modules/async/lib/async.js:279:9)
ERR! semantic-release     at Object.<anonymous> (/usr/local/lib/node_modules/semantic-release-cli/node_modules/async/lib/async.js:1120:24)
ERR! semantic-release     at Object.<anonymous> (/usr/local/lib/node_modules/semantic-release-cli/node_modules/async/lib/async.js:166:37)
ERR! semantic-release     at Object.<anonymous> (/usr/local/lib/node_modules/semantic-release-cli/node_modules/async/lib/async.js:1126:27)
ERR! semantic-release  { [Error: ENOENT, no such file or directory './.git/config']
ERR! semantic-release   errno: 34,
ERR! semantic-release   code: 'ENOENT',
ERR! semantic-release   path: './.git/config',
ERR! semantic-release   syscall: 'open' }

Similar to #1, amongst the traceback lies:

Could not get repository url. Please create/add the repository.

… which is self explanatory, but is quite hidden.

Install fails on Windows 10

Looks like something is trying to find a specific version windows sdk to build a package for windows platform. It is looking for Windows 8.1 but I have Windows 10 which must use different version of SDK that installer is unaware of.

I've had this issue on other packages like phantomjs and they usually have pre-built binaries for the target platform. Is there a separate package that is specifically for Windows?

Log output:

C:\Windows\system32> npm install -g semantic-release-cli
npm WARN deprecated [email protected]: Use uuid module instead
C:\Users\mattm\AppData\Roaming\npm\semantic-release-cli -> C:\Users\mattm\AppData\Roaming\npm\node_modules\semantic-release-cli\bin\semantic-release.js

> [email protected] install C:\Users\mattm\AppData\Roaming\npm\node_modules\semantic-release-cli\node_modules\keytar
> node-gyp rebuild


C:\Users\mattm\AppData\Roaming\npm\node_modules\semantic-release-cli\node_modules\keytar>if not defined npm_config_node_gyp (node "C:\Program Files\nodejs\node_modules\npm\bin\node-gyp-bin\\..\..\node_modules\node-gyp\bin\node-gyp.js" rebuild )  else (node "" rebuild )
Building the projects in this solution one at a time. To enable parallel build, please add the "/m" switch.
C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Platforms\x64\PlatformToolsets\v140\Toolset.targets(36,5): error
 MSB8036: The Windows SDK version 8.1 was not found. Install the required version of Windows SDK or change the SDK vers
ion in the project property pages or by right-clicking the solution and selecting "Retarget solution". [C:\Users\mattm\
AppData\Roaming\npm\node_modules\semantic-release-cli\node_modules\keytar\build\keytar.vcxproj]
gyp ERR! build error
gyp ERR! stack Error: `C:\Program Files (x86)\MSBuild\14.0\bin\msbuild.exe` failed with exit code: 1
gyp ERR! stack     at ChildProcess.onExit (C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\build.js:276:23)
gyp ERR! stack     at emitTwo (events.js:106:13)
gyp ERR! stack     at ChildProcess.emit (events.js:191:7)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:204:12)
gyp ERR! System Windows_NT 10.0.14393
gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild"
gyp ERR! cwd C:\Users\mattm\AppData\Roaming\npm\node_modules\semantic-release-cli\node_modules\keytar
gyp ERR! node -v v6.3.1
gyp ERR! node-gyp -v v3.3.1
gyp ERR! not ok
npm WARN install:[email protected] [email protected] install: `node-gyp rebuild`
npm WARN install:[email protected] Exit status 1
C:\Users\mattm\AppData\Roaming\npm
`-- [email protected]

Improve "Could not get repo id" error message

This error is occurring while performing the installation.
note: I'm using organizations in GitHub and travis

D:\Projetos\Truly-UI>semantic-release-cli init ? What is your npm registry? https://registry.npmjs.org/ ? What is your npm username? temainfo-truly ? What is your npm password? ******** WARN semantic-release keytar is not installed correctly, not saving password ? What is your GitHub username? abalad ? What is your GitHub password? ******** WARN semantic-release keytar is not installed correctly, not saving password ? What CI are you using? Travis CI ERR! semantic-release Error: Could not get repo id ERR! semantic-release at C:\Users\Maicon\AppData\Roaming\npm\node_modules\semantic-release-cli\dist\lib\travis.js:92:31 ERR! semantic-release at Generator.next (<anonymous>) ERR! semantic-release at step (C:\Users\Maicon\AppData\Roaming\npm\node_modules\semantic-release-cli\dist\lib\travis.js:114:191) ERR! semantic-release at C:\Users\Maicon\AppData\Roaming\npm\node_modules\semantic-release-cli\dist\lib\travis.js:114:361 ERR! semantic-release at process._tickCallback (internal/process/next_tick.js:109:7) ERR! semantic-release Error: Could not get repo id ERR! semantic-release at C:\Users\Maicon\AppData\Roaming\npm\node_modules\semantic-release-cli\dist\lib\travis.js:92:31 ERR! semantic-release at Generator.next (<anonymous>) ERR! semantic-release at step (C:\Users\Maicon\AppData\Roaming\npm\node_modules\semantic-release-cli\dist\lib\travis.js:114:191) ERR! semantic-release at C:\Users\Maicon\AppData\Roaming\npm\node_modules\semantic-release-cli\dist\lib\travis.js:114:361 ERR! semantic-release at process._tickCallback (internal/process/next_tick.js:109:7)

Can't login to Github

Hello there, I'm having some issues while I try to use the package, I can't login into my Github account.

The last step I see in my terminal is "What is your Github username?" I hit enter and then I got this:

ERR! semantic-release Could not login to GitHub. Check your credentials.
ERR! semantic-release Error: Could not login to GitHub.
ERR! semantic-release     at Request._callback (/Users/alejandro/Code/projects/es6-project-boilerplate/node_modules/semantic-release-cli/dist/lib/github.js:72:8)
ERR! semantic-release     at Request.self.callback (/Users/alejandro/Code/projects/es6-project-boilerplate/node_modules/request/request.js:200:22)
ERR! semantic-release     at emitTwo (events.js:100:13)
ERR! semantic-release     at Request.emit (events.js:185:7)
ERR! semantic-release     at Request.<anonymous> (/Users/alejandro/Code/projects/es6-project-boilerplate/node_modules/request/request.js:1067:10)
ERR! semantic-release     at emitOne (events.js:95:20)
ERR! semantic-release     at Request.emit (events.js:182:7)
ERR! semantic-release     at IncomingMessage.<anonymous> (/Users/alejandro/Code/projects/es6-project-boilerplate/node_modules/request/request.js:988:12)
ERR! semantic-release     at emitNone (events.js:85:20)
ERR! semantic-release     at IncomingMessage.emit (events.js:179:7)
ERR! semantic-release  [Error: Could not login to GitHub.]

Node version: v5.5.0
NPM version: 3.8.0

Thanks!

Failed on private module/travis pro

Just went through the setup for travis-ci pro, and it just bails:

» semantic-release-cli setup                                                                                                    ◉ ◼◼◼◼◼◼◼◼◼◼
? Is the GitHub repository private? Yes
? What is your npm registry? https://registry.npmjs.org/
? What is your npm username? remy
? What is your npm email? [email protected]
? What is your npm password? ******
? What is your GitHub username? remy
? What is your GitHub password? ************
? What is your GitHub two-factor authentication code? <removed>
? What CI are you using? Travis CI Pro
ERR! semantic-release Could not get repository on Travis CI.
ERR! semantic-release file not found

I wasn't sure if there was a verbose output that I could help with.

ERR! semantic-release Could not create Travis CI hook.

? Is the GitHub repository private? No

? What is your npm registry? https://registry.npmjs.org/
? What is your npm username? gr2m
? What is your npm email? [email protected]
? What is your npm password? **************
? What is your GitHub username? gr2m
? What is your GitHub password? ************
? What CI are you using? Travis CI
ERR! semantic-release Could not create Travis CI hook.
ERR! semantic-release Error: Travis encountered an error, sorry :(
ERR! semantic-release     at /usr/local/lib/node_modules/semantic-release-cli/node_modules/travis-ci/lib/travis-ci.js:49:30
ERR! semantic-release     at Request._callback (/usr/local/lib/node_modules/semantic-release-cli/node_modules/travis-ci/lib/travis-http.js:49:13)
ERR! semantic-release     at Request.self.callback (/usr/local/lib/node_modules/semantic-release-cli/node_modules/travis-ci/node_modules/request/index.js:148:22)
ERR! semantic-release     at Request.emit (events.js:98:17)
ERR! semantic-release     at Request.<anonymous> (/usr/local/lib/node_modules/semantic-release-cli/node_modules/travis-ci/node_modules/request/index.js:886:14)
ERR! semantic-release     at Request.emit (events.js:117:20)
ERR! semantic-release     at IncomingMessage.<anonymous> (/usr/local/lib/node_modules/semantic-release-cli/node_modules/travis-ci/node_modules/request/index.js:837:12)
ERR! semantic-release     at IncomingMessage.emit (events.js:117:20)
ERR! semantic-release     at _stream_readable.js:943:16
ERR! semantic-release     at process._tickCallback (node.js:419:13)
ERR! semantic-release  [Error: Travis encountered an error, sorry :(]

Install fails on windows

In the command prompt I ran:

npm i -g semantic-release-cli

In the output I received:

npm WARN deprecated [email protected]: this package has been reintegrated into npm and is now out of date with respect to npm
npm WARN deprecated [email protected]: lodash@<3.0.0 is no longer maintained. Upgrade to lodash@^4.0.0.

> [email protected] install C:\Users\evansiroky\AppData\Roaming\npm\node_modules\semantic-release-cli\node_modules\keytar
> node-gyp rebuild

-
C:\Users\evansiroky\AppData\Roaming\npm\node_modules\semantic-release-cli\node_modnot defined npm_config_node_gyp (node "C:\Program Files\nodejs\node_modules\npm\ else (node  rebuild ) \node_modules\node-gyp\bin\node-gyp.js" rebuild |)
Building the projects in this solution one at a time. To enable parallel build, please add the "/m" switch.
MSBUILD : error MSB3428: Could not load the Visual C++ component "VCBuild.exe".
 To fix this, 1) install the .NET Framework 2.0 SDK, 2) install Microsoft Visua
l Studio 2005 or 3) add the location of the component to the system path if it
is installed elsewhere.  [C:\Users\evansiroky\AppData\Roaming\npm\node_modules\se
mantic-release-cli\node_modules\keytar\build\binding.sln]
gyp ERR! build error
gyp ERR! stack Error: `C:\Windows\Microsoft.NET\Framework\v4.0.30319\msbuild.exe` failed with exit code: 1
gyp ERR! stack     at ChildProcess.onExit (C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\build.js:270:23)
gyp ERR! stack     at emitTwo (events.js:87:13)
gyp ERR! stack     at ChildProcess.emit (events.js:172:7)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:200:12)
gyp ERR! System Windows_NT 10.0.10586
gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild"
gyp ERR! cwd C:\Users\evansiroky\AppData\Roaming\npm\node_modules\semantic-release-cli\node_modules\keytar
gyp ERR! node -v v4.2.2
gyp ERR! node-gyp -v v3.0.3
gyp ERR! not ok
npm WARN deprecated [email protected]: graceful-fs v3.0.0 and before will fail on node releases >= v7.0. Please update to graceful-fs@^4.0.0 as soon as possible. Use 'npm ls graceful-fs' to find it in the tree.
npm ERR! Windows_NT 10.0.10586
npm ERR! argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "i" "-g" "semantic-release-cli"
npm ERR! node v4.2.2
npm ERR! npm  v2.14.7
npm ERR! code ELIFECYCLE

npm ERR! [email protected] install: `node-gyp rebuild`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] install script 'node-gyp rebuild'.
npm ERR! This is most likely a problem with the keytar package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node-gyp rebuild
npm ERR! You can get their info via:
npm ERR!     npm owner ls keytar
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     C:\Users\evansiroky\git\my-app\npm-debug.log

Keychain usage / documentation

From semantic-release/semantic-release#82:

I found the undocumented use of keytar extremely disturbing when I realized that semantic-release-cli had saved my passwords without mentioning that was going to do so in the README or mentioning it as part of install script. The README doesn't even mention the command-line option for --no-keychain. I would advocate for defaulting keychain to false and updating the README. Happy to submit a PR if you guys are open minded to that.

In addition to reversing the default for keychain, it would be good to see a clearly enumerated set of steps that semantic-release-cli takes when configuring a repository. When I was shopping around for release scripts, I liked the way that release-script documented their process.

This probably applies to semantic-release and semantic-release-cli equally -- if I am going to trust you to write to my repositories you better be pretty damn clear about what you are going to do or I'm not going to trust you.

Setup for Travis without GitHub Admin rights

At our organization, we use a dedicated CI GitHub user with restricted rights for semantic-release. The problem is that setup will fail if I select Travis in the setup, because creating a Hook requires admin rights.

Because of that, every setup is quite some work compared to the beauty of only running semantic-release-cli setup once. Here it is

  1. Run semantic-release-cli setup --npm-token=<NPM_TOKEN here> --gh-token=<GH_TOKEN here>, select Other (prints tokens) for the What CI are you using? question.
  2. Open the repo on GitHub and add the CI user to the repository with Write Rights (write rights required for creating tags / releases)
  3. Open the repo in Travis and manually set NPM_TOKEN / GH_TOKEN
  4. Manually create the .travis.yml file

I know this might be an edge case, but the efforts adds up, and if there is slick way to resolve this issue, we'd be happy to send a pull request for it. An idea would be that instead of failing after the What CI are you using question when selecting Travis, it could show a message that the passed user has insufficient rights to create a GitHub Hook, and prompt for credentials of another user. These credentials would be only used for this one request.

That'd be amazing <3

/cc @jo

Authentication with Artifactory Online (private npm) doesn't work

I'm trying to setup semantic-release against a private npm package hosted on Artifactory (not the npm public registry), but it fails for me:

? Is the GitHub repository private? Yes
? What is your npm registry? https://<customer>.artifactoryonline.com/<customer>/api/npm/blaze-npm-releases/
? What is your npm username? <username>
? What is your npm email? <email>
? What is your npm password? **************************************
ERR! semantic-release Could not login to npm registry. Check your credentials.
ERR! semantic-release Error: 204 Could not create user
ERR! semantic-release undefined
ERR! semantic-release     at /Users/ghengeveld/.nvm/versions/node/v4.2.4/lib/node_modules/semantic-release-cli/node_modules/npm-registry-client/lib/adduser.js:112:17
ERR! semantic-release     at /Users/ghengeveld/.nvm/versions/node/v4.2.4/lib/node_modules/semantic-release-cli/node_modules/npm-registry-client/lib/adduser.js:73:16
ERR! semantic-release     at f (/Users/ghengeveld/.nvm/versions/node/v4.2.4/lib/node_modules/semantic-release-cli/node_modules/once/once.js:17:25)
ERR! semantic-release     at /Users/ghengeveld/.nvm/versions/node/v4.2.4/lib/node_modules/semantic-release-cli/node_modules/npm-registry-client/lib/request.js:68:16
ERR! semantic-release     at f (/Users/ghengeveld/.nvm/versions/node/v4.2.4/lib/node_modules/semantic-release-cli/node_modules/once/once.js:17:25)
ERR! semantic-release     at RegClient.<anonymous> (/Users/ghengeveld/.nvm/versions/node/v4.2.4/lib/node_modules/semantic-release-cli/node_modules/npm-registry-client/lib/request.js:255:12)
ERR! semantic-release     at Request._callback (/Users/ghengeveld/.nvm/versions/node/v4.2.4/lib/node_modules/semantic-release-cli/node_modules/npm-registry-client/lib/request.js:170:14)
ERR! semantic-release     at Request.self.callback (/Users/ghengeveld/.nvm/versions/node/v4.2.4/lib/node_modules/semantic-release-cli/node_modules/request/request.js:200:22)
ERR! semantic-release     at emitTwo (events.js:87:13)
ERR! semantic-release     at Request.emit (events.js:172:7)
ERR! semantic-release  [Error: 204 Could not create user
ERR! semantic-release undefined]

I'm confident the credentials are correct. In fact connecting directly to Artifactory proves this.

curl -u<username> https://<customer>.artifactoryonline.com/<customer>/api/npm/auth

That prompts me for the password and gives me back an auth token and the associated email address.

I've also tried the base64 encoded password and the auth token. Note that my ~/.npmrc is already setup to correctly handle publishing to Artifactory (for scoped packages) and I have the publishConfig registry setup in package.json too, so I'm a bit surprised semantic-release-cli doesn't just pick that up.

On a related note I think failing to enter the right password should not exit the wizard but provide the option to try again.

Couldn't authenticate to Github

Hey everyone, just wanted to give y'all some clues on my Github password. So it contains !@#$ (in that order). Now the problem is I'm not sure why but I couldn't complete semantic-release-cli setup with my password, it was failing the github authentication. I removed those symbols from my password and it started working. I'm not sure if this is related to semantic-release or if it's a terminal thing. I'm on mac, using iterm.

Ideally I would like to get this fixed, so I can get my symbols back into my password to make it super strong again. Thanks!

Error running semantic-release setup with Node v5.4.0

Semantic-release-cli version: 1.4.1
Node version: 5.4.0
Command:

npm i semantic-release-cli -g
semantic-release setup

Output:

Bretts-MBP:test-app brettuglow$ semantic-release-cli setup
module.js:423
  return process.dlopen(module, path._makeLong(filename));
                 ^
Error: Module version mismatch. Expected 47, got 46.
    at Error (native)
    at Object.Module._extensions..node (module.js:423:18)
    at Module.load (module.js:344:32)
    at Function.Module._load (module.js:301:12)
    at Module.require (module.js:354:17)
    at require (internal/module.js:12:17)
    at Object.<anonymous> (/mydev/tools/npm/lib/node_modules/semantic-release-cli/node_modules/keytar/lib/keytar.js:4:12)
    at Object.<anonymous> (/mydev/tools/npm/lib/node_modules/semantic-release-cli/node_modules/keytar/lib/keytar.js:58:4)
    at Module._compile (module.js:398:26)
    at Object.Module._extensions..js (module.js:405:10)
Bretts-MBP:test-app brettuglow$ nvm use stable
Now using node v4.2.4
Bretts-MBP:test-app brettuglow$ semantic-release-cli setup
? Are you using GitHub Enterprise? (Y/n) 

Switching to Node v4.2.4 (4.x?) worked.

Unable to setup with a custom registry run by `sinopia`

I'm trying to publish my package to a local registry because I don't want it actually published anywhere, I just want the features of the changelog, plugins, tag and all that. 😛

I tried yesterday with an Adobe CouchDB local server, but it gave me the same error.

This is what I ran (username is user and password is pass :P)

semantic-release-cli setup
? Are you using GitHub Enterprise? No
? What is your npm registry? http://localhost:4873
? What is your npm username? user
? What is your npm password? ****

Here's the error:

Error: this user already exists : -/user/org.couchdb.user:user
ERR! semantic-release     at makeError (~/.config/yarn/global/node_modules/npm-registry-client/lib/request.js:304:12)
ERR! semantic-release     at RegClient.<anonymous> (~/.config/yarn/global/node_modules/npm-registry-client/lib/request.js:292:14)
ERR! semantic-release     at Request._callback (~/.config/yarn/global/node_modules/npm-registry-client/lib/request.js:212:14)
ERR! semantic-release     at Request.self.callback (~/.config/yarn/global/node_modules/request/request.js:186:22)
ERR! semantic-release     at emitTwo (events.js:106:13)
ERR! semantic-release     at Request.emit (events.js:192:7)
ERR! semantic-release     at Request.<anonymous> (~/.config/yarn/global/node_modules/request/request.js:1081:10)
ERR! semantic-release     at emitOne (events.js:96:13)
ERR! semantic-release     at Request.emit (events.js:189:7)
ERR! semantic-release     at IncomingMessage.<anonymous> (~/.config/yarn/global/node_modules/request/request.js:1001:12)
ERR! semantic-release     at Object.onceWrapper (events.js:291:19)
ERR! semantic-release     at emitNone (events.js:91:20)
ERR! semantic-release     at IncomingMessage.emit (events.js:186:7)
ERR! semantic-release     at endReadableNT (_stream_readable.js:974:12)
ERR! semantic-release     at _combinedTickCallback (internal/process/next_tick.js:74:11)
ERR! semantic-release     at process._tickCallback (internal/process/next_tick.js:98:9)

And here's the Sinopia log, if useful.

 http  <-- 409, user: undefined, req: 'PUT /-/user/org.couchdb.user:user', error: this user already exists
 http  <-- 409, user: undefined, req: 'PUT /-/user/org.couchdb.user:user', error: this user already exists

I don't understand why it is a problem that the user exists, as I'm guessing all you need credentials for is to login and then push to the registry.

Need to set Travis header in order to setup

Because TravisCI is under DDOS, according to their email, one needs to set the header when making the connection from now on. Otherwise one gets cannot login, ... when running setup step.

The change should be done in

const travis = info.travis = new Travis({

---const travis = info.travis = new Travis({
---  version: '2.0.0'
---})
+++const travis = info.travis = new Travis({
+++  version: '2.0.0',
+++  headers: {
+++    'user-agent': 'Oghliner'
+++  }
+++})

Here is the email I received from Travis support

It appears your problem stems from the fact that we are currently (and for the last 2 months actually) under a DDoS attack cf. https://www.traviscistatus.com/incidents/bntk781kb8y8. Hence we are currently allowing request only for User-Agent that are whitelisted on our side.

semantic-release-cli is using the travis-ci node module to make requests to our API and the User-Agent it sends is not allowed. So for semantic-release-cli to work again, you would need to both modify travis-ci and semantic-release-cli node module to be able to pass the appropriate header.

Here is a pull request that fixes the travis-ci module: https://github.com/pwmckenna/node-travis-ci/pull/6. Maybe you could fork the semantic-release-cli and try to incorporate a fork of travis-ci's repo that include this fix? Sorry for the inconvenience.

Support any format of repository URL

Tho I am able to push & pull from public git repo, when I run semantic-release-cli setup, I'm asked the following question

Is the GitHub repository private?

When I say N, It is immediately exiting the prompt with the above error.

The github repo I'm accessing is under an organization called 1tontech & I'm a member of it. (I own the Org aswell)

semantic-release-cli --version returns 3.0.3

Better error message when Organisation access is missing

Thanks for this amazing cli! It works super well and maybe we can improve it a bit further.

I set up a repo with semantic-release-cli setup for an organisation to which Travis didn't yet have access, so I received the following error message:

ERR! semantic-release Could not get repository on Travis CI. { file: 'not found' }
ERR! semantic-release { file: 'not found' }

While I instantly realised that I had to set the Organisation up in Travis, this might not be obvious to all users. As @boennemann told me, the tokens are set up automatically as long as Organisation access is granted, so as far as I understand, this issue can only occur when the Organisation access is missing. If that is the case, can we let the user know and point them to the URL where they can learn how to grant this access?

Why would it start with 1.0.0

I had an addon working at 0.1.0, after installing this and merging to master, the version was bumped to 1.0.0, but I was expecting it to go to 0.2.0 since it only had feat and fix

travis_after_all using wrong url

Hello,

I have configured a build using Travis Pro, but the travis_after_all script calls travis-ci.org, instead of travis-ci.com.

Looking at the downloaded file from https://git.io/travis_after_all, this URL resolves to a specific commit, and that commit always calls travis-ci.org https://api.travis-ci.org/builds/{0}.

If you look at the latest master it appears to have support for different travis environments.

Should the https://git.io/travis_after_all link be updated to use the latest master, do I need to modify the download target in my build, or am I doing something else wrong?

Thanks, Adam.

Could not install module with Node 6.2.0, NPM 3.9.3 (NVM v0.31.1) on Ubuntu 16.04

I am facing installation problem and my output looks like bellow

nmrony at dell-inspiron in ~
$ npm i semantic-release-cli -g --no-progress
npm WARN deprecated [email protected]: this package has been reintegrated into npm and is now out of date with respect to npm
npm WARN deprecated [email protected]: graceful-fs v3.0.0 and before will fail on node releases >= v7.0. Please update to graceful-fs@^4
.0.0 as soon as possible. Use 'npm ls graceful-fs' to find it in the tree.
npm WARN deprecated [email protected]: lodash@<3.0.0 is no longer maintained. Upgrade to lodash@^4.0.0.
/home/nmrony/.nvm/versions/node/v6.2.0/bin/semantic-release-cli -> /home/nmrony/.nvm/versions/node/v6.2.0/lib/node_modules/semantic-rele
ase-cli/bin/semantic-release.js

> [email protected] install /home/nmrony/.nvm/versions/node/v6.2.0/lib/node_modules/semantic-release-cli/node_modules/keytar
> node-gyp rebuild

gyp WARN download NVM_NODEJS_ORG_MIRROR is deprecated and will be removed in node-gyp v4, please use NODEJS_ORG_MIRROR
gyp WARN download NVM_NODEJS_ORG_MIRROR is deprecated and will be removed in node-gyp v4, please use NODEJS_ORG_MIRROR
Package gnome-keyring-1 was not found in the pkg-config search path.
Perhaps you should add the directory containing `gnome-keyring-1.pc`
to the PKG_CONFIG_PATH environment variable
No package 'gnome-keyring-1' found
gyp: Call to 'pkg-config --libs-only-l gnome-keyring-1' returned exit status 1 while in binding.gyp. while trying to load binding.gyp
gyp ERR! configure error
gyp ERR! stack Error: `gyp` failed with exit code: 1
gyp ERR! stack     at ChildProcess.onCpExit (/home/nmrony/.nvm/versions/node/v6.2.0/lib/node_modules/npm/node_modules/node-gyp/lib/confi
gure.js:305:16)
gyp ERR! stack     at emitTwo (events.js:106:13)
gyp ERR! stack     at ChildProcess.emit (events.js:191:7)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:204:12)
gyp ERR! System Linux 4.4.0-22-generic
gyp ERR! command "/home/nmrony/.nvm/versions/node/v6.2.0/bin/node" "/home/nmrony/.nvm/versions/node/v6.2.0/lib/node_modules/npm/node_mod
ules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /home/nmrony/.nvm/versions/node/v6.2.0/lib/node_modules/semantic-release-cli/node_modules/keytar
gyp ERR! node -v v6.2.0
gyp ERR! node-gyp -v v3.3.1
gyp ERR! not ok
/home/nmrony/.nvm/versions/node/v6.2.0/lib
└── (empty)
npm ERR! Linux 4.4.0-22-generic
npm ERR! argv "/home/nmrony/.nvm/versions/node/v6.2.0/bin/node" "/home/nmrony/.nvm/versions/node/v6.2.0/bin/npm" "i" "semantic-release-c
li" "-g"
npm ERR! node v6.2.0
npm ERR! npm  v3.9.3
npm ERR! code ELIFECYCLE

npm ERR! [email protected] install: `node-gyp rebuild`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] install script 'node-gyp rebuild'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the keytar package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node-gyp rebuild
npm ERR! You can get information on how to open an issue for this project with:
npm ERR!     npm bugs keytar
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!     npm owner ls keytar
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     /home/nmrony/.nvm/npm-debug.log
npm ERR! code 1

I am using Node v6.2.0 and NPM v3.9.3 installed via NVM v0.30.1 on Ubuntu 16.04, I cleaned the cache but no luck. Please take a look into it.

NPM url validation is a little too eager

We use internal urls for our registry that don't resolve publicly. Example: http://npm-registry.internal1. Unfortunately it's impossible to enter these right now because the isURL rejects them. Would it be okay to add require_tld: false to the isURL options?

Add "init" as an alternative to "setup"

I keep typing semantic-release-cli init instead of semantic-release-cli setup, because the other tools I use regularly (git and npm), use init as an initialisation/setup command. It's very much on the developer ergonomics end, and to fix my problem, so I'm happy to take it.

Setup fails at setupTravis(), info.ghrepo is undefined

? Are you using GitHub Enterprise? No
? What is your npm registry? https://registry.npmjs.org/
? What is your npm username? incendiary
? What is your GitHub username? DJTB
? What CI are you using? Travis CI
ERR! semantic-release TypeError: Cannot read property 'slug' of undefined
ERR! semantic-release     at /home/subrosa/.config/yarn/global/node_modules/semantic-release-cli/dist/lib/travis.js:90:68
ERR! semantic-release     at Generator.next (<anonymous>)
ERR! semantic-release     at step (/home/subrosa/.config/yarn/global/node_modules/semantic-release-cli/dist/lib/travis.js:113:191)
ERR! semantic-release     at /home/subrosa/.config/yarn/global/node_modules/semantic-release-cli/dist/lib/travis.js:113:361
ERR! semantic-release     at process._tickCallback (internal/process/next_tick.js:103:7)
ERR! semantic-release  TypeError: Cannot read property 'slug' of undefined
ERR! semantic-release     at /home/subrosa/.config/yarn/global/node_modules/semantic-release-cli/dist/lib/travis.js:90:68
ERR! semantic-release     at Generator.next (<anonymous>)
ERR! semantic-release     at step (/home/subrosa/.config/yarn/global/node_modules/semantic-release-cli/dist/lib/travis.js:113:191)
ERR! semantic-release     at /home/subrosa/.config/yarn/global/node_modules/semantic-release-cli/dist/lib/travis.js:113:361
ERR! semantic-release     at process._tickCallback (internal/process/next_tick.js:103:7)

line 90 is

travis.repoid = _.get((yield promisify(travis.repos(info.ghrepo.slug[0], info.ghrepo.slug[1]).get.bind(travis))()), 'repo.id');

package.json

"repository": {
    "type": "git",
    "url": "https://github.com/DJTB/KanaWana/"
  },

New access tokens have appeared on both of my npm and github accounts.

If I console.log(info) in setupTravis I can see my npm and git usernames, password, access tokens. The github repo url is present too, but there is no key for ghrepo.

I have a travis account and I manually toggled the repo.
image

Any help would be appreciated, keen to use sr-cli!

unable to use locally hosted github installation

The info object has ghepurl property but it never gets populated.
If I override it with our github host details I am able to get authorization tokens -
info.ghepurl = "https://xxx/api/v3";
(note the api endpoint - ../api/v3)

Without overriding this value it sends your creds to github.com (which fails)
(it sends to github.com even though the git repo url is pointing to a local github server)

I don't know the design well enough to make suggestions but it appears the code was at least partially designed with this in mind.

Could not install module with Node 6.3.1, NPM 3.10.3 on Linux Mint 17.3

I'm having an installation issue. My output:

➜  ~ npm install -g semantic-release-cli --no-progress
npm WARN deprecated [email protected]: this package has been reintegrated into npm and is now out of date with respect to npm
npm WARN deprecated [email protected]: graceful-fs v3.0.0 and before will fail on node releases >= v7.0. Please update to graceful-fs@^4.0.0 as soon as possible. Use 'npm ls graceful-fs' to find it in the tree.
npm WARN deprecated [email protected]: lodash@<3.0.0 is no longer maintained. Upgrade to lodash@^4.0.0.
/home/matheusml/.nvm/versions/node/v6.3.1/bin/semantic-release-cli -> /home/matheusml/.nvm/versions/node/v6.3.1/lib/node_modules/semantic-release-cli/bin/semantic-release.js

> [email protected] install /home/matheusml/.nvm/versions/node/v6.3.1/lib/node_modules/semantic-release-cli/node_modules/keytar
> node-gyp rebuild

gyp WARN download NVM_NODEJS_ORG_MIRROR is deprecated and will be removed in node-gyp v4, please use NODEJS_ORG_MIRROR
gyp WARN download NVM_NODEJS_ORG_MIRROR is deprecated and will be removed in node-gyp v4, please use NODEJS_ORG_MIRROR
gyp WARN download NVM_NODEJS_ORG_MIRROR is deprecated and will be removed in node-gyp v4, please use NODEJS_ORG_MIRROR
make: Entrando no diretório `/home/matheusml/.nvm/versions/node/v6.3.1/lib/node_modules/semantic-release-cli/node_modules/keytar/build'
  CXX(target) Release/obj.target/keytar/src/main.o
make: g++: Comando não encontrado
make: ** [Release/obj.target/keytar/src/main.o] Erro 127
make: Saindo do diretório `/home/matheusml/.nvm/versions/node/v6.3.1/lib/node_modules/semantic-release-cli/node_modules/keytar/build'
gyp ERR! build error 
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/home/matheusml/.nvm/versions/node/v6.3.1/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:276:23)
gyp ERR! stack     at emitTwo (events.js:106:13)
gyp ERR! stack     at ChildProcess.emit (events.js:191:7)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:204:12)
gyp ERR! System Linux 3.19.0-32-generic
gyp ERR! command "/home/matheusml/.nvm/versions/node/v6.3.1/bin/node" "/home/matheusml/.nvm/versions/node/v6.3.1/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /home/matheusml/.nvm/versions/node/v6.3.1/lib/node_modules/semantic-release-cli/node_modules/keytar
gyp ERR! node -v v6.3.1
gyp ERR! node-gyp -v v3.3.1
gyp ERR! not ok 
/home/matheusml/.nvm/versions/node/v6.3.1/lib
└── (empty)

npm ERR! Linux 3.19.0-32-generic
npm ERR! argv "/home/matheusml/.nvm/versions/node/v6.3.1/bin/node" "/home/matheusml/.nvm/versions/node/v6.3.1/bin/npm" "install" "-g" "semantic-release-cli" "--no-progress"
npm ERR! node v6.3.1
npm ERR! npm  v3.10.3
npm ERR! code ELIFECYCLE

npm ERR! [email protected] install: `node-gyp rebuild`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the [email protected] install script 'node-gyp rebuild'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the keytar package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node-gyp rebuild
npm ERR! You can get information on how to open an issue for this project with:
npm ERR!     npm bugs keytar
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!     npm owner ls keytar
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     /home/matheusml/npm-debug.log
npm ERR! code 1

ERR! Could not login to npm registry. Check your credentials.

Hey guys, getting weird error while trying to set up semantic-release. I have changed my password on NPM and successfully logged in again via npm login but the error is still there. What can I do to fix it? I even tried to remove .npmrc but it does not give any effect.

WARN semantic-release adduser Incorrect username or password
WARN semantic-release You can reset your account by visiting:
WARN semantic-release

WARN semantic-release     https://npmjs.org/forgot
WARN semantic-release
ERR! semantic-release Could not login to npm registry. Check your credentials.
ERR! semantic-release Error: Registry returned 401 for PUT on https://registry.npmjs.org/-/user/org.couchdb.user:finom
ERR! semantic-release     at RegClient.<anonymous> (/home/finom/.nvm/versions/node/v6.4.0/lib/node_modules/semantic-release-cli/node_modules/npm-r
egistry-client/lib/request.js:239:14)
ERR! semantic-release     at Request._callback (/home/finom/.nvm/versions/node/v6.4.0/lib/node_modules/semantic-release-cli/node_modules/npm-regis
try-client/lib/request.js:170:14)
ERR! semantic-release     at Request.self.callback (/home/finom/.nvm/versions/node/v6.4.0/lib/node_modules/semantic-release-cli/node_modules/reque
st/request.js:187:22)
ERR! semantic-release     at emitTwo (events.js:106:13)
ERR! semantic-release     at Request.emit (events.js:191:7)
ERR! semantic-release     at Request.<anonymous> (/home/finom/.nvm/versions/node/v6.4.0/lib/node_modules/semantic-release-cli/node_modules/request
/request.js:1044:10)
ERR! semantic-release     at emitOne (events.js:96:13)
ERR! semantic-release     at Request.emit (events.js:188:7)
ERR! semantic-release     at IncomingMessage.<anonymous> (/home/finom/.nvm/versions/node/v6.4.0/lib/node_modules/semantic-release-cli/node_modules
/request/request.js:965:12)
ERR! semantic-release     at emitNone (events.js:91:20)
ERR! semantic-release  { Error: Registry returned 401 for PUT on https://registry.npmjs.org/-/user/org.couchdb.user:finom
ERR! semantic-release     at RegClient.<anonymous> (/home/finom/.nvm/versions/node/v6.4.0/lib/node_modules/semantic-release-cli/node_modules/npm-r
egistry-client/lib/request.js:239:14)
ERR! semantic-release     at Request._callback (/home/finom/.nvm/versions/node/v6.4.0/lib/node_modules/semantic-release-cli/node_modules/npm-regis
try-client/lib/request.js:170:14)
ERR! semantic-release     at Request.self.callback (/home/finom/.nvm/versions/node/v6.4.0/lib/node_modules/semantic-release-cli/node_modules/reque
st/request.js:187:22)
ERR! semantic-release     at emitTwo (events.js:106:13)
ERR! semantic-release     at Request.emit (events.js:191:7)
ERR! semantic-release     at Request.<anonymous> (/home/finom/.nvm/versions/node/v6.4.0/lib/node_modules/semantic-release-cli/node_modules/request
/request.js:1044:10)
ERR! semantic-release     at emitOne (events.js:96:13)
ERR! semantic-release     at Request.emit (events.js:188:7)
ERR! semantic-release     at IncomingMessage.<anonymous> (/home/finom/.nvm/versions/node/v6.4.0/lib/node_modules/semantic-release-cli/node_modules
/request/request.js:965:12)
ERR! semantic-release     at emitNone (events.js:91:20) statusCode: 401, code: 'E401' }

I use npm 3.10.3 and node 6.4.0 via nvm.

Enterprise Github login redirect and fails

Hello,
I'm attempting to set up semantic release for my company and running into issues during the setup phase. Enterprise npm login returns a 200, however enterprise github returns a 302 and trys to redirect me causing an error and a termination of the setup. Below are my parameters:

? Are you using GitHub Enterprise? Yes
? What is your GitHub Enterprise url? https://github.$COMPANY.com
? What is your npm registry? https://registry.npmjs.$COMPANY.net/
? What is your npm username? $USERNAME
info semantic-release attempt registry request try #1 at 11:41:18 AM
http semantic-release request PUT https://registry.npmjs.$COMPANY.net/-/user/org.couchdb.$USERNAME
http semantic-release 201 'https://registry.npmjs.$COMPANY.net/-/user/org.couchdb.forrbar'
info semantic-release Successfully created npm token.
? What is your GitHub username? $USERNAME
? What is your GitHub password? ********
ERR! semantic-release StatusCodeError: 302 - "<html><body>You are being <a href=\"https://github.$COMPANY.com/login?return_to=https%3A%2F%2Fgithub.$COMPANY.com%2Fauthorizations\">redirected</a>.</body></html>"

If I include the enterprise repository in my package.json it ingores the github enterprise url prompt and attempts to log me into non-enterprise github even though my url points to an enterprise version.
package.json:

  "repository": {
    "type": "git",
    "url": "https://github.$COMPANY.com/"
  }

console output:

? What is your npm registry? https://registry.npmjs.$COMPANY.net/
? What is your npm username? $USERNAME
info semantic-release attempt registry request try #1 at 11:17:51 AM
http semantic-release request PUT https://registry.npmjs.$COMPANY.net/-/user/org.couchdb.user:$USERNAME
http semantic-release 201 'https://registry.npmjs.$COMPANY.net/-/user/org.couchdb.user:$USERNAME'
info semantic-release Successfully created npm token.
? What is your GitHub username? $USERNAME
? What is your GitHub password? ********
ERR! semantic-release StatusCodeError: 401 - {"message":"Bad credentials","documentation_url":"https://developer.github.com/v3"}

I think the cli has a bug or two in it, I'll dive deeper and try and come up with a PR but for now just wondering if anyone else has come across this.

Add option to not remove version field or set it to a custom value

In the case of many libraries, removing the version field is problematic because npm seems to check for versions and hard fail if a version field is not set. For example, if you try to npm install a git repo instead of an npm package (say, you've got your own private fork and are waiting on a PR to land) then you'll not be able to proceed without adding a version field to your package.json.

It seems to work just fine to add some benign version like 0.0.0-semantically-released but this would probably be best as an option. I know this is likely blocked by #20 but it seems like a really useful feature given npm's insistence on a version field.

bootstrapped .travis.yml contains obsolete commands

This is a .travis.yml created by the cli:

sudo: false
language: node_js
cache:
  directories:
    - node_modules
notifications:
  email: false
node_js:
  - iojs-v3
  - iojs-v2
  - iojs-v1
  - '0.12'
  - '0.10'
before_install:
  - npm i -g npm@^2.0.0
before_script:
  - npm prune
  - 'curl -Lo travis_after_all.py https://git.io/vLSON'
after_success:
  - python travis_after_all.py
  - export $(cat .to_export_back)
  - npm run semantic-release

I think we do not need the travis_after_all hooks anymore:

before_script:
  - 'curl -Lo travis_after_all.py https://git.io/vLSON'
after_success:
  - python travis_after_all.py
  - export $(cat .to_export_back)

Also, while we're at it: add node v4 target.

install hangs if GitHub user has no write access to repository

$ npm_config_loglevel=verbose semantic-release-cli setup
verb semantic-release Detected git url: https://github.com/eHealthAfrica/kazana-account-app.git
? Is the GitHub repository private? No
? What is your npm registry? https://registry.npmjs.org/
? What is your npm username? ehealthafrica
? What is your npm email? [email protected]
verb semantic-release adduser before first PUT { _id: 'org.couchdb.user:ehealthafrica',
verb semantic-release   name: 'ehealthafrica',
verb semantic-release   password: 'XXXXX',
verb semantic-release   email: '[email protected]',
verb semantic-release   type: 'user',
verb semantic-release   roles: [],
verb semantic-release   date: '2015-09-21T14:54:27.862Z' }
verb semantic-release request uri https://registry.npmjs.org/-/user/org.couchdb.user:ehealthafrica
verb semantic-release request new user, so can't send auth
info semantic-release attempt registry request try #1 at 16:54:27
verb semantic-release request id 1d440b1fa8155f43
http semantic-release request PUT https://registry.npmjs.org/-/user/org.couchdb.user:ehealthafrica
http semantic-release 201 'https://registry.npmjs.org/-/user/org.couchdb.user:ehealthafrica'
info semantic-release Successfully created npm token.
? What is your GitHub username? ehealthafrica-ci
? What is your GitHub password? ************************************************************
**********************

After giving the GitHub user write-access to the repo, it failed with "Could not load Travis CI config for endpoint"

$ npm_config_loglevel=silly semantic-release-cli setup
verb semantic-release Detected git url: https://github.com/eHealthAfrica/kazana-account-app.git
? Is the GitHub repository private? No
? What is your npm registry? https://registry.npmjs.org/
? What is your npm username? ehealthafrica
? What is your npm email? [email protected]
? What is your npm password? ***************
verb semantic-release adduser before first PUT { _id: 'org.couchdb.user:ehealthafrica',
verb semantic-release   name: 'ehealthafrica',
verb semantic-release   password: 'XXXXX',
verb semantic-release   email: '[email protected]',
verb semantic-release   type: 'user',
verb semantic-release   roles: [],
verb semantic-release   date: '2015-09-21T15:08:15.928Z' }
verb semantic-release request uri https://registry.npmjs.org/-/user/org.couchdb.user:ehealthafrica
verb semantic-release request new user, so can't send auth
info semantic-release attempt registry request try #1 at 5:08:15 PM
verb semantic-release request id 2e28a0b3a3b1a08b
http semantic-release request PUT https://registry.npmjs.org/-/user/org.couchdb.user:ehealthafrica
http semantic-release 201 'https://registry.npmjs.org/-/user/org.couchdb.user:ehealthafrica'
info semantic-release Successfully created npm token.
? What is your GitHub username? ehealthafrica-ci
? What is your GitHub password? ************************************************************
**********************
info semantic-release Successfully created GitHub token.
? What CI are you using? Travis CI
info semantic-release Could not load Travis CI config for endpoint.
ERR! semantic-release Could not create Travis CI hook.
ERR! semantic-release Error: Travis encountered an error, sorry :(
ERR! semantic-release     at /Users/gregor/.nvm/versions/node/v4.0.0/lib/node_modules/semantic-release-cli/node_modules/travis-ci/lib/travis-ci.js:49:30
ERR! semantic-release     at Request._callback (/Users/gregor/.nvm/versions/node/v4.0.0/lib/node_modules/semantic-release-cli/node_modules/travis-ci/lib/travis-http.js:49:13)
ERR! semantic-release     at Request.self.callback (/Users/gregor/.nvm/versions/node/v4.0.0/lib/node_modules/semantic-release-cli/node_modules/travis-ci/node_modules/request/index.js:148:22)
ERR! semantic-release     at emitTwo (events.js:87:13)
ERR! semantic-release     at Request.emit (events.js:172:7)
ERR! semantic-release     at Request.<anonymous> (/Users/gregor/.nvm/versions/node/v4.0.0/lib/node_modules/semantic-release-cli/node_modules/travis-ci/node_modules/request/index.js:886:14)
ERR! semantic-release     at emitOne (events.js:82:20)
ERR! semantic-release     at Request.emit (events.js:169:7)
ERR! semantic-release     at IncomingMessage.<anonymous> (/Users/gregor/.nvm/versions/node/v4.0.0/lib/node_modules/semantic-release-cli/node_modules/travis-ci/node_modules/request/index.js:837:12)
ERR! semantic-release     at emitNone (events.js:72:20)
ERR! semantic-release  [Error: Travis encountered an error, sorry :(]

Not sure if that is related, feel free to create a separate issue for the Travis-ci part

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.