@antelopejs/core 1.13.5 → 1.14.0
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.
- package/dist/core/build/build-artifact.d.ts +2 -1
- package/dist/core/build/build-artifact.js.map +1 -1
- package/dist/core/config/config-parser.d.ts +1 -0
- package/dist/core/config/config-parser.js +11 -0
- package/dist/core/config/config-parser.js.map +1 -1
- package/dist/core/embedded/prepare-embedded.js +5 -4
- package/dist/core/embedded/prepare-embedded.js.map +1 -1
- package/dist/core/embedded/types.d.ts +1 -0
- package/dist/core/interface-registry.d.ts +2 -2
- package/dist/core/interface-registry.js +19 -12
- package/dist/core/interface-registry.js.map +1 -1
- package/dist/core/module-isolation.d.ts +18 -0
- package/dist/core/module-isolation.js +107 -0
- package/dist/core/module-isolation.js.map +1 -0
- package/dist/core/module-manager.d.ts +19 -1
- package/dist/core/module-manager.js +191 -22
- package/dist/core/module-manager.js.map +1 -1
- package/dist/core/module-manifest.d.ts +1 -0
- package/dist/core/module-manifest.js +34 -0
- package/dist/core/module-manifest.js.map +1 -1
- package/dist/core/module-registry.d.ts +1 -0
- package/dist/core/module-registry.js +3 -0
- package/dist/core/module-registry.js.map +1 -1
- package/dist/core/module.d.ts +1 -3
- package/dist/core/module.js +0 -18
- package/dist/core/module.js.map +1 -1
- package/dist/core/resolution/binding-diagnostics.d.ts +30 -0
- package/dist/core/resolution/binding-diagnostics.js +65 -0
- package/dist/core/resolution/binding-diagnostics.js.map +1 -0
- package/dist/core/resolution/binding-graph-order.d.ts +3 -0
- package/dist/core/resolution/binding-graph-order.js +49 -0
- package/dist/core/resolution/binding-graph-order.js.map +1 -0
- package/dist/core/resolution/binding-graph-types.d.ts +46 -0
- package/dist/core/resolution/binding-graph-types.js +3 -0
- package/dist/core/resolution/binding-graph-types.js.map +1 -0
- package/dist/core/resolution/binding-graph-warnings.d.ts +11 -0
- package/dist/core/resolution/binding-graph-warnings.js +73 -0
- package/dist/core/resolution/binding-graph-warnings.js.map +1 -0
- package/dist/core/resolution/binding-graph.d.ts +2 -0
- package/dist/core/resolution/binding-graph.js +375 -0
- package/dist/core/resolution/binding-graph.js.map +1 -0
- package/dist/core/resolution/binding-providers.d.ts +11 -0
- package/dist/core/resolution/binding-providers.js +47 -0
- package/dist/core/resolution/binding-providers.js.map +1 -0
- package/dist/core/resolution/instance-copies.d.ts +5 -0
- package/dist/core/resolution/instance-copies.js +109 -0
- package/dist/core/resolution/instance-copies.js.map +1 -0
- package/dist/core/resolution/interface-dependencies.d.ts +1 -0
- package/dist/core/resolution/interface-dependencies.js +27 -0
- package/dist/core/resolution/interface-dependencies.js.map +1 -0
- package/dist/core/resolution/interface-instances.d.ts +28 -0
- package/dist/core/resolution/interface-instances.js +188 -0
- package/dist/core/resolution/interface-instances.js.map +1 -0
- package/dist/core/resolution/resolver-detour.js +14 -22
- package/dist/core/resolution/resolver-detour.js.map +1 -1
- package/dist/core/resolution/resolver.d.ts +30 -72
- package/dist/core/resolution/resolver.js +201 -659
- package/dist/core/resolution/resolver.js.map +1 -1
- package/dist/core/runtime/build-runtime.d.ts +1 -1
- package/dist/core/runtime/build-runtime.js +9 -1
- package/dist/core/runtime/build-runtime.js.map +1 -1
- package/dist/core/runtime/dev-server-registry.js +1 -1
- package/dist/core/runtime/dev-server-registry.js.map +1 -1
- package/dist/core/runtime/launch-sequence.js +7 -1
- package/dist/core/runtime/launch-sequence.js.map +1 -1
- package/dist/core/runtime/module-loading.js +13 -4
- package/dist/core/runtime/module-loading.js.map +1 -1
- package/dist/core/runtime/runtime-types.d.ts +2 -1
- package/package.json +2 -2
|
@@ -12,7 +12,7 @@ export interface BuildAliasEntry {
|
|
|
12
12
|
}
|
|
13
13
|
export interface BuildImportOverride {
|
|
14
14
|
interface: string;
|
|
15
|
-
source
|
|
15
|
+
source?: string;
|
|
16
16
|
id?: string;
|
|
17
17
|
}
|
|
18
18
|
export interface BuildArtifactConfig {
|
|
@@ -36,6 +36,7 @@ export interface BuildModuleEntry {
|
|
|
36
36
|
config?: unknown;
|
|
37
37
|
importOverrides?: BuildImportOverride[];
|
|
38
38
|
disabledExports?: string[];
|
|
39
|
+
exportPriority?: Record<string, number>;
|
|
39
40
|
}
|
|
40
41
|
export interface BuildArtifact {
|
|
41
42
|
version: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build-artifact.js","sourceRoot":"","sources":["../../../src/core/build/build-artifact.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"build-artifact.js","sourceRoot":"","sources":["../../../src/core/build/build-artifact.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,7 @@ export interface ExpandedModuleConfig {
|
|
|
4
4
|
config: unknown;
|
|
5
5
|
importOverrides: ImportOverride[];
|
|
6
6
|
disabledExports: string[];
|
|
7
|
+
exportPriority?: Record<string, number>;
|
|
7
8
|
}
|
|
8
9
|
export declare class ConfigParser {
|
|
9
10
|
processTemplates<T extends Record<string, any>>(config: T): T;
|
|
@@ -3,6 +3,14 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.ConfigParser = void 0;
|
|
4
4
|
const config_vars_1 = require("./config-vars");
|
|
5
5
|
const object_1 = require("../../utils/object");
|
|
6
|
+
function readExportPriority(name, priorities) {
|
|
7
|
+
for (const [interfaceName, priority] of Object.entries(priorities)) {
|
|
8
|
+
if (!Number.isInteger(priority)) {
|
|
9
|
+
throw new Error(`Module '${name}' gives '${interfaceName}' the export priority ${String(priority)}; priorities are integers.`);
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
return { ...priorities };
|
|
13
|
+
}
|
|
6
14
|
class ConfigParser {
|
|
7
15
|
processTemplates(config) {
|
|
8
16
|
const flatValues = this.flattenConfig(config);
|
|
@@ -132,6 +140,9 @@ class ConfigParser {
|
|
|
132
140
|
importOverrides,
|
|
133
141
|
disabledExports: config.disabledExports ?? [],
|
|
134
142
|
};
|
|
143
|
+
if (config.exportPriority) {
|
|
144
|
+
result[name].exportPriority = readExportPriority(name, config.exportPriority);
|
|
145
|
+
}
|
|
135
146
|
}
|
|
136
147
|
}
|
|
137
148
|
return result;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-parser.js","sourceRoot":"","sources":["../../../src/core/config/config-parser.ts"],"names":[],"mappings":";;;AAOA,+CAA+C;AAC/C,+CAAkE;
|
|
1
|
+
{"version":3,"file":"config-parser.js","sourceRoot":"","sources":["../../../src/core/config/config-parser.ts"],"names":[],"mappings":";;;AAOA,+CAA+C;AAC/C,+CAAkE;AAUlE,SAAS,kBAAkB,CACzB,IAAY,EACZ,UAAkC;IAElC,KAAK,MAAM,CAAC,aAAa,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QACnE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CACb,WAAW,IAAI,YAAY,aAAa,yBAAyB,MAAM,CAAC,QAAQ,CAAC,4BAA4B,CAC9G,CAAC;QACJ,CAAC;IACH,CAAC;IACD,OAAO,EAAE,GAAG,UAAU,EAAE,CAAC;AAC3B,CAAC;AAED,MAAa,YAAY;IACvB,gBAAgB,CAAgC,MAAS;QACvD,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAC9C,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,UAAU,CAAM,CAAC;IACrD,CAAC;IAEO,aAAa,CACnB,GAAwB,EACxB,MAAM,GAAG,EAAE;QAEX,MAAM,MAAM,GAA2B,EAAE,CAAC;QAE1C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YAC/C,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;YAElD,IACE,OAAO,KAAK,KAAK,QAAQ;gBACzB,OAAO,KAAK,KAAK,QAAQ;gBACzB,OAAO,KAAK,KAAK,SAAS,EAC1B,CAAC;gBACD,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC5B,MAAM,CAAC,OAAO,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;YAClC,CAAC;iBAAM,IAAI,IAAA,iBAAQ,EAAC,KAAK,CAAC,EAAE,CAAC;gBAC3B,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;YAC5D,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,aAAa,CAAC,GAAQ,EAAE,MAA8B;QAC5D,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC5B,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QACzC,CAAC;QAED,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YACvB,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;QAC7D,CAAC;QAED,IAAI,IAAA,sBAAa,EAAC,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,MAAM,GAAwB,EAAE,CAAC;YACvC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC/C,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YAClD,CAAC;YACD,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,OAAO,GAAG,CAAC;IACb,CAAC;IAEO,aAAa,CACnB,GAAW,EACX,MAA8B;QAE9B,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;QAC/C,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;YACzB,IAAI,IAAA,4BAAc,EAAC,GAAG,CAAC,EAAE,CAAC;gBACxB,OAAO,GAAG,CAAC;YACb,CAAC;YACD,IAAI,GAAG,IAAI,MAAM,EAAE,CAAC;gBAClB,IAAI,CAAC;oBACH,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;gBACjC,CAAC;gBAAC,MAAM,CAAC;oBACP,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;gBACrB,CAAC;YACH,CAAC;YACD,OAAO,GAAG,CAAC;QACb,CAAC;QAED,OAAO,GAAG,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YAClD,IAAI,IAAA,4BAAc,EAAC,GAAG,CAAC,EAAE,CAAC;gBACxB,OAAO,KAAK,CAAC;YACf,CAAC;YACD,OAAO,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,iBAAiB,CACf,MAAS,EACT,SAA4C;QAE5C,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAEvC,KAAK,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;YACxD,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAClC,IAAI,KAAK,KAAK,SAAS;gBAAE,SAAS;YAElC,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YACxD,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;gBAC5B,IAAA,YAAG,EAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,UAAU,CAAI,KAAQ;QAC5B,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAM,CAAC;QACzD,CAAC;QAED,IAAI,IAAA,sBAAa,EAAC,KAAK,CAAC,EAAE,CAAC;YACzB,MAAM,MAAM,GAAwB,EAAE,CAAC;YACvC,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBAChD,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YACtC,CAAC;YACD,OAAO,MAAW,CAAC;QACrB,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED,qBAAqB,CACnB,OAAsD;QAEtD,MAAM,MAAM,GAAyC,EAAE,CAAC;QAExD,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YACrD,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;gBAC/B,MAAM,CAAC,IAAI,CAAC,GAAG;oBACb,MAAM,EAAE;wBACN,IAAI,EAAE,SAAS;wBACf,OAAO,EAAE,IAAI;wBACb,OAAO,EAAE,MAAM;qBACO;oBACxB,MAAM,EAAE,EAAE;oBACV,eAAe,EAAE,EAAE;oBACnB,eAAe,EAAE,EAAE;iBACpB,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,IAAI,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;gBAC3B,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;oBAC9B,MAAM,GAAG;wBACP,IAAI,EAAE,SAAS;wBACf,OAAO,EAAE,IAAI;wBACb,OAAO,EAAE,MAAM,CAAC,OAAO;qBACD,CAAC;gBAC3B,CAAC;gBAED,IAAI,eAAe,GAAqB,EAAE,CAAC;gBAC3C,IAAI,MAAM,CAAC,eAAe,EAAE,CAAC;oBAC3B,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC;wBAC1C,eAAe,GAAG,MAAM,CAAC,eAAe,CAAC;oBAC3C,CAAC;yBAAM,CAAC;wBACN,eAAe,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,GAAG,CAC1D,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;4BACjB,SAAS,EAAE,KAAK;4BAChB,MAAM,EAAE,GAAG;yBACZ,CAAC,CACH,CAAC;oBACJ,CAAC;gBACH,CAAC;gBAED,MAAM,CAAC,IAAI,CAAC,GAAG;oBACb,MAAM,EAAE,MAAO;oBACf,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,EAAE;oBAC3B,eAAe;oBACf,eAAe,EAAE,MAAM,CAAC,eAAe,IAAI,EAAE;iBAC9C,CAAC;gBACF,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;oBAC1B,MAAM,CAAC,IAAI,CAAC,CAAC,cAAc,GAAG,kBAAkB,CAC9C,IAAI,EACJ,MAAM,CAAC,cAAc,CACtB,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AA3KD,oCA2KC"}
|
|
@@ -7,6 +7,7 @@ exports.HOST_MODULE_ID = void 0;
|
|
|
7
7
|
exports.prepareEmbedded = prepareEmbedded;
|
|
8
8
|
const node_path_1 = __importDefault(require("node:path"));
|
|
9
9
|
const filesystem_1 = require("../filesystem");
|
|
10
|
+
const module_isolation_1 = require("../module-isolation");
|
|
10
11
|
const module_manifest_1 = require("../module-manifest");
|
|
11
12
|
const package_resolution_1 = require("../resolution/package-resolution");
|
|
12
13
|
const launch_sequence_1 = require("../runtime/launch-sequence");
|
|
@@ -38,6 +39,7 @@ function buildEntryConfig(moduleConfig) {
|
|
|
38
39
|
config: moduleConfig.config,
|
|
39
40
|
importOverrides: (0, module_loading_1.buildModuleOverrides)(moduleConfig.importOverrides),
|
|
40
41
|
disabledExports: new Set(moduleConfig.disabledExports ?? []),
|
|
42
|
+
exportPriority: new Map(Object.entries(moduleConfig.exportPriority ?? {})),
|
|
41
43
|
};
|
|
42
44
|
}
|
|
43
45
|
function createHostEntry(projectFolder, options) {
|
|
@@ -80,16 +82,15 @@ async function createEmbeddedEntries(options, projectFolder, fs) {
|
|
|
80
82
|
function prepareEmbedded(options, projectFolder) {
|
|
81
83
|
return async () => {
|
|
82
84
|
const fs = new filesystem_1.NodeFileSystem();
|
|
85
|
+
const cacheFolder = node_path_1.default.join(projectFolder, ...EMBEDDED_CACHE_SEGMENTS);
|
|
83
86
|
return {
|
|
84
87
|
fs,
|
|
85
88
|
dev: false,
|
|
86
89
|
logging: options.logging,
|
|
87
|
-
loadContext: (0, launch_sequence_1.memoizeLoaderContext)(() => (0, module_loading_1.createLoaderContext)({
|
|
88
|
-
projectFolder,
|
|
89
|
-
cacheFolder: node_path_1.default.join(projectFolder, ...EMBEDDED_CACHE_SEGMENTS),
|
|
90
|
-
}, fs)),
|
|
90
|
+
loadContext: (0, launch_sequence_1.memoizeLoaderContext)(() => (0, module_loading_1.createLoaderContext)({ projectFolder, cacheFolder }, fs)),
|
|
91
91
|
verify: async () => { },
|
|
92
92
|
createEntries: () => createEmbeddedEntries(options, projectFolder, fs),
|
|
93
|
+
instanceRoot: node_path_1.default.join(cacheFolder, module_isolation_1.INSTANCES_FOLDER),
|
|
93
94
|
};
|
|
94
95
|
};
|
|
95
96
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prepare-embedded.js","sourceRoot":"","sources":["../../../src/core/embedded/prepare-embedded.ts"],"names":[],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"prepare-embedded.js","sourceRoot":"","sources":["../../../src/core/embedded/prepare-embedded.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
export interface InterfaceConnectionRef {
|
|
2
|
-
module
|
|
2
|
+
module?: string;
|
|
3
3
|
id?: string;
|
|
4
4
|
}
|
|
5
5
|
export declare class InterfaceRegistry {
|
|
6
6
|
private readonly owner;
|
|
7
7
|
private readonly moduleIds;
|
|
8
|
-
setConnections(moduleId: string, connections: Map<string, InterfaceConnectionRef[]>, selectedProviders?: Map<string, string>): void;
|
|
8
|
+
setConnections(moduleId: string, connections: Map<string, InterfaceConnectionRef[]>, selectedProviders?: Map<string, string | undefined>): void;
|
|
9
9
|
clear(): void;
|
|
10
10
|
private getCurrentOwners;
|
|
11
11
|
private removeOwner;
|
|
@@ -2,24 +2,31 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.InterfaceRegistry = void 0;
|
|
4
4
|
const internal_1 = require("@antelopejs/interface-core/internal");
|
|
5
|
+
const resolver_1 = require("./resolution/resolver");
|
|
5
6
|
const ownersByModule = new Map();
|
|
7
|
+
function createEntry(interfaceName, { module, id }, index, isSelected) {
|
|
8
|
+
const entry = {
|
|
9
|
+
path: isSelected ? interfaceName : (0, resolver_1.connectionPath)(index, interfaceName),
|
|
10
|
+
selected: isSelected,
|
|
11
|
+
};
|
|
12
|
+
if (module !== undefined) {
|
|
13
|
+
entry.provider = module;
|
|
14
|
+
}
|
|
15
|
+
if (id !== undefined) {
|
|
16
|
+
entry.id = id;
|
|
17
|
+
}
|
|
18
|
+
return entry;
|
|
19
|
+
}
|
|
6
20
|
class InterfaceRegistry {
|
|
7
21
|
owner = Symbol("interface-registry");
|
|
8
22
|
moduleIds = new Set();
|
|
9
23
|
setConnections(moduleId, connections, selectedProviders = new Map()) {
|
|
10
24
|
const connectionIDs = {};
|
|
11
|
-
for (const [interfaceName,
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
selected: selectedProviders.get(interfaceName) === module,
|
|
17
|
-
};
|
|
18
|
-
if (id !== undefined) {
|
|
19
|
-
entry.id = id;
|
|
20
|
-
}
|
|
21
|
-
return entry;
|
|
22
|
-
});
|
|
25
|
+
for (const [interfaceName, listed] of connections) {
|
|
26
|
+
const selectedIndex = selectedProviders.has(interfaceName)
|
|
27
|
+
? listed.findIndex(({ module }) => module === selectedProviders.get(interfaceName))
|
|
28
|
+
: -1;
|
|
29
|
+
connectionIDs[interfaceName] = listed.map((connection, index) => createEntry(interfaceName, connection, index, index === selectedIndex));
|
|
23
30
|
}
|
|
24
31
|
const owners = this.getCurrentOwners(moduleId);
|
|
25
32
|
owners.set(this.owner, connectionIDs);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interface-registry.js","sourceRoot":"","sources":["../../src/core/interface-registry.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"interface-registry.js","sourceRoot":"","sources":["../../src/core/interface-registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { ModuleManifest } from "./module-manifest";
|
|
2
|
+
export declare const INSTANCES_FOLDER = ".instances";
|
|
3
|
+
export declare class ModuleIsolation {
|
|
4
|
+
private root;
|
|
5
|
+
private readonly origins;
|
|
6
|
+
private readonly copies;
|
|
7
|
+
private readonly pendingOrigins;
|
|
8
|
+
private readonly prunedRoots;
|
|
9
|
+
constructor(root?: string);
|
|
10
|
+
setRoot(root: string): void;
|
|
11
|
+
place(moduleId: string, manifest: ModuleManifest): ModuleManifest;
|
|
12
|
+
adopt(moduleId: string, manifest: ModuleManifest): void;
|
|
13
|
+
discard(manifest: ModuleManifest): void;
|
|
14
|
+
forget(moduleId: string): void;
|
|
15
|
+
releaseAll(): void;
|
|
16
|
+
private createCopy;
|
|
17
|
+
private removeCopy;
|
|
18
|
+
}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.ModuleIsolation = exports.INSTANCES_FOLDER = void 0;
|
|
7
|
+
const node_os_1 = __importDefault(require("node:os"));
|
|
8
|
+
const node_path_1 = __importDefault(require("node:path"));
|
|
9
|
+
const node_fs_1 = require("node:fs");
|
|
10
|
+
const package_resolution_1 = require("./resolution/package-resolution");
|
|
11
|
+
const instance_copies_1 = require("./resolution/instance-copies");
|
|
12
|
+
const DEFAULT_INSTANCE_ROOT = node_path_1.default.join(node_os_1.default.tmpdir(), "antelopejs-instances");
|
|
13
|
+
exports.INSTANCES_FOLDER = ".instances";
|
|
14
|
+
function realFolder(folder) {
|
|
15
|
+
try {
|
|
16
|
+
return node_fs_1.realpathSync.native(folder);
|
|
17
|
+
}
|
|
18
|
+
catch {
|
|
19
|
+
return node_path_1.default.resolve(folder);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
function evictFolder(folder) {
|
|
23
|
+
const isInFolder = (0, package_resolution_1.createPathWithinMatcher)(folder);
|
|
24
|
+
for (const filePath of Object.keys(require.cache)) {
|
|
25
|
+
if (isInFolder(filePath)) {
|
|
26
|
+
delete require.cache[filePath];
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
class ModuleIsolation {
|
|
31
|
+
root;
|
|
32
|
+
origins = new Map();
|
|
33
|
+
copies = new Map();
|
|
34
|
+
pendingOrigins = new Map();
|
|
35
|
+
prunedRoots = new Set();
|
|
36
|
+
constructor(root = DEFAULT_INSTANCE_ROOT) {
|
|
37
|
+
this.root = root;
|
|
38
|
+
}
|
|
39
|
+
setRoot(root) {
|
|
40
|
+
this.root = root;
|
|
41
|
+
}
|
|
42
|
+
place(moduleId, manifest) {
|
|
43
|
+
const origin = realFolder(manifest.folder);
|
|
44
|
+
const isTaken = [...this.origins].some(([id, taken]) => id !== moduleId && taken === origin);
|
|
45
|
+
if (!isTaken) {
|
|
46
|
+
return manifest;
|
|
47
|
+
}
|
|
48
|
+
const copy = this.createCopy(moduleId, manifest.folder);
|
|
49
|
+
this.pendingOrigins.set(copy, origin);
|
|
50
|
+
return manifest.relocate(copy);
|
|
51
|
+
}
|
|
52
|
+
adopt(moduleId, manifest) {
|
|
53
|
+
const folder = manifest.folder;
|
|
54
|
+
const origin = this.pendingOrigins.get(folder) ?? realFolder(folder);
|
|
55
|
+
this.pendingOrigins.delete(folder);
|
|
56
|
+
const previous = this.copies.get(moduleId);
|
|
57
|
+
if (previous && previous !== folder) {
|
|
58
|
+
this.removeCopy(previous);
|
|
59
|
+
}
|
|
60
|
+
this.origins.set(moduleId, origin);
|
|
61
|
+
if (origin === realFolder(folder)) {
|
|
62
|
+
this.copies.delete(moduleId);
|
|
63
|
+
return;
|
|
64
|
+
}
|
|
65
|
+
this.copies.set(moduleId, folder);
|
|
66
|
+
}
|
|
67
|
+
discard(manifest) {
|
|
68
|
+
if (this.pendingOrigins.delete(manifest.folder)) {
|
|
69
|
+
this.removeCopy(manifest.folder);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
forget(moduleId) {
|
|
73
|
+
const copy = this.copies.get(moduleId);
|
|
74
|
+
if (copy) {
|
|
75
|
+
this.removeCopy(copy);
|
|
76
|
+
}
|
|
77
|
+
this.copies.delete(moduleId);
|
|
78
|
+
this.origins.delete(moduleId);
|
|
79
|
+
}
|
|
80
|
+
releaseAll() {
|
|
81
|
+
for (const copy of this.copies.values()) {
|
|
82
|
+
this.removeCopy(copy);
|
|
83
|
+
}
|
|
84
|
+
for (const copy of this.pendingOrigins.keys()) {
|
|
85
|
+
this.removeCopy(copy);
|
|
86
|
+
}
|
|
87
|
+
this.copies.clear();
|
|
88
|
+
this.pendingOrigins.clear();
|
|
89
|
+
this.origins.clear();
|
|
90
|
+
}
|
|
91
|
+
createCopy(moduleId, folder) {
|
|
92
|
+
if (!this.prunedRoots.has(this.root)) {
|
|
93
|
+
(0, instance_copies_1.pruneStaleInstanceCopies)(this.root);
|
|
94
|
+
this.prunedRoots.add(this.root);
|
|
95
|
+
}
|
|
96
|
+
const base = node_path_1.default.join(this.root, encodeURIComponent(moduleId));
|
|
97
|
+
const copy = (0, instance_copies_1.nextInstanceCopyPath)(base);
|
|
98
|
+
(0, instance_copies_1.createInstanceCopy)(folder, copy);
|
|
99
|
+
return copy;
|
|
100
|
+
}
|
|
101
|
+
removeCopy(copy) {
|
|
102
|
+
evictFolder(copy);
|
|
103
|
+
(0, instance_copies_1.removeInstanceCopy)(copy);
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
exports.ModuleIsolation = ModuleIsolation;
|
|
107
|
+
//# sourceMappingURL=module-isolation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"module-isolation.js","sourceRoot":"","sources":["../../src/core/module-isolation.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,10 +5,12 @@ import { ModuleRegistry } from "./module-registry";
|
|
|
5
5
|
import type { UnresolvedInterface } from "./resolution/interface-resolution";
|
|
6
6
|
import { type ModuleManifest } from "./module-manifest";
|
|
7
7
|
import { type InterfaceConnectionRef, InterfaceRegistry } from "./interface-registry";
|
|
8
|
+
import type { BindingGraph } from "./resolution/binding-graph-types";
|
|
8
9
|
export interface ModuleConfig {
|
|
9
10
|
config?: unknown;
|
|
10
11
|
importOverrides?: Map<string, InterfaceConnectionRef[]>;
|
|
11
12
|
disabledExports?: Set<string>;
|
|
13
|
+
exportPriority?: Map<string, number>;
|
|
12
14
|
}
|
|
13
15
|
export interface ManagedModule {
|
|
14
16
|
module: Module;
|
|
@@ -35,6 +37,8 @@ export declare class ModuleManager {
|
|
|
35
37
|
private readonly interfacePackagePlans;
|
|
36
38
|
private readonly configVars;
|
|
37
39
|
private pendingCleanup;
|
|
40
|
+
private bindingGraph?;
|
|
41
|
+
private readonly isolation;
|
|
38
42
|
private startupOrder;
|
|
39
43
|
constructor(deps?: ModuleManagerDeps);
|
|
40
44
|
addStaticModule(entry: {
|
|
@@ -45,6 +49,7 @@ export declare class ModuleManager {
|
|
|
45
49
|
manifest: ModuleManifest;
|
|
46
50
|
config?: ModuleConfig;
|
|
47
51
|
}>): ManagedModule[];
|
|
52
|
+
private restoreModules;
|
|
48
53
|
listModules(): string[];
|
|
49
54
|
getModule(id: string): Module | undefined;
|
|
50
55
|
getModuleEntry(id: string): ManagedModule | undefined;
|
|
@@ -55,12 +60,17 @@ export declare class ModuleManager {
|
|
|
55
60
|
private evictModuleFiles;
|
|
56
61
|
private collectAvoidedFolders;
|
|
57
62
|
private belongsToInterfacePackageTree;
|
|
63
|
+
setInstanceRoot(root: string): void;
|
|
64
|
+
placeModule(moduleId: string, manifest: ModuleManifest): ModuleManifest;
|
|
65
|
+
checkReplacement(moduleId: string, replacement: Module): void;
|
|
66
|
+
discardPlacedModule(manifest: ModuleManifest): void;
|
|
58
67
|
replaceLoadedModule(id: string, module: Module): ManagedModule | undefined;
|
|
59
68
|
refreshAssociations(): void;
|
|
60
69
|
hasResolvedInterface(moduleId: string, interfaceName: string): boolean;
|
|
61
70
|
registerStubbedInterfaces(stubbed: UnresolvedInterface[]): void;
|
|
62
71
|
private registerStubbedInterfacePackage;
|
|
63
72
|
private applyInterfaceStubs;
|
|
73
|
+
private neutralizeInstances;
|
|
64
74
|
private collectImplementedInterfaces;
|
|
65
75
|
constructAll(): Promise<void>;
|
|
66
76
|
constructModules(modules: ManagedModule[]): Promise<void>;
|
|
@@ -85,7 +95,14 @@ export declare class ModuleManager {
|
|
|
85
95
|
private clearManagedState;
|
|
86
96
|
private releaseRuntimeState;
|
|
87
97
|
private trackModuleStart;
|
|
98
|
+
getBindingGraph(): BindingGraph | undefined;
|
|
88
99
|
private rebuildAssociations;
|
|
100
|
+
private buildBindings;
|
|
101
|
+
private runningBindings;
|
|
102
|
+
private logBindingWarnings;
|
|
103
|
+
private bindablePackages;
|
|
104
|
+
private collectBindingInterfaces;
|
|
105
|
+
private collectBindingModules;
|
|
89
106
|
private collectInterfaceSources;
|
|
90
107
|
private resolveInterfacePackagePaths;
|
|
91
108
|
private resolveImplementedPackage;
|
|
@@ -99,6 +116,7 @@ export declare class ModuleManager {
|
|
|
99
116
|
private applyImportOverrides;
|
|
100
117
|
private addInterfaceSource;
|
|
101
118
|
private validateImportOverrides;
|
|
102
|
-
private
|
|
119
|
+
private validateOverrideSource;
|
|
120
|
+
private validateSelfHostedConnection;
|
|
103
121
|
}
|
|
104
122
|
export {};
|