nodejs / node

Node.js JavaScript runtime ✨🐢🚀✨
https://nodejs.org
Other
106.53k stars 29.03k forks source link

Packages that currently do not work with Node.js v4.0 [List] #2798

Closed yosuke-furukawa closed 8 years ago

yosuke-furukawa commented 9 years ago

I would like to list up the modules not work well on v4.0. inspired by https://github.com/nodejs/node/issues/456

If this idea is not so good, feel free to close this issue.

EwanValentine commented 9 years ago

engine.io fails, throws errors when you try to run your application. Unexpected )

xzyfer commented 9 years ago

I ran into issues with https://www.npmjs.com/package/contextify earlier today

saper commented 9 years ago

@xzyfer there is https://github.com/brianmcd/contextify/pull/181 waiting to be tested :)

ChALkeR commented 9 years ago

Directly affected by old nan dependencies:

aerospike nan: '^1.8.4'
ali.iconv nan: '~0.8.0'
alljoyn nan: '^1.2.0'
ascoltatori nan: '~1.8.4',
ashot nan: '~1.7.0'
asm-cpuid nan: '^1.3.0'
attention nan: '^1.7.0'
audiovideo nan: '^1.7.0',
authenticate-pam nan: '1.1.0'
avon nan: '~1.2.0'
b32 nan: '^1.7.0'
base-convert nan: '^1.8'
base91 nan: '^1.8.0'
basejump nan: '^1.7.0'
bbc-xslt nan: '~1.2.0'
bbuf nan: '1.8.2'
bignum-v1113 nan: '~1.4.1'
binny nan: '^1.8'
bitcoind.js nan: '1.3.0'
bitcore-node nan: '1.3.0',
bitmessage nan: '^1.4.1',
bitscope nan: '1'
bluetooth-serial-port nan: '^1.8'
boss-mdns nan: '~1.4.0'
bot-io nan: '~1.8.4',
brctl nan: '^1.3.0'
brig nan: '^1.7.0'
brkontru nan: '~1.4.1',
bson-ext nan: '~1.8.0',
btrfs nan: '^1.8.2'
bunyan-syslog nan: '1.6.2'
byebye-win32 nan: '^1.8.4'
canvas nan: '^1.8.4'
canvas-gurtnec nan: '~0.3.0'
canvas-trunk nan: '~1.0.0'
cares nan: '^1.7.0'
carmen-cache nan: '~1.8.4'
cassandra-native-driver nan: '^1.8.4'
cbind nan: '1.1.2',
cbind-example nan: '^1.0.0'
ccap nan: '1.7.0'
ccap-dev nan: '1.7.0'
celt nan: '~1.8.4'
century nan: '^1.2.0'
cgrpc nan: '^1.5.0',
chacha-native nan: '^1.8.4'
chloride nan: '^1.6.2'
cjh-hiredis nan: '~1.1.0'
clam-engine nan: '^1.7.0'
cld nan: '^1.2.0',
cld-atom-shell nan: 'https://atom.io/download/atom-shell/nan-1.6.1.tgz'
cloudcv-bootstrap nan: '1.7.0',
clr nan: '^1.7.0'
contextify nan: '~1.8.4'
corsair-rgb nan: '^1.8.4'
couchbase-markin nan: '~0.8.0'
cpython nan: '^1.8.4'
crc32c nan: '^1.8'
crypt3 nan: '1 >=1.6.2'
crypt3-prebuilt nan: '~1.3.0'
ctags nan: 'https://atom.io/download/atom-shell/nan-1.6.1.tgz',
custom-object nan: '0.8.0'
cwinperfcounter-next nan: '1.8.x'
cylon-digispark nan: '~1.8.4'
dbus nan: '^1.8.4'
detect-character-encoding nan: '^1.6.1'
dhcurve nan: '^1.6.2'
disable-codegen nan: '^1.3.0'
divsufsort nan: '^1.8.4'
dlfcn nan: '1.7.0'
dlopen nan: '1.0.0'
durable nan: '~1.1.0'
dv nan: '1.7.0'
eccrypto nan: '^1.4.1',
ed25519 nan: '^1.6.1'
ed25519-native nan: '^1.6.1'
edge nan: '^1.6.2'
edge-atom-shell nan: '^1.6.2'
eigenjs nan: '^1.3.0'
electron-edge nan: '^1.9.0'
electron-edge2 nan: '^1.6.2'
emscripten-node-mmap nan: '^1.7.0'
eos nan: '^1.3.0'
es6-native-map nan: '^1.7.0'
es6-native-set nan: '^1.7.0'
execsyncs nan: '^1.2.0'
exiv2 nan: '1.x.0'
fann nan: '~1.8'
fast-feed nan: '~1.9.0'
fdpassing nan: '^1.3.0'
ffi-atom-shell nan: '~1.7.0'
fftw nan: '^1.2.0'
fidonet-mailer-binkp-crypt nan: '~1.9.0'
filament nan: '1.x.x'
firebird nan: '^1.6.0'
fis-okoala-sass nan: '^1.7.0'
fis-sass nan: '^1.7.0'
fis-sass-all nan: '~1.2.0'
flam3 nan: '1'
flush-all nan: '~1.4.1'
font-manager nan: '~1.3.0'
fontnik nan: '^1.7.0',
force-delete nan: '^1.8.4'
freetype2_render nan: '~1.7'
fs-ext nan: '^1.9'
fs-ext-prebuilt nan: '~1.4.3'
fullname-native nan: '^1.3.0'
function-info nan: '^1.7.0'
function-name nan: '~1.0.0'
fuse-bindings nan: '^1.7.0'
fuse4js nan: '^1.4.1'
gamepad nan: '1.8.4'
gdal nan: '1.8.4'
gemfire nan: '~1.3.0',
generate-rsa-keypair nan: '^1.8.4'
getdns nan: '^1.8.0'
git-utils nan: 'https://atom.io/download/atom-shell/nan-1.6.1.tgz',
gitteh nan: '~1.0.0',
gl nan: '^1.8.4',
globy nan: '^1.2.0'
glpk nan: '^1.8.4'
gm-native nan: '^1.6.2'
goingnative nan: '~1.2.0',
groove nan: '~1.8.4'
grpc nan: '^1.5.0',
guardtime nan: '~1.9.0'
gumbo-parser nan: '^1.7.0'
hashtable nan: '^1.7.0'
heap.js nan: '^1.7.0'
hiredis-simple nan: '~1.6.0'
hmsearch nan: '~1.3.0'
hoedown nan: '1'
honeycomb nan: '1.8.4',
htsengine nan: '~0.8.0'
http-sync nan: '~1.8.0'
hwsl2 nan: '^1.8.4'
ibm_db nan: '~1.8.4',
iconv-utf-8-mac nan: '~1.8.0'
icu-bidi nan: '~1.8.4'
icu-numformat nan: '1.3.0'
im-native nan: '^1.4.1'
imagemagick-native nan: '~1.7.0'
inchi nan: '~0.8.0'
inotify2 nan: '~1.5.3'
instauuid nan: '^1.6.1'
interpo nan: '^1.2.0'
inui nan: '^1.2.0'
ioctl nan: '^1.2.0'
iojs-marisa-trie nan: '~1.8.4'
iojs-nanomsg nan: '~1.6.2'
ip2location-native nan: '^1.8'
ip2location.node nan: '^1.3.0'
iso8583-native nan: '^1.8.4'
java nan: '1.7.0'
java2 nan: '1.2.0'
jit.js nan: '^1.7.0',
jitterbuffer nan: '~1.8.4'
jpeg-fresh nan: '^1.7.0'
jumpsuit nan: '~1.7.0'
jut-node-kafka nan: '^1.8.4'
kdtree nan: '~1.7.0'
keepass.io nan: '~1.8.4'
kerberos nan: '~1.8'
keyboard-layout nan: 'https://atom.io/download/atom-shell/nan-1.6.1.tgz'
keytar nan: 'https://atom.io/download/atom-shell/nan-1.6.1.tgz'
kissfft nan: '^1.2.0'
launchctl nan: '^1.0.0',
layer2 nan: '^1.4.1'
lbm nan: '~1.3.0'
lcdstats nan: '^1.7.0'
leveldown-basho nan: '~0.6.0'
leveldown-hyper nan: '~1.8.4'
leveldown-hyper-prebuilt nan: '~0.6.0',
leveldown-mips nan: '~0.4.0'
leveldown-prebuilt nan: '~1.8.4',
libbitcoinconsensus nan: '^1.8.4'
libetpan nan: '^0.8.0'
librsvg nan: '^1.8.4'
libuuid nan: '1.8.4'
libxml-xsd nan: '^1.3.0'
libxslt nan: '~1.2.0'
lmdb nan: '~0.3.1'
lmdb-queue nan: '~1.8.4'
lp_solve nan: '~0.6.0'
lwip nan: '^1.8.4'
lwip-decoder nan: '~1.8.4'
lwip-encoder nan: '~1.8.4'
lwip-image nan: '~1.8.4'
lz4 nan: '^1.7.0'
lzf nan: '1.3.0'
lzh nan: '~1.3.0'
mac-key-press nan: '~1.7.0'
magick-compare nan: '~1.3.0'
magicklib-native nan: '~1.3.0'
mapbox-gl-native nan: '^1.9.0'
mapbox-glsl-optimizer nan: '~1.2.0'
mapnik nan: '~1.8.4',
mariasql nan: '^1.8.4'
markin-couchbase nan: '~1.8.4',
mathematical nan: '1.2.0',
max31855pi nan: '~1.8.4'
mcrypt nan: '^1.9.0'
md5-sha1 nan: '^1.3.0'
mech-mpq nan: '~1.3.0'
media-galleries nan: '1.8.x'
meguca nan: '^1.6.2',
memcpy nan: '~1.2.0',
memwatch-x nan: '^1.8.0'
meteor-pathwatcher-tweaks nan: '1.2.0',
microtime2 nan: '~0.5.1'
mmgeodb nan: '^1.3.0'
mongoose3-bsonfix-bson nan: '1.7.0'
monitr nan: '^1.4.0'
mp4duration nan: '^1.7.0'
mqlight nan: '^1.8.4',
mqlight-dev nan: '^1.8.4',
msgpack nan: '^1.6.2'
msgpack-bin nan: '^1.6.2'
mtrace nan: '^1.7.0'
murmurhash-native nan: '^1.8'
mysql-libmysqlclient nan: '~0.8.0'
naclb nan: '1.8.4'
nan-bcrypt nan: '^1.1.2'
nan-example-eol nan: '1.0.0'
native-cssmin nan: '^1.3.0'
native-hashset nan: '1.5.0'
navelgazer nan: '>=1.5.0 <1.6.0-0',
net-abort nan: '^1.7.0'
netroute nan: '^1.3.0'
nis nan: '~1.0.0'
node_amf_cc nan: '^1.8.0'
node_plsql nan: '^1.7.0',
node-aes-gcm nan: '^1.7.0'
node-core-audio nan: '^1.8.4',
node-demux nan: '^1.7.0'
node-ephem nan: '^1.8.0'
node-espeak nan: '~1.6.2'
node-expat-gowhich nan: '~1.8.4'
node-freetype nan: '~1.8.4'
node-gd nan: '~1.8.4'
node-geoip2 nan: '1.8.4'
node-glfw nan: '^0.8.0'
node-glib nan: '~1.8.4'
node-hid nan: '^1.2.0'
node-image nan: '^0.8.0'
node-ios-device-fork nan: '~1.8.4'
node-krb5 nan: '^1.8.4'
node-kv nan: '~1.5.0'
node-leveldb nan: '^1.3.0'
node-libfprint nan: '^1.3.0',
node-libr3 nan: '^1.2.0'
node-lmdb nan: '^1.7.0'
node-lwip nan: '~1.8.4',
node-lzma nan: '~1.8.4'
node-mpg123-util nan: '~1.7.0'
node-murmurhash3 nan: '^1.7.0'
node-musly nan: '^1.3.0'
node-nisa nan: '<2.0.0'
node-openjtalk nan: '^1.8.4'
node-opus nan: '~1.8.4'
node-pifacedigital nan: '^1.7.0',
node-ping-addon nan: '1.6.2'
node-pingit nan: '1.6.2'
node-pngquant-native nan: '^1.6.2'
node-protobuf nan: '^1.3.0'
node-proxy nan: '^1.7.0'
node-quickfix nan: '1.8.0'
node-rar nan: '^1.3.0'
node-rar-updated nan: '^1.3.0'
node-redis-crc16 nan: '^1.7.0'
node-retro nan: '^1.8.4'
node-rijndael nan: '~1.5.0'
node-samplerate nan: '~1.6.2'
node-sass-china nan: '^1.8.4',
node-shm-buffer nan: '^1.8.4'
node-snap7 nan: '~1.8.4'
node-snappy-linux nan: '~1.2.0'
node-snappy-mac nan: '~1.2.0'
node-snappy-src nan: '~1.2.0'
node-spotify nan: '^1.6.2'
node-sspi nan: '^1.6.2'
node-stringprep nan: '~1.8.4'
node-stringprep-icu nan: '~0.7.0'
node-susi nan: '^1.8.4',
node-susiiot nan: '^1.8.4',
node-svm nan: '~1.8.0',
node-swisseph nan: '^1.7.0'
node-term-size nan: '^1.7.0'
node-v8-clone nan: '~1.1'
node-webcl nan: '~1.2.0'
node-webgl nan: '^0.8.0'
node-zoom nan: '1.5.1'
nodegit-probablycorey nan: '~1.3.0',
nodehelium nan: '^1.4.1'
nodelo nan: '^1.4.0'
nodevirt nan: '^1.4.1'
norby nan: '~1.2.0'
nosql-leveldb nan: '~1.8.4',
nscrypto nan: '^1.7.0'
objhash nan: '^1.4.1'
objwrap-plate nan: '^1.4.1'
ofe nan: '^1.7.0'
ogg nan: '~1.8.2',
openbabel nan: '^1.4.1'
opencc nan: '^1.6.2'
opencv nan: '^1.7.0'
opencv-atom-shell nan: 'https://atom.io/download/atom-shell/nan-1.6.1.tgz'
opencv-copy nan: '^1.7.0'
openssl-hmac nan: '^1.7.0'
openvg nan: '^1.8.4'
openzwave-shared nan: '~1.9.0'
oracledb nan: '^1.8.4'
osmesa-webgl nan: '^1.0.0'
osrm nan: '~1.8.4'
osx-dialog nan: '^1.2.0'
osx-mouse nan: '^1.8.4'
osx-notify nan: '~1.8.4'
osx-tag nan: '~1.3.0'
parse-x509 nan: '1.1.2'
partty nan: '~1.8.4'
pathwatcher nan: 'https://atom.io/download/atom-shell/nan-1.6.1.tgz',
pathwatcher-without-runas nan: 'https://atom.io/download/atom-shell/nan-1.6.1.tgz',
pcap nan: '~1.6.1',
pdf-fill-form nan: '~1.7.0'
pdf-fill-form-chun-yang nan: '1.7.0'
pdf-fill-form-latin1 nan: '~1.7.0'
pg-libpq nan: '^1.8.4'
pg-sync nan: '~1.6.0'
phplike nan: '^1.8.4'
pi-spi nan: '^1.6.2'
pi-spi-yei nan: '^1.6.2'
pitft nan: '^1.7.0'
pitft-touch nan: '^1.7.0'
pkcs7-sign nan: '^1.6.2'
plc nan: '^1.7.0'
podofo nan: '^1.8.4'
polarssl nan: '^0.8.0'
poppler-simple nan: '^1.5.0'
posix nan: '~1.8.4'
prf nan: '^1.3.0'
process-list nan: '^1.6.2'
procps nan: '~1.1.0'
protagonist nan: '~1.8.4'
protagonist-experimental nan: '~1.6.x'
protobuf nan: '~1.0.0'
pty.coffee nan: '^1.0.0'
pty.js-11 nan: '0.7.0'
pty.js-patch nan: '~1.0.0'
pwuid nan: '^1.3.0'
q24 nan: '^1.7.0'
r-pi-usonic nan: '~1.6.2',
rados nan: '<2.0.0'
rapidx2j nan: '<=1.9.x'
raspberrypi nan: '^1.8.4'
raspi nan: '1.6.x'
raspi-core nan: '1.4.x'
raspi-gpio nan: '1.6.x'
raspi-pwm nan: '1.6.x'
raw-cipher nan: '^1.3.0'
raw-ecdsa nan: '^1.3.0'
raw-keyboard nan: '^1.8.4'
raw-rsa nan: '^1.3.0'
raw-socket nan: '<2.0.0'
raw-socket-ng nan: '^1.8.4'
raw-socket2 nan: '^1.8.4'
rdiff nan: '^1.8.4'
redis-fast-driver nan: '^1.7.0'
redseal-java nan: '^1.7.0'
ref-atom-shell nan: 'https://atom.io/download/atom-shell/nan-1.6.1.tgz'
registwin nan: '~1.3.0'
req-sync nan: '~1.6.2'
reset-usb nan: '~1.4.0'
ribs nan: '~0.8.0',
robotjs nan: '^1.3.0'
rocksdb nan: '~0.5.2'
rpi-rgb-led-matrix nan: '^1.6.2'
rpi-ws281x-native nan: '^1.7.0'
rsa-keygen nan: '^1.4.1'
rstats nan: '^1.7.0'
runsync nan: '~1.3.0'
s2 nan: '1.3.0'
safari-push-notifications nan: '^1.6.2'
satoshi-hdkey nan: '^1.1.2'
satoshi-key nan: '^1.1.2'
screenres nan: '^1.8.4'
scrollbar-style nan: 'https://atom.io/download/atom-shell/nan-1.6.1.tgz'
scrypt nan: '^1.6.2'
scws nan: '^1.6.2'
segfault nan: '^1.3.0'
segfault-handler nan: '^1.3.0'
seneca-nftrace nan: '^1.2.0'
serialport nan: '~1.8.4',
serialport-electron nan: '~1.8.4',
serialport-stream nan: '^1.8.4'
sharding nan: '^1.8.4'
shmdb nan: '~1.8'
silk-msgpack nan: '^1.6.2'
sodium nan: '^1.6.2'
sodium-fork nan: '^1.6.2'
sophia nan: '0.4.x'
sophist nan: '^1.4.1'
soxy nan: '^1.4.1',
sparkey nan: '~0.8.0'
speaker nan: '~1.7.0',
speaker-prebuild nan: '~1.2.0',
spellcheck nan: '^1.7.0'
spp nan: '~1.8.4'
sqlite3-atom-shell nan: 'git+https://github.com/iojs/nan#155f1d31352d08a3ec9ac206383a670f25428ab7'
sqlite3-trunk nan: '~0.8.0'
srs nan: '~1.8.4'
ssh nan: '^1.8.4'
stall nan: '~1.8.4'
starter-mcli-app nan: '1.5.1',
storage-device-info nan: '<2.0.0'
strong-oracle nan: '^1.8.4'
strong-syslog nan: '^1.6.2'
study-caddon-echo-string nan: '^1.8.4'
swisseph nan: '^1.7.0'
sync-module nan: '^1.8.4'
sync-runner nan: '^1.8.2'
synergykit nan: '^1.8.4',
sypexgeo-vyvid nan: '~1.6.1'
syscalls nan: '~1.9.0'
sysconfx nan: '^1.3.0'
sysconfx-next nan: '^1.8.0'
syslog-bindings nan: '^1.8.4'
syslogh nan: '>= 1.3.0 < 1.4.0'
system-idle-time nan: '^1.8.4'
talib nan: '^1.8.0'
tchannel-parser nan: '^1.2.0'
tcl nan: '^1.8.0'
thmclrx nan: '^1.7.0'
tilelive-s3 nan: '^1.8.4',
tov8 nan: '1.0.0',
tree-sitter nan: '1.7.x'
tree-sitter-c nan: '1.7.x'
tree-sitter-compiler nan: '1.7.x',
tree-sitter-golang nan: '1.7.x'
tree-sitter-javascript nan: '1.3.x'
ttf2woff2 nan: '^1.8.4',
ttyutil nan: '1.7.0'
tweetnacl-nodewrap nan: '~1',
udev nan: '~1.8.4'
udt4 nan: '^1.4.1',
uinput nan: '^1.4.1',
unix-stream nan: '^1.3.0'
ursa nan: '^1.7.0'
usb nan: '^1.6.0'
usb-detection nan: '^1.8.4'
userid nan: '^1.4.1'
utp-native nan: '^1.7.0'
uwp nan: '^1.8.4'
v8-flags nan: '~1.2.0'
vercmp nan: '^1.4.1'
version-sorter nan: '^1.8.4'
video-phash-service nan: '^1.6.2',
video-thumbnail-extractor nan: '^1.5.3',
wasm nan: '~1.8.4'
wdt-native nan: '^1.8.4',
webclient nan: '~1.8',
websocket nan: '~1.8.x',
webworker-threads nan: '^1.8.4'
whoisopen nan: '^1.6.2'
win-mouse nan: '^1.8.4'
winiputils nan: '~1.6.2'
wrtc nan: '~1.8',
ws-non-native nan: '~0.8.0',
wtf8 nan: '~1.6.2'
x.509 nan: '^1.3.0'
xml-selector nan: '1.7.0'
xpc-connection-nan nan: '~1.4.1'
xshot nan: '^1.8.4'
xtray nan: '^1.8.4'
xxhash nan: '^1.8.4'
xxhash-nan nan: '~1.3.0'
yapcduino nan: '^1.8.4'
zetta-lmdb nan: '~0.3.1'
zipfile nan: '~1.5.1'
zstd nan: '~1.6'

