@breadstone-tools/cem-core 0.0.12-beta.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 (246) hide show
  1. package/Ast/Ast.d.ts +224 -0
  2. package/Ast/Ast.d.ts.map +1 -0
  3. package/Ast/Ast.js +557 -0
  4. package/Ast/Ast.js.map +1 -0
  5. package/Ast/Builder/BuildArrowFunction.d.ts +14 -0
  6. package/Ast/Builder/BuildArrowFunction.d.ts.map +1 -0
  7. package/Ast/Builder/BuildArrowFunction.js +29 -0
  8. package/Ast/Builder/BuildArrowFunction.js.map +1 -0
  9. package/Ast/Builder/BuildAttribute.d.ts +16 -0
  10. package/Ast/Builder/BuildAttribute.d.ts.map +1 -0
  11. package/Ast/Builder/BuildAttribute.js +36 -0
  12. package/Ast/Builder/BuildAttribute.js.map +1 -0
  13. package/Ast/Builder/BuildClass.d.ts +24 -0
  14. package/Ast/Builder/BuildClass.d.ts.map +1 -0
  15. package/Ast/Builder/BuildClass.js +251 -0
  16. package/Ast/Builder/BuildClass.js.map +1 -0
  17. package/Ast/Builder/BuildClassField.d.ts +14 -0
  18. package/Ast/Builder/BuildClassField.d.ts.map +1 -0
  19. package/Ast/Builder/BuildClassField.js +34 -0
  20. package/Ast/Builder/BuildClassField.js.map +1 -0
  21. package/Ast/Builder/BuildFunctionLike.d.ts +41 -0
  22. package/Ast/Builder/BuildFunctionLike.d.ts.map +1 -0
  23. package/Ast/Builder/BuildFunctionLike.js +80 -0
  24. package/Ast/Builder/BuildFunctionLike.js.map +1 -0
  25. package/Ast/Builder/BuildMixin.d.ts +19 -0
  26. package/Ast/Builder/BuildMixin.d.ts.map +1 -0
  27. package/Ast/Builder/BuildMixin.js +50 -0
  28. package/Ast/Builder/BuildMixin.js.map +1 -0
  29. package/Ast/Builder/BuildVariable.d.ts +15 -0
  30. package/Ast/Builder/BuildVariable.d.ts.map +1 -0
  31. package/Ast/Builder/BuildVariable.js +29 -0
  32. package/Ast/Builder/BuildVariable.js.map +1 -0
  33. package/Ast/Handler/HandleAttrJsDoc.d.ts +10 -0
  34. package/Ast/Handler/HandleAttrJsDoc.d.ts.map +1 -0
  35. package/Ast/Handler/HandleAttrJsDoc.js +43 -0
  36. package/Ast/Handler/HandleAttrJsDoc.js.map +1 -0
  37. package/Ast/Handler/HandleCollectMixins.d.ts +10 -0
  38. package/Ast/Handler/HandleCollectMixins.d.ts.map +1 -0
  39. package/Ast/Handler/HandleCollectMixins.js +27 -0
  40. package/Ast/Handler/HandleCollectMixins.js.map +1 -0
  41. package/Ast/Handler/HandleCreateClassDeclarationMixin.d.ts +9 -0
  42. package/Ast/Handler/HandleCreateClassDeclarationMixin.d.ts.map +1 -0
  43. package/Ast/Handler/HandleCreateClassDeclarationMixin.js +38 -0
  44. package/Ast/Handler/HandleCreateClassDeclarationMixin.js.map +1 -0
  45. package/Ast/Handler/HandleCustomJsDocTags.d.ts +8 -0
  46. package/Ast/Handler/HandleCustomJsDocTags.d.ts.map +1 -0
  47. package/Ast/Handler/HandleCustomJsDocTags.js +31 -0
  48. package/Ast/Handler/HandleCustomJsDocTags.js.map +1 -0
  49. package/Ast/Handler/HandleDefaultValue.d.ts +10 -0
  50. package/Ast/Handler/HandleDefaultValue.d.ts.map +1 -0
  51. package/Ast/Handler/HandleDefaultValue.js +48 -0
  52. package/Ast/Handler/HandleDefaultValue.js.map +1 -0
  53. package/Ast/Handler/HandleExplicitType.d.ts +10 -0
  54. package/Ast/Handler/HandleExplicitType.d.ts.map +1 -0
  55. package/Ast/Handler/HandleExplicitType.js +28 -0
  56. package/Ast/Handler/HandleExplicitType.js.map +1 -0
  57. package/Ast/Handler/HandleHeritage.d.ts +11 -0
  58. package/Ast/Handler/HandleHeritage.d.ts.map +1 -0
  59. package/Ast/Handler/HandleHeritage.js +67 -0
  60. package/Ast/Handler/HandleHeritage.js.map +1 -0
  61. package/Ast/Handler/HandleJsDoc.d.ts +9 -0
  62. package/Ast/Handler/HandleJsDoc.d.ts.map +1 -0
  63. package/Ast/Handler/HandleJsDoc.js +90 -0
  64. package/Ast/Handler/HandleJsDoc.js.map +1 -0
  65. package/Ast/Handler/HandleJsDocParameterTag.d.ts +8 -0
  66. package/Ast/Handler/HandleJsDocParameterTag.d.ts.map +1 -0
  67. package/Ast/Handler/HandleJsDocParameterTag.js +59 -0
  68. package/Ast/Handler/HandleJsDocParameterTag.js.map +1 -0
  69. package/Ast/Handler/HandleModifiers.d.ts +13 -0
  70. package/Ast/Handler/HandleModifiers.d.ts.map +1 -0
  71. package/Ast/Handler/HandleModifiers.js +49 -0
  72. package/Ast/Handler/HandleModifiers.js.map +1 -0
  73. package/Ast/Handler/HandlePrivateMember.d.ts +10 -0
  74. package/Ast/Handler/HandlePrivateMember.d.ts.map +1 -0
  75. package/Ast/Handler/HandlePrivateMember.js +25 -0
  76. package/Ast/Handler/HandlePrivateMember.js.map +1 -0
  77. package/Ast/Handler/HandleTypeInference.d.ts +9 -0
  78. package/Ast/Handler/HandleTypeInference.d.ts.map +1 -0
  79. package/Ast/Handler/HandleTypeInference.js +46 -0
  80. package/Ast/Handler/HandleTypeInference.js.map +1 -0
  81. package/Ast/Handler/HandleWellKnownTypes.d.ts +11 -0
  82. package/Ast/Handler/HandleWellKnownTypes.d.ts.map +1 -0
  83. package/Ast/Handler/HandleWellKnownTypes.js +28 -0
  84. package/Ast/Handler/HandleWellKnownTypes.js.map +1 -0
  85. package/Ast/Manifest.d.ts +47 -0
  86. package/Ast/Manifest.d.ts.map +1 -0
  87. package/Ast/Manifest.js +209 -0
  88. package/Ast/Manifest.js.map +1 -0
  89. package/Index.d.ts +9 -0
  90. package/Index.d.ts.map +1 -0
  91. package/Index.js +8 -0
  92. package/Index.js.map +1 -0
  93. package/LICENSE +21 -0
  94. package/Plugins/Analyse/ArrowFunctionPlugin.d.ts +13 -0
  95. package/Plugins/Analyse/ArrowFunctionPlugin.d.ts.map +1 -0
  96. package/Plugins/Analyse/ArrowFunctionPlugin.js +37 -0
  97. package/Plugins/Analyse/ArrowFunctionPlugin.js.map +1 -0
  98. package/Plugins/Analyse/ClassJsDocPlugin.d.ts +25 -0
  99. package/Plugins/Analyse/ClassJsDocPlugin.d.ts.map +1 -0
  100. package/Plugins/Analyse/ClassJsDocPlugin.js +200 -0
  101. package/Plugins/Analyse/ClassJsDocPlugin.js.map +1 -0
  102. package/Plugins/Analyse/ClassPlugin.d.ts +13 -0
  103. package/Plugins/Analyse/ClassPlugin.d.ts.map +1 -0
  104. package/Plugins/Analyse/ClassPlugin.js +32 -0
  105. package/Plugins/Analyse/ClassPlugin.js.map +1 -0
  106. package/Plugins/Analyse/CustomElementsDefineCallsPlugin.d.ts +15 -0
  107. package/Plugins/Analyse/CustomElementsDefineCallsPlugin.d.ts.map +1 -0
  108. package/Plugins/Analyse/CustomElementsDefineCallsPlugin.js +112 -0
  109. package/Plugins/Analyse/CustomElementsDefineCallsPlugin.js.map +1 -0
  110. package/Plugins/Analyse/ExportsPlugin.d.ts +18 -0
  111. package/Plugins/Analyse/ExportsPlugin.d.ts.map +1 -0
  112. package/Plugins/Analyse/ExportsPlugin.js +154 -0
  113. package/Plugins/Analyse/ExportsPlugin.js.map +1 -0
  114. package/Plugins/Analyse/FunctionLikePlugin.d.ts +14 -0
  115. package/Plugins/Analyse/FunctionLikePlugin.d.ts.map +1 -0
  116. package/Plugins/Analyse/FunctionLikePlugin.js +36 -0
  117. package/Plugins/Analyse/FunctionLikePlugin.js.map +1 -0
  118. package/Plugins/Analyse/MixinPlugin.d.ts +13 -0
  119. package/Plugins/Analyse/MixinPlugin.d.ts.map +1 -0
  120. package/Plugins/Analyse/MixinPlugin.js +36 -0
  121. package/Plugins/Analyse/MixinPlugin.js.map +1 -0
  122. package/Plugins/Analyse/ReexportedWrappedMixinExportsPlugin.d.ts +15 -0
  123. package/Plugins/Analyse/ReexportedWrappedMixinExportsPlugin.d.ts.map +1 -0
  124. package/Plugins/Analyse/ReexportedWrappedMixinExportsPlugin.js +56 -0
  125. package/Plugins/Analyse/ReexportedWrappedMixinExportsPlugin.js.map +1 -0
  126. package/Plugins/Analyse/VariablePlugin.d.ts +13 -0
  127. package/Plugins/Analyse/VariablePlugin.d.ts.map +1 -0
  128. package/Plugins/Analyse/VariablePlugin.js +40 -0
  129. package/Plugins/Analyse/VariablePlugin.js.map +1 -0
  130. package/Plugins/Collect/CollectImportsPlugin.d.ts +6 -0
  131. package/Plugins/Collect/CollectImportsPlugin.d.ts.map +1 -0
  132. package/Plugins/Collect/CollectImportsPlugin.js +100 -0
  133. package/Plugins/Collect/CollectImportsPlugin.js.map +1 -0
  134. package/Plugins/Framework/Catalyst/Catalyst.d.ts +3 -0
  135. package/Plugins/Framework/Catalyst/Catalyst.d.ts.map +1 -0
  136. package/Plugins/Framework/Catalyst/Catalyst.js +9 -0
  137. package/Plugins/Framework/Catalyst/Catalyst.js.map +1 -0
  138. package/Plugins/Framework/Fast/Fast.d.ts +3 -0
  139. package/Plugins/Framework/Fast/Fast.d.ts.map +1 -0
  140. package/Plugins/Framework/Fast/Fast.js +9 -0
  141. package/Plugins/Framework/Fast/Fast.js.map +1 -0
  142. package/Plugins/Framework/Lit/Lit.d.ts +8 -0
  143. package/Plugins/Framework/Lit/Lit.d.ts.map +1 -0
  144. package/Plugins/Framework/Lit/Lit.js +25 -0
  145. package/Plugins/Framework/Lit/Lit.js.map +1 -0
  146. package/Plugins/Framework/Lit/MemberDenyListPlugin.d.ts +16 -0
  147. package/Plugins/Framework/Lit/MemberDenyListPlugin.d.ts.map +1 -0
  148. package/Plugins/Framework/Lit/MemberDenyListPlugin.js +37 -0
  149. package/Plugins/Framework/Lit/MemberDenyListPlugin.js.map +1 -0
  150. package/Plugins/Framework/Lit/MethodDenyListPlugin.d.ts +24 -0
  151. package/Plugins/Framework/Lit/MethodDenyListPlugin.d.ts.map +1 -0
  152. package/Plugins/Framework/Lit/MethodDenyListPlugin.js +51 -0
  153. package/Plugins/Framework/Lit/MethodDenyListPlugin.js.map +1 -0
  154. package/Plugins/Framework/Lit/PropertyDecoratorPlugin.d.ts +16 -0
  155. package/Plugins/Framework/Lit/PropertyDecoratorPlugin.d.ts.map +1 -0
  156. package/Plugins/Framework/Lit/PropertyDecoratorPlugin.js +100 -0
  157. package/Plugins/Framework/Lit/PropertyDecoratorPlugin.js.map +1 -0
  158. package/Plugins/Framework/Lit/StaticPropertiesPlugin.d.ts +17 -0
  159. package/Plugins/Framework/Lit/StaticPropertiesPlugin.d.ts.map +1 -0
  160. package/Plugins/Framework/Lit/StaticPropertiesPlugin.js +126 -0
  161. package/Plugins/Framework/Lit/StaticPropertiesPlugin.js.map +1 -0
  162. package/Plugins/Framework/Lwc/Lwc.d.ts +3 -0
  163. package/Plugins/Framework/Lwc/Lwc.d.ts.map +1 -0
  164. package/Plugins/Framework/Lwc/Lwc.js +9 -0
  165. package/Plugins/Framework/Lwc/Lwc.js.map +1 -0
  166. package/Plugins/Framework/Shared/AttrDecoratorPlugin.d.ts +18 -0
  167. package/Plugins/Framework/Shared/AttrDecoratorPlugin.d.ts.map +1 -0
  168. package/Plugins/Framework/Shared/AttrDecoratorPlugin.js +80 -0
  169. package/Plugins/Framework/Shared/AttrDecoratorPlugin.js.map +1 -0
  170. package/Plugins/Framework/Shared/CustomElementDecoratorPlugin.d.ts +14 -0
  171. package/Plugins/Framework/Shared/CustomElementDecoratorPlugin.d.ts.map +1 -0
  172. package/Plugins/Framework/Shared/CustomElementDecoratorPlugin.js +67 -0
  173. package/Plugins/Framework/Shared/CustomElementDecoratorPlugin.js.map +1 -0
  174. package/Plugins/Framework/Stencil/Stencil.d.ts +3 -0
  175. package/Plugins/Framework/Stencil/Stencil.d.ts.map +1 -0
  176. package/Plugins/Framework/Stencil/Stencil.js +9 -0
  177. package/Plugins/Framework/Stencil/Stencil.js.map +1 -0
  178. package/Plugins/Link/CleanupClassesPlugin.d.ts +6 -0
  179. package/Plugins/Link/CleanupClassesPlugin.d.ts.map +1 -0
  180. package/Plugins/Link/CleanupClassesPlugin.js +24 -0
  181. package/Plugins/Link/CleanupClassesPlugin.js.map +1 -0
  182. package/Plugins/Link/FieldDenyListPlugin.d.ts +6 -0
  183. package/Plugins/Link/FieldDenyListPlugin.d.ts.map +1 -0
  184. package/Plugins/Link/FieldDenyListPlugin.js +23 -0
  185. package/Plugins/Link/FieldDenyListPlugin.js.map +1 -0
  186. package/Plugins/Link/MethodDenyListPlugin.d.ts +6 -0
  187. package/Plugins/Link/MethodDenyListPlugin.d.ts.map +1 -0
  188. package/Plugins/Link/MethodDenyListPlugin.js +26 -0
  189. package/Plugins/Link/MethodDenyListPlugin.js.map +1 -0
  190. package/Plugins/PostProcessing/ApplyInheritancePlugin.d.ts +6 -0
  191. package/Plugins/PostProcessing/ApplyInheritancePlugin.d.ts.map +1 -0
  192. package/Plugins/PostProcessing/ApplyInheritancePlugin.js +87 -0
  193. package/Plugins/PostProcessing/ApplyInheritancePlugin.js.map +1 -0
  194. package/Plugins/PostProcessing/IsCustomElementPlugin.d.ts +6 -0
  195. package/Plugins/PostProcessing/IsCustomElementPlugin.d.ts.map +1 -0
  196. package/Plugins/PostProcessing/IsCustomElementPlugin.js +35 -0
  197. package/Plugins/PostProcessing/IsCustomElementPlugin.js.map +1 -0
  198. package/Plugins/PostProcessing/LinkClassToTagnamePlugin.d.ts +6 -0
  199. package/Plugins/PostProcessing/LinkClassToTagnamePlugin.d.ts.map +1 -0
  200. package/Plugins/PostProcessing/LinkClassToTagnamePlugin.js +28 -0
  201. package/Plugins/PostProcessing/LinkClassToTagnamePlugin.js.map +1 -0
  202. package/Plugins/PostProcessing/RemoveUnexportedDeclarationsPlugin.d.ts +6 -0
  203. package/Plugins/PostProcessing/RemoveUnexportedDeclarationsPlugin.d.ts.map +1 -0
  204. package/Plugins/PostProcessing/RemoveUnexportedDeclarationsPlugin.js +21 -0
  205. package/Plugins/PostProcessing/RemoveUnexportedDeclarationsPlugin.js.map +1 -0
  206. package/Plugins/PostProcessing/ResolveInitializersPlugin.d.ts +6 -0
  207. package/Plugins/PostProcessing/ResolveInitializersPlugin.d.ts.map +1 -0
  208. package/Plugins/PostProcessing/ResolveInitializersPlugin.js +59 -0
  209. package/Plugins/PostProcessing/ResolveInitializersPlugin.js.map +1 -0
  210. package/Services/DependencyService.d.ts +1 -0
  211. package/Services/DependencyService.d.ts.map +1 -0
  212. package/Services/DependencyService.js +112 -0
  213. package/Services/DependencyService.js.map +1 -0
  214. package/Services/Interfaces/IDependencyService.d.ts +12 -0
  215. package/Services/Interfaces/IDependencyService.d.ts.map +1 -0
  216. package/Services/Interfaces/IDependencyService.js +4 -0
  217. package/Services/Interfaces/IDependencyService.js.map +1 -0
  218. package/Services/Interfaces/IManifestBuilder.d.ts +16 -0
  219. package/Services/Interfaces/IManifestBuilder.d.ts.map +1 -0
  220. package/Services/Interfaces/IManifestBuilder.js +4 -0
  221. package/Services/Interfaces/IManifestBuilder.js.map +1 -0
  222. package/Services/Interfaces/IManifestEngine.d.ts +16 -0
  223. package/Services/Interfaces/IManifestEngine.d.ts.map +1 -0
  224. package/Services/Interfaces/IManifestEngine.js +4 -0
  225. package/Services/Interfaces/IManifestEngine.js.map +1 -0
  226. package/Services/ManifestBuilder.d.ts +47 -0
  227. package/Services/ManifestBuilder.d.ts.map +1 -0
  228. package/Services/ManifestBuilder.js +49 -0
  229. package/Services/ManifestBuilder.js.map +1 -0
  230. package/Services/ManifestEngine.d.ts +62 -0
  231. package/Services/ManifestEngine.d.ts.map +1 -0
  232. package/Services/ManifestEngine.js +283 -0
  233. package/Services/ManifestEngine.js.map +1 -0
  234. package/Types/Framework.d.ts +2 -0
  235. package/Types/Framework.d.ts.map +1 -0
  236. package/Types/Framework.js +3 -0
  237. package/Types/Framework.js.map +1 -0
  238. package/Types.d.ts +1 -0
  239. package/Types.d.ts.map +1 -0
  240. package/Types.js +45 -0
  241. package/Types.js.map +1 -0
  242. package/Utils.d.ts +50 -0
  243. package/Utils.d.ts.map +1 -0
  244. package/Utils.js +147 -0
  245. package/Utils.js.map +1 -0
  246. package/package.json +23 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MethodDenyListPlugin.js","sourceRoot":"","sources":["../../../../src/Plugins/Framework/Lit/MethodDenyListPlugin.ts"],"names":[],"mappings":";;AAuBA,oDA2BC;AAhDD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,SAAgB,oBAAoB;IAChC,MAAM,gBAAgB,GAAG;QACrB,eAAe;QACf,kBAAkB;QAClB,gBAAgB;QAChB,eAAe;QACf,cAAc;QACd,QAAQ;QACR,QAAQ;QACR,cAAc;QACd,SAAS;QACT,YAAY;KACf,CAAC;IAEF,OAAO;QACH,IAAI,EAAE,4BAA4B;QAClC,YAAY,EAAE,CAAC,MAA8B,EAAE,EAAE;YAC7C,MAAM,gBAAgB,GAAG,MAAM,CAAC,SAAS,CAAC,YAAY,EAAE,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,KAAK,OAAO,IAAI,WAAW,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;YAE5I,gBAAgB,EAAE,OAAO,CAAC,CAAC,KAAU,EAAE,EAAE;gBACrC,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC;oBAClB,OAAO;gBACX,CAAC;gBACD,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAW,EAAE,EAAE,CAAC,CAAC,gBAAgB,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;YACnG,CAAC,CAAC,CAAC;QACP,CAAC;KACJ,CAAC;AACN,CAAC"}
