ember-source 6.4.0-alpha.2 → 6.4.0-alpha.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. package/build-metadata.json +3 -3
  2. package/dist/ember-template-compiler.js +907 -1527
  3. package/dist/ember-testing.js +1 -1
  4. package/dist/ember.debug.js +3574 -4029
  5. package/dist/ember.prod.js +3408 -3984
  6. package/dist/packages/@ember/-internals/glimmer/index.js +2 -2
  7. package/dist/packages/@ember/-internals/owner/index.js +1 -0
  8. package/dist/packages/@ember/application/index.js +2 -2
  9. package/dist/packages/@ember/application/instance.js +1 -1
  10. package/dist/packages/@ember/component/helper.js +1 -1
  11. package/dist/packages/@ember/component/index.js +1 -1
  12. package/dist/packages/@ember/debug/lib/capture-render-tree.js +5 -3
  13. package/dist/packages/@ember/engine/index.js +2 -2
  14. package/dist/packages/@ember/helper/index.js +1 -1
  15. package/dist/packages/@ember/modifier/index.js +1 -1
  16. package/dist/packages/@ember/renderer/index.js +1 -1
  17. package/dist/packages/@ember/routing/index.js +1 -1
  18. package/dist/packages/@ember/template/index.js +1 -1
  19. package/dist/packages/@ember/template-compiler/lib/plugins/index.js +1 -1
  20. package/dist/packages/@ember/template-compiler/lib/plugins/transform-resolutions.js +1 -1
  21. package/dist/packages/@ember/template-compiler/lib/template.js +73 -89
  22. package/dist/packages/@glimmer/destroyable/index.js +45 -16
  23. package/dist/packages/@glimmer/encoder/index.js +1 -2
  24. package/dist/packages/@glimmer/global-context/index.js +15 -27
  25. package/dist/packages/@glimmer/manager/index.js +137 -84
  26. package/dist/packages/@glimmer/node/index.js +7 -4
  27. package/dist/packages/@glimmer/opcode-compiler/index.js +564 -534
  28. package/dist/packages/@glimmer/owner/index.js +1 -0
  29. package/dist/packages/@glimmer/program/index.js +42 -109
  30. package/dist/packages/@glimmer/reference/index.js +18 -29
  31. package/dist/packages/@glimmer/runtime/index.js +3435 -3263
  32. package/dist/packages/@glimmer/util/index.js +32 -273
  33. package/dist/packages/@glimmer/validator/index.js +36 -43
  34. package/dist/packages/@glimmer/vm/index.js +2 -140
  35. package/dist/packages/@glimmer/wire-format/index.js +1 -2
  36. package/dist/packages/ember/barrel.js +1 -1
  37. package/dist/packages/ember/version.js +1 -1
  38. package/dist/packages/ember-testing/lib/initializers.js +1 -1
  39. package/dist/packages/shared-chunks/{index-CQygUgr9.js → index-y5ClupI2.js} +50 -45
  40. package/dist/packages/shared-chunks/{setup-registry-DXuvS1Rj.js → setup-registry-8yPevDL_.js} +1 -1
  41. package/dist/packages/shared-chunks/{transform-resolutions-O6uYv8DS.js → transform-resolutions-Dpc2ClA0.js} +298 -441
  42. package/docs/data.json +40 -22
  43. package/package.json +21 -22
  44. package/types/stable/@ember/-internals/glimmer/lib/component-managers/outlet.d.ts +1 -1
  45. package/types/stable/@ember/-internals/glimmer/lib/component-managers/unwrap-template.d.ts +7 -0
  46. package/types/stable/@ember/-internals/glimmer/lib/renderer.d.ts +7 -9
  47. package/types/stable/@ember/-internals/glimmer/lib/resolver.d.ts +2 -5
  48. package/types/stable/index.d.ts +1 -0
  49. package/dist/packages/@glimmer/debug/index.js +0 -168
@@ -8,11 +8,6 @@ const ContentType = {
8
8
  Node: 6,
9
9
  Other: 8
10
10
  },
