hermes-transform 0.5.0 → 0.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +1 -1
- package/dist/detachedNode.js +25 -49
- package/dist/detachedNode.js.flow +3 -3
- package/dist/generated/TransformCloneSignatures.js.flow +1728 -9
- package/dist/generated/TransformReplaceSignatures.js.flow +921 -780
- package/dist/generated/node-types.js +1099 -1156
- package/dist/generated/node-types.js.flow +77 -125
- package/dist/generated/special-case-node-types.js +106 -85
- package/dist/generated/special-case-node-types.js.flow +28 -2
- package/dist/getVisitorKeys.js +4 -6
- package/dist/getVisitorKeys.js.flow +1 -1
- package/dist/index.js +13 -18
- package/dist/index.js.flow +8 -2
- package/dist/transform/Errors.js +8 -116
- package/dist/transform/Errors.js.flow +1 -1
- package/dist/transform/MutationContext.js +54 -67
- package/dist/transform/MutationContext.js.flow +4 -3
- package/dist/transform/TransformContext.js +100 -58
- package/dist/transform/TransformContext.js.flow +277 -141
- package/dist/transform/comments/comments.js +127 -40
- package/dist/transform/comments/comments.js.flow +106 -29
- package/dist/transform/comments/prettier/common/util.js +46 -47
- package/dist/transform/comments/prettier/common/util.js.flow +1 -1
- package/dist/transform/comments/prettier/language-js/comments.js +199 -216
- package/dist/transform/comments/prettier/language-js/comments.js.flow +1 -1
- package/dist/transform/comments/prettier/language-js/loc.js +10 -9
- package/dist/transform/comments/prettier/language-js/loc.js.flow +1 -1
- package/dist/transform/comments/prettier/language-js/printer-estree.js +7 -6
- package/dist/transform/comments/prettier/language-js/printer-estree.js.flow +1 -1
- package/dist/transform/comments/prettier/language-js/utils.js +18 -30
- package/dist/transform/comments/prettier/language-js/utils.js.flow +1 -1
- package/dist/transform/comments/prettier/main/comments.js +225 -298
- package/dist/transform/comments/prettier/main/comments.js.flow +1 -1
- package/dist/transform/comments/prettier/utils/get-last.js +2 -4
- package/dist/transform/comments/prettier/utils/get-last.js.flow +1 -1
- package/dist/transform/getTransformedAST.js +81 -104
- package/dist/transform/getTransformedAST.js.flow +18 -13
- package/dist/transform/mutations/AddComments.js +43 -0
- package/dist/transform/mutations/AddComments.js.flow +50 -0
- package/dist/transform/mutations/CloneCommentsTo.js +16 -24
- package/dist/transform/mutations/CloneCommentsTo.js.flow +2 -3
- package/dist/transform/mutations/InsertStatement.js +28 -30
- package/dist/transform/mutations/InsertStatement.js.flow +7 -2
- package/dist/transform/mutations/RemoveComment.js +25 -43
- package/dist/transform/mutations/RemoveComment.js.flow +1 -1
- package/dist/transform/mutations/RemoveNode.js +192 -0
- package/dist/transform/mutations/RemoveNode.js.flow +290 -0
- package/dist/transform/mutations/RemoveStatement.js +7 -9
- package/dist/transform/mutations/RemoveStatement.js.flow +1 -1
- package/dist/transform/mutations/ReplaceNode.js +36 -44
- package/dist/transform/mutations/ReplaceNode.js.flow +1 -1
- package/dist/transform/mutations/ReplaceStatementWithMany.js +11 -13
- package/dist/transform/mutations/ReplaceStatementWithMany.js.flow +1 -1
- package/dist/transform/mutations/utils/arrayUtils.js +16 -14
- package/dist/transform/mutations/utils/arrayUtils.js.flow +16 -1
- package/dist/transform/mutations/utils/getStatementParent.js +23 -28
- package/dist/transform/mutations/utils/getStatementParent.js.flow +2 -2
- package/dist/transform/mutations/utils/isValidModuleDeclarationParent.js +7 -24
- package/dist/transform/mutations/utils/isValidModuleDeclarationParent.js.flow +1 -1
- package/dist/transform/transform.js +58 -30
- package/dist/transform/transform.js.flow +51 -13
- package/dist/traverse/NodeEventGenerator.js +91 -165
- package/dist/traverse/NodeEventGenerator.js.flow +1 -1
- package/dist/traverse/SafeEmitter.js +20 -38
- package/dist/traverse/SafeEmitter.js.flow +1 -1
- package/dist/traverse/SimpleTraverser.js +67 -98
- package/dist/traverse/SimpleTraverser.js.flow +4 -1
- package/dist/traverse/esquery.js +6 -6
- package/dist/traverse/esquery.js.flow +1 -1
- package/dist/traverse/traverse.js +64 -52
- package/dist/traverse/traverse.js.flow +63 -10
- package/package.json +5 -3
- package/dist/transform/mutations/AddLeadingComments.js +0 -47
- package/dist/transform/mutations/AddLeadingComments.js.flow +0 -49
- package/dist/transform/mutations/AddTrailingComments.js +0 -47
- package/dist/transform/mutations/AddTrailingComments.js.flow +0 -49
package/LICENSE
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
MIT License
|
|
2
2
|
|
|
3
|
-
Copyright (c)
|
|
3
|
+
Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
4
4
|
|
|
5
5
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
6
|
of this software and associated documentation files (the "Software"), to deal
|
package/dist/detachedNode.js
CHANGED
|
@@ -13,22 +13,19 @@ var _getVisitorKeys = require("./getVisitorKeys");
|
|
|
13
13
|
|
|
14
14
|
var _SimpleTraverser = require("./traverse/SimpleTraverser");
|
|
15
15
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
27
|
-
|
|
16
|
+
/**
|
|
17
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
18
|
+
*
|
|
19
|
+
* This source code is licensed under the MIT license found in the
|
|
20
|
+
* LICENSE file in the root directory of this source tree.
|
|
21
|
+
*
|
|
22
|
+
*
|
|
23
|
+
* @format
|
|
24
|
+
*/
|
|
28
25
|
// used by the node type function codegen
|
|
29
26
|
function detachedProps(parent, props) {
|
|
30
27
|
// $FlowExpectedError[incompatible-return]
|
|
31
|
-
return
|
|
28
|
+
return { ...props,
|
|
32
29
|
// if not provided, then we purposely don't set this here
|
|
33
30
|
// and will rely on the tooling to update it as appropriate.
|
|
34
31
|
// nothing should be reading from this before it's set anyway.
|
|
@@ -44,15 +41,14 @@ function detachedProps(parent, props) {
|
|
|
44
41
|
column: 0
|
|
45
42
|
}
|
|
46
43
|
}
|
|
47
|
-
}
|
|
44
|
+
};
|
|
48
45
|
}
|
|
49
46
|
/**
|
|
50
47
|
* Shallowly clones the node, but not its children.
|
|
51
48
|
*/
|
|
52
49
|
|
|
53
50
|
|
|
54
|
-
function shallowCloneNode(node) {
|
|
55
|
-
var newProps = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
51
|
+
function shallowCloneNode(node, newProps = {}) {
|
|
56
52
|
return detachedProps(null, Object.assign({}, node, newProps));
|
|
57
53
|
}
|
|
58
54
|
/**
|
|
@@ -60,9 +56,8 @@ function shallowCloneNode(node) {
|
|
|
60
56
|
*/
|
|
61
57
|
|
|
62
58
|
|
|
63
|
-
function deepCloneNode(node) {
|
|
64
|
-
|
|
65
|
-
var clone = Object.assign(JSON.parse(JSON.stringify(node, function (key, value) {
|
|
59
|
+
function deepCloneNode(node, newProps = {}) {
|
|
60
|
+
const clone = Object.assign(JSON.parse(JSON.stringify(node, (key, value) => {
|
|
66
61
|
// null out parent pointers
|
|
67
62
|
if (key === 'parent') {
|
|
68
63
|
return undefined;
|
|
@@ -80,36 +75,15 @@ function deepCloneNode(node) {
|
|
|
80
75
|
|
|
81
76
|
|
|
82
77
|
function setParentPointersInDirectChildren(node) {
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
if ((0, _getVisitorKeys.isNode)( // $FlowExpectedError[prop-missing]
|
|
91
|
-
node[key])) {
|
|
92
|
-
node[key].parent = node;
|
|
93
|
-
} else if (Array.isArray(node[key])) {
|
|
94
|
-
var _iterator2 = _createForOfIteratorHelper(node[key]),
|
|
95
|
-
_step2;
|
|
96
|
-
|
|
97
|
-
try {
|
|
98
|
-
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
99
|
-
var child = _step2.value;
|
|
100
|
-
child.parent = node;
|
|
101
|
-
}
|
|
102
|
-
} catch (err) {
|
|
103
|
-
_iterator2.e(err);
|
|
104
|
-
} finally {
|
|
105
|
-
_iterator2.f();
|
|
106
|
-
}
|
|
78
|
+
for (const key of (0, _getVisitorKeys.getVisitorKeys)(node)) {
|
|
79
|
+
if ((0, _getVisitorKeys.isNode)( // $FlowExpectedError[prop-missing]
|
|
80
|
+
node[key])) {
|
|
81
|
+
node[key].parent = node;
|
|
82
|
+
} else if (Array.isArray(node[key])) {
|
|
83
|
+
for (const child of node[key]) {
|
|
84
|
+
child.parent = node;
|
|
107
85
|
}
|
|
108
86
|
}
|
|
109
|
-
} catch (err) {
|
|
110
|
-
_iterator.e(err);
|
|
111
|
-
} finally {
|
|
112
|
-
_iterator.f();
|
|
113
87
|
}
|
|
114
88
|
}
|
|
115
89
|
/**
|
|
@@ -119,10 +93,12 @@ function setParentPointersInDirectChildren(node) {
|
|
|
119
93
|
|
|
120
94
|
function updateAllParentPointers(node) {
|
|
121
95
|
_SimpleTraverser.SimpleTraverser.traverse(node, {
|
|
122
|
-
enter
|
|
96
|
+
enter(node, parent) {
|
|
123
97
|
// $FlowExpectedError[cannot-write]
|
|
124
98
|
node.parent = parent;
|
|
125
99
|
},
|
|
126
|
-
|
|
100
|
+
|
|
101
|
+
leave() {}
|
|
102
|
+
|
|
127
103
|
});
|
|
128
104
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright (c)
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
3
|
*
|
|
4
4
|
* This source code is licensed under the MIT license found in the
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
@@ -46,7 +46,7 @@ export function detachedProps<T: BaseNode>(
|
|
|
46
46
|
*/
|
|
47
47
|
export function shallowCloneNode<T: ESNode>(
|
|
48
48
|
node: T,
|
|
49
|
-
newProps: $
|
|
49
|
+
newProps: $Partial<{...}> = {},
|
|
50
50
|
): DetachedNode<T> {
|
|
51
51
|
return detachedProps(null, (Object.assign({}, node, newProps): $FlowFixMe));
|
|
52
52
|
}
|
|
@@ -56,7 +56,7 @@ export function shallowCloneNode<T: ESNode>(
|
|
|
56
56
|
*/
|
|
57
57
|
export function deepCloneNode<T: ESNode>(
|
|
58
58
|
node: T,
|
|
59
|
-
newProps: $
|
|
59
|
+
newProps: $Partial<{...}> = {},
|
|
60
60
|
): DetachedNode<T> {
|
|
61
61
|
const clone: DetachedNode<T> = Object.assign(
|
|
62
62
|
JSON.parse(
|