-
Notifications
You must be signed in to change notification settings - Fork 16
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix/overriding split inline policies #1497
Closed
Closed
Conversation
This file contains 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
Previously would return the wrong expression for export {} statements that were directly adjacent to another object expression.
Merge the var and ref replacement and the import export traversal into single passes.
The key is here to make the node functions parametrized, so that depending on the underlying AST system different nodes can be created by the same transform.
Since babel.js has a bunch of circular imports it has weird importing specific code that checks if modules have been already initialized. We introduce a method called bulletProofNamespace() which helps us to adjust these error checking codes such that they work in split bundles.
Previously some weirdly formatted es modules from esm servers would not be categorized correctly.
Issue that happens if a local variable in a module has the same name as its exported alias, which the transformed code previously would cause to be overridden. This only works with the babel transform for now.
partitioned breakpoints also have breakpoints, but it does not really make sense to display the breakpoint control for them.
Partitioned policies are synthesized, and any override by definition, will revoke the splitting. Therefore it does not make sense to extend the existing master via `applyConfiguration()`
Saves up to 40% in performance. The initial application is skipped in favor of just directly passing the style props to the morph constructor.
Conflicting properties such as width, height, extent or textString, value and textAndAttributes are prioritized and weeded out during synthesization in order to avoid confusing behavior.
Previously the check would give incorrect results when nested breakpoints where being applied. A nested breakpoint is a breakpoint defined by a master that was *itself* reached by a breakpoint.
…flag Replaces old and not very well working control flows with a more sophisticated approach to determining sizing behavior of a styled morph within the context of various layouts. According to the identified sizing behavior, the extent is applied in varying fashions. Also previously accidental re-execution of layouts would happen due to policies applying themselves, which lead to inefficient layout applications overall. This is now prevented with a meta flag.
Previously some layout applications, including text layout, would cause extent, height or width properies in style policies to no longer apply, although not warranted.
Previous code would always loop for a very large array of CSS rules. The new approach just remembers where the rule is stored and directly deletes it, avoiding the search entirely.
1fc376a
to
495ce4e
Compare
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
⏱️ postponed
A problem/idea that is known/documented but is not urgent/has previous pathdependencies.
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.
This fixes a semantic problem with style policies, where overriding inline policies that are varied by different master dispatches will no longer be varied due to the way overridden properties are processed internally.
In effect this will cause previously dynamic inline policies to be strangely "stuck".
However there are also severe performance problems with the current implementation of style policies.
I am considering combining this fix into a future branch that also resolves performance issues.