@digilogiclabs/create-saas-app 1.19.6 → 1.19.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. package/CHANGELOG.md +60 -0
  2. package/README.md +23 -8
  3. package/dist/.tsbuildinfo +1 -1
  4. package/dist/templates/mobile/base/template/.env.example +7 -7
  5. package/dist/templates/mobile/base/template/app.json +44 -0
  6. package/dist/templates/mobile/base/template/eas.json +19 -0
  7. package/dist/templates/mobile/base/template/package.json +7 -5
  8. package/dist/templates/mobile/ui-auth-payments/template/app.json +2 -1
  9. package/dist/templates/mobile/ui-auth-payments/template/eas.json +1 -1
  10. package/dist/templates/mobile/ui-auth-payments/template/package.json +9 -7
  11. package/dist/templates/mobile/ui-auth-payments/template/tsconfig.json +1 -1
  12. package/dist/templates/mobile/ui-auth-payments-ai/template/app.json +2 -1
  13. package/dist/templates/mobile/ui-auth-payments-ai/template/eas.json +1 -1
  14. package/dist/templates/mobile/ui-auth-payments-ai/template/package.json +9 -7
  15. package/dist/templates/mobile/ui-auth-payments-ai/template/tsconfig.json +1 -1
  16. package/dist/templates/mobile/ui-auth-payments-ai-rag/template/app.json +74 -0
  17. package/dist/templates/mobile/ui-auth-payments-ai-rag/template/babel.config.js +25 -0
  18. package/dist/templates/mobile/ui-auth-payments-ai-rag/template/eas.json +25 -0
  19. package/dist/templates/mobile/ui-auth-payments-ai-rag/template/expo-env.d.ts +3 -0
  20. package/dist/templates/mobile/ui-auth-payments-ai-rag/template/jest-setup.ts +37 -0
  21. package/dist/templates/mobile/ui-auth-payments-ai-rag/template/metro.config.js +11 -0
  22. package/dist/templates/mobile/ui-auth-payments-ai-rag/template/package.json +9 -7
  23. package/dist/templates/mobile/ui-auth-payments-ai-rag/template/tsconfig.json +32 -0
  24. package/package.json +1 -1
  25. package/src/templates/mobile/base/template/.env.example +7 -7
  26. package/src/templates/mobile/base/template/app.json +44 -0
  27. package/src/templates/mobile/base/template/eas.json +19 -0
  28. package/src/templates/mobile/base/template/package.json +7 -5
  29. package/src/templates/mobile/ui-auth-payments/template/app.json +2 -1
  30. package/src/templates/mobile/ui-auth-payments/template/eas.json +1 -1
  31. package/src/templates/mobile/ui-auth-payments/template/package.json +9 -7
  32. package/src/templates/mobile/ui-auth-payments/template/tsconfig.json +1 -1
  33. package/src/templates/mobile/ui-auth-payments-ai/template/app.json +2 -1
  34. package/src/templates/mobile/ui-auth-payments-ai/template/eas.json +1 -1
  35. package/src/templates/mobile/ui-auth-payments-ai/template/package.json +9 -7
  36. package/src/templates/mobile/ui-auth-payments-ai/template/tsconfig.json +1 -1
  37. package/src/templates/mobile/ui-auth-payments-ai-rag/template/app.json +74 -0
  38. package/src/templates/mobile/ui-auth-payments-ai-rag/template/babel.config.js +25 -0
  39. package/src/templates/mobile/ui-auth-payments-ai-rag/template/eas.json +25 -0
  40. package/src/templates/mobile/ui-auth-payments-ai-rag/template/expo-env.d.ts +3 -0
  41. package/src/templates/mobile/ui-auth-payments-ai-rag/template/jest-setup.ts +37 -0
  42. package/src/templates/mobile/ui-auth-payments-ai-rag/template/metro.config.js +11 -0
  43. package/src/templates/mobile/ui-auth-payments-ai-rag/template/package.json +9 -7
  44. package/src/templates/mobile/ui-auth-payments-ai-rag/template/tsconfig.json +32 -0
