@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 CHANGED
@@ -1 +1,2 @@
1
1
  EXPO_PUBLIC_API_URL=-
2
+ EXPO_PUBLIC_API_TOKEN=-
package/.secret/README.md CHANGED
@@ -1,26 +1,17 @@
1
- # Папка .secret
1
+ # `.secret` Folder
2
2
 
3
- Здесь хранятся **секретные и чувствительные** файлы, которые не должны попадать в репозиторий. Папка добавлена в `.gitignore`.
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
- | **android-debug.keystore** | Keystore для подписи debug-сборок. Используется в `android/app/build.gradle` (signingConfigs.debug). Передаётся как `ANDROID_DEBUG_KEYSTORE_PATH`. |
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
- | **ios-auth-key-centroflex.p8** | API-ключ App Store Connect для white-label Centroflex. Передаётся в Fastlane как `IOS_APP_STORE_CONNECT_KEY_FILEPATH`. |
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
- ## App structure
1
+ # Expo Template FSD
2
2
 
3
- ```mermaid
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
- Auth[asdf] -->|Нет| AuthStack[Auth Stack];
8
- AuthStack --> Login[Login];
9
- AuthStack --> Register[Register];
10
- AuthStack --> ForgotPass[Восстановление пароля];
5
+ ## Core `@mediacubeco` Libraries Used
11
6
 
12
- Auth -->|Да| MainApp[Главное приложение];
7
+ ### Runtime
13
8
 
14
- MainApp --> Drawer[DRAWER NAVIGATOR];
9
+ - `@mediacubeco/base`
10
+ - `@mediacubeco/base-react`
11
+ - `@mediacubeco/base-react-native`
15
12
 
16
- Drawer --> HomeStack[HOME STACK];
17
- Drawer --> ProfileStack[PROFILE STACK];
18
- Drawer --> Settings[Настройки];
19
- Drawer --> About[О приложении];
13
+ ### Tooling & Configs
20
14
 
21
- HomeStack --> Tabs[BOTTOM TAB NAVIGATOR];
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
- Tabs --> Feed[Лента новостей];
24
- Tabs --> Explore[Обзор];
25
- Tabs --> Cart[Корзина];
26
+ ## Quick Start
26
27
 
27
- Feed -->|Выбрать пост| PostDetail[Детали поста];
28
- PostDetail -->|Комментарии| Comments[Комментарии];
28
+ Run the project from the `templates/expo-template-fsd` directory:
29
29
 
30
- Cart --> Checkout[Оформление заказа];
31
- Checkout -->|Успех| OrderSuccess[Заказ оформлен];
30
+ ```bash
31
+ yarn install
32
+ yarn start
33
+ ```
34
+
35
+ Then choose a target platform:
32
36
 
33
- ProfileStack --> Profile[Профиль пользователя];
34
- Profile --> EditProfile[Редактировать профиль];
35
- Profile --> OrderHistory[История заказов];
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
@@ -2,6 +2,7 @@ declare global {
2
2
  namespace NodeJS {
3
3
  interface ProcessEnv {
4
4
  EXPO_PUBLIC_API_URL: string
5
+ EXPO_PUBLIC_API_TOKEN: string
5
6
  }
6
7
  }
7
8
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "private": false,
3
- "version": "1.0.0",
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.4",
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.0.0",
44
- "@mediacubeco/base-react": "1.0.0",
45
- "@mediacubeco/base-react-native": "1.0.0"
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": "~19.2.2",
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-react-native": "1.0.0",
54
- "@mediacubeco/eslint-config": "1.0.0",
55
- "@mediacubeco/eslint-config-fsd": "1.0.0",
56
- "@mediacubeco/eslint-config-react": "1.0.0",
57
- "@mediacubeco/typescript-config": "1.0.0",
58
- "@mediacubeco/prettier-config": "1.0.0",
59
- "@mediacubeco/typescript-config-fsd": "1.0.0",
60
- "@mediacubeco/prettier-config-fsd": "1.0.0",
61
- "@mediacubeco/typescript-config-react": "1.0.0",
62
- "@mediacubeco/typescript-config-react-native": "1.0.0"
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",