react-native-bootsplash 4.4.2 → 4.5.1
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/README.md +1 -12
- package/android/.DS_Store +0 -0
- package/android/.npmignore +11 -0
- package/android/src/.DS_Store +0 -0
- package/android/src/main/.DS_Store +0 -0
- package/android/src/main/java/.DS_Store +0 -0
- package/android/src/main/java/com/.DS_Store +0 -0
- package/android/src/main/java/com/zoontek/.DS_Store +0 -0
- package/android/src/main/res/.DS_Store +0 -0
- package/dist/commonjs/generate.js +80 -40
- package/dist/commonjs/generate.js.map +1 -1
- package/dist/module/generate.js +80 -40
- package/dist/module/generate.js.map +1 -1
- package/dist/typescript/generate.d.ts.map +1 -1
- package/example/android/app/debug.keystore +0 -0
- package/ios/.DS_Store +0 -0
- package/ios/.npmignore +8 -0
- package/package.json +6 -5
- package/react-native.config.js +2 -13
- package/src/generate.ts +76 -48
package/README.md
CHANGED
|
@@ -121,7 +121,7 @@ The command can take multiple arguments:
|
|
|
121
121
|
```bash
|
|
122
122
|
yarn react-native generate-bootsplash <logoPath>
|
|
123
123
|
|
|
124
|
-
Generate a launch screen using an original logo file
|
|
124
|
+
Generate a launch screen using an original logo file (PNG or SVG)
|
|
125
125
|
|
|
126
126
|
Options:
|
|
127
127
|
--background-color <color> color used as launch screen background (in hexadecimal format) (default: "#fff")
|
|
@@ -141,17 +141,6 @@ yarn react-native generate-bootsplash assets/bootsplash_logo_original.png \
|
|
|
141
141
|
--flavor=main
|
|
142
142
|
```
|
|
143
143
|
|
|
144
|
-
#### Using an SVG
|
|
145
|
-
|
|
146
|
-
You might want to use SVG as input file. For that, you can install a CLI tool to convert your logo first:
|
|
147
|
-
|
|
148
|
-
```bash
|
|
149
|
-
$ brew install librsvg # available on macOS
|
|
150
|
-
$ rsvg-convert -w 3000 bootsplash_logo.svg -o bootsplash_logo.png # create a large PNG with generous leeway for 4x Android xxxhdpi devices
|
|
151
|
-
$ react-native generate-bootsplash bootsplash_logo.png
|
|
152
|
-
$ rm bootsplash_logo.png # optionally, clean up the PNG
|
|
153
|
-
```
|
|
154
|
-
|
|
155
144
|

