diff --git a/package.json b/package.json
index 9ad983289..289460dcd 100644
--- a/package.json
+++ b/package.json
@@ -36,12 +36,12 @@
"@types/node": "Locking to avoid conflicts between the declared version in packages/core and floating '*' versions when we run in CI without the lockfile"
},
"resolutions": {
- "@glimmer/manager": "0.84.3",
- "@glimmer/interfaces": "0.84.3",
- "@glimmer/runtime": "0.84.3",
- "@glimmer/reference": "0.84.3",
- "@glimmer/util": "0.84.3",
- "@glimmer/validator": "0.84.3",
+ "@glimmer/manager": "0.88.1",
+ "@glimmer/interfaces": "0.88.1",
+ "@glimmer/runtime": "0.88.1",
+ "@glimmer/reference": "0.88.1",
+ "@glimmer/util": "0.88.1",
+ "@glimmer/validator": "0.88.1",
"@types/yargs": "17.0.13",
"@types/node": "^20.10.6",
"ember-cli-htmlbars": "^6.0.1"
diff --git a/packages/core/__tests__/language-server/diagnostic-augmentation.test.ts b/packages/core/__tests__/language-server/diagnostic-augmentation.test.ts
index c093023c8..3ae14ac00 100644
--- a/packages/core/__tests__/language-server/diagnostic-augmentation.test.ts
+++ b/packages/core/__tests__/language-server/diagnostic-augmentation.test.ts
@@ -471,11 +471,11 @@ describe('Language Server: Diagnostic Augmentation', () => {
"message": "The given value does not appear to be usable as a component, modifier or helper.",
"range": {
"end": {
- "character": 26,
+ "character": 23,
"line": 14,
},
"start": {
- "character": 4,
+ "character": 5,
"line": 14,
},
},
@@ -574,11 +574,11 @@ describe('Language Server: Diagnostic Augmentation', () => {
Property 'Foo' does not exist on type 'Globals'.",
"range": {
"end": {
- "character": 7,
+ "character": 4,
"line": 1,
},
"start": {
- "character": 0,
+ "character": 1,
"line": 1,
},
},
@@ -593,11 +593,11 @@ describe('Language Server: Diagnostic Augmentation', () => {
Property 'foo' does not exist on type 'Globals'.",
"range": {
"end": {
- "character": 10,
+ "character": 7,
"line": 2,
},
"start": {
- "character": 0,
+ "character": 1,
"line": 2,
},
},
diff --git a/packages/core/__tests__/transform/debug.test.ts b/packages/core/__tests__/transform/debug.test.ts
index 03429e192..55255c151 100644
--- a/packages/core/__tests__/transform/debug.test.ts
+++ b/packages/core/__tests__/transform/debug.test.ts
@@ -215,33 +215,43 @@ describe('Transform: Debug utilities', () => {
| | | hbs(160:197):
| | | ts(331:451): {\\\\n const 𝛄 = χ.emitComponent(χ.resolve(HelperComponent)({ foo: 𝚪.this.bar, ...χ.NamedArgsMarker }));\\\\n 𝛄;\\\\n }
| | |
- | | | | Mapping: Identifier
+ | | | | Mapping: ElementNameNode
| | | | hbs(161:176): HelperComponent
| | | | ts(376:391): HelperComponent
| | | |
- | | | | Mapping: AttrNode
- | | | | hbs(177:194): @foo={{this.bar}}
- | | | | ts(395:411): foo: 𝚪.this.bar
- | | | |
| | | | | Mapping: Identifier
- | | | | | hbs(178:181): foo
- | | | | | ts(395:398): foo
+ | | | | | hbs(161:176): HelperComponent
+ | | | | | ts(376:391): HelperComponent
| | | | |
- | | | | | Mapping: MustacheStatement
- | | | | | hbs(182:194): {{this.bar}}
- | | | | | ts(400:411): 𝚪.this.bar
+ | | | |
+ | | | | Mapping: ElementStartNode
+ | | | | hbs(160:197):
+ | | | | ts(395:435): foo: 𝚪.this.bar, ...χ.NamedArgsMarker }
+ | | | |
+ | | | | | Mapping: AttrNode
+ | | | | | hbs(177:194): @foo={{this.bar}}
+ | | | | | ts(395:411): foo: 𝚪.this.bar
| | | | |
- | | | | | | Mapping: PathExpression
- | | | | | | hbs(184:192): this.bar
+ | | | | | | Mapping: Identifier
+ | | | | | | hbs(178:181): foo
+ | | | | | | ts(395:398): foo
+ | | | | | |
+ | | | | | | Mapping: MustacheStatement
+ | | | | | | hbs(182:194): {{this.bar}}
| | | | | | ts(400:411): 𝚪.this.bar
| | | | | |
- | | | | | | | Mapping: Identifier
- | | | | | | | hbs(184:188): this
- | | | | | | | ts(403:407): this
+ | | | | | | | Mapping: PathExpression
+ | | | | | | | hbs(184:192): this.bar
+ | | | | | | | ts(400:411): 𝚪.this.bar
| | | | | | |
- | | | | | | | Mapping: Identifier
- | | | | | | | hbs(189:192): bar
- | | | | | | | ts(408:411): bar
+ | | | | | | | | Mapping: Identifier
+ | | | | | | | | hbs(184:188): this
+ | | | | | | | | ts(403:407): this
+ | | | | | | | |
+ | | | | | | | | Mapping: Identifier
+ | | | | | | | | hbs(189:192): bar
+ | | | | | | | | ts(408:411): bar
+ | | | | | | | |
| | | | | | |
| | | | | |
| | | | |
@@ -256,11 +266,11 @@ describe('Transform: Debug utilities', () => {
| Mapping: TemplateEmbedding
| hbs(295:419): hbs\`\\\\n
\\\\n Hello, {{@foo}}!\\\\n\\\\n {{! @glint-expect-error: no @bar arg }}\\\\n {{@bar}}\\\\n
\\\\n \`
- | ts(556:973): ({} as typeof import(\\"@glint/environment-glimmerx/-private/dsl\\")).templateForBackingValue(this, function(𝚪, χ: typeof import(\\"@glint/environment-glimmerx/-private/dsl\\")) {\\\\n hbs;\\\\n {\\\\n const 𝛄 = χ.emitElement(\\"p\\");\\\\n χ.applySplattributes(𝚪.element, 𝛄.element);\\\\n χ.emitContent(χ.resolveOrReturn(𝚪.args.foo)());\\\\n // @glint-expect-error\\\\n χ.emitContent(χ.resolveOrReturn(𝚪.args.bar)());\\\\n }\\\\n 𝚪; χ;\\\\n})
+ | ts(556:1025): ({} as typeof import(\\"@glint/environment-glimmerx/-private/dsl\\")).templateForBackingValue(this, function(𝚪, χ: typeof import(\\"@glint/environment-glimmerx/-private/dsl\\")) {\\\\n hbs;\\\\n {\\\\n const 𝛄 = χ.emitElement(\\"p\\");\\\\n χ.applySplattributes(𝚪.element, 𝛄.element);\\\\n χ.applyAttributes(𝛄.element, {\\\\n \\\\n });\\\\n χ.emitContent(χ.resolveOrReturn(𝚪.args.foo)());\\\\n // @glint-expect-error\\\\n χ.emitContent(χ.resolveOrReturn(𝚪.args.bar)());\\\\n }\\\\n 𝚪; χ;\\\\n})
|
| | Mapping: Template
| | hbs(299:418): \\\\n Hello, {{@foo}}!\\\\n\\\\n {{! @glint-expect-error: no @bar arg }}\\\\n {{@bar}}\\\\n
- | | ts(736:962): {\\\\n const 𝛄 = χ.emitElement(\\"p\\");\\\\n χ.applySplattributes(𝚪.element, 𝛄.element);\\\\n χ.emitContent(χ.resolveOrReturn(𝚪.args.foo)());\\\\n // @glint-expect-error\\\\n χ.emitContent(χ.resolveOrReturn(𝚪.args.bar)());\\\\n }
+ | | ts(736:1014): {\\\\n const 𝛄 = χ.emitElement(\\"p\\");\\\\n χ.applySplattributes(𝚪.element, 𝛄.element);\\\\n χ.applyAttributes(𝛄.element, {\\\\n \\\\n });\\\\n χ.emitContent(χ.resolveOrReturn(𝚪.args.foo)());\\\\n // @glint-expect-error\\\\n χ.emitContent(χ.resolveOrReturn(𝚪.args.bar)());\\\\n }
| |
| | | Mapping: TextContent
| | | hbs(299:304):
@@ -268,64 +278,72 @@ describe('Transform: Debug utilities', () => {
| | |
| | | Mapping: ElementNode
| | | hbs(304:415): \\\\n Hello, {{@foo}}!\\\\n\\\\n {{! @glint-expect-error: no @bar arg }}\\\\n {{@bar}}\\\\n
- | | | ts(736:962): {\\\\n const 𝛄 = χ.emitElement(\\"p\\");\\\\n χ.applySplattributes(𝚪.element, 𝛄.element);\\\\n χ.emitContent(χ.resolveOrReturn(𝚪.args.foo)());\\\\n // @glint-expect-error\\\\n χ.emitContent(χ.resolveOrReturn(𝚪.args.bar)());\\\\n }
+ | | | ts(736:1014): {\\\\n const 𝛄 = χ.emitElement(\\"p\\");\\\\n χ.applySplattributes(𝚪.element, 𝛄.element);\\\\n χ.applyAttributes(𝛄.element, {\\\\n \\\\n });\\\\n χ.emitContent(χ.resolveOrReturn(𝚪.args.foo)());\\\\n // @glint-expect-error\\\\n χ.emitContent(χ.resolveOrReturn(𝚪.args.bar)());\\\\n }
| | |
+ | | | | Mapping: ElementNameNode
+ | | | | hbs(305:306): p
+ | | | | ts(769:772): \\"p\\"
+ | | | |
| | | | Mapping: AttrNode
| | | | hbs(307:320): ...attributes
| | | | ts(775:824): χ.applySplattributes(𝚪.element, 𝛄.element);
| | | |
+ | | | | Mapping: ElementStartNode
+ | | | | hbs(304:321):
+ | | | | ts(860:869):
+ | | | |
| | | | Mapping: TextContent
| | | | hbs(328:334): Hello,
- | | | | ts(825:825):
+ | | | | ts(877:877):
| | | |
| | | | Mapping: MustacheStatement
| | | | hbs(335:343): {{@foo}}
- | | | | ts(825:876): χ.emitContent(χ.resolveOrReturn(𝚪.args.foo)())
+ | | | | ts(877:928): χ.emitContent(χ.resolveOrReturn(𝚪.args.foo)())
| | | |
| | | | | Mapping: PathExpression
| | | | | hbs(337:341): @foo
- | | | | | ts(861:872): 𝚪.args.foo
+ | | | | | ts(913:924): 𝚪.args.foo
| | | | |
| | | | | | Mapping: Identifier
| | | | | | hbs(338:341): foo
- | | | | | | ts(869:872): foo
+ | | | | | | ts(921:924): foo
| | | | | |
| | | | |
| | | |
| | | | Mapping: TextContent
| | | | hbs(343:344): !
- | | | | ts(878:878):
+ | | | | ts(930:930):
| | | |
| | | | Mapping: MustacheCommentStatement
| | | | hbs(352:391): {{! @glint-expect-error: no @bar arg }}
- | | | | ts(878:905): // @glint-expect-error
+ | | | | ts(930:957): // @glint-expect-error
| | | |
| | | | Mapping: TextContent
| | | | hbs(392:398):
- | | | | ts(905:905):
+ | | | | ts(957:957):
| | | |
| | | | Mapping: MustacheStatement
| | | | hbs(398:406): {{@bar}}
- | | | | ts(905:956): χ.emitContent(χ.resolveOrReturn(𝚪.args.bar)())
+ | | | | ts(957:1008): χ.emitContent(χ.resolveOrReturn(𝚪.args.bar)())
| | | |
| | | | | Mapping: PathExpression
| | | | | hbs(400:404): @bar
- | | | | | ts(941:952): 𝚪.args.bar
+ | | | | | ts(993:1004): 𝚪.args.bar
| | | | |
| | | | | | Mapping: Identifier
| | | | | | hbs(401:404): bar
- | | | | | | ts(949:952): bar
+ | | | | | | ts(1001:1004):bar
| | | | | |
| | | | |
| | | |
| | | | Mapping: TextContent
| | | | hbs(406:411):
- | | | | ts(958:958):
+ | | | | ts(1010:1010):
| | | |
| | |
| | | Mapping: TextContent
| | | hbs(415:418):
- | | | ts(962:962):
+ | | | ts(1014:1014):
| | |
| |
|"
@@ -380,33 +398,43 @@ describe('Transform: Debug utilities', () => {
| | | hbs(166:203):
| | | ts(336:456): {\\\\n const 𝛄 = χ.emitComponent(χ.resolve(HelperComponent)({ foo: 𝚪.this.bar, ...χ.NamedArgsMarker }));\\\\n 𝛄;\\\\n }
| | |
- | | | | Mapping: Identifier
+ | | | | Mapping: ElementNameNode
| | | | hbs(167:182): HelperComponent
| | | | ts(381:396): HelperComponent
| | | |
- | | | | Mapping: AttrNode
- | | | | hbs(183:200): @foo={{this.bar}}
- | | | | ts(400:416): foo: 𝚪.this.bar
- | | | |
| | | | | Mapping: Identifier
- | | | | | hbs(184:187): foo
- | | | | | ts(400:403): foo
+ | | | | | hbs(167:182): HelperComponent
+ | | | | | ts(381:396): HelperComponent
| | | | |
- | | | | | Mapping: MustacheStatement
- | | | | | hbs(188:200): {{this.bar}}
- | | | | | ts(405:416): 𝚪.this.bar
+ | | | |
+ | | | | Mapping: ElementStartNode
+ | | | | hbs(166:203):
+ | | | | ts(400:440): foo: 𝚪.this.bar, ...χ.NamedArgsMarker }
+ | | | |
+ | | | | | Mapping: AttrNode
+ | | | | | hbs(183:200): @foo={{this.bar}}
+ | | | | | ts(400:416): foo: 𝚪.this.bar
| | | | |
- | | | | | | Mapping: PathExpression
- | | | | | | hbs(190:198): this.bar
+ | | | | | | Mapping: Identifier
+ | | | | | | hbs(184:187): foo
+ | | | | | | ts(400:403): foo
+ | | | | | |
+ | | | | | | Mapping: MustacheStatement
+ | | | | | | hbs(188:200): {{this.bar}}
| | | | | | ts(405:416): 𝚪.this.bar
| | | | | |
- | | | | | | | Mapping: Identifier
- | | | | | | | hbs(190:194): this
- | | | | | | | ts(408:412): this
+ | | | | | | | Mapping: PathExpression
+ | | | | | | | hbs(190:198): this.bar
+ | | | | | | | ts(405:416): 𝚪.this.bar
| | | | | | |
- | | | | | | | Mapping: Identifier
- | | | | | | | hbs(195:198): bar
- | | | | | | | ts(413:416): bar
+ | | | | | | | | Mapping: Identifier
+ | | | | | | | | hbs(190:194): this
+ | | | | | | | | ts(408:412): this
+ | | | | | | | |
+ | | | | | | | | Mapping: Identifier
+ | | | | | | | | hbs(195:198): bar
+ | | | | | | | | ts(413:416): bar
+ | | | | | | | |
| | | | | | |
| | | | | |
| | | | |
@@ -421,11 +449,11 @@ describe('Transform: Debug utilities', () => {
| Mapping: TemplateEmbedding
| hbs(306:437): hbs\`\\\\r\\\\n
\\\\r\\\\n Hello, {{@foo}}!\\\\r\\\\n\\\\r\\\\n {{! @glint-expect-error: no @bar arg }}\\\\r\\\\n {{@bar}}\\\\r\\\\n
\\\\r\\\\n \`
- | ts(565:982): ({} as typeof import(\\"@glint/environment-glimmerx/-private/dsl\\")).templateForBackingValue(this, function(𝚪, χ: typeof import(\\"@glint/environment-glimmerx/-private/dsl\\")) {\\\\n hbs;\\\\n {\\\\n const 𝛄 = χ.emitElement(\\"p\\");\\\\n χ.applySplattributes(𝚪.element, 𝛄.element);\\\\n χ.emitContent(χ.resolveOrReturn(𝚪.args.foo)());\\\\n // @glint-expect-error\\\\n χ.emitContent(χ.resolveOrReturn(𝚪.args.bar)());\\\\n }\\\\n 𝚪; χ;\\\\n})
+ | ts(565:1034): ({} as typeof import(\\"@glint/environment-glimmerx/-private/dsl\\")).templateForBackingValue(this, function(𝚪, χ: typeof import(\\"@glint/environment-glimmerx/-private/dsl\\")) {\\\\n hbs;\\\\n {\\\\n const 𝛄 = χ.emitElement(\\"p\\");\\\\n χ.applySplattributes(𝚪.element, 𝛄.element);\\\\n χ.applyAttributes(𝛄.element, {\\\\n \\\\n });\\\\n χ.emitContent(χ.resolveOrReturn(𝚪.args.foo)());\\\\n // @glint-expect-error\\\\n χ.emitContent(χ.resolveOrReturn(𝚪.args.bar)());\\\\n }\\\\n 𝚪; χ;\\\\n})
|
| | Mapping: Template
| | hbs(310:436): \\\\r\\\\n Hello, {{@foo}}!\\\\r\\\\n\\\\r\\\\n {{! @glint-expect-error: no @bar arg }}\\\\r\\\\n {{@bar}}\\\\r\\\\n
- | | ts(745:971): {\\\\n const 𝛄 = χ.emitElement(\\"p\\");\\\\n χ.applySplattributes(𝚪.element, 𝛄.element);\\\\n χ.emitContent(χ.resolveOrReturn(𝚪.args.foo)());\\\\n // @glint-expect-error\\\\n χ.emitContent(χ.resolveOrReturn(𝚪.args.bar)());\\\\n }
+ | | ts(745:1023): {\\\\n const 𝛄 = χ.emitElement(\\"p\\");\\\\n χ.applySplattributes(𝚪.element, 𝛄.element);\\\\n χ.applyAttributes(𝛄.element, {\\\\n \\\\n });\\\\n χ.emitContent(χ.resolveOrReturn(𝚪.args.foo)());\\\\n // @glint-expect-error\\\\n χ.emitContent(χ.resolveOrReturn(𝚪.args.bar)());\\\\n }
| |
| | | Mapping: TextContent
| | | hbs(310:316):
@@ -433,64 +461,72 @@ describe('Transform: Debug utilities', () => {
| | |
| | | Mapping: ElementNode
| | | hbs(316:432): \\\\r\\\\n Hello, {{@foo}}!\\\\r\\\\n\\\\r\\\\n {{! @glint-expect-error: no @bar arg }}\\\\r\\\\n {{@bar}}\\\\r\\\\n
- | | | ts(745:971): {\\\\n const 𝛄 = χ.emitElement(\\"p\\");\\\\n χ.applySplattributes(𝚪.element, 𝛄.element);\\\\n χ.emitContent(χ.resolveOrReturn(𝚪.args.foo)());\\\\n // @glint-expect-error\\\\n χ.emitContent(χ.resolveOrReturn(𝚪.args.bar)());\\\\n }
+ | | | ts(745:1023): {\\\\n const 𝛄 = χ.emitElement(\\"p\\");\\\\n χ.applySplattributes(𝚪.element, 𝛄.element);\\\\n χ.applyAttributes(𝛄.element, {\\\\n \\\\n });\\\\n χ.emitContent(χ.resolveOrReturn(𝚪.args.foo)());\\\\n // @glint-expect-error\\\\n χ.emitContent(χ.resolveOrReturn(𝚪.args.bar)());\\\\n }
| | |
+ | | | | Mapping: ElementNameNode
+ | | | | hbs(317:318): p
+ | | | | ts(778:781): \\"p\\"
+ | | | |
| | | | Mapping: AttrNode
| | | | hbs(319:332): ...attributes
| | | | ts(784:833): χ.applySplattributes(𝚪.element, 𝛄.element);
| | | |
+ | | | | Mapping: ElementStartNode
+ | | | | hbs(316:333):
+ | | | | ts(869:878):
+ | | | |
| | | | Mapping: TextContent
| | | | hbs(340:347): Hello,
- | | | | ts(834:834):
+ | | | | ts(886:886):
| | | |
| | | | Mapping: MustacheStatement
| | | | hbs(348:356): {{@foo}}
- | | | | ts(834:885): χ.emitContent(χ.resolveOrReturn(𝚪.args.foo)())
+ | | | | ts(886:937): χ.emitContent(χ.resolveOrReturn(𝚪.args.foo)())
| | | |
| | | | | Mapping: PathExpression
| | | | | hbs(350:354): @foo
- | | | | | ts(870:881): 𝚪.args.foo
+ | | | | | ts(922:933): 𝚪.args.foo
| | | | |
| | | | | | Mapping: Identifier
| | | | | | hbs(351:354): foo
- | | | | | | ts(878:881): foo
+ | | | | | | ts(930:933): foo
| | | | | |
| | | | |
| | | |
| | | | Mapping: TextContent
| | | | hbs(356:359): !
- | | | | ts(887:887):
+ | | | | ts(939:939):
| | | |
| | | | Mapping: MustacheCommentStatement
| | | | hbs(367:406): {{! @glint-expect-error: no @bar arg }}
- | | | | ts(887:914): // @glint-expect-error
+ | | | | ts(939:966): // @glint-expect-error
| | | |
| | | | Mapping: TextContent
| | | | hbs(408:414):
- | | | | ts(914:914):
+ | | | | ts(966:966):
| | | |
| | | | Mapping: MustacheStatement
| | | | hbs(414:422): {{@bar}}
- | | | | ts(914:965): χ.emitContent(χ.resolveOrReturn(𝚪.args.bar)())
+ | | | | ts(966:1017): χ.emitContent(χ.resolveOrReturn(𝚪.args.bar)())
| | | |
| | | | | Mapping: PathExpression
| | | | | hbs(416:420): @bar
- | | | | | ts(950:961): 𝚪.args.bar
+ | | | | | ts(1002:1013):𝚪.args.bar
| | | | |
| | | | | | Mapping: Identifier
| | | | | | hbs(417:420): bar
- | | | | | | ts(958:961): bar
+ | | | | | | ts(1010:1013):bar
| | | | | |
| | | | |
| | | |
| | | | Mapping: TextContent
| | | | hbs(422:428):
- | | | | ts(967:967):
+ | | | | ts(1019:1019):
| | | |
| | |
| | | Mapping: TextContent
| | | hbs(432:436):
- | | | ts(971:971):
+ | | | ts(1023:1023):
| | |
| |
|"
diff --git a/packages/core/__tests__/transform/template-to-typescript.test.ts b/packages/core/__tests__/transform/template-to-typescript.test.ts
index 6f0762e9e..daaaa84ba 100644
--- a/packages/core/__tests__/transform/template-to-typescript.test.ts
+++ b/packages/core/__tests__/transform/template-to-typescript.test.ts
@@ -933,6 +933,9 @@ describe('Transform: rewriteTemplate', () => {
expect(templateBody(template, { globals: [] })).toMatchInlineSnapshot(`
"{
const 𝛄 = χ.emitElement(\\"div\\");
+ χ.applyAttributes(𝛄.element, {
+
+ });
χ.applyModifier(χ.resolve(modifier)(𝛄.element, { foo: \\"bar\\" , ...χ.NamedArgsMarker }));
}"
`);
@@ -944,6 +947,9 @@ describe('Transform: rewriteTemplate', () => {
expect(templateBody(template, { globals: [] })).toMatchInlineSnapshot(`
"{
const 𝛄 = χ.emitComponent(χ.resolve(MyComponent)());
+ χ.applyAttributes(𝛄.element, {
+
+ });
χ.applyModifier(χ.resolve(modifier)(𝛄.element, { foo: \\"bar\\" , ...χ.NamedArgsMarker }));
}"
`);
@@ -1085,6 +1091,9 @@ describe('Transform: rewriteTemplate', () => {
"{
const 𝛄 = χ.emitElement(\\"div\\");
χ.applySplattributes(𝚪.element, 𝛄.element);
+ χ.applyAttributes(𝛄.element, {
+
+ });
}"
`);
});
@@ -1129,6 +1138,9 @@ describe('Transform: rewriteTemplate', () => {
"{
const 𝛄 = χ.emitComponent(χ.resolve(Foo)());
χ.applySplattributes(𝚪.element, 𝛄.element);
+ χ.applyAttributes(𝛄.element, {
+
+ });
}"
`);
});
diff --git a/packages/core/package.json b/packages/core/package.json
index b29d53346..2aea62eae 100644
--- a/packages/core/package.json
+++ b/packages/core/package.json
@@ -32,7 +32,7 @@
"typescript": ">=4.8.0"
},
"dependencies": {
- "@glimmer/syntax": "^0.84.3",
+ "@glimmer/syntax": "^0.88.0",
"escape-string-regexp": "^4.0.0",
"semver": "^7.5.2",
"silent-error": "^1.1.1",
diff --git a/packages/core/src/transform/diagnostics/augmentation.ts b/packages/core/src/transform/diagnostics/augmentation.ts
index 4fc4a7b14..9ae8ef8b7 100644
--- a/packages/core/src/transform/diagnostics/augmentation.ts
+++ b/packages/core/src/transform/diagnostics/augmentation.ts
@@ -145,6 +145,10 @@ function checkResolveError(
// we need to traverse up through the path to find the true parent.
let sourceMapping = mapping.sourceNode.type === 'Identifier' ? mapping.parent : mapping;
let parentNode = sourceMapping?.parent?.sourceNode;
+ if (sourceMapping?.sourceNode.type === 'ElementNameNode') {
+ sourceMapping = sourceMapping.parent;
+ parentNode = sourceMapping?.parent?.sourceNode;
+ }
// If this error is on the first param to a {{component}} or other bind invocation, this means
// we either have a non-component value or a string that's missing from the registry.
@@ -176,7 +180,12 @@ function checkResolveError(
// Otherwise if this is on a top level invocation, we're trying to use a template-unaware
// value in a template-specific way.
let nodeType = sourceMapping?.sourceNode.type;
- if (nodeType === 'ElementNode' || nodeType === 'PathExpression' || nodeType === 'Identifier') {
+ if (
+ nodeType === 'ElementNode' ||
+ nodeType === 'PathExpression' ||
+ nodeType === 'Identifier' ||
+ nodeType === 'ElementNameNode'
+ ) {
return addGlintDetails(
diagnostic,
'The given value does not appear to be usable as a component, modifier or helper.'
@@ -201,8 +210,8 @@ function checkImplicitAnyError(
// This error may appear either on `` or `{{foo}}`/`(foo)`
let globalName =
- sourceNode.type === 'ElementNode'
- ? sourceNode.tag.split('.')[0]
+ sourceNode.type === 'ElementNameNode'
+ ? sourceNode.value.split('.')[0]
: sourceNode.type === 'PathExpression' && sourceNode.head.type === 'VarHead'
? sourceNode.head.name
: null;
diff --git a/packages/core/src/transform/template/template-to-typescript.ts b/packages/core/src/transform/template/template-to-typescript.ts
index 5157b4c51..8e49664ed 100644
--- a/packages/core/src/transform/template/template-to-typescript.ts
+++ b/packages/core/src/transform/template/template-to-typescript.ts
@@ -595,39 +595,43 @@ export function templateToTypescript(
emit.indent();
emit.text('const 𝛄 = χ.emitComponent(χ.resolve(');
- emitPathContents(path, start, kind);
+ emit.forNode(node.nameNode, () => {
+ emitPathContents(path, start, kind);
+ });
emit.text(')(');
let dataAttrs = node.attributes.filter(({ name }) => name.startsWith('@'));
if (dataAttrs.length) {
emit.text('{ ');
- for (let attr of dataAttrs) {
- emit.forNode(attr, () => {
- start = template.indexOf(attr.name, start + 1);
- emitHashKey(attr.name.slice(1), start + 1);
- emit.text(': ');
-
- switch (attr.value.type) {
- case 'TextNode':
- emit.text(JSON.stringify(attr.value.chars));
- break;
- case 'ConcatStatement':
- emitConcatStatement(attr.value);
- break;
- case 'MustacheStatement':
- emitMustacheStatement(attr.value, 'arg');
- break;
- default:
- unreachable(attr.value);
- }
- });
-
- start = rangeForNode(attr.value).end;
- emit.text(', ');
- }
+ emit.forNode(node.startTag, () => {
+ for (let attr of dataAttrs) {
+ emit.forNode(attr, () => {
+ start = template.indexOf(attr.name, start + 1);
+ emitHashKey(attr.name.slice(1), start + 1);
+ emit.text(': ');
+
+ switch (attr.value.type) {
+ case 'TextNode':
+ emit.text(JSON.stringify(attr.value.chars));
+ break;
+ case 'ConcatStatement':
+ emitConcatStatement(attr.value);
+ break;
+ case 'MustacheStatement':
+ emitMustacheStatement(attr.value, 'arg');
+ break;
+ default:
+ unreachable(attr.value);
+ }
+ });
+
+ start = rangeForNode(attr.value).end;
+ emit.text(', ');
+ }
- emit.text('...χ.NamedArgsMarker }');
+ emit.text('...χ.NamedArgsMarker }');
+ });
}
emit.text('));');
@@ -759,7 +763,9 @@ export function templateToTypescript(
emit.indent();
emit.text('const 𝛄 = χ.emitElement(');
- emit.text(JSON.stringify(node.tag));
+ emit.forNode(node.nameNode, () => {
+ emit.text(JSON.stringify(node.tag));
+ });
emit.text(');');
emit.newline();
@@ -793,35 +799,39 @@ export function templateToTypescript(
(attr) => !attr.name.startsWith('@') && attr.name !== SPLATTRIBUTES
);
- if (!attributes.length) return;
-
emit.text('χ.applyAttributes(𝛄.element, {');
- emit.newline();
- emit.indent();
+ emit.forNode(node.startTag, () => {
+ emit.newline();
+ emit.indent();
- let start = template.indexOf(node.tag, rangeForNode(node).start) + node.tag.length;
+ let start = template.indexOf(node.tag, rangeForNode(node).start) + node.tag.length;
- for (let attr of attributes) {
- emit.forNode(attr, () => {
- start = template.indexOf(attr.name, start + 1);
+ for (let attr of attributes) {
+ emit.forNode(attr, () => {
+ start = template.indexOf(attr.name, start + 1);
- emitHashKey(attr.name, start);
- emit.text(': ');
+ emitHashKey(attr.name, start);
+ emit.text(': ');
- if (attr.value.type === 'MustacheStatement') {
- emitMustacheStatement(attr.value, 'attr');
- } else if (attr.value.type === 'ConcatStatement') {
- emitConcatStatement(attr.value);
- } else {
- emit.text(JSON.stringify(attr.value.chars));
- }
+ if (attr.value.type === 'MustacheStatement') {
+ emitMustacheStatement(attr.value, 'attr');
+ } else if (attr.value.type === 'ConcatStatement') {
+ emitConcatStatement(attr.value);
+ } else {
+ emit.text(JSON.stringify(attr.value.chars));
+ }
- emit.text(',');
+ emit.text(',');
+ emit.newline();
+ });
+ }
+ // in case there are no attributes, this would allow completions to trigger
+ if (attributes.length === 0) {
+ emit.text(' ');
emit.newline();
- });
- }
-
- emit.dedent();
+ }
+ emit.dedent();
+ });
emit.text('});');
emit.newline();
}
diff --git a/packages/template/__tests__/emit-content.test.ts b/packages/template/__tests__/emit-content.test.ts
index 11fd45519..3dd6d8d0f 100644
--- a/packages/template/__tests__/emit-content.test.ts
+++ b/packages/template/__tests__/emit-content.test.ts
@@ -1,4 +1,5 @@
-import { SafeString } from '@glimmer/runtime';
+// @ts-expect-error cannot import, but we only need the type...
+import type { SafeString } from '@glimmer/runtime';
import { htmlSafe } from '@ember/template';
import { emitContent } from '../-private/dsl';
diff --git a/tsconfig.compileroptions.json b/tsconfig.compileroptions.json
index 085a3add8..154f14068 100644
--- a/tsconfig.compileroptions.json
+++ b/tsconfig.compileroptions.json
@@ -3,6 +3,7 @@
"target": "ES2020",
// Node16 allows top-level `await`, which was also unflagged in Node 14.8
"module": "Node16",
+ "skipLibCheck": true,
"moduleResolution": "Node16",
"strict": true,
"noImplicitOverride": true,
diff --git a/yarn.lock b/yarn.lock
index 51efff95e..30aac697a 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -1332,15 +1332,24 @@
dependencies:
"@glimmer/global-context" "0.84.0"
-"@glimmer/destroyable@0.84.3":
- version "0.84.3"
- resolved "https://registry.yarnpkg.com/@glimmer/destroyable/-/destroyable-0.84.3.tgz#a837ef59bfd64a7b991c76747586205a4a363e41"
- integrity sha512-4tUw5UR4ntuySPvbcWyCMRjqxMJMV1GewjU3zGq22XvuBVFfq2K9WmuYV9H9FHg8X0MgDwcus+LjxrVSel39Sw==
+"@glimmer/debug@^0.88.1":
+ version "0.88.1"
+ resolved "https://registry.yarnpkg.com/@glimmer/debug/-/debug-0.88.1.tgz#5beaac4d072db405a2ed265652ca197297d699af"
+ integrity sha512-VA/kx8UvoP3vIjdHiFNIkWwyvIbIN8wv/loP08W1pb8tAzOsW30f2D6eMhNHUXYMeoWDw4OzDBnHQN1k3Azsqw==
+ dependencies:
+ "@glimmer/interfaces" "^0.88.1"
+ "@glimmer/util" "^0.88.1"
+ "@glimmer/vm" "^0.88.1"
+
+"@glimmer/destroyable@^0.88.1":
+ version "0.88.1"
+ resolved "https://registry.yarnpkg.com/@glimmer/destroyable/-/destroyable-0.88.1.tgz#689be551439372dca64df0b7b7c61edd58c53989"
+ integrity sha512-AIq507CNzLae9Sj2T7ObdcG1QsEogTr3zBddX22psnLpTlvlvb6IFrtcbKwin0ZT21v/ByorOqjQv8L+2kEqVA==
dependencies:
"@glimmer/env" "0.1.7"
- "@glimmer/global-context" "0.84.3"
- "@glimmer/interfaces" "0.84.3"
- "@glimmer/util" "0.84.3"
+ "@glimmer/global-context" "^0.88.1"
+ "@glimmer/interfaces" "^0.88.1"
+ "@glimmer/util" "^0.88.1"
"@glimmer/di@^0.1.9":
version "0.1.11"
@@ -1356,14 +1365,13 @@
"@glimmer/interfaces" "0.84.0"
"@glimmer/vm" "0.84.0"
-"@glimmer/encoder@0.84.3":
- version "0.84.3"
- resolved "https://registry.yarnpkg.com/@glimmer/encoder/-/encoder-0.84.3.tgz#3c7291243e6cd595bf22fc2771286d570dc24d47"
- integrity sha512-T99YQDhNC/1rOFgiz8k4uzgzQsQ+r1my+WVXRv26o0r+/yOnKYndrb6WH/E9d+XtBIZbm1yCSm2BMFYelR0Nrg==
+"@glimmer/encoder@^0.88.1":
+ version "0.88.1"
+ resolved "https://registry.yarnpkg.com/@glimmer/encoder/-/encoder-0.88.1.tgz#2e986f89d9a8114168b003314eedfd0f2bc16092"
+ integrity sha512-q21+bFVIC7/jM/iUHZ2h05FLgJK8K5YjCbrZe7yz3Vdy9WoZ6s+B73xcSdYKmj/SS3YXFUOLsanMsFLpwJXjuQ==
dependencies:
- "@glimmer/env" "0.1.7"
- "@glimmer/interfaces" "0.84.3"
- "@glimmer/vm" "0.84.3"
+ "@glimmer/interfaces" "^0.88.1"
+ "@glimmer/vm" "^0.88.1"
"@glimmer/env@0.1.7", "@glimmer/env@^0.1.7":
version "0.1.7"
@@ -1377,12 +1385,10 @@
dependencies:
"@glimmer/env" "^0.1.7"
-"@glimmer/global-context@0.84.3":
- version "0.84.3"
- resolved "https://registry.yarnpkg.com/@glimmer/global-context/-/global-context-0.84.3.tgz#f8bf2cda9562716f2ddf3f96837e7559600635c4"
- integrity sha512-8Oy9Wg5IZxMEeAnVmzD2NkObf89BeHoFSzJgJROE/deutd3rxg83mvlOez4zBBGYwnTb+VGU2LYRpet92egJjA==
- dependencies:
- "@glimmer/env" "^0.1.7"
+"@glimmer/global-context@^0.88.1":
+ version "0.88.1"
+ resolved "https://registry.yarnpkg.com/@glimmer/global-context/-/global-context-0.88.1.tgz#5754409e4c320fb7ff28c48156bb094989d8fc90"
+ integrity sha512-665T0Y+b69IGcEgl8w667kn/zRHMjWTN1O0FyzPDgcpc14kxvNqrOgGjqbs8HPnUuPVQzURF8jYGiH5sWM26/Q==
"@glimmer/helper@2.0.0-beta.21":
version "2.0.0-beta.21"
@@ -1393,30 +1399,27 @@
"@glimmer/core" "2.0.0-beta.21"
"@glimmer/runtime" "0.84.0"
-"@glimmer/interfaces@0.84.0", "@glimmer/interfaces@0.84.3":
- version "0.84.3"
- resolved "https://registry.yarnpkg.com/@glimmer/interfaces/-/interfaces-0.84.3.tgz#629777a4abe373b0785656f6c8d08989f5784805"
- integrity sha512-dk32ykoNojt0mvEaIW6Vli5MGTbQo58uy3Epj7ahCgTHmWOKuw/0G83f2UmFprRwFx689YTXG38I/vbpltEjzg==
+"@glimmer/interfaces@0.84.0", "@glimmer/interfaces@0.84.3", "@glimmer/interfaces@0.88.1", "@glimmer/interfaces@^0.88.0", "@glimmer/interfaces@^0.88.1":
+ version "0.88.1"
+ resolved "https://registry.yarnpkg.com/@glimmer/interfaces/-/interfaces-0.88.1.tgz#e5ce6b5aea2a9fbc15d5f7f684e4b6d2695e7e8f"
+ integrity sha512-BOcN8xFNX/eppGxwS9Rm1+PlQaFX+tK91cuQLHj2sRwB+qVbL/WeutIa3AUQYr0VVEzMm2S6bYCLvG6p0a8v9A==
dependencies:
"@simple-dom/interface" "^1.4.0"
-"@glimmer/low-level@0.78.2":
- version "0.78.2"
- resolved "https://registry.yarnpkg.com/@glimmer/low-level/-/low-level-0.78.2.tgz#bca5f666760ce98345e87c5b3e37096e772cb2de"
- integrity sha512-0S6TWOOd0fzLLysw1pWZN0TgasaHmYs1Sjz9Til1mTByIXU1S+1rhdyr2veSQPO/aRjPuEQyKXZQHvx23Zax6w==
-
-"@glimmer/manager@0.84.0", "@glimmer/manager@0.84.3", "@glimmer/manager@>= 0.83.0":
- version "0.84.3"
- resolved "https://registry.yarnpkg.com/@glimmer/manager/-/manager-0.84.3.tgz#5be61728713e6c893836540353989462492ca9fe"
- integrity sha512-FtcwvrQ3HWlGRGChwlXiisMeKf9+XcCkMwVrrO0cxQavT01tIHx40OFtPOhXKGbgXGtRKcJI8XR41aK9t2kvyg==
+"@glimmer/manager@0.84.0", "@glimmer/manager@0.88.1", "@glimmer/manager@>= 0.83.0", "@glimmer/manager@^0.88.1":
+ version "0.88.1"
+ resolved "https://registry.yarnpkg.com/@glimmer/manager/-/manager-0.88.1.tgz#afd51b35b8d30373f93856e9b2ecd31ad7f8233c"
+ integrity sha512-AeyZsH/U3heXbEHtQ3J8njCf/hxl2jU9Lk+TDOB8eg0aZnGTcz2DRB26x1fUZgEXQ66nHRrYBO7Pq0Ug/r11Yw==
dependencies:
- "@glimmer/destroyable" "0.84.3"
+ "@glimmer/debug" "^0.88.1"
+ "@glimmer/destroyable" "^0.88.1"
"@glimmer/env" "0.1.7"
- "@glimmer/global-context" "0.84.3"
- "@glimmer/interfaces" "0.84.3"
- "@glimmer/reference" "0.84.3"
- "@glimmer/util" "0.84.3"
- "@glimmer/validator" "0.84.3"
+ "@glimmer/global-context" "^0.88.1"
+ "@glimmer/interfaces" "^0.88.1"
+ "@glimmer/reference" "^0.88.1"
+ "@glimmer/util" "^0.88.1"
+ "@glimmer/validator" "^0.88.1"
+ "@glimmer/vm" "^0.88.1"
"@glimmer/modifier@2.0.0-beta.21":
version "2.0.0-beta.21"
@@ -1438,18 +1441,21 @@
"@glimmer/vm" "0.84.0"
"@glimmer/wire-format" "0.84.0"
-"@glimmer/opcode-compiler@0.84.3":
- version "0.84.3"
- resolved "https://registry.yarnpkg.com/@glimmer/opcode-compiler/-/opcode-compiler-0.84.3.tgz#aa95000034d10786cb8fdbd199d66fb5498e90f3"
- integrity sha512-flUuikKLFL9cekJUA10gJxMRCDjUPb61R3UCl1u69TGN0Nm7FTsMhOsVDtJLeeiAROtPx+NvasPw/6UB1rrdyg==
+"@glimmer/opcode-compiler@^0.88.1":
+ version "0.88.1"
+ resolved "https://registry.yarnpkg.com/@glimmer/opcode-compiler/-/opcode-compiler-0.88.1.tgz#26ca954001647cf556bb0262ef26900278cdc065"
+ integrity sha512-IZCizo+l7784D9qw08XHegqz7kJaQ7M2ONyUQaxpfcSVqdfQ1VTulDi7YWQhQGhHiW900ABDHNuG/DQjlSrPnQ==
dependencies:
- "@glimmer/encoder" "0.84.3"
+ "@glimmer/debug" "^0.88.1"
+ "@glimmer/encoder" "^0.88.1"
"@glimmer/env" "0.1.7"
- "@glimmer/interfaces" "0.84.3"
- "@glimmer/reference" "0.84.3"
- "@glimmer/util" "0.84.3"
- "@glimmer/vm" "0.84.3"
- "@glimmer/wire-format" "0.84.3"
+ "@glimmer/global-context" "^0.88.1"
+ "@glimmer/interfaces" "^0.88.1"
+ "@glimmer/manager" "^0.88.1"
+ "@glimmer/reference" "^0.88.1"
+ "@glimmer/util" "^0.88.1"
+ "@glimmer/vm" "^0.88.1"
+ "@glimmer/wire-format" "^0.88.1"
"@glimmer/owner@0.84.0":
version "0.84.0"
@@ -1458,12 +1464,12 @@
dependencies:
"@glimmer/util" "0.84.0"
-"@glimmer/owner@0.84.3":
- version "0.84.3"
- resolved "https://registry.yarnpkg.com/@glimmer/owner/-/owner-0.84.3.tgz#e64083b692452031bdf30cba4124d1fc64e6e5e2"
- integrity sha512-ZwA0rU4V8m0z4ncXtWD2QEU6eh61wkKKQUThahPYhfB+JYceVM6Grx7uWeiAxc2v3ncpvbYqIGdnICXDMloxAA==
+"@glimmer/owner@^0.88.1":
+ version "0.88.1"
+ resolved "https://registry.yarnpkg.com/@glimmer/owner/-/owner-0.88.1.tgz#bd5e19423c0f16224eec253ce28355d5631dadf8"
+ integrity sha512-Y0xRvpMHEiLbQItzjUVYSnax2lMxc9y6x3hACTQhDxQWtW5zg2rwh8UKihmFkml0WgJzRhcMkRBYDmZG9WiwEw==
dependencies:
- "@glimmer/util" "0.84.3"
+ "@glimmer/util" "^0.88.1"
"@glimmer/program@0.84.0":
version "0.84.0"
@@ -1477,47 +1483,48 @@
"@glimmer/opcode-compiler" "0.84.0"
"@glimmer/util" "0.84.0"
-"@glimmer/program@0.84.3":
- version "0.84.3"
- resolved "https://registry.yarnpkg.com/@glimmer/program/-/program-0.84.3.tgz#a93d5e2ecd1cb7b9e4582cc4d41d0f92b16f9cf5"
- integrity sha512-D8z1lP8NEMyzT8gByFsZpmbRThZvGLS0Tl5AngaDbI2FqlcpEV0ujvLTzzgecd9QQ1k3Cd60dTgy/2N2CI82SA==
+"@glimmer/program@^0.88.1":
+ version "0.88.1"
+ resolved "https://registry.yarnpkg.com/@glimmer/program/-/program-0.88.1.tgz#d486575c38bd9c0ebc439970817f623212ceb6c2"
+ integrity sha512-Z99zsOPRj+WvTh5HF5k4HbGQMnuxqoGKqH0PlLDFeBlIBvExUM/XF2lkhqNC+4KgxxJmPmPIkXh63+cppqz+4g==
dependencies:
- "@glimmer/encoder" "0.84.3"
+ "@glimmer/encoder" "^0.88.1"
"@glimmer/env" "0.1.7"
- "@glimmer/interfaces" "0.84.3"
- "@glimmer/manager" "0.84.3"
- "@glimmer/opcode-compiler" "0.84.3"
- "@glimmer/util" "0.84.3"
-
-"@glimmer/reference@0.84.0", "@glimmer/reference@0.84.3", "@glimmer/reference@^0.84.3":
- version "0.84.3"
- resolved "https://registry.yarnpkg.com/@glimmer/reference/-/reference-0.84.3.tgz#6420ad9c102633ac83939fd1b2457269d21fb632"
- integrity sha512-lV+p/aWPVC8vUjmlvYVU7WQJsLh319SdXuAWoX/SE3pq340BJlAJiEcAc6q52y9JNhT57gMwtjMX96W5Xcx/qw==
+ "@glimmer/interfaces" "^0.88.1"
+ "@glimmer/manager" "^0.88.1"
+ "@glimmer/opcode-compiler" "^0.88.1"
+ "@glimmer/util" "^0.88.1"
+ "@glimmer/vm" "^0.88.1"
+ "@glimmer/wire-format" "^0.88.1"
+
+"@glimmer/reference@0.84.0", "@glimmer/reference@0.88.1", "@glimmer/reference@^0.84.3", "@glimmer/reference@^0.88.1":
+ version "0.88.1"
+ resolved "https://registry.yarnpkg.com/@glimmer/reference/-/reference-0.88.1.tgz#0d373d76d8dd93cec04aa5903e57e21be4e6c265"
+ integrity sha512-1AenHdjFTsaExBddetd7HE7M3okR8x51WyS9ssSp0RNysn0myL3+uCm0vPqdmM7Ncyqfa1brhiqEktp9ZP/Oaw==
dependencies:
"@glimmer/env" "^0.1.7"
- "@glimmer/global-context" "0.84.3"
- "@glimmer/interfaces" "0.84.3"
- "@glimmer/util" "0.84.3"
- "@glimmer/validator" "0.84.3"
+ "@glimmer/global-context" "^0.88.1"
+ "@glimmer/interfaces" "^0.88.1"
+ "@glimmer/util" "^0.88.1"
+ "@glimmer/validator" "^0.88.1"
-"@glimmer/runtime@0.84.0", "@glimmer/runtime@0.84.3", "@glimmer/runtime@>= 0.83.0":
- version "0.84.3"
- resolved "https://registry.yarnpkg.com/@glimmer/runtime/-/runtime-0.84.3.tgz#d84c02b21ac127fe3da85c7722371406beb6763a"
- integrity sha512-LzlJbPDCUH/wjsgJ5kRImvOkqAImSyVRW37t34n/1Qd3v7ZoI8xVQg92lS+2kHZe030sT49ZwKkEIeVZiBreBw==
+"@glimmer/runtime@0.84.0", "@glimmer/runtime@0.88.1", "@glimmer/runtime@>= 0.83.0":
+ version "0.88.1"
+ resolved "https://registry.yarnpkg.com/@glimmer/runtime/-/runtime-0.88.1.tgz#b74971a2b4ead8d490fc25d259c5db9ba414754e"
+ integrity sha512-rdaaTShtY2mD1g1unJhtwnWvvnE/XJ621LcJmeK5HPosNd7oXQx/F0hZ4oafqffe1mH4w0z9gNJ2PhV0ts5JqQ==
dependencies:
- "@glimmer/destroyable" "0.84.3"
+ "@glimmer/destroyable" "^0.88.1"
"@glimmer/env" "0.1.7"
- "@glimmer/global-context" "0.84.3"
- "@glimmer/interfaces" "0.84.3"
- "@glimmer/low-level" "0.78.2"
- "@glimmer/owner" "0.84.3"
- "@glimmer/program" "0.84.3"
- "@glimmer/reference" "0.84.3"
- "@glimmer/util" "0.84.3"
- "@glimmer/validator" "0.84.3"
- "@glimmer/vm" "0.84.3"
- "@glimmer/wire-format" "0.84.3"
- "@simple-dom/interface" "^1.4.0"
+ "@glimmer/global-context" "^0.88.1"
+ "@glimmer/interfaces" "^0.88.1"
+ "@glimmer/manager" "^0.88.1"
+ "@glimmer/owner" "^0.88.1"
+ "@glimmer/program" "^0.88.1"
+ "@glimmer/reference" "^0.88.1"
+ "@glimmer/util" "^0.88.1"
+ "@glimmer/validator" "^0.88.1"
+ "@glimmer/vm" "^0.88.1"
+ "@glimmer/wire-format" "^0.88.1"
"@glimmer/syntax@0.84.0":
version "0.84.0"
@@ -1539,6 +1546,17 @@
"@handlebars/parser" "~2.0.0"
simple-html-tokenizer "^0.5.11"
+"@glimmer/syntax@^0.88.0":
+ version "0.88.0"
+ resolved "https://registry.yarnpkg.com/@glimmer/syntax/-/syntax-0.88.0.tgz#26cbf1dac9b3d22397cb1697921331f6d7a81198"
+ integrity sha512-ncKgfaVcT/7wcAtT0WJzZuASODx0cx4qQ+vgWmyJD7WBDXT5ST0k3Z9+D0mJWQkThD4V9DV+dIFkrpOZiv6YPg==
+ dependencies:
+ "@glimmer/interfaces" "^0.88.0"
+ "@glimmer/util" "^0.88.0"
+ "@glimmer/wire-format" "^0.88.0"
+ "@handlebars/parser" "~2.0.0"
+ simple-html-tokenizer "^0.5.11"
+
"@glimmer/tracking@2.0.0-beta.21":
version "2.0.0-beta.21"
resolved "https://registry.yarnpkg.com/@glimmer/tracking/-/tracking-2.0.0-beta.21.tgz#f57419387c130b62dbac73b68c543cdd8fbb8ee4"
@@ -1555,22 +1573,23 @@
"@glimmer/env" "^0.1.7"
"@glimmer/validator" "^0.44.0"
-"@glimmer/util@0.84.0", "@glimmer/util@0.84.3", "@glimmer/util@^0.44.0":
- version "0.84.3"
- resolved "https://registry.yarnpkg.com/@glimmer/util/-/util-0.84.3.tgz#9ae0166982c0b48aa94b02d6ba8c2c81976ade4b"
- integrity sha512-qFkh6s16ZSRuu2rfz3T4Wp0fylFj3HBsONGXQcrAdZjdUaIS6v3pNj6mecJ71qRgcym9Hbaq/7/fefIwECUiKw==
+"@glimmer/util@0.84.0", "@glimmer/util@0.84.3", "@glimmer/util@0.88.1", "@glimmer/util@^0.44.0", "@glimmer/util@^0.88.0", "@glimmer/util@^0.88.1":
+ version "0.88.1"
+ resolved "https://registry.yarnpkg.com/@glimmer/util/-/util-0.88.1.tgz#a9e8cf0be78c5dc0d433294c71101ba1af8433e5"
+ integrity sha512-PV/24+vBmsReR78UQXJlEHDblU6QBAeIJa8MwKhQoxSD6WgvQHP4KmX23rvlCz11GxApTwyPm/2qyp/SwVvX2A==
dependencies:
"@glimmer/env" "0.1.7"
- "@glimmer/interfaces" "0.84.3"
- "@simple-dom/interface" "^1.4.0"
+ "@glimmer/interfaces" "^0.88.1"
-"@glimmer/validator@0.84.0", "@glimmer/validator@0.84.3", "@glimmer/validator@^0.44.0", "@glimmer/validator@^0.84.3":
- version "0.84.3"
- resolved "https://registry.yarnpkg.com/@glimmer/validator/-/validator-0.84.3.tgz#cd83b7f9ab78953f23cc11a32d83d7f729c54df2"
- integrity sha512-RTBV4TokUB0vI31UC7ikpV7lOYpWUlyqaKV//pRC4pexYMlmqnVhkFrdiimB/R1XyNdUOQUmnIAcdic39NkbhQ==
+"@glimmer/validator@0.84.0", "@glimmer/validator@0.88.1", "@glimmer/validator@^0.44.0", "@glimmer/validator@^0.84.3", "@glimmer/validator@^0.88.1":
+ version "0.88.1"
+ resolved "https://registry.yarnpkg.com/@glimmer/validator/-/validator-0.88.1.tgz#4dbe802a8e37a4350dc6f2d159db167d15474a19"
+ integrity sha512-E9vY4o80hJbSUussrKTmSGG7Ov8ofYxzSLOYkqqvT4MQt493qd9iS5uQDwTgDzxJrnH4jLuhFPMG+M/DiodIQQ==
dependencies:
"@glimmer/env" "^0.1.7"
- "@glimmer/global-context" "0.84.3"
+ "@glimmer/global-context" "^0.88.1"
+ "@glimmer/interfaces" "^0.88.1"
+ "@glimmer/util" "^0.88.1"
"@glimmer/vm-babel-plugins@0.83.1":
version "0.83.1"
@@ -1601,13 +1620,13 @@
"@glimmer/interfaces" "0.84.0"
"@glimmer/util" "0.84.0"
-"@glimmer/vm@0.84.3":
- version "0.84.3"
- resolved "https://registry.yarnpkg.com/@glimmer/vm/-/vm-0.84.3.tgz#45724ba7b4f90383de78a59071222bdc391ada98"
- integrity sha512-3mBWvQLEbB8We2EwdmuALMT3zQEcE13ItfLJ0wxlSO2uj1uegeHat++mli8RMxeYNqex27DC+VuhHeWVve6Ngg==
+"@glimmer/vm@^0.88.1":
+ version "0.88.1"
+ resolved "https://registry.yarnpkg.com/@glimmer/vm/-/vm-0.88.1.tgz#10284fa81fd79d5aea30f9c9c6f5d681b0690754"
+ integrity sha512-ZpLmelLN9P0mDywhxyxlXcqPVxIdQxOeFH3Cpx8QwplzIK2JPWK0XQcyl5kvaLY8FsPElQQ5cGpwH2YNRpHjCA==
dependencies:
- "@glimmer/interfaces" "0.84.3"
- "@glimmer/util" "0.84.3"
+ "@glimmer/interfaces" "^0.88.1"
+ "@glimmer/util" "^0.88.1"
"@glimmer/wire-format@0.84.0":
version "0.84.0"
@@ -1617,13 +1636,21 @@
"@glimmer/interfaces" "0.84.0"
"@glimmer/util" "0.84.0"
-"@glimmer/wire-format@0.84.3":
- version "0.84.3"
- resolved "https://registry.yarnpkg.com/@glimmer/wire-format/-/wire-format-0.84.3.tgz#d31ac85e5f51e67636efe9c5fbd8ae3d5097d8b5"
- integrity sha512-aZVfQhqv4k7tTo2vwjy+b4mAxKt7cHH75JR3zAeCilimApa+yYTYUyY73NDNSUVbelgAlQ5s6vTiMSQ55WwVow==
+"@glimmer/wire-format@^0.88.0":
+ version "0.88.0"
+ resolved "https://registry.yarnpkg.com/@glimmer/wire-format/-/wire-format-0.88.0.tgz#1f2380444ae9cb8b40c0234df5b3ca83e19bbd06"
+ integrity sha512-XOxNoWWt3b45SIsVcn4gT+KTwacuNX710PInSwPa3QaTFXrWp+DnjcJR3P8qe9PJ8+u/9mQFshMly3qhWsUhdA==
dependencies:
- "@glimmer/interfaces" "0.84.3"
- "@glimmer/util" "0.84.3"
+ "@glimmer/interfaces" "^0.88.0"
+ "@glimmer/util" "^0.88.0"
+
+"@glimmer/wire-format@^0.88.1":
+ version "0.88.1"
+ resolved "https://registry.yarnpkg.com/@glimmer/wire-format/-/wire-format-0.88.1.tgz#75411def71a30ad4a3afaeb5a95d7cb9f8e22d9a"
+ integrity sha512-DPM2UiYRNzcWdOUrSa8/IFbWKovH+c2JPnbvtk04DpfQapU7+hteBj34coEN/pW3FJiP3WMvx/EuPfWROkeDsg==
+ dependencies:
+ "@glimmer/interfaces" "^0.88.1"
+ "@glimmer/util" "^0.88.1"
"@glimmerx/babel-preset@^0.6.7":
version "0.6.8"