ember-source 7.0.0-alpha.1 → 7.1.0-alpha.1

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 (92) hide show
  1. package/build-metadata.json +3 -3
  2. package/dist/dev/packages/@ember/-internals/glimmer/index.js +7 -7
  3. package/dist/dev/packages/@ember/application/index.js +5 -5
  4. package/dist/dev/packages/@ember/application/instance.js +4 -4
  5. package/dist/dev/packages/@ember/component/helper.js +4 -4
  6. package/dist/dev/packages/@ember/component/index.js +4 -4
  7. package/dist/dev/packages/@ember/component/template-only.js +2 -2
  8. package/dist/dev/packages/@ember/engine/index.js +5 -5
  9. package/dist/dev/packages/@ember/helper/index.js +24 -6
  10. package/dist/dev/packages/@ember/modifier/index.js +4 -4
  11. package/dist/dev/packages/@ember/modifier/on.js +2 -2
  12. package/dist/dev/packages/@ember/renderer/index.js +4 -4
  13. package/dist/dev/packages/@ember/routing/index.js +4 -4
  14. package/dist/dev/packages/@ember/template/index.js +4 -4
  15. package/dist/dev/packages/@ember/template-compiler/lib/compile-options.js +48 -6
  16. package/dist/dev/packages/@ember/template-compiler/lib/plugins/auto-import-builtins.js +57 -0
  17. package/dist/dev/packages/@ember/template-compiler/lib/plugins/index.js +3 -1
  18. package/dist/dev/packages/@ember/template-compiler/lib/template.js +29 -13
  19. package/dist/dev/packages/@ember/template-factory/index.js +1 -1
  20. package/dist/dev/packages/@glimmer/node/index.js +4 -4
  21. package/dist/dev/packages/@glimmer/opcode-compiler/index.js +2 -2
  22. package/dist/dev/packages/@glimmer/program/index.js +1 -1
  23. package/dist/dev/packages/@glimmer/runtime/index.js +5 -5
  24. package/dist/dev/packages/ember/version.js +1 -1
  25. package/dist/dev/packages/ember-template-compiler/index.js +2 -2
  26. package/dist/dev/packages/shared-chunks/{compiler-CNj62pww.js → compiler-BenCxenr.js} +0 -3
  27. package/dist/dev/packages/shared-chunks/{constants-eoaL3OJQ.js → constants-DKn6zqFX.js} +1 -1
  28. package/dist/dev/packages/shared-chunks/{dynamic-CFg3dljk.js → dynamic-Cu9Xpdzc.js} +2 -18
  29. package/dist/dev/packages/shared-chunks/{element-builder-BOxP8emt.js → element-builder-Dw_Ic9cD.js} +1 -1
  30. package/dist/dev/packages/shared-chunks/{index-PxU6E7q8.js → index-AD_RxZjB.js} +117 -21
  31. package/dist/dev/packages/shared-chunks/{index-Q7JnrdBn.js → index-CtPSmMCE.js} +2 -2
  32. package/dist/dev/packages/shared-chunks/{invoke-DxRPE05O.js → invoke-D0D6CvD5.js} +1 -1
  33. package/dist/dev/packages/shared-chunks/{program-context-BRjCC_BA.js → program-context-yOi1EExe.js} +1 -1
  34. package/dist/dev/packages/shared-chunks/{rehydrate-builder-DPImr9e9.js → rehydrate-builder-CfBtYUkk.js} +2 -2
  35. package/dist/dev/packages/shared-chunks/{render-sg8BuFaE.js → render-t-LAXUYI.js} +3 -3
  36. package/dist/dev/packages/shared-chunks/{serialize-builder-b_gSYCSS.js → serialize-builder-BUG9CxHC.js} +3 -3
  37. package/dist/dev/packages/shared-chunks/{setup-registry-DGdDOxrk.js → setup-registry-CxXWLs26.js} +6 -6
  38. package/dist/prod/packages/@ember/-internals/glimmer/index.js +7 -7
  39. package/dist/prod/packages/@ember/application/index.js +5 -5
  40. package/dist/prod/packages/@ember/application/instance.js +4 -4
  41. package/dist/prod/packages/@ember/component/helper.js +4 -4
  42. package/dist/prod/packages/@ember/component/index.js +4 -4
  43. package/dist/prod/packages/@ember/component/template-only.js +2 -2
  44. package/dist/prod/packages/@ember/engine/index.js +5 -5
  45. package/dist/prod/packages/@ember/helper/index.js +24 -6
  46. package/dist/prod/packages/@ember/modifier/index.js +4 -4
  47. package/dist/prod/packages/@ember/modifier/on.js +2 -2
  48. package/dist/prod/packages/@ember/renderer/index.js +4 -4
  49. package/dist/prod/packages/@ember/routing/index.js +4 -4
  50. package/dist/prod/packages/@ember/template/index.js +4 -4
  51. package/dist/prod/packages/@ember/template-compiler/lib/compile-options.js +45 -6
  52. package/dist/prod/packages/@ember/template-compiler/lib/plugins/auto-import-builtins.js +57 -0
  53. package/dist/prod/packages/@ember/template-compiler/lib/plugins/index.js +3 -1
  54. package/dist/prod/packages/@ember/template-compiler/lib/template.js +29 -13
  55. package/dist/prod/packages/@ember/template-factory/index.js +1 -1
  56. package/dist/prod/packages/@glimmer/node/index.js +4 -4
  57. package/dist/prod/packages/@glimmer/opcode-compiler/index.js +2 -2
  58. package/dist/prod/packages/@glimmer/program/index.js +1 -1
  59. package/dist/prod/packages/@glimmer/runtime/index.js +5 -5
  60. package/dist/prod/packages/ember/version.js +1 -1
  61. package/dist/prod/packages/ember-template-compiler/index.js +2 -2
  62. package/dist/prod/packages/shared-chunks/{compiler-Ddfo5StE.js → compiler-Rwrmj1ki.js} +0 -3
  63. package/dist/prod/packages/shared-chunks/{constants-b-2IVErl.js → constants-CB3pk7dH.js} +1 -1
  64. package/dist/prod/packages/shared-chunks/{element-builder-CiLTrXD6.js → element-builder-DbktcGKV.js} +1 -1
  65. package/dist/prod/packages/shared-chunks/{index-DZLHQAlb.js → index-BVy-auLZ.js} +110 -21
  66. package/dist/prod/packages/shared-chunks/{index-CSVCFS_p.js → index-nW__r2nX.js} +2 -2
  67. package/dist/prod/packages/shared-chunks/{invoke-DxL00a1D.js → invoke-BuwCkcVB.js} +1 -1
  68. package/dist/prod/packages/shared-chunks/{on-CrTl7JQU.js → on-ByzWKBWe.js} +2 -18
  69. package/dist/prod/packages/shared-chunks/{program-context-C-JdYXRA.js → program-context-BdUXf-jj.js} +1 -1
  70. package/dist/prod/packages/shared-chunks/{rehydrate-builder-CSn1aIO1.js → rehydrate-builder-M_dh82nR.js} +2 -2
  71. package/dist/prod/packages/shared-chunks/{render-C1ZnScKH.js → render-DJ-BzvgU.js} +3 -3
  72. package/dist/prod/packages/shared-chunks/{serialize-builder-CVQ3q8rJ.js → serialize-builder-BpVMgrCr.js} +3 -3
  73. package/dist/prod/packages/shared-chunks/{setup-registry-CMNYh2jY.js → setup-registry-KYxkFexK.js} +6 -6
  74. package/docs/data.json +154 -51
  75. package/package.json +6 -5
  76. package/types/stable/@ember/-internals/glimmer/index.d.ts +1 -0
  77. package/types/stable/@ember/-internals/glimmer/lib/component-managers/mount.d.ts +1 -1
  78. package/types/stable/@ember/-internals/glimmer/lib/component-managers/route-template.d.ts +1 -2
  79. package/types/stable/@ember/-internals/glimmer/lib/helpers/element.d.ts +29 -0
  80. package/types/stable/@ember/helper/index.d.ts +20 -0
  81. package/types/stable/@ember/template-compiler/lib/compile-options.d.ts +8 -0
  82. package/types/stable/@ember/template-compiler/lib/plugins/auto-import-builtins.d.ts +14 -0
  83. package/types/stable/@ember/template-compiler/lib/plugins/index.d.ts +3 -1
  84. package/types/stable/@ember/template-compiler/lib/types.d.ts +22 -3
  85. package/types/stable/@glimmer/global-context/index.d.ts +0 -3
  86. package/types/stable/@glimmer/interfaces/lib/compile/wire-format/api.d.ts +0 -1
  87. package/types/stable/@glimmer/interfaces/lib/managers/internal/component.d.ts +1 -2
  88. package/types/stable/@glimmer/interfaces/lib/runtime/debug-render-tree.d.ts +0 -2
  89. package/types/stable/@glimmer/runtime/lib/debug-render-tree.d.ts +0 -1
  90. package/types/stable/@glimmer/syntax/lib/parser/tokenizer-event-handlers.d.ts +0 -7
  91. package/types/stable/ember-template-compiler/lib/plugins/auto-import-builtins.d.ts +5 -0
  92. package/types/stable/index.d.ts +3 -0
