npm i @glimmerx/babel-preset


Central repository for the Glimmer.js project

by glimmerjs

0.6.8 (see all)License:MITTypeScript:Not Found
npm i @glimmerx/babel-preset


Welcome to Glimmer.js! Glimmer.js is actually a made up of lots of small packages, so this meta-repo exists to help you find what you're looking for.



Glimmer.js is the developer-facing API on top of the low-level Glimmer VM.


These packages are imported and used by Glimmer developers directly.


Type Tests

The following packages are committed to maintaining stable Typescript types in addition to their JavaScript API:

  • @glimmer/component
  • @glimmer/tracking

Any changes to their types, including changes caused by upgrading the Typescript compiler, are covered under SemVer for these packages (e.g. breaking changes to types will require a new major version).

In order to ensure we aren't making changes to types unintentionally, we have a set of tests for their public APIs in /test/types. These can be run with:

yarn build
yarn test:types

In general, any new additions to the public types should be a new minor version, and removals of public APIs or changes to the versions of TS that are supported should be a major version. Corrections to existing types that are not breaking (e.g. strictly equal to or wider than the current type) can be released in patch versions.

To add a new API:

  1. Add it to any hasExactKeys statements that assert on the keys of a public value/type
  2. Add an $ExpectType test for the new API to ensure it has the correct type.

To remove an API:

  1. Remove it from any hasExactKeys statements
  2. Remove any $ExpectType tests related to it


Symbols are often used for internal state that is only accessible within a framework. We use a few symbols internally in these packages, and because of this they appear in the public type signatures, and assertions. However, unless the symbol itself is part of the public JS API of the package, these properties are inacessible to users, and thus they are not part of public API, and any changes can be made and released in a patch release.

No alternatives found
No tutorials found
Add a tutorial
No dependencies found

Rate & Review

No reviews found
Be the first to rate