babel-schmooze-sprockets 0.1.2 → 0.1.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/bin/console +14 -0
- data/bin/export-external-helpers +3 -0
- data/bin/setup +6 -0
- data/bin/update-npm-deps +8 -0
- data/examples/myapp/Gemfile +4 -5
- data/examples/myapp/Gemfile.lock +69 -93
- data/examples/myapp/app/assets/javascripts/code/hello.es6 +5 -1
- data/examples/myapp/app/views/layouts/application.html.erb +1 -0
- data/examples/myapp/app/views/site/home.html.erb +0 -1
- data/lib/babel-schmooze-sprockets/babel_processor.rb +6 -4
- data/lib/babel-schmooze-sprockets/engine.rb +1 -4
- data/lib/babel-schmooze-sprockets/version.rb +1 -1
- data/node_modules/amdefine/package.json +8 -1
- data/node_modules/babel-core/node_modules/babel-runtime/package.json +9 -5
- data/node_modules/babel-core/node_modules/babel-traverse/.npmignore +3 -0
- data/node_modules/babel-core/node_modules/babel-traverse/README.md +1 -0
- data/node_modules/babel-core/node_modules/babel-traverse/lib/cache.js +20 -0
- data/node_modules/babel-core/node_modules/babel-traverse/lib/context.js +219 -0
- data/node_modules/babel-core/node_modules/babel-traverse/lib/hub.js +19 -0
- data/node_modules/babel-core/node_modules/babel-traverse/lib/index.js +250 -0
- data/node_modules/babel-core/node_modules/babel-traverse/lib/path/ancestry.js +317 -0
- data/node_modules/babel-core/node_modules/babel-traverse/lib/path/comments.js +55 -0
- data/node_modules/babel-core/node_modules/babel-traverse/lib/path/context.js +297 -0
- data/node_modules/babel-core/node_modules/babel-traverse/lib/path/conversion.js +48 -0
- data/node_modules/babel-core/node_modules/babel-traverse/lib/path/evaluation.js +406 -0
- data/node_modules/babel-core/node_modules/babel-traverse/lib/path/family.js +168 -0
- data/node_modules/babel-core/node_modules/babel-traverse/lib/path/index.js +245 -0
- data/node_modules/babel-core/node_modules/babel-traverse/lib/path/inference/index.js +151 -0
- data/node_modules/babel-core/node_modules/babel-traverse/lib/path/inference/inferer-reference.js +225 -0
- data/node_modules/babel-core/node_modules/babel-traverse/lib/path/inference/inferers.js +198 -0
- data/node_modules/babel-core/node_modules/babel-traverse/lib/path/introspection.js +518 -0
- data/node_modules/babel-core/node_modules/babel-traverse/lib/path/lib/hoister.js +166 -0
- data/node_modules/babel-core/node_modules/babel-traverse/lib/path/lib/removal-hooks.js +64 -0
- data/node_modules/babel-core/node_modules/babel-traverse/lib/path/lib/virtual-types.js +141 -0
- data/node_modules/babel-core/node_modules/babel-traverse/lib/path/modification.js +293 -0
- data/node_modules/babel-core/node_modules/babel-traverse/lib/path/removal.js +72 -0
- data/node_modules/babel-core/node_modules/babel-traverse/lib/path/replacement.js +302 -0
- data/node_modules/babel-core/node_modules/babel-traverse/lib/scope/binding.js +105 -0
- data/node_modules/babel-core/node_modules/babel-traverse/lib/scope/index.js +1222 -0
- data/node_modules/babel-core/node_modules/babel-traverse/lib/scope/lib/renamer.js +154 -0
- data/node_modules/babel-core/node_modules/babel-traverse/lib/visitors.js +360 -0
- data/node_modules/babel-core/node_modules/babel-traverse/package.json +107 -0
- data/node_modules/babel-core/node_modules/core-js/package.json +20 -2
- data/node_modules/babel-core/package.json +31 -24
- data/node_modules/babel-generator/lib/buffer.js +69 -70
- data/node_modules/babel-generator/lib/generators/base.js +16 -12
- data/node_modules/babel-generator/lib/generators/classes.js +28 -19
- data/node_modules/babel-generator/lib/generators/expressions.js +76 -99
- data/node_modules/babel-generator/lib/generators/flow.js +178 -119
- data/node_modules/babel-generator/lib/generators/jsx.js +38 -29
- data/node_modules/babel-generator/lib/generators/methods.js +34 -25
- data/node_modules/babel-generator/lib/generators/modules.js +67 -40
- data/node_modules/babel-generator/lib/generators/statements.js +93 -76
- data/node_modules/babel-generator/lib/generators/template-literals.js +12 -11
- data/node_modules/babel-generator/lib/generators/types.js +56 -49
- data/node_modules/babel-generator/lib/index.js +52 -39
- data/node_modules/babel-generator/lib/node/index.js +12 -18
- data/node_modules/babel-generator/lib/node/parentheses.js +23 -27
- data/node_modules/babel-generator/lib/node/whitespace.js +20 -26
- data/node_modules/babel-generator/lib/position.js +5 -5
- data/node_modules/babel-generator/lib/printer.js +52 -81
- data/node_modules/babel-generator/lib/source-map.js +9 -11
- data/node_modules/babel-generator/lib/whitespace.js +13 -13
- data/node_modules/babel-generator/node_modules/babel-runtime/package.json +19 -6
- data/node_modules/babel-generator/node_modules/babel-types/.npmignore +3 -0
- data/node_modules/babel-generator/node_modules/babel-types/README.md +1141 -0
- data/node_modules/babel-generator/node_modules/babel-types/lib/constants.js +40 -0
- data/node_modules/babel-generator/node_modules/babel-types/lib/converters.js +378 -0
- data/node_modules/babel-generator/node_modules/babel-types/lib/definitions/core.js +704 -0
- data/node_modules/babel-generator/node_modules/babel-types/lib/definitions/es2015.js +354 -0
- data/node_modules/babel-generator/node_modules/babel-types/lib/definitions/experimental.js +85 -0
- data/node_modules/babel-generator/node_modules/babel-types/lib/definitions/flow.js +319 -0
- data/node_modules/babel-generator/node_modules/babel-types/lib/definitions/index.js +247 -0
- data/node_modules/babel-generator/node_modules/babel-types/lib/definitions/init.js +15 -0
- data/node_modules/babel-generator/node_modules/babel-types/lib/definitions/jsx.js +137 -0
- data/node_modules/babel-generator/node_modules/babel-types/lib/definitions/misc.js +21 -0
- data/node_modules/babel-generator/node_modules/babel-types/lib/flow.js +129 -0
- data/node_modules/babel-generator/node_modules/babel-types/lib/index.js +848 -0
- data/node_modules/babel-generator/node_modules/babel-types/lib/react.js +83 -0
- data/node_modules/babel-generator/node_modules/babel-types/lib/retrievers.js +123 -0
- data/node_modules/babel-generator/node_modules/babel-types/lib/validators.js +276 -0
- data/node_modules/babel-generator/node_modules/babel-types/package.json +103 -0
- data/node_modules/babel-generator/node_modules/core-js/package.json +10 -5
- data/node_modules/babel-generator/package.json +19 -16
- data/node_modules/babel-helpers/node_modules/babel-runtime/package.json +19 -3
- data/node_modules/babel-helpers/node_modules/core-js/package.json +20 -4
- data/node_modules/babel-helpers/package.json +8 -1
- data/node_modules/babel-register/node_modules/babel-runtime/package.json +19 -3
- data/node_modules/babel-register/node_modules/core-js/package.json +20 -4
- data/node_modules/babel-register/package.json +8 -1
- data/node_modules/balanced-match/package.json +8 -1
- data/node_modules/brace-expansion/package.json +19 -12
- data/node_modules/concat-map/package.json +9 -2
- data/node_modules/convert-source-map/package.json +8 -1
- data/node_modules/detect-indent/package.json +8 -1
- data/node_modules/get-stdin/package.json +8 -1
- data/node_modules/home-or-tmp/package.json +9 -2
- data/node_modules/is-finite/package.json +8 -2
- data/node_modules/json5/package.json +8 -1
- data/node_modules/minimatch/README.md +2 -9
- data/node_modules/minimatch/minimatch.js +15 -3
- data/node_modules/minimatch/package.json +29 -21
- data/node_modules/minimist/package.json +8 -1
- data/node_modules/mkdirp/node_modules/minimist/package.json +8 -1
- data/node_modules/mkdirp/package.json +8 -1
- data/node_modules/number-is-nan/package.json +8 -1
- data/node_modules/os-tmpdir/package.json +8 -1
- data/node_modules/path-exists/package.json +8 -1
- data/node_modules/path-is-absolute/package.json +8 -1
- data/node_modules/repeating/package.json +15 -11
- data/node_modules/shebang-regex/package.json +8 -1
- data/node_modules/slash/package.json +8 -1
- data/node_modules/source-map-support/node_modules/source-map/package.json +8 -1
- data/node_modules/source-map-support/package.json +8 -1
- data/node_modules/source-map/package.json +8 -1
- data/node_modules/user-home/package.json +8 -1
- data/package.json +1 -1
- metadata +54 -6
- data/node_modules/brace-expansion/.npmignore +0 -3
- data/node_modules/brace-expansion/example.js +0 -8
- data/node_modules/minimatch/browser.js +0 -1159
@@ -1,4 +1,4 @@
|
|
1
|
-
|
1
|
+
"use strict";
|
2
2
|
|
3
3
|
exports.__esModule = true;
|
4
4
|
exports.CodeGenerator = undefined;
|
@@ -16,38 +16,32 @@ var _inherits2 = require("babel-runtime/helpers/inherits");
|
|
16
16
|
var _inherits3 = _interopRequireDefault(_inherits2);
|
17
17
|
|
18
18
|
exports.default = function (ast, opts, code) {
|
19
|
-
var gen = new
|
19
|
+
var gen = new Generator(ast, opts, code);
|
20
20
|
return gen.generate();
|
21
21
|
};
|
22
22
|
|
23
|
-
var
|
23
|
+
var _detectIndent = require("detect-indent");
|
24
24
|
|
25
|
-
/*istanbul ignore next*/
|
26
25
|
var _detectIndent2 = _interopRequireDefault(_detectIndent);
|
27
26
|
|
28
|
-
var
|
27
|
+
var _whitespace = require("./whitespace");
|
29
28
|
|
30
|
-
/*istanbul ignore next*/
|
31
29
|
var _whitespace2 = _interopRequireDefault(_whitespace);
|
32
30
|
|
33
|
-
var
|
31
|
+
var _sourceMap = require("./source-map");
|
34
32
|
|
35
|
-
/*istanbul ignore next*/
|
36
33
|
var _sourceMap2 = _interopRequireDefault(_sourceMap);
|
37
34
|
|
38
|
-
var
|
35
|
+
var _position = require("./position");
|
39
36
|
|
40
|
-
/*istanbul ignore next*/
|
41
37
|
var _position2 = _interopRequireDefault(_position);
|
42
38
|
|
43
|
-
var
|
39
|
+
var _babelMessages = require("babel-messages");
|
44
40
|
|
45
|
-
/*istanbul ignore next*/
|
46
41
|
var messages = _interopRequireWildcard(_babelMessages);
|
47
42
|
|
48
|
-
var
|
43
|
+
var _printer = require("./printer");
|
49
44
|
|
50
|
-
/*istanbul ignore next*/
|
51
45
|
var _printer2 = _interopRequireDefault(_printer);
|
52
46
|
|
53
47
|
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }
|
@@ -59,34 +53,33 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|
59
53
|
* user preferences, and valid output.
|
60
54
|
*/
|
61
55
|
|
62
|
-
var
|
63
|
-
(0, _inherits3.default)(
|
56
|
+
var Generator = function (_Printer) {
|
57
|
+
(0, _inherits3.default)(Generator, _Printer);
|
64
58
|
|
65
|
-
function
|
66
|
-
|
59
|
+
function Generator(ast, opts, code) {
|
60
|
+
(0, _classCallCheck3.default)(this, Generator);
|
67
61
|
|
68
62
|
opts = opts || {};
|
69
63
|
|
70
64
|
var comments = ast.comments || [];
|
71
65
|
var tokens = ast.tokens || [];
|
72
|
-
var format =
|
66
|
+
var format = Generator.normalizeOptions(code, opts, tokens);
|
73
67
|
|
74
|
-
var position = new
|
68
|
+
var position = new _position2.default();
|
75
69
|
|
76
|
-
|
77
|
-
var _this = (0, _possibleConstructorReturn3.default)(this, /*istanbul ignore next*/_Printer.call( /*istanbul ignore next*/this, position, format));
|
70
|
+
var _this = (0, _possibleConstructorReturn3.default)(this, _Printer.call(this, position, format));
|
78
71
|
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
72
|
+
_this.comments = comments;
|
73
|
+
_this.position = position;
|
74
|
+
_this.tokens = tokens;
|
75
|
+
_this.format = format;
|
76
|
+
_this.opts = opts;
|
77
|
+
_this.ast = ast;
|
78
|
+
_this._inForStatementInitCounter = 0;
|
86
79
|
|
87
|
-
|
88
|
-
|
89
|
-
|
80
|
+
_this.whitespace = new _whitespace2.default(tokens);
|
81
|
+
_this.map = new _sourceMap2.default(position, opts, code);
|
82
|
+
return _this;
|
90
83
|
}
|
91
84
|
|
92
85
|
/**
|
@@ -94,12 +87,12 @@ var CodeGenerator = exports.CodeGenerator = function (_Printer) {
|
|
94
87
|
*
|
95
88
|
* - Detects code indentation.
|
96
89
|
* - If `opts.compact = "auto"` and the code is over 100KB, `compact` will be set to `true`.
|
97
|
-
|
90
|
+
*/
|
98
91
|
|
99
|
-
|
92
|
+
Generator.normalizeOptions = function normalizeOptions(code, opts, tokens) {
|
100
93
|
var style = " ";
|
101
94
|
if (code && typeof code === "string") {
|
102
|
-
var _indent =
|
95
|
+
var _indent = (0, _detectIndent2.default)(code).indent;
|
103
96
|
if (_indent && _indent !== " ") style = _indent;
|
104
97
|
}
|
105
98
|
|
@@ -112,7 +105,7 @@ var CodeGenerator = exports.CodeGenerator = function (_Printer) {
|
|
112
105
|
compact: opts.compact,
|
113
106
|
minified: opts.minified,
|
114
107
|
concise: opts.concise,
|
115
|
-
quotes: opts.quotes ||
|
108
|
+
quotes: opts.quotes || Generator.findCommonStringDelimiter(code, tokens),
|
116
109
|
indent: {
|
117
110
|
adjustMultilineComment: true,
|
118
111
|
style: style,
|
@@ -144,7 +137,7 @@ var CodeGenerator = exports.CodeGenerator = function (_Printer) {
|
|
144
137
|
*/
|
145
138
|
|
146
139
|
|
147
|
-
|
140
|
+
Generator.findCommonStringDelimiter = function findCommonStringDelimiter(code, tokens) {
|
148
141
|
var occurences = {
|
149
142
|
single: 0,
|
150
143
|
double: 0
|
@@ -179,7 +172,7 @@ var CodeGenerator = exports.CodeGenerator = function (_Printer) {
|
|
179
172
|
* Appends comments that weren't attached to any node to the end of the generated output.
|
180
173
|
*/
|
181
174
|
|
182
|
-
|
175
|
+
Generator.prototype.generate = function generate() {
|
183
176
|
this.print(this.ast);
|
184
177
|
this.printAuxAfterComment();
|
185
178
|
|
@@ -189,5 +182,25 @@ var CodeGenerator = exports.CodeGenerator = function (_Printer) {
|
|
189
182
|
};
|
190
183
|
};
|
191
184
|
|
185
|
+
return Generator;
|
186
|
+
}(_printer2.default);
|
187
|
+
|
188
|
+
/**
|
189
|
+
* We originally exported the Generator class above, but to make it extra clear that it is a private API,
|
190
|
+
* we have moved that to an internal class instance and simplified the interface to the two public methods
|
191
|
+
* that we wish to support.
|
192
|
+
*/
|
193
|
+
|
194
|
+
var CodeGenerator = exports.CodeGenerator = function () {
|
195
|
+
function CodeGenerator(ast, opts, code) {
|
196
|
+
(0, _classCallCheck3.default)(this, CodeGenerator);
|
197
|
+
|
198
|
+
this._generator = new Generator(ast, opts, code);
|
199
|
+
}
|
200
|
+
|
201
|
+
CodeGenerator.prototype.generate = function generate() {
|
202
|
+
return this._generator.generate();
|
203
|
+
};
|
204
|
+
|
192
205
|
return CodeGenerator;
|
193
|
-
}(
|
206
|
+
}();
|
@@ -1,4 +1,4 @@
|
|
1
|
-
|
1
|
+
"use strict";
|
2
2
|
|
3
3
|
exports.__esModule = true;
|
4
4
|
|
@@ -11,27 +11,23 @@ var _keys = require("babel-runtime/core-js/object/keys");
|
|
11
11
|
var _keys2 = _interopRequireDefault(_keys);
|
12
12
|
|
13
13
|
exports.isUserWhitespacable = isUserWhitespacable;
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
14
|
+
exports.needsWhitespace = needsWhitespace;
|
15
|
+
exports.needsWhitespaceBefore = needsWhitespaceBefore;
|
16
|
+
exports.needsWhitespaceAfter = needsWhitespaceAfter;
|
17
|
+
exports.needsParens = needsParens;
|
18
18
|
|
19
|
-
var
|
19
|
+
var _whitespace = require("./whitespace");
|
20
20
|
|
21
|
-
/*istanbul ignore next*/
|
22
21
|
var _whitespace2 = _interopRequireDefault(_whitespace);
|
23
22
|
|
24
|
-
var
|
23
|
+
var _parentheses = require("./parentheses");
|
25
24
|
|
26
|
-
/*istanbul ignore next*/
|
27
25
|
var parens = _interopRequireWildcard(_parentheses);
|
28
26
|
|
29
|
-
var
|
27
|
+
var _babelTypes = require("babel-types");
|
30
28
|
|
31
|
-
/*istanbul ignore next*/
|
32
29
|
var t = _interopRequireWildcard(_babelTypes);
|
33
30
|
|
34
|
-
/*istanbul ignore next*/
|
35
31
|
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }
|
36
32
|
|
37
33
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
@@ -48,8 +44,7 @@ function expandAliases(obj) {
|
|
48
44
|
} : func;
|
49
45
|
}
|
50
46
|
|
51
|
-
for (
|
52
|
-
/*istanbul ignore next*/
|
47
|
+
for (var _iterator = (0, _keys2.default)(obj), _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : (0, _getIterator3.default)(_iterator);;) {
|
53
48
|
var _ref;
|
54
49
|
|
55
50
|
if (_isArray) {
|
@@ -66,8 +61,7 @@ function expandAliases(obj) {
|
|
66
61
|
|
67
62
|
var aliases = t.FLIPPED_ALIAS_KEYS[type];
|
68
63
|
if (aliases) {
|
69
|
-
for (
|
70
|
-
/*istanbul ignore next*/
|
64
|
+
for (var _iterator2 = aliases, _isArray2 = Array.isArray(_iterator2), _i2 = 0, _iterator2 = _isArray2 ? _iterator2 : (0, _getIterator3.default)(_iterator2);;) {
|
71
65
|
var _ref2;
|
72
66
|
|
73
67
|
if (_isArray2) {
|
@@ -94,8 +88,8 @@ function expandAliases(obj) {
|
|
94
88
|
// Rather than using `t.is` on each object property, we pre-expand any type aliases
|
95
89
|
// into concrete types so that the 'find' call below can be as fast as possible.
|
96
90
|
var expandedParens = expandAliases(parens);
|
97
|
-
var expandedWhitespaceNodes = expandAliases(
|
98
|
-
var expandedWhitespaceList = expandAliases(
|
91
|
+
var expandedWhitespaceNodes = expandAliases(_whitespace2.default.nodes);
|
92
|
+
var expandedWhitespaceList = expandAliases(_whitespace2.default.list);
|
99
93
|
|
100
94
|
function find(obj, node, parent, printStack) {
|
101
95
|
var fn = obj[node.type];
|
@@ -1,27 +1,25 @@
|
|
1
|
-
|
1
|
+
"use strict";
|
2
2
|
|
3
3
|
exports.__esModule = true;
|
4
4
|
exports.AwaitExpression = exports.FunctionTypeAnnotation = undefined;
|
5
5
|
exports.NullableTypeAnnotation = NullableTypeAnnotation;
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
var
|
20
|
-
|
21
|
-
/*istanbul ignore next*/
|
6
|
+
exports.UpdateExpression = UpdateExpression;
|
7
|
+
exports.ObjectExpression = ObjectExpression;
|
8
|
+
exports.Binary = Binary;
|
9
|
+
exports.BinaryExpression = BinaryExpression;
|
10
|
+
exports.SequenceExpression = SequenceExpression;
|
11
|
+
exports.YieldExpression = YieldExpression;
|
12
|
+
exports.ClassExpression = ClassExpression;
|
13
|
+
exports.UnaryLike = UnaryLike;
|
14
|
+
exports.FunctionExpression = FunctionExpression;
|
15
|
+
exports.ArrowFunctionExpression = ArrowFunctionExpression;
|
16
|
+
exports.ConditionalExpression = ConditionalExpression;
|
17
|
+
exports.AssignmentExpression = AssignmentExpression;
|
18
|
+
|
19
|
+
var _babelTypes = require("babel-types");
|
20
|
+
|
22
21
|
var t = _interopRequireWildcard(_babelTypes);
|
23
22
|
|
24
|
-
/*istanbul ignore next*/
|
25
23
|
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }
|
26
24
|
|
27
25
|
var PRECEDENCE = {
|
@@ -55,7 +53,7 @@ function NullableTypeAnnotation(node, parent) {
|
|
55
53
|
return t.isArrayTypeAnnotation(parent);
|
56
54
|
}
|
57
55
|
|
58
|
-
|
56
|
+
exports.FunctionTypeAnnotation = NullableTypeAnnotation;
|
59
57
|
function UpdateExpression(node, parent) {
|
60
58
|
if (t.isMemberExpression(parent) && parent.object === node) {
|
61
59
|
// (foo++).test()
|
@@ -164,7 +162,7 @@ function YieldExpression(node, parent) {
|
|
164
162
|
return t.isBinary(parent) || t.isUnaryLike(parent) || t.isCallExpression(parent) || t.isMemberExpression(parent) || t.isNewExpression(parent);
|
165
163
|
}
|
166
164
|
|
167
|
-
|
165
|
+
exports.AwaitExpression = YieldExpression;
|
168
166
|
function ClassExpression(node, parent, printStack) {
|
169
167
|
return isFirstInStatement(printStack, { considerDefaultExports: true });
|
170
168
|
}
|
@@ -222,21 +220,19 @@ function AssignmentExpression(node) {
|
|
222
220
|
if (t.isObjectPattern(node.left)) {
|
223
221
|
return true;
|
224
222
|
} else {
|
225
|
-
return
|
226
|
-
);
|
223
|
+
return ConditionalExpression.apply(undefined, arguments);
|
227
224
|
}
|
228
225
|
}
|
229
226
|
|
230
227
|
// Walk up the print stack to deterimine if our node can come first
|
231
228
|
// in statement.
|
232
229
|
function isFirstInStatement(printStack) {
|
233
|
-
/*istanbul ignore next*/
|
234
230
|
var _ref = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];
|
235
231
|
|
236
|
-
|
237
|
-
|
238
|
-
|
239
|
-
|
232
|
+
var _ref$considerArrow = _ref.considerArrow;
|
233
|
+
var considerArrow = _ref$considerArrow === undefined ? false : _ref$considerArrow;
|
234
|
+
var _ref$considerDefaultE = _ref.considerDefaultExports;
|
235
|
+
var considerDefaultExports = _ref$considerDefaultE === undefined ? false : _ref$considerDefaultE;
|
240
236
|
|
241
237
|
var i = printStack.length - 1;
|
242
238
|
var node = printStack[i];
|
@@ -1,26 +1,21 @@
|
|
1
|
-
|
1
|
+
"use strict";
|
2
2
|
|
3
|
-
var
|
3
|
+
var _isBoolean = require("lodash/isBoolean");
|
4
4
|
|
5
|
-
/*istanbul ignore next*/
|
6
5
|
var _isBoolean2 = _interopRequireDefault(_isBoolean);
|
7
6
|
|
8
|
-
var
|
7
|
+
var _each = require("lodash/each");
|
9
8
|
|
10
|
-
/*istanbul ignore next*/
|
11
9
|
var _each2 = _interopRequireDefault(_each);
|
12
10
|
|
13
|
-
var
|
11
|
+
var _map = require("lodash/map");
|
14
12
|
|
15
|
-
/*istanbul ignore next*/
|
16
13
|
var _map2 = _interopRequireDefault(_map);
|
17
14
|
|
18
|
-
var
|
15
|
+
var _babelTypes = require("babel-types");
|
19
16
|
|
20
|
-
/*istanbul ignore next*/
|
21
17
|
var t = _interopRequireWildcard(_babelTypes);
|
22
18
|
|
23
|
-
/*istanbul ignore next*/
|
24
19
|
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }
|
25
20
|
|
26
21
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
@@ -34,7 +29,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|
34
29
|
*/
|
35
30
|
|
36
31
|
function crawl(node) {
|
37
|
-
|
32
|
+
var state = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];
|
38
33
|
|
39
34
|
if (t.isMemberExpression(node)) {
|
40
35
|
crawl(node.object, state);
|
@@ -80,7 +75,7 @@ function isType(node) {
|
|
80
75
|
* Tests for node types that need whitespace.
|
81
76
|
*/
|
82
77
|
|
83
|
-
exports.nodes = {
|
78
|
+
exports.nodes = {
|
84
79
|
|
85
80
|
/**
|
86
81
|
* Test if AssignmentExpression needs whitespace.
|
@@ -95,7 +90,7 @@ exports.nodes = { /*istanbul ignore next*/
|
|
95
90
|
};
|
96
91
|
}
|
97
92
|
},
|
98
|
-
|
93
|
+
|
99
94
|
|
100
95
|
/**
|
101
96
|
* Test if SwitchCase needs whitespace.
|
@@ -106,7 +101,7 @@ exports.nodes = { /*istanbul ignore next*/
|
|
106
101
|
before: node.consequent.length || parent.cases[0] === node
|
107
102
|
};
|
108
103
|
},
|
109
|
-
|
104
|
+
|
110
105
|
|
111
106
|
/**
|
112
107
|
* Test if LogicalExpression needs whitespace.
|
@@ -119,7 +114,7 @@ exports.nodes = { /*istanbul ignore next*/
|
|
119
114
|
};
|
120
115
|
}
|
121
116
|
},
|
122
|
-
|
117
|
+
|
123
118
|
|
124
119
|
/**
|
125
120
|
* Test if Literal needs whitespace.
|
@@ -132,7 +127,7 @@ exports.nodes = { /*istanbul ignore next*/
|
|
132
127
|
};
|
133
128
|
}
|
134
129
|
},
|
135
|
-
|
130
|
+
|
136
131
|
|
137
132
|
/**
|
138
133
|
* Test if CallExpression needs whitespace.
|
@@ -146,7 +141,7 @@ exports.nodes = { /*istanbul ignore next*/
|
|
146
141
|
};
|
147
142
|
}
|
148
143
|
},
|
149
|
-
|
144
|
+
|
150
145
|
|
151
146
|
/**
|
152
147
|
* Test if VariableDeclaration needs whitespace.
|
@@ -170,7 +165,7 @@ exports.nodes = { /*istanbul ignore next*/
|
|
170
165
|
}
|
171
166
|
}
|
172
167
|
},
|
173
|
-
|
168
|
+
|
174
169
|
|
175
170
|
/**
|
176
171
|
* Test if IfStatement needs whitespace.
|
@@ -202,17 +197,16 @@ exports.nodes.ObjectProperty = exports.nodes.ObjectMethod = exports.nodes.Spread
|
|
202
197
|
* Returns lists from node types that need whitespace.
|
203
198
|
*/
|
204
199
|
|
205
|
-
exports.list = {
|
200
|
+
exports.list = {
|
206
201
|
|
207
202
|
/**
|
208
203
|
* Return VariableDeclaration declarations init properties.
|
209
204
|
*/
|
210
205
|
|
211
206
|
VariableDeclaration: function VariableDeclaration(node) {
|
212
|
-
return (
|
213
|
-
);
|
207
|
+
return (0, _map2.default)(node.declarations, "init");
|
214
208
|
},
|
215
|
-
|
209
|
+
|
216
210
|
|
217
211
|
/**
|
218
212
|
* Return VariableDeclaration elements.
|
@@ -221,7 +215,7 @@ exports.list = { /*istanbul ignore next*/
|
|
221
215
|
ArrayExpression: function ArrayExpression(node) {
|
222
216
|
return node.elements;
|
223
217
|
},
|
224
|
-
|
218
|
+
|
225
219
|
|
226
220
|
/**
|
227
221
|
* Return VariableDeclaration properties.
|
@@ -236,7 +230,7 @@ exports.list = { /*istanbul ignore next*/
|
|
236
230
|
* Add whitespace tests for nodes and their aliases.
|
237
231
|
*/
|
238
232
|
|
239
|
-
|
233
|
+
(0, _each2.default)({
|
240
234
|
Function: true,
|
241
235
|
Class: true,
|
242
236
|
Loop: true,
|
@@ -244,11 +238,11 @@ exports.list = { /*istanbul ignore next*/
|
|
244
238
|
SwitchStatement: true,
|
245
239
|
TryStatement: true
|
246
240
|
}, function (amounts, type) {
|
247
|
-
if (
|
241
|
+
if ((0, _isBoolean2.default)(amounts)) {
|
248
242
|
amounts = { after: amounts, before: amounts };
|
249
243
|
}
|
250
244
|
|
251
|
-
|
245
|
+
(0, _each2.default)([type].concat(t.FLIPPED_ALIAS_KEYS[type] || []), function (type) {
|
252
246
|
exports.nodes[type] = function () {
|
253
247
|
return amounts;
|
254
248
|
};
|