@embroider/core 3.4.20-unstable.b89b741 → 3.4.20-unstable.c3af848

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/package.json +6 -6
  2. package/src/index.d.ts +2 -2
  3. package/src/index.js +1 -2
  4. package/src/index.js.map +1 -1
  5. package/src/module-request.d.ts +5 -6
  6. package/src/module-request.js +11 -2
  7. package/src/module-request.js.map +1 -1
  8. package/src/module-resolver.d.ts +3 -1
  9. package/src/module-resolver.js +130 -108
  10. package/src/module-resolver.js.map +1 -1
  11. package/src/node-resolve.d.ts +2 -1
  12. package/src/node-resolve.js +6 -8
  13. package/src/node-resolve.js.map +1 -1
  14. package/src/packager.d.ts +0 -8
  15. package/src/packager.js +0 -9
  16. package/src/packager.js.map +1 -1
  17. package/src/virtual-content.d.ts +28 -10
  18. package/src/virtual-content.js +45 -114
  19. package/src/virtual-content.js.map +1 -1
  20. package/src/virtual-entrypoint.d.ts +4 -2
  21. package/src/virtual-entrypoint.js +2 -18
  22. package/src/virtual-entrypoint.js.map +1 -1
  23. package/src/virtual-route-entrypoint.d.ts +4 -9
  24. package/src/virtual-route-entrypoint.js +1 -33
  25. package/src/virtual-route-entrypoint.js.map +1 -1
  26. package/src/virtual-test-support-styles.d.ts +5 -2
  27. package/src/virtual-test-support-styles.js +2 -5
  28. package/src/virtual-test-support-styles.js.map +1 -1
  29. package/src/virtual-test-support.d.ts +5 -2
  30. package/src/virtual-test-support.js +2 -5
  31. package/src/virtual-test-support.js.map +1 -1
  32. package/src/virtual-vendor-styles.d.ts +5 -1
  33. package/src/virtual-vendor-styles.js +2 -1
  34. package/src/virtual-vendor-styles.js.map +1 -1
  35. package/src/virtual-vendor.d.ts +5 -2
  36. package/src/virtual-vendor.js +4 -8
  37. package/src/virtual-vendor.js.map +1 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@embroider/core",
3
- "version": "3.4.20-unstable.b89b741",
3
+ "version": "3.4.20-unstable.c3af848",
4
4
  "private": false,
5
5
  "description": "A build system for EmberJS applications.",
6
6
  "repository": {
@@ -49,9 +49,9 @@
49
49
  "semver": "^7.3.5",
50
50
  "typescript-memoize": "^1.0.1",
51
51
  "walk-sync": "^3.0.0",
52
- "@embroider/macros": "1.16.10-unstable.b89b741",
53
- "@embroider/reverse-exports": "0.1.1-unstable.b89b741",
54
- "@embroider/shared-internals": "2.8.2-unstable.b89b741"
52
+ "@embroider/macros": "1.16.10-unstable.c3af848",
53
+ "@embroider/shared-internals": "2.8.2-unstable.c3af848",
54
+ "@embroider/reverse-exports": "0.1.1-unstable.c3af848"
55
55
  },
56
56
  "devDependencies": {
57
57
  "@glimmer/syntax": "^0.84.2",
@@ -70,8 +70,8 @@
70
70
  "fixturify": "^2.1.1",
71
71
  "tmp": "^0.1.0",
72
72
  "typescript": "^5.4.5",
73
- "@embroider/sample-transforms": "0.0.0",
74
- "@embroider/test-support": "0.36.0"
73
+ "@embroider/test-support": "0.36.0",
74
+ "@embroider/sample-transforms": "0.0.0"
75
75
  },
