diff --git a/package.json b/package.json index 797ace52b26..19d4aa53742 100644 --- a/package.json +++ b/package.json @@ -74,16 +74,16 @@ }, "devDependencies": { "@babel/preset-env": "^7.9.5", - "@glimmer/compiler": "0.66.1", + "@glimmer/compiler": "0.67.0", "@glimmer/env": "^0.1.7", - "@glimmer/global-context": "0.66.1", - "@glimmer/interfaces": "0.66.1", - "@glimmer/node": "0.66.1", - "@glimmer/opcode-compiler": "0.66.1", - "@glimmer/program": "0.66.1", - "@glimmer/reference": "0.66.1", - "@glimmer/runtime": "0.66.1", - "@glimmer/validator": "0.66.1", + "@glimmer/global-context": "0.67.0", + "@glimmer/interfaces": "0.67.0", + "@glimmer/node": "0.67.0", + "@glimmer/opcode-compiler": "0.67.0", + "@glimmer/program": "0.67.0", + "@glimmer/reference": "0.67.0", + "@glimmer/runtime": "0.67.0", + "@glimmer/validator": "0.67.0", "@simple-dom/document": "^1.4.0", "@types/qunit": "^2.9.1", "@types/rsvp": "^4.0.3", diff --git a/packages/@ember/-internals/glimmer/index.ts b/packages/@ember/-internals/glimmer/index.ts index eee2fdb43cc..bfc142eedbb 100644 --- a/packages/@ember/-internals/glimmer/index.ts +++ b/packages/@ember/-internals/glimmer/index.ts @@ -387,10 +387,6 @@ export { } from './lib/template_registry'; export { setupEngineRegistry, setupApplicationRegistry } from './lib/setup-registry'; export { DOMChanges, NodeDOMTreeConstruction, DOMTreeConstruction } from './lib/dom'; -export { - registerMacros as _registerMacros, - experimentalMacros as _experimentalMacros, -} from './lib/syntax'; // needed for test // TODO just test these through public API diff --git a/packages/@ember/-internals/glimmer/lib/renderer.ts b/packages/@ember/-internals/glimmer/lib/renderer.ts index 76f7e309144..3d59fcafc18 100644 --- a/packages/@ember/-internals/glimmer/lib/renderer.ts +++ b/packages/@ember/-internals/glimmer/lib/renderer.ts @@ -6,6 +6,7 @@ import { backburner, getCurrentRunLoop } from '@ember/runloop'; import { DEBUG } from '@glimmer/env'; import { Bounds, + CompileTimeCompilationContext, Cursor, DebugRenderTree, DynamicScope as GlimmerDynamicScope, @@ -14,11 +15,10 @@ import { Option, RenderResult, RuntimeContext, - SyntaxCompilationContext, Template, TemplateFactory, } from '@glimmer/interfaces'; -import { syntaxCompilationContext } from '@glimmer/opcode-compiler'; +import { programCompilationContext } from '@glimmer/opcode-compiler'; import { artifacts } from '@glimmer/program'; import { createConstRef, Reference, UNDEFINED_REFERENCE, valueForRef } from '@glimmer/reference'; import { @@ -32,7 +32,7 @@ import { renderMain, runtimeContext, } from '@glimmer/runtime'; -import { unwrapHandle, unwrapTemplate } from '@glimmer/util'; +import { unwrapTemplate } from '@glimmer/util'; import { CURRENT_TAG, validateTag, valueForTag } from '@glimmer/validator'; import { SimpleDocument, SimpleElement, SimpleNode } from '@simple-dom/interface'; import RSVP from 'rsvp'; @@ -43,7 +43,6 @@ import { RootComponentDefinition } from './component-managers/root'; import { NodeDOMTreeConstruction } from './dom'; import { EmberEnvironmentDelegate } from './environment'; import RuntimeResolver from './resolver'; -import { populateMacros } from './syntax'; import { Component } from './utils/curly-component-state-bucket'; import { OutletState } from './utils/outlet'; import OutletView from './views/outlet'; @@ -117,7 +116,7 @@ class RootState { constructor( public root: Component | OutletView, public runtime: RuntimeContext, - context: SyntaxCompilationContext, + context: CompileTimeCompilationContext, template: Template, self: Reference, parentElement: SimpleElement, @@ -135,14 +134,13 @@ class RootState { this.render = errorLoopTransaction(() => { let layout = unwrapTemplate(template).asLayout(); - let handle = layout.compile(context); let iterator = renderMain( runtime, context, self, builder(runtime.env, { element: parentElement, nextSibling: null }), - unwrapHandle(handle), + layout, dynamicScope ); @@ -281,7 +279,7 @@ export abstract class Renderer { private _builder: IBuilder; private _inRenderTransaction = false; - private _context: SyntaxCompilationContext; + private _context: CompileTimeCompilationContext; private _runtime: RuntimeContext; private _lastRevision = -1; @@ -311,9 +309,7 @@ export abstract class Renderer { let sharedArtifacts = artifacts(); - let context = (this._context = syntaxCompilationContext(sharedArtifacts, compileTimeResolver)); - - populateMacros(context.macros); + this._context = programCompilationContext(sharedArtifacts, compileTimeResolver); let runtimeEnvironmentDelegate = new EmberEnvironmentDelegate(owner, env.isInteractive); this._runtime = runtimeContext( diff --git a/packages/@ember/-internals/glimmer/lib/syntax.ts b/packages/@ember/-internals/glimmer/lib/syntax.ts deleted file mode 100644 index b18c22354f1..00000000000 --- a/packages/@ember/-internals/glimmer/lib/syntax.ts +++ /dev/null @@ -1,85 +0,0 @@ -import { Owner } from '@ember/-internals/owner'; -import { assert } from '@ember/debug'; -import { - Core, - MacroContext, - Macros, - NamedBlocks, - Option, - StatementCompileActions, - Unhandled, -} from '@glimmer/interfaces'; -import { EMPTY_BLOCKS, NONE, staticComponent, UNHANDLED } from '@glimmer/opcode-compiler'; -import { hashToArgs } from './syntax/utils'; - -export const experimentalMacros: any[] = []; - -// This is a private API to allow for experimental macros -// to be created in user space. Registering a macro should -// should be done in an initializer. -export function registerMacros(macro: any) { - experimentalMacros.push(macro); -} - -function refineInlineSyntax( - name: string, - params: Option, - hash: Option, - context: MacroContext -): StatementCompileActions | Unhandled { - let component = context.resolver.lookupComponent(name, context.meta.owner!); - - if (component !== null) { - return staticComponent(component, [params, hashToArgs(hash), EMPTY_BLOCKS]); - } - - return UNHANDLED; -} - -function refineBlockSyntax( - name: string, - params: Core.Params, - hash: Core.Hash, - blocks: NamedBlocks, - context: MacroContext -): StatementCompileActions { - let handle = context.resolver.lookupComponent(name, context.meta.owner!); - - if (handle !== null) { - return staticComponent(handle, [params, hashToArgs(hash), blocks]); - } - - assert( - `A component or helper named "${name}" could not be found`, - (context.meta.owner as Owner).hasRegistration(`helper:${name}`) - ); - - assert( - `Helpers may not be used in the block form, for example {{#${name}}}{{/${name}}}. Please use a component, or alternatively use the helper in combination with a built-in Ember helper, for example {{#if (${name})}}{{/if}}.`, - !(() => { - const resolver = context.resolver['resolver']; - const owner = context.meta.owner as Owner; - - if (name === 'component' || resolver['builtInHelpers'][name]) { - return true; - } - return owner.hasRegistration(`helper:${name}`); - })() - ); - - return NONE; -} - -export function populateMacros(macros: Macros) { - let { inlines, blocks } = macros; - - inlines.addMissing(refineInlineSyntax); - blocks.addMissing(refineBlockSyntax); - - for (let i = 0; i < experimentalMacros.length; i++) { - let macro = experimentalMacros[i]; - macro(blocks, inlines); - } - - return { blocks, inlines }; -} 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 a11cea0e794..83cb108e001 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 @@ -460,40 +460,59 @@ moduleFor( this.assertHTML('
'); } - ['@test simple helper not usable with a block']() { + ['@test simple helper not usable with a block'](assert) { + if (!DEBUG) { + assert.expect(0); + return; + } this.registerHelper('some-helper', () => {}); - expectAssertion(() => { + assert.throws(() => { this.render(`{{#some-helper}}{{/some-helper}}`); - }, /Helpers may not be used in the block form/); + }, /Attempted to resolve `some-helper`, which was expected to be a component, but nothing was found./); } - ['@test class-based helper not usable with a block']() { + ['@test class-based helper not usable with a block'](assert) { + if (!DEBUG) { + assert.expect(0); + return; + } + this.registerHelper('some-helper', { compute() {}, }); - expectAssertion(() => { + assert.throws(() => { this.render(`{{#some-helper}}{{/some-helper}}`); - }, /Helpers may not be used in the block form/); + }, /Attempted to resolve `some-helper`, which was expected to be a component, but nothing was found./); } - ['@test simple helper not usable within element']() { + ['@test simple helper not usable within element'](assert) { + if (!DEBUG) { + assert.expect(0); + return; + } + this.registerHelper('some-helper', () => {}); - this.assert.throws(() => { + assert.throws(() => { this.render(`
`); - }, /Error: Compile Error: Unexpected Modifier some-helper @ 0..0/); + }, /Attempted to resolve `some-helper`, which was expected to be a modifier, but nothing was found./); } - ['@test class-based helper not usable within element']() { + ['@test class-based helper not usable within element'](assert) { + if (!DEBUG) { + assert.expect(0); + return; + } + this.registerHelper('some-helper', { compute() {}, }); - this.assert.throws(() => { + assert.throws(() => { this.render(`
`); - }, /Error: Compile Error: Unexpected Modifier some-helper @ 0..0/); + }, /Attempted to resolve `some-helper`, which was expected to be a modifier, but nothing was found./); } ['@test class-based helper is torn down'](assert) { diff --git a/packages/@ember/-internals/glimmer/tests/integration/syntax/experimental-syntax-test.js b/packages/@ember/-internals/glimmer/tests/integration/syntax/experimental-syntax-test.js deleted file mode 100644 index 6c1d793b2d1..00000000000 --- a/packages/@ember/-internals/glimmer/tests/integration/syntax/experimental-syntax-test.js +++ /dev/null @@ -1,41 +0,0 @@ -import { moduleFor, RenderingTestCase, strip } from 'internal-test-helpers'; - -import { _registerMacros, _experimentalMacros } from '@ember/-internals/glimmer'; -import { invokeStaticBlockWithStack } from '@glimmer/opcode-compiler'; - -moduleFor( - 'registerMacros', - class extends RenderingTestCase { - constructor() { - let originalMacros = _experimentalMacros.slice(); - - _registerMacros((blocks) => { - blocks.add('-test-block', (params, _hash, blocks) => { - return invokeStaticBlockWithStack(blocks.get('default')); - }); - }); - - super(...arguments); - this.originalMacros = originalMacros; - } - - teardown() { - _experimentalMacros.length = 0; - this.originalMacros.forEach((macro) => _experimentalMacros.push(macro)); - - super.teardown(); - } - - ['@test allows registering custom syntax via private API']() { - this.render( - strip` - {{#-test-block}} - hello world! - {{/-test-block}} - ` - ); - - this.assertText('hello world!'); - } - } -); diff --git a/packages/ember/tests/component_registration_test.js b/packages/ember/tests/component_registration_test.js index a7215de7fce..d823efa1f51 100644 --- a/packages/ember/tests/component_registration_test.js +++ b/packages/ember/tests/component_registration_test.js @@ -4,6 +4,7 @@ import { Component } from '@ember/-internals/glimmer'; import { compile } from 'ember-template-compiler'; import { moduleFor, ApplicationTestCase } from 'internal-test-helpers'; import { ENV } from '@ember/-internals/environment'; +import { DEBUG } from '@glimmer/env'; moduleFor( 'Application Lifecycle - Component Registration', @@ -240,7 +241,12 @@ moduleFor( async ['@test Using name of component that does not exist'](assert) { this.addTemplate('application', `
{{#no-good}} {{/no-good}}
`); - await assert.rejectsAssertion(this.visit('/'), /.* named "no-good" .*/); + if (DEBUG) { + await assert.rejectsAssertion(this.visit('/'), /Attempted to resolve `no-good`/); + } else { + // Rejects with a worse error message in production + await assert.rejects(this.visit('/')); + } } } ); diff --git a/yarn.lock b/yarn.lock index e393a8819c9..170e3bac8c4 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1657,152 +1657,154 @@ minimatch "^3.0.4" strip-json-comments "^3.1.1" -"@glimmer/compiler@0.66.1": - version "0.66.1" - resolved "https://registry.yarnpkg.com/@glimmer/compiler/-/compiler-0.66.1.tgz#cfb988634d12038f41b2323ba19b1b9cf2b5cc28" - integrity sha512-O0spaPhowm88nncLut7p5pRm0ZTFzpGQFqGtQfSvqdAr/+i8KwMd515f5lqv/dJobXSzqP0ocXDZVoBKYd8Zkw== - dependencies: - "@glimmer/interfaces" "0.66.1" - "@glimmer/syntax" "0.66.1" - "@glimmer/util" "0.66.1" - "@glimmer/wire-format" "0.66.1" +"@glimmer/compiler@0.67.0": + version "0.67.0" + resolved "https://registry.yarnpkg.com/@glimmer/compiler/-/compiler-0.67.0.tgz#fed033c725b73be7fa4f5200fe15616758bc6ca4" + integrity sha512-CCw31F1XYGm73iy2lrsowV9yr+aXAGauLaNWrO5N+ciEfFyIu21OZ8+/H79bYdJLisJILeCBKvy0hsYpmvCzHw== + dependencies: + "@glimmer/interfaces" "0.67.0" + "@glimmer/syntax" "0.67.0" + "@glimmer/util" "0.67.0" + "@glimmer/wire-format" "0.67.0" "@simple-dom/interface" "^1.4.0" -"@glimmer/encoder@0.66.1": - version "0.66.1" - resolved "https://registry.yarnpkg.com/@glimmer/encoder/-/encoder-0.66.1.tgz#ee15bbdd58e14872915db037b9ed7bbcee844378" - integrity sha512-noItjxOjKO/3KEgViqGZEfslSKOo9sjdHtxxMimQuvDP+ApjhA7sFjWLX+zJCS1fIsZGM0hzEWaNKEB1Pjg9Mw== +"@glimmer/encoder@0.67.0": + version "0.67.0" + resolved "https://registry.yarnpkg.com/@glimmer/encoder/-/encoder-0.67.0.tgz#e7d8dff4a70734126ae47b5f923198253efbde2d" + integrity sha512-ryEDTyenOpuuiOc1mwQNPKE9rAVTZ/RNtVhhNJPSq/3q6aHL5/6/wHUUkHaZOZbG0T9EG0V0nCqPPCqZhq3IwQ== dependencies: - "@glimmer/interfaces" "0.66.1" - "@glimmer/vm" "0.66.1" + "@glimmer/env" "0.1.7" + "@glimmer/interfaces" "0.67.0" + "@glimmer/vm" "0.67.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.66.1": - version "0.66.1" - resolved "https://registry.yarnpkg.com/@glimmer/global-context/-/global-context-0.66.1.tgz#3be91232e225bc0cac4920159f6f73c8761bc98d" - integrity sha512-dWdr6XUsVoZ8XXLYqaYFrz9O6amogb2q9QMDnrxjqurfhcc2Va7qaUM9e3qRyICwph6MsUgrDtX3SRA6dyRwJw== +"@glimmer/global-context@0.67.0": + version "0.67.0" + resolved "https://registry.yarnpkg.com/@glimmer/global-context/-/global-context-0.67.0.tgz#041103738b6ec503d929684e342942023351b123" + integrity sha512-eeMwi+lQK8GbK2m/+HJSQaGKJogGEqJEZn8hGxHbG7zvHXA7TBQ5+c4vR2QXNWTMrOI7qDzCX9XnF3tlaxQPjQ== dependencies: "@glimmer/env" "^0.1.7" -"@glimmer/interfaces@0.66.1": - version "0.66.1" - resolved "https://registry.yarnpkg.com/@glimmer/interfaces/-/interfaces-0.66.1.tgz#5b50b0dd6bcae19e7848d70b42f9466a184979be" - integrity sha512-opcDbSID3YqkUgOR15+IePfkoiJKRJh5pfxPXNw3xcwkptmbiSXNkfZGnPk4FZr4g+Jpem1CIGUDejtyaTTk3Q== +"@glimmer/interfaces@0.67.0": + version "0.67.0" + resolved "https://registry.yarnpkg.com/@glimmer/interfaces/-/interfaces-0.67.0.tgz#fc68db956028f0ab9c655a53bb882d54fd34c24b" + integrity sha512-1yNs8kt8k4tzA6r9lO3ScX4zR6Jg9ymRqIFvDtam1twNoRQBFHNwfpTqPU4X5mq/4tOcgtWA8FNv5/jBIOaOew== dependencies: "@simple-dom/interface" "^1.4.0" -"@glimmer/low-level@0.66.1": - version "0.66.1" - resolved "https://registry.yarnpkg.com/@glimmer/low-level/-/low-level-0.66.1.tgz#f6d74845ba51e8090033d01a571699f15e35dd0c" - integrity sha512-IaIgcd0sJBaF5N6bnOB6MQKB8ObJQJ98CRcFfTf8sw9DvGp8DGL+M/QmOnERUSc28pk76k+z4JOtcbVCaA1NxA== +"@glimmer/low-level@0.67.0": + version "0.67.0" + resolved "https://registry.yarnpkg.com/@glimmer/low-level/-/low-level-0.67.0.tgz#d70383ed93f63feb1710f03ad8b09dff83b1f08a" + integrity sha512-rgBNMz9iTaIrJJ1TUyOoiWzQv3CH7TxYuApSMrZ6tlXh7QpZ7Wfsnd44M+zLaJB7VAmRG4QfLwDee+I9OfTyeQ== -"@glimmer/node@0.66.1": - version "0.66.1" - resolved "https://registry.yarnpkg.com/@glimmer/node/-/node-0.66.1.tgz#572477e89db8884b437cc2b080dde6c2529e7c19" - integrity sha512-/KLJ3Dal0rCHDkliS6sYUGmmkr1RlpLjhUIJvaKCXJMckKpiq+b1dkLdiqf+CGYShi2+vDDvSqiQbIAPzoMo1A== +"@glimmer/node@0.67.0": + version "0.67.0" + resolved "https://registry.yarnpkg.com/@glimmer/node/-/node-0.67.0.tgz#7a34e3d215721f425e48007f656528c52c008341" + integrity sha512-bkfyuEkbanKdUfIdDi/1Pj/Swbg4Q0G0T7JvbTMN0L2tbj3NJSQNiBOPeN4FL2OZlRCt0ylGdWBKmeOgvyo2lQ== dependencies: - "@glimmer/interfaces" "0.66.1" - "@glimmer/runtime" "0.66.1" - "@glimmer/util" "0.66.1" + "@glimmer/interfaces" "0.67.0" + "@glimmer/runtime" "0.67.0" + "@glimmer/util" "0.67.0" "@simple-dom/document" "^1.4.0" "@simple-dom/interface" "^1.4.0" -"@glimmer/opcode-compiler@0.66.1": - version "0.66.1" - resolved "https://registry.yarnpkg.com/@glimmer/opcode-compiler/-/opcode-compiler-0.66.1.tgz#38c676abdef62181d5a027e8240baeff71360871" - integrity sha512-ZgsP7WAW5+NR/FrTdC88Ejw9+ChiazGUUHNVF0WWwvaMzY9YuG3re1OHUdYFx8M7An4IRYd+8XgvqQb+9pi3pA== - dependencies: - "@glimmer/encoder" "0.66.1" - "@glimmer/interfaces" "0.66.1" - "@glimmer/program" "0.66.1" - "@glimmer/reference" "0.66.1" - "@glimmer/util" "0.66.1" - "@glimmer/vm" "0.66.1" - "@glimmer/wire-format" "0.66.1" - -"@glimmer/program@0.66.1": - version "0.66.1" - resolved "https://registry.yarnpkg.com/@glimmer/program/-/program-0.66.1.tgz#b0387586819977ed4464db7219d76c116d51ff40" - integrity sha512-9fpiZqNcRqLXyBAbIP+mM+WSiMaeYmP6vT3bGrBTBMTnsK+5ZbdhqOS16bANsB+5V4qridr8RDXf7OEBJz+Msw== - dependencies: - "@glimmer/encoder" "0.66.1" - "@glimmer/interfaces" "0.66.1" - "@glimmer/util" "0.66.1" - -"@glimmer/reference@0.66.1": - version "0.66.1" - resolved "https://registry.yarnpkg.com/@glimmer/reference/-/reference-0.66.1.tgz#b61d44d78d44eb3b4bbf62cdb0dc0e4ea9600302" - integrity sha512-ifd2g614YzrDfHcZWTiglHVFv/x9lym79hB92GSYCiK73sl5oGUBodsbur084MfAMc1cNJEp06bXxTAoiguwLg== +"@glimmer/opcode-compiler@0.67.0": + version "0.67.0" + resolved "https://registry.yarnpkg.com/@glimmer/opcode-compiler/-/opcode-compiler-0.67.0.tgz#0d855ab06a8936bf1fcf4683f7b157e7b7fe4087" + integrity sha512-mlLMa5N/uLEc13NU9AAUJjG4IU/5GZb0pXzYQY2Y37hCpGqsJLyoVcyuEseSlSGbyd9tkOrIl3mIZvxcE7IClg== + dependencies: + "@glimmer/encoder" "0.67.0" + "@glimmer/env" "0.1.7" + "@glimmer/interfaces" "0.67.0" + "@glimmer/program" "0.67.0" + "@glimmer/reference" "0.67.0" + "@glimmer/util" "0.67.0" + "@glimmer/vm" "0.67.0" + "@glimmer/wire-format" "0.67.0" + +"@glimmer/program@0.67.0": + version "0.67.0" + resolved "https://registry.yarnpkg.com/@glimmer/program/-/program-0.67.0.tgz#1f36062df5cc6718334fe4d88bb7ae50f44f8ce4" + integrity sha512-fdZSl+eabrj/kXO5el1xt8HNuLRRUDUN3Yu4qWLScm8qGw+b4iZIiajQCFNTXzn0mz6lvNW0XyQ6a76URLmk9A== + dependencies: + "@glimmer/encoder" "0.67.0" + "@glimmer/interfaces" "0.67.0" + "@glimmer/util" "0.67.0" + +"@glimmer/reference@0.67.0": + version "0.67.0" + resolved "https://registry.yarnpkg.com/@glimmer/reference/-/reference-0.67.0.tgz#2983167fcb90e5f7a24e00a5eb13c50bf266cf3d" + integrity sha512-Qopa+sNhIvAZ4lb4hlAUPrPx7h19yOLlfqho3zgwTJoEQAyhUqalqeH5lr+xIC4r2uV6yCcLd3C27BLYxN342Q== dependencies: "@glimmer/env" "^0.1.7" - "@glimmer/global-context" "0.66.1" - "@glimmer/interfaces" "0.66.1" - "@glimmer/util" "0.66.1" - "@glimmer/validator" "0.66.1" + "@glimmer/global-context" "0.67.0" + "@glimmer/interfaces" "0.67.0" + "@glimmer/util" "0.67.0" + "@glimmer/validator" "0.67.0" -"@glimmer/runtime@0.66.1": - version "0.66.1" - resolved "https://registry.yarnpkg.com/@glimmer/runtime/-/runtime-0.66.1.tgz#5a628db0fb1af63b898b73fa47c30f5aae44ac55" - integrity sha512-c6OFkPl4FSM3lAqjHx3V/bQwjW/SBvzrh5kmbul6YC+yod9+V5cI8HND35ZFelAandEpzxcqe5MclnYDBNJ2Sg== +"@glimmer/runtime@0.67.0": + version "0.67.0" + resolved "https://registry.yarnpkg.com/@glimmer/runtime/-/runtime-0.67.0.tgz#188ad893e1fade94879d6814ddd5b953eba1a2f8" + integrity sha512-xslPdm+OIC57xQ3fUdIPM2wj/sG1OtoIWLq0C2gJw6cR1wQ5zSi6Az79AD5oUQdeiUzEr5BfTaEgsvXHhoHs+w== dependencies: "@glimmer/env" "0.1.7" - "@glimmer/global-context" "0.66.1" - "@glimmer/interfaces" "0.66.1" - "@glimmer/low-level" "0.66.1" - "@glimmer/program" "0.66.1" - "@glimmer/reference" "0.66.1" - "@glimmer/util" "0.66.1" - "@glimmer/validator" "0.66.1" - "@glimmer/vm" "0.66.1" - "@glimmer/wire-format" "0.66.1" + "@glimmer/global-context" "0.67.0" + "@glimmer/interfaces" "0.67.0" + "@glimmer/low-level" "0.67.0" + "@glimmer/program" "0.67.0" + "@glimmer/reference" "0.67.0" + "@glimmer/util" "0.67.0" + "@glimmer/validator" "0.67.0" + "@glimmer/vm" "0.67.0" + "@glimmer/wire-format" "0.67.0" "@simple-dom/interface" "^1.4.0" -"@glimmer/syntax@0.66.1": - version "0.66.1" - resolved "https://registry.yarnpkg.com/@glimmer/syntax/-/syntax-0.66.1.tgz#901b9d0253ad5ac1f7f8199de0ef43c98c209a63" - integrity sha512-hzYhlfWzu5c8K7ZtTh3bSdpT5a6efxN1NsKUvGE5p1TC9XGOZuKogq/fRtlK2UGBUazEh5fvTu7qmQ8dTU1dWA== +"@glimmer/syntax@0.67.0": + version "0.67.0" + resolved "https://registry.yarnpkg.com/@glimmer/syntax/-/syntax-0.67.0.tgz#2aaa5ba451671ee869285463b9711dbec1c843e2" + integrity sha512-9eRjAF3oD0RyWzptincQT/ucWxxgMhYrhumizxCJDGWTpk8GCpAMoKjEK2D1eryVEaF3KknGS9ba3/oakGkpzg== dependencies: - "@glimmer/interfaces" "0.66.1" - "@glimmer/util" "0.66.1" + "@glimmer/interfaces" "0.67.0" + "@glimmer/util" "0.67.0" "@handlebars/parser" "^1.1.0" simple-html-tokenizer "^0.5.10" -"@glimmer/util@0.66.1": - version "0.66.1" - resolved "https://registry.yarnpkg.com/@glimmer/util/-/util-0.66.1.tgz#53c5e12f121011f44c018dba6bcaa936133ffd24" - integrity sha512-pB7VEpCmC5hmehQdED7HJJEKFdGPsO6LHGl4LtRHHQptlyKTxotTxevDbzGuIxbsDpGPT+4e3g1rlEAfnC51/Q== +"@glimmer/util@0.67.0": + version "0.67.0" + resolved "https://registry.yarnpkg.com/@glimmer/util/-/util-0.67.0.tgz#7f19320826e926a2fe80abb44512f9898f6df6d8" + integrity sha512-iDio1mKJgdtvo9GT/d4QL/pvUzAxQOM7m/3fAY3pX2CAa25jwEwpUh7fNN+F3iEFkJWiDJusSPY/K3RPMfAoXg== dependencies: "@glimmer/env" "0.1.7" - "@glimmer/interfaces" "0.66.1" + "@glimmer/interfaces" "0.67.0" "@simple-dom/interface" "^1.4.0" -"@glimmer/validator@0.66.1": - version "0.66.1" - resolved "https://registry.yarnpkg.com/@glimmer/validator/-/validator-0.66.1.tgz#46bf25b2a8b819570d9fca0a248185ca07b8ec2a" - integrity sha512-9mhSCfe9R8TgTnHtOZuVTzsO9/Ej0gwRun1SQtQu5WK7Lamg0XPhluWVV46GcFv6w6NkopStCfoHIrounXTnpA== +"@glimmer/validator@0.67.0": + version "0.67.0" + resolved "https://registry.yarnpkg.com/@glimmer/validator/-/validator-0.67.0.tgz#9d50db47152786c4e7d4304a73c498c53afc7886" + integrity sha512-PQsTPU1N0erGtWVoHwkQ9N/jMb3iMoclyaBe3rVbxs6RSjYeafaxAqwN8rJ+Gd+OWQscD4tjPPguTW/iGQVlYQ== dependencies: "@glimmer/env" "^0.1.7" - "@glimmer/global-context" "0.66.1" + "@glimmer/global-context" "0.67.0" -"@glimmer/vm@0.66.1": - version "0.66.1" - resolved "https://registry.yarnpkg.com/@glimmer/vm/-/vm-0.66.1.tgz#c6c6e248b3ed574a3bfb21208f8e5afa8f9fe7f6" - integrity sha512-VmesyuROi29KGycLe2vzaTnMU74kirCEPCHbTVTxxvFkJHY3ljtpZVpS0OIl9kMnbFQRWcR5X6sPIdPVdebySA== +"@glimmer/vm@0.67.0": + version "0.67.0" + resolved "https://registry.yarnpkg.com/@glimmer/vm/-/vm-0.67.0.tgz#c31d7a2ea70ddd0da30fd5ce624311baef173942" + integrity sha512-tqAxnPKwSAFYW1y4vpTSnsRR/F3sJ3GSMx2lzgc5YaWElYI9JcPBIM0sobqnoheca7wABLTWdFZXbnW9N0n0TQ== dependencies: - "@glimmer/interfaces" "0.66.1" - "@glimmer/util" "0.66.1" + "@glimmer/interfaces" "0.67.0" + "@glimmer/util" "0.67.0" -"@glimmer/wire-format@0.66.1": - version "0.66.1" - resolved "https://registry.yarnpkg.com/@glimmer/wire-format/-/wire-format-0.66.1.tgz#ad63764c3231e97397617d3e2c6a02a6fcff5047" - integrity sha512-TyffGOCJ/LykKev3G7IMEzicpvgip5+XZi3Shr/silMEtncrbDV9ryYkyOalfjWHHWa/XIHz+KAEXVJG3tYq1g== +"@glimmer/wire-format@0.67.0": + version "0.67.0" + resolved "https://registry.yarnpkg.com/@glimmer/wire-format/-/wire-format-0.67.0.tgz#a29eda6fac008509a2aa312209dc128611834ef5" + integrity sha512-YbRASQFsyKmVWgFF8SeAdoFSbrN9Zq8cfCvIjsx6JiiIelCgQ5fUtU8qZ9ww++5AYK6tQtVhkqM6DXyVMRVRjg== dependencies: - "@glimmer/interfaces" "0.66.1" - "@glimmer/util" "0.66.1" + "@glimmer/interfaces" "0.67.0" + "@glimmer/util" "0.67.0" "@handlebars/parser@^1.1.0": version "1.1.0"