@tachui/core 0.7.0-alpha1 → 0.7.1-alpha
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/README.md +195 -0
- package/dist/ScrollView-h-6wYMAm.js +515 -0
- package/dist/Spacer-BbteDQ9I.js +5337 -0
- package/dist/binding-CmdpowkI.js +2276 -0
- package/dist/bundles/minimal.d.ts +30 -4
- package/dist/bundles/minimal.d.ts.map +1 -1
- package/dist/common.js +825 -954
- package/dist/compiler/index.js +1386 -10
- package/dist/components/index.js +4166 -101
- package/dist/concatenated-component-DPcl2TEO.js +6779 -0
- package/dist/{runtime/context.js → context--zQFIImS.js} +65 -71
- package/dist/debug.js +0 -1
- package/dist/dom-bridge-Cx-s6Ihx.js +406 -0
- package/dist/effect-CytAc9em.js +66 -0
- package/dist/essential.js +825 -954
- package/dist/index-Nfi2SBQh.js +3268 -0
- package/dist/index.js +825 -954
- package/dist/minimal-prod.js +162 -191
- package/dist/minimal.js +183 -957
- package/dist/modifiers/responsive/index.d.ts +10 -9
- package/dist/modifiers/responsive/index.d.ts.map +1 -1
- package/dist/plugins/index.js +543 -32
- package/dist/reactive/index.js +490 -93
- package/dist/runtime/dom-bridge.js +12 -239
- package/dist/runtime/renderer.js +8 -388
- package/dist/scheduler-7SvC3a21.js +814 -0
- package/dist/validation/index.js +6614 -198
- package/dist/viewport/index.js +2002 -83
- package/package.json +3 -4
- package/dist/assets/Asset.cjs +0 -2
- package/dist/assets/Asset.cjs.map +0 -1
- package/dist/assets/Asset.js +0 -9
- package/dist/assets/Asset.js.map +0 -1
- package/dist/assets/AssetCollection.cjs +0 -2
- package/dist/assets/AssetCollection.cjs.map +0 -1
- package/dist/assets/AssetCollection.js +0 -44
- package/dist/assets/AssetCollection.js.map +0 -1
- package/dist/assets/ColorAsset.cjs +0 -2
- package/dist/assets/ColorAsset.cjs.map +0 -1
- package/dist/assets/ColorAsset.js +0 -114
- package/dist/assets/ColorAsset.js.map +0 -1
- package/dist/assets/FontAsset.cjs +0 -9
- package/dist/assets/FontAsset.cjs.map +0 -1
- package/dist/assets/FontAsset.js +0 -173
- package/dist/assets/FontAsset.js.map +0 -1
- package/dist/assets/ImageAsset.cjs +0 -2
- package/dist/assets/ImageAsset.cjs.map +0 -1
- package/dist/assets/ImageAsset.js +0 -39
- package/dist/assets/ImageAsset.js.map +0 -1
- package/dist/assets/index.cjs +0 -2
- package/dist/assets/index.cjs.map +0 -1
- package/dist/assets/index.js +0 -119
- package/dist/assets/index.js.map +0 -1
- package/dist/common.cjs +0 -2
- package/dist/common.cjs.map +0 -1
- package/dist/common.js.map +0 -1
- package/dist/compiler/advanced-parser.cjs +0 -5
- package/dist/compiler/advanced-parser.cjs.map +0 -1
- package/dist/compiler/advanced-parser.js +0 -440
- package/dist/compiler/advanced-parser.js.map +0 -1
- package/dist/compiler/codegen.cjs +0 -6
- package/dist/compiler/codegen.cjs.map +0 -1
- package/dist/compiler/codegen.js +0 -241
- package/dist/compiler/codegen.js.map +0 -1
- package/dist/compiler/enhanced-codegen.cjs +0 -6
- package/dist/compiler/enhanced-codegen.cjs.map +0 -1
- package/dist/compiler/enhanced-codegen.js +0 -347
- package/dist/compiler/enhanced-codegen.js.map +0 -1
- package/dist/compiler/index.cjs +0 -2
- package/dist/compiler/index.cjs.map +0 -1
- package/dist/compiler/index.js.map +0 -1
- package/dist/compiler/parser.cjs +0 -5
- package/dist/compiler/parser.cjs.map +0 -1
- package/dist/compiler/parser.js +0 -275
- package/dist/compiler/parser.js.map +0 -1
- package/dist/compiler/plugin.cjs +0 -33
- package/dist/compiler/plugin.cjs.map +0 -1
- package/dist/compiler/plugin.js +0 -103
- package/dist/compiler/plugin.js.map +0 -1
- package/dist/components/BasicInput.cjs +0 -2
- package/dist/components/BasicInput.cjs.map +0 -1
- package/dist/components/BasicInput.js +0 -182
- package/dist/components/BasicInput.js.map +0 -1
- package/dist/components/Button.cjs +0 -7
- package/dist/components/Button.cjs.map +0 -1
- package/dist/components/Button.js +0 -408
- package/dist/components/Button.js.map +0 -1
- package/dist/components/Divider.cjs +0 -2
- package/dist/components/Divider.cjs.map +0 -1
- package/dist/components/Divider.js +0 -187
- package/dist/components/Divider.js.map +0 -1
- package/dist/components/EnhancedLink.cjs +0 -2
- package/dist/components/EnhancedLink.cjs.map +0 -1
- package/dist/components/EnhancedLink.js +0 -345
- package/dist/components/EnhancedLink.js.map +0 -1
- package/dist/components/Form.cjs +0 -2
- package/dist/components/Form.cjs.map +0 -1
- package/dist/components/Form.js +0 -244
- package/dist/components/Form.js.map +0 -1
- package/dist/components/Grid.cjs +0 -2
- package/dist/components/Grid.cjs.map +0 -1
- package/dist/components/Grid.js +0 -1045
- package/dist/components/Grid.js.map +0 -1
- package/dist/components/GridResponsive.cjs +0 -2
- package/dist/components/GridResponsive.cjs.map +0 -1
- package/dist/components/GridResponsive.js +0 -382
- package/dist/components/GridResponsive.js.map +0 -1
- package/dist/components/Image.cjs +0 -2
- package/dist/components/Image.cjs.map +0 -1
- package/dist/components/Image.js +0 -212
- package/dist/components/Image.js.map +0 -1
- package/dist/components/List.cjs +0 -2
- package/dist/components/List.cjs.map +0 -1
- package/dist/components/List.js +0 -561
- package/dist/components/List.js.map +0 -1
- package/dist/components/Menu.cjs +0 -2
- package/dist/components/Menu.cjs.map +0 -1
- package/dist/components/Menu.js +0 -443
- package/dist/components/Menu.js.map +0 -1
- package/dist/components/Picker.cjs +0 -2
- package/dist/components/Picker.cjs.map +0 -1
- package/dist/components/Picker.js +0 -478
- package/dist/components/Picker.js.map +0 -1
- package/dist/components/ScrollView.cjs +0 -6
- package/dist/components/ScrollView.cjs.map +0 -1
- package/dist/components/ScrollView.js +0 -363
- package/dist/components/ScrollView.js.map +0 -1
- package/dist/components/Section.cjs +0 -2
- package/dist/components/Section.cjs.map +0 -1
- package/dist/components/Section.js +0 -323
- package/dist/components/Section.js.map +0 -1
- package/dist/components/Show.cjs +0 -2
- package/dist/components/Show.cjs.map +0 -1
- package/dist/components/Show.js +0 -112
- package/dist/components/Show.js.map +0 -1
- package/dist/components/Spacer.cjs +0 -2
- package/dist/components/Spacer.cjs.map +0 -1
- package/dist/components/Spacer.js +0 -53
- package/dist/components/Spacer.js.map +0 -1
- package/dist/components/Text.cjs +0 -2
- package/dist/components/Text.cjs.map +0 -1
- package/dist/components/Text.js +0 -193
- package/dist/components/Text.js.map +0 -1
- package/dist/components/Toggle.cjs +0 -2
- package/dist/components/Toggle.cjs.map +0 -1
- package/dist/components/Toggle.js +0 -477
- package/dist/components/Toggle.js.map +0 -1
- package/dist/components/index.cjs +0 -2
- package/dist/components/index.cjs.map +0 -1
- package/dist/components/index.js.map +0 -1
- package/dist/components/wrapper.cjs +0 -2
- package/dist/components/wrapper.cjs.map +0 -1
- package/dist/components/wrapper.js +0 -484
- package/dist/components/wrapper.js.map +0 -1
- package/dist/concatenation/concatenatable.cjs +0 -2
- package/dist/concatenation/concatenatable.cjs.map +0 -1
- package/dist/concatenation/concatenatable.js +0 -118
- package/dist/concatenation/concatenatable.js.map +0 -1
- package/dist/concatenation/concatenated-component.cjs +0 -2
- package/dist/concatenation/concatenated-component.cjs.map +0 -1
- package/dist/concatenation/concatenated-component.js +0 -276
- package/dist/concatenation/concatenated-component.js.map +0 -1
- package/dist/concatenation/text-optimizer.cjs +0 -2
- package/dist/concatenation/text-optimizer.cjs.map +0 -1
- package/dist/concatenation/text-optimizer.js +0 -236
- package/dist/concatenation/text-optimizer.js.map +0 -1
- package/dist/concatenation/types.cjs +0 -2
- package/dist/concatenation/types.cjs.map +0 -1
- package/dist/concatenation/types.js +0 -13
- package/dist/concatenation/types.js.map +0 -1
- package/dist/constants/frame-utils.cjs +0 -2
- package/dist/constants/frame-utils.cjs.map +0 -1
- package/dist/constants/frame-utils.js +0 -116
- package/dist/constants/frame-utils.js.map +0 -1
- package/dist/constants/layout.cjs +0 -2
- package/dist/constants/layout.cjs.map +0 -1
- package/dist/constants/layout.js +0 -46
- package/dist/constants/layout.js.map +0 -1
- package/dist/css-classes/component-base.cjs +0 -2
- package/dist/css-classes/component-base.cjs.map +0 -1
- package/dist/css-classes/component-base.js +0 -62
- package/dist/css-classes/component-base.js.map +0 -1
- package/dist/css-classes/css-class-manager.cjs +0 -2
- package/dist/css-classes/css-class-manager.cjs.map +0 -1
- package/dist/css-classes/css-class-manager.js +0 -209
- package/dist/css-classes/css-class-manager.js.map +0 -1
- package/dist/css-classes/dom-integration.cjs +0 -2
- package/dist/css-classes/dom-integration.cjs.map +0 -1
- package/dist/css-classes/dom-integration.js +0 -67
- package/dist/css-classes/dom-integration.js.map +0 -1
- package/dist/css-classes/enhanced-renderer.cjs +0 -2
- package/dist/css-classes/enhanced-renderer.cjs.map +0 -1
- package/dist/css-classes/enhanced-renderer.js +0 -73
- package/dist/css-classes/enhanced-renderer.js.map +0 -1
- package/dist/css-classes/utilities.cjs +0 -2
- package/dist/css-classes/utilities.cjs.map +0 -1
- package/dist/css-classes/utilities.js +0 -41
- package/dist/css-classes/utilities.js.map +0 -1
- package/dist/debug.cjs +0 -52
- package/dist/debug.cjs.map +0 -1
- package/dist/debug.js.map +0 -1
- package/dist/essential.cjs +0 -2
- package/dist/essential.cjs.map +0 -1
- package/dist/essential.js.map +0 -1
- package/dist/gradients/css-generator.cjs +0 -2
- package/dist/gradients/css-generator.cjs.map +0 -1
- package/dist/gradients/css-generator.js +0 -100
- package/dist/gradients/css-generator.js.map +0 -1
- package/dist/gradients/examples.cjs +0 -2
- package/dist/gradients/examples.cjs.map +0 -1
- package/dist/gradients/examples.js +0 -555
- package/dist/gradients/examples.js.map +0 -1
- package/dist/gradients/gradient-asset.cjs +0 -2
- package/dist/gradients/gradient-asset.cjs.map +0 -1
- package/dist/gradients/gradient-asset.js +0 -22
- package/dist/gradients/gradient-asset.js.map +0 -1
- package/dist/gradients/index.cjs +0 -2
- package/dist/gradients/index.cjs.map +0 -1
- package/dist/gradients/index.js +0 -78
- package/dist/gradients/index.js.map +0 -1
- package/dist/gradients/performance.cjs +0 -2
- package/dist/gradients/performance.cjs.map +0 -1
- package/dist/gradients/performance.js +0 -237
- package/dist/gradients/performance.js.map +0 -1
- package/dist/gradients/presets.cjs +0 -2
- package/dist/gradients/presets.cjs.map +0 -1
- package/dist/gradients/presets.js +0 -254
- package/dist/gradients/presets.js.map +0 -1
- package/dist/gradients/reactive.cjs +0 -2
- package/dist/gradients/reactive.cjs.map +0 -1
- package/dist/gradients/reactive.js +0 -239
- package/dist/gradients/reactive.js.map +0 -1
- package/dist/gradients/state-gradient-asset.cjs +0 -2
- package/dist/gradients/state-gradient-asset.cjs.map +0 -1
- package/dist/gradients/state-gradient-asset.js +0 -111
- package/dist/gradients/state-gradient-asset.js.map +0 -1
- package/dist/gradients/utils.cjs +0 -2
- package/dist/gradients/utils.cjs.map +0 -1
- package/dist/gradients/utils.js +0 -385
- package/dist/gradients/utils.js.map +0 -1
- package/dist/gradients/validation.cjs +0 -2
- package/dist/gradients/validation.cjs.map +0 -1
- package/dist/gradients/validation.js +0 -209
- package/dist/gradients/validation.js.map +0 -1
- package/dist/index.cjs +0 -2
- package/dist/index.cjs.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/index2.cjs +0 -2
- package/dist/index2.cjs.map +0 -1
- package/dist/index2.js +0 -293
- package/dist/index2.js.map +0 -1
- package/dist/lifecycle/hooks.cjs +0 -2
- package/dist/lifecycle/hooks.cjs.map +0 -1
- package/dist/lifecycle/hooks.js +0 -159
- package/dist/lifecycle/hooks.js.map +0 -1
- package/dist/minimal-prod.cjs +0 -2
- package/dist/minimal-prod.cjs.map +0 -1
- package/dist/minimal-prod.js.map +0 -1
- package/dist/minimal.cjs +0 -2
- package/dist/minimal.cjs.map +0 -1
- package/dist/minimal.js.map +0 -1
- package/dist/modifiers/as-html-validator.cjs +0 -2
- package/dist/modifiers/as-html-validator.cjs.map +0 -1
- package/dist/modifiers/as-html-validator.js +0 -47
- package/dist/modifiers/as-html-validator.js.map +0 -1
- package/dist/modifiers/as-html.cjs +0 -2
- package/dist/modifiers/as-html.cjs.map +0 -1
- package/dist/modifiers/as-html.js +0 -71
- package/dist/modifiers/as-html.js.map +0 -1
- package/dist/modifiers/attributes.cjs +0 -2
- package/dist/modifiers/attributes.cjs.map +0 -1
- package/dist/modifiers/attributes.js +0 -272
- package/dist/modifiers/attributes.js.map +0 -1
- package/dist/modifiers/backdrop.cjs +0 -2
- package/dist/modifiers/backdrop.cjs.map +0 -1
- package/dist/modifiers/backdrop.js +0 -109
- package/dist/modifiers/backdrop.js.map +0 -1
- package/dist/modifiers/background.cjs +0 -2
- package/dist/modifiers/background.cjs.map +0 -1
- package/dist/modifiers/background.js +0 -67
- package/dist/modifiers/background.js.map +0 -1
- package/dist/modifiers/base.cjs +0 -25
- package/dist/modifiers/base.cjs.map +0 -1
- package/dist/modifiers/base.js +0 -745
- package/dist/modifiers/base.js.map +0 -1
- package/dist/modifiers/basic-sanitizer.cjs +0 -2
- package/dist/modifiers/basic-sanitizer.cjs.map +0 -1
- package/dist/modifiers/basic-sanitizer.js +0 -162
- package/dist/modifiers/basic-sanitizer.js.map +0 -1
- package/dist/modifiers/border.cjs +0 -2
- package/dist/modifiers/border.cjs.map +0 -1
- package/dist/modifiers/border.js +0 -160
- package/dist/modifiers/border.js.map +0 -1
- package/dist/modifiers/builder.cjs +0 -2
- package/dist/modifiers/builder.cjs.map +0 -1
- package/dist/modifiers/builder.js +0 -930
- package/dist/modifiers/builder.js.map +0 -1
- package/dist/modifiers/core.cjs +0 -2
- package/dist/modifiers/core.cjs.map +0 -1
- package/dist/modifiers/core.js +0 -398
- package/dist/modifiers/core.js.map +0 -1
- package/dist/modifiers/css.cjs +0 -2
- package/dist/modifiers/css.cjs.map +0 -1
- package/dist/modifiers/css.js +0 -50
- package/dist/modifiers/css.js.map +0 -1
- package/dist/modifiers/effects.cjs +0 -2
- package/dist/modifiers/effects.cjs.map +0 -1
- package/dist/modifiers/effects.js +0 -178
- package/dist/modifiers/effects.js.map +0 -1
- package/dist/modifiers/elements.cjs +0 -2
- package/dist/modifiers/elements.cjs.map +0 -1
- package/dist/modifiers/elements.js +0 -216
- package/dist/modifiers/elements.js.map +0 -1
- package/dist/modifiers/filters.cjs +0 -2
- package/dist/modifiers/filters.cjs.map +0 -1
- package/dist/modifiers/filters.js +0 -223
- package/dist/modifiers/filters.js.map +0 -1
- package/dist/modifiers/flexbox.cjs +0 -2
- package/dist/modifiers/flexbox.cjs.map +0 -1
- package/dist/modifiers/flexbox.js +0 -56
- package/dist/modifiers/flexbox.js.map +0 -1
- package/dist/modifiers/font.cjs +0 -2
- package/dist/modifiers/font.cjs.map +0 -1
- package/dist/modifiers/font.js +0 -60
- package/dist/modifiers/font.js.map +0 -1
- package/dist/modifiers/grid.cjs +0 -2
- package/dist/modifiers/grid.cjs.map +0 -1
- package/dist/modifiers/grid.js +0 -92
- package/dist/modifiers/grid.js.map +0 -1
- package/dist/modifiers/margin.cjs +0 -2
- package/dist/modifiers/margin.cjs.map +0 -1
- package/dist/modifiers/margin.js +0 -65
- package/dist/modifiers/margin.js.map +0 -1
- package/dist/modifiers/padding.cjs +0 -2
- package/dist/modifiers/padding.cjs.map +0 -1
- package/dist/modifiers/padding.js +0 -109
- package/dist/modifiers/padding.js.map +0 -1
- package/dist/modifiers/registry.cjs +0 -2
- package/dist/modifiers/registry.cjs.map +0 -1
- package/dist/modifiers/registry.js +0 -163
- package/dist/modifiers/registry.js.map +0 -1
- package/dist/modifiers/responsive/advanced-utilities.cjs +0 -2
- package/dist/modifiers/responsive/advanced-utilities.cjs.map +0 -1
- package/dist/modifiers/responsive/advanced-utilities.js +0 -291
- package/dist/modifiers/responsive/advanced-utilities.js.map +0 -1
- package/dist/modifiers/responsive/breakpoints.cjs +0 -2
- package/dist/modifiers/responsive/breakpoints.cjs.map +0 -1
- package/dist/modifiers/responsive/breakpoints.js +0 -168
- package/dist/modifiers/responsive/breakpoints.js.map +0 -1
- package/dist/modifiers/responsive/css-generator.cjs +0 -5
- package/dist/modifiers/responsive/css-generator.cjs.map +0 -1
- package/dist/modifiers/responsive/css-generator.js +0 -261
- package/dist/modifiers/responsive/css-generator.js.map +0 -1
- package/dist/modifiers/responsive/dev-tools.cjs +0 -77
- package/dist/modifiers/responsive/dev-tools.cjs.map +0 -1
- package/dist/modifiers/responsive/dev-tools.js +0 -380
- package/dist/modifiers/responsive/dev-tools.js.map +0 -1
- package/dist/modifiers/responsive/layout-patterns.cjs +0 -2
- package/dist/modifiers/responsive/layout-patterns.cjs.map +0 -1
- package/dist/modifiers/responsive/layout-patterns.js +0 -254
- package/dist/modifiers/responsive/layout-patterns.js.map +0 -1
- package/dist/modifiers/responsive/performance.cjs +0 -3
- package/dist/modifiers/responsive/performance.cjs.map +0 -1
- package/dist/modifiers/responsive/performance.js +0 -212
- package/dist/modifiers/responsive/performance.js.map +0 -1
- package/dist/modifiers/responsive/responsive-builder.cjs +0 -2
- package/dist/modifiers/responsive/responsive-builder.cjs.map +0 -1
- package/dist/modifiers/responsive/responsive-builder.js +0 -272
- package/dist/modifiers/responsive/responsive-builder.js.map +0 -1
- package/dist/modifiers/responsive/responsive-modifier.cjs +0 -3
- package/dist/modifiers/responsive/responsive-modifier.cjs.map +0 -1
- package/dist/modifiers/responsive/responsive-modifier.js +0 -204
- package/dist/modifiers/responsive/responsive-modifier.js.map +0 -1
- package/dist/modifiers/responsive/types.cjs +0 -2
- package/dist/modifiers/responsive/types.cjs.map +0 -1
- package/dist/modifiers/responsive/types.js +0 -26
- package/dist/modifiers/responsive/types.js.map +0 -1
- package/dist/modifiers/responsive/utilities.cjs +0 -16
- package/dist/modifiers/responsive/utilities.cjs.map +0 -1
- package/dist/modifiers/responsive/utilities.js +0 -273
- package/dist/modifiers/responsive/utilities.js.map +0 -1
- package/dist/modifiers/scroll.cjs +0 -2
- package/dist/modifiers/scroll.cjs.map +0 -1
- package/dist/modifiers/scroll.js +0 -82
- package/dist/modifiers/scroll.js.map +0 -1
- package/dist/modifiers/shadows.cjs +0 -2
- package/dist/modifiers/shadows.cjs.map +0 -1
- package/dist/modifiers/shadows.js +0 -147
- package/dist/modifiers/shadows.js.map +0 -1
- package/dist/modifiers/size.cjs +0 -2
- package/dist/modifiers/size.cjs.map +0 -1
- package/dist/modifiers/size.js +0 -74
- package/dist/modifiers/size.js.map +0 -1
- package/dist/modifiers/text.cjs +0 -2
- package/dist/modifiers/text.cjs.map +0 -1
- package/dist/modifiers/text.js +0 -166
- package/dist/modifiers/text.js.map +0 -1
- package/dist/modifiers/transformations.cjs +0 -2
- package/dist/modifiers/transformations.cjs.map +0 -1
- package/dist/modifiers/transformations.js +0 -216
- package/dist/modifiers/transformations.js.map +0 -1
- package/dist/modifiers/transitions.cjs +0 -2
- package/dist/modifiers/transitions.cjs.map +0 -1
- package/dist/modifiers/transitions.js +0 -102
- package/dist/modifiers/transitions.js.map +0 -1
- package/dist/modifiers/types.cjs +0 -2
- package/dist/modifiers/types.cjs.map +0 -1
- package/dist/modifiers/types.js +0 -5
- package/dist/modifiers/types.js.map +0 -1
- package/dist/modifiers/typography.cjs +0 -2
- package/dist/modifiers/typography.cjs.map +0 -1
- package/dist/modifiers/typography.js +0 -76
- package/dist/modifiers/typography.js.map +0 -1
- package/dist/modifiers/utility.cjs +0 -2
- package/dist/modifiers/utility.cjs.map +0 -1
- package/dist/modifiers/utility.js +0 -71
- package/dist/modifiers/utility.js.map +0 -1
- package/dist/modifiers/utils.cjs +0 -2
- package/dist/modifiers/utils.cjs.map +0 -1
- package/dist/modifiers/utils.js +0 -250
- package/dist/modifiers/utils.js.map +0 -1
- package/dist/plugins/index.cjs +0 -2
- package/dist/plugins/index.cjs.map +0 -1
- package/dist/plugins/index.js.map +0 -1
- package/dist/plugins/legacy-adapter.cjs +0 -2
- package/dist/plugins/legacy-adapter.cjs.map +0 -1
- package/dist/plugins/legacy-adapter.js +0 -30
- package/dist/plugins/legacy-adapter.js.map +0 -1
- package/dist/plugins/simplified-component-registry.cjs +0 -2
- package/dist/plugins/simplified-component-registry.cjs.map +0 -1
- package/dist/plugins/simplified-component-registry.js +0 -71
- package/dist/plugins/simplified-component-registry.js.map +0 -1
- package/dist/plugins/simplified-error-handler.cjs +0 -2
- package/dist/plugins/simplified-error-handler.cjs.map +0 -1
- package/dist/plugins/simplified-error-handler.js +0 -154
- package/dist/plugins/simplified-error-handler.js.map +0 -1
- package/dist/plugins/simplified-lazy-loader.cjs +0 -2
- package/dist/plugins/simplified-lazy-loader.cjs.map +0 -1
- package/dist/plugins/simplified-lazy-loader.js +0 -129
- package/dist/plugins/simplified-lazy-loader.js.map +0 -1
- package/dist/plugins/simplified-plugin-manager.cjs +0 -2
- package/dist/plugins/simplified-plugin-manager.cjs.map +0 -1
- package/dist/plugins/simplified-plugin-manager.js +0 -51
- package/dist/plugins/simplified-plugin-manager.js.map +0 -1
- package/dist/plugins/simplified-tachui-instance.cjs +0 -2
- package/dist/plugins/simplified-tachui-instance.cjs.map +0 -1
- package/dist/plugins/simplified-tachui-instance.js +0 -88
- package/dist/plugins/simplified-tachui-instance.js.map +0 -1
- package/dist/plugins/simplified-types.cjs +0 -2
- package/dist/plugins/simplified-types.cjs.map +0 -1
- package/dist/plugins/simplified-types.js +0 -9
- package/dist/plugins/simplified-types.js.map +0 -1
- package/dist/plugins/simplified-utils.cjs +0 -2
- package/dist/plugins/simplified-utils.cjs.map +0 -1
- package/dist/plugins/simplified-utils.js +0 -40
- package/dist/plugins/simplified-utils.js.map +0 -1
- package/dist/reactive/cleanup.cjs +0 -2
- package/dist/reactive/cleanup.cjs.map +0 -1
- package/dist/reactive/cleanup.js +0 -62
- package/dist/reactive/cleanup.js.map +0 -1
- package/dist/reactive/computed.cjs +0 -2
- package/dist/reactive/computed.cjs.map +0 -1
- package/dist/reactive/computed.js +0 -121
- package/dist/reactive/computed.js.map +0 -1
- package/dist/reactive/context.cjs +0 -2
- package/dist/reactive/context.cjs.map +0 -1
- package/dist/reactive/context.js +0 -143
- package/dist/reactive/context.js.map +0 -1
- package/dist/reactive/effect.cjs +0 -2
- package/dist/reactive/effect.cjs.map +0 -1
- package/dist/reactive/effect.js +0 -67
- package/dist/reactive/effect.js.map +0 -1
- package/dist/reactive/enhanced-effect.cjs +0 -2
- package/dist/reactive/enhanced-effect.cjs.map +0 -1
- package/dist/reactive/enhanced-effect.js +0 -153
- package/dist/reactive/enhanced-effect.js.map +0 -1
- package/dist/reactive/enhanced-signal.cjs +0 -2
- package/dist/reactive/enhanced-signal.cjs.map +0 -1
- package/dist/reactive/enhanced-signal.js +0 -117
- package/dist/reactive/enhanced-signal.js.map +0 -1
- package/dist/reactive/equality.cjs +0 -2
- package/dist/reactive/equality.cjs.map +0 -1
- package/dist/reactive/equality.js +0 -66
- package/dist/reactive/equality.js.map +0 -1
- package/dist/reactive/index.cjs +0 -2
- package/dist/reactive/index.cjs.map +0 -1
- package/dist/reactive/index.js.map +0 -1
- package/dist/reactive/migration.cjs +0 -18
- package/dist/reactive/migration.cjs.map +0 -1
- package/dist/reactive/migration.js +0 -164
- package/dist/reactive/migration.js.map +0 -1
- package/dist/reactive/ownership.cjs +0 -2
- package/dist/reactive/ownership.cjs.map +0 -1
- package/dist/reactive/ownership.js +0 -34
- package/dist/reactive/ownership.js.map +0 -1
- package/dist/reactive/scheduler.cjs +0 -2
- package/dist/reactive/scheduler.cjs.map +0 -1
- package/dist/reactive/scheduler.js +0 -111
- package/dist/reactive/scheduler.js.map +0 -1
- package/dist/reactive/signal.cjs +0 -2
- package/dist/reactive/signal.cjs.map +0 -1
- package/dist/reactive/signal.js +0 -96
- package/dist/reactive/signal.js.map +0 -1
- package/dist/reactive/theme.cjs +0 -2
- package/dist/reactive/theme.cjs.map +0 -1
- package/dist/reactive/theme.js +0 -27
- package/dist/reactive/theme.js.map +0 -1
- package/dist/reactive/types.cjs +0 -2
- package/dist/reactive/types.cjs.map +0 -1
- package/dist/reactive/types.js +0 -5
- package/dist/reactive/types.js.map +0 -1
- package/dist/reactive/unified-scheduler.cjs +0 -2
- package/dist/reactive/unified-scheduler.cjs.map +0 -1
- package/dist/reactive/unified-scheduler.js +0 -219
- package/dist/reactive/unified-scheduler.js.map +0 -1
- package/dist/runtime/component-context.cjs +0 -2
- package/dist/runtime/component-context.cjs.map +0 -1
- package/dist/runtime/component-context.js +0 -177
- package/dist/runtime/component-context.js.map +0 -1
- package/dist/runtime/component.cjs +0 -2
- package/dist/runtime/component.cjs.map +0 -1
- package/dist/runtime/component.js +0 -238
- package/dist/runtime/component.js.map +0 -1
- package/dist/runtime/context.cjs +0 -2
- package/dist/runtime/context.cjs.map +0 -1
- package/dist/runtime/context.js.map +0 -1
- package/dist/runtime/dev-tools.cjs +0 -2
- package/dist/runtime/dev-tools.cjs.map +0 -1
- package/dist/runtime/dev-tools.js +0 -391
- package/dist/runtime/dev-tools.js.map +0 -1
- package/dist/runtime/development-warnings.cjs +0 -2
- package/dist/runtime/development-warnings.cjs.map +0 -1
- package/dist/runtime/development-warnings.js +0 -69
- package/dist/runtime/development-warnings.js.map +0 -1
- package/dist/runtime/dom-bridge.cjs +0 -2
- package/dist/runtime/dom-bridge.cjs.map +0 -1
- package/dist/runtime/dom-bridge.js.map +0 -1
- package/dist/runtime/element-override.cjs +0 -2
- package/dist/runtime/element-override.cjs.map +0 -1
- package/dist/runtime/element-override.js +0 -214
- package/dist/runtime/element-override.js.map +0 -1
- package/dist/runtime/error-boundary.cjs +0 -2
- package/dist/runtime/error-boundary.cjs.map +0 -1
- package/dist/runtime/error-boundary.js +0 -559
- package/dist/runtime/error-boundary.js.map +0 -1
- package/dist/runtime/error-recovery.cjs +0 -2
- package/dist/runtime/error-recovery.cjs.map +0 -1
- package/dist/runtime/error-recovery.js +0 -385
- package/dist/runtime/error-recovery.js.map +0 -1
- package/dist/runtime/error-reporting.cjs +0 -3
- package/dist/runtime/error-reporting.cjs.map +0 -1
- package/dist/runtime/error-reporting.js +0 -479
- package/dist/runtime/error-reporting.js.map +0 -1
- package/dist/runtime/error-utils.cjs +0 -3
- package/dist/runtime/error-utils.cjs.map +0 -1
- package/dist/runtime/error-utils.js +0 -352
- package/dist/runtime/error-utils.js.map +0 -1
- package/dist/runtime/lazy-component.cjs +0 -2
- package/dist/runtime/lazy-component.cjs.map +0 -1
- package/dist/runtime/lazy-component.js +0 -129
- package/dist/runtime/lazy-component.js.map +0 -1
- package/dist/runtime/lifecycle.cjs +0 -2
- package/dist/runtime/lifecycle.cjs.map +0 -1
- package/dist/runtime/lifecycle.js +0 -7
- package/dist/runtime/lifecycle.js.map +0 -1
- package/dist/runtime/mounting.cjs +0 -2
- package/dist/runtime/mounting.cjs.map +0 -1
- package/dist/runtime/mounting.js +0 -12
- package/dist/runtime/mounting.js.map +0 -1
- package/dist/runtime/optimization.cjs +0 -2
- package/dist/runtime/optimization.cjs.map +0 -1
- package/dist/runtime/optimization.js +0 -6
- package/dist/runtime/optimization.js.map +0 -1
- package/dist/runtime/performance.cjs +0 -2
- package/dist/runtime/performance.cjs.map +0 -1
- package/dist/runtime/performance.js +0 -399
- package/dist/runtime/performance.js.map +0 -1
- package/dist/runtime/props.cjs +0 -2
- package/dist/runtime/props.cjs.map +0 -1
- package/dist/runtime/props.js +0 -265
- package/dist/runtime/props.js.map +0 -1
- package/dist/runtime/renderer.cjs +0 -2
- package/dist/runtime/renderer.cjs.map +0 -1
- package/dist/runtime/renderer.js.map +0 -1
- package/dist/runtime/semantic-role-manager.cjs +0 -2
- package/dist/runtime/semantic-role-manager.cjs.map +0 -1
- package/dist/runtime/semantic-role-manager.js +0 -82
- package/dist/runtime/semantic-role-manager.js.map +0 -1
- package/dist/state/binding.cjs +0 -2
- package/dist/state/binding.cjs.map +0 -1
- package/dist/state/binding.js +0 -155
- package/dist/state/binding.js.map +0 -1
- package/dist/state/environment.cjs +0 -2
- package/dist/state/environment.cjs.map +0 -1
- package/dist/state/environment.js +0 -115
- package/dist/state/environment.js.map +0 -1
- package/dist/state/index.cjs +0 -2
- package/dist/state/index.cjs.map +0 -1
- package/dist/state/index.js +0 -63
- package/dist/state/index.js.map +0 -1
- package/dist/state/observed-object.cjs +0 -2
- package/dist/state/observed-object.cjs.map +0 -1
- package/dist/state/observed-object.js +0 -163
- package/dist/state/observed-object.js.map +0 -1
- package/dist/state/state-manager.cjs +0 -2
- package/dist/state/state-manager.cjs.map +0 -1
- package/dist/state/state-manager.js +0 -233
- package/dist/state/state-manager.js.map +0 -1
- package/dist/state/state.cjs +0 -2
- package/dist/state/state.cjs.map +0 -1
- package/dist/state/state.js +0 -159
- package/dist/state/state.js.map +0 -1
- package/dist/sui-compat.cjs +0 -2
- package/dist/sui-compat.cjs.map +0 -1
- package/dist/sui-compat.js +0 -88
- package/dist/sui-compat.js.map +0 -1
- package/dist/validation/advanced-debugging.cjs +0 -44
- package/dist/validation/advanced-debugging.cjs.map +0 -1
- package/dist/validation/advanced-debugging.js +0 -455
- package/dist/validation/advanced-debugging.js.map +0 -1
- package/dist/validation/build-time/detection.cjs +0 -2
- package/dist/validation/build-time/detection.cjs.map +0 -1
- package/dist/validation/build-time/detection.js +0 -199
- package/dist/validation/build-time/detection.js.map +0 -1
- package/dist/validation/build-time/index.cjs +0 -2
- package/dist/validation/build-time/index.cjs.map +0 -1
- package/dist/validation/build-time/index.js +0 -122
- package/dist/validation/build-time/index.js.map +0 -1
- package/dist/validation/build-time/plugins.cjs +0 -3
- package/dist/validation/build-time/plugins.cjs.map +0 -1
- package/dist/validation/build-time/plugins.js +0 -282
- package/dist/validation/build-time/plugins.js.map +0 -1
- package/dist/validation/build-time/rules.cjs +0 -2
- package/dist/validation/build-time/rules.cjs.map +0 -1
- package/dist/validation/build-time/rules.js +0 -576
- package/dist/validation/build-time/rules.js.map +0 -1
- package/dist/validation/build-time/transformer.cjs +0 -3
- package/dist/validation/build-time/transformer.cjs.map +0 -1
- package/dist/validation/build-time/transformer.js +0 -177
- package/dist/validation/build-time/transformer.js.map +0 -1
- package/dist/validation/comprehensive.cjs +0 -9
- package/dist/validation/comprehensive.cjs.map +0 -1
- package/dist/validation/comprehensive.js +0 -916
- package/dist/validation/comprehensive.js.map +0 -1
- package/dist/validation/debug-tools.cjs +0 -16
- package/dist/validation/debug-tools.cjs.map +0 -1
- package/dist/validation/debug-tools.js +0 -405
- package/dist/validation/debug-tools.js.map +0 -1
- package/dist/validation/developer-experience.cjs +0 -17
- package/dist/validation/developer-experience.cjs.map +0 -1
- package/dist/validation/developer-experience.js +0 -433
- package/dist/validation/developer-experience.js.map +0 -1
- package/dist/validation/documentation-integration.cjs +0 -7
- package/dist/validation/documentation-integration.cjs.map +0 -1
- package/dist/validation/documentation-integration.js +0 -440
- package/dist/validation/documentation-integration.js.map +0 -1
- package/dist/validation/enhanced-runtime.cjs +0 -6
- package/dist/validation/enhanced-runtime.cjs.map +0 -1
- package/dist/validation/enhanced-runtime.js +0 -465
- package/dist/validation/enhanced-runtime.js.map +0 -1
- package/dist/validation/error-reporting.cjs +0 -32
- package/dist/validation/error-reporting.cjs.map +0 -1
- package/dist/validation/error-reporting.js +0 -370
- package/dist/validation/error-reporting.js.map +0 -1
- package/dist/validation/ide-integration.cjs +0 -85
- package/dist/validation/ide-integration.cjs.map +0 -1
- package/dist/validation/ide-integration.js +0 -557
- package/dist/validation/ide-integration.js.map +0 -1
- package/dist/validation/index.cjs +0 -6
- package/dist/validation/index.cjs.map +0 -1
- package/dist/validation/index.js.map +0 -1
- package/dist/validation/lifecycle-validation.cjs +0 -2
- package/dist/validation/lifecycle-validation.cjs.map +0 -1
- package/dist/validation/lifecycle-validation.js +0 -314
- package/dist/validation/lifecycle-validation.js.map +0 -1
- package/dist/validation/performance-optimizer.cjs +0 -2
- package/dist/validation/performance-optimizer.cjs.map +0 -1
- package/dist/validation/performance-optimizer.js +0 -338
- package/dist/validation/performance-optimizer.js.map +0 -1
- package/dist/validation/plugin-registration.cjs +0 -2
- package/dist/validation/plugin-registration.cjs.map +0 -1
- package/dist/validation/plugin-registration.js +0 -126
- package/dist/validation/plugin-registration.js.map +0 -1
- package/dist/validation/production-bypass.cjs +0 -2
- package/dist/validation/production-bypass.cjs.map +0 -1
- package/dist/validation/production-bypass.js +0 -218
- package/dist/validation/production-bypass.js.map +0 -1
- package/dist/validation/simple.cjs +0 -9
- package/dist/validation/simple.cjs.map +0 -1
- package/dist/validation/simple.js +0 -146
- package/dist/validation/simple.js.map +0 -1
- package/dist/viewport/adapters/web-adapter.cjs +0 -70
- package/dist/viewport/adapters/web-adapter.cjs.map +0 -1
- package/dist/viewport/adapters/web-adapter.js +0 -823
- package/dist/viewport/adapters/web-adapter.js.map +0 -1
- package/dist/viewport/components.cjs +0 -2
- package/dist/viewport/components.cjs.map +0 -1
- package/dist/viewport/components.js +0 -298
- package/dist/viewport/components.js.map +0 -1
- package/dist/viewport/environment.cjs +0 -2
- package/dist/viewport/environment.cjs.map +0 -1
- package/dist/viewport/environment.js +0 -86
- package/dist/viewport/environment.js.map +0 -1
- package/dist/viewport/index.cjs +0 -2
- package/dist/viewport/index.cjs.map +0 -1
- package/dist/viewport/index.js.map +0 -1
- package/dist/viewport/platform-detection.cjs +0 -2
- package/dist/viewport/platform-detection.cjs.map +0 -1
- package/dist/viewport/platform-detection.js +0 -205
- package/dist/viewport/platform-detection.js.map +0 -1
- package/dist/viewport/types.cjs +0 -2
- package/dist/viewport/types.cjs.map +0 -1
- package/dist/viewport/types.js +0 -13
- package/dist/viewport/types.js.map +0 -1
- package/dist/viewport/viewport-manager.cjs +0 -2
- package/dist/viewport/viewport-manager.cjs.map +0 -1
- package/dist/viewport/viewport-manager.js +0 -524
- package/dist/viewport/viewport-manager.js.map +0 -1
- package/src/assets/Asset.ts +0 -11
- package/src/assets/AssetCollection.ts +0 -99
- package/src/assets/ColorAsset.ts +0 -210
- package/src/assets/FontAsset.ts +0 -380
- package/src/assets/ImageAsset.ts +0 -91
- package/src/assets/README.md +0 -190
- package/src/assets/index.ts +0 -175
- package/src/assets/test-assets.ts +0 -69
- package/src/assets/test-integration.ts +0 -46
- package/src/assets/test-simple.ts +0 -28
- package/src/assets/types.ts +0 -79
- package/src/bundles/common.ts +0 -30
- package/src/bundles/complete.ts +0 -29
- package/src/bundles/essential.ts +0 -26
- package/src/bundles/minimal.ts +0 -26
- package/src/bundles/production-minimal.ts +0 -67
- package/src/compiler/advanced-parser.ts +0 -871
- package/src/compiler/codegen.ts +0 -450
- package/src/compiler/enhanced-codegen.ts +0 -729
- package/src/compiler/index.ts +0 -25
- package/src/compiler/parser.ts +0 -461
- package/src/compiler/plugin.ts +0 -181
- package/src/compiler/types.ts +0 -177
- package/src/components/BasicInput.ts +0 -352
- package/src/components/Button.ts +0 -963
- package/src/components/Divider.ts +0 -341
- package/src/components/EnhancedLink.ts +0 -676
- package/src/components/Form.ts +0 -414
- package/src/components/Grid.ts +0 -2507
- package/src/components/GridResponsive.ts +0 -637
- package/src/components/Image.ts +0 -426
- package/src/components/List.ts +0 -1084
- package/src/components/Menu.ts +0 -807
- package/src/components/Picker.ts +0 -678
- package/src/components/ScrollView.ts +0 -725
- package/src/components/Section.ts +0 -472
- package/src/components/Show.ts +0 -205
- package/src/components/Spacer.ts +0 -93
- package/src/components/Text.ts +0 -447
- package/src/components/Toggle.ts +0 -700
- package/src/components/index.ts +0 -231
- package/src/components/wrapper.ts +0 -828
- package/src/concatenation/concatenatable.ts +0 -211
- package/src/concatenation/concatenated-component.ts +0 -471
- package/src/concatenation/index.ts +0 -41
- package/src/concatenation/styles.css +0 -120
- package/src/concatenation/text-optimizer.ts +0 -440
- package/src/concatenation/types.ts +0 -116
- package/src/constants/README.md +0 -339
- package/src/constants/__tests__/frame-utils.test.ts +0 -276
- package/src/constants/__tests__/layout.test.ts +0 -215
- package/src/constants/frame-utils.ts +0 -174
- package/src/constants/index.ts +0 -8
- package/src/constants/layout.ts +0 -120
- package/src/css-classes/component-base.ts +0 -117
- package/src/css-classes/css-class-manager.ts +0 -372
- package/src/css-classes/dom-integration.ts +0 -162
- package/src/css-classes/enhanced-renderer.ts +0 -166
- package/src/css-classes/index.ts +0 -45
- package/src/css-classes/types.ts +0 -73
- package/src/css-classes/utilities.ts +0 -175
- package/src/debug/index.ts +0 -267
- package/src/developer-experience/enhanced-errors.ts +0 -556
- package/src/developer-experience/enhanced-types.ts +0 -427
- package/src/developer-experience/index.ts +0 -220
- package/src/globals.d.ts +0 -43
- package/src/gradients/__tests__/angular-gradient.test.ts +0 -111
- package/src/gradients/__tests__/background-modifier.test.ts +0 -81
- package/src/gradients/__tests__/comprehensive-gradients.test.ts +0 -296
- package/src/gradients/__tests__/gradient-asset.test.ts +0 -144
- package/src/gradients/__tests__/linear-gradient.test.ts +0 -92
- package/src/gradients/__tests__/phase4-features.test.ts +0 -386
- package/src/gradients/__tests__/radial-gradient.test.ts +0 -110
- package/src/gradients/__tests__/repeating-gradients.test.ts +0 -125
- package/src/gradients/__tests__/state-background-modifier.test.ts +0 -340
- package/src/gradients/__tests__/state-gradient-asset.test.ts +0 -262
- package/src/gradients/__tests__/state-gradient-integration.test.ts +0 -277
- package/src/gradients/css-generator.ts +0 -158
- package/src/gradients/examples.ts +0 -632
- package/src/gradients/gradient-asset.ts +0 -30
- package/src/gradients/index.ts +0 -85
- package/src/gradients/performance.ts +0 -521
- package/src/gradients/presets.ts +0 -422
- package/src/gradients/reactive.ts +0 -470
- package/src/gradients/state-gradient-asset.ts +0 -179
- package/src/gradients/types.ts +0 -148
- package/src/gradients/utils.ts +0 -579
- package/src/gradients/validation.ts +0 -489
- package/src/index.ts +0 -168
- package/src/lifecycle/hooks.ts +0 -332
- package/src/modifiers/__tests__/as-html-integration.test.ts +0 -204
- package/src/modifiers/__tests__/as-html.test.ts +0 -437
- package/src/modifiers/__tests__/basic-sanitizer-security.test.ts +0 -294
- package/src/modifiers/__tests__/border.test.ts +0 -371
- package/src/modifiers/__tests__/margin-string-support.test.ts +0 -41
- package/src/modifiers/__tests__/padding-string-support.test.ts +0 -41
- package/src/modifiers/as-html-validator.ts +0 -68
- package/src/modifiers/as-html.ts +0 -216
- package/src/modifiers/attributes.ts +0 -574
- package/src/modifiers/backdrop.ts +0 -290
- package/src/modifiers/background.ts +0 -165
- package/src/modifiers/base.ts +0 -1815
- package/src/modifiers/basic-sanitizer.ts +0 -227
- package/src/modifiers/border.ts +0 -574
- package/src/modifiers/builder.ts +0 -1747
- package/src/modifiers/core.ts +0 -521
- package/src/modifiers/css.ts +0 -148
- package/src/modifiers/effects.ts +0 -412
- package/src/modifiers/elements.ts +0 -541
- package/src/modifiers/filters.ts +0 -501
- package/src/modifiers/flexbox.ts +0 -180
- package/src/modifiers/font.ts +0 -149
- package/src/modifiers/grid.ts +0 -238
- package/src/modifiers/index.ts +0 -481
- package/src/modifiers/margin.ts +0 -218
- package/src/modifiers/padding.ts +0 -318
- package/src/modifiers/registry.ts +0 -444
- package/src/modifiers/responsive/__tests__/advanced-media-queries.test.ts +0 -392
- package/src/modifiers/responsive/__tests__/advanced-utilities.test.ts +0 -368
- package/src/modifiers/responsive/__tests__/comprehensive-browser-tests.test.ts +0 -556
- package/src/modifiers/responsive/__tests__/layout-patterns.test.ts +0 -558
- package/src/modifiers/responsive/advanced-utilities.ts +0 -562
- package/src/modifiers/responsive/breakpoints.ts +0 -330
- package/src/modifiers/responsive/css-generator.ts +0 -432
- package/src/modifiers/responsive/dev-tools.ts +0 -650
- package/src/modifiers/responsive/index.ts +0 -119
- package/src/modifiers/responsive/layout-patterns.ts +0 -592
- package/src/modifiers/responsive/performance.ts +0 -385
- package/src/modifiers/responsive/responsive-builder.ts +0 -620
- package/src/modifiers/responsive/responsive-modifier.ts +0 -410
- package/src/modifiers/responsive/types.ts +0 -226
- package/src/modifiers/responsive/utilities.ts +0 -478
- package/src/modifiers/scroll.ts +0 -297
- package/src/modifiers/shadows.ts +0 -321
- package/src/modifiers/size.ts +0 -208
- package/src/modifiers/text.ts +0 -416
- package/src/modifiers/transformations.ts +0 -640
- package/src/modifiers/transitions.ts +0 -218
- package/src/modifiers/types.ts +0 -889
- package/src/modifiers/typography.ts +0 -341
- package/src/modifiers/utility.ts +0 -209
- package/src/modifiers/utils.ts +0 -413
- package/src/plugins/__tests__/simplified-plugin-system.test.ts +0 -190
- package/src/plugins/component-loader-registry.ts +0 -371
- package/src/plugins/index.ts +0 -61
- package/src/plugins/legacy-adapter.ts +0 -84
- package/src/plugins/simplified-component-registry.ts +0 -130
- package/src/plugins/simplified-error-handler.ts +0 -372
- package/src/plugins/simplified-index.ts +0 -61
- package/src/plugins/simplified-lazy-loader.ts +0 -242
- package/src/plugins/simplified-plugin-manager.ts +0 -93
- package/src/plugins/simplified-tachui-instance.ts +0 -142
- package/src/plugins/simplified-types.ts +0 -79
- package/src/plugins/simplified-utils.ts +0 -118
- package/src/reactive/cleanup.ts +0 -241
- package/src/reactive/computed.ts +0 -281
- package/src/reactive/context.ts +0 -287
- package/src/reactive/effect.ts +0 -194
- package/src/reactive/enhanced-effect.ts +0 -318
- package/src/reactive/enhanced-signal.ts +0 -227
- package/src/reactive/equality.ts +0 -188
- package/src/reactive/globals.d.ts +0 -5
- package/src/reactive/index.ts +0 -150
- package/src/reactive/migration.ts +0 -335
- package/src/reactive/ownership.ts +0 -182
- package/src/reactive/scheduler.ts +0 -300
- package/src/reactive/signal.ts +0 -201
- package/src/reactive/theme.ts +0 -49
- package/src/reactive/types.ts +0 -103
- package/src/reactive/unified-scheduler.ts +0 -357
- package/src/runtime/component-context.ts +0 -343
- package/src/runtime/component.ts +0 -499
- package/src/runtime/context.ts +0 -527
- package/src/runtime/dev-tools.ts +0 -752
- package/src/runtime/development-warnings.ts +0 -114
- package/src/runtime/dom-bridge.ts +0 -570
- package/src/runtime/element-override.ts +0 -282
- package/src/runtime/error-boundary.ts +0 -955
- package/src/runtime/error-recovery.ts +0 -638
- package/src/runtime/error-reporting.ts +0 -808
- package/src/runtime/error-utils.ts +0 -698
- package/src/runtime/index.ts +0 -202
- package/src/runtime/lazy-component.ts +0 -268
- package/src/runtime/lifecycle.ts +0 -10
- package/src/runtime/mounting.ts +0 -17
- package/src/runtime/optimization.ts +0 -13
- package/src/runtime/performance.ts +0 -693
- package/src/runtime/props.ts +0 -434
- package/src/runtime/refs.ts +0 -13
- package/src/runtime/renderer.ts +0 -674
- package/src/runtime/semantic-role-manager.ts +0 -140
- package/src/runtime/types.ts +0 -282
- package/src/state/binding.ts +0 -381
- package/src/state/environment-object.ts +0 -444
- package/src/state/environment.ts +0 -351
- package/src/state/index.ts +0 -179
- package/src/state/observed-object.ts +0 -405
- package/src/state/state-manager.ts +0 -366
- package/src/state/state.ts +0 -339
- package/src/state/types.ts +0 -192
- package/src/sui-compat.ts +0 -163
- package/src/validation/__tests__/phase-1d-integration.test.ts +0 -558
- package/src/validation/advanced-debugging.ts +0 -860
- package/src/validation/build-time/detection.ts +0 -373
- package/src/validation/build-time/index.ts +0 -222
- package/src/validation/build-time/plugins.ts +0 -515
- package/src/validation/build-time/rules.ts +0 -624
- package/src/validation/build-time/transformer.ts +0 -372
- package/src/validation/build-time/types.ts +0 -232
- package/src/validation/comprehensive.ts +0 -1272
- package/src/validation/debug-tools.ts +0 -724
- package/src/validation/developer-experience.ts +0 -712
- package/src/validation/documentation-integration.ts +0 -835
- package/src/validation/enhanced-runtime.ts +0 -765
- package/src/validation/error-reporting.ts +0 -587
- package/src/validation/ide-integration.ts +0 -845
- package/src/validation/index.ts +0 -353
- package/src/validation/lifecycle-validation.ts +0 -636
- package/src/validation/performance-optimizer.ts +0 -599
- package/src/validation/plugin-registration.ts +0 -249
- package/src/validation/production-bypass.ts +0 -466
- package/src/validation/simple.ts +0 -465
- package/src/viewport/adapters/web-adapter.ts +0 -1385
- package/src/viewport/components.ts +0 -505
- package/src/viewport/environment.ts +0 -173
- package/src/viewport/index.ts +0 -290
- package/src/viewport/platform-detection.ts +0 -431
- package/src/viewport/types.ts +0 -371
- package/src/viewport/viewport-manager.ts +0 -979
|
@@ -1,154 +0,0 @@
|
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
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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"}
|
|
@@ -1,2 +0,0 @@
|
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
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":"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"}
|
|
@@ -1,129 +0,0 @@
|
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
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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"}
|
|
@@ -1,2 +0,0 @@
|
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|
|
@@ -1,51 +0,0 @@
|
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
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;"}
|
|
@@ -1,2 +0,0 @@
|
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"simplified-tachui-instance.cjs","sources":["../../src/plugins/simplified-tachui-instance.ts"],"sourcesContent":["/**\n * Simplified TachUI Instance - Phase 1 Implementation\n * \n * Streamlined framework instance with essential plugin functionality only.\n * Integrates simplified plugin manager and component registry.\n */\n\nimport { SimplifiedPluginManager } from './simplified-plugin-manager'\nimport { SimplifiedComponentRegistry } from './simplified-component-registry'\nimport type { \n TachUIInstance, \n TachUIPlugin, \n ComponentRegistrationOptions\n} from './simplified-types'\nimport type { Component } from '../runtime/types'\n\nexport class SimplifiedTachUIInstance implements TachUIInstance {\n public readonly plugins: SimplifiedPluginManager\n public readonly components: SimplifiedComponentRegistry\n public readonly services: Map<string, any>\n private currentInstallingPlugin: string | null = null\n\n constructor() {\n this.components = new SimplifiedComponentRegistry()\n this.services = new Map<string, any>()\n this.plugins = new SimplifiedPluginManager(this)\n }\n\n registerComponent(name: string, component: Component, options?: ComponentRegistrationOptions): void {\n this.components.register({\n name,\n component,\n category: options?.category,\n tags: options?.tags,\n plugin: this.currentInstallingPlugin || undefined\n })\n }\n\n registerService(name: string, service: any): void {\n if (this.services.has(name) && !this.services.get(name)) {\n console.warn(`Service \"${name}\" already registered, overwriting`)\n }\n \n this.services.set(name, service)\n console.log(`⚙️ Service \"${name}\" registered`)\n }\n\n getService<T = any>(name: string): T | undefined {\n return this.services.get(name)\n }\n\n hasService(name: string): boolean {\n return this.services.has(name)\n }\n\n unregisterService(name: string): boolean {\n const existed = this.services.has(name)\n this.services.delete(name)\n \n if (existed) {\n console.log(`🗑️ Service \"${name}\" unregistered`)\n }\n \n return existed\n }\n\n async installPlugin(plugin: TachUIPlugin): Promise<void> {\n this.currentInstallingPlugin = plugin.name\n try {\n await this.plugins.install(plugin)\n } finally {\n this.currentInstallingPlugin = null\n }\n }\n\n async uninstallPlugin(pluginName: string): Promise<void> {\n // Unregister components belonging to this plugin\n this.components.unregisterByPlugin(pluginName)\n \n // Unregister services belonging to this plugin (simple cleanup)\n // Note: We don't track service ownership in the simplified version,\n // so we rely on the plugin's uninstall method to clean up its services\n \n await this.plugins.uninstall(pluginName)\n }\n\n isPluginInstalled(pluginName: string): boolean {\n return this.plugins.isInstalled(pluginName)\n }\n\n getInstalledPlugins(): string[] {\n return this.plugins.getInstalledPlugins()\n }\n\n getStats() {\n return {\n plugins: {\n installed: this.plugins.getInstalledPlugins().length,\n list: this.plugins.getInstalledPlugins()\n },\n components: this.components.getStats(),\n services: {\n registered: this.services.size,\n list: Array.from(this.services.keys())\n }\n }\n }\n\n async reset(): Promise<void> {\n // Uninstall all plugins\n const pluginNames = this.getInstalledPlugins()\n for (const pluginName of pluginNames) {\n try {\n await this.uninstallPlugin(pluginName)\n } catch (error) {\n console.error(`Failed to uninstall plugin \"${pluginName}\":`, error)\n }\n }\n \n // Clear remaining components and services\n this.components.clear()\n this.services.clear()\n \n console.log('🔄 TachUI instance reset completed')\n }\n}\n\n// Create and export a global instance\nexport const globalTachUIInstance = new SimplifiedTachUIInstance()\n\n// Convenience functions for global instance\nexport function installPlugin(plugin: TachUIPlugin): Promise<void> {\n return globalTachUIInstance.installPlugin(plugin)\n}\n\nexport function registerComponent(name: string, component: Component, options?: ComponentRegistrationOptions): void {\n return globalTachUIInstance.registerComponent(name, component, options)\n}\n\nexport function registerService(name: string, service: any): void {\n return globalTachUIInstance.registerService(name, service)\n}"],"names":["SimplifiedTachUIInstance","__publicField","SimplifiedComponentRegistry","SimplifiedPluginManager","name","component","options","service","existed","plugin","pluginName","pluginNames","error","globalTachUIInstance","installPlugin","registerComponent","registerService"],"mappings":"gVAgBO,MAAMA,CAAmD,CAM9D,aAAc,CALdC,EAAA,KAAgB,SAAA,EAChBA,EAAA,KAAgB,YAAA,EAChBA,EAAA,KAAgB,UAAA,EAChBA,EAAA,KAAQ,0BAAyC,IAAA,EAG/C,KAAK,WAAa,IAAIC,8BACtB,KAAK,aAAe,IACpB,KAAK,QAAU,IAAIC,EAAAA,wBAAwB,IAAI,CACjD,CAEA,kBAAkBC,EAAcC,EAAsBC,EAA8C,CAClG,KAAK,WAAW,SAAS,CACvB,KAAAF,EACA,UAAAC,EACA,SAAUC,GAAS,SACnB,KAAMA,GAAS,KACf,OAAQ,KAAK,yBAA2B,MAAA,CACzC,CACH,CAEA,gBAAgBF,EAAcG,EAAoB,CAC5C,KAAK,SAAS,IAAIH,CAAI,GAAK,CAAC,KAAK,SAAS,IAAIA,CAAI,GACpD,QAAQ,KAAK,YAAYA,CAAI,mCAAmC,EAGlE,KAAK,SAAS,IAAIA,EAAMG,CAAO,EAC/B,QAAQ,IAAI,eAAeH,CAAI,cAAc,CAC/C,CAEA,WAAoBA,EAA6B,CAC/C,OAAO,KAAK,SAAS,IAAIA,CAAI,CAC/B,CAEA,WAAWA,EAAuB,CAChC,OAAO,KAAK,SAAS,IAAIA,CAAI,CAC/B,CAEA,kBAAkBA,EAAuB,CACvC,MAAMI,EAAU,KAAK,SAAS,IAAIJ,CAAI,EACtC,YAAK,SAAS,OAAOA,CAAI,EAErBI,GACF,QAAQ,IAAI,gBAAgBJ,CAAI,gBAAgB,EAG3CI,CACT,CAEA,MAAM,cAAcC,EAAqC,CACvD,KAAK,wBAA0BA,EAAO,KACtC,GAAI,CACF,MAAM,KAAK,QAAQ,QAAQA,CAAM,CACnC,QAAA,CACE,KAAK,wBAA0B,IACjC,CACF,CAEA,MAAM,gBAAgBC,EAAmC,CAEvD,KAAK,WAAW,mBAAmBA,CAAU,EAM7C,MAAM,KAAK,QAAQ,UAAUA,CAAU,CACzC,CAEA,kBAAkBA,EAA6B,CAC7C,OAAO,KAAK,QAAQ,YAAYA,CAAU,CAC5C,CAEA,qBAAgC,CAC9B,OAAO,KAAK,QAAQ,oBAAA,CACtB,CAEA,UAAW,CACT,MAAO,CACL,QAAS,CACP,UAAW,KAAK,QAAQ,oBAAA,EAAsB,OAC9C,KAAM,KAAK,QAAQ,oBAAA,CAAoB,EAEzC,WAAY,KAAK,WAAW,SAAA,EAC5B,SAAU,CACR,WAAY,KAAK,SAAS,KAC1B,KAAM,MAAM,KAAK,KAAK,SAAS,MAAM,CAAA,CACvC,CAEJ,CAEA,MAAM,OAAuB,CAE3B,MAAMC,EAAc,KAAK,oBAAA,EACzB,UAAWD,KAAcC,EACvB,GAAI,CACF,MAAM,KAAK,gBAAgBD,CAAU,CACvC,OAASE,EAAO,CACd,QAAQ,MAAM,+BAA+BF,CAAU,KAAME,CAAK,CACpE,CAIF,KAAK,WAAW,MAAA,EAChB,KAAK,SAAS,MAAA,EAEd,QAAQ,IAAI,oCAAoC,CAClD,CACF,CAGO,MAAMC,EAAuB,IAAIb,EAGjC,SAASc,EAAcL,EAAqC,CACjE,OAAOI,EAAqB,cAAcJ,CAAM,CAClD,CAEO,SAASM,EAAkBX,EAAcC,EAAsBC,EAA8C,CAClH,OAAOO,EAAqB,kBAAkBT,EAAMC,EAAWC,CAAO,CACxE,CAEO,SAASU,EAAgBZ,EAAcG,EAAoB,CAChE,OAAOM,EAAqB,gBAAgBT,EAAMG,CAAO,CAC3D"}
|
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
import { SimplifiedPluginManager as l } from "./simplified-plugin-manager.js";
|
|
2
|
-
import { SimplifiedComponentRegistry as g } from "./simplified-component-registry.js";
|
|
3
|
-
var c = Object.defineProperty, o = (t, e, s) => e in t ? c(t, e, { enumerable: !0, configurable: !0, writable: !0, value: s }) : t[e] = s, n = (t, e, s) => o(t, typeof e != "symbol" ? e + "" : e, s);
|
|
4
|
-
class a {
|
|
5
|
-
constructor() {
|
|
6
|
-
n(this, "plugins"), n(this, "components"), n(this, "services"), n(this, "currentInstallingPlugin", null), this.components = new g(), this.services = /* @__PURE__ */ new Map(), this.plugins = new l(this);
|
|
7
|
-
}
|
|
8
|
-
registerComponent(e, s, i) {
|
|
9
|
-
this.components.register({
|
|
10
|
-
name: e,
|
|
11
|
-
component: s,
|
|
12
|
-
category: i?.category,
|
|
13
|
-
tags: i?.tags,
|
|
14
|
-
plugin: this.currentInstallingPlugin || void 0
|
|
15
|
-
});
|
|
16
|
-
}
|
|
17
|
-
registerService(e, s) {
|
|
18
|
-
this.services.has(e) && !this.services.get(e) && console.warn(`Service "${e}" already registered, overwriting`), this.services.set(e, s), console.log(`⚙️ Service "${e}" registered`);
|
|
19
|
-
}
|
|
20
|
-
getService(e) {
|
|
21
|
-
return this.services.get(e);
|
|
22
|
-
}
|
|
23
|
-
hasService(e) {
|
|
24
|
-
return this.services.has(e);
|
|
25
|
-
}
|
|
26
|
-
unregisterService(e) {
|
|
27
|
-
const s = this.services.has(e);
|
|
28
|
-
return this.services.delete(e), s && console.log(`🗑️ Service "${e}" unregistered`), s;
|
|
29
|
-
}
|
|
30
|
-
async installPlugin(e) {
|
|
31
|
-
this.currentInstallingPlugin = e.name;
|
|
32
|
-
try {
|
|
33
|
-
await this.plugins.install(e);
|
|
34
|
-
} finally {
|
|
35
|
-
this.currentInstallingPlugin = null;
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
async uninstallPlugin(e) {
|
|
39
|
-
this.components.unregisterByPlugin(e), await this.plugins.uninstall(e);
|
|
40
|
-
}
|
|
41
|
-
isPluginInstalled(e) {
|
|
42
|
-
return this.plugins.isInstalled(e);
|
|
43
|
-
}
|
|
44
|
-
getInstalledPlugins() {
|
|
45
|
-
return this.plugins.getInstalledPlugins();
|
|
46
|
-
}
|
|
47
|
-
getStats() {
|
|
48
|
-
return {
|
|
49
|
-
plugins: {
|
|
50
|
-
installed: this.plugins.getInstalledPlugins().length,
|
|
51
|
-
list: this.plugins.getInstalledPlugins()
|
|
52
|
-
},
|
|
53
|
-
components: this.components.getStats(),
|
|
54
|
-
services: {
|
|
55
|
-
registered: this.services.size,
|
|
56
|
-
list: Array.from(this.services.keys())
|
|
57
|
-
}
|
|
58
|
-
};
|
|
59
|
-
}
|
|
60
|
-
async reset() {
|
|
61
|
-
const e = this.getInstalledPlugins();
|
|
62
|
-
for (const s of e)
|
|
63
|
-
try {
|
|
64
|
-
await this.uninstallPlugin(s);
|
|
65
|
-
} catch (i) {
|
|
66
|
-
console.error(`Failed to uninstall plugin "${s}":`, i);
|
|
67
|
-
}
|
|
68
|
-
this.components.clear(), this.services.clear(), console.log("🔄 TachUI instance reset completed");
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
const r = new a();
|
|
72
|
-
function p(t) {
|
|
73
|
-
return r.installPlugin(t);
|
|
74
|
-
}
|
|
75
|
-
function v(t, e, s) {
|
|
76
|
-
return r.registerComponent(t, e, s);
|
|
77
|
-
}
|
|
78
|
-
function d(t, e) {
|
|
79
|
-
return r.registerService(t, e);
|
|
80
|
-
}
|
|
81
|
-
export {
|
|
82
|
-
a as SimplifiedTachUIInstance,
|
|
83
|
-
r as globalTachUIInstance,
|
|
84
|
-
p as installPlugin,
|
|
85
|
-
v as registerComponent,
|
|
86
|
-
d as registerService
|
|
87
|
-
};
|
|
88
|
-
//# sourceMappingURL=simplified-tachui-instance.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"simplified-tachui-instance.js","sources":["../../src/plugins/simplified-tachui-instance.ts"],"sourcesContent":["/**\n * Simplified TachUI Instance - Phase 1 Implementation\n * \n * Streamlined framework instance with essential plugin functionality only.\n * Integrates simplified plugin manager and component registry.\n */\n\nimport { SimplifiedPluginManager } from './simplified-plugin-manager'\nimport { SimplifiedComponentRegistry } from './simplified-component-registry'\nimport type { \n TachUIInstance, \n TachUIPlugin, \n ComponentRegistrationOptions\n} from './simplified-types'\nimport type { Component } from '../runtime/types'\n\nexport class SimplifiedTachUIInstance implements TachUIInstance {\n public readonly plugins: SimplifiedPluginManager\n public readonly components: SimplifiedComponentRegistry\n public readonly services: Map<string, any>\n private currentInstallingPlugin: string | null = null\n\n constructor() {\n this.components = new SimplifiedComponentRegistry()\n this.services = new Map<string, any>()\n this.plugins = new SimplifiedPluginManager(this)\n }\n\n registerComponent(name: string, component: Component, options?: ComponentRegistrationOptions): void {\n this.components.register({\n name,\n component,\n category: options?.category,\n tags: options?.tags,\n plugin: this.currentInstallingPlugin || undefined\n })\n }\n\n registerService(name: string, service: any): void {\n if (this.services.has(name) && !this.services.get(name)) {\n console.warn(`Service \"${name}\" already registered, overwriting`)\n }\n \n this.services.set(name, service)\n console.log(`⚙️ Service \"${name}\" registered`)\n }\n\n getService<T = any>(name: string): T | undefined {\n return this.services.get(name)\n }\n\n hasService(name: string): boolean {\n return this.services.has(name)\n }\n\n unregisterService(name: string): boolean {\n const existed = this.services.has(name)\n this.services.delete(name)\n \n if (existed) {\n console.log(`🗑️ Service \"${name}\" unregistered`)\n }\n \n return existed\n }\n\n async installPlugin(plugin: TachUIPlugin): Promise<void> {\n this.currentInstallingPlugin = plugin.name\n try {\n await this.plugins.install(plugin)\n } finally {\n this.currentInstallingPlugin = null\n }\n }\n\n async uninstallPlugin(pluginName: string): Promise<void> {\n // Unregister components belonging to this plugin\n this.components.unregisterByPlugin(pluginName)\n \n // Unregister services belonging to this plugin (simple cleanup)\n // Note: We don't track service ownership in the simplified version,\n // so we rely on the plugin's uninstall method to clean up its services\n \n await this.plugins.uninstall(pluginName)\n }\n\n isPluginInstalled(pluginName: string): boolean {\n return this.plugins.isInstalled(pluginName)\n }\n\n getInstalledPlugins(): string[] {\n return this.plugins.getInstalledPlugins()\n }\n\n getStats() {\n return {\n plugins: {\n installed: this.plugins.getInstalledPlugins().length,\n list: this.plugins.getInstalledPlugins()\n },\n components: this.components.getStats(),\n services: {\n registered: this.services.size,\n list: Array.from(this.services.keys())\n }\n }\n }\n\n async reset(): Promise<void> {\n // Uninstall all plugins\n const pluginNames = this.getInstalledPlugins()\n for (const pluginName of pluginNames) {\n try {\n await this.uninstallPlugin(pluginName)\n } catch (error) {\n console.error(`Failed to uninstall plugin \"${pluginName}\":`, error)\n }\n }\n \n // Clear remaining components and services\n this.components.clear()\n this.services.clear()\n \n console.log('🔄 TachUI instance reset completed')\n }\n}\n\n// Create and export a global instance\nexport const globalTachUIInstance = new SimplifiedTachUIInstance()\n\n// Convenience functions for global instance\nexport function installPlugin(plugin: TachUIPlugin): Promise<void> {\n return globalTachUIInstance.installPlugin(plugin)\n}\n\nexport function registerComponent(name: string, component: Component, options?: ComponentRegistrationOptions): void {\n return globalTachUIInstance.registerComponent(name, component, options)\n}\n\nexport function registerService(name: string, service: any): void {\n return globalTachUIInstance.registerService(name, service)\n}"],"names":["SimplifiedTachUIInstance","__publicField","SimplifiedComponentRegistry","SimplifiedPluginManager","name","component","options","service","existed","plugin","pluginName","pluginNames","error","globalTachUIInstance","installPlugin","registerComponent","registerService"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"simplified-types.cjs","sources":["../../src/plugins/simplified-types.ts"],"sourcesContent":["/**\n * Simplified Plugin Types - Phase 1 Implementation\n * \n * Streamlined type definitions for the simplified plugin system.\n * Removes complex configuration schemas, security features, and performance monitoring.\n */\n\nimport type { Component } from '../runtime/types'\nimport type { SimplifiedComponentRegistry } from './simplified-component-registry'\n\n/**\n * Simplified plugin interface with essential properties only\n */\nexport interface TachUIPlugin {\n /** Unique plugin name */\n name: string\n \n /** Plugin version (semver recommended) */\n version: string\n \n /** Plugin description (optional) */\n description?: string\n \n /** Plugin installation function */\n install(instance: TachUIInstance): Promise<void>\n \n /** Plugin uninstallation function (optional) */\n uninstall?(): Promise<void>\n}\n\n/**\n * Simplified TachUI instance interface for plugins\n */\nexport interface TachUIInstance {\n /** Register a component with the framework */\n registerComponent(name: string, component: Component, options?: ComponentRegistrationOptions): void\n \n /** Register a service with the framework */\n registerService(name: string, service: any): void\n \n /** Access to component registry */\n components: SimplifiedComponentRegistry\n \n /** Access to services registry */\n services: Map<string, any>\n}\n\n/**\n * Component registration options (simplified)\n */\nexport interface ComponentRegistrationOptions {\n /** Component category for organization */\n category?: string\n \n /** Tags for component discovery */\n tags?: string[]\n \n /** Whether to overwrite existing component */\n overwrite?: boolean\n}\n\n/**\n * Plugin error class for handling plugin-related errors\n */\nexport class PluginError extends Error {\n constructor(message: string, public code?: string) {\n super(message)\n this.name = 'PluginError'\n }\n}\n\n/**\n * Service registration interface\n */\nexport interface ServiceRegistration {\n name: string\n service: any\n plugin?: string\n}"],"names":["PluginError","message","code"],"mappings":"gFAgEO,MAAMA,UAAoB,KAAM,CACrC,YAAYC,EAAwBC,EAAe,CACjD,MAAMD,CAAO,EADqB,KAAA,KAAAC,EAElC,KAAK,KAAO,aACd,CACF"}
|