Skip to content

Commit 2c93e7c

Browse files
andreubotellagesa
andauthored
Add additional edits resulting from TC53's review (#112)
Co-authored-by: Aki <[email protected]>
1 parent 059010b commit 2c93e7c

File tree

1 file changed

+11
-7
lines changed

1 file changed

+11
-7
lines changed

index.bs

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ There is a wide base of ECMAScript runtime environments being used beyond web br
2121

2222
Since code running in web browsers makes up the vast majority of ECMAScript code, runtimes are incentivised to support the same APIs as web browsers. However without a specification of which web platform APIs to be implemented, the resulting landscape provides poor interoperability across such environments.
2323

24-
As such, this Ecma Standard defines the Minimum common web API specification, which lists a curated minimum subset of web platform APIs for server-side and edge runtimes to implement if they aim to be web-interoperable. This is the first edition of the standard, corresponding to the 2025 snapshot. As the web platform (and non-web runtimes) grow and evolve, the committee will aim to publish with an annual cadence.
24+
As such, this Ecma Standard defines the Minimum common web API specification, which defines a subset of Web Platform APIs for server runtimes to implement for interoperability with the web. This is the first edition of the standard, corresponding to the 2025 snapshot. As the web platform and web server runtimes grow and evolve, the committee will aim to publish with an annual cadence.
2525

2626
This Ecma Standard was developed by Technical Committee 55 and was adopted by the General Assembly of December 2025.
2727

@@ -52,12 +52,14 @@ This Ecma Standard was developed by Technical Committee 55 and was adopted by th
5252
Scope {#scope}
5353
==========================
5454

55-
This Standard defines the 2025 snapshot of the Minimum common web API, a curated subset of APIs defined by web platform standards from W3C and WHATWG, which is intended to define a minimum set of capabilities common to browser and non-browser ECMAScript-based runtime environments.
55+
This Standard defines the 2025 snapshot of the Minimum common web API, a curated subset of APIs defined by web platform standards from W3C and WHATWG, which is intended to define a minimum set of capabilities common to browser and web server runtime environments based on ECMAScript.
56+
57+
The intended audience for this Standard is for web server runtime environments that want to be interoperable with the web platform. However, the set of APIs it describes may be implemented by any ECMAScript-based runtime environment that aims to be web-interoperable, even if its primary purpose is unrelated to web servers.
5658

5759
Conformance {#conformance}
5860
==========================
5961

60-
A conforming implementation of the Minimum Common Web Platform API shall conform to ECMA-262, and additionally shall provide the interfaces and properties listed in this Standard, according to their definition in the corresponding W3C or WHATWG standard.
62+
A conforming implementation of this Standard shall provide the interfaces and properties listed in this specification, according to their definition in the corresponding W3C or WHATWG standard. A conforming implementation shall also conform to ECMA-262.
6163

6264
Runtime-specific extensions to any Web Platform API may be implemented by conforming runtimes. Such extensions shall be defined so that their use neither contradicts, nor causes the non-conformance of, normative functionality of any Web Platform API. Extending API surface, even without modifying existing API behaviours, should be avoided as it can reduce interoperability and portability of code across runtimes.
6365

@@ -93,9 +95,11 @@ The term "Web-interoperable Runtime" is intentionally broad. The primary focus o
9395
Common API Index {#api-index}
9496
=========================
9597

96-
All <a>Web-interoperable Runtimes</a> conforming to this Standard shall implement each of the following <a>Web Platform</a> APIs. These should be implemented in accordance with their normative requirements except where modified here. Where any runtime environment must diverge from a normative requirement for technical or structural reasons, clear documentation shall be provided. Documentation shall include both explanation and impact of deviation.
98+
All <a>Web-interoperable Runtimes</a> conforming to this Standard shall implement each of the following <a>Web Platform</a> APIs. These should be implemented in accordance with their normative requirements except as specified in [[#global-scope]]. Where any runtime environment must diverge from a normative requirement for technical or structural reasons, clear documentation shall be provided. Documentation shall include both explanation and impact of deviation.
99+
100+
Note: For example, since web server runtimes do not have an [=origin=] concept, they must violate [[!FETCH]]'s requirement of appending an `Origin` header to network requests.
97101

98-
All of the following interfaces shall be exposed on the global object accessible through `globalThis`, unless otherwise specified in this Standard:
102+
All of the following interfaces shall be exposed on the global object accessible through `globalThis`:
99103

100104
* {{AbortController}} [[!DOM]]
101105
* {{AbortSignal}} [[!DOM]]
@@ -151,7 +155,7 @@ All of the following interfaces shall be exposed on the global object accessible
151155
* {{WritableStreamDefaultController}} [[!STREAMS]]
152156
* {{WritableStreamDefaultWriter}} [[!STREAMS]]
153157

154-
All of the following methods and properties shall be exposed on the global object accessible through `globalThis`, unless otherwise specified in this Standard:
158+
All of the following methods and properties shall be exposed on the global object accessible through `globalThis`, except as specified in [[#global-scope]]:
155159

156160
* {{globalThis}} [[!ECMASCRIPT]]
157161
* `globalThis.`{{atob()}} [[!HTML]]
@@ -182,7 +186,7 @@ All of the following methods and properties shall be exposed on the global objec
182186
If a web-interoperable runtime supports workers, it shall also expose {{WorkerGlobalScope/onerror}},
183187
{{WorkerGlobalScope/onunhandledrejection}}, {{WorkerGlobalScope/onrejectionhandled}} and
184188
{{WorkerGlobalScope/self}} on the worker's `globalThis`,
185-
unless otherwise specified in this Standard. [[!HTML]]
189+
except as specified in [[#global-scope]]. [[!HTML]]
186190

187191
The Global Scope {#global-scope}
188192
================================

0 commit comments

Comments
 (0)