[pull] main from tc39:main#2
Open
pull[bot] wants to merge 389 commits into
Open
Conversation
Reviewer's Guide by SourceryThis pull request implements several changes to improve the build process, enhance the snapshot warning functionality, update dependencies, and introduce a new spellcheck feature. The changes span across multiple files, including scripts, workflows, and configuration files. Sequence diagram for snapshot warning insertionsequenceDiagram
participant Script as insert_snapshot_warning.js
participant JSDOM
participant VirtualConsole
participant FileSystem
Script->>VirtualConsole: Create VirtualConsole instance
VirtualConsole->>VirtualConsole: Suppress warnings
loop for each HTML file
Script->>JSDOM: Load HTML file with virtualConsole
JSDOM->>Script: Return DOM
Script->>JSDOM: Create style element
Script->>JSDOM: Insert WARNING_HTML at body start
Script->>FileSystem: Write updated HTML file
end
Script->>Console: Log 'Done!' on success
Script->>Console: Log error on failure
Updated class diagram for spellcheck scriptclassDiagram
class Spellcheck {
+String BASE_REF
+String[] ASPELL_OPTS
+int MIN_WORD_SIZE
+makeDict(words)
+lines(text)
}
class ExecP {
+execP(command)
}
class FileSystem {
+writeFile(file, content)
}
Spellcheck --> ExecP : uses
Spellcheck --> FileSystem : uses
note for Spellcheck "New script for spellchecking HTML files"
File-Level Changes
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
…or tests (#3402) `Is{Accessor,Data,Generic}Descriptor` are never called with `undefined`.
Specifically, move the sections: - Properties of RegExp String Iterator Instances - Properties of Array Iterator Instances up one level in the section-hierarchy. Elsewhere in the spec, every "Properties of Foo Instances" section is a sibling, not a child, of the "Properties of the Foo Prototype" (or equivalent) section.
- "Internal Slots of RegExp String Iterator Instances" - "Internal Slots of Array Iterator Instances" In the first table, simplify some 'Description' text. In the second table, correct the mis-statement that [[ArrayLikeIterationKind]] is a String value.
✅ Snyk checks have passed. No issues have been found so far.
💻 Catch issues earlier using the plugins for VS Code, JetBrains IDEs, Visual Studio, and Eclipse. |
_module_.Evaluate() returns a Promise, not a Completion Record.
In each of
- NewPromiseResolveThenableJob
- Promise.all
- Promise.allSettled
- Promise.any
- Promise.race
there's a step of the form:
```
1. Return ? _result_.
```
In each case, this commit changes the '?' to a '!',
because _result_ is guaranteed to be a normal completion,
because the preceding step is:
```
1. If _result_ is an abrupt completion, then
```
and the body of that `If` always results in a return.
That's obvious in the case of NewPromiseResolveThenableJob,
but for the other four, you have to observe that:
- for IteratorClose: if its second arg is abrupt, its result is also abrupt.
- for IfAbruptRejectPromise: if its first arg is abrupt, it causes a return.
This PR removes the optional _waitable_ parameter in the ValidateAtomicAccessOnIntegerTypedArray AO. Only Atomics.notify passes true explicitly as an argument, and this inlines the steps in that caller. See #3475
…on-defined" (#3850) ...allowing discovery of implementation-defined behaviour by references to that term Ref https://github.com/tc39/ecma262/pull/3829/changes#r3213198174
…3861) When _referencing_ `?` and `!` (as opposed to _using_ them), enclose them in typographic quotes rather than backticks. Using quotes aligns with editorial conventions (albeit inconsistently applied), while using backticks makes them render as if they were [grammar terminal symbols](https://tc39.es/ecma262/multipage/notational-conventions.html#sec-terminal-symbols).
`FromBase64` only appends bytes via `DecodeFullLengthBase64Chunk` (always 3 bytes at a time) inside step 10.l, and step 10.i preempts further reading when continuing to the next full chunk would exceed `maxLength`. Together these guarantee that, at the top of each iteration of the Repeat loop, the number of elements in `bytes` is a multiple of 3; partial outputs (1 or 2 bytes) only ever occur at end-of-stream via `DecodeFinalBase64Chunk` (step 10.b.i and step 10.e). This invariant is currently implicit; making it an explicit Assert clarifies the algorithm's structure for both readers and implementers (e.g., it justifies why step 10.i's two conditions are exhaustive)
Link to the associated PR, and move its collapsed box to top right (where it won't obscure the References pane)
…r, DisposableStack, and AsyncDisposableStack (#3000) * Spec text for proposal-explicit-resource-management * Fix lint errors * Run formatter * Fix signature for DisposeResources * Fixes for some esmeta warnings * Fixes for some esmeta warnings * Add missing ReturnIfAbrupt in DisposableStack.prototype.use * More ecmarkup signature fixes * Change DisposeResources signature to return completion record * Order sections by property name * Syntax of types * id of AO clause doesn't need to include param names * Avoid the use of `Type()` * Use preamble conventions from PR #2592 * Interface names are put in `<i>` rather than `<em>` * A 'Slots' table should have a 'Type' column * Add 'UsingDeclaration' to Annex A * misc minor fixes * add description suggestion from @jmdyck * Add DisposeCapabilityRecord from tc39/proposal-explicit-resource-management#144 * Wrap UpdateEmpty calls in calls to Completion * Run formatter * Run formatter again * Fix formatting and capitalization * Clean up DisposeResources signature, replace UpdateEmpty with assertions * Add 'either' in front of 'null or undefined' * Use CreateBuiltinFunction * Address additional editor feedback (from async PR) * Move BindingPattern restriction for 'using' to an early error * Fix typo in using declaration early errors * Fix typos * run formatter * Remove InstallErrorCause from SuppressedError, per 2023-jan consensus * Spec text for proposal-async-explicit-resource-management * Run formatter * Add 'either' in front of 'null or undefined' * Address editor feedback * Address additional editor feedback * Switch back to a production parameter, update ASI note * Remove 'await' restriction per March 2023 consensus. See tc39/proposal-explicit-resource-management#153 * Adopt consensus changes from tc39/proposal-explicit-resource-management#178 * Adopt consensus changes from tc39/proposal-explicit-resource-management#180 * Adopt typo fix from tc39/proposal-explicit-resource-management#217 * Fix typos and add temporary PR note * Remove temporary PR note * Remaining consensus updates from proposal repo * Add missing undefined check in GetDisposeMethod * Fix DisposeCapability leak * fix formatting * Switch to empty list * Update text of NOTE * Add PromiseCapability wrapper around sync dispose in an `await using` * Fix missing lookahead restriction * Remove superfluous ClassBody restriction * Add entries to esmeta-ignore * Reduce unnecessary Awaits for nullish values in blocks containing `await using` * Add missing 'constructor' definitions * Disallow using/await using in a switch case/default clause * Fix formatting * PR feedback * minor fixes * Switch from @@ to % in a few more places * Update esmeta-ignore.json * Update asyncDispose to be an async method * avoid threading kind through all the InitializeBinding machinery * rename _kind_ to _declarationKind_ in ForIn/OfBodyEvaluation since there's already _iterationKind_ and _lhsKind_ * move _declarationKind_ into the branch where that makes sense otherwise we're calling IsUsingDeclaration/IsAwaitUsingDeclaration on potentially an assignment target or var declaration, which they aren't defined over. * move it back * PR Feedback * Some missing changes pulled from rbuckton#11 * Fix some remaining suggestions from rbuckton#7 * Switch to `<em>` where appropriate * PR feedback * Don't overwrite completion parameter in DisposeResources * The spec usually uses lower-case for ids. * Drop 'variants' attribute * Changes to Annex A to make it parallel to main-body grammar * Add subclauses to "Constructor Properties of The Global Object" * Need to define ForDeclarationBindingInitialization for ForDeclaration * Remove unreachable SDO rules * Remove more unreachable SDO rules * Remove unnecessary steps in CreateDisposableResource * Add explicit return to algorithm * EvaluateClassStaticBlockBody: add an Assert * Remove 'kind' description from InitializeBinding * CaseBlock can't have resources, so just assert * Restore missing NOTE and fix indentation * ContainsUsing and HasUnterminatedUsingDeclaration are identical * Rename V to value and O to obj * Use list shorthand for NewDisposeCapability * Rely on NOTE rather than overwriting [[DisposableResourceStack]] * Add type to clauses and use 'this method' * Merge branch 'main' into explicit-resource-management * Revert changes to esmeta-ignore.json * PR fix type and function/method usage * Additional editorial feedback * Refactor out DisposeCapability * Fix internal slot typo * Remove unused Dispose AO * Editorial feedback * Remove excess argument to 'return' method * Restore 'then' in assertion * Restore old ids * SuppressedError.prototype description * Revert 'this function'->'this method' * 'property'->'properties' in (Async)Disposable interface desc * Other editorial feedback * no list for mutually exclusive states * Align aliases with #3873 * PR feedback * Symbol description wording * Merge pull request #17 from rbuckton/excess-iter-return-argument Remove excess argument to 'return' method * Revert function->method changes
That is, if Parse Node _P_ must cover an _N_, no early error rules are applied to _P_ or any of its descendants. Also, in the Early Errors section for ObjectLiterals etc: - Delete the paragraph about the non-application of some rules in some cases, as it's now redundant. - Move up the early error rule for ObjectLiteral. - Bring together & clarify all the prose about ObjectLiteral being a cover for ObjectAssignmentPattern. - Add an example.
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.
See Commits and Changes for more details.
Created by
pull[bot] (v2.0.0-alpha.4)
Can you help keep this open source service alive? 💖 Please sponsor : )