mirror of
https://github.com/getpaseo/paseo.git
synced 2026-10-14 13:22:37 +00:00
* fix(app): install navigator polyfill before any app module loads @xterm/headless reads navigator.userAgent at module evaluation. Since #6455 the root layout transitively imports it, so the layout's module-level polyfillNavigator() ran too late and native builds crashed at launch with "Cannot read property 'includes' of undefined". Install the crypto, navigator and screen.orientation polyfills from a side-effect module imported first by index.ts. Calls written in index.ts itself ran after all hoisted imports had evaluated. Fixes #6504 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * test(app): isolate native startup regression from shared globals Exercise the real navigator polyfill and terminal dependency in fresh VM contexts, including the pre-initialization failure. Preserve a check that entry imports install navigator before the app loads. Co-authored-by: panrafal <rl@stamina.pl> * test(app): follow startup import lint rule --------- Co-authored-by: panrafal <rl@stamina.pl> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: paseo-bot[bot] <266920839+paseo-bot[bot]@users.noreply.github.com>
15 lines
749 B
TypeScript
15 lines
749 B
TypeScript
// Install runtime polyfills before any other module evaluates. Keep this the first import.
|
|
// oxlint-disable-next-line import/no-unassigned-import -- Polyfills install on import.
|
|
import "./src/polyfills/install-early";
|
|
|
|
// Configure Unistyles before Expo Router pulls in any components using StyleSheet.
|
|
import "./src/styles/unistyles";
|
|
// oxlint-disable-next-line import/no-unassigned-import -- Preserve Expo's entry side effects.
|
|
import "@expo/metro-runtime";
|
|
// oxlint-disable-next-line import/no-unassigned-import -- Preserve Expo's entry side effects.
|
|
import "expo-router/build/fast-refresh";
|
|
import { renderRootComponent } from "expo-router/build/renderRootComponent";
|
|
import { RootApp } from "./src/root-app";
|
|
|
|
renderRootComponent(RootApp);
|