Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

deps: upgrade npm to 2.9.0 #1573

Merged
merged 3 commits into from May 1, 2015
Merged

deps: upgrade npm to 2.9.0 #1573

merged 3 commits into from May 1, 2015

Conversation

othiym23
Copy link
Contributor

@othiym23 othiym23 commented May 1, 2015

This is a replacement for #1515, and upgrades the npm in io.js to the new latest. To work around the problems with git apply and case-insensitive filesystems that make using git am with the patch generated by GitHub for #1515 difficult, I've broken the PR into two commits. This is cheesy, and should be squashed before commit, but will does the job for review purposes.

Here are the relevant changes:

I leave to the release manager and evangelism team to decide which bits are relevant for their respective publications, but will say that these releases are significantly smaller and simpler than the last few.

r: @Fishrock123
r: @chrisdickinson

@othiym23 othiym23 added the npm Issues and PRs related to the npm client dependency or the npm registry. label May 1, 2015
@Fishrock123
Copy link
Member

Patch works this time (ugh git)

Whitespace errors, if you are curious. (doesn't really matter)

warning: squelched 315 whitespace errors
warning: 278 lines applied after fixing whitespace errors.

briefly skimmed code. Tests ok.

Note: there are now some new files updated when make test-npm is run:

diff --git a/deps/npm/html/doc/cli/npm-link.html b/deps/npm/html/doc/cli/npm-link.html
index b863110..f3d38db 100644
--- a/deps/npm/html/doc/cli/npm-link.html
+++ b/deps/npm/html/doc/cli/npm-link.html
@@ -36,7 +36,7 @@ cd ~/projects/node-bloggy   # go into some other package directory.
 npm link redis              # link-install the package
 </code></pre><p>Now, any changes to ~/projects/node-redis will be reflected in
 ~/projects/node-bloggy/node_modules/node-redis/. Note that the link should
-be to the package name, not the directory name for that package. </p>
+be to the package name, not the directory name for that package.</p>
 <p>You may also shortcut the two steps in one.  For example, to do the
 above use-case in a shorter way:</p>
 <pre><code>cd ~/projects/node-bloggy  # go into the dir of your main project
diff --git a/deps/npm/html/partial/doc/cli/npm-link.html b/deps/npm/html/partial/doc/cli/npm-link.html
index d25a640..1965f71 100644
--- a/deps/npm/html/partial/doc/cli/npm-link.html
+++ b/deps/npm/html/partial/doc/cli/npm-link.html
@@ -25,7 +25,7 @@ cd ~/projects/node-bloggy   # go into some other package directory.
 npm link redis              # link-install the package
 </code></pre><p>Now, any changes to ~/projects/node-redis will be reflected in
 ~/projects/node-bloggy/node_modules/node-redis/. Note that the link should
-be to the package name, not the directory name for that package. </p>
+be to the package name, not the directory name for that package.</p>
 <p>You may also shortcut the two steps in one.  For example, to do the
 above use-case in a shorter way:</p>
 <pre><code>cd ~/projects/node-bloggy  # go into the dir of your main project

LGTM Though, no reason that I can tell this shouldn't make it into 2.0.0 (and maybe backport)

@Fishrock123
Copy link
Member

Interesting. Those changes only appear to have happened once, the first time I ran it.

Edit: looks like it also can occasionally happen on the version we currently have in... (2.8.3?)

@chrisdickinson
Copy link
Contributor

LGTM as well. +1 on backporting it to the v1.x line if @othiym23 thinks that's wise!

@othiym23
Copy link
Contributor Author

othiym23 commented May 1, 2015

I'm always going to be in favor of putting the latest npm in people's hands. I'll land this (after doing a rebase with `--whitespace=fix" and squashing) and then submit a separate PR on v1.x.

othiym23 and others added 3 commits May 1, 2015 16:05
PR-URL: nodejs#1573
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
Reviewed-By: Chris Dickinson <christopher.s.dickinson@gmail.com>
Every npm version bump requires a few patches to be floated on
node-gyp for io.js compatibility. These patches are found in
03d1992,
5de334c, and
da730c7. This commit squashes
them into a single commit.

PR-URL: nodejs#990
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
On Windows, when node or io.js attempts to dynamically load a compiled
addon, the compiled addon tries to load node.exe or iojs.exe again -
depending on which import library the module used when it was linked.
This causes many compiled addons to break when node.exe or iojs.exe are
renamed, because when the binary has been renamed the addon DLL can't
find the (right) .exe file to load its imports from.

This patch gives compiled addon developers an option to overcome this
restriction by compiling a delay-load hook into their binary. The
delay-load hook ensures that whenever a module tries to load imports
from node.exe/iojs.exe, it'll just look at the process image, thereby
making the addon work regardless of what name the node/iojs binary has.

To enable this feature, the addon developer must set the
'win_delay_load_hook' option to 'true' in their binding.gyp file, like
this:

```
{
  'targets': [
    {
      'target_name': 'ernie',
      'win_delay_load_hook': 'true',
      ...
```

Bug: nodejs#751
Bug: nodejs#965
Upstream PR: nodejs/node-gyp#599

PR-URL: nodejs#1251
Reviewed-By: Rod Vagg <rod@vagg.org>

PR-URL: nodejs#1266
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
@othiym23 othiym23 merged commit 30e83d2 into nodejs:master May 1, 2015
@othiym23 othiym23 deleted the npm-2.9.0 branch May 1, 2015 23:09
@Fishrock123
Copy link
Member

Yeah, we should backport until npm is upgradeable while running on io.js, after that, i'd say only merge the latest in before a maintenance / lts release.

@othiym23
Copy link
Contributor Author

othiym23 commented May 1, 2015

Annoyingly pedantic point: it's not really "backporting", it's still upgrading a dependency. npm is more or less agnostic to which version of Node it's run with, and depends on no features specific to the runtime version.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
npm Issues and PRs related to the npm client dependency or the npm registry.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants