-
Notifications
You must be signed in to change notification settings - Fork 26
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
Stage 3 reviews #137
Comments
|
Thanks @jridgewell! I opened #139 for your review. The only point I'm not sure how to solve is "Sort attributes by the code point order of…". There is already a step in the spec that sorts a list (step 6 of ModuleNamespaceCreate), and it does so by referring to |
"code point order" is kind of a tricky concept here, because strings in JS are lists of UTF16 code units, not of code points - so, for example, does The simplest thing is probably something like
|
Thank you! |
Initial review:
|
It's green just because it's a note. Except for that one, all the other notes are new. EDIT: I pushed 2b161db to mark new non-editorial notes.
That list is effectively used as a Set (it's only used at step 2.a of https://tc39.es/proposal-import-attributes/#sec-AllImportAttributesSupported), so I don't think that the stricter requirement would have any effect. |
true, that's a fair point. however, it means that it's idempotent, whereas currently it's not. |
I merged #133, the spec text is now ready for review! |
|
In HostLoadImportedModule, Note 2: is this really something we can't specify? Have we documented some example cases that indicate that more than one of these three approaches might be appropriate? |
Thanks @ljharb for the review, sorry it took this long to tackle it :) I opened #141.
✔️
✔️ Done! I agree with making the behavior as much internally consistent as possible. I tried thinking about other parts in the spec where we might be doing something similar, but this is probably the first time we validate a "dictionary" object with unknown keys.
✔️
Yes, there has been some discussion in #94 (and you already wrote there that you didn't particularly like it :P) tl;dr:
The previous "import assertions" spec in practice mandated "reject" (even if it happened when loading and not when parsing). The spec as is written right now does "clone", since "reject" ended up not being integratable in HTML. Unfortunately it's not really possible to mandate "clone but not reject/race", since once they are different entries in the imports cache they have separate behaviors. Also, one import passing with one attribute doesn't imply that also another import will pass with a different attribute. Tbh I would just not include that note in ECMA-262 — it was originally there because the author wanted to express "we are specifying assertions, but a future proposal might introduce something else that has a different behavior". Now that the proposal has been changed, that note doesn't have it's original utility. |
@tc39/ecma262-editors Do you prefer if I open a PR to ecma262 to help reviewing this? |
@nicolo-ribaudo If that's not too burdensome for you, yes, that is my preferred way to review proposals. |
I opened tc39/ecma262#3057 to facilitate reviewing this proposal as an actual diff on top of ECMA-262. |
Thanks everyone for the reviews! |
This proposal reached conditional consensus for Stage 3 during the March 2023 TC39 meeting.
The consensus is conditional on #133 being merged, and on Stage 3 reviews. This issue tracks the review status.
The text was updated successfully, but these errors were encountered: