Closed nicks closed 9 years ago
I believe I also just ran into this, but just to be sure I'll mention my scenario. (if it ends up being issue, I can gladly open another issue)
given the following file structure
folder/app.js
dist/
input/folder -> ../folder
input/foo.js
running
var ncp = require('ncp');
ncp('input', 'dist', {
dereference: true,
clobber: true,
stopOnErr: true,
limit: 2
}, function(err, result) {
console.log(err, result);
});
also results in 100% CPU.
± % npm version
{ foo: '0.0.0',
npm: '2.3.0',
ares: '1.10.0-DEV',
http_parser: '2.4',
modules: '42',
node: '1.0.4',
openssl: '1.0.1k',
uv: '1.2.1',
v8: '4.1.0.12',
zlib: '1.2.8' }
I have the same issue on io.js/ubuntu, it breaks phantomjs installation script which uses ncp.
Related: giakki/uncss#142
The discussion in #80 proposes to drop support for Node v0.8, remove the no longer needed version sniffer and release ncp@2.0.0
.
OMG classic version-sniffing problems, it's like browsers or if (osVersion[0] === "9") { /* is Windows 95 or Windows 98 */ }
all over again.
Fixed by removing the version check altogether in b920f5366b51ba766cc9c7e74a18704fd246b300. Sorry for the massive delay on this folks.
This was released as v2.0.0
BTW.
io.js (https://iojs.org/) has process.version 'v1.0.3'
When it tries to use
ncp
, ncp runs this check:https://github.com/AvianFlu/ncp/blob/master/lib/ncp.js#L4
sadly, this identifies io.js as a non-modern version. It picks the wrong 'defer' method, and goes into an infinite loop.