Open lifeart opened 5 months ago
we need to create compat for
import {
createStorage, getValue, setValue
} from '@glimmer/tracking/primitives/storage';
import {
createStorage,
getValue,
setValue,
} from 'ember-tracked-storage-polyfill';
we need to create compat for packages/@ember/-internals/metal/lib/tracked.ts
import { consumeTag, dirtyTagFor, tagFor, trackedData } from '@glimmer/validator';
https://github.com/lifeart/glimmer-next/pull/95
trackedData
https://github.com/glimmerjs/glimmer-vm/blob/main/packages/%40glimmer/validator/lib/tracked-data.tsdirtyTagFor
https://github.com/glimmerjs/glimmer-vm/blob/main/packages/%40glimmer/validator/lib/meta.tstagMetaFor
https://github.com/glimmerjs/glimmer-vm/blob/main/packages/%40glimmer/validator/lib/meta.tstagFor
https://github.com/glimmerjs/glimmer-vm/blob/main/packages/%40glimmer/validator/lib/meta.tsconsumeTag
https://github.com/glimmerjs/glimmer-vm/blob/main/packages/%40glimmer/validator/lib/tracking.tsbeginTrackFrame
https://github.com/glimmerjs/glimmer-vm/blob/main/packages/%40glimmer/validator/lib/tracking.tsendTrackFrame
https://github.com/glimmerjs/glimmer-vm/blob/main/packages/%40glimmer/validator/lib/tracking.tsbeginUntrackFrame
https://github.com/glimmerjs/glimmer-vm/blob/main/packages/%40glimmer/validator/lib/tracking.tsendUntrackFrame
https://github.com/glimmerjs/glimmer-vm/blob/main/packages/%40glimmer/validator/lib/tracking.tsisTracking
https://github.com/glimmerjs/glimmer-vm/blob/main/packages/%40glimmer/validator/lib/tracking.tsTODO: glimmer reference
TODO: poke with ember-source
Here is POC with working ember-modifier, ember-helper, and glimmer components https://github.com/lifeart/glimmer-next/pull/25
We could explore drop-in glimmer-vm replacement approach for glimmer-next. To achieve it, we need to build compatibility layer matching glimmer-vm API.
Here is a list of things to explore:
Here list of ~used
glimmer
parts inember
: