@atlaskit/editor-plugin-block-menu 0.0.13 → 0.0.14

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 (42) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/dist/cjs/blockMenuPlugin.js +6 -0
  3. package/dist/cjs/editor-commands/formatNode.js +23 -0
  4. package/dist/cjs/editor-commands/transforms/block-transforms.js +37 -0
  5. package/dist/cjs/editor-commands/transforms/container-transforms.js +59 -0
  6. package/dist/cjs/editor-commands/transforms/list-transforms.js +53 -0
  7. package/dist/cjs/editor-commands/transforms/transformNodeToTargetType.js +50 -0
  8. package/dist/cjs/editor-commands/transforms/types.js +5 -0
  9. package/dist/cjs/editor-commands/transforms/utils.js +109 -0
  10. package/dist/es2019/blockMenuPlugin.js +6 -0
  11. package/dist/es2019/editor-commands/formatNode.js +20 -0
  12. package/dist/es2019/editor-commands/transforms/block-transforms.js +38 -0
  13. package/dist/es2019/editor-commands/transforms/container-transforms.js +55 -0
  14. package/dist/es2019/editor-commands/transforms/list-transforms.js +49 -0
  15. package/dist/es2019/editor-commands/transforms/transformNodeToTargetType.js +48 -0
  16. package/dist/es2019/editor-commands/transforms/types.js +1 -0
  17. package/dist/es2019/editor-commands/transforms/utils.js +103 -0
  18. package/dist/esm/blockMenuPlugin.js +6 -0
  19. package/dist/esm/editor-commands/formatNode.js +17 -0
  20. package/dist/esm/editor-commands/transforms/block-transforms.js +32 -0
  21. package/dist/esm/editor-commands/transforms/container-transforms.js +54 -0
  22. package/dist/esm/editor-commands/transforms/list-transforms.js +48 -0
  23. package/dist/esm/editor-commands/transforms/transformNodeToTargetType.js +44 -0
  24. package/dist/esm/editor-commands/transforms/types.js +1 -0
  25. package/dist/esm/editor-commands/transforms/utils.js +103 -0
  26. package/dist/types/blockMenuPluginType.d.ts +6 -1
  27. package/dist/types/editor-commands/formatNode.d.ts +9 -0
  28. package/dist/types/editor-commands/transforms/block-transforms.d.ts +5 -0
  29. package/dist/types/editor-commands/transforms/container-transforms.d.ts +17 -0
  30. package/dist/types/editor-commands/transforms/list-transforms.d.ts +17 -0
  31. package/dist/types/editor-commands/transforms/transformNodeToTargetType.d.ts +4 -0
  32. package/dist/types/editor-commands/transforms/types.d.ts +11 -0
  33. package/dist/types/editor-commands/transforms/utils.d.ts +12 -0
  34. package/dist/types-ts4.5/blockMenuPluginType.d.ts +6 -1
  35. package/dist/types-ts4.5/editor-commands/formatNode.d.ts +9 -0
  36. package/dist/types-ts4.5/editor-commands/transforms/block-transforms.d.ts +5 -0
  37. package/dist/types-ts4.5/editor-commands/transforms/container-transforms.d.ts +17 -0
  38. package/dist/types-ts4.5/editor-commands/transforms/list-transforms.d.ts +17 -0
  39. package/dist/types-ts4.5/editor-commands/transforms/transformNodeToTargetType.d.ts +4 -0
  40. package/dist/types-ts4.5/editor-commands/transforms/types.d.ts +11 -0
  41. package/dist/types-ts4.5/editor-commands/transforms/utils.d.ts +12 -0
  42. package/package.json +5 -8
package/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # @atlaskit/editor-plugin-block-menu
2
2
 
3
+ ## 0.0.14
4
+
5
+ ### Patch Changes
6
+
7
+ - Updated dependencies
8
+
3
9
  ## 0.0.13
4
10
 
5
11
  ### Patch Changes
@@ -7,6 +7,7 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.blockMenuPlugin = void 0;
8
8
  var _react = _interopRequireDefault(require("react"));
