@tachui/core 0.7.0-alpha1
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/LICENSE +363 -0
- package/dist/assets/Asset.cjs +2 -0
- package/dist/assets/Asset.cjs.map +1 -0
- package/dist/assets/Asset.d.ts +11 -0
- package/dist/assets/Asset.d.ts.map +1 -0
- package/dist/assets/Asset.js +9 -0
- package/dist/assets/Asset.js.map +1 -0
- package/dist/assets/AssetCollection.cjs +2 -0
- package/dist/assets/AssetCollection.cjs.map +1 -0
- package/dist/assets/AssetCollection.d.ts +14 -0
- package/dist/assets/AssetCollection.d.ts.map +1 -0
- package/dist/assets/AssetCollection.js +44 -0
- package/dist/assets/AssetCollection.js.map +1 -0
- package/dist/assets/ColorAsset.cjs +2 -0
- package/dist/assets/ColorAsset.cjs.map +1 -0
- package/dist/assets/ColorAsset.d.ts +31 -0
- package/dist/assets/ColorAsset.d.ts.map +1 -0
- package/dist/assets/ColorAsset.js +114 -0
- package/dist/assets/ColorAsset.js.map +1 -0
- package/dist/assets/FontAsset.cjs +9 -0
- package/dist/assets/FontAsset.cjs.map +1 -0
- package/dist/assets/FontAsset.d.ts +114 -0
- package/dist/assets/FontAsset.d.ts.map +1 -0
- package/dist/assets/FontAsset.js +173 -0
- package/dist/assets/FontAsset.js.map +1 -0
- package/dist/assets/ImageAsset.cjs +2 -0
- package/dist/assets/ImageAsset.cjs.map +1 -0
- package/dist/assets/ImageAsset.d.ts +35 -0
- package/dist/assets/ImageAsset.d.ts.map +1 -0
- package/dist/assets/ImageAsset.js +39 -0
- package/dist/assets/ImageAsset.js.map +1 -0
- package/dist/assets/index.cjs +2 -0
- package/dist/assets/index.cjs.map +1 -0
- package/dist/assets/index.d.ts +26 -0
- package/dist/assets/index.d.ts.map +1 -0
- package/dist/assets/index.js +119 -0
- package/dist/assets/index.js.map +1 -0
- package/dist/assets/types.d.ts +70 -0
- package/dist/assets/types.d.ts.map +1 -0
- package/dist/bundles/common.d.ts +24 -0
- package/dist/bundles/common.d.ts.map +1 -0
- package/dist/bundles/complete.d.ts +27 -0
- package/dist/bundles/complete.d.ts.map +1 -0
- package/dist/bundles/essential.d.ts +24 -0
- package/dist/bundles/essential.d.ts.map +1 -0
- package/dist/bundles/minimal.d.ts +24 -0
- package/dist/bundles/minimal.d.ts.map +1 -0
- package/dist/bundles/production-minimal.d.ts +35 -0
- package/dist/bundles/production-minimal.d.ts.map +1 -0
- package/dist/common.cjs +2 -0
- package/dist/common.cjs.map +1 -0
- package/dist/common.js +985 -0
- package/dist/common.js.map +1 -0
- package/dist/compiler/advanced-parser.cjs +5 -0
- package/dist/compiler/advanced-parser.cjs.map +1 -0
- package/dist/compiler/advanced-parser.d.ts +113 -0
- package/dist/compiler/advanced-parser.d.ts.map +1 -0
- package/dist/compiler/advanced-parser.js +440 -0
- package/dist/compiler/advanced-parser.js.map +1 -0
- package/dist/compiler/codegen.cjs +6 -0
- package/dist/compiler/codegen.cjs.map +1 -0
- package/dist/compiler/codegen.d.ts +20 -0
- package/dist/compiler/codegen.d.ts.map +1 -0
- package/dist/compiler/codegen.js +241 -0
- package/dist/compiler/codegen.js.map +1 -0
- package/dist/compiler/enhanced-codegen.cjs +6 -0
- package/dist/compiler/enhanced-codegen.cjs.map +1 -0
- package/dist/compiler/enhanced-codegen.d.ts +121 -0
- package/dist/compiler/enhanced-codegen.d.ts.map +1 -0
- package/dist/compiler/enhanced-codegen.js +347 -0
- package/dist/compiler/enhanced-codegen.js.map +1 -0
- package/dist/compiler/index.cjs +2 -0
- package/dist/compiler/index.cjs.map +1 -0
- package/dist/compiler/index.d.ts +14 -0
- package/dist/compiler/index.d.ts.map +1 -0
- package/dist/compiler/index.js +13 -0
- package/dist/compiler/index.js.map +1 -0
- package/dist/compiler/parser.cjs +5 -0
- package/dist/compiler/parser.cjs.map +1 -0
- package/dist/compiler/parser.d.ts +12 -0
- package/dist/compiler/parser.d.ts.map +1 -0
- package/dist/compiler/parser.js +275 -0
- package/dist/compiler/parser.js.map +1 -0
- package/dist/compiler/plugin.cjs +33 -0
- package/dist/compiler/plugin.cjs.map +1 -0
- package/dist/compiler/plugin.d.ts +13 -0
- package/dist/compiler/plugin.d.ts.map +1 -0
- package/dist/compiler/plugin.js +103 -0
- package/dist/compiler/plugin.js.map +1 -0
- package/dist/compiler/types.d.ts +149 -0
- package/dist/compiler/types.d.ts.map +1 -0
- package/dist/components/BasicInput.cjs +2 -0
- package/dist/components/BasicInput.cjs.map +1 -0
- package/dist/components/BasicInput.d.ts +116 -0
- package/dist/components/BasicInput.d.ts.map +1 -0
- package/dist/components/BasicInput.js +182 -0
- package/dist/components/BasicInput.js.map +1 -0
- package/dist/components/Button.cjs +7 -0
- package/dist/components/Button.cjs.map +1 -0
- package/dist/components/Button.d.ts +252 -0
- package/dist/components/Button.d.ts.map +1 -0
- package/dist/components/Button.js +408 -0
- package/dist/components/Button.js.map +1 -0
- package/dist/components/Divider.cjs +2 -0
- package/dist/components/Divider.cjs.map +1 -0
- package/dist/components/Divider.d.ts +141 -0
- package/dist/components/Divider.d.ts.map +1 -0
- package/dist/components/Divider.js +187 -0
- package/dist/components/Divider.js.map +1 -0
- package/dist/components/EnhancedLink.cjs +2 -0
- package/dist/components/EnhancedLink.cjs.map +1 -0
- package/dist/components/EnhancedLink.d.ts +365 -0
- package/dist/components/EnhancedLink.d.ts.map +1 -0
- package/dist/components/EnhancedLink.js +345 -0
- package/dist/components/EnhancedLink.js.map +1 -0
- package/dist/components/Form.cjs +2 -0
- package/dist/components/Form.cjs.map +1 -0
- package/dist/components/Form.d.ts +141 -0
- package/dist/components/Form.d.ts.map +1 -0
- package/dist/components/Form.js +244 -0
- package/dist/components/Form.js.map +1 -0
- package/dist/components/Grid.cjs +2 -0
- package/dist/components/Grid.cjs.map +1 -0
- package/dist/components/Grid.d.ts +698 -0
- package/dist/components/Grid.d.ts.map +1 -0
- package/dist/components/Grid.js +1045 -0
- package/dist/components/Grid.js.map +1 -0
- package/dist/components/GridResponsive.cjs +2 -0
- package/dist/components/GridResponsive.cjs.map +1 -0
- package/dist/components/GridResponsive.d.ts +214 -0
- package/dist/components/GridResponsive.d.ts.map +1 -0
- package/dist/components/GridResponsive.js +382 -0
- package/dist/components/GridResponsive.js.map +1 -0
- package/dist/components/Image.cjs +2 -0
- package/dist/components/Image.cjs.map +1 -0
- package/dist/components/Image.d.ts +162 -0
- package/dist/components/Image.d.ts.map +1 -0
- package/dist/components/Image.js +212 -0
- package/dist/components/Image.js.map +1 -0
- package/dist/components/List.cjs +2 -0
- package/dist/components/List.cjs.map +1 -0
- package/dist/components/List.d.ts +287 -0
- package/dist/components/List.d.ts.map +1 -0
- package/dist/components/List.js +561 -0
- package/dist/components/List.js.map +1 -0
- package/dist/components/Menu.cjs +2 -0
- package/dist/components/Menu.cjs.map +1 -0
- package/dist/components/Menu.d.ts +159 -0
- package/dist/components/Menu.d.ts.map +1 -0
- package/dist/components/Menu.js +443 -0
- package/dist/components/Menu.js.map +1 -0
- package/dist/components/Picker.cjs +2 -0
- package/dist/components/Picker.cjs.map +1 -0
- package/dist/components/Picker.d.ts +153 -0
- package/dist/components/Picker.d.ts.map +1 -0
- package/dist/components/Picker.js +478 -0
- package/dist/components/Picker.js.map +1 -0
- package/dist/components/ScrollView.cjs +6 -0
- package/dist/components/ScrollView.cjs.map +1 -0
- package/dist/components/ScrollView.d.ts +222 -0
- package/dist/components/ScrollView.d.ts.map +1 -0
- package/dist/components/ScrollView.js +363 -0
- package/dist/components/ScrollView.js.map +1 -0
- package/dist/components/Section.cjs +2 -0
- package/dist/components/Section.cjs.map +1 -0
- package/dist/components/Section.d.ts +153 -0
- package/dist/components/Section.d.ts.map +1 -0
- package/dist/components/Section.js +323 -0
- package/dist/components/Section.js.map +1 -0
- package/dist/components/Show.cjs +2 -0
- package/dist/components/Show.cjs.map +1 -0
- package/dist/components/Show.d.ts +64 -0
- package/dist/components/Show.d.ts.map +1 -0
- package/dist/components/Show.js +112 -0
- package/dist/components/Show.js.map +1 -0
- package/dist/components/Spacer.cjs +2 -0
- package/dist/components/Spacer.cjs.map +1 -0
- package/dist/components/Spacer.d.ts +35 -0
- package/dist/components/Spacer.d.ts.map +1 -0
- package/dist/components/Spacer.js +53 -0
- package/dist/components/Spacer.js.map +1 -0
- package/dist/components/Text.cjs +2 -0
- package/dist/components/Text.cjs.map +1 -0
- package/dist/components/Text.d.ts +242 -0
- package/dist/components/Text.d.ts.map +1 -0
- package/dist/components/Text.js +193 -0
- package/dist/components/Text.js.map +1 -0
- package/dist/components/Toggle.cjs +2 -0
- package/dist/components/Toggle.cjs.map +1 -0
- package/dist/components/Toggle.d.ts +207 -0
- package/dist/components/Toggle.d.ts.map +1 -0
- package/dist/components/Toggle.js +477 -0
- package/dist/components/Toggle.js.map +1 -0
- package/dist/components/index.cjs +2 -0
- package/dist/components/index.cjs.map +1 -0
- package/dist/components/index.d.ts +45 -0
- package/dist/components/index.d.ts.map +1 -0
- package/dist/components/index.js +104 -0
- package/dist/components/index.js.map +1 -0
- package/dist/components/wrapper.cjs +2 -0
- package/dist/components/wrapper.cjs.map +1 -0
- package/dist/components/wrapper.d.ts +249 -0
- package/dist/components/wrapper.d.ts.map +1 -0
- package/dist/components/wrapper.js +484 -0
- package/dist/components/wrapper.js.map +1 -0
- package/dist/concatenation/concatenatable.cjs +2 -0
- package/dist/concatenation/concatenatable.cjs.map +1 -0
- package/dist/concatenation/concatenatable.d.ts +63 -0
- package/dist/concatenation/concatenatable.d.ts.map +1 -0
- package/dist/concatenation/concatenatable.js +118 -0
- package/dist/concatenation/concatenatable.js.map +1 -0
- package/dist/concatenation/concatenated-component.cjs +2 -0
- package/dist/concatenation/concatenated-component.cjs.map +1 -0
- package/dist/concatenation/concatenated-component.d.ts +110 -0
- package/dist/concatenation/concatenated-component.d.ts.map +1 -0
- package/dist/concatenation/concatenated-component.js +276 -0
- package/dist/concatenation/concatenated-component.js.map +1 -0
- package/dist/concatenation/index.d.ts +13 -0
- package/dist/concatenation/index.d.ts.map +1 -0
- package/dist/concatenation/text-optimizer.cjs +2 -0
- package/dist/concatenation/text-optimizer.cjs.map +1 -0
- package/dist/concatenation/text-optimizer.d.ts +104 -0
- package/dist/concatenation/text-optimizer.d.ts.map +1 -0
- package/dist/concatenation/text-optimizer.js +236 -0
- package/dist/concatenation/text-optimizer.js.map +1 -0
- package/dist/concatenation/types.cjs +2 -0
- package/dist/concatenation/types.cjs.map +1 -0
- package/dist/concatenation/types.d.ts +88 -0
- package/dist/concatenation/types.d.ts.map +1 -0
- package/dist/concatenation/types.js +13 -0
- package/dist/concatenation/types.js.map +1 -0
- package/dist/constants/frame-utils.cjs +2 -0
- package/dist/constants/frame-utils.cjs.map +1 -0
- package/dist/constants/frame-utils.d.ts +68 -0
- package/dist/constants/frame-utils.d.ts.map +1 -0
- package/dist/constants/frame-utils.js +116 -0
- package/dist/constants/frame-utils.js.map +1 -0
- package/dist/constants/index.d.ts +8 -0
- package/dist/constants/index.d.ts.map +1 -0
- package/dist/constants/layout.cjs +2 -0
- package/dist/constants/layout.cjs.map +1 -0
- package/dist/constants/layout.d.ts +60 -0
- package/dist/constants/layout.d.ts.map +1 -0
- package/dist/constants/layout.js +46 -0
- package/dist/constants/layout.js.map +1 -0
- package/dist/css-classes/component-base.cjs +2 -0
- package/dist/css-classes/component-base.cjs.map +1 -0
- package/dist/css-classes/component-base.d.ts +40 -0
- package/dist/css-classes/component-base.d.ts.map +1 -0
- package/dist/css-classes/component-base.js +62 -0
- package/dist/css-classes/component-base.js.map +1 -0
- package/dist/css-classes/css-class-manager.cjs +2 -0
- package/dist/css-classes/css-class-manager.cjs.map +1 -0
- package/dist/css-classes/css-class-manager.d.ts +89 -0
- package/dist/css-classes/css-class-manager.d.ts.map +1 -0
- package/dist/css-classes/css-class-manager.js +209 -0
- package/dist/css-classes/css-class-manager.js.map +1 -0
- package/dist/css-classes/dom-integration.cjs +2 -0
- package/dist/css-classes/dom-integration.cjs.map +1 -0
- package/dist/css-classes/dom-integration.d.ts +76 -0
- package/dist/css-classes/dom-integration.d.ts.map +1 -0
- package/dist/css-classes/dom-integration.js +67 -0
- package/dist/css-classes/dom-integration.js.map +1 -0
- package/dist/css-classes/enhanced-renderer.cjs +2 -0
- package/dist/css-classes/enhanced-renderer.cjs.map +1 -0
- package/dist/css-classes/enhanced-renderer.d.ts +42 -0
- package/dist/css-classes/enhanced-renderer.d.ts.map +1 -0
- package/dist/css-classes/enhanced-renderer.js +73 -0
- package/dist/css-classes/enhanced-renderer.js.map +1 -0
- package/dist/css-classes/index.d.ts +14 -0
- package/dist/css-classes/index.d.ts.map +1 -0
- package/dist/css-classes/types.d.ts +59 -0
- package/dist/css-classes/types.d.ts.map +1 -0
- package/dist/css-classes/utilities.cjs +2 -0
- package/dist/css-classes/utilities.cjs.map +1 -0
- package/dist/css-classes/utilities.d.ts +104 -0
- package/dist/css-classes/utilities.d.ts.map +1 -0
- package/dist/css-classes/utilities.js +41 -0
- package/dist/css-classes/utilities.js.map +1 -0
- package/dist/debug/index.d.ts +61 -0
- package/dist/debug/index.d.ts.map +1 -0
- package/dist/debug.cjs +52 -0
- package/dist/debug.cjs.map +1 -0
- package/dist/debug.js +179 -0
- package/dist/debug.js.map +1 -0
- package/dist/developer-experience/enhanced-errors.d.ts +128 -0
- package/dist/developer-experience/enhanced-errors.d.ts.map +1 -0
- package/dist/developer-experience/enhanced-types.d.ts +281 -0
- package/dist/developer-experience/enhanced-types.d.ts.map +1 -0
- package/dist/developer-experience/index.d.ts +44 -0
- package/dist/developer-experience/index.d.ts.map +1 -0
- package/dist/essential.cjs +2 -0
- package/dist/essential.cjs.map +1 -0
- package/dist/essential.js +968 -0
- package/dist/essential.js.map +1 -0
- package/dist/gradients/css-generator.cjs +2 -0
- package/dist/gradients/css-generator.cjs.map +1 -0
- package/dist/gradients/css-generator.d.ts +10 -0
- package/dist/gradients/css-generator.d.ts.map +1 -0
- package/dist/gradients/css-generator.js +100 -0
- package/dist/gradients/css-generator.js.map +1 -0
- package/dist/gradients/examples.cjs +2 -0
- package/dist/gradients/examples.cjs.map +1 -0
- package/dist/gradients/examples.d.ts +432 -0
- package/dist/gradients/examples.d.ts.map +1 -0
- package/dist/gradients/examples.js +555 -0
- package/dist/gradients/examples.js.map +1 -0
- package/dist/gradients/gradient-asset.cjs +2 -0
- package/dist/gradients/gradient-asset.cjs.map +1 -0
- package/dist/gradients/gradient-asset.d.ts +10 -0
- package/dist/gradients/gradient-asset.d.ts.map +1 -0
- package/dist/gradients/gradient-asset.js +22 -0
- package/dist/gradients/gradient-asset.js.map +1 -0
- package/dist/gradients/index.cjs +2 -0
- package/dist/gradients/index.cjs.map +1 -0
- package/dist/gradients/index.d.ts +19 -0
- package/dist/gradients/index.d.ts.map +1 -0
- package/dist/gradients/index.js +78 -0
- package/dist/gradients/index.js.map +1 -0
- package/dist/gradients/performance.cjs +2 -0
- package/dist/gradients/performance.cjs.map +1 -0
- package/dist/gradients/performance.d.ts +146 -0
- package/dist/gradients/performance.d.ts.map +1 -0
- package/dist/gradients/performance.js +237 -0
- package/dist/gradients/performance.js.map +1 -0
- package/dist/gradients/presets.cjs +2 -0
- package/dist/gradients/presets.cjs.map +1 -0
- package/dist/gradients/presets.d.ts +165 -0
- package/dist/gradients/presets.d.ts.map +1 -0
- package/dist/gradients/presets.js +254 -0
- package/dist/gradients/presets.js.map +1 -0
- package/dist/gradients/reactive.cjs +2 -0
- package/dist/gradients/reactive.cjs.map +1 -0
- package/dist/gradients/reactive.d.ts +167 -0
- package/dist/gradients/reactive.d.ts.map +1 -0
- package/dist/gradients/reactive.js +239 -0
- package/dist/gradients/reactive.js.map +1 -0
- package/dist/gradients/state-gradient-asset.cjs +2 -0
- package/dist/gradients/state-gradient-asset.cjs.map +1 -0
- package/dist/gradients/state-gradient-asset.d.ts +67 -0
- package/dist/gradients/state-gradient-asset.d.ts.map +1 -0
- package/dist/gradients/state-gradient-asset.js +111 -0
- package/dist/gradients/state-gradient-asset.js.map +1 -0
- package/dist/gradients/types.d.ts +94 -0
- package/dist/gradients/types.d.ts.map +1 -0
- package/dist/gradients/utils.cjs +2 -0
- package/dist/gradients/utils.cjs.map +1 -0
- package/dist/gradients/utils.d.ts +313 -0
- package/dist/gradients/utils.d.ts.map +1 -0
- package/dist/gradients/utils.js +385 -0
- package/dist/gradients/utils.js.map +1 -0
- package/dist/gradients/validation.cjs +2 -0
- package/dist/gradients/validation.cjs.map +1 -0
- package/dist/gradients/validation.d.ts +156 -0
- package/dist/gradients/validation.d.ts.map +1 -0
- package/dist/gradients/validation.js +209 -0
- package/dist/gradients/validation.js.map +1 -0
- package/dist/index.cjs +2 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.ts +26 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +965 -0
- package/dist/index.js.map +1 -0
- package/dist/index2.cjs +2 -0
- package/dist/index2.cjs.map +1 -0
- package/dist/index2.js +293 -0
- package/dist/index2.js.map +1 -0
- package/dist/lifecycle/hooks.cjs +2 -0
- package/dist/lifecycle/hooks.cjs.map +1 -0
- package/dist/lifecycle/hooks.d.ts +101 -0
- package/dist/lifecycle/hooks.d.ts.map +1 -0
- package/dist/lifecycle/hooks.js +159 -0
- package/dist/lifecycle/hooks.js.map +1 -0
- package/dist/minimal-prod.cjs +2 -0
- package/dist/minimal-prod.cjs.map +1 -0
- package/dist/minimal-prod.js +193 -0
- package/dist/minimal-prod.js.map +1 -0
- package/dist/minimal.cjs +2 -0
- package/dist/minimal.cjs.map +1 -0
- package/dist/minimal.js +968 -0
- package/dist/minimal.js.map +1 -0
- package/dist/modifiers/as-html-validator.cjs +2 -0
- package/dist/modifiers/as-html-validator.cjs.map +1 -0
- package/dist/modifiers/as-html-validator.d.ts +20 -0
- package/dist/modifiers/as-html-validator.d.ts.map +1 -0
- package/dist/modifiers/as-html-validator.js +47 -0
- package/dist/modifiers/as-html-validator.js.map +1 -0
- package/dist/modifiers/as-html.cjs +2 -0
- package/dist/modifiers/as-html.cjs.map +1 -0
- package/dist/modifiers/as-html.d.ts +65 -0
- package/dist/modifiers/as-html.d.ts.map +1 -0
- package/dist/modifiers/as-html.js +71 -0
- package/dist/modifiers/as-html.js.map +1 -0
- package/dist/modifiers/attributes.cjs +2 -0
- package/dist/modifiers/attributes.cjs.map +1 -0
- package/dist/modifiers/attributes.d.ts +203 -0
- package/dist/modifiers/attributes.d.ts.map +1 -0
- package/dist/modifiers/attributes.js +272 -0
- package/dist/modifiers/attributes.js.map +1 -0
- package/dist/modifiers/backdrop.cjs +2 -0
- package/dist/modifiers/backdrop.cjs.map +1 -0
- package/dist/modifiers/backdrop.d.ts +59 -0
- package/dist/modifiers/backdrop.d.ts.map +1 -0
- package/dist/modifiers/backdrop.js +109 -0
- package/dist/modifiers/backdrop.js.map +1 -0
- package/dist/modifiers/background.cjs +2 -0
- package/dist/modifiers/background.cjs.map +1 -0
- package/dist/modifiers/background.d.ts +21 -0
- package/dist/modifiers/background.d.ts.map +1 -0
- package/dist/modifiers/background.js +67 -0
- package/dist/modifiers/background.js.map +1 -0
- package/dist/modifiers/base.cjs +25 -0
- package/dist/modifiers/base.cjs.map +1 -0
- package/dist/modifiers/base.d.ts +156 -0
- package/dist/modifiers/base.d.ts.map +1 -0
- package/dist/modifiers/base.js +745 -0
- package/dist/modifiers/base.js.map +1 -0
- package/dist/modifiers/basic-sanitizer.cjs +2 -0
- package/dist/modifiers/basic-sanitizer.cjs.map +1 -0
- package/dist/modifiers/basic-sanitizer.d.ts +54 -0
- package/dist/modifiers/basic-sanitizer.d.ts.map +1 -0
- package/dist/modifiers/basic-sanitizer.js +162 -0
- package/dist/modifiers/basic-sanitizer.js.map +1 -0
- package/dist/modifiers/border.cjs +2 -0
- package/dist/modifiers/border.cjs.map +1 -0
- package/dist/modifiers/border.d.ts +217 -0
- package/dist/modifiers/border.d.ts.map +1 -0
- package/dist/modifiers/border.js +160 -0
- package/dist/modifiers/border.js.map +1 -0
- package/dist/modifiers/builder.cjs +2 -0
- package/dist/modifiers/builder.cjs.map +1 -0
- package/dist/modifiers/builder.d.ts +377 -0
- package/dist/modifiers/builder.d.ts.map +1 -0
- package/dist/modifiers/builder.js +930 -0
- package/dist/modifiers/builder.js.map +1 -0
- package/dist/modifiers/core.cjs +2 -0
- package/dist/modifiers/core.cjs.map +1 -0
- package/dist/modifiers/core.d.ts +407 -0
- package/dist/modifiers/core.d.ts.map +1 -0
- package/dist/modifiers/core.js +398 -0
- package/dist/modifiers/core.js.map +1 -0
- package/dist/modifiers/css.cjs +2 -0
- package/dist/modifiers/css.cjs.map +1 -0
- package/dist/modifiers/css.d.ts +86 -0
- package/dist/modifiers/css.d.ts.map +1 -0
- package/dist/modifiers/css.js +50 -0
- package/dist/modifiers/css.js.map +1 -0
- package/dist/modifiers/effects.cjs +2 -0
- package/dist/modifiers/effects.cjs.map +1 -0
- package/dist/modifiers/effects.d.ts +159 -0
- package/dist/modifiers/effects.d.ts.map +1 -0
- package/dist/modifiers/effects.js +178 -0
- package/dist/modifiers/effects.js.map +1 -0
- package/dist/modifiers/elements.cjs +2 -0
- package/dist/modifiers/elements.cjs.map +1 -0
- package/dist/modifiers/elements.d.ts +240 -0
- package/dist/modifiers/elements.d.ts.map +1 -0
- package/dist/modifiers/elements.js +216 -0
- package/dist/modifiers/elements.js.map +1 -0
- package/dist/modifiers/filters.cjs +2 -0
- package/dist/modifiers/filters.cjs.map +1 -0
- package/dist/modifiers/filters.d.ts +275 -0
- package/dist/modifiers/filters.d.ts.map +1 -0
- package/dist/modifiers/filters.js +223 -0
- package/dist/modifiers/filters.js.map +1 -0
- package/dist/modifiers/flexbox.cjs +2 -0
- package/dist/modifiers/flexbox.cjs.map +1 -0
- package/dist/modifiers/flexbox.d.ts +82 -0
- package/dist/modifiers/flexbox.d.ts.map +1 -0
- package/dist/modifiers/flexbox.js +56 -0
- package/dist/modifiers/flexbox.js.map +1 -0
- package/dist/modifiers/font.cjs +2 -0
- package/dist/modifiers/font.cjs.map +1 -0
- package/dist/modifiers/font.d.ts +71 -0
- package/dist/modifiers/font.d.ts.map +1 -0
- package/dist/modifiers/font.js +60 -0
- package/dist/modifiers/font.js.map +1 -0
- package/dist/modifiers/grid.cjs +2 -0
- package/dist/modifiers/grid.cjs.map +1 -0
- package/dist/modifiers/grid.d.ts +92 -0
- package/dist/modifiers/grid.d.ts.map +1 -0
- package/dist/modifiers/grid.js +92 -0
- package/dist/modifiers/grid.js.map +1 -0
- package/dist/modifiers/index.d.ts +58 -0
- package/dist/modifiers/index.d.ts.map +1 -0
- package/dist/modifiers/margin.cjs +2 -0
- package/dist/modifiers/margin.cjs.map +1 -0
- package/dist/modifiers/margin.d.ts +128 -0
- package/dist/modifiers/margin.d.ts.map +1 -0
- package/dist/modifiers/margin.js +65 -0
- package/dist/modifiers/margin.js.map +1 -0
- package/dist/modifiers/padding.cjs +2 -0
- package/dist/modifiers/padding.cjs.map +1 -0
- package/dist/modifiers/padding.d.ts +204 -0
- package/dist/modifiers/padding.d.ts.map +1 -0
- package/dist/modifiers/padding.js +109 -0
- package/dist/modifiers/padding.js.map +1 -0
- package/dist/modifiers/registry.cjs +2 -0
- package/dist/modifiers/registry.cjs.map +1 -0
- package/dist/modifiers/registry.d.ts +69 -0
- package/dist/modifiers/registry.d.ts.map +1 -0
- package/dist/modifiers/registry.js +163 -0
- package/dist/modifiers/registry.js.map +1 -0
- package/dist/modifiers/responsive/advanced-utilities.cjs +2 -0
- package/dist/modifiers/responsive/advanced-utilities.cjs.map +1 -0
- package/dist/modifiers/responsive/advanced-utilities.d.ts +118 -0
- package/dist/modifiers/responsive/advanced-utilities.d.ts.map +1 -0
- package/dist/modifiers/responsive/advanced-utilities.js +291 -0
- package/dist/modifiers/responsive/advanced-utilities.js.map +1 -0
- package/dist/modifiers/responsive/breakpoints.cjs +2 -0
- package/dist/modifiers/responsive/breakpoints.cjs.map +1 -0
- package/dist/modifiers/responsive/breakpoints.d.ts +81 -0
- package/dist/modifiers/responsive/breakpoints.d.ts.map +1 -0
- package/dist/modifiers/responsive/breakpoints.js +168 -0
- package/dist/modifiers/responsive/breakpoints.js.map +1 -0
- package/dist/modifiers/responsive/css-generator.cjs +5 -0
- package/dist/modifiers/responsive/css-generator.cjs.map +1 -0
- package/dist/modifiers/responsive/css-generator.d.ts +100 -0
- package/dist/modifiers/responsive/css-generator.d.ts.map +1 -0
- package/dist/modifiers/responsive/css-generator.js +261 -0
- package/dist/modifiers/responsive/css-generator.js.map +1 -0
- package/dist/modifiers/responsive/dev-tools.cjs +77 -0
- package/dist/modifiers/responsive/dev-tools.cjs.map +1 -0
- package/dist/modifiers/responsive/dev-tools.d.ts +107 -0
- package/dist/modifiers/responsive/dev-tools.d.ts.map +1 -0
- package/dist/modifiers/responsive/dev-tools.js +380 -0
- package/dist/modifiers/responsive/dev-tools.js.map +1 -0
- package/dist/modifiers/responsive/index.d.ts +28 -0
- package/dist/modifiers/responsive/index.d.ts.map +1 -0
- package/dist/modifiers/responsive/layout-patterns.cjs +2 -0
- package/dist/modifiers/responsive/layout-patterns.cjs.map +1 -0
- package/dist/modifiers/responsive/layout-patterns.d.ts +230 -0
- package/dist/modifiers/responsive/layout-patterns.d.ts.map +1 -0
- package/dist/modifiers/responsive/layout-patterns.js +254 -0
- package/dist/modifiers/responsive/layout-patterns.js.map +1 -0
- package/dist/modifiers/responsive/performance.cjs +3 -0
- package/dist/modifiers/responsive/performance.cjs.map +1 -0
- package/dist/modifiers/responsive/performance.d.ts +130 -0
- package/dist/modifiers/responsive/performance.d.ts.map +1 -0
- package/dist/modifiers/responsive/performance.js +212 -0
- package/dist/modifiers/responsive/performance.js.map +1 -0
- package/dist/modifiers/responsive/responsive-builder.cjs +2 -0
- package/dist/modifiers/responsive/responsive-builder.cjs.map +1 -0
- package/dist/modifiers/responsive/responsive-builder.d.ts +133 -0
- package/dist/modifiers/responsive/responsive-builder.d.ts.map +1 -0
- package/dist/modifiers/responsive/responsive-builder.js +272 -0
- package/dist/modifiers/responsive/responsive-builder.js.map +1 -0
- package/dist/modifiers/responsive/responsive-modifier.cjs +3 -0
- package/dist/modifiers/responsive/responsive-modifier.cjs.map +1 -0
- package/dist/modifiers/responsive/responsive-modifier.d.ts +123 -0
- package/dist/modifiers/responsive/responsive-modifier.d.ts.map +1 -0
- package/dist/modifiers/responsive/responsive-modifier.js +204 -0
- package/dist/modifiers/responsive/responsive-modifier.js.map +1 -0
- package/dist/modifiers/responsive/types.cjs +2 -0
- package/dist/modifiers/responsive/types.cjs.map +1 -0
- package/dist/modifiers/responsive/types.d.ts +183 -0
- package/dist/modifiers/responsive/types.d.ts.map +1 -0
- package/dist/modifiers/responsive/types.js +26 -0
- package/dist/modifiers/responsive/types.js.map +1 -0
- package/dist/modifiers/responsive/utilities.cjs +16 -0
- package/dist/modifiers/responsive/utilities.cjs.map +1 -0
- package/dist/modifiers/responsive/utilities.d.ts +149 -0
- package/dist/modifiers/responsive/utilities.d.ts.map +1 -0
- package/dist/modifiers/responsive/utilities.js +273 -0
- package/dist/modifiers/responsive/utilities.js.map +1 -0
- package/dist/modifiers/scroll.cjs +2 -0
- package/dist/modifiers/scroll.cjs.map +1 -0
- package/dist/modifiers/scroll.d.ts +143 -0
- package/dist/modifiers/scroll.d.ts.map +1 -0
- package/dist/modifiers/scroll.js +82 -0
- package/dist/modifiers/scroll.js.map +1 -0
- package/dist/modifiers/shadows.cjs +2 -0
- package/dist/modifiers/shadows.cjs.map +1 -0
- package/dist/modifiers/shadows.d.ts +114 -0
- package/dist/modifiers/shadows.d.ts.map +1 -0
- package/dist/modifiers/shadows.js +147 -0
- package/dist/modifiers/shadows.js.map +1 -0
- package/dist/modifiers/size.cjs +2 -0
- package/dist/modifiers/size.cjs.map +1 -0
- package/dist/modifiers/size.d.ts +113 -0
- package/dist/modifiers/size.d.ts.map +1 -0
- package/dist/modifiers/size.js +74 -0
- package/dist/modifiers/size.js.map +1 -0
- package/dist/modifiers/text.cjs +2 -0
- package/dist/modifiers/text.cjs.map +1 -0
- package/dist/modifiers/text.d.ts +147 -0
- package/dist/modifiers/text.d.ts.map +1 -0
- package/dist/modifiers/text.js +166 -0
- package/dist/modifiers/text.js.map +1 -0
- package/dist/modifiers/transformations.cjs +2 -0
- package/dist/modifiers/transformations.cjs.map +1 -0
- package/dist/modifiers/transformations.d.ts +329 -0
- package/dist/modifiers/transformations.d.ts.map +1 -0
- package/dist/modifiers/transformations.js +216 -0
- package/dist/modifiers/transformations.js.map +1 -0
- package/dist/modifiers/transitions.cjs +2 -0
- package/dist/modifiers/transitions.cjs.map +1 -0
- package/dist/modifiers/transitions.d.ts +98 -0
- package/dist/modifiers/transitions.d.ts.map +1 -0
- package/dist/modifiers/transitions.js +102 -0
- package/dist/modifiers/transitions.js.map +1 -0
- package/dist/modifiers/types.cjs +2 -0
- package/dist/modifiers/types.cjs.map +1 -0
- package/dist/modifiers/types.d.ts +655 -0
- package/dist/modifiers/types.d.ts.map +1 -0
- package/dist/modifiers/types.js +5 -0
- package/dist/modifiers/types.js.map +1 -0
- package/dist/modifiers/typography.cjs +2 -0
- package/dist/modifiers/typography.cjs.map +1 -0
- package/dist/modifiers/typography.d.ts +192 -0
- package/dist/modifiers/typography.d.ts.map +1 -0
- package/dist/modifiers/typography.js +76 -0
- package/dist/modifiers/typography.js.map +1 -0
- package/dist/modifiers/utility.cjs +2 -0
- package/dist/modifiers/utility.cjs.map +1 -0
- package/dist/modifiers/utility.d.ts +69 -0
- package/dist/modifiers/utility.d.ts.map +1 -0
- package/dist/modifiers/utility.js +71 -0
- package/dist/modifiers/utility.js.map +1 -0
- package/dist/modifiers/utils.cjs +2 -0
- package/dist/modifiers/utils.cjs.map +1 -0
- package/dist/modifiers/utils.d.ts +75 -0
- package/dist/modifiers/utils.d.ts.map +1 -0
- package/dist/modifiers/utils.js +250 -0
- package/dist/modifiers/utils.js.map +1 -0
- package/dist/plugins/component-loader-registry.d.ts +143 -0
- package/dist/plugins/component-loader-registry.d.ts.map +1 -0
- package/dist/plugins/index.cjs +2 -0
- package/dist/plugins/index.cjs.map +1 -0
- package/dist/plugins/index.d.ts +17 -0
- package/dist/plugins/index.d.ts.map +1 -0
- package/dist/plugins/index.js +34 -0
- package/dist/plugins/index.js.map +1 -0
- package/dist/plugins/legacy-adapter.cjs +2 -0
- package/dist/plugins/legacy-adapter.cjs.map +1 -0
- package/dist/plugins/legacy-adapter.d.ts +35 -0
- package/dist/plugins/legacy-adapter.d.ts.map +1 -0
- package/dist/plugins/legacy-adapter.js +30 -0
- package/dist/plugins/legacy-adapter.js.map +1 -0
- package/dist/plugins/simplified-component-registry.cjs +2 -0
- package/dist/plugins/simplified-component-registry.cjs.map +1 -0
- package/dist/plugins/simplified-component-registry.d.ts +40 -0
- package/dist/plugins/simplified-component-registry.d.ts.map +1 -0
- package/dist/plugins/simplified-component-registry.js +71 -0
- package/dist/plugins/simplified-component-registry.js.map +1 -0
- package/dist/plugins/simplified-error-handler.cjs +2 -0
- package/dist/plugins/simplified-error-handler.cjs.map +1 -0
- package/dist/plugins/simplified-error-handler.d.ts +83 -0
- package/dist/plugins/simplified-error-handler.d.ts.map +1 -0
- package/dist/plugins/simplified-error-handler.js +154 -0
- package/dist/plugins/simplified-error-handler.js.map +1 -0
- package/dist/plugins/simplified-index.d.ts +17 -0
- package/dist/plugins/simplified-index.d.ts.map +1 -0
- package/dist/plugins/simplified-lazy-loader.cjs +2 -0
- package/dist/plugins/simplified-lazy-loader.cjs.map +1 -0
- package/dist/plugins/simplified-lazy-loader.d.ts +65 -0
- package/dist/plugins/simplified-lazy-loader.d.ts.map +1 -0
- package/dist/plugins/simplified-lazy-loader.js +129 -0
- package/dist/plugins/simplified-lazy-loader.js.map +1 -0
- package/dist/plugins/simplified-plugin-manager.cjs +2 -0
- package/dist/plugins/simplified-plugin-manager.cjs.map +1 -0
- package/dist/plugins/simplified-plugin-manager.d.ts +24 -0
- package/dist/plugins/simplified-plugin-manager.d.ts.map +1 -0
- package/dist/plugins/simplified-plugin-manager.js +51 -0
- package/dist/plugins/simplified-plugin-manager.js.map +1 -0
- package/dist/plugins/simplified-tachui-instance.cjs +2 -0
- package/dist/plugins/simplified-tachui-instance.cjs.map +1 -0
- package/dist/plugins/simplified-tachui-instance.d.ts +54 -0
- package/dist/plugins/simplified-tachui-instance.d.ts.map +1 -0
- package/dist/plugins/simplified-tachui-instance.js +88 -0
- package/dist/plugins/simplified-tachui-instance.js.map +1 -0
- package/dist/plugins/simplified-types.cjs +2 -0
- package/dist/plugins/simplified-types.cjs.map +1 -0
- package/dist/plugins/simplified-types.d.ts +63 -0
- package/dist/plugins/simplified-types.d.ts.map +1 -0
- package/dist/plugins/simplified-types.js +9 -0
- package/dist/plugins/simplified-types.js.map +1 -0
- package/dist/plugins/simplified-utils.cjs +2 -0
- package/dist/plugins/simplified-utils.cjs.map +1 -0
- package/dist/plugins/simplified-utils.d.ts +39 -0
- package/dist/plugins/simplified-utils.d.ts.map +1 -0
- package/dist/plugins/simplified-utils.js +40 -0
- package/dist/plugins/simplified-utils.js.map +1 -0
- package/dist/reactive/cleanup.cjs +2 -0
- package/dist/reactive/cleanup.cjs.map +1 -0
- package/dist/reactive/cleanup.d.ts +115 -0
- package/dist/reactive/cleanup.d.ts.map +1 -0
- package/dist/reactive/cleanup.js +62 -0
- package/dist/reactive/cleanup.js.map +1 -0
- package/dist/reactive/computed.cjs +2 -0
- package/dist/reactive/computed.cjs.map +1 -0
- package/dist/reactive/computed.d.ts +115 -0
- package/dist/reactive/computed.d.ts.map +1 -0
- package/dist/reactive/computed.js +121 -0
- package/dist/reactive/computed.js.map +1 -0
- package/dist/reactive/context.cjs +2 -0
- package/dist/reactive/context.cjs.map +1 -0
- package/dist/reactive/context.d.ts +82 -0
- package/dist/reactive/context.d.ts.map +1 -0
- package/dist/reactive/context.js +143 -0
- package/dist/reactive/context.js.map +1 -0
- package/dist/reactive/effect.cjs +2 -0
- package/dist/reactive/effect.cjs.map +1 -0
- package/dist/reactive/effect.d.ts +79 -0
- package/dist/reactive/effect.d.ts.map +1 -0
- package/dist/reactive/effect.js +67 -0
- package/dist/reactive/effect.js.map +1 -0
- package/dist/reactive/enhanced-effect.cjs +2 -0
- package/dist/reactive/enhanced-effect.cjs.map +1 -0
- package/dist/reactive/enhanced-effect.d.ts +108 -0
- package/dist/reactive/enhanced-effect.d.ts.map +1 -0
- package/dist/reactive/enhanced-effect.js +153 -0
- package/dist/reactive/enhanced-effect.js.map +1 -0
- package/dist/reactive/enhanced-signal.cjs +2 -0
- package/dist/reactive/enhanced-signal.cjs.map +1 -0
- package/dist/reactive/enhanced-signal.d.ts +91 -0
- package/dist/reactive/enhanced-signal.d.ts.map +1 -0
- package/dist/reactive/enhanced-signal.js +117 -0
- package/dist/reactive/enhanced-signal.js.map +1 -0
- package/dist/reactive/equality.cjs +2 -0
- package/dist/reactive/equality.cjs.map +1 -0
- package/dist/reactive/equality.d.ts +51 -0
- package/dist/reactive/equality.d.ts.map +1 -0
- package/dist/reactive/equality.js +66 -0
- package/dist/reactive/equality.js.map +1 -0
- package/dist/reactive/index.cjs +2 -0
- package/dist/reactive/index.cjs.map +1 -0
- package/dist/reactive/index.d.ts +21 -0
- package/dist/reactive/index.d.ts.map +1 -0
- package/dist/reactive/index.js +95 -0
- package/dist/reactive/index.js.map +1 -0
- package/dist/reactive/migration.cjs +18 -0
- package/dist/reactive/migration.cjs.map +1 -0
- package/dist/reactive/migration.d.ts +104 -0
- package/dist/reactive/migration.d.ts.map +1 -0
- package/dist/reactive/migration.js +164 -0
- package/dist/reactive/migration.js.map +1 -0
- package/dist/reactive/ownership.cjs +2 -0
- package/dist/reactive/ownership.cjs.map +1 -0
- package/dist/reactive/ownership.d.ts +75 -0
- package/dist/reactive/ownership.d.ts.map +1 -0
- package/dist/reactive/ownership.js +34 -0
- package/dist/reactive/ownership.js.map +1 -0
- package/dist/reactive/scheduler.cjs +2 -0
- package/dist/reactive/scheduler.cjs.map +1 -0
- package/dist/reactive/scheduler.d.ts +56 -0
- package/dist/reactive/scheduler.d.ts.map +1 -0
- package/dist/reactive/scheduler.js +111 -0
- package/dist/reactive/scheduler.js.map +1 -0
- package/dist/reactive/signal.cjs +2 -0
- package/dist/reactive/signal.cjs.map +1 -0
- package/dist/reactive/signal.d.ts +82 -0
- package/dist/reactive/signal.d.ts.map +1 -0
- package/dist/reactive/signal.js +96 -0
- package/dist/reactive/signal.js.map +1 -0
- package/dist/reactive/theme.cjs +2 -0
- package/dist/reactive/theme.cjs.map +1 -0
- package/dist/reactive/theme.d.ts +12 -0
- package/dist/reactive/theme.d.ts.map +1 -0
- package/dist/reactive/theme.js +27 -0
- package/dist/reactive/theme.js.map +1 -0
- package/dist/reactive/types.cjs +2 -0
- package/dist/reactive/types.cjs.map +1 -0
- package/dist/reactive/types.d.ts +93 -0
- package/dist/reactive/types.d.ts.map +1 -0
- package/dist/reactive/types.js +5 -0
- package/dist/reactive/types.js.map +1 -0
- package/dist/reactive/unified-scheduler.cjs +2 -0
- package/dist/reactive/unified-scheduler.cjs.map +1 -0
- package/dist/reactive/unified-scheduler.d.ts +112 -0
- package/dist/reactive/unified-scheduler.d.ts.map +1 -0
- package/dist/reactive/unified-scheduler.js +219 -0
- package/dist/reactive/unified-scheduler.js.map +1 -0
- package/dist/runtime/component-context.cjs +2 -0
- package/dist/runtime/component-context.cjs.map +1 -0
- package/dist/runtime/component-context.d.ts +73 -0
- package/dist/runtime/component-context.d.ts.map +1 -0
- package/dist/runtime/component-context.js +177 -0
- package/dist/runtime/component-context.js.map +1 -0
- package/dist/runtime/component.cjs +2 -0
- package/dist/runtime/component.cjs.map +1 -0
- package/dist/runtime/component.d.ts +112 -0
- package/dist/runtime/component.d.ts.map +1 -0
- package/dist/runtime/component.js +238 -0
- package/dist/runtime/component.js.map +1 -0
- package/dist/runtime/context.cjs +2 -0
- package/dist/runtime/context.cjs.map +1 -0
- package/dist/runtime/context.d.ts +138 -0
- package/dist/runtime/context.d.ts.map +1 -0
- package/dist/runtime/context.js +289 -0
- package/dist/runtime/context.js.map +1 -0
- package/dist/runtime/dev-tools.cjs +2 -0
- package/dist/runtime/dev-tools.cjs.map +1 -0
- package/dist/runtime/dev-tools.d.ts +240 -0
- package/dist/runtime/dev-tools.d.ts.map +1 -0
- package/dist/runtime/dev-tools.js +391 -0
- package/dist/runtime/dev-tools.js.map +1 -0
- package/dist/runtime/development-warnings.cjs +2 -0
- package/dist/runtime/development-warnings.cjs.map +1 -0
- package/dist/runtime/development-warnings.d.ts +42 -0
- package/dist/runtime/development-warnings.d.ts.map +1 -0
- package/dist/runtime/development-warnings.js +69 -0
- package/dist/runtime/development-warnings.js.map +1 -0
- package/dist/runtime/dom-bridge.cjs +2 -0
- package/dist/runtime/dom-bridge.cjs.map +1 -0
- package/dist/runtime/dom-bridge.d.ts +70 -0
- package/dist/runtime/dom-bridge.d.ts.map +1 -0
- package/dist/runtime/dom-bridge.js +241 -0
- package/dist/runtime/dom-bridge.js.map +1 -0
- package/dist/runtime/element-override.cjs +2 -0
- package/dist/runtime/element-override.cjs.map +1 -0
- package/dist/runtime/element-override.d.ts +82 -0
- package/dist/runtime/element-override.d.ts.map +1 -0
- package/dist/runtime/element-override.js +214 -0
- package/dist/runtime/element-override.js.map +1 -0
- package/dist/runtime/error-boundary.cjs +2 -0
- package/dist/runtime/error-boundary.cjs.map +1 -0
- package/dist/runtime/error-boundary.d.ts +302 -0
- package/dist/runtime/error-boundary.d.ts.map +1 -0
- package/dist/runtime/error-boundary.js +559 -0
- package/dist/runtime/error-boundary.js.map +1 -0
- package/dist/runtime/error-recovery.cjs +2 -0
- package/dist/runtime/error-recovery.cjs.map +1 -0
- package/dist/runtime/error-recovery.d.ts +267 -0
- package/dist/runtime/error-recovery.d.ts.map +1 -0
- package/dist/runtime/error-recovery.js +385 -0
- package/dist/runtime/error-recovery.js.map +1 -0
- package/dist/runtime/error-reporting.cjs +3 -0
- package/dist/runtime/error-reporting.cjs.map +1 -0
- package/dist/runtime/error-reporting.d.ts +287 -0
- package/dist/runtime/error-reporting.d.ts.map +1 -0
- package/dist/runtime/error-reporting.js +479 -0
- package/dist/runtime/error-reporting.js.map +1 -0
- package/dist/runtime/error-utils.cjs +3 -0
- package/dist/runtime/error-utils.cjs.map +1 -0
- package/dist/runtime/error-utils.d.ts +204 -0
- package/dist/runtime/error-utils.d.ts.map +1 -0
- package/dist/runtime/error-utils.js +352 -0
- package/dist/runtime/error-utils.js.map +1 -0
- package/dist/runtime/index.d.ts +29 -0
- package/dist/runtime/index.d.ts.map +1 -0
- package/dist/runtime/lazy-component.cjs +2 -0
- package/dist/runtime/lazy-component.cjs.map +1 -0
- package/dist/runtime/lazy-component.d.ts +58 -0
- package/dist/runtime/lazy-component.d.ts.map +1 -0
- package/dist/runtime/lazy-component.js +129 -0
- package/dist/runtime/lazy-component.js.map +1 -0
- package/dist/runtime/lifecycle.cjs +2 -0
- package/dist/runtime/lifecycle.cjs.map +1 -0
- package/dist/runtime/lifecycle.d.ts +8 -0
- package/dist/runtime/lifecycle.d.ts.map +1 -0
- package/dist/runtime/lifecycle.js +7 -0
- package/dist/runtime/lifecycle.js.map +1 -0
- package/dist/runtime/mounting.cjs +2 -0
- package/dist/runtime/mounting.cjs.map +1 -0
- package/dist/runtime/mounting.d.ts +9 -0
- package/dist/runtime/mounting.d.ts.map +1 -0
- package/dist/runtime/mounting.js +12 -0
- package/dist/runtime/mounting.js.map +1 -0
- package/dist/runtime/optimization.cjs +2 -0
- package/dist/runtime/optimization.cjs.map +1 -0
- package/dist/runtime/optimization.d.ts +8 -0
- package/dist/runtime/optimization.d.ts.map +1 -0
- package/dist/runtime/optimization.js +6 -0
- package/dist/runtime/optimization.js.map +1 -0
- package/dist/runtime/performance.cjs +2 -0
- package/dist/runtime/performance.cjs.map +1 -0
- package/dist/runtime/performance.d.ts +217 -0
- package/dist/runtime/performance.d.ts.map +1 -0
- package/dist/runtime/performance.js +399 -0
- package/dist/runtime/performance.js.map +1 -0
- package/dist/runtime/props.cjs +2 -0
- package/dist/runtime/props.cjs.map +1 -0
- package/dist/runtime/props.d.ts +154 -0
- package/dist/runtime/props.d.ts.map +1 -0
- package/dist/runtime/props.js +265 -0
- package/dist/runtime/props.js.map +1 -0
- package/dist/runtime/refs.d.ts +8 -0
- package/dist/runtime/refs.d.ts.map +1 -0
- package/dist/runtime/renderer.cjs +2 -0
- package/dist/runtime/renderer.cjs.map +1 -0
- package/dist/runtime/renderer.d.ts +116 -0
- package/dist/runtime/renderer.d.ts.map +1 -0
- package/dist/runtime/renderer.js +390 -0
- package/dist/runtime/renderer.js.map +1 -0
- package/dist/runtime/semantic-role-manager.cjs +2 -0
- package/dist/runtime/semantic-role-manager.cjs.map +1 -0
- package/dist/runtime/semantic-role-manager.d.ts +37 -0
- package/dist/runtime/semantic-role-manager.d.ts.map +1 -0
- package/dist/runtime/semantic-role-manager.js +82 -0
- package/dist/runtime/semantic-role-manager.js.map +1 -0
- package/dist/runtime/types.d.ts +230 -0
- package/dist/runtime/types.d.ts.map +1 -0
- package/dist/state/binding.cjs +2 -0
- package/dist/state/binding.cjs.map +1 -0
- package/dist/state/binding.d.ts +96 -0
- package/dist/state/binding.d.ts.map +1 -0
- package/dist/state/binding.js +155 -0
- package/dist/state/binding.js.map +1 -0
- package/dist/state/environment-object.d.ts +130 -0
- package/dist/state/environment-object.d.ts.map +1 -0
- package/dist/state/environment.cjs +2 -0
- package/dist/state/environment.cjs.map +1 -0
- package/dist/state/environment.d.ts +178 -0
- package/dist/state/environment.d.ts.map +1 -0
- package/dist/state/environment.js +115 -0
- package/dist/state/environment.js.map +1 -0
- package/dist/state/index.cjs +2 -0
- package/dist/state/index.cjs.map +1 -0
- package/dist/state/index.d.ts +108 -0
- package/dist/state/index.d.ts.map +1 -0
- package/dist/state/index.js +63 -0
- package/dist/state/index.js.map +1 -0
- package/dist/state/observed-object.cjs +2 -0
- package/dist/state/observed-object.cjs.map +1 -0
- package/dist/state/observed-object.d.ts +126 -0
- package/dist/state/observed-object.d.ts.map +1 -0
- package/dist/state/observed-object.js +163 -0
- package/dist/state/observed-object.js.map +1 -0
- package/dist/state/state-manager.cjs +2 -0
- package/dist/state/state-manager.cjs.map +1 -0
- package/dist/state/state-manager.d.ts +97 -0
- package/dist/state/state-manager.d.ts.map +1 -0
- package/dist/state/state-manager.js +233 -0
- package/dist/state/state-manager.js.map +1 -0
- package/dist/state/state.cjs +2 -0
- package/dist/state/state.cjs.map +1 -0
- package/dist/state/state.d.ts +78 -0
- package/dist/state/state.d.ts.map +1 -0
- package/dist/state/state.js +159 -0
- package/dist/state/state.js.map +1 -0
- package/dist/state/types.d.ts +159 -0
- package/dist/state/types.d.ts.map +1 -0
- package/dist/sui-compat.cjs +2 -0
- package/dist/sui-compat.cjs.map +1 -0
- package/dist/sui-compat.d.ts +110 -0
- package/dist/sui-compat.d.ts.map +1 -0
- package/dist/sui-compat.js +88 -0
- package/dist/sui-compat.js.map +1 -0
- package/dist/validation/advanced-debugging.cjs +44 -0
- package/dist/validation/advanced-debugging.cjs.map +1 -0
- package/dist/validation/advanced-debugging.d.ts +319 -0
- package/dist/validation/advanced-debugging.d.ts.map +1 -0
- package/dist/validation/advanced-debugging.js +455 -0
- package/dist/validation/advanced-debugging.js.map +1 -0
- package/dist/validation/build-time/detection.cjs +2 -0
- package/dist/validation/build-time/detection.cjs.map +1 -0
- package/dist/validation/build-time/detection.d.ts +32 -0
- package/dist/validation/build-time/detection.d.ts.map +1 -0
- package/dist/validation/build-time/detection.js +199 -0
- package/dist/validation/build-time/detection.js.map +1 -0
- package/dist/validation/build-time/index.cjs +2 -0
- package/dist/validation/build-time/index.cjs.map +1 -0
- package/dist/validation/build-time/index.d.ts +84 -0
- package/dist/validation/build-time/index.d.ts.map +1 -0
- package/dist/validation/build-time/index.js +122 -0
- package/dist/validation/build-time/index.js.map +1 -0
- package/dist/validation/build-time/plugins.cjs +3 -0
- package/dist/validation/build-time/plugins.cjs.map +1 -0
- package/dist/validation/build-time/plugins.d.ts +75 -0
- package/dist/validation/build-time/plugins.d.ts.map +1 -0
- package/dist/validation/build-time/plugins.js +282 -0
- package/dist/validation/build-time/plugins.js.map +1 -0
- package/dist/validation/build-time/rules.cjs +2 -0
- package/dist/validation/build-time/rules.cjs.map +1 -0
- package/dist/validation/build-time/rules.d.ts +73 -0
- package/dist/validation/build-time/rules.d.ts.map +1 -0
- package/dist/validation/build-time/rules.js +576 -0
- package/dist/validation/build-time/rules.js.map +1 -0
- package/dist/validation/build-time/transformer.cjs +3 -0
- package/dist/validation/build-time/transformer.cjs.map +1 -0
- package/dist/validation/build-time/transformer.d.ts +23 -0
- package/dist/validation/build-time/transformer.d.ts.map +1 -0
- package/dist/validation/build-time/transformer.js +177 -0
- package/dist/validation/build-time/transformer.js.map +1 -0
- package/dist/validation/build-time/types.d.ts +212 -0
- package/dist/validation/build-time/types.d.ts.map +1 -0
- package/dist/validation/comprehensive.cjs +9 -0
- package/dist/validation/comprehensive.cjs.map +1 -0
- package/dist/validation/comprehensive.d.ts +160 -0
- package/dist/validation/comprehensive.d.ts.map +1 -0
- package/dist/validation/comprehensive.js +916 -0
- package/dist/validation/comprehensive.js.map +1 -0
- package/dist/validation/debug-tools.cjs +16 -0
- package/dist/validation/debug-tools.cjs.map +1 -0
- package/dist/validation/debug-tools.d.ts +251 -0
- package/dist/validation/debug-tools.d.ts.map +1 -0
- package/dist/validation/debug-tools.js +405 -0
- package/dist/validation/debug-tools.js.map +1 -0
- package/dist/validation/developer-experience.cjs +17 -0
- package/dist/validation/developer-experience.cjs.map +1 -0
- package/dist/validation/developer-experience.d.ts +243 -0
- package/dist/validation/developer-experience.d.ts.map +1 -0
- package/dist/validation/developer-experience.js +433 -0
- package/dist/validation/developer-experience.js.map +1 -0
- package/dist/validation/documentation-integration.cjs +7 -0
- package/dist/validation/documentation-integration.cjs.map +1 -0
- package/dist/validation/documentation-integration.d.ts +269 -0
- package/dist/validation/documentation-integration.d.ts.map +1 -0
- package/dist/validation/documentation-integration.js +440 -0
- package/dist/validation/documentation-integration.js.map +1 -0
- package/dist/validation/enhanced-runtime.cjs +6 -0
- package/dist/validation/enhanced-runtime.cjs.map +1 -0
- package/dist/validation/enhanced-runtime.d.ts +279 -0
- package/dist/validation/enhanced-runtime.d.ts.map +1 -0
- package/dist/validation/enhanced-runtime.js +465 -0
- package/dist/validation/enhanced-runtime.js.map +1 -0
- package/dist/validation/error-reporting.cjs +32 -0
- package/dist/validation/error-reporting.cjs.map +1 -0
- package/dist/validation/error-reporting.d.ts +186 -0
- package/dist/validation/error-reporting.d.ts.map +1 -0
- package/dist/validation/error-reporting.js +370 -0
- package/dist/validation/error-reporting.js.map +1 -0
- package/dist/validation/ide-integration.cjs +85 -0
- package/dist/validation/ide-integration.cjs.map +1 -0
- package/dist/validation/ide-integration.d.ts +328 -0
- package/dist/validation/ide-integration.d.ts.map +1 -0
- package/dist/validation/ide-integration.js +557 -0
- package/dist/validation/ide-integration.js.map +1 -0
- package/dist/validation/index.cjs +6 -0
- package/dist/validation/index.cjs.map +1 -0
- package/dist/validation/index.d.ts +171 -0
- package/dist/validation/index.d.ts.map +1 -0
- package/dist/validation/index.js +309 -0
- package/dist/validation/index.js.map +1 -0
- package/dist/validation/lifecycle-validation.cjs +2 -0
- package/dist/validation/lifecycle-validation.cjs.map +1 -0
- package/dist/validation/lifecycle-validation.d.ts +165 -0
- package/dist/validation/lifecycle-validation.d.ts.map +1 -0
- package/dist/validation/lifecycle-validation.js +314 -0
- package/dist/validation/lifecycle-validation.js.map +1 -0
- package/dist/validation/performance-optimizer.cjs +2 -0
- package/dist/validation/performance-optimizer.cjs.map +1 -0
- package/dist/validation/performance-optimizer.d.ts +218 -0
- package/dist/validation/performance-optimizer.d.ts.map +1 -0
- package/dist/validation/performance-optimizer.js +338 -0
- package/dist/validation/performance-optimizer.js.map +1 -0
- package/dist/validation/plugin-registration.cjs +2 -0
- package/dist/validation/plugin-registration.cjs.map +1 -0
- package/dist/validation/plugin-registration.d.ts +88 -0
- package/dist/validation/plugin-registration.d.ts.map +1 -0
- package/dist/validation/plugin-registration.js +126 -0
- package/dist/validation/plugin-registration.js.map +1 -0
- package/dist/validation/production-bypass.cjs +2 -0
- package/dist/validation/production-bypass.cjs.map +1 -0
- package/dist/validation/production-bypass.d.ts +175 -0
- package/dist/validation/production-bypass.d.ts.map +1 -0
- package/dist/validation/production-bypass.js +218 -0
- package/dist/validation/production-bypass.js.map +1 -0
- package/dist/validation/simple.cjs +9 -0
- package/dist/validation/simple.cjs.map +1 -0
- package/dist/validation/simple.d.ts +111 -0
- package/dist/validation/simple.d.ts.map +1 -0
- package/dist/validation/simple.js +146 -0
- package/dist/validation/simple.js.map +1 -0
- package/dist/viewport/adapters/web-adapter.cjs +70 -0
- package/dist/viewport/adapters/web-adapter.cjs.map +1 -0
- package/dist/viewport/adapters/web-adapter.d.ts +227 -0
- package/dist/viewport/adapters/web-adapter.d.ts.map +1 -0
- package/dist/viewport/adapters/web-adapter.js +823 -0
- package/dist/viewport/adapters/web-adapter.js.map +1 -0
- package/dist/viewport/components.cjs +2 -0
- package/dist/viewport/components.cjs.map +1 -0
- package/dist/viewport/components.d.ts +131 -0
- package/dist/viewport/components.d.ts.map +1 -0
- package/dist/viewport/components.js +298 -0
- package/dist/viewport/components.js.map +1 -0
- package/dist/viewport/environment.cjs +2 -0
- package/dist/viewport/environment.cjs.map +1 -0
- package/dist/viewport/environment.d.ts +75 -0
- package/dist/viewport/environment.d.ts.map +1 -0
- package/dist/viewport/environment.js +86 -0
- package/dist/viewport/environment.js.map +1 -0
- package/dist/viewport/index.cjs +2 -0
- package/dist/viewport/index.cjs.map +1 -0
- package/dist/viewport/index.d.ts +138 -0
- package/dist/viewport/index.d.ts.map +1 -0
- package/dist/viewport/index.js +166 -0
- package/dist/viewport/index.js.map +1 -0
- package/dist/viewport/platform-detection.cjs +2 -0
- package/dist/viewport/platform-detection.cjs.map +1 -0
- package/dist/viewport/platform-detection.d.ts +59 -0
- package/dist/viewport/platform-detection.d.ts.map +1 -0
- package/dist/viewport/platform-detection.js +205 -0
- package/dist/viewport/platform-detection.js.map +1 -0
- package/dist/viewport/types.cjs +2 -0
- package/dist/viewport/types.cjs.map +1 -0
- package/dist/viewport/types.d.ts +301 -0
- package/dist/viewport/types.d.ts.map +1 -0
- package/dist/viewport/types.js +13 -0
- package/dist/viewport/types.js.map +1 -0
- package/dist/viewport/viewport-manager.cjs +2 -0
- package/dist/viewport/viewport-manager.cjs.map +1 -0
- package/dist/viewport/viewport-manager.d.ts +118 -0
- package/dist/viewport/viewport-manager.d.ts.map +1 -0
- package/dist/viewport/viewport-manager.js +524 -0
- package/dist/viewport/viewport-manager.js.map +1 -0
- package/package.json +128 -0
- package/src/assets/Asset.ts +11 -0
- package/src/assets/AssetCollection.ts +99 -0
- package/src/assets/ColorAsset.ts +210 -0
- package/src/assets/FontAsset.ts +380 -0
- package/src/assets/ImageAsset.ts +91 -0
- package/src/assets/README.md +190 -0
- package/src/assets/index.ts +175 -0
- package/src/assets/test-assets.ts +69 -0
- package/src/assets/test-integration.ts +46 -0
- package/src/assets/test-simple.ts +28 -0
- package/src/assets/types.ts +79 -0
- package/src/bundles/common.ts +30 -0
- package/src/bundles/complete.ts +29 -0
- package/src/bundles/essential.ts +26 -0
- package/src/bundles/minimal.ts +26 -0
- package/src/bundles/production-minimal.ts +67 -0
- package/src/compiler/advanced-parser.ts +871 -0
- package/src/compiler/codegen.ts +450 -0
- package/src/compiler/enhanced-codegen.ts +729 -0
- package/src/compiler/index.ts +25 -0
- package/src/compiler/parser.ts +461 -0
- package/src/compiler/plugin.ts +181 -0
- package/src/compiler/types.ts +177 -0
- package/src/components/BasicInput.ts +352 -0
- package/src/components/Button.ts +963 -0
- package/src/components/Divider.ts +341 -0
- package/src/components/EnhancedLink.ts +676 -0
- package/src/components/Form.ts +414 -0
- package/src/components/Grid.ts +2507 -0
- package/src/components/GridResponsive.ts +637 -0
- package/src/components/Image.ts +426 -0
- package/src/components/List.ts +1084 -0
- package/src/components/Menu.ts +807 -0
- package/src/components/Picker.ts +678 -0
- package/src/components/ScrollView.ts +725 -0
- package/src/components/Section.ts +472 -0
- package/src/components/Show.ts +205 -0
- package/src/components/Spacer.ts +93 -0
- package/src/components/Text.ts +447 -0
- package/src/components/Toggle.ts +700 -0
- package/src/components/index.ts +231 -0
- package/src/components/wrapper.ts +828 -0
- package/src/concatenation/concatenatable.ts +211 -0
- package/src/concatenation/concatenated-component.ts +471 -0
- package/src/concatenation/index.ts +41 -0
- package/src/concatenation/styles.css +120 -0
- package/src/concatenation/text-optimizer.ts +440 -0
- package/src/concatenation/types.ts +116 -0
- package/src/constants/README.md +339 -0
- package/src/constants/__tests__/frame-utils.test.ts +276 -0
- package/src/constants/__tests__/layout.test.ts +215 -0
- package/src/constants/frame-utils.ts +174 -0
- package/src/constants/index.ts +8 -0
- package/src/constants/layout.ts +120 -0
- package/src/css-classes/component-base.ts +117 -0
- package/src/css-classes/css-class-manager.ts +372 -0
- package/src/css-classes/dom-integration.ts +162 -0
- package/src/css-classes/enhanced-renderer.ts +166 -0
- package/src/css-classes/index.ts +45 -0
- package/src/css-classes/types.ts +73 -0
- package/src/css-classes/utilities.ts +175 -0
- package/src/debug/index.ts +267 -0
- package/src/developer-experience/enhanced-errors.ts +556 -0
- package/src/developer-experience/enhanced-types.ts +427 -0
- package/src/developer-experience/index.ts +220 -0
- package/src/globals.d.ts +43 -0
- package/src/gradients/__tests__/angular-gradient.test.ts +111 -0
- package/src/gradients/__tests__/background-modifier.test.ts +81 -0
- package/src/gradients/__tests__/comprehensive-gradients.test.ts +296 -0
- package/src/gradients/__tests__/gradient-asset.test.ts +144 -0
- package/src/gradients/__tests__/linear-gradient.test.ts +92 -0
- package/src/gradients/__tests__/phase4-features.test.ts +386 -0
- package/src/gradients/__tests__/radial-gradient.test.ts +110 -0
- package/src/gradients/__tests__/repeating-gradients.test.ts +125 -0
- package/src/gradients/__tests__/state-background-modifier.test.ts +340 -0
- package/src/gradients/__tests__/state-gradient-asset.test.ts +262 -0
- package/src/gradients/__tests__/state-gradient-integration.test.ts +277 -0
- package/src/gradients/css-generator.ts +158 -0
- package/src/gradients/examples.ts +632 -0
- package/src/gradients/gradient-asset.ts +30 -0
- package/src/gradients/index.ts +85 -0
- package/src/gradients/performance.ts +521 -0
- package/src/gradients/presets.ts +422 -0
- package/src/gradients/reactive.ts +470 -0
- package/src/gradients/state-gradient-asset.ts +179 -0
- package/src/gradients/types.ts +148 -0
- package/src/gradients/utils.ts +579 -0
- package/src/gradients/validation.ts +489 -0
- package/src/index.ts +168 -0
- package/src/lifecycle/hooks.ts +332 -0
- package/src/modifiers/__tests__/as-html-integration.test.ts +204 -0
- package/src/modifiers/__tests__/as-html.test.ts +437 -0
- package/src/modifiers/__tests__/basic-sanitizer-security.test.ts +294 -0
- package/src/modifiers/__tests__/border.test.ts +371 -0
- package/src/modifiers/__tests__/margin-string-support.test.ts +41 -0
- package/src/modifiers/__tests__/padding-string-support.test.ts +41 -0
- package/src/modifiers/as-html-validator.ts +68 -0
- package/src/modifiers/as-html.ts +216 -0
- package/src/modifiers/attributes.ts +574 -0
- package/src/modifiers/backdrop.ts +290 -0
- package/src/modifiers/background.ts +165 -0
- package/src/modifiers/base.ts +1815 -0
- package/src/modifiers/basic-sanitizer.ts +227 -0
- package/src/modifiers/border.ts +574 -0
- package/src/modifiers/builder.ts +1747 -0
- package/src/modifiers/core.ts +521 -0
- package/src/modifiers/css.ts +148 -0
- package/src/modifiers/effects.ts +412 -0
- package/src/modifiers/elements.ts +541 -0
- package/src/modifiers/filters.ts +501 -0
- package/src/modifiers/flexbox.ts +180 -0
- package/src/modifiers/font.ts +149 -0
- package/src/modifiers/grid.ts +238 -0
- package/src/modifiers/index.ts +481 -0
- package/src/modifiers/margin.ts +218 -0
- package/src/modifiers/padding.ts +318 -0
- package/src/modifiers/registry.ts +444 -0
- package/src/modifiers/responsive/__tests__/advanced-media-queries.test.ts +392 -0
- package/src/modifiers/responsive/__tests__/advanced-utilities.test.ts +368 -0
- package/src/modifiers/responsive/__tests__/comprehensive-browser-tests.test.ts +556 -0
- package/src/modifiers/responsive/__tests__/layout-patterns.test.ts +558 -0
- package/src/modifiers/responsive/advanced-utilities.ts +562 -0
- package/src/modifiers/responsive/breakpoints.ts +330 -0
- package/src/modifiers/responsive/css-generator.ts +432 -0
- package/src/modifiers/responsive/dev-tools.ts +650 -0
- package/src/modifiers/responsive/index.ts +119 -0
- package/src/modifiers/responsive/layout-patterns.ts +592 -0
- package/src/modifiers/responsive/performance.ts +385 -0
- package/src/modifiers/responsive/responsive-builder.ts +620 -0
- package/src/modifiers/responsive/responsive-modifier.ts +410 -0
- package/src/modifiers/responsive/types.ts +226 -0
- package/src/modifiers/responsive/utilities.ts +478 -0
- package/src/modifiers/scroll.ts +297 -0
- package/src/modifiers/shadows.ts +321 -0
- package/src/modifiers/size.ts +208 -0
- package/src/modifiers/text.ts +416 -0
- package/src/modifiers/transformations.ts +640 -0
- package/src/modifiers/transitions.ts +218 -0
- package/src/modifiers/types.ts +889 -0
- package/src/modifiers/typography.ts +341 -0
- package/src/modifiers/utility.ts +209 -0
- package/src/modifiers/utils.ts +413 -0
- package/src/plugins/__tests__/simplified-plugin-system.test.ts +190 -0
- package/src/plugins/component-loader-registry.ts +371 -0
- package/src/plugins/index.ts +61 -0
- package/src/plugins/legacy-adapter.ts +84 -0
- package/src/plugins/simplified-component-registry.ts +130 -0
- package/src/plugins/simplified-error-handler.ts +372 -0
- package/src/plugins/simplified-index.ts +61 -0
- package/src/plugins/simplified-lazy-loader.ts +242 -0
- package/src/plugins/simplified-plugin-manager.ts +93 -0
- package/src/plugins/simplified-tachui-instance.ts +142 -0
- package/src/plugins/simplified-types.ts +79 -0
- package/src/plugins/simplified-utils.ts +118 -0
- package/src/reactive/cleanup.ts +241 -0
- package/src/reactive/computed.ts +281 -0
- package/src/reactive/context.ts +287 -0
- package/src/reactive/effect.ts +194 -0
- package/src/reactive/enhanced-effect.ts +318 -0
- package/src/reactive/enhanced-signal.ts +227 -0
- package/src/reactive/equality.ts +188 -0
- package/src/reactive/globals.d.ts +5 -0
- package/src/reactive/index.ts +150 -0
- package/src/reactive/migration.ts +335 -0
- package/src/reactive/ownership.ts +182 -0
- package/src/reactive/scheduler.ts +300 -0
- package/src/reactive/signal.ts +201 -0
- package/src/reactive/theme.ts +49 -0
- package/src/reactive/types.ts +103 -0
- package/src/reactive/unified-scheduler.ts +357 -0
- package/src/runtime/component-context.ts +343 -0
- package/src/runtime/component.ts +499 -0
- package/src/runtime/context.ts +527 -0
- package/src/runtime/dev-tools.ts +752 -0
- package/src/runtime/development-warnings.ts +114 -0
- package/src/runtime/dom-bridge.ts +570 -0
- package/src/runtime/element-override.ts +282 -0
- package/src/runtime/error-boundary.ts +955 -0
- package/src/runtime/error-recovery.ts +638 -0
- package/src/runtime/error-reporting.ts +808 -0
- package/src/runtime/error-utils.ts +698 -0
- package/src/runtime/index.ts +202 -0
- package/src/runtime/lazy-component.ts +268 -0
- package/src/runtime/lifecycle.ts +10 -0
- package/src/runtime/mounting.ts +17 -0
- package/src/runtime/optimization.ts +13 -0
- package/src/runtime/performance.ts +693 -0
- package/src/runtime/props.ts +434 -0
- package/src/runtime/refs.ts +13 -0
- package/src/runtime/renderer.ts +674 -0
- package/src/runtime/semantic-role-manager.ts +140 -0
- package/src/runtime/types.ts +282 -0
- package/src/state/binding.ts +381 -0
- package/src/state/environment-object.ts +444 -0
- package/src/state/environment.ts +351 -0
- package/src/state/index.ts +179 -0
- package/src/state/observed-object.ts +405 -0
- package/src/state/state-manager.ts +366 -0
- package/src/state/state.ts +339 -0
- package/src/state/types.ts +192 -0
- package/src/sui-compat.ts +163 -0
- package/src/validation/__tests__/phase-1d-integration.test.ts +558 -0
- package/src/validation/advanced-debugging.ts +860 -0
- package/src/validation/build-time/detection.ts +373 -0
- package/src/validation/build-time/index.ts +222 -0
- package/src/validation/build-time/plugins.ts +515 -0
- package/src/validation/build-time/rules.ts +624 -0
- package/src/validation/build-time/transformer.ts +372 -0
- package/src/validation/build-time/types.ts +232 -0
- package/src/validation/comprehensive.ts +1272 -0
- package/src/validation/debug-tools.ts +724 -0
- package/src/validation/developer-experience.ts +712 -0
- package/src/validation/documentation-integration.ts +835 -0
- package/src/validation/enhanced-runtime.ts +765 -0
- package/src/validation/error-reporting.ts +587 -0
- package/src/validation/ide-integration.ts +845 -0
- package/src/validation/index.ts +353 -0
- package/src/validation/lifecycle-validation.ts +636 -0
- package/src/validation/performance-optimizer.ts +599 -0
- package/src/validation/plugin-registration.ts +249 -0
- package/src/validation/production-bypass.ts +466 -0
- package/src/validation/simple.ts +465 -0
- package/src/viewport/adapters/web-adapter.ts +1385 -0
- package/src/viewport/components.ts +505 -0
- package/src/viewport/environment.ts +173 -0
- package/src/viewport/index.ts +290 -0
- package/src/viewport/platform-detection.ts +431 -0
- package/src/viewport/types.ts +371 -0
- package/src/viewport/viewport-manager.ts +979 -0
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
import { PluginError as u } from "./simplified-types.js";
|
|
2
|
+
var h = Object.defineProperty, f = (i, e, r) => e in i ? h(i, e, { enumerable: !0, configurable: !0, writable: !0, value: r }) : i[e] = r, o = (i, e, r) => f(i, typeof e != "symbol" ? e + "" : e, r);
|
|
3
|
+
class a {
|
|
4
|
+
constructor() {
|
|
5
|
+
o(this, "errorMetrics", /* @__PURE__ */ new Map()), o(this, "circuitBreakers", /* @__PURE__ */ new Map()), o(this, "errorQueue", []), o(this, "batchTimer"), o(this, "maxFailuresBeforeCircuitBreak", 3), o(this, "circuitBreakerResetTime", 3e4), o(this, "errorBatchSize", 10), o(this, "errorBatchTimeout", 1e3), o(this, "maxErrorHistory", 100);
|
|
6
|
+
}
|
|
7
|
+
handleInstallError(e, r) {
|
|
8
|
+
const t = `install:${e.name}`;
|
|
9
|
+
if (this.recordError(t, r), this.isCircuitOpen(t)) {
|
|
10
|
+
process.env.NODE_ENV === "development" && console.warn(`🚫 Circuit breaker open for plugin ${e.name}, skipping detailed error handling`);
|
|
11
|
+
return;
|
|
12
|
+
}
|
|
13
|
+
process.env.NODE_ENV === "development" && console.error(`❌ Failed to install plugin ${e.name}:`, r), r instanceof u && (this.recordErrorType(t, `plugin-error-${r.code}`), process.env.NODE_ENV === "development" && console.warn(`Plugin ${e.name} installation failed with code: ${r.code}`)), r.message.includes("dependencies") && (this.recordErrorType(t, "dependency-error"), process.env.NODE_ENV === "development" && console.warn(`Plugin ${e.name} has unmet dependencies`)), this.queueError("plugin-install-failed", { plugin: { name: e.name, version: e.version }, error: r.message });
|
|
14
|
+
}
|
|
15
|
+
handleRuntimeError(e, r) {
|
|
16
|
+
const t = `runtime:${e}`;
|
|
17
|
+
this.recordError(t, r), !this.isCircuitOpen(t) && (process.env.NODE_ENV === "development" && console.error(`❌ Runtime error in plugin ${e}:`, r), r instanceof u && r.code === "CRITICAL" ? (this.recordErrorType(t, "critical-error"), process.env.NODE_ENV === "development" && console.warn(`Plugin ${e} encountered a critical error`), this.queueError("plugin-critical-error", { pluginName: e, error: r.message })) : (this.recordErrorType(t, "runtime-error"), this.queueError("plugin-runtime-error", { pluginName: e, error: r.message })));
|
|
18
|
+
}
|
|
19
|
+
handleUninstallError(e, r) {
|
|
20
|
+
const t = `uninstall:${e}`;
|
|
21
|
+
this.recordError(t, r), process.env.NODE_ENV === "development" && (console.error(`❌ Failed to uninstall plugin ${e}:`, r), console.warn(`Plugin ${e} may not have cleaned up properly`)), this.queueError("plugin-uninstall-error", { pluginName: e, error: r.message });
|
|
22
|
+
}
|
|
23
|
+
recordError(e, r) {
|
|
24
|
+
const t = performance.now();
|
|
25
|
+
this.errorMetrics.has(e) || this.errorMetrics.set(e, {
|
|
26
|
+
count: 0,
|
|
27
|
+
lastOccurrence: t,
|
|
28
|
+
firstOccurrence: t,
|
|
29
|
+
errorTypes: /* @__PURE__ */ new Map(),
|
|
30
|
+
resolved: !1
|
|
31
|
+
});
|
|
32
|
+
const s = this.errorMetrics.get(e);
|
|
33
|
+
s.count++, s.lastOccurrence = t, s.resolved = !1, this.updateCircuitBreaker(e);
|
|
34
|
+
}
|
|
35
|
+
recordErrorType(e, r) {
|
|
36
|
+
const t = this.errorMetrics.get(e);
|
|
37
|
+
if (t) {
|
|
38
|
+
const s = t.errorTypes.get(r) || 0;
|
|
39
|
+
t.errorTypes.set(r, s + 1);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
updateCircuitBreaker(e) {
|
|
43
|
+
this.circuitBreakers.has(e) || this.circuitBreakers.set(e, {
|
|
44
|
+
isOpen: !1,
|
|
45
|
+
failureCount: 0,
|
|
46
|
+
lastFailureTime: 0
|
|
47
|
+
});
|
|
48
|
+
const r = this.circuitBreakers.get(e);
|
|
49
|
+
r.failureCount++, r.lastFailureTime = performance.now(), r.failureCount >= this.maxFailuresBeforeCircuitBreak && !r.isOpen && (r.isOpen = !0, process.env.NODE_ENV === "development" && console.warn(`🚫 Circuit breaker opened for ${e} after ${r.failureCount} failures`), r.resetTimeout = window.setTimeout(() => {
|
|
50
|
+
this.resetCircuitBreaker(e);
|
|
51
|
+
}, this.circuitBreakerResetTime));
|
|
52
|
+
}
|
|
53
|
+
isCircuitOpen(e) {
|
|
54
|
+
const r = this.circuitBreakers.get(e);
|
|
55
|
+
return r ? r.isOpen : !1;
|
|
56
|
+
}
|
|
57
|
+
resetCircuitBreaker(e) {
|
|
58
|
+
const r = this.circuitBreakers.get(e);
|
|
59
|
+
r && (r.isOpen = !1, r.failureCount = 0, r.resetTimeout && (clearTimeout(r.resetTimeout), r.resetTimeout = void 0), process.env.NODE_ENV === "development" && console.log(`🔄 Circuit breaker reset for ${e}`));
|
|
60
|
+
}
|
|
61
|
+
queueError(e, r) {
|
|
62
|
+
this.errorQueue.push({
|
|
63
|
+
type: e,
|
|
64
|
+
data: r,
|
|
65
|
+
timestamp: performance.now()
|
|
66
|
+
}), this.errorQueue.length > this.maxErrorHistory && (this.errorQueue = this.errorQueue.slice(-this.maxErrorHistory)), this.errorQueue.length >= this.errorBatchSize ? this.flushErrorQueue() : this.batchTimer || (this.batchTimer = window.setTimeout(() => {
|
|
67
|
+
this.flushErrorQueue();
|
|
68
|
+
}, this.errorBatchTimeout));
|
|
69
|
+
}
|
|
70
|
+
flushErrorQueue() {
|
|
71
|
+
if (this.errorQueue.length === 0) return;
|
|
72
|
+
const e = [...this.errorQueue];
|
|
73
|
+
this.errorQueue = [], this.batchTimer && (clearTimeout(this.batchTimer), this.batchTimer = void 0);
|
|
74
|
+
for (const r of e)
|
|
75
|
+
this.emitError(r.type, r.data);
|
|
76
|
+
process.env.NODE_ENV === "development" && e.length > 1 && console.log(`📦 Processed ${e.length} batched errors`);
|
|
77
|
+
}
|
|
78
|
+
emitError(e, r) {
|
|
79
|
+
typeof window < "u" ? window.dispatchEvent(new CustomEvent(`tachui:${e}`, { detail: r })) : typeof process < "u" && process.emit && process.emit(`tachui:${e}`, r);
|
|
80
|
+
}
|
|
81
|
+
// Performance monitoring methods
|
|
82
|
+
getErrorMetrics(e) {
|
|
83
|
+
return e ? this.errorMetrics.get(e) || {
|
|
84
|
+
count: 0,
|
|
85
|
+
lastOccurrence: 0,
|
|
86
|
+
firstOccurrence: 0,
|
|
87
|
+
errorTypes: /* @__PURE__ */ new Map(),
|
|
88
|
+
resolved: !0
|
|
89
|
+
} : new Map(this.errorMetrics);
|
|
90
|
+
}
|
|
91
|
+
getCircuitBreakerStatus(e) {
|
|
92
|
+
return e ? this.circuitBreakers.get(e) || {
|
|
93
|
+
isOpen: !1,
|
|
94
|
+
failureCount: 0,
|
|
95
|
+
lastFailureTime: 0
|
|
96
|
+
} : new Map(this.circuitBreakers);
|
|
97
|
+
}
|
|
98
|
+
getPerformanceStats() {
|
|
99
|
+
const e = Array.from(this.errorMetrics.entries()), r = e.reduce((c, [, n]) => c + n.count, 0), t = Array.from(this.circuitBreakers.values()).filter((c) => c.isOpen).length, s = /* @__PURE__ */ new Map();
|
|
100
|
+
for (const [, c] of e)
|
|
101
|
+
for (const [n, l] of c.errorTypes)
|
|
102
|
+
s.set(n, (s.get(n) || 0) + l);
|
|
103
|
+
return {
|
|
104
|
+
totalErrors: r,
|
|
105
|
+
uniqueErrorKeys: this.errorMetrics.size,
|
|
106
|
+
activeCircuitBreakers: t,
|
|
107
|
+
queuedErrors: this.errorQueue.length,
|
|
108
|
+
errorsByType: Object.fromEntries(s),
|
|
109
|
+
memoryUsage: {
|
|
110
|
+
errorMetrics: this.errorMetrics.size,
|
|
111
|
+
circuitBreakers: this.circuitBreakers.size,
|
|
112
|
+
queuedErrors: this.errorQueue.length,
|
|
113
|
+
estimatedMemoryKB: this.errorMetrics.size * 2 + this.circuitBreakers.size * 1 + this.errorQueue.length * 0.5
|
|
114
|
+
}
|
|
115
|
+
};
|
|
116
|
+
}
|
|
117
|
+
markErrorResolved(e) {
|
|
118
|
+
const r = this.errorMetrics.get(e);
|
|
119
|
+
r && (r.resolved = !0, this.resetCircuitBreaker(e));
|
|
120
|
+
}
|
|
121
|
+
clearErrorHistory(e) {
|
|
122
|
+
e ? (this.errorMetrics.delete(e), this.circuitBreakers.delete(e)) : (this.errorMetrics.clear(), this.circuitBreakers.clear(), this.errorQueue = [], this.batchTimer && (clearTimeout(this.batchTimer), this.batchTimer = void 0));
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
const d = new a(), E = a, m = {
|
|
126
|
+
/**
|
|
127
|
+
* Safely execute plugin operation with error handling
|
|
128
|
+
*/
|
|
129
|
+
async safeExecute(i, e, r) {
|
|
130
|
+
try {
|
|
131
|
+
return await r();
|
|
132
|
+
} catch (t) {
|
|
133
|
+
console.error(`❌ [${i}] ${e} failed:`, t), d.handleRuntimeError(i, t);
|
|
134
|
+
return;
|
|
135
|
+
}
|
|
136
|
+
},
|
|
137
|
+
/**
|
|
138
|
+
* Create an error boundary for plugin operations
|
|
139
|
+
*/
|
|
140
|
+
createErrorBoundary(i) {
|
|
141
|
+
return {
|
|
142
|
+
async exec(e) {
|
|
143
|
+
return m.safeExecute(i, "operation", e);
|
|
144
|
+
}
|
|
145
|
+
};
|
|
146
|
+
}
|
|
147
|
+
};
|
|
148
|
+
export {
|
|
149
|
+
m as ErrorRecoveryUtils,
|
|
150
|
+
a as OptimizedPluginErrorHandler,
|
|
151
|
+
E as SimplifiedPluginErrorHandler,
|
|
152
|
+
d as globalPluginErrorHandler
|
|
153
|
+
};
|
|
154
|
+
//# sourceMappingURL=simplified-error-handler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"simplified-error-handler.js","sources":["../../src/plugins/simplified-error-handler.ts"],"sourcesContent":["/**\n * Simplified Plugin Error Handler - Week 3 Performance Enhancement\n * \n * Enhanced error handling with performance optimizations:\n * - Error rate limiting and circuit breaker patterns\n * - Error aggregation and batch reporting\n * - Performance metrics for error handling\n * - Memory-efficient error tracking\n */\n\nimport type { TachUIPlugin } from './simplified-types'\nimport { PluginError } from './simplified-types'\n\ninterface ErrorMetrics {\n count: number\n lastOccurrence: number\n firstOccurrence: number\n errorTypes: Map<string, number>\n resolved: boolean\n}\n\ninterface CircuitBreakerState {\n isOpen: boolean\n failureCount: number\n lastFailureTime: number\n resetTimeout?: number\n}\n\nexport class OptimizedPluginErrorHandler {\n private errorMetrics = new Map<string, ErrorMetrics>()\n private circuitBreakers = new Map<string, CircuitBreakerState>()\n private errorQueue: Array<{ type: string; data: any; timestamp: number }> = []\n private batchTimer?: number\n \n // Configuration\n private maxFailuresBeforeCircuitBreak = 3\n private circuitBreakerResetTime = 30000 // 30 seconds\n private errorBatchSize = 10\n private errorBatchTimeout = 1000 // 1 second\n private maxErrorHistory = 100\n\n handleInstallError(plugin: TachUIPlugin, error: Error): void {\n const errorKey = `install:${plugin.name}`\n \n // Update error metrics\n this.recordError(errorKey, error)\n \n // Check circuit breaker\n if (this.isCircuitOpen(errorKey)) {\n if (process.env.NODE_ENV === 'development') {\n console.warn(`🚫 Circuit breaker open for plugin ${plugin.name}, skipping detailed error handling`)\n }\n return\n }\n\n if (process.env.NODE_ENV === 'development') {\n console.error(`❌ Failed to install plugin ${plugin.name}:`, error)\n }\n \n // Simple fallback strategies with performance considerations\n if (error instanceof PluginError) {\n this.recordErrorType(errorKey, `plugin-error-${error.code}`)\n if (process.env.NODE_ENV === 'development') {\n console.warn(`Plugin ${plugin.name} installation failed with code: ${error.code}`)\n }\n }\n \n if (error.message.includes('dependencies')) {\n this.recordErrorType(errorKey, 'dependency-error')\n if (process.env.NODE_ENV === 'development') {\n console.warn(`Plugin ${plugin.name} has unmet dependencies`)\n }\n }\n \n // Queue error for batch emission\n this.queueError('plugin-install-failed', { plugin: { name: plugin.name, version: plugin.version }, error: error.message })\n }\n\n handleRuntimeError(pluginName: string, error: Error): void {\n const errorKey = `runtime:${pluginName}`\n \n // Update error metrics\n this.recordError(errorKey, error)\n \n // Check circuit breaker\n if (this.isCircuitOpen(errorKey)) {\n return\n }\n\n if (process.env.NODE_ENV === 'development') {\n console.error(`❌ Runtime error in plugin ${pluginName}:`, error)\n }\n \n // Simple recovery - log error and continue\n if (error instanceof PluginError && error.code === 'CRITICAL') {\n this.recordErrorType(errorKey, 'critical-error')\n if (process.env.NODE_ENV === 'development') {\n console.warn(`Plugin ${pluginName} encountered a critical error`)\n }\n this.queueError('plugin-critical-error', { pluginName, error: error.message })\n } else {\n this.recordErrorType(errorKey, 'runtime-error')\n this.queueError('plugin-runtime-error', { pluginName, error: error.message })\n }\n }\n\n handleUninstallError(pluginName: string, error: Error): void {\n const errorKey = `uninstall:${pluginName}`\n \n // Update error metrics\n this.recordError(errorKey, error)\n\n if (process.env.NODE_ENV === 'development') {\n console.error(`❌ Failed to uninstall plugin ${pluginName}:`, error)\n console.warn(`Plugin ${pluginName} may not have cleaned up properly`)\n }\n \n this.queueError('plugin-uninstall-error', { pluginName, error: error.message })\n }\n\n private recordError(errorKey: string, _error: Error): void {\n const now = performance.now()\n \n if (!this.errorMetrics.has(errorKey)) {\n this.errorMetrics.set(errorKey, {\n count: 0,\n lastOccurrence: now,\n firstOccurrence: now,\n errorTypes: new Map(),\n resolved: false\n })\n }\n \n const metrics = this.errorMetrics.get(errorKey)!\n metrics.count++\n metrics.lastOccurrence = now\n metrics.resolved = false\n \n // Update circuit breaker\n this.updateCircuitBreaker(errorKey)\n }\n\n private recordErrorType(errorKey: string, errorType: string): void {\n const metrics = this.errorMetrics.get(errorKey)\n if (metrics) {\n const currentCount = metrics.errorTypes.get(errorType) || 0\n metrics.errorTypes.set(errorType, currentCount + 1)\n }\n }\n\n private updateCircuitBreaker(errorKey: string): void {\n if (!this.circuitBreakers.has(errorKey)) {\n this.circuitBreakers.set(errorKey, {\n isOpen: false,\n failureCount: 0,\n lastFailureTime: 0\n })\n }\n \n const breaker = this.circuitBreakers.get(errorKey)!\n breaker.failureCount++\n breaker.lastFailureTime = performance.now()\n \n // Open circuit if too many failures\n if (breaker.failureCount >= this.maxFailuresBeforeCircuitBreak && !breaker.isOpen) {\n breaker.isOpen = true\n \n if (process.env.NODE_ENV === 'development') {\n console.warn(`🚫 Circuit breaker opened for ${errorKey} after ${breaker.failureCount} failures`)\n }\n \n // Schedule circuit reset\n breaker.resetTimeout = window.setTimeout(() => {\n this.resetCircuitBreaker(errorKey)\n }, this.circuitBreakerResetTime)\n }\n }\n\n private isCircuitOpen(errorKey: string): boolean {\n const breaker = this.circuitBreakers.get(errorKey)\n return breaker ? breaker.isOpen : false\n }\n\n private resetCircuitBreaker(errorKey: string): void {\n const breaker = this.circuitBreakers.get(errorKey)\n if (breaker) {\n breaker.isOpen = false\n breaker.failureCount = 0\n \n if (breaker.resetTimeout) {\n clearTimeout(breaker.resetTimeout)\n breaker.resetTimeout = undefined\n }\n \n if (process.env.NODE_ENV === 'development') {\n console.log(`🔄 Circuit breaker reset for ${errorKey}`)\n }\n }\n }\n\n private queueError(type: string, data: any): void {\n // Add to queue with memory management\n this.errorQueue.push({\n type,\n data,\n timestamp: performance.now()\n })\n \n // Limit queue size\n if (this.errorQueue.length > this.maxErrorHistory) {\n this.errorQueue = this.errorQueue.slice(-this.maxErrorHistory)\n }\n \n // Batch process errors\n if (this.errorQueue.length >= this.errorBatchSize) {\n this.flushErrorQueue()\n } else if (!this.batchTimer) {\n this.batchTimer = window.setTimeout(() => {\n this.flushErrorQueue()\n }, this.errorBatchTimeout)\n }\n }\n\n private flushErrorQueue(): void {\n if (this.errorQueue.length === 0) return\n \n // Process batched errors\n const errors = [...this.errorQueue]\n this.errorQueue = []\n \n if (this.batchTimer) {\n clearTimeout(this.batchTimer)\n this.batchTimer = undefined\n }\n \n // Emit batched errors\n for (const error of errors) {\n this.emitError(error.type, error.data)\n }\n \n if (process.env.NODE_ENV === 'development' && errors.length > 1) {\n console.log(`📦 Processed ${errors.length} batched errors`)\n }\n }\n\n private emitError(type: string, data: any): void {\n // Simple event emission for application error handling\n if (typeof window !== 'undefined') {\n window.dispatchEvent(new CustomEvent(`tachui:${type}`, { detail: data }))\n } else if (typeof process !== 'undefined' && process.emit) {\n process.emit(`tachui:${type}` as any, data)\n }\n }\n\n // Performance monitoring methods\n \n getErrorMetrics(errorKey?: string): ErrorMetrics | Map<string, ErrorMetrics> {\n if (errorKey) {\n return this.errorMetrics.get(errorKey) || {\n count: 0,\n lastOccurrence: 0,\n firstOccurrence: 0,\n errorTypes: new Map(),\n resolved: true\n }\n }\n return new Map(this.errorMetrics)\n }\n\n getCircuitBreakerStatus(errorKey?: string): CircuitBreakerState | Map<string, CircuitBreakerState> {\n if (errorKey) {\n return this.circuitBreakers.get(errorKey) || {\n isOpen: false,\n failureCount: 0,\n lastFailureTime: 0\n }\n }\n return new Map(this.circuitBreakers)\n }\n\n getPerformanceStats() {\n const allErrors = Array.from(this.errorMetrics.entries())\n const totalErrors = allErrors.reduce((sum, [, metrics]) => sum + metrics.count, 0)\n const activeCircuits = Array.from(this.circuitBreakers.values()).filter(cb => cb.isOpen).length\n \n const errorsByType = new Map<string, number>()\n for (const [, metrics] of allErrors) {\n for (const [type, count] of metrics.errorTypes) {\n errorsByType.set(type, (errorsByType.get(type) || 0) + count)\n }\n }\n \n return {\n totalErrors,\n uniqueErrorKeys: this.errorMetrics.size,\n activeCircuitBreakers: activeCircuits,\n queuedErrors: this.errorQueue.length,\n errorsByType: Object.fromEntries(errorsByType),\n memoryUsage: {\n errorMetrics: this.errorMetrics.size,\n circuitBreakers: this.circuitBreakers.size,\n queuedErrors: this.errorQueue.length,\n estimatedMemoryKB: (this.errorMetrics.size * 2) + (this.circuitBreakers.size * 1) + (this.errorQueue.length * 0.5)\n }\n }\n }\n\n markErrorResolved(errorKey: string): void {\n const metrics = this.errorMetrics.get(errorKey)\n if (metrics) {\n metrics.resolved = true\n \n // Reset circuit breaker if error is resolved\n this.resetCircuitBreaker(errorKey)\n }\n }\n\n clearErrorHistory(errorKey?: string): void {\n if (errorKey) {\n this.errorMetrics.delete(errorKey)\n this.circuitBreakers.delete(errorKey)\n } else {\n this.errorMetrics.clear()\n this.circuitBreakers.clear()\n this.errorQueue = []\n \n if (this.batchTimer) {\n clearTimeout(this.batchTimer)\n this.batchTimer = undefined\n }\n }\n }\n}\n\n// Global error handler instance\nexport const globalPluginErrorHandler = new OptimizedPluginErrorHandler()\n\n// Maintain backward compatibility alias\nexport const SimplifiedPluginErrorHandler = OptimizedPluginErrorHandler\n\n/**\n * Simple error recovery utilities\n */\nexport const ErrorRecoveryUtils = {\n /**\n * Safely execute plugin operation with error handling\n */\n async safeExecute<T>(\n pluginName: string,\n operation: string,\n fn: () => Promise<T> | T\n ): Promise<T | undefined> {\n try {\n return await fn()\n } catch (error) {\n console.error(`❌ [${pluginName}] ${operation} failed:`, error)\n globalPluginErrorHandler.handleRuntimeError(pluginName, error as Error)\n return undefined\n }\n },\n\n /**\n * Create an error boundary for plugin operations\n */\n createErrorBoundary(pluginName: string) {\n return {\n async exec<T>(fn: () => Promise<T> | T): Promise<T | undefined> {\n return ErrorRecoveryUtils.safeExecute(pluginName, 'operation', fn)\n }\n }\n }\n}"],"names":["OptimizedPluginErrorHandler","__publicField","plugin","error","errorKey","PluginError","pluginName","_error","now","metrics","errorType","currentCount","breaker","type","data","errors","allErrors","totalErrors","sum","activeCircuits","cb","errorsByType","count","globalPluginErrorHandler","SimplifiedPluginErrorHandler","ErrorRecoveryUtils","operation","fn"],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Simplified Plugin System - Phase 1 Implementation
|
|
3
|
+
*
|
|
4
|
+
* Main exports for the streamlined plugin system.
|
|
5
|
+
* Removes over-engineered security, performance monitoring, and complex preloading.
|
|
6
|
+
*/
|
|
7
|
+
export { SimplifiedPluginManager } from './simplified-plugin-manager';
|
|
8
|
+
export { SimplifiedComponentRegistry } from './simplified-component-registry';
|
|
9
|
+
export { SimplifiedTachUIInstance, globalTachUIInstance, installPlugin, registerComponent, registerService } from './simplified-tachui-instance';
|
|
10
|
+
export type { TachUIPlugin, TachUIInstance, ComponentRegistrationOptions, ServiceRegistration } from './simplified-types';
|
|
11
|
+
export { PluginError } from './simplified-types';
|
|
12
|
+
export type { ComponentRegistration } from './simplified-component-registry';
|
|
13
|
+
export { validateSemver, compareSemver, validatePluginName, normalizePluginName, PluginDevUtils } from './simplified-utils';
|
|
14
|
+
export { OptimizedLazyPluginLoader, createLazyPlugin, OptimizedLazyPluginLoader as SimplifiedLazyPluginLoader } from './simplified-lazy-loader';
|
|
15
|
+
export { OptimizedPluginErrorHandler, SimplifiedPluginErrorHandler, globalPluginErrorHandler, ErrorRecoveryUtils } from './simplified-error-handler';
|
|
16
|
+
export { createLegacyPluginAdapter, isLegacyPlugin, adaptPlugin } from './legacy-adapter';
|
|
17
|
+
//# sourceMappingURL=simplified-index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"simplified-index.d.ts","sourceRoot":"","sources":["../../src/plugins/simplified-index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAA;AACrE,OAAO,EAAE,2BAA2B,EAAE,MAAM,iCAAiC,CAAA;AAC7E,OAAO,EACL,wBAAwB,EACxB,oBAAoB,EACpB,aAAa,EACb,iBAAiB,EACjB,eAAe,EAChB,MAAM,8BAA8B,CAAA;AAGrC,YAAY,EACV,YAAY,EACZ,cAAc,EACd,4BAA4B,EAC5B,mBAAmB,EACpB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAGhD,YAAY,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAA;AAG5E,OAAO,EACL,cAAc,EACd,aAAa,EACb,kBAAkB,EAClB,mBAAmB,EACnB,cAAc,EACf,MAAM,oBAAoB,CAAA;AAG3B,OAAO,EACL,yBAAyB,EACzB,gBAAgB,EAEhB,yBAAyB,IAAI,0BAA0B,EACxD,MAAM,0BAA0B,CAAA;AAGjC,OAAO,EACL,2BAA2B,EAC3B,4BAA4B,EAC5B,wBAAwB,EACxB,kBAAkB,EACnB,MAAM,4BAA4B,CAAA;AAGnC,OAAO,EACL,yBAAyB,EACzB,cAAc,EACd,WAAW,EACZ,MAAM,kBAAkB,CAAA"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("./simplified-types.cjs");var c=Object.defineProperty,h=(r,e,t)=>e in r?c(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,n=(r,e,t)=>h(r,typeof e!="symbol"?e+"":e,t);class u{constructor(){n(this,"loadPromises",new Map),n(this,"loadedPlugins",new Map),n(this,"loadMetrics",new Map),n(this,"maxRetries",3),n(this,"baseRetryDelay",100)}async loadPlugin(e){if(this.loadedPlugins.has(e))return this.recordCacheHit(e),this.loadedPlugins.get(e);if(this.loadPromises.has(e))return this.loadPromises.get(e);const t=this.doLoadPluginWithRetry(e);this.loadPromises.set(e,t);try{const s=await t;return this.loadedPlugins.set(e,s),s}catch(s){throw this.loadPromises.delete(e),s}}async doLoadPluginWithRetry(e,t=1){const s={startTime:performance.now(),attempts:t,success:!1,cacheHit:!1};this.loadMetrics.set(e,s);try{const l=await this.doLoadPlugin(e);return s.endTime=performance.now(),s.duration=s.endTime-s.startTime,s.success=!0,process.env.NODE_ENV==="development"&&console.log(`🚀 Plugin "${e}" loaded in ${s.duration.toFixed(2)}ms (attempt ${t})`),l}catch(l){if(s.endTime=performance.now(),s.duration=s.endTime-s.startTime,t<this.maxRetries){const a=this.baseRetryDelay*Math.pow(2,t-1);return process.env.NODE_ENV==="development"&&console.warn(`⚠️ Plugin "${e}" load failed (attempt ${t}), retrying in ${a}ms...`),await this.delay(a),this.doLoadPluginWithRetry(e,t+1)}throw process.env.NODE_ENV==="development"&&console.error(`❌ Plugin "${e}" failed to load after ${t} attempts`),new o.PluginError(`Failed to load plugin "${e}" after ${t} attempts: ${l}`)}}async doLoadPlugin(e){try{const t=await import(e),s=t.default||t;if(!s||typeof s!="object")throw new o.PluginError(`Plugin "${e}" must export a plugin object`);if(!s.name||!s.version||typeof s.install!="function")throw new o.PluginError(`Plugin "${e}" must have name, version, and install method`);return s}catch(t){throw new o.PluginError(`Dynamic import failed for "${e}": ${t}`)}}recordCacheHit(e){if(this.loadMetrics.has(e)){const t=this.loadMetrics.get(e);t.cacheHit=!0}process.env.NODE_ENV==="development"&&console.log(`💾 Plugin "${e}" served from cache`)}delay(e){return new Promise(t=>setTimeout(t,e))}isLoading(e){return this.loadPromises.has(e)&&!this.loadedPlugins.has(e)}isLoaded(e){return this.loadedPlugins.has(e)}getLoadMetrics(e){return this.loadMetrics.get(e)}getAllMetrics(){return Array.from(this.loadMetrics.entries()).map(([e,t])=>({plugin:e,metrics:t}))}getPerformanceStats(){const e=this.getAllMetrics(),t=e.filter(i=>i.metrics.success),s=e.filter(i=>!i.metrics.success),l=t.reduce((i,d)=>i+(d.metrics.duration||0),0),a=t.length>0?l/t.length:0;return{totalPlugins:e.length,successful:t.length,failed:s.length,cached:this.loadedPlugins.size,averageLoadTime:a,totalLoadTime:l,cacheHitRate:t.length>0?t.filter(i=>i.metrics.cacheHit).length/t.length:0}}clearCache(e){e?(this.loadPromises.delete(e),this.loadedPlugins.delete(e),this.loadMetrics.delete(e)):(this.loadPromises.clear(),this.loadedPlugins.clear(),this.loadMetrics.clear())}unloadPlugin(e){this.loadPromises.delete(e),this.loadedPlugins.delete(e),process.env.NODE_ENV==="development"&&console.log(`🗑️ Plugin "${e}" unloaded from memory`)}getMemoryUsage(){return{loadedPlugins:this.loadedPlugins.size,pendingLoads:this.loadPromises.size,metricsEntries:this.loadMetrics.size,estimatedMemoryKB:this.loadedPlugins.size*5+this.loadMetrics.size*1}}}function P(r){return async()=>{try{const e=await r(),t="default"in e?e.default:e;if(!t||typeof t!="object")throw new o.PluginError("Plugin module must export a plugin object");if(!t.name||!t.version||typeof t.install!="function")throw new o.PluginError("Plugin must have name, version, and install method");return t}catch(e){throw new o.PluginError(`Failed to load plugin: ${e}`)}}}exports.OptimizedLazyPluginLoader=u;exports.createLazyPlugin=P;
|
|
2
|
+
//# sourceMappingURL=simplified-lazy-loader.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"simplified-lazy-loader.cjs","sources":["../../src/plugins/simplified-lazy-loader.ts"],"sourcesContent":["/**\n * Optimized Lazy Plugin Loader - Week 3 Performance Enhancement\n * \n * Enhanced dynamic plugin loading with performance optimizations:\n * - Load caching and deduplication\n * - Performance metrics tracking\n * - Retry logic with exponential backoff\n * - Memory-efficient loading\n */\n\nimport type { TachUIPlugin } from './simplified-types'\nimport { PluginError } from './simplified-types'\n\ninterface LoadMetrics {\n startTime: number\n endTime?: number\n duration?: number\n attempts: number\n success: boolean\n cacheHit: boolean\n}\n\n/**\n * Performance-optimized lazy plugin loader\n */\nexport class OptimizedLazyPluginLoader {\n private loadPromises = new Map<string, Promise<TachUIPlugin>>()\n private loadedPlugins = new Map<string, TachUIPlugin>()\n private loadMetrics = new Map<string, LoadMetrics>()\n private maxRetries = 3\n private baseRetryDelay = 100 // ms\n\n async loadPlugin(pluginName: string): Promise<TachUIPlugin> {\n // Check cache first for already loaded plugins\n if (this.loadedPlugins.has(pluginName)) {\n this.recordCacheHit(pluginName)\n return this.loadedPlugins.get(pluginName)!\n }\n\n // Check if loading is in progress\n if (this.loadPromises.has(pluginName)) {\n return this.loadPromises.get(pluginName)!\n }\n\n // Start new load with metrics tracking\n const loadPromise = this.doLoadPluginWithRetry(pluginName)\n this.loadPromises.set(pluginName, loadPromise)\n\n try {\n const plugin = await loadPromise\n // Cache the loaded plugin for future requests\n this.loadedPlugins.set(pluginName, plugin)\n return plugin\n } catch (error) {\n // Remove failed promise from cache\n this.loadPromises.delete(pluginName)\n throw error\n }\n }\n\n private async doLoadPluginWithRetry(pluginName: string, attempt: number = 1): Promise<TachUIPlugin> {\n const metrics: LoadMetrics = {\n startTime: performance.now(),\n attempts: attempt,\n success: false,\n cacheHit: false\n }\n this.loadMetrics.set(pluginName, metrics)\n\n try {\n const plugin = await this.doLoadPlugin(pluginName)\n \n // Record successful load metrics\n metrics.endTime = performance.now()\n metrics.duration = metrics.endTime - metrics.startTime\n metrics.success = true\n \n if (process.env.NODE_ENV === 'development') {\n console.log(`🚀 Plugin \"${pluginName}\" loaded in ${metrics.duration.toFixed(2)}ms (attempt ${attempt})`)\n }\n\n return plugin\n } catch (error) {\n // Record failed attempt\n metrics.endTime = performance.now()\n metrics.duration = metrics.endTime - metrics.startTime\n\n if (attempt < this.maxRetries) {\n // Exponential backoff retry\n const delay = this.baseRetryDelay * Math.pow(2, attempt - 1)\n \n if (process.env.NODE_ENV === 'development') {\n console.warn(`⚠️ Plugin \"${pluginName}\" load failed (attempt ${attempt}), retrying in ${delay}ms...`)\n }\n \n await this.delay(delay)\n return this.doLoadPluginWithRetry(pluginName, attempt + 1)\n }\n\n // All retries exhausted\n if (process.env.NODE_ENV === 'development') {\n console.error(`❌ Plugin \"${pluginName}\" failed to load after ${attempt} attempts`)\n }\n \n throw new PluginError(`Failed to load plugin \"${pluginName}\" after ${attempt} attempts: ${error}`)\n }\n }\n\n private async doLoadPlugin(pluginName: string): Promise<TachUIPlugin> {\n try {\n // Optimized dynamic import - let bundler handle code splitting\n const module = await import(/* webpackChunkName: \"plugin-[request]\" */ pluginName)\n const plugin = module.default || module\n \n if (!plugin || typeof plugin !== 'object') {\n throw new PluginError(`Plugin \"${pluginName}\" must export a plugin object`)\n }\n \n if (!plugin.name || !plugin.version || typeof plugin.install !== 'function') {\n throw new PluginError(`Plugin \"${pluginName}\" must have name, version, and install method`)\n }\n \n return plugin as TachUIPlugin\n } catch (error) {\n throw new PluginError(`Dynamic import failed for \"${pluginName}\": ${error}`)\n }\n }\n\n private recordCacheHit(pluginName: string): void {\n if (this.loadMetrics.has(pluginName)) {\n const metrics = this.loadMetrics.get(pluginName)!\n metrics.cacheHit = true\n }\n\n if (process.env.NODE_ENV === 'development') {\n console.log(`💾 Plugin \"${pluginName}\" served from cache`)\n }\n }\n\n private delay(ms: number): Promise<void> {\n return new Promise(resolve => setTimeout(resolve, ms))\n }\n\n // Performance monitoring methods\n \n isLoading(pluginName: string): boolean {\n return this.loadPromises.has(pluginName) && !this.loadedPlugins.has(pluginName)\n }\n\n isLoaded(pluginName: string): boolean {\n return this.loadedPlugins.has(pluginName)\n }\n\n getLoadMetrics(pluginName: string): LoadMetrics | undefined {\n return this.loadMetrics.get(pluginName)\n }\n\n getAllMetrics(): Array<{ plugin: string; metrics: LoadMetrics }> {\n return Array.from(this.loadMetrics.entries()).map(([plugin, metrics]) => ({\n plugin,\n metrics\n }))\n }\n\n getPerformanceStats() {\n const allMetrics = this.getAllMetrics()\n const successful = allMetrics.filter(m => m.metrics.success)\n const failed = allMetrics.filter(m => !m.metrics.success)\n \n const totalLoadTime = successful.reduce((sum, m) => sum + (m.metrics.duration || 0), 0)\n const avgLoadTime = successful.length > 0 ? totalLoadTime / successful.length : 0\n \n return {\n totalPlugins: allMetrics.length,\n successful: successful.length,\n failed: failed.length,\n cached: this.loadedPlugins.size,\n averageLoadTime: avgLoadTime,\n totalLoadTime,\n cacheHitRate: successful.length > 0 ? \n successful.filter(m => m.metrics.cacheHit).length / successful.length : 0\n }\n }\n\n clearCache(pluginName?: string): void {\n if (pluginName) {\n this.loadPromises.delete(pluginName)\n this.loadedPlugins.delete(pluginName)\n this.loadMetrics.delete(pluginName)\n } else {\n this.loadPromises.clear()\n this.loadedPlugins.clear()\n this.loadMetrics.clear()\n }\n }\n\n // Memory management\n \n unloadPlugin(pluginName: string): void {\n this.loadPromises.delete(pluginName)\n this.loadedPlugins.delete(pluginName)\n \n if (process.env.NODE_ENV === 'development') {\n console.log(`🗑️ Plugin \"${pluginName}\" unloaded from memory`)\n }\n }\n\n getMemoryUsage() {\n return {\n loadedPlugins: this.loadedPlugins.size,\n pendingLoads: this.loadPromises.size,\n metricsEntries: this.loadMetrics.size,\n estimatedMemoryKB: (this.loadedPlugins.size * 5) + (this.loadMetrics.size * 1) // rough estimate\n }\n }\n}\n\n/**\n * Create a lazy plugin loader from a dynamic import function\n */\nexport function createLazyPlugin(\n importFn: () => Promise<{ default: TachUIPlugin } | TachUIPlugin>\n): () => Promise<TachUIPlugin> {\n return async () => {\n try {\n const module = await importFn()\n const plugin = 'default' in module ? module.default : module\n \n if (!plugin || typeof plugin !== 'object') {\n throw new PluginError('Plugin module must export a plugin object')\n }\n \n if (!plugin.name || !plugin.version || typeof plugin.install !== 'function') {\n throw new PluginError('Plugin must have name, version, and install method')\n }\n \n return plugin as TachUIPlugin\n } catch (error) {\n throw new PluginError(`Failed to load plugin: ${error}`)\n }\n }\n}"],"names":["OptimizedLazyPluginLoader","__publicField","pluginName","loadPromise","plugin","error","attempt","metrics","delay","PluginError","module","ms","resolve","allMetrics","successful","m","failed","totalLoadTime","sum","avgLoadTime","createLazyPlugin","importFn"],"mappings":"sRAyBO,MAAMA,CAA0B,CAAhC,aAAA,CACLC,EAAA,KAAQ,mBAAmB,GAAmC,EAC9DA,EAAA,KAAQ,oBAAoB,GAA0B,EACtDA,EAAA,KAAQ,kBAAkB,GAAyB,EACnDA,EAAA,KAAQ,aAAa,CAAA,EACrBA,EAAA,KAAQ,iBAAiB,GAAA,CAAA,CAEzB,MAAM,WAAWC,EAA2C,CAE1D,GAAI,KAAK,cAAc,IAAIA,CAAU,EACnC,YAAK,eAAeA,CAAU,EACvB,KAAK,cAAc,IAAIA,CAAU,EAI1C,GAAI,KAAK,aAAa,IAAIA,CAAU,EAClC,OAAO,KAAK,aAAa,IAAIA,CAAU,EAIzC,MAAMC,EAAc,KAAK,sBAAsBD,CAAU,EACzD,KAAK,aAAa,IAAIA,EAAYC,CAAW,EAE7C,GAAI,CACF,MAAMC,EAAS,MAAMD,EAErB,YAAK,cAAc,IAAID,EAAYE,CAAM,EAClCA,CACT,OAASC,EAAO,CAEd,WAAK,aAAa,OAAOH,CAAU,EAC7BG,CACR,CACF,CAEA,MAAc,sBAAsBH,EAAoBI,EAAkB,EAA0B,CAClG,MAAMC,EAAuB,CAC3B,UAAW,YAAY,IAAA,EACvB,SAAUD,EACV,QAAS,GACT,SAAU,EAAA,EAEZ,KAAK,YAAY,IAAIJ,EAAYK,CAAO,EAExC,GAAI,CACF,MAAMH,EAAS,MAAM,KAAK,aAAaF,CAAU,EAGjD,OAAAK,EAAQ,QAAU,YAAY,IAAA,EAC9BA,EAAQ,SAAWA,EAAQ,QAAUA,EAAQ,UAC7CA,EAAQ,QAAU,GAEd,QAAQ,IAAI,WAAa,eAC3B,QAAQ,IAAI,cAAcL,CAAU,eAAeK,EAAQ,SAAS,QAAQ,CAAC,CAAC,eAAeD,CAAO,GAAG,EAGlGF,CACT,OAASC,EAAO,CAKd,GAHAE,EAAQ,QAAU,YAAY,IAAA,EAC9BA,EAAQ,SAAWA,EAAQ,QAAUA,EAAQ,UAEzCD,EAAU,KAAK,WAAY,CAE7B,MAAME,EAAQ,KAAK,eAAiB,KAAK,IAAI,EAAGF,EAAU,CAAC,EAE3D,OAAI,QAAQ,IAAI,WAAa,eAC3B,QAAQ,KAAK,cAAcJ,CAAU,0BAA0BI,CAAO,kBAAkBE,CAAK,OAAO,EAGtG,MAAM,KAAK,MAAMA,CAAK,EACf,KAAK,sBAAsBN,EAAYI,EAAU,CAAC,CAC3D,CAGA,MAAI,QAAQ,IAAI,WAAa,eAC3B,QAAQ,MAAM,aAAaJ,CAAU,0BAA0BI,CAAO,WAAW,EAG7E,IAAIG,EAAAA,YAAY,0BAA0BP,CAAU,WAAWI,CAAO,cAAcD,CAAK,EAAE,CACnG,CACF,CAEA,MAAc,aAAaH,EAA2C,CACpE,GAAI,CAEF,MAAMQ,EAAS,MAAM,OAAkDR,GACjEE,EAASM,EAAO,SAAWA,EAEjC,GAAI,CAACN,GAAU,OAAOA,GAAW,SAC/B,MAAM,IAAIK,EAAAA,YAAY,WAAWP,CAAU,+BAA+B,EAG5E,GAAI,CAACE,EAAO,MAAQ,CAACA,EAAO,SAAW,OAAOA,EAAO,SAAY,WAC/D,MAAM,IAAIK,EAAAA,YAAY,WAAWP,CAAU,+CAA+C,EAG5F,OAAOE,CACT,OAASC,EAAO,CACd,MAAM,IAAII,EAAAA,YAAY,8BAA8BP,CAAU,MAAMG,CAAK,EAAE,CAC7E,CACF,CAEQ,eAAeH,EAA0B,CAC/C,GAAI,KAAK,YAAY,IAAIA,CAAU,EAAG,CACpC,MAAMK,EAAU,KAAK,YAAY,IAAIL,CAAU,EAC/CK,EAAQ,SAAW,EACrB,CAEI,QAAQ,IAAI,WAAa,eAC3B,QAAQ,IAAI,cAAcL,CAAU,qBAAqB,CAE7D,CAEQ,MAAMS,EAA2B,CACvC,OAAO,IAAI,QAAQC,GAAW,WAAWA,EAASD,CAAE,CAAC,CACvD,CAIA,UAAUT,EAA6B,CACrC,OAAO,KAAK,aAAa,IAAIA,CAAU,GAAK,CAAC,KAAK,cAAc,IAAIA,CAAU,CAChF,CAEA,SAASA,EAA6B,CACpC,OAAO,KAAK,cAAc,IAAIA,CAAU,CAC1C,CAEA,eAAeA,EAA6C,CAC1D,OAAO,KAAK,YAAY,IAAIA,CAAU,CACxC,CAEA,eAAiE,CAC/D,OAAO,MAAM,KAAK,KAAK,YAAY,SAAS,EAAE,IAAI,CAAC,CAACE,EAAQG,CAAO,KAAO,CACxE,OAAAH,EACA,QAAAG,CAAA,EACA,CACJ,CAEA,qBAAsB,CACpB,MAAMM,EAAa,KAAK,cAAA,EAClBC,EAAaD,EAAW,OAAOE,GAAKA,EAAE,QAAQ,OAAO,EACrDC,EAASH,EAAW,UAAY,CAACE,EAAE,QAAQ,OAAO,EAElDE,EAAgBH,EAAW,OAAO,CAACI,EAAKH,IAAMG,GAAOH,EAAE,QAAQ,UAAY,GAAI,CAAC,EAChFI,EAAcL,EAAW,OAAS,EAAIG,EAAgBH,EAAW,OAAS,EAEhF,MAAO,CACL,aAAcD,EAAW,OACzB,WAAYC,EAAW,OACvB,OAAQE,EAAO,OACf,OAAQ,KAAK,cAAc,KAC3B,gBAAiBG,EACjB,cAAAF,EACA,aAAcH,EAAW,OAAS,EAChCA,EAAW,OAAOC,GAAKA,EAAE,QAAQ,QAAQ,EAAE,OAASD,EAAW,OAAS,CAAA,CAE9E,CAEA,WAAWZ,EAA2B,CAChCA,GACF,KAAK,aAAa,OAAOA,CAAU,EACnC,KAAK,cAAc,OAAOA,CAAU,EACpC,KAAK,YAAY,OAAOA,CAAU,IAElC,KAAK,aAAa,MAAA,EAClB,KAAK,cAAc,MAAA,EACnB,KAAK,YAAY,MAAA,EAErB,CAIA,aAAaA,EAA0B,CACrC,KAAK,aAAa,OAAOA,CAAU,EACnC,KAAK,cAAc,OAAOA,CAAU,EAEhC,QAAQ,IAAI,WAAa,eAC3B,QAAQ,IAAI,eAAeA,CAAU,wBAAwB,CAEjE,CAEA,gBAAiB,CACf,MAAO,CACL,cAAe,KAAK,cAAc,KAClC,aAAc,KAAK,aAAa,KAChC,eAAgB,KAAK,YAAY,KACjC,kBAAoB,KAAK,cAAc,KAAO,EAAM,KAAK,YAAY,KAAO,CAAA,CAEhF,CACF,CAKO,SAASkB,EACdC,EAC6B,CAC7B,MAAO,UAAY,CACjB,GAAI,CACF,MAAMX,EAAS,MAAMW,EAAA,EACfjB,EAAS,YAAaM,EAASA,EAAO,QAAUA,EAEtD,GAAI,CAACN,GAAU,OAAOA,GAAW,SAC/B,MAAM,IAAIK,EAAAA,YAAY,2CAA2C,EAGnE,GAAI,CAACL,EAAO,MAAQ,CAACA,EAAO,SAAW,OAAOA,EAAO,SAAY,WAC/D,MAAM,IAAIK,EAAAA,YAAY,oDAAoD,EAG5E,OAAOL,CACT,OAASC,EAAO,CACd,MAAM,IAAII,EAAAA,YAAY,0BAA0BJ,CAAK,EAAE,CACzD,CACF,CACF"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Optimized Lazy Plugin Loader - Week 3 Performance Enhancement
|
|
3
|
+
*
|
|
4
|
+
* Enhanced dynamic plugin loading with performance optimizations:
|
|
5
|
+
* - Load caching and deduplication
|
|
6
|
+
* - Performance metrics tracking
|
|
7
|
+
* - Retry logic with exponential backoff
|
|
8
|
+
* - Memory-efficient loading
|
|
9
|
+
*/
|
|
10
|
+
import type { TachUIPlugin } from './simplified-types';
|
|
11
|
+
interface LoadMetrics {
|
|
12
|
+
startTime: number;
|
|
13
|
+
endTime?: number;
|
|
14
|
+
duration?: number;
|
|
15
|
+
attempts: number;
|
|
16
|
+
success: boolean;
|
|
17
|
+
cacheHit: boolean;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Performance-optimized lazy plugin loader
|
|
21
|
+
*/
|
|
22
|
+
export declare class OptimizedLazyPluginLoader {
|
|
23
|
+
private loadPromises;
|
|
24
|
+
private loadedPlugins;
|
|
25
|
+
private loadMetrics;
|
|
26
|
+
private maxRetries;
|
|
27
|
+
private baseRetryDelay;
|
|
28
|
+
loadPlugin(pluginName: string): Promise<TachUIPlugin>;
|
|
29
|
+
private doLoadPluginWithRetry;
|
|
30
|
+
private doLoadPlugin;
|
|
31
|
+
private recordCacheHit;
|
|
32
|
+
private delay;
|
|
33
|
+
isLoading(pluginName: string): boolean;
|
|
34
|
+
isLoaded(pluginName: string): boolean;
|
|
35
|
+
getLoadMetrics(pluginName: string): LoadMetrics | undefined;
|
|
36
|
+
getAllMetrics(): Array<{
|
|
37
|
+
plugin: string;
|
|
38
|
+
metrics: LoadMetrics;
|
|
39
|
+
}>;
|
|
40
|
+
getPerformanceStats(): {
|
|
41
|
+
totalPlugins: number;
|
|
42
|
+
successful: number;
|
|
43
|
+
failed: number;
|
|
44
|
+
cached: number;
|
|
45
|
+
averageLoadTime: number;
|
|
46
|
+
totalLoadTime: number;
|
|
47
|
+
cacheHitRate: number;
|
|
48
|
+
};
|
|
49
|
+
clearCache(pluginName?: string): void;
|
|
50
|
+
unloadPlugin(pluginName: string): void;
|
|
51
|
+
getMemoryUsage(): {
|
|
52
|
+
loadedPlugins: number;
|
|
53
|
+
pendingLoads: number;
|
|
54
|
+
metricsEntries: number;
|
|
55
|
+
estimatedMemoryKB: number;
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Create a lazy plugin loader from a dynamic import function
|
|
60
|
+
*/
|
|
61
|
+
export declare function createLazyPlugin(importFn: () => Promise<{
|
|
62
|
+
default: TachUIPlugin;
|
|
63
|
+
} | TachUIPlugin>): () => Promise<TachUIPlugin>;
|
|
64
|
+
export {};
|
|
65
|
+
//# sourceMappingURL=simplified-lazy-loader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"simplified-lazy-loader.d.ts","sourceRoot":"","sources":["../../src/plugins/simplified-lazy-loader.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAGtD,UAAU,WAAW;IACnB,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,OAAO,CAAA;IAChB,QAAQ,EAAE,OAAO,CAAA;CAClB;AAED;;GAEG;AACH,qBAAa,yBAAyB;IACpC,OAAO,CAAC,YAAY,CAA2C;IAC/D,OAAO,CAAC,aAAa,CAAkC;IACvD,OAAO,CAAC,WAAW,CAAiC;IACpD,OAAO,CAAC,UAAU,CAAI;IACtB,OAAO,CAAC,cAAc,CAAM;IAEtB,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;YA4B7C,qBAAqB;YAgDrB,YAAY;IAoB1B,OAAO,CAAC,cAAc;IAWtB,OAAO,CAAC,KAAK;IAMb,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;IAItC,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;IAIrC,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS;IAI3D,aAAa,IAAI,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,WAAW,CAAA;KAAE,CAAC;IAOhE,mBAAmB;;;;;;;;;IAoBnB,UAAU,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI;IAcrC,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAStC,cAAc;;;;;;CAQf;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,MAAM,OAAO,CAAC;IAAE,OAAO,EAAE,YAAY,CAAA;CAAE,GAAG,YAAY,CAAC,GAChE,MAAM,OAAO,CAAC,YAAY,CAAC,CAmB7B"}
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
import { PluginError as r } from "./simplified-types.js";
|
|
2
|
+
var c = Object.defineProperty, h = (i, e, t) => e in i ? c(i, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : i[e] = t, l = (i, e, t) => h(i, typeof e != "symbol" ? e + "" : e, t);
|
|
3
|
+
class f {
|
|
4
|
+
constructor() {
|
|
5
|
+
l(this, "loadPromises", /* @__PURE__ */ new Map()), l(this, "loadedPlugins", /* @__PURE__ */ new Map()), l(this, "loadMetrics", /* @__PURE__ */ new Map()), l(this, "maxRetries", 3), l(this, "baseRetryDelay", 100);
|
|
6
|
+
}
|
|
7
|
+
// ms
|
|
8
|
+
async loadPlugin(e) {
|
|
9
|
+
if (this.loadedPlugins.has(e))
|
|
10
|
+
return this.recordCacheHit(e), this.loadedPlugins.get(e);
|
|
11
|
+
if (this.loadPromises.has(e))
|
|
12
|
+
return this.loadPromises.get(e);
|
|
13
|
+
const t = this.doLoadPluginWithRetry(e);
|
|
14
|
+
this.loadPromises.set(e, t);
|
|
15
|
+
try {
|
|
16
|
+
const s = await t;
|
|
17
|
+
return this.loadedPlugins.set(e, s), s;
|
|
18
|
+
} catch (s) {
|
|
19
|
+
throw this.loadPromises.delete(e), s;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
async doLoadPluginWithRetry(e, t = 1) {
|
|
23
|
+
const s = {
|
|
24
|
+
startTime: performance.now(),
|
|
25
|
+
attempts: t,
|
|
26
|
+
success: !1,
|
|
27
|
+
cacheHit: !1
|
|
28
|
+
};
|
|
29
|
+
this.loadMetrics.set(e, s);
|
|
30
|
+
try {
|
|
31
|
+
const a = await this.doLoadPlugin(e);
|
|
32
|
+
return s.endTime = performance.now(), s.duration = s.endTime - s.startTime, s.success = !0, process.env.NODE_ENV === "development" && console.log(`🚀 Plugin "${e}" loaded in ${s.duration.toFixed(2)}ms (attempt ${t})`), a;
|
|
33
|
+
} catch (a) {
|
|
34
|
+
if (s.endTime = performance.now(), s.duration = s.endTime - s.startTime, t < this.maxRetries) {
|
|
35
|
+
const n = this.baseRetryDelay * Math.pow(2, t - 1);
|
|
36
|
+
return process.env.NODE_ENV === "development" && console.warn(`⚠️ Plugin "${e}" load failed (attempt ${t}), retrying in ${n}ms...`), await this.delay(n), this.doLoadPluginWithRetry(e, t + 1);
|
|
37
|
+
}
|
|
38
|
+
throw process.env.NODE_ENV === "development" && console.error(`❌ Plugin "${e}" failed to load after ${t} attempts`), new r(`Failed to load plugin "${e}" after ${t} attempts: ${a}`);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
async doLoadPlugin(e) {
|
|
42
|
+
try {
|
|
43
|
+
const t = await import(
|
|
44
|
+
/* webpackChunkName: "plugin-[request]" */
|
|
45
|
+
e
|
|
46
|
+
), s = t.default || t;
|
|
47
|
+
if (!s || typeof s != "object")
|
|
48
|
+
throw new r(`Plugin "${e}" must export a plugin object`);
|
|
49
|
+
if (!s.name || !s.version || typeof s.install != "function")
|
|
50
|
+
throw new r(`Plugin "${e}" must have name, version, and install method`);
|
|
51
|
+
return s;
|
|
52
|
+
} catch (t) {
|
|
53
|
+
throw new r(`Dynamic import failed for "${e}": ${t}`);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
recordCacheHit(e) {
|
|
57
|
+
if (this.loadMetrics.has(e)) {
|
|
58
|
+
const t = this.loadMetrics.get(e);
|
|
59
|
+
t.cacheHit = !0;
|
|
60
|
+
}
|
|
61
|
+
process.env.NODE_ENV === "development" && console.log(`💾 Plugin "${e}" served from cache`);
|
|
62
|
+
}
|
|
63
|
+
delay(e) {
|
|
64
|
+
return new Promise((t) => setTimeout(t, e));
|
|
65
|
+
}
|
|
66
|
+
// Performance monitoring methods
|
|
67
|
+
isLoading(e) {
|
|
68
|
+
return this.loadPromises.has(e) && !this.loadedPlugins.has(e);
|
|
69
|
+
}
|
|
70
|
+
isLoaded(e) {
|
|
71
|
+
return this.loadedPlugins.has(e);
|
|
72
|
+
}
|
|
73
|
+
getLoadMetrics(e) {
|
|
74
|
+
return this.loadMetrics.get(e);
|
|
75
|
+
}
|
|
76
|
+
getAllMetrics() {
|
|
77
|
+
return Array.from(this.loadMetrics.entries()).map(([e, t]) => ({
|
|
78
|
+
plugin: e,
|
|
79
|
+
metrics: t
|
|
80
|
+
}));
|
|
81
|
+
}
|
|
82
|
+
getPerformanceStats() {
|
|
83
|
+
const e = this.getAllMetrics(), t = e.filter((o) => o.metrics.success), s = e.filter((o) => !o.metrics.success), a = t.reduce((o, d) => o + (d.metrics.duration || 0), 0), n = t.length > 0 ? a / t.length : 0;
|
|
84
|
+
return {
|
|
85
|
+
totalPlugins: e.length,
|
|
86
|
+
successful: t.length,
|
|
87
|
+
failed: s.length,
|
|
88
|
+
cached: this.loadedPlugins.size,
|
|
89
|
+
averageLoadTime: n,
|
|
90
|
+
totalLoadTime: a,
|
|
91
|
+
cacheHitRate: t.length > 0 ? t.filter((o) => o.metrics.cacheHit).length / t.length : 0
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
clearCache(e) {
|
|
95
|
+
e ? (this.loadPromises.delete(e), this.loadedPlugins.delete(e), this.loadMetrics.delete(e)) : (this.loadPromises.clear(), this.loadedPlugins.clear(), this.loadMetrics.clear());
|
|
96
|
+
}
|
|
97
|
+
// Memory management
|
|
98
|
+
unloadPlugin(e) {
|
|
99
|
+
this.loadPromises.delete(e), this.loadedPlugins.delete(e), process.env.NODE_ENV === "development" && console.log(`🗑️ Plugin "${e}" unloaded from memory`);
|
|
100
|
+
}
|
|
101
|
+
getMemoryUsage() {
|
|
102
|
+
return {
|
|
103
|
+
loadedPlugins: this.loadedPlugins.size,
|
|
104
|
+
pendingLoads: this.loadPromises.size,
|
|
105
|
+
metricsEntries: this.loadMetrics.size,
|
|
106
|
+
estimatedMemoryKB: this.loadedPlugins.size * 5 + this.loadMetrics.size * 1
|
|
107
|
+
// rough estimate
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
function P(i) {
|
|
112
|
+
return async () => {
|
|
113
|
+
try {
|
|
114
|
+
const e = await i(), t = "default" in e ? e.default : e;
|
|
115
|
+
if (!t || typeof t != "object")
|
|
116
|
+
throw new r("Plugin module must export a plugin object");
|
|
117
|
+
if (!t.name || !t.version || typeof t.install != "function")
|
|
118
|
+
throw new r("Plugin must have name, version, and install method");
|
|
119
|
+
return t;
|
|
120
|
+
} catch (e) {
|
|
121
|
+
throw new r(`Failed to load plugin: ${e}`);
|
|
122
|
+
}
|
|
123
|
+
};
|
|
124
|
+
}
|
|
125
|
+
export {
|
|
126
|
+
f as OptimizedLazyPluginLoader,
|
|
127
|
+
P as createLazyPlugin
|
|
128
|
+
};
|
|
129
|
+
//# sourceMappingURL=simplified-lazy-loader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"simplified-lazy-loader.js","sources":["../../src/plugins/simplified-lazy-loader.ts"],"sourcesContent":["/**\n * Optimized Lazy Plugin Loader - Week 3 Performance Enhancement\n * \n * Enhanced dynamic plugin loading with performance optimizations:\n * - Load caching and deduplication\n * - Performance metrics tracking\n * - Retry logic with exponential backoff\n * - Memory-efficient loading\n */\n\nimport type { TachUIPlugin } from './simplified-types'\nimport { PluginError } from './simplified-types'\n\ninterface LoadMetrics {\n startTime: number\n endTime?: number\n duration?: number\n attempts: number\n success: boolean\n cacheHit: boolean\n}\n\n/**\n * Performance-optimized lazy plugin loader\n */\nexport class OptimizedLazyPluginLoader {\n private loadPromises = new Map<string, Promise<TachUIPlugin>>()\n private loadedPlugins = new Map<string, TachUIPlugin>()\n private loadMetrics = new Map<string, LoadMetrics>()\n private maxRetries = 3\n private baseRetryDelay = 100 // ms\n\n async loadPlugin(pluginName: string): Promise<TachUIPlugin> {\n // Check cache first for already loaded plugins\n if (this.loadedPlugins.has(pluginName)) {\n this.recordCacheHit(pluginName)\n return this.loadedPlugins.get(pluginName)!\n }\n\n // Check if loading is in progress\n if (this.loadPromises.has(pluginName)) {\n return this.loadPromises.get(pluginName)!\n }\n\n // Start new load with metrics tracking\n const loadPromise = this.doLoadPluginWithRetry(pluginName)\n this.loadPromises.set(pluginName, loadPromise)\n\n try {\n const plugin = await loadPromise\n // Cache the loaded plugin for future requests\n this.loadedPlugins.set(pluginName, plugin)\n return plugin\n } catch (error) {\n // Remove failed promise from cache\n this.loadPromises.delete(pluginName)\n throw error\n }\n }\n\n private async doLoadPluginWithRetry(pluginName: string, attempt: number = 1): Promise<TachUIPlugin> {\n const metrics: LoadMetrics = {\n startTime: performance.now(),\n attempts: attempt,\n success: false,\n cacheHit: false\n }\n this.loadMetrics.set(pluginName, metrics)\n\n try {\n const plugin = await this.doLoadPlugin(pluginName)\n \n // Record successful load metrics\n metrics.endTime = performance.now()\n metrics.duration = metrics.endTime - metrics.startTime\n metrics.success = true\n \n if (process.env.NODE_ENV === 'development') {\n console.log(`🚀 Plugin \"${pluginName}\" loaded in ${metrics.duration.toFixed(2)}ms (attempt ${attempt})`)\n }\n\n return plugin\n } catch (error) {\n // Record failed attempt\n metrics.endTime = performance.now()\n metrics.duration = metrics.endTime - metrics.startTime\n\n if (attempt < this.maxRetries) {\n // Exponential backoff retry\n const delay = this.baseRetryDelay * Math.pow(2, attempt - 1)\n \n if (process.env.NODE_ENV === 'development') {\n console.warn(`⚠️ Plugin \"${pluginName}\" load failed (attempt ${attempt}), retrying in ${delay}ms...`)\n }\n \n await this.delay(delay)\n return this.doLoadPluginWithRetry(pluginName, attempt + 1)\n }\n\n // All retries exhausted\n if (process.env.NODE_ENV === 'development') {\n console.error(`❌ Plugin \"${pluginName}\" failed to load after ${attempt} attempts`)\n }\n \n throw new PluginError(`Failed to load plugin \"${pluginName}\" after ${attempt} attempts: ${error}`)\n }\n }\n\n private async doLoadPlugin(pluginName: string): Promise<TachUIPlugin> {\n try {\n // Optimized dynamic import - let bundler handle code splitting\n const module = await import(/* webpackChunkName: \"plugin-[request]\" */ pluginName)\n const plugin = module.default || module\n \n if (!plugin || typeof plugin !== 'object') {\n throw new PluginError(`Plugin \"${pluginName}\" must export a plugin object`)\n }\n \n if (!plugin.name || !plugin.version || typeof plugin.install !== 'function') {\n throw new PluginError(`Plugin \"${pluginName}\" must have name, version, and install method`)\n }\n \n return plugin as TachUIPlugin\n } catch (error) {\n throw new PluginError(`Dynamic import failed for \"${pluginName}\": ${error}`)\n }\n }\n\n private recordCacheHit(pluginName: string): void {\n if (this.loadMetrics.has(pluginName)) {\n const metrics = this.loadMetrics.get(pluginName)!\n metrics.cacheHit = true\n }\n\n if (process.env.NODE_ENV === 'development') {\n console.log(`💾 Plugin \"${pluginName}\" served from cache`)\n }\n }\n\n private delay(ms: number): Promise<void> {\n return new Promise(resolve => setTimeout(resolve, ms))\n }\n\n // Performance monitoring methods\n \n isLoading(pluginName: string): boolean {\n return this.loadPromises.has(pluginName) && !this.loadedPlugins.has(pluginName)\n }\n\n isLoaded(pluginName: string): boolean {\n return this.loadedPlugins.has(pluginName)\n }\n\n getLoadMetrics(pluginName: string): LoadMetrics | undefined {\n return this.loadMetrics.get(pluginName)\n }\n\n getAllMetrics(): Array<{ plugin: string; metrics: LoadMetrics }> {\n return Array.from(this.loadMetrics.entries()).map(([plugin, metrics]) => ({\n plugin,\n metrics\n }))\n }\n\n getPerformanceStats() {\n const allMetrics = this.getAllMetrics()\n const successful = allMetrics.filter(m => m.metrics.success)\n const failed = allMetrics.filter(m => !m.metrics.success)\n \n const totalLoadTime = successful.reduce((sum, m) => sum + (m.metrics.duration || 0), 0)\n const avgLoadTime = successful.length > 0 ? totalLoadTime / successful.length : 0\n \n return {\n totalPlugins: allMetrics.length,\n successful: successful.length,\n failed: failed.length,\n cached: this.loadedPlugins.size,\n averageLoadTime: avgLoadTime,\n totalLoadTime,\n cacheHitRate: successful.length > 0 ? \n successful.filter(m => m.metrics.cacheHit).length / successful.length : 0\n }\n }\n\n clearCache(pluginName?: string): void {\n if (pluginName) {\n this.loadPromises.delete(pluginName)\n this.loadedPlugins.delete(pluginName)\n this.loadMetrics.delete(pluginName)\n } else {\n this.loadPromises.clear()\n this.loadedPlugins.clear()\n this.loadMetrics.clear()\n }\n }\n\n // Memory management\n \n unloadPlugin(pluginName: string): void {\n this.loadPromises.delete(pluginName)\n this.loadedPlugins.delete(pluginName)\n \n if (process.env.NODE_ENV === 'development') {\n console.log(`🗑️ Plugin \"${pluginName}\" unloaded from memory`)\n }\n }\n\n getMemoryUsage() {\n return {\n loadedPlugins: this.loadedPlugins.size,\n pendingLoads: this.loadPromises.size,\n metricsEntries: this.loadMetrics.size,\n estimatedMemoryKB: (this.loadedPlugins.size * 5) + (this.loadMetrics.size * 1) // rough estimate\n }\n }\n}\n\n/**\n * Create a lazy plugin loader from a dynamic import function\n */\nexport function createLazyPlugin(\n importFn: () => Promise<{ default: TachUIPlugin } | TachUIPlugin>\n): () => Promise<TachUIPlugin> {\n return async () => {\n try {\n const module = await importFn()\n const plugin = 'default' in module ? module.default : module\n \n if (!plugin || typeof plugin !== 'object') {\n throw new PluginError('Plugin module must export a plugin object')\n }\n \n if (!plugin.name || !plugin.version || typeof plugin.install !== 'function') {\n throw new PluginError('Plugin must have name, version, and install method')\n }\n \n return plugin as TachUIPlugin\n } catch (error) {\n throw new PluginError(`Failed to load plugin: ${error}`)\n }\n }\n}"],"names":["OptimizedLazyPluginLoader","__publicField","pluginName","loadPromise","plugin","error","attempt","metrics","delay","PluginError","module","ms","resolve","allMetrics","successful","m","failed","totalLoadTime","sum","avgLoadTime","createLazyPlugin","importFn"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});var r=Object.defineProperty,a=(i,s,n)=>s in i?r(i,s,{enumerable:!0,configurable:!0,writable:!0,value:n}):i[s]=n,e=(i,s,n)=>a(i,typeof s!="symbol"?s+"":s,n);class t extends Error{constructor(s,n){super(s),this.code=n,this.name="PluginError"}}class o{constructor(s){e(this,"plugins",new Map),e(this,"instance"),this.instance=s}async install(s){this.validatePluginBasics(s),await s.install(this.instance),this.plugins.set(s.name,s),console.log(`✅ Plugin "${s.name}" v${s.version} installed successfully`)}async uninstall(s){const n=this.plugins.get(s);if(!n)throw new t(`Plugin "${s}" is not installed`);this.plugins.delete(s);try{n.uninstall&&await n.uninstall(),console.log(`🗑️ Plugin "${s}" uninstalled successfully`)}catch(l){throw console.log(`🗑️ Plugin "${s}" uninstalled successfully (cleanup failed)`),l}}isInstalled(s){return this.plugins.has(s)}getInstalledPlugins(){return Array.from(this.plugins.keys())}getPlugin(s){return this.plugins.get(s)}getAllPlugins(){return Array.from(this.plugins.values())}validatePluginBasics(s){if(!s.name||typeof s.name!="string")throw new t("Plugin must have a valid name string","INVALID_NAME");if(!s.version||typeof s.version!="string")throw new t("Plugin must have a valid version string","INVALID_VERSION");if(!s.install||typeof s.install!="function")throw new t("Plugin must have an install function","INVALID_INSTALL");this.plugins.has(s.name)&&console.warn(`Plugin "${s.name}" is already installed, overwriting`)}}exports.PluginError=t;exports.SimplifiedPluginManager=o;
|
|
2
|
+
//# sourceMappingURL=simplified-plugin-manager.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"simplified-plugin-manager.cjs","sources":["../../src/plugins/simplified-plugin-manager.ts"],"sourcesContent":["/**\n * Simplified Plugin Manager - Phase 1 Implementation\n * \n * Streamlined plugin management with essential functionality only.\n * Removes over-engineered security, performance monitoring, and complex preloading.\n */\n\nimport type { TachUIInstance, TachUIPlugin } from './simplified-types'\n\nexport class PluginError extends Error {\n constructor(message: string, public code?: string) {\n super(message)\n this.name = 'PluginError'\n }\n}\n\nexport class SimplifiedPluginManager {\n private plugins = new Map<string, TachUIPlugin>()\n private instance: TachUIInstance\n\n constructor(instance: TachUIInstance) {\n this.instance = instance\n }\n\n async install(plugin: TachUIPlugin): Promise<void> {\n // Basic validation only\n this.validatePluginBasics(plugin)\n \n // Install plugin\n await plugin.install(this.instance)\n \n // Register in map\n this.plugins.set(plugin.name, plugin)\n \n console.log(`✅ Plugin \"${plugin.name}\" v${plugin.version} installed successfully`)\n }\n\n async uninstall(pluginName: string): Promise<void> {\n const plugin = this.plugins.get(pluginName)\n if (!plugin) {\n throw new PluginError(`Plugin \"${pluginName}\" is not installed`)\n }\n\n // Always remove the plugin from our registry first\n this.plugins.delete(pluginName)\n \n try {\n if (plugin.uninstall) {\n await plugin.uninstall()\n }\n console.log(`🗑️ Plugin \"${pluginName}\" uninstalled successfully`)\n } catch (error) {\n console.log(`🗑️ Plugin \"${pluginName}\" uninstalled successfully (cleanup failed)`)\n // Re-throw the error so the calling code can handle it\n throw error\n }\n }\n\n isInstalled(pluginName: string): boolean {\n return this.plugins.has(pluginName)\n }\n\n getInstalledPlugins(): string[] {\n return Array.from(this.plugins.keys())\n }\n\n getPlugin(pluginName: string): TachUIPlugin | undefined {\n return this.plugins.get(pluginName)\n }\n\n getAllPlugins(): TachUIPlugin[] {\n return Array.from(this.plugins.values())\n }\n\n private validatePluginBasics(plugin: TachUIPlugin): void {\n if (!plugin.name || typeof plugin.name !== 'string') {\n throw new PluginError('Plugin must have a valid name string', 'INVALID_NAME')\n }\n \n if (!plugin.version || typeof plugin.version !== 'string') {\n throw new PluginError('Plugin must have a valid version string', 'INVALID_VERSION')\n }\n \n if (!plugin.install || typeof plugin.install !== 'function') {\n throw new PluginError('Plugin must have an install function', 'INVALID_INSTALL')\n }\n \n // Check for duplicate installation\n if (this.plugins.has(plugin.name)) {\n console.warn(`Plugin \"${plugin.name}\" is already installed, overwriting`)\n }\n }\n}"],"names":["PluginError","message","code","SimplifiedPluginManager","instance","__publicField","plugin","pluginName","error"],"mappings":"4OASO,MAAMA,UAAoB,KAAM,CACrC,YAAYC,EAAwBC,EAAe,CACjD,MAAMD,CAAO,EADqB,KAAA,KAAAC,EAElC,KAAK,KAAO,aACd,CACF,CAEO,MAAMC,CAAwB,CAInC,YAAYC,EAA0B,CAHtCC,EAAA,KAAQ,cAAc,GAA0B,EAChDA,EAAA,KAAQ,UAAA,EAGN,KAAK,SAAWD,CAClB,CAEA,MAAM,QAAQE,EAAqC,CAEjD,KAAK,qBAAqBA,CAAM,EAGhC,MAAMA,EAAO,QAAQ,KAAK,QAAQ,EAGlC,KAAK,QAAQ,IAAIA,EAAO,KAAMA,CAAM,EAEpC,QAAQ,IAAI,aAAaA,EAAO,IAAI,MAAMA,EAAO,OAAO,yBAAyB,CACnF,CAEA,MAAM,UAAUC,EAAmC,CACjD,MAAMD,EAAS,KAAK,QAAQ,IAAIC,CAAU,EAC1C,GAAI,CAACD,EACH,MAAM,IAAIN,EAAY,WAAWO,CAAU,oBAAoB,EAIjE,KAAK,QAAQ,OAAOA,CAAU,EAE9B,GAAI,CACED,EAAO,WACT,MAAMA,EAAO,UAAA,EAEf,QAAQ,IAAI,eAAeC,CAAU,4BAA4B,CACnE,OAASC,EAAO,CACd,cAAQ,IAAI,eAAeD,CAAU,6CAA6C,EAE5EC,CACR,CACF,CAEA,YAAYD,EAA6B,CACvC,OAAO,KAAK,QAAQ,IAAIA,CAAU,CACpC,CAEA,qBAAgC,CAC9B,OAAO,MAAM,KAAK,KAAK,QAAQ,MAAM,CACvC,CAEA,UAAUA,EAA8C,CACtD,OAAO,KAAK,QAAQ,IAAIA,CAAU,CACpC,CAEA,eAAgC,CAC9B,OAAO,MAAM,KAAK,KAAK,QAAQ,QAAQ,CACzC,CAEQ,qBAAqBD,EAA4B,CACvD,GAAI,CAACA,EAAO,MAAQ,OAAOA,EAAO,MAAS,SACzC,MAAM,IAAIN,EAAY,uCAAwC,cAAc,EAG9E,GAAI,CAACM,EAAO,SAAW,OAAOA,EAAO,SAAY,SAC/C,MAAM,IAAIN,EAAY,0CAA2C,iBAAiB,EAGpF,GAAI,CAACM,EAAO,SAAW,OAAOA,EAAO,SAAY,WAC/C,MAAM,IAAIN,EAAY,uCAAwC,iBAAiB,EAI7E,KAAK,QAAQ,IAAIM,EAAO,IAAI,GAC9B,QAAQ,KAAK,WAAWA,EAAO,IAAI,qCAAqC,CAE5E,CACF"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Simplified Plugin Manager - Phase 1 Implementation
|
|
3
|
+
*
|
|
4
|
+
* Streamlined plugin management with essential functionality only.
|
|
5
|
+
* Removes over-engineered security, performance monitoring, and complex preloading.
|
|
6
|
+
*/
|
|
7
|
+
import type { TachUIInstance, TachUIPlugin } from './simplified-types';
|
|
8
|
+
export declare class PluginError extends Error {
|
|
9
|
+
code?: string | undefined;
|
|
10
|
+
constructor(message: string, code?: string | undefined);
|
|
11
|
+
}
|
|
12
|
+
export declare class SimplifiedPluginManager {
|
|
13
|
+
private plugins;
|
|
14
|
+
private instance;
|
|
15
|
+
constructor(instance: TachUIInstance);
|
|
16
|
+
install(plugin: TachUIPlugin): Promise<void>;
|
|
17
|
+
uninstall(pluginName: string): Promise<void>;
|
|
18
|
+
isInstalled(pluginName: string): boolean;
|
|
19
|
+
getInstalledPlugins(): string[];
|
|
20
|
+
getPlugin(pluginName: string): TachUIPlugin | undefined;
|
|
21
|
+
getAllPlugins(): TachUIPlugin[];
|
|
22
|
+
private validatePluginBasics;
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=simplified-plugin-manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"simplified-plugin-manager.d.ts","sourceRoot":"","sources":["../../src/plugins/simplified-plugin-manager.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAEtE,qBAAa,WAAY,SAAQ,KAAK;IACA,IAAI,CAAC,EAAE,MAAM;gBAArC,OAAO,EAAE,MAAM,EAAS,IAAI,CAAC,EAAE,MAAM,YAAA;CAIlD;AAED,qBAAa,uBAAuB;IAClC,OAAO,CAAC,OAAO,CAAkC;IACjD,OAAO,CAAC,QAAQ,CAAgB;gBAEpB,QAAQ,EAAE,cAAc;IAI9B,OAAO,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAa5C,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAqBlD,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;IAIxC,mBAAmB,IAAI,MAAM,EAAE;IAI/B,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS;IAIvD,aAAa,IAAI,YAAY,EAAE;IAI/B,OAAO,CAAC,oBAAoB;CAkB7B"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
var r = Object.defineProperty, a = (t, s, n) => s in t ? r(t, s, { enumerable: !0, configurable: !0, writable: !0, value: n }) : t[s] = n, e = (t, s, n) => a(t, typeof s != "symbol" ? s + "" : s, n);
|
|
2
|
+
class i extends Error {
|
|
3
|
+
constructor(s, n) {
|
|
4
|
+
super(s), this.code = n, this.name = "PluginError";
|
|
5
|
+
}
|
|
6
|
+
}
|
|
7
|
+
class o {
|
|
8
|
+
constructor(s) {
|
|
9
|
+
e(this, "plugins", /* @__PURE__ */ new Map()), e(this, "instance"), this.instance = s;
|
|
10
|
+
}
|
|
11
|
+
async install(s) {
|
|
12
|
+
this.validatePluginBasics(s), await s.install(this.instance), this.plugins.set(s.name, s), console.log(`✅ Plugin "${s.name}" v${s.version} installed successfully`);
|
|
13
|
+
}
|
|
14
|
+
async uninstall(s) {
|
|
15
|
+
const n = this.plugins.get(s);
|
|
16
|
+
if (!n)
|
|
17
|
+
throw new i(`Plugin "${s}" is not installed`);
|
|
18
|
+
this.plugins.delete(s);
|
|
19
|
+
try {
|
|
20
|
+
n.uninstall && await n.uninstall(), console.log(`🗑️ Plugin "${s}" uninstalled successfully`);
|
|
21
|
+
} catch (l) {
|
|
22
|
+
throw console.log(`🗑️ Plugin "${s}" uninstalled successfully (cleanup failed)`), l;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
isInstalled(s) {
|
|
26
|
+
return this.plugins.has(s);
|
|
27
|
+
}
|
|
28
|
+
getInstalledPlugins() {
|
|
29
|
+
return Array.from(this.plugins.keys());
|
|
30
|
+
}
|
|
31
|
+
getPlugin(s) {
|
|
32
|
+
return this.plugins.get(s);
|
|
33
|
+
}
|
|
34
|
+
getAllPlugins() {
|
|
35
|
+
return Array.from(this.plugins.values());
|
|
36
|
+
}
|
|
37
|
+
validatePluginBasics(s) {
|
|
38
|
+
if (!s.name || typeof s.name != "string")
|
|
39
|
+
throw new i("Plugin must have a valid name string", "INVALID_NAME");
|
|
40
|
+
if (!s.version || typeof s.version != "string")
|
|
41
|
+
throw new i("Plugin must have a valid version string", "INVALID_VERSION");
|
|
42
|
+
if (!s.install || typeof s.install != "function")
|
|
43
|
+
throw new i("Plugin must have an install function", "INVALID_INSTALL");
|
|
44
|
+
this.plugins.has(s.name) && console.warn(`Plugin "${s.name}" is already installed, overwriting`);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
export {
|
|
48
|
+
i as PluginError,
|
|
49
|
+
o as SimplifiedPluginManager
|
|
50
|
+
};
|
|
51
|
+
//# sourceMappingURL=simplified-plugin-manager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"simplified-plugin-manager.js","sources":["../../src/plugins/simplified-plugin-manager.ts"],"sourcesContent":["/**\n * Simplified Plugin Manager - Phase 1 Implementation\n * \n * Streamlined plugin management with essential functionality only.\n * Removes over-engineered security, performance monitoring, and complex preloading.\n */\n\nimport type { TachUIInstance, TachUIPlugin } from './simplified-types'\n\nexport class PluginError extends Error {\n constructor(message: string, public code?: string) {\n super(message)\n this.name = 'PluginError'\n }\n}\n\nexport class SimplifiedPluginManager {\n private plugins = new Map<string, TachUIPlugin>()\n private instance: TachUIInstance\n\n constructor(instance: TachUIInstance) {\n this.instance = instance\n }\n\n async install(plugin: TachUIPlugin): Promise<void> {\n // Basic validation only\n this.validatePluginBasics(plugin)\n \n // Install plugin\n await plugin.install(this.instance)\n \n // Register in map\n this.plugins.set(plugin.name, plugin)\n \n console.log(`✅ Plugin \"${plugin.name}\" v${plugin.version} installed successfully`)\n }\n\n async uninstall(pluginName: string): Promise<void> {\n const plugin = this.plugins.get(pluginName)\n if (!plugin) {\n throw new PluginError(`Plugin \"${pluginName}\" is not installed`)\n }\n\n // Always remove the plugin from our registry first\n this.plugins.delete(pluginName)\n \n try {\n if (plugin.uninstall) {\n await plugin.uninstall()\n }\n console.log(`🗑️ Plugin \"${pluginName}\" uninstalled successfully`)\n } catch (error) {\n console.log(`🗑️ Plugin \"${pluginName}\" uninstalled successfully (cleanup failed)`)\n // Re-throw the error so the calling code can handle it\n throw error\n }\n }\n\n isInstalled(pluginName: string): boolean {\n return this.plugins.has(pluginName)\n }\n\n getInstalledPlugins(): string[] {\n return Array.from(this.plugins.keys())\n }\n\n getPlugin(pluginName: string): TachUIPlugin | undefined {\n return this.plugins.get(pluginName)\n }\n\n getAllPlugins(): TachUIPlugin[] {\n return Array.from(this.plugins.values())\n }\n\n private validatePluginBasics(plugin: TachUIPlugin): void {\n if (!plugin.name || typeof plugin.name !== 'string') {\n throw new PluginError('Plugin must have a valid name string', 'INVALID_NAME')\n }\n \n if (!plugin.version || typeof plugin.version !== 'string') {\n throw new PluginError('Plugin must have a valid version string', 'INVALID_VERSION')\n }\n \n if (!plugin.install || typeof plugin.install !== 'function') {\n throw new PluginError('Plugin must have an install function', 'INVALID_INSTALL')\n }\n \n // Check for duplicate installation\n if (this.plugins.has(plugin.name)) {\n console.warn(`Plugin \"${plugin.name}\" is already installed, overwriting`)\n }\n }\n}"],"names":["PluginError","message","code","SimplifiedPluginManager","instance","__publicField","plugin","pluginName","error"],"mappings":";AASO,MAAMA,UAAoB,MAAM;AAAA,EACrC,YAAYC,GAAwBC,GAAe;AACjD,UAAMD,CAAO,GADqB,KAAA,OAAAC,GAElC,KAAK,OAAO;AAAA,EACd;AACF;AAEO,MAAMC,EAAwB;AAAA,EAInC,YAAYC,GAA0B;AAHtC,IAAAC,EAAA,MAAQ,+BAAc,IAAA,CAA0B,GAChDA,EAAA,MAAQ,UAAA,GAGN,KAAK,WAAWD;AAAA,EAClB;AAAA,EAEA,MAAM,QAAQE,GAAqC;AAEjD,SAAK,qBAAqBA,CAAM,GAGhC,MAAMA,EAAO,QAAQ,KAAK,QAAQ,GAGlC,KAAK,QAAQ,IAAIA,EAAO,MAAMA,CAAM,GAEpC,QAAQ,IAAI,aAAaA,EAAO,IAAI,MAAMA,EAAO,OAAO,yBAAyB;AAAA,EACnF;AAAA,EAEA,MAAM,UAAUC,GAAmC;AACjD,UAAMD,IAAS,KAAK,QAAQ,IAAIC,CAAU;AAC1C,QAAI,CAACD;AACH,YAAM,IAAIN,EAAY,WAAWO,CAAU,oBAAoB;AAIjE,SAAK,QAAQ,OAAOA,CAAU;AAE9B,QAAI;AACF,MAAID,EAAO,aACT,MAAMA,EAAO,UAAA,GAEf,QAAQ,IAAI,eAAeC,CAAU,4BAA4B;AAAA,IACnE,SAASC,GAAO;AACd,oBAAQ,IAAI,eAAeD,CAAU,6CAA6C,GAE5EC;AAAA,IACR;AAAA,EACF;AAAA,EAEA,YAAYD,GAA6B;AACvC,WAAO,KAAK,QAAQ,IAAIA,CAAU;AAAA,EACpC;AAAA,EAEA,sBAAgC;AAC9B,WAAO,MAAM,KAAK,KAAK,QAAQ,MAAM;AAAA,EACvC;AAAA,EAEA,UAAUA,GAA8C;AACtD,WAAO,KAAK,QAAQ,IAAIA,CAAU;AAAA,EACpC;AAAA,EAEA,gBAAgC;AAC9B,WAAO,MAAM,KAAK,KAAK,QAAQ,QAAQ;AAAA,EACzC;AAAA,EAEQ,qBAAqBD,GAA4B;AACvD,QAAI,CAACA,EAAO,QAAQ,OAAOA,EAAO,QAAS;AACzC,YAAM,IAAIN,EAAY,wCAAwC,cAAc;AAG9E,QAAI,CAACM,EAAO,WAAW,OAAOA,EAAO,WAAY;AAC/C,YAAM,IAAIN,EAAY,2CAA2C,iBAAiB;AAGpF,QAAI,CAACM,EAAO,WAAW,OAAOA,EAAO,WAAY;AAC/C,YAAM,IAAIN,EAAY,wCAAwC,iBAAiB;AAIjF,IAAI,KAAK,QAAQ,IAAIM,EAAO,IAAI,KAC9B,QAAQ,KAAK,WAAWA,EAAO,IAAI,qCAAqC;AAAA,EAE5E;AACF;"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const g=require("./simplified-plugin-manager.cjs"),c=require("./simplified-component-registry.cjs");var a=Object.defineProperty,o=(s,e,i)=>e in s?a(s,e,{enumerable:!0,configurable:!0,writable:!0,value:i}):s[e]=i,n=(s,e,i)=>o(s,typeof e!="symbol"?e+"":e,i);class l{constructor(){n(this,"plugins"),n(this,"components"),n(this,"services"),n(this,"currentInstallingPlugin",null),this.components=new c.SimplifiedComponentRegistry,this.services=new Map,this.plugins=new g.SimplifiedPluginManager(this)}registerComponent(e,i,t){this.components.register({name:e,component:i,category:t?.category,tags:t?.tags,plugin:this.currentInstallingPlugin||void 0})}registerService(e,i){this.services.has(e)&&!this.services.get(e)&&console.warn(`Service "${e}" already registered, overwriting`),this.services.set(e,i),console.log(`⚙️ Service "${e}" registered`)}getService(e){return this.services.get(e)}hasService(e){return this.services.has(e)}unregisterService(e){const i=this.services.has(e);return this.services.delete(e),i&&console.log(`🗑️ Service "${e}" unregistered`),i}async installPlugin(e){this.currentInstallingPlugin=e.name;try{await this.plugins.install(e)}finally{this.currentInstallingPlugin=null}}async uninstallPlugin(e){this.components.unregisterByPlugin(e),await this.plugins.uninstall(e)}isPluginInstalled(e){return this.plugins.isInstalled(e)}getInstalledPlugins(){return this.plugins.getInstalledPlugins()}getStats(){return{plugins:{installed:this.plugins.getInstalledPlugins().length,list:this.plugins.getInstalledPlugins()},components:this.components.getStats(),services:{registered:this.services.size,list:Array.from(this.services.keys())}}}async reset(){const e=this.getInstalledPlugins();for(const i of e)try{await this.uninstallPlugin(i)}catch(t){console.error(`Failed to uninstall plugin "${i}":`,t)}this.components.clear(),this.services.clear(),console.log("🔄 TachUI instance reset completed")}}const r=new l;function u(s){return r.installPlugin(s)}function h(s,e,i){return r.registerComponent(s,e,i)}function p(s,e){return r.registerService(s,e)}exports.SimplifiedTachUIInstance=l;exports.globalTachUIInstance=r;exports.installPlugin=u;exports.registerComponent=h;exports.registerService=p;
|
|
2
|
+
//# sourceMappingURL=simplified-tachui-instance.cjs.map
|