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 ...
cli(fix): prevent `expo config --json` from logging env var logs (#24192)# Why - fix #23325 <!-- Please describe the motivation for this PR, and link to relevant GitHub issues, forums posts
cli(fix): prevent `expo config --json` from logging env var logs (#24192)# Why - fix #23325 <!-- Please describe the motivation for this PR, and link to relevant GitHub issues, forums posts, or feature requests. --> # How - Mock the logs before and after the config evaluation. # Test Plan - Updated E2E tests to include an env var file and value. --------- 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)!: set node and babel env for CLI commands (#21337)# Why - User's may want to dynamically configure Metro or their Expo Config file to work differently when bundling for production env
feat(cli)!: set node and babel env for CLI commands (#21337)# Why - User's may want to dynamically configure Metro or their Expo Config file to work differently when bundling for production environments, they can now do this by utilizing the standard `NODE_ENV` environment variable. We've been doing this with Webpack since it was introduced. <!-- Please describe the motivation for this PR, and link to relevant GitHub issues, forums posts, or feature requests. --> # How - Set `NODE_ENV` and `BABEL_ENV` environment variables to `development` or `production` in `start`, `export`, `customize`, `install`, `run:ios`, `run:android`, `config`, `prebuild` commands based on the input mode. - This can be overwritten by setting `NODE_ENV` and `BABEL_ENV` manually before running. `BABEL_ENV` will be set to `NODE_ENV` if defined. - Most commands can safely default to assuming `development`. - Only thing that this doesn't cover is `npx react-native bundle` and `npx react-native start` (building from Xcode/Android Studio). We'll need to change these commands in the future but it shouldn't be blocking for this PR. <!-- How did you build this feature or fix this bug and why? --> # Test Plan <!-- 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). --------- Co-authored-by: Expo Bot <[email protected]>
feat(cli): redesign cli help interface (#17223)* redesign cli help interface * Update CHANGELOG.md * Update index.ts * Update packages/@expo/cli/CHANGELOG.md Co-authored-by: Expo Bot <3
feat(cli): redesign cli help interface (#17223)* redesign cli help interface * Update CHANGELOG.md * Update index.ts * Update packages/@expo/cli/CHANGELOG.md Co-authored-by: Expo Bot <[email protected]> * Updated export * updated the export Co-authored-by: Expo Bot <[email protected]>
fix(cli): fix type errors (#16724)* fix(cli): fix type errors * Update CHANGELOG.md * Update packages/@expo/cli/CHANGELOG.md Co-authored-by: Expo Bot <[email protected]
fix(cli): fix type errors (#16724)* fix(cli): fix type errors * Update CHANGELOG.md * Update packages/@expo/cli/CHANGELOG.md Co-authored-by: Expo Bot <[email protected]> * fix typecheck * Update yarn.lock * Update package.json * Update MetroTerminalReporter.ts Co-authored-by: Expo Bot <[email protected]>
chore: refactor `expo/cli` to `@expo/cli` package (#16717)* chore: refactor `expo/cli` to `@expo/cli` package * Update CODEOWNERS * fix linking * fix lint script * fix build file * f
chore: refactor `expo/cli` to `@expo/cli` package (#16717)* chore: refactor `expo/cli` to `@expo/cli` package * Update CODEOWNERS * fix linking * fix lint script * fix build file * fix e2e tests * lint before build * use mock version