Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
103 changes: 0 additions & 103 deletions addon/addon/container-debug-adapter.js

This file was deleted.

5 changes: 0 additions & 5 deletions addon/addon/features.js

This file was deleted.

123 changes: 15 additions & 108 deletions addon/addon/index.js
Original file line number Diff line number Diff line change
@@ -1,13 +1,8 @@
/* globals requirejs, require */

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';

if (typeof requirejs.entries === 'undefined') {
requirejs.entries = requirejs._eak_seen;
}
Expand Down Expand Up @@ -38,13 +33,17 @@ export class ModuleRegistry {
* 2) is able to provide injections to classes that implement `extend`
* (as is typical with Ember).
*/
class Resolver extends EmberObject {
export default class Resolver {
static moduleBasedResolver = true;
moduleBasedResolver = true;

_deprecatedPodModulePrefix = false;
_normalizeCache = Object.create(null);

static create(props) {
return new this(props);
}

/**
A listing of functions to test for moduleName's based on the provided
`parsedName`. This allows easy customization of additional module based
Expand All @@ -61,9 +60,8 @@ class Resolver extends EmberObject {
this.nestedColocationComponentModuleName,
];

constructor() {
super(...arguments);

constructor(props) {
Object.assign(this, props);
if (!this._moduleRegistry) {
this._moduleRegistry = new ModuleRegistry();
}
Expand Down Expand Up @@ -337,7 +335,7 @@ class Resolver extends EmberObject {
return tmpPrefix;
}

findModuleName(parsedName, loggingDisabled) {
findModuleName(parsedName) {
let moduleNameLookupPatterns = this.moduleNameLookupPatterns;
let moduleName;

Expand All @@ -353,24 +351,20 @@ class Resolver extends EmberObject {
// allow treat all dashed and all underscored as the same thing
// supports components with dashes and other stuff with underscores.
if (tmpModuleName) {
tmpModuleName = this.chooseModuleName(tmpModuleName, parsedName);
tmpModuleName = this.chooseModuleName(tmpModuleName);
}

if (tmpModuleName && this._moduleRegistry.has(tmpModuleName)) {
moduleName = tmpModuleName;
}

if (!loggingDisabled) {
this._logLookup(moduleName, parsedName, tmpModuleName);
}

if (moduleName) {
return moduleName;
}
}
}

chooseModuleName(moduleName, parsedName) {
chooseModuleName(moduleName) {
let underscoredModuleName = underscore(moduleName);

if (
Expand All @@ -388,97 +382,6 @@ class Resolver extends EmberObject {
} else if (this._moduleRegistry.has(underscoredModuleName)) {
return underscoredModuleName;
}
// workaround for dasherized partials:
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🙌

// something/something/-something => something/something/_something
let partializedModuleName = moduleName.replace(/\/-([^/]*)$/, '/_$1');

if (this._moduleRegistry.has(partializedModuleName)) {
deprecate(
'Modules should not contain underscores. ' +
'Attempted to lookup "' +
moduleName +
'" which ' +
'was not found. Please rename "' +
partializedModuleName +
'" ' +
'to "' +
moduleName +
'" instead.',
false,
{
id: 'ember-resolver.underscored-modules',
until: '3.0.0',
for: 'ember-resolver',
since: '0.1.0',
}
);

return partializedModuleName;
}

if (DEBUG) {
let isCamelCaseHelper =
parsedName.type === 'helper' && /[a-z]+[A-Z]+/.test(moduleName);
if (isCamelCaseHelper) {
this._camelCaseHelperWarnedNames =
this._camelCaseHelperWarnedNames || [];
let alreadyWarned =
this._camelCaseHelperWarnedNames.indexOf(parsedName.fullName) > -1;
if (!alreadyWarned && this._moduleRegistry.has(dasherize(moduleName))) {
this._camelCaseHelperWarnedNames.push(parsedName.fullName);
warn(
'Attempted to lookup "' +
parsedName.fullName +
'" which ' +
'was not found. In previous versions of ember-resolver, a bug would have ' +
'caused the module at "' +
dasherize(moduleName) +
'" to be ' +
'returned for this camel case helper name. This has been fixed. ' +
'Use the dasherized name to resolve the module that would have been ' +
'returned in previous versions.',
false,
{ id: 'ember-resolver.camelcase-helper-names', until: '3.0.0' }
);
}
}
}
}

// used by Ember.DefaultResolver.prototype._logLookup
lookupDescription(fullName) {
let parsedName = this.parseName(fullName);

let moduleName = this.findModuleName(parsedName, true);

return moduleName;
}

// only needed until 1.6.0-beta.2 can be required
_logLookup(found, parsedName, description) {
let owner = getOwner(this);
let env = owner?.resolveRegistration?.('config:environment');
if (!env?.LOG_MODULE_RESOLVER && !parsedName.root.LOG_RESOLVER) {
return;
}

let padding;
let symbol = found ? '[✓]' : '[ ]';

if (parsedName.fullName.length > 60) {
padding = '.';
} else {
padding = new Array(60 - parsedName.fullName.length).join('.');
}

if (!description) {
description = this.lookupDescription(parsedName);
}

/* eslint-disable no-console */
if (console && console.info) {
console.info(symbol, parsedName.fullName, padding, description);
}
}

knownForType(type) {
Expand Down Expand Up @@ -545,4 +448,8 @@ class Resolver extends EmberObject {
}
}

export default Resolver;
function assert(message, check) {
if (!check) {
throw new Error(message);
}
}
1 change: 0 additions & 1 deletion addon/app/container-debug-adapter.js

This file was deleted.

5 changes: 0 additions & 5 deletions addon/config/environment.js

This file was deleted.

8 changes: 5 additions & 3 deletions addon/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,7 @@
"name": "ember-resolver",
"version": "12.0.1",
"description": "The default modules based resolver for Ember CLI.",
"keywords": [
"ember-addon"
],
"keywords": [],
"homepage": "https://github.com/ember-cli/ember-resolver#readme",
"bugs": {
"url": "https://github.com/ember-cli/ember-resolver/issues"
Expand Down Expand Up @@ -42,6 +40,10 @@
"ember": {
"edition": "octane"
},
"exports": {
".": "./addon/index",
"./*": "./addon/*"
},
"volta": {
"extends": "../package.json"
}
Expand Down
12 changes: 6 additions & 6 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading