All Projects → tc39 → Proposal Realms

tc39 / Proposal Realms

ECMAScript Proposal, specs, and reference implementation for Realms

Labels

ECMAScript spec proposal for Realms API

Status

Champions

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();
    readonly globalThis: typeof globalThis;
    import(specifier: string): Promise<Namespace>;
}

See some examples in the Explainer file.

Presentations

History

  • 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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].