@absolutejs/absolute 0.19.0-beta.1102 → 0.19.0-beta.1104

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/index.js CHANGED
@@ -26696,6 +26696,13 @@ ${fields}
26696
26696
  }
26697
26697
  result += source.slice(lastIndex);
26698
26698
  return result;
26699
+ }, PROVIDERS_INJECTION_BLOCK_RE, readPreservedInjection = async (targetPath) => {
26700
+ try {
26701
+ const existing = await fs5.readFile(targetPath, "utf-8");
26702
+ return PROVIDERS_INJECTION_BLOCK_RE.exec(existing)?.[0] ?? "";
26703
+ } catch {
26704
+ return "";
26705
+ }
26699
26706
  }, compileAngularFileJIT = async (inputPath, outDir, rootDir, stylePreprocessors, cacheBuster) => {
26700
26707
  const entryPath = resolve25(inputPath);
26701
26708
  const allOutputs = [];
@@ -26853,8 +26860,9 @@ ${fields}
26853
26860
  const shouldWriteFile = cacheBuster && isEntry ? true : jitContentCache.get(cacheKey2) !== contentHash || !existsSync26(targetPath);
26854
26861
  if (shouldWriteFile) {
26855
26862
  const processedContent = transpileAndRewrite(sourceCode, relativeDir, actualPath, importRewrites);
26863
+ const preservedInjection = await readPreservedInjection(targetPath);
26856
26864
  await fs5.mkdir(targetDir, { recursive: true });
26857
- await fs5.writeFile(targetPath, processedContent, "utf-8");
26865
+ await fs5.writeFile(targetPath, processedContent + preservedInjection, "utf-8");
26858
26866
  jitContentCache.set(cacheKey2, contentHash);
26859
26867
  }
26860
26868
  allOutputs.push(targetPath);
@@ -27240,6 +27248,7 @@ var init_compileAngular = __esm(() => {
27240
27248
  hmrClientPath5 = join34(devClientDir4, "hmrClient.ts").replace(/\\/g, "/");
27241
27249
  jitContentCache = new Map;
27242
27250
  wrapperOutputCache = new Map;
27251
+ PROVIDERS_INJECTION_BLOCK_RE = /\n\/\* __ABS_PROVIDERS_INJECTION_START \*\/[\s\S]*?\/\* __ABS_PROVIDERS_INJECTION_END \*\/\n?/;
27243
27252
  });
27244
27253
 
27245
27254
  // src/dev/angular/hmrImportGenerator.ts
@@ -39012,6 +39021,7 @@ var FRAMEWORK_DIR_KEYS, collectDepVendorSourceDirs = (config2) => {
39012
39021
  const state = cached2.hmrState;
39013
39022
  await waitForRebuild(state);
39014
39023
  state.isRebuilding = true;
39024
+ state.fileChangeQueue.clear();
39015
39025
  try {
39016
39026
  const buildResult = await build2({
39017
39027
  ...state.config,
@@ -39034,7 +39044,10 @@ var FRAMEWORK_DIR_KEYS, collectDepVendorSourceDirs = (config2) => {
39034
39044
  } catch {} finally {
39035
39045
  state.rebuildCount++;
39036
39046
  state.isRebuilding = false;
39037
- state.fileChangeQueue.clear();
39047
+ drainPendingQueue(state, state.config, (newBuildResult) => {
39048
+ Object.assign(cached2.manifest, newBuildResult.manifest);
39049
+ state.manifest = cached2.manifest;
39050
+ });
39038
39051
  }
39039
39052
  }, handleCachedReload = async () => {
39040
39053
  const serverMtime = statSync7(resolve44(Bun.main)).mtimeMs;
@@ -39149,6 +39162,56 @@ var FRAMEWORK_DIR_KEYS, collectDepVendorSourceDirs = (config2) => {
39149
39162
  stepStartedAt = performance.now();
39150
39163
  await resolveAbsoluteVersion2();
39151
39164
  recordStep("resolve version", stepStartedAt);
39165
+ const manifest = {};
39166
+ stepStartedAt = performance.now();
39167
+ const onWatcherRebuildComplete = (newBuildResult) => {
39168
+ Object.assign(manifest, newBuildResult.manifest);
39169
+ state.manifest = manifest;
39170
+ };
39171
+ const settleRecoveryQueue = () => {
39172
+ if (state.initialBuildFailed) {
39173
+ state.fileChangeQueue.clear();
39174
+ return;
39175
+ }
39176
+ drainPendingQueue(state, config2, onWatcherRebuildComplete);
39177
+ };
39178
+ const recoverFromColdStartFailure = async () => {
39179
+ await waitForRebuild(state);
39180
+ state.isRebuilding = true;
39181
+ state.fileChangeQueue.clear();
39182
+ try {
39183
+ const recoveryResult = await build2({
39184
+ ...config2,
39185
+ mode: "development",
39186
+ options: {
39187
+ ...config2.options,
39188
+ injectHMR: true,
39189
+ throwOnError: true
39190
+ }
39191
+ });
39192
+ if (recoveryResult?.manifest) {
39193
+ Object.assign(manifest, recoveryResult.manifest);
39194
+ state.manifest = manifest;
39195
+ await populateAssetStore(state.assetStore, manifest, state.resolvedPaths.buildDir);
39196
+ state.initialBuildFailed = false;
39197
+ console.log("[hmr] cold-start recovery rebuild succeeded \u2014 manifest populated.");
39198
+ }
39199
+ } catch {} finally {
39200
+ state.rebuildCount++;
39201
+ state.isRebuilding = false;
39202
+ settleRecoveryQueue();
39203
+ }
39204
+ };
39205
+ state.isRebuilding = true;
39206
+ startFileWatching(state, config2, (filePath) => {
39207
+ if (state.initialBuildFailed) {
39208
+ recoverFromColdStartFailure();
39209
+ return;
39210
+ }
39211
+ queueFileChange(state, filePath, config2, onWatcherRebuildComplete);
39212
+ });
39213
+ console.log("[hmr] watching for file changes \u2014 edits saved during the boot build are queued.");
39214
+ recordStep("start file watching", stepStartedAt);
39152
39215
  const buildStart = performance.now();
39153
39216
  let buildResult = null;
39154
39217
  try {
@@ -39169,7 +39232,7 @@ var FRAMEWORK_DIR_KEYS, collectDepVendorSourceDirs = (config2) => {
39169
39232
  }
39170
39233
  state.initialBuildFailed = true;
39171
39234
  }
39172
- const manifest = buildResult?.manifest ?? {};
39235
+ Object.assign(manifest, buildResult?.manifest ?? {});
39173
39236
  const conventions2 = buildResult?.conventions ?? {};
39174
39237
  if (buildResult?.errors && buildResult.errors.length > 0) {
39175
39238
  state.lastBuildErrors = buildResult.errors;
@@ -39256,44 +39319,14 @@ var FRAMEWORK_DIR_KEYS, collectDepVendorSourceDirs = (config2) => {
39256
39319
  recordStep("warm tailwind compiler", stepStartedAt);
39257
39320
  }
39258
39321
  state.manifest = manifest;
39259
- stepStartedAt = performance.now();
39260
- const recoverFromColdStartFailure = async () => {
39261
- await waitForRebuild(state);
39262
- state.isRebuilding = true;
39263
- try {
39264
- const recoveryResult = await build2({
39265
- ...config2,
39266
- mode: "development",
39267
- options: {
39268
- ...config2.options,
39269
- injectHMR: true,
39270
- throwOnError: true
39271
- }
39272
- });
39273
- if (recoveryResult?.manifest) {
39274
- Object.assign(manifest, recoveryResult.manifest);
39275
- state.manifest = manifest;
39276
- await populateAssetStore(state.assetStore, manifest, state.resolvedPaths.buildDir);
39277
- state.initialBuildFailed = false;
39278
- console.log("[hmr] cold-start recovery rebuild succeeded \u2014 manifest populated.");
39279
- }
39280
- } catch {} finally {
39281
- state.rebuildCount++;
39282
- state.isRebuilding = false;
39283
- state.fileChangeQueue.clear();
39284
- }
39285
- };
39286
- startFileWatching(state, config2, (filePath) => {
39287
- if (state.initialBuildFailed) {
39288
- recoverFromColdStartFailure();
39289
- return;
39290
- }
39291
- queueFileChange(state, filePath, config2, (newBuildResult) => {
39292
- Object.assign(manifest, newBuildResult.manifest);
39293
- state.manifest = manifest;
39294
- });
39295
- });
39296
- recordStep("start file watching", stepStartedAt);
39322
+ state.isRebuilding = false;
39323
+ if (state.fileChangeQueue.size > 0 && state.initialBuildFailed) {
39324
+ state.fileChangeQueue.clear();
39325
+ recoverFromColdStartFailure();
39326
+ } else if (state.fileChangeQueue.size > 0) {
39327
+ console.log("[hmr] edits landed during the boot build \u2014 rebuilding to pick them up.");
39328
+ drainPendingQueue(state, config2, onWatcherRebuildComplete);
39329
+ }
39297
39330
  globalThis.__hmrBuildDuration = performance.now() - buildStart;
39298
39331
  logStartupTimingBlock("AbsoluteJS devBuild timing", startupSteps);
39299
39332
  const result = {
@@ -48293,5 +48326,5 @@ export {
48293
48326
  ANGULAR_INIT_TIMEOUT_MS
48294
48327
  };
48295
48328
 
48296
- //# debugId=F58B9944578FD0D464756E2164756E21
48329
+ //# debugId=76B5B89ABE03384164756E2164756E21
48297
48330
  //# sourceMappingURL=index.js.map