[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 ...
[workspace] Bump TypeScript version to 5.1.3 (#23143)# Why Closes ENG-9088 # How Bump TypeScript to the latest, and rebuild all required SDK packages Had to update `typeRoots` inside `
[workspace] Bump TypeScript version to 5.1.3 (#23143)# Why Closes ENG-9088 # How Bump TypeScript to the latest, and rebuild all required SDK packages Had to update `typeRoots` inside `expo-module-scripts` due to a change in TypeScript 5.1 where it no longer walks up automatically looking in parent directories ([Release notes](https://devblogs.microsoft.com/typescript/announcing-typescript-5-1-rc/#typeroots-are-consulted-in-module-resolution)) # Test Plan Ensure that `et cp -a` yields no errors, docs and tools build correctly, and that CI is green # 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).
[barcode-scanner][html-elements] Update jest snapshots (#23238)# Why `SDK/check-packages` actions are failing because `barcode-scanner` and `html-elements` snapshots are not up to date, that's
[barcode-scanner][html-elements] Update jest snapshots (#23238)# Why `SDK/check-packages` actions are failing because `barcode-scanner` and `html-elements` snapshots are not up to date, that's because updating `react-native-web` to `0.19.6` ended up changing some className hashes. # How Run `yarn test --update-snapshot` inside *packages/barcode-scanner* and *packages/html-elements* # Test Plan Ensure CI is green # 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).
[html-elements] ts-ignore em/rem usage, string is supported on web but not by React Native StyleSheet type
feat(html-elements): improve assertions (#21069)# Why - Temporary workaround for https://github.com/facebook/react/pull/22725 - Unwrapped text strings are very difficult to find and cause criti
feat(html-elements): improve assertions (#21069)# Why - Temporary workaround for https://github.com/facebook/react/pull/22725 - Unwrapped text strings are very difficult to find and cause critical errors to occur. When using expo/html-elements, devs have a much higher chance of accidentally making this mistake. - `@expo/html-elements` is web-first React Native and therefore should have first-class types and styles for `react-native-web`. This PR injects a native wrapper to strip out web styles that aren't supported. # How When a text child appears in View, the child is replaced by a red view with text indicating the string. A warning is also presented to attempt to provide a stack trace (which mostly doesn't help). # Test Plan - Added unit tests for the expected functionality. - I've been using this in my personal package `@bacons/react-views` for a while and it hurts to go back. <!-- 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]>
feat(html-elements): added div and babel tests (#20867)# Why - The babel plugin should be tested. - Div is a pretty common component. Even though this isn't perfect, most issues are related to
feat(html-elements): added div and babel tests (#20867)# Why - The babel plugin should be tested. - Div is a pretty common component. Even though this isn't perfect, most issues are related to styling/Yoga. Yoga has some good strategies for changing default styles in the future so I think we can lean on that for migration.
[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
[html-elements] web: fix headings HTML tag (#20473)# Why Fixes #20410 Fixes #20458 # How It look like RNW is now more aligned with prop naming convention than in the past, and there is n
[html-elements] web: fix headings HTML tag (#20473)# Why Fixes #20410 Fixes #20458 # How It look like RNW is now more aligned with prop naming convention than in the past, and there is no need to pass raw HTML prop `aria-level` as before, `accessibilityLevel` is sufficient, see: * https://necolas.github.io/react-native-web/docs/accessibility/ # Test Plan Snapshot before this changeset shows that there was a problem with the headings after latest RNW update, so after performing the changes I have regenerated the snapshots. # 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).
feat(html-elements): upgrade to support react-native-web 0.18 (#19233)* feat(html-elements): upgrade to support react-native-web 0.18 * Update Anchor-test.tsx.snap.web * drop position
[ems][jest-expo-enzyme] Deprecate the library and remove it from EMS (#19777)
[packages] fix ci errors (#18028)
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.
[html-elements] Use Courier New for Code font in iOS 15 (#14816)
[eslint-config] remove `arrowParens` overwrite, reformat files (#14232)
[sdk] upgrade typescript to v4.3.5 (#14015)
Upgrade to react native [email protected] (#13947)* [email protected] * babel upgrades * Update yarn.lock * Fixed event emitter bugs on web * Fixed GL tests * Fixed HTML tests * Up
Upgrade to react native [email protected] (#13947)* [email protected] * babel upgrades * Update yarn.lock * Fixed event emitter bugs on web * Fixed GL tests * Fixed HTML tests * Update RNWView.tsx
[gl] Fix node unit tests (#9691)* Bump react-native-web * Fix canvas SSR checks * prevent redundant updates * Update CHANGELOG.md * Bump react-native-web * fix lint * fix build fi
[gl] Fix node unit tests (#9691)* Bump react-native-web * Fix canvas SSR checks * prevent redundant updates * Update CHANGELOG.md * Bump react-native-web * fix lint * fix build files * et check packages
[web] Directly import createElement (#8773)* Directly import createElement to avoid name change issue in [email protected] * Update CHANGELOG.md * Update CHANGELOG.md
[ts] Upgrade to TypeScript 3.9.2 (#8280)* [ts] Upgrade to TypeScript 3.9.2 This upgrades TypeScript to 3.9.2 to keep us more up to date. It also supports `@ts-expect-error` for places where we w
[ts] Upgrade to TypeScript 3.9.2 (#8280)* [ts] Upgrade to TypeScript 3.9.2 This upgrades TypeScript to 3.9.2 to keep us more up to date. It also supports `@ts-expect-error` for places where we want to get notified if a future TS version stops triggering type checker errors. https://devblogs.microsoft.com/typescript/announcing-typescript-3-9/ It is also supposed to be faster but I don't have real numbers on this. CI might be a reasonable indicator. Also updated ts-jest, since there was a bug that required clearing the Jest cache. Updated the TS version in expo-module-scripts. Ran `expotools check-packages --no-uniformity-check ` to rebuild, test, and lint all files. * [ts] Fix up files for TS 3.9 * [ts] Rebuild JS files with TS 3.9.2
[html-elements] Fix Android font family (#7303)* Fix Android font family * fix build
Updated HTML Lists (#7062)* Remove OL * updated build files
[eslint-config-universe] Add import ordering alphabetization (#7038)
[html-elements] Update font sizes (#7044)* Remove Small * Update Text-test.tsx
[html-elements] Use Courier font for Code elements (#7040)* Use Courier font for code elements * Updated demo screen
[html-elements] Update layout elements (#7027)* Created new layout elements * Updated docs * Updated small size * updated heading snapshots * lint fix * fix format
12