Skip to content
main
Switch branches/tags
Code

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

ECMAScript spec proposal for Realms API

Status

Champions

  • @dherman
  • @caridy
  • @erights
  • @leobalter

Index

What are Realms?

Realms are a distinct global environment, with its own global object containing its own intrinsics and built-ins (standard objects that are not bound to global variables, like the initial value of Object.prototype).

See more at the explainer document.

API (TypeScript Format)

declare class Realm {
    constructor();
    importValue(specifier: string, bindingName: string): Promise<PrimitiveValueOrCallable>;
    evaluate(sourceText: string): PrimitiveValueOrCallable;
}

See some examples in the Explainer file.

Presentations

History

  • we moved on from the exposed globalThis model to a lean isolated realms API (see #289 and #291)
  • we worked on this during ES2015 time frame, so never went through stages process (ES6 Realm Objects proto-spec.pdf)
  • got punted to later (rightly so!)
  • goal of this proposal: resume work on this, reassert committee interest via advancing to stage 2
  • original idea from @dherman: What are Realms?

Contributing

Updating the spec text for this proposal

The source for the spec text is located in spec.html and it is written in ecmarkup language.

When modifying the spec text, you should be able to build the HTML version by using the following command:

npm install
npm run build
open dist/index.html

Alternatively, you can use npm run watch.

About

ECMAScript Proposal, specs, and reference implementation for Realms

Resources

Releases

No releases published

Packages

No packages published

Languages