These packages depend on nan version between 2.0.0 and 2.0.7, which is also not nice:

bcrypt nan: '2.0.5'
duktape nan: '2.0.7'
fusejs nan: '2.0.5'
kytea nan: '2.0.5'
libxmljs nan: '2.0.7'
libxmljs-mt nan: '2.0.7'
mhash nan: '= 2.0.7'
murmurhash3 nan: '2.0.5'
number-smusher nan: '= 2.0.7'
pty.js nan: '2.0.5'
rand48 nan: '= 2.0.7'
secp256k1 nan: '2.0.4'
unqlite nan: '2.0.5'
wson-addon nan: '2.0.4'

That's actually 75% of nan-dependant packages, btw.

vielmetti commented 9 years ago

Is there a guide or docs written about porting to the new nan ?

vielmetti commented 9 years ago

For reference, here's a nan port for node-expat, which someone who is trying to undertake this task for a different package might find useful.

https://github.com/julianduque/node-expat/commit/c129cb37c6f04f09190a3912f44f3976b813b973

vielmetti commented 9 years ago

And here's a script from @rvagg that helps automate the changes for the new nan.

https://github.com/nodejs/nan/issues/376#issuecomment-120838432

vielmetti commented 9 years ago

Further, some hoped for documentation for the nan upgrade from that project: https://github.com/nodejs/nan/issues/402

