@lwc/metadata 2.19.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 (223) hide show
  1. package/LICENSE.txt +21 -0
  2. package/dist/__tests__/bundle-metadata.spec.d.ts +1 -0
  3. package/dist/bundle-metadata.d.ts +3 -0
  4. package/dist/bundle-metadata.js +119 -0
  5. package/dist/bundle-metadata.js.map +1 -0
  6. package/dist/dependency-analyzer/__tests__/komaci-script-docs.fixtures.spec.d.ts +1 -0
  7. package/dist/dependency-analyzer/__tests__/komaci-template-docs.fixtures.spec.d.ts +1 -0
  8. package/dist/dependency-analyzer/analyzeScriptFile.d.ts +4 -0
  9. package/dist/dependency-analyzer/analyzeScriptFile.js +465 -0
  10. package/dist/dependency-analyzer/analyzeScriptFile.js.map +1 -0
  11. package/dist/dependency-analyzer/analyzeTemplateFile.d.ts +3 -0
  12. package/dist/dependency-analyzer/analyzeTemplateFile.js +364 -0
  13. package/dist/dependency-analyzer/analyzeTemplateFile.js.map +1 -0
  14. package/dist/dependency-analyzer/index.d.ts +2 -0
  15. package/dist/errors/errors.d.ts +9 -0
  16. package/dist/errors/errors.js +119 -0
  17. package/dist/errors/errors.js.map +1 -0
  18. package/dist/index.d.ts +7 -0
  19. package/dist/index.js +20 -0
  20. package/dist/index.js.map +1 -0
  21. package/dist/schema/typescript-types/bundle-metadata-types.d.ts +14 -0
  22. package/dist/schema/typescript-types/common-metadata-types.d.ts +25 -0
  23. package/dist/schema/typescript-types/script-metadata-types.d.ts +241 -0
  24. package/dist/schema/typescript-types/script-metadata-types.js +18 -0
  25. package/dist/schema/typescript-types/script-metadata-types.js.map +1 -0
  26. package/dist/schema/typescript-types/style-metadata-types.d.ts +35 -0
  27. package/dist/schema/typescript-types/style-metadata-types.js +13 -0
  28. package/dist/schema/typescript-types/style-metadata-types.js.map +1 -0
  29. package/dist/schema/typescript-types/template-metadata-types.d.ts +11 -0
  30. package/dist/schema/typescript-types/template-metadata-types.js +13 -0
  31. package/dist/schema/typescript-types/template-metadata-types.js.map +1 -0
  32. package/dist/script-metadata/__tests__/class.members.spec.d.ts +1 -0
  33. package/dist/script-metadata/__tests__/classes.spec.d.ts +1 -0
  34. package/dist/script-metadata/__tests__/dynamic-import-hints.spec.d.ts +1 -0
  35. package/dist/script-metadata/__tests__/dynamic-imports.spec.d.ts +1 -0
  36. package/dist/script-metadata/__tests__/exports-default.spec.d.ts +1 -0
  37. package/dist/script-metadata/__tests__/exports.spec.d.ts +1 -0
  38. package/dist/script-metadata/__tests__/imports.spec.d.ts +1 -0
  39. package/dist/script-metadata/__tests__/module-references.spec.d.ts +1 -0
  40. package/dist/script-metadata/__tests__/reexports.spec.d.ts +1 -0
  41. package/dist/script-metadata/__tests__/script-metadata.spec.d.ts +1 -0
  42. package/dist/script-metadata/__tests__/test-util.d.ts +3 -0
  43. package/dist/script-metadata/decorators/__tests__/decorators.spec.d.ts +1 -0
  44. package/dist/script-metadata/decorators/index.d.ts +4 -0
  45. package/dist/script-metadata/decorators/index.js +184 -0
  46. package/dist/script-metadata/decorators/index.js.map +1 -0
  47. package/dist/script-metadata/events/__tests__/event-construction.spec.d.ts +1 -0
  48. package/dist/script-metadata/events/__tests__/event-dispatch.spec.d.ts +1 -0
  49. package/dist/script-metadata/events/__tests__/event-listener.spec.d.ts +1 -0
  50. package/dist/script-metadata/events/event-construction.d.ts +7 -0
  51. package/dist/script-metadata/events/event-construction.js +55 -0
  52. package/dist/script-metadata/events/event-construction.js.map +1 -0
  53. package/dist/script-metadata/events/event-dispatch.d.ts +5 -0
  54. package/dist/script-metadata/events/event-dispatch.js +46 -0
  55. package/dist/script-metadata/events/event-dispatch.js.map +1 -0
  56. package/dist/script-metadata/events/event-listener.d.ts +4 -0
  57. package/dist/script-metadata/events/event-listener.js +74 -0
  58. package/dist/script-metadata/events/event-listener.js.map +1 -0
  59. package/dist/script-metadata/events/util.d.ts +14 -0
  60. package/dist/script-metadata/events/util.js +63 -0
  61. package/dist/script-metadata/events/util.js.map +1 -0
  62. package/dist/script-metadata/index.d.ts +8 -0
  63. package/dist/script-metadata/index.js +203 -0
  64. package/dist/script-metadata/index.js.map +1 -0
  65. package/dist/script-metadata/module-references/__tests__/generic-module.spec.d.ts +1 -0
  66. package/dist/script-metadata/module-references/__tests__/local-module.spec.d.ts +1 -0
  67. package/dist/script-metadata/module-references/__tests__/salesforce-references/access-check.spec.d.ts +1 -0
  68. package/dist/script-metadata/module-references/__tests__/salesforce-references/apex-continuation.spec.d.ts +1 -0
  69. package/dist/script-metadata/module-references/__tests__/salesforce-references/apex.spec.d.ts +1 -0
  70. package/dist/script-metadata/module-references/__tests__/salesforce-references/base.spec.d.ts +1 -0
  71. package/dist/script-metadata/module-references/__tests__/salesforce-references/client.spec.d.ts +1 -0
  72. package/dist/script-metadata/module-references/__tests__/salesforce-references/commerce.spec.d.ts +1 -0
  73. package/dist/script-metadata/module-references/__tests__/salesforce-references/community.spec.d.ts +1 -0
  74. package/dist/script-metadata/module-references/__tests__/salesforce-references/content-asset-url.spec.d.ts +1 -0
  75. package/dist/script-metadata/module-references/__tests__/salesforce-references/custom-permission.spec.d.ts +1 -0
  76. package/dist/script-metadata/module-references/__tests__/salesforce-references/gates.spec.d.ts +1 -0
  77. package/dist/script-metadata/module-references/__tests__/salesforce-references/i18n.spec.d.ts +1 -0
  78. package/dist/script-metadata/module-references/__tests__/salesforce-references/internal.spec.d.ts +1 -0
  79. package/dist/script-metadata/module-references/__tests__/salesforce-references/komaci.spec.d.ts +1 -0
  80. package/dist/script-metadata/module-references/__tests__/salesforce-references/label.spec.d.ts +1 -0
  81. package/dist/script-metadata/module-references/__tests__/salesforce-references/loader.spec.d.ts +1 -0
  82. package/dist/script-metadata/module-references/__tests__/salesforce-references/message-channel.spec.d.ts +1 -0
  83. package/dist/script-metadata/module-references/__tests__/salesforce-references/metric.spec.d.ts +1 -0
  84. package/dist/script-metadata/module-references/__tests__/salesforce-references/resource-url.spec.d.ts +1 -0
  85. package/dist/script-metadata/module-references/__tests__/salesforce-references/schema.spec.d.ts +1 -0
  86. package/dist/script-metadata/module-references/__tests__/salesforce-references/site.spec.d.ts +1 -0
  87. package/dist/script-metadata/module-references/__tests__/salesforce-references/slds.spec.d.ts +1 -0
  88. package/dist/script-metadata/module-references/__tests__/salesforce-references/user-permission.spec.d.ts +1 -0
  89. package/dist/script-metadata/module-references/__tests__/salesforce-references/user.spec.d.ts +1 -0
  90. package/dist/script-metadata/module-references/collectors/__tests__/collection-api.spec.d.ts +1 -0
  91. package/dist/script-metadata/module-references/collectors/generic-module.d.ts +3 -0
  92. package/dist/script-metadata/module-references/collectors/generic-module.js +92 -0
  93. package/dist/script-metadata/module-references/collectors/generic-module.js.map +1 -0
  94. package/dist/script-metadata/module-references/collectors/local-module.d.ts +3 -0
  95. package/dist/script-metadata/module-references/collectors/local-module.js +16 -0
  96. package/dist/script-metadata/module-references/collectors/local-module.js.map +1 -0
  97. package/dist/script-metadata/module-references/collectors/main.d.ts +8 -0
  98. package/dist/script-metadata/module-references/collectors/main.js +37 -0
  99. package/dist/script-metadata/module-references/collectors/main.js.map +1 -0
  100. package/dist/script-metadata/module-references/collectors/scoped/access-check.d.ts +3 -0
  101. package/dist/script-metadata/module-references/collectors/scoped/access-check.js +12 -0
  102. package/dist/script-metadata/module-references/collectors/scoped/access-check.js.map +1 -0
  103. package/dist/script-metadata/module-references/collectors/scoped/apex.d.ts +3 -0
  104. package/dist/script-metadata/module-references/collectors/scoped/apex.js +88 -0
  105. package/dist/script-metadata/module-references/collectors/scoped/apex.js.map +1 -0
  106. package/dist/script-metadata/module-references/collectors/scoped/client.d.ts +3 -0
  107. package/dist/script-metadata/module-references/collectors/scoped/client.js +28 -0
  108. package/dist/script-metadata/module-references/collectors/scoped/client.js.map +1 -0
  109. package/dist/script-metadata/module-references/collectors/scoped/commerce.d.ts +3 -0
  110. package/dist/script-metadata/module-references/collectors/scoped/commerce.js +26 -0
  111. package/dist/script-metadata/module-references/collectors/scoped/commerce.js.map +1 -0
  112. package/dist/script-metadata/module-references/collectors/scoped/community.d.ts +3 -0
  113. package/dist/script-metadata/module-references/collectors/scoped/community.js +29 -0
  114. package/dist/script-metadata/module-references/collectors/scoped/community.js.map +1 -0
  115. package/dist/script-metadata/module-references/collectors/scoped/content-asset-url.d.ts +3 -0
  116. package/dist/script-metadata/module-references/collectors/scoped/content-asset-url.js +12 -0
  117. package/dist/script-metadata/module-references/collectors/scoped/content-asset-url.js.map +1 -0
  118. package/dist/script-metadata/module-references/collectors/scoped/custom-permissions.d.ts +3 -0
  119. package/dist/script-metadata/module-references/collectors/scoped/custom-permissions.js +12 -0
  120. package/dist/script-metadata/module-references/collectors/scoped/custom-permissions.js.map +1 -0
  121. package/dist/script-metadata/module-references/collectors/scoped/design-system.d.ts +3 -0
  122. package/dist/script-metadata/module-references/collectors/scoped/design-system.js +21 -0
  123. package/dist/script-metadata/module-references/collectors/scoped/design-system.js.map +1 -0
  124. package/dist/script-metadata/module-references/collectors/scoped/gate.d.ts +3 -0
  125. package/dist/script-metadata/module-references/collectors/scoped/gate.js +12 -0
  126. package/dist/script-metadata/module-references/collectors/scoped/gate.js.map +1 -0
  127. package/dist/script-metadata/module-references/collectors/scoped/generic-prefix-salesforce-collector.d.ts +9 -0
  128. package/dist/script-metadata/module-references/collectors/scoped/generic-prefix-salesforce-collector.js +22 -0
  129. package/dist/script-metadata/module-references/collectors/scoped/generic-prefix-salesforce-collector.js.map +1 -0
  130. package/dist/script-metadata/module-references/collectors/scoped/i18n.d.ts +3 -0
  131. package/dist/script-metadata/module-references/collectors/scoped/i18n.js +12 -0
  132. package/dist/script-metadata/module-references/collectors/scoped/i18n.js.map +1 -0
  133. package/dist/script-metadata/module-references/collectors/scoped/internal.d.ts +3 -0
  134. package/dist/script-metadata/module-references/collectors/scoped/internal.js +35 -0
  135. package/dist/script-metadata/module-references/collectors/scoped/internal.js.map +1 -0
  136. package/dist/script-metadata/module-references/collectors/scoped/komaci.d.ts +3 -0
  137. package/dist/script-metadata/module-references/collectors/scoped/komaci.js +67 -0
  138. package/dist/script-metadata/module-references/collectors/scoped/komaci.js.map +1 -0
  139. package/dist/script-metadata/module-references/collectors/scoped/label.d.ts +3 -0
  140. package/dist/script-metadata/module-references/collectors/scoped/label.js +12 -0
  141. package/dist/script-metadata/module-references/collectors/scoped/label.js.map +1 -0
  142. package/dist/script-metadata/module-references/collectors/scoped/message-channel.d.ts +3 -0
  143. package/dist/script-metadata/module-references/collectors/scoped/message-channel.js +12 -0
  144. package/dist/script-metadata/module-references/collectors/scoped/message-channel.js.map +1 -0
  145. package/dist/script-metadata/module-references/collectors/scoped/metric.d.ts +3 -0
  146. package/dist/script-metadata/module-references/collectors/scoped/metric.js +12 -0
  147. package/dist/script-metadata/module-references/collectors/scoped/metric.js.map +1 -0
  148. package/dist/script-metadata/module-references/collectors/scoped/resource-url.d.ts +3 -0
  149. package/dist/script-metadata/module-references/collectors/scoped/resource-url.js +12 -0
  150. package/dist/script-metadata/module-references/collectors/scoped/resource-url.js.map +1 -0
  151. package/dist/script-metadata/module-references/collectors/scoped/schema.d.ts +3 -0
  152. package/dist/script-metadata/module-references/collectors/scoped/schema.js +12 -0
  153. package/dist/script-metadata/module-references/collectors/scoped/schema.js.map +1 -0
  154. package/dist/script-metadata/module-references/collectors/scoped/site.d.ts +3 -0
  155. package/dist/script-metadata/module-references/collectors/scoped/site.js +28 -0
  156. package/dist/script-metadata/module-references/collectors/scoped/site.js.map +1 -0
  157. package/dist/script-metadata/module-references/collectors/scoped/user-permissions.d.ts +3 -0
  158. package/dist/script-metadata/module-references/collectors/scoped/user-permissions.js +12 -0
  159. package/dist/script-metadata/module-references/collectors/scoped/user-permissions.js.map +1 -0
  160. package/dist/script-metadata/module-references/collectors/scoped/user.d.ts +3 -0
  161. package/dist/script-metadata/module-references/collectors/scoped/user.js +28 -0
  162. package/dist/script-metadata/module-references/collectors/scoped/user.js.map +1 -0
  163. package/dist/script-metadata/module-references/collectors/utils.d.ts +16 -0
  164. package/dist/script-metadata/module-references/collectors/utils.js +166 -0
  165. package/dist/script-metadata/module-references/collectors/utils.js.map +1 -0
  166. package/dist/script-metadata/module-references/reference.d.ts +4 -0
  167. package/dist/script-metadata/module-references/reference.js +78 -0
  168. package/dist/script-metadata/module-references/reference.js.map +1 -0
  169. package/dist/script-metadata/resolver.d.ts +17 -0
  170. package/dist/script-metadata/resolver.js +306 -0
  171. package/dist/script-metadata/resolver.js.map +1 -0
  172. package/dist/script-metadata/utils.d.ts +34 -0
  173. package/dist/script-metadata/utils.js +118 -0
  174. package/dist/script-metadata/utils.js.map +1 -0
  175. package/dist/script-metadata/visitors/call-expression-visitor.d.ts +5 -0
  176. package/dist/script-metadata/visitors/call-expression-visitor.js +124 -0
  177. package/dist/script-metadata/visitors/call-expression-visitor.js.map +1 -0
  178. package/dist/script-metadata/visitors/class-visitor.d.ts +5 -0
  179. package/dist/script-metadata/visitors/class-visitor.js +195 -0
  180. package/dist/script-metadata/visitors/class-visitor.js.map +1 -0
  181. package/dist/script-metadata/visitors/dynamic-imports-visitor.d.ts +9 -0
  182. package/dist/script-metadata/visitors/dynamic-imports-visitor.js +68 -0
  183. package/dist/script-metadata/visitors/dynamic-imports-visitor.js.map +1 -0
  184. package/dist/script-metadata/visitors/export-all-visitor.d.ts +10 -0
  185. package/dist/script-metadata/visitors/export-all-visitor.js +65 -0
  186. package/dist/script-metadata/visitors/export-all-visitor.js.map +1 -0
  187. package/dist/script-metadata/visitors/export-default-visitor.d.ts +5 -0
  188. package/dist/script-metadata/visitors/export-default-visitor.js +67 -0
  189. package/dist/script-metadata/visitors/export-default-visitor.js.map +1 -0
  190. package/dist/script-metadata/visitors/export-named-visitor.d.ts +5 -0
  191. package/dist/script-metadata/visitors/export-named-visitor.js +125 -0
  192. package/dist/script-metadata/visitors/export-named-visitor.js.map +1 -0
  193. package/dist/script-metadata/visitors/module-imports-visitor.d.ts +5 -0
  194. package/dist/script-metadata/visitors/module-imports-visitor.js +63 -0
  195. package/dist/script-metadata/visitors/module-imports-visitor.js.map +1 -0
  196. package/dist/script-metadata/visitors/new-expression-visitor.d.ts +5 -0
  197. package/dist/script-metadata/visitors/new-expression-visitor.js +36 -0
  198. package/dist/script-metadata/visitors/new-expression-visitor.js.map +1 -0
  199. package/dist/shared/config.d.ts +15 -0
  200. package/dist/shared/utils.d.ts +66 -0
  201. package/dist/shared/utils.js +129 -0
  202. package/dist/shared/utils.js.map +1 -0
  203. package/dist/style-metadata/__tests__/component-references.spec.d.ts +1 -0
  204. package/dist/style-metadata/__tests__/custom-properties.spec.d.ts +1 -0
  205. package/dist/style-metadata/__tests__/imports.spec.d.ts +1 -0
  206. package/dist/style-metadata/__tests__/index.spec.d.ts +1 -0
  207. package/dist/style-metadata/component-references.d.ts +4 -0
  208. package/dist/style-metadata/component-references.js +82 -0
  209. package/dist/style-metadata/component-references.js.map +1 -0
  210. package/dist/style-metadata/custom-properties.d.ts +3 -0
  211. package/dist/style-metadata/custom-properties.js +70 -0
  212. package/dist/style-metadata/custom-properties.js.map +1 -0
  213. package/dist/style-metadata/imports.d.ts +4 -0
  214. package/dist/style-metadata/imports.js +120 -0
  215. package/dist/style-metadata/imports.js.map +1 -0
  216. package/dist/style-metadata/index.d.ts +6 -0
  217. package/dist/style-metadata/index.js +70 -0
  218. package/dist/style-metadata/index.js.map +1 -0
  219. package/dist/template-metadata/__tests__/component-reference.spec.d.ts +1 -0
  220. package/dist/template-metadata/index.d.ts +6 -0
  221. package/dist/template-metadata/index.js +136 -0
  222. package/dist/template-metadata/index.js.map +1 -0
  223. package/package.json +35 -0
