Version 1.3.26 - #1682
Merged
Merged
Conversation
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.
This PR is specification work for
Ref,RemoteRef, andDynamicRef, completing the 2020-12 specification and pushing overall spec adherence to 98.7% across all drafts.Note
Bundle
The current resolution logic for
dynamicRefandremoteRefis ridiculously complex and spread across theStackandResolveschema modules. TheStackmodule is used to track lexical, dynamic, and resource scopes, andResolvereceives a stack frame which it uses to resolve for multiple drafts. Despite my best efforts to compress it for this revision, the current resolver adds approximately 1 KB to the bundle. The following table shows the metrics:Before
After
Additional work will be done to optimize bundle sizes in subsequent revisions now that the TB1X schema compiler infrastructure is largely complete. The infrastructure should be in a much better position now that we have a passing test suite to build upon.