@@ -0,0 +1,19 @@
1
+ {
2
+ "cli": {
3
+ "version": ">= 5.7.0"
4
+ },
5
+ "build": {
6
+ "development": {
7
+ "developmentClient": true,
8
+ "distribution": "internal"
9
+ },
10
+ "preview": {
11
+ "distribution": "internal"
12
+ },
13
+ "production": {
14
+ "ios": {
15
+ "simulator": false
16
+ }
17
+ }
18
+ }
19
+ }
@@ -12,7 +12,7 @@
12
12
  "eject": "expo eject"
13
13
  },
14
14
  "dependencies": {
15
- "expo": "~49.0.0",
15
+ "expo": "~51.0.0",
16
16
  "react": "18.2.0",
17
17
  "react-native": "0.72.10",
18
18
  "@expo/vector-icons": "^13.0.0",
@@ -22,12 +22,14 @@
22
22
  "react-native-screens": "~3.22.0",
23
23
  "react-native-safe-area-context": "4.6.3",
24
24
  "react-native-gesture-handler": "~2.12.0",
25
- "@digilogiclabs/saas-factory-ui": "^0.26.1",
26
- "@digilogiclabs/saas-factory-auth": "^1.0.3",
27
- "@digilogiclabs/saas-factory-payments": "^1.2.3",
25
+ "@digilogiclabs/saas-factory-ui": "^0.27.1",
26
+ "@digilogiclabs/saas-factory-auth": "^1.0.5",
27
+ "@digilogiclabs/saas-factory-payments": "^1.2.6",
28
28
  "firebase": "^10.0.0",
29
29
  "@supabase/supabase-js": "^2.0.0",
30
- "@react-native-community/netinfo": "9.3.10",
30
+ "@react-native-community/netinfo": "^11.0.0",
31
+ "@stripe/stripe-react-native": "~0.28.0",
32
+ "expo-linear-gradient": "~12.3.0",
31
33
  "@react-native-async-storage/async-storage": "1.18.2",
32
34
  "expo-haptics": "~12.4.0",
33
35
  "expo-asset": "~8.10.1",
@@ -22,7 +22,8 @@
22
22
  "usesNonExemptEncryption": false
23
23
  },
