@absolutejs/absolute 0.20.0-beta.159 → 0.20.0-beta.160
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 +14 -0
- package/dist/angular/components/core/streamingSlotRegistrar.js +1 -1
- package/dist/angular/components/core/streamingSlotRegistry.js +2 -2
- package/dist/cli/{dev-488hbm61.js → dev-sxx8zyr6.js} +3 -3
- package/dist/cli/{index-ahbjh1eg.js → index-6ps18fvr.js} +1 -1
- package/dist/cli/{index-gy58r3jj.js → index-j9yrhw7a.js} +1 -1
- package/dist/cli/{index-gjkd58v4.js → index-wwnnfhm6.js} +41 -4
- package/dist/cli/index.js +2 -2
- package/dist/cli/{iosNativeWatcher-4zqje67k.js → iosNativeWatcher-ntzec3hx.js} +2 -2
- package/dist/cli/{iosSimulatorController-zmhzfdqx.js → iosSimulatorController-hjzy6pq6.js} +2 -2
- package/dist/cli/{mobile-gpxjf5e2.js → mobile-0r1y2hwc.js} +3 -3
- package/dist/cli/{remoteMacProtocol-xk8jppkj.js → remoteMacProtocol-2ej6fbnj.js} +2 -2
- package/dist/mobile/index.js +58 -21
- package/dist/mobile/index.js.map +3 -3
- package/dist/mobile/remoteMacAgentEntry.js +207 -207
- package/dist/src/mobile/iosRelease.d.ts +1 -0
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,13 @@ This file is generated by `absolute-changelog` from the entries in
|
|
|
6
6
|
`changelog/`. Edit an entry, not this file — and add new ones under
|
|
7
7
|
`changelog/unreleased/`.
|
|
8
8
|
|
|
9
|
+
## 0.20.0-beta.160 — 2026-10-28
|
|
10
|
+
|
|
11
|
+
### Fixed
|
|
12
|
+
|
|
13
|
+
- **Signed iOS builds find their Xcode scheme on a fresh checkout** (`resolveAbsoluteIosXcodeProject`)
|
|
14
|
+
Capacitor 8 ships no shared Xcode scheme and its .gitignore excludes xcuserdata, so a fresh checkout such as a GitHub Actions runner has no .xcscheme file. `mobile build ios` and the simulator certification failed there with "iOS release could not find a shared Xcode scheme"; they only worked on a Mac where opening the project in Xcode had created a user scheme. With no shared scheme, the release now asks Xcode for its schemes (`xcodebuild -list -json`) and uses the only one, or the one named after the project (`App` for Capacitor), beside the scheme for each local Swift package. A shared scheme is still used as before, and an explicit scheme still wins. By Gene Graves.
|
|
15
|
+
|
|
9
16
|
## 0.20.0-beta.159 — 2026-10-28
|
|
10
17
|
|
|
11
18
|
### Fixed
|
package/changelog.json
CHANGED
|
@@ -2,6 +2,20 @@
|
|
|
2
2
|
"contract": 1,
|
|
3
3
|
"name": "@absolutejs/absolute",
|
|
4
4
|
"releases": [
|
|
5
|
+
{
|
|
6
|
+
"changes": [
|
|
7
|
+
{
|
|
8
|
+
"detail": "Capacitor 8 ships no shared Xcode scheme and its .gitignore excludes xcuserdata, so a fresh checkout such as a GitHub Actions runner has no .xcscheme file. `mobile build ios` and the simulator certification failed there with \"iOS release could not find a shared Xcode scheme\"; they only worked on a Mac where opening the project in Xcode had created a user scheme. With no shared scheme, the release now asks Xcode for its schemes (`xcodebuild -list -json`) and uses the only one, or the one named after the project (`App` for Capacitor), beside the scheme for each local Swift package. A shared scheme is still used as before, and an explicit scheme still wins. By Gene Graves.",
|
|
9
|
+
"kind": "fixed",
|
|
10
|
+
"summary": "Signed iOS builds find their Xcode scheme on a fresh checkout",
|
|
11
|
+
"symbols": [
|
|
12
|
+
"resolveAbsoluteIosXcodeProject"
|
|
13
|
+
]
|
|
14
|
+
}
|
|
15
|
+
],
|
|
16
|
+
"date": "2026-10-28",
|
|
17
|
+
"version": "0.20.0-beta.160"
|
|
18
|
+
},
|
|
5
19
|
{
|
|
6
20
|
"changes": [
|
|
7
21
|
{
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
// .angular-partial-tmp-
|
|
2
|
+
// .angular-partial-tmp-FjgEOe/src/core/streamingSlotRegistrar.ts
|
|
3
3
|
var STREAMING_SLOT_REGISTRAR_KEY = Symbol.for("absolutejs.streamingSlotRegistrar");
|
|
4
4
|
var STREAMING_SLOT_WARNING_STORAGE_KEY = Symbol.for("absolutejs.streamingSlotWarningController");
|
|
5
5
|
var STREAMING_SLOT_COLLECTION_STORAGE_KEY = Symbol.for("absolutejs.streamingSlotCollectionController");
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
// .angular-partial-tmp-
|
|
2
|
+
// .angular-partial-tmp-FjgEOe/src/core/streamingSlotRegistrar.ts
|
|
3
3
|
var STREAMING_SLOT_REGISTRAR_KEY = Symbol.for("absolutejs.streamingSlotRegistrar");
|
|
4
4
|
var STREAMING_SLOT_WARNING_STORAGE_KEY = Symbol.for("absolutejs.streamingSlotWarningController");
|
|
5
5
|
var STREAMING_SLOT_COLLECTION_STORAGE_KEY = Symbol.for("absolutejs.streamingSlotCollectionController");
|
|
@@ -46,7 +46,7 @@ var warnMissingStreamingSlotCollector = (primitiveName) => {
|
|
|
46
46
|
getWarningController()?.maybeWarn(primitiveName);
|
|
47
47
|
};
|
|
48
48
|
|
|
49
|
-
// .angular-partial-tmp-
|
|
49
|
+
// .angular-partial-tmp-FjgEOe/src/core/streamingSlotRegistry.ts
|
|
50
50
|
var STREAMING_SLOT_STORAGE_KEY = Symbol.for("absolutejs.streamingSlotAsyncLocalStorage");
|
|
51
51
|
var isObjectRecord2 = (value) => Boolean(value) && typeof value === "object";
|
|
52
52
|
var isAsyncLocalStorage = (value) => isObjectRecord2(value) && ("getStore" in value) && typeof value.getStore === "function" && ("run" in value) && typeof value.run === "function";
|
|
@@ -1345,9 +1345,9 @@ var loadAbsoluteMobileDevModules = async () => {
|
|
|
1345
1345
|
import("./emulatorDoctor-1m4rr9y3.js"),
|
|
1346
1346
|
import("./emulatorInstaller-70v711bj.js"),
|
|
1347
1347
|
import("./androidNativeWatcher-wz7vhnkr.js"),
|
|
1348
|
-
import("./iosSimulatorController-
|
|
1349
|
-
import("./remoteMacProtocol-
|
|
1350
|
-
import("./iosNativeWatcher-
|
|
1348
|
+
import("./iosSimulatorController-hjzy6pq6.js"),
|
|
1349
|
+
import("./remoteMacProtocol-2ej6fbnj.js"),
|
|
1350
|
+
import("./iosNativeWatcher-ntzec3hx.js"),
|
|
1351
1351
|
import("./expoNativeWatcher-aakp7xvj.js")
|
|
1352
1352
|
]);
|
|
1353
1353
|
return {
|
|
@@ -17,7 +17,15 @@ import {
|
|
|
17
17
|
stat,
|
|
18
18
|
writeFile
|
|
19
19
|
} from "fs/promises";
|
|
20
|
-
import {
|
|
20
|
+
import {
|
|
21
|
+
basename,
|
|
22
|
+
dirname,
|
|
23
|
+
isAbsolute,
|
|
24
|
+
join,
|
|
25
|
+
relative,
|
|
26
|
+
resolve,
|
|
27
|
+
sep
|
|
28
|
+
} from "path";
|
|
21
29
|
var ABSOLUTE_IOS_RELEASE_FORMAT = 1;
|
|
22
30
|
var developmentTeamArgument = (value) => {
|
|
23
31
|
if (value === undefined)
|
|
@@ -200,6 +208,26 @@ var findAllByExtension = async (root, extension, options = {}) => {
|
|
|
200
208
|
}));
|
|
201
209
|
return matches.flat().sort();
|
|
202
210
|
};
|
|
211
|
+
var xcodeContainerName = (path) => {
|
|
212
|
+
const name = basename(path);
|
|
213
|
+
const container = name === "project.xcworkspace" ? basename(dirname(path)) : name;
|
|
214
|
+
return container.replace(/\.(xcodeproj|xcworkspace)$/, "");
|
|
215
|
+
};
|
|
216
|
+
var listXcodeSchemes = (target, nativeDirectory, capture) => {
|
|
217
|
+
const listed = capture(["xcodebuild", "-list", "-json", ...target], {
|
|
218
|
+
cwd: nativeDirectory
|
|
219
|
+
});
|
|
220
|
+
if (listed.exitCode !== 0)
|
|
221
|
+
return [];
|
|
222
|
+
try {
|
|
223
|
+
const parsed = JSON.parse(listed.stdout);
|
|
224
|
+
const container = isRecord(parsed) ? parsed.workspace ?? parsed.project : undefined;
|
|
225
|
+
const schemes = isRecord(container) ? container.schemes : undefined;
|
|
226
|
+
return Array.isArray(schemes) ? schemes.filter((scheme) => typeof scheme === "string") : [];
|
|
227
|
+
} catch {
|
|
228
|
+
return [];
|
|
229
|
+
}
|
|
230
|
+
};
|
|
203
231
|
var resolveAbsoluteIosXcodeProject = async (nativeDirectory, options = {}) => {
|
|
204
232
|
const requestedWorkspace = options.workspacePath ? resolve(nativeDirectory, options.workspacePath) : undefined;
|
|
205
233
|
if (requestedWorkspace) {
|
|
@@ -237,9 +265,17 @@ var resolveAbsoluteIosXcodeProject = async (nativeDirectory, options = {}) => {
|
|
|
237
265
|
const schemes = [
|
|
238
266
|
...new Set(schemeFiles.map((path) => path.slice(path.lastIndexOf(sep) + 1, -".xcscheme".length)))
|
|
239
267
|
];
|
|
240
|
-
if (schemes.length
|
|
241
|
-
throw new TypeError(
|
|
242
|
-
|
|
268
|
+
if (schemes.length > 1)
|
|
269
|
+
throw new TypeError(`iOS release found multiple shared Xcode schemes: ${schemes.join(", ")}. Pass an explicit scheme.`);
|
|
270
|
+
if (schemes[0])
|
|
271
|
+
return { scheme: schemes[0], target };
|
|
272
|
+
const containerPath = target[1] ?? "";
|
|
273
|
+
const name = xcodeContainerName(containerPath);
|
|
274
|
+
const listed = listXcodeSchemes(target, nativeDirectory, options.capture ?? defaultCapture);
|
|
275
|
+
const scheme = listed.length === 1 ? listed[0] : listed.find((item) => item === name);
|
|
276
|
+
if (scheme)
|
|
277
|
+
return { scheme, target };
|
|
278
|
+
throw new TypeError(listed.length > 0 ? `iOS release found Xcode schemes ${listed.join(", ")}, none shared or named ${name}. Pass an explicit scheme.` : "iOS release could not find a shared Xcode scheme.");
|
|
243
279
|
};
|
|
244
280
|
var exportOptions = (method) => `<?xml version="1.0" encoding="UTF-8"?>
|
|
245
281
|
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
|
@@ -386,6 +422,7 @@ var buildAbsoluteIosRelease = async (options) => {
|
|
|
386
422
|
throw new TypeError("Embedded mobile manifest appId does not match mobile.appId.");
|
|
387
423
|
const nativeDirectory = join(options.config.nativeProjectDirectory, "ios");
|
|
388
424
|
const xcode = await resolveAbsoluteIosXcodeProject(nativeDirectory, {
|
|
425
|
+
capture: options.capture,
|
|
389
426
|
scheme: options.scheme,
|
|
390
427
|
workspacePath: options.workspacePath
|
|
391
428
|
});
|
package/dist/cli/index.js
CHANGED
|
@@ -54,7 +54,7 @@ if (command === "dev") {
|
|
|
54
54
|
}
|
|
55
55
|
const positionalArgs = stripNamedArgs("--config", "--android-device", "--ios-device").filter((arg) => arg !== "--no-mobile" && arg !== "--eager");
|
|
56
56
|
const serverEntry = positionalArgs[0] ?? DEFAULT_SERVER_ENTRY;
|
|
57
|
-
const { dev } = await import("./dev-
|
|
57
|
+
const { dev } = await import("./dev-sxx8zyr6.js");
|
|
58
58
|
await dev(serverEntry, configPath, {
|
|
59
59
|
androidDevice,
|
|
60
60
|
eager: args.includes("--eager"),
|
|
@@ -211,7 +211,7 @@ if (command === "dev") {
|
|
|
211
211
|
sendTelemetryEvent("cli:command", {
|
|
212
212
|
command: `mobile:${workspaceCommand ?? "unknown"}`
|
|
213
213
|
});
|
|
214
|
-
const { runMobile } = await import("./mobile-
|
|
214
|
+
const { runMobile } = await import("./mobile-0r1y2hwc.js");
|
|
215
215
|
try {
|
|
216
216
|
await runMobile(args);
|
|
217
217
|
} catch (error) {
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
// @bun
|
|
2
2
|
import"./index-fgz435qn.js";
|
|
3
3
|
import"./index-52a2csjm.js";
|
|
4
|
-
import"./index-
|
|
4
|
+
import"./index-wwnnfhm6.js";
|
|
5
5
|
import {
|
|
6
6
|
fingerprintAbsoluteIosDevProject2
|
|
7
|
-
} from "./index-
|
|
7
|
+
} from "./index-6ps18fvr.js";
|
|
8
8
|
import"./index-v4cg4dvm.js";
|
|
9
9
|
import"./index-74m7kh8c.js";
|
|
10
10
|
import"./index-kye08pjx.js";
|
|
@@ -6,8 +6,8 @@ import {
|
|
|
6
6
|
fingerprintAbsoluteIosDevProject2,
|
|
7
7
|
prepareAbsoluteIosDevProject2,
|
|
8
8
|
startAbsoluteIosDevSession2
|
|
9
|
-
} from "./index-
|
|
10
|
-
import"./index-
|
|
9
|
+
} from "./index-6ps18fvr.js";
|
|
10
|
+
import"./index-wwnnfhm6.js";
|
|
11
11
|
import"./index-52a2csjm.js";
|
|
12
12
|
import"./index-v4cg4dvm.js";
|
|
13
13
|
import"./index-74m7kh8c.js";
|
|
@@ -70,12 +70,12 @@ import {
|
|
|
70
70
|
resolveAbsoluteIosXcodeProject,
|
|
71
71
|
requireAbsoluteIosReleaseMetadata,
|
|
72
72
|
buildAbsoluteIosRelease
|
|
73
|
-
} from "./index-
|
|
73
|
+
} from "./index-wwnnfhm6.js";
|
|
74
74
|
import {
|
|
75
75
|
ABSOLUTE_IOS_SIMULATOR_NAME2,
|
|
76
76
|
parseIosSimulators2,
|
|
77
77
|
repairAbsoluteIosDevSession2
|
|
78
|
-
} from "./index-
|
|
78
|
+
} from "./index-6ps18fvr.js";
|
|
79
79
|
import"./index-e6ysp900.js";
|
|
80
80
|
import {
|
|
81
81
|
start2
|
|
@@ -92,7 +92,7 @@ import {
|
|
|
92
92
|
inspectAbsoluteRemoteMacWorkspace2,
|
|
93
93
|
buildAbsoluteRemoteIosRelease2,
|
|
94
94
|
runAbsoluteRemoteIosReleaseAcceptance2
|
|
95
|
-
} from "./index-
|
|
95
|
+
} from "./index-j9yrhw7a.js";
|
|
96
96
|
import {
|
|
97
97
|
installPackages
|
|
98
98
|
} from "./index-jjfbjv1z.js";
|
|
@@ -15,8 +15,8 @@ import {
|
|
|
15
15
|
runAbsoluteRemoteIosReleaseAcceptance2,
|
|
16
16
|
startAbsoluteRemoteExpoIosDevSession2,
|
|
17
17
|
startAbsoluteRemoteIosDevSession2
|
|
18
|
-
} from "./index-
|
|
19
|
-
import"./index-
|
|
18
|
+
} from "./index-j9yrhw7a.js";
|
|
19
|
+
import"./index-wwnnfhm6.js";
|
|
20
20
|
import"./index-52a2csjm.js";
|
|
21
21
|
import"./index-v4cg4dvm.js";
|
|
22
22
|
import"./index-74m7kh8c.js";
|
package/dist/mobile/index.js
CHANGED
|
@@ -8173,7 +8173,15 @@ import {
|
|
|
8173
8173
|
stat as stat3,
|
|
8174
8174
|
writeFile as writeFile7
|
|
8175
8175
|
} from "fs/promises";
|
|
8176
|
-
import {
|
|
8176
|
+
import {
|
|
8177
|
+
basename as basename2,
|
|
8178
|
+
dirname as dirname5,
|
|
8179
|
+
isAbsolute as isAbsolute4,
|
|
8180
|
+
join as join8,
|
|
8181
|
+
relative as relative6,
|
|
8182
|
+
resolve as resolve6,
|
|
8183
|
+
sep as sep4
|
|
8184
|
+
} from "path";
|
|
8177
8185
|
var ABSOLUTE_IOS_RELEASE_FORMAT = 1;
|
|
8178
8186
|
var developmentTeamArgument = (value) => {
|
|
8179
8187
|
if (value === undefined)
|
|
@@ -8356,6 +8364,26 @@ var findAllByExtension = async (root, extension, options = {}) => {
|
|
|
8356
8364
|
}));
|
|
8357
8365
|
return matches.flat().sort();
|
|
8358
8366
|
};
|
|
8367
|
+
var xcodeContainerName = (path) => {
|
|
8368
|
+
const name = basename2(path);
|
|
8369
|
+
const container = name === "project.xcworkspace" ? basename2(dirname5(path)) : name;
|
|
8370
|
+
return container.replace(/\.(xcodeproj|xcworkspace)$/, "");
|
|
8371
|
+
};
|
|
8372
|
+
var listXcodeSchemes = (target, nativeDirectory, capture) => {
|
|
8373
|
+
const listed = capture(["xcodebuild", "-list", "-json", ...target], {
|
|
8374
|
+
cwd: nativeDirectory
|
|
8375
|
+
});
|
|
8376
|
+
if (listed.exitCode !== 0)
|
|
8377
|
+
return [];
|
|
8378
|
+
try {
|
|
8379
|
+
const parsed = JSON.parse(listed.stdout);
|
|
8380
|
+
const container = isRecord3(parsed) ? parsed.workspace ?? parsed.project : undefined;
|
|
8381
|
+
const schemes = isRecord3(container) ? container.schemes : undefined;
|
|
8382
|
+
return Array.isArray(schemes) ? schemes.filter((scheme) => typeof scheme === "string") : [];
|
|
8383
|
+
} catch {
|
|
8384
|
+
return [];
|
|
8385
|
+
}
|
|
8386
|
+
};
|
|
8359
8387
|
var resolveAbsoluteIosXcodeProject = async (nativeDirectory, options = {}) => {
|
|
8360
8388
|
const requestedWorkspace = options.workspacePath ? resolve6(nativeDirectory, options.workspacePath) : undefined;
|
|
8361
8389
|
if (requestedWorkspace) {
|
|
@@ -8393,9 +8421,17 @@ var resolveAbsoluteIosXcodeProject = async (nativeDirectory, options = {}) => {
|
|
|
8393
8421
|
const schemes = [
|
|
8394
8422
|
...new Set(schemeFiles.map((path) => path.slice(path.lastIndexOf(sep4) + 1, -".xcscheme".length)))
|
|
8395
8423
|
];
|
|
8396
|
-
if (schemes.length
|
|
8397
|
-
throw new TypeError(
|
|
8398
|
-
|
|
8424
|
+
if (schemes.length > 1)
|
|
8425
|
+
throw new TypeError(`iOS release found multiple shared Xcode schemes: ${schemes.join(", ")}. Pass an explicit scheme.`);
|
|
8426
|
+
if (schemes[0])
|
|
8427
|
+
return { scheme: schemes[0], target };
|
|
8428
|
+
const containerPath = target[1] ?? "";
|
|
8429
|
+
const name = xcodeContainerName(containerPath);
|
|
8430
|
+
const listed = listXcodeSchemes(target, nativeDirectory, options.capture ?? defaultCapture2);
|
|
8431
|
+
const scheme = listed.length === 1 ? listed[0] : listed.find((item) => item === name);
|
|
8432
|
+
if (scheme)
|
|
8433
|
+
return { scheme, target };
|
|
8434
|
+
throw new TypeError(listed.length > 0 ? `iOS release found Xcode schemes ${listed.join(", ")}, none shared or named ${name}. Pass an explicit scheme.` : "iOS release could not find a shared Xcode scheme.");
|
|
8399
8435
|
};
|
|
8400
8436
|
var exportOptions = (method) => `<?xml version="1.0" encoding="UTF-8"?>
|
|
8401
8437
|
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
|
@@ -8542,6 +8578,7 @@ var buildAbsoluteIosRelease = async (options) => {
|
|
|
8542
8578
|
throw new TypeError("Embedded mobile manifest appId does not match mobile.appId.");
|
|
8543
8579
|
const nativeDirectory = join8(options.config.nativeProjectDirectory, "ios");
|
|
8544
8580
|
const xcode = await resolveAbsoluteIosXcodeProject(nativeDirectory, {
|
|
8581
|
+
capture: options.capture,
|
|
8545
8582
|
scheme: options.scheme,
|
|
8546
8583
|
workspacePath: options.workspacePath
|
|
8547
8584
|
});
|
|
@@ -8680,7 +8717,7 @@ import {
|
|
|
8680
8717
|
stat as stat4
|
|
8681
8718
|
} from "fs/promises";
|
|
8682
8719
|
import {
|
|
8683
|
-
basename as
|
|
8720
|
+
basename as basename3,
|
|
8684
8721
|
dirname as dirname6,
|
|
8685
8722
|
isAbsolute as isAbsolute5,
|
|
8686
8723
|
join as join9,
|
|
@@ -8819,7 +8856,7 @@ var readAbsoluteIosRelease = async (projectRoot, requested) => {
|
|
|
8819
8856
|
const selected = resolve7(root, requested);
|
|
8820
8857
|
if (!inside2(root, selected))
|
|
8821
8858
|
throw new TypeError("mobile test ios --release must remain inside the project.");
|
|
8822
|
-
const metadataPath =
|
|
8859
|
+
const metadataPath = basename3(selected) === "release.json" ? selected : join9(selected, "release.json");
|
|
8823
8860
|
const releaseRoot = dirname6(metadataPath);
|
|
8824
8861
|
const metadata = requireAbsoluteIosReleaseMetadata(JSON.parse(await readFile9(metadataPath, "utf8")));
|
|
8825
8862
|
const artifactPath = resolve7(releaseRoot, metadata.artifact);
|
|
@@ -10159,7 +10196,7 @@ var startAbsoluteIosDevSession = async (options) => {
|
|
|
10159
10196
|
};
|
|
10160
10197
|
// src/mobile/iosNativeWatcher.ts
|
|
10161
10198
|
import { watch } from "fs";
|
|
10162
|
-
import { basename as
|
|
10199
|
+
import { basename as basename4 } from "path";
|
|
10163
10200
|
var NATIVE_CHANGE_DEBOUNCE_MS = 500;
|
|
10164
10201
|
var ROOT_NATIVE_INPUTS = new Set([
|
|
10165
10202
|
"absolute.config.js",
|
|
@@ -10249,7 +10286,7 @@ var createAbsoluteIosNativeWatcher = async (options) => {
|
|
|
10249
10286
|
options.signal?.addEventListener("abort", close, { once: true });
|
|
10250
10287
|
return { close };
|
|
10251
10288
|
};
|
|
10252
|
-
var isAbsoluteIosNativeRootInput = (path) => ROOT_NATIVE_INPUTS.has(
|
|
10289
|
+
var isAbsoluteIosNativeRootInput = (path) => ROOT_NATIVE_INPUTS.has(basename4(path));
|
|
10253
10290
|
// src/mobile/remoteMacProtocol.ts
|
|
10254
10291
|
import { createHash as createHash10, randomUUID as randomUUID4 } from "crypto";
|
|
10255
10292
|
import {
|
|
@@ -11696,14 +11733,14 @@ import { join as join22, resolve as resolve16 } from "path";
|
|
|
11696
11733
|
// src/mobile/buildRelease.ts
|
|
11697
11734
|
import { createHash as createHash12 } from "crypto";
|
|
11698
11735
|
import { mkdir as mkdir12, readFile as readFile14, writeFile as writeFile11 } from "fs/promises";
|
|
11699
|
-
import { basename as
|
|
11736
|
+
import { basename as basename5, dirname as dirname9, extname, join as join12, relative as relative10, resolve as resolve11 } from "path";
|
|
11700
11737
|
init_releaseArtifact();
|
|
11701
11738
|
var sha2563 = (bytes) => createHash12("sha256").update(bytes).digest("hex");
|
|
11702
11739
|
var STATIC_SCRIPT_PATTERN = /(<script\b[^>]*?\bsrc\s*=\s*["'])(\/[^"']+\.(?:js|ts))(["'][^>]*>)/giu;
|
|
11703
11740
|
var rewriteStaticScriptPaths = (source, manifest) => source.replace(STATIC_SCRIPT_PATTERN, (match, prefix, path, suffix) => {
|
|
11704
11741
|
if (path.endsWith("/htmx.min.js"))
|
|
11705
11742
|
return match;
|
|
11706
|
-
const key = toPascal(
|
|
11743
|
+
const key = toPascal(basename5(path, extname(path)));
|
|
11707
11744
|
const builtPath = manifest[key];
|
|
11708
11745
|
return builtPath ? `${prefix}${builtPath}${suffix}` : match;
|
|
11709
11746
|
});
|
|
@@ -11858,7 +11895,7 @@ import {
|
|
|
11858
11895
|
writeFile as writeFile12
|
|
11859
11896
|
} from "fs/promises";
|
|
11860
11897
|
import { existsSync as existsSync2 } from "fs";
|
|
11861
|
-
import { basename as
|
|
11898
|
+
import { basename as basename6, dirname as dirname10, extname as extname2, join as join13, relative as relative11, resolve as resolve12 } from "path";
|
|
11862
11899
|
|
|
11863
11900
|
// src/mobile/client.ts
|
|
11864
11901
|
init_pageProtocol();
|
|
@@ -12282,7 +12319,7 @@ var materializeAbsoluteMobileSourcemaps = async (pages, appBuild, projectRoot) =
|
|
|
12282
12319
|
const releaseRoot = join13(privateRoot, "mobile", release);
|
|
12283
12320
|
const copied = [];
|
|
12284
12321
|
const available = pages.flatMap((page) => {
|
|
12285
|
-
const source = join13(privateRoot, `${
|
|
12322
|
+
const source = join13(privateRoot, `${basename6(page.bundlePath)}.map`);
|
|
12286
12323
|
return existsSync2(source) ? [{ page, source }] : [];
|
|
12287
12324
|
});
|
|
12288
12325
|
if (available.length > 0)
|
|
@@ -12359,7 +12396,7 @@ var materializeAbsoluteCapacitorWebBundle = async (options) => {
|
|
|
12359
12396
|
}
|
|
12360
12397
|
const destination = options.config.bundleDirectory;
|
|
12361
12398
|
await mkdir13(dirname10(destination), { recursive: true });
|
|
12362
|
-
const staging = await mkdtemp7(join13(dirname10(destination), `.${
|
|
12399
|
+
const staging = await mkdtemp7(join13(dirname10(destination), `.${basename6(destination)}.stage-`));
|
|
12363
12400
|
try {
|
|
12364
12401
|
const pageDirectory = join13(staging, "pages");
|
|
12365
12402
|
await mkdir13(pageDirectory, { recursive: true });
|
|
@@ -12435,7 +12472,7 @@ import {
|
|
|
12435
12472
|
writeFile as writeFile14
|
|
12436
12473
|
} from "fs/promises";
|
|
12437
12474
|
import { createHash as createHash15 } from "crypto";
|
|
12438
|
-
import { basename as
|
|
12475
|
+
import { basename as basename7, dirname as dirname13, join as join21, relative as relative13, resolve as resolve15, sep as sep8 } from "path";
|
|
12439
12476
|
|
|
12440
12477
|
// src/mobile/nativePackages.ts
|
|
12441
12478
|
var ABSOLUTE_CAPACITOR_DEVICES_VERSION = "0.8.1";
|
|
@@ -15433,7 +15470,7 @@ var syncAbsoluteExpoWebAssets = async (config) => {
|
|
|
15433
15470
|
const bundleId = `amexpo_${bundleHash.digest("hex")}`;
|
|
15434
15471
|
const destination = join21(config.nativeProjectDirectory, "assets", "absolute");
|
|
15435
15472
|
await mkdir15(dirname13(destination), { recursive: true });
|
|
15436
|
-
const staging = await mkdtemp9(join21(dirname13(destination), `.${
|
|
15473
|
+
const staging = await mkdtemp9(join21(dirname13(destination), `.${basename7(destination)}.stage-`));
|
|
15437
15474
|
let assets;
|
|
15438
15475
|
let archiveAsset;
|
|
15439
15476
|
let archiveMd5;
|
|
@@ -16107,7 +16144,7 @@ var parseAbsoluteAndroidAccessibilityHierarchy = (source) => [...source.matchAll
|
|
|
16107
16144
|
// src/mobile/expoNativeWatcher.ts
|
|
16108
16145
|
import { watch as watch2 } from "fs";
|
|
16109
16146
|
import { access as access15, readdir as readdir6, readFile as readFile19 } from "fs/promises";
|
|
16110
|
-
import { basename as
|
|
16147
|
+
import { basename as basename8, join as join23, relative as relative15 } from "path";
|
|
16111
16148
|
import { createHash as createHash16 } from "crypto";
|
|
16112
16149
|
var NATIVE_CHANGE_DEBOUNCE_MS2 = 500;
|
|
16113
16150
|
var ROOT_NATIVE_INPUTS2 = new Set([
|
|
@@ -16151,7 +16188,7 @@ var fingerprintAbsoluteExpoNativeInputs = async (options) => {
|
|
|
16151
16188
|
});
|
|
16152
16189
|
return hash.digest("hex");
|
|
16153
16190
|
};
|
|
16154
|
-
var isAbsoluteExpoNativeRootInput = (path) => ROOT_NATIVE_INPUTS2.has(
|
|
16191
|
+
var isAbsoluteExpoNativeRootInput = (path) => ROOT_NATIVE_INPUTS2.has(basename8(path));
|
|
16155
16192
|
var createAbsoluteExpoNativeWatcher = async (options) => {
|
|
16156
16193
|
let fingerprint = await fingerprintAbsoluteExpoNativeInputs(options);
|
|
16157
16194
|
let closed = false;
|
|
@@ -16453,7 +16490,7 @@ import {
|
|
|
16453
16490
|
rm as rm14,
|
|
16454
16491
|
writeFile as writeFile18
|
|
16455
16492
|
} from "fs/promises";
|
|
16456
|
-
import { basename as
|
|
16493
|
+
import { basename as basename9, isAbsolute as isAbsolute10, join as join25, relative as relative17, resolve as resolve19, sep as sep11 } from "path";
|
|
16457
16494
|
var ABSOLUTE_MOBILE_RELEASE_CERTIFICATION_FORMAT = 1;
|
|
16458
16495
|
var CERTIFICATION_PREFIX = "amobile_cert_";
|
|
16459
16496
|
var SHA256 = /^[a-f0-9]{64}$/u;
|
|
@@ -16495,7 +16532,7 @@ var resolveEvidencePath = async (projectRoot, requested) => {
|
|
|
16495
16532
|
const selected = resolve19(projectRoot, requested);
|
|
16496
16533
|
if (!inside4(projectRoot, selected))
|
|
16497
16534
|
throw new TypeError("Mobile certification evidence must remain inside the project.");
|
|
16498
|
-
if (
|
|
16535
|
+
if (basename9(selected) === "report.json")
|
|
16499
16536
|
return selected;
|
|
16500
16537
|
const report = join25(selected, "report.json");
|
|
16501
16538
|
if (!await exists9(report))
|
|
@@ -16762,7 +16799,7 @@ var readAbsoluteMobileReleaseCertification = async (projectRoot, requested) => {
|
|
|
16762
16799
|
const selected = resolve19(projectRoot, requested);
|
|
16763
16800
|
if (!inside4(projectRoot, selected))
|
|
16764
16801
|
throw new TypeError("Mobile release certification must remain inside the project.");
|
|
16765
|
-
const path =
|
|
16802
|
+
const path = basename9(selected) === "certification.json" ? selected : join25(selected, "certification.json");
|
|
16766
16803
|
const value = JSON.parse(await readFile22(path, "utf8"));
|
|
16767
16804
|
return { certification: parseCertification(value), path };
|
|
16768
16805
|
};
|
|
@@ -27617,5 +27654,5 @@ export {
|
|
|
27617
27654
|
writeAbsoluteMobileUpdateRegistry
|
|
27618
27655
|
};
|
|
27619
27656
|
|
|
27620
|
-
//# debugId=
|
|
27657
|
+
//# debugId=E0354B9B0716966264756E2164756E21
|
|
27621
27658
|
//# sourceMappingURL=index.js.map
|