Installing Zombie.js Error: ReferenceError: Set is not defined. What am I doing wrong?
Asked Answered
F

1

10

Background: I'm currently reading "Web Development with Node and Express" by Ethan Brown (great book by the way for those learning node and express) and I got stuck on Chapter 5 - Quality Insurance.

Everything was running smooth. First I ran the following:

npm install --save-dev mocha

npm install -g mocha

npm install --save-dev chai

npm install --save-dev zombie

Problem: Then I ran (as the book instructed):

mocha -u tdd -R spec qa/tests-crosspage.js 2>/dev/null

But this wasn't doing anything. So then I ran:

mocha -u tdd -R spec qa/tests-crosspage.js

And then this error appeared:

/Users/esanz91/Desktop/CodingNotes/Node/MySite/node_modules/zombie/node_modules/jsdom/lib/jsdom/level2/html.js:405 var nonInheritedTags = new Set([

ReferenceError: Set is not defined

Versions: Just to give you guys an idea, I have the following versions installed.

cmd:

npm list --depth=0

results:

├── [email protected]

├── [email protected]

├── [email protected]

├── [email protected]

└── [email protected]

Also, I'm running on Node 0.10.

How can I fix this issue?

Thanks!

Fidellia answered 15/4, 2015 at 23:12 Comment(2)
Set is a new type introduced by ECMAScript 6. Running mocha with V8's --harmony flag should make it available.Unimpeachable
I couldn't figure why Set wasn't being recognized. Now it makes sense. Thanks @JonathanLonowski.Fidellia
F
18

I found the answer to my own question. I actually needed to downgrade Zombie 4.0.7 to 3.1.x so that the mocha test command could work with Node 0.10.

Edit1: I decided to upgrade my Node version to 0.12 and my Zombie version back up to 4.0.7 and that worked too. (seems like Node 0.10 and Zombie 4.0.7 not compatible...)

Edit2: For anyone reading the book, I suggest looking at the github repo by the author himself. Take a look at the package.json file to see which version of the modules he uses.

Fidellia answered 15/4, 2015 at 23:15 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.