-
Notifications
You must be signed in to change notification settings - Fork 1.4k
Normative: Add Import Attributes #3057
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
Conversation
|
@tc39/ecma262-editors Currently the only remaining condition for this proposal to be actually Stage 3 is the editorial review. It'd be great if you have time to do it :) |
43b46ec to
891ceab
Compare
bakkot
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM other than comments.
|
I pushed two more normative commits, that are oversights from the
|
|
Note that this PR has LGTMs from Michael (#3057 (review)), Kevin (#3057 (review)) and jmdyck (#3057 (review)). After Michael's and Kevin's LGTMs, there has been the change to delete the part about the "legacy |
93f3d26 to
9e092f7
Compare
|
@linusg the cutoff is typically based on when stage 4 was achieved, and not based on when the PR is mergeable. |
|
That's not what I mean - there will be a snapshot of the entire spec somewhere in the Ecma archives that says "this is ECMAScript 2025". If this PR is not merged by the time that snapshot is finalized import attributes and JSON modules won't be in there, despite having achieved stage 4. I was unable to find out when that happens exactly but I'm told it's around this time of the year. |
|
@linusg i'm the one who makes that snapshot, and it's never made until all outstanding stage 4 PRs are merged, so you don't have to worry about it. |
|
(it's also a living standard, so nobody should be caring about the snapshots, only what's merged into github :-) ) |
|
Absolutely, I don't use these snapshots ever. Still seemed worth pointing out to avoid this situation, thanks for clarifying! |
syg
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this lgtm. Some small editorial comments.
38d81e3 to
5070573
Compare
|
I rebased on |
These are wrong. It thinks ExportEntry's [[ModuleRequest]] is a String, but this PR updates it to be a ModuleRequest Record. This is also wrong. The actual type is These are because esmeta doesn't know that the entries of the list returned by This caught a bug! In case of I'll edit the PR fixing this last bug, and ignoring the other errors. |
5070573 to
59c29bb
Compare
|
If somebody with write access to this repo can force-push this PR to the |
|
Done. |
* Add Import Attributes proposal * `npm run format` * Updates from review * Changes from review * Do not re-define ImportDeclaration * Add `assert` deprecated syntax to `export ... from` * Remove `[no LineTerminator here]` before `with` * Use optional symbols to reduce grammar * Update ImportEntries and ExportEntry to use ModuleRequest Records * Review from Michael * Replace AttributeKey with LiteralPropertyName * Separate ModuleRequest and LoadedModuleRequest fields * Validate attrs when lodaing deps and not when parsing * Merge `AssertClause` into `WithClause`, and fix missing SDOs * Fix type annotation * Simplify AttributesKeyword * Reviews * Review * Remove support for float and bigint literal keys * Update wording
59c29bb to
4e3450e
Compare
Some steps were not updated with tc39/ecma262#3057. This patch syncs the remaining changes.
Some steps were not updated with tc39/ecma262#3057. This patch syncs the remaining changes.
Some steps were not updated with tc39/ecma262#3057. This patch syncs the remaining changes.
Some steps were not updated with tc39/ecma262#3057. This patch syncs the remaining changes.
Some steps were not updated with tc39/ecma262#3057. This patch syncs the remaining changes.
Some steps were not updated with tc39/ecma262#3057. This patch syncs the remaining changes.
Some steps were not updated with tc39/ecma262#3057. This patch syncs the remaining changes.
This proposal (https://tc39.es/proposal-import-attributes/, https://github.com/tc39/proposal-import-attributes) reached stage 3 during the March 2023 meeting, conditional on stage 3 reviews. I'm opening this PR before "real" stage 3 to help editors reviewing the full spec changes.
The proposal has already been integrated in HTML: https://html.spec.whatwg.org/#hostloadimportedmodule
PREVIEW: https://ci.tc39.es/preview/tc39/ecma262/pull/3057
DIFF: https://arai-a.github.io/ecma262-compare/?pr=3057 (note: the diff doesn't mark deprecated sections)