Skip to content

Commit

Permalink
Merge pull request #14203 from emberjs/use-entry-points
Browse files Browse the repository at this point in the history
Use main package entry points for cross package imports.
  • Loading branch information
rwjblue authored Sep 3, 2016
2 parents 870a71b + ff8ef3e commit cf1aa1f
Show file tree
Hide file tree
Showing 42 changed files with 298 additions and 260 deletions.
3 changes: 2 additions & 1 deletion ember-cli-build.js
Original file line number Diff line number Diff line change
Expand Up @@ -186,7 +186,8 @@ function babelConfigFor(environment) {
if (isProduction) {
includeDevHelpers = false;
plugins.push(filterImports({
'ember-metal/debug': ['assert', 'debug', 'deprecate', 'info', 'runInDebug', 'warn', 'debugSeal']
'ember-metal/debug': ['assert', 'debug', 'deprecate', 'info', 'runInDebug', 'warn', 'debugSeal'],
'ember-metal': ['assert', 'debug', 'deprecate', 'info', 'runInDebug', 'warn', 'debugSeal']
}));
}

Expand Down
2 changes: 1 addition & 1 deletion lib/packages.js
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ module.exports = function(features) {
'ember-template-compiler': {
trees: null,
templateCompilerOnly: true,
requirements: ['ember-metal', 'ember-environment', 'ember-console', 'ember-glimmer-template-compiler'],
requirements: ['container', 'ember-metal', 'ember-environment', 'ember-console', 'ember-glimmer-template-compiler'],
templateCompilerVendor: ['simple-html-tokenizer', 'backburner']
},
'ember-routing': { trees: null, vendorRequirements: ['router', 'route-recognizer'],
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@
"ember-cli-sauce": "^1.4.2",
"ember-cli-yuidoc": "0.8.4",
"ember-publisher": "0.0.7",
"emberjs-build": "0.16.0",
"emberjs-build": "0.16.1",
"express": "^4.5.0",
"finalhandler": "^0.4.0",
"git-repo-info": "^1.1.4",
Expand Down
40 changes: 36 additions & 4 deletions packages/container/lib/container.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,12 @@
import { ENV } from 'ember-environment';
import { assert, deprecate, runInDebug } from 'ember-metal/debug';
import dictionary from 'ember-metal/dictionary';
import {
assert,
deprecate,
runInDebug,
dictionary,
symbol
} from 'ember-metal';
import { setOwner, OWNER } from './owner';
import { buildFakeContainerWithDeprecations } from 'ember-runtime/mixins/container_proxy';
import symbol from 'ember-metal/symbol';

const CONTAINER_OVERRIDE = symbol('CONTAINER_OVERRIDE');

Expand Down Expand Up @@ -440,3 +443,32 @@ function resetMember(container, fullName) {
}
}
}

export function buildFakeContainerWithDeprecations(container) {
let fakeContainer = {};
let propertyMappings = {
lookup: 'lookup',
lookupFactory: '_lookupFactory'
};

for (let containerProperty in propertyMappings) {
fakeContainer[containerProperty] = buildFakeContainerFunction(container, containerProperty, propertyMappings[containerProperty]);
}

return fakeContainer;
}

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 container[containerProperty](...arguments);
};
}
5 changes: 4 additions & 1 deletion packages/container/lib/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,8 @@ The public API, specified on the application namespace should be considered the
*/

export { default as Registry, privatize } from './registry';
export { default as Container } from './container';
export {
default as Container,
buildFakeContainerWithDeprecations
} from './container';
export { OWNER, getOwner, setOwner } from './owner';
2 changes: 1 addition & 1 deletion packages/container/lib/owner.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
@submodule ember-runtime
*/

import symbol from 'ember-metal/symbol';
import { symbol } from 'ember-metal';

export const OWNER = symbol('OWNER');

Expand Down
17 changes: 9 additions & 8 deletions packages/container/lib/registry.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,11 @@
import { assert, deprecate } from 'ember-metal/debug';
import dictionary from 'ember-metal/dictionary';
import EmptyObject from 'ember-metal/empty_object';
import assign from 'ember-metal/assign';
import {
assert,
deprecate,
dictionary,
EmptyObject,
assign,
intern,
} from 'ember-metal';
import Container from './container';

