react-native-bootsplash 6.0.0-beta.8 → 6.0.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.
@@ -0,0 +1,273 @@
1
+ import * as Expo from "@expo/config-plugins";
2
+ import { assignColorValue } from "@expo/config-plugins/build/android/Colors";
3
+ import { addImports } from "@expo/config-plugins/build/android/codeMod";
4
+ import { mergeContents } from "@expo/config-plugins/build/utils/generateCode";
5
+ import path from "path";
6
+ import { dedent } from "ts-dedent";
7
+ import { cleanIOSAssets, getExpoConfig, hfs } from "./generate";
8
+ const withExpoVersionCheck = platform => config => Expo.withDangerousMod(config, [platform, config => {
9
+ getExpoConfig(config.modRequest.projectRoot); // will exit process if expo < 51.0.20
10
+ return config;
11
+ }]);
12
+ const withAndroidAssets = (config, props) => Expo.withDangerousMod(config, ["android", config => {
13
+ const {
14
+ assetsDir = "assets/bootsplash"
15
+ } = props;
16
+ const {
17
+ projectRoot,
18
+ platformProjectRoot
19
+ } = config.modRequest;
20
+ const srcDir = path.resolve(projectRoot, assetsDir, "android");
21
+ const destDir = path.resolve(platformProjectRoot, "app", "src", "main", "res");
22
+ for (const drawableDir of hfs.readDir(srcDir)) {
23
+ const srcDrawableDir = path.join(srcDir, drawableDir);
24
+ const destDrawableDir = path.join(destDir, drawableDir);
25
+ hfs.ensureDir(destDrawableDir);
26
+ for (const file of hfs.readDir(srcDrawableDir)) {
27
+ hfs.copy(path.join(srcDrawableDir, file), path.join(destDrawableDir, file));
28
+ }
29
+ }
30
+ return config;
31
+ }]);
32
+ const withAndroidManifest = config => Expo.withAndroidManifest(config, config => {
33
+ config.modResults.manifest.application?.forEach(application => {
34
+ if (application.$["android:name"] === ".MainApplication") {
35
+ const {
36
+ activity
37
+ } = application;
38
+ activity?.forEach(activity => {
39
+ if (activity.$["android:name"] === ".MainActivity") {
40
+ activity.$["android:theme"] = "@style/BootTheme";
41
+ }
42
+ });
43
+ }
44
+ });
45
+ return config;
46
+ });
47
+ const withMainActivity = config => Expo.withMainActivity(config, config => {
48
+ const {
49
+ modResults
50
+ } = config;
51
+ const {
52
+ language
53
+ } = modResults;
54
+ const withImports = addImports(modResults.contents.replace(/(\/\/ )?setTheme\(R\.style\.AppTheme\)/, "// setTheme(R.style.AppTheme)"), ["android.os.Bundle", "com.zoontek.rnbootsplash.RNBootSplash"], language === "java");
55
+
56
+ // indented with 4 spaces
57
+ const withInit = mergeContents({
58
+ src: withImports,
59
+ comment: " //",
60
+ tag: "bootsplash-init",
61
+ offset: 0,
62
+ anchor: /super\.onCreate\(null\)/,
63
+ newSrc: " RNBootSplash.init(this, R.style.BootTheme)" + (language === "java" ? ";" : "")
64
+ });
65
+ return {
66
+ ...config,
67
+ modResults: {
68
+ ...modResults,
69
+ contents: withInit.contents
70
+ }
71
+ };
72
+ });
73
+ const withAndroidStyles = (config, props) => Expo.withAndroidStyles(config, async config => {
74
+ const {
75
+ assetsDir = "assets/bootsplash",
76
+ android = {}
77
+ } = props;
78
+ const {
79
+ parentTheme,
80
+ darkContentBarsStyle
81
+ } = android;
82
+ const {
83
+ modRequest,
84
+ modResults
85
+ } = config;
86
+ const {
87
+ resources
88
+ } = modResults;
89
+ const {
90
+ style = []
91
+ } = resources;
92
+ const manifest = await hfs.json(path.resolve(modRequest.projectRoot, assetsDir, "manifest.json"));
93
+ const item = [{
94
+ $: {
95
+ name: "postBootSplashTheme"
96
+ },
97
+ _: "@style/AppTheme"
98
+ }, {
99
+ $: {
100
+ name: "bootSplashBackground"
101
+ },
102
+ _: "@color/bootsplash_background"
103
+ }, {
104
+ $: {
105
+ name: "bootSplashLogo"
106
+ },
107
+ _: "@drawable/bootsplash_logo"
108
+ }];
109
+ if (manifest.brand != null) {
110
+ item.push({
111
+ $: {
112
+ name: "bootSplashBrand"
113
+ },
114
+ _: "@drawable/bootsplash_brand"
115
+ });
116
+ }
117
+ if (darkContentBarsStyle != null) {
118
+ item.push({
119
+ $: {
120
+ name: "darkContentBarsStyle"
121
+ },
122
+ _: String(darkContentBarsStyle)
123
+ });
124
+ }
125
+ const withBootTheme = [...style.filter(({
126
+ $
127
+ }) => $.name !== "BootTheme"), {
128
+ $: {
129
+ name: "BootTheme",
130
+ parent: parentTheme === "TransparentStatus" ? "Theme.BootSplash.TransparentStatus" : parentTheme === "EdgeToEdge" ? "Theme.BootSplash.EdgeToEdge" : "Theme.BootSplash"
131
+ },
132
+ item
133
+ }];
134
+ return {
135
+ ...config,
136
+ modResults: {
137
+ ...modResults,
138
+ resources: {
139
+ ...resources,
140
+ style: withBootTheme
141
+ }
142
+ }
143
+ };
144
+ });
145
+ const withAndroidColors = (config, props) => Expo.withAndroidColors(config, async config => {
146
+ const {
147
+ assetsDir = "assets/bootsplash"
148
+ } = props;
149
+ const {
150
+ projectRoot
151
+ } = config.modRequest;
152
+ const manifest = await hfs.json(path.resolve(projectRoot, assetsDir, "manifest.json"));
153
+ config.modResults = assignColorValue(config.modResults, {
154
+ name: "bootsplash_background",
155
+ value: manifest.background
156
+ });
157
+ return config;
158
+ });
159
+ const withAndroidColorsNight = (config, props) => Expo.withAndroidColorsNight(config, async config => {
160
+ const {
161
+ assetsDir = "assets/bootsplash"
162
+ } = props;
163
+ const {
164
+ projectRoot
165
+ } = config.modRequest;
166
+ const manifest = await hfs.json(path.resolve(projectRoot, assetsDir, "manifest.json"));
167
+ if (manifest.darkBackground != null) {
168
+ config.modResults = assignColorValue(config.modResults, {
169
+ name: "bootsplash_background",
170
+ value: manifest.darkBackground
171
+ });
172
+ }
173
+ return config;
174
+ });
175
+ const withIOSAssets = (config, props) => Expo.withDangerousMod(config, ["ios", config => {
176
+ const {
177
+ assetsDir = "assets/bootsplash"
178
+ } = props;
179
+ const {
180
+ projectRoot,
181
+ platformProjectRoot,
182
+ projectName = ""
183
+ } = config.modRequest;
184
+ const srcDir = path.resolve(projectRoot, assetsDir, "ios");
185
+ const destDir = path.resolve(platformProjectRoot, projectName);
186
+ cleanIOSAssets(destDir);
187
+ hfs.copy(path.join(srcDir, "BootSplash.storyboard"), path.join(destDir, "BootSplash.storyboard"));
188
+ for (const xcassetsDir of ["Colors.xcassets", "Images.xcassets"]) {
189
+ const srcXcassetsDir = path.join(srcDir, xcassetsDir);
190
+ const destXcassetsDir = path.join(destDir, xcassetsDir);
191
+ hfs.ensureDir(destXcassetsDir);
192
+ for (const file of hfs.readDir(srcXcassetsDir)) {
193
+ hfs.copy(path.join(srcXcassetsDir, file), path.join(destXcassetsDir, file));
194
+ }
195
+ }
196
+ return config;
197
+ }]);
198
+ const withAppDelegate = config => Expo.withAppDelegate(config, config => {
199
+ const {
200
+ modResults
201
+ } = config;
202
+ const {
203
+ language
204
+ } = modResults;
205
+ if (language !== "objc" && language !== "objcpp") {
206
+ throw new Error(`Cannot modify the project AppDelegate as it's not in a supported language: ${language}`);
207
+ }
208
+ const withHeader = mergeContents({
209
+ src: modResults.contents,
210
+ comment: "//",
211
+ tag: "bootsplash-header",
212
+ offset: 1,
213
+ anchor: /#import "AppDelegate\.h"/,
214
+ newSrc: '#import "RNBootSplash.h"'
215
+ });
216
+ const withRootView = mergeContents({
217
+ src: withHeader.contents,
218
+ comment: "//",
219
+ tag: "bootsplash-init",
220
+ offset: 0,
221
+ anchor: /@end/,
222
+ newSrc: dedent`
223
+ - (void)customizeRootView:(RCTRootView *)rootView {
224
+ [RNBootSplash initWithStoryboard:@"BootSplash" rootView:rootView];
225
+ }
226
+ `
227
+ });
228
+ return {
229
+ ...config,
230
+ modResults: {
231
+ ...modResults,
232
+ contents: withRootView.contents
233
+ }
234
+ };
235
+ });
236
+ const withInfoPlist = config => Expo.withInfoPlist(config, config => {
237
+ config.modResults["UILaunchStoryboardName"] = "BootSplash";
238
+ return config;
239
+ });
240
+ const withXcodeProject = config => Expo.withXcodeProject(config, config => {
241
+ const {
242
+ projectName = ""
243
+ } = config.modRequest;
244
+ Expo.IOSConfig.XcodeUtils.addResourceFileToGroup({
245
+ filepath: path.join(projectName, "BootSplash.storyboard"),
246
+ groupName: projectName,
247
+ project: config.modResults,
248
+ isBuildFile: true
249
+ });
250
+ Expo.IOSConfig.XcodeUtils.addResourceFileToGroup({
251
+ filepath: path.join(projectName, "Colors.xcassets"),
252
+ groupName: projectName,
253
+ project: config.modResults,
254
+ isBuildFile: true
255
+ });
256
+ return config;
257
+ });
258
+ const withoutExpoSplashScreen = Expo.createRunOncePlugin(config => config, "expo-splash-screen", "skip");
259
+ export const withBootSplash = (config, props = {}) => {
260
+ const plugins = [];
261
+ const {
262
+ platforms = []
263
+ } = config;
264
+ plugins.push(withoutExpoSplashScreen);
265
+ if (platforms.includes("android")) {
266
+ plugins.push(withExpoVersionCheck("android"), withAndroidAssets, withAndroidManifest, withMainActivity, withAndroidStyles, withAndroidColors, withAndroidColorsNight);
267
+ }
268
+ if (platforms.includes("ios")) {
269
+ plugins.push(withExpoVersionCheck("ios"), withIOSAssets, withAppDelegate, withInfoPlist, withXcodeProject);
270
+ }
271
+ return Expo.withPlugins(config, plugins.map(plugin => [plugin, props]));
272
+ };
273
+ //# sourceMappingURL=expo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Expo","assignColorValue","addImports","mergeContents","path","dedent","cleanIOSAssets","getExpoConfig","hfs","withExpoVersionCheck","platform","config","withDangerousMod","modRequest","projectRoot","withAndroidAssets","props","assetsDir","platformProjectRoot","srcDir","resolve","destDir","drawableDir","readDir","srcDrawableDir","join","destDrawableDir","ensureDir","file","copy","withAndroidManifest","modResults","manifest","application","forEach","$","activity","withMainActivity","language","withImports","contents","replace","withInit","src","comment","tag","offset","anchor","newSrc","withAndroidStyles","android","parentTheme","darkContentBarsStyle","resources","style","json","item","name","_","brand","push","String","withBootTheme","filter","parent","withAndroidColors","value","background","withAndroidColorsNight","darkBackground","withIOSAssets","projectName","xcassetsDir","srcXcassetsDir","destXcassetsDir","withAppDelegate","Error","withHeader","withRootView","withInfoPlist","withXcodeProject","IOSConfig","XcodeUtils","addResourceFileToGroup","filepath","groupName","project","isBuildFile","withoutExpoSplashScreen","createRunOncePlugin","withBootSplash","plugins","platforms","includes","withPlugins","map","plugin"],"sourceRoot":"../../src","sources":["expo.ts"],"mappings":"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","ignoreList":[]}