mirror of
https://github.com/selfxyz/self.git
synced 2026-01-09 14:48:06 -05:00
* Add Maestro e2e testing * Run Maestro flows in parallel * Fix mobile e2e workflow * Fix e2e script flow path * prettier * fix * prettier * standardize yml files and new formatting commands * fix ndk * fix exclusions * use double quotes for yml files * feedback * fixes * fixes * fix * fix ios job * unneeded * fix workflows * fix launch workflow * fix * fix pipeline * workflow fixes * install app to emulators * better logging * save current version of test script * android works. ios wip. update locks * fix pipelines * cr feedback * fix android e2e test * Split mobile e2e workflow by platform (#842) * Replace react-native-quick-crypto with @noble/hashes (#841) * Add tests for ethers polyfills * Add crypto utils * Inline crypto polyfills into ethers util * sort and update gemfile lock * update lock * chore: incrementing ios build number for version 2.6.3 [github action] * android works. ios wip. update locks * Specify Maestro platform * Fix Android build step in e2e workflow * fix android * update ios * add concurrency * update Podfile.lock * fix android * prettier * fix * fix android pipeline * try job again * fix ios * fix android * fix ios * fix command * use android runner now that path is fixed * fix android e2e test * fix adb * add caching * fix build * speed up build * fix * test emulator options * updates * fix pipeline * fix * fix script and move on * add comment --------- Co-authored-by: Self GitHub Actions <action@github.com> * feedback * fixes * ignore for now * ignore * fix tests * fix ios simulator booting * fix ios test * shutdown after run * fix ios test * better timing * increase ios timeout * fix both flows * fix pipeline * combine command * fix ios * break up build steps for better caching * remove cache * fix ios and android test pipelines * update logic --------- Co-authored-by: Self GitHub Actions <action@github.com>
193 lines
9.0 KiB
JSON
193 lines
9.0 KiB
JSON
{
|
|
"name": "@selfxyz/mobile-app",
|
|
"version": "2.6.3",
|
|
"private": true,
|
|
"type": "module",
|
|
"scripts": {
|
|
"analyze:bundle:android": "node ./scripts/bundle-analyze-ci.cjs android",
|
|
"analyze:bundle:ios": "node ./scripts/bundle-analyze-ci.cjs ios",
|
|
"analyze:tree-shaking": "node ./scripts/analyze-tree-shaking.cjs imports",
|
|
"analyze:tree-shaking:web": "yarn web:build && node ./scripts/analyze-tree-shaking.cjs web",
|
|
"android": "yarn build:deps && react-native run-android",
|
|
"build:deps": "yarn workspaces foreach --from @selfxyz/mobile-app --topological --recursive run build",
|
|
"bump-version:major": "npm version major && yarn sync-versions",
|
|
"bump-version:minor": "npm version minor && yarn sync-versions",
|
|
"bump-version:patch": "npm version patch && yarn sync-versions",
|
|
"clean": "yarn clean:watchman && yarn clean:build && yarn clean:ios && yarn clean:android && yarn clean:xcode && yarn clean:pod-cache && yarn clean:node",
|
|
"clean:android": "rm -rf android/app/build android/build",
|
|
"clean:build": "rm -rf ios/build android/app/build android/build",
|
|
"clean:ios": "rm -rf ios/Pods ios/Podfile.lock Gemfile.lock",
|
|
"clean:node": "rm -rf ../node_modules app/node_modules",
|
|
"clean:pod-cache": "cd ios && pod cache clean --all && cd ..",
|
|
"clean:watchman": "watchman watch-del-all",
|
|
"clean:xcode": "rm -rf ~/Library/Developer/Xcode/DerivedData",
|
|
"clean:xcode-env-local": "rm -f ios/.xcode.env.local",
|
|
"fmt": "prettier --check .",
|
|
"fmt:fix": "prettier --write .",
|
|
"format": "yarn nice",
|
|
"ia": "yarn install-app",
|
|
"install-app": "yarn install-app:setup && cd ios && bundle install && bundle exec pod install && cd .. && yarn clean:xcode-env-local",
|
|
"install-app:mobile-deploy": "yarn install && yarn build:deps && yarn clean:xcode-env-local",
|
|
"install-app:mobile-deploy:ios": "yarn install-app:setup && yarn clean:xcode-env-local",
|
|
"install-app:setup": "yarn install && yarn build:deps && cd ios && bundle install && bundle exec pod install && cd ..",
|
|
"ios": "yarn build:deps && react-native run-ios --scheme OpenPassport",
|
|
"ios:fastlane-debug": "yarn reinstall && bundle exec fastlane --verbose ios internal_test",
|
|
"lint": "eslint .",
|
|
"lint:fix": "eslint --fix .",
|
|
"mobile-deploy": "node scripts/mobile-deploy-confirm.cjs both",
|
|
"mobile-deploy:android": "node scripts/mobile-deploy-confirm.cjs android",
|
|
"mobile-deploy:ios": "node scripts/mobile-deploy-confirm.cjs ios",
|
|
"mobile-local-deploy": "FORCE_UPLOAD_LOCAL_DEV=true node scripts/mobile-deploy-confirm.cjs both",
|
|
"mobile-local-deploy:android": "FORCE_UPLOAD_LOCAL_DEV=true node scripts/mobile-deploy-confirm.cjs android",
|
|
"mobile-local-deploy:ios": "FORCE_UPLOAD_LOCAL_DEV=true node scripts/mobile-deploy-confirm.cjs ios",
|
|
"nice": "yarn lint:fix && yarn fmt:fix",
|
|
"reinstall": "yarn clean && yarn install && yarn install-app",
|
|
"release": "./scripts/release.sh",
|
|
"release:major": "./scripts/release.sh major",
|
|
"release:minor": "./scripts/release.sh minor",
|
|
"release:patch": "./scripts/release.sh patch",
|
|
"setup": "yarn clean:build && yarn install && yarn build:deps && cd ios && bundle install && bundle exec pod install --repo-update && cd .. && yarn clean:xcode-env-local",
|
|
"start": "watchman watch-del-all && react-native start",
|
|
"sync-versions": "bundle exec fastlane ios sync_version && bundle exec fastlane android sync_version",
|
|
"tag:release": "node scripts/tag.js release",
|
|
"tag:remove": "node scripts/tag.js remove",
|
|
"test": "jest --passWithNoTests && node --test scripts/tests/*.cjs",
|
|
"test:build": "yarn build:deps && yarn web:build && yarn types && yarn analyze:bundle:ios",
|
|
"test:coverage": "jest --coverage --passWithNoTests",
|
|
"test:coverage:ci": "jest --coverage --passWithNoTests --ci --coverageReporters=lcov --coverageReporters=text --coverageReporters=json",
|
|
"test:e2e:android": "cd android && ./gradlew assembleDebug && cd .. && maestro test tests/e2e/launch.android.flow.yaml",
|
|
"test:e2e:ios": "xcodebuild -workspace ios/OpenPassport.xcworkspace -scheme OpenPassport -configuration Debug -sdk iphonesimulator -derivedDataPath ios/build && maestro test tests/e2e/launch.ios.flow.yaml",
|
|
"test:fastlane": "bundle exec ruby -Itest fastlane/test/helpers_test.rb",
|
|
"test:tree-shaking": "node ./scripts/test-tree-shaking.cjs",
|
|
"test:web-build": "jest tests/web-build-render.test.ts --testTimeout=180000",
|
|
"types": "tsc --noEmit",
|
|
"web": "vite",
|
|
"web:build": "vite build",
|
|
"web:preview": "vite preview"
|
|
},
|
|
"dependencies": {
|
|
"@babel/runtime": "^7.27.4",
|
|
"@ethersproject/shims": "^5.7.0",
|
|
"@noble/hashes": "^1.5.0",
|
|
"@openpassport/zk-kit-lean-imt": "^0.0.6",
|
|
"@openpassport/zk-kit-smt": "^0.0.1",
|
|
"@peculiar/x509": "^1.12.3",
|
|
"@react-native-async-storage/async-storage": "^2.1.1",
|
|
"@react-native-clipboard/clipboard": "1.13.2",
|
|
"@react-native-community/netinfo": "^11.4.1",
|
|
"@react-native-firebase/app": "^19.0.1",
|
|
"@react-native-firebase/messaging": "^19.0.1",
|
|
"@react-native-firebase/remote-config": "^19.0.1",
|
|
"@react-navigation/native": "^7.0.14",
|
|
"@react-navigation/native-stack": "^7.2.0",
|
|
"@robinbobin/react-native-google-drive-api-wrapper": "^2.2.3",
|
|
"@segment/analytics-react-native": "^2.21.0",
|
|
"@segment/sovran-react-native": "^1.1.3",
|
|
"@selfxyz/common": "workspace:^",
|
|
"@sentry/react": "^9.32.0",
|
|
"@sentry/react-native": "^6.10.0",
|
|
"@stablelib/cbor": "^2.0.1",
|
|
"@tamagui/animations-css": "^1.129.3",
|
|
"@tamagui/animations-react-native": "^1.129.3",
|
|
"@tamagui/config": "1.126.14",
|
|
"@tamagui/lucide-icons": "1.126.14",
|
|
"@tamagui/toast": "^1.127.2",
|
|
"@tamagui/vite-plugin": "1.126.14",
|
|
"@types/react-dom": "^19.1.6",
|
|
"@xstate/react": "^5.0.3",
|
|
"add": "^2.0.6",
|
|
"asn1js": "^3.0.5",
|
|
"country-emoji": "^1.5.6",
|
|
"country-iso-3-to-2": "^1.1.1",
|
|
"elliptic": "^6.6.1",
|
|
"ethers": "^6.11.0",
|
|
"expo-modules-core": "^2.2.1",
|
|
"js-sha512": "^0.9.0",
|
|
"lottie-react": "^2.4.1",
|
|
"lottie-react-native": "7.2.2",
|
|
"msgpack-lite": "^0.1.26",
|
|
"node-forge": "^1.3.1",
|
|
"pako": "^2.1.0",
|
|
"pkijs": "^3.2.4",
|
|
"poseidon-lite": "^0.2.0",
|
|
"react": "^18.3.1",
|
|
"react-dom": "^18.3.1",
|
|
"react-native": "0.75.4",
|
|
"react-native-app-auth": "^8.0.3",
|
|
"react-native-biometrics": "^3.0.1",
|
|
"react-native-check-version": "^1.3.0",
|
|
"react-native-cloud-storage": "^2.2.2",
|
|
"react-native-device-info": "^14.0.4",
|
|
"react-native-dotenv": "^3.4.11",
|
|
"react-native-edge-to-edge": "^1.6.2",
|
|
"react-native-gesture-handler": "2.24.0",
|
|
"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.4.1",
|
|
"react-native-nfc-manager": "^3.15.1",
|
|
"react-native-passport-reader": "^1.0.3",
|
|
"react-native-safe-area-context": "^5.5.1",
|
|
"react-native-screens": "4.9.0",
|
|
"react-native-sqlite-storage": "^6.0.1",
|
|
"react-native-svg": "^15.11.1",
|
|
"react-native-svg-web": "^1.0.9",
|
|
"react-native-web": "^0.19.0",
|
|
"react-qr-barcode-scanner": "^2.1.7",
|
|
"socket.io-client": "^4.7.5",
|
|
"tamagui": "1.126.14",
|
|
"uuid": "^11.0.5",
|
|
"vite-plugin-svgr": "^4.3.0",
|
|
"xstate": "^5.19.2",
|
|
"zustand": "^4.5.2"
|
|
},
|
|
"devDependencies": {
|
|
"@babel/core": "^7.20.0",
|
|
"@babel/plugin-transform-private-methods": "^7.23.3",
|
|
"@react-native-community/cli": "^19.1.1",
|
|
"@react-native/babel-preset": "0.75.4",
|
|
"@react-native/eslint-config": "0.75.4",
|
|
"@react-native/gradle-plugin": "^0.79.2",
|
|
"@react-native/metro-config": "0.75.4",
|
|
"@react-native/typescript-config": "0.75.4",
|
|
"@tamagui/types": "1.126.14",
|
|
"@testing-library/react-hooks": "^8.0.1",
|
|
"@testing-library/react-native": "^13.2.0",
|
|
"@tsconfig/react-native": "^3.0.0",
|
|
"@types/add": "^2",
|
|
"@types/elliptic": "^6",
|
|
"@types/jest": "^29.5.14",
|
|
"@types/msgpack-lite": "^0.1.11",
|
|
"@types/node-forge": "^1.3.3",
|
|
"@types/pako": "^2.0.3",
|
|
"@types/react": "^18.2.6",
|
|
"@types/react-native": "^0.73.0",
|
|
"@types/react-native-dotenv": "^0.2.0",
|
|
"@types/react-native-sqlite-storage": "^6.0.5",
|
|
"@types/react-native-web": "^0",
|
|
"@types/react-test-renderer": "^18",
|
|
"@typescript-eslint/eslint-plugin": "^7.18.0",
|
|
"@typescript-eslint/parser": "^7.18.0",
|
|
"@vitejs/plugin-react-swc": "^3.10.2",
|
|
"eslint": "^8.19.0",
|
|
"eslint-config-prettier": "10.1.8",
|
|
"eslint-import-resolver-typescript": "^3.7.0",
|
|
"eslint-plugin-header": "^3.1.1",
|
|
"eslint-plugin-import": "^2.31.0",
|
|
"eslint-plugin-jest": "^28.11.1",
|
|
"eslint-plugin-prettier": "^5.2.6",
|
|
"eslint-plugin-simple-import-sort": "^12.1.1",
|
|
"jest": "^29.6.3",
|
|
"prettier": "^3.5.3",
|
|
"react-native-svg-transformer": "^1.5.0",
|
|
"react-test-renderer": "^18.3.1",
|
|
"rollup-plugin-visualizer": "^6.0.3",
|
|
"stream-browserify": "^3.0.0",
|
|
"typescript": "^5.8.3",
|
|
"vite": "^7.0.0"
|
|
},
|
|
"engines": {
|
|
"node": ">=18"
|
|
}
|
|
}
|