calvinmetcalf commented 9 years ago

so from what I can tell, the secret sauce for getting it to pass on travis is setting

env:
  - CC=clang CXX=clang++ npm_config_clang=1

in your .travis.yml, not sure why ... due to travis having a really old version of g++

bnoordhuis commented 9 years ago

@calvinmetcalf It's because the default g++ on travis is too old to understand C++11. If you depend on g++ 4.8 or newer, it should work too.

calvinmetcalf commented 9 years ago

@bnoordhuis thanks

srlowe commented 9 years ago

Is there an easy way of scanning installed packages for old versions of nan?

ChALkeR commented 9 years ago

@bgSosh grep? For example: grep -R --include=package.json '"nan"\s*:' searches for nan mentions in package.json files.

find . -name nan -type d -exec grep version -H "{}/package.json" \; finds nan directories and gets the version from the corresponding package.json, but that generally doesn't tell you why was that version installed.

rla commented 9 years ago

I can share the experience that migration to NAN 2.x requires lots of changes if you create lots of objects and set properties. And your code verbosity increases a lot as well as you need to add .ToLocalChecked() to every string. Changeset from fast-feed: https://github.com/rla/fast-feed/commit/e7e2d31d1b34405782a3af524c8fff2052f94328

fivdi commented 9 years ago

