| #
b7d15820 |
| 13-Sep-2023 |
Cedric van Putten <[email protected]> |
chore(create-expo): move package from `expo/expo-cli` to `expo/expo` (#24373)
# Why
Moving this actively used/developed package from
[expo/expo-cli](https://github.com/expo/expo-cli) to
[expo/e
chore(create-expo): move package from `expo/expo-cli` to `expo/expo` (#24373)
# Why
Moving this actively used/developed package from
[expo/expo-cli](https://github.com/expo/expo-cli) to
[expo/expo](https://github.com/expo/expo).
> ⚠️ ~~Blocked by `@expo/package-manager` changes being merged only in
`sdk-49` and not `main`. See https://github.com/expo/expo/pull/24376~~
> Merged in this PR!
# How
- Copied project into **packages/create-expo-app**
- Applied various changes to fit it in the repository
# Test Plan
See CI
# 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 ...
|
| #
05863844 |
| 12-Sep-2023 |
Evan Bacon <[email protected]> |
refactor e2e tests (#24385)
# Why
- Split out of https://github.com/expo/expo/pull/23911
- This PR also adds server tests for static rendering.
- Make it easier to run and test e2e metro code.
refactor e2e tests (#24385)
# Why
- Split out of https://github.com/expo/expo/pull/23911
- This PR also adds server tests for static rendering.
- Make it easier to run and test e2e metro code.
<!--
Please describe the motivation for this PR, and link to relevant GitHub
issues, forums posts, or feature requests.
-->
# 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]>
show more ...
|
| #
0a6ddb20 |
| 13-Mar-2023 |
Evan Bacon <[email protected]> |
feat(cli): add basic static rendering for router projects (#21572)
# Why
- Implement an experimental static rendering system for Metro websites
using Expo Router.
- Behavior is undocumented and
feat(cli): add basic static rendering for router projects (#21572)
# Why
- Implement an experimental static rendering system for Metro websites
using Expo Router.
- Behavior is undocumented and highly experimental.
<!--
Please describe the motivation for this PR, and link to relevant GitHub
issues, forums posts, or feature requests.
-->
# How
- Add support to `start` and `export` which pre-renders static web pages
to HTML to improve SEO support on web.
- The system implements [React Navigation's
SSR](https://reactnavigation.org/docs/server-rendering) support.
- Head elements can be used with `import { Head } from
'expo-router/head'`.
- The root HTML is not exposed to the user.
- There are no data fetching mechanisms.
- There's no ability to provide a 404 page or other server features.
<!--
How did you build this feature or fix this bug and why?
-->
# Test Plan
- e2e test for exporting a router project statically.
- `EXPO_USE_STATIC=1 yarn expo` -> websites are pre-rendered before
being served.
- `EXPO_USE_STATIC=1 yarn expo export -p web` -> static routes are
rendered to static HTML files by the same name (dynamic routes are not
supported).
<!--
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 ...
|
| #
425e7f7f |
| 22-Feb-2023 |
Evan Bacon <[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]>
|
| #
e1bb5bdf |
| 17-Jan-2023 |
Kudo Chien <[email protected]> |
[2/3] upgrade react native 0.71 (#20832)
# Why
follow up #20799 for react-native 0.71 upgrade. this pr aims for jest upgrade and fix all broken tests.
close ENG-7192
# How
- upgrade packag
[2/3] upgrade react native 0.71 (#20832)
# Why
follow up #20799 for react-native 0.71 upgrade. this pr aims for jest upgrade and fix all broken tests.
close ENG-7192
# How
- upgrade packages
- `jest: ^26.0.24 -> ^29.2.1`
- `jest-watch-typeahead: 0.6.4 -> 2.2.1`
- `@types/jest: ^26.0.24 -> ^29.2.1`
- `babel-jest: ^26.6.3 -> ^29.2.1`
- `@jest/create-cache-key-function: ^27.0.1 -> ^29.2.1`
- `@babel/preset-env: ^7.12.9 -> ^7.14.0`
- `eslint: ^8.20.0 -> ^8.29.0`
- add `jest-environment-jsdom` because new jest does not include it by default
- [core] fix `SyntheticPlatformEmitter` type error. originally it refers to `react-native/Libraries/EventEmitter/RCTDeviceEventEmitter` internal file which has incorrect type setup in 0.71. we could use the `react-native.DeviceEventEmitter` instead.
- [expo-linking]: remove the deprecated `Linking.removeEventListener` (which is also removed from upstream)
- [firebase-recaptcha] remove broken web test because firebase ESM which is not supported by jest. this pr simply remove the test case because the package is deprecated.
- [jest-expo-enzyme] remove this package and move to [the archived repo](https://github.com/expo/jest-expo-enzyme). enzyme cannot upgrade to jest 29.
- remove `@types/react-native` and the versioned cli package check. because 0.71 ships the types directly.
- [ncl] workaround `@react-native-community/slider`, `@react-native-segmented-control/segmented-control`, and `@react-native-masked-view/masked-view` type errors in the `react-native-71-fix.d.ts`.
- for other details, please check the commit histories one by one.
# Test Plan
- ci passed
- for test-suite ios ci error, i've mentioned in #20799
show more ...
|
| #
fa5d5955 |
| 21-Jun-2022 |
Evan Bacon <[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]>
show more ...
|
| #
c94ad8a2 |
| 15-Apr-2022 |
Evan Bacon <[email protected]> |
feat(cli): add `--check` and `--fix` flags to install command (#17048)
* feat(cli): add `--check` and `--fix` flags to install command
Add a flag `--check` which runs the doctor check against the
feat(cli): add `--check` and `--fix` flags to install command (#17048)
* feat(cli): add `--check` and `--fix` flags to install command
Add a flag `--check` which runs the doctor check against the installed packages, then prompt to install the corrected packages. If the command is run in CI then no prompt will be given and the process with exit with non-zero exit code (1).
Additionally adds the `--fix` flag which skips the prompt and exiting behavior. This can be used in CI to naively ensure packages are always correct: `npx expo install --fix`.
In this logical scenario `--fix` acts as a more privileged version of `--check`. Meaning the flags should never be used together. I also considered the inverse structure `--fix --dry-run` which would act the same as `--check` but would allow for coherency in the arguments since you would have less of a chance to provide bad arguments.
I opted for the `--check` flag for this initial commit because it allows for the interactive prompt to fix when run outside of CI, and acts as expected in CI. Whereas `--dry-run` exiting with non-zero seems unexpected as running without `--dry-run` would not exit with non-zero (unless for some unrelated error).
This feature also combines all three sources for known versions before doing validation, this means the check run during `start` will utilize the same sources as the install check.
In addition, I've also added `react-native`, `react`, `react-dom`, and `react-native-web` to the `bundledNativeModules.json` so the React versions are all checked as well.
The result is a unified validation system across the CLI.
This feature supersedes the `expo doctor --fix-dependencies` command, while adding the additional ability to check/fix only a certain set of packages, i.e. `npx expo install react-native --check`
* Update CHANGELOG.md
* skip installing when all dependencies are fine
* testing install check
* fix tests
* added install e2e tests
* Update CHANGELOG.md
* Update validateDependenciesVersions-test.ts
* Update packages/expo/CHANGELOG.md
Co-authored-by: Expo Bot <[email protected]>
* Update getMissingPackages-test.ts
* Update install-test.ts
* Update install-test.ts
* Update react-native
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 ...
|