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.
Files changed (76) hide show
  1. package/LICENSE +1 -1
  2. package/dist/detachedNode.js +25 -49
  3. package/dist/detachedNode.js.flow +3 -3
  4. package/dist/generated/TransformCloneSignatures.js.flow +1728 -9
  5. package/dist/generated/TransformReplaceSignatures.js.flow +921 -780
  6. package/dist/generated/node-types.js +1099 -1156
  7. package/dist/generated/node-types.js.flow +77 -125
  8. package/dist/generated/special-case-node-types.js +106 -85
  9. package/dist/generated/special-case-node-types.js.flow +28 -2
  10. package/dist/getVisitorKeys.js +4 -6
  11. package/dist/getVisitorKeys.js.flow +1 -1
  12. package/dist/index.js +13 -18
  13. package/dist/index.js.flow +8 -2
  14. package/dist/transform/Errors.js +8 -116
  15. package/dist/transform/Errors.js.flow +1 -1
  16. package/dist/transform/MutationContext.js +54 -67
  17. package/dist/transform/MutationContext.js.flow +4 -3
  18. package/dist/transform/TransformContext.js +100 -58
  19. package/dist/transform/TransformContext.js.flow +277 -141
  20. package/dist/transform/comments/comments.js +127 -40
  21. package/dist/transform/comments/comments.js.flow +106 -29
  22. package/dist/transform/comments/prettier/common/util.js +46 -47
  23. package/dist/transform/comments/prettier/common/util.js.flow +1 -1
  24. package/dist/transform/comments/prettier/language-js/comments.js +199 -216
  25. package/dist/transform/comments/prettier/language-js/comments.js.flow +1 -1
  26. package/dist/transform/comments/prettier/language-js/loc.js +10 -9
  27. package/dist/transform/comments/prettier/language-js/loc.js.flow +1 -1
  28. package/dist/transform/comments/prettier/language-js/printer-estree.js +7 -6
  29. package/dist/transform/comments/prettier/language-js/printer-estree.js.flow +1 -1
  30. package/dist/transform/comments/prettier/language-js/utils.js +18 -30
  31. package/dist/transform/comments/prettier/language-js/utils.js.flow +1 -1
  32. package/dist/transform/comments/prettier/main/comments.js +225 -298
  33. package/dist/transform/comments/prettier/main/comments.js.flow +1 -1
  34. package/dist/transform/comments/prettier/utils/get-last.js +2 -4
  35. package/dist/transform/comments/prettier/utils/get-last.js.flow +1 -1
  36. package/dist/transform/getTransformedAST.js +81 -104
  37. package/dist/transform/getTransformedAST.js.flow +18 -13
  38. package/dist/transform/mutations/AddComments.js +43 -0
  39. package/dist/transform/mutations/AddComments.js.flow +50 -0
  40. package/dist/transform/mutations/CloneCommentsTo.js +16 -24
  41. package/dist/transform/mutations/CloneCommentsTo.js.flow +2 -3
  42. package/dist/transform/mutations/InsertStatement.js +28 -30
  43. package/dist/transform/mutations/InsertStatement.js.flow +7 -2
  44. package/dist/transform/mutations/RemoveComment.js +25 -43
  45. package/dist/transform/mutations/RemoveComment.js.flow +1 -1
  46. package/dist/transform/mutations/RemoveNode.js +192 -0
  47. package/dist/transform/mutations/RemoveNode.js.flow +290 -0
  48. package/dist/transform/mutations/RemoveStatement.js +7 -9
  49. package/dist/transform/mutations/RemoveStatement.js.flow +1 -1
  50. package/dist/transform/mutations/ReplaceNode.js +36 -44
  51. package/dist/transform/mutations/ReplaceNode.js.flow +1 -1
  52. package/dist/transform/mutations/ReplaceStatementWithMany.js +11 -13
  53. package/dist/transform/mutations/ReplaceStatementWithMany.js.flow +1 -1
  54. package/dist/transform/mutations/utils/arrayUtils.js +16 -14
  55. package/dist/transform/mutations/utils/arrayUtils.js.flow +16 -1
  56. package/dist/transform/mutations/utils/getStatementParent.js +23 -28
  57. package/dist/transform/mutations/utils/getStatementParent.js.flow +2 -2
  58. package/dist/transform/mutations/utils/isValidModuleDeclarationParent.js +7 -24
  59. package/dist/transform/mutations/utils/isValidModuleDeclarationParent.js.flow +1 -1
  60. package/dist/transform/transform.js +58 -30
  61. package/dist/transform/transform.js.flow +51 -13
  62. package/dist/traverse/NodeEventGenerator.js +91 -165
  63. package/dist/traverse/NodeEventGenerator.js.flow +1 -1
  64. package/dist/traverse/SafeEmitter.js +20 -38
  65. package/dist/traverse/SafeEmitter.js.flow +1 -1
  66. package/dist/traverse/SimpleTraverser.js +67 -98
  67. package/dist/traverse/SimpleTraverser.js.flow +4 -1
  68. package/dist/traverse/esquery.js +6 -6
  69. package/dist/traverse/esquery.js.flow +1 -1
  70. package/dist/traverse/traverse.js +64 -52
  71. package/dist/traverse/traverse.js.flow +63 -10
  72. package/package.json +5 -3
  73. package/dist/transform/mutations/AddLeadingComments.js +0 -47
  74. package/dist/transform/mutations/AddLeadingComments.js.flow +0 -49
  75. package/dist/transform/mutations/AddTrailingComments.js +0 -47
  76. package/dist/transform/mutations/AddTrailingComments.js.flow +0 -49