@rla although lots of changes may be required, it's easy to make those changes. Do you agree?

rla commented 9 years ago

@fivdi only if you know what to change into what. I had some hard time finding references. NAN's example and referenced example projects do not contain everything. At least tests (including memory leak check) run now, except on Travis that has too old GCC.

vielmetti commented 9 years ago

@rla , there are configurations for Travis above in this issue noted by @calvinmetcalf at https://github.com/nodejs/node/issues/2798#issuecomment-139356961 for using clang to compile tests, and I've seen the Travis configs to bring in the later gcc as well.

cjihrig commented 9 years ago

I'm using this config with poop, which relies on heapdump. Maybe it will help you.

Mithgol commented 9 years ago

Currently iconv-lite does not work, see also #2835.

ChALkeR commented 9 years ago

@Mithgol, @xzyfer, @EwanValentine, @pandres95, @tb01923 (Note: I am updating this list of user mentions). There is no need to post a message about each specific package here.

Instead, do the other way around to keep this thread clean: report a package-specific issue/pr regarding Node.js 4.0.0 compatibility (or find one), and link to this thread. That issue/pr should be usually placed at the package repository.

This way we will see nice status badges here.

esco commented 9 years ago

newrelic/node-newrelic doesn't work on Node 4.0 with express or connect. This pull request will fix it when it gets merged https://github.com/newrelic/node-newrelic/pull/200

