diff --git a/package.json b/package.json index faf224f8..a90f2408 100644 --- a/package.json +++ b/package.json @@ -44,7 +44,7 @@ "@babel/plugin-proposal-decorators": "^7.8.3", "@babel/preset-env": "^7.9.5", "@babel/preset-typescript": "^7.9.0", - "@glimmer/babel-plugin-glimmer-env": "2.0.0-beta.11", + "@glimmer/babel-plugin-glimmer-env": "2.0.0-beta.12", "@types/qunit": "^2.9.1", "@typescript-eslint/eslint-plugin": "^2.27.0", "@typescript-eslint/parser": "^2.27.0", diff --git a/packages/@glimmerx/babel-plugin-component-templates/package.json b/packages/@glimmerx/babel-plugin-component-templates/package.json index 770619a5..cbd0a15a 100644 --- a/packages/@glimmerx/babel-plugin-component-templates/package.json +++ b/packages/@glimmerx/babel-plugin-component-templates/package.json @@ -15,8 +15,8 @@ "dependencies": { "@babel/core": "^7.9.0", "@babel/helper-module-imports": "^7.8.3", - "@glimmer/babel-plugin-strict-template-precompile": "2.0.0-beta.11", - "@glimmer/syntax": "0.62.4" + "@glimmer/babel-plugin-strict-template-precompile": "2.0.0-beta.12", + "@glimmer/syntax": "0.73.0" }, "devDependencies": { "@babel/preset-env": "^7.9.5", diff --git a/packages/@glimmerx/babel-plugin-component-templates/test/fixtures-compat/class-declaration/output.js b/packages/@glimmerx/babel-plugin-component-templates/test/fixtures-compat/class-declaration/output.js index 61407b99..22b8c5d2 100644 --- a/packages/@glimmerx/babel-plugin-component-templates/test/fixtures-compat/class-declaration/output.js +++ b/packages/@glimmerx/babel-plugin-component-templates/test/fixtures-compat/class-declaration/output.js @@ -5,11 +5,9 @@ import Component from '@glimmerx/component'; class MyComponent extends Component {} _setComponentTemplate({ - id: "tBsr36lW", - block: "{\"symbols\":[],\"statements\":[[10,\"h1\"],[12],[1,[30,[36,0],[\"foo\"],null]],[13]],\"hasEval\":false,\"upvars\":[\"_t\"]}", - meta: { - scope: () => ({ - _t: _t - }) - } + "id": "BFMB8fiz", + "block": "[[[10,\"h1\"],[12],[1,[28,[32,0],[\"foo\"],null]],[13]],[],false,[]]", + "moduleName": "(unknown template module)", + "scope": () => [_t], + "isStrictMode": true }, MyComponent) diff --git a/packages/@glimmerx/babel-plugin-component-templates/test/fixtures-compat/class-expression/output.js b/packages/@glimmerx/babel-plugin-component-templates/test/fixtures-compat/class-expression/output.js index 15a9e8e3..8f4e311e 100644 --- a/packages/@glimmerx/babel-plugin-component-templates/test/fixtures-compat/class-expression/output.js +++ b/packages/@glimmerx/babel-plugin-component-templates/test/fixtures-compat/class-expression/output.js @@ -3,11 +3,9 @@ import { t as _t } from "t-helper"; import Component from '@glimmerx/component'; const MyComponent = _setComponentTemplate({ - id: "tBsr36lW", - block: "{\"symbols\":[],\"statements\":[[10,\"h1\"],[12],[1,[30,[36,0],[\"foo\"],null]],[13]],\"hasEval\":false,\"upvars\":[\"_t\"]}", - meta: { - scope: () => ({ - _t: _t - }) - } + "id": "BFMB8fiz", + "block": "[[[10,\"h1\"],[12],[1,[28,[32,0],[\"foo\"],null]],[13]],[],false,[]]", + "moduleName": "(unknown template module)", + "scope": () => [_t], + "isStrictMode": true }, class extends Component {}); diff --git a/packages/@glimmerx/babel-plugin-component-templates/test/fixtures-compat/template-only-component/output.js b/packages/@glimmerx/babel-plugin-component-templates/test/fixtures-compat/template-only-component/output.js index a01a68d2..928c143e 100644 --- a/packages/@glimmerx/babel-plugin-component-templates/test/fixtures-compat/template-only-component/output.js +++ b/packages/@glimmerx/babel-plugin-component-templates/test/fixtures-compat/template-only-component/output.js @@ -3,11 +3,9 @@ import { setComponentTemplate as _setComponentTemplate } from "@glimmer/core"; import { t as _t } from "t-helper"; const someTemplate = _setComponentTemplate({ - id: "tBsr36lW", - block: "{\"symbols\":[],\"statements\":[[10,\"h1\"],[12],[1,[30,[36,0],[\"foo\"],null]],[13]],\"hasEval\":false,\"upvars\":[\"_t\"]}", - meta: { - scope: () => ({ - _t: _t - }) - } + "id": "BFMB8fiz", + "block": "[[[10,\"h1\"],[12],[1,[28,[32,0],[\"foo\"],null]],[13]],[],false,[]]", + "moduleName": "(unknown template module)", + "scope": () => [_t], + "isStrictMode": true }, _templateOnlyComponent()); diff --git a/packages/@glimmerx/babel-plugin-component-templates/test/fixtures-options/precompile/ast-transform-hbs/output.js b/packages/@glimmerx/babel-plugin-component-templates/test/fixtures-options/precompile/ast-transform-hbs/output.js index d2cb5955..f7b573a1 100644 --- a/packages/@glimmerx/babel-plugin-component-templates/test/fixtures-options/precompile/ast-transform-hbs/output.js +++ b/packages/@glimmerx/babel-plugin-component-templates/test/fixtures-options/precompile/ast-transform-hbs/output.js @@ -2,9 +2,9 @@ import { templateOnlyComponent as _templateOnlyComponent } from "@glimmer/core"; import { setComponentTemplate as _setComponentTemplate } from "@glimmer/core"; const template = _setComponentTemplate({ - id: "iLYq0mJl", - block: "{\"symbols\":[],\"statements\":[[10,\"h1\"],[12],[2,\"Hello world\"],[13]],\"hasEval\":false,\"upvars\":[]}", - meta: { - scope: () => ({}) - } + "id": "iQBI6eOx", + "block": "[[[10,\"h1\"],[12],[1,\"Hello world\"],[13]],[],false,[]]", + "moduleName": "(unknown template module)", + "scope": null, + "isStrictMode": true }, _templateOnlyComponent()); diff --git a/packages/@glimmerx/babel-plugin-component-templates/test/fixtures-options/precompile/ast-transform/output.js b/packages/@glimmerx/babel-plugin-component-templates/test/fixtures-options/precompile/ast-transform/output.js index c1b9f6b5..58262d0a 100644 --- a/packages/@glimmerx/babel-plugin-component-templates/test/fixtures-options/precompile/ast-transform/output.js +++ b/packages/@glimmerx/babel-plugin-component-templates/test/fixtures-options/precompile/ast-transform/output.js @@ -4,9 +4,9 @@ import Component from '@glimmerx/component'; class MyComponent extends Component {} _setComponentTemplate({ - id: "iLYq0mJl", - block: "{\"symbols\":[],\"statements\":[[10,\"h1\"],[12],[2,\"Hello world\"],[13]],\"hasEval\":false,\"upvars\":[]}", - meta: { - scope: () => ({}) - } + "id": "iQBI6eOx", + "block": "[[[10,\"h1\"],[12],[1,\"Hello world\"],[13]],[],false,[]]", + "moduleName": "(unknown template module)", + "scope": null, + "isStrictMode": true }, MyComponent) diff --git a/packages/@glimmerx/babel-plugin-component-templates/test/fixtures/class-declaration/code.js b/packages/@glimmerx/babel-plugin-component-templates/test/fixtures/class-declaration/code.js index bc2c06d9..7758dc83 100644 --- a/packages/@glimmerx/babel-plugin-component-templates/test/fixtures/class-declaration/code.js +++ b/packages/@glimmerx/babel-plugin-component-templates/test/fixtures/class-declaration/code.js @@ -4,5 +4,5 @@ const unknownValue = null; const MaybeComponent = null; const maybeModifier = null; class MyComponent extends Component { - static template = hbs`

Hello world {{unknownValue}}

`; -} \ No newline at end of file + static template = hbs`

Hello world {{unknownValue}}

`; +} diff --git a/packages/@glimmerx/babel-plugin-component-templates/test/fixtures/class-declaration/output.js b/packages/@glimmerx/babel-plugin-component-templates/test/fixtures/class-declaration/output.js index 37038e4b..d8c18ac1 100644 --- a/packages/@glimmerx/babel-plugin-component-templates/test/fixtures/class-declaration/output.js +++ b/packages/@glimmerx/babel-plugin-component-templates/test/fixtures/class-declaration/output.js @@ -8,13 +8,9 @@ const maybeModifier = null; class MyComponent extends Component {} _setComponentTemplate({ - id: "fmofmZv3", - block: "{\"symbols\":[],\"statements\":[[11,\"h1\"],[4,[38,0],null,null],[12],[2,\"Hello world \"],[1,[34,1]],[8,\"MySubComponent\",[],[[],[]],[[\"default\"],[{\"statements\":[[8,\"MaybeComponent\",[],[[],[]],null]],\"parameters\":[]}]]],[13]],\"hasEval\":false,\"upvars\":[\"maybeModifier\",\"unknownValue\"]}", - meta: { - scope: () => ({ - maybeModifier: maybeModifier, - unknownValue: unknownValue, - MaybeComponent: MaybeComponent - }) - } + "id": "jFBJ3iUu", + "block": "[[[11,\"h1\"],[4,[32,0],null,null],[12],[1,\"Hello world \"],[1,[32,1]],[8,[32,2],null,null,null],[13]],[],false,[]]", + "moduleName": "(unknown template module)", + "scope": () => [maybeModifier, unknownValue, MaybeComponent], + "isStrictMode": true }, MyComponent) diff --git a/packages/@glimmerx/babel-plugin-component-templates/test/fixtures/class-expression/output.js b/packages/@glimmerx/babel-plugin-component-templates/test/fixtures/class-expression/output.js index d6af9292..6ba63592 100644 --- a/packages/@glimmerx/babel-plugin-component-templates/test/fixtures/class-expression/output.js +++ b/packages/@glimmerx/babel-plugin-component-templates/test/fixtures/class-expression/output.js @@ -2,9 +2,9 @@ import { setComponentTemplate as _setComponentTemplate } from "@glimmer/core"; import Component from '@glimmerx/component'; const MyComponent = _setComponentTemplate({ - id: "9bMgfwbA", - block: "{\"symbols\":[],\"statements\":[[10,\"h1\"],[12],[2,\"Hello world\"],[13]],\"hasEval\":false,\"upvars\":[]}", - meta: { - scope: () => ({}) - } + "id": "UnWFMClF", + "block": "[[[10,\"h1\"],[12],[1,\"Hello world\"],[13]],[],false,[]]", + "moduleName": "(unknown template module)", + "scope": null, + "isStrictMode": true }, class extends Component {}); diff --git a/packages/@glimmerx/babel-plugin-component-templates/test/fixtures/custom-imports/output.js b/packages/@glimmerx/babel-plugin-component-templates/test/fixtures/custom-imports/output.js index cae966f0..527c85fc 100644 --- a/packages/@glimmerx/babel-plugin-component-templates/test/fixtures/custom-imports/output.js +++ b/packages/@glimmerx/babel-plugin-component-templates/test/fixtures/custom-imports/output.js @@ -5,47 +5,43 @@ import Component from '@glimmerx/component'; class Class1Declaration extends Component {} _dangerouslySetComponentTemplate({ - id: "9bMgfwbA", - block: "{\"symbols\":[],\"statements\":[[10,\"h1\"],[12],[2,\"Hello world\"],[13]],\"hasEval\":false,\"upvars\":[]}", - meta: { - scope: () => ({}) - } + "id": "UnWFMClF", + "block": "[[[10,\"h1\"],[12],[1,\"Hello world\"],[13]],[],false,[]]", + "moduleName": "(unknown template module)", + "scope": null, + "isStrictMode": true }, Class1Declaration) const Class1Expression = _dangerouslySetComponentTemplate({ - id: "9bMgfwbA", - block: "{\"symbols\":[],\"statements\":[[10,\"h1\"],[12],[2,\"Hello world\"],[13]],\"hasEval\":false,\"upvars\":[]}", - meta: { - scope: () => ({}) - } + "id": "UnWFMClF", + "block": "[[[10,\"h1\"],[12],[1,\"Hello world\"],[13]],[],false,[]]", + "moduleName": "(unknown template module)", + "scope": null, + "isStrictMode": true }, class extends Component {}); class Class2Declaration extends Component {} _dangerouslySetComponentTemplate({ - id: "+VA0BbEt", - block: "{\"symbols\":[],\"statements\":[[10,\"h2\"],[12],[2,\"\\n Goodbye world\\n \"],[13]],\"hasEval\":false,\"upvars\":[]}", - meta: { - scope: () => ({}) - } + "id": "PN1+SdGD", + "block": "[[[10,\"h2\"],[12],[1,\"\\n Goodbye world\\n \"],[13]],[],false,[]]", + "moduleName": "(unknown template module)", + "scope": null, + "isStrictMode": true }, Class2Declaration) const Class2Expression = _dangerouslySetComponentTemplate({ - id: "uIjvs0yQ", - block: "{\"symbols\":[],\"statements\":[[10,\"h2\"],[12],[2,\"\\n Goodbye world\"],[8,\"Class2Declaration\",[],[[],[]],null],[2,\"\\n \"],[13]],\"hasEval\":false,\"upvars\":[]}", - meta: { - scope: () => ({ - Class2Declaration: Class2Declaration - }) - } + "id": "E/B0dLEA", + "block": "[[[10,\"h2\"],[12],[1,\"\\n Goodbye world\"],[8,[32,0],null,null,null],[1,\"\\n \"],[13]],[],false,[]]", + "moduleName": "(unknown template module)", + "scope": () => [Class2Declaration], + "isStrictMode": true }, class extends Component {}); const TOComponent = _dangerouslySetComponentTemplate({ - id: "tsv3hFVE", - block: "{\"symbols\":[],\"statements\":[[10,\"h3\"],[12],[2,\"Hello again world\"],[8,\"Class2Expression\",[],[[],[]],null],[13]],\"hasEval\":false,\"upvars\":[]}", - meta: { - scope: () => ({ - Class2Expression: Class2Expression - }) - } + "id": "fyKZX1dI", + "block": "[[[10,\"h3\"],[12],[1,\"Hello again world\"],[8,[32,0],null,null,null],[13]],[],false,[]]", + "moduleName": "(unknown template module)", + "scope": () => [Class2Expression], + "isStrictMode": true }, _TOComponent()); diff --git a/packages/@glimmerx/babel-plugin-component-templates/test/fixtures/ember/code.js b/packages/@glimmerx/babel-plugin-component-templates/test/fixtures/ember/code.js index bc2c06d9..7758dc83 100644 --- a/packages/@glimmerx/babel-plugin-component-templates/test/fixtures/ember/code.js +++ b/packages/@glimmerx/babel-plugin-component-templates/test/fixtures/ember/code.js @@ -4,5 +4,5 @@ const unknownValue = null; const MaybeComponent = null; const maybeModifier = null; class MyComponent extends Component { - static template = hbs`

Hello world {{unknownValue}}

`; -} \ No newline at end of file + static template = hbs`

Hello world {{unknownValue}}

`; +} diff --git a/packages/@glimmerx/babel-plugin-component-templates/test/fixtures/ember/output.js b/packages/@glimmerx/babel-plugin-component-templates/test/fixtures/ember/output.js index ae90d55e..842108dc 100644 --- a/packages/@glimmerx/babel-plugin-component-templates/test/fixtures/ember/output.js +++ b/packages/@glimmerx/babel-plugin-component-templates/test/fixtures/ember/output.js @@ -8,13 +8,9 @@ const maybeModifier = null; class MyComponent extends Component {} _setComponentTemplate({ - id: "fmofmZv3", - block: "{\"symbols\":[],\"statements\":[[11,\"h1\"],[4,[38,0],null,null],[12],[2,\"Hello world \"],[1,[34,1]],[8,\"MySubComponent\",[],[[],[]],[[\"default\"],[{\"statements\":[[8,\"MaybeComponent\",[],[[],[]],null]],\"parameters\":[]}]]],[13]],\"hasEval\":false,\"upvars\":[\"maybeModifier\",\"unknownValue\"]}", - meta: { - scope: () => ({ - maybeModifier: maybeModifier, - unknownValue: unknownValue, - MaybeComponent: MaybeComponent - }) - } + "id": "jFBJ3iUu", + "block": "[[[11,\"h1\"],[4,[32,0],null,null],[12],[1,\"Hello world \"],[1,[32,1]],[8,[32,2],null,null,null],[13]],[],false,[]]", + "moduleName": "(unknown template module)", + "scope": () => [maybeModifier, unknownValue, MaybeComponent], + "isStrictMode": true }, MyComponent) diff --git a/packages/@glimmerx/babel-plugin-component-templates/test/fixtures/glimmer-env/code.js b/packages/@glimmerx/babel-plugin-component-templates/test/fixtures/glimmer-env/code.js index f3f1e015..1175602d 100644 --- a/packages/@glimmerx/babel-plugin-component-templates/test/fixtures/glimmer-env/code.js +++ b/packages/@glimmerx/babel-plugin-component-templates/test/fixtures/glimmer-env/code.js @@ -10,5 +10,5 @@ if (DEBUG) { } class MyComponent extends Component { - static template = hbs`

Hello world {{unknownValue}}

`; + static template = hbs`

Hello world {{unknownValue}}

`; } diff --git a/packages/@glimmerx/babel-plugin-component-templates/test/fixtures/glimmer-env/output.js b/packages/@glimmerx/babel-plugin-component-templates/test/fixtures/glimmer-env/output.js index 1038b0c9..3c20b72e 100644 --- a/packages/@glimmerx/babel-plugin-component-templates/test/fixtures/glimmer-env/output.js +++ b/packages/@glimmerx/babel-plugin-component-templates/test/fixtures/glimmer-env/output.js @@ -13,13 +13,9 @@ if (true class MyComponent extends Component {} _setComponentTemplate({ - id: "fmofmZv3", - block: "{\"symbols\":[],\"statements\":[[11,\"h1\"],[4,[38,0],null,null],[12],[2,\"Hello world \"],[1,[34,1]],[8,\"MySubComponent\",[],[[],[]],[[\"default\"],[{\"statements\":[[8,\"MaybeComponent\",[],[[],[]],null]],\"parameters\":[]}]]],[13]],\"hasEval\":false,\"upvars\":[\"maybeModifier\",\"unknownValue\"]}", - meta: { - scope: () => ({ - maybeModifier: maybeModifier, - unknownValue: unknownValue, - MaybeComponent: MaybeComponent - }) - } + "id": "jFBJ3iUu", + "block": "[[[11,\"h1\"],[4,[32,0],null,null],[12],[1,\"Hello world \"],[1,[32,1]],[8,[32,2],null,null,null],[13]],[],false,[]]", + "moduleName": "(unknown template module)", + "scope": () => [maybeModifier, unknownValue, MaybeComponent], + "isStrictMode": true }, MyComponent) diff --git a/packages/@glimmerx/babel-plugin-component-templates/test/fixtures/multiple-classes-commonjs/output.js b/packages/@glimmerx/babel-plugin-component-templates/test/fixtures/multiple-classes-commonjs/output.js index 05f77eaf..c102fc07 100644 --- a/packages/@glimmerx/babel-plugin-component-templates/test/fixtures/multiple-classes-commonjs/output.js +++ b/packages/@glimmerx/babel-plugin-component-templates/test/fixtures/multiple-classes-commonjs/output.js @@ -9,35 +9,33 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de class Class1Declaration extends _component.default {} (0, _core.setComponentTemplate)({ - id: "9bMgfwbA", - block: "{\"symbols\":[],\"statements\":[[10,\"h1\"],[12],[2,\"Hello world\"],[13]],\"hasEval\":false,\"upvars\":[]}", - meta: { - scope: () => ({}) - } + "id": "UnWFMClF", + "block": "[[[10,\"h1\"],[12],[1,\"Hello world\"],[13]],[],false,[]]", + "moduleName": "(unknown template module)", + "scope": null, + "isStrictMode": true }, Class1Declaration) const Class1Expression = (0, _core.setComponentTemplate)({ - id: "9bMgfwbA", - block: "{\"symbols\":[],\"statements\":[[10,\"h1\"],[12],[2,\"Hello world\"],[13]],\"hasEval\":false,\"upvars\":[]}", - meta: { - scope: () => ({}) - } + "id": "UnWFMClF", + "block": "[[[10,\"h1\"],[12],[1,\"Hello world\"],[13]],[],false,[]]", + "moduleName": "(unknown template module)", + "scope": null, + "isStrictMode": true }, class extends _component.default {}); class Class2Declaration extends _component.default {} (0, _core.setComponentTemplate)({ - id: "+VA0BbEt", - block: "{\"symbols\":[],\"statements\":[[10,\"h2\"],[12],[2,\"\\n Goodbye world\\n \"],[13]],\"hasEval\":false,\"upvars\":[]}", - meta: { - scope: () => ({}) - } + "id": "PN1+SdGD", + "block": "[[[10,\"h2\"],[12],[1,\"\\n Goodbye world\\n \"],[13]],[],false,[]]", + "moduleName": "(unknown template module)", + "scope": null, + "isStrictMode": true }, Class2Declaration) const Class2Expression = (0, _core.setComponentTemplate)({ - id: "U1swtToI", - block: "{\"symbols\":[],\"statements\":[[10,\"h2\"],[12],[2,\"\\n Goodbye world\"],[8,\"Class1Expression\",[],[[],[]],null],[2,\"\\n \"],[13]],\"hasEval\":false,\"upvars\":[]}", - meta: { - scope: () => ({ - Class1Expression: Class1Expression - }) - } + "id": "E/B0dLEA", + "block": "[[[10,\"h2\"],[12],[1,\"\\n Goodbye world\"],[8,[32,0],null,null,null],[1,\"\\n \"],[13]],[],false,[]]", + "moduleName": "(unknown template module)", + "scope": () => [Class1Expression], + "isStrictMode": true }, class extends _component.default {}); diff --git a/packages/@glimmerx/babel-plugin-component-templates/test/fixtures/multiple-classes-same-scope-var-commonjs/output.js b/packages/@glimmerx/babel-plugin-component-templates/test/fixtures/multiple-classes-same-scope-var-commonjs/output.js index d6825f9d..fd8401b6 100644 --- a/packages/@glimmerx/babel-plugin-component-templates/test/fixtures/multiple-classes-same-scope-var-commonjs/output.js +++ b/packages/@glimmerx/babel-plugin-component-templates/test/fixtures/multiple-classes-same-scope-var-commonjs/output.js @@ -11,23 +11,19 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de class MyComponent extends _component.default {} (0, _core.setComponentTemplate)({ - id: "KK5UHDcn", - block: "{\"symbols\":[],\"statements\":[[10,\"h1\"],[12],[2,\"Hello \"],[8,\"ExternalComponent\",[],[[],[]],null],[13]],\"hasEval\":false,\"upvars\":[]}", - meta: { - scope: () => ({ - ExternalComponent: _somewhere.OtherComponent - }) - } + "id": "rUcvMrKh", + "block": "[[[10,\"h1\"],[12],[1,\"Hello \"],[8,[32,0],null,null,null],[13]],[],false,[]]", + "moduleName": "(unknown template module)", + "scope": () => [_somewhere.OtherComponent], + "isStrictMode": true }, MyComponent) class OtherComponent extends _component.default {} (0, _core.setComponentTemplate)({ - id: "KK5UHDcn", - block: "{\"symbols\":[],\"statements\":[[10,\"h1\"],[12],[2,\"Hello \"],[8,\"ExternalComponent\",[],[[],[]],null],[13]],\"hasEval\":false,\"upvars\":[]}", - meta: { - scope: () => ({ - ExternalComponent: _somewhere.OtherComponent - }) - } + "id": "rUcvMrKh", + "block": "[[[10,\"h1\"],[12],[1,\"Hello \"],[8,[32,0],null,null,null],[13]],[],false,[]]", + "moduleName": "(unknown template module)", + "scope": () => [_somewhere.OtherComponent], + "isStrictMode": true }, OtherComponent) diff --git a/packages/@glimmerx/babel-plugin-component-templates/test/fixtures/multiple-classes/output.js b/packages/@glimmerx/babel-plugin-component-templates/test/fixtures/multiple-classes/output.js index 3953023d..a5111d33 100644 --- a/packages/@glimmerx/babel-plugin-component-templates/test/fixtures/multiple-classes/output.js +++ b/packages/@glimmerx/babel-plugin-component-templates/test/fixtures/multiple-classes/output.js @@ -4,37 +4,35 @@ import Component from '@glimmerx/component'; class Class1Declaration extends Component {} _setComponentTemplate({ - id: "9bMgfwbA", - block: "{\"symbols\":[],\"statements\":[[10,\"h1\"],[12],[2,\"Hello world\"],[13]],\"hasEval\":false,\"upvars\":[]}", - meta: { - scope: () => ({}) - } + "id": "UnWFMClF", + "block": "[[[10,\"h1\"],[12],[1,\"Hello world\"],[13]],[],false,[]]", + "moduleName": "(unknown template module)", + "scope": null, + "isStrictMode": true }, Class1Declaration) const Class1Expression = _setComponentTemplate({ - id: "9bMgfwbA", - block: "{\"symbols\":[],\"statements\":[[10,\"h1\"],[12],[2,\"Hello world\"],[13]],\"hasEval\":false,\"upvars\":[]}", - meta: { - scope: () => ({}) - } + "id": "UnWFMClF", + "block": "[[[10,\"h1\"],[12],[1,\"Hello world\"],[13]],[],false,[]]", + "moduleName": "(unknown template module)", + "scope": null, + "isStrictMode": true }, class extends Component {}); class Class2Declaration extends Component {} _setComponentTemplate({ - id: "+VA0BbEt", - block: "{\"symbols\":[],\"statements\":[[10,\"h2\"],[12],[2,\"\\n Goodbye world\\n \"],[13]],\"hasEval\":false,\"upvars\":[]}", - meta: { - scope: () => ({}) - } + "id": "PN1+SdGD", + "block": "[[[10,\"h2\"],[12],[1,\"\\n Goodbye world\\n \"],[13]],[],false,[]]", + "moduleName": "(unknown template module)", + "scope": null, + "isStrictMode": true }, Class2Declaration) const Class2Expression = _setComponentTemplate({ - id: "U1swtToI", - block: "{\"symbols\":[],\"statements\":[[10,\"h2\"],[12],[2,\"\\n Goodbye world\"],[8,\"Class1Expression\",[],[[],[]],null],[2,\"\\n \"],[13]],\"hasEval\":false,\"upvars\":[]}", - meta: { - scope: () => ({ - Class1Expression: Class1Expression - }) - } + "id": "E/B0dLEA", + "block": "[[[10,\"h2\"],[12],[1,\"\\n Goodbye world\"],[8,[32,0],null,null,null],[1,\"\\n \"],[13]],[],false,[]]", + "moduleName": "(unknown template module)", + "scope": () => [Class1Expression], + "isStrictMode": true }, class extends Component {}); diff --git a/packages/@glimmerx/babel-plugin-component-templates/test/fixtures/multiscope-tokens/output.js b/packages/@glimmerx/babel-plugin-component-templates/test/fixtures/multiscope-tokens/output.js index 2fe0f797..eee21b42 100644 --- a/packages/@glimmerx/babel-plugin-component-templates/test/fixtures/multiscope-tokens/output.js +++ b/packages/@glimmerx/babel-plugin-component-templates/test/fixtures/multiscope-tokens/output.js @@ -7,12 +7,9 @@ import SecondPhantomComponent from './SecondPhantomComponent'; class MyComponent extends Component {} _setComponentTemplate({ - id: "rfDBNlmm", - block: "{\"symbols\":[\"SecondPhantomComponent\"],\"statements\":[[2,\"\\n \"],[10,\"h1\"],[12],[2,\"Hello world \\n\"],[6,[37,0],null,null,[[\"default\"],[{\"statements\":[[2,\" \"],[8,[32,1],[],[[],[]],null],[2,\"\\n \"],[1,[32,1]],[2,\"\\n\"]],\"parameters\":[1]}]]],[2,\" \"],[8,\"SecondPhantomComponent\",[],[[],[]],null],[2,\"\\n \"],[13]],\"hasEval\":false,\"upvars\":[\"OtherComponent\"]}", - meta: { - scope: () => ({ - OtherComponent: OtherComponent, - SecondPhantomComponent: SecondPhantomComponent - }) - } + "id": "k3C9+Wms", + "block": "[[[1,\"\\n \"],[10,\"h1\"],[12],[1,\"Hello world \\n\"],[6,[32,0],null,null,[[\"default\"],[[[[1,\" \"],[8,[30,1],null,null,null],[1,\"\\n \"],[1,[30,1]],[1,\"\\n\"]],[1]]]]],[1,\" \"],[8,[32,1],null,null,null],[1,\"\\n \"],[13]],[\"SecondPhantomComponent\"],false,[]]", + "moduleName": "(unknown template module)", + "scope": () => [OtherComponent, SecondPhantomComponent], + "isStrictMode": true }, MyComponent) diff --git a/packages/@glimmerx/babel-plugin-component-templates/test/fixtures/nested-classes/output.js b/packages/@glimmerx/babel-plugin-component-templates/test/fixtures/nested-classes/output.js index 7c0253e2..fa15e1c9 100644 --- a/packages/@glimmerx/babel-plugin-component-templates/test/fixtures/nested-classes/output.js +++ b/packages/@glimmerx/babel-plugin-component-templates/test/fixtures/nested-classes/output.js @@ -5,24 +5,20 @@ import OtherComponent from './OtherComponent'; class MyComponent extends Component { get ChildComponent() { return _setComponentTemplate({ - id: "+zgtSPG4", - block: "{\"symbols\":[],\"statements\":[[10,\"h2\"],[12],[2,\"Goodbye world\"],[8,\"MyComponent\",[],[[],[]],null],[13]],\"hasEval\":false,\"upvars\":[]}", - meta: { - scope: () => ({ - MyComponent: MyComponent - }) - } + "id": "6fvPPcRc", + "block": "[[[10,\"h2\"],[12],[1,\"Goodbye world\"],[8,[32,0],null,null,null],[13]],[],false,[]]", + "moduleName": "(unknown template module)", + "scope": () => [MyComponent], + "isStrictMode": true }, class extends Component {}); } } _setComponentTemplate({ - id: "9oyaIEZ1", - block: "{\"symbols\":[],\"statements\":[[10,\"h1\"],[12],[2,\"Hello world\"],[8,\"OtherComponent\",[],[[],[]],null],[13]],\"hasEval\":false,\"upvars\":[]}", - meta: { - scope: () => ({ - OtherComponent: OtherComponent - }) - } + "id": "7ZfYXn5W", + "block": "[[[10,\"h1\"],[12],[1,\"Hello world\"],[8,[32,0],null,null,null],[13]],[],false,[]]", + "moduleName": "(unknown template module)", + "scope": () => [OtherComponent], + "isStrictMode": true }, MyComponent) diff --git a/packages/@glimmerx/babel-plugin-component-templates/test/fixtures/phantom-scope/output.js b/packages/@glimmerx/babel-plugin-component-templates/test/fixtures/phantom-scope/output.js index a287c7f8..7504667f 100644 --- a/packages/@glimmerx/babel-plugin-component-templates/test/fixtures/phantom-scope/output.js +++ b/packages/@glimmerx/babel-plugin-component-templates/test/fixtures/phantom-scope/output.js @@ -6,11 +6,9 @@ import PhantomComponent from './PhantomComponent'; class MyComponent extends Component {} _setComponentTemplate({ - id: "6F9NpduU", - block: "{\"symbols\":[],\"statements\":[[10,\"h1\"],[12],[2,\"Hello world \"],[8,\"OtherComponent\",[],[[],[]],null],[2,\" \"],[13]],\"hasEval\":false,\"upvars\":[]}", - meta: { - scope: () => ({ - OtherComponent: OtherComponent - }) - } + "id": "vVhfCDf6", + "block": "[[[10,\"h1\"],[12],[1,\"Hello world \"],[8,[32,0],null,null,null],[1,\" \"],[13]],[],false,[]]", + "moduleName": "(unknown template module)", + "scope": () => [OtherComponent], + "isStrictMode": true }, MyComponent) diff --git a/packages/@glimmerx/babel-plugin-component-templates/test/fixtures/private-local-declarations/output.js b/packages/@glimmerx/babel-plugin-component-templates/test/fixtures/private-local-declarations/output.js index efa6c621..8fe5dec4 100644 --- a/packages/@glimmerx/babel-plugin-component-templates/test/fixtures/private-local-declarations/output.js +++ b/packages/@glimmerx/babel-plugin-component-templates/test/fixtures/private-local-declarations/output.js @@ -6,23 +6,21 @@ function root() { class OtherComponent extends Component {} _setComponentTemplate({ - id: "L9WxEO3m", - block: "{\"symbols\":[],\"statements\":[[2,\"Hello World\"]],\"hasEval\":false,\"upvars\":[]}", - meta: { - scope: () => ({}) - } + "id": "JlcONgyA", + "block": "[[[1,\"Hello World\"]],[],false,[]]", + "moduleName": "(unknown template module)", + "scope": null, + "isStrictMode": true }, OtherComponent) class MyComponent extends Component {} _setComponentTemplate({ - id: "X+3KCppa", - block: "{\"symbols\":[],\"statements\":[[10,\"h1\"],[12],[8,\"OtherComponent\",[],[[],[]],null],[13]],\"hasEval\":false,\"upvars\":[]}", - meta: { - scope: () => ({ - OtherComponent: OtherComponent - }) - } + "id": "L6QsX14w", + "block": "[[[10,\"h1\"],[12],[8,[32,0],null,null,null],[13]],[],false,[]]", + "moduleName": "(unknown template module)", + "scope": () => [OtherComponent], + "isStrictMode": true }, MyComponent) } } diff --git a/packages/@glimmerx/babel-plugin-component-templates/test/fixtures/scoped-tokens-hbs/output.js b/packages/@glimmerx/babel-plugin-component-templates/test/fixtures/scoped-tokens-hbs/output.js index d99927f4..149f340e 100644 --- a/packages/@glimmerx/babel-plugin-component-templates/test/fixtures/scoped-tokens-hbs/output.js +++ b/packages/@glimmerx/babel-plugin-component-templates/test/fixtures/scoped-tokens-hbs/output.js @@ -5,11 +5,9 @@ import PhantomComponent from './PhantomComponent'; import SecondPhantomComponent from './SecondPhantomComponent'; const hbsOnlyTemplate = _setComponentTemplate({ - id: "RtPlmZCI", - block: "{\"symbols\":[\"PhantomComponent\",\"SecondPhantomComponent\"],\"statements\":[[2,\"\\n\"],[10,\"h1\"],[12],[2,\"Hello world\\n\"],[6,[37,0],null,null,[[\"default\"],[{\"statements\":[[2,\" \"],[8,[32,2],[],[[],[]],null],[2,\"\\n \"],[1,[32,2]],[2,\"\\n\"]],\"parameters\":[2]}]]],[2,\" \"],[8,\"OtherComponent\",[],[[],[]],[[\"default\"],[{\"statements\":[[2,\"\\n \"],[8,[32,1],[],[[],[]],null],[2,\"\\n \"],[1,[32,1]],[2,\"\\n \"]],\"parameters\":[1]}]]],[2,\"\\n\"],[13]],\"hasEval\":false,\"upvars\":[\"OtherComponent\"]}", - meta: { - scope: () => ({ - OtherComponent: OtherComponent - }) - } + "id": "yGo9zi+C", + "block": "[[[1,\"\\n\"],[10,\"h1\"],[12],[1,\"Hello world\\n\"],[6,[32,0],null,null,[[\"default\"],[[[[1,\" \"],[8,[30,1],null,null,null],[1,\"\\n \"],[1,[30,1]],[1,\"\\n\"]],[1]]]]],[1,\" \"],[8,[32,0],null,null,[[\"default\"],[[[[1,\"\\n \"],[8,[30,2],null,null,null],[1,\"\\n \"],[1,[30,2]],[1,\"\\n \"]],[2]]]]],[1,\"\\n\"],[13]],[\"SecondPhantomComponent\",\"PhantomComponent\"],false,[]]", + "moduleName": "(unknown template module)", + "scope": () => [OtherComponent], + "isStrictMode": true }, _templateOnlyComponent()); diff --git a/packages/@glimmerx/babel-plugin-component-templates/test/fixtures/scoped-tokens/output.js b/packages/@glimmerx/babel-plugin-component-templates/test/fixtures/scoped-tokens/output.js index 7c5cd474..57d3fc4d 100644 --- a/packages/@glimmerx/babel-plugin-component-templates/test/fixtures/scoped-tokens/output.js +++ b/packages/@glimmerx/babel-plugin-component-templates/test/fixtures/scoped-tokens/output.js @@ -7,11 +7,9 @@ import SecondPhantomComponent from './SecondPhantomComponent'; class MyComponent extends Component {} _setComponentTemplate({ - id: "gcTTvmeO", - block: "{\"symbols\":[\"PhantomComponent\",\"SecondPhantomComponent\"],\"statements\":[[2,\"\\n \"],[10,\"h1\"],[12],[2,\"Hello world \\n\"],[6,[37,0],null,null,[[\"default\"],[{\"statements\":[[2,\" \"],[8,[32,2],[],[[],[]],null],[2,\"\\n \"],[1,[32,2]],[2,\"\\n\"]],\"parameters\":[2]}]]],[2,\" \"],[8,\"OtherComponent\",[],[[],[]],[[\"default\"],[{\"statements\":[[2,\"\\n \"],[8,[32,1],[],[[],[]],null],[2,\" \\n \"],[1,[32,1]],[2,\"\\n \"]],\"parameters\":[1]}]]],[2,\"\\n \"],[13]],\"hasEval\":false,\"upvars\":[\"OtherComponent\"]}", - meta: { - scope: () => ({ - OtherComponent: OtherComponent - }) - } + "id": "msP/XLKt", + "block": "[[[1,\"\\n \"],[10,\"h1\"],[12],[1,\"Hello world \\n\"],[6,[32,0],null,null,[[\"default\"],[[[[1,\" \"],[8,[30,1],null,null,null],[1,\"\\n \"],[1,[30,1]],[1,\"\\n\"]],[1]]]]],[1,\" \"],[8,[32,0],null,null,[[\"default\"],[[[[1,\"\\n \"],[8,[30,2],null,null,null],[1,\" \\n \"],[1,[30,2]],[1,\"\\n \"]],[2]]]]],[1,\"\\n \"],[13]],[\"SecondPhantomComponent\",\"PhantomComponent\"],false,[]]", + "moduleName": "(unknown template module)", + "scope": () => [OtherComponent], + "isStrictMode": true }, MyComponent) diff --git a/packages/@glimmerx/babel-plugin-component-templates/test/fixtures/template-only-hbs-with-component-import/output.js b/packages/@glimmerx/babel-plugin-component-templates/test/fixtures/template-only-hbs-with-component-import/output.js index 21078e10..04370172 100644 --- a/packages/@glimmerx/babel-plugin-component-templates/test/fixtures/template-only-hbs-with-component-import/output.js +++ b/packages/@glimmerx/babel-plugin-component-templates/test/fixtures/template-only-hbs-with-component-import/output.js @@ -3,11 +3,11 @@ import { setComponentTemplate as _setComponentTemplate } from "@glimmer/core"; import { renderComponent } from '@glimmer/core'; import IamGlimmerComponent from '@glimmerx/component'; renderComponent(_setComponentTemplate({ - id: "2HWpeZsH", - block: "{\"symbols\":[\"@name\"],\"statements\":[[10,\"h1\"],[12],[2,\"Hello \"],[1,[32,1]],[13]],\"hasEval\":false,\"upvars\":[]}", - meta: { - scope: () => ({}) - } + "id": "n6RNQdbP", + "block": "[[[10,\"h1\"],[12],[1,\"Hello \"],[1,[30,1]],[13]],[\"@name\"],false,[]]", + "moduleName": "(unknown template module)", + "scope": null, + "isStrictMode": true }, _templateOnlyComponent()), { args: { name: 'Abhishek' diff --git a/packages/@glimmerx/babel-plugin-component-templates/test/fixtures/template-only-hbs/output.js b/packages/@glimmerx/babel-plugin-component-templates/test/fixtures/template-only-hbs/output.js index 7dc5bfd8..d1779d5c 100644 --- a/packages/@glimmerx/babel-plugin-component-templates/test/fixtures/template-only-hbs/output.js +++ b/packages/@glimmerx/babel-plugin-component-templates/test/fixtures/template-only-hbs/output.js @@ -2,11 +2,11 @@ import { templateOnlyComponent as _templateOnlyComponent } from "@glimmer/core"; import { setComponentTemplate as _setComponentTemplate } from "@glimmer/core"; import { renderComponent } from '@glimmer/core'; renderComponent(_setComponentTemplate({ - id: "2HWpeZsH", - block: "{\"symbols\":[\"@name\"],\"statements\":[[10,\"h1\"],[12],[2,\"Hello \"],[1,[32,1]],[13]],\"hasEval\":false,\"upvars\":[]}", - meta: { - scope: () => ({}) - } + "id": "n6RNQdbP", + "block": "[[[10,\"h1\"],[12],[1,\"Hello \"],[1,[30,1]],[13]],[\"@name\"],false,[]]", + "moduleName": "(unknown template module)", + "scope": null, + "isStrictMode": true }, _templateOnlyComponent()), { args: { name: 'Abhishek' diff --git a/packages/@glimmerx/babel-plugin-component-templates/test/fixtures/typescript/code.ts b/packages/@glimmerx/babel-plugin-component-templates/test/fixtures/typescript/code.ts index 7115b4bd..da99e0ac 100644 --- a/packages/@glimmerx/babel-plugin-component-templates/test/fixtures/typescript/code.ts +++ b/packages/@glimmerx/babel-plugin-component-templates/test/fixtures/typescript/code.ts @@ -9,5 +9,5 @@ export function foo(): Dict { } export class MyComponent extends Component { - static template = hbs`

Hello world {{unknownValue}}

`; + static template = hbs`

Hello world {{unknownValue}}

`; } diff --git a/packages/@glimmerx/babel-plugin-component-templates/test/fixtures/typescript/output.ts b/packages/@glimmerx/babel-plugin-component-templates/test/fixtures/typescript/output.ts index 4e695e3d..a15487e6 100644 --- a/packages/@glimmerx/babel-plugin-component-templates/test/fixtures/typescript/output.ts +++ b/packages/@glimmerx/babel-plugin-component-templates/test/fixtures/typescript/output.ts @@ -9,13 +9,9 @@ export function foo() { export class MyComponent extends Component {} _setComponentTemplate({ - id: "fmofmZv3", - block: "{\"symbols\":[],\"statements\":[[11,\"h1\"],[4,[38,0],null,null],[12],[2,\"Hello world \"],[1,[34,1]],[8,\"MySubComponent\",[],[[],[]],[[\"default\"],[{\"statements\":[[8,\"MaybeComponent\",[],[[],[]],null]],\"parameters\":[]}]]],[13]],\"hasEval\":false,\"upvars\":[\"maybeModifier\",\"unknownValue\"]}", - meta: { - scope: () => ({ - maybeModifier: maybeModifier, - unknownValue: unknownValue, - MaybeComponent: MaybeComponent - }) - } + "id": "jFBJ3iUu", + "block": "[[[11,\"h1\"],[4,[32,0],null,null],[12],[1,\"Hello world \"],[1,[32,1]],[8,[32,2],null,null,null],[13]],[],false,[]]", + "moduleName": "(unknown template module)", + "scope": () => [maybeModifier, unknownValue, MaybeComponent], + "isStrictMode": true }, MyComponent); diff --git a/packages/@glimmerx/blueprint/files/package.json b/packages/@glimmerx/blueprint/files/package.json index a907818a..69337041 100644 --- a/packages/@glimmerx/blueprint/files/package.json +++ b/packages/@glimmerx/blueprint/files/package.json @@ -20,7 +20,7 @@ "@babel/plugin-proposal-decorators": "^7.8.3", "@babel/preset-env": "^7.9.0", "@babel/preset-typescript": "^7.9.0", - "@glimmer/babel-plugin-glimmer-env": "~2.0.0-beta.11", + "@glimmer/babel-plugin-glimmer-env": "~2.0.0-beta.12", "@glimmer/env": "^0.1.7", "@glimmerx/babel-plugin-component-templates": "^0.2.3", "@glimmerx/component": "^0.2.3", diff --git a/packages/@glimmerx/blueprint/package.json b/packages/@glimmerx/blueprint/package.json index d2c8e89a..d3ad8212 100644 --- a/packages/@glimmerx/blueprint/package.json +++ b/packages/@glimmerx/blueprint/package.json @@ -22,7 +22,7 @@ }, "homepage": "https://github.com/glimmerjs/glimmer-experimental#readme", "dependencies": { - "@glimmer/blueprint": "2.0.0-beta.11", + "@glimmer/blueprint": "2.0.0-beta.12", "ember-cli-string-utils": "^1.1.0", "walk-sync": "^2.0.2" }, diff --git a/packages/@glimmerx/component/package.json b/packages/@glimmerx/component/package.json index 7e3f514b..e163de6a 100644 --- a/packages/@glimmerx/component/package.json +++ b/packages/@glimmerx/component/package.json @@ -15,8 +15,8 @@ "build": "webpack" }, "dependencies": { - "@glimmer/component": "2.0.0-beta.11", - "@glimmer/tracking": "2.0.0-beta.11", + "@glimmer/component": "2.0.0-beta.12", + "@glimmer/tracking": "2.0.0-beta.12", "@glimmerx/babel-plugin-component-templates": "^0.3.0", "ember-cli-babel": "^7.17.2", "ember-cli-babel-plugin-helpers": "^1.1.0" diff --git a/packages/@glimmerx/core/index.ts b/packages/@glimmerx/core/index.ts index f02b6552..533d78ad 100644 --- a/packages/@glimmerx/core/index.ts +++ b/packages/@glimmerx/core/index.ts @@ -1,3 +1,15 @@ +import FunctionalModifierManager from './src/functional-modifier-manager'; +import FunctionalHelperManager from './src/functional-helper-manager'; +import { setModifierManager, setHelperManager } from '@glimmer/manager'; + +const FUNCTIONAL_MODIFIER_MANAGER = new FunctionalModifierManager(); +const FUNCTIONAL_MODIFIER_MANAGER_FACTORY = () => FUNCTIONAL_MODIFIER_MANAGER; +const FUNCTIONAL_HELPER_MANAGER = new FunctionalHelperManager(); +const FUNCTIONAL_HELPER_MANAGER_FACTORY = () => FUNCTIONAL_HELPER_MANAGER; + +setModifierManager(FUNCTIONAL_MODIFIER_MANAGER_FACTORY, Function.prototype); +setHelperManager(FUNCTIONAL_HELPER_MANAGER_FACTORY, Function.prototype); + export { default as Owner, FactoryIdentifier } from './src/owner'; export { default as renderComponent, RenderComponentOptions } from './src/renderComponent'; @@ -9,13 +21,10 @@ export { ComponentManager, setComponentManager, helperCapabilities, - HelperCapabilities, - HelperDefinition, HelperManager, setHelperManager, modifierCapabilities, ModifierCapabilities, - ModifierDefinition, ModifierManager, setModifierManager, setOwner, diff --git a/packages/@glimmerx/core/package.json b/packages/@glimmerx/core/package.json index e3bf8348..86479caa 100644 --- a/packages/@glimmerx/core/package.json +++ b/packages/@glimmerx/core/package.json @@ -17,8 +17,9 @@ "build": "webpack" }, "dependencies": { - "@glimmer/core": "2.0.0-beta.11", - "@glimmer/interfaces": "0.62.4" + "@glimmer/core": "2.0.0-beta.12", + "@glimmer/interfaces": "0.73.0", + "@glimmer/manager": "0.73.0" }, "volta": { "node": "12.10.0", diff --git a/packages/@glimmerx/core/src/functional-helper-manager.ts b/packages/@glimmerx/core/src/functional-helper-manager.ts new file mode 100644 index 00000000..3b4c4c88 --- /dev/null +++ b/packages/@glimmerx/core/src/functional-helper-manager.ts @@ -0,0 +1,25 @@ +import { HelperManager, helperCapabilities } from '@glimmer/core'; +import { Arguments } from '@glimmer/interfaces'; + +interface FunctionalHelperState { + fn: (...args: unknown[]) => unknown; + args: Arguments; +} + +export default class FunctionalHelperManager implements HelperManager { + capabilities = helperCapabilities('3.23', { + hasValue: true, + }); + + createHelper(fn: () => unknown, args: Arguments): FunctionalHelperState { + return { fn, args }; + } + + getValue({ fn, args }: FunctionalHelperState) { + return fn(...args.positional); + } + + getDebugName(fn: Function) { + return fn.name || '(anonymous function)'; + } +} diff --git a/packages/@glimmerx/core/src/functional-modifier-manager.ts b/packages/@glimmerx/core/src/functional-modifier-manager.ts new file mode 100644 index 00000000..44504135 --- /dev/null +++ b/packages/@glimmerx/core/src/functional-modifier-manager.ts @@ -0,0 +1,40 @@ +import { modifierCapabilities, ModifierManager } from '@glimmer/core'; +import { Arguments } from '@glimmer/interfaces'; +import { SimpleElement } from '@simple-dom/interface'; + +type SimpleModifierFn = (...args: unknown[]) => (() => void) | undefined; + +interface FunctionalModifierState { + fn: SimpleModifierFn; + args: Arguments; + element: SimpleElement | undefined; + destructor: (() => void) | undefined; +} + +export default class FunctionalModifierManager implements ModifierManager { + capabilities = modifierCapabilities('3.22'); + + createModifier(fn: SimpleModifierFn, args: Arguments): FunctionalModifierState { + return { fn, args, element: undefined, destructor: undefined }; + } + installModifier(state: FunctionalModifierState, element: SimpleElement) { + state.element = element; + this.setupModifier(state); + } + + updateModifier(state: FunctionalModifierState) { + this.destroyModifier(state); + this.setupModifier(state); + } + + destroyModifier(state: FunctionalModifierState) { + if (typeof state.destructor === 'function') { + state.destructor(); + } + } + + setupModifier(state: FunctionalModifierState) { + const { fn, args, element } = state; + state.destructor = fn(element, ...args.positional, args.named); + } +} diff --git a/packages/@glimmerx/core/tests/modifier-tests.ts b/packages/@glimmerx/core/tests/modifier-tests.ts index 228c6453..6bb136bc 100644 --- a/packages/@glimmerx/core/tests/modifier-tests.ts +++ b/packages/@glimmerx/core/tests/modifier-tests.ts @@ -1,13 +1,13 @@ const { module, test } = QUnit; import { on, action } from '@glimmerx/modifier'; -import Component, { tracked } from '@glimmerx/component'; -import { renderComponent, setComponentTemplate, didRender } from '..'; -import { compileTemplate } from './utils'; +import Component, { tracked, hbs } from '@glimmerx/component'; +import { renderComponent, didRender } from '..'; module('Modifier Tests', () => { test('Supports the on modifier', async (assert) => { class MyComponent extends Component { + static template = hbs``; @tracked count = 0; @action @@ -16,14 +16,6 @@ module('Modifier Tests', () => { } } - setComponentTemplate( - compileTemplate( - ``, - () => ({ on }) - ), - MyComponent - ); - const element = document.getElementById('qunit-fixture')!; await renderComponent(MyComponent, element); @@ -43,4 +35,21 @@ module('Modifier Tests', () => { 'the component was rerendered' ); }); + + test('supports simple functions as modifiers', async (assert) => { + assert.expect(3); + + function myModifier(element, arg1, arg2) { + assert.equal(arg1, 'foo'); + assert.equal(arg2, 'bar'); + assert.ok(element.classList.contains('test-element')); + } + + class MyComponent extends Component { + static template = hbs`
`; + } + + const element = document.getElementById('qunit-fixture')!; + await renderComponent(MyComponent, element); + }); }); diff --git a/packages/@glimmerx/core/tests/render-tests.ts b/packages/@glimmerx/core/tests/render-tests.ts index cb27918c..ff78ea5f 100644 --- a/packages/@glimmerx/core/tests/render-tests.ts +++ b/packages/@glimmerx/core/tests/render-tests.ts @@ -1,8 +1,5 @@ -import Component, { tracked } from '@glimmerx/component'; +import Component, { tracked, hbs } from '@glimmerx/component'; -import { setComponentTemplate } from '..'; - -import { compileTemplate } from './utils'; import { helper } from '@glimmerx/helper'; import { service } from '@glimmerx/service'; import { on, action } from '@glimmerx/modifier'; @@ -10,7 +7,7 @@ import { on, action } from '@glimmerx/modifier'; const { module, test } = QUnit; export interface Constructor { - new (owner: unknown, args: object): T; + new (owner: object, args: object): T; } export default function renderTests( @@ -20,9 +17,9 @@ export default function renderTests( ) { module(`${moduleName} rendering`, () => { test('it renders a component', async (assert) => { - class MyComponent extends Component {} - - setComponentTemplate(compileTemplate(`

Hello world

`), MyComponent); + class MyComponent extends Component { + static template = hbs`

Hello world

`; + } const html = await render(MyComponent); assert.strictEqual(html, '

Hello world

', 'the template was rendered'); @@ -30,15 +27,13 @@ export default function renderTests( }); test('a component can render a nested component', async (assert) => { - class OtherComponent extends Component {} - - setComponentTemplate(compileTemplate(`Hello world`), OtherComponent); + class OtherComponent extends Component { + static template = hbs`Hello world`; + } - class MyComponent extends Component {} - setComponentTemplate( - compileTemplate(`

`, () => ({ OtherComponent })), - MyComponent - ); + class MyComponent extends Component { + static template = hbs`

`; + } const html = await render(MyComponent); assert.strictEqual(html, '

Hello world

', 'the template was rendered'); @@ -46,23 +41,21 @@ export default function renderTests( }); test('a component can render multiple nested components', async (assert) => { - class Foo extends Component {} - setComponentTemplate(compileTemplate(`Foo`), Foo); + class Foo extends Component { + static template = hbs`Foo`; + } - class Bar extends Component {} - setComponentTemplate(compileTemplate(`Bar`), Bar); + class Bar extends Component { + static template = hbs`Bar`; + } - class OtherComponent extends Component {} - setComponentTemplate( - compileTemplate(`Hello world `, () => ({ Foo, Bar })), - OtherComponent - ); + class OtherComponent extends Component { + static template = hbs`Hello world `; + } - class MyComponent extends Component {} - setComponentTemplate( - compileTemplate(`

`, () => ({ OtherComponent })), - MyComponent - ); + class MyComponent extends Component { + static template = hbs`

`; + } const html = await render(MyComponent); @@ -74,20 +67,18 @@ export default function renderTests( return `helper ${greeting} ${name}`; }); - class MyComponent extends Component {} - setComponentTemplate( - compileTemplate('

{{myHelper "foo" greeting="Hello"}}

', () => ({ myHelper })), - MyComponent - ); + class MyComponent extends Component { + static template = hbs`

{{myHelper "foo" greeting="Hello"}}

`; + } const html = await render(MyComponent); assert.strictEqual(html, '

helper Hello foo

', 'the template was rendered'); }); test('a component can render with args', async (assert) => { - class MyComponent extends Component {} - - setComponentTemplate(compileTemplate('

{{@say}}

'), MyComponent); + class MyComponent extends Component { + static template = hbs`

{{@say}}

`; + } const renderOptions = { args: { @@ -111,14 +102,14 @@ export default function renderTests( } class MyComponent extends Component { + static template = hbs`

{{this.myLocale}}

`; + @service locale: LocaleService; get myLocale() { return this.locale.currentLocale; } } - setComponentTemplate(compileTemplate('

{{this.myLocale}}

'), MyComponent); - const html = await render(MyComponent, { services: { locale: new LocaleService(), @@ -139,11 +130,9 @@ export default function renderTests( return `The locale is ${localeService.currentLocale}`; }); - class MyComponent extends Component {} - setComponentTemplate( - compileTemplate('

{{myHelper}}

', () => ({ myHelper })), - MyComponent - ); + class MyComponent extends Component { + static template = hbs`

{{myHelper}}

`; + } const html = await render(MyComponent, { services: { @@ -154,9 +143,9 @@ export default function renderTests( }); test('a component can be rendered more than once', async (assert) => { - class MyComponent extends Component {} - - setComponentTemplate(compileTemplate(`

Bump

`), MyComponent); + class MyComponent extends Component { + static template = hbs`

Bump

`; + } let html = await render(MyComponent); assert.strictEqual(html, '

Bump

', 'the component rendered'); @@ -169,6 +158,8 @@ export default function renderTests( test('a component can use modifiers', async (assert) => { class MyComponent extends Component { + static template = hbs``; + @tracked count = 0; @action @@ -177,16 +168,21 @@ export default function renderTests( } } - setComponentTemplate( - compileTemplate( - ``, - () => ({ on }) - ), - MyComponent - ); - const html = await render(MyComponent); assert.strictEqual(html, ``, 'the component was rendered'); }); + + test('supports functions as simple helpers', async (assert) => { + function upperCase(str: string) { + return str.toUpperCase(); + } + + class MyComponent extends Component { + static template = hbs`Hello {{upperCase "test"}}`; + } + + const html = await render(MyComponent); + assert.strictEqual(html, 'Hello TEST', 'the component rendered'); + }); }); } diff --git a/packages/@glimmerx/core/tests/utils.ts b/packages/@glimmerx/core/tests/utils.ts deleted file mode 100644 index 9b112995..00000000 --- a/packages/@glimmerx/core/tests/utils.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { precompile } from '@glimmer/compiler'; -import { Dict } from '@glimmer/interfaces'; - -type ScopeFn = () => Dict; - -export function compileTemplate(templateSource: string, scopeFn: ScopeFn = () => ({})) { - const template = JSON.parse(precompile(templateSource)); - template.meta.scope = scopeFn; - return template; -} diff --git a/packages/@glimmerx/helper/package.json b/packages/@glimmerx/helper/package.json index 1e7ca5e7..18fafd22 100644 --- a/packages/@glimmerx/helper/package.json +++ b/packages/@glimmerx/helper/package.json @@ -21,8 +21,8 @@ }, "dependencies": { "@glimmerx/core": "0.3.0", - "@glimmer/helper": "2.0.0-beta.11", - "@glimmer/interfaces": "0.62.4", + "@glimmer/helper": "2.0.0-beta.12", + "@glimmer/interfaces": "0.73.0", "ember-cli-babel": "^7.18.0" }, "volta": { diff --git a/packages/@glimmerx/helper/src/helper.ts b/packages/@glimmerx/helper/src/helper.ts index 403ab7b2..24f8167e 100644 --- a/packages/@glimmerx/helper/src/helper.ts +++ b/packages/@glimmerx/helper/src/helper.ts @@ -24,13 +24,11 @@ interface BasicHelperBucket { } class BasicHelperManager implements HelperManager { - capabilities = helperCapabilities('glimmerjs-2.0.0'); + capabilities = helperCapabilities('3.23', { + hasValue: true, + }); - constructor(private owner: Owner) {} - - getValue({ fn, args, ownerProxy }: BasicHelperBucket): unknown { - return fn(args.positional, args.named, { services: ownerProxy }); - } + constructor(private owner: Owner | undefined) {} createHelper(fn: Helper, args: TemplateArgs) { const { owner } = this; @@ -39,7 +37,7 @@ class BasicHelperManager implements HelperManager { {}, { get(_target, key) { - return owner.lookup({ type: 'service', name: (key as unknown) as string }); + return owner && owner.lookup({ type: 'service', name: (key as unknown) as string }); }, } ); @@ -50,9 +48,17 @@ class BasicHelperManager implements HelperManager { ownerProxy, }; } + + getValue({ fn, args, ownerProxy }: BasicHelperBucket): unknown { + return fn(args.positional, args.named, { services: ownerProxy }); + } + + getDebugName(fn: Function) { + return fn.name || '(anonymous function)'; + } } -const basicHelperManagerFactory = (owner: Owner) => new BasicHelperManager(owner); +const basicHelperManagerFactory = (owner: Owner | undefined) => new BasicHelperManager(owner); export function helper(helperFunction: Helper) { setHelperManager(basicHelperManagerFactory, helperFunction); diff --git a/packages/@glimmerx/modifier/package.json b/packages/@glimmerx/modifier/package.json index 91d67688..42fb36ac 100644 --- a/packages/@glimmerx/modifier/package.json +++ b/packages/@glimmerx/modifier/package.json @@ -20,8 +20,8 @@ "build": "webpack" }, "dependencies": { - "@glimmer/core": "2.0.0-beta.11", - "@glimmer/modifier": "2.0.0-beta.11", + "@glimmer/core": "2.0.0-beta.12", + "@glimmer/modifier": "2.0.0-beta.12", "ember-cli-babel": "^7.18.0" }, "volta": { diff --git a/packages/@glimmerx/ssr/package.json b/packages/@glimmerx/ssr/package.json index 2f8f1d73..8f646a7c 100644 --- a/packages/@glimmerx/ssr/package.json +++ b/packages/@glimmerx/ssr/package.json @@ -15,8 +15,8 @@ "build": "webpack" }, "dependencies": { - "@glimmer/interfaces": "0.62.4", - "@glimmer/ssr": "2.0.0-beta.11", + "@glimmer/interfaces": "0.73.0", + "@glimmer/ssr": "2.0.0-beta.12", "@glimmerx/core": "^0.3.0" }, "volta": { diff --git a/packages/@glimmerx/ssr/tests/render-options-tests.ts b/packages/@glimmerx/ssr/tests/render-options-tests.ts index c7dd085f..e05caf32 100644 --- a/packages/@glimmerx/ssr/tests/render-options-tests.ts +++ b/packages/@glimmerx/ssr/tests/render-options-tests.ts @@ -1,6 +1,4 @@ -import Component from '@glimmerx/component'; -import { setComponentTemplate } from '@glimmerx/core'; -import { compileTemplate } from '@glimmerx/core/tests/utils'; +import Component, { hbs } from '@glimmerx/component'; import HTMLSerializer from '@simple-dom/serializer'; import voidMap from '@simple-dom/void-map'; import { SerializableNode } from '@simple-dom/interface'; @@ -8,7 +6,9 @@ import { renderToString, RenderOptions } from '..'; QUnit.module('@glimmer/ssr rendering', () => { QUnit.test('options.serializer', async (assert) => { - class MyComponent extends Component {} + class MyComponent extends Component { + static template = hbs`

Hello World

`; + } class CustomHTMLSerializer extends HTMLSerializer { text(text: SerializableNode) { @@ -18,8 +18,6 @@ QUnit.module('@glimmer/ssr rendering', () => { const options: RenderOptions = { serializer: new CustomHTMLSerializer(voidMap) }; - setComponentTemplate(compileTemplate(`

Hello World

`), MyComponent); - const output = await renderToString(MyComponent, options); assert.equal(output, '

Goodbye World

'); diff --git a/packages/@glimmerx/storybook/package.json b/packages/@glimmerx/storybook/package.json index 935a3ef6..888b32d6 100644 --- a/packages/@glimmerx/storybook/package.json +++ b/packages/@glimmerx/storybook/package.json @@ -51,7 +51,7 @@ "peerDependencies": { "@babel/plugin-proposal-class-properties": "^7.8.3", "@babel/plugin-proposal-decorators": "^7.8.3", - "@glimmer/babel-plugin-strict-template-precompile": "2.0.0-beta.11", + "@glimmer/babel-plugin-strict-template-precompile": "2.0.0-beta.12", "@glimmerx/babel-plugin-component-templates": "^0.3.0", "@glimmerx/component": "^0.3.0", "@glimmerx/core": "^0.3.0", diff --git a/packages/examples/basic-addon/package.json b/packages/examples/basic-addon/package.json index 9e97221b..cd24257f 100644 --- a/packages/examples/basic-addon/package.json +++ b/packages/examples/basic-addon/package.json @@ -33,7 +33,7 @@ }, "devDependencies": { "@ember/optional-features": "^1.3.0", - "@glimmer/tracking": "2.0.0-beta.11", + "@glimmer/tracking": "2.0.0-beta.12", "@glimmerx/eslint-plugin": "^0.3.0", "babel-eslint": "^10.1.0", "broccoli-asset-rev": "^3.0.0", diff --git a/packages/examples/basic/package.json b/packages/examples/basic/package.json index e15039ff..868961a5 100644 --- a/packages/examples/basic/package.json +++ b/packages/examples/basic/package.json @@ -17,7 +17,7 @@ "basic-addon": "0.3.0" }, "devDependencies": { - "@glimmer/interfaces": "0.62.4", + "@glimmer/interfaces": "0.73.0", "@glimmerx/storybook": "^0.3.0" }, "volta": { diff --git a/packages/examples/ember-app/package.json b/packages/examples/ember-app/package.json index 34829b3d..219304d0 100644 --- a/packages/examples/ember-app/package.json +++ b/packages/examples/ember-app/package.json @@ -22,7 +22,7 @@ "devDependencies": { "@ember/optional-features": "^1.3.0", "@glimmer/component": "^1.0.0", - "@glimmer/tracking": "2.0.0-beta.11", + "@glimmer/tracking": "2.0.0-beta.12", "babel-eslint": "^10.1.0", "broccoli-asset-rev": "^3.0.0", "ember-auto-import": "^1.5.3", diff --git a/packages/examples/playground/package.json b/packages/examples/playground/package.json index ab97dbfb..147f5359 100644 --- a/packages/examples/playground/package.json +++ b/packages/examples/playground/package.json @@ -20,7 +20,7 @@ "@babel/plugin-proposal-decorators": "^7.8.3", "@babel/preset-env": "^7.9.0", "@babel/preset-typescript": "^7.9.0", - "@glimmer/babel-plugin-glimmer-env": "~2.0.0-beta.11", + "@glimmer/babel-plugin-glimmer-env": "~2.0.0-beta.12", "@glimmer/env": "^0.1.7", "@glimmerx/babel-plugin-component-templates": "^0.3.0", "@glimmerx/component": "^0.3.0", diff --git a/webpack.config.js b/webpack.config.js index 4f72aba7..34563d95 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -2,7 +2,7 @@ const path = require('path'); const TsconfigPathsPlugin = require('tsconfig-paths-webpack-plugin'); const commonBabelPlugins = [ - ['@glimmer/babel-plugin-glimmer-env', { DEBUG: true }], + ['@glimmer/babel-plugin-glimmer-env', { DEBUG: false }], '@glimmerx/babel-plugin-component-templates', ['@babel/plugin-proposal-decorators', { legacy: true }], '@babel/plugin-proposal-class-properties', diff --git a/yarn.lock b/yarn.lock index 2a3d4603..36a10dfe 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1273,52 +1273,52 @@ unique-filename "^1.1.1" which "^1.3.1" -"@glimmer/babel-plugin-glimmer-env@2.0.0-beta.11", "@glimmer/babel-plugin-glimmer-env@~2.0.0-beta.11": - version "2.0.0-beta.11" - resolved "https://registry.yarnpkg.com/@glimmer/babel-plugin-glimmer-env/-/babel-plugin-glimmer-env-2.0.0-beta.11.tgz#cfce1bb84e34b885ccc6628803f351fd6b36f5f4" - integrity sha512-0+Ghj/vG5knAlR9XGPprKyKRnYeahmywuY7Hs8WAidGDKNvrH7DjaMwmaJNUh+CGCR2Y8MG171VW9o3Ljs6SVw== +"@glimmer/babel-plugin-glimmer-env@2.0.0-beta.12", "@glimmer/babel-plugin-glimmer-env@~2.0.0-beta.12": + version "2.0.0-beta.12" + resolved "https://registry.yarnpkg.com/@glimmer/babel-plugin-glimmer-env/-/babel-plugin-glimmer-env-2.0.0-beta.12.tgz#6ce9d10fa737848e705b7ec19a42f2db54a6eef4" + integrity sha512-GnDPsQqyVg8N9+qjg7bd1e43uyBeuBmTGkVe7UHWCWfGzoNJZ4Hmm5NONfHFrMKqpM2fdua/375XTpePicEZsw== dependencies: "@babel/core" "^7.5.5" babel-plugin-debug-macros "^0.3.3" -"@glimmer/babel-plugin-strict-template-precompile@2.0.0-beta.11": - version "2.0.0-beta.11" - resolved "https://registry.yarnpkg.com/@glimmer/babel-plugin-strict-template-precompile/-/babel-plugin-strict-template-precompile-2.0.0-beta.11.tgz#73b172c138f257a42d16f38d7b1dfd052050235f" - integrity sha512-QBkSQAi2GiF1fKeAmyi76/wfXpF5beLJ6rrBpjT4XGTDP0r9FXv6WjXM98KO0O4mbPn+JnUiHrsr9l3TR/ppzQ== +"@glimmer/babel-plugin-strict-template-precompile@2.0.0-beta.12": + version "2.0.0-beta.12" + resolved "https://registry.yarnpkg.com/@glimmer/babel-plugin-strict-template-precompile/-/babel-plugin-strict-template-precompile-2.0.0-beta.12.tgz#f43b22098e932d80f61e6b4845a3c5683a36b890" + integrity sha512-scjD9KMWJmhZT8WxCYAWJKX0qlEK7WEPE8R5wBqY6oDdoLEBpXdte+m2UQqm3sYe7qVPs/STkBi6uvzuisn0NQ== dependencies: "@babel/core" "^7.5.5" "@babel/generator" "^7.9.4" "@babel/helper-module-imports" "^7.0.0" "@babel/parser" "^7.9.4" "@babel/types" "^7.9.0" - "@glimmer/compiler" "0.62.4" + "@glimmer/compiler" "0.73.0" -"@glimmer/blueprint@2.0.0-beta.11": - version "2.0.0-beta.11" - resolved "https://registry.yarnpkg.com/@glimmer/blueprint/-/blueprint-2.0.0-beta.11.tgz#79a2efe433ad8feb3496ee777fd2a6352dd620e0" - integrity sha512-MHO8u5tWbTNws22ZLR61mjojtlMYHJSJ5bwgIK7mu7eGSauuWFTWBYjU8GkBDHkPJvl6tHN1v/EDIdUrhdFcrQ== +"@glimmer/blueprint@2.0.0-beta.12": + version "2.0.0-beta.12" + resolved "https://registry.yarnpkg.com/@glimmer/blueprint/-/blueprint-2.0.0-beta.12.tgz#7b0306a6339d636a4f5304106729cfbfa827ded5" + integrity sha512-52Kg5rjKEtjMHc1kBZkaUhzG0ez4tI8ar6n3EzmGrUCb8tytnMEIHEPLS4BtqEVKY9WDewEjaqmk/yFU8x+FIA== dependencies: ember-cli-string-utils "^1.1.0" -"@glimmer/compiler@0.62.4": - version "0.62.4" - resolved "https://registry.yarnpkg.com/@glimmer/compiler/-/compiler-0.62.4.tgz#15bd2f0a068bc1e03d775948dc5cbddda02a9c19" - integrity sha512-Tgubvwlu5XrYl79EDSD/nRgJqTe13+S952tdasH7mxIerfR8o5QOMvCJz+jVv0PxX8zOGZKGo9GQYxKwsWHKDA== +"@glimmer/compiler@0.73.0": + version "0.73.0" + resolved "https://registry.yarnpkg.com/@glimmer/compiler/-/compiler-0.73.0.tgz#206d3b3bf5de07bfa95591bc6aa9c43493e52bce" + integrity sha512-vBq4CNPdA1wdKysOshbkjUgy2YHc8IfPIdish4qIx7S3g2ibfH9+EfcFHwb+CrXnijG7dUrVMu/AUmuurbvTNQ== dependencies: - "@glimmer/interfaces" "0.62.4" - "@glimmer/syntax" "0.62.4" - "@glimmer/util" "0.62.4" - "@glimmer/wire-format" "0.62.4" + "@glimmer/interfaces" "0.73.0" + "@glimmer/syntax" "0.73.0" + "@glimmer/util" "0.73.0" + "@glimmer/wire-format" "0.73.0" "@simple-dom/interface" "^1.4.0" -"@glimmer/component@2.0.0-beta.11": - version "2.0.0-beta.11" - resolved "https://registry.yarnpkg.com/@glimmer/component/-/component-2.0.0-beta.11.tgz#25ed7193fd01087ce61dde110ddc70ec96424350" - integrity sha512-pt9fU0+Abh8PI3oCwpDmxyS292o2Q70Rjlk/fHDM+yGE05LKfIIrqpTglK474MTPWhns//7IRCbSuM9eAwm/HA== +"@glimmer/component@2.0.0-beta.12": + version "2.0.0-beta.12" + resolved "https://registry.yarnpkg.com/@glimmer/component/-/component-2.0.0-beta.12.tgz#9c39efc09a9aa9c5d60360eae4c23667ab4bc62e" + integrity sha512-1jJNhysJOBOCR91rtzrCahGKuXHoM7eK3ZW1gAZE2bTs6nJIS/panFPWmUnbcnWm6mEGf5gdEtGHxlCnVVcO6Q== dependencies: - "@glimmer/core" "2.0.0-beta.11" + "@glimmer/core" "2.0.0-beta.12" "@glimmer/env" "^0.1.7" - "@glimmer/util" "0.62.4" + "@glimmer/util" "0.73.0" broccoli-file-creator "^2.1.1" broccoli-merge-trees "^3.0.2" ember-cli-babel "^7.7.3" @@ -1349,59 +1349,71 @@ ember-cli-typescript "3.0.0" ember-compatibility-helpers "^1.1.2" -"@glimmer/core@2.0.0-beta.11": - version "2.0.0-beta.11" - resolved "https://registry.yarnpkg.com/@glimmer/core/-/core-2.0.0-beta.11.tgz#4951497ec05ae2b2c6caccd6a96e9e2ed1d97b13" - integrity sha512-z+kV+qixXaqxJS/4bAytpi9Jc2QlVGf/dnTDY38t6H3XQW81eaRuL3Ri7UxmCk8tf9ouvSi1HA3xPbxaDCdQug== +"@glimmer/core@2.0.0-beta.12": + version "2.0.0-beta.12" + resolved "https://registry.yarnpkg.com/@glimmer/core/-/core-2.0.0-beta.12.tgz#4d1148c92565b65d7bf7ef3114b6c41062f52547" + integrity sha512-1Fk7hijjENMX/AoR2dnGv3u4t2Uh/yAvrtzQBr6HqHj4A+JqZ6dnN2BVXAp9uudfFsyt38Xha4X0NPhDS5gIGQ== dependencies: "@glimmer/env" "^0.1.7" - "@glimmer/global-context" "0.62.4" - "@glimmer/interfaces" "0.62.4" - "@glimmer/opcode-compiler" "0.62.4" - "@glimmer/program" "0.62.4" - "@glimmer/runtime" "0.62.4" - "@glimmer/validator" "0.62.4" + "@glimmer/global-context" "0.73.0" + "@glimmer/interfaces" "0.73.0" + "@glimmer/manager" "0.73.0" + "@glimmer/opcode-compiler" "0.73.0" + "@glimmer/owner" "0.73.0" + "@glimmer/program" "0.73.0" + "@glimmer/runtime" "0.73.0" + "@glimmer/validator" "0.73.0" "@simple-dom/interface" "^1.4.0" +"@glimmer/destroyable@0.73.0": + version "0.73.0" + resolved "https://registry.yarnpkg.com/@glimmer/destroyable/-/destroyable-0.73.0.tgz#04a0ce1d31c6325c13f85831e63d392ad103646e" + integrity sha512-yx2Ci2s7Q0zY6A934a/eJBVofBg/YsuLv9et6FXVYgQFjb45V3Pm+lklitKCZ401kXKJqozTC08jHgka40U3rA== + dependencies: + "@glimmer/env" "0.1.7" + "@glimmer/global-context" "0.73.0" + "@glimmer/interfaces" "0.73.0" + "@glimmer/util" "0.73.0" + "@glimmer/di@^0.1.9": version "0.1.11" resolved "https://registry.yarnpkg.com/@glimmer/di/-/di-0.1.11.tgz#a6878c07a13a2c2c76fcde598a5c97637bfc4280" integrity sha1-poeMB6E6LCx2/N5ZilyXY3v8QoA= -"@glimmer/encoder@0.62.4": - version "0.62.4" - resolved "https://registry.yarnpkg.com/@glimmer/encoder/-/encoder-0.62.4.tgz#bdf8f73c96db053f6b013563df9e71edd8fd8a69" - integrity sha512-iIJ/tD+OFu/g37EC8LCZTldjuPXQmywsHq3A4c91vzPrxElRMH3Crln8+u4X75r6SOhYza5jN7mhNSa0YV2rKw== +"@glimmer/encoder@0.73.0": + version "0.73.0" + resolved "https://registry.yarnpkg.com/@glimmer/encoder/-/encoder-0.73.0.tgz#5ad9ebcdca8fc7952367ab4b0d77c8452cda96e7" + integrity sha512-v2jcMem2TFLP/VJF4HI+GPX9PEwkmcussyLjNG65ZMCcsqOKHcmGcXULtMxeQR4Y7PpjaZRwWCMpuGgL9QLo5Q== dependencies: - "@glimmer/interfaces" "0.62.4" - "@glimmer/vm" "0.62.4" + "@glimmer/env" "0.1.7" + "@glimmer/interfaces" "0.73.0" + "@glimmer/vm" "0.73.0" "@glimmer/env@0.1.7", "@glimmer/env@^0.1.7": version "0.1.7" resolved "https://registry.yarnpkg.com/@glimmer/env/-/env-0.1.7.tgz#fd2d2b55a9029c6b37a6c935e8c8871ae70dfa07" integrity sha1-/S0rVakCnGs3psk16MiHGucN+gc= -"@glimmer/global-context@0.62.4": - version "0.62.4" - resolved "https://registry.yarnpkg.com/@glimmer/global-context/-/global-context-0.62.4.tgz#6b942b6ca0d23141a88fe707f7ce6bcac6709336" - integrity sha512-F1vD6+zURXOzFKYUL7Dw+zDasfYKpBWt/7GJ8lUVNJ7XOZQQOOeY8Tr29K4ZUrqu3lByTqyBR46gpE8UdbsJ2w== +"@glimmer/global-context@0.73.0": + version "0.73.0" + resolved "https://registry.yarnpkg.com/@glimmer/global-context/-/global-context-0.73.0.tgz#273f757779a17595cb4cb76685c17087dc619bb8" + integrity sha512-DnatUdDcF6STNhN4aOFjSW5cn1lmgMpjaauwIKZSy9O45Eo8uqNCMpYRCKf4fkVmYVDRwg6N6ua0Sv0q6OlWSw== dependencies: "@glimmer/env" "^0.1.7" -"@glimmer/helper@2.0.0-beta.11": - version "2.0.0-beta.11" - resolved "https://registry.yarnpkg.com/@glimmer/helper/-/helper-2.0.0-beta.11.tgz#03a33f75d12b864c2b6c278cead8e1f5acd32690" - integrity sha512-pzOWkUJe95eQZtJMb3KILXQQQ9hu+d1/az8vtNrqgZwgpbE3iLAUuDsTwOOW050+fMLNr6rkYOghLoLEGYnTgQ== +"@glimmer/helper@2.0.0-beta.12": + version "2.0.0-beta.12" + resolved "https://registry.yarnpkg.com/@glimmer/helper/-/helper-2.0.0-beta.12.tgz#547220bee1044b3d016d896e5ac34bbee14bd4e9" + integrity sha512-DFJWGwzeQ503QeLjeR0UqYCpXNmOU1MSl4H8wRJH1sUjK7ZZ+co+scb/NpwbiAUHoNFR61JKr/1nD+Awa50PCQ== dependencies: - "@glimmer/component" "2.0.0-beta.11" - "@glimmer/core" "2.0.0-beta.11" - "@glimmer/interfaces" "0.62.4" - "@glimmer/reference" "0.62.4" + "@glimmer/component" "2.0.0-beta.12" + "@glimmer/core" "2.0.0-beta.12" + "@glimmer/runtime" "0.73.0" -"@glimmer/interfaces@0.62.4": - version "0.62.4" - resolved "https://registry.yarnpkg.com/@glimmer/interfaces/-/interfaces-0.62.4.tgz#e9027d637a0ea80522f29a241aa819e686c623ae" - integrity sha512-x3L9YUL17fRgxFrnUvUYTxgnLoh8BipdqkweUEVA5qdIa1dcidUzHUFtWgRiWZ+dKCJBtxh2ubEwjOfgobpMuQ== +"@glimmer/interfaces@0.73.0": + version "0.73.0" + resolved "https://registry.yarnpkg.com/@glimmer/interfaces/-/interfaces-0.73.0.tgz#ea926b2542cf666a9a479e8aa67224cc11f7710d" + integrity sha512-DagAc0Ul+lrid54QKrUVctlKfloIZMRhaz/oaEJ3nVf4Nqz/6YtT3tOrJ+fOxLYjsDy3Dq0uJMDOHzdd6IqS2g== dependencies: "@simple-dom/interface" "^1.4.0" @@ -1412,102 +1424,125 @@ dependencies: "@simple-dom/interface" "^1.4.0" -"@glimmer/low-level@0.62.4": - version "0.62.4" - resolved "https://registry.yarnpkg.com/@glimmer/low-level/-/low-level-0.62.4.tgz#db54f646d8ba6362d9e3a3a36f174f5699dbe4fd" - integrity sha512-1aNPSfNUs/b3VfQ/DzhKVmIA/JlW30hcDxlitKms8nqmkP6wCgJhurIaU0ksjkIpFyIsZW4ojasAzh/QZ0aEAg== +"@glimmer/low-level@0.73.0": + version "0.73.0" + resolved "https://registry.yarnpkg.com/@glimmer/low-level/-/low-level-0.73.0.tgz#70e42e35954ed07c544413bd5064cdd4aa2f6ce9" + integrity sha512-n52STqtO54R/1GUv+oe7TXjwIdLBaZ1/+DqWPsh5XlzIH/MY6RipNeCpaIKJDYdSshJYZEp6i/7x0NBfzmocdQ== -"@glimmer/modifier@2.0.0-beta.11": - version "2.0.0-beta.11" - resolved "https://registry.yarnpkg.com/@glimmer/modifier/-/modifier-2.0.0-beta.11.tgz#a78ef94b533b2566aa12493463da9b0c4efd83dc" - integrity sha512-Be6Z8D1FOmjal5B3BP9NV95CjtcPmEswtzY64b79MHLKPS1vAXVZT+8VBI3yZUxDIFvcBnZjfvma0hqUxaTCNA== +"@glimmer/manager@0.73.0": + version "0.73.0" + resolved "https://registry.yarnpkg.com/@glimmer/manager/-/manager-0.73.0.tgz#7af1c290e5ad5ce0d38517367996452346b776d6" + integrity sha512-Sjn2eTBbDxS7fdr3tY2nfHQ34DTGmobNDUIwNGBv7RgNWJ6yCcgM3HYxfynK6AoCrzQyNcHkthefNtFRZOQJSQ== dependencies: - "@glimmer/interfaces" "0.62.4" + "@glimmer/destroyable" "0.73.0" + "@glimmer/env" "0.1.7" + "@glimmer/interfaces" "0.73.0" + "@glimmer/reference" "0.73.0" + "@glimmer/util" "0.73.0" + "@glimmer/validator" "0.73.0" + +"@glimmer/modifier@2.0.0-beta.12": + version "2.0.0-beta.12" + resolved "https://registry.yarnpkg.com/@glimmer/modifier/-/modifier-2.0.0-beta.12.tgz#6b7861ffa5417068cc79a4d318427543d9e7f740" + integrity sha512-RtQs6Kb+FvuNI/Lje0mDxrf7iC3nq/KYcAvhiCv3Tjv8cpNz6rem+SzPqcRxcKRisd12zaTQSoFZ6J+5A6GNPg== + dependencies: + "@glimmer/runtime" "0.73.0" + +"@glimmer/node@0.73.0": + version "0.73.0" + resolved "https://registry.yarnpkg.com/@glimmer/node/-/node-0.73.0.tgz#ad1fb21423044b78781c2a0a522ca74b7655312d" + integrity sha512-IVQuV+jezP5L81KwswnyW8vT+M+ef+KhgMtW3gI8+6D5Msdx06QUrLzPjbcFyLwHUZ6AHO3IOydEAsk8JclgCg== + dependencies: + "@glimmer/interfaces" "0.73.0" + "@glimmer/runtime" "0.73.0" + "@glimmer/util" "0.73.0" + "@simple-dom/document" "^1.4.0" "@simple-dom/interface" "^1.4.0" -"@glimmer/node@0.62.4": - version "0.62.4" - resolved "https://registry.yarnpkg.com/@glimmer/node/-/node-0.62.4.tgz#043ec291f0f3d1e09985bbe0093b5cca22843009" - integrity sha512-5EWU65GLF3nhlF7pp/f294kNEbpLut7Wm5OtSnXm9Ku7pnm7alUXBrcKKlT6I6tTxsOpargmuBzZTFfAnimJAA== +"@glimmer/opcode-compiler@0.73.0": + version "0.73.0" + resolved "https://registry.yarnpkg.com/@glimmer/opcode-compiler/-/opcode-compiler-0.73.0.tgz#302b3f2d3ca0c8fa6b4dded1230aa63e53007208" + integrity sha512-5RTVLx1CpdTeTNeNw9Nrbc8FKeTACrptacfL5pBD/3hWkj2XqaXIpsuMv6rXm1oGrr79KhFqpSimPM1qcdPGAg== dependencies: - "@glimmer/interfaces" "0.62.4" - "@glimmer/runtime" "0.62.4" - "@glimmer/util" "0.62.4" - "@simple-dom/document" "^1.4.0" - "@simple-dom/interface" "^1.4.0" + "@glimmer/encoder" "0.73.0" + "@glimmer/env" "0.1.7" + "@glimmer/interfaces" "0.73.0" + "@glimmer/reference" "0.73.0" + "@glimmer/util" "0.73.0" + "@glimmer/vm" "0.73.0" + "@glimmer/wire-format" "0.73.0" + +"@glimmer/owner@0.73.0": + version "0.73.0" + resolved "https://registry.yarnpkg.com/@glimmer/owner/-/owner-0.73.0.tgz#a76378812f5def9cc47bcecb09caf0838111fcc7" + integrity sha512-fJ/ZzGNbGZiHwTlohqvPOXLdStmlm57iNuKg3PmqXYOpOfe4Ga/l7qbwDeat/+vBskVT7ZWitawM6lsyRtuVlg== + dependencies: + "@glimmer/util" "0.73.0" + +"@glimmer/program@0.73.0": + version "0.73.0" + resolved "https://registry.yarnpkg.com/@glimmer/program/-/program-0.73.0.tgz#a6a368e0c9d7e5a47375577a93f5773fbace8d8c" + integrity sha512-P631EYGtkOJ+05oNy4taxh1G+D9Hd12uc5STUB9jRutxN/6U4WJy2+V935Vyac2disuKTj7RVQuWI0EE6BAXgQ== + dependencies: + "@glimmer/encoder" "0.73.0" + "@glimmer/env" "0.1.7" + "@glimmer/interfaces" "0.73.0" + "@glimmer/manager" "0.73.0" + "@glimmer/opcode-compiler" "0.73.0" + "@glimmer/util" "0.73.0" -"@glimmer/opcode-compiler@0.62.4": - version "0.62.4" - resolved "https://registry.yarnpkg.com/@glimmer/opcode-compiler/-/opcode-compiler-0.62.4.tgz#39b481d42b1575dab61aebfccff9fa5733144185" - integrity sha512-a/ty5b6yovmf2d4mj6U9NE/EnlKHRlzGIh0fJD0A3VPO0mVoGQTnI2So6kkI/1u/nSbofULn6v8QarNoLK02uA== - dependencies: - "@glimmer/encoder" "0.62.4" - "@glimmer/interfaces" "0.62.4" - "@glimmer/program" "0.62.4" - "@glimmer/reference" "0.62.4" - "@glimmer/util" "0.62.4" - "@glimmer/vm" "0.62.4" - "@glimmer/wire-format" "0.62.4" - -"@glimmer/program@0.62.4": - version "0.62.4" - resolved "https://registry.yarnpkg.com/@glimmer/program/-/program-0.62.4.tgz#0ee7cb5cebc4e0f3b2f3c353ce7543d1f8540b7d" - integrity sha512-S+wb8Up0Dwxuz8Bzkvw41R199Xu5RXYdoNsRWR2lmj7+ohDuiW8QJp51WyNcfr7ONU5+nqLxp19zNWJzKKIWzw== - dependencies: - "@glimmer/encoder" "0.62.4" - "@glimmer/interfaces" "0.62.4" - "@glimmer/util" "0.62.4" - -"@glimmer/reference@0.62.4": - version "0.62.4" - resolved "https://registry.yarnpkg.com/@glimmer/reference/-/reference-0.62.4.tgz#50dbd0d202ca94f73bbcdfe19ce450ca5c6babdc" - integrity sha512-oabqcfZrMB8FoVLZqqD4w0cUcWt1/d8uBGtXKGGNLkrV2smPFJO/rcfFpZq8alMgzqII5F9Q57gRL+qh0AD8og== +"@glimmer/reference@0.73.0": + version "0.73.0" + resolved "https://registry.yarnpkg.com/@glimmer/reference/-/reference-0.73.0.tgz#77d421254c0d58dd0bdcb341bdcb76744d0b28ba" + integrity sha512-m2vWCAD0bYLI03EvvJo4ow8a2cmfpLi7mHT+s9tMER7c7/TNenLmh6/5A7NKzbwCb6onqXQGOT4Sb/vAZqFgQw== dependencies: "@glimmer/env" "^0.1.7" - "@glimmer/global-context" "0.62.4" - "@glimmer/interfaces" "0.62.4" - "@glimmer/util" "0.62.4" - "@glimmer/validator" "0.62.4" + "@glimmer/global-context" "0.73.0" + "@glimmer/interfaces" "0.73.0" + "@glimmer/util" "0.73.0" + "@glimmer/validator" "0.73.0" -"@glimmer/runtime@0.62.4": - version "0.62.4" - resolved "https://registry.yarnpkg.com/@glimmer/runtime/-/runtime-0.62.4.tgz#a519de6c7081b19f5e30e7f2b96168bdfc701607" - integrity sha512-aBoCmOWy00lJYriIpnc8Yvx6sQ6sxObiCjvLwD9nN1IwxqfCtqLTwfQr6E98ez0Rl8wMY6M3iTDr9Mvrxt+kVw== +"@glimmer/runtime@0.73.0": + version "0.73.0" + resolved "https://registry.yarnpkg.com/@glimmer/runtime/-/runtime-0.73.0.tgz#621a354ed7040afd29fedd8acd78ba3eb7cd8b52" + integrity sha512-O7YJSDbw5zRSdAcGBSi1YIWtoFmDqYR1HK7eSyLpobHOyhNLOYajdK0QLFreB9RZSELHACMWUbHpEQa3NPo5RA== dependencies: + "@glimmer/destroyable" "0.73.0" "@glimmer/env" "0.1.7" - "@glimmer/global-context" "0.62.4" - "@glimmer/interfaces" "0.62.4" - "@glimmer/low-level" "0.62.4" - "@glimmer/program" "0.62.4" - "@glimmer/reference" "0.62.4" - "@glimmer/util" "0.62.4" - "@glimmer/validator" "0.62.4" - "@glimmer/vm" "0.62.4" - "@glimmer/wire-format" "0.62.4" + "@glimmer/global-context" "0.73.0" + "@glimmer/interfaces" "0.73.0" + "@glimmer/low-level" "0.73.0" + "@glimmer/owner" "0.73.0" + "@glimmer/program" "0.73.0" + "@glimmer/reference" "0.73.0" + "@glimmer/util" "0.73.0" + "@glimmer/validator" "0.73.0" + "@glimmer/vm" "0.73.0" + "@glimmer/wire-format" "0.73.0" "@simple-dom/interface" "^1.4.0" -"@glimmer/ssr@2.0.0-beta.11": - version "2.0.0-beta.11" - resolved "https://registry.yarnpkg.com/@glimmer/ssr/-/ssr-2.0.0-beta.11.tgz#85998ae29c0177059f759213e4354bbe41046a5c" - integrity sha512-FJIp0u/Io0oQItDVWnT5DnPZA6Gbp3g25LYCodRv4DZE/r4Ha+00cMWKuAbkDSdtYxOd8WigwXK7fOa2yX8h8Q== +"@glimmer/ssr@2.0.0-beta.12": + version "2.0.0-beta.12" + resolved "https://registry.yarnpkg.com/@glimmer/ssr/-/ssr-2.0.0-beta.12.tgz#a1ecde920e3ab238fefc24e97f20fbc4e179096e" + integrity sha512-zerW/jUdlVQTNXXyar4ePZqNeZr4fkVxf5IK8JvodZmwIvBVPNxKdlxiWa2tO1oVDwovDVZUiCbzTzN002svZw== dependencies: - "@glimmer/core" "2.0.0-beta.11" - "@glimmer/node" "0.62.4" - "@glimmer/reference" "0.62.4" - "@glimmer/runtime" "0.62.4" - "@glimmer/util" "0.62.4" + "@glimmer/core" "2.0.0-beta.12" + "@glimmer/node" "0.73.0" + "@glimmer/reference" "0.73.0" + "@glimmer/runtime" "0.73.0" + "@glimmer/util" "0.73.0" "@simple-dom/document" "^1.4.0" "@simple-dom/serializer" "^1.4.0" "@simple-dom/void-map" "^1.4.0" -"@glimmer/syntax@0.62.4": - version "0.62.4" - resolved "https://registry.yarnpkg.com/@glimmer/syntax/-/syntax-0.62.4.tgz#9d5ec15584fed85d807762992a1879fe7fe15ae8" - integrity sha512-c/c+tqv1Ob+IaiVYe3DfHsLQwk/DZ3RA14gVcrE8Bbqrr7RtmjdKPfgNswiQhx7b+1ygcUhvYUfxfI8nCVswIw== +"@glimmer/syntax@0.73.0": + version "0.73.0" + resolved "https://registry.yarnpkg.com/@glimmer/syntax/-/syntax-0.73.0.tgz#f45f820d19fba8e7d87054f4bb87b7ce9edd1aac" + integrity sha512-dgxEUocjkbtlfkDPLFDkJO+RhZigffnOeDkdDAR4lbsEFgm0Pd3zNvnFhYyXSg/UUzioLdknyuixlwihG9OGow== dependencies: - "@glimmer/interfaces" "0.62.4" - "@glimmer/util" "0.62.4" - "@handlebars/parser" "^1.1.0" + "@glimmer/interfaces" "0.73.0" + "@glimmer/util" "0.73.0" + "@handlebars/parser" "^2.0.0" simple-html-tokenizer "^0.5.10" "@glimmer/syntax@^0.50.0": @@ -1520,21 +1555,21 @@ handlebars "^4.5.1" simple-html-tokenizer "^0.5.9" -"@glimmer/tracking@2.0.0-beta.11": - version "2.0.0-beta.11" - resolved "https://registry.yarnpkg.com/@glimmer/tracking/-/tracking-2.0.0-beta.11.tgz#874e89c4cf06754a8c73ba429e00f3ce9a545239" - integrity sha512-jGA6e30FSfToQtc9h3rlHOJkp/TgUQDWfJmazO1qkPqN9OWV+LA1bHrIoi/7EMo/snZqrA9+rgXzwmZ7mn714Q== +"@glimmer/tracking@2.0.0-beta.12": + version "2.0.0-beta.12" + resolved "https://registry.yarnpkg.com/@glimmer/tracking/-/tracking-2.0.0-beta.12.tgz#f3ae74ab2db7e10daba347a455fc22c587454224" + integrity sha512-+pBjv/0pj8gejf/C4MB6ShTh/+TWzIwvo8aBTAgOGOA2yh6llt8kSRt+ttLdNtbTCcVW6C0QEiTNk38IO5CQSw== dependencies: "@glimmer/env" "^0.1.7" - "@glimmer/validator" "0.62.4" + "@glimmer/validator" "0.73.0" -"@glimmer/util@0.62.4": - version "0.62.4" - resolved "https://registry.yarnpkg.com/@glimmer/util/-/util-0.62.4.tgz#2e33dd2a8e3e81f5ffc8325fdc9bebb0e274c421" - integrity sha512-7x04I4mQpxveAoEbpFfXFFkYpuJoATHuGdwPjgcQc0nSjAkGDkzIMlRN3stgZAz32eSVj9n7SOXHVtHEhw3cCg== +"@glimmer/util@0.73.0": + version "0.73.0" + resolved "https://registry.yarnpkg.com/@glimmer/util/-/util-0.73.0.tgz#21c93fd7f822ba641485953c3ad4d7e929ec17c1" + integrity sha512-S8DfVvNAIOUxSawKjSSxa8U6yu2VVcZjaMVy4yoJR0QKpo++V6x1HDBjDOQU0xKgr98lCJqoAnPKZT6t1/eahg== dependencies: "@glimmer/env" "0.1.7" - "@glimmer/interfaces" "0.62.4" + "@glimmer/interfaces" "0.73.0" "@simple-dom/interface" "^1.4.0" "@glimmer/util@^0.44.0": @@ -1551,34 +1586,34 @@ "@glimmer/interfaces" "^0.50.1" "@simple-dom/interface" "^1.4.0" -"@glimmer/validator@0.62.4": - version "0.62.4" - resolved "https://registry.yarnpkg.com/@glimmer/validator/-/validator-0.62.4.tgz#80570d3fbf9c9a9e6a50e5c022a073da24d14d85" - integrity sha512-yZ3cfvbW/S3kAu/EDFCxqMrOp4lWiZ5QxKiDej+GVkuz8yirYVBkf1vZnxogmDyCWLZGvmTr/7QimvQZSHQxVw== +"@glimmer/validator@0.73.0": + version "0.73.0" + resolved "https://registry.yarnpkg.com/@glimmer/validator/-/validator-0.73.0.tgz#d523904f4faff0a3af570d215d679bc7c2148e29" + integrity sha512-fAs3XREHTw/ePYkAM8lKkNeo0//d/TJYWn2iM5SuPPglRJGATg/8p1Nk2iw31BofPvsT3WAnFbr0aWGGZF9paQ== dependencies: "@glimmer/env" "^0.1.7" - "@glimmer/global-context" "0.62.4" + "@glimmer/global-context" "0.73.0" -"@glimmer/vm@0.62.4": - version "0.62.4" - resolved "https://registry.yarnpkg.com/@glimmer/vm/-/vm-0.62.4.tgz#0c96aa24541f5fdfbfd291a02a854d278affaeeb" - integrity sha512-Ug7pipG2gSAXWPHhm6LH1Ow8DEwUOaIy2XGJ5RPZv/ROGOrxGWw4I2Zr46UiJnRdpCs57DkUxUtCn/9saylq4w== +"@glimmer/vm@0.73.0": + version "0.73.0" + resolved "https://registry.yarnpkg.com/@glimmer/vm/-/vm-0.73.0.tgz#286b7fd3049bd922e6e61293ff040e3a4a392210" + integrity sha512-DokPu8ls8akbQcGwPpm1Z4I9m81de4PqkC8hhkMFQ9qj8BAA/4LRoJ5nxaJFJTq4Ub+kKIZ5owzGosSnucGZEg== dependencies: - "@glimmer/interfaces" "0.62.4" - "@glimmer/util" "0.62.4" + "@glimmer/interfaces" "0.73.0" + "@glimmer/util" "0.73.0" -"@glimmer/wire-format@0.62.4": - version "0.62.4" - resolved "https://registry.yarnpkg.com/@glimmer/wire-format/-/wire-format-0.62.4.tgz#ce28c59985486355971bab34625712812a4e2091" - integrity sha512-zUWSVkZCgpbNZGb22ksJevDJqKfVOl3JSWHpwel6wpwXWL6BvGjLQwW7+GIKX3gv6qw1K/gJTwsikrHcuExi2g== +"@glimmer/wire-format@0.73.0": + version "0.73.0" + resolved "https://registry.yarnpkg.com/@glimmer/wire-format/-/wire-format-0.73.0.tgz#2069aa68763dc409a3ea28b3819298376b4de5be" + integrity sha512-I3iLdUXClTDUuusq+/FiYA3g6Crr8KW4VmX6qgOxE4aG8kWqnlmDZNX73RvWJVDS0t7t/Cjrv+YwOf51DA75pg== dependencies: - "@glimmer/interfaces" "0.62.4" - "@glimmer/util" "0.62.4" + "@glimmer/interfaces" "0.73.0" + "@glimmer/util" "0.73.0" -"@handlebars/parser@^1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@handlebars/parser/-/parser-1.1.0.tgz#d6dbc7574774b238114582410e8fee0dc3532bdf" - integrity sha512-rR7tJoSwJ2eooOpYGxGGW95sLq6GXUaS1UtWvN7pei6n2/okYvCGld9vsUTvkl2migxbkszsycwtMf/GEc1k1A== +"@handlebars/parser@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@handlebars/parser/-/parser-2.0.0.tgz#5e8b7298f31ff8f7b260e6b7363c7e9ceed7d9c5" + integrity sha512-EP9uEDZv/L5Qh9IWuMUGJRfwhXJ4h1dqKTT4/3+tY0eu7sPis7xh23j61SYUnNF4vqCQvvUXpDo9Bh/+q1zASA== "@iarna/toml@2.2.3": version "2.2.3"