feat: migrate to superconfig (#966)

* feat: migrate to superconfig

* feat: mock-test
This commit is contained in:
Ritesh Shukla
2026-02-01 20:19:36 +05:30
committed by GitHub
parent 7271dc0b54
commit 1c0069e1df
7 changed files with 50 additions and 20 deletions

View File

@@ -2,9 +2,6 @@ apply plugin: "com.android.application"
apply plugin: "org.jetbrains.kotlin.android"
apply plugin: "com.facebook.react"
apply from: project(':react-native-config').projectDir.getPath() + "/dotenv.gradle"
def keystoreFile = file("./jellify.keystore")
def keystoreExists = keystoreFile.exists()
@@ -93,7 +90,6 @@ android {
targetSdkVersion rootProject.ext.targetSdkVersion
versionCode 173
versionName "1.0.14"
resValue "string", "build_config_package", "com.jellify"
}
signingConfigs {

View File

@@ -1,6 +1,5 @@
{
"lockfileVersion": 1,
"configVersion": 0,
"workspaces": {
"": {
"name": "jellify",
@@ -33,7 +32,6 @@
"react-native-blob-util": "^0.22.2",
"react-native-blurhash": "^2.1.3",
"react-native-carplay": "^2.4.1-beta.0",
"react-native-config": "1.5.6",
"react-native-device-info": "15.0.1",
"react-native-fs": "^2.20.0",
"react-native-gesture-handler": "2.30.0",
@@ -49,6 +47,7 @@
"react-native-safe-area-context": "5.6.2",
"react-native-screens": "4.20.0",
"react-native-sortables": "1.9.4",
"react-native-superconfig": "^0.6.0",
"react-native-text-ticker": "^1.15.0",
"react-native-toast-message": "^2.3.3",
"react-native-track-player": "5.0.0-alpha0",
@@ -1898,8 +1897,6 @@
"react-native-cli-bump-version": ["react-native-cli-bump-version@1.5.1", "", {}, "sha512-C7Vss+BBD4iNMnn2YR00cU+GDDPZ+LDmIqWoh3FPwI/LBsJ/Vp5qanwtyVYRPcIe7Cg1PPB8WdeZ8XcnqF5Klw=="],
"react-native-config": ["react-native-config@1.5.6", "", { "peerDependencies": { "react-native-windows": ">=0.61" }, "optionalPeers": ["react-native-windows"] }, "sha512-UB3LEco0FGGbbGvS+DfH2VmGKiP/y5C2MkmfBmfsIaxHSbM1KOTMKYG7YRf6xFhZbJ/01BedHG7SIny5i7N9BQ=="],
"react-native-device-info": ["react-native-device-info@15.0.1", "", { "peerDependencies": { "react-native": "*" } }, "sha512-U5waZRXtT3l1SgZpZMlIvMKPTkFZPH8W7Ks6GrJhdH723aUIPxjVer7cRSij1mvQdOAAYFJV/9BDzlC8apG89A=="],
"react-native-fs": ["react-native-fs@2.20.0", "", { "dependencies": { "base-64": "^0.1.0", "utf8": "^3.0.0" }, "peerDependencies": { "react-native": "*", "react-native-windows": "*" }, "optionalPeers": ["react-native-windows"] }, "sha512-VkTBzs7fIDUiy/XajOSNk0XazFE9l+QlMAce7lGuebZcag5CnjszB+u4BdqzwaQOdcYb5wsJIsqq4kxInIRpJQ=="],
@@ -1932,6 +1929,8 @@
"react-native-sortables": ["react-native-sortables@1.9.4", "", { "optionalDependencies": { "react-native-haptic-feedback": ">=2.0.0" }, "peerDependencies": { "react": "*", "react-native": "*", "react-native-gesture-handler": ">=2.0.0", "react-native-reanimated": ">=3.0.0" } }, "sha512-a6hxT+gl14HA5Sm8UiLXJqF8KMEQVa+mUJd75OnzoVsmrxUDtjAatlMdV0kI9qTQDT/ZSFLPRmdUhOR762IA4g=="],
"react-native-superconfig": ["react-native-superconfig@0.6.0", "", { "peerDependencies": { "react": "*", "react-native": "*", "react-native-nitro-modules": "*" } }, "sha512-kW9SjpKmuB7F54JNzaWHX5Ncr7jM8852FcIcBvfIyR0ofACaGvqf59hLKg7i8DfSIi0f5DXOCXbvu88cr8PIVw=="],
"react-native-tab-view": ["react-native-tab-view@4.2.2", "", { "dependencies": { "use-latest-callback": "^0.2.4" }, "peerDependencies": { "react": ">= 18.2.0", "react-native": "*", "react-native-pager-view": ">= 6.0.0" } }, "sha512-NXtrG6OchvbGjsvbySJGVocXxo4Y2vA17ph4rAaWtA2jh+AasD8OyikKBRg2SmllEfeQ+GEhcKe8kulHv8BhTg=="],
"react-native-text-ticker": ["react-native-text-ticker@1.15.0", "", {}, "sha512-d/uK+PIOhsYMy1r8h825iq/nADiHsabz3WMbRJSnkpQYn+K9aykUAXRRhu8ZbTAzk4CgnUWajJEFxS5ZDygsdg=="],

View File

@@ -139,6 +139,36 @@ PODS:
- SSZipArchive
- Yoga
- NitroOtaBundleManager (0.10.0)
- NitroSuperconfig (0.6.0):
- boost
- DoubleConversion
- fast_float
- fmt
- glog
- hermes-engine
- NitroModules
- RCT-Folly
- RCT-Folly/Fabric
- RCTRequired
- RCTTypeSafety
- React-callinvoker
- React-Core
- React-debug
- React-Fabric
- React-featureflags
- React-graphics
- React-ImageManager
- React-jsi
- React-NativeModulesApple
- React-RCTFabric
- React-renderercss
- React-rendererdebug
- React-utils
- ReactCodegen
- ReactCommon/turbomodule/bridging
- ReactCommon/turbomodule/core
- SocketRocket
- Yoga
- PromisesObjC (2.4.0)
- RCT-Folly (2024.11.18.00):
- boost
@@ -2084,10 +2114,6 @@ PODS:
- Yoga
- react-native-carplay (2.4.1-beta.0):
- React
- react-native-config (1.5.6):
- react-native-config/App (= 1.5.6)
- react-native-config/App (1.5.6):
- React-Core
- react-native-google-cast (4.9.1):
- google-cast-sdk
- PromisesObjC
@@ -3262,6 +3288,7 @@ DEPENDENCIES:
- NitroMmkv (from `../node_modules/react-native-mmkv`)
- NitroModules (from `../node_modules/react-native-nitro-modules`)
- NitroOta (from `../node_modules/react-native-nitro-ota`)
- NitroSuperconfig (from `../node_modules/react-native-superconfig`)
- RCT-Folly (from `../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec`)
- RCTDeprecation (from `../node_modules/react-native/ReactApple/Libraries/RCTFoundation/RCTDeprecation`)
- RCTRequired (from `../node_modules/react-native/Libraries/Required`)
@@ -3303,7 +3330,6 @@ DEPENDENCIES:
- react-native-blob-util (from `../node_modules/react-native-blob-util`)
- react-native-blurhash (from `../node_modules/react-native-blurhash`)
- react-native-carplay (from `../node_modules/react-native-carplay`)
- react-native-config (from `../node_modules/react-native-config`)
- react-native-google-cast (from `../node_modules/react-native-google-cast`)
- "react-native-netinfo (from `../node_modules/@react-native-community/netinfo`)"
- react-native-pager-view (from `../node_modules/react-native-pager-view`)
@@ -3399,6 +3425,8 @@ EXTERNAL SOURCES:
:path: "../node_modules/react-native-nitro-modules"
NitroOta:
:path: "../node_modules/react-native-nitro-ota"
NitroSuperconfig:
:path: "../node_modules/react-native-superconfig"
RCT-Folly:
:podspec: "../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec"
RCTDeprecation:
@@ -3479,8 +3507,6 @@ EXTERNAL SOURCES:
:path: "../node_modules/react-native-blurhash"
react-native-carplay:
:path: "../node_modules/react-native-carplay"
react-native-config:
:path: "../node_modules/react-native-config"
react-native-google-cast:
:path: "../node_modules/react-native-google-cast"
react-native-netinfo:
@@ -3598,13 +3624,14 @@ SPEC CHECKSUMS:
Gifu: 9f7e52357d41c0739709019eb80a71ad9aab1b6d
glog: 5683914934d5b6e4240e497e0f4a3b42d1854183
google-cast-sdk: 32f65af50d164e3c475e79ad123db3cc26fbcd37
hermes-engine: 83ac7cadb2a3a158ae6d9e4192417c5232065e99
hermes-engine: 6878b8fefe82b91b24caae48ac97164746244d09
MMKVCore: f2dd4c9befea04277a55e84e7812f930537993df
NitroFetch: 1a268c80f654b3018397672d264f1e4d646076b1
NitroMmkv: 8ed7ef6f41b91785fc580c975f68d6d675214767
NitroModules: 11bba9d065af151eae51e38a6425e04c3b223ff3
NitroOta: 92d4eb528566b6babf5e4a30adbda44bfa803a9b
NitroOtaBundleManager: 8fad871db2daf6b9ee6f04a100c79605cfa81e8d
NitroSuperconfig: 54d86ee90bb78cbca09d119ea775a53ffbedb0fc
PromisesObjC: f5707f49cb48b9636751c5b2e7d227e43fba9f47
RCT-Folly: 846fda9475e61ec7bcbf8a3fe81edfcaeb090669
RCTDeprecation: a41bbdd9af30bf2e5715796b313e44ec43eefff1
@@ -3646,7 +3673,6 @@ SPEC CHECKSUMS:
react-native-blob-util: e2162ce4757849682559754bca954b65dc7eeb2f
react-native-blurhash: 93b024ff78f7912d22b1cdba262f3c91d3e2002e
react-native-carplay: 8f388f6f73e5e0f73ed154ad8794371343ee20c0
react-native-config: f1dde39f8468ad922fc7e8bd4308c8e6223d5ee8
react-native-google-cast: 7be68a5d0b7eeb95a5924c3ecef8d319ef6c0a44
react-native-netinfo: cec9c4e86083cb5b6aba0e0711f563e2fbbff187
react-native-pager-view: d7d2aa47f54343bf55fdcee3973503dd27c2bd37

View File

@@ -16,6 +16,15 @@ jest.mock('../../src/api/info', () => {
}
})
jest.mock('react-native-superconfig', () => ({
__esModule: true,
default: {
OTA_UPDATE_ENABLED: 'false',
IS_MAESTRO_BUILD: 'false',
GLITCHTIP_DSN: '',
},
}))
jest.mock('react-native/Libraries/EventEmitter/NativeEventEmitter')
jest.mock('react-native-haptic-feedback', () => {

View File

@@ -65,7 +65,6 @@
"react-native-blob-util": "^0.22.2",
"react-native-blurhash": "^2.1.3",
"react-native-carplay": "^2.4.1-beta.0",
"react-native-config": "1.5.6",
"react-native-device-info": "15.0.1",
"react-native-fs": "^2.20.0",
"react-native-gesture-handler": "2.30.0",
@@ -81,6 +80,7 @@
"react-native-safe-area-context": "5.6.2",
"react-native-screens": "4.20.0",
"react-native-sortables": "1.9.4",
"react-native-superconfig": "^0.6.0",
"react-native-text-ticker": "^1.15.0",
"react-native-toast-message": "^2.3.3",
"react-native-track-player": "5.0.0-alpha0",

View File

@@ -1,4 +1,4 @@
import Config from 'react-native-config'
import Config from 'react-native-superconfig'
const OTA_UPDATE_ENABLED = Config.OTA_UPDATE_ENABLED === 'true'
const IS_MAESTRO_BUILD = Config.IS_MAESTRO_BUILD === 'true'

View File

@@ -1,4 +1,4 @@
declare module 'react-native-config' {
declare module 'react-native-superconfig' {
export interface NativeConfig {
OTA_UPDATE_ENABLED?: string
IS_MAESTRO_BUILD?: string