diff --git a/package.json b/package.json index ea4586d80cd..758fd597fdf 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.76.0", + "@glimmer/vm-babel-plugins": "0.77.1", "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.76.0", + "@glimmer/compiler": "0.77.1", "@glimmer/env": "^0.1.7", - "@glimmer/global-context": "0.76.0", - "@glimmer/interfaces": "0.76.0", - "@glimmer/manager": "0.76.0", - "@glimmer/destroyable": "0.76.0", - "@glimmer/owner": "0.76.0", - "@glimmer/node": "0.76.0", - "@glimmer/opcode-compiler": "0.76.0", - "@glimmer/program": "0.76.0", - "@glimmer/reference": "0.76.0", - "@glimmer/runtime": "0.76.0", - "@glimmer/validator": "0.76.0", + "@glimmer/global-context": "0.77.1", + "@glimmer/interfaces": "0.77.1", + "@glimmer/manager": "0.77.1", + "@glimmer/destroyable": "0.77.1", + "@glimmer/owner": "0.77.1", + "@glimmer/node": "0.77.1", + "@glimmer/opcode-compiler": "0.77.1", + "@glimmer/program": "0.77.1", + "@glimmer/reference": "0.77.1", + "@glimmer/runtime": "0.77.1", + "@glimmer/validator": "0.77.1", "@simple-dom/document": "^1.4.0", "@types/qunit": "^2.9.1", "@types/rsvp": "^4.0.3", diff --git a/packages/@ember/-internals/glimmer/lib/helpers/-in-element-null-check.ts b/packages/@ember/-internals/glimmer/lib/helpers/-in-element-null-check.ts index 97cd913abe3..dfb7b7aa178 100644 --- a/packages/@ember/-internals/glimmer/lib/helpers/-in-element-null-check.ts +++ b/packages/@ember/-internals/glimmer/lib/helpers/-in-element-null-check.ts @@ -1,14 +1,14 @@ import { assert } from '@ember/debug'; import { DEBUG } from '@glimmer/env'; -import { Helper, VMArguments } from '@glimmer/interfaces'; +import { CapturedArguments, Helper } from '@glimmer/interfaces'; import { createComputeRef, valueForRef } from '@glimmer/reference'; import { internalHelper } from './internal-helper'; let helper: Helper; if (DEBUG) { - helper = (args: VMArguments) => { - let inner = args.positional.at(0); + helper = (args: CapturedArguments) => { + let inner = args.positional[0]; return createComputeRef(() => { let value = valueForRef(inner); @@ -22,7 +22,7 @@ if (DEBUG) { }); }; } else { - helper = (args: VMArguments) => args.positional.at(0); + helper = (args: CapturedArguments) => args.positional[0]; } export default internalHelper(helper); diff --git a/packages/@ember/-internals/glimmer/lib/helpers/-normalize-class.ts b/packages/@ember/-internals/glimmer/lib/helpers/-normalize-class.ts index 940524cf7fb..9db32be2b00 100644 --- a/packages/@ember/-internals/glimmer/lib/helpers/-normalize-class.ts +++ b/packages/@ember/-internals/glimmer/lib/helpers/-normalize-class.ts @@ -1,11 +1,9 @@ import { dasherize } from '@ember/string'; -import { VMArguments } from '@glimmer/interfaces'; +import { CapturedArguments } from '@glimmer/interfaces'; import { createComputeRef, valueForRef } from '@glimmer/reference'; import { internalHelper } from './internal-helper'; -export default internalHelper((args: VMArguments) => { - let positional = args.positional.capture(); - +export default internalHelper(({ positional }: CapturedArguments) => { return createComputeRef(() => { let classNameParts = (valueForRef(positional[0]) as string).split('.'); let className = classNameParts[classNameParts.length - 1]; diff --git a/packages/@ember/-internals/glimmer/lib/helpers/-track-array.ts b/packages/@ember/-internals/glimmer/lib/helpers/-track-array.ts index f91c576259b..a4c91c38848 100644 --- a/packages/@ember/-internals/glimmer/lib/helpers/-track-array.ts +++ b/packages/@ember/-internals/glimmer/lib/helpers/-track-array.ts @@ -3,7 +3,7 @@ */ import { tagForProperty } from '@ember/-internals/metal'; import { isObject } from '@ember/-internals/utils'; -import { VMArguments } from '@glimmer/interfaces'; +import { CapturedArguments } from '@glimmer/interfaces'; import { createComputeRef, valueForRef } from '@glimmer/reference'; import { consumeTag } from '@glimmer/validator'; import { internalHelper } from './internal-helper'; @@ -13,8 +13,8 @@ import { internalHelper } from './internal-helper'; updates to `{{each}}` when it changes. It is put into place by a template transform at build time, similar to the (-each-in) helper */ -export default internalHelper((args: VMArguments) => { - let inner = args.positional.at(0); +export default internalHelper(({ positional }: CapturedArguments) => { + let inner = positional[0]; return createComputeRef(() => { let iterable = valueForRef(inner); diff --git a/packages/@ember/-internals/glimmer/lib/helpers/action.ts b/packages/@ember/-internals/glimmer/lib/helpers/action.ts index d5e9d59a248..e27ed4e11cc 100644 --- a/packages/@ember/-internals/glimmer/lib/helpers/action.ts +++ b/packages/@ember/-internals/glimmer/lib/helpers/action.ts @@ -7,7 +7,7 @@ import { assert, deprecate } from '@ember/debug'; import { flaggedInstrument } from '@ember/instrumentation'; import { join } from '@ember/runloop'; import { DEBUG } from '@glimmer/env'; -import { VMArguments } from '@glimmer/interfaces'; +import { CapturedArguments } from '@glimmer/interfaces'; import { createUnboundRef, isInvokableRef, @@ -285,21 +285,18 @@ export const INVOKE: unique symbol = symbol('INVOKE') as any; @public */ export default internalHelper( - (args: VMArguments): Reference => { + (args: CapturedArguments): Reference => { let { named, positional } = args; - - let capturedArgs = positional.capture(); - // The first two argument slots are reserved. // pos[0] is the context (or `this`) // pos[1] is the action name or function // Anything else is an action argument. - let [context, action, ...restArgs] = capturedArgs; + let [context, action, ...restArgs] = positional; let debugKey: string = action.debugLabel!; - let target = named.has('target') ? named.get('target') : context; - let processArgs = makeArgsProcessor(named.has('value') && named.get('value'), restArgs); + let target = 'target' in named ? named.target : context; + let processArgs = makeArgsProcessor('value' in named && named.value, restArgs); let fn: Function; diff --git a/packages/@ember/-internals/glimmer/lib/helpers/each-in.ts b/packages/@ember/-internals/glimmer/lib/helpers/each-in.ts index 64143fa99c4..cff217d855f 100644 --- a/packages/@ember/-internals/glimmer/lib/helpers/each-in.ts +++ b/packages/@ember/-internals/glimmer/lib/helpers/each-in.ts @@ -4,7 +4,7 @@ import { tagForObject } from '@ember/-internals/metal'; import { _contentFor } from '@ember/-internals/runtime'; import { isProxy } from '@ember/-internals/utils'; -import { VMArguments } from '@glimmer/interfaces'; +import { CapturedArguments } from '@glimmer/interfaces'; import { createComputeRef, valueForRef } from '@glimmer/reference'; import { consumeTag } from '@glimmer/validator'; import { internalHelper } from './internal-helper'; @@ -159,8 +159,8 @@ export class EachInWrapper { constructor(public inner: unknown) {} } -export default internalHelper((args: VMArguments) => { - let inner = args.positional.at(0); +export default internalHelper(({ positional }: CapturedArguments) => { + let inner = positional[0]; return createComputeRef(() => { let iterable = valueForRef(inner); diff --git a/packages/@ember/-internals/glimmer/lib/helpers/internal-helper.ts b/packages/@ember/-internals/glimmer/lib/helpers/internal-helper.ts index 99645339afc..deecefd3fe3 100644 --- a/packages/@ember/-internals/glimmer/lib/helpers/internal-helper.ts +++ b/packages/@ember/-internals/glimmer/lib/helpers/internal-helper.ts @@ -1,6 +1,7 @@ +import { Owner } from '@ember/-internals/owner'; import { Helper, HelperDefinitionState } from '@glimmer/interfaces'; import { setInternalHelperManager } from '@glimmer/manager'; -export function internalHelper(helper: Helper): HelperDefinitionState { +export function internalHelper(helper: Helper): HelperDefinitionState { return setInternalHelperManager(helper, {}); } diff --git a/packages/@ember/-internals/glimmer/lib/helpers/mut.ts b/packages/@ember/-internals/glimmer/lib/helpers/mut.ts index b7c7c2a9fee..3c073fc6ae6 100644 --- a/packages/@ember/-internals/glimmer/lib/helpers/mut.ts +++ b/packages/@ember/-internals/glimmer/lib/helpers/mut.ts @@ -2,7 +2,7 @@ @module ember */ import { assert } from '@ember/debug'; -import { VMArguments } from '@glimmer/interfaces'; +import { CapturedArguments } from '@glimmer/interfaces'; import { createInvokableRef, isUpdatableRef } from '@glimmer/reference'; import { internalHelper } from './internal-helper'; @@ -80,8 +80,8 @@ import { internalHelper } from './internal-helper'; @public */ -export default internalHelper((args: VMArguments) => { - let ref = args.positional.at(0); +export default internalHelper(({ positional }: CapturedArguments) => { + let ref = positional[0]; // TODO: Improve this error message. This covers at least two distinct // cases: diff --git a/packages/@ember/-internals/glimmer/lib/helpers/query-param.ts b/packages/@ember/-internals/glimmer/lib/helpers/query-param.ts index 98f4d047dbb..a0bb4b22a4e 100644 --- a/packages/@ember/-internals/glimmer/lib/helpers/query-param.ts +++ b/packages/@ember/-internals/glimmer/lib/helpers/query-param.ts @@ -4,7 +4,7 @@ import { QueryParams } from '@ember/-internals/routing'; import { assert, deprecate } from '@ember/debug'; import { assign } from '@ember/polyfills'; -import { VMArguments } from '@glimmer/interfaces'; +import { CapturedArguments } from '@glimmer/interfaces'; import { createComputeRef } from '@glimmer/reference'; import { reifyNamed } from '@glimmer/runtime'; import { internalHelper } from './internal-helper'; @@ -30,9 +30,7 @@ import { internalHelper } from './internal-helper'; @return {Object} A `QueryParams` object for `{{link-to}}` @public */ -export default internalHelper((args: VMArguments) => { - let { positional, named } = args.capture(); - +export default internalHelper(({ positional, named }: CapturedArguments) => { return createComputeRef(() => { assert( "The `query-params` helper only accepts named arguments, e.g. (query-params queryParamPropertyName='foo') as opposed to (query-params 'foo')", diff --git a/packages/@ember/-internals/glimmer/lib/helpers/readonly.ts b/packages/@ember/-internals/glimmer/lib/helpers/readonly.ts index f2f6b53b333..98328c11145 100644 --- a/packages/@ember/-internals/glimmer/lib/helpers/readonly.ts +++ b/packages/@ember/-internals/glimmer/lib/helpers/readonly.ts @@ -1,7 +1,7 @@ /** @module ember */ -import { VMArguments } from '@glimmer/interfaces'; +import { CapturedArguments } from '@glimmer/interfaces'; import { createReadOnlyRef } from '@glimmer/reference'; import { internalHelper } from './internal-helper'; @@ -120,6 +120,6 @@ import { internalHelper } from './internal-helper'; @for Ember.Templates.helpers @private */ -export default internalHelper((args: VMArguments) => { - return createReadOnlyRef(args.positional.at(0)); +export default internalHelper(({ positional }: CapturedArguments) => { + return createReadOnlyRef(positional[0]); }); diff --git a/packages/@ember/-internals/glimmer/lib/helpers/unbound.ts b/packages/@ember/-internals/glimmer/lib/helpers/unbound.ts index 474c39b1f00..e119f0c3903 100644 --- a/packages/@ember/-internals/glimmer/lib/helpers/unbound.ts +++ b/packages/@ember/-internals/glimmer/lib/helpers/unbound.ts @@ -3,7 +3,7 @@ */ import { assert } from '@ember/debug'; -import { VMArguments } from '@glimmer/interfaces'; +import { CapturedArguments } from '@glimmer/interfaces'; import { createUnboundRef, valueForRef } from '@glimmer/reference'; import { internalHelper } from './internal-helper'; @@ -35,11 +35,11 @@ import { internalHelper } from './internal-helper'; @public */ -export default internalHelper((args: VMArguments) => { +export default internalHelper(({ positional, named }: CapturedArguments) => { assert( 'unbound helper cannot be called with multiple params or hash params', - args.positional.length === 1 && args.named.length === 0 + positional.length === 1 && Object.keys(named).length === 0 ); - return createUnboundRef(valueForRef(args.positional.at(0)), '(resurt of an `unbound` helper)'); + return createUnboundRef(valueForRef(positional[0]), '(resurt of an `unbound` helper)'); }); diff --git a/packages/@ember/-internals/glimmer/lib/modifiers/action.ts b/packages/@ember/-internals/glimmer/lib/modifiers/action.ts index 165df09fa1e..f3678a76b96 100644 --- a/packages/@ember/-internals/glimmer/lib/modifiers/action.ts +++ b/packages/@ember/-internals/glimmer/lib/modifiers/action.ts @@ -7,12 +7,10 @@ import { join } from '@ember/runloop'; import { registerDestructor } from '@glimmer/destroyable'; import { DEBUG } from '@glimmer/env'; import { + CapturedArguments, CapturedNamedArguments, CapturedPositionalArguments, - DynamicScope, - GlimmerTreeChanges, InternalModifierManager, - VMArguments, } from '@glimmer/interfaces'; import { setInternalModifierManager } from '@glimmer/manager'; import { isInvokableRef, updateRef, valueForRef } from '@glimmer/reference'; @@ -73,7 +71,6 @@ export class ActionState { public namedArgs: CapturedNamedArguments; public positional: CapturedPositionalArguments; public implicitTarget: any; - public dom: GlimmerTreeChanges; public eventName: any; public tag = createUpdatableTag(); @@ -82,15 +79,13 @@ export class ActionState { actionId: number, actionArgs: any[], namedArgs: CapturedNamedArguments, - positionalArgs: CapturedPositionalArguments, - dom: GlimmerTreeChanges + positionalArgs: CapturedPositionalArguments ) { this.element = element; this.actionId = actionId; this.actionArgs = actionArgs; this.namedArgs = namedArgs; this.positional = positionalArgs; - this.dom = dom; this.eventName = this.getEventName(); registerDestructor(this, () => ActionHelper.unregisterAction(this)); @@ -208,12 +203,8 @@ class ActionModifierManager implements InternalModifierManager => { - let owner = vm.getOwner() as Owner; - let nameRef = args.positional.at(0) as Reference>; - let captured: Option = null; + (args: CapturedArguments, owner?: Owner): Reference => { + assert('{{mount}} must be used within a component that has an owner', owner); + let nameRef = args.positional[0] as Reference>; + let captured: CapturedArguments | null; assert( 'You can only pass a single positional argument to the {{mount}} helper, e.g. {{mount "chat-engine"}}.', @@ -62,7 +62,7 @@ export const mountHelper = internalHelper( ); if (DEBUG && args.named) { - let keys = args.named.names; + let keys = Object.keys(args.named); let extra = keys.filter((k) => k !== 'model'); assert( @@ -73,19 +73,7 @@ export const mountHelper = internalHelper( ); } - // TODO: the functionality to create a proper CapturedArgument should be - // exported by glimmer, or that it should provide an overload for `curry` - // that takes `PreparedArguments` - if (args.named.has('model')) { - assert( - '[BUG] this should already be checked by the template transform', - args.named.length === 1 - ); - - let named = args.named.capture(); - - captured = createCapturedArgs(named, EMPTY_POSITIONAL); - } + captured = createCapturedArgs(args.named, EMPTY_POSITIONAL); let lastName: string | null, lastDef: CurriedValue | null; @@ -99,7 +87,7 @@ export const mountHelper = internalHelper( assert( `You used \`{{mount '${name}'}}\`, but the engine '${name}' can not be found.`, - owner.hasRegistration(`engine:${name}`) + (owner as Owner).hasRegistration(`engine:${name}`) ); lastName = name; diff --git a/packages/@ember/-internals/glimmer/lib/syntax/outlet.ts b/packages/@ember/-internals/glimmer/lib/syntax/outlet.ts index 3e09e025253..d5050b03a3a 100644 --- a/packages/@ember/-internals/glimmer/lib/syntax/outlet.ts +++ b/packages/@ember/-internals/glimmer/lib/syntax/outlet.ts @@ -1,5 +1,7 @@ +import { Owner } from '@ember/-internals/owner'; +import { assert } from '@ember/debug'; import { DEBUG } from '@glimmer/env'; -import { CurriedType, VM, VMArguments } from '@glimmer/interfaces'; +import { CapturedArguments, CurriedType, DynamicScope } from '@glimmer/interfaces'; import { childRefFromParts, createComputeRef, @@ -12,7 +14,6 @@ import { createCapturedArgs, CurriedValue, curry, EMPTY_POSITIONAL } from '@glim import { dict } from '@glimmer/util'; import { OutletComponentDefinition, OutletDefinitionState } from '../component-managers/outlet'; import { internalHelper } from '../helpers/internal-helper'; -import { DynamicScope } from '../renderer'; import { isTemplateFactory } from '../template'; import { OutletState } from '../utils/outlet'; @@ -63,59 +64,63 @@ import { OutletState } from '../utils/outlet'; @for Ember.Templates.helpers @public */ -export const outletHelper = internalHelper((args: VMArguments, vm: VM) => { - let scope = vm.dynamicScope() as DynamicScope; - let nameRef: Reference; - - if (args.positional.length === 0) { - nameRef = createPrimitiveRef('main'); - } else { - nameRef = args.positional.at(0); - } - - let outletRef = createComputeRef(() => { - let state = valueForRef(scope.get('outletState')); - let outlets = state !== undefined ? state.outlets : undefined; - - return outlets !== undefined ? outlets[valueForRef(nameRef)] : undefined; - }); - - let lastState: OutletDefinitionState | null = null; - let definition: CurriedValue | null = null; - - return createComputeRef(() => { - let outletState = valueForRef(outletRef); - let state = stateFor(outletRef, outletState); - - if (!validate(state, lastState)) { - lastState = state; - - if (state !== null) { - let named = dict(); - named.model = childRefFromParts(outletRef, ['render', 'model']); +export const outletHelper = internalHelper( + (args: CapturedArguments, owner?: Owner, scope?: DynamicScope) => { + assert('Expected owner to be present, {{outlet}} requires an owner', owner); + assert( + 'Expected dynamic scope to be present. You may have attempted to use the {{outlet}} keyword dynamically. This keyword cannot be used dynamically.', + scope + ); + let nameRef: Reference; + + if (args.positional.length === 0) { + nameRef = createPrimitiveRef('main'); + } else { + nameRef = args.positional[0]; + } - if (DEBUG) { - named.model = createDebugAliasRef!('@model', named.model); + let outletRef = createComputeRef(() => { + let state = valueForRef(scope.get('outletState') as Reference); + let outlets = state !== undefined ? state.outlets : undefined; + + return outlets !== undefined ? outlets[valueForRef(nameRef)] : undefined; + }); + + let lastState: OutletDefinitionState | null = null; + let definition: CurriedValue | null = null; + + return createComputeRef(() => { + let outletState = valueForRef(outletRef); + let state = stateFor(outletRef, outletState); + + if (!validate(state, lastState)) { + lastState = state; + + if (state !== null) { + let named = dict(); + named.model = childRefFromParts(outletRef, ['render', 'model']); + + if (DEBUG) { + named.model = createDebugAliasRef!('@model', named.model); + } + + let args = createCapturedArgs(named, EMPTY_POSITIONAL); + definition = curry( + CurriedType.Component, + new OutletComponentDefinition(state), + outletState?.render?.owner ?? owner, + args, + true + ); + } else { + definition = null; } - - let owner = outletState?.render?.owner ?? vm.getOwner(); - - let args = createCapturedArgs(named, EMPTY_POSITIONAL); - definition = curry( - CurriedType.Component, - new OutletComponentDefinition(state), - owner, - args, - true - ); - } else { - definition = null; } - } - return definition; - }); -}); + return definition; + }); + } +); function stateFor(ref: Reference, outlet: OutletState | undefined): OutletDefinitionState | null { if (outlet === undefined) return null; diff --git a/packages/internal-test-helpers/lib/define-template-values.ts b/packages/internal-test-helpers/lib/define-template-values.ts index 1dc1afb09c7..49ee1752567 100644 --- a/packages/internal-test-helpers/lib/define-template-values.ts +++ b/packages/internal-test-helpers/lib/define-template-values.ts @@ -13,7 +13,6 @@ import { HelperManager, ModifierManager, } from '@glimmer/interfaces'; -import { SimpleElement } from '@simple-dom/interface'; import compile from './compile'; interface SimpleHelperState { @@ -47,7 +46,7 @@ type SimpleModifierFn = (...args: unknown[]) => (() => void) | undefined; interface SimpleModifierState { fn: SimpleModifierFn; args: Arguments; - element: SimpleElement | undefined; + element: Element | undefined; destructor: (() => void) | undefined; } @@ -58,7 +57,7 @@ class FunctionalModifierManager implements ModifierManager return { fn, args, element: undefined, destructor: undefined }; } - installModifier(state: SimpleModifierState, element: SimpleElement) { + installModifier(state: SimpleModifierState, element: Element) { state.element = element; this.setupModifier(state); } diff --git a/yarn.lock b/yarn.lock index 5018fea3faa..d26911ac90a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1588,194 +1588,194 @@ minimatch "^3.0.4" strip-json-comments "^3.1.1" -"@glimmer/compiler@0.76.0": - version "0.76.0" - resolved "https://registry.yarnpkg.com/@glimmer/compiler/-/compiler-0.76.0.tgz#669036cdbdb4c69049661d35c3520b740c0ef211" - integrity sha512-GFLsuOngd64VWT+kn9JQQSx9QdYy7JCMQ1whrnwsaNGjIIL8USXQs8Oif9b4ex1vcS1wz0E2KbxgYUvvgTssmg== - dependencies: - "@glimmer/interfaces" "0.76.0" - "@glimmer/syntax" "0.76.0" - "@glimmer/util" "0.76.0" - "@glimmer/wire-format" "0.76.0" +"@glimmer/compiler@0.77.1": + version "0.77.1" + resolved "https://registry.yarnpkg.com/@glimmer/compiler/-/compiler-0.77.1.tgz#1d31c5c695ee7cd1ee6c1ccad6e96fa11e334f63" + integrity sha512-gb2qFUtrnjeFm/JWmKzhXfHiQ3hzrgvIQMomh1CWyPz1e5oyw04UsOjBJCFcr0/xgpu9p8UMmEeKTkLCyROrTw== + dependencies: + "@glimmer/interfaces" "0.77.1" + "@glimmer/syntax" "0.77.1" + "@glimmer/util" "0.77.1" + "@glimmer/wire-format" "0.77.1" "@simple-dom/interface" "^1.4.0" -"@glimmer/destroyable@0.76.0": - version "0.76.0" - resolved "https://registry.yarnpkg.com/@glimmer/destroyable/-/destroyable-0.76.0.tgz#0512bcd474fcab2ddfbc3ca55ca77deb8b577858" - integrity sha512-DeIXL0pcR/Zz0mMYm2KM4kpI0cz/xY8IykB4EuP+TyP2T45aKl2xbaHGqEi72h7kSgFUJTQ8GTG1VxGeHOSurQ== +"@glimmer/destroyable@0.77.1": + version "0.77.1" + resolved "https://registry.yarnpkg.com/@glimmer/destroyable/-/destroyable-0.77.1.tgz#201308ac284a3466e46bad904526dd1dbf21ae72" + integrity sha512-E0kIvBbaLM36Wvvqt7LticXSTesTi2jQnXEXIr2u4dS128aaHIGlmpn6b/ITiJEVjJNFffaKqpfY1YuLjMaKpA== dependencies: "@glimmer/env" "0.1.7" - "@glimmer/global-context" "0.76.0" - "@glimmer/interfaces" "0.76.0" - "@glimmer/util" "0.76.0" + "@glimmer/global-context" "0.77.1" + "@glimmer/interfaces" "0.77.1" + "@glimmer/util" "0.77.1" -"@glimmer/encoder@0.76.0": - version "0.76.0" - resolved "https://registry.yarnpkg.com/@glimmer/encoder/-/encoder-0.76.0.tgz#496c611d4d4ac288486a9a4d0958858872d249d2" - integrity sha512-QA01veEQfz6YAa7pISPaxMpjZAZdePzmC0+52ICgmHrAO8jOegvOTZo/g7VZsK5mylY7MYSYssWCm0Iwkk95nw== +"@glimmer/encoder@0.77.1": + version "0.77.1" + resolved "https://registry.yarnpkg.com/@glimmer/encoder/-/encoder-0.77.1.tgz#520de1d5fce5d4bd1b300db8e41485ef58e6380d" + integrity sha512-MGn1khRJB1euNNYOY+f7qsxhTFJqQH5y+98CUiCsIwtuqdlBfaVW09xOIcdlpEjkoPzFJJysvzGJURKKdmaq2g== dependencies: "@glimmer/env" "0.1.7" - "@glimmer/interfaces" "0.76.0" - "@glimmer/vm" "0.76.0" + "@glimmer/interfaces" "0.77.1" + "@glimmer/vm" "0.77.1" "@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.76.0": - version "0.76.0" - resolved "https://registry.yarnpkg.com/@glimmer/global-context/-/global-context-0.76.0.tgz#7608cbd9d509e3c34c17422b7c7d2a134e987310" - integrity sha512-BXh+jRId8kTmtOW6BmwlyrQBfNUDgheikSPYUNBRz8zRVr5Lkgk1sQCdqmh7UQs3LgJbMzTAb44Far51w+Iriw== +"@glimmer/global-context@0.77.1": + version "0.77.1" + resolved "https://registry.yarnpkg.com/@glimmer/global-context/-/global-context-0.77.1.tgz#3af524269ee6de77ee1236f3650747774c026470" + integrity sha512-ncHfREo4zQC8XGFf1zQuQ+2T8THUIZtcGMm+Aj0k80TUb9PgE5oJPNeY7hhbYHJV531o5cuEX/SuTlCTrLm9wg== dependencies: "@glimmer/env" "^0.1.7" -"@glimmer/interfaces@0.76.0": - version "0.76.0" - resolved "https://registry.yarnpkg.com/@glimmer/interfaces/-/interfaces-0.76.0.tgz#0ca0f375a441f2ccd33733252aae030acbff05fa" - integrity sha512-n44NPbeovuiTl1Nce/Pu9A137cHKH9TcRZVNzpFLIY3AvDSKeGemAYmiX9H43ZqX4jm3am6cB9TQwheNfcNJpg== +"@glimmer/interfaces@0.77.1": + version "0.77.1" + resolved "https://registry.yarnpkg.com/@glimmer/interfaces/-/interfaces-0.77.1.tgz#845a62ff6dc6a3646642cfbeec84b13a8a66ea1c" + integrity sha512-Dp0hebviZpcqEPjuNA5kGa/gl5nfYv+XEI0e9ozF5d1FD5yGPdvwQ9D+sQ4Dn888XCCmTWzKME4iRsVHK5aJoA== dependencies: "@simple-dom/interface" "^1.4.0" -"@glimmer/low-level@0.76.0": - version "0.76.0" - resolved "https://registry.yarnpkg.com/@glimmer/low-level/-/low-level-0.76.0.tgz#07900b3564aae49258c85bd3dd6c936fb2e34e37" - integrity sha512-yWSOM9G0BwdHsZA/QlmXbbsOXQUzn8HBBeBqdeCGqLnNWNL6Bj87HpCH7dQRXS7E9F14V+eqq2Pj5y658UcQ/Q== +"@glimmer/low-level@0.77.1": + version "0.77.1" + resolved "https://registry.yarnpkg.com/@glimmer/low-level/-/low-level-0.77.1.tgz#e6ab4a2dce3d1c33bc88ac01cf1a0943dd8e8e4d" + integrity sha512-YWoq+XtSBbFwMtyaRXqGlNgx2Nk3bnqpP43GXwfu/KeI36or14UpLmIvhB7tbzSc7F0MLMu5yW1GRELfop2S7A== -"@glimmer/manager@0.76.0": - version "0.76.0" - resolved "https://registry.yarnpkg.com/@glimmer/manager/-/manager-0.76.0.tgz#a23a3f662daec6d3d67f453cf1c07294d7afa325" - integrity sha512-G5vBPcoExkL6gBZy9507AS/IMYv1+oJqxIOSsdMM/4y3JAuAdC5UvEep54HnKPZI0UPXHF4AqOoiBaQjk3z9ag== +"@glimmer/manager@0.77.1": + version "0.77.1" + resolved "https://registry.yarnpkg.com/@glimmer/manager/-/manager-0.77.1.tgz#3816c1679c7ad98e10b0d6ea0080e24559ae64ef" + integrity sha512-Yj68aKLsjVrPmd1XXxZEVIuclp3x1IgZ9c1f6f9wdxbX+YyExfERR2x6yR+jZLZPMq6fwYgHiSfzWc9tkoE6gQ== dependencies: - "@glimmer/destroyable" "0.76.0" + "@glimmer/destroyable" "0.77.1" "@glimmer/env" "0.1.7" - "@glimmer/interfaces" "0.76.0" - "@glimmer/reference" "0.76.0" - "@glimmer/util" "0.76.0" - "@glimmer/validator" "0.76.0" - -"@glimmer/node@0.76.0": - version "0.76.0" - resolved "https://registry.yarnpkg.com/@glimmer/node/-/node-0.76.0.tgz#14b72eafef52f0c3c7afa75ba4a2f3ab61532b97" - integrity sha512-o23nL6WPtMYqD5wjZizlFC0sd3F0tEY/eOMFV8Qc1cbWrOmtxkt5ayeW4vv5DEWy3t8/JSAIEybJUTQo2JyNFA== - dependencies: - "@glimmer/interfaces" "0.76.0" - "@glimmer/runtime" "0.76.0" - "@glimmer/util" "0.76.0" + "@glimmer/interfaces" "0.77.1" + "@glimmer/reference" "0.77.1" + "@glimmer/util" "0.77.1" + "@glimmer/validator" "0.77.1" + +"@glimmer/node@0.77.1": + version "0.77.1" + resolved "https://registry.yarnpkg.com/@glimmer/node/-/node-0.77.1.tgz#fc2e09a02ad1df6f8d72436c95735d8bb960057f" + integrity sha512-iJS3z6Ut3+ZOaUnqaaEYTsQkm4LPT41GK+Tm9HbU0PXtQ3OVMWgTbrER7jwJekeZkcufXhhh7bUcioHGSqp03w== + dependencies: + "@glimmer/interfaces" "0.77.1" + "@glimmer/runtime" "0.77.1" + "@glimmer/util" "0.77.1" "@simple-dom/document" "^1.4.0" "@simple-dom/interface" "^1.4.0" -"@glimmer/opcode-compiler@0.76.0": - version "0.76.0" - resolved "https://registry.yarnpkg.com/@glimmer/opcode-compiler/-/opcode-compiler-0.76.0.tgz#8ffdc09a7cfa30bd50aff41fb5c68595a42cad41" - integrity sha512-NnVCaqBG3vBU8ZSD5taqlZ6dbglXLSL0/0J7hGI1abwDT9vOriFu0T3s+DDTfY5KjhA7/dD+IqladypYS59Y3w== +"@glimmer/opcode-compiler@0.77.1": + version "0.77.1" + resolved "https://registry.yarnpkg.com/@glimmer/opcode-compiler/-/opcode-compiler-0.77.1.tgz#6f42aaeb39aa21edb4081d34f0393d466139bfb9" + integrity sha512-AJryxdVxxtzHVTI9Dj/mCP9IKbngOaOv79j6NwnY41a2GrDsoAYpgloW0HlUNRKeCKYXT0zRBQwP3VxhArHR5w== dependencies: - "@glimmer/encoder" "0.76.0" + "@glimmer/encoder" "0.77.1" "@glimmer/env" "0.1.7" - "@glimmer/interfaces" "0.76.0" - "@glimmer/reference" "0.76.0" - "@glimmer/util" "0.76.0" - "@glimmer/vm" "0.76.0" - "@glimmer/wire-format" "0.76.0" + "@glimmer/interfaces" "0.77.1" + "@glimmer/reference" "0.77.1" + "@glimmer/util" "0.77.1" + "@glimmer/vm" "0.77.1" + "@glimmer/wire-format" "0.77.1" -"@glimmer/owner@0.76.0": - version "0.76.0" - resolved "https://registry.yarnpkg.com/@glimmer/owner/-/owner-0.76.0.tgz#c5664d051bad2683ac60e4672989ccacc99d2ade" - integrity sha512-VSW29iPLuhmZz4cpfkMGp9HJYG9JcKAqAlHTkW6Abap+hryXUn4xFXLOEjvzs6UxCqRyTUfWd6YVyYHPtwERIw== +"@glimmer/owner@0.77.1": + version "0.77.1" + resolved "https://registry.yarnpkg.com/@glimmer/owner/-/owner-0.77.1.tgz#11bcdda63ba2064fcd733e3bd9f71025532ca95f" + integrity sha512-KiKQN9JkyjXymfDvqPpzzm3O5YtssqbtlzGYgd8uJfAXMnNoAHBAGJr+T/dg+cZw1iOSDbb64PPXUU853/WyyQ== dependencies: - "@glimmer/util" "0.76.0" + "@glimmer/util" "0.77.1" -"@glimmer/program@0.76.0": - version "0.76.0" - resolved "https://registry.yarnpkg.com/@glimmer/program/-/program-0.76.0.tgz#3ea7de6227ecd95fb6d5ab4a9a18465d26fb5fae" - integrity sha512-7c07eKiwipG1waeEyZv6PI2lB0XmyvjG86dAkZj8W2sYkCGcvfNU8qpqXMHfMPkox7efcshID6nSHBslLVBS8w== +"@glimmer/program@0.77.1": + version "0.77.1" + resolved "https://registry.yarnpkg.com/@glimmer/program/-/program-0.77.1.tgz#9329640b0404021411c2e1c5d82016ebb5c12a0a" + integrity sha512-xTEnlsYMAyNQ6R8grtj2KA+nAQq9gvvOpxohSxDdrqzOtLFJGHLJ3lwUCq6gvw3IWz81t7G97encp7EA0rbT1A== dependencies: - "@glimmer/encoder" "0.76.0" + "@glimmer/encoder" "0.77.1" "@glimmer/env" "0.1.7" - "@glimmer/interfaces" "0.76.0" - "@glimmer/manager" "0.76.0" - "@glimmer/opcode-compiler" "0.76.0" - "@glimmer/util" "0.76.0" + "@glimmer/interfaces" "0.77.1" + "@glimmer/manager" "0.77.1" + "@glimmer/opcode-compiler" "0.77.1" + "@glimmer/util" "0.77.1" -"@glimmer/reference@0.76.0": - version "0.76.0" - resolved "https://registry.yarnpkg.com/@glimmer/reference/-/reference-0.76.0.tgz#c16fe4d027a3e84e8f3f80c6cd08564855cba9be" - integrity sha512-zdGs42sdD/0YU04vKYU+j7jqLeJyD/IfPULTPv35TOo/fCidvidNZqpF3AVQk4CnTViedDD0DZMUrtCSJ0hhjQ== +"@glimmer/reference@0.77.1": + version "0.77.1" + resolved "https://registry.yarnpkg.com/@glimmer/reference/-/reference-0.77.1.tgz#2bf591a1766efb58361333fa66d30175c6090733" + integrity sha512-bqlO+kOzTLHs24OpPeJWk/D14TTJImntMxVDr9XWj4VLWlH3QRISPg6ArtrJdI30MBESXHdzScaAyv7c8rN6yA== dependencies: "@glimmer/env" "^0.1.7" - "@glimmer/global-context" "0.76.0" - "@glimmer/interfaces" "0.76.0" - "@glimmer/util" "0.76.0" - "@glimmer/validator" "0.76.0" + "@glimmer/global-context" "0.77.1" + "@glimmer/interfaces" "0.77.1" + "@glimmer/util" "0.77.1" + "@glimmer/validator" "0.77.1" -"@glimmer/runtime@0.76.0": - version "0.76.0" - resolved "https://registry.yarnpkg.com/@glimmer/runtime/-/runtime-0.76.0.tgz#cef863f2d068d91acc6778d423569ac0365977b0" - integrity sha512-pc8U1/pezN5EHCDYHvSfPLQLCRgMG7V45dMuF7CTr2BuP/3XuZFQzQPCKDFzF1IZxy/FdXFO0paL+oWvfACRKA== +"@glimmer/runtime@0.77.1": + version "0.77.1" + resolved "https://registry.yarnpkg.com/@glimmer/runtime/-/runtime-0.77.1.tgz#b499ad1f6c1fc555082af0da8d837ba79c82042d" + integrity sha512-UXQgLHI1cxAGV8i1oPrmCp9pMwLLIRyKJ0S0kgW8DDsRYrtUVyFmxP1vbfpfNgnxhAt/G5ZH2LG2pGePM+ZjHg== dependencies: - "@glimmer/destroyable" "0.76.0" + "@glimmer/destroyable" "0.77.1" "@glimmer/env" "0.1.7" - "@glimmer/global-context" "0.76.0" - "@glimmer/interfaces" "0.76.0" - "@glimmer/low-level" "0.76.0" - "@glimmer/owner" "0.76.0" - "@glimmer/program" "0.76.0" - "@glimmer/reference" "0.76.0" - "@glimmer/util" "0.76.0" - "@glimmer/validator" "0.76.0" - "@glimmer/vm" "0.76.0" - "@glimmer/wire-format" "0.76.0" + "@glimmer/global-context" "0.77.1" + "@glimmer/interfaces" "0.77.1" + "@glimmer/low-level" "0.77.1" + "@glimmer/owner" "0.77.1" + "@glimmer/program" "0.77.1" + "@glimmer/reference" "0.77.1" + "@glimmer/util" "0.77.1" + "@glimmer/validator" "0.77.1" + "@glimmer/vm" "0.77.1" + "@glimmer/wire-format" "0.77.1" "@simple-dom/interface" "^1.4.0" -"@glimmer/syntax@0.76.0": - version "0.76.0" - resolved "https://registry.yarnpkg.com/@glimmer/syntax/-/syntax-0.76.0.tgz#18dd5c997b140f749a929fcedf323dbad2e20a12" - integrity sha512-ayURhGAFo9LMh0xm4KHs1TYSpCt0H37w7CSj3Oi8sgOCoiZWM716JaXhBdL/ew0IVZQIg4bJ5x+wfDmGZ+5jGA== +"@glimmer/syntax@0.77.1": + version "0.77.1" + resolved "https://registry.yarnpkg.com/@glimmer/syntax/-/syntax-0.77.1.tgz#155109c2e62a3dc94cf0ae7ccf2e840fe8875c7c" + integrity sha512-Jbfr34s0D70OlXeGzHzzK0aTRoXR0KtC6klVw5IQQlxvJIrHlZuRDpIueByL5sxhyYh9KQc13lMcHXUFaIPEtA== dependencies: - "@glimmer/interfaces" "0.76.0" - "@glimmer/util" "0.76.0" + "@glimmer/interfaces" "0.77.1" + "@glimmer/util" "0.77.1" "@handlebars/parser" "^2.0.0" simple-html-tokenizer "^0.5.10" -"@glimmer/util@0.76.0": - version "0.76.0" - resolved "https://registry.yarnpkg.com/@glimmer/util/-/util-0.76.0.tgz#fc2c5dafb6a45b3e30f48c39e79fc2a75ed6c916" - integrity sha512-afJ0WcztA2eo9uwBgKxRq6fNxiT+i/xKxYfWGc2Rr9tKiZr+zniiUHa5n44e+wQmwZi0BM0IbLdUsd5s4iEkfg== +"@glimmer/util@0.77.1": + version "0.77.1" + resolved "https://registry.yarnpkg.com/@glimmer/util/-/util-0.77.1.tgz#9dfa721a3e3d06d7ec84488ef2e1a0107ea7cf3f" + integrity sha512-9BHDbmc/z7wzre+esFI+UPR2bx2Z+NYS5SxH10zgdYMDaN7qAQ63lIt+20AasQjC49JH4GxoPTettSknMQ6F1A== dependencies: "@glimmer/env" "0.1.7" - "@glimmer/interfaces" "0.76.0" + "@glimmer/interfaces" "0.77.1" "@simple-dom/interface" "^1.4.0" -"@glimmer/validator@0.76.0": - version "0.76.0" - resolved "https://registry.yarnpkg.com/@glimmer/validator/-/validator-0.76.0.tgz#127e4e0b61a545e25cd14928ec68d994428e66bb" - integrity sha512-orpvoqWxrMyMr2B/8I2S1YVU63Sdx0O0yLfYp/DrQxtlLZNujYOcVJBejR+X/uDfl7ryDBQOg/bY36iLhP/VcQ== +"@glimmer/validator@0.77.1": + version "0.77.1" + resolved "https://registry.yarnpkg.com/@glimmer/validator/-/validator-0.77.1.tgz#8ff2c2e2ef67db5b6e6f2a13586852f1150b6ca9" + integrity sha512-iGaSkBdcWQRxoEd2XFTH8jieKZBMwztIPP1/Y4Y62nArj+gQJjJb59c6t9uiUKxwGMURLBsyMY3+rrzVfFB7xQ== dependencies: "@glimmer/env" "^0.1.7" - "@glimmer/global-context" "0.76.0" + "@glimmer/global-context" "0.77.1" -"@glimmer/vm-babel-plugins@0.76.0": - version "0.76.0" - resolved "https://registry.yarnpkg.com/@glimmer/vm-babel-plugins/-/vm-babel-plugins-0.76.0.tgz#e69afbb9ea62b31cba824147f23e7ba6f674e66e" - integrity sha512-arIbSbnVc274B6PFfvNH+gQDxHJmY8mdR1yJNXD3P0zRIzr6xw3lMvph5nV3V4t8KiE06+wAQ/HS7JI39+fuTQ== +"@glimmer/vm-babel-plugins@0.77.1": + version "0.77.1" + resolved "https://registry.yarnpkg.com/@glimmer/vm-babel-plugins/-/vm-babel-plugins-0.77.1.tgz#80c8b5476ccff68191bc42ebb29928a9b8d22d69" + integrity sha512-amkBPV3H/3OhYIeXo03sU1VzqmUl8TUxHhjfVJwRy+vQV22S5saZCiUCyOYUsUkxdEG5sU8qooooBY8VomkkBg== dependencies: babel-plugin-debug-macros "^0.3.4" -"@glimmer/vm@0.76.0": - version "0.76.0" - resolved "https://registry.yarnpkg.com/@glimmer/vm/-/vm-0.76.0.tgz#84107bbe15ec14dae508bcda73cf1f2620c12186" - integrity sha512-TCfNXeYwVjWfKvwRXsyic6CmKIM80781/62kY4xy/6G7sVTVMkRV++nO0yVIa2RKGL+TFNM7dJFIuRMQzugCiA== +"@glimmer/vm@0.77.1": + version "0.77.1" + resolved "https://registry.yarnpkg.com/@glimmer/vm/-/vm-0.77.1.tgz#a33776f6496d478e24a58771fa06b5ee7b6b39c3" + integrity sha512-H6XcYxwV1pBUXtOuGMiJ9px0smTvob38nIyio/XEHAZtl4+CshqmRwuGGNvvIuSpxVuCr9+TbrBMEGi4iazk7g== dependencies: - "@glimmer/interfaces" "0.76.0" - "@glimmer/util" "0.76.0" + "@glimmer/interfaces" "0.77.1" + "@glimmer/util" "0.77.1" -"@glimmer/wire-format@0.76.0": - version "0.76.0" - resolved "https://registry.yarnpkg.com/@glimmer/wire-format/-/wire-format-0.76.0.tgz#1092c1864255ffd85dc5f67d68ca73e660703e11" - integrity sha512-v+G1KHNpQ7xAVsp9N62PIcuE9Cjw5LWUw10+peiXDS/V3QoX4frwApY1j8VinmlnTYn69OekEU7LVCzu41gAsg== +"@glimmer/wire-format@0.77.1": + version "0.77.1" + resolved "https://registry.yarnpkg.com/@glimmer/wire-format/-/wire-format-0.77.1.tgz#f726314f6ef8868042b982ed85c8d5e3b7bbe08a" + integrity sha512-s85mr7n76c21HeV+r9xFpYCHmc3qFE2T8uu4acfIF+KNG8ZSDFg8cpGC5Mc51FoO5naMM56uH6ZzYohM7ubp4w== dependencies: - "@glimmer/interfaces" "0.76.0" - "@glimmer/util" "0.76.0" + "@glimmer/interfaces" "0.77.1" + "@glimmer/util" "0.77.1" "@handlebars/parser@^2.0.0": version "2.0.0"