@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,479 +0,0 @@
|
|
|
1
|
-
import "../reactive/cleanup.js";
|
|
2
|
-
import "../reactive/unified-scheduler.js";
|
|
3
|
-
import { createSignal as d } from "../reactive/signal.js";
|
|
4
|
-
import "../reactive/scheduler.js";
|
|
5
|
-
import "../reactive/theme.js";
|
|
6
|
-
import { globalErrorManager as u } from "./error-boundary.js";
|
|
7
|
-
var b = Object.defineProperty, w = (n, e, t) => e in n ? b(n, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : n[e] = t, a = (n, e, t) => w(n, typeof e != "symbol" ? e + "" : e, t);
|
|
8
|
-
class f {
|
|
9
|
-
constructor(e = {}) {
|
|
10
|
-
a(this, "entries", []), a(this, "config"), a(this, "sessionId"), a(this, "userId"), a(this, "entriesSignal"), a(this, "setEntries"), this.config = {
|
|
11
|
-
enabled: !0,
|
|
12
|
-
logLevel: "info",
|
|
13
|
-
batchSize: 50,
|
|
14
|
-
batchTimeout: 3e4,
|
|
15
|
-
// 30 seconds
|
|
16
|
-
aggregationWindow: 3e5,
|
|
17
|
-
// 5 minutes
|
|
18
|
-
maxRetries: 3,
|
|
19
|
-
destinations: [],
|
|
20
|
-
enableContextCapture: !0,
|
|
21
|
-
enableStackTrace: !0,
|
|
22
|
-
enableUserTracking: !1,
|
|
23
|
-
enableSessionTracking: !0,
|
|
24
|
-
sensitiveKeys: ["password", "token", "apiKey", "secret"],
|
|
25
|
-
enableCompression: !1,
|
|
26
|
-
...e
|
|
27
|
-
};
|
|
28
|
-
const [t, s] = d([]);
|
|
29
|
-
this.entriesSignal = t, this.setEntries = s, this.sessionId = this.generateSessionId(), this.setupBatchProcessing();
|
|
30
|
-
}
|
|
31
|
-
/**
|
|
32
|
-
* Debug level logging
|
|
33
|
-
*/
|
|
34
|
-
debug(e, t) {
|
|
35
|
-
this.log("debug", e, t);
|
|
36
|
-
}
|
|
37
|
-
/**
|
|
38
|
-
* Info level logging
|
|
39
|
-
*/
|
|
40
|
-
info(e, t) {
|
|
41
|
-
this.log("info", e, t);
|
|
42
|
-
}
|
|
43
|
-
/**
|
|
44
|
-
* Warning level logging
|
|
45
|
-
*/
|
|
46
|
-
warn(e, t) {
|
|
47
|
-
this.log("warn", e, t);
|
|
48
|
-
}
|
|
49
|
-
/**
|
|
50
|
-
* Error level logging
|
|
51
|
-
*/
|
|
52
|
-
error(e, t) {
|
|
53
|
-
this.log("error", e, t);
|
|
54
|
-
}
|
|
55
|
-
/**
|
|
56
|
-
* Fatal level logging
|
|
57
|
-
*/
|
|
58
|
-
fatal(e, t) {
|
|
59
|
-
this.log("fatal", e, t);
|
|
60
|
-
}
|
|
61
|
-
/**
|
|
62
|
-
* Generic logging method
|
|
63
|
-
*/
|
|
64
|
-
log(e, t, s) {
|
|
65
|
-
if (!this.config.enabled || !this.shouldLog(e))
|
|
66
|
-
return;
|
|
67
|
-
const o = {
|
|
68
|
-
id: this.generateId(),
|
|
69
|
-
timestamp: Date.now(),
|
|
70
|
-
level: e,
|
|
71
|
-
message: t,
|
|
72
|
-
context: this.sanitizeContext(s),
|
|
73
|
-
userAgent: typeof window < "u" ? window.navigator.userAgent : void 0,
|
|
74
|
-
url: typeof window < "u" ? window.location.href : void 0,
|
|
75
|
-
userId: this.userId,
|
|
76
|
-
sessionId: this.sessionId,
|
|
77
|
-
stack: this.config.enableStackTrace ? new Error().stack : void 0
|
|
78
|
-
};
|
|
79
|
-
this.addEntry(o), typeof console < "u" && (console[e === "fatal" ? "error" : e] || console.log)(`[${e.toUpperCase()}] ${t}`, s || "");
|
|
80
|
-
}
|
|
81
|
-
/**
|
|
82
|
-
* Check if should log at given level
|
|
83
|
-
*/
|
|
84
|
-
shouldLog(e) {
|
|
85
|
-
const t = ["debug", "info", "warn", "error", "fatal"], s = t.indexOf(this.config.logLevel);
|
|
86
|
-
return t.indexOf(e) >= s;
|
|
87
|
-
}
|
|
88
|
-
/**
|
|
89
|
-
* Add log entry
|
|
90
|
-
*/
|
|
91
|
-
addEntry(e) {
|
|
92
|
-
this.entries.push(e), this.setEntries([...this.entries]), this.entries.length > 1e3 && (this.entries = this.entries.slice(-500), this.setEntries([...this.entries]));
|
|
93
|
-
}
|
|
94
|
-
/**
|
|
95
|
-
* Sanitize context to remove sensitive data
|
|
96
|
-
*/
|
|
97
|
-
sanitizeContext(e) {
|
|
98
|
-
if (!e || !this.config.enableContextCapture) return;
|
|
99
|
-
const t = { ...e };
|
|
100
|
-
for (const s of this.config.sensitiveKeys)
|
|
101
|
-
s in t && (t[s] = "[REDACTED]");
|
|
102
|
-
return t;
|
|
103
|
-
}
|
|
104
|
-
/**
|
|
105
|
-
* Setup batch processing
|
|
106
|
-
*/
|
|
107
|
-
setupBatchProcessing() {
|
|
108
|
-
setInterval(() => {
|
|
109
|
-
this.flushBatch();
|
|
110
|
-
}, this.config.batchTimeout);
|
|
111
|
-
}
|
|
112
|
-
/**
|
|
113
|
-
* Flush current batch of log entries
|
|
114
|
-
*/
|
|
115
|
-
async flushBatch() {
|
|
116
|
-
if (this.entries.length === 0) return;
|
|
117
|
-
const e = this.entries.splice(0, this.config.batchSize);
|
|
118
|
-
for (const t of this.config.destinations)
|
|
119
|
-
if (t.isEnabled())
|
|
120
|
-
try {
|
|
121
|
-
await this.sendWithRetry(t, e);
|
|
122
|
-
} catch (s) {
|
|
123
|
-
console.error(`Failed to send logs to ${t.name}:`, s);
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
/**
|
|
127
|
-
* Send data with retry logic
|
|
128
|
-
*/
|
|
129
|
-
async sendWithRetry(e, t) {
|
|
130
|
-
let s;
|
|
131
|
-
for (let o = 1; o <= this.config.maxRetries; o++)
|
|
132
|
-
try {
|
|
133
|
-
await e.send(t);
|
|
134
|
-
return;
|
|
135
|
-
} catch (r) {
|
|
136
|
-
s = r, o < this.config.maxRetries && await this.sleep(2 ** o * 1e3);
|
|
137
|
-
}
|
|
138
|
-
throw s;
|
|
139
|
-
}
|
|
140
|
-
/**
|
|
141
|
-
* Sleep for specified duration
|
|
142
|
-
*/
|
|
143
|
-
sleep(e) {
|
|
144
|
-
return new Promise((t) => setTimeout(t, e));
|
|
145
|
-
}
|
|
146
|
-
/**
|
|
147
|
-
* Generate unique ID
|
|
148
|
-
*/
|
|
149
|
-
generateId() {
|
|
150
|
-
return `log_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`;
|
|
151
|
-
}
|
|
152
|
-
/**
|
|
153
|
-
* Generate session ID
|
|
154
|
-
*/
|
|
155
|
-
generateSessionId() {
|
|
156
|
-
return `session_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`;
|
|
157
|
-
}
|
|
158
|
-
/**
|
|
159
|
-
* Set user ID for tracking
|
|
160
|
-
*/
|
|
161
|
-
setUserId(e) {
|
|
162
|
-
this.config.enableUserTracking && (this.userId = e);
|
|
163
|
-
}
|
|
164
|
-
/**
|
|
165
|
-
* Get log entries
|
|
166
|
-
*/
|
|
167
|
-
getEntries() {
|
|
168
|
-
return [...this.entries];
|
|
169
|
-
}
|
|
170
|
-
/**
|
|
171
|
-
* Get entries signal
|
|
172
|
-
*/
|
|
173
|
-
getEntriesSignal() {
|
|
174
|
-
return this.entriesSignal;
|
|
175
|
-
}
|
|
176
|
-
/**
|
|
177
|
-
* Add destination
|
|
178
|
-
*/
|
|
179
|
-
addDestination(e) {
|
|
180
|
-
this.config.destinations.push(e);
|
|
181
|
-
}
|
|
182
|
-
/**
|
|
183
|
-
* Remove destination
|
|
184
|
-
*/
|
|
185
|
-
removeDestination(e) {
|
|
186
|
-
this.config.destinations = this.config.destinations.filter((t) => t.name !== e);
|
|
187
|
-
}
|
|
188
|
-
/**
|
|
189
|
-
* Clear all log entries
|
|
190
|
-
*/
|
|
191
|
-
clear() {
|
|
192
|
-
this.entries.length = 0, this.setEntries([]);
|
|
193
|
-
}
|
|
194
|
-
}
|
|
195
|
-
class S {
|
|
196
|
-
constructor(e = {}) {
|
|
197
|
-
a(this, "aggregations", /* @__PURE__ */ new Map()), a(this, "config"), a(this, "aggregationsSignal"), a(this, "setAggregations"), this.config = {
|
|
198
|
-
enabled: !0,
|
|
199
|
-
logLevel: "error",
|
|
200
|
-
batchSize: 10,
|
|
201
|
-
batchTimeout: 6e4,
|
|
202
|
-
// 1 minute
|
|
203
|
-
aggregationWindow: 3e5,
|
|
204
|
-
// 5 minutes
|
|
205
|
-
maxRetries: 3,
|
|
206
|
-
destinations: [],
|
|
207
|
-
enableContextCapture: !0,
|
|
208
|
-
enableStackTrace: !0,
|
|
209
|
-
enableUserTracking: !1,
|
|
210
|
-
enableSessionTracking: !0,
|
|
211
|
-
sensitiveKeys: [],
|
|
212
|
-
enableCompression: !0,
|
|
213
|
-
...e
|
|
214
|
-
};
|
|
215
|
-
const [t, s] = d([]);
|
|
216
|
-
this.aggregationsSignal = t, this.setAggregations = s, this.setupCleanup();
|
|
217
|
-
}
|
|
218
|
-
/**
|
|
219
|
-
* Aggregate error
|
|
220
|
-
*/
|
|
221
|
-
aggregateError(e) {
|
|
222
|
-
const t = this.generateFingerprint(e), s = this.aggregations.get(t);
|
|
223
|
-
if (s)
|
|
224
|
-
s.count++, s.lastSeen = e.timestamp, s.samples.push(e), s.samples.length > 5 && (s.samples = s.samples.slice(-5)), e.componentId && !s.affectedComponents.includes(e.componentId) && s.affectedComponents.push(e.componentId);
|
|
225
|
-
else {
|
|
226
|
-
const o = {
|
|
227
|
-
id: t,
|
|
228
|
-
message: e.message,
|
|
229
|
-
category: e.category,
|
|
230
|
-
severity: e.severity,
|
|
231
|
-
count: 1,
|
|
232
|
-
firstSeen: e.timestamp,
|
|
233
|
-
lastSeen: e.timestamp,
|
|
234
|
-
affectedComponents: e.componentId ? [e.componentId] : [],
|
|
235
|
-
samples: [e],
|
|
236
|
-
fingerprint: t
|
|
237
|
-
};
|
|
238
|
-
this.aggregations.set(t, o);
|
|
239
|
-
}
|
|
240
|
-
this.setAggregations(Array.from(this.aggregations.values()));
|
|
241
|
-
}
|
|
242
|
-
/**
|
|
243
|
-
* Generate error fingerprint for grouping
|
|
244
|
-
*/
|
|
245
|
-
generateFingerprint(e) {
|
|
246
|
-
return [
|
|
247
|
-
e.category,
|
|
248
|
-
e.message.replace(/\d+/g, "N"),
|
|
249
|
-
// Replace numbers with N
|
|
250
|
-
e.componentName || "unknown"
|
|
251
|
-
].join("|");
|
|
252
|
-
}
|
|
253
|
-
/**
|
|
254
|
-
* Setup cleanup of old aggregations
|
|
255
|
-
*/
|
|
256
|
-
setupCleanup() {
|
|
257
|
-
setInterval(() => {
|
|
258
|
-
this.cleanupOldAggregations();
|
|
259
|
-
}, this.config.aggregationWindow);
|
|
260
|
-
}
|
|
261
|
-
/**
|
|
262
|
-
* Cleanup old aggregations
|
|
263
|
-
*/
|
|
264
|
-
cleanupOldAggregations() {
|
|
265
|
-
const e = Date.now() - this.config.aggregationWindow;
|
|
266
|
-
for (const [t, s] of this.aggregations)
|
|
267
|
-
s.lastSeen < e && this.aggregations.delete(t);
|
|
268
|
-
this.setAggregations(Array.from(this.aggregations.values()));
|
|
269
|
-
}
|
|
270
|
-
/**
|
|
271
|
-
* Get aggregations
|
|
272
|
-
*/
|
|
273
|
-
getAggregations() {
|
|
274
|
-
return Array.from(this.aggregations.values());
|
|
275
|
-
}
|
|
276
|
-
/**
|
|
277
|
-
* Get aggregations signal
|
|
278
|
-
*/
|
|
279
|
-
getAggregationsSignal() {
|
|
280
|
-
return this.aggregationsSignal;
|
|
281
|
-
}
|
|
282
|
-
/**
|
|
283
|
-
* Get top errors by count
|
|
284
|
-
*/
|
|
285
|
-
getTopErrors(e = 10) {
|
|
286
|
-
return Array.from(this.aggregations.values()).sort((t, s) => s.count - t.count).slice(0, e);
|
|
287
|
-
}
|
|
288
|
-
/**
|
|
289
|
-
* Clear aggregations
|
|
290
|
-
*/
|
|
291
|
-
clear() {
|
|
292
|
-
this.aggregations.clear(), this.setAggregations([]);
|
|
293
|
-
}
|
|
294
|
-
}
|
|
295
|
-
const g = {
|
|
296
|
-
/**
|
|
297
|
-
* Console destination
|
|
298
|
-
*/
|
|
299
|
-
console: {
|
|
300
|
-
name: "console",
|
|
301
|
-
async send(n) {
|
|
302
|
-
console.group("TachUI Report"), n.forEach((e) => {
|
|
303
|
-
"level" in e ? console.log(`[${e.level}] ${e.message}`, e.context || "") : console.log(`Error: ${e.message} (${e.count} times)`);
|
|
304
|
-
}), console.groupEnd();
|
|
305
|
-
},
|
|
306
|
-
isEnabled() {
|
|
307
|
-
return typeof console < "u";
|
|
308
|
-
}
|
|
309
|
-
},
|
|
310
|
-
/**
|
|
311
|
-
* Local storage destination
|
|
312
|
-
*/
|
|
313
|
-
localStorage: {
|
|
314
|
-
name: "localStorage",
|
|
315
|
-
async send(n) {
|
|
316
|
-
try {
|
|
317
|
-
const e = "level" in n[0] ? "tachui_logs" : "tachui_error_aggregations", s = [...JSON.parse(localStorage.getItem(e) || "[]"), ...n];
|
|
318
|
-
s.length > 100 && s.splice(0, s.length - 100), localStorage.setItem(e, JSON.stringify(s));
|
|
319
|
-
} catch (e) {
|
|
320
|
-
console.error("Failed to save to localStorage:", e);
|
|
321
|
-
}
|
|
322
|
-
},
|
|
323
|
-
isEnabled() {
|
|
324
|
-
return typeof localStorage < "u";
|
|
325
|
-
}
|
|
326
|
-
},
|
|
327
|
-
/**
|
|
328
|
-
* Create HTTP destination
|
|
329
|
-
*/
|
|
330
|
-
createHttpDestination(n, e) {
|
|
331
|
-
return {
|
|
332
|
-
name: "http",
|
|
333
|
-
async send(t) {
|
|
334
|
-
const s = {
|
|
335
|
-
"Content-Type": "application/json"
|
|
336
|
-
};
|
|
337
|
-
e && (s.Authorization = `Bearer ${e}`);
|
|
338
|
-
const o = await fetch(n, {
|
|
339
|
-
method: "POST",
|
|
340
|
-
headers: s,
|
|
341
|
-
body: JSON.stringify({
|
|
342
|
-
type: "level" in t[0] ? "logs" : "error_aggregations",
|
|
343
|
-
data: t,
|
|
344
|
-
timestamp: Date.now()
|
|
345
|
-
})
|
|
346
|
-
});
|
|
347
|
-
if (!o.ok)
|
|
348
|
-
throw new Error(`HTTP ${o.status}: ${o.statusText}`);
|
|
349
|
-
},
|
|
350
|
-
isEnabled() {
|
|
351
|
-
return typeof fetch < "u";
|
|
352
|
-
}
|
|
353
|
-
};
|
|
354
|
-
},
|
|
355
|
-
/**
|
|
356
|
-
* Create webhook destination
|
|
357
|
-
*/
|
|
358
|
-
createWebhookDestination(n, e = {}) {
|
|
359
|
-
const t = (o) => ({ blocks: o.slice(0, 5).map((i) => "level" in i ? {
|
|
360
|
-
type: "section",
|
|
361
|
-
text: {
|
|
362
|
-
type: "mrkdwn",
|
|
363
|
-
text: `*${i.level.toUpperCase()}*: ${i.message}`
|
|
364
|
-
}
|
|
365
|
-
} : {
|
|
366
|
-
type: "section",
|
|
367
|
-
text: {
|
|
368
|
-
type: "mrkdwn",
|
|
369
|
-
text: `*Error*: ${i.message} (${i.count} occurrences)`
|
|
370
|
-
}
|
|
371
|
-
}) }), s = (o) => ({
|
|
372
|
-
embeds: [
|
|
373
|
-
{
|
|
374
|
-
title: "TachUI Report",
|
|
375
|
-
description: o.slice(0, 5).map((i) => "level" in i ? `**${i.level.toUpperCase()}**: ${i.message}` : `**Error**: ${i.message} (${i.count} times)`).join(`
|
|
376
|
-
`),
|
|
377
|
-
color: 16711680
|
|
378
|
-
}
|
|
379
|
-
]
|
|
380
|
-
});
|
|
381
|
-
return {
|
|
382
|
-
name: "webhook",
|
|
383
|
-
async send(o) {
|
|
384
|
-
const r = e.onlyErrors ? o.filter(
|
|
385
|
-
(l) => "level" in l && ["error", "fatal"].includes(l.level) || "count" in l
|
|
386
|
-
) : o;
|
|
387
|
-
if (r.length === 0) return;
|
|
388
|
-
let i;
|
|
389
|
-
switch (e.format) {
|
|
390
|
-
case "slack":
|
|
391
|
-
i = t(r);
|
|
392
|
-
break;
|
|
393
|
-
case "discord":
|
|
394
|
-
i = s(r);
|
|
395
|
-
break;
|
|
396
|
-
default:
|
|
397
|
-
i = { data: r };
|
|
398
|
-
}
|
|
399
|
-
const c = await fetch(n, {
|
|
400
|
-
method: "POST",
|
|
401
|
-
headers: { "Content-Type": "application/json" },
|
|
402
|
-
body: JSON.stringify(i)
|
|
403
|
-
});
|
|
404
|
-
if (!c.ok)
|
|
405
|
-
throw new Error(`Webhook failed: ${c.status}`);
|
|
406
|
-
},
|
|
407
|
-
isEnabled() {
|
|
408
|
-
return typeof fetch < "u";
|
|
409
|
-
}
|
|
410
|
-
};
|
|
411
|
-
}
|
|
412
|
-
}, p = new f({
|
|
413
|
-
logLevel: "info",
|
|
414
|
-
destinations: [g.console]
|
|
415
|
-
}), m = new S();
|
|
416
|
-
function h(n = {}) {
|
|
417
|
-
u.addHandler((e) => {
|
|
418
|
-
m.aggregateError(e), p.error(e.message, {
|
|
419
|
-
category: e.category,
|
|
420
|
-
severity: e.severity,
|
|
421
|
-
componentId: e.componentId,
|
|
422
|
-
componentName: e.componentName,
|
|
423
|
-
context: e.context
|
|
424
|
-
});
|
|
425
|
-
});
|
|
426
|
-
}
|
|
427
|
-
const $ = {
|
|
428
|
-
/**
|
|
429
|
-
* Setup development reporting
|
|
430
|
-
*/
|
|
431
|
-
setupDevelopment() {
|
|
432
|
-
h({
|
|
433
|
-
destinations: [g.console, g.localStorage]
|
|
434
|
-
});
|
|
435
|
-
},
|
|
436
|
-
/**
|
|
437
|
-
* Setup production reporting
|
|
438
|
-
*/
|
|
439
|
-
setupProduction(n) {
|
|
440
|
-
const e = [];
|
|
441
|
-
n.endpoint && e.push(g.createHttpDestination(n.endpoint, n.apiKey)), n.webhookUrl && e.push(
|
|
442
|
-
g.createWebhookDestination(n.webhookUrl, {
|
|
443
|
-
format: "slack",
|
|
444
|
-
onlyErrors: !0
|
|
445
|
-
})
|
|
446
|
-
), h({
|
|
447
|
-
logLevel: n.logLevel || "warn"
|
|
448
|
-
});
|
|
449
|
-
},
|
|
450
|
-
/**
|
|
451
|
-
* Create custom logger
|
|
452
|
-
*/
|
|
453
|
-
createLogger(n, e) {
|
|
454
|
-
const t = new f(e), s = t.log.bind(t);
|
|
455
|
-
return t.log = (o, r, i) => {
|
|
456
|
-
s(o, `[${n}] ${r}`, i);
|
|
457
|
-
}, t;
|
|
458
|
-
},
|
|
459
|
-
/**
|
|
460
|
-
* Get error report
|
|
461
|
-
*/
|
|
462
|
-
getErrorReport() {
|
|
463
|
-
return {
|
|
464
|
-
logs: p.getEntries(),
|
|
465
|
-
aggregations: m.getAggregations(),
|
|
466
|
-
statistics: u.getStatistics()
|
|
467
|
-
};
|
|
468
|
-
}
|
|
469
|
-
};
|
|
470
|
-
export {
|
|
471
|
-
S as ErrorAggregator,
|
|
472
|
-
f as StructuredLogger,
|
|
473
|
-
m as globalErrorAggregator,
|
|
474
|
-
p as globalLogger,
|
|
475
|
-
g as reportDestinations,
|
|
476
|
-
$ as reportingUtils,
|
|
477
|
-
h as setupErrorReporting
|
|
478
|
-
};
|
|
479
|
-
//# sourceMappingURL=error-reporting.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"error-reporting.js","sources":["../../src/runtime/error-reporting.ts"],"sourcesContent":["/**\n * Error Reporting and Logging System (Phase 3.2.3)\n *\n * Advanced error reporting, logging, and analytics for TachUI.\n * Provides structured logging, error aggregation, and reporting pipelines.\n */\n\nimport { createSignal } from '../reactive'\nimport {\n type ErrorCategory,\n type ErrorSeverity,\n globalErrorManager,\n type TachUIError,\n} from './error-boundary'\n\n/**\n * Log levels\n */\nexport type LogLevel = 'debug' | 'info' | 'warn' | 'error' | 'fatal'\n\n/**\n * Log entry structure\n */\nexport interface LogEntry {\n id: string\n timestamp: number\n level: LogLevel\n message: string\n category?: string\n componentId?: string\n componentName?: string\n context?: Record<string, any>\n stack?: string\n userAgent?: string\n url?: string\n userId?: string\n sessionId?: string\n tags?: string[]\n}\n\n/**\n * Error aggregation data\n */\nexport interface ErrorAggregation {\n id: string\n message: string\n category: ErrorCategory\n severity: ErrorSeverity\n count: number\n firstSeen: number\n lastSeen: number\n affectedComponents: string[]\n samples: TachUIError[]\n fingerprint: string\n}\n\n/**\n * Logger interface\n */\nexport interface Logger {\n debug(message: string, context?: Record<string, any>): void\n info(message: string, context?: Record<string, any>): void\n warn(message: string, context?: Record<string, any>): void\n error(message: string, context?: Record<string, any>): void\n fatal(message: string, context?: Record<string, any>): void\n log(level: LogLevel, message: string, context?: Record<string, any>): void\n}\n\n/**\n * Report destination interface\n */\nexport interface ReportDestination {\n name: string\n send(data: LogEntry[] | ErrorAggregation[]): Promise<void>\n isEnabled(): boolean\n}\n\n/**\n * Reporting configuration\n */\nexport interface ReportingConfig {\n enabled: boolean\n logLevel: LogLevel\n batchSize: number\n batchTimeout: number\n aggregationWindow: number\n maxRetries: number\n destinations: ReportDestination[]\n enableContextCapture: boolean\n enableStackTrace: boolean\n enableUserTracking: boolean\n enableSessionTracking: boolean\n sensitiveKeys: string[]\n enableCompression: boolean\n}\n\n/**\n * Structured logger implementation\n */\nexport class StructuredLogger implements Logger {\n private entries: LogEntry[] = []\n private config: ReportingConfig\n private sessionId: string\n private userId?: string\n\n // Reactive state\n private entriesSignal: () => LogEntry[]\n private setEntries: (value: LogEntry[]) => void\n\n constructor(config: Partial<ReportingConfig> = {}) {\n this.config = {\n enabled: true,\n logLevel: 'info',\n batchSize: 50,\n batchTimeout: 30000, // 30 seconds\n aggregationWindow: 300000, // 5 minutes\n maxRetries: 3,\n destinations: [],\n enableContextCapture: true,\n enableStackTrace: true,\n enableUserTracking: false,\n enableSessionTracking: true,\n sensitiveKeys: ['password', 'token', 'apiKey', 'secret'],\n enableCompression: false,\n ...config,\n }\n\n // Initialize reactive state\n const [entriesSignal, setEntries] = createSignal<LogEntry[]>([])\n this.entriesSignal = entriesSignal\n this.setEntries = setEntries\n\n this.sessionId = this.generateSessionId()\n this.setupBatchProcessing()\n }\n\n /**\n * Debug level logging\n */\n debug(message: string, context?: Record<string, any>): void {\n this.log('debug', message, context)\n }\n\n /**\n * Info level logging\n */\n info(message: string, context?: Record<string, any>): void {\n this.log('info', message, context)\n }\n\n /**\n * Warning level logging\n */\n warn(message: string, context?: Record<string, any>): void {\n this.log('warn', message, context)\n }\n\n /**\n * Error level logging\n */\n error(message: string, context?: Record<string, any>): void {\n this.log('error', message, context)\n }\n\n /**\n * Fatal level logging\n */\n fatal(message: string, context?: Record<string, any>): void {\n this.log('fatal', message, context)\n }\n\n /**\n * Generic logging method\n */\n log(level: LogLevel, message: string, context?: Record<string, any>): void {\n if (!this.config.enabled || !this.shouldLog(level)) {\n return\n }\n\n const entry: LogEntry = {\n id: this.generateId(),\n timestamp: Date.now(),\n level,\n message,\n context: this.sanitizeContext(context),\n userAgent: typeof window !== 'undefined' ? window.navigator.userAgent : undefined,\n url: typeof window !== 'undefined' ? window.location.href : undefined,\n userId: this.userId,\n sessionId: this.sessionId,\n stack: this.config.enableStackTrace ? new Error().stack : undefined,\n }\n\n this.addEntry(entry)\n\n // Console logging in development\n if (typeof console !== 'undefined') {\n const consoleLevel = level === 'fatal' ? 'error' : level\n const consoleFn = (console as any)[consoleLevel] || console.log\n consoleFn(`[${level.toUpperCase()}] ${message}`, context || '')\n }\n }\n\n /**\n * Check if should log at given level\n */\n private shouldLog(level: LogLevel): boolean {\n const levels: LogLevel[] = ['debug', 'info', 'warn', 'error', 'fatal']\n const currentLevelIndex = levels.indexOf(this.config.logLevel)\n const requestedLevelIndex = levels.indexOf(level)\n\n return requestedLevelIndex >= currentLevelIndex\n }\n\n /**\n * Add log entry\n */\n private addEntry(entry: LogEntry): void {\n this.entries.push(entry)\n this.setEntries([...this.entries])\n\n // Limit entries array size\n if (this.entries.length > 1000) {\n this.entries = this.entries.slice(-500)\n this.setEntries([...this.entries])\n }\n }\n\n /**\n * Sanitize context to remove sensitive data\n */\n private sanitizeContext(context?: Record<string, any>): Record<string, any> | undefined {\n if (!context || !this.config.enableContextCapture) return undefined\n\n const sanitized = { ...context }\n\n for (const key of this.config.sensitiveKeys) {\n if (key in sanitized) {\n sanitized[key] = '[REDACTED]'\n }\n }\n\n return sanitized\n }\n\n /**\n * Setup batch processing\n */\n private setupBatchProcessing(): void {\n setInterval(() => {\n this.flushBatch()\n }, this.config.batchTimeout)\n }\n\n /**\n * Flush current batch of log entries\n */\n private async flushBatch(): Promise<void> {\n if (this.entries.length === 0) return\n\n const batch = this.entries.splice(0, this.config.batchSize)\n\n for (const destination of this.config.destinations) {\n if (destination.isEnabled()) {\n try {\n await this.sendWithRetry(destination, batch)\n } catch (error) {\n console.error(`Failed to send logs to ${destination.name}:`, error)\n }\n }\n }\n }\n\n /**\n * Send data with retry logic\n */\n private async sendWithRetry(destination: ReportDestination, data: LogEntry[]): Promise<void> {\n let lastError: Error\n\n for (let attempt = 1; attempt <= this.config.maxRetries; attempt++) {\n try {\n await destination.send(data)\n return\n } catch (error) {\n lastError = error as Error\n\n if (attempt < this.config.maxRetries) {\n await this.sleep(2 ** attempt * 1000) // Exponential backoff\n }\n }\n }\n\n throw lastError!\n }\n\n /**\n * Sleep for specified duration\n */\n private sleep(ms: number): Promise<void> {\n return new Promise((resolve) => setTimeout(resolve, ms))\n }\n\n /**\n * Generate unique ID\n */\n private generateId(): string {\n return `log_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`\n }\n\n /**\n * Generate session ID\n */\n private generateSessionId(): string {\n return `session_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`\n }\n\n /**\n * Set user ID for tracking\n */\n setUserId(userId: string): void {\n if (this.config.enableUserTracking) {\n this.userId = userId\n }\n }\n\n /**\n * Get log entries\n */\n getEntries(): LogEntry[] {\n return [...this.entries]\n }\n\n /**\n * Get entries signal\n */\n getEntriesSignal(): () => LogEntry[] {\n return this.entriesSignal\n }\n\n /**\n * Add destination\n */\n addDestination(destination: ReportDestination): void {\n this.config.destinations.push(destination)\n }\n\n /**\n * Remove destination\n */\n removeDestination(name: string): void {\n this.config.destinations = this.config.destinations.filter((d) => d.name !== name)\n }\n\n /**\n * Clear all log entries\n */\n clear(): void {\n this.entries.length = 0\n this.setEntries([])\n }\n}\n\n/**\n * Error aggregator\n */\nexport class ErrorAggregator {\n private aggregations = new Map<string, ErrorAggregation>()\n private config: ReportingConfig\n\n // Reactive state\n private aggregationsSignal: () => ErrorAggregation[]\n private setAggregations: (value: ErrorAggregation[]) => void\n\n constructor(config: Partial<ReportingConfig> = {}) {\n this.config = {\n enabled: true,\n logLevel: 'error',\n batchSize: 10,\n batchTimeout: 60000, // 1 minute\n aggregationWindow: 300000, // 5 minutes\n maxRetries: 3,\n destinations: [],\n enableContextCapture: true,\n enableStackTrace: true,\n enableUserTracking: false,\n enableSessionTracking: true,\n sensitiveKeys: [],\n enableCompression: true,\n ...config,\n }\n\n // Initialize reactive state\n const [aggregationsSignal, setAggregations] = createSignal<ErrorAggregation[]>([])\n this.aggregationsSignal = aggregationsSignal\n this.setAggregations = setAggregations\n\n this.setupCleanup()\n }\n\n /**\n * Aggregate error\n */\n aggregateError(error: TachUIError): void {\n const fingerprint = this.generateFingerprint(error)\n const existing = this.aggregations.get(fingerprint)\n\n if (existing) {\n existing.count++\n existing.lastSeen = error.timestamp\n existing.samples.push(error)\n\n // Keep only recent samples\n if (existing.samples.length > 5) {\n existing.samples = existing.samples.slice(-5)\n }\n\n if (error.componentId && !existing.affectedComponents.includes(error.componentId)) {\n existing.affectedComponents.push(error.componentId)\n }\n } else {\n const aggregation: ErrorAggregation = {\n id: fingerprint,\n message: error.message,\n category: error.category,\n severity: error.severity,\n count: 1,\n firstSeen: error.timestamp,\n lastSeen: error.timestamp,\n affectedComponents: error.componentId ? [error.componentId] : [],\n samples: [error],\n fingerprint,\n }\n\n this.aggregations.set(fingerprint, aggregation)\n }\n\n this.setAggregations(Array.from(this.aggregations.values()))\n }\n\n /**\n * Generate error fingerprint for grouping\n */\n private generateFingerprint(error: TachUIError): string {\n // Create a consistent hash based on error characteristics\n const components = [\n error.category,\n error.message.replace(/\\d+/g, 'N'), // Replace numbers with N\n error.componentName || 'unknown',\n ]\n\n return components.join('|')\n }\n\n /**\n * Setup cleanup of old aggregations\n */\n private setupCleanup(): void {\n setInterval(() => {\n this.cleanupOldAggregations()\n }, this.config.aggregationWindow)\n }\n\n /**\n * Cleanup old aggregations\n */\n private cleanupOldAggregations(): void {\n const cutoff = Date.now() - this.config.aggregationWindow\n\n for (const [fingerprint, aggregation] of this.aggregations) {\n if (aggregation.lastSeen < cutoff) {\n this.aggregations.delete(fingerprint)\n }\n }\n\n this.setAggregations(Array.from(this.aggregations.values()))\n }\n\n /**\n * Get aggregations\n */\n getAggregations(): ErrorAggregation[] {\n return Array.from(this.aggregations.values())\n }\n\n /**\n * Get aggregations signal\n */\n getAggregationsSignal(): () => ErrorAggregation[] {\n return this.aggregationsSignal\n }\n\n /**\n * Get top errors by count\n */\n getTopErrors(limit: number = 10): ErrorAggregation[] {\n return Array.from(this.aggregations.values())\n .sort((a, b) => b.count - a.count)\n .slice(0, limit)\n }\n\n /**\n * Clear aggregations\n */\n clear(): void {\n this.aggregations.clear()\n this.setAggregations([])\n }\n}\n\n/**\n * Built-in report destinations\n */\nexport const reportDestinations = {\n /**\n * Console destination\n */\n console: {\n name: 'console',\n async send(data: LogEntry[] | ErrorAggregation[]): Promise<void> {\n console.group('TachUI Report')\n data.forEach((entry) => {\n if ('level' in entry) {\n console.log(`[${entry.level}] ${entry.message}`, entry.context || '')\n } else {\n console.log(`Error: ${entry.message} (${entry.count} times)`)\n }\n })\n console.groupEnd()\n },\n isEnabled(): boolean {\n return typeof console !== 'undefined'\n },\n } as ReportDestination,\n\n /**\n * Local storage destination\n */\n localStorage: {\n name: 'localStorage',\n async send(data: LogEntry[] | ErrorAggregation[]): Promise<void> {\n try {\n const key = 'level' in data[0] ? 'tachui_logs' : 'tachui_error_aggregations'\n const existing = JSON.parse(localStorage.getItem(key) || '[]')\n const combined = [...existing, ...data]\n\n // Keep only last 100 entries\n if (combined.length > 100) {\n combined.splice(0, combined.length - 100)\n }\n\n localStorage.setItem(key, JSON.stringify(combined))\n } catch (error) {\n console.error('Failed to save to localStorage:', error)\n }\n },\n isEnabled(): boolean {\n return typeof localStorage !== 'undefined'\n },\n } as ReportDestination,\n\n /**\n * Create HTTP destination\n */\n createHttpDestination(endpoint: string, apiKey?: string): ReportDestination {\n return {\n name: 'http',\n async send(data: LogEntry[] | ErrorAggregation[]): Promise<void> {\n const headers: HeadersInit = {\n 'Content-Type': 'application/json',\n }\n\n if (apiKey) {\n headers.Authorization = `Bearer ${apiKey}`\n }\n\n const response = await fetch(endpoint, {\n method: 'POST',\n headers,\n body: JSON.stringify({\n type: 'level' in data[0] ? 'logs' : 'error_aggregations',\n data,\n timestamp: Date.now(),\n }),\n })\n\n if (!response.ok) {\n throw new Error(`HTTP ${response.status}: ${response.statusText}`)\n }\n },\n isEnabled(): boolean {\n return typeof fetch !== 'undefined'\n },\n }\n },\n\n /**\n * Create webhook destination\n */\n createWebhookDestination(\n webhookUrl: string,\n options: {\n format?: 'slack' | 'discord' | 'teams' | 'generic'\n onlyErrors?: boolean\n } = {}\n ): ReportDestination {\n const formatForSlack = (data: (LogEntry | ErrorAggregation)[]): any => {\n const blocks = data.slice(0, 5).map((entry) => {\n if ('level' in entry) {\n return {\n type: 'section',\n text: {\n type: 'mrkdwn',\n text: `*${entry.level.toUpperCase()}*: ${entry.message}`,\n },\n }\n } else {\n return {\n type: 'section',\n text: {\n type: 'mrkdwn',\n text: `*Error*: ${entry.message} (${entry.count} occurrences)`,\n },\n }\n }\n })\n\n return { blocks }\n }\n\n const formatForDiscord = (data: (LogEntry | ErrorAggregation)[]): any => {\n const description = data\n .slice(0, 5)\n .map((entry) => {\n if ('level' in entry) {\n return `**${entry.level.toUpperCase()}**: ${entry.message}`\n } else {\n return `**Error**: ${entry.message} (${entry.count} times)`\n }\n })\n .join('\\n')\n\n return {\n embeds: [\n {\n title: 'TachUI Report',\n description,\n color: 0xff0000,\n },\n ],\n }\n }\n\n return {\n name: 'webhook',\n async send(data: LogEntry[] | ErrorAggregation[]): Promise<void> {\n const filteredData = options.onlyErrors\n ? data.filter(\n (entry) =>\n ('level' in entry && ['error', 'fatal'].includes(entry.level)) || 'count' in entry\n )\n : data\n\n if (filteredData.length === 0) return\n\n let payload: any\n\n switch (options.format) {\n case 'slack':\n payload = formatForSlack(filteredData)\n break\n case 'discord':\n payload = formatForDiscord(filteredData)\n break\n default:\n payload = { data: filteredData }\n }\n\n const response = await fetch(webhookUrl, {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify(payload),\n })\n\n if (!response.ok) {\n throw new Error(`Webhook failed: ${response.status}`)\n }\n },\n isEnabled(): boolean {\n return typeof fetch !== 'undefined'\n },\n }\n },\n}\n\n/**\n * Global logger instance\n */\nexport const globalLogger = new StructuredLogger({\n logLevel: 'info',\n destinations: [reportDestinations.console],\n})\n\n/**\n * Global error aggregator\n */\nexport const globalErrorAggregator = new ErrorAggregator()\n\n/**\n * Setup error reporting integration\n */\nexport function setupErrorReporting(config: Partial<ReportingConfig> = {}): void {\n // Configure logger by creating a new instance with merged config\n // Note: This assumes globalLogger has a way to get current config or we need to refactor\n // For now, we'll skip the config merge since there's no public API for it\n \n // TODO: Implement config usage once StructuredLogger has a public configure method\n void config // Silence unused parameter warning\n\n // Setup error aggregation\n globalErrorManager.addHandler((error: TachUIError) => {\n globalErrorAggregator.aggregateError(error)\n globalLogger.error(error.message, {\n category: error.category,\n severity: error.severity,\n componentId: error.componentId,\n componentName: error.componentName,\n context: error.context,\n })\n })\n}\n\n/**\n * Reporting utilities\n */\nexport const reportingUtils = {\n /**\n * Setup development reporting\n */\n setupDevelopment(): void {\n setupErrorReporting({\n logLevel: 'debug',\n enableStackTrace: true,\n enableContextCapture: true,\n destinations: [reportDestinations.console, reportDestinations.localStorage],\n })\n },\n\n /**\n * Setup production reporting\n */\n setupProduction(config: {\n endpoint?: string\n apiKey?: string\n webhookUrl?: string\n logLevel?: LogLevel\n }): void {\n const destinations: ReportDestination[] = []\n\n if (config.endpoint) {\n destinations.push(reportDestinations.createHttpDestination(config.endpoint, config.apiKey))\n }\n\n if (config.webhookUrl) {\n destinations.push(\n reportDestinations.createWebhookDestination(config.webhookUrl, {\n format: 'slack',\n onlyErrors: true,\n })\n )\n }\n\n setupErrorReporting({\n logLevel: config.logLevel || 'warn',\n enableStackTrace: false,\n enableContextCapture: false,\n destinations,\n })\n },\n\n /**\n * Create custom logger\n */\n createLogger(name: string, config?: Partial<ReportingConfig>): Logger {\n const logger = new StructuredLogger(config)\n\n // Wrap methods to include logger name\n const originalLog = logger.log.bind(logger)\n logger.log = (level: LogLevel, message: string, context?: Record<string, any>) => {\n originalLog(level, `[${name}] ${message}`, context)\n }\n\n return logger\n },\n\n /**\n * Get error report\n */\n getErrorReport(): {\n logs: LogEntry[]\n aggregations: ErrorAggregation[]\n statistics: any\n } {\n return {\n logs: globalLogger.getEntries(),\n aggregations: globalErrorAggregator.getAggregations(),\n statistics: globalErrorManager.getStatistics(),\n }\n },\n}\n"],"names":["StructuredLogger","config","__publicField","entriesSignal","setEntries","createSignal","message","context","level","entry","levels","currentLevelIndex","sanitized","key","batch","destination","error","data","lastError","attempt","ms","resolve","userId","name","d","ErrorAggregator","aggregationsSignal","setAggregations","fingerprint","existing","aggregation","cutoff","limit","a","b","reportDestinations","combined","endpoint","apiKey","headers","response","webhookUrl","options","formatForSlack","formatForDiscord","filteredData","payload","globalLogger","globalErrorAggregator","setupErrorReporting","globalErrorManager","reportingUtils","destinations","logger","originalLog"],"mappings":"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"}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("../reactive/cleanup.cjs");const y=require("../reactive/computed.cjs");require("../reactive/unified-scheduler.cjs");const m=require("../reactive/signal.cjs");require("../reactive/scheduler.cjs");require("../reactive/theme.cjs");const i=require("./error-boundary.cjs"),u=require("./error-reporting.cjs");var b=Object.defineProperty,w=(s,e,o)=>e in s?b(s,e,{enumerable:!0,configurable:!0,writable:!0,value:o}):s[e]=o,v=(s,e,o)=>w(s,e+"",o);class f{constructor(){v(this,"windowSize",100)}analyzePatterns(e){const o=e.slice(-this.windowSize),r=this.detectErrorPatterns(o),t=this.detectCascadingErrors(o),n=this.detectErrorCorrelations(o);return{patterns:r,cascadingErrors:t,correlations:n}}detectErrorPatterns(e){const o=new Map;for(const r of e){const t=`${r.category}:${r.componentName||"unknown"}`;o.set(t,(o.get(t)||0)+1);const n=this.extractMessagePattern(r.message);o.set(n,(o.get(n)||0)+1)}return Array.from(o.entries()).map(([r,t])=>({pattern:r,count:t,severity:t>10?"high":t>5?"medium":"low"})).sort((r,t)=>t.count-r.count)}extractMessagePattern(e){return e.replace(/\d+/g,"N").replace(/['"]/g,"").replace(/\s+/g," ").toLowerCase()}detectCascadingErrors(e){const o=[];for(let t=0;t<e.length;t++){const n=[e[t]];for(let a=t+1;a<e.length&&e[a].timestamp-e[t].timestamp<=1e3;a++)n.push(e[a]);n.length>1&&(o.push(n),t+=n.length-1)}return o}detectErrorCorrelations(e){const o=[],r=new Set(e.map(t=>t.message));for(const t of r)for(const n of r){if(t>=n)continue;const a=this.calculateCorrelation(e,t,n);a>.5&&o.push({error1:t,error2:n,correlation:a})}return o.sort((t,n)=>n.correlation-t.correlation)}calculateCorrelation(e,o,r){const n=new Map;for(const l of e){const p=Math.floor(l.timestamp/5e3),d=n.get(p)||{type1:!1,type2:!1};l.message===o&&(d.type1=!0),l.message===r&&(d.type2=!0),n.set(p,d)}const a=Array.from(n.values()),c=a.filter(l=>l.type1&&l.type2).length,g=a.filter(l=>l.type1||l.type2).length;return g>0?c/g:0}}class h{analyzeStackTrace(e){if(!e.stack)return{frames:[],affectedComponents:[],suggestedFixes:[]};const o=this.parseStackTrace(e.stack),r=this.identifyRootCause(o,e),t=this.extractAffectedComponents(o),n=this.generateSuggestedFixes(e,o);return{frames:o,rootCause:r,affectedComponents:t,suggestedFixes:n}}parseStackTrace(e){const o=e.split(`
|
|
2
|
-
`).slice(1),r=[];for(const t of o){const n=t.match(/at\s+(.+?)\s+\((.+?):(\d+):(\d+)\)/)||t.match(/at\s+(.+?):(\d+):(\d+)/);n&&(n.length===5?r.push({function:n[1]||"anonymous",file:n[2],line:parseInt(n[3]),column:parseInt(n[4])}):n.length===4&&r.push({function:"anonymous",file:n[1],line:parseInt(n[2]),column:parseInt(n[3])}))}return r}identifyRootCause(e,o){const r=e.filter(t=>t.file.includes("tachui")||t.function.includes("Component")||t.function.includes("render"));if(r.length>0){const t=r[0];return`Error in ${t.function} at ${t.file}:${t.line}`}if(e.length>0)return`Error in ${e[0].function}`}extractAffectedComponents(e){const o=new Set;for(const r of e){const t=r.function.match(/(\w+Component)|(\w+\.render)/);t&&o.add(t[1]||t[2].replace(".render",""))}return Array.from(o)}generateSuggestedFixes(e,o){const r=[];switch(e.category){case"component_error":r.push("Check component props and state"),r.push("Verify component lifecycle methods"),o.some(t=>t.function.includes("render"))&&r.push("Review render method for potential null/undefined values");break;case"reactive_error":r.push("Check signal dependencies and computed values"),r.push("Verify effect cleanup functions");break;case"render_error":r.push("Check DOM element references"),r.push("Verify element properties and attributes");break;case"validation_error":r.push("Review input validation logic"),r.push("Check data types and required fields");break;case"network_error":r.push("Check network connectivity"),r.push("Verify API endpoints and request format"),r.push("Implement proper error handling for network requests");break}return(e.message.includes("null")||e.message.includes("undefined"))&&r.push("Add null/undefined checks before accessing properties"),e.message.includes("TypeError")&&r.push("Verify variable types and method availability"),r}}class E{analyzePerformanceImpact(e){const o=e.length,r=[...new Set(e.map(c=>c.componentId).filter(Boolean))],t=this.calculateAverageRenderTime(r),n=this.calculateMemoryUsage(r),a=this.calculatePerformanceDegradation(e);return{errorCount:o,averageRenderTime:t,memoryUsage:n,affectedComponents:r,performanceDegradation:a}}calculateAverageRenderTime(e){return e.length*2.5}calculateMemoryUsage(e){return e.length*1024*10}calculatePerformanceDegradation(e){const o={low:1,medium:3,high:5,critical:10},r=e.reduce((t,n)=>t+o[n.severity],0);return Math.min(r*2,100)}}const C={generateErrorReport(){const s=i.globalErrorManager.getErrors(),e=u.globalErrorAggregator.getAggregations(),o=i.globalErrorManager.getStatistics(),t=new f().analyzePatterns(s),n=Object.entries(o.errorsByCategory).map(([c,g])=>({category:c,trend:"stable",change:0})),a=this.generateRecommendations(s,e,t);return{totalErrors:o.totalErrors,errorsByCategory:o.errorsByCategory,errorsBySeverity:o.errorsBySeverity,topErrors:e.slice(0,10),recentErrors:s.slice(-10),errorTrends:n,recommendations:a}},generateRecommendations(s,e,o){const r=[];return s.length>50&&(r.push("Consider implementing error boundaries to contain errors"),r.push("Review error handling strategies across components")),s.filter(a=>a.category==="component_error").length>10&&(r.push("Review component lifecycle methods and state management"),r.push("Add prop validation to prevent runtime errors")),s.filter(a=>a.category==="network_error").length>5&&(r.push("Implement retry logic for network requests"),r.push("Add proper error handling for API calls")),o.cascadingErrors.length>0&&r.push("Investigate cascading errors that may indicate systemic issues"),r},debugError(s){const e=i.globalErrorManager.getErrors().find(g=>g.id===s);if(!e)return null;const o=new h,r=new E,t=o.analyzeStackTrace(e),n=this.findRelatedErrors(e),a=r.analyzePerformanceImpact([e,...n]),c=this.generateErrorSuggestions(e,t,n);return{error:e,stackTrace:t,relatedErrors:n,performanceImpact:a,suggestions:c}},findRelatedErrors(s){const e=i.globalErrorManager.getErrors(),o=5e3;return e.filter(r=>r.id!==s.id&&Math.abs(r.timestamp-s.timestamp)<=o&&(r.componentId===s.componentId||r.category===s.category))},generateErrorSuggestions(s,e,o){const r=[...e.suggestedFixes];return o.length>0&&r.push("Multiple related errors detected - check for common root cause"),s.retryCount>0&&r.push("Error has been retried - consider implementing circuit breaker"),r},logErrorAnalysis(){const s=this.generateErrorReport();console.group("🚨 TachUI Error Analysis"),console.log(`Total Errors: ${s.totalErrors}`),console.log("Errors by Category:",s.errorsByCategory),console.log("Errors by Severity:",s.errorsBySeverity),s.topErrors.length>0&&(console.group("Top Errors"),s.topErrors.forEach(e=>{console.log(`${e.message} (${e.count} times)`)}),console.groupEnd()),s.recommendations.length>0&&(console.group("Recommendations"),s.recommendations.forEach(e=>console.log(`• ${e}`)),console.groupEnd()),console.groupEnd()},exportErrorData(){return{errors:i.globalErrorManager.getErrors(),logs:u.globalLogger.getEntries(),aggregations:u.globalErrorAggregator.getAggregations(),analysis:this.generateErrorReport(),timestamp:Date.now()}},simulateError(s="component_error",e="medium",o="Test error"){const r=i.globalErrorManager.createTachUIError(new Error(o),{category:s,severity:e,componentId:"test-component"});i.globalErrorManager.reportError(r)},clearAllErrorData(){i.globalErrorManager.clear(),u.globalLogger.clear(),u.globalErrorAggregator.clear(),console.log("All error data cleared")}},k={enableEnhancedDebugging(){i.globalErrorManager.configure({development:!0,captureConsoleErrors:!0,captureUnhandledPromises:!0,enableStackTrace:!0}),u.globalLogger.addDestination({name:"enhanced-console",async send(s){s.forEach(e=>{"level"in e&&["error","fatal"].includes(e.level)&&console.error(`🚨 [${e.level.toUpperCase()}]`,e.message,e.context)})},isEnabled:()=>!0}),console.log("🛠️ Enhanced error debugging enabled")},setupErrorDashboard(){const s=m.createSignal(0),e=m.createSignal([]),[o,r]=s,[t,n]=e;i.globalErrorManager.addHandler(a=>{const c=i.globalErrorManager.getErrors();r(c.length),n(c.slice(-5))}),y.createComputed(()=>{const a=o(),c=t();a>0&&(console.group(`📊 Error Dashboard (${a} total errors)`),c.forEach(g=>{console.log(`${g.category}: ${g.message}`)}),console.groupEnd())})}};exports.ErrorPatternDetector=f;exports.PerformanceImpactAnalyzer=E;exports.StackTraceAnalyzer=h;exports.devErrorUtils=k;exports.errorDebugUtils=C;
|
|
3
|
-
//# sourceMappingURL=error-utils.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"error-utils.cjs","sources":["../../src/runtime/error-utils.ts"],"sourcesContent":["/**\n * Error Handling Utilities and Debugging Tools (Phase 3.2.3)\n *\n * Comprehensive utilities for error handling, debugging, and development tools.\n * Provides helper functions, debugging aids, and error analysis tools.\n */\n\nimport { createComputed, createSignal } from '../reactive'\nimport type { ErrorCategory, ErrorSeverity, TachUIError } from './error-boundary'\nimport { globalErrorManager } from './error-boundary'\nimport type { ErrorAggregation, LogEntry } from './error-reporting'\nimport { globalErrorAggregator, globalLogger } from './error-reporting'\n\n/**\n * Error analysis result\n */\nexport interface ErrorAnalysis {\n totalErrors: number\n errorsByCategory: Record<ErrorCategory, number>\n errorsBySeverity: Record<ErrorSeverity, number>\n topErrors: ErrorAggregation[]\n recentErrors: TachUIError[]\n errorTrends: {\n category: ErrorCategory\n trend: 'increasing' | 'decreasing' | 'stable'\n change: number\n }[]\n recommendations: string[]\n}\n\n/**\n * Stack trace analysis\n */\nexport interface StackTraceAnalysis {\n frames: {\n function: string\n file: string\n line: number\n column: number\n source?: string\n }[]\n rootCause?: string\n affectedComponents: string[]\n suggestedFixes: string[]\n}\n\n/**\n * Performance impact analysis\n */\nexport interface PerformanceImpact {\n errorCount: number\n averageRenderTime: number\n memoryUsage: number\n affectedComponents: string[]\n performanceDegradation: number\n}\n\n/**\n * Error pattern detector\n */\nexport class ErrorPatternDetector {\n private windowSize = 100 // Number of recent errors to analyze\n\n /**\n * Analyze error patterns\n */\n analyzePatterns(errors: TachUIError[]): {\n patterns: { pattern: string; count: number; severity: 'low' | 'medium' | 'high' }[]\n cascadingErrors: TachUIError[][]\n correlations: { error1: string; error2: string; correlation: number }[]\n } {\n const recentErrors = errors.slice(-this.windowSize)\n\n // Detect patterns\n const errorPatterns = this.detectErrorPatterns(recentErrors)\n\n // Detect cascading errors\n const cascadingErrors = this.detectCascadingErrors(recentErrors)\n\n // Detect correlations\n const correlations = this.detectErrorCorrelations(recentErrors)\n\n return { patterns: errorPatterns, cascadingErrors, correlations }\n }\n\n /**\n * Detect error patterns\n */\n private detectErrorPatterns(errors: TachUIError[]): {\n pattern: string\n count: number\n severity: 'low' | 'medium' | 'high'\n }[] {\n const patterns = new Map<string, number>()\n\n for (const error of errors) {\n // Pattern by category + component\n const categoryPattern = `${error.category}:${error.componentName || 'unknown'}`\n patterns.set(categoryPattern, (patterns.get(categoryPattern) || 0) + 1)\n\n // Pattern by message similarity\n const messagePattern = this.extractMessagePattern(error.message)\n patterns.set(messagePattern, (patterns.get(messagePattern) || 0) + 1)\n }\n\n return Array.from(patterns.entries())\n .map(([pattern, count]) => ({\n pattern,\n count,\n severity: (count > 10 ? 'high' : count > 5 ? 'medium' : 'low') as 'low' | 'medium' | 'high',\n }))\n .sort((a, b) => b.count - a.count)\n }\n\n /**\n * Extract pattern from error message\n */\n private extractMessagePattern(message: string): string {\n return message\n .replace(/\\d+/g, 'N') // Replace numbers\n .replace(/['\"]/g, '') // Remove quotes\n .replace(/\\s+/g, ' ') // Normalize whitespace\n .toLowerCase()\n }\n\n /**\n * Detect cascading errors (errors that happen close together)\n */\n private detectCascadingErrors(errors: TachUIError[]): TachUIError[][] {\n const cascades: TachUIError[][] = []\n const timeWindow = 1000 // 1 second\n\n for (let i = 0; i < errors.length; i++) {\n const cascade = [errors[i]]\n\n for (let j = i + 1; j < errors.length; j++) {\n if (errors[j].timestamp - errors[i].timestamp <= timeWindow) {\n cascade.push(errors[j])\n } else {\n break\n }\n }\n\n if (cascade.length > 1) {\n cascades.push(cascade)\n i += cascade.length - 1 // Skip processed errors\n }\n }\n\n return cascades\n }\n\n /**\n * Detect error correlations\n */\n private detectErrorCorrelations(errors: TachUIError[]): {\n error1: string\n error2: string\n correlation: number\n }[] {\n const correlations: { error1: string; error2: string; correlation: number }[] = []\n const errorTypes = new Set(errors.map((e) => e.message))\n\n for (const type1 of errorTypes) {\n for (const type2 of errorTypes) {\n if (type1 >= type2) continue\n\n const correlation = this.calculateCorrelation(errors, type1, type2)\n if (correlation > 0.5) {\n correlations.push({ error1: type1, error2: type2, correlation })\n }\n }\n }\n\n return correlations.sort((a, b) => b.correlation - a.correlation)\n }\n\n /**\n * Calculate correlation between two error types\n */\n private calculateCorrelation(errors: TachUIError[], type1: string, type2: string): number {\n const windows = 5000 // 5 second windows\n const timeSlots = new Map<number, { type1: boolean; type2: boolean }>()\n\n for (const error of errors) {\n const slot = Math.floor(error.timestamp / windows)\n const existing = timeSlots.get(slot) || { type1: false, type2: false }\n\n if (error.message === type1) existing.type1 = true\n if (error.message === type2) existing.type2 = true\n\n timeSlots.set(slot, existing)\n }\n\n const slots = Array.from(timeSlots.values())\n const both = slots.filter((s) => s.type1 && s.type2).length\n const either = slots.filter((s) => s.type1 || s.type2).length\n\n return either > 0 ? both / either : 0\n }\n}\n\n/**\n * Stack trace analyzer\n */\nexport class StackTraceAnalyzer {\n /**\n * Analyze stack trace\n */\n analyzeStackTrace(error: TachUIError): StackTraceAnalysis {\n if (!error.stack) {\n return {\n frames: [],\n affectedComponents: [],\n suggestedFixes: [],\n }\n }\n\n const frames = this.parseStackTrace(error.stack)\n const rootCause = this.identifyRootCause(frames, error)\n const affectedComponents = this.extractAffectedComponents(frames)\n const suggestedFixes = this.generateSuggestedFixes(error, frames)\n\n return {\n frames,\n rootCause,\n affectedComponents,\n suggestedFixes,\n }\n }\n\n /**\n * Parse stack trace into frames\n */\n private parseStackTrace(stack: string): StackTraceAnalysis['frames'] {\n const lines = stack.split('\\n').slice(1) // Skip error message\n const frames: StackTraceAnalysis['frames'] = []\n\n for (const line of lines) {\n const match =\n line.match(/at\\s+(.+?)\\s+\\((.+?):(\\d+):(\\d+)\\)/) || line.match(/at\\s+(.+?):(\\d+):(\\d+)/)\n\n if (match) {\n if (match.length === 5) {\n frames.push({\n function: match[1] || 'anonymous',\n file: match[2],\n line: parseInt(match[3]),\n column: parseInt(match[4]),\n })\n } else if (match.length === 4) {\n frames.push({\n function: 'anonymous',\n file: match[1],\n line: parseInt(match[2]),\n column: parseInt(match[3]),\n })\n }\n }\n }\n\n return frames\n }\n\n /**\n * Identify root cause from stack trace\n */\n private identifyRootCause(\n frames: StackTraceAnalysis['frames'],\n _error: TachUIError\n ): string | undefined {\n // Look for TachUI-specific frames\n const tachUIFrames = frames.filter(\n (f) =>\n f.file.includes('tachui') ||\n f.function.includes('Component') ||\n f.function.includes('render')\n )\n\n if (tachUIFrames.length > 0) {\n const firstFrame = tachUIFrames[0]\n return `Error in ${firstFrame.function} at ${firstFrame.file}:${firstFrame.line}`\n }\n\n // Fallback to first frame\n if (frames.length > 0) {\n const firstFrame = frames[0]\n return `Error in ${firstFrame.function}`\n }\n\n return undefined\n }\n\n /**\n * Extract affected components from stack trace\n */\n private extractAffectedComponents(frames: StackTraceAnalysis['frames']): string[] {\n const components = new Set<string>()\n\n for (const frame of frames) {\n // Extract component names from function names\n const match = frame.function.match(/(\\w+Component)|(\\w+\\.render)/)\n if (match) {\n components.add(match[1] || match[2].replace('.render', ''))\n }\n }\n\n return Array.from(components)\n }\n\n /**\n * Generate suggested fixes\n */\n private generateSuggestedFixes(\n error: TachUIError,\n frames: StackTraceAnalysis['frames']\n ): string[] {\n const fixes: string[] = []\n\n // Category-specific suggestions\n switch (error.category) {\n case 'component_error':\n fixes.push('Check component props and state')\n fixes.push('Verify component lifecycle methods')\n if (frames.some((f) => f.function.includes('render'))) {\n fixes.push('Review render method for potential null/undefined values')\n }\n break\n\n case 'reactive_error':\n fixes.push('Check signal dependencies and computed values')\n fixes.push('Verify effect cleanup functions')\n break\n\n case 'render_error':\n fixes.push('Check DOM element references')\n fixes.push('Verify element properties and attributes')\n break\n\n case 'validation_error':\n fixes.push('Review input validation logic')\n fixes.push('Check data types and required fields')\n break\n\n case 'network_error':\n fixes.push('Check network connectivity')\n fixes.push('Verify API endpoints and request format')\n fixes.push('Implement proper error handling for network requests')\n break\n }\n\n // Message-specific suggestions\n if (error.message.includes('null') || error.message.includes('undefined')) {\n fixes.push('Add null/undefined checks before accessing properties')\n }\n\n if (error.message.includes('TypeError')) {\n fixes.push('Verify variable types and method availability')\n }\n\n return fixes\n }\n}\n\n/**\n * Performance impact analyzer\n */\nexport class PerformanceImpactAnalyzer {\n /**\n * Analyze performance impact of errors\n */\n analyzePerformanceImpact(errors: TachUIError[]): PerformanceImpact {\n const errorCount = errors.length\n const affectedComponents = [...new Set(errors.map((e) => e.componentId).filter(Boolean))]\n\n // This would integrate with performance monitoring in a real implementation\n const averageRenderTime = this.calculateAverageRenderTime(affectedComponents)\n const memoryUsage = this.calculateMemoryUsage(affectedComponents)\n const performanceDegradation = this.calculatePerformanceDegradation(errors)\n\n return {\n errorCount,\n averageRenderTime,\n memoryUsage,\n affectedComponents: affectedComponents as string[],\n performanceDegradation,\n }\n }\n\n /**\n * Calculate average render time for affected components\n */\n private calculateAverageRenderTime(componentIds: (string | undefined)[]): number {\n // Simplified calculation - would integrate with performance monitor\n return componentIds.length * 2.5 // Estimated overhead per component\n }\n\n /**\n * Calculate memory usage impact\n */\n private calculateMemoryUsage(componentIds: (string | undefined)[]): number {\n // Simplified calculation - would integrate with performance monitor\n return componentIds.length * 1024 * 10 // Estimated 10KB per affected component\n }\n\n /**\n * Calculate performance degradation percentage\n */\n private calculatePerformanceDegradation(errors: TachUIError[]): number {\n const severityWeights = { low: 1, medium: 3, high: 5, critical: 10 }\n const totalWeight = errors.reduce((sum, error) => sum + severityWeights[error.severity], 0)\n\n // Convert to percentage degradation (capped at 100%)\n return Math.min(totalWeight * 2, 100)\n }\n}\n\n/**\n * Error debugging utilities\n */\nexport const errorDebugUtils = {\n /**\n * Generate comprehensive error report\n */\n generateErrorReport(): ErrorAnalysis {\n const errors = globalErrorManager.getErrors()\n const aggregations = globalErrorAggregator.getAggregations()\n const statistics = globalErrorManager.getStatistics()\n\n const patternDetector = new ErrorPatternDetector()\n const patterns = patternDetector.analyzePatterns(errors)\n\n // Calculate trends (simplified)\n const errorTrends = Object.entries(statistics.errorsByCategory).map(([category, _count]) => ({\n category: category as ErrorCategory,\n trend: 'stable' as const, // Would calculate from historical data\n change: 0,\n }))\n\n // Generate recommendations\n const recommendations = this.generateRecommendations(errors, aggregations, patterns)\n\n return {\n totalErrors: statistics.totalErrors,\n errorsByCategory: statistics.errorsByCategory,\n errorsBySeverity: statistics.errorsBySeverity,\n topErrors: aggregations.slice(0, 10),\n recentErrors: errors.slice(-10),\n errorTrends,\n recommendations,\n }\n },\n\n /**\n * Generate recommendations based on error analysis\n */\n generateRecommendations(\n errors: TachUIError[],\n _aggregations: ErrorAggregation[],\n patterns: any\n ): string[] {\n const recommendations: string[] = []\n\n // High error count recommendations\n if (errors.length > 50) {\n recommendations.push('Consider implementing error boundaries to contain errors')\n recommendations.push('Review error handling strategies across components')\n }\n\n // Component-specific recommendations\n const componentErrors = errors.filter((e) => e.category === 'component_error')\n if (componentErrors.length > 10) {\n recommendations.push('Review component lifecycle methods and state management')\n recommendations.push('Add prop validation to prevent runtime errors')\n }\n\n // Network error recommendations\n const networkErrors = errors.filter((e) => e.category === 'network_error')\n if (networkErrors.length > 5) {\n recommendations.push('Implement retry logic for network requests')\n recommendations.push('Add proper error handling for API calls')\n }\n\n // Performance recommendations\n if (patterns.cascadingErrors.length > 0) {\n recommendations.push('Investigate cascading errors that may indicate systemic issues')\n }\n\n return recommendations\n },\n\n /**\n * Debug specific error\n */\n debugError(errorId: string): {\n error: TachUIError | null\n stackTrace: StackTraceAnalysis\n relatedErrors: TachUIError[]\n performanceImpact: PerformanceImpact\n suggestions: string[]\n } | null {\n const error = globalErrorManager.getErrors().find((e) => e.id === errorId)\n if (!error) return null\n\n const stackTraceAnalyzer = new StackTraceAnalyzer()\n const performanceAnalyzer = new PerformanceImpactAnalyzer()\n\n const stackTrace = stackTraceAnalyzer.analyzeStackTrace(error)\n const relatedErrors = this.findRelatedErrors(error)\n const performanceImpact = performanceAnalyzer.analyzePerformanceImpact([\n error,\n ...relatedErrors,\n ])\n const suggestions = this.generateErrorSuggestions(error, stackTrace, relatedErrors)\n\n return {\n error,\n stackTrace,\n relatedErrors,\n performanceImpact,\n suggestions,\n }\n },\n\n /**\n * Find related errors\n */\n findRelatedErrors(error: TachUIError): TachUIError[] {\n const allErrors = globalErrorManager.getErrors()\n const timeWindow = 5000 // 5 seconds\n\n return allErrors.filter(\n (e) =>\n e.id !== error.id &&\n Math.abs(e.timestamp - error.timestamp) <= timeWindow &&\n (e.componentId === error.componentId || e.category === error.category)\n )\n },\n\n /**\n * Generate error-specific suggestions\n */\n generateErrorSuggestions(\n error: TachUIError,\n stackTrace: StackTraceAnalysis,\n relatedErrors: TachUIError[]\n ): string[] {\n const suggestions = [...stackTrace.suggestedFixes]\n\n if (relatedErrors.length > 0) {\n suggestions.push('Multiple related errors detected - check for common root cause')\n }\n\n if (error.retryCount > 0) {\n suggestions.push('Error has been retried - consider implementing circuit breaker')\n }\n\n return suggestions\n },\n\n /**\n * Log error analysis to console\n */\n logErrorAnalysis(): void {\n const analysis = this.generateErrorReport()\n\n console.group('🚨 TachUI Error Analysis')\n console.log(`Total Errors: ${analysis.totalErrors}`)\n console.log('Errors by Category:', analysis.errorsByCategory)\n console.log('Errors by Severity:', analysis.errorsBySeverity)\n\n if (analysis.topErrors.length > 0) {\n console.group('Top Errors')\n analysis.topErrors.forEach((error) => {\n console.log(`${error.message} (${error.count} times)`)\n })\n console.groupEnd()\n }\n\n if (analysis.recommendations.length > 0) {\n console.group('Recommendations')\n analysis.recommendations.forEach((rec) => console.log(`• ${rec}`))\n console.groupEnd()\n }\n\n console.groupEnd()\n },\n\n /**\n * Export error data for external analysis\n */\n exportErrorData(): {\n errors: TachUIError[]\n logs: LogEntry[]\n aggregations: ErrorAggregation[]\n analysis: ErrorAnalysis\n timestamp: number\n } {\n return {\n errors: globalErrorManager.getErrors(),\n logs: globalLogger.getEntries(),\n aggregations: globalErrorAggregator.getAggregations(),\n analysis: this.generateErrorReport(),\n timestamp: Date.now(),\n }\n },\n\n /**\n * Simulate error for testing\n */\n simulateError(\n category: ErrorCategory = 'component_error',\n severity: ErrorSeverity = 'medium',\n message: string = 'Test error'\n ): void {\n const error = globalErrorManager.createTachUIError(new Error(message), {\n category,\n severity,\n componentId: 'test-component',\n })\n\n globalErrorManager.reportError(error)\n },\n\n /**\n * Clear all error data\n */\n clearAllErrorData(): void {\n globalErrorManager.clear()\n globalLogger.clear()\n globalErrorAggregator.clear()\n console.log('All error data cleared')\n },\n}\n\n/**\n * Development mode error utilities\n */\nexport const devErrorUtils = {\n /**\n * Enable enhanced error debugging\n */\n enableEnhancedDebugging(): void {\n // Enable all debugging features\n globalErrorManager.configure({\n development: true,\n captureConsoleErrors: true,\n captureUnhandledPromises: true,\n enableStackTrace: true,\n })\n\n // Add console reporter for immediate feedback\n globalLogger.addDestination({\n name: 'enhanced-console',\n async send(data): Promise<void> {\n data.forEach((entry) => {\n if ('level' in entry && ['error', 'fatal'].includes(entry.level)) {\n console.error(`🚨 [${entry.level.toUpperCase()}]`, entry.message, entry.context)\n }\n })\n },\n isEnabled: () => true,\n })\n\n console.log('🛠️ Enhanced error debugging enabled')\n },\n\n /**\n * Setup error monitoring dashboard\n */\n setupErrorDashboard(): void {\n const errorCountSignal = createSignal(0)\n const recentErrorsSignal = createSignal<TachUIError[]>([])\n const [errorCount, setErrorCount] = errorCountSignal\n const [recentErrors, setRecentErrors] = recentErrorsSignal\n\n // Update dashboard when errors change\n globalErrorManager.addHandler((_error) => {\n const errors = globalErrorManager.getErrors()\n setErrorCount(errors.length)\n setRecentErrors(errors.slice(-5))\n })\n\n // Log dashboard updates\n createComputed(() => {\n const count = errorCount()\n const recent = recentErrors()\n\n if (count > 0) {\n console.group(`📊 Error Dashboard (${count} total errors)`)\n recent.forEach((error) => {\n console.log(`${error.category}: ${error.message}`)\n })\n console.groupEnd()\n }\n })\n },\n}\n"],"names":["ErrorPatternDetector","__publicField","errors","recentErrors","errorPatterns","cascadingErrors","correlations","patterns","error","categoryPattern","messagePattern","pattern","count","a","b","message","cascades","i","cascade","j","errorTypes","e","type1","type2","correlation","timeSlots","slot","existing","slots","both","s","either","StackTraceAnalyzer","frames","rootCause","affectedComponents","suggestedFixes","stack","lines","line","match","_error","tachUIFrames","f","firstFrame","components","frame","fixes","PerformanceImpactAnalyzer","errorCount","averageRenderTime","memoryUsage","performanceDegradation","componentIds","severityWeights","totalWeight","sum","errorDebugUtils","globalErrorManager","aggregations","globalErrorAggregator","statistics","errorTrends","category","_count","recommendations","_aggregations","errorId","stackTraceAnalyzer","performanceAnalyzer","stackTrace","relatedErrors","performanceImpact","suggestions","allErrors","timeWindow","analysis","rec","globalLogger","severity","devErrorUtils","data","entry","errorCountSignal","createSignal","recentErrorsSignal","setErrorCount","setRecentErrors","createComputed","recent"],"mappings":"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"}
|