From 78137c0a1823838d74440f8c733384ba9702dc5c Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Fri, 15 Aug 2014 10:31:24 -0400 Subject: [PATCH 1/2] Print multiline const declarations with correct indentation. --- lib/printer.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/printer.js b/lib/printer.js index 535d826d..19d81f6c 100644 --- a/lib/printer.js +++ b/lib/printer.js @@ -586,7 +586,7 @@ function genericPrintNoParens(path, options, print) { } else if (printed.length > 1 ) { parts.push( fromString(",\n").join(printed) - .indentTail("var ".length) + .indentTail(n.kind.length + 1) ); } else { parts.push(printed[0]); From 580e94300d74d6f60d10eec0850d9661eb6b8346 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Fri, 15 Aug 2014 10:43:53 -0400 Subject: [PATCH 2/2] Use esprima-fb from NPM by default (override via options.esprima). Closes #105. --- lib/options.js | 2 +- package.json | 2 +- test/parens.js | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/options.js b/lib/options.js index 1b817480..436e3542 100644 --- a/lib/options.js +++ b/lib/options.js @@ -2,7 +2,7 @@ var defaults = { // If you want to use a different branch of esprima, or any other // module that supports a .parse function, pass that module object to // recast.parse as options.esprima. - esprima: require("esprima"), + esprima: require("esprima-fb"), // Number of spaces the pretty-printer should use per tab for // indentation. If you do not pass this option explicitly, it will be diff --git a/package.json b/package.json index a2e56a31..f8efeb44 100644 --- a/package.json +++ b/package.json @@ -25,7 +25,7 @@ "debug": "node ./node_modules/mocha/bin/mocha --debug-brk --reporter spec" }, "dependencies": { - "esprima": "git+https://github.com/ariya/esprima.git#harmony", + "esprima-fb": "~5001.1.0-dev-harmony-fb", "source-map": "0.1.32", "private": "~0.1.5", "cls": "~0.1.3", diff --git a/test/parens.js b/test/parens.js index 3bf2a2c5..640524b8 100644 --- a/test/parens.js +++ b/test/parens.js @@ -1,5 +1,5 @@ var assert = require("assert"); -var esprima = require("esprima"); +var esprima = require("esprima-fb"); var parse = require("../lib/parser").parse; var Printer = require("../lib/printer").Printer; var NodePath = require("ast-types").NodePath;