| e24c47a6 | 28-Jun-2023 |
Evan Bacon <[email protected]> |
fix(cli): Add fallback error for static rendering (#23170)
# Why
If you attempt to static render without Expo Router then things could go
wrong, this adds a fallback error message in development
fix(cli): Add fallback error for static rendering (#23170)
# Why
If you attempt to static render without Expo Router then things could go
wrong, this adds a fallback error message in development to try and make
things more clear.
<!--
Please describe the motivation for this PR, and link to relevant GitHub
issues, forums posts, or feature requests.
-->
# Test Plan
- In a project without Expo Router (`@expo/metro-runtime`), enable Metro
web and static output, then add an import error.
---------
Co-authored-by: Expo Bot <[email protected]>
show more ...
|
| 94b54ec3 | 20-Jun-2023 |
Evan Bacon <[email protected]> |
chore(cli, docs): update typed routes (#22848)
# Why
I keep getting DMs about this feature being confusing so I'm doing a
pass to try and bring it to parity with the rest of our offering.
<!-
chore(cli, docs): update typed routes (#22848)
# Why
I keep getting DMs about this feature being confusing so I'm doing a
pass to try and bring it to parity with the rest of our offering.
<!--
Please describe the motivation for this PR, and link to relevant GitHub
issues, forums posts, or feature requests.
-->
# How
- Update the experimental docs to not be a general "TypeScript" guide
but rather, be focused on the "Typed Routes" feature.
- Use the new `experiments.typedRoutes` flag and not an environment
variable. https://github.com/expo/universe/pull/12590
- Drop flag misinfo in the Expo CLI docs "This includes support for the
network inspector."
- Add a slightly more e2e test for the side-effects.
- Document how to actually turn the feature on.
---------
Co-authored-by: Aman Mittal <[email protected]>
Co-authored-by: Expo Bot <[email protected]>
show more ...
|
| 6fb32ddd | 13-Jun-2023 |
Keith Kurak <[email protected]> |
[cli] Add dependency exclusion to `npx expo install` (#22736)
# Why
Fulfills
https://linear.app/expo/issue/ENG-8564/add-dependency-exclusion-to-npx-expo-install.
Developers will be able to suppre
[cli] Add dependency exclusion to `npx expo install` (#22736)
# Why
Fulfills
https://linear.app/expo/issue/ENG-8564/add-dependency-exclusion-to-npx-expo-install.
Developers will be able to suppress warnings from `npx expo install
--check` via a package.json config, and thus suppress doctor warnings
when they intentionally choose to install a different version,
especially when using dev builds and not needing to stick to the Expo
Go- bundled version.
# How
`npx expo install --check|fix` reads from `expo.install.exclude` if it's
available, and, if one of the packages it thinks it should fix is in
that list, it will skip asking/ fixing it. If you run `EXPO_DEBUG=1 npx
expo install --check`, the packages whose checks were actually skipped
will be listed in debug output; otherwise there are no warnings or
messages about the excluded packages.
The package.json configuration verbiage is intended to be similar to the
[autolinking
config](https://docs.expo.dev/modules/autolinking/#exclude).
~~It also seemed appropriate that `npx expo install` should behave
differently if you try to install an excluded package, so someone
doesn't come along and write over a version that another developer
determined was good and thus applied the override for. Currently, it
aborts if any of the packages are in the exclusion list. I could see
doing a warning and skipping the affected packages instead, but the
command outright failing is pretty hard to miss.~~
`npx expo install` now installs excluded packages with the latest
version, just like a package without a specified native version. It will
add a note describing what it's doing and why.
# Test Plan
- [x] test without `expo.install.exclude` (works the same)
- [x] test with empty exclusion list (works the same)
- [x] test with exclusions that aren't actual dependencies (works the
same)
- [x] test `expo install --fix|check` when excluding an actual
dependency (skips it)
- [x] test with `EXPO_DEBUG=1` (lists excluded packages)
- [x] test `expo install [package]` with exclusions (installs latest
with notes)
- [x] test `expo install [package]` without exclusions (proceeds as it
normally does)
## Output
`npx expo install --check`, showing note that it is skipping checking
packages in the exclude list:
<img width="884" alt="image"
src="https://github.com/expo/expo/assets/8053974/30cef729-af18-44cb-98ef-11fc9729ae3d">
Additional debug output for `EXPO_DEBUG=1 npx expo install --check`:
<img width="904" alt="image"
src="https://github.com/expo/expo/assets/8053974/9096a939-066c-431b-a467-6d3d70ef448d">
`expo install <package>` with exclusions:
<img width="932" alt="image"
src="https://github.com/expo/expo/assets/8053974/d51e9e5a-cc59-4aa4-9cb6-4a2294b01ccc">
# Checklist
<!--
Please check the appropriate items below if they apply to your diff.
This is required for changes to Expo modules.
-->
- [x] Documentation is up to date to reflect these changes (eg:
https://docs.expo.dev and README.md).
- [x] Conforms with the [Documentation Writing Style
Guide](https://github.com/expo/expo/blob/main/guides/Expo%20Documentation%20Writing%20Style%20Guide.md)
- [x] This diff will work correctly for `npx expo prebuild` & EAS Build
(eg: updated a module plugin).
---------
Co-authored-by: Brent Vatne <[email protected]>
show more ...
|
| 624497a6 | 12-Jun-2023 |
Cedric van Putten <[email protected]> |
refactor(cli): only add `react` and `react-native` when missing in prebuild (#22624)
# Why
Fixes ENG-8480
This prevents accidental overwrites during `expo prebuild`. It's
particularly painful
refactor(cli): only add `react` and `react-native` when missing in prebuild (#22624)
# Why
Fixes ENG-8480
This prevents accidental overwrites during `expo prebuild`. It's
particularly painful in monorepos where users might want to use a
specific react-native version, and not use the patch update.
# How
Marked both `react` and `react-native` as "add when missing" packages.
Meaning that if it's not defined, we still add it. But once it's
defined, we only warn when the semver range DOES NOT intersect (`react`
and `react-native` are defined as exact versions in the templates).
Note, that this still bumps `expo` and `expo-splash-screen`, which I
think makes sense due to us releasing patch fixes regularly. But we can
opt into fully disabling any bumps during prebuild in general.
# Test Plan
See added tests, and:
- `$ yarn create expo ./test-app && cd ./test-app`
- Modify the React / React Native version to a lower patch/minor bump
- `$ yarn expo prebuild`
- This should warn with `using current versions instead of the
recommended react@<version>, react-native@<version>`, it should not
change the versions anymore.
# 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).
show more ...
|