[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 ...
[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.
[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).
[workspace] bump and align TypeScript version (#20392)
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
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.
Use declaration maps (#15782)* Added declarationMap to base tsconfig * et cp -a --no-lint --no-test --no-uniformity-check
[packages] Commit rebuilt packages
[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
[ci] Fix broken workflows (#13931)# Why fix ci broken # How the broken on ios relates to cocoapods with `incremental_installation` which `installer.pod_project` might be nil if no new proj
[ci] Fix broken workflows (#13931)# Why fix ci broken # How the broken on ios relates to cocoapods with `incremental_installation` which `installer.pod_project` might be nil if no new project generated. the broken on android: - [detox] upgrade detox to 18.20.1 to support RN 0.64 - [detox] allow local server cleartext traffic that i disallowed from release build during RN upgrade - [detox] fix building error with react-native-screens - [react-native] cherry-pick upstream patch which prevent *.so not packed in aar. # Test Plan ci passed
[ci] Fix expotools check-packages (rebuild JS, update babel-preset-expo snapshots)- expo/html-elements needed TS rebuilt- jest-expo-enzyme needed TS rebuilt- expo-location needed some type fixes
[ci] Fix expotools check-packages (rebuild JS, update babel-preset-expo snapshots)- expo/html-elements needed TS rebuilt- jest-expo-enzyme needed TS rebuilt- expo-location needed some type fixes and JS to be rebuilt- babel-preset-expo needed unit test snapshots regenerated (verified the diff is that an internal function that Babel emits just has a name now -- the rest of the snapshot matches)
[TS] Upgrade packages to TypeScript 4.0 (#9960)
[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
Compile jsx in all packages (#8421)* compile jsx to js * Rebuild all packages without jsx * Updated build files
[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
[lint] Bump eslint-config-universe to 3.0.0 (#7592)This bumps eslint-config-universe to 3.0.0 (published to npm) and update expo-module-scripts to use the latest version. Tested with `yarn test`
[lint] Bump eslint-config-universe to 3.0.0 (#7592)This bumps eslint-config-universe to 3.0.0 (published to npm) and update expo-module-scripts to use the latest version. Tested with `yarn test` and `yarn lint` in eslint-config-universe, and `expotools check-packages`.
[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)
12