11
- CurriedTypes = {
12
- Component: 0,
13
- Helper: 1,
14
- Modifier: 2
15
- },
16
11
  InternalComponentCapabilities = {
17
12
  Empty: 0,
18
13
  dynamicLayout: 1,
@@ -35,129 +30,7 @@ const ContentType = {
35
30
  TYPE_MASK = 255,
36
31
  OPERAND_LEN_MASK = 768,
37
32
  MACHINE_MASK = 1024,
38
- MachineOp = {
39
- PushFrame: 0,
40
- PopFrame: 1,
41
- InvokeVirtual: 2,
42
- InvokeStatic: 3,
43
- Jump: 4,
44
- Return: 5,
45
- ReturnTo: 6,
46
- Size: 7
47
- },
48
- Op = {
49
- Helper: 16,
50
- SetNamedVariables: 17,
51
- SetBlocks: 18,
52
- SetVariable: 19,
53
- SetBlock: 20,
54
- GetVariable: 21,
55
- GetProperty: 22,
56
- GetBlock: 23,
57
- SpreadBlock: 24,
58
- HasBlock: 25,
59
- HasBlockParams: 26,
60
- Concat: 27,
61
- Constant: 28,
62
- ConstantReference: 29,
63
- Primitive: 30,
64
- PrimitiveReference: 31,
65
- ReifyU32: 32,
66
- Dup: 33,
67
- Pop: 34,
68
- Load: 35,
69
- Fetch: 36,
70
- RootScope: 37,
71
- VirtualRootScope: 38,
72
- ChildScope: 39,
73
- PopScope: 40,
74
- Text: 41,
75
- Comment: 42,
76
- AppendHTML: 43,
77
- AppendSafeHTML: 44,
78
- AppendDocumentFragment: 45,
79
- AppendNode: 46,
80
- AppendText: 47,
81
- OpenElement: 48,
82
- OpenDynamicElement: 49,
83
- PushRemoteElement: 50,
84
- StaticAttr: 51,
85
- DynamicAttr: 52,
86
- ComponentAttr: 53,
87
- FlushElement: 54,
88
- CloseElement: 55,
89
- PopRemoteElement: 56,
90
- Modifier: 57,
91
- BindDynamicScope: 58,
92
- PushDynamicScope: 59,
93
- PopDynamicScope: 60,
94
- CompileBlock: 61,
95
- PushBlockScope: 62,
96
- PushSymbolTable: 63,
97
- InvokeYield: 64,
98
- JumpIf: 65,
99
- JumpUnless: 66,
100
- JumpEq: 67,
101
- AssertSame: 68,
102
- Enter: 69,
103
- Exit: 70,
104
- ToBoolean: 71,
105
- EnterList: 72,
106
- ExitList: 73,
107
- Iterate: 74,
108
- Main: 75,
109
- ContentType: 76,
110
- Curry: 77,
111
- PushComponentDefinition: 78,
112
- PushDynamicComponentInstance: 79,
113
- ResolveDynamicComponent: 80,
114
- ResolveCurriedComponent: 81,
115
- PushArgs: 82,
116
- PushEmptyArgs: 83,
117
- PopArgs: 84,
118
- PrepareArgs: 85,
119
- CaptureArgs: 86,
120
- CreateComponent: 87,
121
- RegisterComponentDestructor: 88,
122
- PutComponentOperations: 89,
123
- GetComponentSelf: 90,
124
- GetComponentTagName: 91,
125
- GetComponentLayout: 92,
126
- BindEvalScope: 93,
127
- SetupForEval: 94,
128
- PopulateLayout: 95,
129
- InvokeComponentLayout: 96,
130
- BeginComponentTransaction: 97,
131
- CommitComponentTransaction: 98,
132
- DidCreateElement: 99,
133
- DidRenderLayout: 100,
134
- ResolveMaybeLocal: 102,
135
- Debugger: 103,
136
- Size: 104,
137
- StaticComponentAttr: 105,
138
- DynamicContentType: 106,
139
- DynamicHelper: 107,
140
- DynamicModifier: 108,
141
- IfInline: 109,
142
- Not: 110,
143
- GetDynamicVar: 111,
144
- Log: 112
145
- };
146
- function isMachineOp(value) {
147
- return value >= 0 && value <= 15;
148
- }
149
- function isOp(value) {
150
- return value >= 16;
151
- }
152
-
153
- /**
154
- * Registers
155
- *
156
- * For the most part, these follows MIPS naming conventions, however the
157
- * register numbers are different.
158
- */
159
- // $0 or $pc (program counter): pointer into `program` for the next insturction; -1 means exit
160
- const $pc = 0,
33
+ $pc = 0,
161
34
  $ra = 1,
162
35
  $fp = 2,
163
36
  $sp = 3,
@@ -166,19 +39,8 @@ const $pc = 0,
166
39
  $t0 = 6,
167
40
  $t1 = 7,
168
41
  $v0 = 8;
169
-
170
- // $1 or $ra (return address): pointer into `program` for the return
171
- let MachineRegister = function (MachineRegister) {
172
- return MachineRegister[MachineRegister.pc = 0] = "pc", MachineRegister[MachineRegister.ra = 1] = "ra", MachineRegister[MachineRegister.fp = 2] = "fp", MachineRegister[MachineRegister.sp = 3] = "sp", MachineRegister;
173
- }({});
174
42
  function isLowLevelRegister(register) {
175
43
  return register <= 3;
176
44
  }
177
- let SavedRegister = function (SavedRegister) {
178
- return SavedRegister[SavedRegister.s0 = 4] = "s0", SavedRegister[SavedRegister.s1 = 5] = "s1", SavedRegister;
179
- }({}),
180
- TemporaryRegister = function (TemporaryRegister) {
181
- return TemporaryRegister[TemporaryRegister.t0 = 6] = "t0", TemporaryRegister[TemporaryRegister.t1 = 7] = "t1", TemporaryRegister;
182
- }({});
183
45
 
184
- export { $fp, $pc, $ra, $s0, $s1, $sp, $t0, $t1, $v0, ARG_SHIFT, ContentType, CurriedTypes as CurriedType, CurriedTypes, InternalComponentCapabilities, InternalComponentCapabilities as InternalComponentCapability, MACHINE_MASK, MAX_SIZE, MachineOp, MachineRegister, OPERAND_LEN_MASK, Op, SavedRegister, TYPE_MASK, TYPE_SIZE, TemporaryRegister, isLowLevelRegister, isMachineOp, isOp };
46
+ export { $fp, $pc, $ra, $s0, $s1, $sp, $t0, $t1, $v0, ARG_SHIFT, ContentType, InternalComponentCapabilities, InternalComponentCapabilities as InternalComponentCapability, MACHINE_MASK, MAX_SIZE, OPERAND_LEN_MASK, TYPE_MASK, TYPE_SIZE, isLowLevelRegister };
@@ -68,9 +68,8 @@ const opcodes = {
68
68
  p: 2,
69
69
  a: 3
70
70
  };
71
-
72
- // eslint-disable-next-line @typescript-eslint/naming-convention
73
71
  function is(variant) {
72
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
74
73
  return function (value) {
75
74
  return Array.isArray(value) && value[0] === variant;
76
75
  };
@@ -39,7 +39,7 @@ import MutableEnumerable from '../@ember/enumerable/mutable.js';
39
39
  import '../@ember/-internals/runtime/lib/mixins/target_action_support.js';
40
40
  import '../@ember/-internals/runtime/lib/ext/rsvp.js';
41
41
  import { templateFactory } from '../@glimmer/opcode-compiler/index.js';
42
- import { I as Input, C as Component, H as Helper, e as escapeExpression } from '../shared-chunks/index-CQygUgr9.js';
42
+ import { I as Input, C as Component, H as Helper, e as escapeExpression } from '../shared-chunks/index-y5ClupI2.js';
43
43
  import { a as getTemplates, b as setTemplates } from '../shared-chunks/template_registry-DigcUg9m.js';
44
44
  import { isSerializationFirstNode, templateOnlyComponent, invokeHelper, hash, array, concat, get as get$1, on as on$1, fn } from '../@glimmer/runtime/index.js';
45
45
  import { run } from '../@ember/runloop/index.js';
@@ -1,4 +1,4 @@
1
1
  // this file gets replaced with the real value during the build
2
- const Version = '6.4.0-alpha.2';
2
+ const Version = '6.4.0-alpha.3';
3
3
 
4
4
  export { Version as default };
@@ -36,7 +36,7 @@ import '../../shared-chunks/unrecognized-url-error-zpz-JEoG.js';
36
36
  import '../../@ember/routing/lib/routing-service.js';
37
37
  import '../../@ember/controller/index.js';
38
38
  import '../../@glimmer/opcode-compiler/index.js';
39
- import '../../shared-chunks/index-CQygUgr9.js';
39
+ import '../../shared-chunks/index-y5ClupI2.js';
40
40
  import '../../shared-chunks/registry-B8WARvkP.js';
41
41
  import '../../@glimmer/runtime/index.js';
42
42
  import '../../@glimmer/reference/index.js';
@@ -1,7 +1,7 @@
1
- import { templateFactory, programCompilationContext } from '../@glimmer/opcode-compiler/index.js';
1
+ import { templateFactory, EvaluationContextImpl } from '../@glimmer/opcode-compiler/index.js';
2
2
  import { g as getFactoryFor, p as privatize } from './registry-B8WARvkP.js';
3
3
  import { warn, debugFreeze, deprecate } from '../@ember/debug/index.js';
4
- import { reifyPositional, normalizeProperty, EMPTY_ARGS, createCapturedArgs, EMPTY_POSITIONAL, curry, hash, array, concat, fn, get as get$1, templateOnlyComponent, TEMPLATE_ONLY_COMPONENT_MANAGER, on as on$1, runtimeContext, DOMTreeConstruction, DOMChanges, clientBuilder, inTransaction, renderMain } from '../@glimmer/runtime/index.js';
4
+ import { reifyPositional, normalizeProperty, EMPTY_ARGS, createCapturedArgs, EMPTY_POSITIONAL, curry, hash, array, concat, fn, get as get$1, templateOnlyComponent, TEMPLATE_ONLY_COMPONENT_MANAGER, on as on$1, runtimeOptions, clientBuilder, inTransaction, renderMain } from '../@glimmer/runtime/index.js';
5
5
  import { join, _backburner, schedule, _getCurrentRunLoop } from '../@ember/runloop/index.js';
6
6
  import { valueForRef, isConstRef, createConstRef, isUpdatableRef, updateRef, createPrimitiveRef, childRefFor, createComputeRef, childRefFromParts, isInvokableRef, createUnboundRef, UNDEFINED_REFERENCE, createInvokableRef, createReadOnlyRef, createDebugAliasRef } from '../@glimmer/reference/index.js';
7
7
  import { untrack, consumeTag, tagFor, createCache, getValue, valueForTag, beginUntrackFrame, endUntrackFrame, beginTrackFrame, endTrackFrame, validateTag, createTag, dirtyTag as DIRTY_TAG$1, CONSTANT_TAG, isTracking, debug, createUpdatableTag, CURRENT_TAG } from '../@glimmer/validator/index.js';
@@ -41,16 +41,14 @@ import TargetActionSupport from '../@ember/-internals/runtime/lib/mixins/target_
41
41
  import '../@ember/-internals/runtime/lib/ext/rsvp.js';
42
42
  import EventDispatcher from '../@ember/-internals/views/lib/system/event_dispatcher.js';
43
43
  import { e as enumerableSymbol } from './to-string-B1BmwUkt.js';
44
- import { unwrapTemplate, EMPTY_ARRAY as EMPTY_ARRAY$1, dict } from '../@glimmer/util/index.js';
44
+ import { EMPTY_ARRAY as EMPTY_ARRAY$1, dict } from '../@glimmer/util/index.js';
45
45
  import { dasherize } from '../@ember/-internals/string/index.js';
46
46
  import { MUTABLE_CELL } from '../@ember/-internals/views/lib/compat/attrs.js';
47
47
  import { deprecateUntil, DEPRECATIONS } from '../@ember/-internals/deprecations/index.js';
48
48
  import { FrameworkObject } from '../@ember/object/-internals.js';
49
- import { CurriedType as CurriedTypes } from '../@glimmer/vm/index.js';
50
- import { RuntimeOpImpl, artifacts } from '../@glimmer/program/index.js';
49
+ import { artifacts, RuntimeOpImpl } from '../@glimmer/program/index.js';
51
50
  import { a as RSVP } from './rsvp-DaQAFb0W.js';
52
51
  import EngineInstance from '../@ember/engine/instance.js';
53
- import { NodeDOMTreeConstruction } from '../@glimmer/node/index.js';
54
52
  import { _ as _setProp, s as set } from './property_set-DS4X3Soy.js';
55
53
  import setGlobalContext from '../@glimmer/global-context/index.js';
56
54
  import { isEmberArray } from '../@ember/array/-internals.js';
@@ -66,8 +64,8 @@ const RootTemplate = templateFactory(
66
64
  {{component this}}
67
65
  */
68
66
  {
69
- "id": "tjANIXCV",
70
- "block": "[[[46,[30,0],null,null,null]],[],false,[\"component\"]]",
67
+ "id": "yTlmws8O",
68
+ "block": "[[[46,[30,0],null,null,null]],[],[\"component\"]]",
71
69
  "moduleName": "packages/@ember/-internals/glimmer/lib/templates/root.hbs",
72
70
  "isStrictMode": true
73
71
  });
@@ -93,8 +91,8 @@ const InputTemplate = templateFactory(
93
91
  />
94
92
  */
95
93
  {
96
- "id": "4z3DuGQ3",
97
- "block": "[[[11,\"input\"],[16,1,[30,0,[\"id\"]]],[16,0,[30,0,[\"class\"]]],[17,1],[16,4,[30,0,[\"type\"]]],[16,\"checked\",[30,0,[\"checked\"]]],[16,2,[30,0,[\"value\"]]],[4,[32,0],[\"change\",[30,0,[\"change\"]]],null],[4,[32,0],[\"input\",[30,0,[\"input\"]]],null],[4,[32,0],[\"keyup\",[30,0,[\"keyUp\"]]],null],[4,[32,0],[\"paste\",[30,0,[\"valueDidChange\"]]],null],[4,[32,0],[\"cut\",[30,0,[\"valueDidChange\"]]],null],[12],[13]],[\"&attrs\"],false,[]]",
94
+ "id": "Cc/BCoQJ",
95
+ "block": "[[[11,\"input\"],[16,1,[30,0,[\"id\"]]],[16,0,[30,0,[\"class\"]]],[17,1],[16,4,[30,0,[\"type\"]]],[16,\"checked\",[30,0,[\"checked\"]]],[16,2,[30,0,[\"value\"]]],[4,[32,0],[\"change\",[30,0,[\"change\"]]],null],[4,[32,0],[\"input\",[30,0,[\"input\"]]],null],[4,[32,0],[\"keyup\",[30,0,[\"keyUp\"]]],null],[4,[32,0],[\"paste\",[30,0,[\"valueDidChange\"]]],null],[4,[32,0],[\"cut\",[30,0,[\"valueDidChange\"]]],null],[12],[13]],[\"&attrs\"],[]]",
98
96
  "moduleName": "packages/@ember/-internals/glimmer/lib/templates/input.hbs",
99
97
  "scope": () => [on],
100
98
  "isStrictMode": true
@@ -616,8 +614,8 @@ const LinkToTemplate = templateFactory(
616
614
  >{{yield}}</a>
617
615
  */
618
616
  {
619
- "id": "Ub0nir+H",
620
- "block": "[[[11,3],[16,1,[30,0,[\"id\"]]],[16,0,[30,0,[\"class\"]]],[16,\"role\",[30,0,[\"role\"]]],[16,\"title\",[30,0,[\"title\"]]],[16,\"rel\",[30,0,[\"rel\"]]],[16,\"tabindex\",[30,0,[\"tabindex\"]]],[16,\"target\",[30,0,[\"target\"]]],[17,1],[16,6,[30,0,[\"href\"]]],[4,[32,0],[\"click\",[30,0,[\"click\"]]],null],[12],[18,2,null],[13]],[\"&attrs\",\"&default\"],false,[\"yield\"]]",
617
+ "id": "7Z3LFeO/",
618
+ "block": "[[[11,3],[16,1,[30,0,[\"id\"]]],[16,0,[30,0,[\"class\"]]],[16,\"role\",[30,0,[\"role\"]]],[16,\"title\",[30,0,[\"title\"]]],[16,\"rel\",[30,0,[\"rel\"]]],[16,\"tabindex\",[30,0,[\"tabindex\"]]],[16,\"target\",[30,0,[\"target\"]]],[17,1],[16,6,[30,0,[\"href\"]]],[4,[32,0],[\"click\",[30,0,[\"click\"]]],null],[12],[18,2,null],[13]],[\"&attrs\",\"&default\"],[\"yield\"]]",
621
619
  "moduleName": "packages/@ember/-internals/glimmer/lib/templates/link-to.hbs",
622
620
  "scope": () => [on],
623
621
  "isStrictMode": true
@@ -1209,8 +1207,8 @@ const TextareaTemplate = templateFactory(
1209
1207
  />
1210
1208
  */
1211
1209
  {
1212
- "id": "112WKCh2",
1213
- "block": "[[[11,\"textarea\"],[16,1,[30,0,[\"id\"]]],[16,0,[30,0,[\"class\"]]],[17,1],[16,2,[30,0,[\"value\"]]],[4,[32,0],[\"change\",[30,0,[\"change\"]]],null],[4,[32,0],[\"input\",[30,0,[\"input\"]]],null],[4,[32,0],[\"keyup\",[30,0,[\"keyUp\"]]],null],[4,[32,0],[\"paste\",[30,0,[\"valueDidChange\"]]],null],[4,[32,0],[\"cut\",[30,0,[\"valueDidChange\"]]],null],[12],[13]],[\"&attrs\"],false,[]]",
1210
+ "id": "KVdeMchh",
1211
+ "block": "[[[11,\"textarea\"],[16,1,[30,0,[\"id\"]]],[16,0,[30,0,[\"class\"]]],[17,1],[16,2,[30,0,[\"value\"]]],[4,[32,0],[\"change\",[30,0,[\"change\"]]],null],[4,[32,0],[\"input\",[30,0,[\"input\"]]],null],[4,[32,0],[\"keyup\",[30,0,[\"keyUp\"]]],null],[4,[32,0],[\"paste\",[30,0,[\"valueDidChange\"]]],null],[4,[32,0],[\"cut\",[30,0,[\"valueDidChange\"]]],null],[12],[13]],[\"&attrs\"],[]]",
1214
1212
  "moduleName": "packages/@ember/-internals/glimmer/lib/templates/textarea.hbs",
1215
1213
  "scope": () => [on],
1216
1214
  "isStrictMode": true
@@ -1249,6 +1247,16 @@ class _Textarea extends AbstractInput {
1249
1247
  }
1250
1248
  const Textarea = opaquify(_Textarea, TextareaTemplate);
1251
1249
 
1250
+ /**
1251
+ * @deprecated
1252
+ */
1253
+ function unwrapTemplate(template) {
1254
+ if (template.result === 'error') {
1255
+ throw new Error(`Compile Error: ${template.problem} @ ${template.span.start}..${template.span.end}`);
1256
+ }
1257
+ return template;
1258
+ }
1259
+
1252
1260
  function isTemplateFactory(template) {
1253
1261
  return typeof template === 'function';
1254
1262
  }
@@ -3670,8 +3678,8 @@ const OUTLET_COMPONENT_TEMPLATE = templateFactory(
3670
3678
  <@Component @controller={{@controller}} @model={{@model}} />
3671
3679
  */
3672
3680
  {
3673
- "id": "tiv/fOHO",
3674
- "block": "[[[8,[30,1],null,[[\"@controller\",\"@model\"],[[30,2],[30,3]]],null]],[\"@Component\",\"@controller\",\"@model\"],false,[]]",
3681
+ "id": "Hacwyo/Q",
3682
+ "block": "[[[8,[30,1],null,[[\"@controller\",\"@model\"],[[30,2],[30,3]]],null]],[\"@Component\",\"@controller\",\"@model\"],[]]",
3675
3683
  "moduleName": "/home/runner/work/ember.js/ember.js/packages/@ember/-internals/glimmer/lib/component-managers/outlet.ts",
3676
3684
  "isStrictMode": true
3677
3685
  });
@@ -4669,7 +4677,7 @@ const mountHelper = internalHelper((args, owner) => {
4669
4677
  }
4670
4678
  (isDevelopingApp() && !(owner.hasRegistration(`engine:${name}`)) && assert(`You used \`{{mount '${name}'}}\`, but the engine '${name}' can not be found.`, owner.hasRegistration(`engine:${name}`)));
4671
4679
  lastName = name;
4672
- lastDef = curry(CurriedTypes.Component, new MountDefinition(name), owner, captured, true);
4680
+ lastDef = curry(0, new MountDefinition(name), owner, captured, true);
4673
4681
  return lastDef;
4674
4682
  } else {
4675
4683
  (isDevelopingApp() && !(name === null || name === undefined) && assert(`Invalid engine name '${name}' specified, engine name must be either a string, null or undefined.`, name === null || name === undefined));
@@ -4781,7 +4789,7 @@ class RouteTemplate {
4781
4789
  // the same pattern to get things going.
4782
4790
  function makeRouteTemplate(owner, name, template) {
4783
4791
  let routeTemplate = new RouteTemplate(name, template);
4784
- return curry(CurriedTypes.Component, routeTemplate, owner, null, true);
4792
+ return curry(0, routeTemplate, owner, null, true);
4785
4793
  }
4786
4794
 
4787
4795
  /**
@@ -4911,7 +4919,7 @@ const outletHelper = internalHelper((_args, owner, scope) => {
4911
4919
  let args = createCapturedArgs(named, EMPTY_POSITIONAL);
4912
4920
 
4913
4921
  // Package up everything
4914
- outlet = curry(CurriedTypes.Component, new OutletComponent(owner, state), outletOwner, args, true);
4922
+ outlet = curry(0, new OutletComponent(owner, state), outletOwner, args, true);
4915
4923
  } else {
4916
4924
  outlet = null;
4917
4925
  }
@@ -5267,16 +5275,17 @@ class RootState {
5267
5275
  result;
5268
5276
  destroyed;
5269
5277
  render;
5270
- constructor(root, runtime, context, owner, template, self, parentElement, dynamicScope, builder) {
5278
+ env;
5279
+ constructor(root, context, owner, template, self, parentElement, dynamicScope, builder) {
5271
5280
  this.root = root;
5272
- this.runtime = runtime;
5273
5281
  (isDevelopingApp() && !(template !== undefined) && assert(`You cannot render \`${valueForRef(self)}\` without a template.`, template !== undefined));
5274
5282
  this.id = root instanceof OutletView ? guidFor(root) : getViewId(root);
5275
5283
  this.result = undefined;
5276
5284
  this.destroyed = false;
5285
+ this.env = context.env;
5277
5286
  this.render = errorLoopTransaction(() => {
5278
5287
  let layout = unwrapTemplate(template).asLayout();
5279
- let iterator = renderMain(runtime, context, owner, self, builder(runtime.env, {
5288
+ let iterator = renderMain(context, owner, self, builder(context.env, {
5280
5289
  element: parentElement,
5281
5290
  nextSibling: null
5282
5291
  }), layout, dynamicScope);
@@ -5294,12 +5303,9 @@ class RootState {
5294
5303
  destroy() {
5295
5304
  let {
5296
5305
  result,
5297
- runtime: {
5298
- env
5299
- }
5306
+ env
5300
5307
  } = this;
5301
5308
  this.destroyed = true;
5302
- this.runtime = undefined;
5303
5309
  this.root = null;
5304
5310
  this.result = undefined;
5305
5311
  this.render = undefined;
@@ -5392,13 +5398,13 @@ class Renderer {
5392
5398
  _inRenderTransaction = false;
5393
5399
  _owner;
5394
5400
  _context;
5395
- _runtime;
5396
5401
  _lastRevision = -1;
5397
5402
  _destroyed = false;
5398
5403
 
5399
5404
  /** @internal */
5400
5405
  _isInteractive;
5401
5406
  _runtimeResolver;
5407
+ env;
5402
5408
  static create(props) {
5403
5409
  let {
5404
5410
  _viewRegistry
@@ -5411,29 +5417,29 @@ class Renderer {
5411
5417
  let builder = owner.lookup('service:-dom-builder');
5412
5418
  return new this(owner, document, env, rootTemplate, _viewRegistry, builder);
5413
5419
  }
5414
- constructor(owner, document, env, rootTemplate, viewRegistry, builder = clientBuilder) {
5420
+ constructor(owner, document, envOptions, rootTemplate, viewRegistry, builder = clientBuilder) {
5415
5421
  this._owner = owner;
5416
5422
  this._rootTemplate = rootTemplate(owner);
5417
5423
  this._viewRegistry = viewRegistry || owner.lookup('-view-registry:main');
5418
5424
  this._roots = [];
5419
5425
  this._removedRoots = [];
5420
5426
  this._builder = builder;
5421
- this._isInteractive = env.isInteractive;
5427
+ this._isInteractive = envOptions.isInteractive;
5428
+ let sharedArtifacts = artifacts();
5422
5429
 
5423
5430
  // resolver is exposed for tests
5424
5431
  let resolver = this._runtimeResolver = new ResolverImpl();
5425
- let sharedArtifacts = artifacts();
5426
- this._context = programCompilationContext(sharedArtifacts, resolver, heap => new RuntimeOpImpl(heap));
5427
- let runtimeEnvironmentDelegate = new EmberEnvironmentDelegate(owner, env.isInteractive);
5428
- this._runtime = runtimeContext({
5429
- appendOperations: env.hasDOM ? new DOMTreeConstruction(document) : new NodeDOMTreeConstruction(document),
5430
- updateOperations: new DOMChanges(document)
5431
- }, runtimeEnvironmentDelegate, sharedArtifacts, resolver);
5432
+ let env = new EmberEnvironmentDelegate(owner, envOptions.isInteractive);
5433
+ let options = runtimeOptions({
5434
+ document
5435
+ }, env, sharedArtifacts, resolver);
5436
+ this._context = new EvaluationContextImpl(sharedArtifacts, heap => new RuntimeOpImpl(heap), options);
5437
+ this.env = this._context.env;
5432
5438
  }
5433
5439
  get debugRenderTree() {
5434
5440
  let {
5435
5441
  debugRenderTree
5436
- } = this._runtime.env;
5442
+ } = this.env;
5437
5443
  (isDevelopingApp() && !(debugRenderTree) && assert('Attempted to access the DebugRenderTree, but it did not exist. Is the Ember Inspector open?', debugRenderTree));
5438
5444
  return debugRenderTree;
5439
5445
  }
@@ -5465,16 +5471,16 @@ class Renderer {
5465
5471
  named['controller'] = UNDEFINED_REFERENCE;
5466
5472
  named['model'] = UNDEFINED_REFERENCE;
5467
5473
  let args = createCapturedArgs(named, EMPTY_POSITIONAL);
5468
- this._appendDefinition(view, curry(CurriedTypes.Component, outlet, view.owner, args, true), target);
5474
+ this._appendDefinition(view, curry(0, outlet, view.owner, args, true), target);
5469
5475
  }
5470
5476
  appendTo(view, target) {
5471
5477
  let definition = new RootComponentDefinition(view);
5472
- this._appendDefinition(view, curry(CurriedTypes.Component, definition, this._owner, null, true), target);
5478
+ this._appendDefinition(view, curry(0, definition, this._owner, null, true), target);
5473
5479
  }
5474
5480
  _appendDefinition(root, definition, target) {
5475
5481
  let self = createConstRef(definition, 'this');
5476
5482
  let dynamicScope = new DynamicScope(null, UNDEFINED_REFERENCE);
5477
- let rootState = new RootState(root, this._runtime, this._context, this._owner, this._rootTemplate, self, target, dynamicScope, this._builder);
5483
+ let rootState = new RootState(root, this._context, this._owner, this._rootTemplate, self, target, dynamicScope, this._builder);
5478
5484
  this._renderRoot(rootState);
5479
5485
  }
5480
5486
  rerender() {
@@ -5541,7 +5547,7 @@ class Renderer {
5541
5547
  };
5542
5548
  }
5543
5549
  createElement(tagName) {
5544
- return this._runtime.env.getAppendOperations().createElement(tagName);
5550
+ return this.env.getAppendOperations().createElement(tagName);
5545
5551
  }
5546
5552
  _renderRoot(root) {
5547
5553
  let {
@@ -5556,13 +5562,12 @@ class Renderer {
5556
5562
  _renderRoots() {
5557
5563
  let {
5558
5564
  _roots: roots,
5559
- _runtime: runtime,
5560
5565
  _removedRoots: removedRoots
5561
5566
  } = this;
5562
5567
  let initialRootsLength;
5563
5568
  do {
5564
5569
  initialRootsLength = roots.length;
5565
- inTransaction(runtime.env, () => {
5570
+ inTransaction(this.env, () => {
5566
5571
  // ensure that for the first iteration of the loop
5567
5572
  // each root is processed
5568
5573
  for (let i = 0; i < roots.length; i++) {
@@ -5652,8 +5657,8 @@ const OutletTemplate = templateFactory(
5652
5657
  {{component (outletHelper)}}
5653
5658
  */
5654
5659
  {
5655
- "id": "2c6+lAmT",
5656
- "block": "[[[46,[28,[32,0],null,null],null,null,null]],[],false,[\"component\"]]",
5660
+ "id": "tiXbzL5t",
5661
+ "block": "[[[46,[28,[32,0],null,null],null,null,null]],[],[\"component\"]]",
5657
5662
  "moduleName": "packages/@ember/-internals/glimmer/lib/templates/outlet.hbs",
5658
5663
  "scope": () => [outletHelper],
5659
5664
  "isStrictMode": true
@@ -1,7 +1,7 @@
1
1
  import { p as privatize } from './registry-B8WARvkP.js';
2
2
  import { getOwner } from '../@ember/-internals/owner/index.js';
3
3
  import '../@ember/debug/index.js';
4
- import { R as RootTemplate, b as Renderer, O as OutletView, c as OutletTemplate, I as Input, L as LinkTo, T as Textarea } from './index-CQygUgr9.js';
4
+ import { R as RootTemplate, b as Renderer, O as OutletView, c as OutletTemplate, I as Input, L as LinkTo, T as Textarea } from './index-y5ClupI2.js';
5
5
  import { clientBuilder, rehydrationBuilder } from '../@glimmer/runtime/index.js';
6
6
  import { serializeBuilder } from '../@glimmer/node/index.js';
7
7
  import { isDevelopingApp } from '@embroider/macros';