nfroidure commented 9 years ago

I made ttf2woff2 nan: '^1.8.4' and were able to build the module under Node4, am i missing something?

tbranyen commented 9 years ago

Not sure why nodegit-probablycorey made the list, but the actual project nodegit did not, kinda weird. We're working on support, but are having trouble reconciling Node 0.12, Node 4.0, iojs, on Windows, OS X, and Linux. Probably won't be able to fully support Node 4.0 for some time because of this.

Our branch if anyone could lend a hand: https://github.com/nodegit/nodegit/pull/702

saper commented 9 years ago

I made ttf2woff2 nan: '^1.8.4' and were able to build the module under Node4, am i missing something?

It seems to me that ttf2woff2 is not using nan at all? (you could probably drop nan dependency in package.json).

Commits https://github.com/nfroidure/ttf2woff2/commit/5f4a918eb2ee67dfcc25d12217cb0d36c344fc8a and https://github.com/nfroidure/ttf2woff2/commit/002c8eaf14d0db5ac1517d2cac1ca605c8556a0a made the code compatible with iojs 3.0 and node 4.0, but I am afraid the code will not compile against older nodes.

calvinmetcalf commented 9 years ago

@tbranyen you could do a major version bump

nfroidure commented 9 years ago

@saper i updated the package.json "engines" key accordingly. The 1.0 branch will remain for previous Node versions users.

