@antelopejs/core 1.13.4 → 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.
Files changed (101) hide show
  1. package/dist/core/build/build-artifact.d.ts +2 -1
  2. package/dist/core/build/build-artifact.js.map +1 -1
  3. package/dist/core/cli/command.d.ts +2 -1
  4. package/dist/core/cli/command.js +36 -22
  5. package/dist/core/cli/command.js.map +1 -1
  6. package/dist/core/cli/output/interface-conflicts.d.ts +3 -0
  7. package/dist/core/cli/output/interface-conflicts.js +61 -0
  8. package/dist/core/cli/output/interface-conflicts.js.map +1 -0
  9. package/dist/core/cli/output/translations.js +5 -0
  10. package/dist/core/cli/output/translations.js.map +1 -1
  11. package/dist/core/config/config-parser.d.ts +1 -0
  12. package/dist/core/config/config-parser.js +11 -0
  13. package/dist/core/config/config-parser.js.map +1 -1
  14. package/dist/core/config/config-paths.d.ts +1 -0
  15. package/dist/core/config/config-paths.js +3 -2
  16. package/dist/core/config/config-paths.js.map +1 -1
  17. package/dist/core/embedded/prepare-embedded.js +5 -4
  18. package/dist/core/embedded/prepare-embedded.js.map +1 -1
  19. package/dist/core/embedded/types.d.ts +1 -0
  20. package/dist/core/interface-registry.d.ts +2 -2
  21. package/dist/core/interface-registry.js +19 -12
  22. package/dist/core/interface-registry.js.map +1 -1
  23. package/dist/core/module-isolation.d.ts +18 -0
  24. package/dist/core/module-isolation.js +107 -0
  25. package/dist/core/module-isolation.js.map +1 -0
  26. package/dist/core/module-manager.d.ts +21 -3
  27. package/dist/core/module-manager.js +217 -39
  28. package/dist/core/module-manager.js.map +1 -1
  29. package/dist/core/module-manifest.d.ts +1 -0
  30. package/dist/core/module-manifest.js +34 -0
  31. package/dist/core/module-manifest.js.map +1 -1
  32. package/dist/core/module-registry.d.ts +1 -0
  33. package/dist/core/module-registry.js +3 -0
  34. package/dist/core/module-registry.js.map +1 -1
  35. package/dist/core/module.d.ts +1 -3
  36. package/dist/core/module.js +0 -18
  37. package/dist/core/module.js.map +1 -1
  38. package/dist/core/resolution/binding-diagnostics.d.ts +30 -0
  39. package/dist/core/resolution/binding-diagnostics.js +65 -0
  40. package/dist/core/resolution/binding-diagnostics.js.map +1 -0
  41. package/dist/core/resolution/binding-graph-order.d.ts +3 -0
  42. package/dist/core/resolution/binding-graph-order.js +49 -0
  43. package/dist/core/resolution/binding-graph-order.js.map +1 -0
  44. package/dist/core/resolution/binding-graph-types.d.ts +46 -0
  45. package/dist/core/resolution/binding-graph-types.js +3 -0
  46. package/dist/core/resolution/binding-graph-types.js.map +1 -0
  47. package/dist/core/resolution/binding-graph-warnings.d.ts +11 -0
  48. package/dist/core/resolution/binding-graph-warnings.js +73 -0
  49. package/dist/core/resolution/binding-graph-warnings.js.map +1 -0
  50. package/dist/core/resolution/binding-graph.d.ts +2 -0
  51. package/dist/core/resolution/binding-graph.js +375 -0
  52. package/dist/core/resolution/binding-graph.js.map +1 -0
  53. package/dist/core/resolution/binding-providers.d.ts +11 -0
  54. package/dist/core/resolution/binding-providers.js +47 -0
  55. package/dist/core/resolution/binding-providers.js.map +1 -0
  56. package/dist/core/resolution/instance-copies.d.ts +5 -0
  57. package/dist/core/resolution/instance-copies.js +109 -0
  58. package/dist/core/resolution/instance-copies.js.map +1 -0
  59. package/dist/core/resolution/interface-dependencies.d.ts +1 -0
  60. package/dist/core/resolution/interface-dependencies.js +27 -0
  61. package/dist/core/resolution/interface-dependencies.js.map +1 -0
  62. package/dist/core/resolution/interface-instances.d.ts +28 -0
  63. package/dist/core/resolution/interface-instances.js +188 -0
  64. package/dist/core/resolution/interface-instances.js.map +1 -0
  65. package/dist/core/resolution/interface-resolution-error.d.ts +24 -0
  66. package/dist/core/resolution/interface-resolution-error.js +30 -0
  67. package/dist/core/resolution/interface-resolution-error.js.map +1 -0
  68. package/dist/core/resolution/resolver-detour.js +14 -22
  69. package/dist/core/resolution/resolver-detour.js.map +1 -1
  70. package/dist/core/resolution/resolver.d.ts +30 -72
  71. package/dist/core/resolution/resolver.js +201 -659
  72. package/dist/core/resolution/resolver.js.map +1 -1
  73. package/dist/core/runtime/build-runtime.d.ts +1 -1
  74. package/dist/core/runtime/build-runtime.js +9 -1
  75. package/dist/core/runtime/build-runtime.js.map +1 -1
  76. package/dist/core/runtime/dev-server-registry.js +1 -1
  77. package/dist/core/runtime/dev-server-registry.js.map +1 -1
  78. package/dist/core/runtime/launch-sequence.js +68 -24
  79. package/dist/core/runtime/launch-sequence.js.map +1 -1
  80. package/dist/core/runtime/launch-steps.d.ts +5 -0
  81. package/dist/core/runtime/launch-steps.js +26 -0
  82. package/dist/core/runtime/launch-steps.js.map +1 -0
  83. package/dist/core/runtime/module-loading.d.ts +1 -0
  84. package/dist/core/runtime/module-loading.js +18 -5
  85. package/dist/core/runtime/module-loading.js.map +1 -1
  86. package/dist/core/runtime/project-launch.js +33 -12
  87. package/dist/core/runtime/project-launch.js.map +1 -1
  88. package/dist/core/runtime/runtime-bootstrap.js +0 -3
  89. package/dist/core/runtime/runtime-bootstrap.js.map +1 -1
  90. package/dist/core/runtime/runtime-policy.js.map +1 -1
  91. package/dist/core/runtime/runtime-types.d.ts +3 -2
  92. package/dist/core/shutdown/shutdown-manager.d.ts +2 -0
  93. package/dist/core/shutdown/shutdown-manager.js +11 -2
  94. package/dist/core/shutdown/shutdown-manager.js.map +1 -1
  95. package/dist/core/version-checker.d.ts +2 -2
  96. package/dist/core/version-checker.js +49 -31
  97. package/dist/core/version-checker.js.map +1 -1
  98. package/dist/core/watch/file-watcher.d.ts +7 -0
  99. package/dist/core/watch/file-watcher.js +70 -14
  100. package/dist/core/watch/file-watcher.js.map +1 -1
  101. package/package.json +2 -2
