var esformatter = require('esformatter');
// for a list of available options check "lib/preset/default.json"
var options = {
// inherit from the default preset
preset : 'default',
indent : {
value : ' '
}
};
var fs = require('fs');
var codeStr = fs.readFileSync('file.js').toString();
// return a string with the formatted code
var formattedCode = esformatter.format(codeStr, options);
console.log(formattedCode)
And file.js contains:
var o = {
a: 0,
get b() {},
set c(x) {}
};
I get no error, but with:
var o = {
get b() {},
set c(x) {}
};
I get:
node_modules/esformatter/lib/whiteSpace.js:43
type, amount, token.value
^
TypeError: Cannot read property 'value' of undefined
at Object.limitBefore (/Users/andre.lillvede/Kod/Node/node_modules/esformatter/lib/whiteSpace.js:43:24)
at /Users/andre.lillvede/Kod/Node/node_modules/esformatter/lib/hooks/ObjectExpression.js:53:9
at Array.forEach (native)
at ObjectExpression [as format] (/Users/andre.lillvede/Kod/Node/node_modules/esformatter/lib/hooks/ObjectExpression.js:23:19)
at transformNode (/Users/andre.lillvede/Kod/Node/node_modules/esformatter/lib/esformatter.js:87:10)
at Array.forEach (native)
at Object.moonwalk (/Users/andre.lillvede/Kod/Node/node_modules/esformatter/node_modules/rocambole/rocambole.js:414:11)
at transform (/Users/andre.lillvede/Kod/Node/node_modules/esformatter/lib/esformatter.js:59:13)
at Object.format (/Users/andre.lillvede/Kod/Node/node_modules/esformatter/lib/esformatter.js:46:3)
at Object.<anonymous> (/Users/andre.lillvede/Kod/Node/fmt/index.js:25:33)
and with:
var o = {
get b() {},
};
I get:
node_modules/esformatter/lib/lineBreak.js:166
return end? end : token.root.endToken;
^
TypeError: Cannot read property 'root' of undefined
at getEndToken (/Users/andre.lillvede/Kod/Node/node_modules/esformatter/lib/lineBreak.js:166:26)
at Object.limitAfter (/Users/andre.lillvede/Kod/Node/node_modules/esformatter/lib/lineBreak.js:59:13)
at Object.limitAfter [as after] (/Users/andre.lillvede/Kod/Node/node_modules/esformatter/lib/limit.js:19:7)
at Object.Params (/Users/andre.lillvede/Kod/Node/node_modules/esformatter/lib/hooks/Params.js:21:12)
at Object.FunctionExpression [as format] (/Users/andre.lillvede/Kod/Node/node_modules/esformatter/lib/hooks/FunctionExpression.js:34:11)
at transformNode (/Users/andre.lillvede/Kod/Node/node_modules/esformatter/lib/esformatter.js:87:10)
at Array.forEach (native)
at Object.moonwalk (/Users/andre.lillvede/Kod/Node/node_modules/esformatter/node_modules/rocambole/rocambole.js:414:11)
at transform (/Users/andre.lillvede/Kod/Node/node_modules/esformatter/lib/esformatter.js:59:13)
at Object.format (/Users/andre.lillvede/Kod/Node/node_modules/esformatter/lib/esformatter.js:46:3)
When running:
And file.js contains:
I get no error, but with:
I get:
and with:
I get: