@digilogiclabs/create-saas-app 1.19.5 → 1.19.7

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 (32) hide show
  1. package/CHANGELOG.md +29 -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/package.json +6 -5
  6. package/dist/templates/mobile/ui-auth-payments/template/package.json +9 -7
  7. package/dist/templates/mobile/ui-auth-payments/template/tsconfig.json +1 -1
  8. package/dist/templates/mobile/ui-auth-payments-ai/template/package.json +9 -7
  9. package/dist/templates/mobile/ui-auth-payments-ai/template/tsconfig.json +1 -1
  10. package/dist/templates/mobile/ui-auth-payments-ai-rag/template/app.json +73 -0
  11. package/dist/templates/mobile/ui-auth-payments-ai-rag/template/babel.config.js +25 -0
  12. package/dist/templates/mobile/ui-auth-payments-ai-rag/template/eas.json +25 -0
  13. package/dist/templates/mobile/ui-auth-payments-ai-rag/template/expo-env.d.ts +3 -0
  14. package/dist/templates/mobile/ui-auth-payments-ai-rag/template/jest-setup.ts +37 -0
  15. package/dist/templates/mobile/ui-auth-payments-ai-rag/template/metro.config.js +11 -0
  16. package/dist/templates/mobile/ui-auth-payments-ai-rag/template/package.json +9 -7
  17. package/dist/templates/mobile/ui-auth-payments-ai-rag/template/tsconfig.json +32 -0
  18. package/package.json +1 -1
  19. package/src/templates/mobile/base/template/.env.example +7 -7
  20. package/src/templates/mobile/base/template/package.json +6 -5
  21. package/src/templates/mobile/ui-auth-payments/template/package.json +9 -7
  22. package/src/templates/mobile/ui-auth-payments/template/tsconfig.json +1 -1
  23. package/src/templates/mobile/ui-auth-payments-ai/template/package.json +9 -7
  24. package/src/templates/mobile/ui-auth-payments-ai/template/tsconfig.json +1 -1
  25. package/src/templates/mobile/ui-auth-payments-ai-rag/template/app.json +73 -0
  26. package/src/templates/mobile/ui-auth-payments-ai-rag/template/babel.config.js +25 -0
  27. package/src/templates/mobile/ui-auth-payments-ai-rag/template/eas.json +25 -0
  28. package/src/templates/mobile/ui-auth-payments-ai-rag/template/expo-env.d.ts +3 -0
  29. package/src/templates/mobile/ui-auth-payments-ai-rag/template/jest-setup.ts +37 -0
  30. package/src/templates/mobile/ui-auth-payments-ai-rag/template/metro.config.js +11 -0
  31. package/src/templates/mobile/ui-auth-payments-ai-rag/template/package.json +9 -7
  32. package/src/templates/mobile/ui-auth-payments-ai-rag/template/tsconfig.json +32 -0
@@ -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.0",
39
+ "@digilogiclabs/saas-factory-auth": "^1.0.4",
40
+ "@digilogiclabs/saas-factory-payments": "^1.2.5",
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",
@@ -65,11 +66,12 @@
65
66
  "expo-linear-gradient": "~12.7.2",
66
67
  "expo-blur": "~12.9.2",
67
68
  "expo-asset": "~9.0.2",
68
- "metro": "^0.80.0",
69
+ "metro": "~0.77.0",
69
70
  "@expo/metro-runtime": "~3.1.3",
70
71
  "@react-native-community/cli-server-api": "^12.0.0",
71
72
  "@react-native/assets-registry": "^0.73.1",
72
- "metro-react-native-babel-transformer": "^0.80.0",
73
+ "metro-react-native-babel-transformer": "~0.77.0",
74
+ "metro-inspector-proxy": "~0.77.0",
73
75
 
74
76
  "@react-native-community/netinfo": "11.1.0",
75
77
  "react-native-mmkv": "^2.12.2",
@@ -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"
@@ -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.0",
39
+ "@digilogiclabs/saas-factory-auth": "^1.0.4",
40
+ "@digilogiclabs/saas-factory-payments": "^1.2.5",
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",
@@ -67,11 +68,12 @@
67
68
  "expo-linear-gradient": "~12.7.2",
68
69
  "expo-blur": "~12.9.2",
69
70
  "expo-asset": "~9.0.2",
70
- "metro": "^0.80.0",
71
+ "metro": "~0.77.0",
71
72
  "@expo/metro-runtime": "~3.1.3",
