Files
self/packages/mobile-sdk-demo/package.json
Justin Hernandez 8da076cf0d Bump Babel, TypeScript, React Native and assorted dependencies; refresh lockfile (#1606)
* Update dependency versions

* Fix gesture handler Android dependency (#1611)

* Patch screens codegen type (#1609)

* Downgrade Sentry React Native (#1612)

* fix patches and packages

* downgrade versions for gesture handler and screens

* agent feedback

* fix ios building

* allow ios tets to pass

* formatting

* make cache more resilient

* Address CodeRabbitAI review comments

This commit addresses all 7 unresolved CodeRabbitAI comments on PR #1606:

Patch-package error handling (comments #1, #2, #3):
- stderr capture already implemented in both root and workspace patch runs
- Add CI warning when patches fail silently instead of exiting with 0
- Log completion status in CI mode for visibility

Critical Mixpanel dependency fix (comment #5):
- Add explicit Mixpanel-swift pod declaration to fix E2E build failures
- Ensures Mixpanel is available even when NFCPassportReader is skipped during E2E testing

React-native-web validation (comment #4):
- Verified no usage of deprecated findNodeHandle, pointerEvents: 'box-none', or createPortal
- Safe to upgrade from 0.19 to 0.21.2

CI workflow improvements (comments #6, #7):
- Create cache-sdk-build composite action for consistent SDK build artifact caching
- Replace all direct actions/cache@v4 usage with cache-yarn composite action
- Replace all direct actions/cache/restore@v4 and save@v4 with cache-sdk-build
- Add nested require() validation step before tests to fail fast on problematic patterns

All changes follow repository coding guidelines for CI caching and test memory optimization.

* Extend cache composite actions to all SDK workflows

This commit extends the caching standardization from PR #1606 to include
mobile-sdk-ci.yml and core-sdk-ci.yml workflows.

New composite actions created:
- cache-mobile-sdk-build: For mobile SDK build artifacts
- cache-core-sdk-build: For core SDK build artifacts

Workflow updates:
- mobile-sdk-ci.yml: Replaced 5 instances of direct actions/cache with cache-mobile-sdk-build
- core-sdk-ci.yml: Replaced 4 instances of direct actions/cache with cache-core-sdk-build

All SDK CI workflows now use consistent caching patterns via composite actions,
following the AGENTS.md guideline: "Use shared composite actions from .github/actions
for CI caching instead of calling actions/cache directly."

Benefits:
- Consistent caching across all SDK workflows (qrcode, mobile, core)
- Centralized cache configuration - easier to maintain
- Follows established patterns from qrcode-sdk-ci.yml

* downgrade react-native-svg

* update pod lock file

* sort
2026-01-28 12:47:32 -08:00

91 lines
3.3 KiB
JSON

{
"name": "mobile-sdk-demo",
"version": "0.0.1",
"private": true,
"type": "module",
"main": "index.js",
"scripts": {
"analyze:bundle:android": "yarn prebuild && node scripts/bundle-analyze-ci.cjs android",
"analyze:bundle:ios": "yarn prebuild && node scripts/bundle-analyze-ci.cjs ios",
"preandroid": "yarn prebuild",
"android": "react-native run-android --verbose",
"prebuild": "yarn workspace @selfxyz/mobile-sdk-alpha build",
"build": "yarn prebuild && tsc -p tsconfig.json --noEmit --pretty false",
"clean": "rm -rf ios/build android/app/build android/build && cd android && ./gradlew clean && cd ..",
"format": "yarn nice",
"ia": "yarn install-app",
"install-app": "yarn install && yarn prebuild && cd ios && pod install && cd ..",
"preios": "yarn prebuild",
"ios": "react-native run-ios",
"lint": "eslint .",
"lint:fix": "eslint --fix .",
"nice": "yarn lint:fix",
"reinstall": "yarn clean && yarn install && yarn prebuild && cd ios && pod install && cd ..",
"start": "react-native start",
"test": "vitest run",
"test:e2e:android": "bash scripts/e2e-android-ci.sh",
"test:watch": "vitest",
"types": "yarn prebuild && tsc --noEmit"
},
"dependencies": {
"@babel/runtime": "^7.28.6",
"@faker-js/faker": "^10.0.0",
"@noble/hashes": "^1.5.0",
"@react-native-async-storage/async-storage": "^2.2.0",
"@selfxyz/common": "workspace:*",
"@selfxyz/mobile-sdk-alpha": "workspace:*",
"assert": "^2.1.0",
"buffer": "^6.0.3",
"constants-browserify": "^1.0.0",
"ethers": "^6.11.0",
"lottie-react": "^2.4.1",
"lottie-react-native": "7.2.2",
"react": "^18.3.1",
"react-native": "0.76.9",
"react-native-blur-effect": "1.1.3",
"react-native-get-random-values": "^1.11.0",
"react-native-haptic-feedback": "^2.3.3",
"react-native-keychain": "^10.0.0",
"react-native-localize": "^3.6.1",
"react-native-safe-area-context": "^5.6.2",
"react-native-svg": "15.15.1",
"react-native-vector-icons": "^10.3.0",
"react-native-webview": "13.16.0",
"stream-browserify": "^3.0.0",
"util": "^0.12.5"
},
"devDependencies": {
"@babel/core": "^7.28.6",
"@react-native-community/cli": "^16.0.3",
"@react-native/gradle-plugin": "0.76.9",
"@react-native/metro-config": "0.76.9",
"@testing-library/dom": "^10.4.1",
"@testing-library/jest-dom": "^6.6.3",
"@testing-library/react": "^16.1.0",
"@testing-library/user-event": "^14.5.2",
"@tsconfig/react-native": "^3.0.6",
"@types/node": "^22.18.3",
"@types/react": "^18.3.4",
"@types/react-dom": "^18.3.0",
"@types/react-native-vector-icons": "^6.4.18",
"@typescript-eslint/eslint-plugin": "^8.44.0",
"@typescript-eslint/parser": "^8.44.0",
"@vitest/ui": "^2.1.8",
"eslint": "^8.57.0",
"eslint-config-prettier": "^10.1.8",
"eslint-import-resolver-typescript": "^3.6.1",
"eslint-plugin-import": "^2.32.0",
"eslint-plugin-prettier": "^5.5.4",
"eslint-plugin-simple-import-sort": "^12.1.1",
"eslint-plugin-sort-exports": "^0.9.1",
"find-yarn-workspace-root": "^2.0.0",
"jsdom": "^25.0.1",
"metro-react-native-babel-preset": "0.76.9",
"prettier": "^3.6.2",
"react-dom": "^18.3.1",
"react-native-svg-transformer": "^1.5.2",
"typescript": "^5.9.3",
"vitest": "^2.1.8"
}
}