feat(cli): Enable tsconfigPaths by default (#24490)# Why ENG-9888 # How <!-- How did you build this feature or fix this bug and why? --> # Test Plan <!-- Please describe how you t
feat(cli): Enable tsconfigPaths by default (#24490)# Why ENG-9888 # How <!-- 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 `npx expo prebuild` & EAS Build (eg: updated a module plugin). --------- Co-authored-by: Expo Bot <[email protected]> Co-authored-by: Aman Mittal <[email protected]>
show more ...
chore: update react-native-web to 0.19.6 (#23179)# Why bump react-native-web to 0.19.6 for sdk 49 # How - since [the issue](https://github.com/necolas/react-native-web/issues/2523) is fixe
chore: update react-native-web to 0.19.6 (#23179)# Why bump react-native-web to 0.19.6 for sdk 49 # How - since [the issue](https://github.com/necolas/react-native-web/issues/2523) is fixed by [email protected]. it's a good time to bump the version. - [ncl] fix some broken imports - [ncl] fix gesture-handler error # Test Plan - smoke testing ncl on web - ci passed
fix(cli): ensure fixture package jsons are private (#22417)# Why prevent expo tools from thinking fixture projects are public --------- Co-authored-by: Expo Bot <[email protected]
fix(cli): ensure fixture package jsons are private (#22417)# Why prevent expo tools from thinking fixture projects are public --------- Co-authored-by: Expo Bot <[email protected]>
chore(cli): switch `EXPO_USE_PATH_ALIASES` to `expo.experiments.tsconfigPaths`. (#21897)# Why - It's a bit harder to set env vars and users will want this either always on or always off. - Exp
chore(cli): switch `EXPO_USE_PATH_ALIASES` to `expo.experiments.tsconfigPaths`. (#21897)# Why - It's a bit harder to set env vars and users will want this either always on or always off. - Expo Config makes it easier to deprecate values on a per-version basis. https://github.com/expo/universe/pull/11872 - Comment out references to the path aliases feature until we're closer to launch. Users are getting confused when they see the feature documented. --------- Co-authored-by: Expo Bot <[email protected]>
feat(cli): add support for path aliases and absolute imports (#21262)# Why - In Expo Router, you have to import outside of the `app` directory which does not spark joy at scale (e.g. `../../../
feat(cli): add support for path aliases and absolute imports (#21262)# Why - In Expo Router, you have to import outside of the `app` directory which does not spark joy at scale (e.g. `../../../../../../`). - This is pretty standard functionality in web development, feels odd not having it in our "Metro for web" system. <!-- Please describe the motivation for this PR, and link to relevant GitHub issues, forums posts, or feature requests. --> # How - Add support for `compilerOptions.baseUrl` from `tsconfig.json` and `jsconfig.json` files to Metro. This enables absolute imports. - Add support for `compilerOptions.paths` aliases from `tsconfig.json` and `jsconfig.json` files to Metro. This enables path aliases. Tried to keep the implementation as close to TypeScript as possible to reduce maintenance. - Absolute imports utilize built-in Metro behavior making it more reliable. We basically just register the baseUrl as a location to search for node modules. - Couldn't decide where to document the feature so I put it in multiple places. - We might need to update expo jest to have similar functionality in the future (it might already support these fields, didn't check). <!-- How did you build this feature or fix this bug and why? --> # Test Plan - Added some unit tests for path aliases (non-exhaustive). - For correctness, you can use this feature in vscode and all autocomplete suggestions should work as the bundling now matches the built-in resolution. <!-- 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]>
chore(cli): fix e2e tests (#21335)- upgrade CLI e2e tests to SDK 47 - upgrade webpack to v5 --------- Co-authored-by: Expo Bot <[email protected]>
Update react-native-web to 0.18.6close ENG-7548The most react-native-web versions for public is already bumped to 0.18.6.This commit just updates remaining in expo/expo, e.g. the one in NCL, so
Update react-native-web to 0.18.6close ENG-7548The most react-native-web versions for public is already bumped to 0.18.6.This commit just updates remaining in expo/expo, e.g. the one in NCL, soI'm committing directly.bare-expo web + smoke test
Update react-native to 0.69.1 (#18031)# Why since react-native 0.69.1 is released, we should update and remove our patch. # How - bump dependencies to [email protected] - remove the rea
Update react-native to 0.69.1 (#18031)# Why since react-native 0.69.1 is released, we should update and remove our patch. # How - bump dependencies to [email protected] - remove the react-native postinstall patch - update our react-native fork to 0.69.1 based and remove duplicated commits # Test Plan ci passed - updates e2e on ios passed but failed on android. i will address in another pr.
Upgrade to react-native 0.69 (#18006)# Why for sdk 46 close ENG-5353 # How - update packages - react -> 18.0.0 - react-native -> 0.69.0 - react-dom -> 18.0.0 - react-native-w
Upgrade to react-native 0.69 (#18006)# Why for sdk 46 close ENG-5353 # How - update packages - react -> 18.0.0 - react-native -> 0.69.0 - react-dom -> 18.0.0 - react-native-web -> ~0.18.1 - react-test-renderer -> ~18.0.0 - @types/react -> ~18.0.14 - @types/react-native -> ~0.69.1 - early patch react-native for 0.69.1 fixes - https://github.com/facebook/react-native/commit/43f831b - https://github.com/facebook/react-native/commit/c2088e1 - https://github.com/facebook/react-native/commit/f97c6a5 - https://github.com/facebook/react-native/commit/79baca6 - https://github.com/facebook/react-native/pull/34064#issuecomment-1168810152 - migrate `expo-template-bare-minimum`, `bare-expo`, `bare-sandbox` to 0.69. reference from https://react-native-community.github.io/upgrade-helper/?from=0.68.1&to=0.69.0 - also remove the `hermesCommand` because 0.69 uses the builtin hermes-engine - `expo-av`, `expo-modules-core`, `expo-gl-cpp`: fix android cpp building errors, because 0.69 ships both release and debug aar - `expo-dev-client`: fix android build error from RedBox package rename - `html-elements`: update RNWView where react-native-web removed [the `css` import](https://github.com/necolas/react-native-web/commit/b27c9820) - `expo`: move Expo.podspec out from ios, because newer [rn-cli removed the `podspecPath` and `project` support](https://github.com/react-native-community/cli/commit/25eec7c#diff-0dddbcedebb33032fcac5991f3dcdfa44157e6ae87afcf3dabcd240a0db09832L58). - [ ] disable dev-client because the vendored reanimated in dev menu doesn't support 0.69 yet, e.g. `folly_json -> folly_runtime` - update reanimated and gesture-handler to latest for 0.69 support - `jest-expo`: update to [fix the deprecated react-native-web jest preset](https://github.com/necolas/react-native-web/commit/9b0c119) - `NCL`, `home`, patch `react-native-svg`: fix react 18 that [`children` should be explicitly added](https://reactjs.org/blog/2022/03/08/react-18-upgrade-guide.html#updates-to-typescript-definitions) - `@expo/cli` fix react-native-web and react-dom version checks # Test Plan - android bare-expo smoke test - ios bare-expo smoke test - ci passed - updates e2e is broken because in the flow the react-native doesn't include 0.69.1 fixes.
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]>
chore(cli): update test fixtures to SDK 45 (#17934)* chore(cli): update test fixtures to SDK 45 * updated tests * Update packages/@expo/cli/CHANGELOG.md Co-authored-by: Expo Bot <34669131+
chore(cli): update test fixtures to SDK 45 (#17934)* chore(cli): update test fixtures to SDK 45 * updated tests * Update packages/@expo/cli/CHANGELOG.md Co-authored-by: Expo Bot <[email protected]> * Update start-test.ts Co-authored-by: Expo Bot <[email protected]>
feat(cli): add `export` command (#17034)* feat(cli): add export command * Update CHANGELOG.md * update tests * Update packages/@expo/cli/CHANGELOG.md Co-authored-by: Expo Bot <34669131+
feat(cli): add `export` command (#17034)* feat(cli): add export command * Update CHANGELOG.md * update tests * Update packages/@expo/cli/CHANGELOG.md Co-authored-by: Expo Bot <[email protected]> * reduce interface * refactor refactor refactor * refactor * remove all merging code * drop aliases * Added asset saving tests * refactor export code up * Update env.ts * Drop unused * added e2e tests * Dropped --quiet flag * PR Feedback * fix tests * fix export tests * Update export-test.ts Co-authored-by: Expo Bot <[email protected]>