Skip to content
This repository has been archived by the owner on Sep 2, 2023. It is now read-only.

Terminology: Stipulative Terms #184

Closed
SMotaal opened this issue Sep 17, 2018 · 0 comments
Closed

Terminology: Stipulative Terms #184

SMotaal opened this issue Sep 17, 2018 · 0 comments

Comments

@SMotaal
Copy link

SMotaal commented Sep 17, 2018

Until now, our terminology has focused on deprecating loose and confusing terms in favour of more explicit normative terms. While normative terms avoid miscommunication, by design, imho, we need a new stipulative terms section. This is an example of what I have in mind:


Stipulative Terms

Browser Interop

The expectation that a module (namely ES modules) can be written once and be used in both Node.js and a "popular browser" that is "reasonably conforming", beyond the implicit requirements of conformance to the behaviours defined by the ECMAScript specification.

browser interoperability

The stipulation for "browser interoperability" of ES modules here extends to the ability to utilize platform-specific features in such a way that would mitigate any potential for irrecoverable runtime exceptions, such as early errors. This stipulation aims to help encourage ES modules adoption rates for both Node.js and "popular browsers".

It does not exclude interoperability for runtimes where polyfilling can provide a suitable setting, however, that is neither recommended nor considered to determine "browser interoperability". This stipulation aims to help encourage the "responsible use" of tooling as a vital component of the JavaScript ecosystem.

reasonably conforming

The stipulation for "reasonably conforming" here excludes browsers that do not conform to the ECMAScript 2015 specification as well as all module specific features defined in subsequent revisions. It also excludes all forms of drafts, non-normative specifications, and recommended specifications that are "not considered" and/or are intentionally "removed" by "popular browsers".

popular browsers

The term "popular browsers" is intentionally left open to interpretation.


https://github.com/nodejs/modules/blob/terminology/doc/Terminology.md#stipulative-terms

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

1 participant