Thanks for the nan tip (just followed the doc ;), will try to remove it).

saper commented 9 years ago

On Mon, 14 Sep 2015, Nicolas Froidure wrote:

@saper i updated the package.json "engines" key accordingly. The 1.0 branch will remain for previous Node versions users.

Thansk for the nan tip (just followed the doc ;), will try to remove it).

I just tested it and "it worked for me" without nan at all.

You might want to consider using nan though, then your code will work with all engines with a one-time effort (well, until new V8 API comes with Globals instead of Persistent :).

wraithan commented 9 years ago

Just a heads up, if you are fixing for the bound problem. You need to also take into account the fact that function names can now be things like get fn and set fn. You'll want to split on spaces and grab the last element most likely. That is how we'll be fixing it within node-newrelic

wraithan commented 9 years ago

So @esco pointed out that v8 doesn't do the prepended get or set yet so the remove bound solution would work totally fine with node 4.0. We're still going to fix using the break on spaces method though due to the spec stating that getters/setters should have spaces in their name too. This way we are future proofed against the next change to Function.name:

http://www.ecma-international.org/ecma-262/6.0/#sec-ecmascript-standard-built-in-objects

Relevant paragraph:

Every built-in Function object, including constructors, that is not identified as an anonymous function has a name property whose value is a String. Unless otherwise specified, this value is the name that is given to the function in this specification. For functions that are specified as properties of objects, the name value is the property name string used to access the function. Functions that are specified as get or set accessor functions of built-in properties have "get " or "set " prepended to the property name string. The value of the name property is explicitly specified for each built-in functions whose property key is a Symbol value.

