@absolutejs/absolute 0.20.0-beta.116 → 0.20.0-beta.117

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 (31) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/changelog.json +24 -1
  3. package/dist/angular/components/core/streamingSlotRegistrar.js +1 -1
  4. package/dist/angular/components/core/streamingSlotRegistry.js +2 -2
  5. package/dist/build.js +9 -4
  6. package/dist/build.js.map +5 -4
  7. package/dist/cli/{androidEmulatorController-nybhzc6c.js → androidEmulatorController-v6chbhem.js} +2 -2
  8. package/dist/cli/{androidNativeWatcher-2930tb8c.js → androidNativeWatcher-mgqws6ag.js} +2 -2
  9. package/dist/cli/{compile-kbhxgjat.js → compile-5m830csy.js} +2 -2
  10. package/dist/cli/{dev-daa7tdht.js → dev-ww30tdrv.js} +10 -7
  11. package/dist/cli/{expoProject-kcfcmfba.js → expoProject-w2pzjwnx.js} +1 -1
  12. package/dist/cli/{index-28pbrd3q.js → index-18q9qc7f.js} +15 -2
  13. package/dist/cli/{index-vjepnxr0.js → index-5268nwjx.js} +1 -1
  14. package/dist/cli/{index-5skbydh0.js → index-hneb973j.js} +1 -1
  15. package/dist/cli/{index-82wpxhvv.js → index-k8r00xh9.js} +1 -1
  16. package/dist/cli/{index-bhcxtf1x.js → index-nxcwg9ma.js} +268 -141
  17. package/dist/cli/{index-qr0pc777.js → index-wtyg9cy0.js} +1 -1
  18. package/dist/cli/index.js +5 -5
  19. package/dist/cli/{iosNativeWatcher-t6gv0p1w.js → iosNativeWatcher-8w1gawg4.js} +2 -2
  20. package/dist/cli/{iosSimulatorController-5n2a9fxv.js → iosSimulatorController-5vhqvhg6.js} +2 -2
  21. package/dist/cli/{mobile-03zwncxx.js → mobile-21vsmrjd.js} +28 -39
  22. package/dist/cli/{start-r606d5v9.js → start-3bhf56tj.js} +3 -3
  23. package/dist/index.js +12 -6
  24. package/dist/index.js.map +6 -5
  25. package/dist/mobile/index.js +207 -100
  26. package/dist/mobile/index.js.map +6 -5
  27. package/dist/mobile/remoteMacAgentEntry.js +251 -184
  28. package/dist/src/dev/serverEntryCopies.d.ts +2 -0
  29. package/dist/src/mobile/capacitorProject.d.ts +4 -0
  30. package/dist/src/mobile/nativePackages.d.ts +10 -0
  31. package/package.json +4 -2
@@ -1,7 +1,7 @@
1
1
  // @bun
