Skip to content

Commit b1074da

Browse files
authored
Merge pull request #347 from obytes/upgrade-deps
Upgrade Dependencies and Development Dependencies
2 parents 7b01a73 + 37942f8 commit b1074da

21 files changed

+2744
-2582
lines changed

.eslintrc.js

+43-62
Original file line numberDiff line numberDiff line change
@@ -1,79 +1,60 @@
11
const path = require('path');
22

33
module.exports = {
4-
// Configuration for JavaScript files
5-
extends: ['@react-native-community', 'plugin:prettier/recommended'],
6-
plugins: ['unicorn'],
4+
extends: ['expo','plugin:tailwindcss/recommended', 'prettier'],
5+
plugins: [
6+
'unicorn',
7+
'@typescript-eslint',
8+
'unused-imports',
9+
'tailwindcss',
10+
'simple-import-sort',
11+
],
12+
parserOptions: {
13+
project: './tsconfig.json',
14+
},
715
rules: {
8-
'prettier/prettier': [
16+
'unicorn/filename-case': [
917
'error',
1018
{
11-
singleQuote: true,
12-
endOfLine: 'auto',
19+
case: 'kebabCase',
20+
ignore: ['/android', '/ios'],
1321
},
1422
],
15-
'unicorn/filename-case': [
23+
'max-params': ['error', 3], // Limit the number of parameters in a function to use object instead
24+
'max-lines-per-function': ['error', 70],
25+
'react/display-name': 'off',
26+
'react/no-inline-styles': 'off',
27+
'react/destructuring-assignment': 'off', // Vscode doesn't support automatically destructuring, it's a pain to add a new variable
28+
'react/require-default-props': 'off', // Allow non-defined react props as undefined
29+
'@typescript-eslint/comma-dangle': 'off', // Avoid conflict rule between Eslint and Prettier
30+
'@typescript-eslint/consistent-type-imports': ['warn', {
31+
prefer: 'type-imports',
32+
fixStyle: 'inline-type-imports',
33+
disallowTypeAnnotations: true,
34+
},
35+
], // Ensure `import type` is used when it's necessary
36+
'import/prefer-default-export': 'off', // Named export is easier to refactor automatically
37+
'tailwindcss/classnames-order': [
38+
'warn',
39+
{
40+
officialSorting: true,
41+
},
42+
], // Follow the same ordering as the official plugin `prettier-plugin-tailwindcss`
43+
'simple-import-sort/imports': 'error', // Import configuration for `eslint-plugin-simple-import-sort`
44+
'simple-import-sort/exports': 'error', // Export configuration for `eslint-plugin-simple-import-sort`
45+
'@typescript-eslint/no-unused-vars': 'off',
46+
'tailwindcss/no-custom-classname': 'off',
47+
'unused-imports/no-unused-imports': 'error',
48+
'unused-imports/no-unused-vars': [
1649
'error',
1750
{
18-
case: 'kebabCase',
19-
ignore: ['/android', '/ios'],
51+
argsIgnorePattern: '^_',
52+
varsIgnorePattern: '^_',
53+
caughtErrorsIgnorePattern: '^_',
2054
},
2155
],
2256
},
2357
overrides: [
24-
// Configuration for TypeScript files
25-
{
26-
files: ['**/*.ts', '**/*.tsx', '**/*.js'],
27-
plugins: [
28-
'@typescript-eslint',
29-
'unused-imports',
30-
'tailwindcss',
31-
'simple-import-sort',
32-
],
33-
extends: [
34-
'plugin:tailwindcss/recommended',
35-
'@react-native-community',
36-
'plugin:prettier/recommended',
37-
],
38-
parserOptions: {
39-
project: './tsconfig.json',
40-
},
41-
rules: {
42-
'prettier/prettier': [
43-
'error',
44-
{
45-
singleQuote: true,
46-
endOfLine: 'auto',
47-
},
48-
],
49-
'max-params': ['error', 3], // Limit the number of parameters in a function to use object instead
50-
'max-lines-per-function': ['error', 70],
51-
'react/destructuring-assignment': 'off', // Vscode doesn't support automatically destructuring, it's a pain to add a new variable
52-
'react/require-default-props': 'off', // Allow non-defined react props as undefined
53-
'@typescript-eslint/comma-dangle': 'off', // Avoid conflict rule between Eslint and Prettier
54-
'@typescript-eslint/consistent-type-imports': 'error', // Ensure `import type` is used when it's necessary
55-
'import/prefer-default-export': 'off', // Named export is easier to refactor automatically
56-
'tailwindcss/classnames-order': [
57-
'warn',
58-
{
59-
officialSorting: true,
60-
},
61-
], // Follow the same ordering as the official plugin `prettier-plugin-tailwindcss`
62-
'simple-import-sort/imports': 'error', // Import configuration for `eslint-plugin-simple-import-sort`
63-
'simple-import-sort/exports': 'error', // Export configuration for `eslint-plugin-simple-import-sort`
64-
'@typescript-eslint/no-unused-vars': 'off',
65-
'tailwindcss/no-custom-classname': 'off',
66-
'unused-imports/no-unused-imports': 'error',
67-
'unused-imports/no-unused-vars': [
68-
'error',
69-
{
70-
argsIgnorePattern: '^_',
71-
varsIgnorePattern: '^_',
72-
caughtErrorsIgnorePattern: '^_',
73-
},
74-
],
75-
},
76-
},
7758
// Configuration for translations files (i18next)
7859
{
7960
files: ['src/translations/*.json'],

env.js

+1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
/* eslint-env node */
12
/*
23
* Env file to load and validate env variables
34
* Be cautious; this file should not be imported into your source folder.

index.js

-8
This file was deleted.

ios/ObytesApp.xcodeproj/project.pbxproj

+2-2
Original file line numberDiff line numberDiff line change
@@ -372,7 +372,7 @@
372372
);
373373
OTHER_SWIFT_FLAGS = "$(inherited) -D EXPO_CONFIGURATION_DEBUG";
374374
PRODUCT_BUNDLE_IDENTIFIER = com.obytes.development;
375-
PRODUCT_NAME = "ObytesApp";
375+
PRODUCT_NAME = ObytesApp;
376376
SWIFT_OBJC_BRIDGING_HEADER = "ObytesApp/ObytesApp-Bridging-Header.h";
377377
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
378378
SWIFT_VERSION = 5.0;
@@ -400,7 +400,7 @@
400400
);
401401
OTHER_SWIFT_FLAGS = "$(inherited) -D EXPO_CONFIGURATION_RELEASE";
402402
PRODUCT_BUNDLE_IDENTIFIER = com.obytes.development;
403-
PRODUCT_NAME = "ObytesApp";
403+
PRODUCT_NAME = ObytesApp;
404404
SWIFT_OBJC_BRIDGING_HEADER = "ObytesApp/ObytesApp-Bridging-Header.h";
405405
SWIFT_VERSION = 5.0;
406406
TARGETED_DEVICE_FAMILY = "1,2";

ios/Podfile.lock

+24-5
Original file line numberDiff line numberDiff line change
@@ -223,7 +223,7 @@ PODS:
223223
- ExpoModulesCore
224224
- ExpoHead (3.5.23):
225225
- ExpoModulesCore
226-
- ExpoImage (1.12.14):
226+
- ExpoImage (1.12.15):
227227
- ExpoModulesCore
228228
- libavif/libdav1d
229229
- SDWebImage (~> 5.19.1)
@@ -1258,9 +1258,28 @@ PODS:
12581258
- ReactCommon/turbomodule/bridging
12591259
- ReactCommon/turbomodule/core
12601260
- Yoga
1261-
- react-native-mmkv (2.6.3):
1262-
- MMKV (>= 1.2.13)
1261+
- react-native-mmkv (2.12.2):
1262+
- DoubleConversion
1263+
- glog
1264+
- hermes-engine
1265+
- MMKV (>= 1.3.3)
1266+
- RCT-Folly (= 2024.01.01.00)
1267+
- RCTRequired
1268+
- RCTTypeSafety
1269+
- React-Codegen
12631270
- React-Core
1271+
- React-debug
1272+
- React-Fabric
1273+
- React-featureflags
1274+
- React-graphics
1275+
- React-ImageManager
1276+
- React-NativeModulesApple
1277+
- React-RCTFabric
1278+
- React-rendererdebug
1279+
- React-utils
1280+
- ReactCommon/turbomodule/bridging
1281+
- ReactCommon/turbomodule/core
1282+
- Yoga
12641283
- react-native-restart (0.0.27):
12651284
- React-Core
12661285
- react-native-safe-area-context (4.10.5):
@@ -1857,7 +1876,7 @@ SPEC CHECKSUMS:
18571876
ExpoFileSystem: 80bfe850b1f9922c16905822ecbf97acd711dc51
18581877
ExpoFont: e7f2275c10ca8573c991e007329ad6bf98086485
18591878
ExpoHead: fcb28a68ed4ba28f177394d2dfb8a0a8824cd103
1860-
ExpoImage: 3c5df709b5cbefd000bad6fe5dcf2172faee838e
1879+
ExpoImage: f77df382153d716f332f974438a803c4527f60b0
18611880
ExpoKeepAwake: 3b8815d9dd1d419ee474df004021c69fdd316d08
18621881
ExpoLocalization: f04eeec2e35bed01ab61c72ee1768ec04d093d01
18631882
ExpoModulesCore: d15ce10fea70ab650230feb69f45bb208d3a6596
@@ -1898,7 +1917,7 @@ SPEC CHECKSUMS:
18981917
React-logger: 257858bd55f3a4e1bc0cf07ddc8fb9faba6f8c7c
18991918
React-Mapbuffer: 6c1cacdbf40b531f549eba249e531a7d0bfd8e7f
19001919
react-native-keyboard-controller: c75b089682989b812d2d077665befac3f36fb70b
1901-
react-native-mmkv: 2e5bf67513cc8deed86fcffe87e12b8cc250dfab
1920+
react-native-mmkv: 8c9a677e64a1ac89b0c6cf240feea528318b3074
19021921
react-native-restart: 7595693413fe3ca15893702f2c8306c62a708162
19031922
react-native-safe-area-context: a240ad4b683349e48b1d51fed1611138d1bdad97
19041923
React-nativeconfig: ba9a2e54e2f0882cf7882698825052793ed4c851

setup.ts renamed to jest-setup.ts

+2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
import '@testing-library/react-native/extend-expect';
2+
13
// react-hook form setup for testing
24
// @ts-ignore
35
global.window = {};

jest.config.js

+1-2
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
module.exports = {
22
preset: 'jest-expo',
33
setupFilesAfterEnv: [
4-
'@testing-library/react-native/extend-expect',
5-
'<rootDir>/setup.ts',
4+
'<rootDir>/jest-setup.ts',
65
],
76
testMatch: ['**/?(*.)+(spec|test).ts?(x)'],
87
collectCoverageFrom: [

metro.config.js

+2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
/* eslint-env node */
2+
13
const { getDefaultConfig } = require('expo/metro-config');
24
const { withNativeWind } = require('nativewind/metro');
35

package.json

+23-27
Original file line numberDiff line numberDiff line change
@@ -39,73 +39,70 @@
3939
},
4040
"dependencies": {
4141
"@expo/metro-runtime": "^3.2.3",
42-
"@gorhom/bottom-sheet": "^4.6.3",
43-
"@hookform/resolvers": "^2.9.11",
44-
"@react-navigation/bottom-tabs": "^6.5.20",
45-
"@react-navigation/native": "^6.1.17",
46-
"@react-navigation/native-stack": "^6.9.26",
42+
"@gorhom/bottom-sheet": "4.6.3",
43+
"@hookform/resolvers": "^3.9.0",
4744
"@shopify/flash-list": "1.6.4",
48-
"@tanstack/react-query": "^5.37.1",
45+
"@tanstack/react-query": "^5.52.1",
4946
"app-icon-badge": "^0.0.15",
50-
"axios": "^1.7.1",
47+
"axios": "^1.7.5",
5148
"expo": "~51.0.31",
5249
"expo-constants": "~16.0.2",
5350
"expo-dev-client": "~4.0.25",
5451
"expo-font": "~12.0.9",
55-
"expo-image": "~1.12.14",
52+
"expo-image": "~1.12.15",
5653
"expo-linking": "~6.3.1",
5754
"expo-localization": "~15.0.3",
5855
"expo-router": "~3.5.23",
5956
"expo-splash-screen": "0.27.5",
6057
"expo-status-bar": "~1.12.1",
6158
"expo-system-ui": "~3.0.7",
62-
"i18next": "^22.5.1",
59+
"i18next": "^23.14.0",
6360
"lodash.memoize": "^4.1.2",
64-
"moti": "^0.28.1",
65-
"nativewind": "^4.0.36",
61+
"moti": "^0.29.0",
62+
"nativewind": "^4.1.1",
6663
"react": "18.2.0",
6764
"react-dom": "18.2.0",
68-
"react-error-boundary": "^3.1.4",
69-
"react-hook-form": "^7.51.4",
70-
"react-i18next": "^12.3.1",
65+
"react-error-boundary": "^4.0.13",
66+
"react-hook-form": "^7.53.0",
67+
"react-i18next": "^15.0.1",
7168
"react-native": "0.74.5",
7269
"react-native-flash-message": "^0.4.2",
7370
"react-native-gesture-handler": "~2.16.2",
7471
"react-native-keyboard-controller": "^1.13.2",
75-
"react-native-mmkv": "2.6.3",
72+
"react-native-mmkv": "~2.12.2",
7673
"react-native-reanimated": "~3.10.1",
7774
"react-native-restart": "0.0.27",
7875
"react-native-safe-area-context": "4.10.5",
7976
"react-native-screens": "~3.31.1",
80-
"react-native-svg": "15.2.0",
81-
"react-native-web": "~0.19.11",
77+
"react-native-svg": "~15.2.0",
78+
"react-native-web": "~0.19.12",
8279
"react-query-kit": "^3.3.0",
83-
"tailwind-variants": "^0.1.20",
80+
"tailwind-variants": "^0.2.1",
8481
"zod": "^3.23.8",
85-
"zustand": "^4.5.2"
82+
"zustand": "^4.5.5"
8683
},
8784
"devDependencies": {
8885
"@babel/core": "^7.24.5",
8986
"@commitlint/cli": "^17.8.1",
9087
"@commitlint/config-conventional": "^17.8.1",
91-
"@dev-plugins/react-navigation": "^0.0.6",
92-
"@dev-plugins/react-query": "^0.0.6",
88+
"@dev-plugins/react-query": "^0.0.7",
9389
"@expo/config": "~9.0.2",
94-
"@react-native-community/eslint-config": "^3.2.0",
95-
"@testing-library/jest-dom": "^5.17.0",
96-
"@testing-library/react-native": "^12.5.0",
90+
"@testing-library/jest-dom": "^6.5.0",
91+
"@testing-library/react-native": "^12.6.0",
9792
"@types/i18n-js": "^3.8.9",
9893
"@types/jest": "^29.5.12",
9994
"@types/lodash.memoize": "^4.1.9",
10095
"@types/react": "~18.2.79",
101-
"@types/react-test-renderer": "^18.3.0",
10296
"@typescript-eslint/eslint-plugin": "^5.62.0",
10397
"@typescript-eslint/parser": "^5.62.0",
10498
"babel-plugin-module-resolver": "^5.0.2",
10599
"cross-env": "^7.0.3",
106100
"dotenv": "^16.4.5",
107101
"eslint": "^8.57.0",
102+
"eslint-config-expo": "^7.1.2",
103+
"eslint-config-prettier": "^9.1.0",
108104
"eslint-plugin-i18n-json": "^4.0.0",
105+
"eslint-plugin-prettier": "^5.2.1",
109106
"eslint-plugin-simple-import-sort": "^10.0.0",
110107
"eslint-plugin-tailwindcss": "^3.15.2",
111108
"eslint-plugin-testing-library": "^6.2.2",
@@ -119,8 +116,7 @@
119116
"lint-staged": "^13.3.0",
120117
"metro-babel-register": "^0.73.10",
121118
"np": "^7.7.0",
122-
"prettier": "^2.8.8",
123-
"react-test-renderer": "^18.3.1",
119+
"prettier": "^3.3.3",
124120
"tailwindcss": "3.3.2",
125121
"ts-jest": "^29.1.2",
126122
"typescript": "^5.3.3"

0 commit comments

Comments
 (0)