@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/build.js CHANGED
@@ -16602,6 +16602,13 @@ ${fields}
16602
16602
  }
16603
16603
  result += source.slice(lastIndex);
16604
16604
  return result;
16605
+ }, PROVIDERS_INJECTION_BLOCK_RE, readPreservedInjection = async (targetPath) => {
16606
+ try {
16607
+ const existing = await fs5.readFile(targetPath, "utf-8");
16608
+ return PROVIDERS_INJECTION_BLOCK_RE.exec(existing)?.[0] ?? "";
16609
+ } catch {
16610
+ return "";
16611
+ }
16605
16612
  }, compileAngularFileJIT = async (inputPath, outDir, rootDir, stylePreprocessors, cacheBuster) => {
16606
16613
  const entryPath = resolve22(inputPath);
16607
16614
  const allOutputs = [];
@@ -16759,8 +16766,9 @@ ${fields}
16759
16766
  const shouldWriteFile = cacheBuster && isEntry ? true : jitContentCache.get(cacheKey2) !== contentHash || !existsSync23(targetPath);
16760
16767
  if (shouldWriteFile) {
16761
16768
  const processedContent = transpileAndRewrite(sourceCode, relativeDir, actualPath, importRewrites);
16769
+ const preservedInjection = await readPreservedInjection(targetPath);
16762
16770
  await fs5.mkdir(targetDir, { recursive: true });
16763
- await fs5.writeFile(targetPath, processedContent, "utf-8");
16771
+ await fs5.writeFile(targetPath, processedContent + preservedInjection, "utf-8");
16764
16772
  jitContentCache.set(cacheKey2, contentHash);
16765
16773
  }
16766
16774
  allOutputs.push(targetPath);
@@ -17146,6 +17154,7 @@ var init_compileAngular = __esm(() => {
17146
17154
  hmrClientPath5 = join30(devClientDir4, "hmrClient.ts").replace(/\\/g, "/");
17147
17155
  jitContentCache = new Map;
17148
17156
  wrapperOutputCache = new Map;
17157
+ PROVIDERS_INJECTION_BLOCK_RE = /\n\/\* __ABS_PROVIDERS_INJECTION_START \*\/[\s\S]*?\/\* __ABS_PROVIDERS_INJECTION_END \*\/\n?/;
17149
17158
  });
17150
17159
 
17151
17160
  // src/dev/angular/hmrImportGenerator.ts
@@ -29178,6 +29187,7 @@ var FRAMEWORK_DIR_KEYS, collectDepVendorSourceDirs = (config) => {
29178
29187
  const state = cached.hmrState;
29179
29188
  await waitForRebuild(state);
29180
29189
  state.isRebuilding = true;
29190
+ state.fileChangeQueue.clear();
29181
29191
  try {
29182
29192
  const buildResult = await build({
29183
29193
  ...state.config,
@@ -29200,7 +29210,10 @@ var FRAMEWORK_DIR_KEYS, collectDepVendorSourceDirs = (config) => {
29200
29210
  } catch {} finally {
29201
29211
  state.rebuildCount++;
29202
29212
  state.isRebuilding = false;
29203
- state.fileChangeQueue.clear();
29213
+ drainPendingQueue(state, state.config, (newBuildResult) => {
29214
+ Object.assign(cached.manifest, newBuildResult.manifest);
29215
+ state.manifest = cached.manifest;
29216
+ });
29204
29217
  }
29205
29218
  }, handleCachedReload = async () => {
29206
29219
  const serverMtime = statSync7(resolve43(Bun.main)).mtimeMs;
@@ -29315,6 +29328,56 @@ var FRAMEWORK_DIR_KEYS, collectDepVendorSourceDirs = (config) => {
29315
29328
  stepStartedAt = performance.now();
29316
29329
  await resolveAbsoluteVersion2();
29317
29330
  recordStep("resolve version", stepStartedAt);
29331
+ const manifest = {};
29332
+ stepStartedAt = performance.now();
29333
+ const onWatcherRebuildComplete = (newBuildResult) => {
29334
+ Object.assign(manifest, newBuildResult.manifest);
29335
+ state.manifest = manifest;
29336
+ };
29337
+ const settleRecoveryQueue = () => {
29338
+ if (state.initialBuildFailed) {
29339
+ state.fileChangeQueue.clear();
29340
+ return;
29341
+ }
29342
+ drainPendingQueue(state, config, onWatcherRebuildComplete);
29343
+ };
29344
+ const recoverFromColdStartFailure = async () => {
29345
+ await waitForRebuild(state);
29346
+ state.isRebuilding = true;
29347
+ state.fileChangeQueue.clear();
29348
+ try {
29349
+ const recoveryResult = await build({
29350
+ ...config,
29351
+ mode: "development",
29352
+ options: {
29353
+ ...config.options,
29354
+ injectHMR: true,
29355
+ throwOnError: true
29356
+ }
29357
+ });
29358
+ if (recoveryResult?.manifest) {
29359
+ Object.assign(manifest, recoveryResult.manifest);
29360
+ state.manifest = manifest;
29361
+ await populateAssetStore(state.assetStore, manifest, state.resolvedPaths.buildDir);
29362
+ state.initialBuildFailed = false;
29363
+ console.log("[hmr] cold-start recovery rebuild succeeded \u2014 manifest populated.");
29364
+ }
29365
+ } catch {} finally {
29366
+ state.rebuildCount++;
29367
+ state.isRebuilding = false;
29368
+ settleRecoveryQueue();
29369
+ }
29370
+ };
29371
+ state.isRebuilding = true;
29372
+ startFileWatching(state, config, (filePath) => {
29373
+ if (state.initialBuildFailed) {
29374
+ recoverFromColdStartFailure();
29375
+ return;
29376
+ }
29377
+ queueFileChange(state, filePath, config, onWatcherRebuildComplete);
29378
+ });
29379
+ console.log("[hmr] watching for file changes \u2014 edits saved during the boot build are queued.");
29380
+ recordStep("start file watching", stepStartedAt);
29318
29381
  const buildStart = performance.now();
29319
29382
  let buildResult = null;
29320
29383
  try {
@@ -29335,7 +29398,7 @@ var FRAMEWORK_DIR_KEYS, collectDepVendorSourceDirs = (config) => {
29335
29398
  }
29336
29399
  state.initialBuildFailed = true;
29337
29400
  }
29338
- const manifest = buildResult?.manifest ?? {};
29401
+ Object.assign(manifest, buildResult?.manifest ?? {});
29339
29402
  const conventions = buildResult?.conventions ?? {};
29340
29403
  if (buildResult?.errors && buildResult.errors.length > 0) {
29341
29404
  state.lastBuildErrors = buildResult.errors;
@@ -29422,44 +29485,14 @@ var FRAMEWORK_DIR_KEYS, collectDepVendorSourceDirs = (config) => {
29422
29485
  recordStep("warm tailwind compiler", stepStartedAt);
29423
29486
  }
29424
29487
  state.manifest = manifest;
29425
- stepStartedAt = performance.now();
29426
- const recoverFromColdStartFailure = async () => {
29427
- await waitForRebuild(state);
29428
- state.isRebuilding = true;
29429
- try {
29430
- const recoveryResult = await build({
29431
- ...config,
29432
- mode: "development",
29433
- options: {
29434
- ...config.options,
29435
- injectHMR: true,
29436
- throwOnError: true
29437
- }
29438
- });
29439
- if (recoveryResult?.manifest) {
29440
- Object.assign(manifest, recoveryResult.manifest);
29441
- state.manifest = manifest;
29442
- await populateAssetStore(state.assetStore, manifest, state.resolvedPaths.buildDir);
29443
- state.initialBuildFailed = false;
29444
- console.log("[hmr] cold-start recovery rebuild succeeded \u2014 manifest populated.");
29445
- }
29446
- } catch {} finally {
29447
- state.rebuildCount++;
29448
- state.isRebuilding = false;
29449
- state.fileChangeQueue.clear();
29450
- }
29451
- };
29452
- startFileWatching(state, config, (filePath) => {
29453
- if (state.initialBuildFailed) {
29454
- recoverFromColdStartFailure();
29455
- return;
29456
- }
29457
- queueFileChange(state, filePath, config, (newBuildResult) => {
29458
- Object.assign(manifest, newBuildResult.manifest);
29459
- state.manifest = manifest;
29460
- });
29461
- });
29462
- recordStep("start file watching", stepStartedAt);
29488
+ state.isRebuilding = false;
29489
+ if (state.fileChangeQueue.size > 0 && state.initialBuildFailed) {
29490
+ state.fileChangeQueue.clear();
29491
+ recoverFromColdStartFailure();
29492
+ } else if (state.fileChangeQueue.size > 0) {
29493
+ console.log("[hmr] edits landed during the boot build \u2014 rebuilding to pick them up.");
29494
+ drainPendingQueue(state, config, onWatcherRebuildComplete);
29495
+ }
29463
29496
  globalThis.__hmrBuildDuration = performance.now() - buildStart;
29464
29497
  logStartupTimingBlock("AbsoluteJS devBuild timing", startupSteps);
29465
29498
  const result = {
@@ -29508,5 +29541,5 @@ export {
29508
29541
  build
29509
29542
  };
29510
29543
 
29511
- //# debugId=048B99A485D77DD464756E2164756E21
29544
+ //# debugId=7C5E67F852AE207064756E2164756E21
29512
29545
  //# sourceMappingURL=build.js.map