-
Notifications
You must be signed in to change notification settings - Fork 0
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
Custom Streaming Compiler #50
Merged
Merged
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
Codecov ReportAttention:
Additional details and impacted files@@ Coverage Diff @@
## main #50 +/- ##
============================================
+ Coverage 28.83% 32.20% +3.37%
- Complexity 450 531 +81
============================================
Files 54 52 -2
Lines 1363 1807 +444
============================================
+ Hits 393 582 +189
- Misses 970 1225 +255
☔ View full report in Codecov by Sentry. |
github-merge-queue
bot
removed this pull request from the merge queue due to Branch Protection failures
Oct 12, 2023
You're not authorized to push to this branch. Visit "About protected branches" for more information.
github-merge-queue
bot
removed this pull request from the merge queue due to Branch Protection failures
Oct 12, 2023
You're not authorized to push to this branch. Visit "About protected branches" for more information.
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.
Closes #40 by chance.
This implements a custom HTML5 streaming compiler. There are a number of possibilities created from doing this:
Invalid HTML (on-purpose)
The previous compiler was a validating compiler causing unexpected surprises and errors. This new compiler doesn't do any validation and marches on (much like a web browser) except that it leaves the invalid HTML for the browser to fix. For example, now you can write the following HTML and it not break the entire page:
Components all the way down
This also opened the door to implementing some functionality as components (
form
andfragment
) allowing developers to take advantage of this functionality.Components are invisible
The parser also allows for mutating the dom while parsing (after all, it is in the spec) and we use this to remove components from the dom before rendering. Since component inputs may contain sensitive information, it was imperative to figure out this bit. Now it is here.