9
9
  var _editorActions = require("./editor-actions");
10
+ var _formatNode2 = require("./editor-commands/formatNode");
10
11
  var _main = require("./pm-plugins/main");
11
12
  var _blockMenu = _interopRequireDefault(require("./ui/block-menu"));
12
13
  var _blockMenuComponents = require("./ui/block-menu-components");
@@ -34,6 +35,11 @@ var blockMenuPlugin = exports.blockMenuPlugin = function blockMenuPlugin(_ref) {
34
35
  return registry.components;
35
36
  }
36
37
  },
38
+ commands: {
39
+ formatNode: function formatNode(currentNode, targetType) {
40
+ return (0, _formatNode2.formatNode)(currentNode, targetType);
41
+ }
42
+ },
37
43
  contentComponent: function contentComponent(_ref2) {
38
44
  var editorView = _ref2.editorView,
39
45
  popupsMountPoint = _ref2.popupsMountPoint,
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.formatNode = void 0;
7
+ var _transformNodeToTargetType = require("./transforms/transformNodeToTargetType");
8
+ /**
9
+ * Formats the current node or selection to the specified target type
10
+ * @param currentNode - The current node
11
+ * @param targetType - The target node type to convert to
12
+ */
13
+ var formatNode = exports.formatNode = function formatNode(currentNode, targetType) {
14
+ return function (_ref) {
15
+ var tr = _ref.tr;
16
+ var selection = tr.selection;
17
+ try {
18
+ return (0, _transformNodeToTargetType.transformNodeToTargetType)(tr, currentNode, selection.from, targetType);
19
+ } catch (e) {
20
+ return null;
21
+ }
22
+ };
23
+ };
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.transformBlockNode = void 0;
7
+ var _containerTransforms = require("./container-transforms");
8
+ var _listTransforms = require("./list-transforms");
9
+ var _utils = require("./utils");
10
+ /**
11
+ * Transform block nodes (paragraph, heading, codeblock)
12
+ */
13
+ var transformBlockNode = exports.transformBlockNode = function transformBlockNode(context) {
14
+ var tr = context.tr,
15
+ targetNodeType = context.targetNodeType,
16
+ targetAttrs = context.targetAttrs;
17
+ var selection = tr.selection;
18
+ var $from = selection.$from,
19
+ $to = selection.$to;
20
+
21
+ // Handle transformation to list types
22
+ if ((0, _utils.isListNodeType)(targetNodeType)) {
23
+ return (0, _listTransforms.transformToList)();
24
+ }
25
+
26
+ // Handle transformation to container types (panel, expand, blockquote)
27
+ if ((0, _utils.isContainerNodeType)(targetNodeType)) {
28
+ return (0, _containerTransforms.transformToContainer)();
29
+ }
30
+
31
+ // Handle block type transformation (paragraph, heading, codeblock)
32
+ if ((0, _utils.isBlockNodeType)(targetNodeType)) {
33
+ tr.setBlockType($from.pos, $to.pos, targetNodeType, targetAttrs);
34
+ return tr;
35
+ }
36
+ return null;
37
+ };
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.unwrapAndConvertToList = exports.unwrapAndConvertToBlockType = exports.transformToContainer = exports.transformContainerNode = void 0;
7
+ var _utils = require("./utils");
8
+ /**
9
+ * Transform selection to container type
10
+ */
11
+ var transformToContainer = exports.transformToContainer = function transformToContainer() {
12
+ return null;
13
+ };
14
+
15
+ /**
16
+ * Transform container nodes (panel, expand, blockquote)
17
+ */
18
+ var transformContainerNode = exports.transformContainerNode = function transformContainerNode(_ref) {
19
+ var tr = _ref.tr,
20
+ sourcePos = _ref.sourcePos,
21
+ targetNodeType = _ref.targetNodeType,
22
+ targetAttrs = _ref.targetAttrs;
23
+ if (sourcePos === null) {
24
+ return null;
25
+ }
26
+
27
+ // Transform container to block type - unwrap and convert content
28
+ if ((0, _utils.isBlockNodeType)(targetNodeType)) {
29
+ return unwrapAndConvertToBlockType();
30
+ }
31
+
32
+ // Transform container to list type
33
+ if ((0, _utils.isListNodeType)(targetNodeType)) {
34
+ return unwrapAndConvertToList();
35
+ }
36
+
37
+ // Transform between container types
38
+ if ((0, _utils.isContainerNodeType)(targetNodeType)) {
39
+ tr.setNodeMarkup(sourcePos, targetNodeType, targetAttrs);
40
+ return tr;
41
+ }
42
+ return null;
43
+ };
44
+
45
+ /**
46
+ * Unwrap container node and convert content to block type
47
+ */
48
+ var unwrapAndConvertToBlockType = exports.unwrapAndConvertToBlockType = function unwrapAndConvertToBlockType() {
49
+ // Convert to block type directly
50
+ return null;
51
+ };
52
+
53
+ /**
54
+ * Unwrap container node and convert content to list
55
+ */
56
+ var unwrapAndConvertToList = exports.unwrapAndConvertToList = function unwrapAndConvertToList() {
57
+ // Convert to list directly
58
+ return null;
59
+ };
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.transformToList = exports.transformListNode = exports.transformBetweenListTypes = exports.liftListToBlockType = void 0;
7
+ var _utils = require("./utils");
8
+ /**
9
+ * Transform selection to list type
10
+ */
11
+ var transformToList = exports.transformToList = function transformToList() {
12
+ return null;
13
+ };
14
+
15
+ /**
16
+ * Transform list nodes
17
+ */
18
+ var transformListNode = exports.transformListNode = function transformListNode(_ref) {
19
+ var targetNodeType = _ref.targetNodeType;
20
+ // Transform list to block type
21
+ if ((0, _utils.isBlockNodeType)(targetNodeType)) {
22
+ // Lift list items out of the list and convert to target block type
23
+ return null;
24
+ }
25
+
26
+ // Transform list to container type
27
+ if ((0, _utils.isContainerNodeType)(targetNodeType)) {
28
+ // Lift list items out of the list and convert to container type
29
+ return null;
30
+ }
31
+
32
+ // Transform between list types
33
+ if ((0, _utils.isListNodeType)(targetNodeType)) {
34
+ // Lift list items out of the list and convert to the other list type
35
+ return null;
36
+ }
37
+ return null;
38
+ };
39
+
40
+ /**
41
+ * Lift list content and convert to block type
42
+ */
43
+ var liftListToBlockType = exports.liftListToBlockType = function liftListToBlockType() {
44
+ // Convert to target block type directly
45
+ return null;
46
+ };
47
+
48
+ /**
49
+ * Transform between different list types
50
+ */
51
+ var transformBetweenListTypes = exports.transformBetweenListTypes = function transformBetweenListTypes() {
52
+ return null;
53
+ };
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.transformNodeToTargetType = transformNodeToTargetType;
7
+ var _blockTransforms = require("./block-transforms");
8
+ var _containerTransforms = require("./container-transforms");
9
+ var _listTransforms = require("./list-transforms");
10
+ var _utils = require("./utils");
11
+ function transformNodeToTargetType(tr, sourceNode, sourcePos, targetType) {
12
+ var nodes = tr.doc.type.schema.nodes;
13
+ var targetNodeInfo = (0, _utils.getTargetNodeInfo)(targetType, nodes);
14
+ if (!targetNodeInfo) {
15
+ return null;
16
+ }
17
+ var targetNodeType = targetNodeInfo.nodeType,
18
+ targetAttrs = targetNodeInfo.attrs;
19
+
20
+ // Early return if trying to transform to the same type
21
+ if (sourceNode.type === targetNodeType) {
22
+ return tr; // No transformation needed
23
+ }
24
+
25
+ // Prepare transformation context
26
+ var transformationContext = {
27
+ tr: tr,
28
+ sourceNode: sourceNode,
29
+ sourcePos: sourcePos,
30
+ targetNodeType: targetNodeType,
31
+ targetAttrs: targetAttrs
32
+ };
33
+
34
+ // Route to appropriate transformation strategy based on source node type
35
+ try {
36
+ if ((0, _utils.isBlockNode)(sourceNode)) {
37
+ return (0, _blockTransforms.transformBlockNode)(transformationContext);
38
+ }
39
+ if ((0, _utils.isListNode)(sourceNode)) {
40
+ return (0, _listTransforms.transformListNode)(transformationContext);
41
+ }
42
+ if ((0, _utils.isContainerNode)(sourceNode)) {
43
+ return (0, _containerTransforms.transformContainerNode)(transformationContext);
44
+ }
45
+ return null;
46
+ } catch (e) {
47
+ // Node transformation failed
48
+ return null;
49
+ }
50
+ }
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
@@ -0,0 +1,109 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.isListNodeType = exports.isListNode = exports.isContainerNodeType = exports.isContainerNode = exports.isBlockNodeType = exports.isBlockNode = exports.getTargetNodeInfo = void 0;
7
+ var getTargetNodeInfo = exports.getTargetNodeInfo = function getTargetNodeInfo(targetType, nodes) {
8
+ switch (targetType) {
9
+ case 'heading1':
10
+ return {
11
+ nodeType: nodes.heading,
12
+ attrs: {
13
+ level: 1
14
+ }
15
+ };
16
+ case 'heading2':
17
+ return {
18
+ nodeType: nodes.heading,
19
+ attrs: {
20
+ level: 2
21
+ }
22
+ };
23
+ case 'heading3':
24
+ return {
25
+ nodeType: nodes.heading,
26
+ attrs: {
27
+ level: 3
28
+ }
29
+ };
30
+ case 'heading4':
31
+ return {
32
+ nodeType: nodes.heading,
33
+ attrs: {
34
+ level: 4
35
+ }
36
+ };
37
+ case 'heading5':
38
+ return {
39
+ nodeType: nodes.heading,
40
+ attrs: {
41
+ level: 5
42
+ }
43
+ };
44
+ case 'heading6':
45
+ return {
46
+ nodeType: nodes.heading,
47
+ attrs: {
48
+ level: 6
49
+ }
50
+ };
51
+ case 'paragraph':
52
+ return {
53
+ nodeType: nodes.paragraph
54
+ };
55
+ case 'blockquote':
56
+ return {
57
+ nodeType: nodes.blockquote
58
+ };
59
+ case 'expand':
60
+ return {
61
+ nodeType: nodes.expand
62
+ };
63
+ case 'panel':
64
+ return {
65
+ nodeType: nodes.panel,
66
+ attrs: {
67
+ panelType: 'info'
68
+ }
69
+ };
70
+ case 'codeblock':
71
+ return {
72
+ nodeType: nodes.codeBlock
73
+ };
74
+ case 'bulletList':
75
+ return {
76
+ nodeType: nodes.bulletList
77
+ };
78
+ case 'orderedList':
79
+ return {
80
+ nodeType: nodes.orderedList
81
+ };
82
+ case 'taskList':
83
+ return {
84
+ nodeType: nodes.taskList
85
+ };
86
+ default:
87
+ return null;
88
+ }
89
+ };
90
+
91
+ // Helper functions to categorize node types
92
+ var isBlockNode = exports.isBlockNode = function isBlockNode(node) {
93
+ return ['paragraph', 'heading', 'codeBlock'].includes(node.type.name);
94
+ };
95
+ var isListNode = exports.isListNode = function isListNode(node) {
96
+ return ['bulletList', 'orderedList', 'taskList', 'listItem'].includes(node.type.name);
97
+ };
98
+ var isContainerNode = exports.isContainerNode = function isContainerNode(node) {
99
+ return ['panel', 'expand', 'blockquote'].includes(node.type.name);
100
+ };
101
+ var isBlockNodeType = exports.isBlockNodeType = function isBlockNodeType(nodeType) {
102
+ return ['paragraph', 'heading', 'codeBlock'].includes(nodeType.name);
103
+ };
104
+ var isListNodeType = exports.isListNodeType = function isListNodeType(nodeType) {
105
+ return ['bulletList', 'orderedList', 'taskList'].includes(nodeType.name);
106
+ };
107
+ var isContainerNodeType = exports.isContainerNodeType = function isContainerNodeType(nodeType) {
108
+ return ['panel', 'expand', 'blockquote'].includes(nodeType.name);
109
+ };
@@ -1,5 +1,6 @@
1
1
  import React from 'react';
2
2
  import { createBlockMenuRegistry } from './editor-actions';
3
+ import { formatNode } from './editor-commands/formatNode';
3
4
  import { createPlugin } from './pm-plugins/main';
4
5
  import BlockMenu from './ui/block-menu';
5
6
  import { getBlockMenuComponents } from './ui/block-menu-components';
@@ -28,6 +29,11 @@ export const blockMenuPlugin = ({
28
29
  return registry.components;
29
30
  }
30
31
  },
32
+ commands: {
33
+ formatNode: (currentNode, targetType) => {
34
+ return formatNode(currentNode, targetType);
35
+ }
36
+ },
31
37
  contentComponent({
32
38
  editorView,
33
39
  popupsMountPoint,
@@ -0,0 +1,20 @@
1
+ import { transformNodeToTargetType } from './transforms/transformNodeToTargetType';
2
+ /**
3
+ * Formats the current node or selection to the specified target type
4
+ * @param currentNode - The current node
5
+ * @param targetType - The target node type to convert to
6
+ */
7
+ export const formatNode = (currentNode, targetType) => {
8
+ return ({
9
+ tr
10
+ }) => {
11
+ const {
12
+ selection
13
+ } = tr;
14
+ try {
15
+ return transformNodeToTargetType(tr, currentNode, selection.from, targetType);
16
+ } catch (e) {
17
+ return null;
18
+ }
19
+ };
20
+ };
@@ -0,0 +1,38 @@
1
+ import { transformToContainer } from './container-transforms';
2
+ import { transformToList } from './list-transforms';
3
+ import { isListNodeType, isContainerNodeType, isBlockNodeType } from './utils';
4
+
5
+ /**
6
+ * Transform block nodes (paragraph, heading, codeblock)
7
+ */
8
+ export const transformBlockNode = context => {
9
+ const {
10
+ tr,
11
+ targetNodeType,
12
+ targetAttrs
13
+ } = context;
14
+ const {
15
+ selection
16
+ } = tr;
17
+ const {
18
+ $from,
19
+ $to
20
+ } = selection;
21
+
22
+ // Handle transformation to list types
23
+ if (isListNodeType(targetNodeType)) {
24
+ return transformToList();
25
+ }
26
+
27
+ // Handle transformation to container types (panel, expand, blockquote)
28
+ if (isContainerNodeType(targetNodeType)) {
29
+ return transformToContainer();
30
+ }
31
+
32
+ // Handle block type transformation (paragraph, heading, codeblock)
33
+ if (isBlockNodeType(targetNodeType)) {
34
+ tr.setBlockType($from.pos, $to.pos, targetNodeType, targetAttrs);
35
+ return tr;
36
+ }
37
+ return null;
38
+ };
@@ -0,0 +1,55 @@
1
+ import { isBlockNodeType, isListNodeType, isContainerNodeType } from './utils';
2
+
3
+ /**
4
+ * Transform selection to container type
5
+ */
6
+ export const transformToContainer = () => {
7
+ return null;
8
+ };
9
+
10
+ /**
11
+ * Transform container nodes (panel, expand, blockquote)
12
+ */
13
+ export const transformContainerNode = ({
14
+ tr,
15
+ sourcePos,
16
+ targetNodeType,
17
+ targetAttrs
18
+ }) => {
19
+ if (sourcePos === null) {
20
+ return null;
21
+ }
22
+
23
+ // Transform container to block type - unwrap and convert content
24
+ if (isBlockNodeType(targetNodeType)) {
25
+ return unwrapAndConvertToBlockType();
26
+ }
27
+
28
+ // Transform container to list type
29
+ if (isListNodeType(targetNodeType)) {
30
+ return unwrapAndConvertToList();
31
+ }
32
+
33
+ // Transform between container types
34
+ if (isContainerNodeType(targetNodeType)) {
35
+ tr.setNodeMarkup(sourcePos, targetNodeType, targetAttrs);
36
+ return tr;
37
+ }
38
+ return null;
39
+ };
40
+
41
+ /**
42
+ * Unwrap container node and convert content to block type
43
+ */
44
+ export const unwrapAndConvertToBlockType = () => {
45
+ // Convert to block type directly
46
+ return null;
47
+ };
48
+
49
+ /**
50
+ * Unwrap container node and convert content to list
51
+ */
52
+ export const unwrapAndConvertToList = () => {
53
+ // Convert to list directly
54
+ return null;
55
+ };
@@ -0,0 +1,49 @@
1
+ import { isBlockNodeType, isContainerNodeType, isListNodeType } from './utils';
2
+
3
+ /**
4
+ * Transform selection to list type
5
+ */
6
+ export const transformToList = () => {
7
+ return null;
8
+ };
9
+
10
+ /**
11
+ * Transform list nodes
12
+ */
13
+ export const transformListNode = ({
14
+ targetNodeType
15
+ }) => {
16
+ // Transform list to block type
17
+ if (isBlockNodeType(targetNodeType)) {
18
+ // Lift list items out of the list and convert to target block type
19
+ return null;
20
+ }
21
+
22
+ // Transform list to container type
23
+ if (isContainerNodeType(targetNodeType)) {
24
+ // Lift list items out of the list and convert to container type
25
+ return null;
26
+ }
27
+
28
+ // Transform between list types
29
+ if (isListNodeType(targetNodeType)) {
30
+ // Lift list items out of the list and convert to the other list type
31
+ return null;
32
+ }
33
+ return null;
34
+ };
35
+
36
+ /**
37
+ * Lift list content and convert to block type
38
+ */
39
+ export const liftListToBlockType = () => {
40
+ // Convert to target block type directly
41
+ return null;
42
+ };
43
+
44
+ /**
45
+ * Transform between different list types
46
+ */
47
+ export const transformBetweenListTypes = () => {
48
+ return null;
49
+ };
@@ -0,0 +1,48 @@
1
+ import { transformBlockNode } from './block-transforms';
2
+ import { transformContainerNode } from './container-transforms';
3
+ import { transformListNode } from './list-transforms';
4
+ import { getTargetNodeInfo, isBlockNode, isListNode, isContainerNode } from './utils';
5
+ export function transformNodeToTargetType(tr, sourceNode, sourcePos, targetType) {
6
+ const {
7
+ nodes
8
+ } = tr.doc.type.schema;
9
+ const targetNodeInfo = getTargetNodeInfo(targetType, nodes);
10
+ if (!targetNodeInfo) {
11
+ return null;
12
+ }
13
+ const {
14
+ nodeType: targetNodeType,
15
+ attrs: targetAttrs
16
+ } = targetNodeInfo;
17
+
18
+ // Early return if trying to transform to the same type
19
+ if (sourceNode.type === targetNodeType) {
20
+ return tr; // No transformation needed
21
+ }
22
+
23
+ // Prepare transformation context
24
+ const transformationContext = {
25
+ tr,
26
+ sourceNode,
27
+ sourcePos,
28
+ targetNodeType,
29
+ targetAttrs
30
+ };
31
+
32
+ // Route to appropriate transformation strategy based on source node type
33
+ try {
34
+ if (isBlockNode(sourceNode)) {
35
+ return transformBlockNode(transformationContext);
36
+ }
37
+ if (isListNode(sourceNode)) {
38
+ return transformListNode(transformationContext);
39
+ }
40
+ if (isContainerNode(sourceNode)) {
41
+ return transformContainerNode(transformationContext);
42
+ }
43
+ return null;
44
+ } catch (e) {
45
+ // Node transformation failed
46
+ return null;
47
+ }
48
+ }
@@ -0,0 +1 @@
1
+ export {};