@@ -0,0 +1,16 @@
1
+ import type { IPlugin } from '@breadstone-tools/cem-plugin';
2
+ /**
3
+ * Property Decorator Plugin - Handles the property decorator.
4
+ *
5
+ * @example
6
+ * ```typescript
7
+ * class MyClass {
8
+ * @property({ attribute: 'my-attribute' })
9
+ * myProperty = 'my-value';
10
+ * }
11
+ * ```
12
+ *
13
+ * @public
14
+ */
15
+ export declare function propertyDecoratorPlugin(): IPlugin;
16
+ //# sourceMappingURL=PropertyDecoratorPlugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PropertyDecoratorPlugin.d.ts","sourceRoot":"","sources":["../../../../src/Plugins/Framework/Lit/PropertyDecoratorPlugin.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAuB,OAAO,EAAE,MAAM,8BAA8B,CAAC;AAQjF;;;;;;;;;;;;GAYG;AACH,wBAAgB,uBAAuB,IAAI,OAAO,CA0BjD"}
@@ -0,0 +1,100 @@
1
+ "use strict";
2
+ //#region Imports
3
+ var __importDefault = (this && this.__importDefault) || function (mod) {
4
+ return (mod && mod.__esModule) ? mod : { "default": mod };
5
+ };
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.propertyDecoratorPlugin = propertyDecoratorPlugin;
8
+ const typescript_1 = __importDefault(require("typescript"));
9
+ const Ast_js_1 = require("../../../Ast/Ast.js");
10
+ const BuildAttribute_js_1 = require("../../../Ast/Builder/BuildAttribute.js");
11
+ const BuildMixin_js_1 = require("../../../Ast/Builder/BuildMixin.js");
12
+ //#endregion
13
+ /**
14
+ * Property Decorator Plugin - Handles the property decorator.
15
+ *
16
+ * @example
17
+ * ```typescript
18
+ * class MyClass {
19
+ * @property({ attribute: 'my-attribute' })
20
+ * myProperty = 'my-value';
21
+ * }
22
+ * ```
23
+ *
24
+ * @public
25
+ */
26
+ function propertyDecoratorPlugin() {
27
+ return {
28
+ name: 'CORE - LIT-PROPERTY-DECORATOR',
29
+ onAnalyze: (params) => {
30
+ switch (params.node.kind) {
31
+ case typescript_1.default.SyntaxKind.VariableStatement:
32
+ case typescript_1.default.SyntaxKind.FunctionDeclaration:
33
+ if ((0, Ast_js_1.isMixin)(params.node)) {
34
+ const mix = (0, Ast_js_1.extractMixinNodes)(params.node);
35
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
36
+ // @ts-ignore
37
+ const name = (0, BuildMixin_js_1.handleName)({}, mix.mixinFunction).name;
38
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
39
+ // @ts-ignore
40
+ handlePropertyDecorator(mix.mixinClass, params.moduleDoc, name);
41
+ }
42
+ break;
43
+ case typescript_1.default.SyntaxKind.ClassDeclaration:
44
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
45
+ // @ts-ignore
46
+ handlePropertyDecorator(params.node, params.moduleDoc);
47
+ break;
48
+ }
49
+ }
50
+ };
51
+ }
52
+ /**
53
+ * Handles the property decorator for class members.
54
+ * @param classNode - The class node to handle.
55
+ * @param moduleDoc - The module documentation.
56
+ * @param mixinName - The mixin name, if applicable.
57
+ */
58
+ function handlePropertyDecorator(classNode, moduleDoc, mixinName = null) {
59
+ const className = mixinName ?? classNode.name?.getText();
60
+ const currClass = moduleDoc?.declarations?.find((declaration) => declaration.name === className);
61
+ classNode.members.forEach(member => {
62
+ if ((0, Ast_js_1.hasPropertyDecorator)(member)) {
63
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
64
+ // @ts-ignore
65
+ const propertyDecorator = member.modifiers.find((0, Ast_js_1.decorator)('property'));
66
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
67
+ // @ts-ignore
68
+ const propertyOptions = propertyDecorator?.expression?.arguments?.find(arg => typescript_1.default.isObjectLiteralExpression(arg));
69
+ if ((0, Ast_js_1.isAlsoAttribute)(propertyOptions)) {
70
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
71
+ // @ts-ignore
72
+ const field = currClass.members.find((classMember) => classMember.name === member.name.getText());
73
+ if (!field) {
74
+ return;
75
+ }
76
+ const attribute = (0, BuildAttribute_js_1.createAttributeFromField)(field);
77
+ const attributeName = (0, Ast_js_1.getAttributeName)(propertyOptions);
78
+ if (attributeName) {
79
+ attribute.name = attributeName;
80
+ field.attribute = attributeName;
81
+ }
82
+ else {
83
+ field.attribute = field.name;
84
+ }
85
+ if ((0, Ast_js_1.reflects)(propertyOptions)) {
86
+ field.attribute = attribute.name;
87
+ field.reflects = true;
88
+ }
89
+ const existingAttribute = currClass?.attributes?.find((attr) => attr.name === attribute.name);
90
+ if (!existingAttribute) {
91
+ currClass.attributes.push(attribute);
92
+ }
93
+ else {
94
+ currClass.attributes = currClass.attributes.map((attr) => attr.name === attribute.name ? { ...attr, ...attribute } : attr);
95
+ }
96
+ }
97
+ }
98
+ });
99
+ }
100
+ //# sourceMappingURL=PropertyDecoratorPlugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PropertyDecoratorPlugin.js","sourceRoot":"","sources":["../../../../src/Plugins/Framework/Lit/PropertyDecoratorPlugin.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import type { IPlugin } from '@breadstone-tools/cem-plugin';
2
+ /**
3
+ * Static Properties Plugin - Handles `static get properties()` and `static properties`.
4
+ *
5
+ * @example
6
+ * ```typescript
7
+ * class MyClass {
8
+ * static properties = {
9
+ * myProperty: { type: String }
10
+ * };
11
+ * }
12
+ * ```
13
+ *
14
+ * @public
15
+ */
16
+ export declare function staticPropertiesPlugin(): IPlugin;
17
+ //# sourceMappingURL=StaticPropertiesPlugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StaticPropertiesPlugin.d.ts","sourceRoot":"","sources":["../../../../src/Plugins/Framework/Lit/StaticPropertiesPlugin.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAuB,OAAO,EAAE,MAAM,8BAA8B,CAAC;AAUjF;;;;;;;;;;;;;GAaG;AACH,wBAAgB,sBAAsB,IAAI,OAAO,CAwBhD"}
@@ -0,0 +1,126 @@
1
+ "use strict";
2
+ //#region Imports
3
+ var __importDefault = (this && this.__importDefault) || function (mod) {
4
+ return (mod && mod.__esModule) ? mod : { "default": mod };
5
+ };
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.staticPropertiesPlugin = staticPropertiesPlugin;
8
+ const typescript_1 = __importDefault(require("typescript"));
9
+ const Ast_js_1 = require("../../../Ast/Ast.js");
10
+ const BuildAttribute_js_1 = require("../../../Ast/Builder/BuildAttribute.js");
11
+ const BuildClass_js_1 = require("../../../Ast/Builder/BuildClass.js");
12
+ const BuildMixin_js_1 = require("../../../Ast/Builder/BuildMixin.js");
13
+ const HandleJsDoc_js_1 = require("../../../Ast/Handler/HandleJsDoc.js");
14
+ //#endregion
15
+ /**
16
+ * Static Properties Plugin - Handles `static get properties()` and `static properties`.
17
+ *
18
+ * @example
19
+ * ```typescript
20
+ * class MyClass {
21
+ * static properties = {
22
+ * myProperty: { type: String }
23
+ * };
24
+ * }
25
+ * ```
26
+ *
27
+ * @public
28
+ */
29
+ function staticPropertiesPlugin() {
30
+ return {
31
+ name: 'CORE - LIT-STATIC-PROPERTIES',
32
+ onAnalyze: (params) => {
33
+ switch (params.node.kind) {
34
+ case params.ts.SyntaxKind.VariableStatement:
35
+ case params.ts.SyntaxKind.FunctionDeclaration:
36
+ if ((0, Ast_js_1.isMixin)(params.node)) {
37
+ const mix = (0, Ast_js_1.extractMixinNodes)(params.node);
38
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
39
+ // @ts-ignore
40
+ const name = (0, BuildMixin_js_1.handleName)({}, mix.mixinFunction).name;
41
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
42
+ // @ts-ignore
43
+ handleStaticProperties(mix.mixinClass, moduleDoc, context, name, typescript_1.default);
44
+ }
45
+ break;
46
+ case params.ts.SyntaxKind.ClassDeclaration:
47
+ handleStaticProperties(params.node, params.moduleDoc, params.context, null);
48
+ break;
49
+ }
50
+ },
51
+ };
52
+ }
53
+ /**
54
+ * Handles the static properties for class members.
55
+ * @param classNode - The class node to handle.
56
+ * @param moduleDoc - The module documentation.
57
+ * @param context - The context for the analysis.
58
+ * @param mixinName - The mixin name, if applicable.
59
+ * @param ts - The TypeScript instance.
60
+ */
61
+ function handleStaticProperties(classNode, moduleDoc, context, mixinName = null) {
62
+ const className = mixinName ?? classNode.name?.getText();
63
+ const currClass = moduleDoc?.declarations?.find((declaration) => declaration.name === className);
64
+ classNode.members.forEach(member => {
65
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
66
+ // @ts-ignore
67
+ if ((0, Ast_js_1.hasStaticKeyword)(member) && member.name.text === 'properties') {
68
+ const propertiesObject = (0, Ast_js_1.getPropertiesObject)(member);
69
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
70
+ // @ts-ignore
71
+ propertiesObject?.properties?.forEach((property) => {
72
+ if (property.kind !== typescript_1.default.SyntaxKind.PropertyAssignment) {
73
+ return;
74
+ }
75
+ let classMember = {
76
+ kind: 'field',
77
+ name: property.name.getText() || '',
78
+ privacy: 'public',
79
+ };
80
+ const type = (0, Ast_js_1.getType)(property);
81
+ if (type) {
82
+ classMember.type = { text: type };
83
+ }
84
+ classMember = (0, HandleJsDoc_js_1.handleJsDoc)(classMember, property);
85
+ const memberIndex = currClass?.members?.findIndex((field) => field.name === classMember.name);
86
+ if (memberIndex >= 0) {
87
+ classMember = { ...classMember, ...currClass.members[memberIndex] };
88
+ }
89
+ if ((0, Ast_js_1.isAlsoAttribute)(property)) {
90
+ const attribute = (0, BuildAttribute_js_1.createAttributeFromField)(classMember);
91
+ const attributeName = (0, Ast_js_1.getAttributeName)(property);
92
+ if (attributeName) {
93
+ attribute.name = attributeName;
94
+ classMember.attribute = attributeName;
95
+ }
96
+ else {
97
+ classMember.attribute = classMember.name;
98
+ }
99
+ if ((0, Ast_js_1.reflects)(property)) {
100
+ classMember.attribute = attribute.name;
101
+ classMember.reflects = true;
102
+ }
103
+ const attributeIndex = currClass?.attributes?.findIndex((attr) => attr.name === attribute.name);
104
+ if (attributeIndex >= 0) {
105
+ currClass.attributes[attributeIndex] = {
106
+ ...currClass.attributes[attributeIndex],
107
+ ...attribute,
108
+ };
109
+ }
110
+ else {
111
+ currClass.attributes.push(attribute);
112
+ }
113
+ }
114
+ if (memberIndex >= 0) {
115
+ currClass.members[memberIndex] = classMember;
116
+ }
117
+ else {
118
+ currClass.members.push(classMember);
119
+ }
120
+ });
121
+ }
122
+ });
123
+ /** Get default values */
124
+ (0, BuildClass_js_1.getDefaultValuesFromConstructorVisitor)(classNode, currClass, context);
125
+ }
126
+ //# sourceMappingURL=StaticPropertiesPlugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StaticPropertiesPlugin.js","sourceRoot":"","sources":["../../../../src/Plugins/Framework/Lit/StaticPropertiesPlugin.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { IPlugin } from '@breadstone-tools/cem-plugin';
2
+ export declare function lwcFrameworkPlugins(): () => Array<IPlugin>;
3
+ //# sourceMappingURL=Lwc.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Lwc.d.ts","sourceRoot":"","sources":["../../../../src/Plugins/Framework/Lwc/Lwc.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAC;AAI5D,wBAAgB,mBAAmB,IAAI,MAAM,KAAK,CAAC,OAAO,CAAC,CAE1D"}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ //#region Imports
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.lwcFrameworkPlugins = lwcFrameworkPlugins;
5
+ //#endregion
6
+ function lwcFrameworkPlugins() {
7
+ throw new Error('Not implemented');
8
+ }
9
+ //# sourceMappingURL=Lwc.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Lwc.js","sourceRoot":"","sources":["../../../../src/Plugins/Framework/Lwc/Lwc.ts"],"names":[],"mappings":";AAAA,iBAAiB;;AAMjB,kDAEC;AAJD,YAAY;AAEZ,SAAgB,mBAAmB;IAC/B,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;AACvC,CAAC"}
@@ -0,0 +1,18 @@
1
+ import type { IPlugin } from '@breadstone-tools/cem-plugin';
2
+ /**
3
+ * Attr Decorator Plugin - Handles the @attr decorator.
4
+ *
5
+ * @example
6
+ * ```typescript
7
+ * class MyElement extends HTMLElement {
8
+ * @attr
9
+ * myAttribute = 'my-attribute';
10
+ * }
11
+ * ```
12
+ *
13
+ * @param converter - A function to convert the attribute, if needed.
14
+ *
15
+ * @public
16
+ */
17
+ export declare function attrDecoratorPlugin(converter?: (attribute: any) => any): IPlugin;
18
+ //# sourceMappingURL=AttrDecoratorPlugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AttrDecoratorPlugin.d.ts","sourceRoot":"","sources":["../../../../src/Plugins/Framework/Shared/AttrDecoratorPlugin.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAuB,OAAO,EAAE,MAAM,8BAA8B,CAAC;AAOjF;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,KAAK,GAAG,GAAG,OAAO,CA0DhF"}
@@ -0,0 +1,80 @@
1
+ "use strict";
2
+ //#region Imports
3
+ var __importDefault = (this && this.__importDefault) || function (mod) {
4
+ return (mod && mod.__esModule) ? mod : { "default": mod };
5
+ };
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.attrDecoratorPlugin = attrDecoratorPlugin;
8
+ const typescript_1 = __importDefault(require("typescript"));
9
+ const Ast_js_1 = require("../../../Ast/Ast.js");
10
+ const BuildAttribute_js_1 = require("../../../Ast/Builder/BuildAttribute.js");
11
+ //#endregion
12
+ /**
13
+ * Attr Decorator Plugin - Handles the @attr decorator.
14
+ *
15
+ * @example
16
+ * ```typescript
17
+ * class MyElement extends HTMLElement {
18
+ * @attr
19
+ * myAttribute = 'my-attribute';
20
+ * }
21
+ * ```
22
+ *
23
+ * @param converter - A function to convert the attribute, if needed.
24
+ *
25
+ * @public
26
+ */
27
+ function attrDecoratorPlugin(converter) {
28
+ return {
29
+ name: 'CORE - ATTR-DECORATOR',
30
+ onAnalyze: (params) => {
31
+ if (params.node.kind === typescript_1.default.SyntaxKind.ClassDeclaration) {
32
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
33
+ // @ts-ignore
34
+ const className = params.node.name?.getText();
35
+ const classDoc = params.moduleDoc.declarations?.find((declaration) => declaration.name === className);
36
+ /**
37
+ * If a field has the @attr decorator, create an attr from the field in the classDoc
38
+ */
39
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
40
+ // @ts-ignore
41
+ params.node.members?.forEach((member) => {
42
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
43
+ // @ts-ignore
44
+ const hasAttrDecorator = member.modifiers?.find((0, Ast_js_1.decorator)('attr'));
45
+ if (hasAttrDecorator) {
46
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
47
+ // @ts-ignore
48
+ const correspondingField = classDoc?.members?.find((classMember) => classMember.name === member.name.getText());
49
+ /**
50
+ * If a `field` was not found on the `currClass`, that's because it has a @internal jsdoc notation
51
+ */
52
+ if (!correspondingField) {
53
+ return;
54
+ }
55
+ let attribute = (0, BuildAttribute_js_1.createAttributeFromField)(correspondingField);
56
+ /**
57
+ * An @attr might have an options object, like: @attr({attribute: 'my-el'})
58
+ * to specify the attribute name, here we check if it does have such an object
59
+ * and add the name to the attribute
60
+ */
61
+ const optionsObject = (0, Ast_js_1.getOptionsObject)(hasAttrDecorator);
62
+ if (optionsObject) {
63
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
64
+ // @ts-ignore
65
+ const name = optionsObject.properties.find((prop) => prop.name.getText() === 'attribute')?.initializer?.getText();
66
+ attribute.name = name;
67
+ }
68
+ if (converter) {
69
+ attribute = converter(attribute);
70
+ }
71
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
72
+ // @ts-ignore
73
+ classDoc.attributes = [...(classDoc.attributes || []), attribute];
74
+ }
75
+ });
76
+ }
77
+ },
78
+ };
79
+ }
80
+ //# sourceMappingURL=AttrDecoratorPlugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AttrDecoratorPlugin.js","sourceRoot":"","sources":["../../../../src/Plugins/Framework/Shared/AttrDecoratorPlugin.ts"],"names":[],"mappings":";AAAA,iBAAiB;;;;;AAwBjB,kDA0DC;AA/ED,4DAA4B;AAC5B,gDAAkE;AAClE,8EAAkF;AAElF,YAAY;AAEZ;;;;;;;;;;;;;;GAcG;AACH,SAAgB,mBAAmB,CAAC,SAAmC;IACnE,OAAO;QACH,IAAI,EAAE,uBAAuB;QAC7B,SAAS,EAAE,CAAC,MAA2B,EAAE,EAAE;YACvC,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,oBAAE,CAAC,UAAU,CAAC,gBAAgB,EAAE,CAAC;gBACtD,6DAA6D;gBAC7D,aAAa;gBACb,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC;gBAC9C,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC,WAAgB,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;gBAE3G;;mBAEG;gBACH,6DAA6D;gBAC7D,aAAa;gBACb,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,MAAuB,EAAE,EAAE;oBACrD,6DAA6D;oBAC7D,aAAa;oBACb,MAAM,gBAAgB,GAAG,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,IAAA,kBAAS,EAAC,MAAM,CAAC,CAAC,CAAC;oBACnE,IAAI,gBAAgB,EAAE,CAAC;wBACnB,6DAA6D;wBAC7D,aAAa;wBACb,MAAM,kBAAkB,GAAG,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,WAAgB,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,KAAM,MAAM,CAAC,IAAsB,CAAC,OAAO,EAAE,CAAC,CAAC;wBAExI;;2BAEG;wBACH,IAAI,CAAC,kBAAkB,EAAE,CAAC;4BACtB,OAAO;wBACX,CAAC;wBAED,IAAI,SAAS,GAAG,IAAA,4CAAwB,EAAC,kBAAkB,CAAC,CAAC;wBAE7D;;;;2BAIG;wBACH,MAAM,aAAa,GAAG,IAAA,yBAAgB,EAAC,gBAAgB,CAAC,CAAC;wBACzD,IAAI,aAAa,EAAE,CAAC;4BAChB,6DAA6D;4BAC7D,aAAa;4BACb,MAAM,IAAI,GAAG,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,IAAiC,EAAE,EAAE,CAAE,IAAI,CAAC,IAAsB,CAAC,OAAO,EAAE,KAAK,WAAW,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC;4BAClK,SAAS,CAAC,IAAI,GAAG,IAAI,CAAC;wBAC1B,CAAC;wBAED,IAAI,SAAS,EAAE,CAAC;4BACZ,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;wBACrC,CAAC;wBAED,6DAA6D;wBAC7D,aAAa;wBACb,QAAQ,CAAC,UAAU,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,IAAI,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC;oBACtE,CAAC;gBACL,CAAC,CAAC,CAAC;YACP,CAAC;QACL,CAAC;KACJ,CAAC;AACN,CAAC"}
@@ -0,0 +1,14 @@
1
+ import type { IPlugin } from '@breadstone-tools/cem-plugin';
2
+ /**
3
+ * Custom Element Decorator Plugin - Handles the customElement decorator.
4
+ *
5
+ * @example
6
+ * ```typescript
7
+ * @customElement('my-element')
8
+ * class MyElement extends HTMLElement {}
9
+ * ```
10
+ *
11
+ * @public
12
+ */
13
+ export declare function customElementDecoratorPlugin(): IPlugin;
14
+ //# sourceMappingURL=CustomElementDecoratorPlugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CustomElementDecoratorPlugin.d.ts","sourceRoot":"","sources":["../../../../src/Plugins/Framework/Shared/CustomElementDecoratorPlugin.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAuB,OAAO,EAAE,MAAM,8BAA8B,CAAC;AAMjF;;;;;;;;;;GAUG;AACH,wBAAgB,4BAA4B,IAAI,OAAO,CA+BtD"}
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+ //#region Imports
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.customElementDecoratorPlugin = customElementDecoratorPlugin;
5
+ const Ast_js_1 = require("../../../Ast/Ast.js");
6
+ //#endregion
7
+ /**
8
+ * Custom Element Decorator Plugin - Handles the customElement decorator.
9
+ *
10
+ * @example
11
+ * ```typescript
12
+ * @customElement('my-element')
13
+ * class MyElement extends HTMLElement {}
14
+ * ```
15
+ *
16
+ * @public
17
+ */
18
+ function customElementDecoratorPlugin() {
19
+ return {
20
+ name: 'CORE - CUSTOM-ELEMENT-DECORATOR',
21
+ onAnalyze: (params) => {
22
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
23
+ // @ts-ignore
24
+ if (Array.isArray(params.node.modifiers) && params.node.modifiers.length > 0) {
25
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
26
+ // @ts-ignore
27
+ const customElementDecorator = params.node.modifiers?.find((0, Ast_js_1.decorator)('customElement'));
28
+ if (customElementDecorator) {
29
+ const className = params.node.name?.text;
30
+ const tagName = (0, Ast_js_1.getElementNameFromDecorator)(customElementDecorator);
31
+ const definitionDoc = {
32
+ kind: 'custom-element-definition',
33
+ name: tagName,
34
+ declaration: {
35
+ name: className,
36
+ ...resolveModuleOrPackageSpecifier(params.moduleDoc, params.context, className)
37
+ },
38
+ };
39
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
40
+ // @ts-ignore
41
+ params.moduleDoc.exports = [...(params.moduleDoc.exports ?? []), definitionDoc];
42
+ }
43
+ }
44
+ }
45
+ };
46
+ }
47
+ /**
48
+ * Resolves the module or package specifier for a given name.
49
+ * @param moduleDoc - The module documentation object.
50
+ * @param context - The context object containing imports.
51
+ * @param name - The name to resolve the specifier for.
52
+ * @returns An object with the resolved module or package specifier.
53
+ */
54
+ function resolveModuleOrPackageSpecifier(moduleDoc, context, name) {
55
+ const foundImport = context?.imports?.find((i) => i.name === name);
56
+ if (foundImport) {
57
+ if (foundImport.isBareModuleSpecifier) {
58
+ // Import is from a 3rd party package
59
+ return { package: foundImport.importPath };
60
+ }
61
+ // Import is from a local module
62
+ return { module: new URL(foundImport.importPath, `file:///${moduleDoc.path}`).pathname };
63
+ }
64
+ // Item is in the current module
65
+ return { module: moduleDoc.path };
66
+ }
67
+ //# sourceMappingURL=CustomElementDecoratorPlugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CustomElementDecoratorPlugin.js","sourceRoot":"","sources":["../../../../src/Plugins/Framework/Shared/CustomElementDecoratorPlugin.ts"],"names":[],"mappings":";AAAA,iBAAiB;;AAmBjB,oEA+BC;AA9CD,gDAA6E;AAE7E,YAAY;AAEZ;;;;;;;;;;GAUG;AACH,SAAgB,4BAA4B;IACxC,OAAO;QACH,IAAI,EAAE,iCAAiC;QACvC,SAAS,EAAE,CAAC,MAA2B,EAAE,EAAE;YACvC,6DAA6D;YAC7D,aAAa;YACb,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC3E,6DAA6D;gBAC7D,aAAa;gBACb,MAAM,sBAAsB,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,IAAA,kBAAS,EAAC,eAAe,CAAC,CAAC,CAAC;gBAEvF,IAAI,sBAAsB,EAAE,CAAC;oBACzB,MAAM,SAAS,GAAI,MAAM,CAAC,IAA4B,CAAC,IAAI,EAAE,IAAI,CAAC;oBAClE,MAAM,OAAO,GAAG,IAAA,oCAA2B,EAAC,sBAAsB,CAAC,CAAC;oBAEpE,MAAM,aAAa,GAAG;wBAClB,IAAI,EAAE,2BAA2B;wBACjC,IAAI,EAAE,OAAO;wBACb,WAAW,EAAE;4BACT,IAAI,EAAE,SAAS;4BACf,GAAG,+BAA+B,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC;yBAClF;qBACJ,CAAC;oBAEF,6DAA6D;oBAC7D,aAAa;oBACb,MAAM,CAAC,SAAS,CAAC,OAAO,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,aAAa,CAAC,CAAC;gBACpF,CAAC;YACL,CAAC;QACL,CAAC;KACJ,CAAC;AACN,CAAC;AAED;;;;;;GAMG;AACH,SAAS,+BAA+B,CAAC,SAAc,EAAE,OAAY,EAAE,IAAa;IAChF,MAAM,WAAW,GAAG,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;IAExE,IAAI,WAAW,EAAE,CAAC;QACd,IAAI,WAAW,CAAC,qBAAqB,EAAE,CAAC;YACpC,qCAAqC;YACrC,OAAO,EAAE,OAAO,EAAE,WAAW,CAAC,UAAU,EAAE,CAAC;QAC/C,CAAC;QAED,gCAAgC;QAChC,OAAO,EAAE,MAAM,EAAE,IAAI,GAAG,CAAC,WAAW,CAAC,UAAU,EAAE,WAAW,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;IAC7F,CAAC;IAED,gCAAgC;IAChC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC;AACtC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { IPlugin } from '@breadstone-tools/cem-plugin';
2
+ export declare function stencilFrameworkPlugins(): () => Array<IPlugin>;
3
+ //# sourceMappingURL=Stencil.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Stencil.d.ts","sourceRoot":"","sources":["../../../../src/Plugins/Framework/Stencil/Stencil.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAC;AAI5D,wBAAgB,uBAAuB,IAAI,MAAM,KAAK,CAAC,OAAO,CAAC,CAE9D"}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ //#region Imports
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.stencilFrameworkPlugins = stencilFrameworkPlugins;
5
+ //#endregion
6
+ function stencilFrameworkPlugins() {
7
+ throw new Error('Not implemented');
8
+ }
9
+ //# sourceMappingURL=Stencil.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Stencil.js","sourceRoot":"","sources":["../../../../src/Plugins/Framework/Stencil/Stencil.ts"],"names":[],"mappings":";AAAA,iBAAiB;;AAMjB,0DAEC;AAJD,YAAY;AAEZ,SAAgB,uBAAuB;IACnC,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;AACvC,CAAC"}
@@ -0,0 +1,6 @@
1
+ import type { IPlugin } from '@breadstone-tools/cem-plugin';
2
+ /**
3
+ * Cleanup Classes Plugin - Removes empty arrays from classes; e.g. if a class doesn't have any `members`, then we remove it from the class doc.
4
+ */
5
+ export declare function cleanupClassesPlugin(): IPlugin;
6
+ //# sourceMappingURL=CleanupClassesPlugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CleanupClassesPlugin.d.ts","sourceRoot":"","sources":["../../../src/Plugins/Link/CleanupClassesPlugin.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAA0B,OAAO,EAAE,MAAM,8BAA8B,CAAC;AAIpF;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,OAAO,CAe9C"}
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ //#region Imports
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.cleanupClassesPlugin = cleanupClassesPlugin;
5
+ //#endregion
6
+ /**
7
+ * Cleanup Classes Plugin - Removes empty arrays from classes; e.g. if a class doesn't have any `members`, then we remove it from the class doc.
8
+ */
9
+ function cleanupClassesPlugin() {
10
+ return {
11
+ name: 'CORE - CLEANUP-CLASSES',
12
+ onModuleLink: (parmas) => {
13
+ const classes = parmas.moduleDoc.declarations?.filter((declaration) => declaration.kind === 'class' || declaration.kind === 'mixin');
14
+ classes?.forEach((klass) => {
15
+ ['cssProperties', 'cssParts', 'slots', 'members', 'attributes', 'events', 'cssStates'].forEach(field => {
16
+ if (!(Array.isArray(klass[field]) && klass[field].length > 0)) {
17
+ delete klass[field];
18
+ }
19
+ });
20
+ });
21
+ }
22
+ };
23
+ }
24
+ //# sourceMappingURL=CleanupClassesPlugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CleanupClassesPlugin.js","sourceRoot":"","sources":["../../../src/Plugins/Link/CleanupClassesPlugin.ts"],"names":[],"mappings":";AAAA,iBAAiB;;AASjB,oDAeC;AApBD,YAAY;AAEZ;;GAEG;AACH,SAAgB,oBAAoB;IAChC,OAAO;QACH,IAAI,EAAE,wBAAwB;QAC9B,YAAY,EAAE,CAAC,MAA8B,EAAE,EAAE;YAC7C,MAAM,OAAO,GAAG,MAAM,CAAC,SAAS,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,WAAgB,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,KAAK,OAAO,IAAI,WAAW,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;YAE1I,OAAO,EAAE,OAAO,CAAC,CAAC,KAAU,EAAE,EAAE;gBAC5B,CAAC,eAAe,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;oBACnG,IAAI,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC;wBAC5D,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC;oBACxB,CAAC;gBACL,CAAC,CAAC,CAAC;YACP,CAAC,CAAC,CAAC;QACP,CAAC;KACJ,CAAC;AACN,CAAC"}
@@ -0,0 +1,6 @@
1
+ import type { IPlugin } from '@breadstone-tools/cem-plugin';
2
+ /**
3
+ * Field Deny List Plugin - Excludes fields from the manifest.
4
+ */
5
+ export declare function fieldDenyListPlugin(): IPlugin;
6
+ //# sourceMappingURL=FieldDenyListPlugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FieldDenyListPlugin.d.ts","sourceRoot":"","sources":["../../../src/Plugins/Link/FieldDenyListPlugin.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAA0B,OAAO,EAAE,MAAM,8BAA8B,CAAC;AAIpF;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,OAAO,CAe7C"}
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ //#region Imports
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.fieldDenyListPlugin = fieldDenyListPlugin;
5
+ //#endregion
6
+ /**
7
+ * Field Deny List Plugin - Excludes fields from the manifest.
8
+ */
9
+ function fieldDenyListPlugin() {
10
+ const FIELD_DENY_LIST = [
11
+ 'observedAttributes',
12
+ ];
13
+ return {
14
+ name: 'CORE - FIELD-DENYLIST',
15
+ onModuleLink: (parmas) => {
16
+ const classes = parmas.moduleDoc.declarations?.filter((declaration) => declaration.kind === 'class' || declaration.kind === 'mixin');
17
+ classes?.forEach((klass) => {
18
+ klass.members = klass?.members?.filter((member) => !FIELD_DENY_LIST.includes(member.name));
19
+ });
20
+ }
21
+ };
22
+ }
23
+ //# sourceMappingURL=FieldDenyListPlugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FieldDenyListPlugin.js","sourceRoot":"","sources":["../../../src/Plugins/Link/FieldDenyListPlugin.ts"],"names":[],"mappings":";AAAA,iBAAiB;;AASjB,kDAeC;AApBD,YAAY;AAEZ;;GAEG;AACH,SAAgB,mBAAmB;IAC/B,MAAM,eAAe,GAAG;QACpB,oBAAoB;KACvB,CAAC;IAEF,OAAO;QACH,IAAI,EAAE,uBAAuB;QAC7B,YAAY,EAAE,CAAC,MAA8B,EAAE,EAAE;YAC7C,MAAM,OAAO,GAAG,MAAM,CAAC,SAAS,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,WAAgB,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,KAAK,OAAO,IAAI,WAAW,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;YAE1I,OAAO,EAAE,OAAO,CAAC,CAAC,KAAU,EAAE,EAAE;gBAC5B,KAAK,CAAC,OAAO,GAAG,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,MAAW,EAAE,EAAE,CAAC,CAAC,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;YACpG,CAAC,CAAC,CAAC;QACP,CAAC;KACJ,CAAC;AACN,CAAC"}
@@ -0,0 +1,6 @@
1
+ import type { IPlugin } from '@breadstone-tools/cem-plugin';
2
+ /**
3
+ * Method Deny List Plugin - Excludes methods from the manifest.
4
+ */
5
+ export declare function methodDenyListPlugin(): IPlugin;
6
+ //# sourceMappingURL=MethodDenyListPlugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MethodDenyListPlugin.d.ts","sourceRoot":"","sources":["../../../src/Plugins/Link/MethodDenyListPlugin.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAA0B,OAAO,EAAE,MAAM,8BAA8B,CAAC;AAIpF;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,OAAO,CAkB9C"}