|
|
156
145
|
|
|
157
146
|
This tool relies on the naming conventions that are used in the `/example` project and will therefore create the following files:
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -5,14 +5,12 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.generate = void 0;
|
|
7
7
|
var _fsExtra = _interopRequireDefault(require("fs-extra"));
|
|
8
|
-
var _jimp = _interopRequireDefault(require("jimp"));
|
|
9
8
|
var _path = _interopRequireDefault(require("path"));
|
|
10
9
|
var _picocolors = _interopRequireDefault(require("picocolors"));
|
|
10
|
+
var _sharp = _interopRequireDefault(require("sharp"));
|
|
11
11
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
12
12
|
const logoFileName = "bootsplash_logo";
|
|
13
13
|
const xcassetName = "BootSplashLogo";
|
|
14
|
-
// https://github.com/androidx/androidx/blob/androidx-main/core/core-splashscreen/src/main/res/values/dimens.xml#L22
|
|
15
|
-
const splashScreenIconSizeNoBackground = 288;
|
|
16
14
|
const androidColorName = "bootsplash_background";
|
|
17
15
|
const androidColorRegex = /<color name="bootsplash_background">#\w+<\/color>/g;
|
|
18
16
|
const ContentsJson = `{
|
|
@@ -95,9 +93,10 @@ const getStoryboard = _ref => {
|
|
|
95
93
|
</document>
|
|
96
94
|
`;
|
|
97
95
|
};
|
|
98
|
-
const log =
|
|
99
|
-
|
|
100
|
-
console.log(
|
|
96
|
+
const log = {
|
|
97
|
+
error: text => console.log(_picocolors.default.red(text)),
|
|
98
|
+
text: text => console.log(text),
|
|
99
|
+
warn: text => console.log(_picocolors.default.yellow(text))
|
|
101
100
|
};
|
|
102
101
|
const isValidHexadecimal = value => /^#?([0-9A-F]{3}){1,2}$/i.test(value);
|
|
103
102
|
const toFullHexadecimal = hex => {
|
|
@@ -117,14 +116,36 @@ const generate = async _ref2 => {
|
|
|
117
116
|
assetsPath
|
|
118
117
|
} = _ref2;
|
|
119
118
|
if (!isValidHexadecimal(backgroundColor)) {
|
|
120
|
-
|
|
119
|
+
log.error("--background-color value is not a valid hexadecimal color.");
|
|
120
|
+
process.exit(1);
|
|
121
121
|
}
|
|
122
|
-
const image =
|
|
122
|
+
const image = (0, _sharp.default)(logoPath);
|
|
123
123
|
const backgroundColorHex = toFullHexadecimal(backgroundColor);
|
|
124
|
-
const
|
|
125
|
-
|
|
124
|
+
const {
|
|
125
|
+
format
|
|
126
|
+
} = await image.metadata();
|
|
127
|
+
if (format !== "png" && format !== "svg") {
|
|
128
|
+
log.error("Input file is an unsupported image format");
|
|
129
|
+
process.exit(1);
|
|
130
|
+
}
|
|
131
|
+
const logoHeight = await image.clone().resize(logoWidth).toBuffer().then(buffer => (0, _sharp.default)(buffer).metadata()).then(_ref3 => {
|
|
132
|
+
let {
|
|
133
|
+
height = 0
|
|
134
|
+
} = _ref3;
|
|
135
|
+
return height;
|
|
136
|
+
});
|
|
137
|
+
if (logoWidth > 288) {
|
|
138
|
+
log.warn("⚠️ Logo width exceed 288dp. It will be cropped on Android.");
|
|
139
|
+
} else if (logoHeight > 288) {
|
|
140
|
+
log.warn("⚠️ Logo height exceed 288dp. It will be cropped on Android.");
|
|
141
|
+
} else if (logoWidth > 192) {
|
|
142
|
+
log.warn("⚠️ Logo width exceed 192dp. It might be cropped on Android.");
|
|
143
|
+
} else if (logoHeight > 192) {
|
|
144
|
+
log.warn("⚠️ Logo height exceed 192dp. It might be cropped on Android.");
|
|
145
|
+
}
|
|
146
|
+
const logWrite = (emoji, filePath, dimensions) => log.text(`${emoji} ${_path.default.relative(workingPath, filePath)}` + (dimensions != null ? ` (${dimensions.width}x${dimensions.height})` : ""));
|
|
126
147
|
if (assetsPath && _fsExtra.default.existsSync(assetsPath)) {
|
|
127
|
-
log(`\n ${_picocolors.default.underline("Assets")}`);
|
|
148
|
+
log.text(`\n ${_picocolors.default.underline("Assets")}`);
|
|
128
149
|
await Promise.all([{
|
|
129
150
|
ratio: 1,
|
|
130
151
|
suffix: ""
|
|
@@ -140,16 +161,20 @@ const generate = async _ref2 => {
|
|
|
140
161
|
}, {
|
|
141
162
|
ratio: 4,
|
|
142
163
|
suffix: "@4x"
|
|
143
|
-
}].map(
|
|
164
|
+
}].map(_ref4 => {
|
|
144
165
|
let {
|
|
145
166
|
ratio,
|
|
146
167
|
suffix
|
|
147
|
-
} =
|
|
168
|
+
} = _ref4;
|
|
148
169
|
const fileName = `${logoFileName}${suffix}.png`;
|
|
149
170
|
const filePath = _path.default.resolve(assetsPath, fileName);
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
171
|
+
return image.clone().resize(logoWidth * ratio).png({
|
|
172
|
+
quality: 100
|
|
173
|
+
}).toFile(filePath).then(_ref5 => {
|
|
174
|
+
let {
|
|
175
|
+
width,
|
|
176
|
+
height
|
|
177
|
+
} = _ref5;
|
|
153
178
|
logWrite("✨", filePath, {
|
|
154
179
|
width,
|
|
155
180
|
height
|
|
@@ -158,7 +183,7 @@ const generate = async _ref2 => {
|
|
|
158
183
|
}));
|
|
159
184
|
}
|
|
160
185
|
if (android) {
|
|
161
|
-
log(`\n ${_picocolors.default.underline("Android")}`);
|
|
186
|
+
log.text(`\n ${_picocolors.default.underline("Android")}`);
|
|
162
187
|
const appPath = android.appName ? _path.default.resolve(android.sourceDir, android.appName) : _path.default.resolve(android.sourceDir); // @react-native-community/cli 2.x & 3.x support
|
|
163
188
|
|
|
164
189
|
const resPath = _path.default.resolve(appPath, "src", flavor, "res");
|
|
@@ -193,23 +218,35 @@ const generate = async _ref2 => {
|
|
|
193
218
|
}, {
|
|
194
219
|
ratio: 4,
|
|
195
220
|
directory: "mipmap-xxxhdpi"
|
|
196
|
-
}].map(
|
|
221
|
+
}].map(_ref6 => {
|
|
197
222
|
let {
|
|
198
223
|
ratio,
|
|
199
224
|
directory
|
|
200
|
-
} =
|
|
225
|
+
} = _ref6;
|
|
201
226
|
const fileName = `${logoFileName}.png`;
|
|
202
227
|
const filePath = _path.default.resolve(resPath, directory, fileName);
|
|
203
|
-
|
|
204
|
-
const
|
|
205
|
-
const canvasSize = splashScreenIconSizeNoBackground * ratio;
|
|
228
|
+
// https://github.com/androidx/androidx/blob/androidx-main/core/core-splashscreen/src/main/res/values/dimens.xml#L22
|
|
229
|
+
const canvasSize = 288 * ratio;
|
|
206
230
|
|
|
207
|
-
// https://
|
|
208
|
-
const canvas =
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
231
|
+
// https://sharp.pixelplumbing.com/api-constructor
|
|
232
|
+
const canvas = (0, _sharp.default)({
|
|
233
|
+
create: {
|
|
234
|
+
width: canvasSize,
|
|
235
|
+
height: canvasSize,
|
|
236
|
+
channels: 4,
|
|
237
|
+
background: {
|
|
238
|
+
r: 255,
|
|
239
|
+
g: 255,
|
|
240
|
+
b: 255,
|
|
241
|
+
alpha: 0
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
});
|
|
245
|
+
return image.clone().resize(logoWidth * ratio).toBuffer().then(input => canvas.composite([{
|
|
246
|
+
input
|
|
247
|
+
}]).png({
|
|
248
|
+
quality: 100
|
|
249
|
+
}).toFile(filePath)).then(() => {
|
|
213
250
|
logWrite("✨", filePath, {
|
|
214
251
|
width: canvasSize,
|
|
215
252
|
height: canvasSize
|
|
@@ -218,7 +255,7 @@ const generate = async _ref2 => {
|
|
|
218
255
|
}));
|
|
219
256
|
}
|
|
220
257
|
if (ios) {
|
|
221
|
-
log(`\n ${_picocolors.default.underline("iOS")}`);
|
|
258
|
+
log.text(`\n ${_picocolors.default.underline("iOS")}`);
|
|
222
259
|
const {
|
|
223
260
|
projectPath
|
|
224
261
|
} = ios;
|
|
@@ -226,13 +263,13 @@ const generate = async _ref2 => {
|
|
|
226
263
|
if (_fsExtra.default.existsSync(projectPath)) {
|
|
227
264
|
const storyboardPath = _path.default.resolve(projectPath, "BootSplash.storyboard");
|
|
228
265
|
_fsExtra.default.writeFileSync(storyboardPath, getStoryboard({
|
|
229
|
-
height:
|
|
266
|
+
height: logoHeight,
|
|
230
267
|
width: logoWidth,
|
|
231
268
|
backgroundColor: backgroundColorHex
|
|
232
269
|
}), "utf-8");
|
|
233
270
|
logWrite("✨", storyboardPath);
|
|
234
271
|
} else {
|
|
235
|
-
log(`No "${projectPath}" directory found. Skipping iOS storyboard generation…`);
|
|
272
|
+
log.text(`No "${projectPath}" directory found. Skipping iOS storyboard generation…`);
|
|
236
273
|
}
|
|
237
274
|
if (_fsExtra.default.existsSync(imagesPath)) {
|
|
238
275
|
const imageSetPath = _path.default.resolve(imagesPath, xcassetName + ".imageset");
|
|
@@ -247,16 +284,20 @@ const generate = async _ref2 => {
|
|
|
247
284
|
}, {
|
|
248
285
|
ratio: 3,
|
|
249
286
|
suffix: "@3x"
|
|
250
|
-
}].map(
|
|
287
|
+
}].map(_ref7 => {
|
|
251
288
|
let {
|
|
252
289
|
ratio,
|
|
253
290
|
suffix
|
|
254
|
-
} =
|
|
291
|
+
} = _ref7;
|
|
255
292
|
const fileName = `${logoFileName}${suffix}.png`;
|
|
256
293
|
const filePath = _path.default.resolve(imageSetPath, fileName);
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
294
|
+
return image.clone().resize(logoWidth * ratio).png({
|
|
295
|
+
quality: 100
|
|
296
|
+
}).toFile(filePath).then(_ref8 => {
|
|
297
|
+
let {
|
|
298
|
+
width,
|
|
299
|
+
height
|
|
300
|
+
} = _ref8;
|
|
260
301
|
logWrite("✨", filePath, {
|
|
261
302
|
width,
|
|
262
303
|
height
|
|
@@ -264,17 +305,16 @@ const generate = async _ref2 => {
|
|
|
264
305
|
});
|
|
265
306
|
}));
|
|
266
307
|
} else {
|
|
267
|
-
log(`No "${imagesPath}" directory found. Skipping iOS images generation…`);
|
|
308
|
+
log.text(`No "${imagesPath}" directory found. Skipping iOS images generation…`);
|
|
268
309
|
}
|
|
269
310
|
}
|
|
270
|
-
log(`
|
|
311
|
+
log.text(`
|
|
271
312
|
${_picocolors.default.blue("┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓")}
|
|
272
313
|
${_picocolors.default.blue("┃")} 💖 ${_picocolors.default.bold("Love this library? Consider sponsoring!")} ${_picocolors.default.blue("┃")}
|
|
273
|
-
${_picocolors.default.blue("┃")} One-time amounts are available. ${_picocolors.default.blue("┃")}
|
|
274
314
|
${_picocolors.default.blue("┃")} ${_picocolors.default.underline("https://github.com/sponsors/zoontek")} ${_picocolors.default.blue("┃")}
|
|
275
315
|
${_picocolors.default.blue("┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛")}
|
|
276
316
|
`);
|
|
277
|
-
log(`✅ Done! Thanks for using ${_picocolors.default.underline("react-native-bootsplash")}.`);
|
|
317
|
+
log.text(`✅ Done! Thanks for using ${_picocolors.default.underline("react-native-bootsplash")}.`);
|
|
278
318
|
};
|
|
279
319
|
exports.generate = generate;
|
|
280
320
|
//# sourceMappingURL=generate.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["logoFileName","xcassetName","splashScreenIconSizeNoBackground","androidColorName","androidColorRegex","ContentsJson","getStoryboard","height","width","backgroundColor","hex","r","parseInt","toPrecision","g","b","log","text","dim","console","pc","isValidHexadecimal","value","test","toFullHexadecimal","prefixed","up","toUpperCase","length","generate","android","ios","workingPath","logoPath","logoWidth","flavor","assetsPath","Error","image","Jimp","read","backgroundColorHex","getHeight","size","Math","ceil","bitmap","logWrite","emoji","filePath","dimensions","path","relative","fs","existsSync","underline","Promise","all","ratio","suffix","map","fileName","resolve","clone","resize","quality","writeAsync","then","appPath","appName","sourceDir","resPath","valuesPath","ensureDirSync","colorsXmlPath","colorsXmlEntry","colorsXml","readFileSync","match","writeFileSync","replace","directory","canvasSize","canvas","logo","x","y","blit","projectPath","imagesPath","storyboardPath","imageSetPath","blue","bold"],"sourceRoot":"../../src","sources":["generate.ts"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["logoFileName","xcassetName","androidColorName","androidColorRegex","ContentsJson","getStoryboard","height","width","backgroundColor","hex","r","parseInt","toPrecision","g","b","log","error","text","console","pc","red","warn","yellow","isValidHexadecimal","value","test","toFullHexadecimal","prefixed","up","toUpperCase","length","generate","android","ios","workingPath","logoPath","logoWidth","flavor","assetsPath","process","exit","image","sharp","backgroundColorHex","format","metadata","logoHeight","clone","resize","toBuffer","then","buffer","logWrite","emoji","filePath","dimensions","path","relative","fs","existsSync","underline","Promise","all","ratio","suffix","map","fileName","resolve","png","quality","toFile","appPath","appName","sourceDir","resPath","valuesPath","ensureDirSync","colorsXmlPath","colorsXmlEntry","colorsXml","readFileSync","match","writeFileSync","replace","directory","canvasSize","canvas","create","channels","background","alpha","input","composite","projectPath","imagesPath","storyboardPath","imageSetPath","blue","bold"],"sourceRoot":"../../src","sources":["generate.ts"],"mappings":"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"}
|
package/dist/module/generate.js
CHANGED
|
@@ -1,11 +1,9 @@
|
|
|
1
1
|
import fs from "fs-extra";
|
|
2
|
-
import Jimp from "jimp";
|
|
3
2
|
import path from "path";
|
|
4
3
|
import pc from "picocolors";
|
|
4
|
+
import sharp from "sharp";
|
|
5
5
|
const logoFileName = "bootsplash_logo";
|
|
6
6
|
const xcassetName = "BootSplashLogo";
|
|
7
|
-
// https://github.com/androidx/androidx/blob/androidx-main/core/core-splashscreen/src/main/res/values/dimens.xml#L22
|
|
8
|
-
const splashScreenIconSizeNoBackground = 288;
|
|
9
7
|
const androidColorName = "bootsplash_background";
|
|
10
8
|
const androidColorRegex = /<color name="bootsplash_background">#\w+<\/color>/g;
|
|
11
9
|
const ContentsJson = `{
|
|
@@ -88,9 +86,10 @@ const getStoryboard = _ref => {
|
|
|
88
86
|
</document>
|
|
89
87
|
`;
|
|
90
88
|
};
|
|
91
|
-
const log =
|
|
92
|
-
|
|
93
|
-
console.log(
|
|
89
|
+
const log = {
|
|
90
|
+
error: text => console.log(pc.red(text)),
|
|
91
|
+
text: text => console.log(text),
|
|
92
|
+
warn: text => console.log(pc.yellow(text))
|
|
94
93
|
};
|
|
95
94
|
const isValidHexadecimal = value => /^#?([0-9A-F]{3}){1,2}$/i.test(value);
|
|
96
95
|
const toFullHexadecimal = hex => {
|
|
@@ -110,14 +109,36 @@ export const generate = async _ref2 => {
|
|
|
110
109
|
assetsPath
|
|
111
110
|
} = _ref2;
|
|
112
111
|
if (!isValidHexadecimal(backgroundColor)) {
|
|
113
|
-
|
|
112
|
+
log.error("--background-color value is not a valid hexadecimal color.");
|
|
113
|
+
process.exit(1);
|
|
114
114
|
}
|
|
115
|
-
const image =
|
|
115
|
+
const image = sharp(logoPath);
|
|
116
116
|
const backgroundColorHex = toFullHexadecimal(backgroundColor);
|
|
117
|
-
const
|
|
118
|
-
|
|
117
|
+
const {
|
|
118
|
+
format
|
|
119
|
+
} = await image.metadata();
|
|
120
|
+
if (format !== "png" && format !== "svg") {
|
|
121
|
+
log.error("Input file is an unsupported image format");
|
|
122
|
+
process.exit(1);
|
|
123
|
+
}
|
|
124
|
+
const logoHeight = await image.clone().resize(logoWidth).toBuffer().then(buffer => sharp(buffer).metadata()).then(_ref3 => {
|
|
125
|
+
let {
|
|
126
|
+
height = 0
|
|
127
|
+
} = _ref3;
|
|
128
|
+
return height;
|
|
129
|
+
});
|
|
130
|
+
if (logoWidth > 288) {
|
|
131
|
+
log.warn("⚠️ Logo width exceed 288dp. It will be cropped on Android.");
|
|
132
|
+
} else if (logoHeight > 288) {
|
|
133
|
+
log.warn("⚠️ Logo height exceed 288dp. It will be cropped on Android.");
|
|
134
|
+
} else if (logoWidth > 192) {
|
|
135
|
+
log.warn("⚠️ Logo width exceed 192dp. It might be cropped on Android.");
|
|
136
|
+
} else if (logoHeight > 192) {
|
|
137
|
+
log.warn("⚠️ Logo height exceed 192dp. It might be cropped on Android.");
|
|
138
|
+
}
|
|
139
|
+
const logWrite = (emoji, filePath, dimensions) => log.text(`${emoji} ${path.relative(workingPath, filePath)}` + (dimensions != null ? ` (${dimensions.width}x${dimensions.height})` : ""));
|
|
119
140
|
if (assetsPath && fs.existsSync(assetsPath)) {
|
|
120
|
-
log(`\n ${pc.underline("Assets")}`);
|
|
141
|
+
log.text(`\n ${pc.underline("Assets")}`);
|
|
121
142
|
await Promise.all([{
|
|
122
143
|
ratio: 1,
|
|
123
144
|
suffix: ""
|
|
@@ -133,16 +154,20 @@ export const generate = async _ref2 => {
|
|
|
133
154
|
}, {
|
|
134
155
|
ratio: 4,
|
|
135
156
|
suffix: "@4x"
|
|
136
|
-
}].map(
|
|
157
|
+
}].map(_ref4 => {
|
|
137
158
|
let {
|
|
138
159
|
ratio,
|
|
139
160
|
suffix
|
|
140
|
-
} =
|
|
161
|
+
} = _ref4;
|
|
141
162
|
const fileName = `${logoFileName}${suffix}.png`;
|
|
142
163
|
const filePath = path.resolve(assetsPath, fileName);
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
164
|
+
return image.clone().resize(logoWidth * ratio).png({
|
|
165
|
+
quality: 100
|
|
166
|
+
}).toFile(filePath).then(_ref5 => {
|
|
167
|
+
let {
|
|
168
|
+
width,
|
|
169
|
+
height
|
|
170
|
+
} = _ref5;
|
|
146
171
|
logWrite("✨", filePath, {
|
|
147
172
|
width,
|
|
148
173
|
height
|
|
@@ -151,7 +176,7 @@ export const generate = async _ref2 => {
|
|
|
151
176
|
}));
|
|
152
177
|
}
|
|
153
178
|
if (android) {
|
|
154
|
-
log(`\n ${pc.underline("Android")}`);
|
|
179
|
+
log.text(`\n ${pc.underline("Android")}`);
|
|
155
180
|
const appPath = android.appName ? path.resolve(android.sourceDir, android.appName) : path.resolve(android.sourceDir); // @react-native-community/cli 2.x & 3.x support
|
|
156
181
|
|
|
157
182
|
const resPath = path.resolve(appPath, "src", flavor, "res");
|
|
@@ -186,23 +211,35 @@ export const generate = async _ref2 => {
|
|
|
186
211
|
}, {
|
|
187
212
|
ratio: 4,
|
|
188
213
|
directory: "mipmap-xxxhdpi"
|
|
189
|
-
}].map(
|
|
214
|
+
}].map(_ref6 => {
|
|
190
215
|
let {
|
|
191
216
|
ratio,
|
|
192
217
|
directory
|
|
193
|
-
} =
|
|
218
|
+
} = _ref6;
|
|
194
219
|
const fileName = `${logoFileName}.png`;
|
|
195
220
|
const filePath = path.resolve(resPath, directory, fileName);
|
|
196
|
-
|
|
197
|
-
const
|
|
198
|
-
const canvasSize = splashScreenIconSizeNoBackground * ratio;
|
|
221
|
+
// https://github.com/androidx/androidx/blob/androidx-main/core/core-splashscreen/src/main/res/values/dimens.xml#L22
|
|
222
|
+
const canvasSize = 288 * ratio;
|
|
199
223
|
|
|
200
|
-
// https://
|
|
201
|
-
const canvas =
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
224
|
+
// https://sharp.pixelplumbing.com/api-constructor
|
|
225
|
+
const canvas = sharp({
|
|
226
|
+
create: {
|
|
227
|
+
width: canvasSize,
|
|
228
|
+
height: canvasSize,
|
|
229
|
+
channels: 4,
|
|
230
|
+
background: {
|
|
231
|
+
r: 255,
|
|
232
|
+
g: 255,
|
|
233
|
+
b: 255,
|
|
234
|
+
alpha: 0
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
});
|
|
238
|
+
return image.clone().resize(logoWidth * ratio).toBuffer().then(input => canvas.composite([{
|
|
239
|
+
input
|
|
240
|
+
}]).png({
|
|
241
|
+
quality: 100
|
|
242
|
+
}).toFile(filePath)).then(() => {
|
|
206
243
|
logWrite("✨", filePath, {
|
|
207
244
|
width: canvasSize,
|
|
208
245
|
height: canvasSize
|
|
@@ -211,7 +248,7 @@ export const generate = async _ref2 => {
|
|
|
211
248
|
}));
|
|
212
249
|
}
|
|
213
250
|
if (ios) {
|
|
214
|
-
log(`\n ${pc.underline("iOS")}`);
|
|
251
|
+
log.text(`\n ${pc.underline("iOS")}`);
|
|
215
252
|
const {
|
|
216
253
|
projectPath
|
|
217
254
|
} = ios;
|
|
@@ -219,13 +256,13 @@ export const generate = async _ref2 => {
|
|
|
219
256
|
if (fs.existsSync(projectPath)) {
|
|
220
257
|
const storyboardPath = path.resolve(projectPath, "BootSplash.storyboard");
|
|
221
258
|
fs.writeFileSync(storyboardPath, getStoryboard({
|
|
222
|
-
height:
|
|
259
|
+
height: logoHeight,
|
|
223
260
|
width: logoWidth,
|
|
224
261
|
backgroundColor: backgroundColorHex
|
|
225
262
|
}), "utf-8");
|
|
226
263
|
logWrite("✨", storyboardPath);
|
|
227
264
|
} else {
|
|
228
|
-
log(`No "${projectPath}" directory found. Skipping iOS storyboard generation…`);
|
|
265
|
+
log.text(`No "${projectPath}" directory found. Skipping iOS storyboard generation…`);
|
|
229
266
|
}
|
|
230
267
|
if (fs.existsSync(imagesPath)) {
|
|
231
268
|
const imageSetPath = path.resolve(imagesPath, xcassetName + ".imageset");
|
|
@@ -240,16 +277,20 @@ export const generate = async _ref2 => {
|
|
|
240
277
|
}, {
|
|
241
278
|
ratio: 3,
|
|
242
279
|
suffix: "@3x"
|
|
243
|
-
}].map(
|
|
280
|
+
}].map(_ref7 => {
|
|
244
281
|
let {
|
|
245
282
|
ratio,
|
|
246
283
|
suffix
|
|
247
|
-
} =
|
|
284
|
+
} = _ref7;
|
|
248
285
|
const fileName = `${logoFileName}${suffix}.png`;
|
|
249
286
|
const filePath = path.resolve(imageSetPath, fileName);
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
287
|
+
return image.clone().resize(logoWidth * ratio).png({
|
|
288
|
+
quality: 100
|
|
289
|
+
}).toFile(filePath).then(_ref8 => {
|
|
290
|
+
let {
|
|
291
|
+
width,
|
|
292
|
+
height
|
|
293
|
+
} = _ref8;
|
|
253
294
|
logWrite("✨", filePath, {
|
|
254
295
|
width,
|
|
255
296
|
height
|
|
@@ -257,16 +298,15 @@ export const generate = async _ref2 => {
|
|
|
257
298
|
});
|
|
258
299
|
}));
|
|
259
300
|
} else {
|
|
260
|
-
log(`No "${imagesPath}" directory found. Skipping iOS images generation…`);
|
|
301
|
+
log.text(`No "${imagesPath}" directory found. Skipping iOS images generation…`);
|
|
261
302
|
}
|
|
262
303
|
}
|
|
263
|
-
log(`
|
|
304
|
+
log.text(`
|
|
264
305
|
${pc.blue("┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓")}
|
|
265
306
|
${pc.blue("┃")} 💖 ${pc.bold("Love this library? Consider sponsoring!")} ${pc.blue("┃")}
|
|
266
|
-
${pc.blue("┃")} One-time amounts are available. ${pc.blue("┃")}
|
|
267
307
|
${pc.blue("┃")} ${pc.underline("https://github.com/sponsors/zoontek")} ${pc.blue("┃")}
|
|
268
308
|
${pc.blue("┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛")}
|
|
269
309
|
`);
|
|
270
|
-
log(`✅ Done! Thanks for using ${pc.underline("react-native-bootsplash")}.`);
|
|
310
|
+
log.text(`✅ Done! Thanks for using ${pc.underline("react-native-bootsplash")}.`);
|
|
271
311
|
};
|
|
272
312
|
//# sourceMappingURL=generate.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["fs","Jimp","path","pc","logoFileName","xcassetName","splashScreenIconSizeNoBackground","androidColorName","androidColorRegex","ContentsJson","getStoryboard","height","width","backgroundColor","hex","r","parseInt","toPrecision","g","b","log","text","dim","console","isValidHexadecimal","value","test","toFullHexadecimal","prefixed","up","toUpperCase","length","generate","android","ios","workingPath","logoPath","logoWidth","flavor","assetsPath","Error","image","read","backgroundColorHex","getHeight","size","Math","ceil","bitmap","logWrite","emoji","filePath","dimensions","relative","existsSync","underline","Promise","all","ratio","suffix","map","fileName","resolve","clone","resize","quality","writeAsync","then","appPath","appName","sourceDir","resPath","valuesPath","ensureDirSync","colorsXmlPath","colorsXmlEntry","colorsXml","readFileSync","match","writeFileSync","replace","directory","canvasSize","canvas","logo","x","y","blit","projectPath","imagesPath","storyboardPath","imageSetPath","blue","bold"],"sourceRoot":"../../src","sources":["generate.ts"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["fs","path","pc","sharp","logoFileName","xcassetName","androidColorName","androidColorRegex","ContentsJson","getStoryboard","height","width","backgroundColor","hex","r","parseInt","toPrecision","g","b","log","error","text","console","red","warn","yellow","isValidHexadecimal","value","test","toFullHexadecimal","prefixed","up","toUpperCase","length","generate","android","ios","workingPath","logoPath","logoWidth","flavor","assetsPath","process","exit","image","backgroundColorHex","format","metadata","logoHeight","clone","resize","toBuffer","then","buffer","logWrite","emoji","filePath","dimensions","relative","existsSync","underline","Promise","all","ratio","suffix","map","fileName","resolve","png","quality","toFile","appPath","appName","sourceDir","resPath","valuesPath","ensureDirSync","colorsXmlPath","colorsXmlEntry","colorsXml","readFileSync","match","writeFileSync","replace","directory","canvasSize","canvas","create","channels","background","alpha","input","composite","projectPath","imagesPath","storyboardPath","imageSetPath","blue","bold"],"sourceRoot":"../../src","sources":["generate.ts"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../src/generate.ts"],"names":[],"mappings":"AAoHA,eAAO,MAAM,QAAQ;aAWV;QACP,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,MAAM,CAAC;KACjB,GAAG,IAAI;SACH;QACH,WAAW,EAAE,MAAM,CAAC;KACrB,GAAG,IAAI;iBAEK,MAAM;cACT,MAAM;;qBAGC,MAAM;YACf,MAAM;eACH,MAAM;
|
|
1
|
+
{"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../src/generate.ts"],"names":[],"mappings":"AAoHA,eAAO,MAAM,QAAQ;aAWV;QACP,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,MAAM,CAAC;KACjB,GAAG,IAAI;SACH;QACH,WAAW,EAAE,MAAM,CAAC;KACrB,GAAG,IAAI;iBAEK,MAAM;cACT,MAAM;;qBAGC,MAAM;YACf,MAAM;eACH,MAAM;mBA8OlB,CAAC"}
|
|
Binary file
|
package/ios/.DS_Store
ADDED
|
Binary file
|
package/ios/.npmignore
ADDED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-native-bootsplash",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.5.1",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"description": "Display a bootsplash on your app starts. Hide it when you want.",
|
|
6
6
|
"author": "Mathieu Acthernoene <zoontek@gmail.com>",
|
|
@@ -60,16 +60,17 @@
|
|
|
60
60
|
},
|
|
61
61
|
"dependencies": {
|
|
62
62
|
"fs-extra": "^11.1.0",
|
|
63
|
-
"
|
|
63
|
+
"sharp": "^0.31.3",
|
|
64
64
|
"picocolors": "^1.0.0"
|
|
65
65
|
},
|
|
66
66
|
"devDependencies": {
|
|
67
67
|
"@types/fs-extra": "^11.0.1",
|
|
68
|
-
"
|
|
69
|
-
"
|
|
68
|
+
"@types/sharp": "^0.31.1",
|
|
69
|
+
"lint-staged": "^13.1.1",
|
|
70
|
+
"prettier": "^2.8.4",
|
|
70
71
|
"prettier-plugin-organize-imports": "^3.2.2",
|
|
71
72
|
"react": "18.2.0",
|
|
72
|
-
"react-native": "0.71.
|
|
73
|
+
"react-native": "0.71.3",
|
|
73
74
|
"react-native-builder-bob": "^0.20.3",
|
|
74
75
|
"rescript": "^10.1.2",
|
|
75
76
|
"typescript": "^4.9.5"
|
package/react-native.config.js
CHANGED
|
@@ -5,7 +5,8 @@ module.exports = {
|
|
|
5
5
|
commands: [
|
|
6
6
|
{
|
|
7
7
|
name: "generate-bootsplash <logoPath>",
|
|
8
|
-
description:
|
|
8
|
+
description:
|
|
9
|
+
"Generate a launch screen using an original logo file (PNG or SVG)",
|
|
9
10
|
options: [
|
|
10
11
|
{
|
|
11
12
|
name: "--background-color <color>",
|
|
@@ -40,18 +41,6 @@ module.exports = {
|
|
|
40
41
|
const workingPath =
|
|
41
42
|
process.env.INIT_CWD || process.env.PWD || process.cwd();
|
|
42
43
|
|
|
43
|
-
if (logoWidth > 288) {
|
|
44
|
-
console.log(
|
|
45
|
-
"❌ Logo width can't be superior to 288dp as it will be cropped on Android. Exiting…\n",
|
|
46
|
-
);
|
|
47
|
-
|
|
48
|
-
process.exit(1);
|
|
49
|
-
} else if (logoWidth > 192) {
|
|
50
|
-
console.log(
|
|
51
|
-
"⚠️ As logo width is superior to 192dp, it might be cropped on Android.\n",
|
|
52
|
-
);
|
|
53
|
-
}
|
|
54
|
-
|
|
55
44
|
return generate({
|
|
56
45
|
android,
|
|
57
46
|
|
package/src/generate.ts
CHANGED
|
@@ -1,12 +1,10 @@
|
|
|
1
1
|
import fs from "fs-extra";
|
|
2
|
-
import Jimp from "jimp";
|
|
3
2
|
import path from "path";
|
|
4
3
|
import pc from "picocolors";
|
|
4
|
+
import sharp from "sharp";
|
|
5
5
|
|
|
6
6
|
const logoFileName = "bootsplash_logo";
|
|
7
7
|
const xcassetName = "BootSplashLogo";
|
|
8
|
-
// https://github.com/androidx/androidx/blob/androidx-main/core/core-splashscreen/src/main/res/values/dimens.xml#L22
|
|
9
|
-
const splashScreenIconSizeNoBackground = 288;
|
|
10
8
|
const androidColorName = "bootsplash_background";
|
|
11
9
|
const androidColorRegex = /<color name="bootsplash_background">#\w+<\/color>/g;
|
|
12
10
|
|
|
@@ -98,8 +96,10 @@ const getStoryboard = ({
|
|
|
98
96
|
`;
|
|
99
97
|
};
|
|
100
98
|
|
|
101
|
-
const log =
|
|
102
|
-
console.log(
|
|
99
|
+
const log = {
|
|
100
|
+
error: (text: string) => console.log(pc.red(text)),
|
|
101
|
+
text: (text: string) => console.log(text),
|
|
102
|
+
warn: (text: string) => console.log(pc.yellow(text)),
|
|
103
103
|
};
|
|
104
104
|
|
|
105
105
|
const isValidHexadecimal = (value: string) =>
|
|
@@ -142,23 +142,42 @@ export const generate = async ({
|
|
|
142
142
|
logoWidth: number;
|
|
143
143
|
}) => {
|
|
144
144
|
if (!isValidHexadecimal(backgroundColor)) {
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
);
|
|
145
|
+
log.error("--background-color value is not a valid hexadecimal color.");
|
|
146
|
+
process.exit(1);
|
|
148
147
|
}
|
|
149
148
|
|
|
150
|
-
const image =
|
|
149
|
+
const image = sharp(logoPath);
|
|
151
150
|
const backgroundColorHex = toFullHexadecimal(backgroundColor);
|
|
151
|
+
const { format } = await image.metadata();
|
|
152
152
|
|
|
153
|
-
|
|
154
|
-
|
|
153
|
+
if (format !== "png" && format !== "svg") {
|
|
154
|
+
log.error("Input file is an unsupported image format");
|
|
155
|
+
process.exit(1);
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
const logoHeight = await image
|
|
159
|
+
.clone()
|
|
160
|
+
.resize(logoWidth)
|
|
161
|
+
.toBuffer()
|
|
162
|
+
.then((buffer) => sharp(buffer).metadata())
|
|
163
|
+
.then(({ height = 0 }) => height);
|
|
164
|
+
|
|
165
|
+
if (logoWidth > 288) {
|
|
166
|
+
log.warn("⚠️ Logo width exceed 288dp. It will be cropped on Android.");
|
|
167
|
+
} else if (logoHeight > 288) {
|
|
168
|
+
log.warn("⚠️ Logo height exceed 288dp. It will be cropped on Android.");
|
|
169
|
+
} else if (logoWidth > 192) {
|
|
170
|
+
log.warn("⚠️ Logo width exceed 192dp. It might be cropped on Android.");
|
|
171
|
+
} else if (logoHeight > 192) {
|
|
172
|
+
log.warn("⚠️ Logo height exceed 192dp. It might be cropped on Android.");
|
|
173
|
+
}
|
|
155
174
|
|
|
156
175
|
const logWrite = (
|
|
157
176
|
emoji: string,
|
|
158
177
|
filePath: string,
|
|
159
178
|
dimensions?: { width: number; height: number },
|
|
160
179
|
) =>
|
|
161
|
-
log(
|
|
180
|
+
log.text(
|
|
162
181
|
`${emoji} ${path.relative(workingPath, filePath)}` +
|
|
163
182
|
(dimensions != null
|
|
164
183
|
? ` (${dimensions.width}x${dimensions.height})`
|
|
@@ -166,7 +185,7 @@ export const generate = async ({
|
|
|
166
185
|
);
|
|
167
186
|
|
|
168
187
|
if (assetsPath && fs.existsSync(assetsPath)) {
|
|
169
|
-
log(`\n ${pc.underline("Assets")}`);
|
|
188
|
+
log.text(`\n ${pc.underline("Assets")}`);
|
|
170
189
|
|
|
171
190
|
await Promise.all(
|
|
172
191
|
[
|
|
@@ -178,15 +197,13 @@ export const generate = async ({
|
|
|
178
197
|
].map(({ ratio, suffix }) => {
|
|
179
198
|
const fileName = `${logoFileName}${suffix}.png`;
|
|
180
199
|
const filePath = path.resolve(assetsPath, fileName);
|
|
181
|
-
const width = logoWidth * ratio;
|
|
182
|
-
const height = getHeight(width);
|
|
183
200
|
|
|
184
201
|
return image
|
|
185
202
|
.clone()
|
|
186
|
-
.resize(
|
|
187
|
-
.quality
|
|
188
|
-
.
|
|
189
|
-
.then(() => {
|
|
203
|
+
.resize(logoWidth * ratio)
|
|
204
|
+
.png({ quality: 100 })
|
|
205
|
+
.toFile(filePath)
|
|
206
|
+
.then(({ width, height }) => {
|
|
190
207
|
logWrite("✨", filePath, { width, height });
|
|
191
208
|
});
|
|
192
209
|
}),
|
|
@@ -194,7 +211,7 @@ export const generate = async ({
|
|
|
194
211
|
}
|
|
195
212
|
|
|
196
213
|
if (android) {
|
|
197
|
-
log(`\n ${pc.underline("Android")}`);
|
|
214
|
+
log.text(`\n ${pc.underline("Android")}`);
|
|
198
215
|
|
|
199
216
|
const appPath = android.appName
|
|
200
217
|
? path.resolve(android.sourceDir, android.appName)
|
|
@@ -249,22 +266,34 @@ export const generate = async ({
|
|
|
249
266
|
].map(({ ratio, directory }) => {
|
|
250
267
|
const fileName = `${logoFileName}.png`;
|
|
251
268
|
const filePath = path.resolve(resPath, directory, fileName);
|
|
252
|
-
|
|
253
|
-
const
|
|
269
|
+
// https://github.com/androidx/androidx/blob/androidx-main/core/core-splashscreen/src/main/res/values/dimens.xml#L22
|
|
270
|
+
const canvasSize = 288 * ratio;
|
|
271
|
+
|
|
272
|
+
// https://sharp.pixelplumbing.com/api-constructor
|
|
273
|
+
const canvas = sharp({
|
|
274
|
+
create: {
|
|
275
|
+
width: canvasSize,
|
|
276
|
+
height: canvasSize,
|
|
277
|
+
channels: 4,
|
|
278
|
+
background: {
|
|
279
|
+
r: 255,
|
|
280
|
+
g: 255,
|
|
281
|
+
b: 255,
|
|
282
|
+
alpha: 0,
|
|
283
|
+
},
|
|
284
|
+
},
|
|
285
|
+
});
|
|
254
286
|
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
.blit(logo, x, y)
|
|
266
|
-
.quality(100)
|
|
267
|
-
.writeAsync(filePath)
|
|
287
|
+
return image
|
|
288
|
+
.clone()
|
|
289
|
+
.resize(logoWidth * ratio)
|
|
290
|
+
.toBuffer()
|
|
291
|
+
.then((input) =>
|
|
292
|
+
canvas
|
|
293
|
+
.composite([{ input }])
|
|
294
|
+
.png({ quality: 100 })
|
|
295
|
+
.toFile(filePath),
|
|
296
|
+
)
|
|
268
297
|
.then(() => {
|
|
269
298
|
logWrite("✨", filePath, { width: canvasSize, height: canvasSize });
|
|
270
299
|
});
|
|
@@ -273,7 +302,7 @@ export const generate = async ({
|
|
|
273
302
|
}
|
|
274
303
|
|
|
275
304
|
if (ios) {
|
|
276
|
-
log(`\n ${pc.underline("iOS")}`);
|
|
305
|
+
log.text(`\n ${pc.underline("iOS")}`);
|
|
277
306
|
|
|
278
307
|
const { projectPath } = ios;
|
|
279
308
|
const imagesPath = path.resolve(projectPath, "Images.xcassets");
|
|
@@ -284,7 +313,7 @@ export const generate = async ({
|
|
|
284
313
|
fs.writeFileSync(
|
|
285
314
|
storyboardPath,
|
|
286
315
|
getStoryboard({
|
|
287
|
-
height:
|
|
316
|
+
height: logoHeight,
|
|
288
317
|
width: logoWidth,
|
|
289
318
|
backgroundColor: backgroundColorHex,
|
|
290
319
|
}),
|
|
@@ -293,7 +322,7 @@ export const generate = async ({
|
|
|
293
322
|
|
|
294
323
|
logWrite("✨", storyboardPath);
|
|
295
324
|
} else {
|
|
296
|
-
log(
|
|
325
|
+
log.text(
|
|
297
326
|
`No "${projectPath}" directory found. Skipping iOS storyboard generation…`,
|
|
298
327
|
);
|
|
299
328
|
}
|
|
@@ -316,37 +345,36 @@ export const generate = async ({
|
|
|
316
345
|
].map(({ ratio, suffix }) => {
|
|
317
346
|
const fileName = `${logoFileName}${suffix}.png`;
|
|
318
347
|
const filePath = path.resolve(imageSetPath, fileName);
|
|
319
|
-
const width = logoWidth * ratio;
|
|
320
|
-
const height = getHeight(width);
|
|
321
348
|
|
|
322
349
|
return image
|
|
323
350
|
.clone()
|
|
324
|
-
.resize(
|
|
325
|
-
.quality
|
|
326
|
-
.
|
|
327
|
-
.then(() => {
|
|
351
|
+
.resize(logoWidth * ratio)
|
|
352
|
+
.png({ quality: 100 })
|
|
353
|
+
.toFile(filePath)
|
|
354
|
+
.then(({ width, height }) => {
|
|
328
355
|
logWrite("✨", filePath, { width, height });
|
|
329
356
|
});
|
|
330
357
|
}),
|
|
331
358
|
);
|
|
332
359
|
} else {
|
|
333
|
-
log(
|
|
360
|
+
log.text(
|
|
334
361
|
`No "${imagesPath}" directory found. Skipping iOS images generation…`,
|
|
335
362
|
);
|
|
336
363
|
}
|
|
337
364
|
}
|
|
338
365
|
|
|
339
|
-
log(`
|
|
366
|
+
log.text(`
|
|
340
367
|
${pc.blue("┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓")}
|
|
341
368
|
${pc.blue("┃")} 💖 ${pc.bold(
|
|
342
369
|
"Love this library? Consider sponsoring!",
|
|
343
370
|
)} ${pc.blue("┃")}
|
|
344
|
-
${pc.blue("┃")} One-time amounts are available. ${pc.blue("┃")}
|
|
345
371
|
${pc.blue("┃")} ${pc.underline(
|
|
346
372
|
"https://github.com/sponsors/zoontek",
|
|
347
373
|
)} ${pc.blue("┃")}
|
|
348
374
|
${pc.blue("┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛")}
|
|
349
375
|
`);
|
|
350
376
|
|
|
351
|
-
log
|
|
377
|
+
log.text(
|
|
378
|
+
`✅ Done! Thanks for using ${pc.underline("react-native-bootsplash")}.`,
|
|
379
|
+
);
|
|
352
380
|
};
|