• Stars
    star
    746
  • Rank 58,377 (Top 2 %)
  • Language
    TypeScript
  • License
    MIT License
  • Created almost 7 years ago
  • Updated 6 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Central repository for the Glimmer.js project

Glimmer.js

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.

Resources

Packages

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

User-Facing

These packages are imported and used by Glimmer developers directly.

Tests

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

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.

More Repositories

1

glimmer-vm

TypeScript
1,123
star
2

glimmer-website

Website for the Glimmer.js project
CSS
78
star
3

glimmer-experimental

A set of experimental high-level APIs built on Glimmer.js
TypeScript
58
star
4

glimmer-component

[MOVED] This package is now part of the Glimmer.js monorepo
51
star
5

glimmer-di

TypeScript
42
star
6

glimmer-demos

A collection of benchmark demos.
CSS
41
star
7

todomvc-demo

An implementation of TodoMVC
TypeScript
40
star
8

glimmer-web-component

Library to boot up your Glimmer components as Web Components
TypeScript
30
star
9

glimmer-application

[MOVED] This package is now part of the Glimmer.js monorepo
30
star
10

glimmer-blueprint

[MOVED] This package is now part of the Glimmer.js monorepo
25
star
11

broccoli-rust2wasm

A Broccoli Plugin for compiling Rust to WebAssembly
TypeScript
23
star
12

glimmer-application-pipeline

Tooling for developing Glimmer standalone apps with ember-cli
TypeScript
21
star
13

glimmer-playground

Interactive web playground for writing and running Glimmer components
TypeScript
17
star
14

glimmer-build

Build tooling for Glimmer packages.
JavaScript
10
star
15

glimmer-api-docs

API documentation viewer
CSS
8
star
16

hello-glimmer

JavaScript
8
star
17

glimmer-resolver

TypeScript
7
star
18

glimmer-embedding-tutorial

A simplistic example of a Glimmer embedding environment to explain how the embedding APIs work
TypeScript
6
star
19

resolution-map-builder

JavaScript
4
star
20

glimmer-inline-precompile

JavaScript
3
star
21

glimmer-env

Stubs for glimmer application environment variables
TypeScript
2
star
22

glimmer-test-helpers

Test helpers for Glimmer applications
TypeScript
2
star
23

glimmer-blueprint-output

The generated output of `ember new my-app -b @glimmer/blueprint`.
1
star
24

babel-plugin-glimmer-inline-precompile

JavaScript
1
star
25

glimmer-bench

Benchmarking Suite For Glimmer
JavaScript
1
star
26

glimmer-application-test-helpers

[MOVED] This package is now part of the Glimmer.js monorepo
1
star
27

babel-plugin-import-helpers

Make helpers named imports instead of global member expression
JavaScript
1
star
28

babel-helpers

Babel helpers patched to support copy style static inheritance for IE >= 10
JavaScript
1
star
29

resolver-configuration-builder

JavaScript
1
star
30

glimmer-compat

Fully supported compatibility layer for legacy browsers and deprecated constructs needed for Ember
1
star