ember-source 3.28.0-beta.6 → 3.28.2

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.
package/CHANGELOG.md CHANGED
@@ -1,35 +1,21 @@
1
1
  # Ember Changelog
2
2
 
3
- ### v3.28.0-beta.6 (June 21, 2021)
3
+ ## v3.28.2 (October 21, 2021)
4
4
 
5
- - [#19584](https://github.com/emberjs/ember.js/pull/19584) [BUGFIX] Ensure hash objects correctly entangle as dependencies
6
-
7
- ### v3.28.0-beta.5 (June 14, 2021)
8
-
9
- - [#19597](https://github.com/emberjs/ember.js/pull/19597) [BUGFIX] Fix `<LinkTo>` with nested children
10
-
11
- ### v3.28.0-beta.4 (June 7, 2021)
5
+ - [glimmerjs/glimmer-vm#1351](https://github.com/glimmerjs/glimmer-vm/pull/1351) Support lexical scope in loose mode
12
6
 
13
- - [#19586](https://github.com/emberjs/ember.js/pull/19586) [BUGFIX] Fix Embroider compatibility
14
-
15
- ### v3.28.0-beta.3 (June 1, 2021)
7
+ ## v3.28.1 (August 30, 2021)
16
8
 
17
- - [#19565](https://github.com/emberjs/ember.js/pull/19565) [BUGFIX] Ensures that computed can depend on dynamic hash keys
18
- - [#19571](https://github.com/emberjs/ember.js/pull/19571) [BUGFIX] Delay until: 5.0.0 the removal of the deprecated transition methods of controller and route from [RFC #674](https://github.com/emberjs/rfcs/blob/master/text/0674-deprecate-transition-methods-of-controller-and-route.md).
9
+ - [#19733](https://github.com/emberjs/ember.js/pull/19733) [BUGFIX] Ensure that using `routerService.urlFor(...)` and `routerService.recognize(...)` does not error if the router is not fully initialized
19
10
 
20
- ### v3.28.0-beta.2 (May 27, 2021)
11
+ ## v3.28.0 (August 9, 2021)
21
12
 
22
- - [#19511](https://github.com/emberjs/ember.js/pull/19511) / [#19548](https://github.com/emberjs/ember.js/pull/19548) [BUGFIX] Makes the (hash) helper lazy
23
- - [#19530](https://github.com/emberjs/ember.js/pull/19530) [DOC] fix passing params to named blocks examples
24
- - [#19536](https://github.com/emberjs/ember.js/pull/19536) [BUGFIX] Fix `computed.*` deprecation message to include the correct import path
25
- - [#19544](https://github.com/emberjs/ember.js/pull/19544) [BUGFIX] Use explicit this in helper test blueprints
26
- - [#19555](https://github.com/emberjs/ember.js/pull/19555) [BUGFIX] Improve class based tranform deprecation message
27
- - [#19557](https://github.com/emberjs/ember.js/pull/19557) [BUGFIX] Refine Ember Global deprecation message
28
- - [#19564](https://github.com/emberjs/ember.js/pull/19564) [BUGFIX] Improve computed.* and run.* deprecation message (IE11)
13
+ - [#19697](https://github.com/emberjs/ember.js/pull/19697) [BUGFIX] Ensure `deserializeQueryParam` is called for lazy routes
14
+ - [#19681](https://github.com/emberjs/ember.js/pull/19681) [BUGFIX] Restore previous hash behavior
15
+ - [#19685](https://github.com/emberjs/ember.js/pull/19685) [BUGFIX] Fix memory leak in RouterService
16
+ - [#19690](https://github.com/emberjs/ember.js/pull/19690) [BUGFIX] Deprecates String.prototype.htmlSafe targeting Ember 4.0, as intended by the original deprecation.
17
+ - [#19584](https://github.com/emberjs/ember.js/pull/19584) [BUGFIX] Ensure hash objects correctly entangle as dependencies
29
18
  - [#19491](https://github.com/emberjs/ember.js/pull/19491) [BUGFIX] Fix `owner.lookup` `owner.register` behavior with `singleton: true` option
30
-
31
- ### v3.28.0-beta.1 (May 3, 2021)
32
-
33
19
  - [#19472](https://github.com/emberjs/ember.js/pull/19472) [BUGFIX] Prevent transformation of block params called `attrs`
34
20
 
35
21
  ## v3.27.5 (June 10, 2021)
@@ -1,6 +1,6 @@
1
1
  {
2
- "version": "3.28.0-beta.6",
2
+ "version": "3.28.2",
3
3
  "buildType": "tag",
4
- "SHA": "cd55255b6a8035c523e498087d7cf1f989e54878",
5
- "assetPath": "/tag/shas/cd55255b6a8035c523e498087d7cf1f989e54878.tgz"
4
+ "SHA": "f8be9c84f9cae53b3caa9600e7ff7379fef82b30",
5
+ "assetPath": "/tag/shas/f8be9c84f9cae53b3caa9600e7ff7379fef82b30.tgz"
6
6
  }
@@ -5,8 +5,8 @@ import { DEBUG } from '@glimmer/env';
5
5
  import { destroy, registerDestructor, associateDestroyableChild, _hasDestroyableChildren, destroyChildren, isDestroyed, isDestroying } from '@glimmer/destroyable';
6
6
  export { destroy, registerDestructor, isDestroying, isDestroyed } from '@glimmer/destroyable';
7
7
  import { $fp, $pc, $ra, $sp, $v0, $t0, $t1, $s0, $s1, isLowLevelRegister } from '@glimmer/vm';
8
- import { CONSTANT_TAG, valueForTag, validateTag, INITIAL, beginTrackFrame, endTrackFrame, consumeTag, CURRENT_TAG, track, updateTag, resetTracking, runInTrackingTransaction, createCache, getValue, combine, tagFor, createUpdatableTag } from '@glimmer/validator';
9
- import { managerHasCapability, hasInternalComponentManager, hasInternalHelperManager, setInternalComponentManager, getInternalHelperManager, hasDestroyable, hasValue, setInternalHelperManager, setCustomTagFor, setInternalModifierManager } from '@glimmer/manager';
8
+ import { CONSTANT_TAG, valueForTag, validateTag, INITIAL, beginTrackFrame, endTrackFrame, consumeTag, CURRENT_TAG, track, updateTag, resetTracking, runInTrackingTransaction, createCache, getValue, createUpdatableTag } from '@glimmer/validator';
9
+ import { managerHasCapability, hasInternalComponentManager, hasInternalHelperManager, setInternalComponentManager, getInternalHelperManager, hasDestroyable, hasValue, setInternalHelperManager, setInternalModifierManager } from '@glimmer/manager';
10
10
  import { RuntimeProgramImpl } from '@glimmer/program';
11
11
  import { getOwner } from '@glimmer/owner';
12
12
  import { reifyPositional, reifyNamed } from '@glimmer/runtime';
@@ -6667,128 +6667,20 @@ function assertCallbackIsFn(callbackRef) {
6667
6667
  }
6668
6668
  }
6669
6669
 
6670
- const HASH_PROXIES = new _WeakSet();
6671
- function isHashProxy(obj) {
6672
- return HASH_PROXIES.has(obj);
6673
- }
6674
-
6675
- function tagForKey(namedArgs, key) {
6676
- return track(() => {
6677
- if (key in namedArgs) {
6678
- valueForRef(namedArgs[key]);
6679
- }
6680
- });
6681
- }
6682
-
6683
- let hashProxyFor;
6684
-
6685
- class HashProxy {
6686
- constructor(named, target) {
6687
- this.named = named;
6688
- this.target = target;
6689
- this.argsCaches = dict();
6690
- }
6670
+ let wrapHashProxy;
6691
6671
 
6692
- syncKey(key) {
6693
- let {
6694
- argsCaches,
6695
- named
6696
- } = this;
6697
- if (!(key in named)) return;
6698
- let cache = argsCaches[key];
6699
-
6700
- if (cache === undefined) {
6701
- const ref = this.named[key];
6702
- argsCaches[key] = cache = createComputeRef(() => {
6703
- this.target[key] = valueForRef(ref);
6704
- });
6705
- }
6706
-
6707
- valueForRef(cache);
6708
- }
6709
-
6710
- get(target, prop) {
6711
- this.syncKey(prop);
6712
- return target[prop];
6713
- }
6714
-
6715
- set(target, prop, value) {
6716
- deprecate(`You set the '${prop}' property on a {{hash}} object. Setting properties on objects generated by {{hash}} is deprecated. Please update to use an object created with a tracked property or getter, or with a custom helper.`, false, {
6717
- id: 'setting-on-hash'
6718
- });
6719
- this.syncKey(prop);
6720
- target[prop] = value;
6721
- return true;
6722
- }
6723
-
6724
- has(target, prop) {
6725
- return prop in this.named || prop in target;
6726
- }
6727
-
6728
- ownKeys(target) {
6729
- for (let key in this.named) {
6730
- this.syncKey(key);
6731
- }
6732
-
6733
- return Object.getOwnPropertyNames(target);
6734
- }
6735
-
6736
- getOwnPropertyDescriptor(target, prop) {
6737
- if (prop in this.named) {
6738
- return {
6739
- enumerable: true,
6740
- configurable: true,
6741
- writable: true
6742
- };
6743
- }
6744
-
6745
- return Object.getOwnPropertyDescriptor(target, prop);
6746
- }
6747
-
6748
- }
6749
-
6750
- if (HAS_NATIVE_PROXY) {
6751
- hashProxyFor = named => {
6752
- const target = dict();
6753
- const proxy = new Proxy(target, new HashProxy(named, target));
6754
- setCustomTagFor(proxy, (_obj, key) => {
6755
- let argTag = tagForKey(named, key);
6756
- let proxyTag = tagFor(proxy, key);
6757
- return combine([argTag, proxyTag]);
6758
- });
6759
- HASH_PROXIES.add(proxy);
6760
- return proxy;
6761
- };
6762
- } else {
6763
- hashProxyFor = named => {
6764
- const proxy = dict(); // Create a HashProxy handler to store the local state in case anyone
6765
- // overrides a named value. It handles all of the details in terms of
6766
- // syncing state up and returning the correct value based on autotracking.
6767
-
6768
- const localState = dict();
6769
- const proxyHandler = new HashProxy(named, localState);
6770
- Object.keys(named).forEach(name => {
6771
- Object.defineProperty(proxy, name, {
6772
- enumerable: true,
6773
- configurable: true,
6774
-
6775
- get() {
6776
- return proxyHandler.get(localState, name);
6777
- },
6778
-
6779
- set(value) {
6780
- return proxyHandler.set(localState, name, value);
6781
- }
6672
+ if (DEBUG) {
6673
+ wrapHashProxy = hash => {
6674
+ return new Proxy(hash, {
6675
+ set(target, key, value) {
6676
+ deprecate(`You set the '${String(key)}' property on a {{hash}} object. Setting properties on objects generated by {{hash}} is deprecated. Please update to use an object created with a tracked property or getter, or with a custom helper.`, false, {
6677
+ id: 'setting-on-hash'
6678
+ });
6679
+ target[key] = value;
6680
+ return true;
6681
+ }
6782
6682
 
6783
- });
6784
- });
6785
- setCustomTagFor(proxy, (_obj, key) => {
6786
- let argTag = tagForKey(named, key);
6787
- let proxyTag = tagFor(proxy, key);
6788
- return combine([argTag, proxyTag]);
6789
6683
  });
6790
- HASH_PROXIES.add(proxy);
6791
- return proxy;
6792
6684
  };
6793
6685
  }
6794
6686
  /**
@@ -6832,7 +6724,25 @@ if (HAS_NATIVE_PROXY) {
6832
6724
  var hash = internalHelper(({
6833
6725
  named
6834
6726
  }) => {
6835
- return createConstRef(hashProxyFor(named), 'hash');
6727
+ let ref = createComputeRef(() => {
6728
+ let hash = reifyNamed(named);
6729
+
6730
+ if (DEBUG && HAS_NATIVE_PROXY) {
6731
+ hash = wrapHashProxy(hash);
6732
+ }
6733
+
6734
+ return hash;
6735
+ }, null, 'hash'); // Setup the children so that templates can bypass getting the value of
6736
+ // the reference and treat children lazily
6737
+
6738
+ let children = new Map();
6739
+
6740
+ for (let name in named) {
6741
+ children.set(name, named[name]);
6742
+ }
6743
+
6744
+ ref.children = children;
6745
+ return ref;
6836
6746
  });
6837
6747
 
6838
6748
  /**
@@ -7377,4 +7287,4 @@ class OnModifierManager {
7377
7287
 
7378
7288
  var on = setInternalModifierManager(new OnModifierManager(), {});
7379
7289
 
7380
- export { clear, ConcreteBounds, CursorImpl, resetDebuggerCallback, setDebuggerCallback, curry, CurriedValue, TemplateOnlyComponentManager, TEMPLATE_ONLY_COMPONENT_MANAGER, TemplateOnlyComponentDefinition as TemplateOnlyComponent, templateOnlyComponent, helper$1 as DOMChanges, DOMChangesImpl as IDOMChanges, DOMTreeConstruction, isWhitespace, normalizeProperty, DynamicScopeImpl, PartialScopeImpl, runtimeContext, EnvironmentImpl, inTransaction, renderComponent, renderMain, renderSync, UpdatingVMImpl as UpdatingVM, VM as LowLevelVM, EMPTY_ARGS, EMPTY_NAMED, EMPTY_POSITIONAL, createCapturedArgs, reifyArgs, reifyNamed$1 as reifyNamed, reifyPositional$1 as reifyPositional, DynamicAttribute, dynamicAttribute, SimpleDynamicAttribute, clientBuilder, NewElementBuilder, UpdatableBlockImpl, RemoteLiveBlock, isSerializationFirstNode, RehydrateBuilder, rehydrationBuilder, SERIALIZATION_FIRST_NODE_STRING, invokeHelper, fn, hash, isHashProxy, array, get, concat, on };
7290
+ export { clear, ConcreteBounds, CursorImpl, resetDebuggerCallback, setDebuggerCallback, curry, CurriedValue, TemplateOnlyComponentManager, TEMPLATE_ONLY_COMPONENT_MANAGER, TemplateOnlyComponentDefinition as TemplateOnlyComponent, templateOnlyComponent, helper$1 as DOMChanges, DOMChangesImpl as IDOMChanges, DOMTreeConstruction, isWhitespace, normalizeProperty, DynamicScopeImpl, PartialScopeImpl, runtimeContext, EnvironmentImpl, inTransaction, renderComponent, renderMain, renderSync, UpdatingVMImpl as UpdatingVM, VM as LowLevelVM, EMPTY_ARGS, EMPTY_NAMED, EMPTY_POSITIONAL, createCapturedArgs, reifyArgs, reifyNamed$1 as reifyNamed, reifyPositional$1 as reifyPositional, DynamicAttribute, dynamicAttribute, SimpleDynamicAttribute, clientBuilder, NewElementBuilder, UpdatableBlockImpl, RemoteLiveBlock, isSerializationFirstNode, RehydrateBuilder, rehydrationBuilder, SERIALIZATION_FIRST_NODE_STRING, invokeHelper, fn, hash, array, get, concat, on };
@@ -6,7 +6,7 @@
6
6
  * Portions Copyright 2008-2011 Apple Inc. All rights reserved.
7
7
  * @license Licensed under MIT license
8
8
  * See https://raw.github.com/emberjs/ember.js/master/LICENSE
9
- * @version 3.28.0-beta.6
9
+ * @version 3.28.2
10
10
  */
11
11
 
12
12
  /* eslint-disable no-var */
@@ -14239,7 +14239,7 @@ define("@glimmer/syntax", ["exports", "ember-babel", "@glimmer/util", "simple-ht
14239
14239
  strictMode: false,
14240
14240
  locals: []
14241
14241
  }, options);
14242
- var top = SymbolTable.top(normalizeOptions.strictMode ? normalizeOptions.locals : [], (_a = // eslint-disable-next-line @typescript-eslint/unbound-method
14242
+ var top = SymbolTable.top(normalizeOptions.locals, (_a = // eslint-disable-next-line @typescript-eslint/unbound-method
14243
14243
  options.customizeComponentName) !== null && _a !== void 0 ? _a : function (name) {
14244
14244
  return name;
14245
14245
  });
@@ -21070,7 +21070,7 @@ define("ember/version", ["exports"], function (_exports) {
21070
21070
  value: true
21071
21071
  });
21072
21072
  _exports.default = void 0;
21073
- var _default = "3.28.0-beta.6";
21073
+ var _default = "3.28.2";
21074
21074
  _exports.default = _default;
21075
21075
  });
21076
21076
  define("simple-html-tokenizer", ["exports"], function (_exports) {