[expo-device][docs] Fix broken link for app config doc (#24418)
[device] Add deviceType constant (#21633)Co-authored-by: Tomasz Sapeta <[email protected]>
[device][docs] convert package to utilize autogenerated docs feature (#20241)
[android][expo-device] migrate to new modules API (#20118)# Why Migrate module to use new modules API # How Followed the usual steps involved in migrating a module # Test Plan Tested using
[android][expo-device] migrate to new modules API (#20118)# Why Migrate module to use new modules API # How Followed the usual steps involved in migrating a module # Test Plan Tested using the bare expo app. Continues to work as before.
show more ...
[device] move modelName to native on iOS (#14670)
[constants][device] Added missing devices (#14640)* Added missing devices * changelog * remove unused, add ipad mini 6 * prepare
Remove deprecated unimodules packages from repository (#14585)
Rename unimodules imports to expo-modules-core
[sdk] upgrade typescript to v4.3.5 (#14015)
[device] Add missing Apple devices (#13261)
[device] Add device code mappings for newer iPhones and iPads (#12630)Why --- expo-device's model mappings were outdated. I also tidied up parts of the list (especially around iPads) to match App
[device] Add device code mappings for newer iPhones and iPads (#12630)Why --- expo-device's model mappings were outdated. I also tidied up parts of the list (especially around iPads) to match Apple's branding more closely. Sometimes they use the generation number in the product name, like "iPad mini 4", and other times they don't, like just "iPad mini" for the 5th generation, which our API now calls "iPad mini (5th generation)". How --- Looked up model numbers online and added them to the list. Test Plan --------- Linter + unit tests.
Added deviceMemory to web (#12526)* Added deviceMemory to web * added tests * remove ignore * Update CHANGELOG.md * Update packages/expo-device/src/ExpoDevice.web.ts Co-authored-by:
Added deviceMemory to web (#12526)* Added deviceMemory to web * added tests * remove ignore * Update CHANGELOG.md * Update packages/expo-device/src/ExpoDevice.web.ts Co-authored-by: James Ide <[email protected]> * update Co-authored-by: James Ide <[email protected]>
Remove usage of `fbjs` from most packages (#11396)* expo-web-browser * expo-device * expo-camera * expo-notifications * legacynotification in expo package * expo-font * expo-const
Remove usage of `fbjs` from most packages (#11396)* expo-web-browser * expo-device * expo-camera * expo-notifications * legacynotification in expo package * expo-font * expo-constants * expo-updates * expo-sensors * expo-error-recovery * expo-gl * expo-linking * changelogs * rebuild expo-device * add missing space to changelog entries Co-authored-by: Evan Bacon <[email protected]> Co-authored-by: Evan Bacon <[email protected]>
[expo-device] Add device names for iPhone 11 (#5746)* [expo-device] Add device names for iPhone 11 These can be checked by running Simulator and logging. * yarn build
[lint] Add a "lint" script to all packages and fix lint warnings & errorsThis turns on linting for all of the packages, enforced by `expotools check-packages`. I added a "lint" script to each packa
[lint] Add a "lint" script to all packages and fix lint warnings & errorsThis turns on linting for all of the packages, enforced by `expotools check-packages`. I added a "lint" script to each package and an `.eslintrc.js` file created by expo-module-scripts. For some packages like jest-expo that are intended to run on Node, I used a small handwritten ESLint config that uses the universe/node config.Tested with `expotools check-packages` after fixing all the lint warnings and errors.
Add support for Next.js and make sure Expo packages support server-side rendering (#5275)* [expo] Add some support for SSR * [expo-constants] Add some supports for SSR * [expo-constants] Use
Add support for Next.js and make sure Expo packages support server-side rendering (#5275)* [expo] Add some support for SSR * [expo-constants] Add some supports for SSR * [expo-constants] Use `canUseDOM` instead of `process.browser` to check SSR * [expo] Use `canUseViewport` and `canUseEventListeners` instead of `process.browser` to check SSR * [docs] Add docs for "Using Next.js with Expo for Web" * Update using-nextjs.md * Update using-nextjs.md * [docs] Add notes for `_document.js` * [expo-constants] Use `expo-module-scripts/universal` for jest * [expo-app-auth] Test for `window` * [expo-app-auth] build * [expo-gl] Support SSR * [expo] Minor change * Update CHANGELOG.md * [expo-device] Support SSR * [expo-app-auth] Add test for web * [docs] Add notes for customizing `pages/_document.js` * Update using-nextjs.md * Update using-nextjs.md
[device/cellular/network] Expose enumsWhy---The `enums` defined in the `expo-cellular`, `expo-device`, and `expo-network` were not exposedto the end user.For example, if a developer wanted to
[device/cellular/network] Expose enumsWhy---The `enums` defined in the `expo-cellular`, `expo-device`, and `expo-network` were not exposedto the end user.For example, if a developer wanted to check if a their device type was a `DESKTOP`, which has an enum value of `3` as defined in our `enum`, they would have to do the following:```jsconst deviceType = Device.getDeviceTypeAsync();// check if device is a desktopif (deviceType === 3) {...```as opposed to:```jsconst deviceType = Device.getDeviceTypeAsync();// check if device is a desktopif (deviceType === Device.DeviceType.DESKTOP) {...```This PR fixes this issue by exposing the enums defined in `expo-cellular`, `expo-device`, and `expo-network`.
[device] Group related fields/methods, add TS types, add more complete web support (#5075)This is a holistic revision of expo-device: - Added `NS_ASSUME_NONNULL_BEGIN/END` to the iOS code. - Re
[device] Group related fields/methods, add TS types, add more complete web support (#5075)This is a holistic revision of expo-device: - Added `NS_ASSUME_NONNULL_BEGIN/END` to the iOS code. - Related fields are now grouped. For example, all of the `osXXX` fields are now documented together, and all the fields related to the model ID and name are together. - I also ordered the fields and methods by what I assumed to be most relevant. More general or common fields/methods are ordered first. - Changed the order of fields and methods in the code (across all platforms) to match the documentation order -- this way related fields/methods are grouped in the code as well. - Renamed the root detection error code to `ERR_DEVICE_ROOT_DETECTION` to make it clear that when this code is thrown, it has to do with root detection. - Added TS types to the API layer so that e.g. `Device.osName` is `string | null`. - Ensured that universally expected fields in the platform layer are always specified (even if that specified value is `null`) so that we never give developers `undefined`. - Added more complete web support -- tested the UA parsing library we use on various UA strings (iOS, Android, Windows). - Documented the web behavior more thoroughly in examples. - Changed the values of the TS enum values to be numbers instead of strings, and changed the corresponding native code. This is more compact and quicker to do a comparison. - Made `Device.getPlatformFeaturesAsync()` return an empty array on platforms that don't support it so we have one fewer method that returns null. Test plan: compile on iOS and Android, and launch with Expo Web.
[expo-device] Add expo-device module (#4682)* Create the highly anticipated Device module