@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.
- package/Ast/Ast.d.ts +224 -0
- package/Ast/Ast.d.ts.map +1 -0
- package/Ast/Ast.js +557 -0
- package/Ast/Ast.js.map +1 -0
- package/Ast/Builder/BuildArrowFunction.d.ts +14 -0
- package/Ast/Builder/BuildArrowFunction.d.ts.map +1 -0
- package/Ast/Builder/BuildArrowFunction.js +29 -0
- package/Ast/Builder/BuildArrowFunction.js.map +1 -0
- package/Ast/Builder/BuildAttribute.d.ts +16 -0
- package/Ast/Builder/BuildAttribute.d.ts.map +1 -0
- package/Ast/Builder/BuildAttribute.js +36 -0
- package/Ast/Builder/BuildAttribute.js.map +1 -0
- package/Ast/Builder/BuildClass.d.ts +24 -0
- package/Ast/Builder/BuildClass.d.ts.map +1 -0
- package/Ast/Builder/BuildClass.js +251 -0
- package/Ast/Builder/BuildClass.js.map +1 -0
- package/Ast/Builder/BuildClassField.d.ts +14 -0
- package/Ast/Builder/BuildClassField.d.ts.map +1 -0
- package/Ast/Builder/BuildClassField.js +34 -0
- package/Ast/Builder/BuildClassField.js.map +1 -0
- package/Ast/Builder/BuildFunctionLike.d.ts +41 -0
- package/Ast/Builder/BuildFunctionLike.d.ts.map +1 -0
- package/Ast/Builder/BuildFunctionLike.js +80 -0
- package/Ast/Builder/BuildFunctionLike.js.map +1 -0
- package/Ast/Builder/BuildMixin.d.ts +19 -0
- package/Ast/Builder/BuildMixin.d.ts.map +1 -0
- package/Ast/Builder/BuildMixin.js +50 -0
- package/Ast/Builder/BuildMixin.js.map +1 -0
- package/Ast/Builder/BuildVariable.d.ts +15 -0
- package/Ast/Builder/BuildVariable.d.ts.map +1 -0
- package/Ast/Builder/BuildVariable.js +29 -0
- package/Ast/Builder/BuildVariable.js.map +1 -0
- package/Ast/Handler/HandleAttrJsDoc.d.ts +10 -0
- package/Ast/Handler/HandleAttrJsDoc.d.ts.map +1 -0
- package/Ast/Handler/HandleAttrJsDoc.js +43 -0
- package/Ast/Handler/HandleAttrJsDoc.js.map +1 -0
- package/Ast/Handler/HandleCollectMixins.d.ts +10 -0
- package/Ast/Handler/HandleCollectMixins.d.ts.map +1 -0
- package/Ast/Handler/HandleCollectMixins.js +27 -0
- package/Ast/Handler/HandleCollectMixins.js.map +1 -0
- package/Ast/Handler/HandleCreateClassDeclarationMixin.d.ts +9 -0
- package/Ast/Handler/HandleCreateClassDeclarationMixin.d.ts.map +1 -0
- package/Ast/Handler/HandleCreateClassDeclarationMixin.js +38 -0
- package/Ast/Handler/HandleCreateClassDeclarationMixin.js.map +1 -0
- package/Ast/Handler/HandleCustomJsDocTags.d.ts +8 -0
- package/Ast/Handler/HandleCustomJsDocTags.d.ts.map +1 -0
- package/Ast/Handler/HandleCustomJsDocTags.js +31 -0
- package/Ast/Handler/HandleCustomJsDocTags.js.map +1 -0
- package/Ast/Handler/HandleDefaultValue.d.ts +10 -0
- package/Ast/Handler/HandleDefaultValue.d.ts.map +1 -0
- package/Ast/Handler/HandleDefaultValue.js +48 -0
- package/Ast/Handler/HandleDefaultValue.js.map +1 -0
- package/Ast/Handler/HandleExplicitType.d.ts +10 -0
- package/Ast/Handler/HandleExplicitType.d.ts.map +1 -0
- package/Ast/Handler/HandleExplicitType.js +28 -0
- package/Ast/Handler/HandleExplicitType.js.map +1 -0
- package/Ast/Handler/HandleHeritage.d.ts +11 -0
- package/Ast/Handler/HandleHeritage.d.ts.map +1 -0
- package/Ast/Handler/HandleHeritage.js +67 -0
- package/Ast/Handler/HandleHeritage.js.map +1 -0
- package/Ast/Handler/HandleJsDoc.d.ts +9 -0
- package/Ast/Handler/HandleJsDoc.d.ts.map +1 -0
- package/Ast/Handler/HandleJsDoc.js +90 -0
- package/Ast/Handler/HandleJsDoc.js.map +1 -0
- package/Ast/Handler/HandleJsDocParameterTag.d.ts +8 -0
- package/Ast/Handler/HandleJsDocParameterTag.d.ts.map +1 -0
- package/Ast/Handler/HandleJsDocParameterTag.js +59 -0
- package/Ast/Handler/HandleJsDocParameterTag.js.map +1 -0
- package/Ast/Handler/HandleModifiers.d.ts +13 -0
- package/Ast/Handler/HandleModifiers.d.ts.map +1 -0
- package/Ast/Handler/HandleModifiers.js +49 -0
- package/Ast/Handler/HandleModifiers.js.map +1 -0
- package/Ast/Handler/HandlePrivateMember.d.ts +10 -0
- package/Ast/Handler/HandlePrivateMember.d.ts.map +1 -0
- package/Ast/Handler/HandlePrivateMember.js +25 -0
- package/Ast/Handler/HandlePrivateMember.js.map +1 -0
- package/Ast/Handler/HandleTypeInference.d.ts +9 -0
- package/Ast/Handler/HandleTypeInference.d.ts.map +1 -0
- package/Ast/Handler/HandleTypeInference.js +46 -0
- package/Ast/Handler/HandleTypeInference.js.map +1 -0
- package/Ast/Handler/HandleWellKnownTypes.d.ts +11 -0
- package/Ast/Handler/HandleWellKnownTypes.d.ts.map +1 -0
- package/Ast/Handler/HandleWellKnownTypes.js +28 -0
- package/Ast/Handler/HandleWellKnownTypes.js.map +1 -0
- package/Ast/Manifest.d.ts +47 -0
- package/Ast/Manifest.d.ts.map +1 -0
- package/Ast/Manifest.js +209 -0
- package/Ast/Manifest.js.map +1 -0
- package/Index.d.ts +9 -0
- package/Index.d.ts.map +1 -0
- package/Index.js +8 -0
- package/Index.js.map +1 -0
- package/LICENSE +21 -0
- package/Plugins/Analyse/ArrowFunctionPlugin.d.ts +13 -0
- package/Plugins/Analyse/ArrowFunctionPlugin.d.ts.map +1 -0
- package/Plugins/Analyse/ArrowFunctionPlugin.js +37 -0
- package/Plugins/Analyse/ArrowFunctionPlugin.js.map +1 -0
- package/Plugins/Analyse/ClassJsDocPlugin.d.ts +25 -0
- package/Plugins/Analyse/ClassJsDocPlugin.d.ts.map +1 -0
- package/Plugins/Analyse/ClassJsDocPlugin.js +200 -0
- package/Plugins/Analyse/ClassJsDocPlugin.js.map +1 -0
- package/Plugins/Analyse/ClassPlugin.d.ts +13 -0
- package/Plugins/Analyse/ClassPlugin.d.ts.map +1 -0
- package/Plugins/Analyse/ClassPlugin.js +32 -0
- package/Plugins/Analyse/ClassPlugin.js.map +1 -0
- package/Plugins/Analyse/CustomElementsDefineCallsPlugin.d.ts +15 -0
- package/Plugins/Analyse/CustomElementsDefineCallsPlugin.d.ts.map +1 -0
- package/Plugins/Analyse/CustomElementsDefineCallsPlugin.js +112 -0
- package/Plugins/Analyse/CustomElementsDefineCallsPlugin.js.map +1 -0
- package/Plugins/Analyse/ExportsPlugin.d.ts +18 -0
- package/Plugins/Analyse/ExportsPlugin.d.ts.map +1 -0
- package/Plugins/Analyse/ExportsPlugin.js +154 -0
- package/Plugins/Analyse/ExportsPlugin.js.map +1 -0
- package/Plugins/Analyse/FunctionLikePlugin.d.ts +14 -0
- package/Plugins/Analyse/FunctionLikePlugin.d.ts.map +1 -0
- package/Plugins/Analyse/FunctionLikePlugin.js +36 -0
- package/Plugins/Analyse/FunctionLikePlugin.js.map +1 -0
- package/Plugins/Analyse/MixinPlugin.d.ts +13 -0
- package/Plugins/Analyse/MixinPlugin.d.ts.map +1 -0
- package/Plugins/Analyse/MixinPlugin.js +36 -0
- package/Plugins/Analyse/MixinPlugin.js.map +1 -0
- package/Plugins/Analyse/ReexportedWrappedMixinExportsPlugin.d.ts +15 -0
- package/Plugins/Analyse/ReexportedWrappedMixinExportsPlugin.d.ts.map +1 -0
- package/Plugins/Analyse/ReexportedWrappedMixinExportsPlugin.js +56 -0
- package/Plugins/Analyse/ReexportedWrappedMixinExportsPlugin.js.map +1 -0
- package/Plugins/Analyse/VariablePlugin.d.ts +13 -0
- package/Plugins/Analyse/VariablePlugin.d.ts.map +1 -0
- package/Plugins/Analyse/VariablePlugin.js +40 -0
- package/Plugins/Analyse/VariablePlugin.js.map +1 -0
- package/Plugins/Collect/CollectImportsPlugin.d.ts +6 -0
- package/Plugins/Collect/CollectImportsPlugin.d.ts.map +1 -0
- package/Plugins/Collect/CollectImportsPlugin.js +100 -0
- package/Plugins/Collect/CollectImportsPlugin.js.map +1 -0
- package/Plugins/Framework/Catalyst/Catalyst.d.ts +3 -0
- package/Plugins/Framework/Catalyst/Catalyst.d.ts.map +1 -0
- package/Plugins/Framework/Catalyst/Catalyst.js +9 -0
- package/Plugins/Framework/Catalyst/Catalyst.js.map +1 -0
- package/Plugins/Framework/Fast/Fast.d.ts +3 -0
- package/Plugins/Framework/Fast/Fast.d.ts.map +1 -0
- package/Plugins/Framework/Fast/Fast.js +9 -0
- package/Plugins/Framework/Fast/Fast.js.map +1 -0
- package/Plugins/Framework/Lit/Lit.d.ts +8 -0
- package/Plugins/Framework/Lit/Lit.d.ts.map +1 -0
- package/Plugins/Framework/Lit/Lit.js +25 -0
- package/Plugins/Framework/Lit/Lit.js.map +1 -0
- package/Plugins/Framework/Lit/MemberDenyListPlugin.d.ts +16 -0
- package/Plugins/Framework/Lit/MemberDenyListPlugin.d.ts.map +1 -0
- package/Plugins/Framework/Lit/MemberDenyListPlugin.js +37 -0
- package/Plugins/Framework/Lit/MemberDenyListPlugin.js.map +1 -0
- package/Plugins/Framework/Lit/MethodDenyListPlugin.d.ts +24 -0
- package/Plugins/Framework/Lit/MethodDenyListPlugin.d.ts.map +1 -0
- package/Plugins/Framework/Lit/MethodDenyListPlugin.js +51 -0
- package/Plugins/Framework/Lit/MethodDenyListPlugin.js.map +1 -0
- package/Plugins/Framework/Lit/PropertyDecoratorPlugin.d.ts +16 -0
- package/Plugins/Framework/Lit/PropertyDecoratorPlugin.d.ts.map +1 -0
- package/Plugins/Framework/Lit/PropertyDecoratorPlugin.js +100 -0
- package/Plugins/Framework/Lit/PropertyDecoratorPlugin.js.map +1 -0
- package/Plugins/Framework/Lit/StaticPropertiesPlugin.d.ts +17 -0
- package/Plugins/Framework/Lit/StaticPropertiesPlugin.d.ts.map +1 -0
- package/Plugins/Framework/Lit/StaticPropertiesPlugin.js +126 -0
- package/Plugins/Framework/Lit/StaticPropertiesPlugin.js.map +1 -0
- package/Plugins/Framework/Lwc/Lwc.d.ts +3 -0
- package/Plugins/Framework/Lwc/Lwc.d.ts.map +1 -0
- package/Plugins/Framework/Lwc/Lwc.js +9 -0
- package/Plugins/Framework/Lwc/Lwc.js.map +1 -0
- package/Plugins/Framework/Shared/AttrDecoratorPlugin.d.ts +18 -0
- package/Plugins/Framework/Shared/AttrDecoratorPlugin.d.ts.map +1 -0
- package/Plugins/Framework/Shared/AttrDecoratorPlugin.js +80 -0
- package/Plugins/Framework/Shared/AttrDecoratorPlugin.js.map +1 -0
- package/Plugins/Framework/Shared/CustomElementDecoratorPlugin.d.ts +14 -0
- package/Plugins/Framework/Shared/CustomElementDecoratorPlugin.d.ts.map +1 -0
- package/Plugins/Framework/Shared/CustomElementDecoratorPlugin.js +67 -0
- package/Plugins/Framework/Shared/CustomElementDecoratorPlugin.js.map +1 -0
- package/Plugins/Framework/Stencil/Stencil.d.ts +3 -0
- package/Plugins/Framework/Stencil/Stencil.d.ts.map +1 -0
- package/Plugins/Framework/Stencil/Stencil.js +9 -0
- package/Plugins/Framework/Stencil/Stencil.js.map +1 -0
- package/Plugins/Link/CleanupClassesPlugin.d.ts +6 -0
- package/Plugins/Link/CleanupClassesPlugin.d.ts.map +1 -0
- package/Plugins/Link/CleanupClassesPlugin.js +24 -0
- package/Plugins/Link/CleanupClassesPlugin.js.map +1 -0
- package/Plugins/Link/FieldDenyListPlugin.d.ts +6 -0
- package/Plugins/Link/FieldDenyListPlugin.d.ts.map +1 -0
- package/Plugins/Link/FieldDenyListPlugin.js +23 -0
- package/Plugins/Link/FieldDenyListPlugin.js.map +1 -0
- package/Plugins/Link/MethodDenyListPlugin.d.ts +6 -0
- package/Plugins/Link/MethodDenyListPlugin.d.ts.map +1 -0
- package/Plugins/Link/MethodDenyListPlugin.js +26 -0
- package/Plugins/Link/MethodDenyListPlugin.js.map +1 -0
- package/Plugins/PostProcessing/ApplyInheritancePlugin.d.ts +6 -0
- package/Plugins/PostProcessing/ApplyInheritancePlugin.d.ts.map +1 -0
- package/Plugins/PostProcessing/ApplyInheritancePlugin.js +87 -0
- package/Plugins/PostProcessing/ApplyInheritancePlugin.js.map +1 -0
- package/Plugins/PostProcessing/IsCustomElementPlugin.d.ts +6 -0
- package/Plugins/PostProcessing/IsCustomElementPlugin.d.ts.map +1 -0
- package/Plugins/PostProcessing/IsCustomElementPlugin.js +35 -0
- package/Plugins/PostProcessing/IsCustomElementPlugin.js.map +1 -0
- package/Plugins/PostProcessing/LinkClassToTagnamePlugin.d.ts +6 -0
- package/Plugins/PostProcessing/LinkClassToTagnamePlugin.d.ts.map +1 -0
- package/Plugins/PostProcessing/LinkClassToTagnamePlugin.js +28 -0
- package/Plugins/PostProcessing/LinkClassToTagnamePlugin.js.map +1 -0
- package/Plugins/PostProcessing/RemoveUnexportedDeclarationsPlugin.d.ts +6 -0
- package/Plugins/PostProcessing/RemoveUnexportedDeclarationsPlugin.d.ts.map +1 -0
- package/Plugins/PostProcessing/RemoveUnexportedDeclarationsPlugin.js +21 -0
- package/Plugins/PostProcessing/RemoveUnexportedDeclarationsPlugin.js.map +1 -0
- package/Plugins/PostProcessing/ResolveInitializersPlugin.d.ts +6 -0
- package/Plugins/PostProcessing/ResolveInitializersPlugin.d.ts.map +1 -0
- package/Plugins/PostProcessing/ResolveInitializersPlugin.js +59 -0
- package/Plugins/PostProcessing/ResolveInitializersPlugin.js.map +1 -0
- package/Services/DependencyService.d.ts +1 -0
- package/Services/DependencyService.d.ts.map +1 -0
- package/Services/DependencyService.js +112 -0
- package/Services/DependencyService.js.map +1 -0
- package/Services/Interfaces/IDependencyService.d.ts +12 -0
- package/Services/Interfaces/IDependencyService.d.ts.map +1 -0
- package/Services/Interfaces/IDependencyService.js +4 -0
- package/Services/Interfaces/IDependencyService.js.map +1 -0
- package/Services/Interfaces/IManifestBuilder.d.ts +16 -0
- package/Services/Interfaces/IManifestBuilder.d.ts.map +1 -0
- package/Services/Interfaces/IManifestBuilder.js +4 -0
- package/Services/Interfaces/IManifestBuilder.js.map +1 -0
- package/Services/Interfaces/IManifestEngine.d.ts +16 -0
- package/Services/Interfaces/IManifestEngine.d.ts.map +1 -0
- package/Services/Interfaces/IManifestEngine.js +4 -0
- package/Services/Interfaces/IManifestEngine.js.map +1 -0
- package/Services/ManifestBuilder.d.ts +47 -0
- package/Services/ManifestBuilder.d.ts.map +1 -0
- package/Services/ManifestBuilder.js +49 -0
- package/Services/ManifestBuilder.js.map +1 -0
- package/Services/ManifestEngine.d.ts +62 -0
- package/Services/ManifestEngine.d.ts.map +1 -0
- package/Services/ManifestEngine.js +283 -0
- package/Services/ManifestEngine.js.map +1 -0
- package/Types/Framework.d.ts +2 -0
- package/Types/Framework.d.ts.map +1 -0
- package/Types/Framework.js +3 -0
- package/Types/Framework.js.map +1 -0
- package/Types.d.ts +1 -0
- package/Types.d.ts.map +1 -0
- package/Types.js +45 -0
- package/Types.js.map +1 -0
- package/Utils.d.ts +50 -0
- package/Utils.d.ts.map +1 -0
- package/Utils.js +147 -0
- package/Utils.js.map +1 -0
- 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 @@
|
|
|
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 @@
|
|
|
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 @@
|
|
|
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 @@
|
|
|
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"}
|