Giter Club home page Giter Club logo

next-update's Issues

Skip error message for certain versions

Lately, npm registry returns a lot of modified, etc words for versions, need to skip them

null 'could not clean version 0.4.0rc8 for grunt'
null 'could not clean version modified for allong.es'
null 'could not clean version created for allong.es'

checking NPM registry times out

Seems to do with bad connections, but no error messages, just silently exits after a couple of seconds after "checking NPM registry" message is printed to the console

Fetch stats for multiple versions

If there are multiple versions available for a given module, fetch update stats for each and list separately in the rows of the available table

Hardcoded URL to npm.registry.org

Hi.

I'm using your wonderful lib to make sure we don't break anything in our build environment and to make sure we're not 1:1 dependent on registry.npm.org being up since we use CI, we have our own registry mirrored to registry.npm.org. Our mirror takes a while to update sometimes and since next-update always uses npm.registry.org to look up the dependencies, it fails when trying to install them (which is using the correct, local registry).

Would be great if next-update used the registry defined in .npmrc and defaults to registry.npm.org instead. :)

If npm doesn't expose the registry easily, it could perhaps execute npm config get registry which will output which registry that is defined in the .npmrc file.

Thanks again for the useful project!

"Current installation is invalid, please run NPM install first" because of bower component

We put bower dependencies in a specific folder, using .bowerrc. We installed Angular as a Bower dependency, and when I run next-update I get:

next-update - Tests if module's dependencies can be updated to latest version
  version: 0.5.1
  author: {"name":"Gleb Bahmutov","email":"[email protected]"}
checking if the current state works
ERROR: cannot find folder /home/nchambrier/Projects/LMTM/ooz/bower_components/angular
ERROR testing next working updates
Error: Current installation is invalid, please run NPM install first
    at /home/nchambrier/.nvm/v0.10.32/lib/node_modules/next-update/src/next-update.js:35:26
    at node.js:906:3
From previous event:
    at checkDependenciesInstalled (/home/nchambrier/.nvm/v0.10.32/lib/node_modules/next-update/src/next-update.js:29:19)
    at Object.checkCurrentInstall (/home/nchambrier/.nvm/v0.10.32/lib/node_modules/next-update/src/next-update.js:43:12)
    at Object.<anonymous> (/home/nchambrier/.nvm/v0.10.32/lib/node_modules/next-update/index.js:129:38)

Obviously, if it looks for Angular in ./bower_components it won't be found as there is no such folder.

next-update should either

  • ignore bower dependencies (I thought it only checked npm dependencies)
  • read .bowerrc

Use $NODE_PATH

I think this error I'm getting is because next-update only looks locally, not to the node path?

(develop) thomas:/vagrant $ env | grep NODE_PATH
NODE_PATH=/home/vagrant/.npm-packages/lib/node_modules:/usr/lib/nodejs:/usr/lib/node_modules:/usr/share/javascript

(develop) thomas:/vagrant $ ls /home/vagrant/.npm-packages/lib/node_modules/redis/
benches  changelog.md  diff_multi_bench_output.js  examples  generate_commands.js  index.js  lib  multi_bench.js  package.json  README.md  test.js  test-unref.js

(develop) thomas:/vagrant $ next-update
next-update - Tests if module's dependencies can be updated to latest version
  version: 0.4.4
  author: {"name":"Gleb Bahmutov","email":"[email protected]"}
checking if the current state works
cannot find file /vagrant/node_modules/redis/package.json
ERROR: cannot find module redis
ERROR testing next working updates
Error: Current installation is invalid, please run NPM install first
    at /usr/lib/node_modules/next-update/src/next-update.js:35:26
    at node.js:902:3
From previous event:
    at checkDependenciesInstalled (/usr/lib/node_modules/next-update/src/next-update.js:29:19)
    at Object.checkCurrentInstall (/usr/lib/node_modules/next-update/src/next-update.js:43:12)
    at Object.<anonymous> (/usr/lib/node_modules/next-update/index.js:122:38)
(develop) thomas:/vagrant $

next-update fails on GitHub dependencies

The documentation quite nicely describes the process of how modules are checked for updates. But this only targets public packages that are in the public registry.

If you use a GitHub dependency in your package.json, next-update tells you:

TypeError: Invalid comparator: myorg/mymodule#x.y.z

IMHO you can deal with Git and GitHub dependencies in a quite similar way: Simply get the latest version, and afterwards rollback to the commit ID or tag that is given in package.json.

Shorten long version strings

When showing multiple available versions, shorten the string, for example by putting ... in the middle

instead of 0.1.0, 0.1.1, 0.1.2, 0.1.3, 0.1.4, 0.1.5, 0.1.6, 0.1.7
show 0.1.0, ..., 0.1.7

EPEERINVALID npm error causing cascading failures

next-update log pasted here: http://pastebin.com/PZJvEZD6

Everything was going fine until [email protected] failed.

npm ERR! System Linux 3.11.0-15-generic
npm ERR! command "/usr/bin/node" "/usr/bin/npm" "install" "[email protected]"
npm ERR! cwd /vagrant
npm ERR! node -v v0.10.26
npm ERR! npm -v 1.4.3
npm ERR! code EPEERINVALID
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR!     /vagrant/npm-debug.log
npm ERR! not ok code 0

After that, every single one failed (I presume not coincidentally).

