-
-
Notifications
You must be signed in to change notification settings - Fork 265
Expand file tree
/
Copy pathpackage.json
More file actions
114 lines (114 loc) · 4.47 KB
/
Copy pathpackage.json
File metadata and controls
114 lines (114 loc) · 4.47 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
{
"name": "offgrid-mobile",
"version": "0.0.103",
"private": true,
"scripts": {
"android": "react-native run-android --mode=debug --appId ai.offgridmobile.dev",
"ios": "react-native run-ios",
"ios:device": "./scripts/ios-device.sh",
"lint": "eslint . && npm run lint:android && npm run lint:ios",
"lint:android": "cd android && ./gradlew :app:lintDebug",
"lint:ios": "swiftlint lint --quiet || echo 'SwiftLint not installed, skipping iOS lint'",
"prepare": "husky && (cd pro && git config core.hooksPath .githooks 2>/dev/null || true)",
"sonar": "./scripts/run-sonar.sh",
"start": "react-native start",
"test": "jest --coverage --forceExit --detectOpenHandles && npm run test:android && npm run test:ios",
"test:e2e": "./scripts/run-tests.sh",
"test:e2e:all": "./scripts/run-tests.sh",
"test:e2e:single": "maestro test",
"test:android": "cd android && ./gradlew :app:testDebugUnitTest",
"test:ios": "cd ios && xcodebuild test -workspace OffgridMobile.xcworkspace -scheme OffgridMobile -destination 'platform=iOS Simulator,name=iPhone 16e' -only-testing:OffgridMobileTests | (xcpretty 2>/dev/null || cat)",
"postinstall": "patch-package",
"depcruise": "depcruise src --config .dependency-cruiser.js",
"knip": "knip"
},
"dependencies": {
"@dr.pogodin/react-native-fs": "^2.38.1",
"@kesha-antonov/react-native-background-downloader": "^4.5.6",
"@modelcontextprotocol/sdk": "^1.29.0",
"@op-engineering/op-sqlite": "^15.2.5",
"@react-native-async-storage/async-storage": "^2.2.0",
"@react-native-community/slider": "^5.1.2",
"@react-native-documents/picker": "^12.0.1",
"@react-native-documents/viewer": "^3.0.1",
"@react-native-voice/voice": "^3.2.4",
"@react-navigation/bottom-tabs": "^7.10.1",
"@react-navigation/native": "^7.1.28",
"@react-navigation/native-stack": "^7.11.0",
"@ronradtke/react-native-markdown-display": "^8.1.0",
"@testing-library/react-native": "^13.3.3",
"@types/react-native-vector-icons": "^6.4.18",
"js-sha256": "^0.11.0",
"llama.rn": "^0.12.5",
"node-html-parser": "^7.1.0",
"patch-package": "^8.0.1",
"react": "19.2.0",
"react-compiler-runtime": "^1.0.0",
"react-native": "0.83.1",
"react-native-audio-api": "^0.11.7",
"react-native-calendar-events": "^2.2.0",
"react-native-device-info": "^15.0.1",
"react-native-edge-to-edge": "^1.8.1",
"react-native-executorch": "^0.8.1",
"react-native-executorch-bare-resource-fetcher": "^0.8.0",
"react-native-gesture-handler": "^2.30.0",
"react-native-get-random-values": "^1.11.0",
"react-native-haptic-feedback": "^2.3.3",
"react-native-image-picker": "^8.2.1",
"react-native-inappbrowser-reborn": "^3.7.1",
"react-native-keyboard-controller": "^1.21.12",
"react-native-keychain": "^10.0.0",
"react-native-reanimated": "^4.2.1",
"react-native-safe-area-context": "^5.6.2",
"react-native-screens": "^4.20.0",
"react-native-spotlight-tour": "^4.0.0",
"react-native-svg": "^15.15.3",
"react-native-url-polyfill": "^3.0.0",
"react-native-vector-icons": "^10.3.0",
"react-native-worklets": "^0.7.3",
"react-native-zip-archive": "7.1.0",
"whisper.rn": "^0.5.5",
"zustand": "^5.0.10"
},
"devDependencies": {
"@babel/core": "^7.25.2",
"@babel/preset-env": "^7.25.3",
"@babel/runtime": "^7.25.0",
"@jest/globals": "^30.4.1",
"@react-native-community/cli": "20.0.0",
"@react-native-community/cli-platform-android": "20.0.0",
"@react-native-community/cli-platform-ios": "20.0.0",
"@react-native/babel-preset": "0.83.1",
"@react-native/eslint-config": "0.83.1",
"@react-native/metro-config": "0.83.1",
"@react-native/typescript-config": "0.83.1",
"@types/jest": "^29.5.13",
"@types/node": "^25.3.5",
"@types/react": "^19.2.0",
"@types/react-test-renderer": "^19.1.0",
"babel-plugin-react-compiler": "^1.0.0",
"dependency-cruiser": "^18.0.0",
"eslint": "^8.19.0",
"eslint-plugin-react-compiler": "^19.1.0-rc.2",
"eslint-plugin-sonarjs": "^1.0.4",
"husky": "^9.1.7",
"jest": "^29.6.3",
"knip": "^6.25.0",
"memfs": "^4.64.0",
"prettier": "2.8.8",
"react-dom": "19.2.0",
"react-test-renderer": "19.2.0",
"sonar-scanner": "^3.1.0",
"typescript": "^5.8.3"
},
"lint-staged": {
"*.{ts,tsx,js,jsx}": "eslint --max-warnings=999"
},
"engines": {
"node": ">=20"
},
"op-sqlite": {},
"overrides": {
"react": "19.2.0"
}
}