From 8e9d375b2da27e04dce1fa931419fb3e0da62ece Mon Sep 17 00:00:00 2001 From: Chris Garrett Date: Tue, 2 Feb 2021 12:24:23 -0800 Subject: [PATCH] [DEPRECATION] Deprecate Old Manager capabilities Adds the deprecations for older manager capabilities versions. --- packages/@ember/-internals/glimmer/index.ts | 6 ++- .../-internals/glimmer/lib/utils/managers.ts | 48 ++++++++++++++++++- packages/ember/index.js | 4 +- packages/ember/tests/reexports_test.js | 4 +- 4 files changed, 57 insertions(+), 5 deletions(-) diff --git a/packages/@ember/-internals/glimmer/index.ts b/packages/@ember/-internals/glimmer/index.ts index 042748c699b..2003e0ec9cd 100644 --- a/packages/@ember/-internals/glimmer/index.ts +++ b/packages/@ember/-internals/glimmer/index.ts @@ -390,5 +390,9 @@ export { DOMChanges, NodeDOMTreeConstruction, DOMTreeConstruction } from './lib/ export { INVOKE } from './lib/helpers/action'; export { default as OutletView } from './lib/views/outlet'; export { OutletState } from './lib/utils/outlet'; -export { setComponentManager } from './lib/utils/managers'; +export { + componentCapabilities, + modifierCapabilities, + setComponentManager, +} from './lib/utils/managers'; export { isSerializationFirstNode } from './lib/utils/serialization-first-node-helpers'; diff --git a/packages/@ember/-internals/glimmer/lib/utils/managers.ts b/packages/@ember/-internals/glimmer/lib/utils/managers.ts index 4d327384699..d437227f0db 100644 --- a/packages/@ember/-internals/glimmer/lib/utils/managers.ts +++ b/packages/@ember/-internals/glimmer/lib/utils/managers.ts @@ -1,8 +1,13 @@ import { Owner } from '@ember/-internals/owner'; import { deprecate } from '@ember/debug'; import { COMPONENT_MANAGER_STRING_LOOKUP } from '@ember/deprecated-features'; +import { DEBUG } from '@glimmer/env'; import { ComponentManager } from '@glimmer/interfaces'; -import { setComponentManager as glimmerSetComponentManager } from '@glimmer/manager'; +import { + componentCapabilities as glimmerComponentCapabilities, + modifierCapabilities as glimmerModifierCapabilities, + setComponentManager as glimmerSetComponentManager, +} from '@glimmer/manager'; export function setComponentManager( stringOrFunction: string | ((owner: Owner) => ComponentManager), @@ -33,3 +38,44 @@ export function setComponentManager( return glimmerSetComponentManager(factory, obj); } + +export let componentCapabilities = glimmerComponentCapabilities; +export let modifierCapabilities = glimmerModifierCapabilities; + +if (DEBUG) { + componentCapabilities = (version, options) => { + deprecate( + 'Versions of component manager capabilities prior to 3.13 have been deprecated. You must update to the 3.13 capabilities.', + version === '3.13', + { + id: 'manager-capabilities.components-3-4', + url: 'https://emberjs.com/deprecations/v3.x#toc_manager-capabilities-components-3-4', + until: '4.0.0', + for: 'ember-source', + since: { + enabled: '3.26.0', + }, + } + ); + + return glimmerComponentCapabilities(version, options); + }; + + modifierCapabilities = (version, options) => { + deprecate( + 'Versions of modifier manager capabilities prior to 3.22 have been deprecated. You must update to the 3.22 capabilities.', + version === '3.22', + { + id: 'manager-capabilities.modifiers-3-13', + url: 'https://emberjs.com/deprecations/v3.x#toc_manager-capabilities-modifiers-3-13', + until: '4.0.0', + for: 'ember-source', + since: { + enabled: '3.26.0', + }, + } + ); + + return glimmerModifierCapabilities(version, options); + }; +} diff --git a/packages/ember/index.js b/packages/ember/index.js index 4522eb0b5e6..4c7ff4c1262 100644 --- a/packages/ember/index.js +++ b/packages/ember/index.js @@ -102,6 +102,8 @@ import { import { Checkbox, Component, + componentCapabilities, + modifierCapabilities, setComponentManager, escapeExpression, getTemplates, @@ -146,8 +148,6 @@ import { } from '@glimmer/runtime'; import { - componentCapabilities, - modifierCapabilities, helperCapabilities, setModifierManager, setComponentTemplate, diff --git a/packages/ember/tests/reexports_test.js b/packages/ember/tests/reexports_test.js index 9e072eac926..6c6562769b2 100644 --- a/packages/ember/tests/reexports_test.js +++ b/packages/ember/tests/reexports_test.js @@ -291,7 +291,9 @@ let allExports = [ ['HTMLBars.template', '@ember/-internals/glimmer', 'template'], ['Handlebars.Utils.escapeExpression', '@ember/-internals/glimmer', 'escapeExpression'], ['_setComponentManager', '@ember/-internals/glimmer', 'setComponentManager'], - ['_componentManagerCapabilities', '@glimmer/manager', 'componentCapabilities'], + ['_componentManagerCapabilities', '@ember/-internals/glimmer', 'componentCapabilities'], + ['_setModifierManager', '@glimmer/manager', 'setModifierManager'], + ['_modifierManagerCapabilities', '@ember/-internals/glimmer', 'modifierCapabilities'], ['_setComponentTemplate', '@glimmer/manager', 'setComponentTemplate'], ['_getComponentTemplate', '@glimmer/manager', 'getComponentTemplate'], EMBER_GLIMMER_HELPER_MANAGER