Here's from my package.json:

  "dependencies": {
    "redis": "^0.10.3",
    "express": "^4.4.4",
    "express-session": "^1.5.1",
    "body-parser": "^1.4.2",
    "cookie-parser": "^1.3.1",
    "method-override": "^2.0.0",
    "morgan": "^1.1.0",
    "serve-favicon": "^2.0.0",
    "passport": "^0.2.0",
    "passport-google-oauth": "^0.1.5",
    "passport-facebook": "^1.0.3",
    "passport-local": "^1.0.0",
    "connect-redis": "^2.0.0",
    "nano": "^5.9.1",
    "batch": "~0.5.0",
    "superagent": "~0.16.0",
    "knex": "^0.5.8",
    "bookshelf": "^0.6.6",
    "newrelic": "^1.3.2",
    "winston": "^0.7.2",
    "winston-mail": "^0.2.7",
    "convict": "^0.4.2",
    "pg.js": "^2.11.1",
    "request": "2.36.0",
    "winston-logentries-simple": "0.0.2",
    "cssmin": "^0.4.1",
    "component-hooks": "~0.2.3"
  },
  "devDependencies": {
    "grunt": "^0.4.5",
    "time-grunt": "^0.3.1",
    "load-grunt-tasks": "^0.4.0",
    "load-grunt-config": "^0.9.2",
    "grunt-concurrent": "^0.5.0",
    "sane": "^0.5.1",
    "gaze": "^0.6.4",
    "forever-monitor": "^1.2.3",
    "should": "~3.1.0",
    "mocha": "~1.17.1",
    "supertest": "~0.9.0",
    "smash": "0.0.12",
    "d3": "^3.4.4",
    "coveralls": "^2.10.0",
    "mocha-lcov-reporter": "0.0.1",
    "istanbul": "^0.2.11"
  }

This looks relevant: npm/npm#3289

duplicate properties found

Is this a deliberate error, or an accidental one?

next-update - Tests if module's dependencies can be updated to latest version
  version: 0.4.5
  author: {"name":"Gleb Bahmutov","email":"[email protected]"}
checking if the current state works

/usr/lib/node_modules/next-update/node_modules/deps-ok/src/utils.js:35
      throw new Error('duplicate properties found: ' + common);
            ^
Error: duplicate properties found: jade
    at /usr/lib/node_modules/next-update/node_modules/deps-ok/src/utils.js:35:13
    at Array.forEach (native)
    at Object.getAllDependencies (/usr/lib/node_modules/next-update/node_modules/deps-ok/src/utils.js:28:14)
    at checkTopLevelNpmDependencies (/usr/lib/node_modules/next-update/node_modules/deps-ok/src/check-npm-package.js:13:20)
    at checkDependenciesInFolder (/usr/lib/node_modules/next-update/node_modules/deps-ok/src/check-folder.js:12:10)
    at /usr/lib/node_modules/next-update/src/next-update.js:31:13
    at process._tickCallback (node.js:415:13)
    at Function.Module.runMain (module.js:499:11)
    at startup (node.js:119:16)
    at node.js:902:3

i.e. do I have a double jade dependency I should be concerned about?

Use $NODE_PATH

I think this error I'm getting is because next-update only looks locally, not to the node path?

(develop) thomas:/vagrant $ env | grep NODE_PATH
NODE_PATH=/home/vagrant/.npm-packages/lib/node_modules:/usr/lib/nodejs:/usr/lib/node_modules:/usr/share/javascript

(develop) thomas:/vagrant $ ls /home/vagrant/.npm-packages/lib/node_modules/redis/
benches  changelog.md  diff_multi_bench_output.js  examples  generate_commands.js  index.js  lib  multi_bench.js  package.json  README.md  test.js  test-unref.js

(develop) thomas:/vagrant $ next-update
next-update - Tests if module's dependencies can be updated to latest version
  version: 0.4.4
  author: {"name":"Gleb Bahmutov","email":"[email protected]"}
checking if the current state works
cannot find file /vagrant/node_modules/redis/package.json
ERROR: cannot find module redis
ERROR testing next working updates
Error: Current installation is invalid, please run NPM install first
    at /usr/lib/node_modules/next-update/src/next-update.js:35:26
    at node.js:902:3
From previous event:
    at checkDependenciesInstalled (/usr/lib/node_modules/next-update/src/next-update.js:29:19)
    at Object.checkCurrentInstall (/usr/lib/node_modules/next-update/src/next-update.js:43:12)
    at Object.<anonymous> (/usr/lib/node_modules/next-update/index.js:122:38)
(develop) thomas:/vagrant $

Add option to keep working version

Add option to leave the updated version if the tests pass. At the end should not even tell the install command, just print which modules were updated.

devDependencies is not respected

Hi @bahmutov. This tool is really awesome!

I just ran it on my marky-markdown project, and noticed that the recommended npm install command doesn't take into account the fact that some deps are devDependencies. There should probably be two install commands, one with --save-dev.

next updates:
cheerio 0.18.0 -> 0.19.0
github-url-to-object 1.4.2 -> 1.5.0
html-frontmatter 1.3.2 -> 1.5.1
language-ini 1.7.0 -> 1.10.0
lodash 2.4.1 -> 3.6.0
markdown-it 3.0.4 -> 4.1.1
catjs 0.4.56 -> 0.4.84
cordova 4.2.0 -> 4.3.0
express 4.10.7 -> 4.12.3
glob 4.3.5 -> 5.0.5
johnny-five 0.8.37 -> 0.8.56
mocha 2.0.1 -> 2.2.4
payform 1.0.1 -> 1.1.0
wzrd 1.1.1 -> 1.2.1
Use the following command to install working versions
npm install --save --save-exact [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected]

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.