Update tsconfigs to node 18 (current LTS) (#24471)# Why Expo supports Node.js LTS, this is currently Node 18. This PR updates from 14 to 18. <!-- Please describe the motivation for this PR,
Update tsconfigs to node 18 (current LTS) (#24471)# Why Expo supports Node.js LTS, this is currently Node 18. This PR updates from 14 to 18. <!-- Please describe the motivation for this PR, and link to relevant GitHub issues, forums posts, or feature requests. --> --------- Co-authored-by: Expo Bot <[email protected]>
show more ...
[lint] Upgrade to Prettier v3, typescript-eslint to v6 (#23544)Why --- Prettier 3 is out. Add support for it with this linter config. **Note for reviewer:** the first commit is the one with th
[lint] Upgrade to Prettier v3, typescript-eslint to v6 (#23544)Why --- Prettier 3 is out. Add support for it with this linter config. **Note for reviewer:** the first commit is the one with the actual changes. The rest of this PR are changes to get the linter passing (mostly autofix). How --- Update eslint-config-prettier and eslint-plugin-prettier. To address deprecation warnings, also update typescript-eslint/parser and typescript-eslint/eslint-plugin. Because of an update to typescript-eslint/parser, we need to suppress deprecation warnings (documented in a comment). Regenerated test snapshots. Due to the upgraded dependencies, typecasts and optional chaining are now auto-fixable by lint. This converts warnings into autofixes. Test Plan --- `yarn test` in the linter config. Run `expotools check --all --fix-lint --no-build --no-test --no-uniformity-check` to try this config on the whole repo. --------- Co-authored-by: Expo Bot <[email protected]>
feat(cli, metro-config): environment variable support (#21983)# Why - It's nice to be able to use uncommitted values in your app, based on the environment. This feels very familiar to web devel
feat(cli, metro-config): environment variable support (#21983)# Why - It's nice to be able to use uncommitted values in your app, based on the environment. This feels very familiar to web developers. - Values that are prefixed with `EXPO_PUBLIC_` will be inlined in the bundle when bundling normally (e.g. not for Node.js). - `.env` files are loaded into memory and applied to the process during a run. This also means that they're available in `app.config.js`. - During development-only, environment variables are exposed on the `process.env` object (non-enumerable) to ensure they're available between fast refresh updates. <!-- Please describe the motivation for this PR, and link to relevant GitHub issues, forums posts, or feature requests. --> # How - Create new package `@expo/env` which is used to hydrate env variables in a unified way. I plan to open another PR in `eas-cli` which uses this package to fill in environment variables before uploading. NOTE: environment variables that are defined in eas.json are not available in Expo CLI when building locally, but are available in the cloud since they'll be on the process, this means they effectively emulate `.env.production`. - Update templates to gitignore local env files. - Add basic documentation to the versioned metro guide (more to come). <!-- How did you build this feature or fix this bug and why? --> # Test Plan - [ ] E2E rendering test - [ ] E2E Node.js rendering test - [x] Unit tests for serializer - [x] Tests for env package <!-- Please describe how you tested this change and how a reviewer could reproduce your test, especially if this PR does not include automated tests! If possible, please also provide terminal output and/or screenshots demonstrating your test/reproduction. --> # Checklist <!-- Please check the appropriate items below if they apply to your diff. This is required for changes to Expo modules. --> - [ ] Documentation is up to date to reflect these changes (eg: https://docs.expo.dev and README.md). - [ ] Conforms with the [Documentation Writing Style Guide](https://github.com/expo/expo/blob/main/guides/Expo%20Documentation%20Writing%20Style%20Guide.md) - [ ] This diff will work correctly for `expo prebuild` & EAS Build (eg: updated a module plugin).
feat(cli): add web support to metro (#17927)* feat: add web support for metro * undo patch * Update index.js * Update MetroBundlerDevServer.ts * Add second bundler dev server * Add d
feat(cli): add web support to metro (#17927)* feat: add web support for metro * undo patch * Update index.js * Update MetroBundlerDevServer.ts * Add second bundler dev server * Add dev loading view to web * Put feature behind EXPO_USE_METRO_WEB flag * Move custom config into CLI * Add support for assets across platforms * reduce * Added upstream web support * Update webTemplate.ts * Update CHANGELOG.md * Update instantiateMetro.ts * Update instantiateMetro.ts * Update index.js * Added bundle splitting support * Update startAsync.ts * Fixed default settings * Add ability to copy from public folder * wip: redirect unmatched routes to `/` on web * fix fallback api * Update exportApp.ts * Update instantiateMetro.ts * Update exportApp.ts * clean up handler * fixup * clean up * add web to export test * Update start-test.ts * added static serving for web * Update packages/@expo/cli/CHANGELOG.md Co-authored-by: Expo Bot <[email protected]> * Update yarn.lock lint fix fix tests * Update export-test.ts * added template tests * Create HistoryFallbackMiddleware-test.ts * test ManifestMiddleware * Create ServeStaticMiddleware-test.ts * refactor multiplatform * Update ManifestMiddleware-test.ts * Update withMetroMultiPlatform.ts * Update for latest metro * Update packages/@expo/cli/src/export/resolveOptions.ts Co-authored-by: Expo Bot <[email protected]>
feat(cli): add `export:web` command (#17363)* feat(cli): add `export:web` command * Update index-test.ts * Update packages/@expo/cli/CHANGELOG.md Co-authored-by: Expo Bot <34669131+expo-bo
feat(cli): add `export:web` command (#17363)* feat(cli): add `export:web` command * Update index-test.ts * Update packages/@expo/cli/CHANGELOG.md Co-authored-by: Expo Bot <[email protected]> * Clean up and test Update exportWebAsync.ts * remove webpack-dev-server dep * Generalize progress bar CI check * use progress bar wrapper everywhere Co-authored-by: Expo Bot <[email protected]>