@@ -0,0 +1,195 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var t = require('@babel/types');
6
+ var utils = require('../utils.js');
7
+ var utils$1 = require('../../shared/utils.js');
8
+ var index = require('../decorators/index.js');
9
+ var resolver = require('../resolver.js');
10
+
11
+ function _interopNamespace(e) {
12
+ if (e && e.__esModule) return e;
13
+ var n = Object.create(null);
14
+ if (e) {
15
+ Object.keys(e).forEach(function (k) {
16
+ if (k !== 'default') {
17
+ var d = Object.getOwnPropertyDescriptor(e, k);
18
+ Object.defineProperty(n, k, d.get ? d : {
19
+ enumerable: true,
20
+ get: function () { return e[k]; }
21
+ });
22
+ }
23
+ });
24
+ }
25
+ n["default"] = e;
26
+ return Object.freeze(n);
27
+ }
28
+
29
+ var t__namespace = /*#__PURE__*/_interopNamespace(t);
30
+
31
+ // Copyright (c) 2022, Salesforce, Inc.,
32
+ function gatherParentClassMetadata(superClass, scope, state) {
33
+ const superClassName = superClass.name;
34
+ const binding = scope.getBinding(superClassName);
35
+ if (utils$1.isUndefined(binding)) {
36
+ return 'unresolved';
37
+ }
38
+ const { node, parent } = binding.path;
39
+ // Super class was imported, resolve ModuleReference
40
+ if (t__namespace.isImportDeclaration(parent) &&
41
+ (t__namespace.isImportSpecifier(node) || t__namespace.isImportDefaultSpecifier(node))) {
42
+ const moduleSpecifier = parent.source.value;
43
+ return {
44
+ name: superClassName,
45
+ moduleSpecifier,
46
+ refId: state.moduleReferenceLookup[moduleSpecifier].id,
47
+ location: utils.generateSourceLocation(superClass),
48
+ };
49
+ }
50
+ else if (t__namespace.isClass(node)) {
51
+ return {
52
+ name: superClassName,
53
+ refId: state.classLookup.get(node)?.id,
54
+ location: utils.generateSourceLocation(superClass),
55
+ };
56
+ }
57
+ return 'unresolved';
58
+ }
59
+ function extractComment(node) {
60
+ if (node.leadingComments) {
61
+ const lastCommentNode = node.leadingComments[node.leadingComments.length - 1];
62
+ if (lastCommentNode.type === 'CommentBlock') {
63
+ return lastCommentNode.value.charAt(0) === '*' ? lastCommentNode.value : undefined;
64
+ }
65
+ }
66
+ }
67
+ function extractClassComment(path) {
68
+ if (path.node.leadingComments) {
69
+ return extractComment(path.node);
70
+ }
71
+ else if (t__namespace.isExportDefaultDeclaration(path.parentPath.node) ||
72
+ t__namespace.isExportNamedDeclaration(path.parentPath.node)) {
73
+ return extractComment(path.parentPath.node);
74
+ }
75
+ }
76
+ function visitorFunction(state, result) {
77
+ return function ClassVisitorFunction(path) {
78
+ const { node, scope } = path;
79
+ const { id, superClass, body } = node;
80
+ const name = id?.name;
81
+ const classMetadata = {
82
+ location: utils.generateSourceLocation(node),
83
+ name,
84
+ id: state.generateReferenceId('Class', name),
85
+ properties: [],
86
+ methods: [],
87
+ __internal__doc: extractClassComment(path),
88
+ };
89
+ if (!utils$1.isNull(superClass) && !utils$1.isUndefined(superClass)) {
90
+ let parentClass;
91
+ if (superClass.type === 'Identifier') {
92
+ parentClass = gatherParentClassMetadata(superClass, scope, state);
93
+ }
94
+ else {
95
+ parentClass = 'unresolved';
96
+ }
97
+ classMetadata.extends = parentClass;
98
+ if (parentClass !== 'unresolved' &&
99
+ parentClass.name === 'LightningElement' &&
100
+ parentClass['moduleSpecifier'] === 'lwc') {
101
+ classMetadata.isComponentClass = true;
102
+ }
103
+ }
104
+ // Look up for processing getter/setter pair as a single class property
105
+ const visitedAccessors = {};
106
+ const classMemberPaths = path.get('body.body');
107
+ body.body.forEach((classMember, index$1) => {
108
+ const classMemberPath = classMemberPaths[index$1];
109
+ // Ignore all the unsupported class members by metadata gathering - eg. members with
110
+ // computed names or private fields.
111
+ if (!utils.isClassMember(classMember) || utils$1.isTrue(classMember.computed)) {
112
+ return;
113
+ }
114
+ // Ignore all the class member where name can't be extracted.
115
+ const memberName = utils.getClassMemberName(classMember);
116
+ if (utils$1.isUndefined(memberName)) {
117
+ return;
118
+ }
119
+ const doc = extractComment(classMember);
120
+ const location = utils.generateSourceLocation(classMember);
121
+ const decorators = index.gatherDecoratorMetadata(classMember, scope, state);
122
+ if (utils.isClassPropertyOrAccessor(classMember)) {
123
+ // if it is a data property
124
+ if (t__namespace.isClassProperty(classMember)) {
125
+ const initialValue = classMember.value
126
+ ? resolver.resolveExpression(classMember.value, scope)
127
+ : {
128
+ type: 'Undefined',
129
+ value: undefined,
130
+ };
131
+ classMetadata.properties.push({
132
+ type: 'Property',
133
+ name: memberName,
134
+ propertyType: 'dataProperty',
135
+ dataProperty: {
136
+ initialValue,
137
+ location,
138
+ },
139
+ decorators,
140
+ static: classMember.static ?? false,
141
+ __internal__doc: doc,
142
+ });
143
+ }
144
+ else {
145
+ // else must be a setter or getter
146
+ // If this is the first time the property is being visited
147
+ let classPropertyMeta;
148
+ if (utils$1.isUndefined(visitedAccessors[memberName])) {
149
+ classPropertyMeta = {
150
+ type: 'Property',
151
+ name: memberName,
152
+ propertyType: 'accessor',
153
+ decorators: [],
154
+ static: classMember.static ?? false,
155
+ __internal__doc: doc, // The first accessor with doc wins, keeping same behavior as v1
156
+ };
157
+ visitedAccessors[memberName] = classPropertyMeta;
158
+ classMetadata.properties.push(classPropertyMeta);
159
+ }
160
+ else {
161
+ classPropertyMeta = visitedAccessors[memberName];
162
+ }
163
+ if (classMember.kind === 'get') {
164
+ const initialValue = resolver.resolveMethodReturnValue(classMember, classMemberPath.scope);
165
+ classPropertyMeta.getter = {
166
+ initialValue,
167
+ location,
168
+ };
169
+ }
170
+ else {
171
+ classPropertyMeta.setter = {
172
+ location,
173
+ };
174
+ }
175
+ classPropertyMeta.decorators.push(...decorators);
176
+ }
177
+ }
178
+ else {
179
+ classMetadata.methods.push({
180
+ type: 'Method',
181
+ name: memberName,
182
+ location,
183
+ decorators,
184
+ __internal__doc: doc,
185
+ });
186
+ }
187
+ });
188
+ state.classLookup.set(path.node, classMetadata);
189
+ state.classNodeLookup.set(classMetadata, path);
190
+ result.classes.push(classMetadata);
191
+ };
192
+ }
193
+
194
+ exports["default"] = visitorFunction;
195
+ //# sourceMappingURL=class-visitor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"class-visitor.js","sources":["../../../src/script-metadata/visitors/class-visitor.ts"],"sourcesContent":[null],"names":["isUndefined","t","generateSourceLocation","isNull","index","isClassMember","isTrue","getClassMemberName","gatherDecoratorMetadata","isClassPropertyOrAccessor","resolveExpression","resolveMethodReturnValue"],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import * as t from '@babel/types';
2
+ import { NodePath } from '@babel/traverse';
3
+ import { ScriptFile } from '../../schema/typescript-types/script-metadata-types';
4
+ import { ScriptState } from '../utils';
5
+ /**
6
+ * Gather metadata about dynamic import statements along with optional hints.
7
+ * https://rfcs.lwc.dev/rfcs/lwc/0112-dynamic-import-hints
8
+ */
9
+ export default function dynamicImportVisitor(state: ScriptState, result: ScriptFile): (path: NodePath<t.Import>) => void;
@@ -0,0 +1,68 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var scriptMetadataTypes = require('../../schema/typescript-types/script-metadata-types.js');
6
+ var utils = require('../utils.js');
7
+
8
+ // Copyright (c) 2022, Salesforce, Inc.,
9
+ function gatherHints(node, fileName) {
10
+ const { trailingComments } = node;
11
+ // Eject if its null or undefined
12
+ if (!trailingComments || trailingComments.length === 0) {
13
+ return [];
14
+ }
15
+ const hints = [];
16
+ const commentNode = trailingComments[0];
17
+ const rawValue = commentNode.value.trim();
18
+ const HINT_REGEX = /^"([^\s"]+)"\s*:\s*"([^"]*)"$/;
19
+ const hintParts = HINT_REGEX.exec(rawValue);
20
+ if (hintParts) {
21
+ // CommentBlock: precedingOffset and followingOffset are 2(/* */)
22
+ // CommentLine: precedingOffset is 2 and followingOffset is 0(//)
23
+ const followingOffset = commentNode.type === 'CommentBlock' ? 2 : 0;
24
+ hints.push({
25
+ rawValue,
26
+ key: hintParts[1],
27
+ value: hintParts[2],
28
+ location: utils.generateSourceLocation(commentNode, 2, followingOffset, fileName),
29
+ });
30
+ }
31
+ return hints;
32
+ }
33
+ /**
34
+ * Gather metadata about dynamic import statements along with optional hints.
35
+ * https://rfcs.lwc.dev/rfcs/lwc/0112-dynamic-import-hints
36
+ */
37
+ function dynamicImportVisitor(state, result) {
38
+ return function DynamicImportVisitorFunction(path) {
39
+ const { bundleType, fileName } = state;
40
+ const sourceNode = path.parent.arguments[0];
41
+ const importLocation = utils.generateSourceLocation(path.parent, undefined, undefined, fileName);
42
+ // Only consider if the module path is a string literal, else do not gather metadata
43
+ if (sourceNode.type !== 'StringLiteral') {
44
+ result.dynamicImports.push({
45
+ moduleSpecifier: 'unresolved',
46
+ moduleNameType: scriptMetadataTypes.ModuleNameType.UNRESOLVED,
47
+ location: importLocation,
48
+ hints: [],
49
+ });
50
+ return;
51
+ }
52
+ const { value: moduleSpecifier } = sourceNode;
53
+ const dynamicImport = {
54
+ moduleSpecifier,
55
+ moduleNameType: scriptMetadataTypes.ModuleNameType.STRING,
56
+ location: importLocation,
57
+ hints: [],
58
+ };
59
+ // Dynamic import hints are supported for internal modules only
60
+ if (bundleType === 'internal') {
61
+ dynamicImport.hints = gatherHints(sourceNode, fileName);
62
+ }
63
+ result.dynamicImports.push(dynamicImport);
64
+ };
65
+ }
66
+
67
+ exports["default"] = dynamicImportVisitor;
68
+ //# sourceMappingURL=dynamic-imports-visitor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dynamic-imports-visitor.js","sources":["../../../src/script-metadata/visitors/dynamic-imports-visitor.ts"],"sourcesContent":[null],"names":["generateSourceLocation","ModuleNameType"],"mappings":";;;;;;;AAAA;AAeA,SAAS,WAAW,CAAC,IAAqB,EAAE,QAAgB,EAAA;AACxD,IAAA,MAAM,EAAE,gBAAgB,EAAE,GAAG,IAAI,CAAC;;IAElC,IAAI,CAAC,gBAAgB,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE;AACpD,QAAA,OAAO,EAAE,CAAC;AACb,KAAA;IACD,MAAM,KAAK,GAAwB,EAAE,CAAC;AACtC,IAAA,MAAM,WAAW,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;IACxC,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;IAC1C,MAAM,UAAU,GAAG,+BAA+B,CAAC;IACnD,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC5C,IAAA,IAAI,SAAS,EAAE;;;AAGX,QAAA,MAAM,eAAe,GAAG,WAAW,CAAC,IAAI,KAAK,cAAc,GAAG,CAAC,GAAG,CAAC,CAAC;QACpE,KAAK,CAAC,IAAI,CAAC;YACP,QAAQ;AACR,YAAA,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC;AACjB,YAAA,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC;YACnB,QAAQ,EAAEA,4BAAsB,CAAC,WAAW,EAAE,CAAC,EAAE,eAAe,EAAE,QAAQ,CAAC;AAC9E,SAAA,CAAC,CAAC;AACN,KAAA;AACD,IAAA,OAAO,KAAK,CAAC;AACjB,CAAC;AAED;;;AAGG;AACW,SAAU,oBAAoB,CAAC,KAAkB,EAAE,MAAkB,EAAA;IAC/E,OAAO,SAAS,4BAA4B,CAAC,IAAwB,EAAA;AACjE,QAAA,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;QACvC,MAAM,UAAU,GAAI,IAAI,CAAC,MAA2B,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;AAClE,QAAA,MAAM,cAAc,GAAGA,4BAAsB,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;;AAE3F,QAAA,IAAI,UAAU,CAAC,IAAI,KAAK,eAAe,EAAE;AACrC,YAAA,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC;AACvB,gBAAA,eAAe,EAAE,YAAY;gBAC7B,cAAc,EAAEC,kCAAc,CAAC,UAAU;AACzC,gBAAA,QAAQ,EAAE,cAAc;AACxB,gBAAA,KAAK,EAAE,EAAE;AACZ,aAAA,CAAC,CAAC;YACH,OAAO;AACV,SAAA;AAED,QAAA,MAAM,EAAE,KAAK,EAAE,eAAe,EAAE,GAAG,UAAU,CAAC;AAE9C,QAAA,MAAM,aAAa,GAAkB;YACjC,eAAe;YACf,cAAc,EAAEA,kCAAc,CAAC,MAAM;AACrC,YAAA,QAAQ,EAAE,cAAc;AACxB,YAAA,KAAK,EAAE,EAAE;SACZ,CAAC;;QAGF,IAAI,UAAU,KAAK,UAAU,EAAE;YAC3B,aAAa,CAAC,KAAK,GAAG,WAAW,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;AAC3D,SAAA;AACD,QAAA,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;AAC9C,KAAC,CAAC;AACN;;;;"}
@@ -0,0 +1,10 @@
1
+ import * as t from '@babel/types';
2
+ import { NodePath } from '@babel/traverse';
3
+ import { ScriptFile } from '../../schema/typescript-types/script-metadata-types';
4
+ import { ScriptState } from '../utils';
5
+ /**
6
+ * Handle export statements like
7
+ * export * from 'module-specifier';
8
+ * export * from './local-module';
9
+ */
10
+ export default function visitorFunction(state: ScriptState, result: ScriptFile): (path: NodePath<t.ExportAllDeclaration>) => void;
@@ -0,0 +1,65 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var utils = require('../utils.js');
6
+ var reference = require('../module-references/reference.js');
7
+
8
+ // Copyright (c) 2022, Salesforce, Inc.,
9
+ /**
10
+ * Handle export statements like
11
+ * export * from 'module-specifier';
12
+ * export * from './local-module';
13
+ */
14
+ function visitorFunction(state, result) {
15
+ return function ExportAllDeclarationVisitorFunction(path) {
16
+ const { node } = path;
17
+ const moduleReference = reference.gatherModuleReference(node, state, result);
18
+ const { source: { value: moduleSpecifier }, } = node;
19
+ const loc = node.loc;
20
+ // script file's raw source
21
+ const { source } = state;
22
+ // location of * relative to ExportAllDeclaration node
23
+ const starOffset = source.substring(node.start).indexOf('*');
24
+ let startLine = loc.start.line;
25
+ let startColumn = loc.start.column + 1; // Convert to 1-based
26
+ if (loc.start.line === loc.end.line) {
27
+ startColumn = startColumn + starOffset;
28
+ }
29
+ else {
30
+ for (let i = 0; i < starOffset; i++) {
31
+ if (source.charAt(node.start + i) === '\n') {
32
+ startLine += 1;
33
+ startColumn = 1;
34
+ }
35
+ else {
36
+ startColumn += 1;
37
+ }
38
+ }
39
+ }
40
+ result.exports.push({
41
+ moduleSpecifier,
42
+ refId: moduleReference.id,
43
+ location: utils.generateSourceLocation(node),
44
+ namedExports: [
45
+ {
46
+ exportedName: '*',
47
+ location: {
48
+ startLine,
49
+ // starOffset => location of '*' relative to export statement begining
50
+ // 1 => convert babel column from 0-based to 1-based index
51
+ startColumn,
52
+ endLine: startLine,
53
+ // Derived as startColumn + 1, 1 is to account for length of "*"
54
+ endColumn: startColumn + 1,
55
+ start: node.start + starOffset,
56
+ end: node.start + starOffset + 1,
57
+ },
58
+ },
59
+ ],
60
+ });
61
+ };
62
+ }
63
+
64
+ exports["default"] = visitorFunction;
65
+ //# sourceMappingURL=export-all-visitor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"export-all-visitor.js","sources":["../../../src/script-metadata/visitors/export-all-visitor.ts"],"sourcesContent":[null],"names":["gatherModuleReference","generateSourceLocation"],"mappings":";;;;;;;AAAA;AAUA;;;;AAIG;AACW,SAAU,eAAe,CAAC,KAAkB,EAAE,MAAkB,EAAA;IAC1E,OAAO,SAAS,mCAAmC,CAAC,IAAsC,EAAA;AACtF,QAAA,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;QACtB,MAAM,eAAe,GAAGA,+BAAqB,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QACnE,MAAM,EACF,MAAM,EAAE,EAAE,KAAK,EAAE,eAAe,EAAE,GACrC,GAAG,IAAI,CAAC;AACT,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,GAAI,CAAC;;AAEtB,QAAA,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;;AAEzB,QAAA,MAAM,UAAU,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,KAAM,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;AAC9D,QAAA,IAAI,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;QAC/B,IAAI,WAAW,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;QACvC,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE;AACjC,YAAA,WAAW,GAAG,WAAW,GAAG,UAAU,CAAC;AAC1C,SAAA;AAAM,aAAA;YACH,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE;AACjC,gBAAA,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAM,GAAG,CAAC,CAAC,KAAK,IAAI,EAAE;oBACzC,SAAS,IAAI,CAAC,CAAC;oBACf,WAAW,GAAG,CAAC,CAAC;AACnB,iBAAA;AAAM,qBAAA;oBACH,WAAW,IAAI,CAAC,CAAC;AACpB,iBAAA;AACJ,aAAA;AACJ,SAAA;AACD,QAAA,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;YAChB,eAAe;YACf,KAAK,EAAE,eAAe,CAAC,EAAE;AACzB,YAAA,QAAQ,EAAEC,4BAAsB,CAAC,IAAI,CAAC;AACtC,YAAA,YAAY,EAAE;AACV,gBAAA;AACI,oBAAA,YAAY,EAAE,GAAG;AACjB,oBAAA,QAAQ,EAAE;wBACN,SAAS;;;wBAGT,WAAW;AACX,wBAAA,OAAO,EAAE,SAAS;;wBAElB,SAAS,EAAE,WAAW,GAAG,CAAC;AAC1B,wBAAA,KAAK,EAAE,IAAI,CAAC,KAAM,GAAG,UAAU;AAC/B,wBAAA,GAAG,EAAE,IAAI,CAAC,KAAM,GAAG,UAAU,GAAG,CAAC;AACpC,qBAAA;AACJ,iBAAA;AACJ,aAAA;AACJ,SAAA,CAAC,CAAC;AACP,KAAC,CAAC;AACN;;;;"}
@@ -0,0 +1,5 @@
1
+ import * as t from '@babel/types';
2
+ import { NodePath } from '@babel/traverse';
3
+ import { ScriptState } from '../utils';
4
+ import { ScriptFile } from '../../schema/typescript-types/script-metadata-types';
5
+ export default function visitorFunction(state: ScriptState, result: ScriptFile): (path: NodePath<t.ExportDefaultDeclaration>) => void;
@@ -0,0 +1,67 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var t = require('@babel/types');
6
+ var utils = require('../utils.js');
7
+ var utils$1 = require('../../shared/utils.js');
8
+
9
+ function _interopNamespace(e) {
10
+ if (e && e.__esModule) return e;
11
+ var n = Object.create(null);
12
+ if (e) {
13
+ Object.keys(e).forEach(function (k) {
14
+ if (k !== 'default') {
15
+ var d = Object.getOwnPropertyDescriptor(e, k);
16
+ Object.defineProperty(n, k, d.get ? d : {
17
+ enumerable: true,
18
+ get: function () { return e[k]; }
19
+ });
20
+ }
21
+ });
22
+ }
23
+ n["default"] = e;
24
+ return Object.freeze(n);
25
+ }
26
+
27
+ var t__namespace = /*#__PURE__*/_interopNamespace(t);
28
+
29
+ // Copyright (c) 2022, Salesforce, Inc.,
30
+ function gatherClassExport(declaration, scope, state) {
31
+ // If the default exported binding is a class, store it for post processing
32
+ switch (declaration.type) {
33
+ case 'ClassDeclaration':
34
+ state.mainClass = declaration;
35
+ break;
36
+ case 'Identifier': {
37
+ const binding = scope.getBinding(declaration.name);
38
+ // If the identifier can be resolved to a binding and the binding is a constant
39
+ // https://github.com/jamiebuilds/babel-handbook/blob/master/translations/en/plugin-handbook.md#bindings
40
+ if (!utils$1.isUndefined(binding) && utils$1.isTrue(binding.constant)) {
41
+ const { node } = binding.path;
42
+ if (t__namespace.isClass(node)) {
43
+ state.mainClass = node;
44
+ }
45
+ else if (t__namespace.isVariableDeclarator(node) && t__namespace.isClass(node.init)) {
46
+ state.mainClass = node.init;
47
+ }
48
+ }
49
+ break;
50
+ }
51
+ }
52
+ }
53
+ function visitorFunction(state, result) {
54
+ return function ExportDefaultDeclarationVisitorFunction(path) {
55
+ const { declaration } = path.node;
56
+ result.exports.push({
57
+ location: utils.generateSourceLocation(path.node),
58
+ defaultExport: {
59
+ location: utils.generateSourceLocation(declaration),
60
+ },
61
+ });
62
+ gatherClassExport(declaration, path.scope, state);
63
+ };
64
+ }
65
+
66
+ exports["default"] = visitorFunction;
67
+ //# sourceMappingURL=export-default-visitor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"export-default-visitor.js","sources":["../../../src/script-metadata/visitors/export-default-visitor.ts"],"sourcesContent":[null],"names":["isUndefined","isTrue","t","generateSourceLocation"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAWA,SAAS,iBAAiB,CACtB,WAAsD,EACtD,KAAY,EACZ,KAAkB,EAAA;;IAGlB,QAAQ,WAAW,CAAC,IAAI;AACpB,QAAA,KAAK,kBAAkB;AACnB,YAAA,KAAK,CAAC,SAAS,GAAG,WAAW,CAAC;YAC9B,MAAM;QACV,KAAK,YAAY,EAAE;YACf,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;;;AAGnD,YAAA,IAAI,CAACA,mBAAW,CAAC,OAAO,CAAC,IAAIC,cAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;AACnD,gBAAA,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;AAC9B,gBAAA,IAAIC,YAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;AACjB,oBAAA,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC;AAC1B,iBAAA;AAAM,qBAAA,IAAIA,YAAC,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAIA,YAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;AAC7D,oBAAA,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC;AAC/B,iBAAA;AACJ,aAAA;YACD,MAAM;AACT,SAAA;AACJ,KAAA;AACL,CAAC;AAEa,SAAU,eAAe,CAAC,KAAkB,EAAE,MAAkB,EAAA;IAC1E,OAAO,SAAS,uCAAuC,CACnD,IAA0C,EAAA;AAE1C,QAAA,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC;AAElC,QAAA,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;AAChB,YAAA,QAAQ,EAAEC,4BAAsB,CAAC,IAAI,CAAC,IAAI,CAAC;AAC3C,YAAA,aAAa,EAAE;AACX,gBAAA,QAAQ,EAAEA,4BAAsB,CAAC,WAAW,CAAC;AAChD,aAAA;AACJ,SAAA,CAAC,CAAC;QAEH,iBAAiB,CAAC,WAAW,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AACtD,KAAC,CAAC;AACN;;;;"}
@@ -0,0 +1,5 @@
1
+ import * as t from '@babel/types';
2
+ import { NodePath } from '@babel/traverse';
3
+ import { ScriptFile } from '../../schema/typescript-types/script-metadata-types';
4
+ import { ScriptState } from '../utils';
5
+ export default function visitorFunction(state: ScriptState, result: ScriptFile): (path: NodePath<t.ExportNamedDeclaration>) => void;
@@ -0,0 +1,125 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var errors$1 = require('@lwc/errors');
6
+ var utils$1 = require('../utils.js');
7
+ var utils = require('../../shared/utils.js');
8
+ var reference = require('../module-references/reference.js');
9
+ var errors = require('../../errors/errors.js');
10
+ var resolver = require('../resolver.js');
11
+
12
+ // Copyright (c) 2022, Salesforce, Inc.,
13
+ function collectReexports(state, result, path) {
14
+ const { node } = path;
15
+ const source = node.source;
16
+ const loc = node.loc;
17
+ const { value: moduleSpecifier } = source;
18
+ const moduleReference = reference.gatherModuleReference(node, state, result);
19
+ const namedExports = node.specifiers.map((specifier) => {
20
+ const { exported } = specifier;
21
+ switch (specifier.type) {
22
+ // export { default } from 'module-specifier';
23
+ // export { name1, name2, name3 } from 'module-specifier'
24
+ // export { name1, name2, name3 } from 'module-specifier'
25
+ // export { default as tibuku } from 'module-specifier';
26
+ case 'ExportSpecifier':
27
+ return {
28
+ localName: specifier.local.name,
29
+ exportedName: resolver.resolveExportSpecifierExported(exported),
30
+ location: utils$1.generateSourceLocation(specifier),
31
+ };
32
+ // export * as baz from 'module-specifier';
33
+ case 'ExportNamespaceSpecifier':
34
+ return {
35
+ localName: '*',
36
+ exportedName: resolver.resolveExportSpecifierExported(exported),
37
+ location: utils$1.generateSourceLocation(specifier),
38
+ };
39
+ case 'ExportDefaultSpecifier':
40
+ throw new errors.MetadataCollectionError([
41
+ errors$1.generateCompilerDiagnostic(errors.Errors.UNSUPPORTED_SCRIPT_SYNTAX, {
42
+ messageArgs: [state.fileName],
43
+ origin: {
44
+ filename: state.fileName,
45
+ location: {
46
+ line: loc.start.line,
47
+ column: loc.start.column,
48
+ start: node.start,
49
+ },
50
+ },
51
+ }),
52
+ ]);
53
+ }
54
+ });
55
+ result.exports.push({
56
+ moduleSpecifier,
57
+ refId: moduleReference.id,
58
+ location: utils$1.generateSourceLocation(node),
59
+ namedExports,
60
+ });
61
+ }
62
+ function collectExports(result, node) {
63
+ const { declaration, specifiers } = node;
64
+ const namedExports = [];
65
+ // Will only attempt to gather metadata about function declarations, class declarations and variables exported
66
+ if (!utils.isEmpty(specifiers)) {
67
+ // export { variable1 as name1, variable2 as name2, …, nameN };
68
+ // export { name1, name2, …, nameN };
69
+ specifiers.forEach((specifier) => {
70
+ if (specifier.type === 'ExportSpecifier') {
71
+ namedExports.push({
72
+ localName: specifier.local.name,
73
+ exportedName: resolver.resolveExportSpecifierExported(specifier.exported),
74
+ location: utils$1.generateSourceLocation(specifier),
75
+ });
76
+ }
77
+ });
78
+ }
79
+ else if (!utils.isNull(declaration) && !utils.isUndefined(declaration)) {
80
+ if (declaration.type === 'FunctionDeclaration') {
81
+ namedExports.push({
82
+ // A function declaration on a named export will always have an id
83
+ exportedName: declaration.id.name,
84
+ location: utils$1.generateSourceLocation(declaration),
85
+ });
86
+ }
87
+ else if (declaration.type === 'ClassDeclaration') {
88
+ namedExports.push({
89
+ exportedName: declaration.id?.name,
90
+ location: utils$1.generateSourceLocation(declaration),
91
+ });
92
+ }
93
+ else if (declaration.type === 'VariableDeclaration') {
94
+ const { declarations } = declaration;
95
+ declarations.forEach((variableDeclaration) => {
96
+ if (variableDeclaration.id.type === 'Identifier') {
97
+ namedExports.push({
98
+ exportedName: variableDeclaration.id.name,
99
+ location: utils$1.generateSourceLocation(declaration),
100
+ });
101
+ }
102
+ });
103
+ }
104
+ }
105
+ result.exports.push({
106
+ location: utils$1.generateSourceLocation(node),
107
+ namedExports,
108
+ });
109
+ }
110
+ function visitorFunction(state, result) {
111
+ return function ExportNamedDeclarationVisitorFunction(path) {
112
+ const { source } = path.node;
113
+ // Exporting bindings which are local to the current module
114
+ if (utils.isNull(source)) {
115
+ collectExports(result, path.node);
116
+ }
117
+ else {
118
+ // Exporting bindings from an external module
119
+ collectReexports(state, result, path);
120
+ }
121
+ };
122
+ }
123
+
124
+ exports["default"] = visitorFunction;
125
+ //# sourceMappingURL=export-named-visitor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"export-named-visitor.js","sources":["../../../src/script-metadata/visitors/export-named-visitor.ts"],"sourcesContent":[null],"names":["gatherModuleReference","resolveExportSpecifierExported","generateSourceLocation","MetadataCollectionError","generateCompilerDiagnostic","Errors","isEmpty","isNull","isUndefined"],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import * as t from '@babel/types';
2
+ import { NodePath } from '@babel/traverse';
3
+ import { ScriptFile } from '../../schema/typescript-types/script-metadata-types';
4
+ import { ScriptState } from '../utils';
5
+ export default function moduleImportVisitor(state: ScriptState, result: ScriptFile): (path: NodePath<t.ImportDeclaration>) => void;