react-native-ota-hot-update 2.2.8 → 2.2.9

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-ota-hot-update",
3
- "version": "2.2.8",
3
+ "version": "2.2.9",
4
4
  "description": "Hot update for react native",
5
5
  "source": "./src/index.tsx",
6
6
  "main": "./lib/commonjs/index.js",
@@ -19,11 +19,25 @@ import com.otahotupdate.OtaHotUpdate`);
19
19
  };
20
20
  const withIosAction = (config) => {
21
21
  return (0, config_plugins_1.withAppDelegate)(config, (config) => {
22
- if (!config.modResults.contents.includes('#import "OtaHotUpdate.h')) {
23
- config.modResults.contents = config.modResults.contents.replace(/#import "AppDelegate.h"/g, `#import "AppDelegate.h"
22
+ const appDelegatePath = config.modRequest.projectRoot + '/ios/' + config_plugins_1.IOSConfig.Paths.getAppDelegateFilePath(config.modRequest.projectRoot);
23
+ const isSwift = appDelegatePath.endsWith('.swift');
24
+ if (isSwift) {
25
+ // Swift: AppDelegate.swift
26
+ if (!config.modResults.contents.includes('import react_native_ota_hot_update')) {
27
+ config.modResults.contents = `import react_native_ota_hot_update\n${config.modResults.contents}`;
28
+ }
29
+ if (!config.modResults.contents.includes('OtaHotUpdate.getBundle()')) {
30
+ config.modResults.contents = config.modResults.contents.replace(/return Bundle.main.url\(forResource: "main", withExtension: "jsbundle"\)/, `return OtaHotUpdate.getBundle()`);
31
+ }
32
+ }
33
+ else {
34
+ // Objective-C: AppDelegate.mm
35
+ if (!config.modResults.contents.includes('#import "OtaHotUpdate.h')) {
36
+ config.modResults.contents = config.modResults.contents.replace(/#import "AppDelegate.h"/g, `#import "AppDelegate.h"
24
37
  #import "OtaHotUpdate.h"`);
38
+ }
39
+ config.modResults.contents = config.modResults.contents.replace(/\[\[NSBundle mainBundle\] URLForResource:@\"main\" withExtension:@\"jsbundle\"\]/, `[OtaHotUpdate getBundle]`);
25
40
  }
26
- config.modResults.contents = config.modResults.contents.replace(/\[\[NSBundle mainBundle\] URLForResource:@\"main\" withExtension:@\"jsbundle\"\]/, `[OtaHotUpdate getBundle]`);
27
41
  return config;
28
42
  });
29
43
  };
@@ -1,4 +1,9 @@
1
- import { withMainApplication, withAppDelegate } from '@expo/config-plugins';
1
+ import {
2
+ withMainApplication,
3
+ withAppDelegate,
4
+ IOSConfig,
5
+ } from '@expo/config-plugins';
6
+
2
7
  const withAndroidAction: any = (config: any) => {
3
8
  return withMainApplication(config, (config) => {
4
9
  if (!config.modResults.contents.includes('override fun getJSBundleFile(): String = OtaHotUpdate.bundleJS(this@MainApplication)')) {
@@ -25,18 +30,37 @@ import com.otahotupdate.OtaHotUpdate`
25
30
 
26
31
  const withIosAction: any = (config: any) => {
27
32
  return withAppDelegate(config, (config) => {
28
- if (!config.modResults.contents.includes('#import "OtaHotUpdate.h')) {
29
- config.modResults.contents = config.modResults.contents.replace(
30
- /#import "AppDelegate.h"/g,
31
- `#import "AppDelegate.h"
33
+ const appDelegatePath = config.modRequest.projectRoot + '/ios/' + IOSConfig.Paths.getAppDelegateFilePath(config.modRequest.projectRoot);
34
+ const isSwift = appDelegatePath.endsWith('.swift');
35
+
36
+ if (isSwift) {
37
+ // Swift: AppDelegate.swift
38
+ if (!config.modResults.contents.includes('import react_native_ota_hot_update')) {
39
+ config.modResults.contents = `import react_native_ota_hot_update\n${config.modResults.contents}`;
40
+ }
41
+
42
+ if (!config.modResults.contents.includes('OtaHotUpdate.getBundle()')) {
43
+ config.modResults.contents = config.modResults.contents.replace(
44
+ /return Bundle.main.url\(forResource: "main", withExtension: "jsbundle"\)/,
45
+ `return OtaHotUpdate.getBundle()`
46
+ );
47
+ }
48
+ } else {
49
+ // Objective-C: AppDelegate.mm
50
+ if (!config.modResults.contents.includes('#import "OtaHotUpdate.h')) {
51
+ config.modResults.contents = config.modResults.contents.replace(
52
+ /#import "AppDelegate.h"/g,
53
+ `#import "AppDelegate.h"
32
54
  #import "OtaHotUpdate.h"`
55
+ );
56
+ }
57
+
58
+ config.modResults.contents = config.modResults.contents.replace(
59
+ /\[\[NSBundle mainBundle\] URLForResource:@\"main\" withExtension:@\"jsbundle\"\]/,
60
+ `[OtaHotUpdate getBundle]`
33
61
  );
34
62
  }
35
63
 
36
- config.modResults.contents = config.modResults.contents.replace(
37
- /\[\[NSBundle mainBundle\] URLForResource:@\"main\" withExtension:@\"jsbundle\"\]/,
38
- `[OtaHotUpdate getBundle]`
39
- );
40
64
  return config;
41
65
  });
42
66
  };
@@ -46,4 +70,5 @@ const withAction: any = (config: any) => {
46
70
  config = withIosAction(config);
47
71
  return config;
48
72
  };
73
+
49
74
  module.exports = withAction;