nx-react-native-cli 2.3.1 → 2.4.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.
Files changed (173) hide show
  1. package/README.md +2 -2
  2. package/lib/index.cjs +32 -32
  3. package/package.json +4 -3
  4. package/templates/19.7.0/apps/mobile/.ignorefile +147 -0
  5. package/templates/21.2.2/.eslintrc.json +288 -0
  6. package/templates/21.2.2/.prettierignore +9 -0
  7. package/templates/21.2.2/.prettierrc +13 -0
  8. package/templates/21.2.2/.ruby-version +1 -0
  9. package/templates/21.2.2/apps/mobile/.eslintrc.json +38 -0
  10. package/templates/21.2.2/apps/mobile/.ignorefile +147 -0
  11. package/templates/21.2.2/apps/mobile/Gemfile +20 -0
  12. package/templates/21.2.2/apps/mobile/android/app/build.gradle +159 -0
  13. package/templates/21.2.2/apps/mobile/android/app/src/dev/res/values/strings.xml +3 -0
  14. package/templates/21.2.2/apps/mobile/android/app/src/main/java/com/mobile/MainActivity.kt +28 -0
  15. package/templates/21.2.2/apps/mobile/android/app/src/main/java/com/mobile/MainApplication.kt +44 -0
  16. package/templates/21.2.2/apps/mobile/android/app/src/production/res/values/strings.xml +3 -0
  17. package/templates/21.2.2/apps/mobile/android/settings.gradle +6 -0
  18. package/templates/21.2.2/apps/mobile/ios/Mobile/AppDelegate.mm +53 -0
  19. package/templates/21.2.2/apps/mobile/jest.config.ts +12 -0
  20. package/templates/21.2.2/apps/mobile/metro.config.js +42 -0
  21. package/templates/21.2.2/apps/mobile/project.json +107 -0
  22. package/templates/21.2.2/apps/mobile/src/main.tsx +5 -0
  23. package/templates/21.2.2/apps/mobile/test-setup.ts +1 -0
  24. package/templates/21.2.2/apps/mobile/tsconfig.app.json +34 -0
  25. package/templates/shared/apps/mobile/.env.template +3 -0
  26. /package/templates/{.eslintrc.json → 19.7.0/.eslintrc.json} +0 -0
  27. /package/templates/{.prettierignore → 19.7.0/.prettierignore} +0 -0
  28. /package/templates/{.prettierrc → 19.7.0/.prettierrc} +0 -0
  29. /package/templates/{.ruby-version → 19.7.0/.ruby-version} +0 -0
  30. /package/templates/{apps → 19.7.0/apps}/mobile/.eslintrc.json +0 -0
  31. /package/templates/{apps → 19.7.0/apps}/mobile/Gemfile +0 -0
  32. /package/templates/{apps → 19.7.0/apps}/mobile/android/app/build.gradle +0 -0
  33. /package/templates/{apps → 19.7.0/apps}/mobile/android/app/src/dev/res/values/strings.xml +0 -0
  34. /package/templates/{apps → 19.7.0/apps}/mobile/android/app/src/main/java/com/appsmobile/MainActivity.kt +0 -0
  35. /package/templates/{apps → 19.7.0/apps}/mobile/android/app/src/main/java/com/appsmobile/MainApplication.kt +0 -0
  36. /package/templates/{apps → 19.7.0/apps}/mobile/android/app/src/production/res/values/strings.xml +0 -0
  37. /package/templates/{apps → 19.7.0/apps}/mobile/android/settings.gradle +0 -0
  38. /package/templates/{apps → 19.7.0/apps}/mobile/ios/AppsMobile/AppDelegate.mm +0 -0
  39. /package/templates/{apps → 19.7.0/apps}/mobile/jest.config.ts +0 -0
  40. /package/templates/{apps → 19.7.0/apps}/mobile/metro.config.js +0 -0
  41. /package/templates/{apps → 19.7.0/apps}/mobile/project.json +0 -0
  42. /package/templates/{apps → 19.7.0/apps}/mobile/src/main.tsx +0 -0
  43. /package/templates/{apps → 19.7.0/apps}/mobile/test-setup.ts +0 -0
  44. /package/templates/{apps → 19.7.0/apps}/mobile/tsconfig.app.json +0 -0
  45. /package/templates/{apps → 19.7.0/apps}/mobile/tsconfig.spec.json +0 -0
  46. /package/templates/{.husky → shared/.husky}/pre-commit +0 -0
  47. /package/templates/{.husky → shared/.husky}/pre-push +0 -0
  48. /package/templates/{.ignorefile → shared/.ignorefile} +0 -0
  49. /package/templates/{.nvmrc → shared/.nvmrc} +0 -0
  50. /package/templates/{.vscode → shared/.vscode}/extensions.json +0 -0
  51. /package/templates/{.vscode → shared/.vscode}/settings.json +0 -0
  52. /package/templates/{apps/mobile/.env.template → shared/apps/mobile/.env} +0 -0
  53. /package/templates/{apps → shared/apps}/mobile/android/app/proguard-rules.pro +0 -0
  54. /package/templates/{apps → shared/apps}/mobile/android/app/src/main/res/drawable/rn_edit_text_material.xml +0 -0
  55. /package/templates/{apps → shared/apps}/mobile/android/build.gradle +0 -0
  56. /package/templates/{apps → shared/apps}/mobile/android/gradle/wrapper/gradle-wrapper.jar +0 -0
  57. /package/templates/{apps → shared/apps}/mobile/android/gradle/wrapper/gradle-wrapper.properties +0 -0
  58. /package/templates/{apps → shared/apps}/mobile/android/gradle.properties +0 -0
  59. /package/templates/{apps → shared/apps}/mobile/android/gradlew +0 -0
  60. /package/templates/{apps → shared/apps}/mobile/android/gradlew.bat +0 -0
  61. /package/templates/{apps → shared/apps}/mobile/assets/fonts/InterBlack.ttf +0 -0
  62. /package/templates/{apps → shared/apps}/mobile/assets/fonts/InterBlackItalic.ttf +0 -0
  63. /package/templates/{apps → shared/apps}/mobile/assets/fonts/InterBold.ttf +0 -0
  64. /package/templates/{apps → shared/apps}/mobile/assets/fonts/InterBoldItalic.ttf +0 -0
  65. /package/templates/{apps → shared/apps}/mobile/assets/fonts/InterExtraBold.ttf +0 -0
  66. /package/templates/{apps → shared/apps}/mobile/assets/fonts/InterExtraBoldItalic.ttf +0 -0
  67. /package/templates/{apps → shared/apps}/mobile/assets/fonts/InterExtraLight.ttf +0 -0
  68. /package/templates/{apps → shared/apps}/mobile/assets/fonts/InterExtraLightItalic.ttf +0 -0
  69. /package/templates/{apps → shared/apps}/mobile/assets/fonts/InterItalic.ttf +0 -0
  70. /package/templates/{apps → shared/apps}/mobile/assets/fonts/InterLight.ttf +0 -0
  71. /package/templates/{apps → shared/apps}/mobile/assets/fonts/InterLightItalic.ttf +0 -0
  72. /package/templates/{apps → shared/apps}/mobile/assets/fonts/InterMedium.ttf +0 -0
  73. /package/templates/{apps → shared/apps}/mobile/assets/fonts/InterMediumItalic.ttf +0 -0
  74. /package/templates/{apps → shared/apps}/mobile/assets/fonts/InterRegular.ttf +0 -0
  75. /package/templates/{apps → shared/apps}/mobile/assets/fonts/InterSemiBold.ttf +0 -0
  76. /package/templates/{apps → shared/apps}/mobile/assets/fonts/InterSemiBoldItalic.ttf +0 -0
  77. /package/templates/{apps → shared/apps}/mobile/assets/fonts/InterThin.ttf +0 -0
  78. /package/templates/{apps → shared/apps}/mobile/assets/fonts/InterThinItalic.ttf +0 -0
  79. /package/templates/{apps → shared/apps}/mobile/babel.config.json +0 -0
  80. /package/templates/{apps → shared/apps}/mobile/export-node-binary.sh +0 -0
  81. /package/templates/{apps → shared/apps}/mobile/fastlane/.env.template +0 -0
  82. /package/templates/{apps → shared/apps}/mobile/fastlane/Fastfile +0 -0
  83. /package/templates/{apps → shared/apps}/mobile/fastlane/Matchfile +0 -0
  84. /package/templates/{apps → shared/apps}/mobile/fastlane/Pluginfile +0 -0
  85. /package/templates/{apps → shared/apps}/mobile/fastlane/README.md +0 -0
  86. /package/templates/{apps → shared/apps}/mobile/package.json +0 -0
  87. /package/templates/{apps → shared/apps}/mobile/react-native.config.js +0 -0
  88. /package/templates/{apps → shared/apps}/mobile/src/app/index.tsx +0 -0
  89. /package/templates/{apps → shared/apps}/mobile/src/assets/images/.gitkeep +0 -0
  90. /package/templates/{apps → shared/apps}/mobile/src/components/atoms/BottomSheet/bottom-sheet.component.tsx +0 -0
  91. /package/templates/{apps → shared/apps}/mobile/src/components/atoms/BottomSheet/index.ts +0 -0
  92. /package/templates/{apps → shared/apps}/mobile/src/components/atoms/Button/button.component.tsx +0 -0
  93. /package/templates/{apps → shared/apps}/mobile/src/components/atoms/Button/index.ts +0 -0
  94. /package/templates/{apps → shared/apps}/mobile/src/components/atoms/Divider/divider-component.tsx +0 -0
  95. /package/templates/{apps → shared/apps}/mobile/src/components/atoms/Divider/index.ts +0 -0
  96. /package/templates/{apps → shared/apps}/mobile/src/components/atoms/ExcludedEdges/excluded-edges.component.tsx +0 -0
  97. /package/templates/{apps → shared/apps}/mobile/src/components/atoms/ExcludedEdges/index.ts +0 -0
  98. /package/templates/{apps → shared/apps}/mobile/src/components/atoms/InputLayout/index.ts +0 -0
  99. /package/templates/{apps → shared/apps}/mobile/src/components/atoms/InputLayout/input-layout.component.tsx +0 -0
  100. /package/templates/{apps → shared/apps}/mobile/src/components/atoms/KeyboardAccessory/index.ts +0 -0
  101. /package/templates/{apps → shared/apps}/mobile/src/components/atoms/KeyboardAccessory/keyboard-accessory.component.tsx +0 -0
  102. /package/templates/{apps → shared/apps}/mobile/src/components/atoms/KeyboardAwareScrollView/index.ts +0 -0
  103. /package/templates/{apps → shared/apps}/mobile/src/components/atoms/KeyboardAwareScrollView/keyboard-aware-scroll-view.component.tsx +0 -0
  104. /package/templates/{apps → shared/apps}/mobile/src/components/atoms/ListLoadingItem/index.ts +0 -0
  105. /package/templates/{apps → shared/apps}/mobile/src/components/atoms/ListLoadingItem/list-loading-item.component.tsx +0 -0
  106. /package/templates/{apps → shared/apps}/mobile/src/components/atoms/Modal/index.ts +0 -0
  107. /package/templates/{apps → shared/apps}/mobile/src/components/atoms/Modal/modal.component.tsx +0 -0
  108. /package/templates/{apps → shared/apps}/mobile/src/components/atoms/ScreenLoader/index.ts +0 -0
  109. /package/templates/{apps → shared/apps}/mobile/src/components/atoms/ScreenLoader/screen-loader.component.tsx +0 -0
  110. /package/templates/{apps → shared/apps}/mobile/src/components/atoms/Skeleton/index.ts +0 -0
  111. /package/templates/{apps → shared/apps}/mobile/src/components/atoms/Skeleton/skeleton.component.tsx +0 -0
  112. /package/templates/{apps → shared/apps}/mobile/src/components/atoms/TextInput/bottom-sheet-text-input.component.tsx +0 -0
  113. /package/templates/{apps → shared/apps}/mobile/src/components/atoms/TextInput/constants.ts +0 -0
  114. /package/templates/{apps → shared/apps}/mobile/src/components/atoms/TextInput/index.ts +0 -0
  115. /package/templates/{apps → shared/apps}/mobile/src/components/atoms/TextInput/text-input-area.component.tsx +0 -0
  116. /package/templates/{apps → shared/apps}/mobile/src/components/atoms/TextInput/text-input.component.tsx +0 -0
  117. /package/templates/{apps → shared/apps}/mobile/src/components/atoms/TextInput/util.ts +0 -0
  118. /package/templates/{apps → shared/apps}/mobile/src/components/atoms/Typography/index.ts +0 -0
  119. /package/templates/{apps → shared/apps}/mobile/src/components/atoms/Typography/typography.component.tsx +0 -0
  120. /package/templates/{apps → shared/apps}/mobile/src/components/atoms/index.ts +0 -0
  121. /package/templates/{apps → shared/apps}/mobile/src/components/index.ts +0 -0
  122. /package/templates/{apps → shared/apps}/mobile/src/components/molecules/BackButton/back-button.component.tsx +0 -0
  123. /package/templates/{apps → shared/apps}/mobile/src/components/molecules/BackButton/index.ts +0 -0
  124. /package/templates/{apps → shared/apps}/mobile/src/components/molecules/BottomActionsContainer/BottomActionsContainer.component.tsx +0 -0
  125. /package/templates/{apps → shared/apps}/mobile/src/components/molecules/BottomActionsContainer/index.ts +0 -0
  126. /package/templates/{apps → shared/apps}/mobile/src/components/molecules/ScreenContainer/index.ts +0 -0
  127. /package/templates/{apps → shared/apps}/mobile/src/components/molecules/ScreenContainer/screen-container.component.tsx +0 -0
  128. /package/templates/{apps → shared/apps}/mobile/src/components/molecules/ScreenHeader/index.ts +0 -0
  129. /package/templates/{apps → shared/apps}/mobile/src/components/molecules/ScreenHeader/screen-header.component.tsx +0 -0
  130. /package/templates/{apps → shared/apps}/mobile/src/components/molecules/StorageManager/StorageManager.component.tsx +0 -0
  131. /package/templates/{apps → shared/apps}/mobile/src/components/molecules/StorageManager/index.ts +0 -0
  132. /package/templates/{apps → shared/apps}/mobile/src/components/molecules/index.ts +0 -0
  133. /package/templates/{apps → shared/apps}/mobile/src/components/organisms/index.ts +0 -0
  134. /package/templates/{apps → shared/apps}/mobile/src/config/index.ts +0 -0
  135. /package/templates/{apps → shared/apps}/mobile/src/dimens/index.ts +0 -0
  136. /package/templates/{apps → shared/apps}/mobile/src/env.d.ts +0 -0
  137. /package/templates/{apps → shared/apps}/mobile/src/hooks/index.ts +0 -0
  138. /package/templates/{apps → shared/apps}/mobile/src/hooks/useAppState.hook.tsx +0 -0
  139. /package/templates/{apps → shared/apps}/mobile/src/hooks/useApplicationDimensions.hook.tsx +0 -0
  140. /package/templates/{apps → shared/apps}/mobile/src/hooks/useDebounce.hook.ts +0 -0
  141. /package/templates/{apps → shared/apps}/mobile/src/hooks/useGetLayoutHeight.hook.tsx +0 -0
  142. /package/templates/{apps → shared/apps}/mobile/src/hooks/useGetLayoutWidth.hook.tsx +0 -0
  143. /package/templates/{apps → shared/apps}/mobile/src/hooks/useNavigation.hook.tsx +0 -0
  144. /package/templates/{apps → shared/apps}/mobile/src/hooks/useShakeAnimation.hook.tsx +0 -0
  145. /package/templates/{apps → shared/apps}/mobile/src/hooks/useTextInputChangeFocus.hook.tsx +0 -0
  146. /package/templates/{apps → shared/apps}/mobile/src/hooks/useThrottle.hook.ts +0 -0
  147. /package/templates/{apps → shared/apps}/mobile/src/hooks/useToggleDarkMode.hook.tsx +0 -0
  148. /package/templates/{apps → shared/apps}/mobile/src/icons/arrow-left.svg +0 -0
  149. /package/templates/{apps → shared/apps}/mobile/src/icons/cross.svg +0 -0
  150. /package/templates/{apps → shared/apps}/mobile/src/icons/gear.svg +0 -0
  151. /package/templates/{apps → shared/apps}/mobile/src/icons/index.ts +0 -0
  152. /package/templates/{apps → shared/apps}/mobile/src/icons/keyboard-hide.svg +0 -0
  153. /package/templates/{apps → shared/apps}/mobile/src/routes/index.tsx +0 -0
  154. /package/templates/{apps → shared/apps}/mobile/src/routes/privateRoutes.tsx +0 -0
  155. /package/templates/{apps → shared/apps}/mobile/src/routes/publicRoutes.tsx +0 -0
  156. /package/templates/{apps → shared/apps}/mobile/src/routes/routes.enum.ts +0 -0
  157. /package/templates/{apps → shared/apps}/mobile/src/routes/screen-options.ts +0 -0
  158. /package/templates/{apps → shared/apps}/mobile/src/routes/screens.enum.ts +0 -0
  159. /package/templates/{apps → shared/apps}/mobile/src/screens/HomeScreen/home.screen.tsx +0 -0
  160. /package/templates/{apps → shared/apps}/mobile/src/screens/LandingScreen/landing.screen.tsx +0 -0
  161. /package/templates/{apps → shared/apps}/mobile/src/stores/index.ts +0 -0
  162. /package/templates/{apps → shared/apps}/mobile/src/stores/local-storage.store.ts +0 -0
  163. /package/templates/{apps → shared/apps}/mobile/src/stores/mmkvStorage.ts +0 -0
  164. /package/templates/{apps → shared/apps}/mobile/src/tailwind/index.ts +0 -0
  165. /package/templates/{apps → shared/apps}/mobile/src/types/component.type.ts +0 -0
  166. /package/templates/{apps → shared/apps}/mobile/src/types/index.ts +0 -0
  167. /package/templates/{apps → shared/apps}/mobile/src/utils/axios.util.ts +0 -0
  168. /package/templates/{apps → shared/apps}/mobile/src/utils/index.ts +0 -0
  169. /package/templates/{apps → shared/apps}/mobile/src/utils/log.util.ts +0 -0
  170. /package/templates/{apps → shared/apps}/mobile/src/utils/route.util.ts +0 -0
  171. /package/templates/{apps → shared/apps}/mobile/tailwind.config.js +0 -0
  172. /package/templates/{check-env.sh → shared/check-env.sh} +0 -0
  173. /package/templates/{clean-generated-outputs.sh → shared/clean-generated-outputs.sh} +0 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nx-react-native-cli",
