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]>
fix(cli, dev-server): add `SYSTEMROOT` for `open` when opening browsers on Windows (#23287)# Why Fixes #23252 # How - `open` has a bug on Windows, where it [uses `process.env.SYSTEMROOT`]
fix(cli, dev-server): add `SYSTEMROOT` for `open` when opening browsers on Windows (#23287)# Why Fixes #23252 # How - `open` has a bug on Windows, where it [uses `process.env.SYSTEMROOT`](https://github.com/sindresorhus/open/blob/main/index.js#L173) instead of [`process.env.SystemRoot`](https://en.wikipedia.org/wiki/Environment_variable#:~:text=The%20%25SystemRoot%25%20variable%20is%20a,including%20the%20drive%20and%20path.) - This causes the executed command to run with `undefined\\...` - There has been no fix yet, and due to `open` being fully ESM now, we probably can't upgrade too > See various issues [#300](https://github.com/sindresorhus/open/issues/300), [#292](https://github.com/sindresorhus/open/issues/292), [#270](https://github.com/sindresorhus/open/issues/270), or [#205](https://github.com/sindresorhus/open/issues/205) This basically sets the missing `SYSTEMROOT` when trying to open a browser on Windows. It's fixed in both `@expo/cli` as well as `@expo/dev-server` (to open the Chrome DevTools). # Test Plan This has to be tested on Windows. - `$ yarn create expo ./test-browser -t tabs@beta` - `$ cd ./test-browser` - `$ yarn start` - Try pressing the following keys: - `j` -> to open the Chrome DevTools, after connecting a device. Should work as expected. - `w` -> to open the browser with Metro web. Should work as expected. # 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 `npx expo prebuild` & EAS Build (eg: updated a module plugin). --------- Co-authored-by: Expo Bot <[email protected]>
feat(cli): improve offline support (#22961)# Why Offline support is sometimes needed in parts of other commands besides `start`, this PR introduces an `EXPO_OFFLINE` env var which can be gener
feat(cli): improve offline support (#22961)# Why Offline support is sometimes needed in parts of other commands besides `start`, this PR introduces an `EXPO_OFFLINE` env var which can be generally used to force offline support. <!-- Please describe the motivation for this PR, and link to relevant GitHub issues, forums posts, or feature requests. --> # How - `EXPO_OFFLINE` - Show a better error message when your computer is connected to wifi but there's no signal. - Assert in `npx expo login` and `npx expo register` when `EXPO_OFFLINE` is set. - Fail better when validating versions offline. In the case of running `npx expo` without wifi: ## Before ``` june-16 nexpo Starting project at /Users/evanbacon/Documents/GitHub/lab/june-16 Starting Metro Bundler Unable to reach Expo servers. Falling back to using the cached dependency map (bundledNativeModules.json) from the package "expo" installed in your project. FetchError: request to https://api.expo.dev/v2/versions/latest failed, reason: getaddrinfo ENOTFOUND api.expo.dev FetchError: request to https://api.expo.dev/v2/versions/latest failed, reason: getaddrinfo ENOTFOUND api.expo.dev at ClientRequest.<anonymous> (/Users/evanbacon/Documents/GitHub/expo/node_modules/node-fetch/lib/index.js:1491:11) at ClientRequest.emit (node:events:513:28) at TLSSocket.socketErrorListener (node:_http_client:502:9) at TLSSocket.emit (node:events:513:28) at emitErrorNT (node:internal/streams/destroy:151:8) at emitErrorCloseNT (node:internal/streams/destroy:116:3) at process.processTicksAndRejections (node:internal/process/task_queues:82:21) ``` ## After ``` june-16 nexpo Starting project at /Users/evanbacon/Documents/GitHub/lab/june-16 Starting Metro Bundler Unable to reach Expo servers. Falling back to using the cached dependency map (bundledNativeModules.json) from the package "expo" installed in your project. CommandError: Network connection is unreliable. Try again with the environment variable `EXPO_OFFLINE=1` to skip network requests. ``` <!-- How did you build this feature or fix this bug and why? --> # Test Plan - Updated tests and added new tests for things like the register command. --------- Co-authored-by: Expo Bot <[email protected]>
feat(cli): disable prompts in non interactive processes (#18300)* feat(cli): disable prompts in non interactive processes * Update packages/@expo/cli/CHANGELOG.md Co-authored-by: Expo Bot <34
feat(cli): disable prompts in non interactive processes (#18300)* feat(cli): disable prompts in non interactive processes * Update packages/@expo/cli/CHANGELOG.md Co-authored-by: Expo Bot <[email protected]> * Update startAsync.ts * fix tests 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]>
chore(cli): lazy load all env vars (#17082)* chore(cli): lazy load all env vars lazily loading all environment variables makes it easier to test different cases since you can change the value of
chore(cli): lazy load all env vars (#17082)* chore(cli): lazy load all env vars lazily loading all environment variables makes it easier to test different cases since you can change the value of things like `CI` between tests. * Update packages/@expo/cli/CHANGELOG.md Co-authored-by: Expo Bot <[email protected]> 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