diff --git a/package.json b/package.json
index cc05ff66278..b361b401eed 100644
--- a/package.json
+++ b/package.json
@@ -51,7 +51,7 @@
"@babel/plugin-transform-block-scoping": "^7.8.3",
"@babel/plugin-transform-object-assign": "^7.8.3",
"@ember/edition-utils": "^1.2.0",
- "@glimmer/vm-babel-plugins": "0.77.5",
+ "@glimmer/vm-babel-plugins": "0.78.0",
"babel-plugin-debug-macros": "^0.3.3",
"babel-plugin-filter-imports": "^4.0.0",
"broccoli-concat": "^4.2.4",
@@ -75,19 +75,19 @@
},
"devDependencies": {
"@babel/preset-env": "^7.9.5",
- "@glimmer/compiler": "0.77.5",
+ "@glimmer/compiler": "0.78.0",
"@glimmer/env": "^0.1.7",
- "@glimmer/global-context": "0.77.5",
- "@glimmer/interfaces": "0.77.5",
- "@glimmer/manager": "0.77.5",
- "@glimmer/destroyable": "0.77.5",
- "@glimmer/owner": "0.77.5",
- "@glimmer/node": "0.77.5",
- "@glimmer/opcode-compiler": "0.77.5",
- "@glimmer/program": "0.77.5",
- "@glimmer/reference": "0.77.5",
- "@glimmer/runtime": "0.77.5",
- "@glimmer/validator": "0.77.5",
+ "@glimmer/global-context": "0.78.0",
+ "@glimmer/interfaces": "0.78.0",
+ "@glimmer/manager": "0.78.0",
+ "@glimmer/destroyable": "0.78.0",
+ "@glimmer/owner": "0.78.0",
+ "@glimmer/node": "0.78.0",
+ "@glimmer/opcode-compiler": "0.78.0",
+ "@glimmer/program": "0.78.0",
+ "@glimmer/reference": "0.78.0",
+ "@glimmer/runtime": "0.78.0",
+ "@glimmer/validator": "0.78.0",
"@simple-dom/document": "^1.4.0",
"@types/qunit": "^2.9.1",
"@types/rsvp": "^4.0.3",
diff --git a/packages/@ember/-internals/glimmer/lib/environment.ts b/packages/@ember/-internals/glimmer/lib/environment.ts
index 5e420176c3a..847642050f0 100644
--- a/packages/@ember/-internals/glimmer/lib/environment.ts
+++ b/packages/@ember/-internals/glimmer/lib/environment.ts
@@ -116,6 +116,14 @@ const VM_DEPRECATION_OVERRIDES: (DeprecationOptions & {
enabled: '3.26.0',
},
},
+ {
+ id: 'argument-less-helper-paren-less-invocation',
+ until: '4.0.0',
+ for: 'ember-source',
+ since: {
+ enabled: '3.27.0',
+ },
+ },
];
const VM_ASSERTION_OVERRIDES: { id: string; message: string }[] = [];
diff --git a/packages/@ember/-internals/glimmer/tests/integration/application/engine-test.js b/packages/@ember/-internals/glimmer/tests/integration/application/engine-test.js
index b0e8c891186..49f3499b046 100644
--- a/packages/@ember/-internals/glimmer/tests/integration/application/engine-test.js
+++ b/packages/@ember/-internals/glimmer/tests/integration/application/engine-test.js
@@ -294,7 +294,7 @@ moduleFor(
`);
expectDeprecation(
- /The `[^`]+` property(?: path)? was used in a template for the `[^`]+` component without using `this`. This fallback behavior has been deprecated, all properties must be looked up on `this` when used in the template: {{[^}]+}}/
+ /The `[^`]+` property(?: path)? was used in the `[^`]+` template without using `this`. This fallback behavior has been deprecated, all properties must be looked up on `this` when used in the template: {{[^}]+}}/
);
this.add('template:application', sharedTemplate);
@@ -345,7 +345,7 @@ moduleFor(
this.assert.expect(2);
expectDeprecation(
- /The `[^`]+` property(?: path)? was used in a template for the `[^`]+` component without using `this`. This fallback behavior has been deprecated, all properties must be looked up on `this` when used in the template: {{[^}]+}}/
+ /The `[^`]+` property(?: path)? was used in the `[^`]+` template without using `this`. This fallback behavior has been deprecated, all properties must be looked up on `this` when used in the template: {{[^}]+}}/
);
let sharedLayout = compile(strip`
diff --git a/packages/@ember/-internals/glimmer/tests/integration/application/rendering-test.js b/packages/@ember/-internals/glimmer/tests/integration/application/rendering-test.js
index 2198da8943c..ec4ff535dbb 100644
--- a/packages/@ember/-internals/glimmer/tests/integration/application/rendering-test.js
+++ b/packages/@ember/-internals/glimmer/tests/integration/application/rendering-test.js
@@ -107,7 +107,7 @@ moduleFor(
['@test it can access the model provided by the route via implicit this fallback']() {
expectDeprecation(
- /The `[^`]+` property(?: path)? was used in a template for the `[^`]+` component without using `this`. This fallback behavior has been deprecated, all properties must be looked up on `this` when used in the template: {{[^}]+}}/
+ /The `[^`]+` property(?: path)? was used in the `[^`]+` template without using `this`. This fallback behavior has been deprecated, all properties must be looked up on `this` when used in the template: {{[^}]+}}/
);
this.add(
@@ -143,7 +143,7 @@ moduleFor(
async ['@test interior mutations on the model with set'](assert) {
expectDeprecation(
- /The `[^`]+` property(?: path)? was used in a template for the `[^`]+` component without using `this`. This fallback behavior has been deprecated, all properties must be looked up on `this` when used in the template: {{[^}]+}}/
+ /The `[^`]+` property(?: path)? was used in the `[^`]+` template without using `this`. This fallback behavior has been deprecated, all properties must be looked up on `this` when used in the template: {{[^}]+}}/
);
this.router.map(function () {
@@ -204,7 +204,7 @@ moduleFor(
async ['@test interior mutations on the model with tracked properties'](assert) {
expectDeprecation(
- /The `[^`]+` property(?: path)? was used in a template for the `[^`]+` component without using `this`. This fallback behavior has been deprecated, all properties must be looked up on `this` when used in the template: {{[^}]+}}/
+ /The `[^`]+` property(?: path)? was used in the `[^`]+` template without using `this`. This fallback behavior has been deprecated, all properties must be looked up on `this` when used in the template: {{[^}]+}}/
);
class Model {
@@ -272,7 +272,7 @@ moduleFor(
async ['@test exterior mutations on the model with set'](assert) {
expectDeprecation(
- /The `[^`]+` property(?: path)? was used in a template for the `[^`]+` component without using `this`. This fallback behavior has been deprecated, all properties must be looked up on `this` when used in the template: {{[^}]+}}/
+ /The `[^`]+` property(?: path)? was used in the `[^`]+` template without using `this`. This fallback behavior has been deprecated, all properties must be looked up on `this` when used in the template: {{[^}]+}}/
);
this.router.map(function () {
@@ -333,7 +333,7 @@ moduleFor(
async ['@test exterior mutations on the model with tracked properties'](assert) {
expectDeprecation(
- /The `[^`]+` property(?: path)? was used in a template for the `[^`]+` component without using `this`. This fallback behavior has been deprecated, all properties must be looked up on `this` when used in the template: {{[^}]+}}/
+ /The `[^`]+` property(?: path)? was used in the `[^`]+` template without using `this`. This fallback behavior has been deprecated, all properties must be looked up on `this` when used in the template: {{[^}]+}}/
);
this.router.map(function () {
diff --git a/packages/@ember/-internals/glimmer/tests/integration/components/curly-components-test.js b/packages/@ember/-internals/glimmer/tests/integration/components/curly-components-test.js
index 032cfa50f03..712f68f7d4e 100644
--- a/packages/@ember/-internals/glimmer/tests/integration/components/curly-components-test.js
+++ b/packages/@ember/-internals/glimmer/tests/integration/components/curly-components-test.js
@@ -3883,7 +3883,7 @@ moduleFor(
['@test can use `{{component.foo}}` in a template GH#19313']() {
expectDeprecation(
- /The `[^`]+` property(?: path)? was used in a template for the `[^`]+` component without using `this`. This fallback behavior has been deprecated, all properties must be looked up on `this` when used in the template: {{[^}]+}}/
+ /The `[^`]+` property(?: path)? was used in the `[^`]+` template without using `this`. This fallback behavior has been deprecated, all properties must be looked up on `this` when used in the template: {{[^}]+}}/
);
this.registerComponent('foo-bar', {
diff --git a/packages/@ember/-internals/glimmer/tests/integration/components/link-to/query-params-angle-test.js b/packages/@ember/-internals/glimmer/tests/integration/components/link-to/query-params-angle-test.js
index ab8467d9007..47ad96e478f 100644
--- a/packages/@ember/-internals/glimmer/tests/integration/components/link-to/query-params-angle-test.js
+++ b/packages/@ember/-internals/glimmer/tests/integration/components/link-to/query-params-angle-test.js
@@ -144,7 +144,7 @@ moduleFor(
) {
this.addTemplate(
'index',
- `Index`
+ `Index`
);
await this.visit('/');
@@ -163,7 +163,7 @@ moduleFor(
async [`@test it doesn't update controller QP properties on current route when invoked (empty query-params obj, inferred route)`](
assert
) {
- this.addTemplate('index', `Index`);
+ this.addTemplate('index', `Index`);
await this.visit('/');
diff --git a/packages/@ember/-internals/glimmer/tests/integration/components/link-to/routing-angle-test.js b/packages/@ember/-internals/glimmer/tests/integration/components/link-to/routing-angle-test.js
index 65eec9a144e..60ac6577dac 100644
--- a/packages/@ember/-internals/glimmer/tests/integration/components/link-to/routing-angle-test.js
+++ b/packages/@ember/-internals/glimmer/tests/integration/components/link-to/routing-angle-test.js
@@ -2085,7 +2085,7 @@ moduleFor(
this.addTemplate(
'index',
- `Index`
+ `Index`
);
await this.visit('/');
diff --git a/packages/@ember/-internals/glimmer/tests/integration/components/template-only-components-test.js b/packages/@ember/-internals/glimmer/tests/integration/components/template-only-components-test.js
index 494072aa523..22896382648 100644
--- a/packages/@ember/-internals/glimmer/tests/integration/components/template-only-components-test.js
+++ b/packages/@ember/-internals/glimmer/tests/integration/components/template-only-components-test.js
@@ -198,7 +198,7 @@ if (ENV._TEMPLATE_ONLY_GLIMMER_COMPONENTS) {
['@test it renders named arguments as reflected properties']() {
expectDeprecation(
- /The `[^`]+` property(?: path)? was used in a template for the `[^`]+` component without using `this`. This fallback behavior has been deprecated, all properties must be looked up on `this` when used in the template: {{[^}]+}}/
+ /The `[^`]+` property(?: path)? was used in the `[^`]+` template without using `this`. This fallback behavior has been deprecated, all properties must be looked up on `this` when used in the template: {{[^}]+}}/
);
this.registerTemplateOnlyComponent('foo-bar', '|{{foo}}|{{this.bar}}|');
diff --git a/packages/@ember/-internals/glimmer/tests/integration/custom-modifier-manager-test.js b/packages/@ember/-internals/glimmer/tests/integration/custom-modifier-manager-test.js
index 508dfc567ed..51f639d9e18 100644
--- a/packages/@ember/-internals/glimmer/tests/integration/custom-modifier-manager-test.js
+++ b/packages/@ember/-internals/glimmer/tests/integration/custom-modifier-manager-test.js
@@ -1,5 +1,11 @@
import { DEBUG } from '@glimmer/env';
-import { moduleFor, RenderingTestCase, runTask, defineSimpleModifier } from 'internal-test-helpers';
+import {
+ moduleFor,
+ RenderingTestCase,
+ runTask,
+ defineSimpleHelper,
+ defineSimpleModifier,
+} from 'internal-test-helpers';
import { Component } from '@ember/-internals/glimmer';
import { setModifierManager, modifierCapabilities } from '@glimmer/manager';
@@ -644,6 +650,20 @@ moduleFor(
});
}, /Cannot use the \(modifier\) keyword yet, as it has not been implemented/);
}
+
+ '@feature(EMBER_DYNAMIC_HELPERS_AND_MODIFIERS) Can use a dynamic modifier with a nested dynamic helper'() {
+ let foo = defineSimpleHelper(() => 'Hello, world!');
+ let bar = defineSimpleModifier((element, [value]) => (element.innerHTML = value));
+
+ this.registerComponent('baz', {
+ template: '
',
+ ComponentClass: Component.extend({ tagName: '', foo, bar }),
+ });
+
+ this.render('');
+ this.assertHTML('Hello, world!
');
+ this.assertStableRerender();
+ }
}
);
diff --git a/packages/@ember/-internals/glimmer/tests/integration/helpers/custom-helper-test.js b/packages/@ember/-internals/glimmer/tests/integration/helpers/custom-helper-test.js
index ba4bb014444..41a994003a2 100644
--- a/packages/@ember/-internals/glimmer/tests/integration/helpers/custom-helper-test.js
+++ b/packages/@ember/-internals/glimmer/tests/integration/helpers/custom-helper-test.js
@@ -36,7 +36,7 @@ moduleFor(
['@test it does not resolve helpers with a `.` (period)']() {
expectDeprecation(
- /The `[^`]+` property(?: path)? was used in a template for the `[^`]+` component without using `this`. This fallback behavior has been deprecated, all properties must be looked up on `this` when used in the template: {{[^}]+}}/
+ /The `[^`]+` property(?: path)? was used in the `[^`]+` template without using `this`. This fallback behavior has been deprecated, all properties must be looked up on `this` when used in the template: {{[^}]+}}/
);
this.registerHelper('hello.world', () => 'hello world');
@@ -826,6 +826,20 @@ moduleFor(
}, /Cannot use the \(helper\) keyword yet, as it has not been implemented/);
}
+ '@feature(EMBER_DYNAMIC_HELPERS_AND_MODIFIERS) Can use a dynamic helper with nested helpers'() {
+ let foo = defineSimpleHelper(() => 'world!');
+ let bar = defineSimpleHelper((value) => 'Hello, ' + value);
+
+ this.registerComponent('baz', {
+ template: '{{this.bar (this.foo)}}',
+ ComponentClass: Component.extend({ foo, bar }),
+ });
+
+ this.render('');
+ this.assertText('Hello, world!');
+ this.assertStableRerender();
+ }
+
['@test helpers are not computed eagerly when used with if expressions'](assert) {
this.registerHelper('is-ok', () => 'hello');
this.registerHelper('throws-error', () => assert.ok(false, 'helper was computed eagerly'));
@@ -909,4 +923,95 @@ if (DEBUG) {
}
}
);
+
+ moduleFor(
+ 'Helpers test: argument-less helper invocation in named arguments position',
+ class extends RenderingTestCase {
+ constructor() {
+ super(...arguments);
+
+ this.registerComponent('bar', {
+ template: '[{{is-string @content}}][{{@content}}]',
+ });
+
+ this.registerHelper('is-string', ([value]) => typeof value === 'string');
+ }
+
+ ['@test invoking an argument-less helper without parens in named argument position is deprecated']() {
+ this.registerHelper('foo', () => 'Hello, world!');
+
+ expectDeprecation(
+ () => this.render('', { foo: 'Not it!' }),
+ new RegExp(
+ /The `foo` helper was used in the `-top-level` template as /.source +
+ /`@content={{foo}}`\. This is ambigious between wanting the `@content` /.source +
+ /argument to be the `foo` helper itself, or the result of invoking the /.source +
+ /`foo` helper \(current behavior\)\. This implicit invocation behavior /.source +
+ /has been deprecated\./.source
+ )
+ );
+
+ this.assertText('[true][Hello, world!]');
+ this.assertStableRerender();
+ }
+
+ ['@test invoking an argument-less helper with parens in named argument position is not deprecated']() {
+ this.registerHelper('foo', () => 'Hello, world!');
+
+ expectNoDeprecation(() => this.render('', { foo: 'Not it!' }));
+
+ this.assertText('[true][Hello, world!]');
+ this.assertStableRerender();
+ }
+
+ ['@test invoking an argument-less helper with quotes in named argument position is not deprecated']() {
+ this.registerHelper('foo', () => 'Hello, world!');
+
+ expectNoDeprecation(() => this.render('', { foo: 'Not it!' }));
+
+ this.assertText('[true][Hello, world!]');
+ this.assertStableRerender();
+ }
+
+ ['@test passing a local helper in named argument position is not deprecated']() {
+ let foo = defineSimpleHelper(() => 'Hello, world!');
+
+ expectNoDeprecation(() =>
+ this.render(`{{#let this.foo as |foo|}}{{/let}}`, { foo })
+ );
+
+ this.assertText('[false][Hello, world!]');
+ this.assertStableRerender();
+ }
+
+ // TODO: this one really should work, and there is a passing test in glimmer-vm,
+ // but somehow it doesn't work here. This is almost certainly a VM bug as something
+ // is trying to call `block.compile()` but `block` is the reference for `this.foo`.
+ // So the execution stack is probably off-by-one or something.
+
+ ['@skip invoking a local helper with parens in named argument position is not deprecated']() {
+ let foo = defineSimpleHelper(() => 'Hello, world!');
+
+ expectNoDeprecation(() =>
+ this.render(`{{#let this.foo as |foo|}}{{/let}}`, { foo })
+ );
+
+ this.assertText('[true][Hello, world!]');
+ this.assertStableRerender();
+ }
+
+ // TODO: this one doesn't work yet, and there is a failing test in glimmer-vm
+
+ ['@skip invoking a helper with quotes in named argument position is not deprecated']() {
+ let foo = defineSimpleHelper(() => 'Hello, world!');
+
+ expectNoDeprecation(() =>
+ this.render(`{{#let this.foo as |foo|}}{{/let}}`, { foo })
+ );
+
+ this.assertText('[true][Hello, world!]');
+ this.assertStableRerender();
+ }
+ }
+ );
}
diff --git a/packages/@ember/-internals/glimmer/tests/integration/syntax/each-test.js b/packages/@ember/-internals/glimmer/tests/integration/syntax/each-test.js
index 33bac1c5f01..07a9ebb3f79 100644
--- a/packages/@ember/-internals/glimmer/tests/integration/syntax/each-test.js
+++ b/packages/@ember/-internals/glimmer/tests/integration/syntax/each-test.js
@@ -732,7 +732,7 @@ class EachTest extends AbstractEachTest {
['@test the scoped variable is not available outside the {{#each}} block.']() {
expectDeprecation(
- /The `[^`]+` property(?: path)? was used in a template for the `[^`]+` component without using `this`. This fallback behavior has been deprecated, all properties must be looked up on `this` when used in the template: {{[^}]+}}/
+ /The `[^`]+` property(?: path)? was used in the `[^`]+` template without using `this`. This fallback behavior has been deprecated, all properties must be looked up on `this` when used in the template: {{[^}]+}}/
);
this.makeList(['Yehuda']);
@@ -953,7 +953,7 @@ class EachTest extends AbstractEachTest {
['@test the scoped variable is not available outside the {{#each}} block']() {
expectDeprecation(
- /The `[^`]+` property(?: path)? was used in a template for the `[^`]+` component without using `this`. This fallback behavior has been deprecated, all properties must be looked up on `this` when used in the template: {{[^}]+}}/
+ /The `[^`]+` property(?: path)? was used in the `[^`]+` template without using `this`. This fallback behavior has been deprecated, all properties must be looked up on `this` when used in the template: {{[^}]+}}/
);
let first = this.createList(['Limbo']);
diff --git a/packages/@ember/-internals/glimmer/tests/integration/syntax/let-test.js b/packages/@ember/-internals/glimmer/tests/integration/syntax/let-test.js
index 1bb3d50eed6..a08c411f2a9 100644
--- a/packages/@ember/-internals/glimmer/tests/integration/syntax/let-test.js
+++ b/packages/@ember/-internals/glimmer/tests/integration/syntax/let-test.js
@@ -97,7 +97,7 @@ moduleFor(
['@test the scoped variable is not available outside the {{#let}} block.']() {
expectDeprecation(
- /The `[^`]+` property(?: path)? was used in a template for the `[^`]+` component without using `this`. This fallback behavior has been deprecated, all properties must be looked up on `this` when used in the template: {{[^}]+}}/
+ /The `[^`]+` property(?: path)? was used in the `[^`]+` template without using `this`. This fallback behavior has been deprecated, all properties must be looked up on `this` when used in the template: {{[^}]+}}/
);
this.render(`{{name}}-{{#let this.other as |name|}}{{name}}{{/let}}-{{name}}`, {
@@ -247,7 +247,7 @@ moduleFor(
['@test the scoped variable is not available outside the {{#let}} block']() {
expectDeprecation(
- /The `[^`]+` property(?: path)? was used in a template for the `[^`]+` component without using `this`. This fallback behavior has been deprecated, all properties must be looked up on `this` when used in the template: {{[^}]+}}/
+ /The `[^`]+` property(?: path)? was used in the `[^`]+` template without using `this`. This fallback behavior has been deprecated, all properties must be looked up on `this` when used in the template: {{[^}]+}}/
);
this.render(
@@ -332,7 +332,7 @@ moduleFor(
['@test nested {{#let}} blocks should have access to root context']() {
expectDeprecation(
- /The `[^`]+` property(?: path)? was used in a template for the `[^`]+` component without using `this`. This fallback behavior has been deprecated, all properties must be looked up on `this` when used in the template: {{[^}]+}}/
+ /The `[^`]+` property(?: path)? was used in the `[^`]+` template without using `this`. This fallback behavior has been deprecated, all properties must be looked up on `this` when used in the template: {{[^}]+}}/
);
this.render(
diff --git a/packages/@ember/-internals/glimmer/tests/integration/syntax/with-test.js b/packages/@ember/-internals/glimmer/tests/integration/syntax/with-test.js
index a99458c9c43..b3e44698d1d 100644
--- a/packages/@ember/-internals/glimmer/tests/integration/syntax/with-test.js
+++ b/packages/@ember/-internals/glimmer/tests/integration/syntax/with-test.js
@@ -106,7 +106,7 @@ moduleFor(
['@test the scoped variable is not available outside the {{#with}} block.']() {
expectDeprecation(
- /The `[^`]+` property(?: path)? was used in a template for the `[^`]+` component without using `this`. This fallback behavior has been deprecated, all properties must be looked up on `this` when used in the template: {{[^}]+}}/
+ /The `[^`]+` property(?: path)? was used in the `[^`]+` template without using `this`. This fallback behavior has been deprecated, all properties must be looked up on `this` when used in the template: {{[^}]+}}/
);
this.render(`{{name}}-{{#with this.other as |name|}}{{name}}{{/with}}-{{name}}`, {
@@ -295,7 +295,7 @@ moduleFor(
['@test the scoped variable is not available outside the {{#with}} block']() {
expectDeprecation(
- /The `[^`]+` property(?: path)? was used in a template for the `[^`]+` component without using `this`. This fallback behavior has been deprecated, all properties must be looked up on `this` when used in the template: {{[^}]+}}/
+ /The `[^`]+` property(?: path)? was used in the `[^`]+` template without using `this`. This fallback behavior has been deprecated, all properties must be looked up on `this` when used in the template: {{[^}]+}}/
);
this.render(
@@ -380,7 +380,7 @@ moduleFor(
['@test nested {{#with}} blocks should have access to root context']() {
expectDeprecation(
- /The `[^`]+` property(?: path)? was used in a template for the `[^`]+` component without using `this`. This fallback behavior has been deprecated, all properties must be looked up on `this` when used in the template: {{[^}]+}}/
+ /The `[^`]+` property(?: path)? was used in the `[^`]+` template without using `this`. This fallback behavior has been deprecated, all properties must be looked up on `this` when used in the template: {{[^}]+}}/
);
this.render(
diff --git a/yarn.lock b/yarn.lock
index b387ddcfff1..806b1b50730 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -1588,194 +1588,194 @@
minimatch "^3.0.4"
strip-json-comments "^3.1.1"
-"@glimmer/compiler@0.77.5":
- version "0.77.5"
- resolved "https://registry.yarnpkg.com/@glimmer/compiler/-/compiler-0.77.5.tgz#f12cf9cff8b8a8c94e8edffa6f967caf3ff92776"
- integrity sha512-WXNfEtqmoAur2+aU0qZnE1cK6GVucwUlCHJd6756FrFxTcayl/Zj6+Ti5yfTSnqXnYo2rRWn0FCc/WZ0wGlTGw==
- dependencies:
- "@glimmer/interfaces" "0.77.5"
- "@glimmer/syntax" "0.77.5"
- "@glimmer/util" "0.77.5"
- "@glimmer/wire-format" "0.77.5"
+"@glimmer/compiler@0.78.0":
+ version "0.78.0"
+ resolved "https://registry.yarnpkg.com/@glimmer/compiler/-/compiler-0.78.0.tgz#711b2940e5280ac09f59b0b7b42dcce25a5ce11c"
+ integrity sha512-e6LSESRKZZlViCZTYi21kyfWf0BPiEFWij5Yvpyq9iNFnhJIbSa2+LfhyHZKaWU7lXILOcrdqWoFqqRREwkQyg==
+ dependencies:
+ "@glimmer/interfaces" "0.78.0"
+ "@glimmer/syntax" "0.78.0"
+ "@glimmer/util" "0.78.0"
+ "@glimmer/wire-format" "0.78.0"
"@simple-dom/interface" "^1.4.0"
-"@glimmer/destroyable@0.77.5":
- version "0.77.5"
- resolved "https://registry.yarnpkg.com/@glimmer/destroyable/-/destroyable-0.77.5.tgz#c55089f2007a42a59058784d75b30784ed138bc7"
- integrity sha512-s8cVbb+WlE6tTpwRhzOhlwO9PSokjC3s7wzkD6gHCQIPQivc8BHqZ2czUWfQFhHZdYVk4dg04pFMq+y8m3qC0Q==
+"@glimmer/destroyable@0.78.0":
+ version "0.78.0"
+ resolved "https://registry.yarnpkg.com/@glimmer/destroyable/-/destroyable-0.78.0.tgz#5a67da4c6269c03870de917e98d7c125aa721575"
+ integrity sha512-RwwSQ1UthO+pSIPPOwM7gD2IMIiYClzzLdOTpPilW8BPy27663HV+oHaFfTRMQrsQ9bA+uNOZnUNF86bDFQmWQ==
dependencies:
"@glimmer/env" "0.1.7"
- "@glimmer/global-context" "0.77.5"
- "@glimmer/interfaces" "0.77.5"
- "@glimmer/util" "0.77.5"
+ "@glimmer/global-context" "0.78.0"
+ "@glimmer/interfaces" "0.78.0"
+ "@glimmer/util" "0.78.0"
-"@glimmer/encoder@0.77.5":
- version "0.77.5"
- resolved "https://registry.yarnpkg.com/@glimmer/encoder/-/encoder-0.77.5.tgz#40dd91417998c7f1c6b1fa947fa881a598250bc3"
- integrity sha512-BJpuFi78T9U8g5ix5R99kYhB4m5hQRfB0femrvGhECyhtOZJ+Y797uuOaSqmGTYTY8VIhvxEao6YRaKly0K3mw==
+"@glimmer/encoder@0.78.0":
+ version "0.78.0"
+ resolved "https://registry.yarnpkg.com/@glimmer/encoder/-/encoder-0.78.0.tgz#cbe024b3ae2709c717db2c10be4b71a7dfadcdd9"
+ integrity sha512-TbB4hfsQwMEyvme90y4x0EDqrtwRAaMhOTi536D/zMJSj8i9l71fVD8G+omtvAexmg1gUvOOBh+cWeeTWF+caA==
dependencies:
"@glimmer/env" "0.1.7"
- "@glimmer/interfaces" "0.77.5"
- "@glimmer/vm" "0.77.5"
+ "@glimmer/interfaces" "0.78.0"
+ "@glimmer/vm" "0.78.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.77.5":
- version "0.77.5"
- resolved "https://registry.yarnpkg.com/@glimmer/global-context/-/global-context-0.77.5.tgz#ff72f216cd39f7e7923d54f3bb0862910070a9cc"
- integrity sha512-kWHYjOyhYeyBEEuu3gMJsLO9WxFlXFFeWmtk2raWkJ37TndZNUFMQt6C0yOyT/AkXUJH5+1W7XSia1P3TB6CKw==
+"@glimmer/global-context@0.78.0":
+ version "0.78.0"
+ resolved "https://registry.yarnpkg.com/@glimmer/global-context/-/global-context-0.78.0.tgz#c25eee9a0833eb38fd1590f86b42c6b98b8a6b67"
+ integrity sha512-u+gfALFpGWH5lzyCgpLlvgBtkcNiTevKdWPCWaj4KKKv0/x/WYfgsH0PouEtCdGS5dRUUArgPTJle4msK+pJYg==
dependencies:
"@glimmer/env" "^0.1.7"
-"@glimmer/interfaces@0.77.5":
- version "0.77.5"
- resolved "https://registry.yarnpkg.com/@glimmer/interfaces/-/interfaces-0.77.5.tgz#74c791ba4712588f2e7b65669d90e8d349eee30a"
- integrity sha512-ahiZX2EG2w1DrXmIxjzmkRrAeRJS+y35YTXhP82/NSyLiS2g7NTgYbqXpsS+VfvYRZ2+EbeXzY7cTe8mN4OUxg==
+"@glimmer/interfaces@0.78.0":
+ version "0.78.0"
+ resolved "https://registry.yarnpkg.com/@glimmer/interfaces/-/interfaces-0.78.0.tgz#85274e1195775ba0e783e5c33f0d91164d3d8767"
+ integrity sha512-S+OfQR9gkRAzRfcuHANA5sKaID3MCm1VnGEQjyPfXi64SkyJ++j6AWZBJ7UR+36jUB9JNgHGySSCaAuB0llwCA==
dependencies:
"@simple-dom/interface" "^1.4.0"
-"@glimmer/low-level@0.77.5":
- version "0.77.5"
- resolved "https://registry.yarnpkg.com/@glimmer/low-level/-/low-level-0.77.5.tgz#f198acd9c6b5f39da07756db32f11cf0f8714f7e"
- integrity sha512-A+bNz17vBcTe0qn38q0sdDldCj4gKdFllw8lRHms2Xn50xc+e0uQ00sFFVBT51XDrKiX6u+U72sVnBrUYCbGXg==
+"@glimmer/low-level@0.78.0":
+ version "0.78.0"
+ resolved "https://registry.yarnpkg.com/@glimmer/low-level/-/low-level-0.78.0.tgz#bc8f09ba3645267a9d33a1cfb09361cd1eddc564"
+ integrity sha512-hxjls0NnOph/bKKyxVS8pSu/Wi17y92FBDOFXtuJPy6PA5FXMOuQmD1dMHPoWTLeDI9Artq7dV/mJYDQU4DJBA==
-"@glimmer/manager@0.77.5":
- version "0.77.5"
- resolved "https://registry.yarnpkg.com/@glimmer/manager/-/manager-0.77.5.tgz#dfbd94a2f47640f8d6fcdf67bb8cc8e995c835f8"
- integrity sha512-neURL3qGaDuiq/8YYE4F2reGnS42vMjgYcJjP00eY/pBHfOY6icPR1oPwGmTt8Qr6topGc3FmUaUWDXPt0Lnkg==
+"@glimmer/manager@0.78.0":
+ version "0.78.0"
+ resolved "https://registry.yarnpkg.com/@glimmer/manager/-/manager-0.78.0.tgz#39ef004270140da4f7e6573a8b5868fc0d4085a0"
+ integrity sha512-rnLAIEw6ke+cbP9gDGUmgBdwQf2p82r/lNCmICeijaGhXeMUtTn6T7CSKM5kkTlcByBMPqTYPmtkVhA/V8Qazg==
dependencies:
- "@glimmer/destroyable" "0.77.5"
+ "@glimmer/destroyable" "0.78.0"
"@glimmer/env" "0.1.7"
- "@glimmer/interfaces" "0.77.5"
- "@glimmer/reference" "0.77.5"
- "@glimmer/util" "0.77.5"
- "@glimmer/validator" "0.77.5"
-
-"@glimmer/node@0.77.5":
- version "0.77.5"
- resolved "https://registry.yarnpkg.com/@glimmer/node/-/node-0.77.5.tgz#6bb693744d612a770d106b69d2803c2423c15868"
- integrity sha512-BBM32C5GldOFxUbV2XljwoNmOGP9YobJF9WEW1zVkbggDZcGH090VwbTErrXVv8aw987fGXqei0UCFGleOXu1A==
- dependencies:
- "@glimmer/interfaces" "0.77.5"
- "@glimmer/runtime" "0.77.5"
- "@glimmer/util" "0.77.5"
+ "@glimmer/interfaces" "0.78.0"
+ "@glimmer/reference" "0.78.0"
+ "@glimmer/util" "0.78.0"
+ "@glimmer/validator" "0.78.0"
+
+"@glimmer/node@0.78.0":
+ version "0.78.0"
+ resolved "https://registry.yarnpkg.com/@glimmer/node/-/node-0.78.0.tgz#a0c86fc70bc6b2a5d73eb708796853568c7c242b"
+ integrity sha512-tpL72q5kfJu6+m8SqEUdmKAeW+sQWoIyn20sq0ZYWT2pEu5VAfUBuvK8wgc5vDzu6/2WtdATXCQZPMSyMcP4fg==
+ dependencies:
+ "@glimmer/interfaces" "0.78.0"
+ "@glimmer/runtime" "0.78.0"
+ "@glimmer/util" "0.78.0"
"@simple-dom/document" "^1.4.0"
"@simple-dom/interface" "^1.4.0"
-"@glimmer/opcode-compiler@0.77.5":
- version "0.77.5"
- resolved "https://registry.yarnpkg.com/@glimmer/opcode-compiler/-/opcode-compiler-0.77.5.tgz#088f946587c905fcb37a6516df5cb858fc177d7c"
- integrity sha512-qJYdDeJFch2BGpYWmZ0klExsBvu6bZYoNyRtzUmuA0+xzT2I1HdwrTpekkAHVDfB0rfHArHmcimTxgFF15o4Mg==
+"@glimmer/opcode-compiler@0.78.0":
+ version "0.78.0"
+ resolved "https://registry.yarnpkg.com/@glimmer/opcode-compiler/-/opcode-compiler-0.78.0.tgz#9f152ace46f3e4e6059af3dfe1fb27c0cbc4fad5"
+ integrity sha512-mk3mO0lbyuI0XgrkpRMM5wYwdIQAJNQufRcEN7lAPdgv03xq5OX8ReLd9xfcG+PduAx4u1lLTH6bGcEWPO4Xzg==
dependencies:
- "@glimmer/encoder" "0.77.5"
+ "@glimmer/encoder" "0.78.0"
"@glimmer/env" "0.1.7"
- "@glimmer/interfaces" "0.77.5"
- "@glimmer/reference" "0.77.5"
- "@glimmer/util" "0.77.5"
- "@glimmer/vm" "0.77.5"
- "@glimmer/wire-format" "0.77.5"
+ "@glimmer/interfaces" "0.78.0"
+ "@glimmer/reference" "0.78.0"
+ "@glimmer/util" "0.78.0"
+ "@glimmer/vm" "0.78.0"
+ "@glimmer/wire-format" "0.78.0"
-"@glimmer/owner@0.77.5":
- version "0.77.5"
- resolved "https://registry.yarnpkg.com/@glimmer/owner/-/owner-0.77.5.tgz#d81933f3d6c4c0feafcf3d972cc7edca00532a5b"
- integrity sha512-0jPDb63qBNN20QkVprIuennHP1Vf3fWCQNtuVOYsDOjyV2RIlrOwTVLuFIpua86nSBRQq7gH411ZyEpoq6H3Cg==
+"@glimmer/owner@0.78.0":
+ version "0.78.0"
+ resolved "https://registry.yarnpkg.com/@glimmer/owner/-/owner-0.78.0.tgz#323ee4815f2695cd661aab98e760fff77f6fc279"
+ integrity sha512-qEsFrdNLuTDXnA6Uzt7W1qZqyAI6w9vWqLcwcmv8Q0jgYsICY7UfA0e50QhX8AhDHwz6dwKlo5f4kFOFYrLDbA==
dependencies:
- "@glimmer/util" "0.77.5"
+ "@glimmer/util" "0.78.0"
-"@glimmer/program@0.77.5":
- version "0.77.5"
- resolved "https://registry.yarnpkg.com/@glimmer/program/-/program-0.77.5.tgz#53ce8da78377b255a22eb1d86eb5e6a837393305"
- integrity sha512-19rWpeqqK7UF6CT9G+A7TOnWeoIlT8wCF4gKQNRbp2sbUugJ0PyTn7VzZTLAc110F0ohFlv17yKIrDBoPytHDw==
+"@glimmer/program@0.78.0":
+ version "0.78.0"
+ resolved "https://registry.yarnpkg.com/@glimmer/program/-/program-0.78.0.tgz#fcf54f2321186e1419b9a091378b6efed82ab0e9"
+ integrity sha512-KVUZWnIjYKrJjGpAFACXUtjWCzj8YaTzrffNfLdmTIKLF2ZMkVyyz+OHkXmkTaLN+lEyHcIXXruB6PMGSYZuzQ==
dependencies:
- "@glimmer/encoder" "0.77.5"
+ "@glimmer/encoder" "0.78.0"
"@glimmer/env" "0.1.7"
- "@glimmer/interfaces" "0.77.5"
- "@glimmer/manager" "0.77.5"
- "@glimmer/opcode-compiler" "0.77.5"
- "@glimmer/util" "0.77.5"
+ "@glimmer/interfaces" "0.78.0"
+ "@glimmer/manager" "0.78.0"
+ "@glimmer/opcode-compiler" "0.78.0"
+ "@glimmer/util" "0.78.0"
-"@glimmer/reference@0.77.5":
- version "0.77.5"
- resolved "https://registry.yarnpkg.com/@glimmer/reference/-/reference-0.77.5.tgz#54eac6b00bd06cb84ff8c9f854d9a7811f2c298f"
- integrity sha512-L432i/VD4Kud8qsvPs3bY12hjkKOjfqH1tyGnjfdNAip/k6Z7GIuFDi+T/lJOLWLFONh4414KDopTysBXx9USw==
+"@glimmer/reference@0.78.0":
+ version "0.78.0"
+ resolved "https://registry.yarnpkg.com/@glimmer/reference/-/reference-0.78.0.tgz#e8f5104a22af5dd6eefcd850078f6ce83bd223fb"
+ integrity sha512-IBPFda7x5UfVl8UmQSG82s91+jFC31u3re5CVJrrizind79mKbA2eVGoViawkk4MtwqCEQY4Qv9JSNCiPRpIkQ==
dependencies:
"@glimmer/env" "^0.1.7"
- "@glimmer/global-context" "0.77.5"
- "@glimmer/interfaces" "0.77.5"
- "@glimmer/util" "0.77.5"
- "@glimmer/validator" "0.77.5"
+ "@glimmer/global-context" "0.78.0"
+ "@glimmer/interfaces" "0.78.0"
+ "@glimmer/util" "0.78.0"
+ "@glimmer/validator" "0.78.0"
-"@glimmer/runtime@0.77.5":
- version "0.77.5"
- resolved "https://registry.yarnpkg.com/@glimmer/runtime/-/runtime-0.77.5.tgz#6b936da4e2f37cd3994626efa672b15c715ae0f8"
- integrity sha512-rLzXY2IFw7yzsvOwy/3eLxoza9Y9vx52bivlZJ9+8AWCtn4ywNGOKwvv4i8Mf1EMXtvo3nZHC9yIwfpUJg8NLg==
+"@glimmer/runtime@0.78.0":
+ version "0.78.0"
+ resolved "https://registry.yarnpkg.com/@glimmer/runtime/-/runtime-0.78.0.tgz#41a802b2bd1769005782ce77bd19fa26e75c6b76"
+ integrity sha512-kcc9WYAS2awG3xJ8QHIjilw6jLDwcOllKU6TDqdo9Oa6XuiBJh9WMMb/2lf6EpFqZqSraYuI9DBZQ7ujdCdKTQ==
dependencies:
- "@glimmer/destroyable" "0.77.5"
+ "@glimmer/destroyable" "0.78.0"
"@glimmer/env" "0.1.7"
- "@glimmer/global-context" "0.77.5"
- "@glimmer/interfaces" "0.77.5"
- "@glimmer/low-level" "0.77.5"
- "@glimmer/owner" "0.77.5"
- "@glimmer/program" "0.77.5"
- "@glimmer/reference" "0.77.5"
- "@glimmer/util" "0.77.5"
- "@glimmer/validator" "0.77.5"
- "@glimmer/vm" "0.77.5"
- "@glimmer/wire-format" "0.77.5"
+ "@glimmer/global-context" "0.78.0"
+ "@glimmer/interfaces" "0.78.0"
+ "@glimmer/low-level" "0.78.0"
+ "@glimmer/owner" "0.78.0"
+ "@glimmer/program" "0.78.0"
+ "@glimmer/reference" "0.78.0"
+ "@glimmer/util" "0.78.0"
+ "@glimmer/validator" "0.78.0"
+ "@glimmer/vm" "0.78.0"
+ "@glimmer/wire-format" "0.78.0"
"@simple-dom/interface" "^1.4.0"
-"@glimmer/syntax@0.77.5":
- version "0.77.5"
- resolved "https://registry.yarnpkg.com/@glimmer/syntax/-/syntax-0.77.5.tgz#b841803dd54ea86de7e8ae8850b3760000033bf2"
- integrity sha512-FRb1onDsP9P2CnbwTyKF91QYIbRJ0svALG7TnAJlUjQU9E4lWdI5lf7vPRh45A4W1rjcAcIcuiIS6oGrdEkhuQ==
+"@glimmer/syntax@0.78.0":
+ version "0.78.0"
+ resolved "https://registry.yarnpkg.com/@glimmer/syntax/-/syntax-0.78.0.tgz#b62359c0f3506f83f259caa7aafe33603fded78d"
+ integrity sha512-lgn3/Y1r5fVx0w0o0Qr8W58bpkt0cLpJeFH5n1uROMpSqFvlLr9/Oozx4o8XKmUOdHFSrs748ESbbhUogxYNng==
dependencies:
- "@glimmer/interfaces" "0.77.5"
- "@glimmer/util" "0.77.5"
+ "@glimmer/interfaces" "0.78.0"
+ "@glimmer/util" "0.78.0"
"@handlebars/parser" "~2.0.0"
simple-html-tokenizer "^0.5.10"
-"@glimmer/util@0.77.5":
- version "0.77.5"
- resolved "https://registry.yarnpkg.com/@glimmer/util/-/util-0.77.5.tgz#b4e2909d34eb7db34c63fd9d942e0ffa458d4c90"
- integrity sha512-Y78NnJClpz7sBks3q+ZNNVfCjy8ALcCQOG5GEIm/P9O3+eXMBsx2ac9Umu4LBZqmeINQ9CtFz10u2BiyxOtSQg==
+"@glimmer/util@0.78.0":
+ version "0.78.0"
+ resolved "https://registry.yarnpkg.com/@glimmer/util/-/util-0.78.0.tgz#9ab3c55ac22d97f69e74392c98f2178df1809539"
+ integrity sha512-Y+m4q9QmJ5Xr6kSswUdSVWjoJrTIicAZ4iiRuw3Y3t8XllnmuNFMcypQJpIchecnvlHg+9X4xRXzxRvel5+Mhg==
dependencies:
"@glimmer/env" "0.1.7"
- "@glimmer/interfaces" "0.77.5"
+ "@glimmer/interfaces" "0.78.0"
"@simple-dom/interface" "^1.4.0"
-"@glimmer/validator@0.77.5":
- version "0.77.5"
- resolved "https://registry.yarnpkg.com/@glimmer/validator/-/validator-0.77.5.tgz#a5e272d700f661aa0b2f350670974792b7785a49"
- integrity sha512-LluyvxWTqys5ulkYA24sFDQ/obwOTwbLDakNBOlHvKdh814h+scz4y8bckx6qY7AsJObQgZVAg00r1Nlhfs6fQ==
+"@glimmer/validator@0.78.0":
+ version "0.78.0"
+ resolved "https://registry.yarnpkg.com/@glimmer/validator/-/validator-0.78.0.tgz#8caf1f721936e494435009e04d00130753dbe2b1"
+ integrity sha512-CzPLEMAj/d+s3mlr/5iJnRn4bRbGfDy+QQKDE/4F65aC+7aaImjP7nP8Z9AZRlva9Y7t+/YlR0LgCAlXhpPbiQ==
dependencies:
"@glimmer/env" "^0.1.7"
- "@glimmer/global-context" "0.77.5"
+ "@glimmer/global-context" "0.78.0"
-"@glimmer/vm-babel-plugins@0.77.5":
- version "0.77.5"
- resolved "https://registry.yarnpkg.com/@glimmer/vm-babel-plugins/-/vm-babel-plugins-0.77.5.tgz#daffb6507aa6b08ec36f69d652897d339fdd0007"
- integrity sha512-jTBM7fJMrIEy4/bCeI8e7ypR+AuWYzLA+KORCGbnTJtL/NYg4G8qwhQAZBtg1d3KmoqyqaCsyqE6f4/tzJO4eQ==
+"@glimmer/vm-babel-plugins@0.78.0":
+ version "0.78.0"
+ resolved "https://registry.yarnpkg.com/@glimmer/vm-babel-plugins/-/vm-babel-plugins-0.78.0.tgz#6fc2d617664888d3815451f8ff42dbfae25a42d5"
+ integrity sha512-YkznZnqMQwHzFmdivSm5RfUjb6gCBreM6udzKvuflr5TcJ5QvitYt2dxvA00J10a+8HU8sarwlVSENGbd8XYGg==
dependencies:
babel-plugin-debug-macros "^0.3.4"
-"@glimmer/vm@0.77.5":
- version "0.77.5"
- resolved "https://registry.yarnpkg.com/@glimmer/vm/-/vm-0.77.5.tgz#ff244acb0ce4a0076df01da8fdd37d690833e478"
- integrity sha512-SsG/BEnM+ySk236UlHHoxYufdWwMSmr2RiapQp6O4pDzy7npkRebTYOzXCXpYrFkjDcTwPaygYCnr7RRFJXEUA==
+"@glimmer/vm@0.78.0":
+ version "0.78.0"
+ resolved "https://registry.yarnpkg.com/@glimmer/vm/-/vm-0.78.0.tgz#ede99f998f065117efc75aee7be0d205ed7061bc"
+ integrity sha512-Exe9TGprShcs2m0uidYWtd4/hjxfsfrFAWsVzUYqjiT3558oSwZ0aE2W7mGVMGCq/A+OJDd/Uy1cfuw2/SgW/g==
dependencies:
- "@glimmer/interfaces" "0.77.5"
- "@glimmer/util" "0.77.5"
+ "@glimmer/interfaces" "0.78.0"
+ "@glimmer/util" "0.78.0"
-"@glimmer/wire-format@0.77.5":
- version "0.77.5"
- resolved "https://registry.yarnpkg.com/@glimmer/wire-format/-/wire-format-0.77.5.tgz#326ae0e09d81182096c0e4efef7cc197d96081d4"
- integrity sha512-/FyjStQtyHkCS8dOp7t79e+PIgEAF0yo9rxmazexl3Ie3ePE9qRxOQi/GKIxi1V1YGpxxv8Aq6wP8kteUzCDaQ==
+"@glimmer/wire-format@0.78.0":
+ version "0.78.0"
+ resolved "https://registry.yarnpkg.com/@glimmer/wire-format/-/wire-format-0.78.0.tgz#12ba8a03f09db536803a56e2d34995db1b254ec0"
+ integrity sha512-DNW6BpWiWWdbA+LfFVMM46Gy+6s1C3JB746dGJB1vLg9GZH98D4lW7tMhLRQDmJ9WXWtJ8vknRUEHWTgCs5YhQ==
dependencies:
- "@glimmer/interfaces" "0.77.5"
- "@glimmer/util" "0.77.5"
+ "@glimmer/interfaces" "0.78.0"
+ "@glimmer/util" "0.78.0"
"@handlebars/parser@~2.0.0":
version "2.0.0"