rdio/jsfmt — pull request #55 by brettlangdon (2014-06-04 12:09:11+00:00)
Title: Grunt

this addresses #18

I have been thinking about updating the travis setup to use grunt, that way the travis build will fail when jshint doesn't pass. Thoughts?

jshint has found a few issues with `rewrite.js`, think we either need fix the issues or change the jshint config to allow things we want.

```
Running "jshint:lib" (jshint) task

lib/rewrite.js
56 | if (pattern == null && node != null) {
^ Use '===' to compare with 'null'.
56 | if (pattern == null && node != null) {
^ Use '!==' to compare with 'null'.
60 | if (pattern != null && node == null) {
^ Use '!==' to compare with 'null'.
60 | if (pattern != null && node == null) {
^ Use '===' to compare with 'null'.
64 | if (wildcards != null && isWildcard(pattern)) {
^ Use '!==' to compare with 'null'.
87 | && match(wildcards, pattern.value, node.value);
^ Bad line breaking before '&&'.
93 | && match(wildcards, pattern.property, node.property);
^ Bad line breaking before '&&'.
103 | && match(wildcards, pattern.right, node.right);
^ Bad line breaking before '&&'.
106 | && match(wildcards, pattern.test, node.test)
^ Bad line breaking before '&&'.
107 | && match(wildcards, pattern.update, node.update)
^ Bad line breaking before '&&'.
108 | && match(wildcards, pattern.body, node.body);
^ Bad line breaking before '&&'.
170 | && match(wildcards, pattern.init, node.init);
^ Bad line breaking before '&&'.
194 | if (wildcards != null && isWildcard(replacement)) {
^ Use '!==' to compare with 'null'.
207 | for (var i = 0; i < replacement.elements.length; i++) {
^ 'i' is already defined.
217 | for (var i = 0; i < replacement.arguments.length; i++) {
^ 'i' is already defined.
223 | for (var i = 0; i < replacement.params.length; i++) {
^ 'i' is already defined.
226 | for (var i = 0; i < replacement.defaults.length; i++) {
^ 'i' is already defined.
233 | for (var i = 0; i < replacement.params.length; i++) {
^ 'i' is already defined.
236 | for (var i = 0; i < replacement.defaults.length; i++) {
^ 'i' is already defined.
250 | for (var i = 0; i < replacement.declarations.length; i++) {
^ 'i' is already defined.
273 | for (var i = 0; i < replacement.properties.length; i++) {
^ 'i' is already defined.
310 |}
^ Missing semicolon.
327 | })
^ Missing semicolon.
331 |}
^ Missing semicolon.

>> 24 errors in 6 files
```