72
73
  "@react-native-community/cli-server-api": "^12.0.0",
73
74
  "@react-native/assets-registry": "^0.73.1",
74
- "metro-react-native-babel-transformer": "^0.80.0",
75
+ "metro-react-native-babel-transformer": "~0.77.0",
76
+ "metro-inspector-proxy": "~0.77.0",
75
77
 
76
78
  "@react-native-community/netinfo": "11.1.0",
77
79
  "react-native-mmkv": "^2.12.2",
@@ -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,73 @@
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 needs access to camera to scan QR codes and take photos.",
22
+ "NSMicrophoneUsageDescription": "This app needs access to microphone for audio features.",
23
+ "NSLocationAlwaysAndWhenInUseUsageDescription": "This app needs access to location for location-based features.",
24
+ "NSLocationWhenInUseUsageDescription": "This app needs access to location for location-based features."
25
+ }
26
+ },
27
+ "android": {
28
+ "adaptiveIcon": {
29
+ "foregroundImage": "./assets/adaptive-icon.png",
30
+ "backgroundColor": "#ffffff"
31
+ },
32
+ "package": "{{androidPackage}}",
33
+ "permissions": [
34
+ "CAMERA",
35
+ "RECORD_AUDIO",
36
+ "ACCESS_FINE_LOCATION",
37
+ "ACCESS_COARSE_LOCATION",
38
+ "INTERNET",
39
+ "ACCESS_NETWORK_STATE"
40
+ ]
41
+ },
42
+ "web": {
43
+ "favicon": "./assets/favicon.png",
44
+ "bundler": "metro"
45
+ },
46
+ "plugins": [
47
+ "expo-router",
48
+ [
49
+ "expo-location",
50
+ {
51
+ "locationAlwaysAndWhenInUsePermission": "Allow {{titleCaseName}} to use your location to provide location-based features."
52
+ }
53
+ ],
54
+ [
55
+ "expo-camera",
56
+ {
57
+ "cameraPermission": "Allow {{titleCaseName}} to access your camera to scan QR codes and take photos."
58
+ }
59
+ ],
60
+ [
61
+ "expo-notifications",
62
+ {
63
+ "icon": "./assets/notification-icon.png",
64
+ "color": "#ffffff"
65
+ }
66
+ ],
67
+ "expo-secure-store"
68
+ ],
69
+ "experiments": {
70
+ "typedRoutes": true
71
+ }
72
+ }
73
+ }
@@ -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.9.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' });
@@ -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.0",
42
+ "@digilogiclabs/saas-factory-auth": "^1.0.4",
43
+ "@digilogiclabs/saas-factory-payments": "^1.2.5",
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",
@@ -70,11 +71,12 @@
70
71
  "expo-linear-gradient": "~12.7.2",
71
72
  "expo-blur": "~12.9.2",
72
73
  "expo-asset": "~9.0.2",
73
- "metro": "^0.80.0",
74
+ "metro": "~0.77.0",
74
75
  "@expo/metro-runtime": "~3.1.3",
75
76
  "@react-native-community/cli-server-api": "^12.0.0",
76
77
  "@react-native/assets-registry": "^0.73.1",
77
- "metro-react-native-babel-transformer": "^0.80.0",
78
+ "metro-react-native-babel-transformer": "~0.77.0",
79
+ "metro-inspector-proxy": "~0.77.0",
78
80
  "expo-speech": "~11.7.0",
79
81
  "expo-av": "~13.10.4",
80
82
 
@@ -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.5",
3
+ "version": "1.19.7",
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=
@@ -22,19 +22,20 @@
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.0",
26
+ "@digilogiclabs/saas-factory-auth": "^1.0.4",
27
+ "@digilogiclabs/saas-factory-payments": "^1.2.5",
28
28
  "firebase": "^10.0.0",
29
29
  "@supabase/supabase-js": "^2.0.0",
30
30
  "@react-native-community/netinfo": "9.3.10",
31
31
  "@react-native-async-storage/async-storage": "1.18.2",
32
32
  "expo-haptics": "~12.4.0",
33
33
  "expo-asset": "~8.10.1",
34
- "metro": "^0.80.0",
34
+ "metro": "~0.76.0",
35
35
  "@expo/metro-runtime": "~3.1.0",
36
36
  "@react-native-community/cli-server-api": "^12.0.0",
