Skip to content

Commit fd6b87a

Browse files
authored
Merge pull request #977 from ember-cli/plain-library
Convert to plain library and drop deprecated behaviors
2 parents 516e0db + 3d82f78 commit fd6b87a

File tree

10 files changed

+26
-402
lines changed

10 files changed

+26
-402
lines changed

addon/addon/container-debug-adapter.js

Lines changed: 0 additions & 103 deletions
This file was deleted.

addon/addon/features.js

Lines changed: 0 additions & 5 deletions
This file was deleted.

addon/addon/index.js

Lines changed: 15 additions & 108 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,8 @@
11
/* globals requirejs, require */
22

3-
import { assert, deprecate, warn } from '@ember/debug';
4-
import EmberObject from '@ember/object';
53
import { dasherize, classify, underscore } from './string';
6-
import { DEBUG } from '@glimmer/env';
74
import classFactory from './utils/class-factory';
85

9-
import { getOwner } from '@ember/owner';
10-
116
if (typeof requirejs.entries === 'undefined') {
127
requirejs.entries = requirejs._eak_seen;
138
}
@@ -38,13 +33,17 @@ export class ModuleRegistry {
3833
* 2) is able to provide injections to classes that implement `extend`
3934
* (as is typical with Ember).
4035
*/
41-
class Resolver extends EmberObject {
36+
export default class Resolver {
4237
static moduleBasedResolver = true;
4338
moduleBasedResolver = true;
4439

4540
_deprecatedPodModulePrefix = false;
4641
_normalizeCache = Object.create(null);
4742

43+
static create(props) {
44+
return new this(props);
45+
}
46+
4847
/**
4948
A listing of functions to test for moduleName's based on the provided
5049
`parsedName`. This allows easy customization of additional module based
@@ -61,9 +60,8 @@ class Resolver extends EmberObject {
6160
this.nestedColocationComponentModuleName,
6261
];
6362

64-
constructor() {
65-
super(...arguments);
66-
63+
constructor(props) {
64+
Object.assign(this, props);
6765
if (!this._moduleRegistry) {
6866
this._moduleRegistry = new ModuleRegistry();
6967
}
@@ -337,7 +335,7 @@ class Resolver extends EmberObject {
337335
return tmpPrefix;
338336
}
339337

340-
findModuleName(parsedName, loggingDisabled) {
338+
findModuleName(parsedName) {
341339
let moduleNameLookupPatterns = this.moduleNameLookupPatterns;
342340
let moduleName;
343341

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

359357
if (tmpModuleName && this._moduleRegistry.has(tmpModuleName)) {
360358
moduleName = tmpModuleName;
361359
}
362360

363-
if (!loggingDisabled) {
364-
this._logLookup(moduleName, parsedName, tmpModuleName);
365-
}
366-
367361
if (moduleName) {
368362
return moduleName;
369363
}
370364
}
371365
}
372366

373-
chooseModuleName(moduleName, parsedName) {
367+
chooseModuleName(moduleName) {
374368
let underscoredModuleName = underscore(moduleName);
375369

376370
if (
@@ -388,97 +382,6 @@ class Resolver extends EmberObject {
388382
} else if (this._moduleRegistry.has(underscoredModuleName)) {
389383
return underscoredModuleName;
390384
}
391-
// workaround for dasherized partials:
392-
// something/something/-something => something/something/_something
393-
let partializedModuleName = moduleName.replace(/\/-([^/]*)$/, '/_$1');
394-
395-
if (this._moduleRegistry.has(partializedModuleName)) {
396-
deprecate(
397-
'Modules should not contain underscores. ' +
398-
'Attempted to lookup "' +
399-
moduleName +
400-
'" which ' +
401-
'was not found. Please rename "' +
402-
partializedModuleName +
403-
'" ' +
404-
'to "' +
405-
moduleName +
406-
'" instead.',
407-
false,
408-
{
409-
id: 'ember-resolver.underscored-modules',
410-
until: '3.0.0',
411-
for: 'ember-resolver',
412-
since: '0.1.0',
413-
}
414-
);
415-
416-
return partializedModuleName;
417-
}
418-
419-
if (DEBUG) {
420-
let isCamelCaseHelper =
421-
parsedName.type === 'helper' && /[a-z]+[A-Z]+/.test(moduleName);
422-
if (isCamelCaseHelper) {
423-
this._camelCaseHelperWarnedNames =
424-
this._camelCaseHelperWarnedNames || [];
425-
let alreadyWarned =
426-
this._camelCaseHelperWarnedNames.indexOf(parsedName.fullName) > -1;
427-
if (!alreadyWarned && this._moduleRegistry.has(dasherize(moduleName))) {
428-
this._camelCaseHelperWarnedNames.push(parsedName.fullName);
429-
warn(
430-
'Attempted to lookup "' +
431-
parsedName.fullName +
432-
'" which ' +
433-
'was not found. In previous versions of ember-resolver, a bug would have ' +
434-
'caused the module at "' +
435-
dasherize(moduleName) +
436-
'" to be ' +
437-
'returned for this camel case helper name. This has been fixed. ' +
438-
'Use the dasherized name to resolve the module that would have been ' +
439-
'returned in previous versions.',
440-
false,
441-
{ id: 'ember-resolver.camelcase-helper-names', until: '3.0.0' }
442-
);
443-
}
444-
}
445-
}
446-
}
447-
448-
// used by Ember.DefaultResolver.prototype._logLookup
449-
lookupDescription(fullName) {
450-
let parsedName = this.parseName(fullName);
451-
452-
let moduleName = this.findModuleName(parsedName, true);
453-
454-
return moduleName;
455-
}
456-
457-
// only needed until 1.6.0-beta.2 can be required
458-
_logLookup(found, parsedName, description) {
459-
let owner = getOwner(this);
460-
let env = owner?.resolveRegistration?.('config:environment');
461-
if (!env?.LOG_MODULE_RESOLVER && !parsedName.root.LOG_RESOLVER) {
462-
return;
463-
}
464-
465-
let padding;
466-
let symbol = found ? '[✓]' : '[ ]';
467-
468-
if (parsedName.fullName.length > 60) {
469-
padding = '.';
470-
} else {
471-
padding = new Array(60 - parsedName.fullName.length).join('.');
472-
}
473-
474-
if (!description) {
475-
description = this.lookupDescription(parsedName);
476-
}
477-
478-
/* eslint-disable no-console */
479-
if (console && console.info) {
480-
console.info(symbol, parsedName.fullName, padding, description);
481-
}
482385
}
483386

484387
knownForType(type) {
@@ -545,4 +448,8 @@ class Resolver extends EmberObject {
545448
}
546449
}
547450

548-
export default Resolver;
451+
function assert(message, check) {
452+
if (!check) {
453+
throw new Error(message);
454+
}
455+
}

addon/app/container-debug-adapter.js

Lines changed: 0 additions & 1 deletion
This file was deleted.

addon/config/environment.js

Lines changed: 0 additions & 5 deletions
This file was deleted.

addon/package.json

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,7 @@
22
"name": "ember-resolver",
33
"version": "12.0.1",
44
"description": "The default modules based resolver for Ember CLI.",
5-
"keywords": [
6-
"ember-addon"
7-
],
5+
"keywords": [],
86
"homepage": "https://github.com/ember-cli/ember-resolver#readme",
97
"bugs": {
108
"url": "https://github.com/ember-cli/ember-resolver/issues"
@@ -42,6 +40,10 @@
4240
"ember": {
4341
"edition": "octane"
4442
},
43+
"exports": {
44+
".": "./addon/index",
45+
"./*": "./addon/*"
46+
},
4547
"volta": {
4648
"extends": "../package.json"
4749
}

package-lock.json

Lines changed: 6 additions & 6 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)