@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
@@ -38,6 +38,7 @@ const path = __importStar(require("node:path"));
38
38
  const semver_1 = require("semver");
39
39
  const logging_1 = require("@antelopejs/interface-core/logging");
40
40
  const module_1 = require("./module");
41
+ const module_isolation_1 = require("./module-isolation");
41
42
  const types_1 = require("../types");
42
43
  const module_tracker_1 = require("./module-tracker");
43
44
  const resolver_1 = require("./resolution/resolver");
@@ -51,8 +52,12 @@ const config_var_graph_1 = require("./config/config-var-graph");
51
52
  const interface_registry_1 = require("./interface-registry");
52
53
  const stub_interface_runtime_1 = require("./resolution/stub-interface-runtime");
53
54
  const package_resolution_1 = require("./resolution/package-resolution");
55
+ const binding_graph_1 = require("./resolution/binding-graph");
56
+ const binding_diagnostics_1 = require("./resolution/binding-diagnostics");
57
+ const interface_dependencies_1 = require("./resolution/interface-dependencies");
54
58
  const interface_resolution_error_1 = require("./resolution/interface-resolution-error");
55
59
  const Logger = new logging_1.Logging.Channel("loader");
60
+ const INTERFACE_CORE_PACKAGE = "@antelopejs/interface-core";
56
61
  function compareModuleIds(left, right) {
57
62
  return left.localeCompare(right);
58
63
  }
@@ -71,6 +76,8 @@ class ModuleManager {
71
76
  interfacePackagePlans = new Map();
72
77
  configVars = new config_var_store_1.ConfigVarStore();
73
78
  pendingCleanup = [];
79
+ bindingGraph;
80
+ isolation = new module_isolation_1.ModuleIsolation();
74
81
  startupOrder = [];
75
82
  constructor(deps = {}) {
76
83
  this.registry = deps.registry ?? new module_registry_1.ModuleRegistry();
@@ -85,27 +92,62 @@ class ModuleManager {
85
92
  config: entry.config?.config,
86
93
  importOverrides: entry.config?.importOverrides ?? new Map(),
87
94
  disabledExports: entry.config?.disabledExports ?? new Set(),
95
+ exportPriority: entry.config?.exportPriority ?? new Map(),
88
96
  };
89
97
  this.registry.register(module);
90
98
  this.staticModules.push({ module, config });
91
99
  }
92
100
  addModules(entries) {
93
101
  const created = [];
102
+ const replaced = new Map();
94
103
  for (const entry of entries) {
95
- const module = new module_1.Module(entry.manifest);
104
+ replaced.set(entry.manifest.name, this.loaded.get(entry.manifest.name));
105
+ const manifest = this.placeModule(entry.manifest.name, entry.manifest);
106
+ const module = new module_1.Module(manifest);
107
+ this.isolation.adopt(module.id, manifest);
96
108
  const config = {
97
109
  config: entry.config?.config,
98
110
  importOverrides: entry.config?.importOverrides ?? new Map(),
99
111
  disabledExports: entry.config?.disabledExports ?? new Set(),
112
+ exportPriority: entry.config?.exportPriority ?? new Map(),
100
113
  };
101
114
  this.registry.register(module);
102
115
  const managed = { module, config };
103
116
  this.loaded.set(module.id, managed);
104
117
  created.push(managed);
105
118
  }
106
- this.rebuildAssociations();
119
+ try {
120
+ this.rebuildAssociations();
121
+ }
122
+ catch (error) {
123
+ this.restoreModules(replaced);
124
+ throw error;
125
+ }
107
126
  return created;
108
127
  }
128
+ restoreModules(replaced) {
129
+ for (const [id, previous] of replaced) {
130
+ this.isolation.forget(id);
131
+ if (previous) {
132
+ this.loaded.set(id, previous);
133
+ this.registry.register(previous.module);
134
+ this.isolation.adopt(id, previous.module.manifest);
135
+ }
136
+ else {
137
+ this.loaded.delete(id);
138
+ this.registry.unregister(id);
139
+ }
140
+ }
141
+ this.rebuildAssociations();
142
+ }
143
+ discardModules(ids) {
144
+ for (const id of ids) {
145
+ this.isolation.forget(id);
146
+ this.loaded.delete(id);
147
+ this.registry.unregister(id);
148
+ }
149
+ this.rebuildAssociations();
150
+ }
109
151
  listModules() {
110
152
  return this.registry.list();
111
153
  }
@@ -173,11 +215,39 @@ class ModuleManager {
173
215
  }
174
216
  return isInModule(path.resolve(root));
175
217
  }