@@ -1,49 +0,0 @@
1
- /**
2
- * Copyright (c) Facebook, Inc. and its affiliates.
3
- *
4
- * This source code is licensed under the MIT license found in the
5
- * LICENSE file in the root directory of this source tree.
6
- *
7
- * @flow strict-local
8
- * @format
9
- */
10
-
11
- import type {Comment, ESNode} from 'hermes-estree';
12
- import type {DetachedNode} from '../../detachedNode';
13
- import type {MutationContext} from '../MutationContext';
14
-
15
- import {addLeadingComment, cloneComment} from '../comments/comments';
16
-
17
- export type AddLeadingCommentsMutation = $ReadOnly<{
18
- type: 'addLeadingComments',
19
- comments: $ReadOnlyArray<Comment>,
20
- node: ESNode | DetachedNode<ESNode>,
21
- }>;
22
-
23
- export function createAddLeadingCommentsMutation(
24
- node: AddLeadingCommentsMutation['node'],
25
- comments: AddLeadingCommentsMutation['comments'],
26
- ): ?AddLeadingCommentsMutation {
27
- if (comments.length === 0) {
28
- return null;
29
- }
30
-
31
- return {
32
- type: 'addLeadingComments',
33
- comments,
34
- node,
35
- };
36
- }
37
-
38
- export function performAddLeadingCommentsMutation(
39
- mutationContext: MutationContext,
40
- mutation: AddLeadingCommentsMutation,
41
- ): null {
42
- for (const originalComment of mutation.comments) {
43
- const comment = cloneComment(originalComment);
44
- mutationContext.appendCommentToSource(comment);
45
- addLeadingComment(mutation.node, comment);
46
- }
47
-
48
- return null;
49
- }
@@ -1,47 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.createAddTrailingCommentsMutation = createAddTrailingCommentsMutation;
7
- exports.performAddTrailingCommentsMutation = performAddTrailingCommentsMutation;
8
-
9
- var _comments = require("../comments/comments");
10
-
11
- function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
12
-
13
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
14
-
15
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
16
-
17
- function createAddTrailingCommentsMutation(node, comments) {
18
- if (comments.length === 0) {
19
- return null;
20
- }
21
-
22
- return {
23
- type: 'addTrailingComments',
24
- comments: comments,
25
- node: node
26
- };
27
- }
28
-
29
- function performAddTrailingCommentsMutation(mutationContext, mutation) {
30
- var _iterator = _createForOfIteratorHelper(mutation.comments),
31
- _step;
32
-
33
- try {
34
- for (_iterator.s(); !(_step = _iterator.n()).done;) {
35
- var originalComment = _step.value;
36
- var comment = (0, _comments.cloneComment)(originalComment);
37
- mutationContext.appendCommentToSource(comment);
38
- (0, _comments.addTrailingComment)(mutation.node, comment);
39
- }
40
- } catch (err) {
41
- _iterator.e(err);
42
- } finally {
43
- _iterator.f();
44
- }
45
-
46
- return null;
47
- }
@@ -1,49 +0,0 @@
1
- /**
2
- * Copyright (c) Facebook, Inc. and its affiliates.
3
- *
4
- * This source code is licensed under the MIT license found in the
5
- * LICENSE file in the root directory of this source tree.
6
- *
7
- * @flow strict-local
8
- * @format
9
- */
10
-
11
- import type {Comment, ESNode} from 'hermes-estree';
12
- import type {DetachedNode} from '../../detachedNode';
13
- import type {MutationContext} from '../MutationContext';
14
-
15
- import {addTrailingComment, cloneComment} from '../comments/comments';
16
-
17
- export type AddTrailingCommentsMutation = $ReadOnly<{
18
- type: 'addTrailingComments',
19
- comments: $ReadOnlyArray<Comment>,
20
- node: ESNode | DetachedNode<ESNode>,
21
- }>;
22
-
23
- export function createAddTrailingCommentsMutation(
24
- node: AddTrailingCommentsMutation['node'],
25
- comments: AddTrailingCommentsMutation['comments'],
26
- ): ?AddTrailingCommentsMutation {
27
- if (comments.length === 0) {
28
- return null;
29
- }
30
-
31
- return {
32
- type: 'addTrailingComments',
33
- comments,
34
- node,
35
- };
36
- }
37
-
38
- export function performAddTrailingCommentsMutation(
39
- mutationContext: MutationContext,
40
- mutation: AddTrailingCommentsMutation,
41
- ): null {
42
- for (const originalComment of mutation.comments) {
43
- const comment = cloneComment(originalComment);
44
- mutationContext.appendCommentToSource(comment);
45
- addTrailingComment(mutation.node, comment);
46
- }
47
-
48
- return null;
49
- }