From db3394a04cc896e65bf22ddeefdfa24822a2e855 Mon Sep 17 00:00:00 2001 From: Chad Hietala Date: Tue, 14 Mar 2017 08:19:02 -0400 Subject: [PATCH] Remove debug -> metal cycle --- packages/container/lib/container.js | 155 +++++++---------- packages/container/lib/registry.js | 2 +- packages/container/tests/container_test.js | 3 +- .../lib/system/application-instance.js | 3 +- .../lib/system/application.js | 9 +- .../lib/system/engine-instance.js | 3 +- .../ember-application/lib/system/engine.js | 3 +- .../ember-application/lib/system/resolver.js | 8 +- .../lib/utils/validate-type.js | 2 +- .../tests/system/application_test.js | 6 +- .../default_resolver_test.js | 8 +- .../dependency_injection/to_string_test.js | 3 +- packages/ember-debug/lib/deprecate.js | 37 ++++- .../{ember-metal => ember-debug}/lib/error.js | 0 .../lib/features.js | 0 packages/ember-debug/lib/index.js | 157 ++++++++---------- .../lib/testing.js | 0 packages/ember-debug/lib/warn.js | 30 +++- .../tests/error_test.js | 0 packages/ember-debug/tests/main_test.js | 2 +- ...rn_if_using_stripped_feature_flags_test.js | 2 +- packages/ember-glimmer/lib/component.js | 6 +- .../ember-glimmer/lib/components/link-to.js | 7 +- packages/ember-glimmer/lib/environment.js | 3 +- packages/ember-glimmer/lib/helpers/action.js | 5 +- .../ember-glimmer/lib/helpers/component.js | 4 +- .../ember-glimmer/lib/helpers/if-unless.js | 2 +- packages/ember-glimmer/lib/helpers/mut.js | 2 +- .../ember-glimmer/lib/helpers/query-param.js | 2 +- packages/ember-glimmer/lib/helpers/unbound.js | 2 +- .../ember-glimmer/lib/make-bound-helper.js | 2 +- .../ember-glimmer/lib/modifiers/action.js | 3 +- packages/ember-glimmer/lib/renderer.js | 2 +- packages/ember-glimmer/lib/syntax.js | 2 +- .../lib/syntax/abstract-manager.js | 2 +- .../lib/syntax/curly-component.js | 6 +- .../lib/syntax/dynamic-component.js | 2 +- packages/ember-glimmer/lib/syntax/input.js | 2 +- packages/ember-glimmer/lib/syntax/mount.js | 2 +- packages/ember-glimmer/lib/syntax/outlet.js | 3 +- packages/ember-glimmer/lib/syntax/render.js | 2 +- packages/ember-glimmer/lib/utils/bindings.js | 3 +- .../ember-glimmer/lib/utils/debug-stack.js | 2 +- .../ember-glimmer/lib/utils/references.js | 3 +- packages/ember-glimmer/lib/utils/string.js | 2 +- .../integration/application/rendering-test.js | 2 +- .../integration/components/append-test.js | 3 +- .../components/curly-components-test.js | 2 +- .../components/dynamic-components-test.js | 2 +- .../tests/integration/content-test.js | 6 +- .../integration/event-dispatcher-test.js | 2 +- .../helpers/closure-action-test.js | 2 +- .../helpers/element-action-test.js | 2 +- .../tests/integration/helpers/render-test.js | 3 +- .../tests/integration/mount-test.js | 3 +- .../tests/integration/outlet-test.js | 3 +- .../tests/unit/utils/debug-stack-test.js | 2 +- packages/ember-metal/lib/alias.js | 3 +- packages/ember-metal/lib/binding.js | 2 +- packages/ember-metal/lib/computed.js | 3 +- packages/ember-metal/lib/debug.js | 55 ------ .../ember-metal/lib/deprecate_property.js | 2 +- packages/ember-metal/lib/error_handler.js | 2 +- packages/ember-metal/lib/events.js | 3 +- packages/ember-metal/lib/expand_properties.js | 2 +- packages/ember-metal/lib/index.js | 35 +--- packages/ember-metal/lib/injected_property.js | 2 +- packages/ember-metal/lib/instrumentation.js | 4 +- packages/ember-metal/lib/libraries.js | 5 +- packages/ember-metal/lib/meta.js | 13 +- packages/ember-metal/lib/mixin.js | 6 +- packages/ember-metal/lib/properties.js | 7 +- packages/ember-metal/lib/property_events.js | 6 +- packages/ember-metal/lib/property_get.js | 2 +- packages/ember-metal/lib/property_set.js | 8 +- packages/ember-metal/lib/run_loop.js | 3 +- packages/ember-metal/lib/transaction.js | 9 +- packages/ember-metal/lib/watch_key.js | 8 +- .../tests/accessors/mandatory_setters_test.js | 4 +- packages/ember-metal/tests/libraries_test.js | 5 +- packages/ember-metal/tests/properties_test.js | 2 +- .../tests/run_loop/onerror_test.js | 2 +- .../ember-metal/tests/run_loop/unwind_test.js | 2 +- packages/ember-routing/lib/location/api.js | 2 +- .../lib/location/auto_location.js | 4 +- .../lib/location/history_location.js | 4 +- .../lib/location/none_location.js | 2 +- packages/ember-routing/lib/system/dsl.js | 2 +- .../lib/system/generate_controller.js | 8 +- packages/ember-routing/lib/system/route.js | 6 +- packages/ember-routing/lib/system/router.js | 12 +- packages/ember-routing/lib/utils.js | 2 +- .../tests/location/history_location_test.js | 2 +- .../tests/system/controller_for_test.js | 2 +- .../lib/computed/computed_macros.js | 6 +- .../lib/computed/reduce_computed_macros.js | 3 +- .../lib/controllers/controller.js | 2 +- packages/ember-runtime/lib/copy.js | 2 +- packages/ember-runtime/lib/ext/function.js | 3 +- packages/ember-runtime/lib/ext/rsvp.js | 2 +- packages/ember-runtime/lib/inject.js | 6 +- packages/ember-runtime/lib/mixins/-proxy.js | 6 +- .../lib/mixins/action_handler.js | 8 +- packages/ember-runtime/lib/mixins/array.js | 4 +- .../lib/mixins/container_proxy.js | 2 +- ...troller_content_model_alias_deprecation.js | 6 +- packages/ember-runtime/lib/mixins/copyable.js | 5 +- .../ember-runtime/lib/mixins/enumerable.js | 5 +- .../ember-runtime/lib/mixins/freezable.js | 2 +- .../ember-runtime/lib/mixins/mutable_array.js | 2 +- .../ember-runtime/lib/mixins/observable.js | 2 +- .../ember-runtime/lib/mixins/promise_proxy.js | 4 +- .../lib/mixins/registry_proxy.js | 2 +- .../lib/mixins/target_action_support.js | 3 +- .../ember-runtime/lib/system/array_proxy.js | 3 +- .../ember-runtime/lib/system/core_object.js | 7 +- .../ember-runtime/lib/system/each_proxy.js | 2 +- packages/ember-runtime/lib/system/object.js | 3 +- packages/ember-runtime/lib/system/string.js | 6 +- .../tests/controllers/controller_test.js | 3 +- packages/ember-runtime/tests/ext/rsvp_test.js | 3 +- packages/ember-runtime/tests/inject_test.js | 3 +- .../tests/system/object/create_test.js | 2 +- .../tests/system/object/destroy_test.js | 3 +- packages/ember-template-compiler/lib/index.js | 3 +- .../assert-reserved-named-arguments.js | 2 +- .../lib/plugins/deprecate-render-model.js | 2 +- .../lib/plugins/deprecate-render.js | 2 +- .../plugins/transform-input-on-to-onEvent.js | 2 +- .../plugins/transform-old-binding-syntax.js | 2 +- .../lib/system/bootstrap.js | 2 +- packages/ember-testing/lib/ext/rsvp.js | 3 +- packages/ember-testing/lib/helpers.js | 2 +- .../ember-testing/lib/helpers/pause_test.js | 5 +- .../ember-testing/lib/setup_for_testing.js | 2 +- packages/ember-testing/lib/support.js | 2 +- packages/ember-testing/lib/test/waiters.js | 2 +- packages/ember-testing/tests/ext/rsvp_test.js | 3 +- packages/ember-testing/tests/helpers_test.js | 6 +- packages/ember-views/lib/component_lookup.js | 2 +- .../ember-views/lib/mixins/action_support.js | 3 +- .../lib/mixins/class_names_support.js | 6 +- .../ember-views/lib/mixins/view_support.js | 3 +- .../lib/system/event_dispatcher.js | 3 +- .../ember-views/lib/system/lookup_partial.js | 5 +- .../ember-views/lib/views/states/default.js | 4 +- .../lib/views/states/destroying.js | 2 +- .../ember-views/lib/views/states/in_dom.js | 7 +- packages/ember/lib/index.js | 43 +++-- packages/ember/tests/helpers/link_to_test.js | 2 +- packages/ember/tests/reexports_test.js | 22 +-- .../routing/router_service_test/basic_test.js | 2 +- .../currenturl_lifecycle_test.js | 2 +- .../router_service_test/replaceWith_test.js | 2 +- .../router_service_test/transitionTo_test.js | 2 +- .../router_service_test/urlFor_test.js | 2 +- .../internal-test-helpers/lib/build-owner.js | 2 +- tests/index.html | 2 +- 158 files changed, 476 insertions(+), 567 deletions(-) rename packages/{ember-metal => ember-debug}/lib/error.js (100%) rename packages/{ember-metal => ember-debug}/lib/features.js (100%) rename packages/{ember-metal => ember-debug}/lib/testing.js (100%) rename packages/{ember-metal => ember-debug}/tests/error_test.js (100%) delete mode 100644 packages/ember-metal/lib/debug.js diff --git a/packages/container/lib/container.js b/packages/container/lib/container.js index 352b22dddeb..aaafe28a4bb 100644 --- a/packages/container/lib/container.js +++ b/packages/container/lib/container.js @@ -1,3 +1,4 @@ +import { assert, deprecate, runInDebug, isFeatureEnabled } from 'ember-debug'; /* globals Proxy */ import { dictionary, @@ -9,12 +10,6 @@ import { HAS_NATIVE_PROXY } from 'ember-utils'; import { ENV } from 'ember-environment'; -import { - assert, - deprecate, - runInDebug, - isFeatureEnabled -} from 'ember-metal'; const CONTAINER_OVERRIDE = symbol('CONTAINER_OVERRIDE'); export const FACTORY_FOR = symbol('FACTORY_FOR'); @@ -84,43 +79,30 @@ Container.prototype = { /** Given a fullName return a corresponding instance. - - The default behaviour is for lookup to return a singleton instance. + The default behaviour is for lookup to return a singleton instance. The singleton is scoped to the container, allowing multiple containers to all have their own locally scoped singletons. - - ```javascript + ```javascript let registry = new Registry(); let container = registry.container(); - - registry.register('api:twitter', Twitter); - - let twitter = container.lookup('api:twitter'); - - twitter instanceof Twitter; // => true - - // by default the container will return singletons + registry.register('api:twitter', Twitter); + let twitter = container.lookup('api:twitter'); + twitter instanceof Twitter; // => true + // by default the container will return singletons let twitter2 = container.lookup('api:twitter'); twitter2 instanceof Twitter; // => true - - twitter === twitter2; //=> true + twitter === twitter2; //=> true ``` - - If singletons are not wanted, an optional flag can be provided at lookup. - - ```javascript + If singletons are not wanted, an optional flag can be provided at lookup. + ```javascript let registry = new Registry(); let container = registry.container(); - - registry.register('api:twitter', Twitter); - - let twitter = container.lookup('api:twitter', { singleton: false }); + registry.register('api:twitter', Twitter); + let twitter = container.lookup('api:twitter', { singleton: false }); let twitter2 = container.lookup('api:twitter', { singleton: false }); - - twitter === twitter2; //=> false + twitter === twitter2; //=> false ``` - - @private + @private @method lookup @param {String} fullName @param {Object} [options] @@ -134,8 +116,7 @@ Container.prototype = { /** Given a fullName, return the corresponding factory. - - @private + @private @method lookupFactory @param {String} fullName @param {Object} [options] @@ -145,11 +126,7 @@ Container.prototype = { lookupFactory(fullName, options) { assert('fullName must be a proper full name', this.registry.validateFullName(fullName)); - deprecate( - 'Using "_lookupFactory" is deprecated. Please use container.factoryFor instead.', - !isFeatureEnabled('ember-factory-for'), - { id: 'container-lookupFactory', until: '2.13.0', url: 'http://emberjs.com/deprecations/v2.x/#toc_migrating-from-_lookupfactory-to-factoryfor' } - ); + deprecate('Using "_lookupFactory" is deprecated. Please use container.factoryFor instead.', !isFeatureEnabled('ember-factory-for'), { id: 'container-lookupFactory', until: '2.13.0', url: 'http://emberjs.com/deprecations/v2.x/#toc_migrating-from-_lookupfactory-to-factoryfor' }); return deprecatedFactoryFor(this, this.registry.normalize(fullName), options); }, @@ -175,7 +152,9 @@ Container.prototype = { } } let factory = this[LOOKUP_FACTORY](fullName, options); - if (factory === undefined) { return; } + if (factory === undefined) { + return; + } let manager = new DeprecatedFactoryManager(this, factory, fullName); runInDebug(() => { @@ -188,8 +167,7 @@ Container.prototype = { /** A depth first traversal, destroying the container, its descendant containers and all their managed objects. - - @private + @private @method destroy */ destroy() { @@ -204,8 +182,7 @@ Container.prototype = { /** Clear either the entire cache or just the cache for a particular key. - - @private + @private @method reset @param {String} fullName optional key to reset; if missing, resets everything */ @@ -220,8 +197,7 @@ Container.prototype = { /** Returns an object that can be used to provide an owner to a manually created instance. - - @private + @private @method ownerInjection @returns { Object } */ @@ -272,8 +248,7 @@ if (isFeatureEnabled('ember-factory-for')) { is responsible for the destruction of any factory instances, as there is no way for the container to ensure instances are destroyed when it itself is destroyed. - - @public + @public @method factoryFor @param {String} fullName @param {Object} [options] @@ -288,7 +263,9 @@ if (isFeatureEnabled('ember-factory-for')) { if (options.source) { normalizedName = this.registry.expandLocalLookup(fullName, options); // if expandLocalLookup returns falsey, we do not support local lookup - if (!normalizedName) { return; } + if (!normalizedName) { + return; + } } let cached = this.factoryManagerCache[normalizedName]; @@ -325,7 +302,9 @@ function lookup(container, fullName, options = {}) { fullName = container.registry.expandLocalLookup(fullName, options); // if expandLocalLookup returns falsey, we do not support local lookup - if (!fullName) { return; } + if (!fullName) { + return; + } } if (container.cache[fullName] !== undefined && options.singleton !== false) { @@ -338,7 +317,9 @@ function lookup(container, fullName, options = {}) { let factory = deprecatedFactoryFor(container, fullName); let value = instantiate(factory, {}, container, fullName); - if (value === undefined) { return; } + if (value === undefined) { + return; + } if (isSingleton(container, fullName) && options.singleton !== false) { container.cache[fullName] = value; @@ -349,29 +330,27 @@ function lookup(container, fullName, options = {}) { } function isSingletonClass(container, fullName, { instantiate, singleton }) { - return (singleton !== false && isSingleton(container, fullName)) && - (!instantiate && !shouldInstantiate(container, fullName)); + return singleton !== false && isSingleton(container, fullName) && !instantiate && !shouldInstantiate(container, fullName); } function isSingletonInstance(container, fullName, { instantiate, singleton }) { - return (singleton !== false && isSingleton(container, fullName)) && - (instantiate !== false && shouldInstantiate(container, fullName)); + return singleton !== false && isSingleton(container, fullName) && instantiate !== false && shouldInstantiate(container, fullName); } function isFactoryClass(container, fullname, { instantiate, singleton }) { - return (singleton === false || !isSingleton(container, fullname)) && - (instantiate === false && !shouldInstantiate(container, fullname)); + return (singleton === false || !isSingleton(container, fullname)) && instantiate === false && !shouldInstantiate(container, fullname); } function isFactoryInstance(container, fullName, { instantiate, singleton }) { - return (singleton !== false || isSingleton(container, fullName)) && - (instantiate !== false && shouldInstantiate(container, fullName)); + return (singleton !== false || isSingleton(container, fullName)) && instantiate !== false && shouldInstantiate(container, fullName); } function instantiateFactory(container, fullName, options) { let factoryManager = container[FACTORY_FOR](fullName); - if (factoryManager === undefined) { return; } + if (factoryManager === undefined) { + return; + } // SomeClass { singleton: true, instantiate: true } | { singleton: true } | { instantiate: true } | {} // By default majority of objects fall into this case @@ -400,7 +379,7 @@ function areInjectionsDynamic(injections) { return !!injections._dynamic; } -function buildInjections(/* container, ...injections */) { +function buildInjections() /* container, ...injections */{ let hash = {}; if (arguments.length > 1) { @@ -436,7 +415,9 @@ function deprecatedFactoryFor(container, fullName, options = {}) { if (options.source) { fullName = registry.expandLocalLookup(fullName, options); // if expandLocalLookup returns falsey, we do not support local lookup - if (!fullName) { return; } + if (!fullName) { + return; + } } let cache = container.factoryCache; @@ -444,10 +425,12 @@ function deprecatedFactoryFor(container, fullName, options = {}) { return cache[fullName]; } let factory = registry.resolve(fullName); - if (factory === undefined) { return; } + if (factory === undefined) { + return; + } let type = fullName.split(':')[0]; - if (!factory || typeof factory.extend !== 'function' || (!ENV.MODEL_FACTORY_INJECTIONS && type === 'model')) { + if (!factory || typeof factory.extend !== 'function' || !ENV.MODEL_FACTORY_INJECTIONS && type === 'model') { if (factory && typeof factory._onLookup === 'function') { factory._onLookup(fullName); } @@ -486,9 +469,7 @@ function injectionsFor(container, fullName) { let splitName = fullName.split(':'); let type = splitName[0]; - let injections = buildInjections(container, - registry.getTypeInjections(type), - registry.getInjections(fullName)); + let injections = buildInjections(container, registry.getTypeInjections(type), registry.getInjections(fullName)); injections._debugContainerKey = fullName; setOwner(injections, container.owner); @@ -507,8 +488,7 @@ function instantiate(factory, props, container, fullName) { if (factory) { if (typeof factory.create !== 'function') { - throw new Error(`Failed to create an instance of '${fullName}'. Most likely an improperly defined class or` + - ` an invalid module export.`); + throw new Error(`Failed to create an instance of '${fullName}'. Most likely an improperly defined class or` + ` an invalid module export.`); } validationCache = container.validationCache; @@ -558,9 +538,7 @@ function factoryInjectionsFor(container, fullName) { let splitName = fullName.split(':'); let type = splitName[0]; - let factoryInjections = buildInjections(container, - registry.getFactoryTypeInjections(type), - registry.getFactoryInjections(fullName)); + let factoryInjections = buildInjections(container, registry.getFactoryTypeInjections(type), registry.getFactoryInjections(fullName)); factoryInjections._debugContainerKey = fullName; return factoryInjections; @@ -573,18 +551,12 @@ function injectDeprecatedContainer(object, container) { configurable: true, enumerable: false, get() { - deprecate('Using the injected `container` is deprecated. Please use the `getOwner` helper instead to access the owner of this object.', - false, - { id: 'ember-application.injected-container', until: '3.0.0', url: 'http://emberjs.com/deprecations/v2.x#toc_injected-container-access' }); + deprecate('Using the injected `container` is deprecated. Please use the `getOwner` helper instead to access the owner of this object.', false, { id: 'ember-application.injected-container', until: '3.0.0', url: 'http://emberjs.com/deprecations/v2.x#toc_injected-container-access' }); return this[CONTAINER_OVERRIDE] || container; }, set(value) { - deprecate( - `Providing the \`container\` property to ${this} is deprecated. Please use \`Ember.setOwner\` or \`owner.ownerInjection()\` instead to provide an owner to the instance being created.`, - false, - { id: 'ember-application.injected-container', until: '3.0.0', url: 'http://emberjs.com/deprecations/v2.x#toc_injected-container-access' } - ); + deprecate(`Providing the \`container\` property to ${this} is deprecated. Please use \`Ember.setOwner\` or \`owner.ownerInjection()\` instead to provide an owner to the instance being created.`, false, { id: 'ember-application.injected-container', until: '3.0.0', url: 'http://emberjs.com/deprecations/v2.x#toc_injected-container-access' }); this[CONTAINER_OVERRIDE] = value; @@ -608,7 +580,7 @@ function eachDestroyable(container, callback) { } function resetCache(container) { - eachDestroyable(container, (value) => { + eachDestroyable(container, value => { if (value.destroy) { value.destroy(); } @@ -646,16 +618,12 @@ export function buildFakeContainerWithDeprecations(container) { } function buildFakeContainerFunction(container, containerProperty, ownerProperty) { - return function() { - deprecate( - `Using the injected \`container\` is deprecated. Please use the \`getOwner\` helper to access the owner of this object and then call \`${ownerProperty}\` instead.`, - false, - { - id: 'ember-application.injected-container', - until: '3.0.0', - url: 'http://emberjs.com/deprecations/v2.x#toc_injected-container-access' - } - ); + return function () { + deprecate(`Using the injected \`container\` is deprecated. Please use the \`getOwner\` helper to access the owner of this object and then call \`${ownerProperty}\` instead.`, false, { + id: 'ember-application.injected-container', + until: '3.0.0', + url: 'http://emberjs.com/deprecations/v2.x#toc_injected-container-access' + }); return container[containerProperty](...arguments); }; } @@ -702,8 +670,7 @@ class FactoryManager { }); if (!this.class.create) { - throw new Error(`Failed to create an instance of '${this.normalizedName}'. Most likely an improperly defined class or` + - ` an invalid module export.`); + throw new Error(`Failed to create an instance of '${this.normalizedName}'. Most likely an improperly defined class or` + ` an invalid module export.`); } let prototype = this.class.prototype; @@ -713,4 +680,4 @@ class FactoryManager { return this.class.create(props); } -} +} \ No newline at end of file diff --git a/packages/container/lib/registry.js b/packages/container/lib/registry.js index 909fb3f0a30..3d9ba5016bd 100644 --- a/packages/container/lib/registry.js +++ b/packages/container/lib/registry.js @@ -1,5 +1,5 @@ import { dictionary, assign, intern } from 'ember-utils'; -import { assert, deprecate } from 'ember-metal'; +import { assert, deprecate } from 'ember-debug'; import Container from './container'; const VALID_FULL_NAME_REGEXP = /^[^:]+:[^:]+$/; diff --git a/packages/container/tests/container_test.js b/packages/container/tests/container_test.js index 0223df43bd1..26744efe578 100644 --- a/packages/container/tests/container_test.js +++ b/packages/container/tests/container_test.js @@ -1,8 +1,9 @@ import { getOwner, OWNER } from 'ember-utils'; import { ENV } from 'ember-environment'; -import { get, isFeatureEnabled } from 'ember-metal'; +import { get } from 'ember-metal'; import { Registry } from '../index'; import { factory } from 'internal-test-helpers'; +import { isFeatureEnabled } from 'ember-debug'; import { LOOKUP_FACTORY, FACTORY_FOR } from 'container'; let originalModelInjections; diff --git a/packages/ember-application/lib/system/application-instance.js b/packages/ember-application/lib/system/application-instance.js index 4732efc85ac..410912ca9a5 100644 --- a/packages/ember-application/lib/system/application-instance.js +++ b/packages/ember-application/lib/system/application-instance.js @@ -4,7 +4,8 @@ */ import { assign } from 'ember-utils'; -import { deprecate, get, set, run, computed } from 'ember-metal'; +import { deprecate } from 'ember-debug'; +import { get, set, run, computed } from 'ember-metal'; import { buildFakeRegistryWithDeprecations, RSVP diff --git a/packages/ember-application/lib/system/application.js b/packages/ember-application/lib/system/application.js index 729b6598c00..6c6307c4a4d 100644 --- a/packages/ember-application/lib/system/application.js +++ b/packages/ember-application/lib/system/application.js @@ -4,14 +4,11 @@ */ import { dictionary } from 'ember-utils'; import { ENV, environment } from 'ember-environment'; +import { assert, runInDebug, debug, isTesting } from 'ember-debug'; import { - assert, - debug, libraries, - isTesting, get, - run, - runInDebug + run } from 'ember-metal'; import { Namespace, @@ -36,7 +33,7 @@ import { privatize as P } from 'container'; import Engine from './engine'; import { setupApplicationRegistry } from 'ember-glimmer'; import { RouterService } from 'ember-routing'; -import { isFeatureEnabled } from 'ember-metal'; +import { isFeatureEnabled } from 'ember-debug'; let librariesRegistered = false; diff --git a/packages/ember-application/lib/system/engine-instance.js b/packages/ember-application/lib/system/engine-instance.js index 0ee5fc1f59f..050a7e999ad 100644 --- a/packages/ember-application/lib/system/engine-instance.js +++ b/packages/ember-application/lib/system/engine-instance.js @@ -10,7 +10,8 @@ import { RegistryProxyMixin, RSVP } from 'ember-runtime'; -import { Error as EmberError, assert, run } from 'ember-metal'; +import { assert, Error as EmberError } from 'ember-debug'; +import { run } from 'ember-metal'; import { Registry, FACTORY_FOR, LOOKUP_FACTORY, privatize as P } from 'container'; import { getEngineParent, setEngineParent } from './engine-parent'; diff --git a/packages/ember-application/lib/system/engine.js b/packages/ember-application/lib/system/engine.js index 3146bc1fe32..0c1c9e3ed4a 100644 --- a/packages/ember-application/lib/system/engine.js +++ b/packages/ember-application/lib/system/engine.js @@ -13,7 +13,8 @@ import { privatize as P } from 'container'; import DAG from 'dag-map'; -import { get, set, assert, deprecate } from 'ember-metal'; +import { assert, deprecate } from 'ember-debug'; +import { get, set } from 'ember-metal'; import DefaultResolver from './resolver'; import EngineInstance from './engine-instance'; import { RoutingService } from 'ember-routing'; diff --git a/packages/ember-application/lib/system/resolver.js b/packages/ember-application/lib/system/resolver.js index 85d1fdd827a..b69022d25d9 100644 --- a/packages/ember-application/lib/system/resolver.js +++ b/packages/ember-application/lib/system/resolver.js @@ -4,12 +4,8 @@ */ import { dictionary } from 'ember-utils'; -import { - assert, - info, - get, - runInDebug -} from 'ember-metal'; +import { get } from 'ember-metal'; +import { assert, info, runInDebug } from 'ember-debug'; import { String as StringUtils, Object as EmberObject, diff --git a/packages/ember-application/lib/utils/validate-type.js b/packages/ember-application/lib/utils/validate-type.js index c6014c97459..dbf50ce8c03 100644 --- a/packages/ember-application/lib/utils/validate-type.js +++ b/packages/ember-application/lib/utils/validate-type.js @@ -3,7 +3,7 @@ @submodule ember-application */ -import { assert, deprecate } from 'ember-metal'; +import { assert, deprecate } from 'ember-debug'; const VALIDATED_TYPES = { route: ['assert', 'isRouteFactory', 'Ember.Route'], diff --git a/packages/ember-application/tests/system/application_test.js b/packages/ember-application/tests/system/application_test.js index 60bec9d5a18..9dddfb7fec6 100644 --- a/packages/ember-application/tests/system/application_test.js +++ b/packages/ember-application/tests/system/application_test.js @@ -3,10 +3,12 @@ import { VERSION } from 'ember'; import { ENV, context } from 'ember-environment'; import { run, - libraries, + libraries +} from 'ember-metal'; +import { getDebugFunction, setDebugFunction -} from 'ember-metal'; +} from 'ember-debug'; import Application from '../../system/application'; import DefaultResolver from '../../system/resolver'; import { diff --git a/packages/ember-application/tests/system/dependency_injection/default_resolver_test.js b/packages/ember-application/tests/system/dependency_injection/default_resolver_test.js index 07d1daac02f..ebc5633e1aa 100644 --- a/packages/ember-application/tests/system/dependency_injection/default_resolver_test.js +++ b/packages/ember-application/tests/system/dependency_injection/default_resolver_test.js @@ -1,11 +1,11 @@ /* globals EmberDev */ import { context } from 'ember-environment'; +import { run } from 'ember-metal'; import { + isFeatureEnabled, getDebugFunction, - setDebugFunction, - run, - isFeatureEnabled -} from 'ember-metal'; + setDebugFunction +} from 'ember-debug'; import { Controller, Service, diff --git a/packages/ember-application/tests/system/dependency_injection/to_string_test.js b/packages/ember-application/tests/system/dependency_injection/to_string_test.js index 130d02b9938..bb8ebfea983 100644 --- a/packages/ember-application/tests/system/dependency_injection/to_string_test.js +++ b/packages/ember-application/tests/system/dependency_injection/to_string_test.js @@ -1,9 +1,10 @@ import { guidFor } from 'ember-utils'; import { ENV, context } from 'ember-environment'; // lookup, etc -import { run, isFeatureEnabled } from 'ember-metal'; +import { run } from 'ember-metal'; import Application from '../../../system/application'; import { Object as EmberObject } from 'ember-runtime'; import DefaultResolver from '../../../system/resolver'; +import { isFeatureEnabled } from 'ember-debug'; let originalLookup, App, originalModelInjections; diff --git a/packages/ember-debug/lib/deprecate.js b/packages/ember-debug/lib/deprecate.js index f071805d9ff..19f95ae7d9f 100644 --- a/packages/ember-debug/lib/deprecate.js +++ b/packages/ember-debug/lib/deprecate.js @@ -1,12 +1,47 @@ /*global __fail__*/ -import { Error as EmberError } from 'ember-metal'; +import EmberError from './error'; import Logger from 'ember-console'; import { ENV } from 'ember-environment'; import { registerHandler as genericRegisterHandler, invoke } from './handlers'; +/** + Allows for runtime registration of handler functions that override the default deprecation behavior. + Deprecations are invoked by calls to [Ember.deprecate](http://emberjs.com/api/classes/Ember.html#method_deprecate). + The following example demonstrates its usage by registering a handler that throws an error if the + message contains the word "should", otherwise defers to the default handler. + + ```javascript + Ember.Debug.registerDeprecationHandler((message, options, next) => { + if (message.indexOf('should') !== -1) { + throw new Error(`Deprecation message with should: ${message}`); + } else { + // defer to whatever handler was registered before this one + next(message, options); + } + }); + ``` + + The handler function takes the following arguments: + + + + @public + @static + @method registerDeprecationHandler + @param handler {Function} A function to handle deprecation calls. + @since 2.1.0 +*/ export function registerHandler(handler) { genericRegisterHandler('deprecate', handler); } diff --git a/packages/ember-metal/lib/error.js b/packages/ember-debug/lib/error.js similarity index 100% rename from packages/ember-metal/lib/error.js rename to packages/ember-debug/lib/error.js diff --git a/packages/ember-metal/lib/features.js b/packages/ember-debug/lib/features.js similarity index 100% rename from packages/ember-metal/lib/features.js rename to packages/ember-debug/lib/features.js diff --git a/packages/ember-debug/lib/index.js b/packages/ember-debug/lib/index.js index 6ad60b5eb1f..a015cf5ce51 100644 --- a/packages/ember-debug/lib/index.js +++ b/packages/ember-debug/lib/index.js @@ -1,23 +1,29 @@ -import Ember, { // reexports - isTesting, - warn, - deprecate, - debug, - setDebugFunction, - isFeatureEnabled, - FEATURES, - DEFAULT_FEATURES, - Error as EmberError -} from 'ember-metal'; +import DEFAULT_FEATURES from 'ember/features'; import { ENV, environment } from 'ember-environment'; import Logger from 'ember-console'; - -import _deprecate, { - registerHandler as registerDeprecationHandler -} from './deprecate'; -import _warn, { - registerHandler as registerWarnHandler -} from './warn'; +import { isTesting } from './testing'; +import EmberError from './error'; +import { default as isFeatureEnabled, FEATURES } from './features'; + +import _deprecate from './deprecate'; +import _warn from './warn'; +export { registerHandler as registerWarnHandler } from './warn'; +export { registerHandler as registerDeprecationHandler } from './deprecate'; +export { default as isFeatureEnabled, FEATURES } from './features'; +export { default as Error } from './error'; +export { isTesting, setTesting } from './testing'; + +export let debugFunctions = { + assert() {}, + info() {}, + warn() {}, + debug() {}, + deprecate() {}, + deprecateFunc(...args) { return args[args.length - 1]; }, + runInDebug() {}, + debugSeal() {}, + debugFreeze() {} +}; /** @module ember @@ -220,77 +226,6 @@ if (!isTesting()) { }, false); } } -/** - @public - @class Ember.Debug -*/ -Ember.Debug = { }; - -/** - Allows for runtime registration of handler functions that override the default deprecation behavior. - Deprecations are invoked by calls to [Ember.deprecate](http://emberjs.com/api/classes/Ember.html#method_deprecate). - The following example demonstrates its usage by registering a handler that throws an error if the - message contains the word "should", otherwise defers to the default handler. - - ```javascript - Ember.Debug.registerDeprecationHandler((message, options, next) => { - if (message.indexOf('should') !== -1) { - throw new Error(`Deprecation message with should: ${message}`); - } else { - // defer to whatever handler was registered before this one - next(message, options); - } - }); - ``` - - The handler function takes the following arguments: - - - - @public - @static - @method registerDeprecationHandler - @param handler {Function} A function to handle deprecation calls. - @since 2.1.0 -*/ -Ember.Debug.registerDeprecationHandler = registerDeprecationHandler; -/** - Allows for runtime registration of handler functions that override the default warning behavior. - Warnings are invoked by calls made to [Ember.warn](http://emberjs.com/api/classes/Ember.html#method_warn). - The following example demonstrates its usage by registering a handler that does nothing overriding Ember's - default warning behavior. - - ```javascript - // next is not called, so no warnings get the default behavior - Ember.Debug.registerWarnHandler(() => {}); - ``` - - The handler function takes the following arguments: - - - - @public - @static - @method registerWarnHandler - @param handler {Function} A function to handle warnings. - @since 2.1.0 -*/ -Ember.Debug.registerWarnHandler = registerWarnHandler; /* We are transitioning away from `ember.js` to `ember.debug.js` to make @@ -304,3 +239,47 @@ export let runningNonEmberDebugJS = false; if (runningNonEmberDebugJS) { warn('Please use `ember.debug.js` instead of `ember.js` for development and debugging.'); } + +export function getDebugFunction(name) { + return debugFunctions[name]; +} + +export function setDebugFunction(name, fn) { + debugFunctions[name] = fn; +} + +export function assert() { + return debugFunctions.assert.apply(undefined, arguments); +} + +export function info() { + return debugFunctions.info.apply(undefined, arguments); +} + +export function warn() { + return debugFunctions.warn.apply(undefined, arguments); +} + +export function debug() { + return debugFunctions.debug.apply(undefined, arguments); +} + +export function deprecate() { + return debugFunctions.deprecate.apply(undefined, arguments); +} + +export function deprecateFunc() { + return debugFunctions.deprecateFunc.apply(undefined, arguments); +} + +export function runInDebug() { + return debugFunctions.runInDebug.apply(undefined, arguments); +} + +export function debugSeal() { + return debugFunctions.debugSeal.apply(undefined, arguments); +} + +export function debugFreeze() { + return debugFunctions.debugFreeze.apply(undefined, arguments); +} \ No newline at end of file diff --git a/packages/ember-metal/lib/testing.js b/packages/ember-debug/lib/testing.js similarity index 100% rename from packages/ember-metal/lib/testing.js rename to packages/ember-debug/lib/testing.js diff --git a/packages/ember-debug/lib/warn.js b/packages/ember-debug/lib/warn.js index 82d066d29a4..aa6d3d2b6e2 100644 --- a/packages/ember-debug/lib/warn.js +++ b/packages/ember-debug/lib/warn.js @@ -1,7 +1,35 @@ import Logger from 'ember-console'; -import { deprecate } from 'ember-metal'; +import deprecate from './deprecate'; import { registerHandler as genericRegisterHandler, invoke } from './handlers'; +/** + Allows for runtime registration of handler functions that override the default warning behavior. + Warnings are invoked by calls made to [Ember.warn](http://emberjs.com/api/classes/Ember.html#method_warn). + The following example demonstrates its usage by registering a handler that does nothing overriding Ember's + default warning behavior. + + ```javascript + // next is not called, so no warnings get the default behavior + Ember.Debug.registerWarnHandler(() => {}); + ``` + + The handler function takes the following arguments: + + + + @public + @static + @method registerWarnHandler + @param handler {Function} A function to handle warnings. + @since 2.1.0 +*/ export function registerHandler(handler) { genericRegisterHandler('warn', handler); } diff --git a/packages/ember-metal/tests/error_test.js b/packages/ember-debug/tests/error_test.js similarity index 100% rename from packages/ember-metal/tests/error_test.js rename to packages/ember-debug/tests/error_test.js diff --git a/packages/ember-debug/tests/main_test.js b/packages/ember-debug/tests/main_test.js index 09b43a2adf4..fd8eb964597 100644 --- a/packages/ember-debug/tests/main_test.js +++ b/packages/ember-debug/tests/main_test.js @@ -18,7 +18,7 @@ import { deprecate, warn, assert as emberAssert -} from 'ember-metal'; +} from '../index'; let originalEnvValue; let originalDeprecateHandler; diff --git a/packages/ember-debug/tests/warn_if_using_stripped_feature_flags_test.js b/packages/ember-debug/tests/warn_if_using_stripped_feature_flags_test.js index 13f0edad109..b8cbc1805e8 100644 --- a/packages/ember-debug/tests/warn_if_using_stripped_feature_flags_test.js +++ b/packages/ember-debug/tests/warn_if_using_stripped_feature_flags_test.js @@ -1,5 +1,5 @@ import { ENV } from 'ember-environment'; -import { getDebugFunction, setDebugFunction } from 'ember-metal'; +import { getDebugFunction, setDebugFunction } from 'ember-debug'; import { _warnIfUsingStrippedFeatureFlags } from '../index'; let oldWarn, oldRunInDebug, origEnvFeatures, origEnableOptional, features, knownFeatures; diff --git a/packages/ember-glimmer/lib/component.js b/packages/ember-glimmer/lib/component.js index f06f99e3690..01da92dab86 100644 --- a/packages/ember-glimmer/lib/component.js +++ b/packages/ember-glimmer/lib/component.js @@ -10,10 +10,12 @@ import { } from 'ember-views'; import { TargetActionSupport } from 'ember-runtime'; import { - get, - PROPERTY_DID_CHANGE, assert, deprecate +} from 'ember-debug'; +import { + get, + PROPERTY_DID_CHANGE, } from 'ember-metal'; import { UPDATE, RootReference } from './utils/references'; import { DirtyableTag } from '@glimmer/reference'; diff --git a/packages/ember-glimmer/lib/components/link-to.js b/packages/ember-glimmer/lib/components/link-to.js index e7687507f87..75726c1c190 100644 --- a/packages/ember-glimmer/lib/components/link-to.js +++ b/packages/ember-glimmer/lib/components/link-to.js @@ -307,14 +307,11 @@ */ import Logger from 'ember-console'; - +import { assert, deprecate, runInDebug } from 'ember-debug'; import { - assert, - deprecate, get, computed, - flaggedInstrument, - runInDebug + flaggedInstrument } from 'ember-metal'; import { deprecatingAlias, diff --git a/packages/ember-glimmer/lib/environment.js b/packages/ember-glimmer/lib/environment.js index 0b26562c08f..c860e4d16fc 100644 --- a/packages/ember-glimmer/lib/environment.js +++ b/packages/ember-glimmer/lib/environment.js @@ -1,5 +1,6 @@ import { guidFor, OWNER } from 'ember-utils'; -import { Cache, assert, warn, runInDebug, isFeatureEnabled } from 'ember-metal'; +import { Cache } from 'ember-metal'; +import { assert, warn, runInDebug, isFeatureEnabled } from 'ember-debug'; import { lookupPartial, hasPartial, diff --git a/packages/ember-glimmer/lib/helpers/action.js b/packages/ember-glimmer/lib/helpers/action.js index a60c3ce205c..d732069ee9c 100644 --- a/packages/ember-glimmer/lib/helpers/action.js +++ b/packages/ember-glimmer/lib/helpers/action.js @@ -4,16 +4,15 @@ */ import { symbol } from 'ember-utils'; import { - assert, run, get, flaggedInstrument, - isNone, - runInDebug + isNone } from 'ember-metal'; import { UnboundReference } from '../utils/references'; import { EvaluatedPositionalArgs } from '@glimmer/runtime'; import { isConst } from '@glimmer/reference'; +import { runInDebug, assert } from 'ember-debug'; export const INVOKE = symbol('INVOKE'); export const ACTION = symbol('ACTION'); diff --git a/packages/ember-glimmer/lib/helpers/component.js b/packages/ember-glimmer/lib/helpers/component.js index 8256574815f..02ca10030bb 100644 --- a/packages/ember-glimmer/lib/helpers/component.js +++ b/packages/ember-glimmer/lib/helpers/component.js @@ -14,7 +14,7 @@ import { EvaluatedPositionalArgs, isComponentDefinition } from '@glimmer/runtime'; -import { assert, runInDebug } from 'ember-metal'; +import { assert, runInDebug } from 'ember-debug'; /** The `{{component}}` helper lets you add instances of `Ember.Component` to a @@ -148,7 +148,7 @@ export class ClosureComponentReference extends CachedReference { constructor(args, symbolTable, env) { super(); - + let firstArg = args.positional.at(0); this.defRef = firstArg; this.tag = firstArg.tag; diff --git a/packages/ember-glimmer/lib/helpers/if-unless.js b/packages/ember-glimmer/lib/helpers/if-unless.js index 7f426da0e40..252c8930fd0 100644 --- a/packages/ember-glimmer/lib/helpers/if-unless.js +++ b/packages/ember-glimmer/lib/helpers/if-unless.js @@ -3,7 +3,7 @@ @submodule ember-glimmer */ -import { assert } from 'ember-metal'; +import { assert } from 'ember-debug'; import { UNDEFINED_REFERENCE, CachedReference, diff --git a/packages/ember-glimmer/lib/helpers/mut.js b/packages/ember-glimmer/lib/helpers/mut.js index b90724f6eef..58147021136 100644 --- a/packages/ember-glimmer/lib/helpers/mut.js +++ b/packages/ember-glimmer/lib/helpers/mut.js @@ -3,7 +3,7 @@ @submodule ember-glimmer */ import { symbol } from 'ember-utils'; -import { assert } from 'ember-metal'; +import { assert } from 'ember-debug'; import { UPDATE } from '../utils/references'; import { INVOKE } from './action'; diff --git a/packages/ember-glimmer/lib/helpers/query-param.js b/packages/ember-glimmer/lib/helpers/query-param.js index 73d36b67140..0ad6d3f07d0 100644 --- a/packages/ember-glimmer/lib/helpers/query-param.js +++ b/packages/ember-glimmer/lib/helpers/query-param.js @@ -4,7 +4,7 @@ */ import { assign } from 'ember-utils'; import { InternalHelperReference } from '../utils/references'; -import { assert } from 'ember-metal'; +import { assert } from 'ember-debug'; import { QueryParams } from 'ember-routing'; /** diff --git a/packages/ember-glimmer/lib/helpers/unbound.js b/packages/ember-glimmer/lib/helpers/unbound.js index ad6f68135c3..5d34fab0fb9 100644 --- a/packages/ember-glimmer/lib/helpers/unbound.js +++ b/packages/ember-glimmer/lib/helpers/unbound.js @@ -3,7 +3,7 @@ @submodule ember-glimmer */ -import { assert } from 'ember-metal'; +import { assert } from 'ember-debug'; import { UnboundReference } from '../utils/references'; /** diff --git a/packages/ember-glimmer/lib/make-bound-helper.js b/packages/ember-glimmer/lib/make-bound-helper.js index caab703c528..6fe6562ccd9 100644 --- a/packages/ember-glimmer/lib/make-bound-helper.js +++ b/packages/ember-glimmer/lib/make-bound-helper.js @@ -2,7 +2,7 @@ @module ember @submodule ember-glimmer */ -import { deprecate } from 'ember-metal'; +import { deprecate } from 'ember-debug'; import { helper } from './helper'; /** diff --git a/packages/ember-glimmer/lib/modifiers/action.js b/packages/ember-glimmer/lib/modifiers/action.js index 78f38c25522..4cc258790b7 100644 --- a/packages/ember-glimmer/lib/modifiers/action.js +++ b/packages/ember-glimmer/lib/modifiers/action.js @@ -1,5 +1,6 @@ import { uuid } from 'ember-utils'; -import { assert, run, flaggedInstrument } from 'ember-metal'; +import { run, flaggedInstrument } from 'ember-metal'; +import { assert } from 'ember-debug'; import { isSimpleClick, ActionManager diff --git a/packages/ember-glimmer/lib/renderer.js b/packages/ember-glimmer/lib/renderer.js index c9b9cf2f752..6b7ad3a0de4 100644 --- a/packages/ember-glimmer/lib/renderer.js +++ b/packages/ember-glimmer/lib/renderer.js @@ -2,7 +2,6 @@ import { RootReference } from './utils/references'; import { run, setHasViews, - assert, runInTransaction } from 'ember-metal'; import { CURRENT_TAG, UNDEFINED_REFERENCE } from '@glimmer/reference'; @@ -15,6 +14,7 @@ import { import { BOUNDS } from './component'; import { RootComponentDefinition } from './syntax/curly-component'; import { TopLevelOutletComponentDefinition } from './syntax/outlet'; +import { assert } from 'ember-debug'; const { backburner } = run; diff --git a/packages/ember-glimmer/lib/syntax.js b/packages/ember-glimmer/lib/syntax.js index 745dd6e338a..7da8efb60f0 100644 --- a/packages/ember-glimmer/lib/syntax.js +++ b/packages/ember-glimmer/lib/syntax.js @@ -11,7 +11,7 @@ import { _withDynamicVarsMacro } from './syntax/-with-dynamic-vars'; import { _inElementMacro } from './syntax/-in-element'; import { inputMacro } from './syntax/input'; import { textAreaMacro } from './syntax/-text-area'; -import { assert } from 'ember-metal'; +import { assert } from 'ember-debug'; function refineInlineSyntax(path, params, hash, builder) { let [ name ] = path; diff --git a/packages/ember-glimmer/lib/syntax/abstract-manager.js b/packages/ember-glimmer/lib/syntax/abstract-manager.js index 56c1d4872bd..94c0b6e6885 100644 --- a/packages/ember-glimmer/lib/syntax/abstract-manager.js +++ b/packages/ember-glimmer/lib/syntax/abstract-manager.js @@ -1,4 +1,4 @@ -import { runInDebug } from 'ember-metal'; +import { runInDebug } from 'ember-debug'; class AbstractManager { diff --git a/packages/ember-glimmer/lib/syntax/curly-component.js b/packages/ember-glimmer/lib/syntax/curly-component.js index 15e674954fa..0900650c8b3 100644 --- a/packages/ember-glimmer/lib/syntax/curly-component.js +++ b/packages/ember-glimmer/lib/syntax/curly-component.js @@ -16,11 +16,13 @@ import { BOUNDS } from '../component'; import { - assert, - runInDebug, get, _instrumentStart } from 'ember-metal'; +import { + assert, + runInDebug +} from 'ember-debug'; import { dispatchLifeCycleHook, setViewElement diff --git a/packages/ember-glimmer/lib/syntax/dynamic-component.js b/packages/ember-glimmer/lib/syntax/dynamic-component.js index 0e2249b918c..a8377137d9f 100644 --- a/packages/ember-glimmer/lib/syntax/dynamic-component.js +++ b/packages/ember-glimmer/lib/syntax/dynamic-component.js @@ -2,7 +2,7 @@ import { isComponentDefinition } from '@glimmer/runtime'; import { UNDEFINED_REFERENCE } from '@glimmer/reference'; -import { assert } from 'ember-metal'; +import { assert } from 'ember-debug'; function dynamicComponentFor(vm, symbolTable) { let env = vm.env; diff --git a/packages/ember-glimmer/lib/syntax/input.js b/packages/ember-glimmer/lib/syntax/input.js index 5ebd2fc4861..e15b45d7d5b 100644 --- a/packages/ember-glimmer/lib/syntax/input.js +++ b/packages/ember-glimmer/lib/syntax/input.js @@ -2,7 +2,7 @@ @module ember @submodule ember-glimmer */ -import { assert } from 'ember-metal'; +import { assert } from 'ember-debug'; import { wrapComponentClassAttribute } from '../utils/bindings'; import { dynamicComponentMacro } from './dynamic-component'; diff --git a/packages/ember-glimmer/lib/syntax/mount.js b/packages/ember-glimmer/lib/syntax/mount.js index 564c1cd0d50..e4a51a32736 100644 --- a/packages/ember-glimmer/lib/syntax/mount.js +++ b/packages/ember-glimmer/lib/syntax/mount.js @@ -6,7 +6,7 @@ import { ComponentDefinition } from '@glimmer/runtime'; import { UNDEFINED_REFERENCE } from '@glimmer/reference'; -import { assert, runInDebug } from 'ember-metal'; +import { assert, runInDebug } from 'ember-debug'; import { RootReference } from '../utils/references'; import { generateControllerFactory } from 'ember-routing'; import { OutletLayoutCompiler } from './outlet'; diff --git a/packages/ember-glimmer/lib/syntax/outlet.js b/packages/ember-glimmer/lib/syntax/outlet.js index 48f57b50ff1..45536deb317 100644 --- a/packages/ember-glimmer/lib/syntax/outlet.js +++ b/packages/ember-glimmer/lib/syntax/outlet.js @@ -7,7 +7,8 @@ import { ComponentDefinition, CompiledArgs } from '@glimmer/runtime'; -import { _instrumentStart, runInDebug } from 'ember-metal'; +import { runInDebug } from 'ember-debug'; +import { _instrumentStart } from 'ember-metal'; import { RootReference } from '../utils/references'; import AbstractManager from './abstract-manager'; import { diff --git a/packages/ember-glimmer/lib/syntax/render.js b/packages/ember-glimmer/lib/syntax/render.js index f83b8733f99..4a397f6b040 100644 --- a/packages/ember-glimmer/lib/syntax/render.js +++ b/packages/ember-glimmer/lib/syntax/render.js @@ -6,7 +6,7 @@ import { ComponentDefinition } from '@glimmer/runtime'; import { ConstReference, isConst } from '@glimmer/reference'; -import { assert, runInDebug } from 'ember-metal'; +import { assert, runInDebug } from 'ember-debug'; import { RootReference } from '../utils/references'; import { generateController, generateControllerFactory } from 'ember-routing'; import { OutletLayoutCompiler } from './outlet'; diff --git a/packages/ember-glimmer/lib/utils/bindings.js b/packages/ember-glimmer/lib/utils/bindings.js index 53a5d0671cf..d7b9211479d 100644 --- a/packages/ember-glimmer/lib/utils/bindings.js +++ b/packages/ember-glimmer/lib/utils/bindings.js @@ -7,7 +7,8 @@ import { import { Ops } from '@glimmer/wire-format'; -import { get, assert } from 'ember-metal'; +import { assert } from 'ember-debug'; +import { get } from 'ember-metal'; import { String as StringUtils } from 'ember-runtime'; import { ROOT_REF } from '../component'; import { htmlSafe, isHTMLSafe } from './string'; diff --git a/packages/ember-glimmer/lib/utils/debug-stack.js b/packages/ember-glimmer/lib/utils/debug-stack.js index 0ccb01c1f33..f71da740a79 100644 --- a/packages/ember-glimmer/lib/utils/debug-stack.js +++ b/packages/ember-glimmer/lib/utils/debug-stack.js @@ -1,4 +1,4 @@ -import { runInDebug } from 'ember-metal'; +import { runInDebug } from 'ember-debug'; let DebugStack; diff --git a/packages/ember-glimmer/lib/utils/references.js b/packages/ember-glimmer/lib/utils/references.js index 94e0149be60..060845466f8 100644 --- a/packages/ember-glimmer/lib/utils/references.js +++ b/packages/ember-glimmer/lib/utils/references.js @@ -9,8 +9,6 @@ import { tagFor, didRender, watchKey, - isFeatureEnabled, - runInDebug, isProxy } from 'ember-metal'; import { @@ -29,6 +27,7 @@ import { } from '@glimmer/runtime'; import emberToBool from './to-bool'; import { RECOMPUTE_TAG } from '../helper'; +import { isFeatureEnabled, runInDebug } from 'ember-debug'; export const UPDATE = symbol('UPDATE'); diff --git a/packages/ember-glimmer/lib/utils/string.js b/packages/ember-glimmer/lib/utils/string.js index 278f079211d..30df150cd79 100644 --- a/packages/ember-glimmer/lib/utils/string.js +++ b/packages/ember-glimmer/lib/utils/string.js @@ -3,7 +3,7 @@ @submodule ember-glimmer */ -import { deprecate } from 'ember-metal'; +import { deprecate } from 'ember-debug'; export class SafeString { constructor(string) { diff --git a/packages/ember-glimmer/tests/integration/application/rendering-test.js b/packages/ember-glimmer/tests/integration/application/rendering-test.js index fba3017945e..7747ce38828 100644 --- a/packages/ember-glimmer/tests/integration/application/rendering-test.js +++ b/packages/ember-glimmer/tests/integration/application/rendering-test.js @@ -2,7 +2,7 @@ import { Controller } from 'ember-runtime'; import { moduleFor, ApplicationTest } from '../../utils/test-case'; import { strip } from '../../utils/abstract-test-case'; import { Route } from 'ember-routing'; -import { isFeatureEnabled } from 'ember-metal'; +import { isFeatureEnabled } from 'ember-debug'; import { Component } from 'ember-glimmer'; moduleFor('Application test: rendering', class extends ApplicationTest { diff --git a/packages/ember-glimmer/tests/integration/components/append-test.js b/packages/ember-glimmer/tests/integration/components/append-test.js index c32fd864f72..6de4f7f4918 100644 --- a/packages/ember-glimmer/tests/integration/components/append-test.js +++ b/packages/ember-glimmer/tests/integration/components/append-test.js @@ -1,8 +1,9 @@ -import { set, isFeatureEnabled } from 'ember-metal'; +import { set } from 'ember-metal'; import { jQuery } from 'ember-views'; import { moduleFor, RenderingTest } from '../../utils/test-case'; import { Component, compile } from '../../utils/helpers'; import { strip } from '../../utils/abstract-test-case'; +import { isFeatureEnabled } from 'ember-debug'; class AbstractAppendTest extends RenderingTest { diff --git a/packages/ember-glimmer/tests/integration/components/curly-components-test.js b/packages/ember-glimmer/tests/integration/components/curly-components-test.js index 5e59d52f7d0..3061d50c49a 100644 --- a/packages/ember-glimmer/tests/integration/components/curly-components-test.js +++ b/packages/ember-glimmer/tests/integration/components/curly-components-test.js @@ -1,6 +1,5 @@ /* globals EmberDev */ import { - isFeatureEnabled, set, get, observer, @@ -8,6 +7,7 @@ import { computed, run } from 'ember-metal'; +import { isFeatureEnabled } from 'ember-debug'; import { Object as EmberObject, A as emberA, diff --git a/packages/ember-glimmer/tests/integration/components/dynamic-components-test.js b/packages/ember-glimmer/tests/integration/components/dynamic-components-test.js index 6fb437d7163..e66625415ea 100644 --- a/packages/ember-glimmer/tests/integration/components/dynamic-components-test.js +++ b/packages/ember-glimmer/tests/integration/components/dynamic-components-test.js @@ -2,7 +2,7 @@ import { set, computed } from 'ember-metal'; import { Component } from '../../utils/helpers'; import { strip } from '../../utils/abstract-test-case'; import { moduleFor, RenderingTest } from '../../utils/test-case'; -import { isFeatureEnabled } from 'ember-metal'; +import { isFeatureEnabled } from 'ember-debug'; moduleFor('Components test: dynamic components', class extends RenderingTest { diff --git a/packages/ember-glimmer/tests/integration/content-test.js b/packages/ember-glimmer/tests/integration/content-test.js index a6fdf05156f..542a05e12a2 100644 --- a/packages/ember-glimmer/tests/integration/content-test.js +++ b/packages/ember-glimmer/tests/integration/content-test.js @@ -3,10 +3,12 @@ import { RenderingTest, moduleFor } from '../utils/test-case'; import { applyMixins } from '../utils/abstract-test-case'; import { set, - computed, + computed +} from 'ember-metal'; +import { getDebugFunction, setDebugFunction -} from 'ember-metal'; +} from 'ember-debug'; import { Object as EmberObject, ObjectProxy } from 'ember-runtime'; import { classes } from '../utils/test-helpers'; import { constructStyleDeprecationMessage } from 'ember-views'; diff --git a/packages/ember-glimmer/tests/integration/event-dispatcher-test.js b/packages/ember-glimmer/tests/integration/event-dispatcher-test.js index c66a4348708..8b55b7f3838 100644 --- a/packages/ember-glimmer/tests/integration/event-dispatcher-test.js +++ b/packages/ember-glimmer/tests/integration/event-dispatcher-test.js @@ -1,11 +1,11 @@ import { RenderingTest, moduleFor } from '../utils/test-case'; import { Component } from '../utils/helpers'; import { - isFeatureEnabled, instrumentationSubscribe, instrumentationReset, run } from 'ember-metal'; +import { isFeatureEnabled } from 'ember-debug'; let canDataTransfer = !!document.createEvent('HTMLEvents').dataTransfer; diff --git a/packages/ember-glimmer/tests/integration/helpers/closure-action-test.js b/packages/ember-glimmer/tests/integration/helpers/closure-action-test.js index 9ce031b00f4..cf473d4c25e 100644 --- a/packages/ember-glimmer/tests/integration/helpers/closure-action-test.js +++ b/packages/ember-glimmer/tests/integration/helpers/closure-action-test.js @@ -2,10 +2,10 @@ import { run, set, computed, - isFeatureEnabled, instrumentationSubscribe, instrumentationUnsubscribe } from 'ember-metal'; +import { isFeatureEnabled } from 'ember-debug'; import { RenderingTest, moduleFor } from '../../utils/test-case'; import { strip } from '../../utils/abstract-test-case'; import { Component, INVOKE } from '../../utils/helpers'; diff --git a/packages/ember-glimmer/tests/integration/helpers/element-action-test.js b/packages/ember-glimmer/tests/integration/helpers/element-action-test.js index 97f1aa8f7b1..e6c53e08216 100644 --- a/packages/ember-glimmer/tests/integration/helpers/element-action-test.js +++ b/packages/ember-glimmer/tests/integration/helpers/element-action-test.js @@ -3,10 +3,10 @@ import { strip } from '../../utils/abstract-test-case'; import { Component } from '../../utils/helpers'; import { set, - isFeatureEnabled, instrumentationSubscribe, instrumentationReset } from 'ember-metal'; +import { isFeatureEnabled } from 'ember-debug'; import { Object as EmberObject, A as emberA } from 'ember-runtime'; diff --git a/packages/ember-glimmer/tests/integration/helpers/render-test.js b/packages/ember-glimmer/tests/integration/helpers/render-test.js index 6b5ebb44227..8e9476b5c7e 100644 --- a/packages/ember-glimmer/tests/integration/helpers/render-test.js +++ b/packages/ember-glimmer/tests/integration/helpers/render-test.js @@ -1,6 +1,7 @@ -import { observer, set, computed, isFeatureEnabled } from 'ember-metal'; +import { observer, set, computed } from 'ember-metal'; import { Controller } from 'ember-runtime'; import { RenderingTest, moduleFor } from '../../utils/test-case'; +import { isFeatureEnabled } from 'ember-debug'; moduleFor('Helpers test: {{render}}', class extends RenderingTest { ['@test should render given template']() { diff --git a/packages/ember-glimmer/tests/integration/mount-test.js b/packages/ember-glimmer/tests/integration/mount-test.js index aa974079037..1336c9347a2 100644 --- a/packages/ember-glimmer/tests/integration/mount-test.js +++ b/packages/ember-glimmer/tests/integration/mount-test.js @@ -6,8 +6,9 @@ import { } from '../utils/test-case'; import { compile, Component } from '../utils/helpers'; import { Controller } from 'ember-runtime'; -import { set, isFeatureEnabled } from 'ember-metal'; +import { set } from 'ember-metal'; import { Engine, getEngineParent } from 'ember-application'; +import { isFeatureEnabled } from 'ember-debug'; moduleFor('{{mount}} assertions', class extends RenderingTest { ['@test it asserts that only a single param is passed']() { diff --git a/packages/ember-glimmer/tests/integration/outlet-test.js b/packages/ember-glimmer/tests/integration/outlet-test.js index 29c0a27b8b2..542b8848463 100644 --- a/packages/ember-glimmer/tests/integration/outlet-test.js +++ b/packages/ember-glimmer/tests/integration/outlet-test.js @@ -1,6 +1,7 @@ import { RenderingTest, moduleFor } from '../utils/test-case'; import { runAppend } from 'internal-test-helpers'; -import { set, isFeatureEnabled } from 'ember-metal'; +import { set } from 'ember-metal'; +import { isFeatureEnabled } from 'ember-debug'; moduleFor('outlet view', class extends RenderingTest { constructor() { diff --git a/packages/ember-glimmer/tests/unit/utils/debug-stack-test.js b/packages/ember-glimmer/tests/unit/utils/debug-stack-test.js index e239cb07505..6ea29d25dc7 100644 --- a/packages/ember-glimmer/tests/unit/utils/debug-stack-test.js +++ b/packages/ember-glimmer/tests/unit/utils/debug-stack-test.js @@ -1,5 +1,5 @@ import DebugStack from 'ember-glimmer/utils/debug-stack'; -import { runInDebug } from 'ember-metal'; +import { runInDebug } from 'ember-debug'; runInDebug(() => { QUnit.module('Glimmer DebugStack'); diff --git a/packages/ember-metal/lib/alias.js b/packages/ember-metal/lib/alias.js index e477d2852b0..89b28bf9446 100644 --- a/packages/ember-metal/lib/alias.js +++ b/packages/ember-metal/lib/alias.js @@ -1,8 +1,7 @@ import { inspect } from 'ember-utils'; -import { assert } from './debug'; +import { assert, Error as EmberError } from 'ember-debug'; import { get } from './property_get'; import { set } from './property_set'; -import EmberError from './error'; import { Descriptor, defineProperty diff --git a/packages/ember-metal/lib/binding.js b/packages/ember-metal/lib/binding.js index d18c0846b67..0f890a29993 100644 --- a/packages/ember-metal/lib/binding.js +++ b/packages/ember-metal/lib/binding.js @@ -2,7 +2,7 @@ import { guidFor } from 'ember-utils'; import Logger from 'ember-console'; import { context, ENV } from 'ember-environment'; import run from './run_loop'; -import { assert, deprecate } from './debug'; +import { assert, deprecate } from 'ember-debug'; import { get } from './property_get'; import { trySet } from './property_set'; import { addListener } from './events'; diff --git a/packages/ember-metal/lib/computed.js b/packages/ember-metal/lib/computed.js index 4814bd0d92b..94a70d8a82a 100644 --- a/packages/ember-metal/lib/computed.js +++ b/packages/ember-metal/lib/computed.js @@ -1,9 +1,8 @@ import { inspect } from 'ember-utils'; -import { assert, warn } from './debug'; +import { assert, warn, Error as EmberError } from 'ember-debug'; import { set } from './property_set'; import { meta as metaFor, peekMeta, UNDEFINED } from './meta'; import expandProperties from './expand_properties'; -import EmberError from './error'; import { Descriptor, defineProperty diff --git a/packages/ember-metal/lib/debug.js b/packages/ember-metal/lib/debug.js deleted file mode 100644 index 2efefb4f884..00000000000 --- a/packages/ember-metal/lib/debug.js +++ /dev/null @@ -1,55 +0,0 @@ -export let debugFunctions = { - assert() {}, - info() {}, - warn() {}, - debug() {}, - deprecate() {}, - deprecateFunc(...args) { return args[args.length - 1]; }, - runInDebug() {}, - debugSeal() {}, - debugFreeze() {} -}; - -export function getDebugFunction(name) { - return debugFunctions[name]; -} - -export function setDebugFunction(name, fn) { - debugFunctions[name] = fn; -} - -export function assert() { - return debugFunctions.assert.apply(undefined, arguments); -} - -export function info() { - return debugFunctions.info.apply(undefined, arguments); -} - -export function warn() { - return debugFunctions.warn.apply(undefined, arguments); -} - -export function debug() { - return debugFunctions.debug.apply(undefined, arguments); -} - -export function deprecate() { - return debugFunctions.deprecate.apply(undefined, arguments); -} - -export function deprecateFunc() { - return debugFunctions.deprecateFunc.apply(undefined, arguments); -} - -export function runInDebug() { - return debugFunctions.runInDebug.apply(undefined, arguments); -} - -export function debugSeal() { - return debugFunctions.debugSeal.apply(undefined, arguments); -} - -export function debugFreeze() { - return debugFunctions.debugFreeze.apply(undefined, arguments); -} diff --git a/packages/ember-metal/lib/deprecate_property.js b/packages/ember-metal/lib/deprecate_property.js index 6cad1f75462..bf89583df82 100644 --- a/packages/ember-metal/lib/deprecate_property.js +++ b/packages/ember-metal/lib/deprecate_property.js @@ -3,7 +3,7 @@ @submodule ember-metal */ -import { deprecate } from './debug'; +import { deprecate } from 'ember-debug'; import { get } from './property_get'; import { set } from './property_set'; diff --git a/packages/ember-metal/lib/error_handler.js b/packages/ember-metal/lib/error_handler.js index d2f30c1d529..7cdd54f4196 100644 --- a/packages/ember-metal/lib/error_handler.js +++ b/packages/ember-metal/lib/error_handler.js @@ -1,5 +1,5 @@ import Logger from 'ember-console'; -import { isTesting } from './testing'; +import { isTesting } from 'ember-debug'; // To maintain stacktrace consistency across browsers let getStack = error => { diff --git a/packages/ember-metal/lib/events.js b/packages/ember-metal/lib/events.js index 4e139912e66..9b9e6023121 100644 --- a/packages/ember-metal/lib/events.js +++ b/packages/ember-metal/lib/events.js @@ -3,9 +3,8 @@ @submodule ember-metal */ import { applyStr } from 'ember-utils'; -import { assert } from './debug'; import { meta as metaFor, peekMeta } from './meta'; -import { deprecate } from './debug'; +import { deprecate, assert } from 'ember-debug'; import { ONCE, SUSPENDED } from './meta_listeners'; diff --git a/packages/ember-metal/lib/expand_properties.js b/packages/ember-metal/lib/expand_properties.js index 17ecc2ff3d3..0d6e0875ef3 100644 --- a/packages/ember-metal/lib/expand_properties.js +++ b/packages/ember-metal/lib/expand_properties.js @@ -1,4 +1,4 @@ -import { assert } from './debug'; +import { assert } from 'ember-debug'; /** @module ember diff --git a/packages/ember-metal/lib/index.js b/packages/ember-metal/lib/index.js index b0222287b2b..2c4beaecd1a 100644 --- a/packages/ember-metal/lib/index.js +++ b/packages/ember-metal/lib/index.js @@ -11,19 +11,6 @@ export { } from './computed'; export { default as alias } from './alias'; export { default as merge } from './merge'; -export { - assert, - info, - warn, - debug, - deprecate, - deprecateFunc, - runInDebug, - setDebugFunction, - getDebugFunction, - debugSeal, - debugFreeze -} from './debug'; export { deprecateProperty } from './deprecate_property'; export { instrument, @@ -33,10 +20,6 @@ export { subscribe as instrumentationSubscribe, unsubscribe as instrumentationUnsubscribe } from './instrumentation'; -export { - isTesting, - setTesting -} from './testing'; export { getOnerror, setOnerror, @@ -48,13 +31,7 @@ export { meta, peekMeta } from './meta'; -export { default as Error } from './error'; export { default as Cache } from './cache'; -export { - default as isFeatureEnabled, - FEATURES, - DEFAULT_FEATURES -} from './features'; export { _getPath, get, @@ -172,14 +149,4 @@ export { export { isProxy } from './is_proxy'; -export { default as descriptor } from './descriptor'; - - -// TODO: this needs to be deleted once we refactor the build tooling -// do this for side-effects of updating Ember.assert, warn, etc when -// ember-debug is present -// This needs to be called before any deprecateFunc -import require, { has } from 'require'; -if (has('ember-debug')) { - require('ember-debug'); -} +export { default as descriptor } from './descriptor'; \ No newline at end of file diff --git a/packages/ember-metal/lib/injected_property.js b/packages/ember-metal/lib/injected_property.js index 887adef8fcf..05ff7a11de4 100644 --- a/packages/ember-metal/lib/injected_property.js +++ b/packages/ember-metal/lib/injected_property.js @@ -1,5 +1,5 @@ import { getOwner } from 'ember-utils'; -import { assert } from './debug'; +import { assert } from 'ember-debug'; import { ComputedProperty } from './computed'; import { AliasedProperty } from './alias'; import { Descriptor } from './properties'; diff --git a/packages/ember-metal/lib/instrumentation.js b/packages/ember-metal/lib/instrumentation.js index 3a4186acb8f..30d9d9a3859 100644 --- a/packages/ember-metal/lib/instrumentation.js +++ b/packages/ember-metal/lib/instrumentation.js @@ -2,7 +2,7 @@ /* global console */ import { ENV } from 'ember-environment'; -import isEnabled from './features'; +import { isFeatureEnabled } from 'ember-debug'; /** The purpose of the Ember Instrumentation module is @@ -110,7 +110,7 @@ export function instrument(name, _payload, callback, binding) { } let flaggedInstrument; -if (isEnabled('ember-improved-instrumentation')) { +if (isFeatureEnabled('ember-improved-instrumentation')) { flaggedInstrument = instrument; } else { flaggedInstrument = (name, payload, callback) => callback(); diff --git a/packages/ember-metal/lib/libraries.js b/packages/ember-metal/lib/libraries.js index 6bdafa1acc8..8831d464030 100644 --- a/packages/ember-metal/lib/libraries.js +++ b/packages/ember-metal/lib/libraries.js @@ -1,5 +1,4 @@ -import { warn } from './debug'; -import isEnabled from './features'; +import { warn, isFeatureEnabled } from 'ember-debug'; /** Helper class that allows you to register your library with Ember. @@ -63,7 +62,7 @@ Libraries.prototype = { } }; -if (isEnabled('ember-libraries-isregistered')) { +if (isFeatureEnabled('ember-libraries-isregistered')) { Libraries.prototype.isRegistered = function(name) { return !!this._getLibraryByName(name); }; diff --git a/packages/ember-metal/lib/meta.js b/packages/ember-metal/lib/meta.js index 852da2bbfea..ac88b33bcaa 100644 --- a/packages/ember-metal/lib/meta.js +++ b/packages/ember-metal/lib/meta.js @@ -3,9 +3,8 @@ import { lookupDescriptor, symbol } from 'ember-utils'; -import isEnabled from './features'; import { protoMethods as listenerMethods } from './meta_listeners'; -import { runInDebug, assert } from './debug'; +import { runInDebug, assert, isFeatureEnabled } from 'ember-debug'; import { removeChainWatcher } from './chains'; @@ -65,8 +64,8 @@ const SOURCE_DESTROYED = 1 << 2; const META_DESTROYED = 1 << 3; const IS_PROXY = 1 << 4; -if (isEnabled('ember-glimmer-detect-backtracking-rerender') || - isEnabled('ember-glimmer-allow-backtracking-rerender')) { +if (isFeatureEnabled('ember-glimmer-detect-backtracking-rerender') || + isFeatureEnabled('ember-glimmer-allow-backtracking-rerender')) { members.lastRendered = ownMap; if (has('ember-debug')) { //https://github.com/emberjs/ember.js/issues/14732 members.lastRenderedReferenceMap = ownMap; @@ -110,8 +109,8 @@ export class Meta { // inherited, and we can optimize it much better than JS runtimes. this.parent = parentMeta; - if (isEnabled('ember-glimmer-detect-backtracking-rerender') || - isEnabled('ember-glimmer-allow-backtracking-rerender')) { + if (isFeatureEnabled('ember-glimmer-detect-backtracking-rerender') || + isFeatureEnabled('ember-glimmer-allow-backtracking-rerender')) { this._lastRendered = undefined; runInDebug(() => { this._lastRenderedReferenceMap = undefined; @@ -470,7 +469,7 @@ const EMBER_META_PROPERTY = { descriptor: META_DESC }; -if (isEnabled('mandatory-setter')) { +if (isFeatureEnabled('mandatory-setter')) { Meta.prototype.readInheritedValue = function(key, subkey) { let internalKey = `_${key}`; diff --git a/packages/ember-metal/lib/mixin.js b/packages/ember-metal/lib/mixin.js index f8e9ca86506..3ce23789ef6 100644 --- a/packages/ember-metal/lib/mixin.js +++ b/packages/ember-metal/lib/mixin.js @@ -11,13 +11,13 @@ import { wrap, makeArray } from 'ember-utils'; -import EmberError from './error'; import { debugSeal, assert, deprecate, - runInDebug -} from './debug'; + runInDebug, + EmberError +} from 'ember-debug'; import { meta as metaFor, peekMeta } from './meta'; import expandProperties from './expand_properties'; import { diff --git a/packages/ember-metal/lib/properties.js b/packages/ember-metal/lib/properties.js index a36e046976b..adc7e8a663d 100644 --- a/packages/ember-metal/lib/properties.js +++ b/packages/ember-metal/lib/properties.js @@ -2,8 +2,7 @@ @module ember-metal */ -import { assert } from './debug'; -import isEnabled from './features'; +import { assert, isFeatureEnabled } from 'ember-debug'; import { meta as metaFor, peekMeta } from './meta'; import { overrideChains } from './property_events'; // .......................................................... @@ -144,7 +143,7 @@ export function defineProperty(obj, keyName, desc, data, meta) { if (desc instanceof Descriptor) { value = desc; - if (isEnabled('mandatory-setter')) { + if (isFeatureEnabled('mandatory-setter')) { if (watching) { Object.defineProperty(obj, keyName, { configurable: true, @@ -163,7 +162,7 @@ export function defineProperty(obj, keyName, desc, data, meta) { if (desc == null) { value = data; - if (isEnabled('mandatory-setter')) { + if (isFeatureEnabled('mandatory-setter')) { if (watching) { meta.writeValues(keyName, data); diff --git a/packages/ember-metal/lib/property_events.js b/packages/ember-metal/lib/property_events.js index 1de0904041c..560b6455ca6 100644 --- a/packages/ember-metal/lib/property_events.js +++ b/packages/ember-metal/lib/property_events.js @@ -10,7 +10,7 @@ import { markObjectAsDirty } from './tags'; import ObserverSet from './observer_set'; -import isEnabled from './features'; +import { isFeatureEnabled } from 'ember-debug'; import { assertNotRendered } from './transaction'; export let PROPERTY_DID_CHANGE = symbol('PROPERTY_DID_CHANGE'); @@ -112,8 +112,8 @@ function propertyDidChange(obj, keyName, _meta) { markObjectAsDirty(meta, keyName); - if (isEnabled('ember-glimmer-detect-backtracking-rerender') || - isEnabled('ember-glimmer-allow-backtracking-rerender')) { + if (isFeatureEnabled('ember-glimmer-detect-backtracking-rerender') || + isFeatureEnabled('ember-glimmer-allow-backtracking-rerender')) { assertNotRendered(obj, keyName, meta); } } diff --git a/packages/ember-metal/lib/property_get.js b/packages/ember-metal/lib/property_get.js index c420c338597..0ff2bdbb62a 100644 --- a/packages/ember-metal/lib/property_get.js +++ b/packages/ember-metal/lib/property_get.js @@ -2,7 +2,7 @@ @module ember-metal */ -import { assert } from './debug'; +import { assert } from 'ember-debug'; import { isPath, hasThis } from './path_cache'; const ALLOWABLE_TYPES = { diff --git a/packages/ember-metal/lib/property_set.js b/packages/ember-metal/lib/property_set.js index 152d504db92..a161bd94d2a 100644 --- a/packages/ember-metal/lib/property_set.js +++ b/packages/ember-metal/lib/property_set.js @@ -1,13 +1,11 @@ import { toString } from 'ember-utils'; -import { assert } from './debug'; -import isEnabled from './features'; +import { assert, isFeatureEnabled, Error as EmberError } from 'ember-debug'; import { _getPath as getPath } from './property_get'; import { propertyWillChange, propertyDidChange } from './property_events'; -import EmberError from './error'; import { isPath, hasThis as pathHasThis @@ -68,7 +66,7 @@ export function set(obj, keyName, value, tolerant) { } else { propertyWillChange(obj, keyName); - if (isEnabled('mandatory-setter')) { + if (isFeatureEnabled('mandatory-setter')) { setWithMandatorySetter(meta, obj, keyName, value); } else { obj[keyName] = value; @@ -80,7 +78,7 @@ export function set(obj, keyName, value, tolerant) { return value; } -if (isEnabled('mandatory-setter')) { +if (isFeatureEnabled('mandatory-setter')) { var setWithMandatorySetter = (meta, obj, keyName, value) => { if (meta && meta.peekWatching(keyName) > 0) { makeEnumerable(obj, keyName); diff --git a/packages/ember-metal/lib/run_loop.js b/packages/ember-metal/lib/run_loop.js index 748ff8b0bd6..57a6c65b5e6 100644 --- a/packages/ember-metal/lib/run_loop.js +++ b/packages/ember-metal/lib/run_loop.js @@ -1,6 +1,5 @@ import { GUID_KEY } from 'ember-utils'; -import { assert } from './debug'; -import { isTesting } from './testing'; +import { assert, isTesting } from 'ember-debug'; import { dispatchError, setOnerror diff --git a/packages/ember-metal/lib/transaction.js b/packages/ember-metal/lib/transaction.js index c7a96a800e3..b1e41e701a9 100644 --- a/packages/ember-metal/lib/transaction.js +++ b/packages/ember-metal/lib/transaction.js @@ -1,13 +1,12 @@ import { meta as metaFor } from './meta'; -import { assert, runInDebug, deprecate } from './debug'; -import isEnabled from './features'; +import { assert, runInDebug, deprecate, isFeatureEnabled } from 'ember-debug'; let runInTransaction, didRender, assertNotRendered; // detect-backtracking-rerender by default is debug build only // detect-glimmer-allow-backtracking-rerender can be enabled in custom builds -if (isEnabled('ember-glimmer-detect-backtracking-rerender') || - isEnabled('ember-glimmer-allow-backtracking-rerender')) { +if (isFeatureEnabled('ember-glimmer-detect-backtracking-rerender') || + isFeatureEnabled('ember-glimmer-allow-backtracking-rerender')) { let counter = 0; let inTransaction = false; let shouldReflush; @@ -70,7 +69,7 @@ if (isEnabled('ember-glimmer-detect-backtracking-rerender') || let message = `You modified "${label}" twice on ${object} in a single render. It was rendered in ${lastRenderedIn} and modified in ${currentlyIn}. This was unreliable and slow in Ember 1.x and`; - if (isEnabled('ember-glimmer-allow-backtracking-rerender')) { + if (isFeatureEnabled('ember-glimmer-allow-backtracking-rerender')) { deprecate(`${message} will be removed in Ember 3.0.`, false, { id: 'ember-views.render-double-modify', until: '3.0.0' }); } else { assert(`${message} is no longer supported. See https://github.com/emberjs/ember.js/issues/13948 for more details.`, false); diff --git a/packages/ember-metal/lib/watch_key.js b/packages/ember-metal/lib/watch_key.js index 61d2bec04dd..48c93074932 100644 --- a/packages/ember-metal/lib/watch_key.js +++ b/packages/ember-metal/lib/watch_key.js @@ -1,5 +1,5 @@ import { lookupDescriptor } from 'ember-utils'; -import isEnabled from './features'; +import { isFeatureEnabled } from 'ember-debug'; import { meta as metaFor } from './meta'; @@ -31,7 +31,7 @@ export function watchKey(obj, keyName, meta) { obj.willWatchProperty(keyName); } - if (isEnabled('mandatory-setter')) { + if (isFeatureEnabled('mandatory-setter')) { // NOTE: this is dropped for prod + minified builds handleMandatorySetter(m, obj, keyName); } @@ -41,7 +41,7 @@ export function watchKey(obj, keyName, meta) { } -if (isEnabled('mandatory-setter')) { +if (isFeatureEnabled('mandatory-setter')) { let hasOwnProperty = (obj, key) => Object.prototype.hasOwnProperty.call(obj, key); let propertyIsEnumerable = (obj, key) => Object.prototype.propertyIsEnumerable.call(obj, key); @@ -108,7 +108,7 @@ export function unwatchKey(obj, keyName, _meta) { obj.didUnwatchProperty(keyName); } - if (isEnabled('mandatory-setter')) { + if (isFeatureEnabled('mandatory-setter')) { // It is true, the following code looks quite WAT. But have no fear, It // exists purely to improve development ergonomics and is removed from // ember.min.js and ember.prod.js builds. diff --git a/packages/ember-metal/tests/accessors/mandatory_setters_test.js b/packages/ember-metal/tests/accessors/mandatory_setters_test.js index 730d20b3200..4e23800e1e7 100644 --- a/packages/ember-metal/tests/accessors/mandatory_setters_test.js +++ b/packages/ember-metal/tests/accessors/mandatory_setters_test.js @@ -1,4 +1,4 @@ -import isEnabled from '../../features'; +import { isFeatureEnabled } from 'ember-debug'; import { get } from '../../property_get'; import { set } from '../../property_set'; import { watch, unwatch } from '../../watching'; @@ -18,7 +18,7 @@ function hasMetaValue(object, property) { return metaFor(object).hasInValues(property); } -if (isEnabled('mandatory-setter')) { +if (isFeatureEnabled('mandatory-setter')) { QUnit.test('does not assert if property is not being watched', function() { let obj = { someProp: null, diff --git a/packages/ember-metal/tests/libraries_test.js b/packages/ember-metal/tests/libraries_test.js index 70d847e36c2..2dac27ac7e5 100644 --- a/packages/ember-metal/tests/libraries_test.js +++ b/packages/ember-metal/tests/libraries_test.js @@ -1,6 +1,5 @@ /* globals EmberDev */ -import { getDebugFunction, setDebugFunction } from '../debug'; -import isEnabled from '../features'; +import { isFeatureEnabled, getDebugFunction, setDebugFunction } from 'ember-debug'; import { Libraries } from '../libraries'; let libs, registry; @@ -41,7 +40,7 @@ QUnit.test('only the first registration of a library is stored', function() { equal(registry.length, 1); }); -if (isEnabled('ember-libraries-isregistered')) { +if (isFeatureEnabled('ember-libraries-isregistered')) { QUnit.test('isRegistered returns correct value', function() { expect(3); diff --git a/packages/ember-metal/tests/properties_test.js b/packages/ember-metal/tests/properties_test.js index bd4eb4f1f9d..b5f38a36238 100644 --- a/packages/ember-metal/tests/properties_test.js +++ b/packages/ember-metal/tests/properties_test.js @@ -1,6 +1,6 @@ import { computed } from '../computed'; import { defineProperty } from '../properties'; -import { deprecateProperty } from '../deprecate_property'; +import { deprecateProperty } from 'ember-metal'; QUnit.module('Ember.defineProperty'); diff --git a/packages/ember-metal/tests/run_loop/onerror_test.js b/packages/ember-metal/tests/run_loop/onerror_test.js index df10fc3b8d7..6c2f81f3431 100644 --- a/packages/ember-metal/tests/run_loop/onerror_test.js +++ b/packages/ember-metal/tests/run_loop/onerror_test.js @@ -1,6 +1,6 @@ import run from '../../run_loop'; import { setOnerror, getOnerror, setDispatchOverride, getDispatchOverride } from '../../error_handler'; -import { isTesting, setTesting } from '../../testing'; +import { isTesting, setTesting } from 'ember-debug'; QUnit.module('system/run_loop/onerror_test'); diff --git a/packages/ember-metal/tests/run_loop/unwind_test.js b/packages/ember-metal/tests/run_loop/unwind_test.js index 695a475ff84..b06f159773d 100644 --- a/packages/ember-metal/tests/run_loop/unwind_test.js +++ b/packages/ember-metal/tests/run_loop/unwind_test.js @@ -1,5 +1,5 @@ import run from '../../run_loop'; -import EmberError from '../../error'; +import { Error as EmberError } from 'ember-debug'; QUnit.module('system/run_loop/unwind_test'); diff --git a/packages/ember-routing/lib/location/api.js b/packages/ember-routing/lib/location/api.js index e1a360d7b05..45009b955b3 100644 --- a/packages/ember-routing/lib/location/api.js +++ b/packages/ember-routing/lib/location/api.js @@ -1,4 +1,4 @@ -import { assert } from 'ember-metal'; +import { assert } from 'ember-debug'; import { environment } from 'ember-environment'; import { getHash } from './util'; diff --git a/packages/ember-routing/lib/location/auto_location.js b/packages/ember-routing/lib/location/auto_location.js index 437b300ccbb..de71db7f737 100644 --- a/packages/ember-routing/lib/location/auto_location.js +++ b/packages/ember-routing/lib/location/auto_location.js @@ -1,6 +1,6 @@ import { tryInvoke, getOwner } from 'ember-utils'; -import { assert, get, set } from 'ember-metal'; - +import { get, set } from 'ember-metal'; +import { assert } from 'ember-debug'; import { Object as EmberObject } from 'ember-runtime'; import { environment } from 'ember-environment'; diff --git a/packages/ember-routing/lib/location/history_location.js b/packages/ember-routing/lib/location/history_location.js index 9e632fc6134..aabc723a3c0 100644 --- a/packages/ember-routing/lib/location/history_location.js +++ b/packages/ember-routing/lib/location/history_location.js @@ -1,8 +1,8 @@ import { get, - set, - isFeatureEnabled + set } from 'ember-metal'; +import { isFeatureEnabled } from 'ember-debug'; import { Object as EmberObject } from 'ember-runtime'; import EmberLocation from './api'; diff --git a/packages/ember-routing/lib/location/none_location.js b/packages/ember-routing/lib/location/none_location.js index 60471560765..b16ebf74b68 100644 --- a/packages/ember-routing/lib/location/none_location.js +++ b/packages/ember-routing/lib/location/none_location.js @@ -1,8 +1,8 @@ import { - assert, get, set } from 'ember-metal'; +import { assert } from 'ember-debug'; import { Object as EmberObject } from 'ember-runtime'; /** diff --git a/packages/ember-routing/lib/system/dsl.js b/packages/ember-routing/lib/system/dsl.js index 8a76cdc3335..485f24a1303 100644 --- a/packages/ember-routing/lib/system/dsl.js +++ b/packages/ember-routing/lib/system/dsl.js @@ -1,5 +1,5 @@ import { assign } from 'ember-utils'; -import { assert, deprecate } from 'ember-metal'; +import { assert, deprecate } from 'ember-debug'; /** @module ember diff --git a/packages/ember-routing/lib/system/generate_controller.js b/packages/ember-routing/lib/system/generate_controller.js index 8a326a6ad82..d753bf40b28 100644 --- a/packages/ember-routing/lib/system/generate_controller.js +++ b/packages/ember-routing/lib/system/generate_controller.js @@ -1,10 +1,6 @@ -import { - info, - get, - runInDebug -} from 'ember-metal'; +import { get } from 'ember-metal'; import { FACTORY_FOR } from 'container'; - +import { runInDebug, info } from 'ember-debug'; /** @module ember @submodule ember-routing diff --git a/packages/ember-routing/lib/system/route.js b/packages/ember-routing/lib/system/route.js index 81f0cd919c2..fcd68f13998 100644 --- a/packages/ember-routing/lib/system/route.js +++ b/packages/ember-routing/lib/system/route.js @@ -1,18 +1,14 @@ import { assign, symbol, getOwner } from 'ember-utils'; import { - assert, - info, - isTesting, - Error as EmberError, get, set, getProperties, isNone, computed, run, - runInDebug, isEmpty } from 'ember-metal'; +import { assert, runInDebug, info, Error as EmberError, isTesting } from 'ember-debug'; import { typeOf, copy, diff --git a/packages/ember-routing/lib/system/router.js b/packages/ember-routing/lib/system/router.js index a11a0a452c8..14c9740d93d 100644 --- a/packages/ember-routing/lib/system/router.js +++ b/packages/ember-routing/lib/system/router.js @@ -6,18 +6,20 @@ import { } from 'ember-utils'; import Logger from 'ember-console'; import { - assert, - info, - Error as EmberError, get, set, defineProperty, computed, run, - runInDebug, - deprecate, deprecateProperty } from 'ember-metal'; +import { + EmberError, + runInDebug, + deprecate, + assert, + info +} from 'ember-debug'; import { Object as EmberObject, Evented, diff --git a/packages/ember-routing/lib/utils.js b/packages/ember-routing/lib/utils.js index ee2391eb9b3..bc5234558fb 100644 --- a/packages/ember-routing/lib/utils.js +++ b/packages/ember-routing/lib/utils.js @@ -1,6 +1,6 @@ import { assign, getOwner } from 'ember-utils'; import { get } from 'ember-metal'; -import { Error as EmberError } from 'ember-metal'; +import { Error as EmberError } from 'ember-debug'; const ALL_PERIODS_REGEX = /\./g; diff --git a/packages/ember-routing/tests/location/history_location_test.js b/packages/ember-routing/tests/location/history_location_test.js index 034ba8efd23..8aef9f09063 100644 --- a/packages/ember-routing/tests/location/history_location_test.js +++ b/packages/ember-routing/tests/location/history_location_test.js @@ -1,9 +1,9 @@ import { - isFeatureEnabled, set, run } from 'ember-metal'; import HistoryLocation from '../../location/history_location'; +import { isFeatureEnabled } from 'ember-debug'; let FakeHistory, HistoryTestLocation, location; diff --git a/packages/ember-routing/tests/system/controller_for_test.js b/packages/ember-routing/tests/system/controller_for_test.js index 06d6a74a8c9..2b8b921dd96 100644 --- a/packages/ember-routing/tests/system/controller_for_test.js +++ b/packages/ember-routing/tests/system/controller_for_test.js @@ -7,7 +7,7 @@ import { import controllerFor from '../../system/controller_for'; import generateController from '../../system/generate_controller'; import { buildOwner } from 'internal-test-helpers'; -import { isFeatureEnabled } from 'ember-metal'; +import { isFeatureEnabled } from 'ember-debug'; function buildInstance(namespace) { let owner = buildOwner(); diff --git a/packages/ember-runtime/lib/computed/computed_macros.js b/packages/ember-runtime/lib/computed/computed_macros.js index 933b402e132..c95b2659982 100644 --- a/packages/ember-runtime/lib/computed/computed_macros.js +++ b/packages/ember-runtime/lib/computed/computed_macros.js @@ -1,6 +1,4 @@ import { - assert, - deprecate, get, set, computed, @@ -9,6 +7,10 @@ import { alias, expandProperties } from 'ember-metal'; +import { + assert, + deprecate +} from 'ember-debug'; /** @module ember diff --git a/packages/ember-runtime/lib/computed/reduce_computed_macros.js b/packages/ember-runtime/lib/computed/reduce_computed_macros.js index 889dbfad494..5745c10ff7d 100644 --- a/packages/ember-runtime/lib/computed/reduce_computed_macros.js +++ b/packages/ember-runtime/lib/computed/reduce_computed_macros.js @@ -4,10 +4,9 @@ */ import { guidFor } from 'ember-utils'; +import { assert, Error as EmberError } from 'ember-debug'; import { - assert, get, - Error as EmberError, ComputedProperty, computed, addObserver, diff --git a/packages/ember-runtime/lib/controllers/controller.js b/packages/ember-runtime/lib/controllers/controller.js index 623272e5503..72e262890ab 100644 --- a/packages/ember-runtime/lib/controllers/controller.js +++ b/packages/ember-runtime/lib/controllers/controller.js @@ -1,4 +1,4 @@ -import { assert } from 'ember-metal'; +import { assert } from 'ember-debug'; import EmberObject from '../system/object'; import Mixin from '../mixins/controller'; import { createInjectionHelper } from '../inject'; diff --git a/packages/ember-runtime/lib/copy.js b/packages/ember-runtime/lib/copy.js index c132808be15..1fc39b99e68 100644 --- a/packages/ember-runtime/lib/copy.js +++ b/packages/ember-runtime/lib/copy.js @@ -1,4 +1,4 @@ -import { assert } from 'ember-metal'; +import { assert } from 'ember-debug'; import EmberObject from './system/object'; import Copyable from './mixins/copyable'; diff --git a/packages/ember-runtime/lib/ext/function.js b/packages/ember-runtime/lib/ext/function.js index 75634bae481..06352c01515 100644 --- a/packages/ember-runtime/lib/ext/function.js +++ b/packages/ember-runtime/lib/ext/function.js @@ -5,11 +5,10 @@ import { ENV } from 'ember-environment'; import { - assert, - deprecateFunc, computed, observer } from 'ember-metal'; +import { assert, deprecateFunc } from 'ember-debug'; const a_slice = Array.prototype.slice; const FunctionPrototype = Function.prototype; diff --git a/packages/ember-runtime/lib/ext/rsvp.js b/packages/ember-runtime/lib/ext/rsvp.js index 9e238ab0f0f..ca6537e616d 100644 --- a/packages/ember-runtime/lib/ext/rsvp.js +++ b/packages/ember-runtime/lib/ext/rsvp.js @@ -1,9 +1,9 @@ import * as RSVP from 'rsvp'; import { run, - assert, dispatchError } from 'ember-metal'; +import { assert } from 'ember-debug'; const backburner = run.backburner; run._addQueue('rsvpAfter', 'destroy'); diff --git a/packages/ember-runtime/lib/inject.js b/packages/ember-runtime/lib/inject.js index 8f8ebeeb6ea..c1731dbdbe9 100644 --- a/packages/ember-runtime/lib/inject.js +++ b/packages/ember-runtime/lib/inject.js @@ -1,7 +1,5 @@ -import { - assert, - InjectedProperty -} from 'ember-metal'; +import { InjectedProperty } from 'ember-metal'; +import { assert } from 'ember-debug'; /** Namespace for injection helper methods. diff --git a/packages/ember-runtime/lib/mixins/-proxy.js b/packages/ember-runtime/lib/mixins/-proxy.js index eec0d34169f..53a0a833a07 100644 --- a/packages/ember-runtime/lib/mixins/-proxy.js +++ b/packages/ember-runtime/lib/mixins/-proxy.js @@ -5,8 +5,6 @@ import { CachedTag, DirtyableTag, UpdatableTag } from '@glimmer/reference'; import { - assert, - deprecate, get, set, meta, @@ -22,6 +20,10 @@ import { observer, tagFor, } from 'ember-metal'; +import { + assert, + deprecate +} from 'ember-debug'; import { bool } from '../computed/computed_macros'; function contentPropertyWillChange(content, contentKey) { diff --git a/packages/ember-runtime/lib/mixins/action_handler.js b/packages/ember-runtime/lib/mixins/action_handler.js index 47432d38ce9..0dac10c0264 100644 --- a/packages/ember-runtime/lib/mixins/action_handler.js +++ b/packages/ember-runtime/lib/mixins/action_handler.js @@ -3,12 +3,8 @@ @submodule ember-runtime */ -import { - assert, - deprecate, - Mixin, - get -} from 'ember-metal'; +import { Mixin, get } from 'ember-metal'; +import { assert, deprecate } from 'ember-debug'; /** `Ember.ActionHandler` is available on some familiar classes including diff --git a/packages/ember-runtime/lib/mixins/array.js b/packages/ember-runtime/lib/mixins/array.js index cceff91aa22..ff551789b9c 100644 --- a/packages/ember-runtime/lib/mixins/array.js +++ b/packages/ember-runtime/lib/mixins/array.js @@ -20,9 +20,9 @@ import Ember, { // ES6TODO: Ember.A addListener, removeListener, sendEvent, - hasListeners, - deprecate + hasListeners } from 'ember-metal'; +import { deprecate } from 'ember-debug'; import Enumerable from './enumerable'; import EachProxy from '../system/each_proxy'; diff --git a/packages/ember-runtime/lib/mixins/container_proxy.js b/packages/ember-runtime/lib/mixins/container_proxy.js index 0fe84b6e058..de45a8f8773 100644 --- a/packages/ember-runtime/lib/mixins/container_proxy.js +++ b/packages/ember-runtime/lib/mixins/container_proxy.js @@ -10,7 +10,7 @@ import { FACTORY_FOR, LOOKUP_FACTORY } from 'container'; -import { isFeatureEnabled } from 'ember-metal'; +import { isFeatureEnabled } from 'ember-debug'; /** ContainerProxyMixin is used to provide public access to specific diff --git a/packages/ember-runtime/lib/mixins/controller_content_model_alias_deprecation.js b/packages/ember-runtime/lib/mixins/controller_content_model_alias_deprecation.js index 85d2117f720..4f59c8fa383 100644 --- a/packages/ember-runtime/lib/mixins/controller_content_model_alias_deprecation.js +++ b/packages/ember-runtime/lib/mixins/controller_content_model_alias_deprecation.js @@ -1,7 +1,5 @@ -import { - deprecate, - Mixin -} from 'ember-metal'; +import { Mixin } from 'ember-metal'; +import { deprecate } from 'ember-debug'; /* The ControllerContentModelAliasDeprecation mixin is used to provide a useful diff --git a/packages/ember-runtime/lib/mixins/copyable.js b/packages/ember-runtime/lib/mixins/copyable.js index 581f789b30f..d3aa0d752d0 100644 --- a/packages/ember-runtime/lib/mixins/copyable.js +++ b/packages/ember-runtime/lib/mixins/copyable.js @@ -4,11 +4,10 @@ */ import { - deprecate, get, - Mixin, - Error as EmberError + Mixin } from 'ember-metal'; +import { deprecate, Error as EmberError } from 'ember-debug'; import { Freezable } from './freezable'; /** diff --git a/packages/ember-runtime/lib/mixins/enumerable.js b/packages/ember-runtime/lib/mixins/enumerable.js index af9075c29e6..f822d0f3ece 100644 --- a/packages/ember-runtime/lib/mixins/enumerable.js +++ b/packages/ember-runtime/lib/mixins/enumerable.js @@ -19,10 +19,9 @@ import { addListener, removeListener, sendEvent, - hasListeners, - assert, - deprecate + hasListeners } from 'ember-metal'; +import { assert, deprecate } from 'ember-debug'; import compare from '../compare'; import require from 'require'; diff --git a/packages/ember-runtime/lib/mixins/freezable.js b/packages/ember-runtime/lib/mixins/freezable.js index a86b6f2724d..d3db981f9d8 100644 --- a/packages/ember-runtime/lib/mixins/freezable.js +++ b/packages/ember-runtime/lib/mixins/freezable.js @@ -4,11 +4,11 @@ */ import { - deprecate, Mixin, get, set } from 'ember-metal'; +import { deprecate } from 'ember-debug'; /** The `Ember.Freezable` mixin implements some basic methods for marking an diff --git a/packages/ember-runtime/lib/mixins/mutable_array.js b/packages/ember-runtime/lib/mixins/mutable_array.js index eb18ba55a06..ec909a1a5bc 100644 --- a/packages/ember-runtime/lib/mixins/mutable_array.js +++ b/packages/ember-runtime/lib/mixins/mutable_array.js @@ -13,12 +13,12 @@ const EMPTY = []; import { get, - Error as EmberError, Mixin } from 'ember-metal'; import EmberArray, { objectAt } from './array'; import MutableEnumerable from './mutable_enumerable'; import Enumerable from './enumerable'; +import { Error as EmberError } from 'ember-debug'; export function removeAt(array, start, len) { if ('number' === typeof start) { diff --git a/packages/ember-runtime/lib/mixins/observable.js b/packages/ember-runtime/lib/mixins/observable.js index 977f6a9a7ff..93c5437febf 100644 --- a/packages/ember-runtime/lib/mixins/observable.js +++ b/packages/ember-runtime/lib/mixins/observable.js @@ -4,7 +4,6 @@ */ import { - assert, get, getWithDefault, set, @@ -22,6 +21,7 @@ import { cacheFor, isNone } from 'ember-metal'; +import { assert } from 'ember-debug'; /** ## Overview diff --git a/packages/ember-runtime/lib/mixins/promise_proxy.js b/packages/ember-runtime/lib/mixins/promise_proxy.js index ef872d89e51..67a399a8a3c 100644 --- a/packages/ember-runtime/lib/mixins/promise_proxy.js +++ b/packages/ember-runtime/lib/mixins/promise_proxy.js @@ -2,9 +2,9 @@ import { get, setProperties, computed, - Mixin, - Error as EmberError + Mixin } from 'ember-metal'; +import { Error as EmberError } from 'ember-debug'; import { not, or } from '../computed/computed_macros'; /** diff --git a/packages/ember-runtime/lib/mixins/registry_proxy.js b/packages/ember-runtime/lib/mixins/registry_proxy.js index 45672ba38a3..e87d5dda1b2 100644 --- a/packages/ember-runtime/lib/mixins/registry_proxy.js +++ b/packages/ember-runtime/lib/mixins/registry_proxy.js @@ -4,9 +4,9 @@ */ import { - deprecate, Mixin } from 'ember-metal'; +import { deprecate } from 'ember-debug'; /** RegistryProxyMixin is used to provide public access to specific diff --git a/packages/ember-runtime/lib/mixins/target_action_support.js b/packages/ember-runtime/lib/mixins/target_action_support.js index b46d69ae71a..e1e899ff2be 100644 --- a/packages/ember-runtime/lib/mixins/target_action_support.js +++ b/packages/ember-runtime/lib/mixins/target_action_support.js @@ -5,12 +5,11 @@ import { context } from 'ember-environment'; import { - assert, get, Mixin, computed } from 'ember-metal'; - +import { assert } from 'ember-debug'; /** `Ember.TargetActionSupport` is a mixin that can be included in a class to add a `triggerAction` method with semantics similar to the Handlebars diff --git a/packages/ember-runtime/lib/system/array_proxy.js b/packages/ember-runtime/lib/system/array_proxy.js index 9381bb8962a..0afabc8cf70 100644 --- a/packages/ember-runtime/lib/system/array_proxy.js +++ b/packages/ember-runtime/lib/system/array_proxy.js @@ -1,12 +1,10 @@ import { - assert, get, computed, _beforeObserver, observer, beginPropertyChanges, endPropertyChanges, - Error as EmberError, alias } from 'ember-metal'; import { @@ -20,6 +18,7 @@ import { removeArrayObserver, objectAt } from '../mixins/array'; +import { assert, Error as EmberError } from 'ember-debug'; /** @module ember diff --git a/packages/ember-runtime/lib/system/core_object.js b/packages/ember-runtime/lib/system/core_object.js index 32653281522..164b70f399d 100644 --- a/packages/ember-runtime/lib/system/core_object.js +++ b/packages/ember-runtime/lib/system/core_object.js @@ -16,9 +16,6 @@ import { GUID_KEY } from 'ember-utils'; import { - assert, - runInDebug, - isFeatureEnabled, get, meta, finishChains, @@ -26,7 +23,6 @@ import { detectBinding, Mixin, REQUIRED, - Error as EmberError, defineProperty, Binding, ComputedProperty, @@ -38,6 +34,7 @@ import { } from 'ember-metal'; import ActionHandler from '../mixins/action_handler'; import { validatePropertyInjections } from '../inject'; +import { assert, runInDebug, isFeatureEnabled, Error as EmberError } from 'ember-debug'; let schedule = run.schedule; let applyMixin = Mixin._apply; @@ -781,7 +778,7 @@ let ClassMixinProps = { Person.reopenClass({ species: 'Homo sapiens', - + createPerson(name) { return Person.create({ name }); } diff --git a/packages/ember-runtime/lib/system/each_proxy.js b/packages/ember-runtime/lib/system/each_proxy.js index 85afe31d06a..8ad9f5ee0dd 100644 --- a/packages/ember-runtime/lib/system/each_proxy.js +++ b/packages/ember-runtime/lib/system/each_proxy.js @@ -1,5 +1,5 @@ +import { assert } from 'ember-debug'; import { - assert, get, _addBeforeObserver, _removeBeforeObserver, diff --git a/packages/ember-runtime/lib/system/object.js b/packages/ember-runtime/lib/system/object.js index 0f931ea49a9..971933c2e48 100644 --- a/packages/ember-runtime/lib/system/object.js +++ b/packages/ember-runtime/lib/system/object.js @@ -4,9 +4,10 @@ */ import { symbol } from 'ember-utils'; -import { assert, on, runInDebug } from 'ember-metal'; +import { on } from 'ember-metal'; import CoreObject from './core_object'; import Observable from '../mixins/observable'; +import { runInDebug, assert } from 'ember-debug'; /** `Ember.Object` is the main base class for all Ember objects. It is a subclass diff --git a/packages/ember-runtime/lib/system/string.js b/packages/ember-runtime/lib/system/string.js index e97e29b718c..5758f3f023e 100644 --- a/packages/ember-runtime/lib/system/string.js +++ b/packages/ember-runtime/lib/system/string.js @@ -2,10 +2,8 @@ @module ember @submodule ember-runtime */ -import { - deprecate, - Cache -} from 'ember-metal'; +import { Cache } from 'ember-metal'; +import { deprecate } from 'ember-debug'; import { inspect } from 'ember-utils'; import { isArray } from '../utils'; import { diff --git a/packages/ember-runtime/tests/controllers/controller_test.js b/packages/ember-runtime/tests/controllers/controller_test.js index 89fdf2497a7..d97a05d2898 100644 --- a/packages/ember-runtime/tests/controllers/controller_test.js +++ b/packages/ember-runtime/tests/controllers/controller_test.js @@ -2,10 +2,11 @@ import Controller from '../../controllers/controller'; import Service from '../../system/service'; -import { Mixin, get, isFeatureEnabled } from 'ember-metal'; +import { Mixin, get } from 'ember-metal'; import EmberObject from '../../system/object'; import inject from '../../inject'; import { buildOwner } from 'internal-test-helpers'; +import { isFeatureEnabled } from 'ember-debug'; QUnit.module('Controller event handling'); diff --git a/packages/ember-runtime/tests/ext/rsvp_test.js b/packages/ember-runtime/tests/ext/rsvp_test.js index a9b6ee1bdd7..bc264418327 100644 --- a/packages/ember-runtime/tests/ext/rsvp_test.js +++ b/packages/ember-runtime/tests/ext/rsvp_test.js @@ -1,11 +1,10 @@ import { - isTesting, - setTesting, setOnerror, getOnerror, run } from 'ember-metal'; import RSVP from '../../ext/rsvp'; +import { isTesting, setTesting } from 'ember-debug'; const ORIGINAL_ONERROR = getOnerror(); diff --git a/packages/ember-runtime/tests/inject_test.js b/packages/ember-runtime/tests/inject_test.js index cc2e87b2fac..a55f97159ed 100644 --- a/packages/ember-runtime/tests/inject_test.js +++ b/packages/ember-runtime/tests/inject_test.js @@ -1,12 +1,13 @@ /* global EmberDev */ -import { InjectedProperty, isFeatureEnabled } from 'ember-metal'; +import { InjectedProperty } from 'ember-metal'; import inject from '../inject'; import { createInjectionHelper } from '../inject'; import EmberObject from '../system/object'; import { buildOwner } from 'internal-test-helpers'; +import { isFeatureEnabled } from 'ember-debug'; QUnit.module('inject'); diff --git a/packages/ember-runtime/tests/system/object/create_test.js b/packages/ember-runtime/tests/system/object/create_test.js index 473b4142317..b6cd4905351 100644 --- a/packages/ember-runtime/tests/system/object/create_test.js +++ b/packages/ember-runtime/tests/system/object/create_test.js @@ -1,10 +1,10 @@ import { - isFeatureEnabled, meta, computed, Mixin, observer } from 'ember-metal'; +import { isFeatureEnabled } from 'ember-debug'; import EmberObject from '../../../system/object'; QUnit.module('EmberObject.create', {}); diff --git a/packages/ember-runtime/tests/system/object/destroy_test.js b/packages/ember-runtime/tests/system/object/destroy_test.js index afb90ef73f3..8ae8c401642 100644 --- a/packages/ember-runtime/tests/system/object/destroy_test.js +++ b/packages/ember-runtime/tests/system/object/destroy_test.js @@ -1,5 +1,4 @@ import { - isFeatureEnabled, run, observer, set, @@ -10,6 +9,8 @@ import { } from 'ember-metal'; import { testBoth } from 'internal-test-helpers'; import EmberObject from '../../../system/object'; +import { isFeatureEnabled } from 'ember-debug'; + QUnit.module('ember-runtime/system/object/destroy_test'); testBoth('should schedule objects to be destroyed at the end of the run loop', function(get, set) { diff --git a/packages/ember-template-compiler/lib/index.js b/packages/ember-template-compiler/lib/index.js index 19f2e1f7551..bb0fc9cd6db 100644 --- a/packages/ember-template-compiler/lib/index.js +++ b/packages/ember-template-compiler/lib/index.js @@ -1,4 +1,5 @@ -import _Ember, { FEATURES } from 'ember-metal'; +import _Ember from 'ember-metal'; +import { FEATURES } from 'ember-debug'; import { ENV } from 'ember-environment'; import VERSION from 'ember/version'; diff --git a/packages/ember-template-compiler/lib/plugins/assert-reserved-named-arguments.js b/packages/ember-template-compiler/lib/plugins/assert-reserved-named-arguments.js index 924d54e44ab..6f839df26b3 100644 --- a/packages/ember-template-compiler/lib/plugins/assert-reserved-named-arguments.js +++ b/packages/ember-template-compiler/lib/plugins/assert-reserved-named-arguments.js @@ -1,4 +1,4 @@ -import { assert } from 'ember-metal'; +import { assert } from 'ember-debug'; import calculateLocationDisplay from '../system/calculate-location-display'; export default function AssertReservedNamedArguments(options) { diff --git a/packages/ember-template-compiler/lib/plugins/deprecate-render-model.js b/packages/ember-template-compiler/lib/plugins/deprecate-render-model.js index 5fca67001c1..f62e2d7f89b 100644 --- a/packages/ember-template-compiler/lib/plugins/deprecate-render-model.js +++ b/packages/ember-template-compiler/lib/plugins/deprecate-render-model.js @@ -1,4 +1,4 @@ -import { deprecate } from 'ember-metal'; +import { deprecate } from 'ember-debug'; import calculateLocationDisplay from '../system/calculate-location-display'; diff --git a/packages/ember-template-compiler/lib/plugins/deprecate-render.js b/packages/ember-template-compiler/lib/plugins/deprecate-render.js index 00e82808559..cba623ca06a 100644 --- a/packages/ember-template-compiler/lib/plugins/deprecate-render.js +++ b/packages/ember-template-compiler/lib/plugins/deprecate-render.js @@ -1,4 +1,4 @@ -import { deprecate } from 'ember-metal'; +import { deprecate } from 'ember-debug'; import calculateLocationDisplay from '../system/calculate-location-display'; export default function DeprecateRender(options) { diff --git a/packages/ember-template-compiler/lib/plugins/transform-input-on-to-onEvent.js b/packages/ember-template-compiler/lib/plugins/transform-input-on-to-onEvent.js index 9e36d65fbb2..f92e23f21f5 100644 --- a/packages/ember-template-compiler/lib/plugins/transform-input-on-to-onEvent.js +++ b/packages/ember-template-compiler/lib/plugins/transform-input-on-to-onEvent.js @@ -1,4 +1,4 @@ -import { deprecate } from 'ember-metal'; +import { deprecate } from 'ember-debug'; import calculateLocationDisplay from '../system/calculate-location-display'; /** diff --git a/packages/ember-template-compiler/lib/plugins/transform-old-binding-syntax.js b/packages/ember-template-compiler/lib/plugins/transform-old-binding-syntax.js index acfd8a6acf2..f26fad63133 100644 --- a/packages/ember-template-compiler/lib/plugins/transform-old-binding-syntax.js +++ b/packages/ember-template-compiler/lib/plugins/transform-old-binding-syntax.js @@ -1,4 +1,4 @@ -import { assert, deprecate } from 'ember-metal'; +import { assert, deprecate } from 'ember-debug'; import calculateLocationDisplay from '../system/calculate-location-display'; export default function TransformOldBindingSyntax(options) { diff --git a/packages/ember-template-compiler/lib/system/bootstrap.js b/packages/ember-template-compiler/lib/system/bootstrap.js index f476963b13b..99aceb0d62b 100644 --- a/packages/ember-template-compiler/lib/system/bootstrap.js +++ b/packages/ember-template-compiler/lib/system/bootstrap.js @@ -3,7 +3,7 @@ @submodule ember-templates */ -import { Error as EmberError } from 'ember-metal'; +import { Error as EmberError } from 'ember-debug'; import compile from './compile'; /** diff --git a/packages/ember-testing/lib/ext/rsvp.js b/packages/ember-testing/lib/ext/rsvp.js index fd235544ad1..de3fbff86d2 100644 --- a/packages/ember-testing/lib/ext/rsvp.js +++ b/packages/ember-testing/lib/ext/rsvp.js @@ -1,5 +1,6 @@ import { RSVP } from 'ember-runtime'; -import { run, isTesting } from 'ember-metal'; +import { run } from 'ember-metal'; +import { isTesting } from 'ember-debug'; import { asyncStart, asyncEnd diff --git a/packages/ember-testing/lib/helpers.js b/packages/ember-testing/lib/helpers.js index 49be9bfd94f..80fb9be450f 100644 --- a/packages/ember-testing/lib/helpers.js +++ b/packages/ember-testing/lib/helpers.js @@ -1,4 +1,4 @@ -import { isFeatureEnabled } from 'ember-metal'; +import { isFeatureEnabled } from 'ember-debug'; import { registerHelper as helper, registerAsyncHelper as asyncHelper diff --git a/packages/ember-testing/lib/helpers/pause_test.js b/packages/ember-testing/lib/helpers/pause_test.js index ea5403873c3..bd8fa1f6045 100644 --- a/packages/ember-testing/lib/helpers/pause_test.js +++ b/packages/ember-testing/lib/helpers/pause_test.js @@ -4,10 +4,7 @@ */ import { RSVP } from 'ember-runtime'; import Logger from 'ember-console'; -import { - assert, - isFeatureEnabled -} from 'ember-metal'; +import { assert, isFeatureEnabled } from 'ember-debug'; let resume; diff --git a/packages/ember-testing/lib/setup_for_testing.js b/packages/ember-testing/lib/setup_for_testing.js index 61fc0215ede..b1904520893 100644 --- a/packages/ember-testing/lib/setup_for_testing.js +++ b/packages/ember-testing/lib/setup_for_testing.js @@ -1,6 +1,6 @@ /* global self */ -import { setTesting } from 'ember-metal'; +import { setTesting } from 'ember-debug'; import { jQuery } from 'ember-views'; import { getAdapter, diff --git a/packages/ember-testing/lib/support.js b/packages/ember-testing/lib/support.js index 9fe685ef670..5158f6eaade 100644 --- a/packages/ember-testing/lib/support.js +++ b/packages/ember-testing/lib/support.js @@ -1,4 +1,4 @@ -import { warn } from 'ember-metal'; +import { warn } from 'ember-debug'; import { jQuery } from 'ember-views'; import { environment } from 'ember-environment'; diff --git a/packages/ember-testing/lib/test/waiters.js b/packages/ember-testing/lib/test/waiters.js index c0d5bbac45b..0ef5ef0f856 100644 --- a/packages/ember-testing/lib/test/waiters.js +++ b/packages/ember-testing/lib/test/waiters.js @@ -1,4 +1,4 @@ -import { deprecate } from 'ember-metal'; +import { deprecate } from 'ember-debug'; const contexts = []; const callbacks = []; diff --git a/packages/ember-testing/tests/ext/rsvp_test.js b/packages/ember-testing/tests/ext/rsvp_test.js index e6350897474..24eeae51c41 100644 --- a/packages/ember-testing/tests/ext/rsvp_test.js +++ b/packages/ember-testing/tests/ext/rsvp_test.js @@ -1,6 +1,7 @@ import RSVP from '../../ext/rsvp'; import { getAdapter, setAdapter } from '../../test/adapter'; -import { isTesting, setTesting, run } from 'ember-metal'; +import { run } from 'ember-metal'; +import { isTesting, setTesting } from 'ember-debug'; const originalTestAdapter = getAdapter(); const originalTestingFlag = isTesting(); diff --git a/packages/ember-testing/tests/helpers_test.js b/packages/ember-testing/tests/helpers_test.js index e3a7c727bae..b2ffa4fd2b2 100644 --- a/packages/ember-testing/tests/helpers_test.js +++ b/packages/ember-testing/tests/helpers_test.js @@ -4,10 +4,8 @@ import { Object as EmberObject, RSVP } from 'ember-runtime'; -import { - run, - isFeatureEnabled -} from 'ember-metal'; +import { run } from 'ember-metal'; +import { isFeatureEnabled } from 'ember-debug'; import { jQuery } from 'ember-views'; import { Component, diff --git a/packages/ember-views/lib/component_lookup.js b/packages/ember-views/lib/component_lookup.js index 9acf377c425..3c5842357c5 100644 --- a/packages/ember-views/lib/component_lookup.js +++ b/packages/ember-views/lib/component_lookup.js @@ -1,4 +1,4 @@ -import { assert } from 'ember-metal'; +import { assert } from 'ember-debug'; import { Object as EmberObject } from 'ember-runtime'; import { FACTORY_FOR } from 'container'; diff --git a/packages/ember-views/lib/mixins/action_support.js b/packages/ember-views/lib/mixins/action_support.js index d3bab03f220..e6b111fffc8 100644 --- a/packages/ember-views/lib/mixins/action_support.js +++ b/packages/ember-views/lib/mixins/action_support.js @@ -3,7 +3,8 @@ @submodule ember-views */ import { inspect } from 'ember-utils'; -import { Mixin, get, isNone, assert } from 'ember-metal'; +import { Mixin, get, isNone } from 'ember-metal'; +import { assert } from 'ember-debug'; import { MUTABLE_CELL } from '../compat/attrs'; function validateAction(component, actionName) { diff --git a/packages/ember-views/lib/mixins/class_names_support.js b/packages/ember-views/lib/mixins/class_names_support.js index c2bf88cf1cb..41f7472e0ad 100644 --- a/packages/ember-views/lib/mixins/class_names_support.js +++ b/packages/ember-views/lib/mixins/class_names_support.js @@ -3,10 +3,8 @@ @submodule ember-views */ -import { - assert, - Mixin -} from 'ember-metal'; +import { Mixin } from 'ember-metal'; +import { assert } from 'ember-debug'; const EMPTY_ARRAY = Object.freeze([]); diff --git a/packages/ember-views/lib/mixins/view_support.js b/packages/ember-views/lib/mixins/view_support.js index 6eb1a722fd6..36997407169 100644 --- a/packages/ember-views/lib/mixins/view_support.js +++ b/packages/ember-views/lib/mixins/view_support.js @@ -1,5 +1,6 @@ import { guidFor, getOwner } from 'ember-utils'; -import { assert, deprecate, descriptor, runInDebug, Mixin } from 'ember-metal'; +import { descriptor, Mixin } from 'ember-metal'; +import { assert, deprecate, runInDebug } from 'ember-debug'; import { environment } from 'ember-environment'; import { matches } from '../system/utils'; import { POST_INIT } from 'ember-runtime/system/core_object'; diff --git a/packages/ember-views/lib/system/event_dispatcher.js b/packages/ember-views/lib/system/event_dispatcher.js index 753c3b6d974..28d86a03162 100644 --- a/packages/ember-views/lib/system/event_dispatcher.js +++ b/packages/ember-views/lib/system/event_dispatcher.js @@ -4,7 +4,8 @@ */ import { assign, getOwner } from 'ember-utils'; -import { assert, get, set, isNone, run } from 'ember-metal'; +import { assert } from 'ember-debug'; +import { get, set, isNone, run } from 'ember-metal'; import { Object as EmberObject } from 'ember-runtime'; import jQuery from './jquery'; import ActionManager from './action_manager'; diff --git a/packages/ember-views/lib/system/lookup_partial.js b/packages/ember-views/lib/system/lookup_partial.js index 758b61bd053..45da797dc18 100644 --- a/packages/ember-views/lib/system/lookup_partial.js +++ b/packages/ember-views/lib/system/lookup_partial.js @@ -1,7 +1,4 @@ -import { - assert, - Error as EmberError -} from 'ember-metal'; +import { assert, Error as EmberError } from 'ember-debug'; function parseUnderscoredName(templateName) { let nameParts = templateName.split('/'); diff --git a/packages/ember-views/lib/views/states/default.js b/packages/ember-views/lib/views/states/default.js index f60415d4313..e3e03731917 100644 --- a/packages/ember-views/lib/views/states/default.js +++ b/packages/ember-views/lib/views/states/default.js @@ -1,6 +1,6 @@ import { - Error as EmberError -} from 'ember-metal'; + EmberError +} from 'ember-debug'; /** @module ember diff --git a/packages/ember-views/lib/views/states/destroying.js b/packages/ember-views/lib/views/states/destroying.js index 6fe45c91e2b..bf9836bad46 100644 --- a/packages/ember-views/lib/views/states/destroying.js +++ b/packages/ember-views/lib/views/states/destroying.js @@ -1,5 +1,5 @@ import { assign } from 'ember-utils'; -import { Error as EmberError } from 'ember-metal'; +import { Error as EmberError } from 'ember-debug'; import _default from './default'; /** @module ember diff --git a/packages/ember-views/lib/views/states/in_dom.js b/packages/ember-views/lib/views/states/in_dom.js index 77cb84125ea..09cad2797b2 100644 --- a/packages/ember-views/lib/views/states/in_dom.js +++ b/packages/ember-views/lib/views/states/in_dom.js @@ -1,9 +1,6 @@ import { assign } from 'ember-utils'; -import { - runInDebug, - Error as EmberError, - _addBeforeObserver -} from 'ember-metal'; +import { _addBeforeObserver } from 'ember-metal'; +import { runInDebug, Error as EmberError } from 'ember-debug'; import hasElement from './has_element'; /** diff --git a/packages/ember/lib/index.js b/packages/ember/lib/index.js index 166c7c048c1..de79843c6da 100644 --- a/packages/ember/lib/index.js +++ b/packages/ember/lib/index.js @@ -31,10 +31,20 @@ Ember.Registry = Registry; // need to import this directly, to ensure the babel feature // flag plugin works properly import { - isFeatureEnabled, deprecate, - deprecateFunc -} from 'ember-metal'; + deprecateFunc, + runInDebug, + debug, + warn, + assert, + registerDeprecationHandler, + registerWarnHandler, + isFeatureEnabled, + isTesting, + setTesting, + Error as EmberError, + FEATURES +} from 'ember-debug'; const computed = metal.computed; computed.alias = metal.alias; @@ -42,12 +52,17 @@ Ember.computed = computed; Ember.ComputedProperty = metal.ComputedProperty; Ember.cacheFor = metal.cacheFor; -Ember.assert = metal.assert; -Ember.warn = metal.warn; -Ember.debug = metal.debug; -Ember.deprecate = metal.deprecate; -Ember.deprecateFunc = metal.deprecateFunc; -Ember.runInDebug = metal.runInDebug; +Ember.assert = assert; +Ember.warn = warn; +Ember.debug = debug; +Ember.deprecate = deprecate; +Ember.deprecateFunc = deprecateFunc; +Ember.runInDebug = runInDebug; +/** + @public + @class Ember.Debug +*/ +Ember.Debug = { registerDeprecationHandler, registerWarnHandler }; Ember.merge = metal.merge; Ember.instrument = metal.instrument; @@ -59,7 +74,7 @@ Ember.Instrumentation = { reset: metal.instrumentationReset }; -Ember.Error = metal.Error; +Ember.Error = EmberError; Ember.META_DESC = metal.META_DESC; Ember.meta = metal.meta; Ember.get = metal.get; @@ -67,8 +82,8 @@ Ember.getWithDefault = metal.getWithDefault; Ember._getPath = metal._getPath; Ember.set = metal.set; Ember.trySet = metal.trySet; -Ember.FEATURES = metal.FEATURES; -Ember.FEATURES.isEnabled = metal.isFeatureEnabled; +Ember.FEATURES = FEATURES; +Ember.FEATURES.isEnabled = isFeatureEnabled; Ember._Cache = metal.Cache; Ember.on = metal.on; Ember.addListener = metal.addListener; @@ -231,8 +246,8 @@ Object.defineProperty(Ember, 'K', { }); Object.defineProperty(Ember, 'testing', { - get: metal.isTesting, - set: metal.setTesting, + get: isTesting, + set: setTesting, enumerable: false }); diff --git a/packages/ember/tests/helpers/link_to_test.js b/packages/ember/tests/helpers/link_to_test.js index 1802dbc8663..bb75b4e217f 100644 --- a/packages/ember/tests/helpers/link_to_test.js +++ b/packages/ember/tests/helpers/link_to_test.js @@ -11,7 +11,6 @@ import { run, instrumentationSubscribe as subscribe, instrumentationReset as reset, - isFeatureEnabled, alias } from 'ember-metal'; import { Route, NoneLocation } from 'ember-routing'; @@ -19,6 +18,7 @@ import { Application } from 'ember-application'; import { jQuery } from 'ember-views'; import { compile } from 'ember-template-compiler'; import { setTemplates, setTemplate } from 'ember-glimmer'; +import { isFeatureEnabled } from 'ember-debug'; let Router, App, router, appInstance; diff --git a/packages/ember/tests/reexports_test.js b/packages/ember/tests/reexports_test.js index 79871556244..570b850333d 100644 --- a/packages/ember/tests/reexports_test.js +++ b/packages/ember/tests/reexports_test.js @@ -1,6 +1,6 @@ import Ember from '../index'; import { confirmExport } from 'internal-test-helpers'; -import { isFeatureEnabled } from 'ember-metal'; +import { isFeatureEnabled } from 'ember-debug'; QUnit.module('ember reexports'); @@ -32,25 +32,25 @@ QUnit.module('ember reexports'); ['computed.alias', 'ember-metal', 'alias'], ['ComputedProperty', 'ember-metal'], ['cacheFor', 'ember-metal'], - ['deprecate', 'ember-metal'], - ['deprecateFunc', 'ember-metal'], - ['assert', 'ember-metal'], - ['warn', 'ember-metal'], - ['debug', 'ember-metal'], - ['runInDebug', 'ember-metal'], + ['deprecate', 'ember-debug'], + ['deprecateFunc', 'ember-debug'], + ['assert', 'ember-debug'], + ['warn', 'ember-debug'], + ['debug', 'ember-debug'], + ['runInDebug', 'ember-debug'], ['merge', 'ember-metal'], ['instrument', 'ember-metal'], ['Instrumentation.instrument', 'ember-metal', 'instrument'], ['Instrumentation.subscribe', 'ember-metal', 'instrumentationSubscribe'], ['Instrumentation.unsubscribe', 'ember-metal', 'instrumentationUnsubscribe'], ['Instrumentation.reset', 'ember-metal', 'instrumentationReset'], - ['testing', 'ember-metal', { get: 'isTesting', set: 'setTesting' }], + ['testing', 'ember-debug', { get: 'isTesting', set: 'setTesting' }], ['onerror', 'ember-metal', { get: 'getOnerror', set: 'setOnerror' }], // ['create'], TODO: figure out what to do here // ['keys'], TODO: figure out what to do here - ['FEATURES', 'ember-metal'], - ['FEATURES.isEnabled', 'ember-metal', 'isFeatureEnabled'], - ['Error', 'ember-metal'], + ['FEATURES', 'ember-debug'], + ['FEATURES.isEnabled', 'ember-debug', 'isFeatureEnabled'], + ['Error', 'ember-debug'], ['META_DESC', 'ember-metal'], ['meta', 'ember-metal'], ['get', 'ember-metal'], diff --git a/packages/ember/tests/routing/router_service_test/basic_test.js b/packages/ember/tests/routing/router_service_test/basic_test.js index bae43914be2..75eab9b66b1 100644 --- a/packages/ember/tests/routing/router_service_test/basic_test.js +++ b/packages/ember/tests/routing/router_service_test/basic_test.js @@ -10,7 +10,7 @@ import { moduleFor } from 'internal-test-helpers'; -import { isFeatureEnabled } from 'ember-metal'; +import { isFeatureEnabled } from 'ember-debug'; if (isFeatureEnabled('ember-routing-router-service')) { moduleFor('Router Service - main', class extends RouterTestCase { diff --git a/packages/ember/tests/routing/router_service_test/currenturl_lifecycle_test.js b/packages/ember/tests/routing/router_service_test/currenturl_lifecycle_test.js index bb3dc3cbc74..82673cfedb1 100644 --- a/packages/ember/tests/routing/router_service_test/currenturl_lifecycle_test.js +++ b/packages/ember/tests/routing/router_service_test/currenturl_lifecycle_test.js @@ -10,7 +10,7 @@ import { moduleFor } from 'internal-test-helpers'; -import { isFeatureEnabled } from 'ember-metal'; +import { isFeatureEnabled } from 'ember-debug'; if (isFeatureEnabled('ember-routing-router-service')) { let results = []; diff --git a/packages/ember/tests/routing/router_service_test/replaceWith_test.js b/packages/ember/tests/routing/router_service_test/replaceWith_test.js index 179294d7fd9..a48228edb4d 100644 --- a/packages/ember/tests/routing/router_service_test/replaceWith_test.js +++ b/packages/ember/tests/routing/router_service_test/replaceWith_test.js @@ -5,7 +5,7 @@ import { } from 'internal-test-helpers'; import { Transition } from 'router'; -import { isFeatureEnabled } from 'ember-metal'; +import { isFeatureEnabled } from 'ember-debug'; if (isFeatureEnabled('ember-routing-router-service')) { moduleFor('Router Service - replaceWith', class extends RouterTestCase { diff --git a/packages/ember/tests/routing/router_service_test/transitionTo_test.js b/packages/ember/tests/routing/router_service_test/transitionTo_test.js index d1a2f8f30aa..1ccc8f54ae5 100644 --- a/packages/ember/tests/routing/router_service_test/transitionTo_test.js +++ b/packages/ember/tests/routing/router_service_test/transitionTo_test.js @@ -12,7 +12,7 @@ import { } from 'internal-test-helpers'; import { Transition } from 'router'; -import { isFeatureEnabled } from 'ember-metal'; +import { isFeatureEnabled } from 'ember-debug'; if (isFeatureEnabled('ember-routing-router-service')) { moduleFor('Router Service - transitionTo', class extends RouterTestCase { diff --git a/packages/ember/tests/routing/router_service_test/urlFor_test.js b/packages/ember/tests/routing/router_service_test/urlFor_test.js index 54b83541357..7a353902320 100644 --- a/packages/ember/tests/routing/router_service_test/urlFor_test.js +++ b/packages/ember/tests/routing/router_service_test/urlFor_test.js @@ -14,7 +14,7 @@ import { moduleFor } from 'internal-test-helpers'; -import { isFeatureEnabled } from 'ember-metal'; +import { isFeatureEnabled } from 'ember-debug'; function setupController(app, name) { let controllerName = `${String.capitalize(name)}Controller`; diff --git a/packages/internal-test-helpers/lib/build-owner.js b/packages/internal-test-helpers/lib/build-owner.js index fdf8e122411..08ae4f1887f 100644 --- a/packages/internal-test-helpers/lib/build-owner.js +++ b/packages/internal-test-helpers/lib/build-owner.js @@ -4,7 +4,7 @@ import { Application, ApplicationInstance } from 'ember-application'; -import { isFeatureEnabled } from 'ember-metal'; +import { isFeatureEnabled } from 'ember-debug'; import { RegistryProxyMixin, ContainerProxyMixin, diff --git a/tests/index.html b/tests/index.html index 5bef922434e..cf753993dc6 100644 --- a/tests/index.html +++ b/tests/index.html @@ -139,7 +139,7 @@ var EmberDevTestHelperAssert = window.Ember.__loader.require('ember-dev/test-helper/index')['default']; var setupQUnit = window.Ember.__loader.require('ember-dev/test-helper/setup-qunit')['default']; - var debugModule = window.Ember.__loader.require('ember-metal/debug'); + var debugModule = window.Ember.__loader.require('ember-debug'); var testHelpers = new EmberDevTestHelperAssert({ Ember: window.Ember, runningProdBuild: EmberDev.runningProdBuild,