gjtorikian/nak

-q is still executing as a regexp when replacing

Closed this issue · 3 comments

I'm replace 'on("page' with 'on("tab'. Apparently it's parsing the replace string as a regexp. I don't get why.

So using 'on("tabs' as a replacement string will work, but put \ as a literal in the replaced result.

Then I tried searching for 'on("tab' and got this error:

4["onData",16,"\n/home/ubuntu/.nvm/v0.10.13/lib/node_modules/nak/lib/nak.js:151\n options.query = new RegExp(query, flags);\n ^\nSyntaxError: Invalid regular expression: /tabs.on\(/: Unterminated group\n at new RegExp ()\n at makeQuery (/home/ubuntu/.nvm/v0.10.13/lib/node_modules/nak/lib/nak.js:151:19)\n at main (/home/ubuntu/.nvm/v0.10.13/lib/node_modules/nak/lib/nak.js:82:3)\n at Object.exports.run (/home/ubuntu/.nvm/v0.10.13/lib/node_modules/nak/lib/nak.js:8:5)\n at Object. (/home/ubuntu/.nvm/v0.10.13/lib/node_modules/nak/bin/nak:2:23)\n at Module._compile (module.js:456:26)\n at Object.Module._extensions..js (module.js:474:10)\n at Module.load (module.js:356:32)\n at Function.Module._load (module.js:312:12)\n at Function.Module.runMain (module.js:497:10)\n",107]

Here's a proper stack trace:

ubuntu@ruben-ca-dev:~/newclient/plugins/c9.ide.editors$ nak -i -q 'emit("page' -q 'emit("tab' .

/home/ubuntu/.nvm/v0.10.13/lib/node_modules/nak/lib/nak.js:158
    options.replacementRe = new RegExp(replacement);
                            ^
SyntaxError: Invalid regular expression: /emit("tab/: Unterminated group
    at new RegExp (<anonymous>)
    at makeQuery (/home/ubuntu/.nvm/v0.10.13/lib/node_modules/nak/lib/nak.js:158:29)
    at main (/home/ubuntu/.nvm/v0.10.13/lib/node_modules/nak/lib/nak.js:82:3)
    at Object.exports.run (/home/ubuntu/.nvm/v0.10.13/lib/node_modules/nak/lib/nak.js:8:5)
    at Object.<anonymous> (/home/ubuntu/.nvm/v0.10.13/lib/node_modules/nak/bin/nak:2:23)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Function.Module.runMain (module.js:497:10)

Fixed, will be released on 0.2.20 soon.