hbs-ast-builders
glimmer hot-reload test #1
glimmer hot-reload test #2
https://github.com/adopted-ember-addons/ember-cli-hot-loader
refs astexporer
<FooBar />
<Baz as |ctx|>
<ctx.boo />
</Baz>
<Boo as |Foo|>
<Foo />
</Boo>
to
{{#let (component 'foobar') as |FooBar|}}
<FooBar />
{{/let}}
{{#let (component 'baz') as |Baz|}}
<Baz as |ctx|>
<ctx.boo />
</Baz>
{{/let}}
{{#let (component 'boo') as |boo|}}
<Boo as |Foo|>
<Foo />
</Boo>
{{/let}}
{{component 'foo-bar' a="1"}}
{{component (mut 1 2 3) b c d e="f"}}
{{foo-bar
baz="stuff"
}}
{{#foo-boo}}
dsfsd
{{/foo-boo}}
{{doo-bar 1 2 3 hoo-boo name=(goo-boo "foo")}}
{{test-component}}
{{component @fooBar}}
{{component this.fooBar}}
{{component fooBar}}
{{component args.fooBar}}
will be transformed to
{{component (hot-load "foo-bar") a="1"}}
{{component (hot-load (mut 1 2 3)) b c d e="f"}}
{{component (hot-load "foo-bar") baz="stuff"}}
{{#component (hot-load "foo-boo")}}dsfsd
{{/component}}
{{component (hot-load "doo-bar") 1 2 3 hoo-boo name=(goo-boo "foo")}}
{{component (hot-load "test-component")}}
{{component (hot-load @fooBar)}}
{{component (hot-load this.fooBar)}}
{{component (hot-load fooBar)}}
{{component (hot-load args.fooBar)}}
and hot-load helper will manage component reloading