fix(plugin): recursive optimisation of pattern matches in attributes/…#41
Merged
shayanhabibi merged 1 commit intostorybookfrom Sep 8, 2025
Merged
fix(plugin): recursive optimisation of pattern matches in attributes/…#41shayanhabibi merged 1 commit intostorybookfrom
shayanhabibi merged 1 commit intostorybookfrom
Conversation
…properties Also fixed the spawning of `singleton` operations in pattern matches. Previously, reactivity of solid-js would be broken when pattern matching on a property directly. This is because the generation of the expression `(matchValue = props.___, matchValue === ____ ? ____ : ___)` et al would not be caught by the solid-js library/compiler. For this reason, we remove this CE optimisation when pattern matching on property getters only. This behaviour can be disabled using the SkipCEOptimisation component flag. This constitutes a 'fix' more than a breaking change.
shayanhabibi
added a commit
that referenced
this pull request
Sep 11, 2025
* storybook base implementation * alpha version storybook * doc extensions, member val string enum matching, et al * known bug: render and arg variant pairs don't mesh well. Better to just stick to one or the other. Made it so key value pairs for children arg will have the value expr transformed by the main plugin * fix fantomas break * Remove jetbrains language injection attributes to determine if they are preventing tailwind injection by the tailwind language service * bump version * fix(plugin): recursive optimisation of pattern matches in attributes/properties (#41) Also fixed the spawning of `singleton` operations in pattern matches. Previously, reactivity of solid-js would be broken when pattern matching on a property directly. This is because the generation of the expression `(matchValue = props.___, matchValue === ____ ? ____ : ___)` et al would not be caught by the solid-js library/compiler. For this reason, we remove this CE optimisation when pattern matching on property getters only. This behaviour can be disabled using the SkipCEOptimisation component flag. This constitutes a 'fix' more than a breaking change. * fix(plugin): ArrayAlloc and ArrayFrom expressions are transformed * better expression collection abstraction * add(storybook): `decorator` custom operation for defining decorators * add(storybook): `decorator` custom operation for defining decorators * feat: storybook support
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
…properties
Also fixed the spawning of
singletonoperations in pattern matches.Previously, reactivity of solid-js would be broken when pattern matching on a property directly. This is because the generation of the expression
(matchValue = props.___, matchValue === ____ ? ____ : ___)et al would not be caught by the solid-js library/compiler.For this reason, we remove this CE optimisation when pattern matching on property getters only.
This behaviour can be disabled using the SkipCEOptimisation component flag.
This constitutes a 'fix' more than a breaking change.