diff --git a/addon/addon/index.js b/addon/addon/index.js index e62c95f6..9f6371c1 100644 --- a/addon/addon/index.js +++ b/addon/addon/index.js @@ -1,11 +1,13 @@ /* globals requirejs, require */ -import Ember from 'ember'; import { assert, deprecate, warn } from '@ember/debug'; import EmberObject from '@ember/object'; import { dasherize, classify, underscore } from './string'; import { DEBUG } from '@glimmer/env'; import classFactory from './utils/class-factory'; +import { getOwner } from '@ember/owner'; + +import { TEMPLATES } from './template-cache'; if (typeof requirejs.entries === 'undefined') { requirejs.entries = requirejs._eak_seen; @@ -295,7 +297,7 @@ class Resolver extends EmberObject { resolveTemplate(parsedName) { let resolved = this.resolveOther(parsedName); if (resolved == null) { - resolved = Ember.TEMPLATES[parsedName.fullNameWithoutType]; + resolved = TEMPLATES[parsedName.fullNameWithoutType]; } return resolved; } @@ -459,7 +461,9 @@ class Resolver extends EmberObject { // only needed until 1.6.0-beta.2 can be required _logLookup(found, parsedName, description) { - if (!Ember.ENV.LOG_MODULE_RESOLVER && !parsedName.root.LOG_RESOLVER) { + let owner = getOwner(this); + let env = owner?.resolveRegistration('config:environment'); + if (!env?.LOG_MODULE_RESOLVER && !parsedName.root.LOG_RESOLVER) { return; } diff --git a/addon/addon/template-cache.js b/addon/addon/template-cache.js new file mode 100644 index 00000000..13f6978f --- /dev/null +++ b/addon/addon/template-cache.js @@ -0,0 +1,30 @@ +/** + * Originally: https://github.com/emberjs/ember.js/blob/28444d536fa20debef2a67e2f18c5eb11113a4b5/packages/%40ember/-internals/glimmer/lib/template_registry.ts#L9 + * + * import { TEMPLATES } from 'ember'; + * + * Removed for RFC 1003 + */ +export let TEMPLATES = {}; + +export function setTemplates(templates) { + TEMPLATES = templates; +} + +export function getTemplates() { + return TEMPLATES; +} + +export function getTemplate(name) { + if (Object.prototype.hasOwnProperty.call(TEMPLATES, name)) { + return TEMPLATES[name]; + } +} + +export function hasTemplate(name) { + return Object.prototype.hasOwnProperty.call(TEMPLATES, name); +} + +export function setTemplate(name, template) { + return (TEMPLATES[name] = template); +} diff --git a/package-lock.json b/package-lock.json index 88136ef4..23e7d772 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,11 +1,11 @@ { "name": "ember-resolver", - "version": "11.0.0", + "version": "11.0.1", "lockfileVersion": 2, "requires": true, "packages": { "": { - "version": "11.0.0", + "version": "11.0.1", "workspaces": [ "addon", "test-app" @@ -29,7 +29,7 @@ }, "addon": { "name": "ember-resolver", - "version": "11.0.0", + "version": "11.0.1", "license": "MIT", "dependencies": { "ember-cli-babel": "^7.26.11" @@ -23650,7 +23650,7 @@ } }, "test-app": { - "version": "11.0.0", + "version": "11.0.1", "license": "MIT", "devDependencies": { "@babel/eslint-parser": "^7.21.3", @@ -23668,7 +23668,7 @@ "ember-disable-prototype-extensions": "^1.1.3", "ember-load-initializers": "^2.1.2", "ember-qunit": "^6.2.0", - "ember-resolver": "11.0.0", + "ember-resolver": "11.0.1", "ember-source": "~4.12.0", "ember-source-channel-url": "^3.0.0", "ember-try": "^2.0.0", @@ -40461,7 +40461,7 @@ "ember-disable-prototype-extensions": "^1.1.3", "ember-load-initializers": "^2.1.2", "ember-qunit": "^6.2.0", - "ember-resolver": "11.0.0", + "ember-resolver": "11.0.1", "ember-source": "~4.12.0", "ember-source-channel-url": "^3.0.0", "ember-try": "^2.0.0", diff --git a/test-app/tests/unit/resolvers/classic/basic-test.js b/test-app/tests/unit/resolvers/classic/basic-test.js index 372788bf..6509a8c7 100644 --- a/test-app/tests/unit/resolvers/classic/basic-test.js +++ b/test-app/tests/unit/resolvers/classic/basic-test.js @@ -3,6 +3,7 @@ import Ember from 'ember'; import { module, test } from 'qunit'; import Resolver, { ModuleRegistry } from 'ember-resolver'; +import { TEMPLATES } from 'ember-resolver/template-cache'; let originalConsoleInfo, logCalls, resolver, loader; @@ -456,7 +457,7 @@ test('can lookup templates with mixed naming moduleName', function (assert) { }); test('can lookup templates via Ember.TEMPLATES', function (assert) { - Ember.TEMPLATES['application'] = function () { + TEMPLATES['application'] = function () { return '