@absolutejs/absolute 0.20.0-beta.115 → 0.20.0-beta.116
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/CHANGELOG.md +7 -0
- package/changelog.json +15 -1
- package/dist/angular/components/core/streamingSlotRegistrar.js +1 -1
- package/dist/angular/components/core/streamingSlotRegistry.js +2 -2
- package/dist/cli/{compile-ya4kd2sg.js → compile-kbhxgjat.js} +2 -2
- package/dist/cli/{dev-5cqmf7za.js → dev-daa7tdht.js} +1 -1
- package/dist/cli/{expoProject-f5j20xms.js → expoProject-kcfcmfba.js} +1 -1
- package/dist/cli/{index-6mbm4n3g.js → index-82wpxhvv.js} +1 -1
- package/dist/cli/{index-dr21p6ae.js → index-bhcxtf1x.js} +389 -78
- package/dist/cli/{index-5fmgn0nx.js → index-vjepnxr0.js} +1 -1
- package/dist/cli/index.js +5 -5
- package/dist/cli/{mobile-fg2226vv.js → mobile-03zwncxx.js} +22 -20
- package/dist/cli/{start-jt61f40d.js → start-r606d5v9.js} +3 -3
- package/dist/mobile/index.js +486 -175
- package/dist/mobile/index.js.map +6 -5
- package/dist/mobile/remoteMacAgentEntry.js +475 -209
- package/dist/mobile/shellBootstrap.js +6 -1
- package/dist/react/hooks/index.js.map +2 -2
- package/dist/src/mobile/expoEmbeddedAssets.d.ts +1 -0
- package/dist/src/mobile/updateRuntime.d.ts +1 -0
- package/package.json +3 -1
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-
|
|
61
|
+
const { dev } = await import("./dev-daa7tdht.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-
|
|
74
|
+
const { start } = await import("./start-r606d5v9.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-
|
|
84
|
+
const { start } = await import("./start-r606d5v9.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-
|
|
200
|
+
const { compile } = await import("./compile-kbhxgjat.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-
|
|
206
|
+
const { runMobile } = await import("./mobile-03zwncxx.js");
|
|
207
207
|
try {
|
|
208
208
|
await runMobile(args);
|
|
209
209
|
} catch (error) {
|
|
@@ -7,12 +7,12 @@ import {
|
|
|
7
7
|
} from "./index-zh6hhrwy.js";
|
|
8
8
|
import {
|
|
9
9
|
start
|
|
10
|
-
} from "./index-
|
|
10
|
+
} from "./index-vjepnxr0.js";
|
|
11
11
|
import {
|
|
12
12
|
ABSOLUTE_MOBILE_CLIENT_MANIFEST_FORMAT,
|
|
13
13
|
ABSOLUTE_MOBILE_PAGE_PROTOCOL_VERSION,
|
|
14
14
|
resolveAbsoluteMobileRoute
|
|
15
|
-
} from "./index-
|
|
15
|
+
} from "./index-82wpxhvv.js";
|
|
16
16
|
import"./index-bzs19w3r.js";
|
|
17
17
|
import"./index-s2tazax7.js";
|
|
18
18
|
import {
|
|
@@ -74,7 +74,7 @@ import {
|
|
|
74
74
|
syncAbsoluteExpoWebAssets,
|
|
75
75
|
unsignedAbsoluteMobileUpdate,
|
|
76
76
|
writeAbsoluteExpoProject
|
|
77
|
-
} from "./index-
|
|
77
|
+
} from "./index-bhcxtf1x.js";
|
|
78
78
|
import {
|
|
79
79
|
buildAbsoluteExpoAndroidWslBundle
|
|
80
80
|
} from "./index-28nxv57v.js";
|
|
@@ -16790,7 +16790,7 @@ import {
|
|
|
16790
16790
|
rm as rm11,
|
|
16791
16791
|
writeFile as writeFile19
|
|
16792
16792
|
} from "fs/promises";
|
|
16793
|
-
import { createHash as
|
|
16793
|
+
import { createHash as createHash8, createPublicKey as createPublicKey2, randomUUID as randomUUID2 } from "crypto";
|
|
16794
16794
|
import { join as join19, relative as relative17, resolve as resolve18 } from "path";
|
|
16795
16795
|
import { createInterface } from "readline/promises";
|
|
16796
16796
|
|
|
@@ -19325,6 +19325,7 @@ var waitForAbsoluteAndroidHmrApply = async (session, options) => {
|
|
|
19325
19325
|
|
|
19326
19326
|
// src/mobile/releaseDoctor.ts
|
|
19327
19327
|
import { access as access4, readFile as readFile9, readdir as readdir4 } from "fs/promises";
|
|
19328
|
+
import { createHash as createHash2 } from "crypto";
|
|
19328
19329
|
import { dirname as dirname6, extname, join as join8, relative as relative3 } from "path";
|
|
19329
19330
|
|
|
19330
19331
|
// src/mobile/mobileBundleInspection.ts
|
|
@@ -20087,6 +20088,7 @@ var expoEmbeddedAssetsCheck = async (config) => {
|
|
|
20087
20088
|
const entries = sourceFiles.map((path, index) => {
|
|
20088
20089
|
const entry = {
|
|
20089
20090
|
length: contents[index]?.byteLength ?? 0,
|
|
20091
|
+
md5: createHash2("md5").update(contents[index] ?? Buffer.alloc(0)).digest("hex"),
|
|
20090
20092
|
offset,
|
|
20091
20093
|
path: path.replaceAll("\\", "/")
|
|
20092
20094
|
};
|
|
@@ -20094,7 +20096,7 @@ var expoEmbeddedAssetsCheck = async (config) => {
|
|
|
20094
20096
|
return entry;
|
|
20095
20097
|
});
|
|
20096
20098
|
const archive = await readFile9(join8(assetsRoot, embeddedFiles[0] ?? ""));
|
|
20097
|
-
if (!archive.equals(Buffer.concat(contents)) || entries.some((entry) => !source.includes(JSON.stringify(entry))))
|
|
20099
|
+
if (!archive.equals(Buffer.concat(contents)) || !source.includes(`const ARCHIVE_MD5 = ${JSON.stringify(createHash2("md5").update(archive).digest("hex"))};`) || !source.includes(`const ARCHIVE_LENGTH = ${archive.byteLength};`) || entries.some((entry) => !source.includes(JSON.stringify(entry))))
|
|
20098
20100
|
throw new TypeError("Generated Expo asset bytes differ from the prepared mobile bundle.");
|
|
20099
20101
|
return pass("expo.bundle-projection", `Expo embeds the complete signed mobile bundle as one opaque archive containing ${sourceFiles.length} file(s).`, generated);
|
|
20100
20102
|
} catch (error) {
|
|
@@ -20580,7 +20582,7 @@ var inspectAbsoluteMobileRelease = async (config, projectRoot) => {
|
|
|
20580
20582
|
};
|
|
20581
20583
|
|
|
20582
20584
|
// src/mobile/androidRelease.ts
|
|
20583
|
-
import { createHash as
|
|
20585
|
+
import { createHash as createHash3 } from "crypto";
|
|
20584
20586
|
import {
|
|
20585
20587
|
access as access5,
|
|
20586
20588
|
copyFile,
|
|
@@ -20672,7 +20674,7 @@ var windowsJarsignerPath = (path, capture) => {
|
|
|
20672
20674
|
}
|
|
20673
20675
|
return translated;
|
|
20674
20676
|
};
|
|
20675
|
-
var sha256File = async (path) =>
|
|
20677
|
+
var sha256File = async (path) => createHash3("sha256").update(await readFile10(path)).digest("hex");
|
|
20676
20678
|
var fingerprintExpoAndroidProject = async (nativeDirectory) => {
|
|
20677
20679
|
const root = await realpath(nativeDirectory);
|
|
20678
20680
|
const files = await Array.fromAsync(new Bun.Glob("**/*").scan({ cwd: root, onlyFiles: true }));
|
|
@@ -20681,9 +20683,9 @@ var fingerprintExpoAndroidProject = async (nativeDirectory) => {
|
|
|
20681
20683
|
return !parts.includes(".gradle") && !parts.includes("build");
|
|
20682
20684
|
}).sort().map(async (path) => {
|
|
20683
20685
|
const contents = await readFile10(join9(root, path));
|
|
20684
|
-
return `${path.replaceAll("\\", "/")}\x00${
|
|
20686
|
+
return `${path.replaceAll("\\", "/")}\x00${createHash3("sha256").update(contents).digest("hex")}\x00`;
|
|
20685
20687
|
}));
|
|
20686
|
-
return
|
|
20688
|
+
return createHash3("sha256").update(records.join("")).digest("hex");
|
|
20687
20689
|
};
|
|
20688
20690
|
var safeOutputDirectory = (projectRoot, requested) => {
|
|
20689
20691
|
const root = resolve5(projectRoot);
|
|
@@ -20757,7 +20759,7 @@ var buildAbsoluteAndroidRelease = async (options) => {
|
|
|
20757
20759
|
const nativeFingerprint = options.config.engine === "expo" ? await fingerprintExpoAndroidProject(nativeDirectory) : await fingerprintAbsoluteAndroidNativeProject({
|
|
20758
20760
|
nativeDirectory
|
|
20759
20761
|
});
|
|
20760
|
-
const buildIdentity =
|
|
20762
|
+
const buildIdentity = createHash3("sha256").update(`${manifest.appBuild}\x00${nativeFingerprint}`).digest("hex");
|
|
20761
20763
|
versionCode = await options.prepareVersionCode(buildIdentity);
|
|
20762
20764
|
}
|
|
20763
20765
|
if (versionCode !== undefined && (!Number.isSafeInteger(versionCode) || versionCode < 1 || versionCode > 2100000000)) {
|
|
@@ -20834,7 +20836,7 @@ var buildAbsoluteAndroidRelease = async (options) => {
|
|
|
20834
20836
|
};
|
|
20835
20837
|
|
|
20836
20838
|
// src/mobile/androidReleaseAcceptance.ts
|
|
20837
|
-
import { createHash as
|
|
20839
|
+
import { createHash as createHash4 } from "crypto";
|
|
20838
20840
|
|
|
20839
20841
|
// src/mobile/androidServiceReadiness.ts
|
|
20840
20842
|
var SERVICE_TIMEOUT_MS = 180000;
|
|
@@ -20954,7 +20956,7 @@ var exists2 = async (path) => {
|
|
|
20954
20956
|
return false;
|
|
20955
20957
|
}
|
|
20956
20958
|
};
|
|
20957
|
-
var sha256 = async (path) =>
|
|
20959
|
+
var sha256 = async (path) => createHash4("sha256").update(await readFile11(path)).digest("hex");
|
|
20958
20960
|
var inside = (root, candidate) => {
|
|
20959
20961
|
const path = relative5(resolve6(root), resolve6(candidate));
|
|
20960
20962
|
return path === "" || !isAbsolute3(path) && path !== ".." && !path.startsWith(`..${sep3}`);
|
|
@@ -21037,7 +21039,7 @@ var ensureAbsoluteBundletool = async (options) => {
|
|
|
21037
21039
|
if (!options.approved)
|
|
21038
21040
|
throw new TypeError(`Bundletool ${ABSOLUTE_BUNDLETOOL_VERSION} is required. Rerun with --yes to download the checksum-pinned official release.`);
|
|
21039
21041
|
const bytes = await (options.download ?? defaultDownload)(ABSOLUTE_BUNDLETOOL_URL);
|
|
21040
|
-
const digest =
|
|
21042
|
+
const digest = createHash4("sha256").update(bytes).digest("hex");
|
|
21041
21043
|
if (digest !== ABSOLUTE_BUNDLETOOL_SHA256)
|
|
21042
21044
|
throw new TypeError("Downloaded Bundletool failed checksum verification.");
|
|
21043
21045
|
await mkdir8(dirname8(inspected.path), { recursive: true });
|
|
@@ -21211,7 +21213,7 @@ var runAbsoluteAndroidReleaseAcceptance = async (options) => {
|
|
|
21211
21213
|
};
|
|
21212
21214
|
|
|
21213
21215
|
// src/mobile/iosReleaseAcceptance.ts
|
|
21214
|
-
import { createHash as
|
|
21216
|
+
import { createHash as createHash5 } from "crypto";
|
|
21215
21217
|
import {
|
|
21216
21218
|
access as access7,
|
|
21217
21219
|
mkdir as mkdir9,
|
|
@@ -21314,7 +21316,7 @@ var exists3 = async (path) => {
|
|
|
21314
21316
|
return false;
|
|
21315
21317
|
}
|
|
21316
21318
|
};
|
|
21317
|
-
var sha2562 = async (path) =>
|
|
21319
|
+
var sha2562 = async (path) => createHash5("sha256").update(await readFile12(path)).digest("hex");
|
|
21318
21320
|
var inside2 = (root, candidate) => {
|
|
21319
21321
|
const path = relative6(resolve7(root), resolve7(candidate));
|
|
21320
21322
|
return path === "" || !isAbsolute4(path) && path !== ".." && !path.startsWith(`..${sep4}`);
|
|
@@ -22223,7 +22225,7 @@ var createAbsoluteAndroidTestReport = (options) => {
|
|
|
22223
22225
|
};
|
|
22224
22226
|
|
|
22225
22227
|
// src/mobile/releaseCertification.ts
|
|
22226
|
-
import { createHash as
|
|
22228
|
+
import { createHash as createHash6 } from "crypto";
|
|
22227
22229
|
import {
|
|
22228
22230
|
access as access8,
|
|
22229
22231
|
mkdir as mkdir11,
|
|
@@ -22260,7 +22262,7 @@ var exists4 = async (path) => {
|
|
|
22260
22262
|
return false;
|
|
22261
22263
|
}
|
|
22262
22264
|
};
|
|
22263
|
-
var sha2563 = (bytes) =>
|
|
22265
|
+
var sha2563 = (bytes) => createHash6("sha256").update(bytes).digest("hex");
|
|
22264
22266
|
var requireString3 = (value, name) => {
|
|
22265
22267
|
if (typeof value !== "string" || !value)
|
|
22266
22268
|
throw new TypeError(`Mobile certification ${name} is invalid.`);
|
|
@@ -24551,7 +24553,7 @@ var readAbsoluteMobilePromotionOperation = async (projectRoot, requestedDispatch
|
|
|
24551
24553
|
var relativeAbsoluteMobilePromotionOperationPath = (projectRoot, dispatchIdValue) => relative13(resolve14(projectRoot), absoluteMobilePromotionOperationPath(projectRoot, dispatchIdValue)).replaceAll("\\", "/");
|
|
24552
24554
|
|
|
24553
24555
|
// src/mobile/updateSigning.ts
|
|
24554
|
-
import { createHash as
|
|
24556
|
+
import { createHash as createHash7, sign, verify } from "crypto";
|
|
24555
24557
|
import {
|
|
24556
24558
|
cp,
|
|
24557
24559
|
mkdir as mkdir16,
|
|
@@ -24566,7 +24568,7 @@ import {
|
|
|
24566
24568
|
import { dirname as dirname14, join as join17, relative as relative14, resolve as resolve15 } from "path";
|
|
24567
24569
|
var UPDATE_MANIFEST_FILE = "update.json";
|
|
24568
24570
|
var UPDATE_FILES_DIRECTORY = "files";
|
|
24569
|
-
var sha2564 = (value) =>
|
|
24571
|
+
var sha2564 = (value) => createHash7("sha256").update(value).digest("hex");
|
|
24570
24572
|
var listFiles = async (root, directory = root) => {
|
|
24571
24573
|
const entries = await readdir8(directory, { withFileTypes: true });
|
|
24572
24574
|
const paths = await Promise.all(entries.map(async (entry) => {
|
|
@@ -25685,7 +25687,7 @@ var dispatchGithubMobilePromotion = async (args) => {
|
|
|
25685
25687
|
auditOutputDirectory,
|
|
25686
25688
|
auditRequested,
|
|
25687
25689
|
certificationId: certification.certificationId,
|
|
25688
|
-
certificationSha256:
|
|
25690
|
+
certificationSha256: createHash8("sha256").update(serializeAbsoluteMobileReleaseCertification(certification)).digest("hex"),
|
|
25689
25691
|
channel: channel || null,
|
|
25690
25692
|
dispatchId: dispatchId3,
|
|
25691
25693
|
platform: platform2,
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
// @bun
|
|
2
2
|
import {
|
|
3
3
|
start
|
|
4
|
-
} from "./index-
|
|
5
|
-
import"./index-
|
|
4
|
+
} from "./index-vjepnxr0.js";
|
|
5
|
+
import"./index-82wpxhvv.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-
|
|
14
|
+
import"./index-bhcxtf1x.js";
|
|
15
15
|
import"./index-ar4gz15x.js";
|
|
16
16
|
import"./index-t84wxk1p.js";
|
|
17
17
|
import"./index-wtfnv3n2.js";
|