const VALID_FULL_NAME_REGEXP = /^[^:]+:[^:]+$/;
Expand Down Expand Up @@ -864,10 +868,7 @@ function has(registry, fullName, source) {
return registry.resolve(fullName, { source }) !== undefined;
}

import { intern } from 'ember-metal/utils';
import dict from 'ember-metal/dictionary';

const privateNames = dict(null);
const privateNames = dictionary(null);
const privateSuffix = `${Math.random()}${Date.now()}`;

export function privatize([fullName]) {
Expand Down
2 changes: 1 addition & 1 deletion packages/ember-metal/lib/descriptor.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { Descriptor as EmberDescriptor } from 'ember-metal/properties';
import { Descriptor as EmberDescriptor } from './properties';

export default function descriptor(desc) {
return new Descriptor(desc);
Expand Down
25 changes: 21 additions & 4 deletions packages/ember-metal/lib/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,9 @@ export {
unsubscribe as instrumentationUnsubscribe
} from './instrumentation';
export {
intern,
GUID_KEY,
GUID_KEY_PROPERTY,
apply,
applyStr,
canInvoke,
Expand All @@ -47,7 +49,8 @@ export {
} from './testing';
export {
getOnerror,
setOnerror
setOnerror,
dispatchError
} from './error_handler';
export {
META_DESC,
Expand Down Expand Up @@ -94,7 +97,8 @@ export {
propertyWillChange
} from './property_events';
export {
defineProperty
defineProperty,
Descriptor
} from './properties';
export {
watchKey,
Expand Down Expand Up @@ -131,16 +135,23 @@ export {
_suspendObservers,
addObserver,
observersFor,
removeObserver
removeObserver,
_addBeforeObserver,
_removeBeforeObserver
} from './observer';
export {
NAME_KEY,
Mixin,
aliasMethod,
_immediateObserver,
_beforeObserver,
mixin,
observer,
required
required,
REQUIRED,
hasUnprocessedMixins,
clearUnprocessedMixins,
detectBinding
} from './mixin';
export {
Binding,
Expand All @@ -149,6 +160,12 @@ export {
export {
isGlobalPath
} from './path_cache';
export { default as symbol } from './symbol';
export { default as dictionary } from './dictionary';
export { default as EmptyObject } from './empty_object';
export { default as InjectedProperty } from './injected_property';
export { tagFor, markObjectAsDirty } from './tags';
export { default as replace } from './replace';


// TODO: this needs to be deleted once we refactor the build tooling
Expand Down
19 changes: 11 additions & 8 deletions packages/ember-runtime/lib/computed/computed_macros.js
Original file line number Diff line number Diff line change
@@ -1,11 +1,14 @@
import { assert, deprecate } from 'ember-metal/debug';
import { get } from 'ember-metal/property_get';
import { set } from 'ember-metal/property_set';
import { computed } from 'ember-metal/computed';
import isEmpty from 'ember-metal/is_empty';
import isNone from 'ember-metal/is_none';
import alias from 'ember-metal/alias';
import expandProperties from 'ember-metal/expand_properties';
import {
assert,
deprecate,
get,
set,
computed,
isEmpty,
isNone,
alias,
expandProperties
} from 'ember-metal';

/**
@module ember
Expand Down
24 changes: 14 additions & 10 deletions packages/ember-runtime/lib/computed/reduce_computed_macros.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,19 +3,23 @@
@submodule ember-runtime
*/

import { assert } from 'ember-metal/debug';
import { get } from 'ember-metal/property_get';
import EmberError from 'ember-metal/error';
import { ComputedProperty, computed } from 'ember-metal/computed';
import { addObserver, removeObserver } from 'ember-metal/observer';
import {
assert,
get,
Error as EmberError,
ComputedProperty,
computed,
addObserver,
removeObserver,
isNone,
getProperties,
EmptyObject,
guidFor,
WeakMap
} from 'ember-metal';
import compare from '../compare';
import { isArray } from '../utils';
import { A as emberA } from '../system/native_array';
import isNone from 'ember-metal/is_none';
import getProperties from 'ember-metal/get_properties';
import EmptyObject from 'ember-metal/empty_object';
import { guidFor } from 'ember-metal/utils';
import WeakMap from 'ember-metal/weak_map';


function reduceMacro(dependentKey, callback, initialValue) {
Expand Down
2 changes: 1 addition & 1 deletion packages/ember-runtime/lib/controllers/controller.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { assert } from 'ember-metal/debug';
import { assert } from 'ember-metal';
import EmberObject from '../system/object';
import Mixin from '../mixins/controller';
import { createInjectionHelper } from '../inject';
Expand Down
2 changes: 1 addition & 1 deletion packages/ember-runtime/lib/copy.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { assert } from 'ember-metal/debug';
import { assert } from 'ember-metal';
import EmberObject from './system/object';
import Copyable from './mixins/copyable';

Expand Down
9 changes: 6 additions & 3 deletions packages/ember-runtime/lib/ext/function.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,12 @@
*/

import { ENV } from 'ember-environment';
import { assert, deprecateFunc } from 'ember-metal/debug';
import { computed } from 'ember-metal/computed';
import { observer } from 'ember-metal/mixin';
import {
assert,
deprecateFunc,
computed,
observer
} from 'ember-metal';

const a_slice = Array.prototype.slice;
const FunctionPrototype = Function.prototype;
Expand Down
8 changes: 5 additions & 3 deletions packages/ember-runtime/lib/ext/rsvp.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
import * as RSVP from 'rsvp';
import run from 'ember-metal/run_loop';
import { assert } from 'ember-metal/debug';
import { dispatchError } from 'ember-metal/error_handler';
import {
run,
assert,
dispatchError
} from 'ember-metal';

const backburner = run.backburner;
run._addQueue('rsvpAfter', 'destroy');
Expand Down
4 changes: 3 additions & 1 deletion packages/ember-runtime/lib/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,9 @@
export { default as Object } from './system/object';
export { default as String } from './system/string';
export { default as RegistryProxyMixin } from './mixins/registry_proxy';
export { default as ContainerProxyMixin } from './mixins/container_proxy';
export {
default as ContainerProxyMixin
} from './mixins/container_proxy';
export { default as copy } from './copy';
export { default as inject } from './inject';
export { default as compare } from './compare';
Expand Down
6 changes: 4 additions & 2 deletions packages/ember-runtime/lib/inject.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
import { assert } from 'ember-metal/debug';
import InjectedProperty from 'ember-metal/injected_property';
import {
assert,
InjectedProperty
} from 'ember-metal';

/**
Namespace for injection helper methods.
Expand Down
26 changes: 13 additions & 13 deletions packages/ember-runtime/lib/mixins/-proxy.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,26 +3,26 @@
@submodule ember-runtime
*/

import { assert, deprecate } from 'ember-metal/debug';
import { get } from 'ember-metal/property_get';
import { set } from 'ember-metal/property_set';
import { meta } from 'ember-metal/meta';
import {
assert,
deprecate,
get,
set,
meta,
addObserver,
removeObserver,
_addBeforeObserver,
_removeBeforeObserver
} from 'ember-metal/observer';
import {
_removeBeforeObserver,
propertyWillChange,
propertyDidChange
} from 'ember-metal/property_events';
propertyDidChange,
defineProperty,
Mixin,
observer,
tagFor,
symbol
} from 'ember-metal';
import { bool } from '../computed/computed_macros';
import { POST_INIT } from '../system/core_object';
import { defineProperty } from 'ember-metal/properties';
import { Mixin, observer } from 'ember-metal/mixin';
import { tagFor } from 'ember-metal/tags';
import symbol from 'ember-metal/symbol';
import require, { has } from 'require';

const hasGlimmer = has('glimmer-reference');
Expand Down
9 changes: 6 additions & 3 deletions packages/ember-runtime/lib/mixins/action_handler.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,12 @@
@submodule ember-runtime
*/

import { assert, deprecate } from 'ember-metal/debug';
import { Mixin } from 'ember-metal/mixin';
import { get } from 'ember-metal/property_get';
import {
assert,
deprecate,
Mixin,
get
} from 'ember-metal';

/**
`Ember.ActionHandler` is available on some familiar classes including
Expand Down
Loading

0 comments on commit cf1aa1f

Please sign in to comment.