From 7dfbf4bced9701f9fe20b0b595bf3fae41219df1 Mon Sep 17 00:00:00 2001 From: Isaac Ezer Date: Fri, 16 Jun 2017 14:45:01 -0400 Subject: [PATCH 1/2] Normalize referrer and lookupString when passing for local lookup --- .../addon/resolvers/glimmer-wrapper/index.js | 24 +++++++++++++++---- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/mu-trees/addon/resolvers/glimmer-wrapper/index.js b/mu-trees/addon/resolvers/glimmer-wrapper/index.js index 4f41df56..0b6f85b1 100644 --- a/mu-trees/addon/resolvers/glimmer-wrapper/index.js +++ b/mu-trees/addon/resolvers/glimmer-wrapper/index.js @@ -24,9 +24,9 @@ const Resolver = DefaultResolver.extend({ normalize: null, - resolve(lookupString) { + resolve(lookupString, referrer) { /* - * Ember paritals are looked up as templates. Here we replace the template + * Ember partials are looked up as templates. Here we replace the template * resolution with a partial resolute when appropriate. Try to keep this * code as "pay-go" as possible. */ @@ -34,11 +34,25 @@ const Resolver = DefaultResolver.extend({ if (lookupString.indexOf('template:') === 0) { lookupString = this._templateToPartial(lookupString); } - return this._resolve(lookupString); + return this._resolve(lookupString, referrer); }, - _resolve(lookupString) { - return this._glimmerResolver.resolve(lookupString); + _resolve(lookupString, referrer) { + if (referrer) { + // make absolute + let appName = this.config.app.name; + let parts = referrer.split(':src/ui/'); + referrer = `${parts[0]}:/${appName}/${parts[1]}`; + referrer = referrer.split('/template.hbs')[0]; + + // glimmer resolver will throw and error if specifier has as collection + let match = lookupString.match(/^template:components\/(.*)/); + if (match) { + lookupString = `template:${match[1]}`; + } + } + + return this._glimmerResolver.resolve(lookupString, referrer); }, /* From 531d41cb22761caf7913193c897dd7374e82b484 Mon Sep 17 00:00:00 2001 From: Isaac Ezer Date: Fri, 23 Jun 2017 16:26:24 -0400 Subject: [PATCH 2/2] config: Add privateCollection --- mu-trees/addon/ember-config.js | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/mu-trees/addon/ember-config.js b/mu-trees/addon/ember-config.js index 54f21a10..7fe192fd 100644 --- a/mu-trees/addon/ember-config.js +++ b/mu-trees/addon/ember-config.js @@ -15,10 +15,16 @@ export default function generateConfig(name) { adapter: { definitiveCollection: 'models' }, application: { definitiveCollection: 'main' }, controller: { definitiveCollection: 'routes' }, - component: { definitiveCollection: 'components' }, + component: { + definitiveCollection: 'components', + privateCollection: 'components' + }, 'component-lookup': { definitiveCollection: 'main' }, event_dispatcher: { definitiveCollection: 'main' }, - helper: { definitiveCollection: 'components' }, + helper: { + definitiveCollection: 'components', + privateCollection: 'components' + }, initializer: { definitiveCollection: 'initializers' }, 'instance-initializers': { definitiveCollection: 'instance-initializer' }, location: { definitiveCollection: 'main' }, @@ -31,6 +37,7 @@ export default function generateConfig(name) { service: { definitiveCollection: 'services' }, template: { definitiveCollection: 'routes', + privateCollection: 'components', fallbackCollectionPrefixes: { 'components': 'components' }