| #
8a424beb |
| 11-Aug-2023 |
James Ide <[email protected]> |
[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]>
show more ...
|
| #
eec3a87e |
| 13-Feb-2023 |
Cedric van Putten <[email protected]> |
fix(cli): auto-detect the TLS version based on current node version (#21169)
# Why
After debugging this issue
https://github.com/byCedric/expo-monorepo-example/issues/84, it seems
that we are h
fix(cli): auto-detect the TLS version based on current node version (#21169)
# Why
After debugging this issue
https://github.com/byCedric/expo-monorepo-example/issues/84, it seems
that we are having trouble with the internals of `expo run:ios`.
What's happening here are two major things:
1. Node 17+ is throwing an internal OpenSSL error when establishing a
secure TLS connection to the iOS device. This is caused by the explicit
`secureProtocol` option, which is set to `TLSv1_method`.
2. We don't have any error event handlers when opening (secure) sockets
to iOS devices.
These two issues together result in `expo run:ios` not-installing the
app on the device. Luckily, it does build the app. But, due to the
missing error handlers, we are swallowing the underlying error and the
installation part is [stuck on a
promise](https://github.com/expo/expo/blob/main/packages/%40expo/cli/src/run/ios/appleDevice/AppleDevice.ts#L143)
that will never be resolved.
Here is the chain that's getting blocked by issue 2 (caused by issue 1)
- `clientManager.getMobileImageMounterClient`
- `this.getServiceClient('com.apple.mobile.mobile_image_mounter',
MobileImageMounterClient)`
- `lockdowndClient.startService(name)` is invoked (from
`MobileImageMounterClient`)
- `LockdownProtocolClient.sendMessage` is invoked (with `StartService`,
`com.apple.mobile.mobile_image_mounter`)
- `ProtocolClient.sendMessage` is invoked
- Socket TLS handshake fails, but the `socket.on('error')` is not set.
So the error is never received.
# How
- Removed the explicit `TLSv1_method` from `tls.createSecureContext`
- Added error handlers to surface underlying errors
After removing the fixed TLS method, it seems to use TLSv1.2 by default.
# Test Plan
Test `main` on Node 17+, while adding `enableTrace: true` and
`socket.on('error', (error) => console.log(error));` to the changes I
made
> This should fail with an internal socket/openssl error
Test this PR on Node 16, and Node 18
> This should NOT fail
# 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).
show more ...
|
| #
c4ef02ae |
| 03-May-2022 |
Evan Bacon <[email protected]> |
feat(cli): add `run:ios` command (#16662)
* [wip] Added expo run:ios command
* Clean up run:ios
* feat(cli): add headless server mode
* fix(cli): fix run:ios logic issues
* Update CHANGE
feat(cli): add `run:ios` command (#16662)
* [wip] Added expo run:ios command
* Clean up run:ios
* feat(cli): add headless server mode
* fix(cli): fix run:ios logic issues
* Update CHANGELOG.md
* Update packages/expo/CHANGELOG.md
Co-authored-by: Expo Bot <[email protected]>
* clean up
* refine fixture
* refactor and test code signing
* Update resolveOptionsAsync.ts
* fix merge
* added new impl
* Update AppleDevice.ts
* Added more tests
* fixed e2e tests
* lint fix
* Update index-test.ts
Co-authored-by: Expo Bot <[email protected]>
show more ...
|