218
+ setInstanceRoot(root) {
219
+ this.isolation.setRoot(root);
220
+ }
221
+ placeModule(moduleId, manifest) {
222
+ return this.isolation.place(moduleId, manifest);
223
+ }
224
+ checkReplacement(moduleId, replacement) {
225
+ const entry = this.loaded.get(moduleId);
226
+ if (!entry) {
227
+ return;
228
+ }
229
+ const modules = this.collectBindingModules();
230
+ modules.set(moduleId, toBindingModule(replacement, entry.config, this.bindablePackages(), this.resolvedConnections));
231
+ const running = this.runningBindings();
232
+ running.delete(moduleId);
233
+ const graph = (0, binding_graph_1.buildBindingGraph)({
234
+ interfaces: this.collectBindingInterfaces(),
235
+ modules,
236
+ running,
237
+ });
238
+ if (graph.errors.length > 0) {
239
+ throw new binding_diagnostics_1.InterfaceBindingError(graph.errors);
240
+ }
241
+ }
242
+ discardPlacedModule(manifest) {
243
+ this.isolation.discard(manifest);
244
+ }
176
245
  replaceLoadedModule(id, module) {
177
246
  const entry = this.loaded.get(id);
178
247
  if (!entry) {
179
248
  return;
180
249
  }
250
+ this.isolation.adopt(id, module.manifest);
181
251
  entry.module = module;
182
252
  this.registry.register(module);
183
253
  return entry;
@@ -194,6 +264,7 @@ class ModuleManager {
194
264
  const entries = stubbed.filter((entry) => entry.interfacePackage === packageName);
195
265
  this.registerStubbedInterfacePackage(packageName, entries);
196
266
  }
267
+ this.buildBindings();
197
268
  }
198
269
  registerStubbedInterfacePackage(packageName, entries) {
199
270
  const consumers = this.collectInterfacePackageConsumers(packageName);
@@ -223,14 +294,22 @@ class ModuleManager {
223
294
  if (!this.resolver.interfacePackages.has(interfaceName)) {
224
295
  this.registerInterfacePackage(interfaceName, resolvedPackage, true);
225
296
  }
297
+ this.neutralizeInstances(interfaceName);
298
+ }
299
+ }
300
+ neutralizeInstances(interfaceName) {
301
+ for (const instance of this.resolver.instances.keysOf(interfaceName)) {
302
+ let root;
226
303
  try {
227
- require(interfaceName);
304
+ root = this.resolver.loadInstance(instance);
228
305
  }
229
306
  catch (err) {
230
- Logger.Error(`Failed to load interface '${interfaceName}':`, err);
307
+ Logger.Error(`Failed to load interface '${instance}':`, err);
231
308
  continue;
232
309
  }
233
- (0, stub_interface_runtime_1.neutralizeInterfacePackage)(resolvedPackage.root, interfaceName);
310
+ if (root) {
311
+ (0, stub_interface_runtime_1.neutralizeInterfacePackage)(root, interfaceName);
312
+ }
234
313
  }
235
314
  }