24
24
  "infoPlist": {
25
- "NSCameraUsageDescription": "This app uses the camera to scan QR codes and take photos",
25
+ "NSCameraUsageDescription": "This app uses the camera to take photos",
26
+ "NSPhotoLibraryUsageDescription": "This app accesses the photo library to select images",
26
27
  "NSLocationWhenInUseUsageDescription": "This app uses location to provide location-based features",
27
28
  "NSLocationAlwaysAndWhenInUseUsageDescription": "This app uses location to provide location-based features"
28
29
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "cli": {
3
- "version": ">= 5.9.0"
3
+ "version": ">= 5.7.0"
4
4
  },
5
5
  "build": {
6
6
  "development": {
@@ -19,7 +19,7 @@
19
19
  "type-check": "tsc --noEmit"
20
20
  },
21
21
  "dependencies": {
22
- "expo": "~50.0.0",
22
+ "expo": "~51.0.0",
23
23
  "react": "18.2.0",
24
24
  "react-native": "0.73.6",
25
25
 
@@ -35,20 +35,21 @@
35
35
  "react-native-gesture-handler": "~2.14.0",
36
36
  "react-native-reanimated": "~3.6.2",
37
37
 
38
- "@digilogiclabs/saas-factory-ui": "^0.26.1",
39
- "@digilogiclabs/saas-factory-auth": "^1.0.3",
40
- "@digilogiclabs/saas-factory-payments": "^1.2.3",
38
+ "@digilogiclabs/saas-factory-ui": "^0.27.1",
39
+ "@digilogiclabs/saas-factory-auth": "^1.0.5",
40
+ "@digilogiclabs/saas-factory-payments": "^1.2.6",
41
41
 
42
42
  "@supabase/supabase-js": "^2.39.0",
43
43
  "@react-native-async-storage/async-storage": "1.21.0",
44
44
 
45
- "@stripe/stripe-react-native": "~0.35.1",
45
+ "@stripe/stripe-react-native": "0.28.0",
46
+ "@supabase/ssr": "^0.7.0",
46
47
 
47
48
  "expo-router": "~3.4.0",
48
49
  "expo-font": "~11.10.0",
49
50
  "expo-linking": "~6.2.2",
50
51
  "expo-constants": "~15.4.0",
51
- "expo-status-bar": "~1.11.1",
52
+ "expo-status-bar": "~1.6.0",
52
53
  "expo-splash-screen": "~0.26.4",
53
54
  "expo-system-ui": "~2.9.3",
54
55
  "expo-web-browser": "~12.8.2",
@@ -72,7 +73,8 @@
72
73
  "metro-react-native-babel-transformer": "~0.77.0",
73
74
  "metro-inspector-proxy": "~0.77.0",
74
75
 
75
- "@react-native-community/netinfo": "11.1.0",
76
+ "@react-native-community/netinfo": "^11.0.0",
77
+ "expo-linear-gradient": "~12.3.0",
76
78
  "react-native-mmkv": "^2.12.2",
77
79
  "react-native-svg": "14.1.0",
78
80
  "react-native-url-polyfill": "^2.0.0",
@@ -14,7 +14,7 @@
14
14
  "skipLibCheck": true,
15
15
  "allowSyntheticDefaultImports": true,
16
16
  "esModuleInterop": true,
17
- "moduleResolution": "node",
17
+ "moduleResolution": "bundler",
18
18
  "resolveJsonModule": true,
19
19
  "noEmit": true,
20
20
  "jsx": "react-jsx"
@@ -22,7 +22,8 @@
22
22
  "usesNonExemptEncryption": false
23
23
  },
24
24
  "infoPlist": {
25
- "NSCameraUsageDescription": "This app uses the camera to scan QR codes and take photos",
25
+ "NSCameraUsageDescription": "This app uses the camera to take photos",
26
+ "NSPhotoLibraryUsageDescription": "This app accesses the photo library to select images",
26
27
  "NSLocationWhenInUseUsageDescription": "This app uses location to provide location-based features",
27
28
  "NSLocationAlwaysAndWhenInUseUsageDescription": "This app uses location to provide location-based features"
28
29
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "cli": {
3
- "version": ">= 5.9.0"
3
+ "version": ">= 5.7.0"
4
4
  },
5
5
  "build": {
6
6
  "development": {
@@ -19,7 +19,7 @@
19
19
  "type-check": "tsc --noEmit"
20
20
  },
21
21
  "dependencies": {
22
- "expo": "~50.0.0",
22
+ "expo": "~51.0.0",
23
23
  "react": "18.2.0",
24
24
  "react-native": "0.73.6",
25
25
 
@@ -35,22 +35,23 @@
35
35
  "react-native-gesture-handler": "~2.14.0",
36
36
  "react-native-reanimated": "~3.6.2",
37
37
 
38
- "@digilogiclabs/saas-factory-ui": "^0.26.1",
39
- "@digilogiclabs/saas-factory-auth": "^1.0.3",
40
- "@digilogiclabs/saas-factory-payments": "^1.2.3",
38
+ "@digilogiclabs/saas-factory-ui": "^0.27.1",
39
+ "@digilogiclabs/saas-factory-auth": "^1.0.5",
40
+ "@digilogiclabs/saas-factory-payments": "^1.2.6",
41
41
  "@digilogiclabs/saas-factory-ai": "^4.0.2",
42
42
  "@digilogiclabs/saas-factory-ai-types": "^4.0.2",
43
43
 
44
44
  "@supabase/supabase-js": "^2.39.0",
45
45
  "@react-native-async-storage/async-storage": "1.21.0",
46
46
 
47
- "@stripe/stripe-react-native": "~0.35.1",
47
+ "@stripe/stripe-react-native": "0.28.0",
48
+ "@supabase/ssr": "^0.7.0",
48
49
 
49
50
  "expo-router": "~3.4.0",
50
51
  "expo-font": "~11.10.0",
51
52
  "expo-linking": "~6.2.2",
52
53
  "expo-constants": "~15.4.0",
53
- "expo-status-bar": "~1.11.1",
54
+ "expo-status-bar": "~1.6.0",
54
55
  "expo-splash-screen": "~0.26.4",
55
56
  "expo-system-ui": "~2.9.3",
56
57
  "expo-web-browser": "~12.8.2",
@@ -74,7 +75,8 @@
74
75
  "metro-react-native-babel-transformer": "~0.77.0",
75
76
  "metro-inspector-proxy": "~0.77.0",
76
77
 
77
- "@react-native-community/netinfo": "11.1.0",
78
+ "@react-native-community/netinfo": "^11.0.0",
79
+ "expo-linear-gradient": "~12.3.0",
78
80
  "react-native-mmkv": "^2.12.2",
79
81
  "react-native-svg": "14.1.0",
80
82
  "react-native-url-polyfill": "^2.0.0",
@@ -14,7 +14,7 @@
14
14
  "skipLibCheck": true,
15
15
  "allowSyntheticDefaultImports": true,
16
16
  "esModuleInterop": true,
17
- "moduleResolution": "node",
17
+ "moduleResolution": "bundler",
18
18
  "resolveJsonModule": true,
19
19
  "noEmit": true,
20
20
  "jsx": "react-jsx"
@@ -0,0 +1,74 @@
1
+ {
2
+ "expo": {
3
+ "name": "{{titleCaseName}}",
4
+ "slug": "{{packageName}}",
5
+ "version": "1.0.0",
6
+ "orientation": "portrait",
7
+ "icon": "./assets/icon.png",
8
+ "userInterfaceStyle": "automatic",
9
+ "splash": {
10
+ "image": "./assets/splash.png",
11
+ "resizeMode": "contain",
12
+ "backgroundColor": "#ffffff"
13
+ },
14
+ "assetBundlePatterns": [
15
+ "**/*"
16
+ ],
17
+ "ios": {
18
+ "supportsTablet": true,
19
+ "bundleIdentifier": "{{iosBundleId}}",
20
+ "infoPlist": {
21
+ "NSCameraUsageDescription": "This app uses the camera to take photos",
22
+ "NSPhotoLibraryUsageDescription": "This app accesses the photo library to select images",
23
+ "NSMicrophoneUsageDescription": "This app needs access to microphone for audio features.",
24
+ "NSLocationAlwaysAndWhenInUseUsageDescription": "This app uses location to provide location-based features",
25
+ "NSLocationWhenInUseUsageDescription": "This app uses location to provide location-based features"
26
+ }
27
+ },
28
+ "android": {
29
+ "adaptiveIcon": {
30
+ "foregroundImage": "./assets/adaptive-icon.png",
31
+ "backgroundColor": "#ffffff"
32
+ },
33
+ "package": "{{androidPackage}}",
34
+ "permissions": [
35
+ "CAMERA",
36
+ "RECORD_AUDIO",
37
+ "ACCESS_FINE_LOCATION",
38
+ "ACCESS_COARSE_LOCATION",
39
+ "INTERNET",
40
+ "ACCESS_NETWORK_STATE"
41
+ ]
42
+ },
43
+ "web": {
44
+ "favicon": "./assets/favicon.png",
45
+ "bundler": "metro"
46
+ },
47
+ "plugins": [
48
+ "expo-router",
49
+ [
50
+ "expo-location",
51
+ {
52
+ "locationAlwaysAndWhenInUsePermission": "Allow {{titleCaseName}} to use your location to provide location-based features."
53
+ }
54
+ ],
55
+ [
56
+ "expo-camera",
57
+ {
58
+ "cameraPermission": "Allow {{titleCaseName}} to access your camera to scan QR codes and take photos."
59
+ }
60
+ ],
61
+ [
62
+ "expo-notifications",
63
+ {
64
+ "icon": "./assets/notification-icon.png",
65
+ "color": "#ffffff"
66
+ }
67
+ ],
68
+ "expo-secure-store"
69
+ ],
70
+ "experiments": {
71
+ "typedRoutes": true
72
+ }
73
+ }
74
+ }
@@ -0,0 +1,25 @@
1
+ module.exports = function(api) {
2
+ api.cache(true);
3
+ return {
4
+ presets: ['babel-preset-expo'],
5
+ plugins: [
6
+ [
7
+ 'module-resolver',
8
+ {
9
+ root: ['./'],
10
+ alias: {
11
+ '@': './',
12
+ '@/components': './components',
13
+ '@/hooks': './hooks',
14
+ '@/utils': './utils',
15
+ '@/types': './types',
16
+ '@/constants': './constants',
17
+ '@/lib': './lib'
18
+ },
19
+ },
20
+ ],
21
+ 'expo-router/babel',
22
+ 'react-native-reanimated/plugin',
23
+ ],
24
+ };
25
+ };
@@ -0,0 +1,25 @@
1
+ {
2
+ "cli": {
3
+ "version": ">= 5.7.0"
4
+ },
5
+ "build": {
6
+ "development": {
7
+ "developmentClient": true,
8
+ "distribution": "internal"
9
+ },
10
+ "preview": {
11
+ "distribution": "internal",
12
+ "ios": {
13
+ "resourceClass": "m-medium"
14
+ }
15
+ },
16
+ "production": {
17
+ "ios": {
18
+ "resourceClass": "m-medium"
19
+ }
20
+ }
21
+ },
22
+ "submit": {
23
+ "production": {}
24
+ }
25
+ }
@@ -0,0 +1,3 @@
1
+ /// <reference types="expo/types" />
2
+
3
+ // NOTE: This file should not be edited and should be in your git ignore
@@ -0,0 +1,37 @@
1
+ import '@testing-library/jest-native/extend-expect';
2
+
3
+ // Mock react-native-reanimated
4
+ jest.mock('react-native-reanimated', () => {
5
+ const Reanimated = require('react-native-reanimated/mock');
6
+ Reanimated.default.call = () => {};
7
+ return Reanimated;
8
+ });
9
+
10
+ // Mock expo modules
11
+ jest.mock('expo-constants', () => ({
12
+ default: {
13
+ expoConfig: {
14
+ extra: {}
15
+ }
16
+ }
17
+ }));
18
+
19
+ jest.mock('expo-status-bar', () => ({
20
+ StatusBar: 'StatusBar'
21
+ }));
22
+
23
+ jest.mock('expo-router', () => ({
24
+ router: {
25
+ push: jest.fn(),
26
+ replace: jest.fn(),
27
+ back: jest.fn(),
28
+ },
29
+ Link: 'Link',
30
+ useRouter: () => ({
31
+ push: jest.fn(),
32
+ replace: jest.fn(),
33
+ back: jest.fn(),
34
+ }),
35
+ usePathname: () => '/',
36
+ useLocalSearchParams: () => ({}),
37
+ }));
@@ -0,0 +1,11 @@
1
+ const { getDefaultConfig } = require('expo/metro-config');
2
+ const { withNativeWind } = require('nativewind/metro');
3
+
4
+ const config = getDefaultConfig(__dirname);
5
+
6
+ // Configure SVG support
7
+ config.transformer.babelTransformerPath = require.resolve('react-native-svg-transformer');
8
+ config.resolver.assetExts = config.resolver.assetExts.filter((ext) => ext !== 'svg');
9
+ config.resolver.sourceExts = [...config.resolver.sourceExts, 'svg'];
10
+
11
+ module.exports = withNativeWind(config, { input: './global.css' });
@@ -22,7 +22,7 @@
22
22
  "db:types": "supabase gen types --local > types/supabase.ts"
23
23
  },
24
24
  "dependencies": {
25
- "expo": "~50.0.0",
25
+ "expo": "~51.0.0",
26
26
  "react": "18.2.0",
27
27
  "react-native": "0.73.6",
28
28
 
@@ -38,22 +38,23 @@
38
38
  "react-native-gesture-handler": "~2.14.0",
39
39
  "react-native-reanimated": "~3.6.2",
40
40
 
41
- "@digilogiclabs/saas-factory-ui": "^0.26.1",
42
- "@digilogiclabs/saas-factory-auth": "^1.0.3",
43
- "@digilogiclabs/saas-factory-payments": "^1.2.3",
41
+ "@digilogiclabs/saas-factory-ui": "^0.27.1",
42
+ "@digilogiclabs/saas-factory-auth": "^1.0.5",
43
+ "@digilogiclabs/saas-factory-payments": "^1.2.6",
44
44
  "@digilogiclabs/saas-factory-ai": "^4.0.2",
45
45
  "@digilogiclabs/saas-factory-ai-types": "^4.0.2",
46
46
 
47
47
  "@supabase/supabase-js": "^2.39.0",
48
48
  "@react-native-async-storage/async-storage": "1.21.0",
49
49
 
50
- "@stripe/stripe-react-native": "~0.35.1",
50
+ "@stripe/stripe-react-native": "0.28.0",
51
+ "@supabase/ssr": "^0.7.0",
51
52
 
52
53
  "expo-router": "~3.4.0",
53
54
  "expo-font": "~11.10.0",
54
55
  "expo-linking": "~6.2.2",
55
56
  "expo-constants": "~15.4.0",
56
- "expo-status-bar": "~1.11.1",
57
+ "expo-status-bar": "~1.6.0",
57
58
  "expo-splash-screen": "~0.26.4",
58
59
  "expo-system-ui": "~2.9.3",
59
60
  "expo-web-browser": "~12.8.2",
@@ -79,7 +80,8 @@
79
80
  "expo-speech": "~11.7.0",
80
81
  "expo-av": "~13.10.4",
81
82
 
82
- "@react-native-community/netinfo": "11.1.0",
83
+ "@react-native-community/netinfo": "^11.0.0",
84
+ "expo-linear-gradient": "~12.3.0",
83
85
  "react-native-mmkv": "^2.12.2",
84
86
  "react-native-svg": "14.1.0",
85
87
  "react-native-url-polyfill": "^2.0.0",
@@ -0,0 +1,32 @@
1
+ {
2
+ "extends": "expo/tsconfig.base",
3
+ "compilerOptions": {
4
+ "strict": true,
5
+ "baseUrl": "./",
6
+ "paths": {
7
+ "@/*": ["./*"],
8
+ "@/components/*": ["./components/*"],
9
+ "@/hooks/*": ["./hooks/*"],
10
+ "@/utils/*": ["./utils/*"],
11
+ "@/types/*": ["./types/*"],
12
+ "@/constants/*": ["./constants/*"],
13
+ "@/lib/*": ["./lib/*"]
14
+ },
15
+ "skipLibCheck": true,
16
+ "allowSyntheticDefaultImports": true,
17
+ "esModuleInterop": true,
18
+ "moduleResolution": "bundler",
19
+ "resolveJsonModule": true,
20
+ "noEmit": true,
21
+ "jsx": "react-jsx"
22
+ },
23
+ "include": [
24
+ "**/*.ts",
25
+ "**/*.tsx",
26
+ ".expo/types/**/*.ts",
27
+ "expo-env.d.ts"
28
+ ],
29
+ "exclude": [
30
+ "node_modules"
31
+ ]
32
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@digilogiclabs/create-saas-app",
3
- "version": "1.19.6",
3
+ "version": "1.19.8",
4
4
  "description": "Create modern SaaS applications with Digi Logic Labs packages",
5
5
  "main": "dist/cli/index.js",
6
6
  "bin": {
@@ -1,15 +1,15 @@
1
1
  # Auth Configuration
2
- NEXT_PUBLIC_AUTH_PROVIDER=supabase|firebase
2
+ EXPO_PUBLIC_AUTH_PROVIDER=supabase|firebase
3
3
 
4
4
  # Supabase
5
- NEXT_PUBLIC_SUPABASE_URL=
6
- NEXT_PUBLIC_SUPABASE_ANON_KEY=
5
+ EXPO_PUBLIC_SUPABASE_URL=
6
+ EXPO_PUBLIC_SUPABASE_ANON_KEY=
7
7
 
8
8
  # Firebase
9
- NEXT_PUBLIC_FIREBASE_API_KEY=
10
- NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN=
11
- NEXT_PUBLIC_FIREBASE_PROJECT_ID=
9
+ EXPO_PUBLIC_FIREBASE_API_KEY=
10
+ EXPO_PUBLIC_FIREBASE_AUTH_DOMAIN=
11
+ EXPO_PUBLIC_FIREBASE_PROJECT_ID=
12
12
 
13
13
  # Payments
14
- NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY=
14
+ EXPO_PUBLIC_STRIPE_PUBLISHABLE_KEY=
15
15
  STRIPE_SECRET_KEY=
@@ -0,0 +1,44 @@
1
+ {
2
+ "expo": {
3
+ "name": "{{titleCaseName}}",
4
+ "slug": "{{kebabCaseName}}",
5
+ "version": "1.0.0",
6
+ "orientation": "portrait",
7
+ "icon": "./assets/icon.png",
8
+ "userInterfaceStyle": "automatic",
9
+ "splash": {
10
+ "image": "./assets/splash.png",
11
+ "resizeMode": "contain",
12
+ "backgroundColor": "#ffffff"
13
+ },
14
+ "assetBundlePatterns": [
15
+ "**/*"
16
+ ],
17
+ "ios": {
18
+ "supportsTablet": true,
19
+ "bundleIdentifier": "com.{{packageName}}.app",
20
+ "infoPlist": {
21
+ "NSCameraUsageDescription": "This app uses the camera to take photos",
22
+ "NSPhotoLibraryUsageDescription": "This app accesses the photo library to select images",
23
+ "NSLocationWhenInUseUsageDescription": "This app uses location to provide location-based features"
24
+ }
25
+ },
26
+ "android": {
27
+ "adaptiveIcon": {
28
+ "foregroundImage": "./assets/adaptive-icon.png",
29
+ "backgroundColor": "#ffffff"
30
+ },
31
+ "package": "com.{{packageName}}.app"
32
+ },
33
+ "web": {
34
+ "favicon": "./assets/favicon.png",
35
+ "bundler": "metro"
36
+ },
37
+ "plugins": [
38
+ "expo-router"
39
+ ],
40
+ "experiments": {
41
+ "typedRoutes": true
42
+ }
43
+ }
44
+ }
@@ -0,0 +1,19 @@
1
+ {
2
+ "cli": {
3
+ "version": ">= 5.7.0"
4
+ },
5
+ "build": {
6
+ "development": {
7
+ "developmentClient": true,
8
+ "distribution": "internal"
9
+ },
10
+ "preview": {
11
+ "distribution": "internal"
12
+ },
13
+ "production": {
14
+ "ios": {
15
+ "simulator": false
16
+ }
17
+ }
18
+ }
19
+ }
@@ -12,7 +12,7 @@
12
12
  "eject": "expo eject"
13
13
  },
14
14
  "dependencies": {
15
- "expo": "~49.0.0",
15
+ "expo": "~51.0.0",
16
16
  "react": "18.2.0",
17
17
  "react-native": "0.72.10",
18
18
  "@expo/vector-icons": "^13.0.0",
@@ -22,12 +22,14 @@
22
22
  "react-native-screens": "~3.22.0",
23
23
  "react-native-safe-area-context": "4.6.3",
24
24
  "react-native-gesture-handler": "~2.12.0",
25
- "@digilogiclabs/saas-factory-ui": "^0.26.1",
26
- "@digilogiclabs/saas-factory-auth": "^1.0.3",
27
- "@digilogiclabs/saas-factory-payments": "^1.2.3",
25
+ "@digilogiclabs/saas-factory-ui": "^0.27.1",
26
+ "@digilogiclabs/saas-factory-auth": "^1.0.5",
27
+ "@digilogiclabs/saas-factory-payments": "^1.2.6",
28
28
  "firebase": "^10.0.0",
29
29
  "@supabase/supabase-js": "^2.0.0",
30
- "@react-native-community/netinfo": "9.3.10",
30
+ "@react-native-community/netinfo": "^11.0.0",
31
+ "@stripe/stripe-react-native": "~0.28.0",
32
+ "expo-linear-gradient": "~12.3.0",
31
33
  "@react-native-async-storage/async-storage": "1.18.2",
32
34
  "expo-haptics": "~12.4.0",
33
35
  "expo-asset": "~8.10.1",
@@ -22,7 +22,8 @@
22
22
  "usesNonExemptEncryption": false
23
23
  },
24
24
  "infoPlist": {
25
- "NSCameraUsageDescription": "This app uses the camera to scan QR codes and take photos",
25
+ "NSCameraUsageDescription": "This app uses the camera to take photos",
26
+ "NSPhotoLibraryUsageDescription": "This app accesses the photo library to select images",
26
27
  "NSLocationWhenInUseUsageDescription": "This app uses location to provide location-based features",
27
28
  "NSLocationAlwaysAndWhenInUseUsageDescription": "This app uses location to provide location-based features"
28
29
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "cli": {
3
- "version": ">= 5.9.0"
3
+ "version": ">= 5.7.0"
4
4
  },
5
5
  "build": {
6
6
  "development": {