| #
edeec536 |
| 06-Sep-2023 |
Evan Bacon <[email protected]> |
chore(cli): delete @expo/dev-server (#24272)
# Why
- I tried this before but the logs endpoint was blocking it.
- I forked the dev server when I wrote the original `expo/cli`, been
meaning to d
chore(cli): delete @expo/dev-server (#24272)
# Why
- I tried this before but the logs endpoint was blocking it.
- I forked the dev server when I wrote the original `expo/cli`, been
meaning to delete the original for a while. The duplicate code and
indirection is making the new server features harder to implement.
<!--
Please describe the motivation for this PR, and link to relevant GitHub
issues, forums posts, or feature requests.
-->
# How
- Copy/paste remaining code from `@expo/dev-server` in to `@expo/cli`.
- Delete `@expo/dev-server`.
- Drop unused `/logs` and json parser middleware.
- Drop logging mocks.
- Drop experimental Webpack native support.
- Drop legacy react-native middleware support (no longer needed since
everything is versioned).
<!--
How did you build this feature or fix this bug and why?
-->
# Test Plan
- Tests should keep passing.
- Need to do some actual runs since there aren't any e2e tests for
various parts of dev-server.
<!--
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 `npx expo prebuild` & EAS Build
(eg: updated a module plugin).
---------
Co-authored-by: Expo Bot <[email protected]>
show more ...
|
| #
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 ...
|
| #
065a44f7 |
| 04-Jul-2023 |
Cedric van Putten <[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]>
show more ...
|
| #
a7e47f4d |
| 16-Jun-2023 |
Evan Bacon <[email protected]> |
feat(cli): Add ability to switch runtimes during start. (#22924)
# Why
- We're going to start making the `--dev-client` flag be on more
aggressively, i.e. favoring custom builds over Expo Go mor
feat(cli): Add ability to switch runtimes during start. (#22924)
# Why
- We're going to start making the `--dev-client` flag be on more
aggressively, i.e. favoring custom builds over Expo Go more.
- This doesn't lean one way or the other, but it does make it easier to
course correct if we guess wrong. We'll also be adding an explicit flag
to force the initial mode.
- Some caveats:
- The custom `--scheme` is not currently respected.
- Non-dev-client runs will validate versions, here we don't validate
versions during the swap.
<!--
Please describe the motivation for this PR, and link to relevant GitHub
issues, forums posts, or feature requests.
-->
# How
- Press `s` to swap runtime modes. This can happen with `npx expo
start`, `run:ios`, and `run:android`
<!--
How did you build this feature or fix this bug and why?
-->
# Test Plan
- TBD
# 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]>
Co-authored-by: Brent Vatne <[email protected]>
show more ...
|
| #
fd055557 |
| 06-Mar-2023 |
Kudo Chien <[email protected]> |
[cli][dev-menu][go] add react devtools (#21462)
# Why
close ENG-7468
close ENG-7469
# How
- [cli] add websocket proxy to forward react-devtools events.
- [cli] add static page for react-d
[cli][dev-menu][go] add react devtools (#21462)
# Why
close ENG-7468
close ENG-7469
# How
- [cli] add websocket proxy to forward react-devtools events.
- [cli] add static page for react-devtools frontend. since react-devtools only ships commonjs format, this pr tries to use jspm to support it on browsers.
- [dev-menu][go] listen `reconnectDevTools` metro websocket event and send `RCTDevMenuShown` to js for app to reconnect devtools websocket
# Test Plan
manual test only. please let me know if there's any proper points to add unit tests
show more ...
|
| #
7a619cc1 |
| 09-Feb-2023 |
Evan Bacon <[email protected]> |
feat: support Hermes debugger on native when Metro web is running. (#21068)
# Why
Hermes debugger doesn't work when Metro web is enabled because the
endpoints are being intercepted by the histor
feat: support Hermes debugger on native when Metro web is running. (#21068)
# Why
Hermes debugger doesn't work when Metro web is enabled because the
endpoints are being intercepted by the history fallback middleware.
<!--
Please describe the motivation for this PR, and link to relevant GitHub
issues, forums posts, or feature requests.
-->
# How
- Detect inspector proxy requests and skip returning the index.html.
- Add better error handling for Apple script failing to launch Chrome
(which can sometimes happen when using chrome for web).
<!--
How did you build this feature or fix this bug and why?
-->
# Test Plan
- Added tests for endpoint logic
- `npx create-react-native-app -t with-router` `expo.jsEngine: hermes`
-> open ios -> press `j` -> doesn't fail.
<!--
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]>
show more ...
|
| #
57a0d514 |
| 08-Nov-2022 |
Kudo Chien <[email protected]> |
[cli] Fix start hermes debugger crash when starting with --dev-client (#19919)
|
| #
23e1175d |
| 07-Nov-2022 |
Kudo Chien <[email protected]> |
[cli][dev-server] Fix hermes debugger error on windows and linux (#19872)
* [cli] Fix hermes debugger error on windows and linux
* update changelog
* fix ci error
* Apply suggestions from c
[cli][dev-server] Fix hermes debugger error on windows and linux (#19872)
* [cli] Fix hermes debugger error on windows and linux
* update changelog
* fix ci error
* Apply suggestions from code review
Co-authored-by: Evan Bacon <[email protected]>
* remove dev-server.tgz
* move BrowserImpl to platform separated LaunchBrowerImpl files
* move createTempBrowserDir to platform implementations
* rebuild js
Co-authored-by: Evan Bacon <[email protected]>
show more ...
|
| #
48103a3d |
| 01-Nov-2022 |
Evan Bacon <[email protected]> |
feat(cli): display the debug option more prominently in Terminal UI (#19793)
* feat(cli): display the debug option more prominently in Terminal UI
* Update packages/@expo/cli/CHANGELOG.md
Co-a
feat(cli): display the debug option more prominently in Terminal UI (#19793)
* feat(cli): display the debug option more prominently in Terminal UI
* Update packages/@expo/cli/CHANGELOG.md
Co-authored-by: Expo Bot <[email protected]>
* Update docs/pages/guides/using-hermes.mdx
Co-authored-by: Aman Mittal <[email protected]>
Co-authored-by: Expo Bot <[email protected]>
Co-authored-by: Aman Mittal <[email protected]>
show more ...
|
| #
212e3a1a |
| 26-Sep-2022 |
Eric Samelson <[email protected]> |
[cli] ensure that development build is installed when opening interstitial page (#18836)
Co-authored-by: evanbacon <[email protected]>
|
| #
6d6b81f9 |
| 23-Jun-2022 |
Evan Bacon <[email protected]> |
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]>
show more ...
|
| #
474a7a4b |
| 21-Jun-2022 |
Evan Bacon <[email protected]> |
chore(cli): migrate to debug package (#17084)
* chore(cli): migrate to debug package
* Update packages/@expo/cli/CHANGELOG.md
Co-authored-by: Expo Bot <[email protected]
chore(cli): migrate to debug package (#17084)
* chore(cli): migrate to debug package
* Update packages/@expo/cli/CHANGELOG.md
Co-authored-by: Expo Bot <[email protected]>
* Update checkPackages.ts
* Update packages/@expo/cli/src/start/platforms/android/ADBServer.ts
* Update ADBServer.ts
* Update activateWindow.ts
* Update adb.ts
* migrate new methods to debug
* Update variadic.ts
* Update yarn.lock
Co-authored-by: Expo Bot <[email protected]>
show more ...
|
| #
29975bfd |
| 28-Mar-2022 |
Evan Bacon <[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]>
show more ...
|
| #
8d307f52 |
| 23-Mar-2022 |
Evan Bacon <[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
show more ...
|