@antelopejs/core 1.13.5 → 1.15.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.
Files changed (87) hide show
  1. package/dist/core/build/build-artifact.d.ts +3 -1
  2. package/dist/core/build/build-artifact.js.map +1 -1
  3. package/dist/core/config/config-editor.d.ts +8 -0
  4. package/dist/core/config/config-editor.js +227 -0
  5. package/dist/core/config/config-editor.js.map +1 -0
  6. package/dist/core/config/config-loader.d.ts +1 -1
  7. package/dist/core/config/config-loader.js +4 -3
  8. package/dist/core/config/config-loader.js.map +1 -1
  9. package/dist/core/config/config-parser.d.ts +2 -0
  10. package/dist/core/config/config-parser.js +19 -1
  11. package/dist/core/config/config-parser.js.map +1 -1
  12. package/dist/core/config/config-writes.d.ts +2 -0
  13. package/dist/core/config/config-writes.js +24 -0
  14. package/dist/core/config/config-writes.js.map +1 -0
  15. package/dist/core/config/module-declarations.d.ts +4 -0
  16. package/dist/core/config/module-declarations.js +99 -0
  17. package/dist/core/config/module-declarations.js.map +1 -0
  18. package/dist/core/config/module-entry.d.ts +12 -0
  19. package/dist/core/config/module-entry.js +3 -0
  20. package/dist/core/config/module-entry.js.map +1 -0
  21. package/dist/core/embedded/prepare-embedded.js +5 -4
  22. package/dist/core/embedded/prepare-embedded.js.map +1 -1
  23. package/dist/core/embedded/types.d.ts +1 -0
  24. package/dist/core/interface-registry.d.ts +2 -2
  25. package/dist/core/interface-registry.js +19 -12
  26. package/dist/core/interface-registry.js.map +1 -1
  27. package/dist/core/module-isolation.d.ts +18 -0
  28. package/dist/core/module-isolation.js +107 -0
  29. package/dist/core/module-isolation.js.map +1 -0
  30. package/dist/core/module-manager.d.ts +21 -1
  31. package/dist/core/module-manager.js +199 -22
  32. package/dist/core/module-manager.js.map +1 -1
  33. package/dist/core/module-manifest.d.ts +1 -0
  34. package/dist/core/module-manifest.js +34 -0
  35. package/dist/core/module-manifest.js.map +1 -1
  36. package/dist/core/module-registry.d.ts +1 -0
  37. package/dist/core/module-registry.js +3 -0
  38. package/dist/core/module-registry.js.map +1 -1
  39. package/dist/core/module.d.ts +1 -3
  40. package/dist/core/module.js +0 -18
  41. package/dist/core/module.js.map +1 -1
  42. package/dist/core/resolution/binding-diagnostics.d.ts +30 -0
  43. package/dist/core/resolution/binding-diagnostics.js +65 -0
  44. package/dist/core/resolution/binding-diagnostics.js.map +1 -0
  45. package/dist/core/resolution/binding-graph-order.d.ts +3 -0
  46. package/dist/core/resolution/binding-graph-order.js +49 -0
  47. package/dist/core/resolution/binding-graph-order.js.map +1 -0
  48. package/dist/core/resolution/binding-graph-types.d.ts +46 -0
  49. package/dist/core/resolution/binding-graph-types.js +3 -0
  50. package/dist/core/resolution/binding-graph-types.js.map +1 -0
  51. package/dist/core/resolution/binding-graph-warnings.d.ts +11 -0
  52. package/dist/core/resolution/binding-graph-warnings.js +73 -0
  53. package/dist/core/resolution/binding-graph-warnings.js.map +1 -0
  54. package/dist/core/resolution/binding-graph.d.ts +2 -0
  55. package/dist/core/resolution/binding-graph.js +375 -0
  56. package/dist/core/resolution/binding-graph.js.map +1 -0
  57. package/dist/core/resolution/binding-providers.d.ts +11 -0
  58. package/dist/core/resolution/binding-providers.js +47 -0
  59. package/dist/core/resolution/binding-providers.js.map +1 -0
  60. package/dist/core/resolution/instance-copies.d.ts +5 -0
  61. package/dist/core/resolution/instance-copies.js +109 -0
  62. package/dist/core/resolution/instance-copies.js.map +1 -0
  63. package/dist/core/resolution/interface-dependencies.d.ts +1 -0
  64. package/dist/core/resolution/interface-dependencies.js +27 -0
  65. package/dist/core/resolution/interface-dependencies.js.map +1 -0
  66. package/dist/core/resolution/interface-instances.d.ts +28 -0
  67. package/dist/core/resolution/interface-instances.js +188 -0
  68. package/dist/core/resolution/interface-instances.js.map +1 -0
  69. package/dist/core/resolution/resolver-detour.js +14 -22
  70. package/dist/core/resolution/resolver-detour.js.map +1 -1
  71. package/dist/core/resolution/resolver.d.ts +30 -72
  72. package/dist/core/resolution/resolver.js +201 -659
  73. package/dist/core/resolution/resolver.js.map +1 -1
  74. package/dist/core/runtime/build-runtime.d.ts +1 -1
  75. package/dist/core/runtime/build-runtime.js +11 -1
  76. package/dist/core/runtime/build-runtime.js.map +1 -1
  77. package/dist/core/runtime/dev-server-registry.js +1 -1
  78. package/dist/core/runtime/dev-server-registry.js.map +1 -1
  79. package/dist/core/runtime/launch-sequence.js +30 -5
  80. package/dist/core/runtime/launch-sequence.js.map +1 -1
  81. package/dist/core/runtime/module-loading.d.ts +2 -1
  82. package/dist/core/runtime/module-loading.js +88 -26
  83. package/dist/core/runtime/module-loading.js.map +1 -1
  84. package/dist/core/runtime/project-launch.js +13 -2
  85. package/dist/core/runtime/project-launch.js.map +1 -1
  86. package/dist/core/runtime/runtime-types.d.ts +2 -1
  87. package/package.json +3 -3
