@tachui/core 0.7.0-alpha1 → 0.8.0-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/bundles/common.d.ts +1 -1
- package/dist/bundles/common.d.ts.map +1 -1
- package/dist/bundles/minimal.d.ts +17 -5
- package/dist/bundles/minimal.d.ts.map +1 -1
- package/dist/bundles/production-minimal.d.ts +2 -16
- package/dist/bundles/production-minimal.d.ts.map +1 -1
- package/dist/common.js +402 -955
- package/dist/compiler/advanced-parser.d.ts.map +1 -1
- package/dist/compiler/index.js +1392 -10
- package/dist/component-XAzF1xqs.js +487 -0
- package/dist/component-base-x2XmHFjy.js +255 -0
- package/dist/components/index.d.ts +4 -38
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/index.js +7 -102
- package/dist/components/wrapper.d.ts +5 -152
- package/dist/components/wrapper.d.ts.map +1 -1
- package/dist/concatenated-component-ByPl3_FF.js +2933 -0
- package/dist/constants/index.d.ts +1 -1
- package/dist/constants/layout.d.ts +47 -4
- package/dist/constants/layout.d.ts.map +1 -1
- package/dist/constants/layout.js +52 -14
- package/dist/css-classes/index.js +176 -0
- package/dist/dom-bridge-CAa1N2zX.js +406 -0
- package/dist/effect-B9Knft0b.js +66 -0
- package/dist/essential.js +394 -953
- package/dist/index-DCPJFUm9.js +1407 -0
- package/dist/index-DIvMCJQO.js +268 -0
- package/dist/index-vdsiw6gQ.js +777 -0
- package/dist/index.d.ts +9 -9
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +394 -953
- package/dist/minimal-prod.js +107 -190
- package/dist/minimal.js +115 -955
- package/dist/modifiers/background.d.ts +41 -11
- package/dist/modifiers/background.d.ts.map +1 -1
- package/dist/modifiers/base.d.ts +6 -33
- package/dist/modifiers/base.d.ts.map +1 -1
- package/dist/modifiers/base.js +275 -533
- package/dist/modifiers/builder.d.ts +103 -195
- package/dist/modifiers/builder.d.ts.map +1 -1
- package/dist/modifiers/builder.js +7 -928
- package/dist/modifiers/core.d.ts +9 -401
- package/dist/modifiers/core.d.ts.map +1 -1
- package/dist/modifiers/{utils.d.ts → factories.d.ts} +18 -5
- package/dist/modifiers/factories.d.ts.map +1 -0
- package/dist/modifiers/index.d.ts +8 -52
- package/dist/modifiers/index.d.ts.map +1 -1
- package/dist/modifiers/index.js +38 -0
- package/dist/modifiers/presets.d.ts +368 -0
- package/dist/modifiers/presets.d.ts.map +1 -0
- package/dist/modifiers/registry.js +8 -161
- package/dist/modifiers/types.d.ts +39 -211
- package/dist/modifiers/types.d.ts.map +1 -1
- package/dist/modifiers/types.js +0 -1
- package/dist/performance-optimizer-stub-CtfXUwl4.js +38 -0
- package/dist/plugins/index.d.ts +5 -6
- package/dist/plugins/index.d.ts.map +1 -1
- package/dist/plugins/index.js +393 -32
- package/dist/plugins/simplified-index.d.ts +5 -6
- package/dist/plugins/simplified-index.d.ts.map +1 -1
- package/dist/production-minimal-BY_gMc-l.js +2532 -0
- package/dist/reactive/index.js +489 -91
- package/dist/reactive/types.js +0 -1
- package/dist/runtime/dom-bridge.js +12 -239
- package/dist/runtime/element-override.d.ts.map +1 -1
- package/dist/runtime/index.d.ts +0 -7
- package/dist/runtime/index.d.ts.map +1 -1
- package/dist/runtime/renderer.d.ts.map +1 -1
- package/dist/runtime/renderer.js +7 -388
- package/dist/runtime/semantic-role-manager.d.ts.map +1 -1
- package/dist/runtime/types.js +1 -0
- package/dist/scheduler-BKeqwrYE.js +814 -0
- package/dist/validation/build-time-stub.d.ts +33 -0
- package/dist/validation/build-time-stub.d.ts.map +1 -0
- package/dist/validation/debug-tools-stub.d.ts +67 -0
- package/dist/validation/debug-tools-stub.d.ts.map +1 -0
- package/dist/validation/index.d.ts +23 -78
- package/dist/validation/index.d.ts.map +1 -1
- package/dist/validation/index.js +788 -233
- package/dist/validation/lifecycle-validation.d.ts.map +1 -1
- package/dist/validation/performance-optimizer-stub.d.ts +50 -0
- package/dist/validation/performance-optimizer-stub.d.ts.map +1 -0
- package/dist/validation/plugin-registration.d.ts +5 -1
- package/dist/validation/plugin-registration.d.ts.map +1 -1
- package/dist/validation/production-bypass-core.d.ts +69 -0
- package/dist/validation/production-bypass-core.d.ts.map +1 -0
- package/package.json +43 -8
- 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.d.ts +0 -116
- package/dist/components/BasicInput.d.ts.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.d.ts +0 -252
- package/dist/components/Button.d.ts.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.d.ts +0 -141
- package/dist/components/Divider.d.ts.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.d.ts +0 -365
- package/dist/components/EnhancedLink.d.ts.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.d.ts +0 -141
- package/dist/components/Form.d.ts.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.d.ts +0 -698
- package/dist/components/Grid.d.ts.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.d.ts +0 -214
- package/dist/components/GridResponsive.d.ts.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.d.ts +0 -162
- package/dist/components/Image.d.ts.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.d.ts +0 -287
- package/dist/components/List.d.ts.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.d.ts +0 -159
- package/dist/components/Menu.d.ts.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.d.ts +0 -153
- package/dist/components/Picker.d.ts.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.d.ts +0 -222
- package/dist/components/ScrollView.d.ts.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.d.ts +0 -153
- package/dist/components/Section.d.ts.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.d.ts +0 -64
- package/dist/components/Show.d.ts.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.d.ts +0 -35
- package/dist/components/Spacer.d.ts.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.d.ts +0 -242
- package/dist/components/Text.d.ts.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.d.ts +0 -207
- package/dist/components/Toggle.d.ts.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.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/index.d.ts +0 -61
- package/dist/debug/index.d.ts.map +0 -1
- package/dist/debug.cjs +0 -52
- package/dist/debug.cjs.map +0 -1
- package/dist/debug.js +0 -179
- package/dist/debug.js.map +0 -1
- package/dist/developer-experience/enhanced-errors.d.ts +0 -128
- package/dist/developer-experience/enhanced-errors.d.ts.map +0 -1
- package/dist/developer-experience/enhanced-types.d.ts +0 -281
- package/dist/developer-experience/enhanced-types.d.ts.map +0 -1
- package/dist/developer-experience/index.d.ts +0 -44
- package/dist/developer-experience/index.d.ts.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.d.ts +0 -203
- package/dist/modifiers/attributes.d.ts.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.d.ts +0 -59
- package/dist/modifiers/backdrop.d.ts.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.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.d.ts +0 -217
- package/dist/modifiers/border.d.ts.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.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.d.ts +0 -159
- package/dist/modifiers/effects.d.ts.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.d.ts +0 -240
- package/dist/modifiers/elements.d.ts.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.d.ts +0 -275
- package/dist/modifiers/filters.d.ts.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.d.ts +0 -82
- package/dist/modifiers/flexbox.d.ts.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.d.ts +0 -71
- package/dist/modifiers/font.d.ts.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.d.ts +0 -92
- package/dist/modifiers/grid.d.ts.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.d.ts +0 -128
- package/dist/modifiers/margin.d.ts.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.d.ts +0 -204
- package/dist/modifiers/padding.d.ts.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.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.d.ts +0 -118
- package/dist/modifiers/responsive/advanced-utilities.d.ts.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.d.ts +0 -81
- package/dist/modifiers/responsive/breakpoints.d.ts.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.d.ts +0 -100
- package/dist/modifiers/responsive/css-generator.d.ts.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.d.ts +0 -107
- package/dist/modifiers/responsive/dev-tools.d.ts.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/index.d.ts +0 -28
- package/dist/modifiers/responsive/index.d.ts.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.d.ts +0 -230
- package/dist/modifiers/responsive/layout-patterns.d.ts.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.d.ts +0 -130
- package/dist/modifiers/responsive/performance.d.ts.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.d.ts +0 -133
- package/dist/modifiers/responsive/responsive-builder.d.ts.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.d.ts +0 -123
- package/dist/modifiers/responsive/responsive-modifier.d.ts.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.d.ts +0 -183
- package/dist/modifiers/responsive/types.d.ts.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.d.ts +0 -149
- package/dist/modifiers/responsive/utilities.d.ts.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.d.ts +0 -143
- package/dist/modifiers/scroll.d.ts.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.d.ts +0 -114
- package/dist/modifiers/shadows.d.ts.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.d.ts +0 -113
- package/dist/modifiers/size.d.ts.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.d.ts +0 -147
- package/dist/modifiers/text.d.ts.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.d.ts +0 -329
- package/dist/modifiers/transformations.d.ts.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.d.ts +0 -98
- package/dist/modifiers/transitions.d.ts.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.map +0 -1
- package/dist/modifiers/typography.cjs +0 -2
- package/dist/modifiers/typography.cjs.map +0 -1
- package/dist/modifiers/typography.d.ts +0 -192
- package/dist/modifiers/typography.d.ts.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.d.ts +0 -69
- package/dist/modifiers/utility.d.ts.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.d.ts.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.d.ts +0 -83
- package/dist/plugins/simplified-error-handler.d.ts.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.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 +0 -289
- 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.d.ts +0 -240
- package/dist/runtime/dev-tools.d.ts.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.d.ts +0 -42
- package/dist/runtime/development-warnings.d.ts.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.d.ts +0 -302
- package/dist/runtime/error-boundary.d.ts.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.d.ts +0 -267
- package/dist/runtime/error-recovery.d.ts.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.d.ts +0 -287
- package/dist/runtime/error-reporting.d.ts.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.d.ts +0 -204
- package/dist/runtime/error-utils.d.ts.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.d.ts +0 -217
- package/dist/runtime/performance.d.ts.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.d.ts +0 -110
- package/dist/sui-compat.d.ts.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.d.ts +0 -319
- package/dist/validation/advanced-debugging.d.ts.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.d.ts +0 -32
- package/dist/validation/build-time/detection.d.ts.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.d.ts +0 -84
- package/dist/validation/build-time/index.d.ts.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.d.ts +0 -75
- package/dist/validation/build-time/plugins.d.ts.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.d.ts +0 -73
- package/dist/validation/build-time/rules.d.ts.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.d.ts +0 -23
- package/dist/validation/build-time/transformer.d.ts.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/build-time/types.d.ts +0 -212
- package/dist/validation/build-time/types.d.ts.map +0 -1
- package/dist/validation/comprehensive.cjs +0 -9
- package/dist/validation/comprehensive.cjs.map +0 -1
- package/dist/validation/comprehensive.d.ts +0 -160
- package/dist/validation/comprehensive.d.ts.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.d.ts +0 -251
- package/dist/validation/debug-tools.d.ts.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.d.ts +0 -243
- package/dist/validation/developer-experience.d.ts.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.d.ts +0 -269
- package/dist/validation/documentation-integration.d.ts.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.d.ts +0 -279
- package/dist/validation/enhanced-runtime.d.ts.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.d.ts +0 -186
- package/dist/validation/error-reporting.d.ts.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.d.ts +0 -328
- package/dist/validation/ide-integration.d.ts.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.d.ts +0 -218
- package/dist/validation/performance-optimizer.d.ts.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.d.ts +0 -175
- package/dist/validation/production-bypass.d.ts.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.d.ts +0 -111
- package/dist/validation/simple.d.ts.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.d.ts +0 -227
- package/dist/viewport/adapters/web-adapter.d.ts.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.d.ts +0 -131
- package/dist/viewport/components.d.ts.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.d.ts +0 -75
- package/dist/viewport/environment.d.ts.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.d.ts +0 -138
- package/dist/viewport/index.d.ts.map +0 -1
- package/dist/viewport/index.js +0 -166
- 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.d.ts +0 -59
- package/dist/viewport/platform-detection.d.ts.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.d.ts +0 -301
- package/dist/viewport/types.d.ts.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.d.ts +0 -118
- package/dist/viewport/viewport-manager.d.ts.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 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":["../../src/validation/index.ts"],"sourcesContent":["/**\n * TachUI Validation System - Complete Implementation (Phases 1A-1D)\n *\n * Complete validation system with smart error recovery, enhanced error reporting,\n * production optimization, lifecycle validation, comprehensive debugging tools,\n * and full developer experience integration.\n */\n\n// Core validation systems (always available)\nexport * from './comprehensive'\nexport * from './plugin-registration'\nexport * from './production-bypass'\n\n// Phase 1C: Enhanced Runtime Validation Features\nexport * from './enhanced-runtime'\nexport * from './error-reporting'\nexport * from './lifecycle-validation'\nexport * from './debug-tools'\nexport * from './performance-optimizer'\n\n// Phase 1D: Developer Experience Integration\nexport * from './developer-experience'\nexport * from './ide-integration'\nexport * from './documentation-integration'\nexport * from './advanced-debugging'\n\n// Build-time validation (note: transformer uses dynamic TypeScript import)\nexport * from './build-time'\n\n// Legacy simple validation (for backward compatibility)\nexport {\n ComponentValidation as LegacyComponentValidation\n} from './simple'\n\n/**\n * Enhanced Development Tools (Phases 1A-1D Complete)\n */\nexport const ValidationDevTools = {\n /**\n * Log all validation rules including all phase enhancements\n */\n logValidationRules(): void {\n if (process.env.NODE_ENV !== 'production') {\n console.group('🔍 TachUI Complete Validation System')\n\n console.info('Runtime Component Rules:')\n console.info('• Text: requires content parameter')\n console.info('• Button: requires title parameter, action recommended')\n console.info('• VStack/HStack/ZStack: requires children array')\n console.info('• Image, Toggle, Slider: require props objects')\n console.info('• All components: smart error recovery available')\n\n console.info('\\nRuntime Modifier Rules:')\n console.info('• font modifiers: Text components only')\n console.info('• interactive modifiers: Button, Toggle, etc.')\n console.info('• clipped(), resizable(): no parameters')\n console.info('• Non-existent: textShadow, id, className, style')\n console.info('• Smart suggestions for invalid modifiers')\n\n console.info('\\nBuild-Time Rules:')\n console.info('• Component argument validation')\n console.info('• Modifier compatibility checking')\n console.info('• Parameter type validation')\n console.info('• Deprecated usage warnings')\n console.info('• Cross-package validation (33 components)')\n\n console.info('\\nGeneral Enhancements:')\n console.info('• Smart error recovery with 4 strategies')\n console.info('• Enhanced error reporting with fix suggestions')\n console.info('• Production mode bypass (zero overhead)')\n console.info('• Component lifecycle validation')\n console.info('• Performance optimization (<5% overhead target)')\n console.info('• Comprehensive debugging tools')\n\n console.info('\\nDeveloper Experience:')\n console.info('• Rich error message templates with examples')\n console.info('• VS Code extension foundation with IntelliSense')\n console.info('• Context-aware documentation integration')\n console.info('• Advanced debugging with visual overlays')\n console.info('• Intelligent fix suggestions (90%+ coverage)')\n console.info('• Real-time diagnostics and code actions')\n\n console.groupEnd()\n }\n },\n\n /**\n * Test complete validation system including Phase 1D\n */\n async test(): Promise<void> {\n console.group('🔍 TachUI Complete Validation System Test')\n\n try {\n // Test core systems (Phase 1A & 1B)\n const { ValidationUtils } = await import('./comprehensive')\n ValidationUtils.test()\n\n // Test Phase 1C enhancements\n const { EnhancedValidationUtils } = await import('./enhanced-runtime')\n EnhancedValidationUtils.test()\n\n const { ValidationDebugUtils } = await import('./debug-tools')\n ValidationDebugUtils.test()\n\n const { PerformanceOptimizationUtils } = await import('./performance-optimizer')\n PerformanceOptimizationUtils.test()\n\n const { ProductionOptimizationUtils } = await import('./production-bypass')\n ProductionOptimizationUtils.test()\n\n // Test Phase 1D developer experience features\n try {\n const { DeveloperExperienceUtils } = await import('./developer-experience')\n DeveloperExperienceUtils.test()\n\n const { DocumentationIntegrationUtils } = await import('./documentation-integration')\n DocumentationIntegrationUtils.test()\n\n const { AdvancedDebuggingUtils } = await import('./advanced-debugging')\n AdvancedDebuggingUtils.test()\n\n // IDE integration test (may be async)\n const { IDEIntegrationUtils } = await import('./ide-integration')\n try {\n await IDEIntegrationUtils.test()\n } catch (error: any) {\n console.warn('⚠️ IDE integration test failed (environment dependent):', error.message)\n }\n\n console.info('✅ Phase 1D developer experience features tested')\n } catch (error) {\n console.warn('⚠️ Phase 1D tests partially failed:', error instanceof Error ? error.message : String(error))\n }\n\n // Test build-time validation if available\n try {\n const { BuildTimeDevTools } = await import('./build-time')\n BuildTimeDevTools.test()\n } catch (_error) {\n console.info('ℹ️ Build-time validation not available in this environment')\n }\n\n console.info('✅ Complete validation system test completed successfully')\n\n } catch (error) {\n console.error('❌ Validation system test failed:', error)\n }\n\n console.groupEnd()\n },\n\n /**\n * Get comprehensive validation statistics including all phases\n */\n async getStats() {\n try {\n // Core runtime stats (Phase 1A & 1B)\n const { ValidationUtils } = await import('./comprehensive')\n const runtimeStats = ValidationUtils.getStats()\n\n // Enhanced runtime stats (Phase 1C)\n const { EnhancedValidationUtils } = await import('./enhanced-runtime')\n const enhancedStats = EnhancedValidationUtils.getPerformanceStats()\n\n // Debug stats (Phase 1C)\n const { ValidationDebugUtils } = await import('./debug-tools')\n const debugStats = ValidationDebugUtils.getRealTimeStats()\n\n // Performance stats (Phase 1C)\n const { PerformanceOptimizationUtils } = await import('./performance-optimizer')\n const performanceStats = PerformanceOptimizationUtils.getStats()\n\n // Production stats (Phase 1C)\n const { ProductionOptimizationUtils } = await import('./production-bypass')\n const productionStats = ProductionOptimizationUtils.getStats()\n\n // Lifecycle stats (Phase 1C)\n const { LifecycleValidationUtils } = await import('./lifecycle-validation')\n const lifecycleStats = LifecycleValidationUtils.getStats()\n\n // Phase 1D developer experience stats\n let phase1DStats = {}\n try {\n const { DeveloperExperienceUtils } = await import('./developer-experience')\n const { DocumentationIntegrationUtils } = await import('./documentation-integration')\n const { AdvancedDebuggingUtils } = await import('./advanced-debugging')\n const { IDEIntegrationUtils } = await import('./ide-integration')\n\n phase1DStats = {\n developerExperience: DeveloperExperienceUtils.getStatistics(),\n documentation: DocumentationIntegrationUtils.getStatistics(),\n advancedDebugging: AdvancedDebuggingUtils.getStatistics(),\n ideIntegration: IDEIntegrationUtils.getConfig()\n }\n } catch (error) {\n phase1DStats = { phase1D: { available: false, error: error instanceof Error ? error.message : String(error) } }\n }\n\n // Build-time stats\n let buildTimeStats = {}\n try {\n const { BuildTimeDevTools } = await import('./build-time')\n buildTimeStats = BuildTimeDevTools.getStats()\n } catch (_error) {\n buildTimeStats = { buildTime: { available: false } }\n }\n\n return {\n runtime: runtimeStats,\n enhanced: enhancedStats,\n debug: debugStats,\n performance: performanceStats,\n production: productionStats,\n lifecycle: lifecycleStats,\n ...phase1DStats,\n ...buildTimeStats,\n phase: '1D - Complete Developer Experience',\n features: [\n 'Smart Error Recovery',\n 'Enhanced Error Reporting',\n 'Production Mode Bypass',\n 'Component Lifecycle Validation',\n 'Performance Optimization',\n 'Comprehensive Debug Tools',\n 'Rich Error Templates',\n 'VS Code Integration',\n 'Context-Aware Documentation',\n 'Advanced Visual Debugging',\n 'Intelligent Fix Suggestions'\n ]\n }\n\n } catch (error) {\n console.error('Failed to gather complete validation stats:', error)\n return { error: error instanceof Error ? error.message : String(error) }\n }\n }\n}\n\n/**\n * Quick setup utilities for different validation modes\n */\nexport const ValidationSetup = {\n /**\n * Development mode with full validation\n */\n async development() {\n try {\n const { EnhancedValidationUtils } = await import('./enhanced-runtime')\n const { ValidationDebugUtils } = await import('./debug-tools')\n const { PerformanceOptimizationUtils } = await import('./performance-optimizer')\n\n // Configure for development\n EnhancedValidationUtils.configure({\n enabled: true,\n recovery: { enableRecovery: true, defaultStrategy: 'fallback', maxRecoveryAttempts: 3 },\n lifecycle: { validateOnMount: true, validateOnUpdate: false, validateOnUnmount: false },\n reporting: { enhancedMessages: true, includeStackTrace: true, reportToConsole: true }\n })\n\n // Enable performance optimization\n PerformanceOptimizationUtils.configure({\n enabled: true,\n targetOverhead: 5,\n cacheStrategy: 'moderate'\n })\n\n // Start debug session\n const sessionId = ValidationDebugUtils.startSession()\n\n console.info('🔍 TachUI Enhanced Validation: Development mode active')\n console.info(`📋 Debug session: ${sessionId}`)\n\n return { sessionId }\n } catch (error) {\n console.warn('Enhanced validation setup failed, using basic validation:', error instanceof Error ? error.message : String(error))\n return { fallback: true }\n }\n },\n\n /**\n * Production mode with zero overhead\n */\n async production() {\n try {\n const { ProductionOptimizationUtils } = await import('./production-bypass')\n\n // Enable production bypass\n ProductionOptimizationUtils.disableValidation()\n\n console.info('🚀 TachUI Validation: Production mode - zero overhead')\n\n return { optimized: true }\n } catch (error) {\n console.warn('Production optimization setup failed:', error instanceof Error ? error.message : String(error))\n return { fallback: true }\n }\n },\n\n /**\n * Testing mode with detailed validation\n */\n async testing() {\n try {\n const { EnhancedValidationUtils } = await import('./enhanced-runtime')\n\n // Configure for testing\n EnhancedValidationUtils.configure({\n enabled: true,\n recovery: { enableRecovery: false, defaultStrategy: 'throw', maxRecoveryAttempts: 0 },\n lifecycle: { validateOnMount: true, validateOnUpdate: true, validateOnUnmount: true },\n reporting: { enhancedMessages: true, includeStackTrace: true, reportToConsole: false }\n })\n\n console.info('🧪 TachUI Validation: Testing mode active')\n\n return { testMode: true }\n } catch (error) {\n console.warn('Testing validation setup failed:', error instanceof Error ? error.message : String(error))\n return { fallback: true }\n }\n }\n}\n\n// Auto-initialize with complete validation system\nlet validationSystemInitialized = false\n\nif (typeof window !== 'undefined' || typeof global !== 'undefined') {\n if (process.env.NODE_ENV !== 'production' && !validationSystemInitialized) {\n validationSystemInitialized = true\n console.info('🔍 TachUI Complete Validation System (Phases 1A-1D) initialized')\n console.info('✅ Runtime validation: enabled')\n console.info('✅ Component validation: enabled (33 components)')\n console.info('✅ Modifier validation: enabled')\n console.info('✅ Build-time validation: auto-detecting')\n console.info('✅ Smart error recovery: enabled')\n console.info('✅ Enhanced error reporting: enabled')\n console.info('✅ Performance optimization: enabled')\n console.info('✅ Debug tools: available')\n console.info('✅ Developer experience: enhanced templates, IDE integration, documentation')\n console.info('✅ Advanced debugging: visual overlays, state inspection, trend analysis')\n console.info('ℹ️ Use ValidationSetup.development() for full features')\n } else {\n // Auto-enable production optimizations\n try {\n ValidationSetup.production().catch(() => {\n // Fallback gracefully\n })\n } catch {\n // Fallback gracefully\n }\n }\n}\n"],"names":["ValidationDevTools","ValidationUtils","EnhancedValidationUtils","ValidationDebugUtils","PerformanceOptimizationUtils","ProductionOptimizationUtils","DeveloperExperienceUtils","DocumentationIntegrationUtils","AdvancedDebuggingUtils","IDEIntegrationUtils","error","BuildTimeDevTools","runtimeStats","enhancedStats","debugStats","performanceStats","productionStats","LifecycleValidationUtils","lifecycleStats","phase1DStats","buildTimeStats","ValidationSetup","sessionId","validationSystemInitialized"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../src/validation/index.ts"],"sourcesContent":["/**\n * TachUI Validation System - Complete Implementation (Phases 1A-1D)\n *\n * Complete validation system with smart error recovery, enhanced error reporting,\n * production optimization, lifecycle validation, comprehensive debugging tools,\n * and full developer experience integration.\n */\n\n// Core validation systems (always available)\nexport * from './comprehensive'\nexport * from './plugin-registration'\nexport * from './production-bypass'\n\n// Phase 1C: Enhanced Runtime Validation Features\nexport * from './enhanced-runtime'\nexport * from './error-reporting'\nexport * from './lifecycle-validation'\nexport * from './debug-tools'\nexport * from './performance-optimizer'\n\n// Phase 1D: Developer Experience Integration\nexport * from './developer-experience'\nexport * from './ide-integration'\nexport * from './documentation-integration'\nexport * from './advanced-debugging'\n\n// Build-time validation (note: transformer uses dynamic TypeScript import)\nexport * from './build-time'\n\n// Legacy simple validation (for backward compatibility)\nexport {\n ComponentValidation as LegacyComponentValidation\n} from './simple'\n\n/**\n * Enhanced Development Tools (Phases 1A-1D Complete)\n */\nexport const ValidationDevTools = {\n /**\n * Log all validation rules including all phase enhancements\n */\n logValidationRules(): void {\n if (process.env.NODE_ENV !== 'production') {\n console.group('🔍 TachUI Complete Validation System')\n\n console.info('Runtime Component Rules:')\n console.info('• Text: requires content parameter')\n console.info('• Button: requires title parameter, action recommended')\n console.info('• VStack/HStack/ZStack: requires children array')\n console.info('• Image, Toggle, Slider: require props objects')\n console.info('• All components: smart error recovery available')\n\n console.info('\\nRuntime Modifier Rules:')\n console.info('• font modifiers: Text components only')\n console.info('• interactive modifiers: Button, Toggle, etc.')\n console.info('• clipped(), resizable(): no parameters')\n console.info('• Non-existent: textShadow, id, className, style')\n console.info('• Smart suggestions for invalid modifiers')\n\n console.info('\\nBuild-Time Rules:')\n console.info('• Component argument validation')\n console.info('• Modifier compatibility checking')\n console.info('• Parameter type validation')\n console.info('• Deprecated usage warnings')\n console.info('• Cross-package validation (33 components)')\n\n console.info('\\nGeneral Enhancements:')\n console.info('• Smart error recovery with 4 strategies')\n console.info('• Enhanced error reporting with fix suggestions')\n console.info('• Production mode bypass (zero overhead)')\n console.info('• Component lifecycle validation')\n console.info('• Performance optimization (<5% overhead target)')\n console.info('• Comprehensive debugging tools')\n\n console.info('\\nDeveloper Experience:')\n console.info('• Rich error message templates with examples')\n console.info('• VS Code extension foundation with IntelliSense')\n console.info('• Context-aware documentation integration')\n console.info('• Advanced debugging with visual overlays')\n console.info('• Intelligent fix suggestions (90%+ coverage)')\n console.info('• Real-time diagnostics and code actions')\n\n console.groupEnd()\n }\n },\n\n /**\n * Test complete validation system including Phase 1D\n */\n async test(): Promise<void> {\n console.group('🔍 TachUI Complete Validation System Test')\n\n try {\n // Test core systems (Phase 1A & 1B)\n const { ValidationUtils } = await import('./comprehensive')\n ValidationUtils.test()\n\n // Test Phase 1C enhancements\n const { EnhancedValidationUtils } = await import('./enhanced-runtime')\n EnhancedValidationUtils.test()\n\n const { ValidationDebugUtils } = await import('./debug-tools')\n ValidationDebugUtils.test()\n\n const { PerformanceOptimizationUtils } = await import('./performance-optimizer')\n PerformanceOptimizationUtils.test()\n\n const { ProductionOptimizationUtils } = await import('./production-bypass')\n ProductionOptimizationUtils.test()\n\n // Test Phase 1D developer experience features\n try {\n const { DeveloperExperienceUtils } = await import('./developer-experience')\n DeveloperExperienceUtils.test()\n\n const { DocumentationIntegrationUtils } = await import('./documentation-integration')\n DocumentationIntegrationUtils.test()\n\n const { AdvancedDebuggingUtils } = await import('./advanced-debugging')\n AdvancedDebuggingUtils.test()\n\n // IDE integration test (may be async)\n const { IDEIntegrationUtils } = await import('./ide-integration')\n try {\n await IDEIntegrationUtils.test()\n } catch (error: any) {\n console.warn('⚠️ IDE integration test failed (environment dependent):', error.message)\n }\n\n console.info('✅ Phase 1D developer experience features tested')\n } catch (error) {\n console.warn('⚠️ Phase 1D tests partially failed:', error instanceof Error ? error.message : String(error))\n }\n\n // Test build-time validation if available\n try {\n const { BuildTimeDevTools } = await import('./build-time')\n BuildTimeDevTools.test()\n } catch (_error) {\n console.info('ℹ️ Build-time validation not available in this environment')\n }\n\n console.info('✅ Complete validation system test completed successfully')\n\n } catch (error) {\n console.error('❌ Validation system test failed:', error)\n }\n\n console.groupEnd()\n },\n\n /**\n * Get comprehensive validation statistics including all phases\n */\n async getStats() {\n try {\n // Core runtime stats (Phase 1A & 1B)\n const { ValidationUtils } = await import('./comprehensive')\n const runtimeStats = ValidationUtils.getStats()\n\n // Enhanced runtime stats (Phase 1C)\n const { EnhancedValidationUtils } = await import('./enhanced-runtime')\n const enhancedStats = EnhancedValidationUtils.getPerformanceStats()\n\n // Debug stats (Phase 1C)\n const { ValidationDebugUtils } = await import('./debug-tools')\n const debugStats = ValidationDebugUtils.getRealTimeStats()\n\n // Performance stats (Phase 1C)\n const { PerformanceOptimizationUtils } = await import('./performance-optimizer')\n const performanceStats = PerformanceOptimizationUtils.getStats()\n\n // Production stats (Phase 1C)\n const { ProductionOptimizationUtils } = await import('./production-bypass')\n const productionStats = ProductionOptimizationUtils.getStats()\n\n // Lifecycle stats (Phase 1C)\n const { LifecycleValidationUtils } = await import('./lifecycle-validation')\n const lifecycleStats = LifecycleValidationUtils.getStats()\n\n // Phase 1D developer experience stats\n let phase1DStats = {}\n try {\n const { DeveloperExperienceUtils } = await import('./developer-experience')\n const { DocumentationIntegrationUtils } = await import('./documentation-integration')\n const { AdvancedDebuggingUtils } = await import('./advanced-debugging')\n const { IDEIntegrationUtils } = await import('./ide-integration')\n\n phase1DStats = {\n developerExperience: DeveloperExperienceUtils.getStatistics(),\n documentation: DocumentationIntegrationUtils.getStatistics(),\n advancedDebugging: AdvancedDebuggingUtils.getStatistics(),\n ideIntegration: IDEIntegrationUtils.getConfig()\n }\n } catch (error) {\n phase1DStats = { phase1D: { available: false, error: error instanceof Error ? error.message : String(error) } }\n }\n\n // Build-time stats\n let buildTimeStats = {}\n try {\n const { BuildTimeDevTools } = await import('./build-time')\n buildTimeStats = BuildTimeDevTools.getStats()\n } catch (_error) {\n buildTimeStats = { buildTime: { available: false } }\n }\n\n return {\n runtime: runtimeStats,\n enhanced: enhancedStats,\n debug: debugStats,\n performance: performanceStats,\n production: productionStats,\n lifecycle: lifecycleStats,\n ...phase1DStats,\n ...buildTimeStats,\n phase: '1D - Complete Developer Experience',\n features: [\n 'Smart Error Recovery',\n 'Enhanced Error Reporting',\n 'Production Mode Bypass',\n 'Component Lifecycle Validation',\n 'Performance Optimization',\n 'Comprehensive Debug Tools',\n 'Rich Error Templates',\n 'VS Code Integration',\n 'Context-Aware Documentation',\n 'Advanced Visual Debugging',\n 'Intelligent Fix Suggestions'\n ]\n }\n\n } catch (error) {\n console.error('Failed to gather complete validation stats:', error)\n return { error: error instanceof Error ? error.message : String(error) }\n }\n }\n}\n\n/**\n * Quick setup utilities for different validation modes\n */\nexport const ValidationSetup = {\n /**\n * Development mode with full validation\n */\n async development() {\n try {\n const { EnhancedValidationUtils } = await import('./enhanced-runtime')\n const { ValidationDebugUtils } = await import('./debug-tools')\n const { PerformanceOptimizationUtils } = await import('./performance-optimizer')\n\n // Configure for development\n EnhancedValidationUtils.configure({\n enabled: true,\n recovery: { enableRecovery: true, defaultStrategy: 'fallback', maxRecoveryAttempts: 3 },\n lifecycle: { validateOnMount: true, validateOnUpdate: false, validateOnUnmount: false },\n reporting: { enhancedMessages: true, includeStackTrace: true, reportToConsole: true }\n })\n\n // Enable performance optimization\n PerformanceOptimizationUtils.configure({\n enabled: true,\n targetOverhead: 5,\n cacheStrategy: 'moderate'\n })\n\n // Start debug session\n const sessionId = ValidationDebugUtils.startSession()\n\n console.info('🔍 TachUI Enhanced Validation: Development mode active')\n console.info(`📋 Debug session: ${sessionId}`)\n\n return { sessionId }\n } catch (error) {\n console.warn('Enhanced validation setup failed, using basic validation:', error instanceof Error ? error.message : String(error))\n return { fallback: true }\n }\n },\n\n /**\n * Production mode with zero overhead\n */\n async production() {\n try {\n const { ProductionOptimizationUtils } = await import('./production-bypass')\n\n // Enable production bypass\n ProductionOptimizationUtils.disableValidation()\n\n console.info('🚀 TachUI Validation: Production mode - zero overhead')\n\n return { optimized: true }\n } catch (error) {\n console.warn('Production optimization setup failed:', error instanceof Error ? error.message : String(error))\n return { fallback: true }\n }\n },\n\n /**\n * Testing mode with detailed validation\n */\n async testing() {\n try {\n const { EnhancedValidationUtils } = await import('./enhanced-runtime')\n\n // Configure for testing\n EnhancedValidationUtils.configure({\n enabled: true,\n recovery: { enableRecovery: false, defaultStrategy: 'throw', maxRecoveryAttempts: 0 },\n lifecycle: { validateOnMount: true, validateOnUpdate: true, validateOnUnmount: true },\n reporting: { enhancedMessages: true, includeStackTrace: true, reportToConsole: false }\n })\n\n console.info('🧪 TachUI Validation: Testing mode active')\n\n return { testMode: true }\n } catch (error) {\n console.warn('Testing validation setup failed:', error instanceof Error ? error.message : String(error))\n return { fallback: true }\n }\n }\n}\n\n// Auto-initialize with complete validation system\nlet validationSystemInitialized = false\n\nif (typeof window !== 'undefined' || typeof global !== 'undefined') {\n if (process.env.NODE_ENV !== 'production' && !validationSystemInitialized) {\n validationSystemInitialized = true\n console.info('🔍 TachUI Complete Validation System (Phases 1A-1D) initialized')\n console.info('✅ Runtime validation: enabled')\n console.info('✅ Component validation: enabled (33 components)')\n console.info('✅ Modifier validation: enabled')\n console.info('✅ Build-time validation: auto-detecting')\n console.info('✅ Smart error recovery: enabled')\n console.info('✅ Enhanced error reporting: enabled')\n console.info('✅ Performance optimization: enabled')\n console.info('✅ Debug tools: available')\n console.info('✅ Developer experience: enhanced templates, IDE integration, documentation')\n console.info('✅ Advanced debugging: visual overlays, state inspection, trend analysis')\n console.info('ℹ️ Use ValidationSetup.development() for full features')\n } else {\n // Auto-enable production optimizations\n try {\n ValidationSetup.production().catch(() => {\n // Fallback gracefully\n })\n } catch {\n // Fallback gracefully\n }\n }\n}\n"],"names":["ValidationDevTools","ValidationUtils","EnhancedValidationUtils","ValidationDebugUtils","PerformanceOptimizationUtils","ProductionOptimizationUtils","DeveloperExperienceUtils","DocumentationIntegrationUtils","AdvancedDebuggingUtils","IDEIntegrationUtils","error","BuildTimeDevTools","runtimeStats","enhancedStats","debugStats","performanceStats","productionStats","LifecycleValidationUtils","lifecycleStats","phase1DStats","buildTimeStats","ValidationSetup","sessionId","validationSystemInitialized"],"mappings":"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"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("../reactive/cleanup.cjs");require("../reactive/unified-scheduler.cjs");const u=require("../reactive/signal.cjs");require("../reactive/scheduler.cjs");require("../reactive/theme.cjs");const f=require("./production-bypass.cjs");var p=Object.defineProperty,g=(n,e,t)=>e in n?p(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,a=(n,e,t)=>g(n,typeof e!="symbol"?e+"":e,t);const y={enabled:process.env.NODE_ENV!=="production",phases:{construct:!0,mount:!0,update:!1,unmount:!1},validation:{propTypes:!0,stateConsistency:!0,memoryLeaks:!0,performanceWarnings:!0},monitoring:{trackStateChanges:!0,detectMemoryLeaks:!0,performanceThreshold:16}};class m{constructor(){a(this,"components",new WeakMap),a(this,"mountedComponents",new WeakSet),a(this,"config",y),a(this,"phaseTimings",new Map),a(this,"memoryUsage",[]),a(this,"totalComponents",0),a(this,"failedValidations",0),a(this,"memoryLeakDetections",0)}configure(e){this.config={...this.config,...e,phases:{...this.config.phases,...e.phases},validation:{...this.config.validation,...e.validation},monitoring:{...this.config.monitoring,...e.monitoring}}}validateConstruction(e,t,r){if(!this.shouldValidate("construct"))return;this.totalComponents++;const i=performance.now();try{const s={props:this.extractProps(r),timestamp:Date.now(),phase:"construct",validationPassed:!1,errors:[]};this.validateConstructionParams(t,r,s),this.validateComponentStructure(e,t,s),s.validationPassed=!0,this.recordSnapshot(e,s)}catch(s){throw this.failedValidations++,new Error(`Lifecycle validation failed for ${t}: ${s instanceof Error?s.message:String(s)}`)}finally{this.recordPhaseTime("construct",performance.now()-i)}}validateMount(e,t){if(!this.shouldValidate("mount"))return;const r=performance.now();try{if(this.mountedComponents.has(e))throw new Error("Component is already mounted");const i={props:this.getCurrentProps(e),timestamp:Date.now(),phase:"mount",validationPassed:!1,errors:[]};this.validateMountPreconditions(e,t,i),this.config.monitoring.detectMemoryLeaks&&this.checkMemoryUsage(),this.mountedComponents.add(e),i.validationPassed=!0,this.recordSnapshot(e,i)}catch(i){throw this.failedValidations++,new Error(`Mount validation failed for ${t}: ${i instanceof Error?i.message:String(i)}`)}finally{this.recordPhaseTime("mount",performance.now()-r)}}validateUpdate(e,t,r,i){if(!this.shouldValidate("update"))return;const s=performance.now();try{if(!this.mountedComponents.has(e))throw new Error("Cannot update unmounted component");const o={props:r||{},timestamp:Date.now(),phase:"update",validationPassed:!1,errors:[]};this.validatePropChanges(r,i,t,o),this.config.validation.stateConsistency&&this.validateStateConsistency(e,t,o),o.validationPassed=!0,this.recordSnapshot(e,o)}catch(o){this.failedValidations++;const h=`Update validation failed for ${t}: ${o instanceof Error?o.message:String(o)}`;if(this.config.validation.stateConsistency)throw new Error(h);console.warn(h)}finally{this.recordPhaseTime("update",performance.now()-s)}}validateUnmount(e,t){if(!this.shouldValidate("unmount"))return;const r=performance.now();try{this.mountedComponents.has(e)||console.warn(`Component ${t} was not mounted, but unmount was called`);const i={props:this.getCurrentProps(e),timestamp:Date.now(),phase:"unmount",validationPassed:!1,errors:[]};this.validateUnmountCleanup(e,t,i),this.mountedComponents.delete(e),i.validationPassed=!0,this.recordSnapshot(e,i)}catch(i){this.failedValidations++,console.warn(`Unmount validation failed for ${t}: ${i instanceof Error?i.message:String(i)}`)}finally{this.recordPhaseTime("unmount",performance.now()-r)}}validateConstructionParams(e,t,r){if(this.config.validation.propTypes){if(t.length===0&&this.requiresParameters(e))throw r.errors.push("Missing required parameters"),new Error(`${e} component requires parameters`);this.validateParameterTypes(e,t,r)}}validateComponentStructure(e,t,r){const s=["type","render"].filter(o=>!(o in e));if(s.length>0)throw r.errors.push(`Missing properties: ${s.join(", ")}`),new Error(`Component ${t} missing required properties: ${s.join(", ")}`);if("type"in e&&e.type!==t)throw r.errors.push(`Type mismatch: expected ${t}, got ${e.type}`),new Error(`Component type mismatch: expected ${t}, got ${e.type}`)}validateMountPreconditions(e,t,r){if("element"in e&&e.element&&!(e.element instanceof HTMLElement))throw r.errors.push("Invalid element type for mounting"),new Error("Component element must be an HTMLElement for mounting");this.validateMountDependencies(e,t,r)}validatePropChanges(e,t,r,i){if(!(!e||!t))for(const[s,o]of Object.entries(e)){const h=t[s];if(h!==void 0&&o!==void 0){const d=typeof h,c=typeof o;if(d!==c&&!this.isAllowedTypeChange(d,c))throw i.errors.push(`Prop ${s} type changed from ${d} to ${c}`),new Error(`Invalid prop type change: ${s} from ${d} to ${c}`)}h!==void 0&&o===void 0&&(i.errors.push(`Prop ${s} changed from defined to undefined`),console.warn(`⚠️ Prop ${s} in ${r} changed from defined to undefined`))}}validateStateConsistency(e,t,r){if("state"in e&&e.state){const i=e.state;try{JSON.stringify(i)}catch{throw r.errors.push("State contains circular references"),new Error(`Component ${t} state contains circular references`)}this.validateStateValues(i,t,r)}}validateUnmountCleanup(e,t,r){"element"in e&&e.element&&this.checkEventListenerCleanup(e,r)}shouldValidate(e){return this.config.enabled&&!f.ProductionModeManager.shouldBypassValidation()&&this.config.phases[e]}requiresParameters(e){return["Text","Button","Image","Toggle","VStack","HStack","ZStack"].includes(e)}validateParameterTypes(e,t,r){switch(e){case"Text":if(t.length>0&&typeof t[0]!="string"&&!u.isSignal(t[0]))throw r.errors.push("Text content must be string or Signal"),new Error("Text component requires string or Signal content");break;case"Button":if(t.length>0&&typeof t[0]!="string"&&!u.isSignal(t[0]))throw r.errors.push("Button title must be string or Signal"),new Error("Button component requires string or Signal title");break}}validateMountDependencies(e,t,r){}isAllowedTypeChange(e,t){return new Set(["string-number","number-string","undefined-string","undefined-number","undefined-boolean"]).has(`${e}-${t}`)}validateStateValues(e,t,r){for(const[i,s]of Object.entries(e))s===null&&console.warn(`⚠️ State property ${i} in ${t} is null`),typeof s=="function"&&console.warn(`⚠️ State property ${i} in ${t} contains function (may cause serialization issues)`)}checkEventListenerCleanup(e,t){}extractProps(e){return e.length===0?{}:e.length===1&&typeof e[0]=="object"&&e[0]!==null?e[0]:{content:e[0]}}getCurrentProps(e){return"props"in e?e.props:{}}recordSnapshot(e,t){this.components.has(e)||this.components.set(e,[]);const r=this.components.get(e);r.push(t),r.length>10&&r.shift()}recordPhaseTime(e,t){this.phaseTimings.has(e)||this.phaseTimings.set(e,[]);const r=this.phaseTimings.get(e);r.push(t),r.length>100&&r.shift(),t>this.config.monitoring.performanceThreshold&&console.warn(`⚠️ Slow ${e} phase: ${t.toFixed(2)}ms (threshold: ${this.config.monitoring.performanceThreshold}ms)`)}checkMemoryUsage(){if(typeof performance<"u"&&"memory"in performance){const e=performance.memory;if(this.memoryUsage.push(e.usedJSHeapSize),this.memoryUsage.length>50&&this.memoryUsage.shift(),this.memoryUsage.length>10){const t=this.memoryUsage.slice(-10),r=t.reduce((s,o)=>s+o,0)/t.length;t[t.length-1]>r*1.5&&(this.memoryLeakDetections++,console.warn("⚠️ Potential memory leak detected - memory usage increased significantly"))}}}getStats(){const e={};for(const[t,r]of this.phaseTimings)e[t]={count:r.length,averageTime:r.reduce((i,s)=>i+s,0)/r.length,maxTime:Math.max(...r)};return{totalComponents:this.totalComponents,failedValidations:this.failedValidations,memoryLeakDetections:this.memoryLeakDetections,phaseStats:e,config:this.config,memoryUsage:this.memoryUsage.length>0?{current:this.memoryUsage[this.memoryUsage.length-1],average:this.memoryUsage.reduce((t,r)=>t+r,0)/this.memoryUsage.length,trend:this.memoryUsage.length>1?this.memoryUsage[this.memoryUsage.length-1]-this.memoryUsage[0]:0}:null}}reset(){this.components=new WeakMap,this.mountedComponents=new WeakSet,this.phaseTimings.clear(),this.memoryUsage=[],this.totalComponents=0,this.failedValidations=0,this.memoryLeakDetections=0}}const l=new m,v={configure:n=>l.configure(n),getStats:()=>l.getStats(),reset:()=>l.reset(),validateConstruction:(n,e,t)=>l.validateConstruction(n,e,t),validateMount:(n,e)=>l.validateMount(n,e),validateUpdate:(n,e,t,r)=>l.validateUpdate(n,e,t,r),validateUnmount:(n,e)=>l.validateUnmount(n,e)};exports.ComponentLifecycleTracker=m;exports.LifecycleValidationUtils=v;exports.lifecycleTracker=l;
|
|
2
|
-
//# sourceMappingURL=lifecycle-validation.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"lifecycle-validation.cjs","sources":["../../src/validation/lifecycle-validation.ts"],"sourcesContent":["/**\n * Component Lifecycle Validation - Phase 1C\n * \n * Comprehensive validation throughout component lifecycle including\n * mount, update, unmount, state changes, and prop validation.\n */\n\nimport type { ComponentInstance } from '../runtime/types'\nimport { isSignal } from '../reactive'\nimport { ProductionModeManager } from './production-bypass'\n\n/**\n * Component lifecycle phase\n */\nexport type LifecyclePhase = 'construct' | 'mount' | 'update' | 'unmount' | 'error'\n\n/**\n * Component state snapshot for tracking changes\n */\nexport interface ComponentSnapshot {\n props: Record<string, any>\n timestamp: number\n phase: LifecyclePhase\n validationPassed: boolean\n errors: string[]\n}\n\n/**\n * Lifecycle validation configuration\n */\nexport interface LifecycleValidationConfig {\n enabled: boolean\n phases: {\n construct: boolean\n mount: boolean\n update: boolean\n unmount: boolean\n }\n validation: {\n propTypes: boolean\n stateConsistency: boolean\n memoryLeaks: boolean\n performanceWarnings: boolean\n }\n monitoring: {\n trackStateChanges: boolean\n detectMemoryLeaks: boolean\n performanceThreshold: number // ms\n }\n}\n\n/**\n * Default lifecycle validation configuration\n */\nconst defaultConfig: LifecycleValidationConfig = {\n enabled: process.env.NODE_ENV !== 'production',\n phases: {\n construct: true,\n mount: true,\n update: false, // Can be expensive\n unmount: false\n },\n validation: {\n propTypes: true,\n stateConsistency: true,\n memoryLeaks: true,\n performanceWarnings: true\n },\n monitoring: {\n trackStateChanges: true,\n detectMemoryLeaks: true,\n performanceThreshold: 16 // One frame at 60fps\n }\n}\n\n/**\n * Component lifecycle tracker\n */\nexport class ComponentLifecycleTracker {\n private components = new WeakMap<ComponentInstance, ComponentSnapshot[]>()\n private mountedComponents = new WeakSet<ComponentInstance>()\n private config = defaultConfig\n \n // Performance monitoring\n private phaseTimings = new Map<string, number[]>()\n private memoryUsage: number[] = []\n \n // Statistics\n private totalComponents = 0\n private failedValidations = 0\n private memoryLeakDetections = 0\n\n /**\n * Configure lifecycle validation\n */\n configure(config: Partial<LifecycleValidationConfig>): void {\n this.config = {\n ...this.config,\n ...config,\n phases: { ...this.config.phases, ...config.phases },\n validation: { ...this.config.validation, ...config.validation },\n monitoring: { ...this.config.monitoring, ...config.monitoring }\n }\n }\n\n /**\n * Validate component construction\n */\n validateConstruction(\n component: ComponentInstance,\n componentType: string,\n args: unknown[]\n ): void {\n if (!this.shouldValidate('construct')) return\n\n this.totalComponents++\n const startTime = performance.now()\n\n try {\n // Create initial snapshot\n const snapshot: ComponentSnapshot = {\n props: this.extractProps(args),\n timestamp: Date.now(),\n phase: 'construct',\n validationPassed: false,\n errors: []\n }\n\n // Validate construction parameters\n this.validateConstructionParams(componentType, args, snapshot)\n\n // Validate component structure\n this.validateComponentStructure(component, componentType, snapshot)\n\n // Record successful validation\n snapshot.validationPassed = true\n this.recordSnapshot(component, snapshot)\n\n } catch (error) {\n this.failedValidations++\n \n throw new Error(`Lifecycle validation failed for ${componentType}: ${error instanceof Error ? error.message : String(error)}`)\n } finally {\n this.recordPhaseTime('construct', performance.now() - startTime)\n }\n }\n\n /**\n * Validate component mounting\n */\n validateMount(component: ComponentInstance, componentType: string): void {\n if (!this.shouldValidate('mount')) return\n\n const startTime = performance.now()\n\n try {\n // Check if component is already mounted\n if (this.mountedComponents.has(component)) {\n throw new Error('Component is already mounted')\n }\n\n // Create mount snapshot\n const snapshot: ComponentSnapshot = {\n props: this.getCurrentProps(component),\n timestamp: Date.now(),\n phase: 'mount',\n validationPassed: false,\n errors: []\n }\n\n // Validate mount preconditions\n this.validateMountPreconditions(component, componentType, snapshot)\n\n // Check for potential memory leaks\n if (this.config.monitoring.detectMemoryLeaks) {\n this.checkMemoryUsage()\n }\n\n // Mark as mounted\n this.mountedComponents.add(component)\n snapshot.validationPassed = true\n this.recordSnapshot(component, snapshot)\n\n } catch (error) {\n this.failedValidations++\n \n throw new Error(`Mount validation failed for ${componentType}: ${error instanceof Error ? error.message : String(error)}`)\n } finally {\n this.recordPhaseTime('mount', performance.now() - startTime)\n }\n }\n\n /**\n * Validate component update\n */\n validateUpdate(\n component: ComponentInstance,\n componentType: string,\n newProps: any,\n oldProps: any\n ): void {\n if (!this.shouldValidate('update')) return\n\n const startTime = performance.now()\n\n try {\n // Check if component is mounted\n if (!this.mountedComponents.has(component)) {\n throw new Error('Cannot update unmounted component')\n }\n\n // Create update snapshot\n const snapshot: ComponentSnapshot = {\n props: newProps || {},\n timestamp: Date.now(),\n phase: 'update',\n validationPassed: false,\n errors: []\n }\n\n // Validate prop changes\n this.validatePropChanges(newProps, oldProps, componentType, snapshot)\n\n // Validate state consistency\n if (this.config.validation.stateConsistency) {\n this.validateStateConsistency(component, componentType, snapshot)\n }\n\n snapshot.validationPassed = true\n this.recordSnapshot(component, snapshot)\n\n } catch (error) {\n this.failedValidations++\n \n // For updates, we typically want to warn rather than throw\n const errorMessage = `Update validation failed for ${componentType}: ${error instanceof Error ? error.message : String(error)}`\n \n if (this.config.validation.stateConsistency) {\n throw new Error(errorMessage)\n } else {\n console.warn(errorMessage)\n }\n } finally {\n this.recordPhaseTime('update', performance.now() - startTime)\n }\n }\n\n /**\n * Validate component unmounting\n */\n validateUnmount(component: ComponentInstance, componentType: string): void {\n if (!this.shouldValidate('unmount')) return\n\n const startTime = performance.now()\n\n try {\n // Check if component was mounted\n if (!this.mountedComponents.has(component)) {\n console.warn(`Component ${componentType} was not mounted, but unmount was called`)\n }\n\n // Create unmount snapshot\n const snapshot: ComponentSnapshot = {\n props: this.getCurrentProps(component),\n timestamp: Date.now(),\n phase: 'unmount',\n validationPassed: false,\n errors: []\n }\n\n // Check for cleanup requirements\n this.validateUnmountCleanup(component, componentType, snapshot)\n\n // Remove from tracking\n this.mountedComponents.delete(component)\n snapshot.validationPassed = true\n this.recordSnapshot(component, snapshot)\n\n } catch (error) {\n this.failedValidations++\n \n console.warn(`Unmount validation failed for ${componentType}: ${error instanceof Error ? error.message : String(error)}`)\n } finally {\n this.recordPhaseTime('unmount', performance.now() - startTime)\n }\n }\n\n /**\n * Validate construction parameters\n */\n private validateConstructionParams(\n componentType: string,\n args: unknown[],\n snapshot: ComponentSnapshot\n ): void {\n if (!this.config.validation.propTypes) return\n\n // Basic parameter validation\n if (args.length === 0 && this.requiresParameters(componentType)) {\n snapshot.errors.push('Missing required parameters')\n throw new Error(`${componentType} component requires parameters`)\n }\n\n // Type validation for known components\n this.validateParameterTypes(componentType, args, snapshot)\n }\n\n /**\n * Validate component structure\n */\n private validateComponentStructure(\n component: ComponentInstance,\n componentType: string,\n snapshot: ComponentSnapshot\n ): void {\n // Check if component has required methods/properties\n const requiredProperties = ['type', 'render']\n const missingProperties = requiredProperties.filter(prop => !(prop in component))\n \n if (missingProperties.length > 0) {\n snapshot.errors.push(`Missing properties: ${missingProperties.join(', ')}`)\n throw new Error(`Component ${componentType} missing required properties: ${missingProperties.join(', ')}`)\n }\n\n // Validate component type matches\n if ('type' in component && component.type !== componentType) {\n snapshot.errors.push(`Type mismatch: expected ${componentType}, got ${component.type}`)\n throw new Error(`Component type mismatch: expected ${componentType}, got ${component.type}`)\n }\n }\n\n /**\n * Validate mount preconditions\n */\n private validateMountPreconditions(\n component: ComponentInstance,\n componentType: string,\n snapshot: ComponentSnapshot\n ): void {\n // Check if component is in valid state for mounting\n if ('element' in component && component.element && !(component.element instanceof HTMLElement)) {\n snapshot.errors.push('Invalid element type for mounting')\n throw new Error('Component element must be an HTMLElement for mounting')\n }\n\n // Check for required context/dependencies\n this.validateMountDependencies(component, componentType, snapshot)\n }\n\n /**\n * Validate prop changes during updates\n */\n private validatePropChanges(\n newProps: any,\n oldProps: any,\n componentType: string,\n snapshot: ComponentSnapshot\n ): void {\n if (!newProps || !oldProps) return\n\n // Check for invalid prop transitions\n for (const [key, newValue] of Object.entries(newProps)) {\n const oldValue = oldProps[key]\n \n // Check for type changes (usually problematic)\n if (oldValue !== undefined && newValue !== undefined) {\n const oldType = typeof oldValue\n const newType = typeof newValue\n \n if (oldType !== newType && !this.isAllowedTypeChange(oldType, newType)) {\n snapshot.errors.push(`Prop ${key} type changed from ${oldType} to ${newType}`)\n throw new Error(`Invalid prop type change: ${key} from ${oldType} to ${newType}`)\n }\n }\n\n // Check for null/undefined transitions\n if (oldValue !== undefined && newValue === undefined) {\n snapshot.errors.push(`Prop ${key} changed from defined to undefined`)\n // This is often a warning rather than an error\n console.warn(`⚠️ Prop ${key} in ${componentType} changed from defined to undefined`)\n }\n }\n }\n\n /**\n * Validate state consistency\n */\n private validateStateConsistency(\n component: ComponentInstance,\n componentType: string,\n snapshot: ComponentSnapshot\n ): void {\n // Check for common state consistency issues\n if ('state' in component && component.state) {\n const state = component.state\n \n // Check for circular references\n try {\n JSON.stringify(state)\n } catch (_error) {\n snapshot.errors.push('State contains circular references')\n throw new Error(`Component ${componentType} state contains circular references`)\n }\n\n // Check for invalid state values\n this.validateStateValues(state, componentType, snapshot)\n }\n }\n\n /**\n * Validate unmount cleanup\n */\n private validateUnmountCleanup(\n component: ComponentInstance,\n _componentType: string,\n snapshot: ComponentSnapshot\n ): void {\n // Check for potential memory leaks\n if ('element' in component && component.element) {\n // Check if element has event listeners that should be cleaned up\n this.checkEventListenerCleanup(component, snapshot)\n }\n\n // Check for timers/intervals that should be cleared\n // This would require integration with timer tracking\n }\n\n /**\n * Helper methods\n */\n private shouldValidate(phase: LifecyclePhase): boolean {\n return this.config.enabled && \n !ProductionModeManager.shouldBypassValidation() && \n this.config.phases[phase as keyof typeof this.config.phases]\n }\n\n private requiresParameters(componentType: string): boolean {\n const parametersRequired = ['Text', 'Button', 'Image', 'Toggle', 'VStack', 'HStack', 'ZStack']\n return parametersRequired.includes(componentType)\n }\n\n private validateParameterTypes(componentType: string, args: unknown[], snapshot: ComponentSnapshot): void {\n // Component-specific parameter validation\n switch (componentType) {\n case 'Text':\n if (args.length > 0 && typeof args[0] !== 'string' && !isSignal(args[0])) {\n snapshot.errors.push('Text content must be string or Signal')\n throw new Error('Text component requires string or Signal content')\n }\n break\n \n case 'Button':\n if (args.length > 0 && typeof args[0] !== 'string' && !isSignal(args[0])) {\n snapshot.errors.push('Button title must be string or Signal')\n throw new Error('Button component requires string or Signal title')\n }\n break\n \n // Add more component-specific validations as needed\n }\n }\n\n private validateMountDependencies(\n _component: ComponentInstance,\n _componentType: string,\n _snapshot: ComponentSnapshot\n ): void {\n // Check for required context providers, themes, etc.\n // This would be expanded based on actual dependencies\n }\n\n private isAllowedTypeChange(oldType: string, newType: string): boolean {\n // Define allowed type transitions\n const allowedTransitions = new Set([\n 'string-number', 'number-string', // Common conversions\n 'undefined-string', 'undefined-number', 'undefined-boolean' // Initial value setting\n ])\n \n return allowedTransitions.has(`${oldType}-${newType}`)\n }\n\n private validateStateValues(state: any, componentType: string, _snapshot: ComponentSnapshot): void {\n // Check for common problematic state values\n for (const [key, value] of Object.entries(state)) {\n if (value === null) {\n console.warn(`⚠️ State property ${key} in ${componentType} is null`)\n }\n \n if (typeof value === 'function') {\n console.warn(`⚠️ State property ${key} in ${componentType} contains function (may cause serialization issues)`)\n }\n }\n }\n\n private checkEventListenerCleanup(_component: ComponentInstance, _snapshot: ComponentSnapshot): void {\n // This would require integration with event tracking system\n // For now, just a placeholder\n }\n\n private extractProps(args: unknown[]): Record<string, any> {\n if (args.length === 0) return {}\n if (args.length === 1 && typeof args[0] === 'object' && args[0] !== null) {\n return args[0] as Record<string, any>\n }\n return { content: args[0] } // Simple case for string content\n }\n\n private getCurrentProps(component: ComponentInstance): Record<string, any> {\n if ('props' in component) {\n return component.props as Record<string, any>\n }\n return {}\n }\n\n private recordSnapshot(component: ComponentInstance, snapshot: ComponentSnapshot): void {\n if (!this.components.has(component)) {\n this.components.set(component, [])\n }\n \n const snapshots = this.components.get(component)!\n snapshots.push(snapshot)\n \n // Limit snapshot history to prevent memory leaks\n if (snapshots.length > 10) {\n snapshots.shift()\n }\n }\n\n private recordPhaseTime(phase: string, time: number): void {\n if (!this.phaseTimings.has(phase)) {\n this.phaseTimings.set(phase, [])\n }\n \n const times = this.phaseTimings.get(phase)!\n times.push(time)\n \n // Limit timing history\n if (times.length > 100) {\n times.shift()\n }\n\n // Performance warning\n if (time > this.config.monitoring.performanceThreshold) {\n console.warn(`⚠️ Slow ${phase} phase: ${time.toFixed(2)}ms (threshold: ${this.config.monitoring.performanceThreshold}ms)`)\n }\n }\n\n private checkMemoryUsage(): void {\n if (typeof performance !== 'undefined' && 'memory' in performance) {\n const memory = (performance as any).memory\n this.memoryUsage.push(memory.usedJSHeapSize)\n \n // Limit memory history\n if (this.memoryUsage.length > 50) {\n this.memoryUsage.shift()\n }\n\n // Simple memory leak detection\n if (this.memoryUsage.length > 10) {\n const recent = this.memoryUsage.slice(-10)\n const average = recent.reduce((a, b) => a + b, 0) / recent.length\n const current = recent[recent.length - 1]\n \n if (current > average * 1.5) {\n this.memoryLeakDetections++\n console.warn('⚠️ Potential memory leak detected - memory usage increased significantly')\n }\n }\n }\n }\n\n /**\n * Get lifecycle validation statistics\n */\n getStats() {\n const phaseStats: Record<string, { count: number; averageTime: number; maxTime: number }> = {}\n \n for (const [phase, times] of this.phaseTimings) {\n phaseStats[phase] = {\n count: times.length,\n averageTime: times.reduce((a, b) => a + b, 0) / times.length,\n maxTime: Math.max(...times)\n }\n }\n\n return {\n totalComponents: this.totalComponents,\n failedValidations: this.failedValidations,\n memoryLeakDetections: this.memoryLeakDetections,\n phaseStats,\n config: this.config,\n memoryUsage: this.memoryUsage.length > 0 ? {\n current: this.memoryUsage[this.memoryUsage.length - 1],\n average: this.memoryUsage.reduce((a, b) => a + b, 0) / this.memoryUsage.length,\n trend: this.memoryUsage.length > 1 ? \n this.memoryUsage[this.memoryUsage.length - 1] - this.memoryUsage[0] : 0\n } : null\n }\n }\n\n /**\n * Reset all tracking data\n */\n reset(): void {\n this.components = new WeakMap()\n this.mountedComponents = new WeakSet()\n this.phaseTimings.clear()\n this.memoryUsage = []\n this.totalComponents = 0\n this.failedValidations = 0\n this.memoryLeakDetections = 0\n }\n}\n\n// Global lifecycle tracker instance\nexport const lifecycleTracker = new ComponentLifecycleTracker()\n\n// Export utilities\nexport const LifecycleValidationUtils = {\n configure: (config: Partial<LifecycleValidationConfig>) => lifecycleTracker.configure(config),\n getStats: () => lifecycleTracker.getStats(),\n reset: () => lifecycleTracker.reset(),\n \n // Convenience methods for component integration\n validateConstruction: (component: ComponentInstance, type: string, args: unknown[]) =>\n lifecycleTracker.validateConstruction(component, type, args),\n \n validateMount: (component: ComponentInstance, type: string) =>\n lifecycleTracker.validateMount(component, type),\n \n validateUpdate: (component: ComponentInstance, type: string, newProps: any, oldProps: any) =>\n lifecycleTracker.validateUpdate(component, type, newProps, oldProps),\n \n validateUnmount: (component: ComponentInstance, type: string) =>\n lifecycleTracker.validateUnmount(component, type)\n}"],"names":["defaultConfig","ComponentLifecycleTracker","__publicField","config","component","componentType","args","startTime","snapshot","error","newProps","oldProps","errorMessage","missingProperties","prop","key","newValue","oldValue","oldType","newType","state","_componentType","phase","ProductionModeManager","isSignal","_component","_snapshot","value","snapshots","time","times","memory","recent","average","a","b","phaseStats","lifecycleTracker","LifecycleValidationUtils","type"],"mappings":"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"}
|
|
@@ -1,314 +0,0 @@
|
|
|
1
|
-
import "../reactive/cleanup.js";
|
|
2
|
-
import "../reactive/unified-scheduler.js";
|
|
3
|
-
import { isSignal as c } from "../reactive/signal.js";
|
|
4
|
-
import "../reactive/scheduler.js";
|
|
5
|
-
import "../reactive/theme.js";
|
|
6
|
-
import { ProductionModeManager as u } from "./production-bypass.js";
|
|
7
|
-
var f = Object.defineProperty, p = (n, e, t) => e in n ? f(n, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : n[e] = t, a = (n, e, t) => p(n, typeof e != "symbol" ? e + "" : e, t);
|
|
8
|
-
const g = {
|
|
9
|
-
enabled: process.env.NODE_ENV !== "production",
|
|
10
|
-
phases: {
|
|
11
|
-
construct: !0,
|
|
12
|
-
mount: !0,
|
|
13
|
-
update: !1,
|
|
14
|
-
// Can be expensive
|
|
15
|
-
unmount: !1
|
|
16
|
-
},
|
|
17
|
-
validation: {
|
|
18
|
-
propTypes: !0,
|
|
19
|
-
stateConsistency: !0,
|
|
20
|
-
memoryLeaks: !0,
|
|
21
|
-
performanceWarnings: !0
|
|
22
|
-
},
|
|
23
|
-
monitoring: {
|
|
24
|
-
trackStateChanges: !0,
|
|
25
|
-
detectMemoryLeaks: !0,
|
|
26
|
-
performanceThreshold: 16
|
|
27
|
-
// One frame at 60fps
|
|
28
|
-
}
|
|
29
|
-
};
|
|
30
|
-
class y {
|
|
31
|
-
constructor() {
|
|
32
|
-
a(this, "components", /* @__PURE__ */ new WeakMap()), a(this, "mountedComponents", /* @__PURE__ */ new WeakSet()), a(this, "config", g), a(this, "phaseTimings", /* @__PURE__ */ new Map()), a(this, "memoryUsage", []), a(this, "totalComponents", 0), a(this, "failedValidations", 0), a(this, "memoryLeakDetections", 0);
|
|
33
|
-
}
|
|
34
|
-
/**
|
|
35
|
-
* Configure lifecycle validation
|
|
36
|
-
*/
|
|
37
|
-
configure(e) {
|
|
38
|
-
this.config = {
|
|
39
|
-
...this.config,
|
|
40
|
-
...e,
|
|
41
|
-
phases: { ...this.config.phases, ...e.phases },
|
|
42
|
-
validation: { ...this.config.validation, ...e.validation },
|
|
43
|
-
monitoring: { ...this.config.monitoring, ...e.monitoring }
|
|
44
|
-
};
|
|
45
|
-
}
|
|
46
|
-
/**
|
|
47
|
-
* Validate component construction
|
|
48
|
-
*/
|
|
49
|
-
validateConstruction(e, t, r) {
|
|
50
|
-
if (!this.shouldValidate("construct")) return;
|
|
51
|
-
this.totalComponents++;
|
|
52
|
-
const i = performance.now();
|
|
53
|
-
try {
|
|
54
|
-
const s = {
|
|
55
|
-
props: this.extractProps(r),
|
|
56
|
-
timestamp: Date.now(),
|
|
57
|
-
phase: "construct",
|
|
58
|
-
validationPassed: !1,
|
|
59
|
-
errors: []
|
|
60
|
-
};
|
|
61
|
-
this.validateConstructionParams(t, r, s), this.validateComponentStructure(e, t, s), s.validationPassed = !0, this.recordSnapshot(e, s);
|
|
62
|
-
} catch (s) {
|
|
63
|
-
throw this.failedValidations++, new Error(`Lifecycle validation failed for ${t}: ${s instanceof Error ? s.message : String(s)}`);
|
|
64
|
-
} finally {
|
|
65
|
-
this.recordPhaseTime("construct", performance.now() - i);
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
/**
|
|
69
|
-
* Validate component mounting
|
|
70
|
-
*/
|
|
71
|
-
validateMount(e, t) {
|
|
72
|
-
if (!this.shouldValidate("mount")) return;
|
|
73
|
-
const r = performance.now();
|
|
74
|
-
try {
|
|
75
|
-
if (this.mountedComponents.has(e))
|
|
76
|
-
throw new Error("Component is already mounted");
|
|
77
|
-
const i = {
|
|
78
|
-
props: this.getCurrentProps(e),
|
|
79
|
-
timestamp: Date.now(),
|
|
80
|
-
phase: "mount",
|
|
81
|
-
validationPassed: !1,
|
|
82
|
-
errors: []
|
|
83
|
-
};
|
|
84
|
-
this.validateMountPreconditions(e, t, i), this.config.monitoring.detectMemoryLeaks && this.checkMemoryUsage(), this.mountedComponents.add(e), i.validationPassed = !0, this.recordSnapshot(e, i);
|
|
85
|
-
} catch (i) {
|
|
86
|
-
throw this.failedValidations++, new Error(`Mount validation failed for ${t}: ${i instanceof Error ? i.message : String(i)}`);
|
|
87
|
-
} finally {
|
|
88
|
-
this.recordPhaseTime("mount", performance.now() - r);
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
/**
|
|
92
|
-
* Validate component update
|
|
93
|
-
*/
|
|
94
|
-
validateUpdate(e, t, r, i) {
|
|
95
|
-
if (!this.shouldValidate("update")) return;
|
|
96
|
-
const s = performance.now();
|
|
97
|
-
try {
|
|
98
|
-
if (!this.mountedComponents.has(e))
|
|
99
|
-
throw new Error("Cannot update unmounted component");
|
|
100
|
-
const o = {
|
|
101
|
-
props: r || {},
|
|
102
|
-
timestamp: Date.now(),
|
|
103
|
-
phase: "update",
|
|
104
|
-
validationPassed: !1,
|
|
105
|
-
errors: []
|
|
106
|
-
};
|
|
107
|
-
this.validatePropChanges(r, i, t, o), this.config.validation.stateConsistency && this.validateStateConsistency(e, t, o), o.validationPassed = !0, this.recordSnapshot(e, o);
|
|
108
|
-
} catch (o) {
|
|
109
|
-
this.failedValidations++;
|
|
110
|
-
const h = `Update validation failed for ${t}: ${o instanceof Error ? o.message : String(o)}`;
|
|
111
|
-
if (this.config.validation.stateConsistency)
|
|
112
|
-
throw new Error(h);
|
|
113
|
-
console.warn(h);
|
|
114
|
-
} finally {
|
|
115
|
-
this.recordPhaseTime("update", performance.now() - s);
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
/**
|
|
119
|
-
* Validate component unmounting
|
|
120
|
-
*/
|
|
121
|
-
validateUnmount(e, t) {
|
|
122
|
-
if (!this.shouldValidate("unmount")) return;
|
|
123
|
-
const r = performance.now();
|
|
124
|
-
try {
|
|
125
|
-
this.mountedComponents.has(e) || console.warn(`Component ${t} was not mounted, but unmount was called`);
|
|
126
|
-
const i = {
|
|
127
|
-
props: this.getCurrentProps(e),
|
|
128
|
-
timestamp: Date.now(),
|
|
129
|
-
phase: "unmount",
|
|
130
|
-
validationPassed: !1,
|
|
131
|
-
errors: []
|
|
132
|
-
};
|
|
133
|
-
this.validateUnmountCleanup(e, t, i), this.mountedComponents.delete(e), i.validationPassed = !0, this.recordSnapshot(e, i);
|
|
134
|
-
} catch (i) {
|
|
135
|
-
this.failedValidations++, console.warn(`Unmount validation failed for ${t}: ${i instanceof Error ? i.message : String(i)}`);
|
|
136
|
-
} finally {
|
|
137
|
-
this.recordPhaseTime("unmount", performance.now() - r);
|
|
138
|
-
}
|
|
139
|
-
}
|
|
140
|
-
/**
|
|
141
|
-
* Validate construction parameters
|
|
142
|
-
*/
|
|
143
|
-
validateConstructionParams(e, t, r) {
|
|
144
|
-
if (this.config.validation.propTypes) {
|
|
145
|
-
if (t.length === 0 && this.requiresParameters(e))
|
|
146
|
-
throw r.errors.push("Missing required parameters"), new Error(`${e} component requires parameters`);
|
|
147
|
-
this.validateParameterTypes(e, t, r);
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
/**
|
|
151
|
-
* Validate component structure
|
|
152
|
-
*/
|
|
153
|
-
validateComponentStructure(e, t, r) {
|
|
154
|
-
const s = ["type", "render"].filter((o) => !(o in e));
|
|
155
|
-
if (s.length > 0)
|
|
156
|
-
throw r.errors.push(`Missing properties: ${s.join(", ")}`), new Error(`Component ${t} missing required properties: ${s.join(", ")}`);
|
|
157
|
-
if ("type" in e && e.type !== t)
|
|
158
|
-
throw r.errors.push(`Type mismatch: expected ${t}, got ${e.type}`), new Error(`Component type mismatch: expected ${t}, got ${e.type}`);
|
|
159
|
-
}
|
|
160
|
-
/**
|
|
161
|
-
* Validate mount preconditions
|
|
162
|
-
*/
|
|
163
|
-
validateMountPreconditions(e, t, r) {
|
|
164
|
-
if ("element" in e && e.element && !(e.element instanceof HTMLElement))
|
|
165
|
-
throw r.errors.push("Invalid element type for mounting"), new Error("Component element must be an HTMLElement for mounting");
|
|
166
|
-
this.validateMountDependencies(e, t, r);
|
|
167
|
-
}
|
|
168
|
-
/**
|
|
169
|
-
* Validate prop changes during updates
|
|
170
|
-
*/
|
|
171
|
-
validatePropChanges(e, t, r, i) {
|
|
172
|
-
if (!(!e || !t))
|
|
173
|
-
for (const [s, o] of Object.entries(e)) {
|
|
174
|
-
const h = t[s];
|
|
175
|
-
if (h !== void 0 && o !== void 0) {
|
|
176
|
-
const d = typeof h, m = typeof o;
|
|
177
|
-
if (d !== m && !this.isAllowedTypeChange(d, m))
|
|
178
|
-
throw i.errors.push(`Prop ${s} type changed from ${d} to ${m}`), new Error(`Invalid prop type change: ${s} from ${d} to ${m}`);
|
|
179
|
-
}
|
|
180
|
-
h !== void 0 && o === void 0 && (i.errors.push(`Prop ${s} changed from defined to undefined`), console.warn(`⚠️ Prop ${s} in ${r} changed from defined to undefined`));
|
|
181
|
-
}
|
|
182
|
-
}
|
|
183
|
-
/**
|
|
184
|
-
* Validate state consistency
|
|
185
|
-
*/
|
|
186
|
-
validateStateConsistency(e, t, r) {
|
|
187
|
-
if ("state" in e && e.state) {
|
|
188
|
-
const i = e.state;
|
|
189
|
-
try {
|
|
190
|
-
JSON.stringify(i);
|
|
191
|
-
} catch {
|
|
192
|
-
throw r.errors.push("State contains circular references"), new Error(`Component ${t} state contains circular references`);
|
|
193
|
-
}
|
|
194
|
-
this.validateStateValues(i, t, r);
|
|
195
|
-
}
|
|
196
|
-
}
|
|
197
|
-
/**
|
|
198
|
-
* Validate unmount cleanup
|
|
199
|
-
*/
|
|
200
|
-
validateUnmountCleanup(e, t, r) {
|
|
201
|
-
"element" in e && e.element && this.checkEventListenerCleanup(e, r);
|
|
202
|
-
}
|
|
203
|
-
/**
|
|
204
|
-
* Helper methods
|
|
205
|
-
*/
|
|
206
|
-
shouldValidate(e) {
|
|
207
|
-
return this.config.enabled && !u.shouldBypassValidation() && this.config.phases[e];
|
|
208
|
-
}
|
|
209
|
-
requiresParameters(e) {
|
|
210
|
-
return ["Text", "Button", "Image", "Toggle", "VStack", "HStack", "ZStack"].includes(e);
|
|
211
|
-
}
|
|
212
|
-
validateParameterTypes(e, t, r) {
|
|
213
|
-
switch (e) {
|
|
214
|
-
case "Text":
|
|
215
|
-
if (t.length > 0 && typeof t[0] != "string" && !c(t[0]))
|
|
216
|
-
throw r.errors.push("Text content must be string or Signal"), new Error("Text component requires string or Signal content");
|
|
217
|
-
break;
|
|
218
|
-
case "Button":
|
|
219
|
-
if (t.length > 0 && typeof t[0] != "string" && !c(t[0]))
|
|
220
|
-
throw r.errors.push("Button title must be string or Signal"), new Error("Button component requires string or Signal title");
|
|
221
|
-
break;
|
|
222
|
-
}
|
|
223
|
-
}
|
|
224
|
-
validateMountDependencies(e, t, r) {
|
|
225
|
-
}
|
|
226
|
-
isAllowedTypeChange(e, t) {
|
|
227
|
-
return (/* @__PURE__ */ new Set([
|
|
228
|
-
"string-number",
|
|
229
|
-
"number-string",
|
|
230
|
-
// Common conversions
|
|
231
|
-
"undefined-string",
|
|
232
|
-
"undefined-number",
|
|
233
|
-
"undefined-boolean"
|
|
234
|
-
// Initial value setting
|
|
235
|
-
])).has(`${e}-${t}`);
|
|
236
|
-
}
|
|
237
|
-
validateStateValues(e, t, r) {
|
|
238
|
-
for (const [i, s] of Object.entries(e))
|
|
239
|
-
s === null && console.warn(`⚠️ State property ${i} in ${t} is null`), typeof s == "function" && console.warn(`⚠️ State property ${i} in ${t} contains function (may cause serialization issues)`);
|
|
240
|
-
}
|
|
241
|
-
checkEventListenerCleanup(e, t) {
|
|
242
|
-
}
|
|
243
|
-
extractProps(e) {
|
|
244
|
-
return e.length === 0 ? {} : e.length === 1 && typeof e[0] == "object" && e[0] !== null ? e[0] : { content: e[0] };
|
|
245
|
-
}
|
|
246
|
-
getCurrentProps(e) {
|
|
247
|
-
return "props" in e ? e.props : {};
|
|
248
|
-
}
|
|
249
|
-
recordSnapshot(e, t) {
|
|
250
|
-
this.components.has(e) || this.components.set(e, []);
|
|
251
|
-
const r = this.components.get(e);
|
|
252
|
-
r.push(t), r.length > 10 && r.shift();
|
|
253
|
-
}
|
|
254
|
-
recordPhaseTime(e, t) {
|
|
255
|
-
this.phaseTimings.has(e) || this.phaseTimings.set(e, []);
|
|
256
|
-
const r = this.phaseTimings.get(e);
|
|
257
|
-
r.push(t), r.length > 100 && r.shift(), t > this.config.monitoring.performanceThreshold && console.warn(`⚠️ Slow ${e} phase: ${t.toFixed(2)}ms (threshold: ${this.config.monitoring.performanceThreshold}ms)`);
|
|
258
|
-
}
|
|
259
|
-
checkMemoryUsage() {
|
|
260
|
-
if (typeof performance < "u" && "memory" in performance) {
|
|
261
|
-
const e = performance.memory;
|
|
262
|
-
if (this.memoryUsage.push(e.usedJSHeapSize), this.memoryUsage.length > 50 && this.memoryUsage.shift(), this.memoryUsage.length > 10) {
|
|
263
|
-
const t = this.memoryUsage.slice(-10), r = t.reduce((s, o) => s + o, 0) / t.length;
|
|
264
|
-
t[t.length - 1] > r * 1.5 && (this.memoryLeakDetections++, console.warn("⚠️ Potential memory leak detected - memory usage increased significantly"));
|
|
265
|
-
}
|
|
266
|
-
}
|
|
267
|
-
}
|
|
268
|
-
/**
|
|
269
|
-
* Get lifecycle validation statistics
|
|
270
|
-
*/
|
|
271
|
-
getStats() {
|
|
272
|
-
const e = {};
|
|
273
|
-
for (const [t, r] of this.phaseTimings)
|
|
274
|
-
e[t] = {
|
|
275
|
-
count: r.length,
|
|
276
|
-
averageTime: r.reduce((i, s) => i + s, 0) / r.length,
|
|
277
|
-
maxTime: Math.max(...r)
|
|
278
|
-
};
|
|
279
|
-
return {
|
|
280
|
-
totalComponents: this.totalComponents,
|
|
281
|
-
failedValidations: this.failedValidations,
|
|
282
|
-
memoryLeakDetections: this.memoryLeakDetections,
|
|
283
|
-
phaseStats: e,
|
|
284
|
-
config: this.config,
|
|
285
|
-
memoryUsage: this.memoryUsage.length > 0 ? {
|
|
286
|
-
current: this.memoryUsage[this.memoryUsage.length - 1],
|
|
287
|
-
average: this.memoryUsage.reduce((t, r) => t + r, 0) / this.memoryUsage.length,
|
|
288
|
-
trend: this.memoryUsage.length > 1 ? this.memoryUsage[this.memoryUsage.length - 1] - this.memoryUsage[0] : 0
|
|
289
|
-
} : null
|
|
290
|
-
};
|
|
291
|
-
}
|
|
292
|
-
/**
|
|
293
|
-
* Reset all tracking data
|
|
294
|
-
*/
|
|
295
|
-
reset() {
|
|
296
|
-
this.components = /* @__PURE__ */ new WeakMap(), this.mountedComponents = /* @__PURE__ */ new WeakSet(), this.phaseTimings.clear(), this.memoryUsage = [], this.totalComponents = 0, this.failedValidations = 0, this.memoryLeakDetections = 0;
|
|
297
|
-
}
|
|
298
|
-
}
|
|
299
|
-
const l = new y(), U = {
|
|
300
|
-
configure: (n) => l.configure(n),
|
|
301
|
-
getStats: () => l.getStats(),
|
|
302
|
-
reset: () => l.reset(),
|
|
303
|
-
// Convenience methods for component integration
|
|
304
|
-
validateConstruction: (n, e, t) => l.validateConstruction(n, e, t),
|
|
305
|
-
validateMount: (n, e) => l.validateMount(n, e),
|
|
306
|
-
validateUpdate: (n, e, t, r) => l.validateUpdate(n, e, t, r),
|
|
307
|
-
validateUnmount: (n, e) => l.validateUnmount(n, e)
|
|
308
|
-
};
|
|
309
|
-
export {
|
|
310
|
-
y as ComponentLifecycleTracker,
|
|
311
|
-
U as LifecycleValidationUtils,
|
|
312
|
-
l as lifecycleTracker
|
|
313
|
-
};
|
|
314
|
-
//# sourceMappingURL=lifecycle-validation.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"lifecycle-validation.js","sources":["../../src/validation/lifecycle-validation.ts"],"sourcesContent":["/**\n * Component Lifecycle Validation - Phase 1C\n * \n * Comprehensive validation throughout component lifecycle including\n * mount, update, unmount, state changes, and prop validation.\n */\n\nimport type { ComponentInstance } from '../runtime/types'\nimport { isSignal } from '../reactive'\nimport { ProductionModeManager } from './production-bypass'\n\n/**\n * Component lifecycle phase\n */\nexport type LifecyclePhase = 'construct' | 'mount' | 'update' | 'unmount' | 'error'\n\n/**\n * Component state snapshot for tracking changes\n */\nexport interface ComponentSnapshot {\n props: Record<string, any>\n timestamp: number\n phase: LifecyclePhase\n validationPassed: boolean\n errors: string[]\n}\n\n/**\n * Lifecycle validation configuration\n */\nexport interface LifecycleValidationConfig {\n enabled: boolean\n phases: {\n construct: boolean\n mount: boolean\n update: boolean\n unmount: boolean\n }\n validation: {\n propTypes: boolean\n stateConsistency: boolean\n memoryLeaks: boolean\n performanceWarnings: boolean\n }\n monitoring: {\n trackStateChanges: boolean\n detectMemoryLeaks: boolean\n performanceThreshold: number // ms\n }\n}\n\n/**\n * Default lifecycle validation configuration\n */\nconst defaultConfig: LifecycleValidationConfig = {\n enabled: process.env.NODE_ENV !== 'production',\n phases: {\n construct: true,\n mount: true,\n update: false, // Can be expensive\n unmount: false\n },\n validation: {\n propTypes: true,\n stateConsistency: true,\n memoryLeaks: true,\n performanceWarnings: true\n },\n monitoring: {\n trackStateChanges: true,\n detectMemoryLeaks: true,\n performanceThreshold: 16 // One frame at 60fps\n }\n}\n\n/**\n * Component lifecycle tracker\n */\nexport class ComponentLifecycleTracker {\n private components = new WeakMap<ComponentInstance, ComponentSnapshot[]>()\n private mountedComponents = new WeakSet<ComponentInstance>()\n private config = defaultConfig\n \n // Performance monitoring\n private phaseTimings = new Map<string, number[]>()\n private memoryUsage: number[] = []\n \n // Statistics\n private totalComponents = 0\n private failedValidations = 0\n private memoryLeakDetections = 0\n\n /**\n * Configure lifecycle validation\n */\n configure(config: Partial<LifecycleValidationConfig>): void {\n this.config = {\n ...this.config,\n ...config,\n phases: { ...this.config.phases, ...config.phases },\n validation: { ...this.config.validation, ...config.validation },\n monitoring: { ...this.config.monitoring, ...config.monitoring }\n }\n }\n\n /**\n * Validate component construction\n */\n validateConstruction(\n component: ComponentInstance,\n componentType: string,\n args: unknown[]\n ): void {\n if (!this.shouldValidate('construct')) return\n\n this.totalComponents++\n const startTime = performance.now()\n\n try {\n // Create initial snapshot\n const snapshot: ComponentSnapshot = {\n props: this.extractProps(args),\n timestamp: Date.now(),\n phase: 'construct',\n validationPassed: false,\n errors: []\n }\n\n // Validate construction parameters\n this.validateConstructionParams(componentType, args, snapshot)\n\n // Validate component structure\n this.validateComponentStructure(component, componentType, snapshot)\n\n // Record successful validation\n snapshot.validationPassed = true\n this.recordSnapshot(component, snapshot)\n\n } catch (error) {\n this.failedValidations++\n \n throw new Error(`Lifecycle validation failed for ${componentType}: ${error instanceof Error ? error.message : String(error)}`)\n } finally {\n this.recordPhaseTime('construct', performance.now() - startTime)\n }\n }\n\n /**\n * Validate component mounting\n */\n validateMount(component: ComponentInstance, componentType: string): void {\n if (!this.shouldValidate('mount')) return\n\n const startTime = performance.now()\n\n try {\n // Check if component is already mounted\n if (this.mountedComponents.has(component)) {\n throw new Error('Component is already mounted')\n }\n\n // Create mount snapshot\n const snapshot: ComponentSnapshot = {\n props: this.getCurrentProps(component),\n timestamp: Date.now(),\n phase: 'mount',\n validationPassed: false,\n errors: []\n }\n\n // Validate mount preconditions\n this.validateMountPreconditions(component, componentType, snapshot)\n\n // Check for potential memory leaks\n if (this.config.monitoring.detectMemoryLeaks) {\n this.checkMemoryUsage()\n }\n\n // Mark as mounted\n this.mountedComponents.add(component)\n snapshot.validationPassed = true\n this.recordSnapshot(component, snapshot)\n\n } catch (error) {\n this.failedValidations++\n \n throw new Error(`Mount validation failed for ${componentType}: ${error instanceof Error ? error.message : String(error)}`)\n } finally {\n this.recordPhaseTime('mount', performance.now() - startTime)\n }\n }\n\n /**\n * Validate component update\n */\n validateUpdate(\n component: ComponentInstance,\n componentType: string,\n newProps: any,\n oldProps: any\n ): void {\n if (!this.shouldValidate('update')) return\n\n const startTime = performance.now()\n\n try {\n // Check if component is mounted\n if (!this.mountedComponents.has(component)) {\n throw new Error('Cannot update unmounted component')\n }\n\n // Create update snapshot\n const snapshot: ComponentSnapshot = {\n props: newProps || {},\n timestamp: Date.now(),\n phase: 'update',\n validationPassed: false,\n errors: []\n }\n\n // Validate prop changes\n this.validatePropChanges(newProps, oldProps, componentType, snapshot)\n\n // Validate state consistency\n if (this.config.validation.stateConsistency) {\n this.validateStateConsistency(component, componentType, snapshot)\n }\n\n snapshot.validationPassed = true\n this.recordSnapshot(component, snapshot)\n\n } catch (error) {\n this.failedValidations++\n \n // For updates, we typically want to warn rather than throw\n const errorMessage = `Update validation failed for ${componentType}: ${error instanceof Error ? error.message : String(error)}`\n \n if (this.config.validation.stateConsistency) {\n throw new Error(errorMessage)\n } else {\n console.warn(errorMessage)\n }\n } finally {\n this.recordPhaseTime('update', performance.now() - startTime)\n }\n }\n\n /**\n * Validate component unmounting\n */\n validateUnmount(component: ComponentInstance, componentType: string): void {\n if (!this.shouldValidate('unmount')) return\n\n const startTime = performance.now()\n\n try {\n // Check if component was mounted\n if (!this.mountedComponents.has(component)) {\n console.warn(`Component ${componentType} was not mounted, but unmount was called`)\n }\n\n // Create unmount snapshot\n const snapshot: ComponentSnapshot = {\n props: this.getCurrentProps(component),\n timestamp: Date.now(),\n phase: 'unmount',\n validationPassed: false,\n errors: []\n }\n\n // Check for cleanup requirements\n this.validateUnmountCleanup(component, componentType, snapshot)\n\n // Remove from tracking\n this.mountedComponents.delete(component)\n snapshot.validationPassed = true\n this.recordSnapshot(component, snapshot)\n\n } catch (error) {\n this.failedValidations++\n \n console.warn(`Unmount validation failed for ${componentType}: ${error instanceof Error ? error.message : String(error)}`)\n } finally {\n this.recordPhaseTime('unmount', performance.now() - startTime)\n }\n }\n\n /**\n * Validate construction parameters\n */\n private validateConstructionParams(\n componentType: string,\n args: unknown[],\n snapshot: ComponentSnapshot\n ): void {\n if (!this.config.validation.propTypes) return\n\n // Basic parameter validation\n if (args.length === 0 && this.requiresParameters(componentType)) {\n snapshot.errors.push('Missing required parameters')\n throw new Error(`${componentType} component requires parameters`)\n }\n\n // Type validation for known components\n this.validateParameterTypes(componentType, args, snapshot)\n }\n\n /**\n * Validate component structure\n */\n private validateComponentStructure(\n component: ComponentInstance,\n componentType: string,\n snapshot: ComponentSnapshot\n ): void {\n // Check if component has required methods/properties\n const requiredProperties = ['type', 'render']\n const missingProperties = requiredProperties.filter(prop => !(prop in component))\n \n if (missingProperties.length > 0) {\n snapshot.errors.push(`Missing properties: ${missingProperties.join(', ')}`)\n throw new Error(`Component ${componentType} missing required properties: ${missingProperties.join(', ')}`)\n }\n\n // Validate component type matches\n if ('type' in component && component.type !== componentType) {\n snapshot.errors.push(`Type mismatch: expected ${componentType}, got ${component.type}`)\n throw new Error(`Component type mismatch: expected ${componentType}, got ${component.type}`)\n }\n }\n\n /**\n * Validate mount preconditions\n */\n private validateMountPreconditions(\n component: ComponentInstance,\n componentType: string,\n snapshot: ComponentSnapshot\n ): void {\n // Check if component is in valid state for mounting\n if ('element' in component && component.element && !(component.element instanceof HTMLElement)) {\n snapshot.errors.push('Invalid element type for mounting')\n throw new Error('Component element must be an HTMLElement for mounting')\n }\n\n // Check for required context/dependencies\n this.validateMountDependencies(component, componentType, snapshot)\n }\n\n /**\n * Validate prop changes during updates\n */\n private validatePropChanges(\n newProps: any,\n oldProps: any,\n componentType: string,\n snapshot: ComponentSnapshot\n ): void {\n if (!newProps || !oldProps) return\n\n // Check for invalid prop transitions\n for (const [key, newValue] of Object.entries(newProps)) {\n const oldValue = oldProps[key]\n \n // Check for type changes (usually problematic)\n if (oldValue !== undefined && newValue !== undefined) {\n const oldType = typeof oldValue\n const newType = typeof newValue\n \n if (oldType !== newType && !this.isAllowedTypeChange(oldType, newType)) {\n snapshot.errors.push(`Prop ${key} type changed from ${oldType} to ${newType}`)\n throw new Error(`Invalid prop type change: ${key} from ${oldType} to ${newType}`)\n }\n }\n\n // Check for null/undefined transitions\n if (oldValue !== undefined && newValue === undefined) {\n snapshot.errors.push(`Prop ${key} changed from defined to undefined`)\n // This is often a warning rather than an error\n console.warn(`⚠️ Prop ${key} in ${componentType} changed from defined to undefined`)\n }\n }\n }\n\n /**\n * Validate state consistency\n */\n private validateStateConsistency(\n component: ComponentInstance,\n componentType: string,\n snapshot: ComponentSnapshot\n ): void {\n // Check for common state consistency issues\n if ('state' in component && component.state) {\n const state = component.state\n \n // Check for circular references\n try {\n JSON.stringify(state)\n } catch (_error) {\n snapshot.errors.push('State contains circular references')\n throw new Error(`Component ${componentType} state contains circular references`)\n }\n\n // Check for invalid state values\n this.validateStateValues(state, componentType, snapshot)\n }\n }\n\n /**\n * Validate unmount cleanup\n */\n private validateUnmountCleanup(\n component: ComponentInstance,\n _componentType: string,\n snapshot: ComponentSnapshot\n ): void {\n // Check for potential memory leaks\n if ('element' in component && component.element) {\n // Check if element has event listeners that should be cleaned up\n this.checkEventListenerCleanup(component, snapshot)\n }\n\n // Check for timers/intervals that should be cleared\n // This would require integration with timer tracking\n }\n\n /**\n * Helper methods\n */\n private shouldValidate(phase: LifecyclePhase): boolean {\n return this.config.enabled && \n !ProductionModeManager.shouldBypassValidation() && \n this.config.phases[phase as keyof typeof this.config.phases]\n }\n\n private requiresParameters(componentType: string): boolean {\n const parametersRequired = ['Text', 'Button', 'Image', 'Toggle', 'VStack', 'HStack', 'ZStack']\n return parametersRequired.includes(componentType)\n }\n\n private validateParameterTypes(componentType: string, args: unknown[], snapshot: ComponentSnapshot): void {\n // Component-specific parameter validation\n switch (componentType) {\n case 'Text':\n if (args.length > 0 && typeof args[0] !== 'string' && !isSignal(args[0])) {\n snapshot.errors.push('Text content must be string or Signal')\n throw new Error('Text component requires string or Signal content')\n }\n break\n \n case 'Button':\n if (args.length > 0 && typeof args[0] !== 'string' && !isSignal(args[0])) {\n snapshot.errors.push('Button title must be string or Signal')\n throw new Error('Button component requires string or Signal title')\n }\n break\n \n // Add more component-specific validations as needed\n }\n }\n\n private validateMountDependencies(\n _component: ComponentInstance,\n _componentType: string,\n _snapshot: ComponentSnapshot\n ): void {\n // Check for required context providers, themes, etc.\n // This would be expanded based on actual dependencies\n }\n\n private isAllowedTypeChange(oldType: string, newType: string): boolean {\n // Define allowed type transitions\n const allowedTransitions = new Set([\n 'string-number', 'number-string', // Common conversions\n 'undefined-string', 'undefined-number', 'undefined-boolean' // Initial value setting\n ])\n \n return allowedTransitions.has(`${oldType}-${newType}`)\n }\n\n private validateStateValues(state: any, componentType: string, _snapshot: ComponentSnapshot): void {\n // Check for common problematic state values\n for (const [key, value] of Object.entries(state)) {\n if (value === null) {\n console.warn(`⚠️ State property ${key} in ${componentType} is null`)\n }\n \n if (typeof value === 'function') {\n console.warn(`⚠️ State property ${key} in ${componentType} contains function (may cause serialization issues)`)\n }\n }\n }\n\n private checkEventListenerCleanup(_component: ComponentInstance, _snapshot: ComponentSnapshot): void {\n // This would require integration with event tracking system\n // For now, just a placeholder\n }\n\n private extractProps(args: unknown[]): Record<string, any> {\n if (args.length === 0) return {}\n if (args.length === 1 && typeof args[0] === 'object' && args[0] !== null) {\n return args[0] as Record<string, any>\n }\n return { content: args[0] } // Simple case for string content\n }\n\n private getCurrentProps(component: ComponentInstance): Record<string, any> {\n if ('props' in component) {\n return component.props as Record<string, any>\n }\n return {}\n }\n\n private recordSnapshot(component: ComponentInstance, snapshot: ComponentSnapshot): void {\n if (!this.components.has(component)) {\n this.components.set(component, [])\n }\n \n const snapshots = this.components.get(component)!\n snapshots.push(snapshot)\n \n // Limit snapshot history to prevent memory leaks\n if (snapshots.length > 10) {\n snapshots.shift()\n }\n }\n\n private recordPhaseTime(phase: string, time: number): void {\n if (!this.phaseTimings.has(phase)) {\n this.phaseTimings.set(phase, [])\n }\n \n const times = this.phaseTimings.get(phase)!\n times.push(time)\n \n // Limit timing history\n if (times.length > 100) {\n times.shift()\n }\n\n // Performance warning\n if (time > this.config.monitoring.performanceThreshold) {\n console.warn(`⚠️ Slow ${phase} phase: ${time.toFixed(2)}ms (threshold: ${this.config.monitoring.performanceThreshold}ms)`)\n }\n }\n\n private checkMemoryUsage(): void {\n if (typeof performance !== 'undefined' && 'memory' in performance) {\n const memory = (performance as any).memory\n this.memoryUsage.push(memory.usedJSHeapSize)\n \n // Limit memory history\n if (this.memoryUsage.length > 50) {\n this.memoryUsage.shift()\n }\n\n // Simple memory leak detection\n if (this.memoryUsage.length > 10) {\n const recent = this.memoryUsage.slice(-10)\n const average = recent.reduce((a, b) => a + b, 0) / recent.length\n const current = recent[recent.length - 1]\n \n if (current > average * 1.5) {\n this.memoryLeakDetections++\n console.warn('⚠️ Potential memory leak detected - memory usage increased significantly')\n }\n }\n }\n }\n\n /**\n * Get lifecycle validation statistics\n */\n getStats() {\n const phaseStats: Record<string, { count: number; averageTime: number; maxTime: number }> = {}\n \n for (const [phase, times] of this.phaseTimings) {\n phaseStats[phase] = {\n count: times.length,\n averageTime: times.reduce((a, b) => a + b, 0) / times.length,\n maxTime: Math.max(...times)\n }\n }\n\n return {\n totalComponents: this.totalComponents,\n failedValidations: this.failedValidations,\n memoryLeakDetections: this.memoryLeakDetections,\n phaseStats,\n config: this.config,\n memoryUsage: this.memoryUsage.length > 0 ? {\n current: this.memoryUsage[this.memoryUsage.length - 1],\n average: this.memoryUsage.reduce((a, b) => a + b, 0) / this.memoryUsage.length,\n trend: this.memoryUsage.length > 1 ? \n this.memoryUsage[this.memoryUsage.length - 1] - this.memoryUsage[0] : 0\n } : null\n }\n }\n\n /**\n * Reset all tracking data\n */\n reset(): void {\n this.components = new WeakMap()\n this.mountedComponents = new WeakSet()\n this.phaseTimings.clear()\n this.memoryUsage = []\n this.totalComponents = 0\n this.failedValidations = 0\n this.memoryLeakDetections = 0\n }\n}\n\n// Global lifecycle tracker instance\nexport const lifecycleTracker = new ComponentLifecycleTracker()\n\n// Export utilities\nexport const LifecycleValidationUtils = {\n configure: (config: Partial<LifecycleValidationConfig>) => lifecycleTracker.configure(config),\n getStats: () => lifecycleTracker.getStats(),\n reset: () => lifecycleTracker.reset(),\n \n // Convenience methods for component integration\n validateConstruction: (component: ComponentInstance, type: string, args: unknown[]) =>\n lifecycleTracker.validateConstruction(component, type, args),\n \n validateMount: (component: ComponentInstance, type: string) =>\n lifecycleTracker.validateMount(component, type),\n \n validateUpdate: (component: ComponentInstance, type: string, newProps: any, oldProps: any) =>\n lifecycleTracker.validateUpdate(component, type, newProps, oldProps),\n \n validateUnmount: (component: ComponentInstance, type: string) =>\n lifecycleTracker.validateUnmount(component, type)\n}"],"names":["defaultConfig","ComponentLifecycleTracker","__publicField","config","component","componentType","args","startTime","snapshot","error","newProps","oldProps","errorMessage","missingProperties","prop","key","newValue","oldValue","oldType","newType","state","_componentType","phase","ProductionModeManager","isSignal","_component","_snapshot","value","snapshots","time","times","memory","recent","average","a","b","phaseStats","lifecycleTracker","LifecycleValidationUtils","type"],"mappings":"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"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const T=require("./production-bypass.cjs"),v=require("./debug-tools.cjs");var z=Object.defineProperty,C=(o,e,t)=>e in o?z(o,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):o[e]=t,n=(o,e,t)=>C(o,typeof e!="symbol"?e+"":e,t);const g=class p{constructor(e={}){n(this,"config"),n(this,"metrics",new Map),n(this,"operationQueue",[]),n(this,"frameCounter",0),n(this,"lastBatchTime",0),n(this,"throttleTimers",new Map),n(this,"resultCache",new Map),n(this,"performanceObserver"),n(this,"frameTimeTarget",16.67),this.config={enabled:process.env.NODE_ENV!=="production",targetOverhead:5,batchSize:10,cacheStrategy:"moderate",asyncValidation:!0,throttleMs:16,skipFrames:0,...e},this.initializePerformanceMonitoring()}static getInstance(e){return this.instance||(this.instance=new p(e)),this.instance}optimizeValidation(e,t,i={}){if(T.ProductionModeManager.shouldBypassValidation())return t();const{cache:s=!0,batch:r=!1,throttle:a=!1,priority:c="medium"}=i;if(s){const m=this.getCachedResult(e);if(m!==void 0)return this.updateMetrics(e,0,!0,!1),m}if(this.shouldSkipFrame())return this.updateMetrics(e,0,!1,!0),this.getFallbackResult();if(a&&this.isThrottled(e))return this.getFallbackResult();const l=performance.now();try{let m;if(r&&c!=="high")return this.addToBatch(e,t,s);m=t();const u=performance.now()-l;return s&&this.cacheResult(e,m),this.updateMetrics(e,u,!1,!1),this.checkPerformanceImpact(u),m}catch(m){const f=performance.now();throw this.updateMetrics(e,f-l,!1,!1),m}}getCachedResult(e){const t=this.resultCache.get(e);if(!t)return;const i=this.getCacheTTL();if(Date.now()-t.timestamp>i){this.resultCache.delete(e);return}return t.hits++,t.result}cacheResult(e,t){const i=this.getMaxCacheSize();this.resultCache.size>=i&&this.evictLeastPopular(),this.resultCache.set(e,{result:t,timestamp:Date.now(),hits:1})}evictLeastPopular(){const e=Array.from(this.resultCache.entries());e.sort((i,s)=>i[1].hits!==s[1].hits?i[1].hits-s[1].hits:i[1].timestamp-s[1].timestamp);const t=Math.floor(e.length*.25);for(let i=0;i<t;i++)this.resultCache.delete(e[i][0])}getCacheTTL(){switch(this.config.cacheStrategy){case"aggressive":return 3e5;case"moderate":return 6e4;case"conservative":return 1e4;default:return 6e4}}getMaxCacheSize(){switch(this.config.cacheStrategy){case"aggressive":return 1e3;case"moderate":return 500;case"conservative":return 100;default:return 500}}shouldSkipFrame(){return this.config.skipFrames===0?!1:(this.frameCounter++,this.frameCounter%(this.config.skipFrames+1)!==0)}isThrottled(e){const t=this.throttleTimers.get(e)||0,i=Date.now();return i-t<this.config.throttleMs?!0:(this.throttleTimers.set(e,i),!1)}addToBatch(e,t,i){return new Promise((s,r)=>{this.operationQueue.push(()=>{try{const a=t();i&&this.cacheResult(e,a),s(a)}catch(a){r(a)}}),this.processBatchIfReady()})}processBatchIfReady(){const e=Date.now();(this.operationQueue.length>=this.config.batchSize||this.operationQueue.length>0&&e-this.lastBatchTime>this.config.throttleMs)&&this.processBatch()}processBatch(){if(this.operationQueue.length===0)return;const e=this.operationQueue.splice(0,this.config.batchSize);this.lastBatchTime=Date.now(),this.config.asyncValidation?setTimeout(()=>{e.forEach(t=>t())},0):e.forEach(t=>t())}updateMetrics(e,t,i,s){let r=this.metrics.get(e);r||(r={operationCount:0,totalTime:0,averageTime:0,maxTime:0,cacheHitRate:0,skipRate:0},this.metrics.set(e,r)),r.operationCount++,!i&&!s&&(r.totalTime+=t,r.averageTime=r.totalTime/r.operationCount,r.maxTime=Math.max(r.maxTime,t));const a=r.operationCount,c=Math.floor(r.cacheHitRate*a)+(i?1:0),l=Math.floor(r.skipRate*a)+(s?1:0);r.cacheHitRate=c/a,r.skipRate=l/a}checkPerformanceImpact(e){const t=this.frameTimeTarget,i=e/t*100;i>this.config.targetOverhead&&(this.autoOptimize(i),v.validationDebugger.logEvent("performance-warning",`Validation overhead: ${i.toFixed(1)}% (target: ${this.config.targetOverhead}%)`,{duration:e,target:this.config.targetOverhead,actual:i}))}autoOptimize(e){const t=e/this.config.targetOverhead;t>2?(this.config.cacheStrategy="aggressive",this.config.skipFrames=Math.max(1,this.config.skipFrames),this.config.throttleMs=Math.max(this.config.throttleMs,32),this.config.batchSize=Math.min(this.config.batchSize,5)):t>1.5&&(this.config.cacheStrategy="aggressive",this.config.throttleMs=Math.max(this.config.throttleMs,16))}getFallbackResult(){return!0}initializePerformanceMonitoring(){if(typeof PerformanceObserver<"u")try{this.performanceObserver=new PerformanceObserver(e=>{e.getEntries().forEach(i=>{i.name.includes("tachui-validation")&&this.analyzePerformanceEntry(i)})}),this.performanceObserver.observe({entryTypes:["measure","navigation","paint"]})}catch{}}analyzePerformanceEntry(e){e.duration>this.frameTimeTarget&&console.warn(`⚠️ Slow validation operation: ${e.name} took ${e.duration.toFixed(2)}ms`)}getPerformanceStats(){const e=Array.from(this.metrics.values()).reduce((a,c)=>a+c.operationCount,0),t=Array.from(this.metrics.values()).reduce((a,c)=>a+c.totalTime,0),i=e>0?t/e:0,s=Array.from(this.metrics.values()).reduce((a,c)=>a+c.cacheHitRate,0)/this.metrics.size||0,r=Array.from(this.metrics.values()).reduce((a,c)=>a+c.skipRate,0)/this.metrics.size||0;return{config:this.config,totalOperations:e,totalTime:t,averageTime:i,cacheHitRate:s,skipRate:r,cacheSize:this.resultCache.size,queueSize:this.operationQueue.length,frameImpact:i/this.frameTimeTarget*100,targetMet:i/this.frameTimeTarget*100<=this.config.targetOverhead,operations:Object.fromEntries(this.metrics)}}reset(){this.resultCache.clear(),this.metrics.clear(),this.operationQueue=[],this.throttleTimers.clear(),this.frameCounter=0,this.lastBatchTime=0}configure(e){this.config={...this.config,...e}}flush(){for(;this.operationQueue.length>0;)this.processBatch()}getCacheStats(){const e=Array.from(this.resultCache.values()),t=e.reduce((s,r)=>s+r.hits,0),i=e.length>0?e.reduce((s,r)=>s+(Date.now()-r.timestamp),0)/e.length:0;return{size:this.resultCache.size,maxSize:this.getMaxCacheSize(),totalHits:t,averageAge:i,strategy:this.config.cacheStrategy,ttl:this.getCacheTTL()}}};n(g,"instance");let d=g;const h=d.getInstance(),M={configure:o=>h.configure(o),getStats:()=>h.getPerformanceStats(),getCacheStats:()=>h.getCacheStats(),reset:()=>h.reset(),flush:()=>h.flush(),optimize:(o,e,t)=>h.optimizeValidation(o,e,t),test:()=>{console.group("⚡ Performance Optimization Test");try{const o=performance.now(),e=[];for(let r=0;r<100;r++){const a=h.optimizeValidation("test-cache",()=>Math.random(),{cache:!0});e.push(a)}const i=performance.now()-o,s=h.getPerformanceStats();console.info("✅ Optimization system active:",s.config.enabled),console.info("✅ Test duration:",`${i.toFixed(2)}ms`),console.info("✅ Cache hit rate:",`${(s.cacheHitRate*100).toFixed(1)}%`),console.info("✅ Frame impact:",`${s.frameImpact.toFixed(1)}% (target: ${s.config.targetOverhead}%)`),console.info("✅ Target met:",s.targetMet),console.info("✅ Performance optimization is working correctly")}catch(o){console.error("❌ Performance optimization test failed:",o)}console.groupEnd()}};exports.PerformanceOptimizationUtils=M;exports.PerformanceOptimizer=d;exports.performanceOptimizer=h;
|
|
2
|
-
//# sourceMappingURL=performance-optimizer.cjs.map
|