@antelopejs/core 1.4.6 → 1.4.8

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 (77) hide show
  1. package/dist/core/cli/commands/module/init.js +1 -1
  2. package/dist/core/cli/commands/module/init.js.map +1 -1
  3. package/dist/core/cli/commands/project/start.js +5 -1
  4. package/dist/core/cli/commands/project/start.js.map +1 -1
  5. package/dist/core/cli/full-cli.d.ts +3 -0
  6. package/dist/core/cli/full-cli.js +68 -0
  7. package/dist/core/cli/full-cli.js.map +1 -0
  8. package/dist/core/cli/index.d.ts +2 -3
  9. package/dist/core/cli/index.js +56 -69
  10. package/dist/core/cli/index.js.map +1 -1
  11. package/dist/core/cli/package-manager.d.ts +3 -1
  12. package/dist/core/cli/package-manager.js +50 -14
  13. package/dist/core/cli/package-manager.js.map +1 -1
  14. package/dist/core/cli/production-start.d.ts +10 -0
  15. package/dist/core/cli/production-start.js +87 -0
  16. package/dist/core/cli/production-start.js.map +1 -0
  17. package/dist/core/interface-registry.d.ts +6 -1
  18. package/dist/core/interface-registry.js +45 -2
  19. package/dist/core/interface-registry.js.map +1 -1
  20. package/dist/core/module-context.d.ts +7 -0
  21. package/dist/core/module-context.js +60 -0
  22. package/dist/core/module-context.js.map +1 -0
  23. package/dist/core/module-lifecycle.d.ts +7 -1
  24. package/dist/core/module-lifecycle.js +47 -10
  25. package/dist/core/module-lifecycle.js.map +1 -1
  26. package/dist/core/module-manager.d.ts +21 -4
  27. package/dist/core/module-manager.js +333 -129
  28. package/dist/core/module-manager.js.map +1 -1
  29. package/dist/core/module-registry.d.ts +1 -0
  30. package/dist/core/module-registry.js +3 -0
  31. package/dist/core/module-registry.js.map +1 -1
  32. package/dist/core/module-tracker.d.ts +1 -0
  33. package/dist/core/module-tracker.js +5 -1
  34. package/dist/core/module-tracker.js.map +1 -1
  35. package/dist/core/module.d.ts +3 -1
  36. package/dist/core/module.js +51 -28
  37. package/dist/core/module.js.map +1 -1
  38. package/dist/core/resolution/interface-resolution.js +7 -13
  39. package/dist/core/resolution/interface-resolution.js.map +1 -1
  40. package/dist/core/resolution/package-resolution.d.ts +14 -0
  41. package/dist/core/resolution/package-resolution.js +95 -0
  42. package/dist/core/resolution/package-resolution.js.map +1 -0
  43. package/dist/core/resolution/path-mapper.js +1 -1
  44. package/dist/core/resolution/path-mapper.js.map +1 -1
  45. package/dist/core/resolution/resolver-detour.d.ts +2 -2
  46. package/dist/core/resolution/resolver-detour.js +114 -22
  47. package/dist/core/resolution/resolver-detour.js.map +1 -1
  48. package/dist/core/resolution/resolver.d.ts +34 -0
  49. package/dist/core/resolution/resolver.js +233 -8
  50. package/dist/core/resolution/resolver.js.map +1 -1
  51. package/dist/core/resolution/stub-interface-runtime.js +11 -1
  52. package/dist/core/resolution/stub-interface-runtime.js.map +1 -1
  53. package/dist/core/runtime/dev-server-registry.js +4 -2
  54. package/dist/core/runtime/dev-server-registry.js.map +1 -1
  55. package/dist/core/runtime/launch-sequence.js +78 -11
  56. package/dist/core/runtime/launch-sequence.js.map +1 -1
  57. package/dist/core/runtime/module-loading.d.ts +1 -0
  58. package/dist/core/runtime/module-loading.js +92 -25
  59. package/dist/core/runtime/module-loading.js.map +1 -1
  60. package/dist/core/runtime/project-launch.d.ts +5 -0
  61. package/dist/core/runtime/project-launch.js +184 -0
  62. package/dist/core/runtime/project-launch.js.map +1 -0
  63. package/dist/core/runtime/runtime-bootstrap.d.ts +1 -0
  64. package/dist/core/runtime/runtime-bootstrap.js +11 -2
  65. package/dist/core/runtime/runtime-bootstrap.js.map +1 -1
  66. package/dist/core/shutdown/shutdown-manager.js +8 -2
  67. package/dist/core/shutdown/shutdown-manager.js.map +1 -1
  68. package/dist/core/test/test-context.d.ts +1 -1
  69. package/dist/core/test/test-context.js +1 -1
  70. package/dist/core/test/test-context.js.map +1 -1
  71. package/dist/core/test/test-module.js +18 -13
  72. package/dist/core/test/test-module.js.map +1 -1
  73. package/dist/index.d.ts +1 -1
  74. package/dist/index.js +13 -113
  75. package/dist/index.js.map +1 -1
  76. package/dist/types/module.types.d.ts +1 -1
  77. package/package.json +4 -3