3
- "version": "2.3.1",
3
+ "version": "2.4.0",
4
4
  "description": "A react native starter (with NX) cli script",
5
5
  "type": "module",
6
6
  "files": [
@@ -24,9 +24,10 @@
24
24
  "start": "./src/index.js",
25
25
  "build": "rm -rf lib && esbuild src/index.js --format=cjs --platform=node --bundle --outfile=lib/index.cjs --minify --analyze",
26
26
  "prepublishOnly": "npm run build",
27
- "example": "rm -rf example && npm run relink && npx nx-react-native-cli create example com.jeemercado.example",
28
- "example-fresh": "rm -rf example && npm run relink && npx nx-react-native-cli create example-fresh --fresh",
27
+ "example": "rm -rf example && npm run relink && npx nx-react-native-cli create example com.jeemercado.example --nx-version 21.2.2",
28
+ "example-fresh": "rm -rf example-fresh && npm run relink && npx nx-react-native-cli create example-fresh com.jeemercado.example --fresh --nx-version 21.2.2",
29
29
  "generate-diff": "./generate-diff.sh",
30
+ "compare-versions": "./compare-versions.sh",
30
31
  "show-diff": "npx diff2html -s side --sc --hc --cs light -i file -o preview -F diff.html -- diff.diff && open diff.html",
31
32
  "relink": "npm unlink nx-react-native-cli && npm run prepublishOnly && npm link",
32
33
  "test": "echo \"Error: no test specified\" && exit 1"
@@ -0,0 +1,147 @@
1
+ # See http://help.github.com/ignore-files/ for more about ignoring files.
2
+
3
+ # compiled output
4
+ dist
5
+ tmp
6
+ /out-tsc
7
+
8
+ # dependencies
9
+ node_modules
10
+
11
+ # IDEs and editors
12
+ /.idea
13
+ .project
14
+ .classpath
15
+ .c9/
16
+ *.launch
17
+ .settings/
18
+ *.sublime-workspace
19
+
20
+ # IDE - VSCode
21
+ .vscode/*
22
+ !.vscode/settings.json
23
+ !.vscode/tasks.json
24
+ !.vscode/launch.json
25
+ !.vscode/extensions.json
26
+
27
+ # misc
28
+ /.sass-cache
29
+ /connect.lock
30
+ /coverage
31
+ /libpeerconnection.log
32
+ npm-debug.log
33
+ yarn-error.log
34
+ testem.log
35
+ /typings
36
+
37
+ # System Files
38
+ .DS_Store
39
+ Thumbs.db
40
+ .nx
41
+ creds.json
42
+
43
+ # Next.js
44
+ .next
45
+ out
46
+ *.env
47
+ !.env.template
48
+
49
+ # React Native
50
+
51
+ # OSX
52
+ #
53
+ .DS_Store
54
+
55
+ # Xcode
56
+ #
57
+ build/
58
+ *.pbxuser
59
+ !default.pbxuser
60
+ *.mode1v3
61
+ !default.mode1v3
62
+ *.mode2v3
63
+ !default.mode2v3
64
+ *.perspectivev3
65
+ !default.perspectivev3
66
+ xcuserdata
67
+ *.xccheckout
68
+ *.moved-aside
69
+ DerivedData
70
+ *.hmap
71
+ *.ipa
72
+ *.xcuserstate
73
+
74
+ # Android/IntelliJ
75
+ #
76
+ build/
77
+ .idea
78
+ .gradle
79
+ local.properties
80
+ *.iml
81
+ *.hprof
82
+ .cxx/
83
+ *.keystore
84
+ !debug.keystore
85
+ .kotlin/
86
+
87
+ # node.js
88
+ #
89
+ node_modules/
90
+ npm-debug.log
91
+ yarn-error.log
92
+
93
+ # BUCK
94
+ buck-out/
95
+ \.buckd/
96
+
97
+ # fastlane
98
+ #
99
+ # It is recommended to not store the screenshots in the git repo. Instead, use fastlane to re-generate the
100
+ # screenshots whenever they are needed.
101
+ # For more information about the recommended setup visit:
102
+ # https://docs.fastlane.tools/best-practices/source-control/
103
+
104
+ **/fastlane/report.xml
105
+ **/fastlane/Preview.html
106
+ **/fastlane/screenshots
107
+ **/fastlane/test_output
108
+ *.cer
109
+ *.mobileprovision
110
+
111
+
112
+ # Bundle artifact
113
+ *.jsbundle
114
+
115
+ # Ruby / CocoaPods
116
+ **/ios/Pods/
117
+ **/vendor/bundle/
118
+
119
+ # iOS build logs
120
+ ios-build.log
121
+
122
+ # Temporary files created by Metro to check the health of the file watcher
123
+ .metro-health-check*
124
+
125
+ # testing
126
+ coverage
127
+ /coverage
128
+ apps/mobile-e2e/artifacts
129
+
130
+ # Expo
131
+ .expo
132
+ dist/
133
+ web-build/
134
+
135
+ # Misc
136
+ .env
137
+ .env.*
138
+ !.env.template
139
+ .nx
140
+ *.keystore
141
+ .env
142
+ *.env.*
143
+ !.env.template
144
+ !debug.keystore
145
+ !dev.keystore
146
+ !staging.keystore
147
+ !production.keystore
@@ -0,0 +1,288 @@
1
+ {
2
+ "root": true,
3
+ "ignorePatterns": ["**/*"],
4
+ "plugins": ["@nx"],
5
+ "settings": {
6
+ "import/parsers": {
7
+ "@typescript-eslint/parser": [".ts", ".tsx"] // @typescript-eslint/parser
8
+ },
9
+ "import/resolver": {
10
+ "typescript": {
11
+ "project": ["tsconfig.base.json"]
12
+ },
13
+ "node": {
14
+ "project": ["tsconfig.base.json"]
15
+ }
16
+ }
17
+ },
18
+ "overrides": [
19
+ {
20
+ "parserOptions": {
21
+ "project": "tsconfig.base.json"
22
+ },
23
+ "files": ["*.ts", "*.tsx", "*.js", "*.jsx"],
24
+ "extends": [
25
+ "airbnb-typescript", // eslint-config-airbnb-typescript
26
+ "eslint:recommended", // eslint-plugin-react
27
+ "plugin:react/recommended", // eslint-plugin-react
28
+ "plugin:react-hooks/recommended", // eslint-plugin-react-hooks
29
+ "plugin:react-perf/recommended", // eslint-plugin-react-perf
30
+ "plugin:sonarjs/recommended", // eslint-plugin-sonarjs
31
+ "plugin:@tanstack/eslint-plugin-query/recommended", // @tanstack/eslint-plugin-query
32
+ "plugin:tailwindcss/recommended", // eslint-plugin-tailwindcss
33
+ "prettier" // eslint-config-prettier
34
+ ],
35
+ "plugins": [
36
+ "@typescript-eslint", // @typescript-eslint/eslint-plugin
37
+ "react", // eslint-plugin-react
38
+ "react-perf", // eslint-plugin-react-perf
39
+ "react-hooks", // eslint-plugin-react-hooks
40
+ "@tanstack/query", // @tanstack/eslint-plugin-query
41
+ "sonarjs", // eslint-plugin-sonarjs
42
+ "import", // eslint-plugin-import
43
+ "sort-destructure-keys", // eslint-plugin-sort-destructure-keys
44
+ "sort-keys-fix", // eslint-plugin-sort-keys-fix
45
+ "prettier" // eslint-plugin-prettier
46
+ ],
47
+ "settings": {
48
+ "import/resolver": {
49
+ "node": {
50
+ "extensions": [".js", ".jsx", ".ts", ".tsx"]
51
+ },
52
+ "typescript": {}
53
+ },
54
+ "react": {
55
+ "version": "detect"
56
+ }
57
+ },
58
+ "rules": {
59
+ "@nx/enforce-module-boundaries": [
60
+ "error",
61
+ {
62
+ "enforceBuildableLibDependency": true,
63
+ "allow": [],
64
+ "depConstraints": [
65
+ {
66
+ "sourceTag": "*",
67
+ "onlyDependOnLibsWithTags": ["*"]
68
+ }
69
+ ]
70
+ }
71
+ ],
72
+ "@tanstack/query/exhaustive-deps": "error",
73
+ "array-bracket-spacing": ["error", "never"],
74
+ "arrow-body-style": ["error", "as-needed"],
75
+ "arrow-parens": ["error", "always"],
76
+ "brace-style": "error",
77
+ "comma-dangle": [
78
+ "error",
79
+ {
80
+ "arrays": "always-multiline",
81
+ "exports": "always-multiline",
82
+ "functions": "only-multiline",
83
+ "imports": "always-multiline",
84
+ "objects": "always-multiline"
85
+ }
86
+ ],
87
+ "comma-spacing": [
88
+ "error",
89
+ {
90
+ "after": true,
91
+ "before": false
92
+ }
93
+ ],
94
+ "curly": "error",
95
+ "eol-last": ["error", "always"],
96
+ "eqeqeq": ["error", "always"],
97
+ "func-names": "error",
98
+ "import/no-extraneous-dependencies": "off",
99
+ "import/no-unresolved": "error",
100
+ "sort-destructure-keys/sort-destructure-keys": [
101
+ "error",
102
+ {
103
+ "caseSensitive": false
104
+ }
105
+ ],
106
+ "sort-keys-fix/sort-keys-fix": "warn",
107
+ "import/order": [
108
+ "error",
109
+ {
110
+ "alphabetize": {
111
+ "order": "asc"
112
+ },
113
+ "groups": ["builtin", "external", "internal", "parent", "sibling", "index"],
114
+ "newlines-between": "always"
115
+ }
116
+ ],
117
+ "jsx-quotes": ["error", "prefer-double"],
118
+ "key-spacing": [
119
+ "error",
120
+ {
121
+ "mode": "strict"
122
+ }
123
+ ],
124
+ "max-depth": ["error", 3],
125
+ "max-len": [
126
+ "error",
127
+ {
128
+ "code": 125,
129
+ "ignoreComments": true,
130
+ "ignoreStrings": true,
131
+ "ignoreTemplateLiterals": true
132
+ }
133
+ ],
134
+ "max-params": ["error", 3],
135
+ "no-alert": "error",
136
+ "no-console": "warn",
137
+ "no-duplicate-imports": "error",
138
+ "no-empty-function": "warn",
139
+ "no-extra-boolean-cast": "warn",
140
+ "sonarjs/no-use-of-empty-return-value": "off",
141
+ "no-extra-semi": "warn",
142
+ "no-magic-numbers": [
143
+ "error",
144
+ {
145
+ "ignore": [-1, 0, 1, 2, 30, 60, 100, 1000],
146
+ "ignoreArrayIndexes": true
147
+ }
148
+ ],
149
+ "no-multi-spaces": "warn",
150
+ "no-multiple-empty-lines": [
151
+ "error",
152
+ {
153
+ "max": 1,
154
+ "maxEOF": 0
155
+ }
156
+ ],
157
+ "no-plusplus": "warn",
158
+ "no-trailing-spaces": "warn",
159
+ "no-unreachable": "error",
160
+ "no-unused-expressions": "warn",
161
+ "no-unused-vars": "off",
162
+ "no-use-before-define": "off",
163
+ "no-var": "error",
164
+ "padding-line-between-statements": [
165
+ "error",
166
+ {
167
+ "blankLine": "always",
168
+ "next": "return",
169
+ "prev": "*"
170
+ }
171
+ ],
172
+ "prefer-arrow-callback": "warn",
173
+ "prefer-const": "error",
174
+ "prettier/prettier": [
175
+ "error",
176
+ {
177
+ "endOfLine": "auto"
178
+ }
179
+ ],
180
+ "quotes": ["error", "single", { "avoidEscape": true }],
181
+ "react-hooks/exhaustive-deps": "warn",
182
+ "react-hooks/rules-of-hooks": "error",
183
+ "react-perf/jsx-no-new-array-as-prop": "off",
184
+ "react-perf/jsx-no-new-function-as-prop": "off",
185
+ "react-perf/jsx-no-new-object-as-prop": "off",
186
+ "react/display-name": "off",
187
+ "react/jsx-filename-extension": [
188
+ "warn",
189
+ {
190
+ "extensions": [".tsx", ".ts"]
191
+ }
192
+ ],
193
+ "react/jsx-handler-names": [
194
+ "error",
195
+ {
196
+ "eventHandlerPrefix": "handle",
197
+ "eventHandlerPropPrefix": "on"
198
+ }
199
+ ],
200
+ "react/jsx-sort-props": [
201
+ "error",
202
+ {
203
+ "callbacksLast": true,
204
+ "ignoreCase": true,
205
+ "reservedFirst": true,
206
+ "shorthandFirst": true
207
+ }
208
+ ],
209
+ "react/prefer-stateless-function": "error",
210
+ "react/prop-types": "off",
211
+ "react/react-in-jsx-scope": "off",
212
+ "react/sort-comp": [
213
+ "error",
214
+ {
215
+ "order": [
216
+ "type-annotations",
217
+ "static-methods",
218
+ "lifecycle",
219
+ "/^handle.+$/",
220
+ "everything-else",
221
+ "render"
222
+ ]
223
+ }
224
+ ],
225
+ "semi": ["error", "always"],
226
+ "semi-spacing": [
227
+ "error",
228
+ {
229
+ "after": true,
230
+ "before": false
231
+ }
232
+ ],
233
+ "sonarjs/cognitive-complexity": ["error", 50],
234
+ "sort-keys": [
235
+ "error",
236
+ "asc",
237
+ {
238
+ "caseSensitive": true,
239
+ "minKeys": 2,
240
+ "natural": false
241
+ }
242
+ ],
243
+ "space-before-blocks": "error",
244
+ "space-before-function-paren": [
245
+ "error",
246
+ {
247
+ "anonymous": "always",
248
+ "asyncArrow": "always",
249
+ "named": "never"
250
+ }
251
+ ],
252
+ "space-in-parens": ["error", "never"],
253
+ "tailwindcss/classnames-order": "off"
254
+ }
255
+ },
256
+ {
257
+ "files": ["*.ts", "*.tsx"],
258
+ "extends": ["plugin:@nx/typescript"],
259
+ "rules": {
260
+ "@typescript-eslint/consistent-type-definitions": "off",
261
+ "@typescript-eslint/no-inferrable-types": "off",
262
+ "@typescript-eslint/no-explicit-any": "off",
263
+ "@typescript-eslint/no-use-before-define": "off",
264
+ "@typescript-eslint/no-unused-vars": [
265
+ "error",
266
+ {
267
+ "args": "none"
268
+ }
269
+ ],
270
+ "@typescript-eslint/ban-types": [
271
+ "error",
272
+ {
273
+ "types": {
274
+ "{}": false,
275
+ "Function": false
276
+ },
277
+ "extendDefaults": true
278
+ }
279
+ ]
280
+ }
281
+ },
282
+ {
283
+ "files": ["*.js", "*.jsx"],
284
+ "extends": ["plugin:@nx/javascript"],
285
+ "rules": {}
286
+ }
287
+ ]
288
+ }
@@ -0,0 +1,9 @@
1
+ # Add files here to ignore them from prettier formatting
2
+ tmp
3
+ node_modules
4
+ /dist
5
+ /coverage
6
+ /test
7
+ /build
8
+ /.nx/cache
9
+ /.nx/workspace-data
@@ -0,0 +1,13 @@
1
+ {
2
+ "arrowParens": "always",
3
+ "endOfLine": "auto",
4
+ "plugins": ["prettier-plugin-tailwindcss"],
5
+ "printWidth": 100,
6
+ "semi": true,
7
+ "singleQuote": true,
8
+ "tabWidth": 2,
9
+ "tailwindAttributes": ["className", "style"],
10
+ "tailwindFunctions": ["clsx", "tw", "twMerge"],
11
+ "trailingComma": "all",
12
+ "useTabs": false
13
+ }
@@ -0,0 +1 @@
1
+ 3.1.2
@@ -0,0 +1,38 @@
1
+ {
2
+ "extends": ["plugin:@nx/react", "../../.eslintrc.json"],
3
+ "ignorePatterns": [
4
+ "!**/*",
5
+ ".cache",
6
+ ".next/**/*",
7
+ "*.d.ts",
8
+ "*.spec.ts",
9
+ "babel.config.js",
10
+ "jest.config.ts",
11
+ "metro.config.js",
12
+ "node_modules",
13
+ "project.json",
14
+ "react-native.config.js",
15
+ "tailwind.config.js",
16
+ "test-setup.ts",
17
+ "tsconfig.json",
18
+ "tsconfig.spec.json",
19
+ "vite.config.ts"
20
+ ],
21
+ "overrides": [
22
+ {
23
+ "files": ["*.ts", "*.tsx", "*.js", "*.jsx"],
24
+ "rules": {
25
+ "import/no-unresolved": "off",
26
+ "import/extensions": "off"
27
+ }
28
+ },
29
+ {
30
+ "files": ["*.ts", "*.tsx"],
31
+ "rules": {}
32
+ },
33
+ {
34
+ "files": ["*.js", "*.jsx"],
35
+ "rules": {}
36
+ }
37
+ ]
38
+ }
@@ -0,0 +1,147 @@
1
+ # See http://help.github.com/ignore-files/ for more about ignoring files.
2
+
3
+ # compiled output
4
+ dist
5
+ tmp
6
+ /out-tsc
7
+
8
+ # dependencies
9
+ node_modules
10
+
11
+ # IDEs and editors
12
+ /.idea
13
+ .project
14
+ .classpath
15
+ .c9/
16
+ *.launch
17
+ .settings/
18
+ *.sublime-workspace
19
+
20
+ # IDE - VSCode
21
+ .vscode/*
22
+ !.vscode/settings.json
23
+ !.vscode/tasks.json
24
+ !.vscode/launch.json
25
+ !.vscode/extensions.json
26
+
27
+ # misc
28
+ /.sass-cache
29
+ /connect.lock
30
+ /coverage
31
+ /libpeerconnection.log
32
+ npm-debug.log
33
+ yarn-error.log
34
+ testem.log
35
+ /typings
36
+
37
+ # System Files
38
+ .DS_Store
39
+ Thumbs.db
40
+ .nx
41
+ creds.json
42
+
43
+ # Next.js
44
+ .next
45
+ out
46
+ *.env
47
+ !.env.template
48
+
49
+ # React Native
50
+
51
+ # OSX
52
+ #
53
+ .DS_Store
54
+
55
+ # Xcode
56
+ #
57
+ build/
58
+ *.pbxuser
59
+ !default.pbxuser
60
+ *.mode1v3
61
+ !default.mode1v3
62
+ *.mode2v3
63
+ !default.mode2v3
64
+ *.perspectivev3
65
+ !default.perspectivev3
66
+ xcuserdata
67
+ *.xccheckout
68
+ *.moved-aside
69
+ DerivedData
70
+ *.hmap
71
+ *.ipa
72
+ *.xcuserstate
73
+
74
+ # Android/IntelliJ
75
+ #
76
+ build/
77
+ .idea
78
+ .gradle
79
+ local.properties
80
+ *.iml
81
+ *.hprof
82
+ .cxx/
83
+ *.keystore
84
+ !debug.keystore
85
+ .kotlin/
86
+
87
+ # node.js
88
+ #
89
+ node_modules/
90
+ npm-debug.log
91
+ yarn-error.log
92
+
93
+ # BUCK
94
+ buck-out/
95
+ \.buckd/
96
+
97
+ # fastlane
98
+ #
99
+ # It is recommended to not store the screenshots in the git repo. Instead, use fastlane to re-generate the
100
+ # screenshots whenever they are needed.
101
+ # For more information about the recommended setup visit:
102
+ # https://docs.fastlane.tools/best-practices/source-control/
103
+
104
+ **/fastlane/report.xml
105
+ **/fastlane/Preview.html
106
+ **/fastlane/screenshots
107
+ **/fastlane/test_output
108
+ *.cer
109
+ *.mobileprovision
110
+
111
+
112
+ # Bundle artifact
113
+ *.jsbundle
114
+
115
+ # Ruby / CocoaPods
116
+ **/ios/Pods/
117
+ **/vendor/bundle/
118
+
119
+ # iOS build logs
120
+ ios-build.log
121
+
122
+ # Temporary files created by Metro to check the health of the file watcher
123
+ .metro-health-check*
124
+
125
+ # testing
126
+ coverage
127
+ /coverage
128
+ apps/mobile-e2e/artifacts
129
+
130
+ # Expo
131
+ .expo
132
+ dist/
133
+ web-build/
134
+
135
+ # Misc
136
+ .env
137
+ .env.*
138
+ !.env.template
139
+ .nx
140
+ *.keystore
141
+ .env
142
+ *.env.*
143
+ !.env.template
144
+ !debug.keystore
145
+ !dev.keystore
146
+ !staging.keystore
147
+ !production.keystore
@@ -0,0 +1,20 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # You may use http://rbenv.org/ or https://rvm.io/ to install and use this version
4
+ ruby ">= 2.6.10"
5
+ gem "fastlane", "= 2.228.0"
6
+
7
+ # Exclude problematic versions of cocoapods and activesupport that causes build failures.
8
+ gem 'cocoapods', '>= 1.13', '!= 1.15.0', '!= 1.15.1'
9
+ gem 'activesupport', '>= 6.1.7.5', '!= 7.1.0'
10
+ gem 'xcodeproj', '< 1.26.0'
11
+ gem 'concurrent-ruby', '< 1.3.4'
12
+
13
+ # Ruby 3.4.0 has removed some libraries from the standard library.
14
+ gem 'bigdecimal'
15
+ gem 'logger'
16
+ gem 'benchmark'
17
+ gem 'mutex_m'
18
+
19
+ plugins_path = File.join(File.dirname(__FILE__), './fastlane', 'Pluginfile')
20
+ eval_gemfile(plugins_path) if File.exist?(plugins_path)