pandres95 commented 8 years ago

lwip: 0.0.7

mikermcneil commented 8 years ago

node@4.1.0 + socket.io@1.3.7 upgrade fixes all known issues in Sails

Master244 commented 8 years ago

Error on ubuntu 14.04 couldn't figure out if this was supported yet or not. Trying to do this in a dockerfile with an Ember project.

dockerfile:

FROM ubuntu:14.04

MAINTAINER Mitchell

RUN sudo apt-get update RUN sudo apt-get install libreadline-gplv2-dev libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev -y RUN sudo apt-get install software-properties-common -y RUN sudo apt-get install python-software-properties -y RUN sudo add-apt-repository ppa:fkrull/deadsnakes RUN sudo apt-get update RUN sudo apt-get install python2.7 -y

RUN sudo apt-get install curl -y RUN curl -sL https://deb.nodesource.com/setup_4.x | sudo bash - RUN sudo apt-get install nodejs -y RUN sudo apt-get install build-essential -y

ADD package.json package.json RUN npm install

RUN mkdir /src/ ADD . /src/ WORKDIR /src/

RUN npm install -g bower RUN npm install -g ember-cli RUN bower install --allow-root

RUN npm rebuild node-sass

RUN ember serve

EXPOSE 4200

Step 21 : RUN npm rebuild node-sass ---> Running in 05c1efe63790