@@ -32,12 +32,17 @@ var __importStar = (this && this.__importStar) || (function () {
32
32
  return result;
33
33
  };
34
34
  })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
35
38
  Object.defineProperty(exports, "__esModule", { value: true });
36
39
  exports.startProject = startProject;
37
40
  exports.launchFromBuild = launchFromBuild;
41
+ const node_path_1 = __importDefault(require("node:path"));
38
42
  const node_stream_1 = require("node:stream");
39
43
  const logging_1 = require("@antelopejs/interface-core/logging");
40
44
  const process_claim_1 = require("./process-claim");
45
+ const launch_steps_1 = require("./launch-steps");
41
46
  const runtime_bootstrap_1 = require("./runtime-bootstrap");
42
47
  const config_paths_1 = require("../config/config-paths");
43
48
  const runtime_policy_1 = require("./runtime-policy");
@@ -55,6 +60,10 @@ function keepRunningThroughFailedReloads(shutdownManager) {
55
60
  withdraw();
56
61
  }, SHUTDOWN_PRIORITY_CLEANUP);
57
62
  }
63
+ function excludeProjectState(watcher, projectFolder, loaderContext) {
64
+ watcher.excludePath(node_path_1.default.resolve(projectFolder, config_paths_1.PROJECT_STATE_DIR));
65
+ watcher.excludePath(node_path_1.default.resolve(projectFolder, loaderContext.cache.path));
66
+ }
58
67
  async function setupWatching(manager, fs, projectFolder, env, options, shutdownManager, loaderContext) {
59
68
  const [{ FileWatcher }, { HotReload }, moduleLoading] = await Promise.all([
60
69
  Promise.resolve().then(() => __importStar(require("../watch/file-watcher"))),
@@ -62,6 +71,7 @@ async function setupWatching(manager, fs, projectFolder, env, options, shutdownM
62
71
  Promise.resolve().then(() => __importStar(require("./module-loading"))),
63
72
  ]);
64
73
  const watcher = new FileWatcher(fs);
74
+ excludeProjectState(watcher, projectFolder, loaderContext);
65
75
  const loadedSignatures = new Map();
66
76
  const hotReload = new HotReload(async (moduleId) => {
67
77
  const signature = watcher.getModuleSignature(moduleId);
@@ -93,27 +103,38 @@ async function setupWatching(manager, fs, projectFolder, env, options, shutdownM
93
103
  watcher.onModuleChanged((id) => hotReload.queue(id));
94
104
  watcher.startWatching();
95
105
  }
96
- async function setupPostLaunchFeatures(started, projectFolder, env, options) {
97
- const { manager, shutdownManager } = started;
106
+ function warnAboutUnsupportedOptions({ started, options }) {
98
107
  if (!started.dev && (options.watch || options.interactive)) {
99
108
  Logger.Warn(UNSUPPORTED_ARTIFACT_OPTIONS_WARNING);
100
109
  }
101
- if (started.dev && options.watch) {
102
- await setupWatching(manager, started.fs, projectFolder, env, options, shutdownManager, await started.loadContext());
110
+ }
111
+ async function startWatching({ started, projectFolder, env, options, }) {
112
+ if (!started.dev || !options.watch) {
113
+ return;
103
114
  }
104
- if (started.dev && options.interactive) {
105
- const { ReplSession } = await Promise.resolve().then(() => __importStar(require("../repl/repl-session")));
106
- const repl = new ReplSession({ moduleManager: manager });
107
- shutdownManager.register(async () => {
108
- repl.close();
109
- }, SHUTDOWN_PRIORITY_RESOURCES);
110
- repl.start(INTERACTIVE_PROMPT);
115
+ await setupWatching(started.manager, started.fs, projectFolder, env, options, started.shutdownManager, await started.loadContext());
116
+ }
117
+ async function startInteractiveSession({ started, options, }) {
118
+ if (!started.dev || !options.interactive) {
119
+ return;
111
120
  }
121
+ const { ReplSession } = await Promise.resolve().then(() => __importStar(require("../repl/repl-session")));
122
+ const repl = new ReplSession({ moduleManager: started.manager });
123
+ started.shutdownManager.register(async () => {
124
+ repl.close();
125
+ }, SHUTDOWN_PRIORITY_RESOURCES);
126
+ repl.start(INTERACTIVE_PROMPT);
112
127
  }
128
+ const POST_LAUNCH_STEPS = [
129
+ warnAboutUnsupportedOptions,
130
+ startWatching,
131
+ startInteractiveSession,
132
+ ];
113
133
  async function startProject(prepare, projectFolder, env, options, policy = runtime_policy_1.DEFAULT_RUNTIME_POLICY) {
114
134
  const started = await (0, launch_sequence_1.runLaunchSequence)(prepare, projectFolder, env, options, policy);
135
+ const postLaunch = { started, projectFolder, env, options };
115
136
  try {
116
- await setupPostLaunchFeatures(started, projectFolder, env, options);
137
+ await (0, launch_steps_1.runLaunchSteps)(POST_LAUNCH_STEPS, postLaunch, started.shutdownManager.stopping);
117
138
  return started;
118
139
  }
119
140
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"project-launch.js","sourceRoot":"","sources":["../../../src/core/runtime/project-launch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"project-launch.js","sourceRoot":"","sources":["../../../src/core/runtime/project-launch.ts"],"names":[],"mappings":"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"}
@@ -78,9 +78,6 @@ function setupProcessHandlers(shutdownManager) {
78
78
  logging_1.Logging.Error("Unhandled rejection:", reason);
79
79
  shutdownProcess(EXIT_CODE_ERROR);
80
80
  });
81
- process.on("warning", (warning) => {
82
- logging_1.Logging.Warn("Warning:", warning);
83
- });
84
81
  }
85
82
  function releaseProcessShutdownManager(shutdownManager) {
86
83
  const index = shutdownManagers.indexOf(shutdownManager);
@@ -1 +1 @@
1
- {"version":3,"file":"runtime-bootstrap.js","sourceRoot":"","sources":["../../../src/core/runtime/runtime-bootstrap.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime-bootstrap.js","sourceRoot":"","sources":["../../../src/core/runtime/runtime-bootstrap.ts"],"names":[],"mappings":";;;;;AAqEA,sEAUC;AAED,oDA0BC;AAED,sEAOC;AAED,wDAcC;AAED,oDAQC;AAED,sDAcC;AAMD,8CAYC;AAED,4DAcC;AAhMD,0DAA6B;AAC7B,8DAAuC;AACvC,gEAA6D;AAC7D,+DAA6E;AAE7E,8CAA+C;AAG/C,2DAA0E;AAC1E,2CAA8E;AAO9E,MAAM,eAAe,GAAG,CAAC,CAAC;AAC1B,MAAM,2BAA2B,GAAG,EAAE,CAAC;AACvC,IAAI,oBAAoB,GAAG,KAAK,CAAC;AACjC,IAAI,wBAAwB,GAAG,CAAC,CAAC;AACjC,MAAM,gBAAgB,GAAsB,EAAE,CAAC;AAE/C,SAAS,eAAe,CAAC,QAAgB;IACvC,MAAM,qBAAqB,GAAG,gBAAgB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACtD,IAAI,qBAAqB,EAAE,CAAC;QAC1B,KAAK,qBAAqB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC9C,OAAO;IACT,CAAC;IAED,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACzB,CAAC;AAED,SAAS,uBAAuB,CAAC,MAAe;IAC9C,OAAO,CACL,wBAAwB,GAAG,CAAC;QAC5B,MAAM,YAAY,KAAK;QACvB,MAAM,IAAI,MAAM;QAChB,MAAM,CAAC,IAAI,KAAK,gDAA+B,CAChD,CAAC;AACJ,CAAC;AAMD,SAAS,2BAA2B,CAAC,IAAY,EAAE,MAAe;IAChE,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,EAAE,CAAC;QACrC,OAAO,KAAK,CAAC;IACf,CAAC;IACD,iBAAO,CAAC,KAAK,CACX,GAAG,IAAI,uEAAuE,EAC9E,MAAM,CACP,CAAC;IACF,OAAO,IAAI,CAAC;AACd,CAAC;AAeD,SAAgB,6BAA6B;IAC3C,wBAAwB,IAAI,CAAC,CAAC;IAC9B,IAAI,WAAW,GAAG,KAAK,CAAC;IACxB,OAAO,GAAG,EAAE;QACV,IAAI,WAAW,EAAE,CAAC;YAChB,OAAO;QACT,CAAC;QACD,WAAW,GAAG,IAAI,CAAC;QACnB,wBAAwB,IAAI,CAAC,CAAC;IAChC,CAAC,CAAC;AACJ,CAAC;AAED,SAAgB,oBAAoB,CAAC,eAAiC;IACpE,IAAI,eAAe,EAAE,CAAC;QACpB,6BAA6B,CAAC,eAAe,CAAC,CAAC;QAC/C,gBAAgB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IACzC,CAAC;IAED,IAAI,oBAAoB,EAAE,CAAC;QACzB,OAAO;IACT,CAAC;IAED,oBAAoB,GAAG,IAAI,CAAC;IAC5B,OAAO,CAAC,EAAE,CAAC,mBAAmB,EAAE,CAAC,KAAY,EAAE,EAAE;QAC/C,IAAI,2BAA2B,CAAC,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC;YAC7D,OAAO;QACT,CAAC;QACD,iBAAO,CAAC,KAAK,CAAC,qBAAqB,EAAE,KAAK,CAAC,CAAC;QAC5C,eAAe,CAAC,eAAe,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,EAAE,CAAC,oBAAoB,EAAE,CAAC,MAAW,EAAE,EAAE;QAC/C,IAAI,2BAA2B,CAAC,qBAAqB,EAAE,MAAM,CAAC,EAAE,CAAC;YAC/D,OAAO;QACT,CAAC;QACD,iBAAO,CAAC,KAAK,CAAC,sBAAsB,EAAE,MAAM,CAAC,CAAC;QAC9C,eAAe,CAAC,eAAe,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAgB,6BAA6B,CAC3C,eAAgC;IAEhC,MAAM,KAAK,GAAG,gBAAgB,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IACxD,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;QACjB,gBAAgB,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACpC,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,sBAAsB,CAC1C,IAAsB;IAEtB,MAAM,oBAAoB,GAAG,qBAAY,CAAC,mBAAmB,CAAC;IAC9D,qBAAY,CAAC,mBAAmB,GAAG,IAAI,CAAC,GAAG,CACzC,oBAAoB,EACpB,2BAA2B,CAC5B,CAAC;IAEF,IAAI,CAAC;QACH,OAAO,MAAM,IAAI,EAAE,CAAC;IACtB,CAAC;YAAS,CAAC;QACT,qBAAY,CAAC,mBAAmB,GAAG,oBAAoB,CAAC;IAC1D,CAAC;AACH,CAAC;AAED,SAAgB,oBAAoB,CAAC,OAAkB;IACrD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO;IACT,CAAC;IAED,KAAK,MAAM,OAAO,IAAI,OAAO,EAAE,CAAC;QAC9B,IAAA,0BAAgB,EAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAC/B,CAAC;AACH,CAAC;AAED,SAAgB,qBAAqB,CACnC,YAA0B,EAC1B,aAAqB;IAErB,MAAM,aAAa,GAAG,mBAAI,CAAC,UAAU,CAAC,YAAY,CAAC,WAAW,CAAC;QAC7D,CAAC,CAAC,YAAY,CAAC,WAAW;QAC1B,CAAC,CAAC,mBAAI,CAAC,IAAI,CAAC,aAAa,EAAE,YAAY,CAAC,WAAW,CAAC,CAAC;IAEvD,OAAO;QACL,GAAG,YAAY;QACf,OAAO,EAAE,YAAY,CAAC,OAAO,IAAI,EAAE;QACnC,WAAW,EAAE,aAAa;QAC1B,aAAa,EAAE,mBAAI,CAAC,OAAO,CAAC,aAAa,CAAC;KAC3C,CAAC;AACJ,CAAC;AAMM,KAAK,UAAU,iBAAiB,CACrC,aAAqB,EACrB,GAAW;IAEX,MAAM,EAAE,GAAG,IAAI,2BAAc,EAAE,CAAC;IAChC,MAAM,MAAM,GAAG,IAAI,4BAAY,CAAC,EAAE,CAAC,CAAC;IACpC,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;IAE3D,OAAO;QACL,EAAE;QACF,gBAAgB,EAAE,qBAAqB,CAAC,YAAY,EAAE,aAAa,CAAC;KACrE,CAAC;AACJ,CAAC;AAEM,KAAK,UAAU,wBAAwB,CAC5C,aAAqB,EACrB,GAAW,EACX,OAAqC,EACrC,eAAiC;IAEjC,oBAAoB,CAAC,eAAe,CAAC,CAAC;IAEtC,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;IAE3D,IAAA,qCAA2B,EAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAC7D,oBAAoB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAEtC,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"runtime-policy.js","sourceRoot":"","sources":["../../../src/core/runtime/runtime-policy.ts"],"names":[],"mappings":";;;AA0BA,oDAKC;AAnBY,QAAA,sBAAsB,GAA4B,MAAM,CAAC,MAAM,CAAC;IAC3E,eAAe,EAAE,IAAI;IACrB,OAAO,EAAE,IAAI;IACb,QAAQ,EAAE,IAAI;IACd,OAAO,EAAE,IAAI;CACd,CAAC,CAAC;AAEU,QAAA,uBAAuB,GAA4B,MAAM,CAAC,MAAM,CAAC;IAC5E,eAAe,EAAE,KAAK;IACtB,OAAO,EAAE,KAAK;IACd,QAAQ,EAAE,KAAK;IACf,OAAO,EAAE,KAAK;CACf,CAAC,CAAC;AAEH,SAAgB,oBAAoB,CAClC,YAAoC,EAAE,EACtC,OAAgC,8BAAsB;IAEtD,OAAO,EAAE,GAAG,IAAI,EAAE,GAAG,SAAS,EAAE,CAAC;AACnC,CAAC"}
1
+ {"version":3,"file":"runtime-policy.js","sourceRoot":"","sources":["../../../src/core/runtime/runtime-policy.ts"],"names":[],"mappings":";;;AA6BA,oDAKC;AAnBY,QAAA,sBAAsB,GAA4B,MAAM,CAAC,MAAM,CAAC;IAC3E,eAAe,EAAE,IAAI;IACrB,OAAO,EAAE,IAAI;IACb,QAAQ,EAAE,IAAI;IACd,OAAO,EAAE,IAAI;CACd,CAAC,CAAC;AAEU,QAAA,uBAAuB,GAA4B,MAAM,CAAC,MAAM,CAAC;IAC5E,eAAe,EAAE,KAAK;IACtB,OAAO,EAAE,KAAK;IACd,QAAQ,EAAE,KAAK;IACf,OAAO,EAAE,KAAK;CACf,CAAC,CAAC;AAEH,SAAgB,oBAAoB,CAClC,YAAoC,EAAE,EACtC,OAAgC,8BAAsB;IAEtD,OAAO,EAAE,GAAG,IAAI,EAAE,GAAG,SAAS,EAAE,CAAC;AACnC,CAAC"}
@@ -9,7 +9,7 @@ import type { DownloaderRegistry } from "../downloaders/registry";
9
9
  import type { ExpandedModuleConfig } from "../config/config-parser";
10
10
  import type { ModuleConfig, ModuleManager } from "../module-manager";
11
11
  export interface ModuleOverrideRef {
12
- module: string;
12
+ module?: string;
13
13
  id?: string;
14
14
  }
15
15
  export type ModuleOverrideMap = Map<string, ModuleOverrideRef[]>;
@@ -45,8 +45,9 @@ export interface PreparedProject {
45
45
  dev: boolean;
46
46
  logging?: AntelopeLogging;
47
47
  loadContext: LoaderContextProvider;
48
- verify: () => Promise<void>;
48
+ verify: (stopping: AbortSignal) => Promise<void>;
49
49
  createEntries: () => Promise<ModuleManifestEntry[]>;
50
+ instanceRoot?: string;
50
51
  }
51
52
  export type ProjectPreparer = (projectFolder: string, env: string) => Promise<PreparedProject>;
52
53
  export interface StartedProject {
@@ -22,11 +22,13 @@ export declare class ShutdownManager {
22
22
  private sigintHandler?;
23
23
  private sigtermHandler?;
24
24
  private seenSignals;
25
+ private readonly stopController;
25
26
  constructor(timeoutMs?: number, signalSource?: ProcessSignalSource, signalListener?: SignalShutdownListener);
26
27
  register(handler: ShutdownHandler, priority: number): void;
27
28
  unregister(handler: ShutdownHandler): void;
28
29
  shutdown(exitCode?: number): Promise<void>;
29
30
  get active(): boolean;
31
+ get stopping(): AbortSignal;
30
32
  setupSignalHandlers(): void;
31
33
  removeSignalHandlers(): void;
32
34
  private detachSignalHandler;
@@ -7,6 +7,7 @@ const Logger = new logging_1.Logging.Channel("shutdown");
7
7
  exports.DEFAULT_SHUTDOWN_TIMEOUT_MS = 10000;
8
8
  exports.SHUTDOWN_CLEANUP_TIMEOUT_MS = 3000;
9
9
  const MILLISECONDS_PER_SECOND = 1000;
10
+ const NO_TIME_LEFT_MS = 0;
10
11
  const SIGNAL_EXIT_CODES = {
11
12
  SIGINT: exit_codes_1.CANCELLED_EXIT_CODE,
12
13
  SIGTERM: exit_codes_1.SUCCESS_EXIT_CODE,
@@ -20,6 +21,9 @@ const SILENT_LISTENER = {
20
21
  onStopped: () => undefined,
21
22
  onForced: () => undefined,
22
23
  };
24
+ function timeLeftUntil(deadline) {
25
+ return Math.max(NO_TIME_LEFT_MS, deadline - Date.now());
26
+ }
23
27
  function settleWithin(work, timeoutMs) {
24
28
  let timer;
25
29
  const timeout = new Promise((resolve) => {
@@ -38,6 +42,7 @@ class ShutdownManager {
38
42
  sigintHandler;
39
43
  sigtermHandler;
40
44
  seenSignals = new Set();
45
+ stopController = new AbortController();
41
46
  constructor(timeoutMs = exports.DEFAULT_SHUTDOWN_TIMEOUT_MS, signalSource = process, signalListener = SILENT_LISTENER) {
42
47
  this.timeoutMs = timeoutMs;
43
48
  this.signalSource = signalSource;
@@ -55,12 +60,16 @@ class ShutdownManager {
55
60
  return this.shutdownPromise;
56
61
  }
57
62
  this.isShuttingDown = true;
63
+ this.stopController.abort();
58
64
  this.shutdownPromise = this.executeShutdown();
59
65
  return this.shutdownPromise;
60
66
  }
61
67
  get active() {
62
68
  return this.isShuttingDown;
63
69
  }
70
+ get stopping() {
71
+ return this.stopController.signal;
72
+ }
64
73
  setupSignalHandlers() {
65
74
  if (this.sigintHandler || this.sigtermHandler) {
66
75
  return;
@@ -83,7 +92,7 @@ class ShutdownManager {
83
92
  this.signalSource.removeListener(signal, handler);
84
93
  }
85
94
  handleSignal(signal) {
86
- if (this.isShuttingDown) {
95
+ if (this.seenSignals.size > 0) {
87
96
  this.handleSignalDuringShutdown(signal);
88
97
  return;
89
98
  }
@@ -137,7 +146,7 @@ class ShutdownManager {
137
146
  async runHandlersWithin(handlers, timeoutMs) {
138
147
  const deadline = Date.now() + timeoutMs;
139
148
  for (const [index, { handler }] of handlers.entries()) {
140
- const hasSettled = await settleWithin(this.runHandler(handler), deadline - Date.now());
149
+ const hasSettled = await settleWithin(this.runHandler(handler), timeLeftUntil(deadline));
141
150
  if (!hasSettled) {
142
151
  return { hasTimedOut: true, remaining: handlers.slice(index + 1) };
143
152
  }
@@ -1 +1 @@
1
- {"version":3,"file":"shutdown-manager.js","sourceRoot":"","sources":["../../../src/core/shutdown/shutdown-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shutdown-manager.js","sourceRoot":"","sources":["../../../src/core/shutdown/shutdown-manager.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,6 @@ export declare function bumpVersionSpec(currentSpec: string, latest: string): st
9
9
  export declare function toFloatingSpec(version: string): string;
10
10
  export declare function fetchDistTags(packageName: string): Promise<Record<string, string>>;
11
11
  export declare function validateVersionSpec(packageName: string, spec: string): Promise<void>;
12
- export declare function fetchLatestVersion(packageName: string): Promise<string>;
13
- export declare function checkOutdatedModules(modules: Record<string, ExpandedModuleConfig>): Promise<OutdatedModule[]>;
12
+ export declare function fetchLatestVersion(packageName: string, signal?: AbortSignal): Promise<string>;
13
+ export declare function checkOutdatedModules(modules: Record<string, ExpandedModuleConfig>, signal?: AbortSignal): Promise<OutdatedModule[]>;
14
14
  export declare function warnOutdatedModules(outdated: OutdatedModule[]): void;
@@ -13,9 +13,11 @@ const command_1 = require("./cli/command");
13
13
  const cli_ui_1 = require("./cli/cli-ui");
14
14
  const output_1 = require("./cli/output");
15
15
  const package_manager_1 = require("./cli/package-manager");
16
- const NPM_VIEW_COMMAND = "npm view";
17
- const VERSION_ARGUMENT = "version";
18
- const DIST_TAGS_ARGUMENT = "dist-tags --json";
16
+ const package_manager_name_1 = require("./cli/package-manager-name");
17
+ const REGISTRY_CLIENT = "npm";
18
+ const VIEW_ARGUMENT = "view";
19
+ const VERSION_ARGUMENTS = ["version"];
20
+ const DIST_TAGS_ARGUMENTS = ["dist-tags", "--json"];
19
21
  const CARET_PREFIX = "^";
20
22
  const UPDATE_COMMAND = "ajs project modules update";
21
23
  const SLOW_CHECK_THRESHOLD_MS = 15_000;
@@ -38,12 +40,20 @@ function bumpVersionSpec(currentSpec, latest) {
38
40
  function toFloatingSpec(version) {
39
41
  return `${CARET_PREFIX}${version}`;
40
42
  }
41
- async function fetchDistTags(packageName) {
42
- const command = `${NPM_VIEW_COMMAND} ${packageName} ${DIST_TAGS_ARGUMENT}`;
43
- const result = await (0, command_1.ExecuteCMD)(command, {});
43
+ async function viewPackage(packageName, fieldArguments, signal) {
44
+ const executable = (0, package_manager_name_1.packageManagerExecutable)(REGISTRY_CLIENT);
45
+ const args = [VIEW_ARGUMENT, packageName, ...fieldArguments];
46
+ const result = await (0, command_1.ExecuteFile)(executable, args, { signal });
44
47
  if (result.code !== 0) {
45
- throw new command_1.ExecError({ ...result, command });
48
+ throw new command_1.ExecError({
49
+ ...result,
50
+ command: [executable, ...args].join(" "),
51
+ });
46
52
  }
53
+ return result;
54
+ }
55
+ async function fetchDistTags(packageName) {
56
+ const result = await viewPackage(packageName, DIST_TAGS_ARGUMENTS);
47
57
  return JSON.parse(result.stdout);
48
58
  }
49
59
  async function validateVersionSpec(packageName, spec) {
@@ -58,53 +68,61 @@ async function validateVersionSpec(packageName, spec) {
58
68
  title: `'${spec}' is neither a valid semver range nor a dist-tag of '${packageName}'`,
59
69
  });
60
70
  }
61
- async function fetchLatestVersion(packageName) {
62
- const command = `${NPM_VIEW_COMMAND} ${packageName} ${VERSION_ARGUMENT}`;
63
- const result = await (0, command_1.ExecuteCMD)(command, {});
64
- if (result.code !== 0) {
65
- throw new command_1.ExecError({ ...result, command });
66
- }
71
+ async function fetchLatestVersion(packageName, signal) {
72
+ const result = await viewPackage(packageName, VERSION_ARGUMENTS, signal);
67
73
  return (0, package_manager_1.parsePackageInfoOutput)(result.stdout);
68
74
  }
69
- async function fetchLatestVersions(packageNames) {
75
+ function whenAborted(signal) {
76
+ return new Promise((resolve) => {
77
+ signal?.addEventListener("abort", () => resolve(), { once: true });
78
+ });
79
+ }
80
+ async function fetchLatestVersions(packageNames, signal) {
70
81
  const task = (0, output_1.getProcessTasks)().start(`Checking ${(0, output_1.pluralize)(packageNames.length, "module")} on npm`);
71
82
  const slowWarning = setTimeout(() => {
72
83
  (0, cli_ui_1.warning)("Module version check is taking longer than expected: the npm registry may be slow or unreachable. " +
73
84
  "Set NPM_CONFIG_FETCH_RETRIES=0 to fail fast.");
74
85
  }, SLOW_CHECK_THRESHOLD_MS);
75
86
  try {
76
- return await Promise.allSettled(packageNames.map(fetchLatestVersion));
87
+ return await Promise.race([
88
+ Promise.allSettled(packageNames.map((packageName) => fetchLatestVersion(packageName, signal))),
89
+ whenAborted(signal).then(() => []),
90
+ ]);
77
91
  }
78
92
  finally {
79
93
  clearTimeout(slowWarning);
80
94
  task.dismiss();
81
95
  }
82
96
  }
83
- async function checkOutdatedModules(modules) {
84
- const packageModules = Object.entries(modules).filter(([, info]) => info.source?.type === "package");
85
- if (packageModules.length === 0) {
86
- return [];
87
- }
88
- const results = await fetchLatestVersions(packageModules.map(([, info]) => info.source.package));
97
+ function packageSourceOf(info) {
98
+ return info.source;
99
+ }
100
+ function warnUncheckedPackage(packageName, reason) {
101
+ const truncated = (0, output_1.truncate)((0, output_1.describeFailure)(reason, false).title, MAX_REASON_LENGTH, (0, output_1.getProcessUi)().symbols.ellipsis);
102
+ (0, cli_ui_1.warning)(`Could not check latest version of ${packageName}: ${truncated}`);
103
+ }
104
+ function collectOutdatedModules(packageModules, results) {
89
105
  return packageModules.reduce((outdated, [name, info], index) => {
90
106
  const result = results[index];
91
- const packageName = info.source.package;
107
+ const source = packageSourceOf(info);
92
108
  if (result.status === "rejected") {
93
- const truncated = (0, output_1.truncate)((0, output_1.describeFailure)(result.reason, false).title, MAX_REASON_LENGTH, (0, output_1.getProcessUi)().symbols.ellipsis);
94
- (0, cli_ui_1.warning)(`Could not check latest version of ${packageName}: ${truncated}`);
95
- return outdated;
96
- }
97
- if (!result.value) {
109
+ warnUncheckedPackage(source.package, result.reason);
98
110
  return outdated;
99
111
  }
100
- const current = info.source.version;
101
- const latest = result.value;
102
- if (!isUpToDate(current, latest)) {
103
- outdated.push({ name, current, latest });
112
+ if (result.value && !isUpToDate(source.version, result.value)) {
113
+ outdated.push({ name, current: source.version, latest: result.value });
104
114
  }
105
115
  return outdated;
106
116
  }, []);
107
117
  }
118
+ async function checkOutdatedModules(modules, signal) {
119
+ const packageModules = Object.entries(modules).filter(([, info]) => info.source?.type === "package");
120
+ if (packageModules.length === 0 || signal?.aborted) {
121
+ return [];
122
+ }
123
+ const results = await fetchLatestVersions(packageModules.map(([, info]) => packageSourceOf(info).package), signal);
124
+ return signal?.aborted ? [] : collectOutdatedModules(packageModules, results);
125
+ }
108
126
  function warnOutdatedModules(outdated) {
109
127
  if (outdated.length === 0) {
110
128
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"version-checker.js","sourceRoot":"","sources":["../../src/core/version-checker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"version-checker.js","sourceRoot":"","sources":["../../src/core/version-checker.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,7 @@ export declare class FileWatcher {
9
9
  private moduleFiles;
10
10
  private listeners;
11
11
  private excludedDirs;
12
+ private excludedPaths;
12
13
  private watchers;
13
14
  private watchedDirs;
14
15
  private dirModules;
@@ -17,6 +18,7 @@ export declare class FileWatcher {
17
18
  private stopped;
18
19
  constructor(fs: IFileSystem, hasher?: FileHasher);
19
20
  onModuleChanged(listener: ModuleChangeListener): void;
21
+ excludePath(excludedPath: string): void;
20
22
  scanModule(moduleId: string, rootDir: string, watchDirs?: string[]): Promise<void>;
21
23
  watchFile(filePath: string, listener: FileChangeListener): Promise<void>;
22
24
  startWatching(): void;
@@ -25,12 +27,17 @@ export declare class FileWatcher {
25
27
  private setFileEntry;
26
28
  private deleteFileEntry;
27
29
  handleFileChange(filePath: string): Promise<void>;
30
+ private processFileChange;
28
31
  private handleWatchedFileChange;
29
32
  private handleNewPath;
33
+ private handleRemovedPath;
30
34
  private handleRemovedDir;
31
35
  private pruneDir;
32
36
  getModuleSignature(moduleId: string): string;
33
37
  private exploreDir;
38
+ private exploreEntry;
39
+ private addEntry;
34
40
  private notifyModuleChange;
35
41
  private isExcludedPath;
42
+ private isInsideExcludedPath;
36
43
  }
@@ -39,6 +39,19 @@ const node_crypto_1 = require("node:crypto");
39
39
  const node_fs_1 = require("node:fs");
40
40
  const file_hasher_1 = require("./file-hasher");
41
41
  const EXCLUDED_WATCH_DIRS = [".git", "node_modules"];
42
+ const VANISHED_PATH_ERROR_CODES = new Set(["ENOENT", "ENOTDIR"]);
43
+ function isVanishedPathError(error) {
44
+ if (!(error instanceof Error)) {
45
+ return false;
46
+ }
47
+ const { code } = error;
48
+ return code !== undefined && VANISHED_PATH_ERROR_CODES.has(code);
49
+ }
50
+ function isInsideDir(filePath, dirPath) {
51
+ const relative = path.relative(dirPath, filePath);
52
+ return (relative === "" ||
53
+ (!relative.startsWith("..") && !path.isAbsolute(relative)));
54
+ }
42
55
  class FileWatcher {
43
56
  fs;
44
57
  hasher;
@@ -46,6 +59,7 @@ class FileWatcher {
46
59
  moduleFiles = new Map();
47
60
  listeners = [];
48
61
  excludedDirs = new Set(EXCLUDED_WATCH_DIRS);
62
+ excludedPaths = new Set();
49
63
  watchers = new Map();
50
64
  watchedDirs = new Set();
51
65
  dirModules = new Map();
@@ -59,6 +73,9 @@ class FileWatcher {
59
73
  onModuleChanged(listener) {
60
74
  this.listeners.push(listener);
61
75
  }
76
+ excludePath(excludedPath) {
77
+ this.excludedPaths.add(path.resolve(excludedPath));
78
+ }
62
79
  async scanModule(moduleId, rootDir, watchDirs = [""]) {
63
80
  for (const dir of watchDirs) {
64
81
  await this.exploreDir(moduleId, path.join(rootDir, dir));
@@ -147,6 +164,17 @@ class FileWatcher {
147
164
  if (this.stopped || this.isExcludedPath(filePath)) {
148
165
  return;
149
166
  }
167
+ try {
168
+ await this.processFileChange(filePath);
169
+ }
170
+ catch (error) {
171
+ if (!isVanishedPathError(error)) {
172
+ throw error;
173
+ }
174
+ this.handleRemovedPath(filePath);
175
+ }
176
+ }
177
+ async processFileChange(filePath) {
150
178
  const resolved = path.resolve(filePath);
151
179
  const watchedFile = this.watchedFiles.get(resolved);
152
180
  if (watchedFile) {
@@ -159,8 +187,7 @@ class FileWatcher {
159
187
  return;
160
188
  }
161
189
  if (!(await this.fs.exists(filePath))) {
162
- this.deleteFileEntry(filePath);
163
- this.notifyModuleChange(entry.moduleId);
190
+ this.handleRemovedPath(filePath);
164
191
  return;
165
192
  }
166
193
  const stat = await this.fs.stat(filePath);
@@ -216,6 +243,15 @@ class FileWatcher {
216
243
  this.setFileEntry(filePath, moduleId, hash);
217
244
  this.notifyModuleChange(moduleId);
218
245
  }
246
+ handleRemovedPath(filePath) {
247
+ const entry = this.filesHash.get(filePath);
248
+ if (!entry) {
249
+ this.handleRemovedDir(filePath);
250
+ return;
251
+ }
252
+ this.deleteFileEntry(filePath);
253
+ this.notifyModuleChange(entry.moduleId);
254
+ }
219
255
  handleRemovedDir(dirPath) {
220
256
  if (!this.watchedDirs.has(dirPath)) {
221
257
  return;
@@ -266,18 +302,33 @@ class FileWatcher {
266
302
  this.dirModules.set(dirPath, moduleId);
267
303
  const entries = await this.fs.readdir(dirPath);
268
304
  for (const entry of entries) {
269
- const fullPath = path.join(dirPath, entry);
270
- const stat = await this.fs.stat(fullPath);
271
- if (stat.isDirectory()) {
272
- if (this.excludedDirs.has(entry)) {
273
- continue;
274
- }
275
- await this.exploreDir(moduleId, fullPath);
276
- }
277
- else {
278
- const hash = await this.hasher.hashFile(fullPath);
279
- this.setFileEntry(fullPath, moduleId, hash);
305
+ await this.exploreEntry(moduleId, path.join(dirPath, entry));
306
+ }
307
+ }
308
+ async exploreEntry(moduleId, fullPath) {
309
+ try {
310
+ await this.addEntry(moduleId, fullPath);
311
+ }
312
+ catch (error) {
313
+ if (!isVanishedPathError(error)) {
314
+ throw error;
280
315
  }
316
+ this.pruneDir(fullPath);
317
+ this.deleteFileEntry(fullPath);
318
+ }
319
+ }
320
+ async addEntry(moduleId, fullPath) {
321
+ if (this.isInsideExcludedPath(fullPath)) {
322
+ return;
323
+ }
324
+ const stat = await this.fs.stat(fullPath);
325
+ if (!stat.isDirectory()) {
326
+ const hash = await this.hasher.hashFile(fullPath);
327
+ this.setFileEntry(fullPath, moduleId, hash);
328
+ return;
329
+ }
330
+ if (!this.excludedDirs.has(path.basename(fullPath))) {
331
+ await this.exploreDir(moduleId, fullPath);
281
332
  }
282
333
  }
283
334
  notifyModuleChange(moduleId) {
@@ -291,7 +342,12 @@ class FileWatcher {
291
342
  isExcludedPath(filePath) {
292
343
  const normalized = path.normalize(filePath);
293
344
  const parts = normalized.split(path.sep);
294
- return parts.some((part) => this.excludedDirs.has(part));
345
+ return (parts.some((part) => this.excludedDirs.has(part)) ||
346
+ this.isInsideExcludedPath(filePath));
347
+ }
348
+ isInsideExcludedPath(filePath) {
349
+ const resolved = path.resolve(filePath);
350
+ return [...this.excludedPaths].some((excludedPath) => isInsideDir(resolved, excludedPath));
295
351
  }
296
352
  }
297
353
  exports.FileWatcher = FileWatcher;