Skip to content

Commit 578bd7b

Browse files
Merge pull request #21307 from NullVoxPopuli-ai-agent/strict-resolver-tests-update
Adapt strict resolver tests, remove AMD dependencies
2 parents 0c04468 + 7ffb39c commit 578bd7b

19 files changed

Lines changed: 770 additions & 1512 deletions

package.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -229,6 +229,9 @@
229229
"@ember/engine/index.js": "ember-source/@ember/engine/index.js",
230230
"@ember/engine/instance.js": "ember-source/@ember/engine/instance.js",
231231
"@ember/engine/lib/engine-parent.js": "ember-source/@ember/engine/lib/engine-parent.js",
232+
"@ember/engine/lib/strict-resolver.js": "ember-source/@ember/engine/lib/strict-resolver.js",
233+
"@ember/engine/lib/strict-resolver/cache.js": "ember-source/@ember/engine/lib/strict-resolver/cache.js",
234+
"@ember/engine/lib/strict-resolver/string.js": "ember-source/@ember/engine/lib/strict-resolver/string.js",
232235
"@ember/engine/parent.js": "ember-source/@ember/engine/parent.js",
233236
"@ember/enumerable/index.js": "ember-source/@ember/enumerable/index.js",
234237
"@ember/enumerable/mutable.js": "ember-source/@ember/enumerable/mutable.js",

packages/@ember/engine/index.ts

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ import type { EngineInstanceOptions } from '@ember/engine/instance';
1313
import EngineInstance from '@ember/engine/instance';
1414
import { RoutingService } from '@ember/routing/-internals';
1515
import { ComponentLookup } from '@ember/-internals/views';
16+
import { StrictResolver } from './lib/strict-resolver';
1617
import { setupEngineRegistry } from '@ember/-internals/glimmer';
1718
import { RegistryProxyMixin } from '@ember/-internals/runtime';
1819

@@ -328,7 +329,30 @@ class Engine extends Namespace.extend(RegistryProxyMixin) {
328329
@property resolver
329330
@public
330331
*/
331-
declare Resolver: ResolverClass;
332+
Resolver: ResolverClass = {
333+
create: ({ namespace }: { namespace: Engine }) =>
334+
new StrictResolver(namespace.modules ?? {}, namespace.plurals),
335+
} as unknown as ResolverClass;
336+
337+
/**
338+
Set this to opt-in to using a strict resolver that will only return the
339+
given set of ES modules. The names of the modules should all be relative to
340+
the root of the app and start with "./"
341+
342+
@property modules
343+
@public
344+
*/
345+
declare modules?: Record<string, unknown>;
346+
347+
/**
348+
Custom pluralization rules for the strict resolver. By default, types are
349+
pluralized by appending 's' (e.g. 'service' -> 'services'). The 'config'
350+
type is pre-mapped to 'config' (no pluralization).
351+
352+
@property plurals
353+
@public
354+
*/
355+
declare plurals?: Record<string, string>;
332356

333357
init(properties: object | undefined) {
334358
super.init(properties);

0 commit comments

Comments
 (0)