2
2
  import {
3
3
  writeAbsoluteCapacitorConfig
4
- } from "./index-28pbrd3q.js";
4
+ } from "./index-18q9qc7f.js";
5
5
  import {
6
6
  ABSOLUTE_ANDROID_AVD_NAME,
7
7
  absoluteManagedAndroidSdkRoot,
package/dist/cli/index.js CHANGED
@@ -58,7 +58,7 @@ if (command === "dev") {
58
58
  }
59
59
  const positionalArgs = stripNamedArgs("--config", "--android-device", "--ios-device").filter((arg) => arg !== "--no-mobile" && arg !== "--eager");
60
60
  const serverEntry = positionalArgs[0] ?? DEFAULT_SERVER_ENTRY;
61
- const { dev } = await import("./dev-daa7tdht.js");
61
+ const { dev } = await import("./dev-ww30tdrv.js");
62
62
  await dev(serverEntry, configPath, {
63
63
  androidDevice,
64
64
  eager: args.includes("--eager"),
@@ -71,7 +71,7 @@ if (command === "dev") {
71
71
  const configPath = parseNamedArg("--config");
72
72
  const positionalArgs = stripNamedArgs("--outdir", "--config").filter((arg) => arg !== "--prebuilt");
73
73
  const serverEntry = positionalArgs[0] ?? DEFAULT_SERVER_ENTRY;
74
- const { start } = await import("./start-r606d5v9.js");
74
+ const { start } = await import("./start-3bhf56tj.js");
75
75
  await start(serverEntry, outdir, configPath, {
76
76
  prebuilt: args.includes("--prebuilt")
77
77
  });
@@ -81,7 +81,7 @@ if (command === "dev") {
81
81
  const configPath = parseNamedArg("--config");
82
82
  const positionalArgs = stripNamedArgs("--outdir", "--config");
83
83
  const serverEntry = positionalArgs[0] ?? DEFAULT_SERVER_ENTRY;
84
- const { start } = await import("./start-r606d5v9.js");
84
+ const { start } = await import("./start-3bhf56tj.js");
85
85
  await start(serverEntry, outdir, configPath, { prepareOnly: true });
86
86
  } else if (command === "build") {
87
87
  sendTelemetryEvent("cli:command", { command });
@@ -197,13 +197,13 @@ if (command === "dev") {
197
197
  const configPath = parseNamedArg("--config");
198
198
  const positionalArgs = stripNamedArgs("--outdir", "--outfile", "--config");
199
199
  const serverEntry = positionalArgs[0] ?? DEFAULT_SERVER_ENTRY;
200
- const { compile } = await import("./compile-kbhxgjat.js");
200
+ const { compile } = await import("./compile-5m830csy.js");
201
201
  await compile(serverEntry, outdir, outfile, configPath);
202
202
  } else if (command === "mobile") {
203
203
  sendTelemetryEvent("cli:command", {
204
204
  command: `mobile:${workspaceCommand ?? "unknown"}`
205
205
  });
206
- const { runMobile } = await import("./mobile-03zwncxx.js");
206
+ const { runMobile } = await import("./mobile-21vsmrjd.js");
207
207
  try {
208
208
  await runMobile(args);
209
209
  } catch (error) {
@@ -1,10 +1,10 @@
1
1
  // @bun
2
2
  import {
3
3
  fingerprintAbsoluteIosDevProject
4
- } from "./index-5skbydh0.js";
4
+ } from "./index-hneb973j.js";
5
5
  import"./index-q1d4ns4n.js";
6
6
  import"./index-j66p8hn5.js";
7
- import"./index-28pbrd3q.js";
7
+ import"./index-18q9qc7f.js";
8
8
  import"./index-knt92dm8.js";
9
9
  import"./index-t84wxk1p.js";
10
10
  import"./index-wtfnv3n2.js";
@@ -10,10 +10,10 @@ import {
10
10
  redactAbsoluteIosLog,
11
11
  repairAbsoluteIosDevSession,
12
12
  startAbsoluteIosDevSession
13
- } from "./index-5skbydh0.js";
13
+ } from "./index-hneb973j.js";
14
14
  import"./index-q1d4ns4n.js";
15
15
  import"./index-j66p8hn5.js";
16
- import"./index-28pbrd3q.js";
16
+ import"./index-18q9qc7f.js";
17
17
  import"./index-knt92dm8.js";
18
18
  import"./index-t84wxk1p.js";
19
19
  import"./index-wtfnv3n2.js";
@@ -7,12 +7,12 @@ import {
7
7
  } from "./index-zh6hhrwy.js";
8
8
  import {
9
9
  start
10
- } from "./index-vjepnxr0.js";
10
+ } from "./index-5268nwjx.js";
11
11
  import {
12
12
  ABSOLUTE_MOBILE_CLIENT_MANIFEST_FORMAT,
13
13
  ABSOLUTE_MOBILE_PAGE_PROTOCOL_VERSION,
14
14
  resolveAbsoluteMobileRoute
15
- } from "./index-82wpxhvv.js";
15
+ } from "./index-k8r00xh9.js";
16
16
  import"./index-bzs19w3r.js";
17
17
  import"./index-s2tazax7.js";
18
18
  import {
@@ -36,7 +36,7 @@ import {
36
36
  ABSOLUTE_IOS_SIMULATOR_NAME,
37
37
  parseIosSimulators,
38
38
  repairAbsoluteIosDevSession
39
- } from "./index-5skbydh0.js";
39
+ } from "./index-hneb973j.js";
40
40
  import {
41
41
  buildAbsoluteIosRelease,
42
42
  requireAbsoluteIosReleaseMetadata,
@@ -60,13 +60,19 @@ import {
60
60
  import {
61
61
  ABSOLUTE_CAPACITOR_ASSETS_SPEC,
62
62
  ABSOLUTE_MOBILE_UPDATE_FORMAT,
63
+ ABSOLUTE_NATIVE_EXACT_PACKAGES,
64
+ CAPACITOR_PACKAGE_SPECS,
65
+ CAPACITOR_SYNC_PACKAGE_SPECS,
63
66
  absoluteDeviceNativeRequirements,
64
67
  absoluteMobileUpdateSigningPayload,
65
68
  assertAbsoluteDeviceCapabilityPackages,
69
+ assertNativePackageVersions,
66
70
  canonicalizeAbsoluteMobileUpdate,
67
71
  discoverAbsoluteSyncSchema,
68
72
  generateAbsoluteCapacitorBranding,
69
73
  inspectAbsoluteMobileBranding,
74
+ packageNameFromSpec,
75
+ packagesNeedingExactInstall,
70
76
  parseAbsoluteMobileUpdateManifest,
71
77
  renderAbsoluteMobileBrandingPreview,
72
78
  resolveAbsoluteDeviceCapabilityPlan,
@@ -74,7 +80,7 @@ import {
74
80
  syncAbsoluteExpoWebAssets,
75
81
  unsignedAbsoluteMobileUpdate,
76
82
  writeAbsoluteExpoProject
77
- } from "./index-bhcxtf1x.js";
83
+ } from "./index-nxcwg9ma.js";
78
84
  import {
79
85
  buildAbsoluteExpoAndroidWslBundle
80
86
  } from "./index-28nxv57v.js";
@@ -90,10 +96,11 @@ import {
90
96
  fingerprintAbsoluteAndroidNativeProject,
91
97
  parseAdbDevices,
92
98
  repairAbsoluteAndroidDevSession
93
- } from "./index-qr0pc777.js";
99
+ } from "./index-wtyg9cy0.js";
94
100
  import {
101
+ prepareAbsoluteCapacitorInitialization,
95
102
  writeAbsoluteCapacitorConfig
96
- } from "./index-28pbrd3q.js";
103
+ } from "./index-18q9qc7f.js";
97
104
  import {
98
105
  ABSOLUTE_ANDROID_AVD_NAME,
99
106
  absoluteManagedAndroidSdkRoot,
@@ -24998,23 +25005,6 @@ var CAPACITOR_PACKAGES = [
24998
25005
  "@absolutejs/devices",
24999
25006
  "@absolutejs/devices-capacitor"
25000
25007
  ];
25001
- var CAPACITOR_PACKAGE_SPECS = [
25002
- "@capacitor/core@8.5.0",
25003
- "@capacitor/app@8.1.1",
25004
- "@capacitor/browser@8.0.4",
25005
- "@capacitor/network@8.0.1",
25006
- "@capacitor/preferences@8.0.1",
25007
- "@capacitor/cli@8.5.0",
25008
- "@capacitor/android@8.5.0",
25009
- "@capacitor/ios@8.5.0",
25010
- "@absolutejs/devices@0.5.0",
25011
- "@absolutejs/devices-capacitor@0.6.1"
25012
- ];
25013
- var CAPACITOR_SYNC_PACKAGE_SPECS = [
25014
- "@absolutejs/sync-capacitor@0.9.1",
25015
- "@capacitor-community/sqlite@8.1.1"
25016
- ];
25017
- var packageNameFromSpec = (spec) => spec.slice(0, spec.lastIndexOf("@"));
25018
25008
  var directProjectPackages = async (projectRoot) => {
25019
25009
  const manifest = JSON.parse(await readFile23(join19(projectRoot, "package.json"), "utf8"));
25020
25010
  if (!isRecord11(manifest))
@@ -25028,15 +25018,6 @@ var directProjectPackages = async (projectRoot) => {
25028
25018
  }
25029
25019
  return names;
25030
25020
  };
25031
- var resolvedPackageVersion = async (projectRoot, packageName) => {
25032
- try {
25033
- const manifest = JSON.parse(await readFile23(join19(projectRoot, "node_modules", packageName, "package.json"), "utf8"));
25034
- return isRecord11(manifest) && typeof manifest.version === "string" ? manifest.version : undefined;
25035
- } catch {
25036
- return;
25037
- }
25038
- };
25039
- var exactVersionFromSpec = (spec) => spec.slice(spec.lastIndexOf("@") + 1);
25040
25021
  var installApprovedPackages = async (projectRoot, args, message, specs, dev = false) => {
25041
25022
  if (specs.length === 0)
25042
25023
  return;
@@ -25046,11 +25027,6 @@ var installApprovedPackages = async (projectRoot, args, message, specs, dev = fa
25046
25027
  if (!installPackages(projectRoot, specs, dev))
25047
25028
  throw new TypeError("Failed to install the AbsoluteJS mobile toolchain.");
25048
25029
  };
25049
- var packagesNeedingExactInstall = async (projectRoot, specs, installed, exactPackages) => (await Promise.all(specs.map(async (spec) => {
25050
- const name = packageNameFromSpec(spec);
25051
- const needsInstall = !installed.has(name) || exactPackages.has(name) && await resolvedPackageVersion(projectRoot, name) !== exactVersionFromSpec(spec);
25052
- return needsInstall ? spec : undefined;
25053
- }))).filter((spec) => spec !== undefined);
25054
25030
  var ensureCapacitorPackages = async (projectRoot, args, mobile) => {
25055
25031
  const specs = [
25056
25032
  ...CAPACITOR_PACKAGE_SPECS,
@@ -25058,12 +25034,14 @@ var ensureCapacitorPackages = async (projectRoot, args, mobile) => {
25058
25034
  ...projectUsesAbsoluteSync(projectRoot) ? CAPACITOR_SYNC_PACKAGE_SPECS : []
25059
25035
  ];
25060
25036
  const installed = await directProjectPackages(projectRoot);
25061
- const missing = await packagesNeedingExactInstall(projectRoot, specs, installed, new Set(["@absolutejs/devices", "@absolutejs/devices-capacitor"]));
25037
+ const missing = await packagesNeedingExactInstall(projectRoot, specs, installed, ABSOLUTE_NATIVE_EXACT_PACKAGES);
25062
25038
  await installApprovedPackages(projectRoot, args, "Capacitor and the AbsoluteJS native adapters are missing or outdated. Install the tested mobile toolchain now?", missing);
25039
+ await assertNativePackageVersions(projectRoot, specs, ABSOLUTE_NATIVE_EXACT_PACKAGES);
25063
25040
  const capabilityPlan = resolveAbsoluteDeviceCapabilityPlan(projectRoot);
25064
25041
  const directCapabilityPackages = await directProjectPackages(projectRoot);
25065
25042
  const capabilityPackages = await packagesNeedingExactInstall(projectRoot, capabilityPlan.requiredPackages, directCapabilityPackages, new Set(capabilityPlan.requiredPackages.map(packageNameFromSpec)));
25066
25043
  await installApprovedPackages(projectRoot, args, `AbsoluteJS detected native device capabilities (${capabilityPlan.capabilities.join(", ")}). Install only their required Capacitor plugins now?`, capabilityPackages);
25044
+ await assertNativePackageVersions(projectRoot, capabilityPlan.requiredPackages, new Set(capabilityPlan.requiredPackages.map(packageNameFromSpec)));
25067
25045
  if (mobile?.branding) {
25068
25046
  const installedBrandingPackages = await directProjectPackages(projectRoot);
25069
25047
  const brandingPackages = await packagesNeedingExactInstall(projectRoot, [ABSOLUTE_CAPACITOR_ASSETS_SPEC], installedBrandingPackages, new Set(["@capacitor/assets"]));
@@ -25292,7 +25270,8 @@ var initialize = async (args) => {
25292
25270
  console.log(`${generated.changed ? "Generated" : "Verified"} ${generated.path}`);
25293
25271
  if (args.includes("--no-native"))
25294
25272
  return;
25295
- await runCapacitorForPlatforms(projectRoot, "add", mobile.platforms);
25273
+ const platforms = await prepareAbsoluteCapacitorInitialization(mobile);
25274
+ await platforms.reduce((pending, platform2) => pending.then(() => runCapacitor(projectRoot, [platform2.command, platform2.platform])), Promise.resolve());
25296
25275
  if (mobile.branding)
25297
25276
  await generateAbsoluteCapacitorBranding(mobile, projectRoot);
25298
25277
  await applyAbsoluteNativeDeepLinks(mobile);
@@ -27415,6 +27394,11 @@ var testAndroidRelease = async (args, mobile, projectRoot) => {
27415
27394
  }
27416
27395
  };
27417
27396
  var testAndroid = async (args) => {
27397
+ if (args.includes("--release")) {
27398
+ const requested = valueAfter(args, "--release");
27399
+ if (!requested || requested.startsWith("--"))
27400
+ throw new TypeError("mobile test android --release requires a release directory or release.json path.");
27401
+ }
27418
27402
  const { mobile, projectRoot } = await loadMobile(valueAfter(args, "--config"));
27419
27403
  if (args.includes("--release")) {
27420
27404
  return testAndroidRelease(args, mobile, projectRoot);
@@ -28139,6 +28123,11 @@ var testIosRelease = async (args, mobile, projectRoot) => {
28139
28123
  }
28140
28124
  };
28141
28125
  var testIos = async (args) => {
28126
+ if (args.includes("--release")) {
28127
+ const requested = valueAfter(args, "--release");
28128
+ if (!requested || requested.startsWith("--"))
28129
+ throw new TypeError("mobile test ios --release requires a release directory or release.json path.");
28130
+ }
28142
28131
  const { mobile, projectRoot } = await loadMobile(valueAfter(args, "--config"));
28143
28132
  if (args.includes("--release"))
28144
28133
  return testIosRelease(args, mobile, projectRoot);
@@ -1,8 +1,8 @@
1
1
  // @bun
2
2
  import {
3
3
  start
4
- } from "./index-vjepnxr0.js";
5
- import"./index-82wpxhvv.js";
4
+ } from "./index-5268nwjx.js";
5
+ import"./index-k8r00xh9.js";
6
6
  import"./index-bzs19w3r.js";
7
7
  import"./index-s2tazax7.js";
8
8
  import"./index-fc9vxw56.js";
@@ -11,7 +11,7 @@ import"./index-06cmrcdq.js";
11
11
  import"./index-9kwmb3c0.js";
12
12
  import"./index-w5vswatm.js";
13
13
  import"./index-exdd5k1g.js";
14
- import"./index-bhcxtf1x.js";
14
+ import"./index-nxcwg9ma.js";
15
15
  import"./index-ar4gz15x.js";
16
16
  import"./index-t84wxk1p.js";
17
17
  import"./index-wtfnv3n2.js";
package/dist/index.js CHANGED
@@ -25877,7 +25877,7 @@ var init_compileAngular = __esm(() => {
25877
25877
 
25878
25878
  // node_modules/content-tag/pkg/node/content_tag.cjs
25879
25879
  var require_content_tag = __commonJS(function(exports, module) {
25880
- var __dirname = "/home/alexkahn/abs/absolutejs/node_modules/content-tag/pkg/node";
25880
+ var __dirname = "/tmp/absolute-mobile-release/node_modules/content-tag/pkg/node";
25881
25881
  var imports = {};
25882
25882
  imports["__wbindgen_placeholder__"] = exports;
25883
25883
  var wasm;
@@ -29843,6 +29843,10 @@ var init_devPrescan = __esm(() => {
29843
29843
  PRESCAN_DIR = join53(".absolutejs", "dev-prescan");
29844
29844
  });
29845
29845
 
29846
+ // src/dev/serverEntryCopies.ts
29847
+ var isAbsoluteServerEntryCopyPath = (path2) => /(?:^|[/\\])\.absolutejs-hmr-/.test(path2);
29848
+ var init_serverEntryCopies = () => {};
29849
+
29846
29850
  // src/dev/fileWatcher.ts
29847
29851
  import { watch } from "fs";
29848
29852
  import { existsSync as existsSync43, readdirSync as readdirSync10, statSync as statSync5 } from "fs";
@@ -29865,7 +29869,7 @@ var safeRemoveFromGraph = (graph, fullPath) => {
29865
29869
  operation: "add"
29866
29870
  });
29867
29871
  }
29868
- }, ATOMIC_WRITE_TEMP_PATTERNS, shouldSkipFilename = (filename, isStylesDir) => !isStylesDir && (filename === "compiled" || filename === "generated" || filename === "build" || filename === "indexes" || filename === "server" || filename === "client" || filename.includes("/compiled/") || filename.includes("/generated/") || filename.includes("/build/") || filename.includes("/indexes/") || filename.includes("/server/") || filename.includes("/client/") || filename.startsWith("compiled/") || filename.startsWith("generated/") || filename.startsWith("build/") || filename.startsWith("indexes/") || filename.startsWith("server/") || filename.startsWith("client/")) || filename.endsWith("/") || filename.includes(".tmp.") || filename.endsWith(".tmp") || filename.endsWith("~") || filename.startsWith(".#") || filename.startsWith(".absolutejs-hmr-") || ATOMIC_WRITE_TEMP_PATTERNS.some((pattern) => pattern.test(filename)), setupWatcher = (absolutePath, isStylesDir, state, onFileChange) => {
29872
+ }, ATOMIC_WRITE_TEMP_PATTERNS, shouldSkipFilename = (filename, isStylesDir) => !isStylesDir && (filename === "compiled" || filename === "generated" || filename === "build" || filename === "indexes" || filename === "server" || filename === "client" || filename.includes("/compiled/") || filename.includes("/generated/") || filename.includes("/build/") || filename.includes("/indexes/") || filename.includes("/server/") || filename.includes("/client/") || filename.startsWith("compiled/") || filename.startsWith("generated/") || filename.startsWith("build/") || filename.startsWith("indexes/") || filename.startsWith("server/") || filename.startsWith("client/")) || filename.endsWith("/") || filename.includes(".tmp.") || filename.endsWith(".tmp") || filename.endsWith("~") || filename.startsWith(".#") || isAbsoluteServerEntryCopyPath(filename) || ATOMIC_WRITE_TEMP_PATTERNS.some((pattern) => pattern.test(filename)), setupWatcher = (absolutePath, isStylesDir, state, onFileChange) => {
29869
29873
  const ATOMIC_RECOVERY_WINDOW_MS = 60000;
29870
29874
  const atomicRecoveryScan = (eventDir) => {
29871
29875
  let entries;
@@ -29895,7 +29899,7 @@ var safeRemoveFromGraph = (graph, fullPath) => {
29895
29899
  }
29896
29900
  };
29897
29901
  const watcher = watch(absolutePath, { recursive: true }, (event, filename) => {
29898
- if (!filename)
29902
+ if (!filename || isAbsoluteServerEntryCopyPath(filename))
29899
29903
  return;
29900
29904
  if (shouldSkipFilename(filename, isStylesDir)) {
29901
29905
  if (event === "rename") {
@@ -29946,6 +29950,7 @@ var safeRemoveFromGraph = (graph, fullPath) => {
29946
29950
  });
29947
29951
  };
29948
29952
  var init_fileWatcher = __esm(() => {
29953
+ init_serverEntryCopies();
29949
29954
  init_telemetryEvent();
29950
29955
  init_dependencyGraph();
29951
29956
  init_pathUtils();
@@ -38092,7 +38097,7 @@ import {
38092
38097
  } from "fs";
38093
38098
  import { createHash as createHash13 } from "crypto";
38094
38099
  import { dirname as dirname38, join as join67, resolve as resolve56 } from "path";
38095
- var ATOMIC_RECOVERY_WINDOW_MS = 1000, RELOAD_DEBOUNCE_MS = 80, ENTRY_IMPORT_RETRY_DELAY_MS = 250, MAX_ENTRY_IMPORT_ATTEMPTS = 3, WATCH_FALLBACK_INTERVAL_MS = 250, ATOMIC_WRITE_TEMP_PATTERNS2, isAtomicWriteTemp = (filename) => filename.endsWith(".tmp") || filename.includes(".tmp.") || filename.endsWith("~") || filename.startsWith(".#") || filename.startsWith(".absolutejs-hmr-") || ATOMIC_WRITE_TEMP_PATTERNS2.some((pattern) => pattern.test(filename)), fileHash = (path2) => {
38100
+ var ATOMIC_RECOVERY_WINDOW_MS = 1000, RELOAD_DEBOUNCE_MS = 80, ENTRY_IMPORT_RETRY_DELAY_MS = 250, MAX_ENTRY_IMPORT_ATTEMPTS = 3, WATCH_FALLBACK_INTERVAL_MS = 250, ATOMIC_WRITE_TEMP_PATTERNS2, isAtomicWriteTemp = (filename) => filename.endsWith(".tmp") || filename.includes(".tmp.") || filename.endsWith("~") || filename.startsWith(".#") || isAbsoluteServerEntryCopyPath(filename) || ATOMIC_WRITE_TEMP_PATTERNS2.some((pattern) => pattern.test(filename)), fileHash = (path2) => {
38096
38101
  try {
38097
38102
  return createHash13("sha256").update(readFileSync45(path2)).digest("hex");
38098
38103
  } catch {
@@ -38259,7 +38264,7 @@ var ATOMIC_RECOVERY_WINDOW_MS = 1000, RELOAD_DEBOUNCE_MS = 80, ENTRY_IMPORT_RETR
38259
38264
  }
38260
38265
  };
38261
38266
  const handleEvent = (dir, _event, filename) => {
38262
- if (!filename)
38267
+ if (!filename || isAbsoluteServerEntryCopyPath(filename))
38263
38268
  return;
38264
38269
  if (isAtomicWriteTemp(filename)) {
38265
38270
  recoveryScan(dir);
@@ -38300,6 +38305,7 @@ var ATOMIC_RECOVERY_WINDOW_MS = 1000, RELOAD_DEBOUNCE_MS = 80, ENTRY_IMPORT_RETR
38300
38305
  process.once("SIGTERM", closeAll);
38301
38306
  };
38302
38307
  var init_serverEntryWatcher = __esm(() => {
38308
+ init_serverEntryCopies();
38303
38309
  init_devBuild();
38304
38310
  ATOMIC_WRITE_TEMP_PATTERNS2 = [/^sed[A-Za-z0-9]{6,}$/, /^4913$/];
38305
38311
  });
@@ -45701,5 +45707,5 @@ export {
45701
45707
  wrapPageHandlerWithStreamingSlots
45702
45708
  };
45703
45709
 
45704
- //# debugId=69E962978A5CFCEE64756E2164756E21
45710
+ //# debugId=115412BE9986B30E64756E2164756E21
45705
45711
  //# sourceMappingURL=index.js.map