@@ -6,36 +6,128 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.ResolverDetour = void 0;
7
7
  const node_module_1 = __importDefault(require("node:module"));
8
8
  const node_path_1 = __importDefault(require("node:path"));
9
+ class ResolverDetourCoordinator {
10
+ leases = [];
11
+ originalResolver;
12
+ installedResolver;
13
+ originalLoader;
14
+ installedLoader;
15
+ attach(owner, resolver) {
16
+ if (this.leases.some((lease) => lease.owner === owner)) {
17
+ return false;
18
+ }
19
+ this.ensureInstalled();
20
+ this.leases.push({ owner, resolver });
21
+ return true;
22
+ }
23
+ detach(owner) {
24
+ const leaseIndex = this.leases.findIndex((lease) => lease.owner === owner);
25
+ if (leaseIndex === -1) {
26
+ return;
27
+ }
28
+ this.leases[leaseIndex].resolver.clearCache();
29
+ this.leases.splice(leaseIndex, 1);
30
+ const ownsResolver = node_module_1.default._resolveFilename === this.installedResolver;
31
+ const ownsLoader = node_module_1.default._load === this.installedLoader;
32
+ if (this.leases.length > 0 && (!ownsResolver || !ownsLoader)) {
33
+ this.throwHookReplacement(ownsResolver, ownsLoader);
34
+ }
35
+ if (this.leases.length > 0) {
36
+ return;
37
+ }
38
+ if (ownsResolver) {
39
+ node_module_1.default._resolveFilename = this.originalResolver;
40
+ }
41
+ if (ownsLoader) {
42
+ node_module_1.default._load = this.originalLoader;
43
+ }
44
+ this.releaseHooks();
45
+ this.throwHookReplacement(ownsResolver, ownsLoader);
46
+ }
47
+ ensureInstalled() {
48
+ if (this.installedResolver) {
49
+ this.ensureHookOwnership();
50
+ return;
51
+ }
52
+ this.originalResolver = node_module_1.default._resolveFilename;
53
+ this.originalLoader = node_module_1.default._load;
54
+ this.installedResolver = (request, parent, isMain, options) => this.resolve(request, parent, isMain, options);
55
+ this.installedLoader = (request, parent, isMain) => this.load(request, parent, isMain);
56
+ node_module_1.default._resolveFilename = this.installedResolver;
57
+ node_module_1.default._load = this.installedLoader;
58
+ }
59
+ ensureHookOwnership() {
60
+ if (node_module_1.default._resolveFilename !== this.installedResolver) {
61
+ throw new Error("Node module resolver hook was replaced externally");
62
+ }
63
+ if (node_module_1.default._load !== this.installedLoader) {
64
+ throw new Error("Node module loader hook was replaced externally");
65
+ }
66
+ }
67
+ load(request, parent, isMain) {
68
+ const activeResolver = this.findResolver(request, parent);
69
+ if (!activeResolver?.requiresPreResolution(request, parent)) {
70
+ return this.originalLoader?.(request, parent, isMain);
71
+ }
72
+ const resolvedPath = this.resolveWith(activeResolver, request, parent, isMain, undefined);
73
+ return this.originalLoader?.(resolvedPath, parent, isMain);
74
+ }
75
+ resolve(request, parent, isMain, options) {
76
+ const activeResolver = this.findResolver(request, parent);
77
+ return this.resolveWith(activeResolver, request, parent, isMain, options);
78
+ }
79
+ resolveWith(activeResolver, request, parent, isMain, options) {
80
+ const result = activeResolver?.resolve(request, parent);
81
+ if (!result) {
82
+ return this.originalResolver?.(request, parent, isMain, options);
83
+ }
84
+ if (result.exact) {
85
+ return result.resolvedPath;
86
+ }
87
+ const contextParent = result.resolveFrom
88
+ ? { ...parent, filename: node_path_1.default.join(result.resolveFrom, "_") }
89
+ : result.parentFilename
90
+ ? { ...parent, filename: result.parentFilename }
91
+ : parent;
92
+ const resolvedPath = this.originalResolver?.(result.resolvedPath, contextParent, isMain, options);
93
+ return (activeResolver?.applyAlias(resolvedPath, result.alias) ?? resolvedPath);
94
+ }
95
+ findResolver(request, parent) {
96
+ for (let index = this.leases.length - 1; index >= 0; index -= 1) {
97
+ const resolver = this.leases[index].resolver;
98
+ if (resolver.ownsResolutionContext(request, parent)) {
99
+ return resolver;
100
+ }
101
+ }
102
+ return this.leases.at(-1)?.resolver;
103
+ }
104
+ releaseHooks() {
105
+ this.originalResolver = undefined;
106
+ this.installedResolver = undefined;
107
+ this.originalLoader = undefined;
108
+ this.installedLoader = undefined;
109
+ }
110
+ throwHookReplacement(ownsResolver, ownsLoader) {
111
+ if (!ownsResolver) {
112
+ throw new Error("Node module resolver hook was replaced externally");
113
+ }
114
+ if (!ownsLoader) {
115
+ throw new Error("Node module loader hook was replaced externally");
116
+ }
117
+ }
118
+ }
119
+ const coordinator = new ResolverDetourCoordinator();
9
120
  class ResolverDetour {
10
121
  resolver;
11
- oldResolver;
122
+ owner = Symbol("resolver-detour");
12
123
  constructor(resolver) {
13
124
  this.resolver = resolver;
14
125
  }
15
126
  attach() {
16
- if (!this.oldResolver) {
17
- this.oldResolver = node_module_1.default._resolveFilename;
18
- node_module_1.default._resolveFilename = (request, parent, isMain, options) => {
19
- const result = this.resolver.resolve(request, parent);
20
- if (!result) {
21
- return this.oldResolver?.(request, parent, isMain, options);
22
- }
23
- if (result.resolveFrom) {
24
- const contextParent = {
25
- ...parent,
26
- filename: node_path_1.default.join(result.resolveFrom, "_"),
27
- };
28
- return this.oldResolver?.(result.resolvedPath, contextParent, isMain, options);
29
- }
30
- return this.oldResolver?.(result.resolvedPath, parent, isMain, options);
31
- };
32
- }
127
+ return coordinator.attach(this.owner, this.resolver);
33
128
  }
34
129
  detach() {
35
- if (this.oldResolver) {
36
- node_module_1.default._resolveFilename = this.oldResolver;
37
- this.oldResolver = undefined;
38
- }
130
+ coordinator.detach(this.owner);
39
131
  }
40
132
  }
