react-native-bootsplash 7.0.0-beta.1 → 7.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,319 @@
1
+ "use strict";
2
+
3
+ import * as Expo from "@expo/config-plugins";
4
+ import { assignColorValue } from "@expo/config-plugins/build/android/Colors";
5
+ import { addImports } from "@expo/config-plugins/build/android/codeMod";
6
+ import { mergeContents } from "@expo/config-plugins/build/utils/generateCode";
7
+ import childProcess from "child_process";
8
+ import path from "path";
9
+ import semver from "semver";
10
+ import { dedent } from "ts-dedent";
11
+ import util from "util";
12
+ import { hfs, log, packageName, requireAddon, setIsExpo, transformProps, writeAndroidAssets, writeGenericAssets, writeIOSAssets, writeWebAssets } from "./generate";
13
+ const promisifiedExec = util.promisify(childProcess.exec);
14
+ const exec = cmd => promisifiedExec(cmd).then(({
15
+ stdout,
16
+ stderr
17
+ }) => stdout || stderr);
18
+ const withoutExpoSplashScreen = Expo.createRunOncePlugin(expoConfig => expoConfig, "expo-splash-screen", "skip");
19
+ const withAndroidAssets = (expoConfig, rawProps) => Expo.withDangerousMod(expoConfig, ["android", async config => {
20
+ const {
21
+ platformProjectRoot,
22
+ projectRoot
23
+ } = config.modRequest;
24
+ const props = await transformProps(projectRoot, rawProps);
25
+ const addon = requireAddon(props);
26
+ const androidOutputPath = path.resolve(platformProjectRoot, "app", "src", "main", "res");
27
+ await writeAndroidAssets({
28
+ androidOutputPath,
29
+ props
30
+ });
31
+ await addon?.writeAndroidAssets({
32
+ androidOutputPath,
33
+ props
34
+ });
35
+ return config;
36
+ }]);
37
+ const withAndroidManifest = expoConfig => Expo.withAndroidManifest(expoConfig, config => {
38
+ config.modResults.manifest.application?.forEach(application => {
39
+ if (application.$["android:name"] === ".MainApplication") {
40
+ const {
41
+ activity
42
+ } = application;
43
+ activity?.forEach(activity => {
44
+ if (activity.$["android:name"] === ".MainActivity") {
45
+ activity.$["android:theme"] = "@style/BootTheme";
46
+ }
47
+ });
48
+ }
49
+ });
50
+ return config;
51
+ });
52
+ const withMainActivity = expoConfig => Expo.withMainActivity(expoConfig, config => {
53
+ const {
54
+ modResults
55
+ } = config;
56
+ const withImports = addImports(modResults.contents.replace(/(\/\/ )?setTheme\(R\.style\.AppTheme\)/, "// setTheme(R.style.AppTheme)"), ["android.os.Bundle", "com.zoontek.rnbootsplash.RNBootSplash"], false);
57
+
58
+ // indented with 4 spaces
59
+ const withInit = mergeContents({
60
+ src: withImports,
61
+ comment: " //",
62
+ tag: "bootsplash-init",
63
+ offset: 0,
64
+ anchor: /super\.onCreate\((null|savedInstanceState)\)/,
65
+ newSrc: " RNBootSplash.init(this, R.style.BootTheme)"
66
+ });
67
+ return {
68
+ ...config,
69
+ modResults: {
70
+ ...modResults,
71
+ contents: withInit.contents
72
+ }
73
+ };
74
+ });
75
+ const withAndroidStyles = (expoConfig, rawProps) => Expo.withAndroidStyles(expoConfig, async config => {
76
+ const {
77
+ projectRoot
78
+ } = config.modRequest;
79
+ const {
80
+ android,
81
+ brand
82
+ } = await transformProps(projectRoot, rawProps);
83
+ const {
84
+ darkContentBarsStyle
85
+ } = android;
86
+ const {
87
+ modResults
88
+ } = config;
89
+ const {
90
+ resources
91
+ } = modResults;
92
+ const {
93
+ style = []
94
+ } = resources;
95
+ const item = [{
96
+ $: {
97
+ name: "postBootSplashTheme"
98
+ },
99
+ _: "@style/AppTheme"
100
+ }, {
101
+ $: {
102
+ name: "bootSplashBackground"
103
+ },
104
+ _: "@color/bootsplash_background"
105
+ }, {
106
+ $: {
107
+ name: "bootSplashLogo"
108
+ },
109
+ _: "@drawable/bootsplash_logo"
110
+ }];
111
+ if (brand != null) {
112
+ item.push({
113
+ $: {
114
+ name: "bootSplashBrand"
115
+ },
116
+ _: "@drawable/bootsplash_brand"
117
+ });
118
+ }
119
+ if (darkContentBarsStyle != null) {
120
+ item.push({
121
+ $: {
122
+ name: "darkContentBarsStyle"
123
+ },
124
+ _: String(darkContentBarsStyle)
125
+ });
126
+ }
127
+ const withBootTheme = [...style.filter(({
128
+ $
129
+ }) => $.name !== "BootTheme"), {
130
+ $: {
131
+ name: "BootTheme",
132
+ parent: "Theme.BootSplash"
133
+ },
134
+ item
135
+ }];
136
+ return {
137
+ ...config,
138
+ modResults: {
139
+ ...modResults,
140
+ resources: {
141
+ ...resources,
142
+ style: withBootTheme
143
+ }
144
+ }
145
+ };
146
+ });
147
+ const withAndroidColors = (expoConfig, rawProps) => Expo.withAndroidColors(expoConfig, async config => {
148
+ const {
149
+ projectRoot
150
+ } = config.modRequest;
151
+ const {
152
+ background
153
+ } = await transformProps(projectRoot, rawProps);
154
+ config.modResults = assignColorValue(config.modResults, {
155
+ name: "bootsplash_background",
156
+ value: background.hex
157
+ });
158
+ return config;
159
+ });
160
+ const withAndroidColorsNight = (expoConfig, rawProps) => Expo.withAndroidColorsNight(expoConfig, async config => {
161
+ const {
162
+ projectRoot
163
+ } = config.modRequest;
164
+ const props = await transformProps(projectRoot, rawProps);
165
+ const addon = requireAddon(props);
166
+ return addon != null ? await addon.withAndroidColorsNight({
167
+ config,
168
+ props
169
+ }) : config;
170
+ });
171
+ const withIOSAssets = (expoConfig, rawProps) => Expo.withDangerousMod(expoConfig, ["ios", async config => {
172
+ const {
173
+ platformProjectRoot,
174
+ projectName = "",
175
+ projectRoot
176
+ } = config.modRequest;
177
+ const props = await transformProps(projectRoot, rawProps);
178
+ const addon = requireAddon(props);
179
+ const iosOutputPath = path.resolve(platformProjectRoot, projectName);
180
+ await writeIOSAssets({
181
+ iosOutputPath,
182
+ props
183
+ });
184
+ await addon?.writeIOSAssets({
185
+ iosOutputPath,
186
+ props
187
+ });
188
+ return config;
189
+ }]);
190
+ const withAppDelegate = expoConfig => Expo.withAppDelegate(expoConfig, config => {
191
+ const {
192
+ modResults
193
+ } = config;
194
+ const {
195
+ language
196
+ } = modResults;
197
+ if (language !== "swift") {
198
+ throw new Error(`Cannot modify the project AppDelegate as it's not in a supported language: ${language}`);
199
+ }
200
+ const withHeader = mergeContents({
201
+ src: modResults.contents,
202
+ comment: "//",
203
+ tag: "bootsplash-header",
204
+ offset: 1,
205
+ anchor: /import Expo/,
206
+ newSrc: "import RNBootSplash"
207
+ });
208
+ const withRootView = mergeContents({
209
+ src: withHeader.contents,
210
+ comment: "//",
211
+ tag: "bootsplash-init",
212
+ offset: 1,
213
+ anchor: /class ReactNativeDelegate: ExpoReactNativeFactoryDelegate {/,
214
+ newSrc: dedent`
215
+ public override func customize(_ rootView: UIView) {
216
+ super.customize(rootView)
217
+ RNBootSplash.initWithStoryboard("BootSplash", rootView: rootView)
218
+ }
219
+ `
220
+ });
221
+ return {
222
+ ...config,
223
+ modResults: {
224
+ ...modResults,
225
+ contents: withRootView.contents
226
+ }
227
+ };
228
+ });
229
+ const withInfoPlist = expoConfig => Expo.withInfoPlist(expoConfig, config => {
230
+ config.modResults["UILaunchStoryboardName"] = "BootSplash";
231
+ return config;
232
+ });
233
+ const withXcodeProject = expoConfig => Expo.withXcodeProject(expoConfig, config => {
234
+ const {
235
+ projectName = ""
236
+ } = config.modRequest;
237
+ Expo.IOSConfig.XcodeUtils.addResourceFileToGroup({
238
+ filepath: path.join(projectName, "BootSplash.storyboard"),
239
+ groupName: projectName,
240
+ project: config.modResults,
241
+ isBuildFile: true
242
+ });
243
+ Expo.IOSConfig.XcodeUtils.addResourceFileToGroup({
244
+ filepath: path.join(projectName, "Colors.xcassets"),
245
+ groupName: projectName,
246
+ project: config.modResults,
247
+ isBuildFile: true
248
+ });
249
+ return config;
250
+ });
251
+ const withWebAssets = (expoConfig, rawProps) => Expo.withDangerousMod(expoConfig, [expoConfig.platforms?.includes("ios") ? "ios" : "android", async config => {
252
+ const {
253
+ projectRoot
254
+ } = config.modRequest;
255
+ const props = await transformProps(projectRoot, rawProps);
256
+ const addon = requireAddon(props);
257
+ const fileName = "public/index.html";
258
+ const htmlTemplatePath = path.resolve(projectRoot, fileName);
259
+ if (!hfs.exists(htmlTemplatePath)) {
260
+ await exec(`npx expo customize ${fileName}`);
261
+ }
262
+ await writeWebAssets({
263
+ htmlTemplatePath,
264
+ props
265
+ });
266
+ await addon?.writeWebAssets({
267
+ htmlTemplatePath,
268
+ props
269
+ });
270
+ return config;
271
+ }]);
272
+ const withGenericAssets = (expoConfig, rawProps) => Expo.withDangerousMod(expoConfig, [expoConfig.platforms?.includes("ios") ? "ios" : "android", async config => {
273
+ const {
274
+ projectRoot
275
+ } = config.modRequest;
276
+ const props = await transformProps(projectRoot, rawProps);
277
+ const addon = requireAddon(props);
278
+ await writeGenericAssets({
279
+ props
280
+ });
281
+ await addon?.writeGenericAssets({
282
+ props
283
+ });
284
+ return config;
285
+ }]);
286
+ export const withBootSplash = Expo.createRunOncePlugin((expoConfig, baseProps) => {
287
+ const {
288
+ platforms = [],
289
+ sdkVersion = "0.1.0"
290
+ } = expoConfig;
291
+ setIsExpo(true);
292
+ if (semver.lt(sdkVersion, "54.0.0")) {
293
+ log.error("Requires Expo 54.0.0 (or higher)");
294
+ process.exit(1);
295
+ }
296
+ if (!baseProps?.logo) {
297
+ log.error("Missing required parameter 'logo'");
298
+ process.exit(1);
299
+ }
300
+ const rawProps = {
301
+ assetsOutput: "assets/bootsplash",
302
+ background: "#fff",
303
+ brandWidth: 80,
304
+ logoWidth: 100,
305
+ ...baseProps
306
+ };
307
+ const plugins = [withoutExpoSplashScreen, withGenericAssets];
308
+ if (platforms.includes("android")) {
309
+ plugins.push(withAndroidAssets, withAndroidManifest, withMainActivity, withAndroidStyles, withAndroidColors, withAndroidColorsNight);
310
+ }
311
+ if (platforms.includes("ios")) {
312
+ plugins.push(withIOSAssets, withAppDelegate, withInfoPlist, withXcodeProject);
313
+ }
314
+ if (platforms.includes("web")) {
315
+ plugins.push(withWebAssets);
316
+ }
317
+ return Expo.withPlugins(expoConfig, plugins.map(plugin => [plugin, rawProps]));
318
+ }, packageName);
319
+ //# sourceMappingURL=expo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Expo","assignColorValue","addImports","mergeContents","childProcess","path","semver","dedent","util","hfs","log","packageName","requireAddon","setIsExpo","transformProps","writeAndroidAssets","writeGenericAssets","writeIOSAssets","writeWebAssets","promisifiedExec","promisify","exec","cmd","then","stdout","stderr","withoutExpoSplashScreen","createRunOncePlugin","expoConfig","withAndroidAssets","rawProps","withDangerousMod","config","platformProjectRoot","projectRoot","modRequest","props","addon","androidOutputPath","resolve","withAndroidManifest","modResults","manifest","application","forEach","$","activity","withMainActivity","withImports","contents","replace","withInit","src","comment","tag","offset","anchor","newSrc","withAndroidStyles","android","brand","darkContentBarsStyle","resources","style","item","name","_","push","String","withBootTheme","filter","parent","withAndroidColors","background","value","hex","withAndroidColorsNight","withIOSAssets","projectName","iosOutputPath","withAppDelegate","language","Error","withHeader","withRootView","withInfoPlist","withXcodeProject","IOSConfig","XcodeUtils","addResourceFileToGroup","filepath","join","groupName","project","isBuildFile","withWebAssets","platforms","includes","fileName","htmlTemplatePath","exists","withGenericAssets","withBootSplash","baseProps","sdkVersion","lt","error","process","exit","logo","assetsOutput","brandWidth","logoWidth","plugins","withPlugins","map","plugin"],"sourceRoot":"../../src","sources":["expo.ts"],"mappings":"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","ignoreList":[]}