37
- "metro-react-native-babel-transformer": "^0.80.0"
37
+ "metro-react-native-babel-transformer": "~0.76.0",
38
+ "metro-inspector-proxy": "~0.76.0"
38
39
  },
39
40
  "devDependencies": {
40
41
  "@babel/core": "^7.20.0",
@@ -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.0",
39
+ "@digilogiclabs/saas-factory-auth": "^1.0.4",
40
+ "@digilogiclabs/saas-factory-payments": "^1.2.5",
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",
@@ -65,11 +66,12 @@
65
66
  "expo-linear-gradient": "~12.7.2",
66
67
  "expo-blur": "~12.9.2",
67
68
  "expo-asset": "~9.0.2",
68
- "metro": "^0.80.0",
69
+ "metro": "~0.77.0",
69
70
  "@expo/metro-runtime": "~3.1.3",
70
71
  "@react-native-community/cli-server-api": "^12.0.0",
71
72
  "@react-native/assets-registry": "^0.73.1",
72
- "metro-react-native-babel-transformer": "^0.80.0",
73
+ "metro-react-native-babel-transformer": "~0.77.0",
74
+ "metro-inspector-proxy": "~0.77.0",
73
75
 
74
76
  "@react-native-community/netinfo": "11.1.0",
75
77
  "react-native-mmkv": "^2.12.2",
@@ -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"
@@ -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.0",
39
+ "@digilogiclabs/saas-factory-auth": "^1.0.4",
40
+ "@digilogiclabs/saas-factory-payments": "^1.2.5",
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",
@@ -67,11 +68,12 @@
67
68
  "expo-linear-gradient": "~12.7.2",
68
69
  "expo-blur": "~12.9.2",
69
70
  "expo-asset": "~9.0.2",
70
- "metro": "^0.80.0",
71
+ "metro": "~0.77.0",
71
72
  "@expo/metro-runtime": "~3.1.3",
72
73
  "@react-native-community/cli-server-api": "^12.0.0",
73
74
  "@react-native/assets-registry": "^0.73.1",
74
- "metro-react-native-babel-transformer": "^0.80.0",
75
+ "metro-react-native-babel-transformer": "~0.77.0",
76
+ "metro-inspector-proxy": "~0.77.0",
75
77
 
76
78
  "@react-native-community/netinfo": "11.1.0",
77
79
  "react-native-mmkv": "^2.12.2",
@@ -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,73 @@
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 needs access to camera to scan QR codes and take photos.",
22
+ "NSMicrophoneUsageDescription": "This app needs access to microphone for audio features.",
23
+ "NSLocationAlwaysAndWhenInUseUsageDescription": "This app needs access to location for location-based features.",
24
+ "NSLocationWhenInUseUsageDescription": "This app needs access to location for location-based features."
25
+ }
26
+ },
27
+ "android": {
28
+ "adaptiveIcon": {
29
+ "foregroundImage": "./assets/adaptive-icon.png",
30
+ "backgroundColor": "#ffffff"
31
+ },
32
+ "package": "{{androidPackage}}",
33
+ "permissions": [
34
+ "CAMERA",
35
+ "RECORD_AUDIO",
36
+ "ACCESS_FINE_LOCATION",
37
+ "ACCESS_COARSE_LOCATION",
38
+ "INTERNET",
39
+ "ACCESS_NETWORK_STATE"
40
+ ]
41
+ },
42
+ "web": {
43
+ "favicon": "./assets/favicon.png",
44
+ "bundler": "metro"
45
+ },
46
+ "plugins": [
47
+ "expo-router",
48
+ [
49
+ "expo-location",
50
+ {
51
+ "locationAlwaysAndWhenInUsePermission": "Allow {{titleCaseName}} to use your location to provide location-based features."
52
+ }
53
+ ],
54
+ [
55
+ "expo-camera",
56
+ {
57
+ "cameraPermission": "Allow {{titleCaseName}} to access your camera to scan QR codes and take photos."
58
+ }
59
+ ],
60
+ [
61
+ "expo-notifications",
62
+ {
63
+ "icon": "./assets/notification-icon.png",
64
+ "color": "#ffffff"
65
+ }
66
+ ],
67
+ "expo-secure-store"
68
+ ],
69
+ "experiments": {
70
+ "typedRoutes": true
71
+ }
72
+ }
73
+ }
@@ -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.9.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
+ }