41
133
  exports.ResolverDetour = ResolverDetour;
@@ -1 +1 @@
1
- {"version":3,"file":"resolver-detour.js","sourceRoot":"","sources":["../../../src/core/resolution/resolver-detour.ts"],"names":[],"mappings":";;;;;;AAAA,8DAAiC;AACjC,0DAA6B;AAU7B,MAAa,cAAc;IAGL;IAFZ,WAAW,CAAkB;IAErC,YAAoB,QAAkB;QAAlB,aAAQ,GAAR,QAAQ,CAAU;IAAG,CAAC;IAE1C,MAAM;QACJ,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,IAAI,CAAC,WAAW,GAAI,qBAAc,CAAC,gBAAgB,CAAC;YACnD,qBAAc,CAAC,gBAAgB,GAAG,CACjC,OAAe,EACf,MAAW,EACX,MAAe,EACf,OAAY,EACZ,EAAE;gBACF,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;gBACtD,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;gBAC9D,CAAC;gBACD,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;oBACvB,MAAM,aAAa,GAAG;wBACpB,GAAG,MAAM;wBACT,QAAQ,EAAE,mBAAI,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,GAAG,CAAC;qBAC7C,CAAC;oBACF,OAAO,IAAI,CAAC,WAAW,EAAE,CACvB,MAAM,CAAC,YAAY,EACnB,aAAa,EACb,MAAM,EACN,OAAO,CACR,CAAC;gBACJ,CAAC;gBACD,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,MAAM,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;YAC1E,CAAC,CAAC;QACJ,CAAC;IACH,CAAC;IAED,MAAM;QACJ,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACpB,qBAAc,CAAC,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC;YACpD,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC;QAC/B,CAAC;IACH,CAAC;CACF;AAzCD,wCAyCC"}
1
+ {"version":3,"file":"resolver-detour.js","sourceRoot":"","sources":["../../../src/core/resolution/resolver-detour.ts"],"names":[],"mappings":"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"}
@@ -7,18 +7,52 @@ export interface ModuleRef {
7
7
  export interface ResolveResult {
8
8
  resolvedPath: string;
9
9
  resolveFrom?: string;
10
+ exact?: boolean;
11
+ alias?: InterfacePackageAlias;
12
+ parentFilename?: string;
13
+ }
14
+ export interface InterfacePackageAlias {
15
+ root: string;
16
+ separatorCount: number;
17
+ coreFacadeEntries: Set<string>;
10
18
  }
11
19
  export declare class Resolver {
12
20
  private pathMapper;
13
21
  readonly moduleByFolder: Map<string, ModuleRef>;
14
22
  readonly modulesById: Map<string, ModuleRef>;
15
23
  readonly interfacePackages: Map<string, string>;
24
+ readonly interfacePackageEntries: Map<string, string>;
25
+ readonly interfacePackageResolveFrom: Map<string, string>;
16
26
  stubModulePath?: string;
27
+ private readonly resolverIdentity;
28
+ private readonly interfaceAliases;
29
+ private readonly facadeWrappers;
30
+ private readonly facadePaths;
17
31
  constructor(pathMapper: PathMapper);
18
32
  resolve(request: string, parent?: {
19
33
  filename?: string;
20
34
  }): ResolveResult | undefined;
35
+ ownsResolutionContext(request: string, parent?: {
36
+ filename?: string;
37
+ }): boolean;
38
+ requiresPreResolution(request: string, parent?: {
39
+ filename?: string;
40
+ }): boolean;
41
+ applyAlias(resolvedPath: string, alias?: InterfacePackageAlias): string;
42
+ clearCache(): void;
21
43
  private resolveInterfaceCore;
22
44
  private resolveInterfacePackage;
45
+ private resolveInheritedAlias;
46
+ private resolveProvider;
47
+ private getInterfaceAlias;
48
+ private resolveCoreFacade;
49
+ private createCoreWrappers;
50
+ private isFacadeCoreEntry;
51
+ private facadeSuffix;
52
+ private createCoreFacade;
53
+ private findInterfacePackageRequest;
54
+ private findAliasByPath;
55
+ private removeAlias;
56
+ private isExactResolverPath;
23
57
  private resolveLocalModule;
24
58
  }
@@ -4,19 +4,43 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.Resolver = void 0;
7
+ const node_module_1 = __importDefault(require("node:module"));
7
8
  const node_path_1 = __importDefault(require("node:path"));
9
+ const internal_1 = require("@antelopejs/interface-core/internal");
10
+ const package_resolution_1 = require("./package-resolution");
8
11
  const CORE_PKG = "@antelopejs/interface-core";
9
- const CORE_RESOLVE_FROM = node_path_1.default.dirname(require.resolve(`${CORE_PKG}/package.json`));
12
+ const CORE_PACKAGE = (0, package_resolution_1.resolvePackage)(CORE_PKG, __dirname);
13
+ const CORE_RESOLVE_FROM = CORE_PACKAGE?.root ?? __dirname;
14
+ const CORE_ENTRY = CORE_PACKAGE?.entry ?? CORE_PKG;
15
+ const CORE_ENTRY_RELATIVE = CORE_PACKAGE
16
+ ? node_path_1.default.relative(CORE_PACKAGE.root, CORE_PACKAGE.entry)
17
+ : node_path_1.default.join("dist", "index.js");
18
+ const CORE_PROXIES_RELATIVE = node_path_1.default.join("dist", "proxies.js");
19
+ let nextResolverIdentity = 1;
20
+ let nextAliasIdentity = 2;
10
21
  class Resolver {
11
22
  pathMapper;
12
23
  moduleByFolder = new Map();
13
24
  modulesById = new Map();
14
25
  interfacePackages = new Map();
26
+ interfacePackageEntries = new Map();
27
+ interfacePackageResolveFrom = new Map();
15
28
  stubModulePath;
29
+ resolverIdentity = nextResolverIdentity++;
30
+ interfaceAliases = new Map();
31
+ facadeWrappers = new WeakMap();
32
+ facadePaths = new WeakMap();
16
33
  constructor(pathMapper) {
17
34
  this.pathMapper = pathMapper;
18
35
  }
19
36
  resolve(request, parent) {
37
+ if (this.isExactResolverPath(request)) {
38
+ return { resolvedPath: request, exact: true };
39
+ }
40
+ const inheritedAlias = this.resolveInheritedAlias(request, parent?.filename);
41
+ if (inheritedAlias) {
42
+ return inheritedAlias;
43
+ }
20
44
  const matchingModule = this.resolveLocalModule(parent?.filename);
21
45
  if (matchingModule) {
22
46
  const mapped = this.pathMapper.resolve(request, matchingModule.manifest);
@@ -28,15 +52,62 @@ class Resolver {
28
52
  if (coreResult) {
29
53
  return coreResult;
30
54
  }
31
- const interfaceResult = this.resolveInterfacePackage(request);
32
- if (interfaceResult) {
33
- return interfaceResult;
55
+ const interfaceRequest = this.resolveInterfacePackage(request);
56
+ if (interfaceRequest) {
57
+ const provider = matchingModule
58
+ ? this.resolveProvider(matchingModule, interfaceRequest.packageName)
59
+ : undefined;
60
+ if (!provider) {
61
+ return interfaceRequest.result;
62
+ }
63
+ return {
64
+ ...interfaceRequest.result,
65
+ alias: this.getInterfaceAlias(interfaceRequest.packageName, provider),
66
+ };
34
67
  }
35
68
  return undefined;
36
69
  }
70
+ ownsResolutionContext(request, parent) {
71
+ return Boolean(this.isExactResolverPath(request) ||
72
+ (parent?.filename &&
73
+ (this.findAliasByPath(parent.filename) ||
74
+ this.resolveLocalModule(parent.filename))));
75
+ }
76
+ requiresPreResolution(request, parent) {
77
+ if (parent?.filename && this.findAliasByPath(parent.filename)) {
78
+ return true;
79
+ }
80
+ const matchingModule = this.resolveLocalModule(parent?.filename);
81
+ const interfaceRequest = this.findInterfacePackageRequest(request);
82
+ return Boolean(matchingModule &&
83
+ interfaceRequest &&
84
+ this.resolveProvider(matchingModule, interfaceRequest));
85
+ }
86
+ applyAlias(resolvedPath, alias) {
87
+ if (!alias) {
88
+ return resolvedPath;
89
+ }
90
+ const coreFacade = this.resolveCoreFacade(resolvedPath, alias);
91
+ if (coreFacade) {
92
+ return coreFacade;
93
+ }
94
+ if (!(0, package_resolution_1.isPathWithin)(resolvedPath, alias.root)) {
95
+ return resolvedPath;
96
+ }
97
+ const relativePath = node_path_1.default.relative(alias.root, resolvedPath);
98
+ return `${alias.root}${node_path_1.default.sep.repeat(alias.separatorCount)}${relativePath}`;
99
+ }
100
+ clearCache() {
101
+ for (const cachePath of Object.keys(require.cache)) {
102
+ if (this.isExactResolverPath(cachePath)) {
103
+ delete require.cache[cachePath];
104
+ }
105
+ }
106
+ this.interfaceAliases.clear();
107
+ }
37
108
  resolveInterfaceCore(request) {
38
109
  if (request === CORE_PKG) {
39
- return { resolvedPath: CORE_RESOLVE_FROM };
110
+ return { resolvedPath: CORE_ENTRY };
40
111
  }
41
112
  if (request.startsWith(`${CORE_PKG}/`)) {
42
113
  return { resolvedPath: request, resolveFrom: CORE_RESOLVE_FROM };
@@ -46,14 +117,168 @@ class Resolver {
46
117
  resolveInterfacePackage(request) {
47
118
  for (const [pkg, rootDir] of this.interfacePackages) {
48
119
  if (request === pkg) {
49
- return { resolvedPath: rootDir };
120
+ return {
121
+ packageName: pkg,
122
+ result: {
123
+ resolvedPath: this.interfacePackageEntries.get(pkg) ?? rootDir,
124
+ },
125
+ };
50
126
  }
51
127
  if (request.startsWith(`${pkg}/`)) {
52
- return { resolvedPath: request, resolveFrom: rootDir };
128
+ return {
129
+ packageName: pkg,
130
+ result: {
131
+ resolvedPath: request,
132
+ resolveFrom: this.interfacePackageResolveFrom.get(pkg) ?? rootDir,
133
+ },
134
+ };
53
135
  }
54
136
  }
55
137
  return undefined;
56
138
  }
139
+ resolveInheritedAlias(request, parentFilename) {
140
+ if (!parentFilename) {
141
+ return undefined;
142
+ }
143
+ const alias = this.findAliasByPath(parentFilename);
144
+ if (!alias) {
145
+ return undefined;
146
+ }
147
+ const coreResult = this.resolveInterfaceCore(request);
148
+ if (coreResult) {
149
+ return { ...coreResult, alias };
150
+ }
151
+ return {
152
+ resolvedPath: request,
153
+ parentFilename: this.removeAlias(parentFilename, alias),
154
+ alias,
155
+ };
156
+ }
157
+ resolveProvider(module, packageName) {
158
+ if (module.manifest.implements?.includes(packageName)) {
159
+ return module.id;
160
+ }
161
+ return internal_1.internal.interfaceConnections[module.id]?.[packageName]?.find(({ selected }) => selected)?.provider;
162
+ }
163
+ getInterfaceAlias(packageName, provider) {
164
+ const key = `${packageName}\0${provider}`;
165
+ const existing = this.interfaceAliases.get(key);
166
+ if (existing) {
167
+ return existing;
168
+ }
169
+ const root = this.interfacePackages.get(packageName);
170
+ const separatorCount = nextAliasIdentity++;
171
+ const alias = {
172
+ root,
173
+ separatorCount,
174
+ coreFacadeEntries: new Set(),
175
+ };
176
+ this.facadeWrappers.set(alias, new Map());
177
+ this.facadePaths.set(alias, new Map());
178
+ this.interfaceAliases.set(key, alias);
179
+ return alias;
180
+ }
181
+ resolveCoreFacade(entry, alias) {
182
+ if (!node_path_1.default.isAbsolute(entry)) {
183
+ return undefined;
184
+ }
185
+ const corePackage = (0, package_resolution_1.findPackageFromEntry)(entry, CORE_PKG, node_path_1.default.dirname(entry));
186
+ if (!corePackage || !this.isFacadeCoreEntry(entry, corePackage.root)) {
187
+ return undefined;
188
+ }
189
+ const paths = this.facadePaths.get(alias);
190
+ const existing = paths.get(entry);
191
+ if (existing) {
192
+ return existing;
193
+ }
194
+ const wrappersByRoot = this.facadeWrappers.get(alias);
195
+ const namespace = `${this.resolverIdentity}:${alias.separatorCount}`;
196
+ const coreEntry = node_path_1.default.join(corePackage.root, CORE_ENTRY_RELATIVE);
197
+ const wrappers = wrappersByRoot.get(corePackage.root) ??
198
+ this.createCoreWrappers(namespace, coreEntry);
199
+ wrappersByRoot.set(corePackage.root, wrappers);
200
+ const facadePath = this.createCoreFacade(entry, wrappers, namespace);
201
+ paths.set(entry, facadePath);
202
+ alias.coreFacadeEntries.add(facadePath);
203
+ return facadePath;
204
+ }
205
+ createCoreWrappers(namespace, coreEntry) {
206
+ const core = require(coreEntry);
207
+ let nextAnonymousIdentity = 1;
208
+ const namespacedIdentity = (identity) => `${namespace}:${identity ?? `anonymous:${nextAnonymousIdentity++}`}`;
209
+ class AsyncProxy extends core.AsyncProxy {
210
+ constructor(identity) {
211
+ super(namespacedIdentity(identity));
212
+ }
213
+ }
214
+ class EventProxy extends core.EventProxy {
215
+ constructor(identity) {
216
+ super(namespacedIdentity(identity));
217
+ }
218
+ }
219
+ class RegisteringProxy extends core.RegisteringProxy {
220
+ constructor(identity) {
221
+ super(namespacedIdentity(identity));
222
+ }
223
+ }
224
+ const InterfaceFunction = (identity) => {
225
+ const proxy = new AsyncProxy(identity);
226
+ const func = (...args) => proxy.call(...args);
227
+ func.proxy = proxy;
228
+ return func;
229
+ };
230
+ return { AsyncProxy, EventProxy, InterfaceFunction, RegisteringProxy };
231
+ }
232
+ isFacadeCoreEntry(entry, coreRoot) {
233
+ const relativeEntry = node_path_1.default.relative(coreRoot, entry);
234
+ return (relativeEntry === CORE_ENTRY_RELATIVE ||
235
+ relativeEntry === CORE_PROXIES_RELATIVE);
236
+ }
237
+ facadeSuffix(entry) {
238
+ return `-${node_path_1.default.basename(entry, node_path_1.default.extname(entry))}.js`;
239
+ }
240
+ createCoreFacade(entry, wrappers, namespace) {
241
+ const facadePath = node_path_1.default.join(node_path_1.default.dirname(entry), `.antelope-resolver-${namespace}${this.facadeSuffix(entry)}`);
242
+ const facade = Object.create(Object.getPrototypeOf(require(entry)));
243
+ Object.defineProperties(facade, Object.getOwnPropertyDescriptors(require(entry)));
244
+ Object.defineProperties(facade, {
245
+ AsyncProxy: { enumerable: true, value: wrappers.AsyncProxy },
246
+ EventProxy: { enumerable: true, value: wrappers.EventProxy },
247
+ InterfaceFunction: {
248
+ enumerable: true,
249
+ value: wrappers.InterfaceFunction,
250
+ },
251
+ RegisteringProxy: { enumerable: true, value: wrappers.RegisteringProxy },
252
+ });
253
+ const facadeModule = new node_module_1.default(facadePath);
254
+ facadeModule.filename = facadePath;
255
+ facadeModule.exports = facade;
256
+ facadeModule.loaded = true;
257
+ require.cache[facadePath] = facadeModule;
258
+ return facadePath;
259
+ }
260
+ findInterfacePackageRequest(request) {
261
+ return [...this.interfacePackages.keys()].find((packageName) => request === packageName || request.startsWith(`${packageName}/`));
262
+ }
263
+ findAliasByPath(fileName) {
264
+ return [...this.interfaceAliases.values()].find((alias) => {
265
+ if (!fileName.startsWith(alias.root)) {
266
+ return false;
267
+ }
268
+ const suffix = fileName.slice(alias.root.length);
269
+ const separators = suffix.match(new RegExp(`^\\${node_path_1.default.sep}+`))?.[0];
270
+ return separators?.length === alias.separatorCount;
271
+ });
272
+ }
273
+ removeAlias(fileName, alias) {
274
+ return `${alias.root}${node_path_1.default.sep}${fileName.slice(alias.root.length + alias.separatorCount)}`;
275
+ }
276
+ isExactResolverPath(request) {
277
+ if (this.findAliasByPath(request)) {
278
+ return true;
279
+ }
280
+ return [...this.interfaceAliases.values()].some((alias) => alias.coreFacadeEntries.has(request));
281
+ }
57
282
  resolveLocalModule(fileName) {
58
283
  if (!fileName) {
59
284
  return undefined;
@@ -61,7 +286,7 @@ class Resolver {
61
286
  let matchingFolder = "";
62
287
  let matchingModule;
63
288
  for (const [folder, module] of this.moduleByFolder) {
64
- if (fileName.startsWith(folder) &&
289
+ if ((0, package_resolution_1.isPathWithin)(fileName, folder) &&
65
290
  folder.length > matchingFolder.length) {
66
291
  matchingFolder = folder;
67
292
  matchingModule = module;
@@ -1 +1 @@
1
- {"version":3,"file":"resolver.js","sourceRoot":"","sources":["../../../src/core/resolution/resolver.ts"],"names":[],"mappings":";;;;;;AAAA,0DAA6B;AAc7B,MAAM,QAAQ,GAAG,4BAA4B,CAAC;AAC9C,MAAM,iBAAiB,GAAG,mBAAI,CAAC,OAAO,CACpC,OAAO,CAAC,OAAO,CAAC,GAAG,QAAQ,eAAe,CAAC,CAC5C,CAAC;AAEF,MAAa,QAAQ;IAMC;IALJ,cAAc,GAAG,IAAI,GAAG,EAAqB,CAAC;IAC9C,WAAW,GAAG,IAAI,GAAG,EAAqB,CAAC;IAC3C,iBAAiB,GAAG,IAAI,GAAG,EAAkB,CAAC;IACvD,cAAc,CAAU;IAE/B,YAAoB,UAAsB;QAAtB,eAAU,GAAV,UAAU,CAAY;IAAG,CAAC;IAE9C,OAAO,CACL,OAAe,EACf,MAA8B;QAE9B,MAAM,cAAc,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QACjE,IAAI,cAAc,EAAE,CAAC;YACnB,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAC;YACzE,IAAI,MAAM,EAAE,CAAC;gBACX,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC;YAClC,CAAC;QACH,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;QACtD,IAAI,UAAU,EAAE,CAAC;YACf,OAAO,UAAU,CAAC;QACpB,CAAC;QAED,MAAM,eAAe,GAAG,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC;QAC9D,IAAI,eAAe,EAAE,CAAC;YACpB,OAAO,eAAe,CAAC;QACzB,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAEO,oBAAoB,CAAC,OAAe;QAC1C,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;YACzB,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,CAAC;QAC7C,CAAC;QACD,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,QAAQ,GAAG,CAAC,EAAE,CAAC;YACvC,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,CAAC;QACnE,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAEO,uBAAuB,CAAC,OAAe;QAC7C,KAAK,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACpD,IAAI,OAAO,KAAK,GAAG,EAAE,CAAC;gBACpB,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC;YACnC,CAAC;YACD,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC;gBAClC,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC;YACzD,CAAC;QACH,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAEO,kBAAkB,CAAC,QAAiB;QAC1C,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,IAAI,cAAc,GAAG,EAAE,CAAC;QACxB,IAAI,cAAqC,CAAC;QAC1C,KAAK,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACnD,IACE,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC;gBAC3B,MAAM,CAAC,MAAM,GAAG,cAAc,CAAC,MAAM,EACrC,CAAC;gBACD,cAAc,GAAG,MAAM,CAAC;gBACxB,cAAc,GAAG,MAAM,CAAC;YAC1B,CAAC;QACH,CAAC;QACD,OAAO,cAAc,CAAC;IACxB,CAAC;CACF;AAxED,4BAwEC"}
1
+ {"version":3,"file":"resolver.js","sourceRoot":"","sources":["../../../src/core/resolution/resolver.ts"],"names":[],"mappings":"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"}
@@ -20,6 +20,12 @@ function makeRejection(interfaceName) {
20
20
  function neutralizeAsyncProxy(proxy, interfaceName) {
21
21
  proxy.onCall(() => makeRejection(interfaceName), true);
22
22
  }
23
+ function neutralizeRegisteringProxy(proxy, interfaceName) {
24
+ proxy.onRegister((id) => {
25
+ Logger.Trace(`Interface '${interfaceName}' has no provider; registration '${String(id)}' recorded but inert.`);
26
+ }, true);
27
+ proxy.onUnregister(() => { });
28
+ }
23
29
  function walk(value, interfaceName, seen) {
24
30
  if (value === null || value === undefined) {
25
31
  return;
@@ -42,7 +48,11 @@ function walk(value, interfaceName, seen) {
42
48
  neutralizeAsyncProxy(value, interfaceName);
43
49
  return;
44
50
  }
45
- if (value instanceof interface_core_1.RegisteringProxy || value instanceof interface_core_1.EventProxy) {
51
+ if (value instanceof interface_core_1.RegisteringProxy) {
52
+ neutralizeRegisteringProxy(value, interfaceName);
53
+ return;
54
+ }
55
+ if (value instanceof interface_core_1.EventProxy) {
46
56
  return;
47
57
  }
48
58
  for (const key of Object.keys(value)) {
@@ -1 +1 @@
1
- {"version":3,"file":"stub-interface-runtime.js","sourceRoot":"","sources":["../../../src/core/resolution/stub-interface-runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stub-interface-runtime.js","sourceRoot":"","sources":["../../../src/core/resolution/stub-interface-runtime.ts"],"names":[],"mappings":"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"}
@@ -41,11 +41,13 @@ exports.isProcessAlive = isProcessAlive;
41
41
  exports.registerCoreRuntimeInterface = registerCoreRuntimeInterface;
42
42
  const node_path_1 = __importDefault(require("node:path"));
43
43
  const coreInterfaceBeta = __importStar(require("@antelopejs/interface-core"));
44
+ const modules_1 = require("@antelopejs/interface-core/modules");
44
45
  const runtimeInterfaceBeta = __importStar(require("@antelopejs/interface-core/runtime"));
45
46
  const TEMP_FILE_SUFFIX = ".tmp";
46
47
  const JSON_INDENT = 2;
47
48
  const SHUTDOWN_PRIORITY_DEV_REGISTRY = 10;
48
49
  const PERMISSION_DENIED_CODE = "EPERM";
50
+ const CORE_MODULE_ID = "antelopejs";
49
51
  function isProcessAlive(pid) {
50
52
  try {
51
53
  process.kill(pid, 0);
@@ -145,11 +147,11 @@ async function registerCoreRuntimeInterface(options) {
145
147
  env: options.env,
146
148
  };
147
149
  const store = await setupDevRegistryStore(options, projectPath);
148
- void coreInterfaceBeta.ImplementInterface(runtimeInterfaceBeta, {
150
+ (0, modules_1.RunWithModuleContext)({ module: CORE_MODULE_ID, provider: CORE_MODULE_ID }, () => coreInterfaceBeta.ImplementInterface(runtimeInterfaceBeta, {
149
151
  GetRuntimeInfo: async () => runtimeInfo,
150
152
  RegisterDevServer: async (name, endpoints) => {
151
153
  await store?.register(name, endpoints);
152
154
  },
153
- });
155
+ }));
154
156
  }
155
157
  //# sourceMappingURL=dev-server-registry.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dev-server-registry.js","sourceRoot":"","sources":["../../../src/core/runtime/dev-server-registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dev-server-registry.js","sourceRoot":"","sources":["../../../src/core/runtime/dev-server-registry.ts"],"names":[],"mappings":"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"}