node-sass@3.2.0 install /src/node_modules/ember-cli-sass/node_modules/broccoli-sass-source-maps/node_modules/node-sass node scripts/install.js Cannot download "https://github.com/sass/node-sass/releases/download/v3.2.0/linux-x64-46_binding.node": HTTP error 404 Not Found

node-sass@3.2.0 postinstall /src/node_modules/ember-cli-sass/node_modules/broccoli-sass-source-maps/node_modules/node-sass node scripts/build.js Building: /usr/bin/nodejs node_modules/pangyp/bin/node-gyp rebuild --libsass_ext= --libsass_cflags= --libsass_ldflags= --libsass_library= gyp: /root/.node-gyp/4.1.1/common.gypi not found (cwd: /src/node_modules/ember-cli-sass/node_modules/broccoli-sass-source-maps/node_modules/node-sass) while reading includes of 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 (/src/node_modules/ember-cli-sass/node_modules/broccoli-sass-source-maps/node_modules/node-sass/node_modules/pangyp/lib/configure.js:345:16) 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 Linux 4.0.9-boot2docker gyp ERR! command "/usr/bin/nodejs" "/src/node_modules/ember-cli-sass/node_modules/broccoli-sass-source-maps/node_modules/node-sass/node_modules/pangyp/bin/node-gyp" "rebuild" "--libsass_ext=" "--libsass_cflags=" "--libsass_ldflags=" "--libsass_library=" gyp ERR! cwd /src/node_modules/ember-cli-sass/node_modules/broccoli-sass-source-maps/node_modules/node-sass gyp ERR! node -v v4.1.1 gyp ERR! pangyp -v v2.3.0 gyp ERR! not ok Build failed

saper commented 8 years ago

I have answered ^^ in https://github.com/sass/node-sass/issues/1122#issuecomment-143020384

node-sass fully supports node 4.x since 3.2.0, and 3.3.3 is the current version on npm and GitHub. Unfortunately, many packages using node-sass it fix older versions in their package.json

abd3 commented 8 years ago

See here: http://stackoverflow.com/questions/17967546/common-gypi-not-found-error-in-node-js

rm -rf ~/.node_gyp cd myAwesomeProject npm install npm rebuild

jserrao commented 8 years ago

node-sass and node-gyp seem incompatible on my end:

gyp ERR! build error
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/usr/local/lib/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 Darwin 14.5.0
gyp ERR! command "/usr/local/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /Users/jsir/Sites/DaoCloud/node_modules/grunt-sass/node_modules/node-sass
gyp ERR! node -v v4.2.2
gyp ERR! node-gyp -v v3.0.3
gyp ERR! not ok
Build failed
npm ERR! Darwin 14.5.0
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "install"
npm ERR! node v4.2.2
npm ERR! npm  v2.14.7
npm ERR! code ELIFECYCLE

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

npm ERR! Please include the following file with any support request:
npm ERR!     /Users/jsir/Sites/DaoCloud/npm-debug.log
jasnell commented 8 years ago

@TheAlphaNerd ... fyi (for citgm)

xzyfer commented 8 years ago

You're trying to install node-sass@0.9.x which is a couple years old. Node 4 support landed 3.3.x. On 21 Nov 2015 11:19 am, "James M Snell" notifications@github.com wrote:

@TheAlphaNerd https://github.com/TheAlphaNerd ... fyi (for citgm)

— Reply to this email directly or view it on GitHub https://github.com/nodejs/node/issues/2798#issuecomment-158565356.

Fishrock123 commented 8 years ago

Closing, we are already well into v5.

atticoos commented 8 years ago

I think a lot of people may stay on v4 as it's been chosen for LTS - should this remain open?

saper commented 8 years ago

I think the original meaning of this bug is to catch native extensions that didn't upgrade to the (significantly changed) node 4.0 APIs. Not sure how many of them are left to be upgraded (my guess is that probably not so many, but that's just a guess).

Fishrock123 commented 8 years ago

You can still link to it. Perhaps it may be better to link this from one of the Wiki pages.

However, there isn't anything actionable here for us anymore so I'd like to trim down our open issues. :)