@@ -20,7 +20,7 @@ declare module '@ember/-internals/glimmer/lib/component-managers/mount' {
20
20
  getOwner(state: EngineState): EngineInstance;
21
21
  create(owner: InternalOwner, { name }: EngineDefinitionState, args: VMArguments, env: Environment): EngineState;
22
22
  getDebugName({ name }: EngineDefinitionState): string;
23
- getDebugCustomRenderTree(definition: EngineDefinitionState, state: EngineState, args: CapturedArguments, templateModuleName?: string): CustomRenderNode[];
23
+ getDebugCustomRenderTree(definition: EngineDefinitionState, state: EngineState, args: CapturedArguments): CustomRenderNode[];
24
24
  getSelf({ self }: EngineState): Reference;
25
25
  getDestroyable(bucket: EngineState): Nullable<Destroyable>;
26
26
  didCreate(): void;
@@ -10,13 +10,12 @@ declare module '@ember/-internals/glimmer/lib/component-managers/route-template'
10
10
  }
11
11
  export interface RouteTemplateDefinitionState {
12
12
  name: string;
13
- templateName: string;
14
13
  }
15
14
  class RouteTemplateManager implements WithCreateInstance<RouteTemplateInstanceState, RouteTemplateDefinitionState>, WithCustomDebugRenderTree<RouteTemplateInstanceState, RouteTemplateDefinitionState> {
16
15
  create(_owner: InternalOwner, _definition: RouteTemplateDefinitionState, args: VMArguments): RouteTemplateInstanceState;
17
16
  getSelf({ self }: RouteTemplateInstanceState): Reference;
18
17
  getDebugName({ name }: RouteTemplateDefinitionState): string;
19
- getDebugCustomRenderTree({ name, templateName }: RouteTemplateDefinitionState, state: RouteTemplateInstanceState, args: CapturedArguments): CustomRenderNode[];
18
+ getDebugCustomRenderTree({ name }: RouteTemplateDefinitionState, state: RouteTemplateInstanceState, args: CapturedArguments): CustomRenderNode[];
20
19
  getCapabilities(): InternalComponentCapabilities;
21
20
  didRenderLayout(): void;
22
21
  didUpdateLayout(): void;
@@ -0,0 +1,29 @@
1
+ declare module '@ember/-internals/glimmer/lib/helpers/element' {
2
+ /**
3
+ @module @ember/helper
4
+ */
5
+ /**
6
+ The `element` helper lets you dynamically set the tag name of an element.
7
+
8
+ ```handlebars
9
+ {{#let (element @tagName) as |Tag|}}
10
+ <Tag class="my-element">Hello</Tag>
11
+ {{/let}}
12
+ ```
13
+
14
+ When `@tagName` is `"h1"`, this renders `<h1 class="my-element">Hello</h1>`.
15
+
16
+ When `@tagName` is an empty string `""`, the block content is rendered without
17
+ a wrapping element.
18
+
19
+ Passing `null`, `undefined`, or non-string values will throw an assertion error.
20
+
21
+ Changing the tag name will tear down and recreate the element and its contents.
22
+
23
+ @method element
24
+ @for Ember.Templates.helpers
25
+ @public
26
+ */
27
+ const _default: object;
28
+ export default _default;
29
+ }
@@ -452,6 +452,26 @@ declare module '@ember/helper' {
452
452
  export const fn: FnHelper;
453
453
  export interface FnHelper extends Opaque<"helper:fn"> {
454
454
  }
455
+ /**
456
+ * The `element` helper lets you dynamically set the tag name of an element.
457
+ *
458
+ * ```js
459
+ * import { element } from '@ember/helper';
460
+ *
461
+ * <template>
462
+ * {{#let (element @tagName) as |Tag|}}
463
+ * <Tag class="my-element">Hello</Tag>
464
+ * {{/let}}
465
+ * </template>
466
+ * ```
467
+ *
468
+ * When `@tagName` is `"h1"`, this renders `<h1 class="my-element">Hello</h1>`.
469
+ * When `@tagName` is an empty string, the block content is rendered without a
470
+ * wrapping element. When `@tagName` is `null` or `undefined`, nothing is rendered.
471
+ */
472
+ export const element: ElementHelper;
473
+ export interface ElementHelper extends Opaque<"helper:element"> {
474
+ }
455
475
  /**
456
476
  * Use the {{uniqueId}} helper to generate a unique ID string suitable for use as
457
477
  * an ID attribute in the DOM.
@@ -1,4 +1,12 @@
1
1
  declare module '@ember/template-compiler/lib/compile-options' {
2
2
  import type { EmberPrecompileOptions } from "@ember/template-compiler/lib/types";
3
+ /**
4
+ * The variable name used to inject the keywords object into the
5
+ * template's evaluation scope. auto-import-builtins rewrites bare
6
+ * keyword references (e.g. `on`) to property accesses on this
7
+ * variable (e.g. `__ember_keywords__.on`).
8
+ */
9
+ export const RUNTIME_KEYWORDS_NAME = "__ember_keywords__";
10
+ export const keywords: Record<string, unknown>;
3
11
  export default function compileOptions(_options?: Partial<EmberPrecompileOptions>): EmberPrecompileOptions;
4
12
  }
@@ -0,0 +1,14 @@
1
+ declare module '@ember/template-compiler/lib/plugins/auto-import-builtins' {
2
+ import type { ASTPlugin } from "@glimmer/syntax";
3
+ import type { EmberASTPluginEnvironment } from "@ember/template-compiler/lib/types";
4
+ /**
5
+ @module ember
6
+ */
7
+ /**
8
+ A Glimmer2 AST transformation that makes importable keywords work
9
+
10
+ @private
11
+ @class TransformActionSyntax
12
+ */
13
+ export default function autoImportBuiltins(env: EmberASTPluginEnvironment): ASTPlugin;
14
+ }
@@ -10,7 +10,9 @@ declare module '@ember/template-compiler/lib/plugins' {
10
10
  import TransformQuotedBindingsIntoJustBindings from "@ember/template-compiler/lib/plugins/transform-quoted-bindings-into-just-bindings";
11
11
  import TransformResolutions from "@ember/template-compiler/lib/plugins/transform-resolutions";
12
12
  import TransformWrapMountAndOutlet from "@ember/template-compiler/lib/plugins/transform-wrap-mount-and-outlet";
13
+ import AutoImportBuiltins from "@ember/template-compiler/lib/plugins/auto-import-builtins";
13
14
  export const INTERNAL_PLUGINS: {
15
+ readonly AutoImportBuiltins: typeof AutoImportBuiltins;
14
16
  readonly AssertAgainstAttrs: typeof AssertAgainstAttrs;
15
17
  readonly AssertAgainstNamedOutlets: typeof AssertAgainstNamedOutlets;
16
18
  readonly AssertInputHelperWithoutBlock: typeof AssertInputHelperWithoutBlock;
@@ -24,6 +26,6 @@ declare module '@ember/template-compiler/lib/plugins' {
24
26
  readonly TransformWrapMountAndOutlet: typeof TransformWrapMountAndOutlet;
25
27
  };
26
28
  export const RESOLUTION_MODE_TRANSFORMS: readonly (typeof AssertAgainstAttrs)[];
27
- export const STRICT_MODE_TRANSFORMS: readonly (typeof AssertAgainstNamedOutlets)[];
29
+ export const STRICT_MODE_TRANSFORMS: readonly (typeof AutoImportBuiltins)[];
28
30
  export const STRICT_MODE_KEYWORDS: readonly string[];
29
31
  }
@@ -1,16 +1,35 @@
1
1
  declare module '@ember/template-compiler/lib/types' {
2
- import type { ASTPluginEnvironment, builders, PrecompileOptions, PrecompileOptionsWithLexicalScope } from "@glimmer/syntax";
2
+ import type { ASTPluginBuilder, ASTPluginEnvironment, builders, PrecompileOptions, PrecompileOptionsWithLexicalScope } from "@glimmer/syntax";
3
3
  export type Builders = typeof builders;
4
- export type PluginFunc = NonNullable<NonNullable<PrecompileOptionsWithLexicalScope["plugins"]>["ast"]>[number];
4
+ export type PluginFunc = ASTPluginBuilder<EmberASTPluginEnvironment>;
5
5
  export type LexicalScope = NonNullable<PrecompileOptionsWithLexicalScope["lexicalScope"]>;
6
6
  interface Plugins {
7
7
  ast: PluginFunc[];
8
8
  }
9
- export interface EmberPrecompileOptions extends PrecompileOptions {
9
+ export interface EmberPrecompileOptions extends Omit<PrecompileOptions, "meta"> {
10
10
  isProduction?: boolean;
11
11
  moduleName?: string;
12
12
  plugins?: Plugins;
13
13
  lexicalScope?: LexicalScope;
14
+ meta?: {
15
+ /**
16
+ * Exists for historical reasons, should not be in new code, as
17
+ * the module name does not correspond to anything meaningful at runtime.
18
+ */
19
+ moduleName?: string | undefined;
20
+ /**
21
+ * Not available at runtime
22
+ */
23
+ jsutils?: {
24
+ bindImport: (...args: unknown[]) => string;
25
+ };
26
+ /**
27
+ * Utils unique to the runtime compiler
28
+ */
29
+ emberRuntime?: {
30
+ lookupKeyword(name: string): string;
31
+ };
32
+ };
14
33
  /**
15
34
  * This supports template blocks defined in class bodies.
16
35
  *
@@ -135,9 +135,6 @@ declare module '@glimmer/global-context' {
135
135
  deprecate: (msg: string, test: unknown, options: {
136
136
  id: string;
137
137
  }) => void;
138
- FEATURES?: {
139
- DEFAULT_HELPER_MANAGER?: boolean;
140
- };
141
138
  }
142
139
  export default function setGlobalContext(context: GlobalContext): void;
143
140
  export let assertGlobalContextWasSet: (() => void) | undefined;
@@ -374,7 +374,6 @@ declare module '@glimmer/interfaces/lib/compile/wire-format/api' {
374
374
  statements: Statements.Statement[],
375
375
  locals: string[],
376
376
  upvars: string[],
377
- lexicalSymbols?: string[],
378
377
  ];
379
378
 
380
379
  /**
@@ -169,8 +169,7 @@ declare module '@glimmer/interfaces/lib/managers/internal/component' {
169
169
  getDebugCustomRenderTree(
170
170
  definition: ComponentDefinitionState,
171
171
  state: ComponentInstanceState,
172
- args: CapturedArguments,
173
- template?: string
172
+ args: CapturedArguments
174
173
  ): CustomRenderNode[];
175
174
  }
176
175
 
@@ -17,7 +17,6 @@ declare module '@glimmer/interfaces/lib/runtime/debug-render-tree' {
17
17
  name: string;
18
18
  args: CapturedArguments;
19
19
  instance: unknown;
20
- template?: string | undefined;
21
20
  }
22
21
 
23
22
  export interface CapturedRenderNode {
@@ -26,7 +25,6 @@ declare module '@glimmer/interfaces/lib/runtime/debug-render-tree' {
26
25
  name: string;
27
26
  args: Arguments;
28
27
  instance: unknown;
29
- template: string | null;
30
28
  bounds: null | {
31
29
  parentElement: SimpleElement;
32
30
  firstNode: SimpleNode;
@@ -27,7 +27,6 @@ declare module '@glimmer/runtime/lib/debug-render-tree' {
27
27
  private appendChild;
28
28
  private captureRefs;
29
29
  private captureNode;
30
- private captureTemplate;
31
30
  private captureBounds;
32
31
  }
33
32
  export function getDebugName(
@@ -89,13 +89,6 @@ declare module '@glimmer/syntax/lib/parser/tokenizer-event-handlers' {
89
89
  }
90
90
  export interface PrecompileOptionsWithLexicalScope extends PrecompileOptions {
91
91
  lexicalScope: (variable: string) => boolean;
92
- /**
93
- * If `emit.debugSymbols` is set to `true`, the name of lexical local variables
94
- * will be included in the wire format.
95
- */
96
- emit?: {
97
- debugSymbols?: boolean;
98
- } | undefined;
99
92
  }
100
93
  export interface PreprocessOptions {
101
94
  strictMode?: boolean | undefined;
@@ -0,0 +1,5 @@
1
+ declare module 'ember-template-compiler/lib/plugins/auto-import-builtins' {
2
+ import type { ASTPluginBuilder } from "@glimmer/syntax";
3
+ const _default: ASTPluginBuilder;
4
+ export default _default;
5
+ }
@@ -78,6 +78,7 @@
78
78
  /// <reference path="./@ember/-internals/glimmer/lib/helpers/component.d.ts" />
79
79
  /// <reference path="./@ember/-internals/glimmer/lib/helpers/concat.d.ts" />
80
80
  /// <reference path="./@ember/-internals/glimmer/lib/helpers/each-in.d.ts" />
81
+ /// <reference path="./@ember/-internals/glimmer/lib/helpers/element.d.ts" />
81
82
  /// <reference path="./@ember/-internals/glimmer/lib/helpers/fn.d.ts" />
82
83
  /// <reference path="./@ember/-internals/glimmer/lib/helpers/get.d.ts" />
83
84
  /// <reference path="./@ember/-internals/glimmer/lib/helpers/hash.d.ts" />
@@ -279,6 +280,7 @@
279
280
  /// <reference path="./@ember/template-compiler/lib/plugins/assert-against-named-outlets.d.ts" />
280
281
  /// <reference path="./@ember/template-compiler/lib/plugins/assert-input-helper-without-block.d.ts" />
281
282
  /// <reference path="./@ember/template-compiler/lib/plugins/assert-reserved-named-arguments.d.ts" />
283
+ /// <reference path="./@ember/template-compiler/lib/plugins/auto-import-builtins.d.ts" />
282
284
  /// <reference path="./@ember/template-compiler/lib/plugins/index.d.ts" />
283
285
  /// <reference path="./@ember/template-compiler/lib/plugins/transform-action-syntax.d.ts" />
284
286
  /// <reference path="./@ember/template-compiler/lib/plugins/transform-each-in-into-each.d.ts" />
@@ -582,6 +584,7 @@
582
584
  /// <reference path="./ember-template-compiler/lib/plugins/assert-against-named-outlets.d.ts" />
583
585
  /// <reference path="./ember-template-compiler/lib/plugins/assert-input-helper-without-block.d.ts" />
584
586
  /// <reference path="./ember-template-compiler/lib/plugins/assert-reserved-named-arguments.d.ts" />
587
+ /// <reference path="./ember-template-compiler/lib/plugins/auto-import-builtins.d.ts" />
585
588
  /// <reference path="./ember-template-compiler/lib/plugins/index.d.ts" />
586
589
  /// <reference path="./ember-template-compiler/lib/plugins/transform-action-syntax.d.ts" />
587
590
  /// <reference path="./ember-template-compiler/lib/plugins/transform-each-in-into-each.d.ts" />