-
-
Notifications
You must be signed in to change notification settings - Fork 4.2k
Pull in Glimmer VM #20896
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
Draft
NullVoxPopuli
wants to merge
3,833
commits into
emberjs:main
Choose a base branch
from
NullVoxPopuli:nvp/adopt-glimmer-vm
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Draft
Pull in Glimmer VM #20896
NullVoxPopuli
wants to merge
3,833
commits into
emberjs:main
from
NullVoxPopuli:nvp/adopt-glimmer-vm
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
The original commit has a few issues: - Type safety - Added a new AST node, which is unnecessary since we already have `VarHead`, but is also a breaking change and is kind of breakage we have been careful to avoid in this area thus far - The parsing is robust against a few classes of edge cases This rework the same feature (on the `Block`/`BlockStatement` side) and adds more test coverage for the feature. Also renamed the field to `block.params`.
improve arguments error detection for inspector
The previous/existing "parsing" code tries to piggy back on letting the HTML tokenizer/parser parse out the block params syntax into attribute nodes and tries to recover the information after the fact This is fundamentally broken and suffers from some wild edge cases like: ``` <div as="" |foo="bar|>...</div> // => <div as |foo|>...</div> ``` This is especially problematic in light of wanting to retain the source spans of the block params nodes. This commit rework the block params parsing and integrate it into the normal parsing pass in the appropiate time.
Provide source spans for the open and close tags without adding new AST nodes, also parse the element's tag name into a path which has the required source span.
It turns out to be important that AST plugins can mutate the list of local variables in the root `Template` node. Instead, use *that* list of local variables as the ultimate source of truth after AST plugin ran.
The rename is motivated by: 1. It's confusing for the root node to have "block params" 2. All other AST nodes that has `blockParams` also has a `params` field that exposes the source location as `VarHead`s There is some uncertainty in: 1. Whether there are a lot of existing AST consumers that uses it (shouldn't be a big deal in itself, as it's just a deprecation) 2. Whether the direction of using `Template.locals` as the source of truth for outside local variables will ultimately prevail When we have more certainty on those and if this rename is still desired, it should be possible to revert this commit
Cleanup v1 AST
…nal-arguments-when-modifiers-update Don't infinitely duplicate positional arguments when modifiers update
Refactor on modifier implementation
My learnings from hacking on this in inspector https://github.com/emberjs/ember-inspector/pull/2549/files Adding modifiers is also easy, will add it in another pr
…ender-tree add in element to debug render tree
This was dropped on Ember side a while back, just never cleaned up Ironically this probably meant when Ember dropped the deprecation/ error, nothing was actually stopping `{{#with}}` from anymore, so perhaps for a while we have actually _re-introduced_ support for the syntax for some time? Extracted from emberjs#1557
[CLEANUP] Drop support for `{{#with}}` keyword
…-render-tree add modifiers to debug render tree
Removing support for implicit this fallback {{foo}} -> {{this.foo}} When a strict mode template references an undefined variable, it really should produce a compile-time error, arguably that is the point of the feature. However, it seems like previously a lot of these errors ended up propagating and is actually handled by the runtime compiler. The original/primary goal here started out as cleaning up all the code for implicit this fallback, but as I delete code it eventually revaled all the places where strict mode was inappropiately using the same infrastructure ("unresolved free variables", which isn't really a sensible thing). Also: * Removes "deprecated call" @foo={{bar}} * Removes unused opcodes
to all package.json files which do not have `"private": true`
[ENHANCEMENT+CLEANUP] Better compile time errors for strict mode
…rjs#1580) * Remove deprecation for setting hash properties (from years ago) * Remove tests which are now irrelevant
…mberjs#1581) * Remove index imports * lint:fix
…#1583) The refactor in emberjs#1568 slightly changed the semantics of `path.parts` in that it didn't previously include `this` or the leading `@`. This commit restores the previous semantics.
…eview Revert "Prepare Release"
…eview Revert "Prepare Release"
Prepare Release
Prepare Release
Restore {{debugger}} behavior
Force release
pnpm repo:update:metadata
…uleResolution=node10 Re-add support for tsconfig's moduleResolution=node10
…uleResolution=node10 Re-add support for tsconfig's moduleResolution=node10
Prepare Release
Prepare Release
Upgrade handlebars parser
…o the glimmer-workspace folder
…ild it since we're no longer publishing it
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.
(and all its git history)
using: https://blog.billyc.io/how-to-copy-one-or-more-files-from-one-git-repo-to-another-and-keep-the-git-history/