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..694ff90cf95 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 { + setComponentManager as glimmerSetComponentManager, + componentCapabilities as glimmerComponentCapabilities, + modifierCapabilities as glimmerModifierCapabilities, +} 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..b3d0ef5e229 100644 --- a/packages/ember/tests/reexports_test.js +++ b/packages/ember/tests/reexports_test.js @@ -1,5 +1,6 @@ import Ember from '../index'; import require from 'require'; +import { DEBUG } from '@glimmer/env'; import { FEATURES, EMBER_GLIMMER_HELPER_MANAGER, @@ -291,7 +292,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