@@ -1 +1 @@
1
- {"version":3,"file":"prepare-embedded.js","sourceRoot":"","sources":["../../../src/core/embedded/prepare-embedded.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prepare-embedded.js","sourceRoot":"","sources":["../../../src/core/embedded/prepare-embedded.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ export interface EmbeddedModuleConfig {
5
5
  config?: unknown;
6
6
  importOverrides?: ImportOverride[];
7
7
  disabledExports?: string[];
8
+ exportPriority?: Record<string, number>;
8
9
  }
9
10
  export interface EmbeddedRuntimeOptions {
10
11
  projectFolder?: string;
@@ -1,11 +1,11 @@
1
1
  export interface InterfaceConnectionRef {
2
- module: string;
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, modules] of connections) {
12
- connectionIDs[interfaceName] = modules.map(({ module, id }) => {
13
- const entry = {
14
- path: interfaceName,
15
- provider: module,
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":"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"}
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,13 @@ 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>;
14
+ optional?: boolean;
12
15
  }
13
16
  export interface ManagedModule {
14
17
  module: Module;
@@ -35,6 +38,8 @@ export declare class ModuleManager {
35
38
  private readonly interfacePackagePlans;
36
39
  private readonly configVars;
37
40
  private pendingCleanup;
41
+ private bindingGraph?;
42
+ private readonly isolation;
38
43
  private startupOrder;
39
44
  constructor(deps?: ModuleManagerDeps);
40
45
  addStaticModule(entry: {
@@ -45,6 +50,8 @@ export declare class ModuleManager {
45
50
  manifest: ModuleManifest;
46
51
  config?: ModuleConfig;
47
52
  }>): ManagedModule[];
53
+ private restoreModules;
54
+ discardModules(ids: readonly string[]): void;
48
55
  listModules(): string[];
49
56
  getModule(id: string): Module | undefined;
50
57
  getModuleEntry(id: string): ManagedModule | undefined;
@@ -55,12 +62,17 @@ export declare class ModuleManager {
55
62
  private evictModuleFiles;
56
63
  private collectAvoidedFolders;
57
64
  private belongsToInterfacePackageTree;
65
+ setInstanceRoot(root: string): void;
66
+ placeModule(moduleId: string, manifest: ModuleManifest): ModuleManifest;
67
+ checkReplacement(moduleId: string, replacement: Module): void;
68
+ discardPlacedModule(manifest: ModuleManifest): void;
58
69
  replaceLoadedModule(id: string, module: Module): ManagedModule | undefined;
59
70
  refreshAssociations(): void;
60
71
  hasResolvedInterface(moduleId: string, interfaceName: string): boolean;
61
72
  registerStubbedInterfaces(stubbed: UnresolvedInterface[]): void;
62
73
  private registerStubbedInterfacePackage;
63
74
  private applyInterfaceStubs;
75
+ private neutralizeInstances;
64
76
  private collectImplementedInterfaces;
65
77
  constructAll(): Promise<void>;
66
78
  constructModules(modules: ManagedModule[]): Promise<void>;
@@ -85,7 +97,14 @@ export declare class ModuleManager {
85
97
  private clearManagedState;
86
98
  private releaseRuntimeState;
87
99
  private trackModuleStart;
100
+ getBindingGraph(): BindingGraph | undefined;
88
101
  private rebuildAssociations;
102
+ private buildBindings;
103
+ private runningBindings;
104
+ private logBindingWarnings;
105
+ private bindablePackages;
106
+ private collectBindingInterfaces;
107
+ private collectBindingModules;
89
108
  private collectInterfaceSources;
90
109
  private resolveInterfacePackagePaths;
91
110
  private resolveImplementedPackage;
@@ -99,6 +118,7 @@ export declare class ModuleManager {
99
118
  private applyImportOverrides;
100
119
  private addInterfaceSource;
101
120
  private validateImportOverrides;
102
- private configureModuleContexts;
121
+ private validateOverrideSource;
122
+ private validateSelfHostedConnection;
103
123
  }
104
124
  export {};