| … | … | @@ -157,12 +157,12 @@ mkdir -p pear-ecosystem/01-browser |
| 157 | 157 | git clone https://github.com/bigdestiny2/pearbrowser-desktop pear-ecosystem/01-browser/pearbrowser-desktop |
| 158 | 158 | cd pear-ecosystem/01-browser/pearbrowser-desktop |
| 159 | 159 | npm install |
| 160 | npm run start | |
| 160 | npm run start # fails closed until the embedded v3 runtime host is configured | |
| 161 | 161 | ``` |
| 162 | 162 | |
| 163 | 163 | Source installs are standalone. The desktop packages default to npm `latest` for HiveRelay; the root package defaults to npm `latest` for `p2p-hiverelay`, `p2p-hiverelay-client`, and `p2p-hiverelay-verifier`, with the current dist-tag resolving to `0.20.2` in the lockfile, so a clone of just this repo resolves them from the registry. `npm install` runs `scripts/check-hiverelay-layout.mjs`, which exits quietly for the registry line and fails only if the HiveRelay dependency/lockfile line drifts or you opt into incomplete/mismatched `file:` workspace dependencies. A sibling `../../00-core/hiverelay` checkout is optional and only needed for HiveRelay co-development. |
| 164 | 164 | |
| 165 | UI files use htm + React (no build step). Backend in `backend/` is CommonJS. The source checkout retains its native-shell development wiring while the v3 embedded-runtime host is completed; it does not accept remote app links as worker input. | |
| 165 | UI files use htm + React (no build step). Backend in `backend/` is CommonJS. The source checkout deliberately refuses to start through the removed v2 launcher until the v3 embedded-runtime host is complete; it does not accept remote app links as worker input. | |
| 166 | 166 | |
| 167 | 167 | ## Release pipeline |
| 168 | 168 |
| … | … | @@ -6,8 +6,8 @@ |
| 6 | 6 | "type": "module", |
| 7 | 7 | "scripts": { |
| 8 | 8 | "preinstall": "node scripts/check-hiverelay-layout.mjs", |
| 9 | "start": "pear run --dev .", | |
| 10 | "run": "pear run .", | |
| 9 | "start": "node scripts/native-runtime-required.mjs --dev", | |
| 10 | "run": "node scripts/native-runtime-required.mjs", | |
| 11 | 11 | "check:release-evidence": "node scripts/check-release-evidence.mjs", |
| 12 | 12 | "check:origin-isolation-smoke-evidence": "node scripts/check-origin-isolation-smoke-evidence.mjs", |
| 13 | 13 | "generate:release-evidence-handoff": "node scripts/generate-release-evidence-handoff.mjs", |
| … | … | @@ -30,7 +30,7 @@ |
| 30 | 30 | "package:macos-dmg": "node scripts/create-macos-dmg.mjs", |
| 31 | 31 | "smoke:qvac:native": "node node_modules/bare/bin/bare qvac-smoke/index.mjs", |
| 32 | 32 | "smoke:qvac:browser": "node node_modules/bare/bin/bare qvac-smoke/browser.mjs", |
| 33 | "smoke:qvac:pear": "pear run --dev ./qvac-smoke", | |
| 33 | "smoke:qvac:pear": "node scripts/native-runtime-required.mjs --smoke qvac-smoke", | |
| 34 | 34 | "smoke:ask-browser:ui": "node qvac-smoke/ask-browser-ui.mjs", |
| 35 | 35 | "smoke:ask-browser:native": "node node_modules/bare/bin/bare qvac-smoke/ask-browser.mjs", |
| 36 | 36 | "smoke:runtime": "node scripts/runtime-rpc-smoke.mjs", |
| … | … | @@ -0,0 +1,14 @@ |
| 1 | #!/usr/bin/env node | |
| 2 | ||
| 3 | // The old source commands started PearBrowser through `pear run`. That command | |
| 4 | // accepted remote project links and hides the boundary a native v3 browser must | |
| 5 | // own. Do not revive it as a fallback. This guard stays explicit until the | |
| 6 | // pinned embedded runtime host, local worker boot/shutdown smoke, and native | |
| 7 | // package build are present in this checkout. | |
| 8 | ||
| 9 | const mode = process.argv.includes('--smoke') ? 'smoke' : process.argv.includes('--dev') ? 'development' : 'run' | |
| 10 | ||
| 11 | console.error(`PearBrowser v3 ${mode} host is not configured in this source checkout.`) | |
| 12 | console.error('Use a verified native package, or complete the embedded pear-runtime host migration first.') | |
| 13 | console.error('A remote pear:// record must never be passed to PearRuntime.run().') | |
| 14 | process.exitCode = 1 |