76
76
  "engines": {
77
77
  "node": "12.* || 14.* || >= 16"
package/src/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export { Packager, PackagerConstructor, Variant, applyVariantToBabelConfig, getAppMeta, getPackagerCacheDir, } from './packager';
1
+ export { Packager, PackagerConstructor, Variant, applyVariantToBabelConfig, getPackagerCacheDir } from './packager';
2
2
  export { HTMLEntrypoint, BundleSummary } from './html-entrypoint';
3
3
  export { default as Stage } from './stage';
4
4
  export { default as Options, optionsWithDefaults } from './options';
@@ -9,6 +9,6 @@ export { Resolver } from './module-resolver';
9
9
  export { ModuleRequest, type Resolution, type RequestAdapter, type RequestAdapterCreate } from './module-request';
10
10
  export type { Options as ResolverOptions } from './module-resolver-options';
11
11
  export { ResolverLoader } from './resolver-loader';
12
- export { virtualContent } from './virtual-content';
12
+ export { virtualContent, type VirtualResponse } from './virtual-content';
13
13
  export type { Engine } from './app-files';
14
14
  export * from '@embroider/shared-internals';
package/src/index.js CHANGED
@@ -17,10 +17,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
17
17
  return (mod && mod.__esModule) ? mod : { "default": mod };
18
18
  };
19
19
  Object.defineProperty(exports, "__esModule", { value: true });
20
- exports.virtualContent = exports.ResolverLoader = exports.ModuleRequest = exports.Resolver = exports.throwOnWarnings = exports.expectWarning = exports.debug = exports.warn = exports.unsupported = exports.todo = exports.jsHandlebarsCompile = exports.WaitForTrees = exports.optionsWithDefaults = exports.HTMLEntrypoint = exports.getPackagerCacheDir = exports.getAppMeta = exports.applyVariantToBabelConfig = void 0;
20
+ exports.virtualContent = exports.ResolverLoader = exports.ModuleRequest = exports.Resolver = exports.throwOnWarnings = exports.expectWarning = exports.debug = exports.warn = exports.unsupported = exports.todo = exports.jsHandlebarsCompile = exports.WaitForTrees = exports.optionsWithDefaults = exports.HTMLEntrypoint = exports.getPackagerCacheDir = exports.applyVariantToBabelConfig = void 0;
21
21
  var packager_1 = require("./packager");
22
22
  Object.defineProperty(exports, "applyVariantToBabelConfig", { enumerable: true, get: function () { return packager_1.applyVariantToBabelConfig; } });
23
- Object.defineProperty(exports, "getAppMeta", { enumerable: true, get: function () { return packager_1.getAppMeta; } });
24
23
  Object.defineProperty(exports, "getPackagerCacheDir", { enumerable: true, get: function () { return packager_1.getPackagerCacheDir; } });
25
24
  var html_entrypoint_1 = require("./html-entrypoint");
26
25
  Object.defineProperty(exports, "HTMLEntrypoint", { enumerable: true, get: function () { return html_entrypoint_1.HTMLEntrypoint; } });