236
315
  collectImplementedInterfaces() {
@@ -250,7 +329,7 @@ class ModuleManager {
250
329
  let plan;
251
330
  let provided;
252
331
  try {
253
- this.configureModuleContexts();
332
+ this.logBindingWarnings();
254
333
  this.validateInterfacePackages();
255
334
  this.applyInterfaceStubs();
256
335
  plan = this.planConfigVars(modules);
@@ -279,7 +358,7 @@ class ModuleManager {
279
358
  async constructModules(modules) {
280
359
  const leaseAcquired = this.resolverDetour.attach();
281
360
  try {
282
- this.configureModuleContexts();
361
+ this.logBindingWarnings();
283
362
  this.validateInterfacePackages();
284
363
  this.applyInterfaceStubs();
285
364
  await Promise.all(modules
@@ -335,6 +414,8 @@ class ModuleManager {
335
414
  for (const id of this.loaded.keys()) {
336
415
  this.evictModuleFiles(id, false);
337
416
  }
417
+ this.isolation.releaseAll();
418
+ this.resolver.releaseInstances();
338
419
  const errors = [...results.errors, ...this.clearManagedState()];
339
420
  if (errors.length > 0) {
340
421
  throw new AggregateError(errors, "Failed to destroy modules");
@@ -437,20 +518,24 @@ class ModuleManager {
437
518
  !config.disabledExports?.has(interfaceName));
438
519
  }
439
520
  rejectCallsInto(moduleId, interfaceName) {
440
- const packageRoot = this.resolver.interfacePackages.get(interfaceName);
441
521
  const entry = this.getModuleEntry(moduleId);
442
- if (!packageRoot || !entry) {
522
+ if (!entry) {
443
523
  return;
444
524
  }
525
+ let instanceRoot;
445
526
  try {
446
- require(interfaceName);
527
+ instanceRoot = this.resolver.loadInstance(`${interfaceName}@${moduleId}`);
447
528
  }
448
529
  catch (error) {
449
530
  Logger.Trace(`Could not load interface '${interfaceName}' to fail calls into '${moduleId}':`, error);
450
531
  return;
451
532
  }
533
+ if (!instanceRoot) {
534
+ return;
535
+ }
536
+ const root = instanceRoot;
452
537
  Logger.Debug(`Interface '${interfaceName}' lost its provider '${moduleId}'; calls into it now reject.`);
453
- entry.module.runInContext(() => (0, stub_interface_runtime_1.neutralizeInterfacePackage)(packageRoot, interfaceName, `has no provider: module '${moduleId}' did not construct`));
538
+ entry.module.runInContext(() => (0, stub_interface_runtime_1.neutralizeInterfacePackage)(root, interfaceName, `has no provider: module '${moduleId}' did not construct`));
454
539
  }
455
540
  findFailedProvider(plan, moduleId, failed) {
456
541
  return [...(plan.dependencies.get(moduleId) ?? [])].find((provider) => failed.has(provider));
@@ -531,10 +616,69 @@ class ModuleManager {
531
616
  this.startupOrder = this.startupOrder.filter((id) => id !== moduleId);
532
617
  this.startupOrder.push(moduleId);
533
618
  }
619
+ getBindingGraph() {
620
+ return this.bindingGraph;
621
+ }
534
622
  rebuildAssociations() {
535
623
  (0, package_resolution_1.clearPathResolutionCache)();
536
624
  const interfaceSources = this.collectInterfaceSources();
537
625
  this.buildModuleAssociations(interfaceSources);
626
+ this.buildBindings();
627
+ }
628
+ buildBindings() {
629
+ const graph = (0, binding_graph_1.buildBindingGraph)({
630
+ interfaces: this.collectBindingInterfaces(),
631
+ modules: this.collectBindingModules(),
632
+ running: this.runningBindings(),
633
+ });
634
+ if (graph.errors.length > 0) {
635
+ throw new binding_diagnostics_1.InterfaceBindingError(graph.errors);
636
+ }
637
+ this.bindingGraph = graph;
638
+ this.resolver.setBindings(graph);
639
+ }
640
+ runningBindings() {
641
+ const running = new Map();
642
+ for (const { module } of this.getAllManagedModules()) {
643
+ const scope = this.bindingGraph?.modules.get(module.id)?.scope;
644
+ if (module.state === types_1.ModuleState.Loaded || !scope) {
645
+ continue;
646
+ }
647
+ const bindings = new Map();
648
+ scope.forEach((binding, interfaceName) => {
649
+ if (binding.provider) {
650
+ bindings.set(interfaceName, binding.provider);
651
+ }
652
+ });
653
+ running.set(module.id, bindings);
654
+ }
655
+ return running;
656
+ }
657
+ logBindingWarnings() {
658
+ this.bindingGraph?.warnings.forEach((warning) => Logger.Warn(warning));
659
+ }
660
+ bindablePackages() {
661
+ return new Set([...this.resolver.interfacePackages.keys()].filter((packageName) => packageName !== INTERFACE_CORE_PACKAGE));
662
+ }
663
+ collectBindingInterfaces() {
664
+ const packages = this.bindablePackages();
665
+ const interfaces = new Map();
666
+ for (const name of packages) {
667
+ const root = this.resolver.interfacePackages.get(name);
668
+ interfaces.set(name, {
669
+ name,
670
+ dependencies: (0, interface_dependencies_1.readInterfaceDependencies)(name, root, packages),
671
+ });
672
+ }
673
+ return interfaces;
674
+ }
675
+ collectBindingModules() {
676
+ const packages = this.bindablePackages();
677
+ const modules = new Map();
678
+ for (const { module, config } of this.getAllManagedModules()) {
679
+ modules.set(module.id, toBindingModule(module, config, packages, this.resolvedConnections));
680
+ }
681
+ return modules;
538
682
  }
539
683
  collectInterfaceSources() {
540
684
  this.resolver.moduleByFolder.clear();
@@ -734,7 +878,12 @@ class ModuleManager {
734
878
  for (const [iface, overrides] of importOverrides.entries()) {
735
879
  this.validateImportOverrides(moduleId, iface, overrides);
736
880
  connections.set(iface, overrides);
737
- selected.set(iface, overrides[0].module);
881
+ if (overrides[0].module === undefined) {
882
+ selected.delete(iface);
883
+ }
884
+ else {
885
+ selected.set(iface, overrides[0].module);
886
+ }
738
887
  }
739
888
  }
740
889
  addInterfaceSource(sources, interfaceName, module) {
@@ -748,12 +897,7 @@ class ModuleManager {
748
897
  }
749
898
  const connectionIds = new Set();
750
899
  for (const override of overrides) {
751
- const target = this.getModuleEntry(override.module);
752
- const implementsInterface = target?.module.manifest.implements.includes(interfaceName) &&
753
- !target.config.disabledExports?.has(interfaceName);
754
- if (!implementsInterface) {
755
- throw new Error(`Module '${consumerId}' routes '${interfaceName}' to '${override.module}', but that loaded module does not provide the interface.`);
756
- }
900
+ this.validateOverrideSource(consumerId, interfaceName, override.module);
757
901
  if (override.id && connectionIds.has(override.id)) {
758
902
  throw new Error(`Module '${consumerId}' has duplicate connection ID '${override.id}' for '${interfaceName}'.`);
759
903
  }
@@ -762,14 +906,47 @@ class ModuleManager {
762
906
  }
763
907
  }
764
908
  }
765
- configureModuleContexts() {
766
- for (const { module, config } of this.getAllManagedModules()) {
767
- const isProvider = (module.manifest.implements ?? []).some((interfaceName) => !config.disabledExports?.has(interfaceName));
768
- module.setProviderRoutes(this.resolver.buildProviderRoutes(module.id), isProvider);
909
+ validateOverrideSource(consumerId, interfaceName, source) {
910
+ if (source === undefined) {
911
+ this.validateSelfHostedConnection(consumerId, interfaceName);
912
+ return;
913
+ }
914
+ const target = this.getModuleEntry(source);
915
+ const implementsInterface = target?.module.manifest.implements.includes(interfaceName) &&
916
+ !target.config.disabledExports?.has(interfaceName);
917
+ if (!implementsInterface) {
918
+ throw new Error(`Module '${consumerId}' routes '${interfaceName}' to '${source}', but that loaded module does not provide the interface.`);
919
+ }
920
+ }
921
+ validateSelfHostedConnection(consumerId, interfaceName) {
922
+ if (this.hasLiveImplementer(interfaceName, new Set())) {
923
+ throw new Error(`Module '${consumerId}' declares a '${interfaceName}' connection without a source, but loaded modules provide that interface; name the provider.`);
769
924
  }
770
925
  }
771
926
  }
772
927
  exports.ModuleManager = ModuleManager;
928
+ function toBindingConnections(connections) {
929
+ return new Map([...(connections ?? [])].map(([interfaceName, refs]) => [
930
+ interfaceName,
931
+ refs.map(({ module: source, id }) => ({ source, id })),
932
+ ]));
933
+ }
934
+ function toBindingModule(module, config, packages, listed) {
935
+ const manifest = module.manifest.manifest;
936
+ const declared = {
937
+ ...manifest.optionalDependencies,
938
+ ...manifest.dependencies,
939
+ };
940
+ const connections = toBindingConnections(config.importOverrides);
941
+ return {
942
+ id: module.id,
943
+ implements: (module.manifest.implements ?? []).filter((name) => packages.has(name) && !config.disabledExports?.has(name)),
944
+ uses: Object.keys(declared).filter((name) => packages.has(name)),
945
+ connections,
946
+ listedConnections: toBindingConnections(listed.get(module.id)),
947
+ exportPriority: config.exportPriority ?? new Map(),
948
+ };
949
+ }
773
950
  function collectRejectedErrors(results) {
774
951
  return results.flatMap((result) => result.status === "rejected" ? [result.reason] : []);
775
952
  }
@@ -1 +1 @@
1
- {"version":3,"file":"module-manager.js","sourceRoot":"","sources":["../../src/core/module-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"module-manager.js","sourceRoot":"","sources":["../../src/core/module-manager.ts"],"names":[],"mappings":"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"}
@@ -47,5 +47,6 @@ export declare class ModuleManifest {
47
47
  static fromBuildEntry(entry: BuildModuleEntry, fs?: IFileSystem): ModuleManifest;
48
48
  static readManifest(folder: string, fs?: IFileSystem): Promise<ModulePackageJson>;
49
49
  serialize(): BuildModuleEntry;
50
+ relocate(folder: string): ModuleManifest;
50
51
  reload(): Promise<void>;
51
52
  }
@@ -100,6 +100,20 @@ function resolveAliasEntries(folder, manifest) {
100
100
  const aliases = [...rootAliases, ...antelopeAliases];
101
101
  return aliases.length > 0 ? aliases : undefined;
102
102
  }
103
+ function relocatePath(target, from, to) {
104
+ const relative = path.relative(from, target);
105
+ const isInside = relative === "" ||
106
+ (!relative.startsWith(`..${path.sep}`) &&
107
+ relative !== ".." &&
108
+ !path.isAbsolute(relative));
109
+ if (!isInside) {
110
+ return target;
111
+ }
112
+ const moved = path.join(to, relative);
113
+ return target.endsWith(path.sep) && !moved.endsWith(path.sep)
114
+ ? `${moved}${path.sep}`
115
+ : moved;
116
+ }
103
117
  function createManifestState(folder, source, manifest) {
104
118
  const implementedInterfaces = manifest.antelopeJs?.implements ?? [];
105
119
  const baseUrl = path.join(folder, manifest.antelopeJs?.baseUrl ?? "");
@@ -183,6 +197,26 @@ class ModuleManifest {
183
197
  srcAliases: cloneAliasEntries(this.srcAliases),
184
198
  };
185
199
  }
200
+ relocate(folder) {
201
+ const target = path.resolve(folder);
202
+ const move = (filePath) => relocatePath(filePath, this.folder, target);
203
+ const state = {
204
+ main: move(this.main),
205
+ baseUrl: move(this.baseUrl),
206
+ paths: this.paths.map(({ key, values }) => ({
207
+ key,
208
+ values: values.map(move),
209
+ })),
210
+ implements: [...this.implements],
211
+ srcAliases: this.srcAliases?.map(({ alias, replace }) => ({
212
+ alias,
213
+ replace: move(replace),
214
+ })),
215
+ };
216
+ const relocated = new ModuleManifest(target, this.source, this.name, this.manifest, this.fs, state);
217
+ relocated.version = this.version;
218
+ return relocated;
219
+ }
186
220
  async reload() {
187
221
  this.manifest = await ModuleManifest.readManifest(this.folder, this.fs);
188
222
  this.version = this.manifest.version;
@@ -1 +1 @@
1
- {"version":3,"file":"module-manifest.js","sourceRoot":"","sources":["../../src/core/module-manifest.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"module-manifest.js","sourceRoot":"","sources":["../../src/core/module-manifest.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import type { Module } from "./module";
2
2
  export declare class ModuleRegistry {
3
3
  private modules;
4
4
  register(module: Module): void;
5
+ unregister(id: string): void;
5
6
  get(id: string): Module | undefined;
6
7
  list(): string[];
7
8
  clear(): void;
@@ -6,6 +6,9 @@ class ModuleRegistry {
6
6
  register(module) {
7
7
  this.modules.set(module.id, module);
8
8
  }
9
+ unregister(id) {
10
+ this.modules.delete(id);
11
+ }
9
12
  get(id) {
10
13
  return this.modules.get(id);
11
14
  }
@@ -1 +1 @@
1
- {"version":3,"file":"module-registry.js","sourceRoot":"","sources":["../../src/core/module-registry.ts"],"names":[],"mappings":";;;AAEA,MAAa,cAAc;IACjB,OAAO,GAAG,IAAI,GAAG,EAAkB,CAAC;IAE5C,QAAQ,CAAC,MAAc;QACrB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;IACtC,CAAC;IAED,GAAG,CAAC,EAAU;QACZ,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC9B,CAAC;IAED,IAAI;QACF,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IAClC,CAAC;IAED,KAAK;QACH,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;IACvB,CAAC;CACF;AAlBD,wCAkBC"}
1
+ {"version":3,"file":"module-registry.js","sourceRoot":"","sources":["../../src/core/module-registry.ts"],"names":[],"mappings":";;;AAEA,MAAa,cAAc;IACjB,OAAO,GAAG,IAAI,GAAG,EAAkB,CAAC;IAE5C,QAAQ,CAAC,MAAc;QACrB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;IACtC,CAAC;IAED,UAAU,CAAC,EAAU;QACnB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC1B,CAAC;IAED,GAAG,CAAC,EAAU;QACZ,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC9B,CAAC;IAED,IAAI;QACF,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IAClC,CAAC;IAED,KAAK;QACH,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;IACvB,CAAC;CACF;AAtBD,wCAsBC"}