Glimmer.js

Glimmer.js 项目的中央仓库。「Central repository for the Glimmer.js project」

Github星跟蹤圖

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.

Internals

These packages are used internally by Glimmer but may be useful for more advanced users.

  • @glimmer/di - lightweight dependency injection library used by @glimmer/application
  • @glimmer/resolver - resolver used by @glimmer/application to look up component modules

Build Tooling

These packages are used for building Glimmer apps, and aren't intended to run in
the user's browser.

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.

主要指標

概覽
名稱與所有者glimmerjs/glimmer.js
主編程語言TypeScript
編程語言JavaScript (語言數: 6)
平台Linux, Mac, Windows
許可證MIT License
所有者活动
創建於2017-07-11 16:08:21
推送於2024-10-29 16:29:44
最后一次提交2024-10-29 12:29:44
發布數95
最新版本名稱v2.0.0-beta.21 (發布於 2022-09-06 10:31:41)
第一版名稱v0.1.0 (發布於 2017-02-02 17:56:19)
用户参与
星數751
關注者數41
派生數76
提交數1.3k
已啟用問題?
問題數136
打開的問題數28
拉請求數224
打開的拉請求數14
關閉的拉請求數38
项目设置
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?