package/src/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,uCAOoB;AAHlB,qHAAA,yBAAyB,OAAA;AACzB,sGAAA,UAAU,OAAA;AACV,+GAAA,mBAAmB,OAAA;AAErB,qDAAkE;AAAzD,iHAAA,cAAc,OAAA;AAEvB,qCAAoE;AAAvC,8GAAA,mBAAmB,OAAA;AAChD,mDAAwE;AAA/D,+HAAA,OAAO,OAAgB;AAChC,iDAAiE;AAAxD,oHAAA,OAAO,OAAuB;AACvC,uCAA4F;AAAnF,gGAAA,IAAI,OAAA;AAAE,uGAAA,WAAW,OAAA;AAAE,gGAAA,IAAI,OAAA;AAAE,iGAAA,KAAK,OAAA;AAAE,yGAAA,aAAa,OAAA;AAAE,2GAAA,eAAe,OAAA;AACvE,qDAA6C;AAApC,2GAAA,QAAQ,OAAA;AACjB,mDAAkH;AAAzG,+GAAA,aAAa,OAAA;AAEtB,qDAAmD;AAA1C,iHAAA,cAAc,OAAA;AACvB,qDAAmD;AAA1C,iHAAA,cAAc,OAAA;AAGvB,8EAA8E;AAC9E,+DAA+D;AAC/D,8DAA4C","sourcesContent":["export {\n Packager,\n PackagerConstructor,\n Variant,\n applyVariantToBabelConfig,\n getAppMeta,\n getPackagerCacheDir,\n} from './packager';\nexport { HTMLEntrypoint, BundleSummary } from './html-entrypoint';\nexport { default as Stage } from './stage';\nexport { default as Options, optionsWithDefaults } from './options';\nexport { default as WaitForTrees, OutputPaths } from './wait-for-trees';\nexport { compile as jsHandlebarsCompile } from './js-handlebars';\nexport { todo, unsupported, warn, debug, expectWarning, throwOnWarnings } from './messages';\nexport { Resolver } from './module-resolver';\nexport { ModuleRequest, type Resolution, type RequestAdapter, type RequestAdapterCreate } from './module-request';\nexport type { Options as ResolverOptions } from './module-resolver-options';\nexport { ResolverLoader } from './resolver-loader';\nexport { virtualContent } from './virtual-content';\nexport type { Engine } from './app-files';\n\n// this is reexported because we already make users manage a peerDep from some\n// other packages (like embroider/webpack and @embroider/compat\nexport * from '@embroider/shared-internals';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,uCAAoH;AAAnE,qHAAA,yBAAyB,OAAA;AAAE,+GAAA,mBAAmB,OAAA;AAC/F,qDAAkE;AAAzD,iHAAA,cAAc,OAAA;AAEvB,qCAAoE;AAAvC,8GAAA,mBAAmB,OAAA;AAChD,mDAAwE;AAA/D,+HAAA,OAAO,OAAgB;AAChC,iDAAiE;AAAxD,oHAAA,OAAO,OAAuB;AACvC,uCAA4F;AAAnF,gGAAA,IAAI,OAAA;AAAE,uGAAA,WAAW,OAAA;AAAE,gGAAA,IAAI,OAAA;AAAE,iGAAA,KAAK,OAAA;AAAE,yGAAA,aAAa,OAAA;AAAE,2GAAA,eAAe,OAAA;AACvE,qDAA6C;AAApC,2GAAA,QAAQ,OAAA;AACjB,mDAAkH;AAAzG,+GAAA,aAAa,OAAA;AAEtB,qDAAmD;AAA1C,iHAAA,cAAc,OAAA;AACvB,qDAAyE;AAAhE,iHAAA,cAAc,OAAA;AAGvB,8EAA8E;AAC9E,+DAA+D;AAC/D,8DAA4C","sourcesContent":["export { Packager, PackagerConstructor, Variant, applyVariantToBabelConfig, getPackagerCacheDir } from './packager';\nexport { HTMLEntrypoint, BundleSummary } from './html-entrypoint';\nexport { default as Stage } from './stage';\nexport { default as Options, optionsWithDefaults } from './options';\nexport { default as WaitForTrees, OutputPaths } from './wait-for-trees';\nexport { compile as jsHandlebarsCompile } from './js-handlebars';\nexport { todo, unsupported, warn, debug, expectWarning, throwOnWarnings } from './messages';\nexport { Resolver } from './module-resolver';\nexport { ModuleRequest, type Resolution, type RequestAdapter, type RequestAdapterCreate } from './module-request';\nexport type { Options as ResolverOptions } from './module-resolver-options';\nexport { ResolverLoader } from './resolver-loader';\nexport { virtualContent, type VirtualResponse } from './virtual-content';\nexport type { Engine } from './app-files';\n\n// this is reexported because we already make users manage a peerDep from some\n// other packages (like embroider/webpack and @embroider/compat\nexport * from '@embroider/shared-internals';\n"]}
@@ -1,10 +1,8 @@
1
+ import type { VirtualResponse } from './virtual-content';
1
2
  export type Resolution<T = unknown, E = unknown> = {
2
3
  type: 'found';
3
4
  filename: string;
4
- isVirtual: boolean;
5
- result: T;
6
- } | {
7
- type: 'ignored';
5
+ virtual: VirtualResponse | false;
8
6
  result: T;
9
7
  } | {
10
8
  type: 'not_found';
@@ -18,7 +16,7 @@ export interface RequestAdapter<Res extends Resolution> {
18
16
  readonly debugType: string;
19
17
  resolve(request: ModuleRequest<Res>): Promise<Res>;
20
18
  notFoundResponse(request: ModuleRequest<Res>): Res | (() => Promise<Res>);
21
- virtualResponse(request: ModuleRequest<Res>, virtualFileName: string): Res | (() => Promise<Res>);
19
+ virtualResponse(request: ModuleRequest<Res>, response: VirtualResponse): Res | (() => Promise<Res>);
22
20
  }
23
21
  export interface InitialRequestState {
24
22
  readonly specifier: string;
@@ -36,10 +34,11 @@ export declare class ModuleRequest<Res extends Resolution = Resolution> implemen
36
34
  get resolvedTo(): Res | (() => Promise<Res>) | undefined;
37
35
  alias(newSpecifier: string): this;
38
36
  rehome(newFromFile: string): this;
39
- virtualize(virtualFileName: string): this;
37
+ virtualize(virtualResponse: VirtualResponse): this;
40
38
  withMeta(meta: Record<string, any> | undefined): this;
41
39
  notFound(): this;
42
40
  resolveTo(res: Res | (() => Promise<Res>)): this;
43
41
  defaultResolve(): Promise<Res>;
44
42
  clone(): this;
45
43
  }
44
+ export declare function extractResolution<Res extends Resolution = Resolution>(res: Res | (() => Promise<Res>)): Promise<Res>;
@@ -13,6 +13,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
13
13
  var _ModuleRequest_adapter, _ModuleRequest_specifier, _ModuleRequest_fromFile, _ModuleRequest_meta, _ModuleRequest_resolvedTo;
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.ModuleRequest = void 0;
16
+ exports.extractResolution = extractResolution;
16
17
  class ModuleRequest {
17
18
  static create(createAdapter, params) {
18
19
  let result = createAdapter(params);
@@ -62,8 +63,8 @@ class ModuleRequest {
62
63
  __classPrivateFieldSet(result, _ModuleRequest_fromFile, newFromFile, "f");
63
64
  return result;
64
65
  }
65
- virtualize(virtualFileName) {
66
- return this.resolveTo(__classPrivateFieldGet(this, _ModuleRequest_adapter, "f").virtualResponse(this, virtualFileName));
66
+ virtualize(virtualResponse) {
67
+ return this.resolveTo(__classPrivateFieldGet(this, _ModuleRequest_adapter, "f").virtualResponse(this, virtualResponse));
67
68
  }
68
69
  withMeta(meta) {
69
70
  let result = this.clone();
@@ -88,4 +89,12 @@ class ModuleRequest {
88
89
  }
89
90
  exports.ModuleRequest = ModuleRequest;
90
91
  _ModuleRequest_adapter = new WeakMap(), _ModuleRequest_specifier = new WeakMap(), _ModuleRequest_fromFile = new WeakMap(), _ModuleRequest_meta = new WeakMap(), _ModuleRequest_resolvedTo = new WeakMap();
92
+ async function extractResolution(res) {
93
+ if (typeof res === 'function') {
94
+ return await res();
95
+ }
96
+ else {
97
+ return res;
98
+ }
99
+ }
91
100
  //# sourceMappingURL=module-request.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"module-request.js","sourceRoot":"","sources":["module-request.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAsCA,MAAa,aAAa;IACxB,MAAM,CAAC,MAAM,CACX,aAA8C,EAC9C,MAAY;QAEZ,IAAI,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;QACnC,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,IAAI,aAAa,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;QAChE,CAAC;IACH,CAAC;IAQD,YAAoB,OAA4B,EAAE,UAA+B;QANjF,yCAA8B;QAC9B,2CAAmB;QACnB,0CAAkB;QAClB,sCAA2C;QAC3C,4CAAoD;QAGlD,uBAAA,IAAI,0BAAY,OAAO,MAAA,CAAC;QACxB,uBAAA,IAAI,4BAAc,UAAU,CAAC,SAAS,MAAA,CAAC;QACvC,uBAAA,IAAI,2BAAa,UAAU,CAAC,QAAQ,MAAA,CAAC;QACrC,uBAAA,IAAI,uBAAS,UAAU,CAAC,IAAI,MAAA,CAAC;IAC/B,CAAC;IAED,IAAI,SAAS;QACX,OAAO,uBAAA,IAAI,gCAAW,CAAC;IACzB,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,uBAAA,IAAI,+BAAU,CAAC;IACxB,CAAC;IAED,IAAI,SAAS;QACX,OAAO,uBAAA,IAAI,8BAAS,CAAC,SAAS,CAAC;IACjC,CAAC;IAED,IAAI,IAAI;QACN,OAAO,uBAAA,IAAI,2BAAM,CAAC;IACpB,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,uBAAA,IAAI,iCAAY,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,YAAoB;QACxB,IAAI,uBAAA,IAAI,gCAAW,KAAK,YAAY,EAAE,CAAC;YACrC,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,MAAM,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;QAC1B,uBAAA,MAAM,4BAAc,YAAY,MAAA,CAAC;QACjC,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,WAAmB;QACxB,IAAI,uBAAA,IAAI,+BAAU,KAAK,WAAW,EAAE,CAAC;YACnC,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,MAAM,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;QAC1B,uBAAA,MAAM,2BAAa,WAAW,MAAA,CAAC;QAC/B,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,UAAU,CAAC,eAAuB;QAChC,OAAO,IAAI,CAAC,SAAS,CAAC,uBAAA,IAAI,8BAAS,CAAC,eAAe,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC,CAAC;IAC9E,CAAC;IAED,QAAQ,CAAC,IAAqC;QAC5C,IAAI,MAAM,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;QAC1B,uBAAA,MAAM,uBAAS,IAAI,MAAA,CAAC;QACpB,uBAAA,MAAM,6BAAe,uBAAA,IAAI,iCAAY,MAAA,CAAC;QACtC,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,SAAS,CAAC,uBAAA,IAAI,8BAAS,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;IAC9D,CAAC;IAED,SAAS,CAAC,GAA+B;QACvC,IAAI,MAAM,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;QAC1B,uBAAA,MAAM,6BAAe,GAAG,MAAA,CAAC;QACzB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,cAAc;QACZ,OAAO,uBAAA,IAAI,8BAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC;IAED,KAAK;QACH,OAAO,IAAI,aAAa,CAAC,uBAAA,IAAI,8BAAS,EAAE,IAAI,CAAS,CAAC;IACxD,CAAC;CACF;AA1FD,sCA0FC","sourcesContent":["// This is generic because different build systems have different ways of\n// representing a found module, and we just pass those values through.\nexport type Resolution<T = unknown, E = unknown> =\n | { type: 'found'; filename: string; isVirtual: boolean; result: T }\n\n // used for requests that are special and don't represent real files that\n // embroider can possibly do anything custom with.\n //\n // the motivating use case for introducing this is Vite's depscan which marks\n // almost everything as \"external\" as a way to tell esbuild to stop traversing\n // once it has been seen the first time.\n | { type: 'ignored'; result: T }\n\n // the important thing about this Resolution is that embroider should do its\n // fallback behaviors here.\n | { type: 'not_found'; err: E };\n\nexport type RequestAdapterCreate<Init, Res extends Resolution> = (\n params: Init\n) => { initialState: InitialRequestState; adapter: RequestAdapter<Res> } | undefined;\n\nexport interface RequestAdapter<Res extends Resolution> {\n readonly debugType: string;\n resolve(request: ModuleRequest<Res>): Promise<Res>;\n\n // the function-returning variants of both of these are only because webpack\n // plugins are a pain in the butt. Integrators are encouraged to use the plain\n // Response-returning variants in all sane build environments.\n notFoundResponse(request: ModuleRequest<Res>): Res | (() => Promise<Res>);\n virtualResponse(request: ModuleRequest<Res>, virtualFileName: string): Res | (() => Promise<Res>);\n}\n\nexport interface InitialRequestState {\n readonly specifier: string;\n readonly fromFile: string;\n readonly meta: Record<string, unknown> | undefined;\n}\n\nexport class ModuleRequest<Res extends Resolution = Resolution> implements ModuleRequest<Res> {\n static create<Init, Res extends Resolution>(\n createAdapter: RequestAdapterCreate<Init, Res>,\n params: Init\n ): ModuleRequest<Res> | undefined {\n let result = createAdapter(params);\n if (result) {\n return new ModuleRequest(result.adapter, result.initialState);\n }\n }\n\n #adapter: RequestAdapter<Res>;\n #specifier: string;\n #fromFile: string;\n #meta: Record<string, unknown> | undefined;\n #resolvedTo: Res | (() => Promise<Res>) | undefined;\n\n private constructor(adapter: RequestAdapter<Res>, initialize: InitialRequestState) {\n this.#adapter = adapter;\n this.#specifier = initialize.specifier;\n this.#fromFile = initialize.fromFile;\n this.#meta = initialize.meta;\n }\n\n get specifier(): string {\n return this.#specifier;\n }\n\n get fromFile(): string {\n return this.#fromFile;\n }\n\n get debugType(): string {\n return this.#adapter.debugType;\n }\n\n get meta(): Record<string, unknown> | undefined {\n return this.#meta;\n }\n\n get resolvedTo(): Res | (() => Promise<Res>) | undefined {\n return this.#resolvedTo;\n }\n\n alias(newSpecifier: string): this {\n if (this.#specifier === newSpecifier) {\n return this;\n }\n let result = this.clone();\n result.#specifier = newSpecifier;\n return result;\n }\n\n rehome(newFromFile: string): this {\n if (this.#fromFile === newFromFile) {\n return this;\n }\n let result = this.clone();\n result.#fromFile = newFromFile;\n return result;\n }\n\n virtualize(virtualFileName: string): this {\n return this.resolveTo(this.#adapter.virtualResponse(this, virtualFileName));\n }\n\n withMeta(meta: Record<string, any> | undefined): this {\n let result = this.clone();\n result.#meta = meta;\n result.#resolvedTo = this.#resolvedTo;\n return result;\n }\n\n notFound(): this {\n return this.resolveTo(this.#adapter.notFoundResponse(this));\n }\n\n resolveTo(res: Res | (() => Promise<Res>)): this {\n let result = this.clone();\n result.#resolvedTo = res;\n return result;\n }\n\n defaultResolve(): Promise<Res> {\n return this.#adapter.resolve(this);\n }\n\n clone(): this {\n return new ModuleRequest(this.#adapter, this) as this;\n }\n}\n"]}
1
+ {"version":3,"file":"module-request.js","sourceRoot":"","sources":["module-request.ts"],"names":[],"mappings":"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","sourcesContent":["import type { VirtualResponse } from './virtual-content';\n\n// This is generic because different build systems have different ways of\n// representing a found module, and we just pass those values through.\nexport type Resolution<T = unknown, E = unknown> =\n | { type: 'found'; filename: string; virtual: VirtualResponse | false; result: T }\n\n // the important thing about this Resolution is that embroider should do its\n // fallback behaviors here.\n | { type: 'not_found'; err: E };\n\nexport type RequestAdapterCreate<Init, Res extends Resolution> = (\n params: Init\n) => { initialState: InitialRequestState; adapter: RequestAdapter<Res> } | undefined;\n\nexport interface RequestAdapter<Res extends Resolution> {\n readonly debugType: string;\n resolve(request: ModuleRequest<Res>): Promise<Res>;\n\n // the function-returning variants of both of these are only because webpack\n // plugins are a pain in the butt. Integrators are encouraged to use the plain\n // Response-returning variants in all sane build environments.\n notFoundResponse(request: ModuleRequest<Res>): Res | (() => Promise<Res>);\n virtualResponse(request: ModuleRequest<Res>, response: VirtualResponse): Res | (() => Promise<Res>);\n}\n\nexport interface InitialRequestState {\n readonly specifier: string;\n readonly fromFile: string;\n readonly meta: Record<string, unknown> | undefined;\n}\n\nexport class ModuleRequest<Res extends Resolution = Resolution> implements ModuleRequest<Res> {\n static create<Init, Res extends Resolution>(\n createAdapter: RequestAdapterCreate<Init, Res>,\n params: Init\n ): ModuleRequest<Res> | undefined {\n let result = createAdapter(params);\n if (result) {\n return new ModuleRequest(result.adapter, result.initialState);\n }\n }\n\n #adapter: RequestAdapter<Res>;\n #specifier: string;\n #fromFile: string;\n #meta: Record<string, unknown> | undefined;\n #resolvedTo: Res | (() => Promise<Res>) | undefined;\n\n private constructor(adapter: RequestAdapter<Res>, initialize: InitialRequestState) {\n this.#adapter = adapter;\n this.#specifier = initialize.specifier;\n this.#fromFile = initialize.fromFile;\n this.#meta = initialize.meta;\n }\n\n get specifier(): string {\n return this.#specifier;\n }\n\n get fromFile(): string {\n return this.#fromFile;\n }\n\n get debugType(): string {\n return this.#adapter.debugType;\n }\n\n get meta(): Record<string, unknown> | undefined {\n return this.#meta;\n }\n\n get resolvedTo(): Res | (() => Promise<Res>) | undefined {\n return this.#resolvedTo;\n }\n\n alias(newSpecifier: string): this {\n if (this.#specifier === newSpecifier) {\n return this;\n }\n let result = this.clone();\n result.#specifier = newSpecifier;\n return result;\n }\n\n rehome(newFromFile: string): this {\n if (this.#fromFile === newFromFile) {\n return this;\n }\n let result = this.clone();\n result.#fromFile = newFromFile;\n return result;\n }\n\n virtualize(virtualResponse: VirtualResponse): this {\n return this.resolveTo(this.#adapter.virtualResponse(this, virtualResponse));\n }\n\n withMeta(meta: Record<string, any> | undefined): this {\n let result = this.clone();\n result.#meta = meta;\n result.#resolvedTo = this.#resolvedTo;\n return result;\n }\n\n notFound(): this {\n return this.resolveTo(this.#adapter.notFoundResponse(this));\n }\n\n resolveTo(res: Res | (() => Promise<Res>)): this {\n let result = this.clone();\n result.#resolvedTo = res;\n return result;\n }\n\n defaultResolve(): Promise<Res> {\n return this.#adapter.resolve(this);\n }\n\n clone(): this {\n return new ModuleRequest(this.#adapter, this) as this;\n }\n}\n\nexport async function extractResolution<Res extends Resolution = Resolution>(\n res: Res | (() => Promise<Res>)\n): Promise<Res> {\n if (typeof res === 'function') {\n return await res();\n } else {\n return res;\n }\n}\n"]}
@@ -1,7 +1,7 @@
1
1
  import type { Package } from '@embroider/shared-internals';
2
2
  import { RewrittenPackageCache } from '@embroider/shared-internals';
3
3
  import type { Options, EngineConfig } from './module-resolver-options';
4
- import type { ModuleRequest, Resolution } from './module-request';
4
+ import { type ModuleRequest, type Resolution } from './module-request';
5
5
  export declare class Resolver {
6
6
  readonly options: Options;
7
7
  constructor(options: Options);
@@ -19,6 +19,8 @@ export declare class Resolver {
19
19
  err: Error;
20
20
  }>;
21
21
  get packageCache(): RewrittenPackageCache;
22
+ private afterResolve;
23
+ private handleSyntheticComponents;
22
24
  private logicalPackage;
23
25
  private generateFastbootSwitch;
24
26
  private handleFastbootSwitch;