@absolutejs/absolute 0.20.0-beta.115 → 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.
- package/CHANGELOG.md +18 -0
- package/changelog.json +38 -1
- package/dist/angular/components/core/streamingSlotRegistrar.js +1 -1
- package/dist/angular/components/core/streamingSlotRegistry.js +2 -2
- package/dist/build.js +9 -4
- package/dist/build.js.map +5 -4
- package/dist/cli/{androidEmulatorController-nybhzc6c.js → androidEmulatorController-v6chbhem.js} +2 -2
- package/dist/cli/{androidNativeWatcher-2930tb8c.js → androidNativeWatcher-mgqws6ag.js} +2 -2
- package/dist/cli/{compile-ya4kd2sg.js → compile-5m830csy.js} +2 -2
- package/dist/cli/{dev-5cqmf7za.js → dev-ww30tdrv.js} +10 -7
- package/dist/cli/{expoProject-f5j20xms.js → expoProject-w2pzjwnx.js} +1 -1
- package/dist/cli/{index-28pbrd3q.js → index-18q9qc7f.js} +15 -2
- package/dist/cli/{index-5fmgn0nx.js → index-5268nwjx.js} +1 -1
- package/dist/cli/{index-5skbydh0.js → index-hneb973j.js} +1 -1
- package/dist/cli/{index-6mbm4n3g.js → index-k8r00xh9.js} +1 -1
- package/dist/cli/{index-dr21p6ae.js → index-nxcwg9ma.js} +590 -152
- package/dist/cli/{index-qr0pc777.js → index-wtyg9cy0.js} +1 -1
- package/dist/cli/index.js +5 -5
- package/dist/cli/{iosNativeWatcher-t6gv0p1w.js → iosNativeWatcher-8w1gawg4.js} +2 -2
- package/dist/cli/{iosSimulatorController-5n2a9fxv.js → iosSimulatorController-5vhqvhg6.js} +2 -2
- package/dist/cli/{mobile-fg2226vv.js → mobile-21vsmrjd.js} +47 -56
- package/dist/cli/{start-jt61f40d.js → start-3bhf56tj.js} +3 -3
- package/dist/index.js +12 -6
- package/dist/index.js.map +6 -5
- package/dist/mobile/index.js +692 -274
- package/dist/mobile/index.js.map +8 -6
- package/dist/mobile/remoteMacAgentEntry.js +564 -231
- package/dist/mobile/shellBootstrap.js +6 -1
- package/dist/react/hooks/index.js.map +2 -2
- package/dist/src/dev/serverEntryCopies.d.ts +2 -0
- package/dist/src/mobile/capacitorProject.d.ts +4 -0
- package/dist/src/mobile/expoEmbeddedAssets.d.ts +1 -0
- package/dist/src/mobile/nativePackages.d.ts +10 -0
- package/dist/src/mobile/updateRuntime.d.ts +1 -0
- package/package.json +6 -2
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-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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
4
|
+
} from "./index-hneb973j.js";
|
|
5
5
|
import"./index-q1d4ns4n.js";
|
|
6
6
|
import"./index-j66p8hn5.js";
|
|
7
|
-
import"./index-
|
|
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-
|
|
13
|
+
} from "./index-hneb973j.js";
|
|
14
14
|
import"./index-q1d4ns4n.js";
|
|
15
15
|
import"./index-j66p8hn5.js";
|
|
16
|
-
import"./index-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
99
|
+
} from "./index-wtyg9cy0.js";
|
|
94
100
|
import {
|
|
101
|
+
prepareAbsoluteCapacitorInitialization,
|
|
95
102
|
writeAbsoluteCapacitorConfig
|
|
96
|
-
} from "./index-
|
|
103
|
+
} from "./index-18q9qc7f.js";
|
|
97
104
|
import {
|
|
98
105
|
ABSOLUTE_ANDROID_AVD_NAME,
|
|
99
106
|
absoluteManagedAndroidSdkRoot,
|
|
@@ -16790,7 +16797,7 @@ import {
|
|
|
16790
16797
|
rm as rm11,
|
|
16791
16798
|
writeFile as writeFile19
|
|
16792
16799
|
} from "fs/promises";
|
|
16793
|
-
import { createHash as
|
|
16800
|
+
import { createHash as createHash8, createPublicKey as createPublicKey2, randomUUID as randomUUID2 } from "crypto";
|
|
16794
16801
|
import { join as join19, relative as relative17, resolve as resolve18 } from "path";
|
|
16795
16802
|
import { createInterface } from "readline/promises";
|
|
16796
16803
|
|
|
@@ -19325,6 +19332,7 @@ var waitForAbsoluteAndroidHmrApply = async (session, options) => {
|
|
|
19325
19332
|
|
|
19326
19333
|
// src/mobile/releaseDoctor.ts
|
|
19327
19334
|
import { access as access4, readFile as readFile9, readdir as readdir4 } from "fs/promises";
|
|
19335
|
+
import { createHash as createHash2 } from "crypto";
|
|
19328
19336
|
import { dirname as dirname6, extname, join as join8, relative as relative3 } from "path";
|
|
19329
19337
|
|
|
19330
19338
|
// src/mobile/mobileBundleInspection.ts
|
|
@@ -20087,6 +20095,7 @@ var expoEmbeddedAssetsCheck = async (config) => {
|
|
|
20087
20095
|
const entries = sourceFiles.map((path, index) => {
|
|
20088
20096
|
const entry = {
|
|
20089
20097
|
length: contents[index]?.byteLength ?? 0,
|
|
20098
|
+
md5: createHash2("md5").update(contents[index] ?? Buffer.alloc(0)).digest("hex"),
|
|
20090
20099
|
offset,
|
|
20091
20100
|
path: path.replaceAll("\\", "/")
|
|
20092
20101
|
};
|
|
@@ -20094,7 +20103,7 @@ var expoEmbeddedAssetsCheck = async (config) => {
|
|
|
20094
20103
|
return entry;
|
|
20095
20104
|
});
|
|
20096
20105
|
const archive = await readFile9(join8(assetsRoot, embeddedFiles[0] ?? ""));
|
|
20097
|
-
if (!archive.equals(Buffer.concat(contents)) || entries.some((entry) => !source.includes(JSON.stringify(entry))))
|
|
20106
|
+
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
20107
|
throw new TypeError("Generated Expo asset bytes differ from the prepared mobile bundle.");
|
|
20099
20108
|
return pass("expo.bundle-projection", `Expo embeds the complete signed mobile bundle as one opaque archive containing ${sourceFiles.length} file(s).`, generated);
|
|
20100
20109
|
} catch (error) {
|
|
@@ -20580,7 +20589,7 @@ var inspectAbsoluteMobileRelease = async (config, projectRoot) => {
|
|
|
20580
20589
|
};
|
|
20581
20590
|
|
|
20582
20591
|
// src/mobile/androidRelease.ts
|
|
20583
|
-
import { createHash as
|
|
20592
|
+
import { createHash as createHash3 } from "crypto";
|
|
20584
20593
|
import {
|
|
20585
20594
|
access as access5,
|
|
20586
20595
|
copyFile,
|
|
@@ -20672,7 +20681,7 @@ var windowsJarsignerPath = (path, capture) => {
|
|
|
20672
20681
|
}
|
|
20673
20682
|
return translated;
|
|
20674
20683
|
};
|
|
20675
|
-
var sha256File = async (path) =>
|
|
20684
|
+
var sha256File = async (path) => createHash3("sha256").update(await readFile10(path)).digest("hex");
|
|
20676
20685
|
var fingerprintExpoAndroidProject = async (nativeDirectory) => {
|
|
20677
20686
|
const root = await realpath(nativeDirectory);
|
|
20678
20687
|
const files = await Array.fromAsync(new Bun.Glob("**/*").scan({ cwd: root, onlyFiles: true }));
|
|
@@ -20681,9 +20690,9 @@ var fingerprintExpoAndroidProject = async (nativeDirectory) => {
|
|
|
20681
20690
|
return !parts.includes(".gradle") && !parts.includes("build");
|
|
20682
20691
|
}).sort().map(async (path) => {
|
|
20683
20692
|
const contents = await readFile10(join9(root, path));
|
|
20684
|
-
return `${path.replaceAll("\\", "/")}\x00${
|
|
20693
|
+
return `${path.replaceAll("\\", "/")}\x00${createHash3("sha256").update(contents).digest("hex")}\x00`;
|
|
20685
20694
|
}));
|
|
20686
|
-
return
|
|
20695
|
+
return createHash3("sha256").update(records.join("")).digest("hex");
|
|
20687
20696
|
};
|
|
20688
20697
|
var safeOutputDirectory = (projectRoot, requested) => {
|
|
20689
20698
|
const root = resolve5(projectRoot);
|
|
@@ -20757,7 +20766,7 @@ var buildAbsoluteAndroidRelease = async (options) => {
|
|
|
20757
20766
|
const nativeFingerprint = options.config.engine === "expo" ? await fingerprintExpoAndroidProject(nativeDirectory) : await fingerprintAbsoluteAndroidNativeProject({
|
|
20758
20767
|
nativeDirectory
|
|
20759
20768
|
});
|
|
20760
|
-
const buildIdentity =
|
|
20769
|
+
const buildIdentity = createHash3("sha256").update(`${manifest.appBuild}\x00${nativeFingerprint}`).digest("hex");
|
|
20761
20770
|
versionCode = await options.prepareVersionCode(buildIdentity);
|
|
20762
20771
|
}
|
|
20763
20772
|
if (versionCode !== undefined && (!Number.isSafeInteger(versionCode) || versionCode < 1 || versionCode > 2100000000)) {
|
|
@@ -20834,7 +20843,7 @@ var buildAbsoluteAndroidRelease = async (options) => {
|
|
|
20834
20843
|
};
|
|
20835
20844
|
|
|
20836
20845
|
// src/mobile/androidReleaseAcceptance.ts
|
|
20837
|
-
import { createHash as
|
|
20846
|
+
import { createHash as createHash4 } from "crypto";
|
|
20838
20847
|
|
|
20839
20848
|
// src/mobile/androidServiceReadiness.ts
|
|
20840
20849
|
var SERVICE_TIMEOUT_MS = 180000;
|
|
@@ -20954,7 +20963,7 @@ var exists2 = async (path) => {
|
|
|
20954
20963
|
return false;
|
|
20955
20964
|
}
|
|
20956
20965
|
};
|
|
20957
|
-
var sha256 = async (path) =>
|
|
20966
|
+
var sha256 = async (path) => createHash4("sha256").update(await readFile11(path)).digest("hex");
|
|
20958
20967
|
var inside = (root, candidate) => {
|
|
20959
20968
|
const path = relative5(resolve6(root), resolve6(candidate));
|
|
20960
20969
|
return path === "" || !isAbsolute3(path) && path !== ".." && !path.startsWith(`..${sep3}`);
|
|
@@ -21037,7 +21046,7 @@ var ensureAbsoluteBundletool = async (options) => {
|
|
|
21037
21046
|
if (!options.approved)
|
|
21038
21047
|
throw new TypeError(`Bundletool ${ABSOLUTE_BUNDLETOOL_VERSION} is required. Rerun with --yes to download the checksum-pinned official release.`);
|
|
21039
21048
|
const bytes = await (options.download ?? defaultDownload)(ABSOLUTE_BUNDLETOOL_URL);
|
|
21040
|
-
const digest =
|
|
21049
|
+
const digest = createHash4("sha256").update(bytes).digest("hex");
|
|
21041
21050
|
if (digest !== ABSOLUTE_BUNDLETOOL_SHA256)
|
|
21042
21051
|
throw new TypeError("Downloaded Bundletool failed checksum verification.");
|
|
21043
21052
|
await mkdir8(dirname8(inspected.path), { recursive: true });
|
|
@@ -21211,7 +21220,7 @@ var runAbsoluteAndroidReleaseAcceptance = async (options) => {
|
|
|
21211
21220
|
};
|
|
21212
21221
|
|
|
21213
21222
|
// src/mobile/iosReleaseAcceptance.ts
|
|
21214
|
-
import { createHash as
|
|
21223
|
+
import { createHash as createHash5 } from "crypto";
|
|
21215
21224
|
import {
|
|
21216
21225
|
access as access7,
|
|
21217
21226
|
mkdir as mkdir9,
|
|
@@ -21314,7 +21323,7 @@ var exists3 = async (path) => {
|
|
|
21314
21323
|
return false;
|
|
21315
21324
|
}
|
|
21316
21325
|
};
|
|
21317
|
-
var sha2562 = async (path) =>
|
|
21326
|
+
var sha2562 = async (path) => createHash5("sha256").update(await readFile12(path)).digest("hex");
|
|
21318
21327
|
var inside2 = (root, candidate) => {
|
|
21319
21328
|
const path = relative6(resolve7(root), resolve7(candidate));
|
|
21320
21329
|
return path === "" || !isAbsolute4(path) && path !== ".." && !path.startsWith(`..${sep4}`);
|
|
@@ -22223,7 +22232,7 @@ var createAbsoluteAndroidTestReport = (options) => {
|
|
|
22223
22232
|
};
|
|
22224
22233
|
|
|
22225
22234
|
// src/mobile/releaseCertification.ts
|
|
22226
|
-
import { createHash as
|
|
22235
|
+
import { createHash as createHash6 } from "crypto";
|
|
22227
22236
|
import {
|
|
22228
22237
|
access as access8,
|
|
22229
22238
|
mkdir as mkdir11,
|
|
@@ -22260,7 +22269,7 @@ var exists4 = async (path) => {
|
|
|
22260
22269
|
return false;
|
|
22261
22270
|
}
|
|
22262
22271
|
};
|
|
22263
|
-
var sha2563 = (bytes) =>
|
|
22272
|
+
var sha2563 = (bytes) => createHash6("sha256").update(bytes).digest("hex");
|
|
22264
22273
|
var requireString3 = (value, name) => {
|
|
22265
22274
|
if (typeof value !== "string" || !value)
|
|
22266
22275
|
throw new TypeError(`Mobile certification ${name} is invalid.`);
|
|
@@ -24551,7 +24560,7 @@ var readAbsoluteMobilePromotionOperation = async (projectRoot, requestedDispatch
|
|
|
24551
24560
|
var relativeAbsoluteMobilePromotionOperationPath = (projectRoot, dispatchIdValue) => relative13(resolve14(projectRoot), absoluteMobilePromotionOperationPath(projectRoot, dispatchIdValue)).replaceAll("\\", "/");
|
|
24552
24561
|
|
|
24553
24562
|
// src/mobile/updateSigning.ts
|
|
24554
|
-
import { createHash as
|
|
24563
|
+
import { createHash as createHash7, sign, verify } from "crypto";
|
|
24555
24564
|
import {
|
|
24556
24565
|
cp,
|
|
24557
24566
|
mkdir as mkdir16,
|
|
@@ -24566,7 +24575,7 @@ import {
|
|
|
24566
24575
|
import { dirname as dirname14, join as join17, relative as relative14, resolve as resolve15 } from "path";
|
|
24567
24576
|
var UPDATE_MANIFEST_FILE = "update.json";
|
|
24568
24577
|
var UPDATE_FILES_DIRECTORY = "files";
|
|
24569
|
-
var sha2564 = (value) =>
|
|
24578
|
+
var sha2564 = (value) => createHash7("sha256").update(value).digest("hex");
|
|
24570
24579
|
var listFiles = async (root, directory = root) => {
|
|
24571
24580
|
const entries = await readdir8(directory, { withFileTypes: true });
|
|
24572
24581
|
const paths = await Promise.all(entries.map(async (entry) => {
|
|
@@ -24996,23 +25005,6 @@ var CAPACITOR_PACKAGES = [
|
|
|
24996
25005
|
"@absolutejs/devices",
|
|
24997
25006
|
"@absolutejs/devices-capacitor"
|
|
24998
25007
|
];
|
|
24999
|
-
var CAPACITOR_PACKAGE_SPECS = [
|
|
25000
|
-
"@capacitor/core@8.5.0",
|
|
25001
|
-
"@capacitor/app@8.1.1",
|
|
25002
|
-
"@capacitor/browser@8.0.4",
|
|
25003
|
-
"@capacitor/network@8.0.1",
|
|
25004
|
-
"@capacitor/preferences@8.0.1",
|
|
25005
|
-
"@capacitor/cli@8.5.0",
|
|
25006
|
-
"@capacitor/android@8.5.0",
|
|
25007
|
-
"@capacitor/ios@8.5.0",
|
|
25008
|
-
"@absolutejs/devices@0.5.0",
|
|
25009
|
-
"@absolutejs/devices-capacitor@0.6.1"
|
|
25010
|
-
];
|
|
25011
|
-
var CAPACITOR_SYNC_PACKAGE_SPECS = [
|
|
25012
|
-
"@absolutejs/sync-capacitor@0.9.1",
|
|
25013
|
-
"@capacitor-community/sqlite@8.1.1"
|
|
25014
|
-
];
|
|
25015
|
-
var packageNameFromSpec = (spec) => spec.slice(0, spec.lastIndexOf("@"));
|
|
25016
25008
|
var directProjectPackages = async (projectRoot) => {
|
|
25017
25009
|
const manifest = JSON.parse(await readFile23(join19(projectRoot, "package.json"), "utf8"));
|
|
25018
25010
|
if (!isRecord11(manifest))
|
|
@@ -25026,15 +25018,6 @@ var directProjectPackages = async (projectRoot) => {
|
|
|
25026
25018
|
}
|
|
25027
25019
|
return names;
|
|
25028
25020
|
};
|
|
25029
|
-
var resolvedPackageVersion = async (projectRoot, packageName) => {
|
|
25030
|
-
try {
|
|
25031
|
-
const manifest = JSON.parse(await readFile23(join19(projectRoot, "node_modules", packageName, "package.json"), "utf8"));
|
|
25032
|
-
return isRecord11(manifest) && typeof manifest.version === "string" ? manifest.version : undefined;
|
|
25033
|
-
} catch {
|
|
25034
|
-
return;
|
|
25035
|
-
}
|
|
25036
|
-
};
|
|
25037
|
-
var exactVersionFromSpec = (spec) => spec.slice(spec.lastIndexOf("@") + 1);
|
|
25038
25021
|
var installApprovedPackages = async (projectRoot, args, message, specs, dev = false) => {
|
|
25039
25022
|
if (specs.length === 0)
|
|
25040
25023
|
return;
|
|
@@ -25044,11 +25027,6 @@ var installApprovedPackages = async (projectRoot, args, message, specs, dev = fa
|
|
|
25044
25027
|
if (!installPackages(projectRoot, specs, dev))
|
|
25045
25028
|
throw new TypeError("Failed to install the AbsoluteJS mobile toolchain.");
|
|
25046
25029
|
};
|
|
25047
|
-
var packagesNeedingExactInstall = async (projectRoot, specs, installed, exactPackages) => (await Promise.all(specs.map(async (spec) => {
|
|
25048
|
-
const name = packageNameFromSpec(spec);
|
|
25049
|
-
const needsInstall = !installed.has(name) || exactPackages.has(name) && await resolvedPackageVersion(projectRoot, name) !== exactVersionFromSpec(spec);
|
|
25050
|
-
return needsInstall ? spec : undefined;
|
|
25051
|
-
}))).filter((spec) => spec !== undefined);
|
|
25052
25030
|
var ensureCapacitorPackages = async (projectRoot, args, mobile) => {
|
|
25053
25031
|
const specs = [
|
|
25054
25032
|
...CAPACITOR_PACKAGE_SPECS,
|
|
@@ -25056,12 +25034,14 @@ var ensureCapacitorPackages = async (projectRoot, args, mobile) => {
|
|
|
25056
25034
|
...projectUsesAbsoluteSync(projectRoot) ? CAPACITOR_SYNC_PACKAGE_SPECS : []
|
|
25057
25035
|
];
|
|
25058
25036
|
const installed = await directProjectPackages(projectRoot);
|
|
25059
|
-
const missing = await packagesNeedingExactInstall(projectRoot, specs, installed,
|
|
25037
|
+
const missing = await packagesNeedingExactInstall(projectRoot, specs, installed, ABSOLUTE_NATIVE_EXACT_PACKAGES);
|
|
25060
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);
|
|
25061
25040
|
const capabilityPlan = resolveAbsoluteDeviceCapabilityPlan(projectRoot);
|
|
25062
25041
|
const directCapabilityPackages = await directProjectPackages(projectRoot);
|
|
25063
25042
|
const capabilityPackages = await packagesNeedingExactInstall(projectRoot, capabilityPlan.requiredPackages, directCapabilityPackages, new Set(capabilityPlan.requiredPackages.map(packageNameFromSpec)));
|
|
25064
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)));
|
|
25065
25045
|
if (mobile?.branding) {
|
|
25066
25046
|
const installedBrandingPackages = await directProjectPackages(projectRoot);
|
|
25067
25047
|
const brandingPackages = await packagesNeedingExactInstall(projectRoot, [ABSOLUTE_CAPACITOR_ASSETS_SPEC], installedBrandingPackages, new Set(["@capacitor/assets"]));
|
|
@@ -25290,7 +25270,8 @@ var initialize = async (args) => {
|
|
|
25290
25270
|
console.log(`${generated.changed ? "Generated" : "Verified"} ${generated.path}`);
|
|
25291
25271
|
if (args.includes("--no-native"))
|
|
25292
25272
|
return;
|
|
25293
|
-
await
|
|
25273
|
+
const platforms = await prepareAbsoluteCapacitorInitialization(mobile);
|
|
25274
|
+
await platforms.reduce((pending, platform2) => pending.then(() => runCapacitor(projectRoot, [platform2.command, platform2.platform])), Promise.resolve());
|
|
25294
25275
|
if (mobile.branding)
|
|
25295
25276
|
await generateAbsoluteCapacitorBranding(mobile, projectRoot);
|
|
25296
25277
|
await applyAbsoluteNativeDeepLinks(mobile);
|
|
@@ -25685,7 +25666,7 @@ var dispatchGithubMobilePromotion = async (args) => {
|
|
|
25685
25666
|
auditOutputDirectory,
|
|
25686
25667
|
auditRequested,
|
|
25687
25668
|
certificationId: certification.certificationId,
|
|
25688
|
-
certificationSha256:
|
|
25669
|
+
certificationSha256: createHash8("sha256").update(serializeAbsoluteMobileReleaseCertification(certification)).digest("hex"),
|
|
25689
25670
|
channel: channel || null,
|
|
25690
25671
|
dispatchId: dispatchId3,
|
|
25691
25672
|
platform: platform2,
|
|
@@ -27413,6 +27394,11 @@ var testAndroidRelease = async (args, mobile, projectRoot) => {
|
|
|
27413
27394
|
}
|
|
27414
27395
|
};
|
|
27415
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
|
+
}
|
|
27416
27402
|
const { mobile, projectRoot } = await loadMobile(valueAfter(args, "--config"));
|
|
27417
27403
|
if (args.includes("--release")) {
|
|
27418
27404
|
return testAndroidRelease(args, mobile, projectRoot);
|
|
@@ -28137,6 +28123,11 @@ var testIosRelease = async (args, mobile, projectRoot) => {
|
|
|
28137
28123
|
}
|
|
28138
28124
|
};
|
|
28139
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
|
+
}
|
|
28140
28131
|
const { mobile, projectRoot } = await loadMobile(valueAfter(args, "--config"));
|
|
28141
28132
|
if (args.includes("--release"))
|
|
28142
28133
|
return testIosRelease(args, mobile, projectRoot);
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
// @bun
|
|
2
2
|
import {
|
|
3
3
|
start
|
|
4
|
-
} from "./index-
|
|
5
|
-
import"./index-
|
|
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-
|
|
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 = "/
|
|
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
|
|
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
|
|
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=
|
|
45710
|
+
//# debugId=115412BE9986B30E64756E2164756E21
|
|
45705
45711
|
//# sourceMappingURL=index.js.map
|