Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .nvmrc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
20.20.2
10 changes: 0 additions & 10 deletions android/app/src/debug/AndroidManifest.xml

This file was deleted.

10 changes: 2 additions & 8 deletions android/app/src/main/java/com/shoutemapp/MainApplication.kt
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,11 @@ import androidx.multidex.MultiDexApplication
import com.facebook.react.PackageList
import com.facebook.react.ReactApplication
import com.facebook.react.ReactHost
import com.facebook.react.ReactNativeApplicationEntryPoint.loadReactNative
import com.facebook.react.ReactNativeHost
import com.facebook.react.ReactPackage
import com.facebook.react.defaults.DefaultNewArchitectureEntryPoint.load
import com.facebook.react.defaults.DefaultReactHost.getDefaultReactHost
import com.facebook.react.defaults.DefaultReactNativeHost
import com.facebook.react.soloader.OpenSourceMergedSoMapping
import com.facebook.soloader.SoLoader

//NativeModuleInjectionMark-mainApplication-import

Expand Down Expand Up @@ -46,11 +44,7 @@ class MainApplication : MultiDexApplication(), ReactApplication {

override fun onCreate() {
super.onCreate()
SoLoader.init(this, OpenSourceMergedSoMapping)
if (BuildConfig.IS_NEW_ARCHITECTURE_ENABLED) {
// If you opted-in for the New Architecture, we load the native entry point for this app.
load()
}
loadReactNative(this)
//NativeModuleInjectionMark-mainApplication-oncreate-end
}
}
2 changes: 1 addition & 1 deletion android/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ buildscript {
dependencies {
classpath("com.android.tools.build:gradle")
classpath("com.facebook.react:react-native-gradle-plugin")
classpath('org.jetbrains.kotlin:kotlin-gradle-plugin:2.0.21')
classpath('org.jetbrains.kotlin:kotlin-gradle-plugin:2.1.20')
classpath("de.undercouch:gradle-download-task:4.1.2")
//NativeModuleInjectionMark-root-gradle

Expand Down
8 changes: 4 additions & 4 deletions android/constants.gradle
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
project.ext {
buildToolsVersion = "35.0.0"
buildToolsVersion = "36.0.0"
minSdkVersion = 24
compileSdkVersion = 35
targetSdkVersion = 35
compileSdkVersion = 36
targetSdkVersion = 36
ndkVersion = "27.1.12297006"
kotlinVersion = "2.0.21"
kotlinVersion = "2.1.20"

supportLibVersion = '28.0.0'
googlePlayServicesVersion = '15.0.0'
Expand Down
5 changes: 5 additions & 0 deletions android/gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,11 @@ newArchEnabled=false
# If set to false, you will be using JSC instead.
hermesEnabled=true

# Use this property to enable edge-to-edge display support.
# This allows your app to draw behind system bars for an immersive UI.
# Note: Only works with ReactActivity and should not be used with custom Activity.
edgeToEdgeEnabled=false

#NativeModuleInjectionMark-gradle-properties

#keystore settings
Expand Down
Binary file modified android/gradle/wrapper/gradle-wrapper.jar
Binary file not shown.
2 changes: 1 addition & 1 deletion android/gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.12-all.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.3-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
Expand Down
6 changes: 3 additions & 3 deletions android/gradlew

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

9 changes: 7 additions & 2 deletions android/gradlew.bat

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

10 changes: 0 additions & 10 deletions core/AppBuilder.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
/* eslint-disable max-classes-per-file */
import React, { Component, createContext } from 'react';
import { YellowBox } from 'react-native';
import {
assertExtensionsExist,
assertNotEmpty,
Expand All @@ -15,15 +14,6 @@ const APP_CONTEXT = Symbol('appContext');

export let AppContextProvider;

// Temporarily ignoring cyclic dependency warnings and deprecated lifecycle
// methods until package maintainers can resolve these
YellowBox.ignoreWarnings([
'Require cycle:',
'componentWillReceiveProps',
'componentWillUpdate',
'componentWillMount',
]);

/**
* Creates an application class that represents a root
* react native component, and uses the context initialized
Expand Down
4 changes: 2 additions & 2 deletions ios/ShoutemApp.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -364,7 +364,7 @@
"$(inherited)",
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include,
);
IPHONEOS_DEPLOYMENT_TARGET = 13.4;
IPHONEOS_DEPLOYMENT_TARGET = 15.1;
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
OTHER_CPLUSPLUSFLAGS = (
Expand Down Expand Up @@ -423,7 +423,7 @@
"$(inherited)",
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include,
);
IPHONEOS_DEPLOYMENT_TARGET = 13.4;
IPHONEOS_DEPLOYMENT_TARGET = 15.1;
MTL_ENABLE_DEBUG_INFO = NO;
ONLY_ACTIVE_ARCH = NO;
OTHER_CPLUSPLUSFLAGS = (
Expand Down
51 changes: 35 additions & 16 deletions ios/ShoutemApp/AppDelegate.swift
Original file line number Diff line number Diff line change
Expand Up @@ -12,34 +12,53 @@ import React
import React_RCTAppDelegate
import ReactAppDependencyProvider
//NativeModuleInjectionMark-appDelegate-import

@main
class AppDelegate: RCTAppDelegate {
override func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil) -> Bool {
self.moduleName = "ShoutemApp"
self.dependencyProvider = RCTAppDependencyProvider()

// You can add your custom initial props in the dictionary below.
// They will be passed down to the ViewController used by React Native.
self.initialProps = [:]

class AppDelegate: UIResponder, UIApplicationDelegate {
var window: UIWindow?

var reactNativeDelegate: ReactNativeDelegate?
var reactNativeFactory: RCTReactNativeFactory?

func application(
_ application: UIApplication,
didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? = nil
) -> Bool {
let delegate = ReactNativeDelegate()
let factory = RCTReactNativeFactory(delegate: delegate)
delegate.dependencyProvider = RCTAppDependencyProvider()

reactNativeDelegate = delegate
reactNativeFactory = factory

window = UIWindow(frame: UIScreen.main.bounds)

//NativeModuleInjectionMark-appDelegate-applicationDidFinishLaunchingWithOptions
let didFinish = super.application(application, didFinishLaunchingWithOptions: launchOptions)

factory.startReactNative(
withModuleName: "ShoutemApp",
in: window,
launchOptions: launchOptions
)

//NativeModuleInjectionMark-appDelegate-applicationDidFinishLaunchingWithOptions-end
return didFinish

return true
}


//NativeModuleInjectionMark-appDelegate-body
}

class ReactNativeDelegate: RCTDefaultReactNativeFactoryDelegate {
override func sourceURL(for bridge: RCTBridge) -> URL? {
self.bundleURL()
}

override func bundleURL() -> URL? {
#if DEBUG
return RCTBundleURLProvider.sharedSettings().jsBundleURL(forBundleRoot: "index")
#else
return Bundle.main.url(forResource: "main", withExtension: "jsbundle")
#endif
}

//NativeModuleInjectionMark-appDelegate-body
}
6 changes: 5 additions & 1 deletion metro.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,11 @@
*/

const { getDefaultConfig, mergeConfig } = require('@react-native/metro-config');
const exclusionList = require('metro-config/src/defaults/exclusionList');
// Metro 0.83 (RN 0.81) gates `metro-config` behind an `exports` map, so `src/` is no
// longer reachable - `private/*` is the supported subpath. The module is Babel-compiled,
// hence `.default`.
const exclusionList =
require('metro-config/private/defaults/exclusionList').default;
const path = require('path');

// parameters adjusted by CI scripts
Expand Down
29 changes: 15 additions & 14 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,29 +1,30 @@
{
"name": "@shoutem/platform",
"version": "17.0.11",
"version": "18.0.0-rc.2",
"scripts": {
"android": "react-native run-android",
"build": "node scripts/build",
"bundle": "node scripts/bundle",
"configure": "node scripts/configure",
"ios": "react-native run-ios",
"lint": "eslint .",
"lint": "node scripts/lint.js",
"lint-fix": "eslint . --fix",
"list-dependencies": "node scripts/platform-dependencies",
"postinstall": "node scripts/postinstall",
"setup": "cd scripts && yarn install",
"start": "react-native start",
"build-web": "NODE_ENV=production node web/esbuild.config.mjs",
"run-web": "NODE_ENV=development node web/esbuild.config.dev.mjs"
"run-web": "NODE_ENV=development node web/esbuild.config.dev.mjs",
"lint-extensions": "eslint extensions/*/app --max-warnings 0"
},
"dependencies": {
"auto-bind": "4.0.0",
"es6-symbol": "3.1.1",
"lodash": "4.17.21",
"moment": "2.29.4",
"prop-types": "15.7.1",
"react": "19.0.0",
"react-native": "0.78.0",
"react": "19.1.4",
"react-native": "0.81.6",
"react-redux": "7.2.6",
"redux": "3.6.0",
"redux-action-buffer": "1.0.1",
Expand All @@ -39,11 +40,11 @@
"@babel/preset-env": "^7.25.3",
"@babel/runtime": "^7.25.0",
"@babel/plugin-proposal-decorators": "7.20.13",
"@react-native/babel-preset": "0.78.0",
"@react-native/eslint-config": "0.78.0",
"@react-native/metro-config": "0.78.0",
"@react-native/babel-preset": "0.81.6",
"@react-native/eslint-config": "0.81.6",
"@react-native/metro-config": "0.81.6",
"@shoutem/build-tools": "file:scripts/helpers",
"@shoutem/eslint-config-react-native": "~1.0.2",
"@shoutem/eslint-config-react-native": "~1.1.0-rc.0",
"@welldone-software/why-did-you-render": "10.0.1",
"babel-plugin-jest-hoist": "24.9.0",
"eslint-plugin-import": "2.25.4",
Expand All @@ -58,10 +59,10 @@
"prettier": "2.8.8",
"patch-package": "6.4.7",
"react-native-asset": "2.1.1",
"react-test-renderer": "19.0.0",
"@react-native-community/cli": "15.0.1",
"@react-native-community/cli-platform-android": "15.0.1",
"@react-native-community/cli-platform-ios": "15.0.1"
"react-test-renderer": "19.1.0",
"@react-native-community/cli": "20.0.0",
"@react-native-community/cli-platform-android": "20.0.0",
"@react-native-community/cli-platform-ios": "20.0.0"
},
"eslintConfig": {
"extends": "@shoutem/react-native",
Expand Down Expand Up @@ -102,6 +103,6 @@
"preset": "module:react-native"
},
"engines": {
"node": ">=18"
"node": ">=20"
}
}
Loading