peachsim 0.1.651 → 0.1.653
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/README.md +6 -3
- package/cli/drivers/playwright-provisioning.ts +9 -5
- package/cli/drivers/playwright.ts +5 -1
- package/cli/internal-child.ts +30 -12
- package/cli/main.ts +6 -3
- package/dist-lib/agent-daemon-client.cjs +1 -1
- package/dist-lib/agent-events.cjs +1 -1
- package/dist-lib/agent-identity.cjs +1 -1
- package/dist-lib/agent-sessions.cjs +1 -1
- package/dist-lib/attached-projects.cjs +1 -1
- package/dist-lib/auth/shared-session.cjs +1 -1
- package/dist-lib/backend-origin.cjs +1 -1
- package/dist-lib/beta.cjs +1 -1
- package/dist-lib/beta.mjs +1 -1
- package/dist-lib/bridge-constants.cjs +1 -1
- package/dist-lib/bridge-contract-input.cjs +1 -1
- package/dist-lib/bridge-contract-input.mjs +1 -1
- package/dist-lib/bridge-contract.cjs +1 -1
- package/dist-lib/bridge-contract.mjs +1 -1
- package/dist-lib/capture-contract.cjs +1 -1
- package/dist-lib/capture-contract.mjs +1 -1
- package/dist-lib/cli-constants.cjs +1 -1
- package/dist-lib/cloud-contract.cjs +1 -1
- package/dist-lib/cloud-contract.mjs +1 -1
- package/dist-lib/cloud-test-args.cjs +1 -1
- package/dist-lib/cloud-test-args.mjs +1 -1
- package/dist-lib/cloud.cjs +1 -1
- package/dist-lib/cloud.mjs +1 -1
- package/dist-lib/config.cjs +1 -1
- package/dist-lib/detox/index.cjs +1 -1
- package/dist-lib/dev-bundle-resolution.cjs +1 -1
- package/dist-lib/home-paths.cjs +1 -1
- package/dist-lib/host/bridge-host.cjs +1 -1
- package/dist-lib/host/fetch-proxy-handler.cjs +1 -1
- package/dist-lib/host/fetch-proxy-overrides.cjs +1 -1
- package/dist-lib/host/fetch-proxy-overrides.mjs +1 -1
- package/dist-lib/host/replacement-module-handler.cjs +1 -1
- package/dist-lib/host/websocket-proxy.cjs +1 -1
- package/dist-lib/index.cjs +1 -1
- package/dist-lib/jump-to-source-babel.cjs +1 -1
- package/dist-lib/jump-to-source-native.cjs +1 -1
- package/dist-lib/kotlin-host.cjs +1 -1
- package/dist-lib/menu.cjs +1 -1
- package/dist-lib/menu.mjs +1 -1
- package/dist-lib/metro-fingerprint-registry.cjs +1 -1
- package/dist-lib/metro-fingerprint-registry.mjs +1 -1
- package/dist-lib/metro-production-bundle.cjs +1 -1
- package/dist-lib/metro-production-bundle.mjs +1 -1
- package/dist-lib/metro.cjs +1 -1
- package/dist-lib/native-app-identity.cjs +1 -1
- package/dist-lib/native-app-identity.mjs +1 -1
- package/dist-lib/profiles.cjs +1 -1
- package/dist-lib/public-brand.cjs +1 -1
- package/dist-lib/react-native-host-modules.cjs +1 -1
- package/dist-lib/react-native-host-modules.mjs +1 -1
- package/dist-lib/render-mode.cjs +1 -1
- package/dist-lib/scripts/dev-server-scanner.cjs +1 -1
- package/dist-lib/sdk.cjs +1 -1
- package/dist-lib/sdk.mjs +1 -1
- package/dist-lib/skills.cjs +15 -8
- package/dist-lib/swift-compile.cjs +1 -1
- package/dist-lib/swift-compile.mjs +1 -1
- package/dist-lib/swift-package.cjs +1 -1
- package/dist-lib/swift-package.mjs +1 -1
- package/dist-lib/swift-submit.cjs +1 -1
- package/dist-lib/swift-submit.mjs +1 -1
- package/dist-lib/swift.cjs +1 -1
- package/dist-lib/vite-swift.cjs +1 -1
- package/dist-lib/vite.cjs +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -238,9 +238,12 @@ The first `peach open` launches an isolated Chrome for Testing sim. The CLI
|
|
|
238
238
|
resolves Playwright from the current directory or beside its executable and
|
|
239
239
|
launches the newest installed Chromium revision in its browser cache, honoring
|
|
240
240
|
`PLAYWRIGHT_BROWSERS_PATH`. Set `PEACH_CHROMIUM_EXECUTABLE` to an existing
|
|
241
|
-
executable to select a binary explicitly. Headless
|
|
242
|
-
|
|
243
|
-
|
|
241
|
+
executable to select a binary explicitly. Headless launches on Linux and
|
|
242
|
+
Windows use Playwright's Chromium headless shell instead: the same build and
|
|
243
|
+
software renderer without the desktop browser's printing and service discovery
|
|
244
|
+
libraries (`libcups2`, `libavahi-client3`). Headed launches and every launch on
|
|
245
|
+
a Mac use full Chromium. When the needed browser is not installed, the CLI runs
|
|
246
|
+
the resolved Playwright core's absolute installer entry for just that browser. Later opens reuse that sim and
|
|
244
247
|
reload it at the requested target. Use `peach do reload` when the target has not
|
|
245
248
|
changed.
|
|
246
249
|
Reserve `--new` for a genuinely concurrent sim; repeated new browser trees
|
|
@@ -152,9 +152,13 @@ function probeBrowser(
|
|
|
152
152
|
|
|
153
153
|
export function ensurePlaywrightBrowser(
|
|
154
154
|
resolved: ResolvedPlaywright,
|
|
155
|
+
headless: boolean,
|
|
155
156
|
env: NodeJS.ProcessEnv = process.env,
|
|
156
157
|
): PlaywrightBrowserProvisioningResult {
|
|
157
|
-
const
|
|
158
|
+
const headlessShell = headless && process.platform !== 'darwin'
|
|
159
|
+
const probeEnv = { ...env, SOOTSIM_PW_HEADLESS_SHELL: headlessShell ? '1' : '0' }
|
|
160
|
+
const browser = headlessShell ? 'chromium-headless-shell' : 'chromium'
|
|
161
|
+
const before = probeBrowser(resolved, probeEnv)
|
|
158
162
|
if (!before.ok) return before
|
|
159
163
|
if (before.exists) {
|
|
160
164
|
return { ok: true, executablePath: before.executablePath, installed: false }
|
|
@@ -171,7 +175,7 @@ export function ensurePlaywrightBrowser(
|
|
|
171
175
|
RNX_INTERNAL_CHILDREN.playwrightInstall,
|
|
172
176
|
resolved.cliPath,
|
|
173
177
|
'install',
|
|
174
|
-
|
|
178
|
+
browser,
|
|
175
179
|
],
|
|
176
180
|
{
|
|
177
181
|
env,
|
|
@@ -190,19 +194,19 @@ export function ensurePlaywrightBrowser(
|
|
|
190
194
|
return {
|
|
191
195
|
ok: false,
|
|
192
196
|
message:
|
|
193
|
-
`${resolved.spec}@${resolved.version} requires
|
|
197
|
+
`${resolved.spec}@${resolved.version} requires ${browser} at ` +
|
|
194
198
|
`${before.executablePath}, but its browser install failed${detail ? `:\n${detail}` : ''}`,
|
|
195
199
|
}
|
|
196
200
|
}
|
|
197
201
|
|
|
198
|
-
const after = probeBrowser(resolved,
|
|
202
|
+
const after = probeBrowser(resolved, probeEnv)
|
|
199
203
|
if (!after.ok) return after
|
|
200
204
|
if (!after.exists) {
|
|
201
205
|
return {
|
|
202
206
|
ok: false,
|
|
203
207
|
message:
|
|
204
208
|
`${resolved.spec}@${resolved.version} browser install completed, but its required ` +
|
|
205
|
-
|
|
209
|
+
`${browser} executable is still missing at ${after.executablePath}`,
|
|
206
210
|
}
|
|
207
211
|
}
|
|
208
212
|
return { ok: true, executablePath: after.executablePath, installed: true }
|
|
@@ -103,7 +103,11 @@ async function launch(opts: DriverLaunchOptions): Promise<DriverLaunchResult> {
|
|
|
103
103
|
// keep browser discovery, installation, and the detached host on one exact
|
|
104
104
|
// cache contract even if another caller mutates process.env during launch.
|
|
105
105
|
const playwrightEnv = { ...process.env }
|
|
106
|
-
const provisioning = ensurePlaywrightBrowser(
|
|
106
|
+
const provisioning = ensurePlaywrightBrowser(
|
|
107
|
+
resolved,
|
|
108
|
+
opts.headless ?? true,
|
|
109
|
+
playwrightEnv,
|
|
110
|
+
)
|
|
107
111
|
if (!provisioning.ok) {
|
|
108
112
|
return {
|
|
109
113
|
launched: false,
|
package/cli/internal-child.ts
CHANGED
|
@@ -89,8 +89,8 @@ export async function runInternalChild(args: string[]): Promise<void> {
|
|
|
89
89
|
// own work does.
|
|
90
90
|
}
|
|
91
91
|
|
|
92
|
-
/** select an explicit executable or the newest installed chromium
|
|
93
|
-
* resolved package's cache. a separate process so the caller's environment
|
|
92
|
+
/** select an explicit executable or the newest installed chromium (or headless
|
|
93
|
+
* shell) in the resolved package's cache. a separate process so the caller's environment
|
|
94
94
|
* snapshot — PLAYWRIGHT_BROWSERS_PATH above all — is the only browser cache
|
|
95
95
|
* this ever sees. */
|
|
96
96
|
function playwrightProbe(): ChildReply {
|
|
@@ -111,8 +111,6 @@ function playwrightProbe(): ChildReply {
|
|
|
111
111
|
executablePath = resolve(override)
|
|
112
112
|
accessSync(executablePath, constants.X_OK)
|
|
113
113
|
} else {
|
|
114
|
-
// use full chromium for both headed and headless launches. selecting it
|
|
115
|
-
// explicitly also avoids a second, revision-pinned headless-shell lookup.
|
|
116
114
|
let browserDir = dirname(expectedPath)
|
|
117
115
|
while (!/^chromium-\d+$/.test(basename(browserDir))) {
|
|
118
116
|
const parent = dirname(browserDir)
|
|
@@ -120,18 +118,38 @@ function playwrightProbe(): ChildReply {
|
|
|
120
118
|
browserDir = parent
|
|
121
119
|
}
|
|
122
120
|
const cacheDir = dirname(browserDir)
|
|
123
|
-
|
|
121
|
+
// a headless launch off a Mac uses playwright's headless shell, as
|
|
122
|
+
// playwright itself does: the same chromium build and renderer without the
|
|
123
|
+
// desktop browser's printing and service discovery libraries. headed and
|
|
124
|
+
// Mac launches use full chromium.
|
|
125
|
+
const shell = process.env.SOOTSIM_PW_HEADLESS_SHELL === '1'
|
|
126
|
+
const prefix = shell ? 'chromium_headless_shell-' : 'chromium-'
|
|
127
|
+
// chromium switched its linux archive directory to chrome-linux64.
|
|
128
|
+
const paths = shell
|
|
129
|
+
? process.platform === 'win32'
|
|
130
|
+
? ['chrome-headless-shell-win64/chrome-headless-shell.exe']
|
|
131
|
+
: [
|
|
132
|
+
'chrome-headless-shell-linux64/chrome-headless-shell',
|
|
133
|
+
'chrome-linux/headless_shell',
|
|
134
|
+
]
|
|
135
|
+
: process.platform === 'linux'
|
|
136
|
+
? ['chrome-linux64/chrome', 'chrome-linux/chrome']
|
|
137
|
+
: [relative(browserDir, expectedPath)]
|
|
138
|
+
// the package's own revision is what its installer provides when none is installed.
|
|
139
|
+
if (shell)
|
|
140
|
+
executablePath = join(
|
|
141
|
+
cacheDir,
|
|
142
|
+
`${prefix}${basename(browserDir).slice('chromium-'.length)}`,
|
|
143
|
+
paths[0]!,
|
|
144
|
+
)
|
|
124
145
|
const revisions = existsSync(cacheDir)
|
|
125
146
|
? readdirSync(cacheDir)
|
|
126
|
-
.filter(
|
|
127
|
-
|
|
147
|
+
.filter(
|
|
148
|
+
(name) => name.startsWith(prefix) && /^\d+$/.test(name.slice(prefix.length)),
|
|
149
|
+
)
|
|
150
|
+
.sort((a, b) => Number(b.slice(prefix.length)) - Number(a.slice(prefix.length)))
|
|
128
151
|
: []
|
|
129
152
|
for (const revision of revisions) {
|
|
130
|
-
// chromium switched its linux archive directory to chrome-linux64.
|
|
131
|
-
const paths =
|
|
132
|
-
process.platform === 'linux'
|
|
133
|
-
? ['chrome-linux64/chrome', 'chrome-linux/chrome']
|
|
134
|
-
: [binaryPath]
|
|
135
153
|
const installed = paths
|
|
136
154
|
.map((path) => join(cacheDir, revision, path))
|
|
137
155
|
.find((path) => {
|
package/cli/main.ts
CHANGED
|
@@ -6,7 +6,7 @@ import { automaticPeachUpdatesEnabled } from '../src/automatic-update-policy'
|
|
|
6
6
|
import { rnxPublicBrand } from '../src/public-brand'
|
|
7
7
|
import { levenshtein } from './levenshtein'
|
|
8
8
|
import { COMMANDS, parseArgs, TOP_LEVEL_RUNTIME_COMMANDS } from './parse-args'
|
|
9
|
-
import {
|
|
9
|
+
import { PeachExit } from './run-rnx'
|
|
10
10
|
import { rnxSelfInvocation } from './self-invocation'
|
|
11
11
|
import { IS_STANDALONE } from './standalone'
|
|
12
12
|
|
|
@@ -23,6 +23,9 @@ import { IS_STANDALONE } from './standalone'
|
|
|
23
23
|
// rejections that don't match this shape still get the verbose stack so we
|
|
24
24
|
// don't paper over real bugs.
|
|
25
25
|
async function handleTopLevelError(err: unknown): Promise<never> {
|
|
26
|
+
// peachExit stands in for process.exit, so one thrown from a callback outside
|
|
27
|
+
// the awaited command (a signal handler's shutdown) is that exit, not a crash
|
|
28
|
+
if (err instanceof PeachExit) await exitWithFlush(err.code)
|
|
26
29
|
const { trackCliError, flushCliTelemetry, reportCliCrash } = await import('./telemetry')
|
|
27
30
|
trackCliError(err)
|
|
28
31
|
await flushCliTelemetry(1)
|
|
@@ -372,7 +375,7 @@ const cloudBoundary = await dispatchCloudBoundary({
|
|
|
372
375
|
args: commandArgsWithSim,
|
|
373
376
|
})
|
|
374
377
|
if (cloudBoundary.handled) await exitWithFlush(cloudBoundary.code)
|
|
375
|
-
// the command modules stop by throwing
|
|
378
|
+
// the command modules stop by throwing PeachExit rather than ending the
|
|
376
379
|
// process, because the same command has to run in a box shell and in
|
|
377
380
|
// workerd, where process.exit() cancels the whole request. this is the
|
|
378
381
|
// host boundary that turns it back into a real exit code.
|
|
@@ -741,7 +744,7 @@ try {
|
|
|
741
744
|
}
|
|
742
745
|
}
|
|
743
746
|
} catch (error) {
|
|
744
|
-
if (error instanceof
|
|
747
|
+
if (error instanceof PeachExit) await exitWithFlush(error.code)
|
|
745
748
|
throw error
|
|
746
749
|
}
|
|
747
750
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.653 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __create = Object.create;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.653 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __defProp = Object.defineProperty;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.653 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __defProp = Object.defineProperty;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.653 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __create = Object.create;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.653 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __create = Object.create;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.653 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __create = Object.create;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.653 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __defProp = Object.defineProperty;
|
package/dist-lib/beta.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.653 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __defProp = Object.defineProperty;
|
package/dist-lib/beta.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.653 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __defProp = Object.defineProperty;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.653 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __defProp = Object.defineProperty;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.653 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __defProp = Object.defineProperty;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.653 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __defProp = Object.defineProperty;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.653 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __defProp = Object.defineProperty;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.653 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __defProp = Object.defineProperty;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.653 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __defProp = Object.defineProperty;
|
package/dist-lib/cloud.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.653 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __defProp = Object.defineProperty;
|
package/dist-lib/cloud.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.653 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
var __defProp = Object.defineProperty;
|
|
3
3
|
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
4
4
|
var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
package/dist-lib/config.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.653 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __defProp = Object.defineProperty;
|
package/dist-lib/detox/index.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.653 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __create = Object.create;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.653 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __defProp = Object.defineProperty;
|
package/dist-lib/home-paths.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.653 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __create = Object.create;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.653 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __create = Object.create;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.653 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __create = Object.create;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.653 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __defProp = Object.defineProperty;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.653 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
|
|
3
3
|
// src/host/fetch-proxy-overrides.ts
|
|
4
4
|
var FETCH_PROXY_BROWSER_USER_AGENT = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.653 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __create = Object.create;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.653 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __defProp = Object.defineProperty;
|
package/dist-lib/index.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.653 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __create = Object.create;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.653 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __defProp = Object.defineProperty;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.653 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __create = Object.create;
|
package/dist-lib/kotlin-host.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.653 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __create = Object.create;
|
package/dist-lib/menu.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.653 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __defProp = Object.defineProperty;
|
package/dist-lib/menu.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.653 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __defProp = Object.defineProperty;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.653 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __defProp = Object.defineProperty;
|
package/dist-lib/metro.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.653 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __create = Object.create;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.653 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __defProp = Object.defineProperty;
|
package/dist-lib/profiles.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.653 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __create = Object.create;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.653 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __defProp = Object.defineProperty;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.653 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __defProp = Object.defineProperty;
|
package/dist-lib/render-mode.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.653 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __defProp = Object.defineProperty;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.653 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __create = Object.create;
|
package/dist-lib/sdk.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.653 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __defProp = Object.defineProperty;
|
package/dist-lib/sdk.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.653 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
var __defProp = Object.defineProperty;
|
|
3
3
|
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
4
4
|
var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
package/dist-lib/skills.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.653 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __create = Object.create;
|
|
@@ -34450,8 +34450,11 @@ function probeBrowser(resolved, env) {
|
|
|
34450
34450
|
};
|
|
34451
34451
|
}
|
|
34452
34452
|
}
|
|
34453
|
-
function ensurePlaywrightBrowser(resolved, env = process.env) {
|
|
34454
|
-
const
|
|
34453
|
+
function ensurePlaywrightBrowser(resolved, headless, env = process.env) {
|
|
34454
|
+
const headlessShell = headless && process.platform !== "darwin";
|
|
34455
|
+
const probeEnv = { ...env, SOOTSIM_PW_HEADLESS_SHELL: headlessShell ? "1" : "0" };
|
|
34456
|
+
const browser = headlessShell ? "chromium-headless-shell" : "chromium";
|
|
34457
|
+
const before = probeBrowser(resolved, probeEnv);
|
|
34455
34458
|
if (!before.ok) return before;
|
|
34456
34459
|
if (before.exists) {
|
|
34457
34460
|
return { ok: true, executablePath: before.executablePath, installed: false };
|
|
@@ -34465,7 +34468,7 @@ function ensurePlaywrightBrowser(resolved, env = process.env) {
|
|
|
34465
34468
|
RNX_INTERNAL_CHILDREN.playwrightInstall,
|
|
34466
34469
|
resolved.cliPath,
|
|
34467
34470
|
"install",
|
|
34468
|
-
|
|
34471
|
+
browser
|
|
34469
34472
|
],
|
|
34470
34473
|
{
|
|
34471
34474
|
env,
|
|
@@ -34478,16 +34481,16 @@ function ensurePlaywrightBrowser(resolved, env = process.env) {
|
|
|
34478
34481
|
const detail = rawDetail.length <= 4e3 ? rawDetail : rawDetail.slice(-4e3);
|
|
34479
34482
|
return {
|
|
34480
34483
|
ok: false,
|
|
34481
|
-
message: `${resolved.spec}@${resolved.version} requires
|
|
34484
|
+
message: `${resolved.spec}@${resolved.version} requires ${browser} at ${before.executablePath}, but its browser install failed${detail ? `:
|
|
34482
34485
|
${detail}` : ""}`
|
|
34483
34486
|
};
|
|
34484
34487
|
}
|
|
34485
|
-
const after = probeBrowser(resolved,
|
|
34488
|
+
const after = probeBrowser(resolved, probeEnv);
|
|
34486
34489
|
if (!after.ok) return after;
|
|
34487
34490
|
if (!after.exists) {
|
|
34488
34491
|
return {
|
|
34489
34492
|
ok: false,
|
|
34490
|
-
message: `${resolved.spec}@${resolved.version} browser install completed, but its required
|
|
34493
|
+
message: `${resolved.spec}@${resolved.version} browser install completed, but its required ${browser} executable is still missing at ${after.executablePath}`
|
|
34491
34494
|
};
|
|
34492
34495
|
}
|
|
34493
34496
|
return { ok: true, executablePath: after.executablePath, installed: true };
|
|
@@ -34557,7 +34560,11 @@ async function launch2(opts) {
|
|
|
34557
34560
|
};
|
|
34558
34561
|
}
|
|
34559
34562
|
const playwrightEnv = { ...process.env };
|
|
34560
|
-
const provisioning = ensurePlaywrightBrowser(
|
|
34563
|
+
const provisioning = ensurePlaywrightBrowser(
|
|
34564
|
+
resolved,
|
|
34565
|
+
opts.headless ?? true,
|
|
34566
|
+
playwrightEnv
|
|
34567
|
+
);
|
|
34561
34568
|
if (!provisioning.ok) {
|
|
34562
34569
|
return {
|
|
34563
34570
|
launched: false,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.653 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __create = Object.create;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.653 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __defProp = Object.defineProperty;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.653 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __defProp = Object.defineProperty;
|
package/dist-lib/swift.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.653 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __defProp = Object.defineProperty;
|
package/dist-lib/vite-swift.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.653 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __create = Object.create;
|
package/dist-lib/vite.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.653 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __create = Object.create;
|