@absolutejs/absolute 0.20.0-beta.84 → 0.20.0-beta.85

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.
@@ -1093,7 +1093,7 @@ var compileUnlocked = async (serverEntry, resolvedOutdir, outfile, configPath) =
1093
1093
  force: true,
1094
1094
  recursive: true
1095
1095
  });
1096
- const configuredPrerenderPort = env.COMPILE_PORT === undefined ? Number(env.PORT) : Number(env.COMPILE_PORT);
1096
+ const configuredPrerenderPort = Number(env.COMPILE_PORT);
1097
1097
  const prerenderPort = configuredPrerenderPort > 0 ? configuredPrerenderPort : await findFreePort();
1098
1098
  killStaleProcesses(prerenderPort);
1099
1099
  const entryName = basename2(serverEntry).replace(/\.[^.]+$/, "");
package/dist/cli/index.js CHANGED
@@ -197,7 +197,7 @@ 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-t73ac1zb.js");
200
+ const { compile } = await import("./compile-d7g2fvqe.js");
201
201
  await compile(serverEntry, outdir, outfile, configPath);
202
202
  } else if (command === "mobile") {
203
203
  sendTelemetryEvent("cli:command", {
package/dist/index.js CHANGED
@@ -13078,14 +13078,18 @@ var MOBILE_UPDATE_REGISTRY_FORMAT = 1, DEFAULT_PREFIX = "absolutejs/mobile-updat
13078
13078
  const expoCodeSigning = resolveExpoCodeSigning(options.expoCodeSigning);
13079
13079
  return async (request) => {
13080
13080
  const origin = request.headers.get("origin");
13081
- const cors = origin && allowedOrigins.has(origin) ? { "access-control-allow-origin": origin, vary: "Origin" } : {};
13081
+ const cors = origin && allowedOrigins.has(origin) ? {
13082
+ "access-control-allow-origin": origin,
13083
+ "access-control-expose-headers": "content-range,etag",
13084
+ vary: "Origin"
13085
+ } : {};
13082
13086
  if (request.method === "OPTIONS") {
13083
13087
  if (!origin || !allowedOrigins.has(origin))
13084
13088
  return new Response(null, { status: 403 });
13085
13089
  return new Response(null, {
13086
13090
  headers: {
13087
13091
  ...cors,
13088
- "access-control-allow-headers": "x-absolute-mobile-app,x-absolute-mobile-channel,x-absolute-mobile-installation,x-absolute-mobile-release,x-absolute-mobile-runtime",
13092
+ "access-control-allow-headers": "if-range,range,x-absolute-mobile-app,x-absolute-mobile-channel,x-absolute-mobile-installation,x-absolute-mobile-release,x-absolute-mobile-runtime",
13089
13093
  "access-control-allow-methods": "GET,OPTIONS",
13090
13094
  "access-control-max-age": "600"
13091
13095
  },
@@ -13213,14 +13217,42 @@ var MOBILE_UPDATE_REGISTRY_FORMAT = 1, DEFAULT_PREFIX = "absolutejs/mobile-updat
13213
13217
  });
13214
13218
  if (!file2)
13215
13219
  return new Response(null, { status: 404 });
13216
- return new Response(new Blob([new Uint8Array(file2.bytes).buffer]), {
13220
+ const etag = `"${file2.file.sha256}"`;
13221
+ const range = request.headers.get("range");
13222
+ const useRange = range !== null && (!request.headers.has("if-range") || request.headers.get("if-range") === etag);
13223
+ let contents = file2.bytes;
13224
+ let status = 200;
13225
+ let contentRange;
13226
+ if (useRange) {
13227
+ const parsed = /^bytes=(\d+)-(\d*)$/.exec(range);
13228
+ const start = parsed?.[1] === undefined ? NaN : Number(parsed[1]);
13229
+ const requestedEnd = parsed?.[2] === undefined || parsed[2] === "" ? file2.bytes.byteLength - 1 : Number(parsed[2]);
13230
+ if (!Number.isSafeInteger(start) || !Number.isSafeInteger(requestedEnd) || start < 0 || start >= file2.bytes.byteLength || requestedEnd < start)
13231
+ return new Response(null, {
13232
+ headers: {
13233
+ ...cors,
13234
+ "accept-ranges": "bytes",
13235
+ "content-range": `bytes */${file2.bytes.byteLength}`,
13236
+ etag
13237
+ },
13238
+ status: 416
13239
+ });
13240
+ const end = Math.min(requestedEnd, file2.bytes.byteLength - 1);
13241
+ contents = file2.bytes.slice(start, end + 1);
13242
+ status = 206;
13243
+ contentRange = `bytes ${start}-${end}/${file2.bytes.byteLength}`;
13244
+ }
13245
+ return new Response(new Blob([new Uint8Array(contents).buffer]), {
13217
13246
  headers: {
13218
13247
  ...cors,
13248
+ "accept-ranges": "bytes",
13219
13249
  "cache-control": "public, max-age=31536000, immutable",
13220
- "content-length": String(file2.file.bytes),
13250
+ "content-length": String(contents.byteLength),
13251
+ ...contentRange ? { "content-range": contentRange } : {},
13221
13252
  "content-type": expoContentType(file2.file.path.includes(".") ? file2.file.path.slice(file2.file.path.lastIndexOf(".") + 1) : undefined, false),
13222
- etag: `"${file2.file.sha256}"`
13223
- }
13253
+ etag
13254
+ },
13255
+ status
13224
13256
  });
13225
13257
  };
13226
13258
  };
@@ -44864,5 +44896,5 @@ export {
44864
44896
  wrapPageHandlerWithStreamingSlots
44865
44897
  };
44866
44898
 
44867
- //# debugId=CE82990F0B81B09764756E2164756E21
44899
+ //# debugId=99E9CBD68908A78B64756E2164756E21
44868
44900
  //# sourceMappingURL=index.js.map