@mediacubeco/expo-template-fsd 1.0.0 → 1.1.0
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.
- package/.env +1 -0
- package/.secret/README.md +9 -18
- package/README.md +43 -25
- package/env.d.ts +1 -0
- package/package.json +19 -18
package/.env
CHANGED
package/.secret/README.md
CHANGED
|
@@ -1,26 +1,17 @@
|
|
|
1
|
-
#
|
|
1
|
+
# `.secret` Folder
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
This folder stores **secret and sensitive** files that must never be committed to the repository. The folder is included in `.gitignore`.
|
|
4
4
|
|
|
5
|
-
##
|
|
5
|
+
## What should be stored here
|
|
6
6
|
|
|
7
7
|
### Android
|
|
8
8
|
|
|
9
|
-
|
|
|
10
|
-
|
|
|
11
|
-
| **
|
|
12
|
-
| **android-release.keystore** | Keystore для подписи release-сборок. Используется в `android/app/build.gradle` (signingConfigs.release). Передаётся как `ANDROID_RELEASE_KEYSTORE_PATH`. |
|
|
9
|
+
| File | Purpose | Used In |
|
|
10
|
+
| ------------------------- | ------------- | -------------- |
|
|
11
|
+
| **example.file.keystore** | Some purpose. | `path/to/used` |
|
|
13
12
|
|
|
14
13
|
### iOS
|
|
15
14
|
|
|
16
|
-
|
|
|
17
|
-
|
|
|
18
|
-
| **
|
|
19
|
-
| **ios-auth-key-garna.p8** | API-ключ App Store Connect для white-label Garna. Передаётся в Fastlane как `IOS_APP_STORE_CONNECT_KEY_FILEPATH`. |
|
|
20
|
-
| **ios-auth-key-mcpay.p8** | API-ключ App Store Connect для white-label McPay. Передаётся в Fastlane как `IOS_APP_STORE_CONNECT_KEY_FILEPATH`. |
|
|
21
|
-
|
|
22
|
-
### Google / Firebase
|
|
23
|
-
|
|
24
|
-
| Файл | Назначение |
|
|
25
|
-
| --------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------- |
|
|
26
|
-
| **google-application.credentials.json** | Учётные данные сервисного аккаунта Google / Firebase. Путь задаётся через переменную окружения `GOOGLE_APPLICATION_CREDENTIALS`. |
|
|
15
|
+
| File | Purpose | Used In |
|
|
16
|
+
| ------------------- | ------------- | -------------- |
|
|
17
|
+
| **example.file.p8** | Some purpose. | `path/to/used` |
|
package/README.md
CHANGED
|
@@ -1,36 +1,54 @@
|
|
|
1
|
-
|
|
1
|
+
# Expo Template FSD
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
flowchart TD
|
|
5
|
-
Root[Stack] --> Auth{DID_AUTH};
|
|
3
|
+
This project is built on top of the `@mediacubeco/expo-template-fsd` template.
|
|
6
4
|
|
|
7
|
-
|
|
8
|
-
AuthStack --> Login[Login];
|
|
9
|
-
AuthStack --> Register[Register];
|
|
10
|
-
AuthStack --> ForgotPass[Восстановление пароля];
|
|
5
|
+
## Core `@mediacubeco` Libraries Used
|
|
11
6
|
|
|
12
|
-
|
|
7
|
+
### Runtime
|
|
13
8
|
|
|
14
|
-
|
|
9
|
+
- `@mediacubeco/base`
|
|
10
|
+
- `@mediacubeco/base-react`
|
|
11
|
+
- `@mediacubeco/base-react-native`
|
|
15
12
|
|
|
16
|
-
|
|
17
|
-
Drawer --> ProfileStack[PROFILE STACK];
|
|
18
|
-
Drawer --> Settings[Настройки];
|
|
19
|
-
Drawer --> About[О приложении];
|
|
13
|
+
### Tooling & Configs
|
|
20
14
|
|
|
21
|
-
|
|
15
|
+
- `@mediacubeco/eslint-config`
|
|
16
|
+
- `@mediacubeco/eslint-config-fsd`
|
|
17
|
+
- `@mediacubeco/eslint-config-react`
|
|
18
|
+
- `@mediacubeco/eslint-config-react-native`
|
|
19
|
+
- `@mediacubeco/prettier-config`
|
|
20
|
+
- `@mediacubeco/prettier-config-fsd`
|
|
21
|
+
- `@mediacubeco/typescript-config`
|
|
22
|
+
- `@mediacubeco/typescript-config-fsd`
|
|
23
|
+
- `@mediacubeco/typescript-config-react`
|
|
24
|
+
- `@mediacubeco/typescript-config-react-native`
|
|
22
25
|
|
|
23
|
-
|
|
24
|
-
Tabs --> Explore[Обзор];
|
|
25
|
-
Tabs --> Cart[Корзина];
|
|
26
|
+
## Quick Start
|
|
26
27
|
|
|
27
|
-
|
|
28
|
-
PostDetail -->|Комментарии| Comments[Комментарии];
|
|
28
|
+
Run the project from the `templates/expo-template-fsd` directory:
|
|
29
29
|
|
|
30
|
-
|
|
31
|
-
|
|
30
|
+
```bash
|
|
31
|
+
yarn install
|
|
32
|
+
yarn start
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
Then choose a target platform:
|
|
32
36
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
37
|
+
```bash
|
|
38
|
+
yarn android
|
|
39
|
+
yarn ios
|
|
40
|
+
yarn web
|
|
36
41
|
```
|
|
42
|
+
|
|
43
|
+
## Scripts
|
|
44
|
+
|
|
45
|
+
- `yarn prebuild` - Generates native projects with Expo prebuild.
|
|
46
|
+
- `yarn start` - Starts the Expo development server.
|
|
47
|
+
- `yarn android` - Starts the app in Android mode.
|
|
48
|
+
- `yarn android:device` - Runs the Android app on a connected physical device.
|
|
49
|
+
- `yarn ios` - Starts the app in iOS mode.
|
|
50
|
+
- `yarn ios:device` - Runs the iOS app on a connected physical device.
|
|
51
|
+
- `yarn web` - Starts the app in web mode.
|
|
52
|
+
- `yarn format` - Formats the codebase with Prettier.
|
|
53
|
+
- `yarn lint` - Runs ESLint checks.
|
|
54
|
+
- `yarn type` - Runs TypeScript type checking.
|
package/env.d.ts
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"private": false,
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.1.0",
|
|
4
4
|
"name": "@mediacubeco/expo-template-fsd",
|
|
5
5
|
"description": "Application by Mediacube developers",
|
|
6
6
|
"license": "MIT",
|
|
@@ -28,10 +28,10 @@
|
|
|
28
28
|
"expo-system-ui": "~55.0.15",
|
|
29
29
|
"expo-web-browser": "~55.0.14",
|
|
30
30
|
"i18next": "^26.0.5",
|
|
31
|
-
"react": "19.2.0",
|
|
32
|
-
"react-dom": "19.2.0",
|
|
31
|
+
"react": "^19.2.0",
|
|
32
|
+
"react-dom": "^19.2.0",
|
|
33
33
|
"react-i18next": "^17.0.3",
|
|
34
|
-
"react-native": "0.83.
|
|
34
|
+
"react-native": "^0.83.0",
|
|
35
35
|
"react-native-gesture-handler": "~2.30.0",
|
|
36
36
|
"react-native-keyboard-controller": "1.20.7",
|
|
37
37
|
"react-native-reanimated": "4.2.1",
|
|
@@ -40,26 +40,27 @@
|
|
|
40
40
|
"react-native-svg": "15.15.3",
|
|
41
41
|
"react-native-web": "^0.21.0",
|
|
42
42
|
"react-native-worklets": "0.7.2",
|
|
43
|
-
"@mediacubeco/base": "1.
|
|
44
|
-
"@mediacubeco/base-react": "1.
|
|
45
|
-
"@mediacubeco/base-react-native": "1.
|
|
43
|
+
"@mediacubeco/base": "1.1.0",
|
|
44
|
+
"@mediacubeco/base-react": "1.1.0",
|
|
45
|
+
"@mediacubeco/base-react-native": "1.1.0"
|
|
46
46
|
},
|
|
47
47
|
"devDependencies": {
|
|
48
|
-
"@types/react": "
|
|
48
|
+
"@types/react": "^19.2.0",
|
|
49
|
+
"@types/react-dom": "^19.2.0",
|
|
49
50
|
"eslint": "^9.39.1",
|
|
50
51
|
"husky": "^9.1.7",
|
|
51
52
|
"prettier": "^3.8.1",
|
|
52
53
|
"typescript": "^5.9.3",
|
|
53
|
-
"@mediacubeco/eslint-config
|
|
54
|
-
"@mediacubeco/eslint-config": "1.
|
|
55
|
-
"@mediacubeco/eslint-config-
|
|
56
|
-
"@mediacubeco/eslint-config-react": "1.
|
|
57
|
-
"@mediacubeco/
|
|
58
|
-
"@mediacubeco/prettier-config": "1.
|
|
59
|
-
"@mediacubeco/typescript-config
|
|
60
|
-
"@mediacubeco/
|
|
61
|
-
"@mediacubeco/typescript-config-react": "1.
|
|
62
|
-
"@mediacubeco/typescript-config-react
|
|
54
|
+
"@mediacubeco/eslint-config": "1.1.0",
|
|
55
|
+
"@mediacubeco/eslint-config-fsd": "1.1.0",
|
|
56
|
+
"@mediacubeco/eslint-config-react": "1.1.0",
|
|
57
|
+
"@mediacubeco/eslint-config-react-native": "1.1.0",
|
|
58
|
+
"@mediacubeco/prettier-config": "1.1.0",
|
|
59
|
+
"@mediacubeco/prettier-config-fsd": "1.1.0",
|
|
60
|
+
"@mediacubeco/typescript-config": "1.1.0",
|
|
61
|
+
"@mediacubeco/typescript-config-fsd": "1.1.0",
|
|
62
|
+
"@mediacubeco/typescript-config-react-native": "1.1.0",
|
|
63
|
+
"@mediacubeco/typescript-config-react": "1.1.0"
|
|
63
64
|
},
|
|
64
65
|
"scripts": {
|
|
65
66
|
"prebuild": "expo prebuild",
|