react-native-bootsplash 4.4.1 → 4.5.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.
- package/README.md +2 -12
- package/android/.DS_Store +0 -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/java/com/zoontek/rnbootsplash/RNBootSplashModule.java +10 -12
- package/android/src/main/res/.DS_Store +0 -0
- package/dist/commonjs/generate.js +82 -40
- package/dist/commonjs/generate.js.map +1 -1
- package/dist/commonjs/index.js +1 -1
- package/dist/commonjs/index.js.map +1 -1
- package/dist/module/generate.js +82 -40
- package/dist/module/generate.js.map +1 -1
- package/dist/module/index.js +1 -1
- package/dist/module/index.js.map +1 -1
- package/dist/typescript/generate.d.ts.map +1 -1
- package/ios/.DS_Store +0 -0
- package/ios/RNBootSplash.m +5 -4
- package/package.json +8 -7
- package/react-native.config.js +2 -13
- package/src/generate.ts +78 -48
- package/src/index.ts +2 -2
- package/example/vendor/bundle/ruby/2.7.0/gems/ffi-1.15.5/ext/ffi_c/libffi/.travis/compile +0 -351
- package/example/vendor/bundle/ruby/2.7.0/gems/ffi-1.15.5/ext/ffi_c/libffi/testsuite/libffi.bhaible/Makefile +0 -28
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:
|
|
@@ -196,6 +185,7 @@ Edit the `ios/YourProjectName/AppDelegate.mm` file:
|
|
|
196
185
|
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
|
|
197
186
|
{
|
|
198
187
|
self.moduleName = @"RNBootSplashExample";
|
|
188
|
+
self.initialProps = @{};
|
|
199
189
|
[super application:application didFinishLaunchingWithOptions:launchOptions];
|
|
200
190
|
|
|
201
191
|
[RNBootSplash initWithStoryboard:@"BootSplash" rootView:self.window.rootViewController.view]; // <- initialization using the storyboard file name
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -41,9 +41,8 @@ public class RNBootSplashModule extends ReactContextBaseJavaModule {
|
|
|
41
41
|
|
|
42
42
|
private static final RNBootSplashQueue<Promise> mPromiseQueue = new RNBootSplashQueue<>();
|
|
43
43
|
private static Status mStatus = Status.HIDDEN;
|
|
44
|
-
private static
|
|
44
|
+
private static int mFadeDuration = 0;
|
|
45
45
|
private static boolean mShouldKeepOnScreen = true;
|
|
46
|
-
private static int mAnimationDuration;
|
|
47
46
|
|
|
48
47
|
public RNBootSplashModule(ReactApplicationContext reactContext) {
|
|
49
48
|
super(reactContext);
|
|
@@ -79,9 +78,9 @@ public class RNBootSplashModule extends ReactContextBaseJavaModule {
|
|
|
79
78
|
|
|
80
79
|
splashScreenView
|
|
81
80
|
.animate()
|
|
81
|
+
.setDuration(mFadeDuration)
|
|
82
82
|
// Crappy hack to avoid automatic layout transitions
|
|
83
|
-
.
|
|
84
|
-
.setStartDelay(mShouldFade ? 0 : mAnimationDuration)
|
|
83
|
+
.setStartDelay(Math.min(0, mFadeDuration))
|
|
85
84
|
.alpha(0.0f)
|
|
86
85
|
.setInterpolator(new AccelerateInterpolator())
|
|
87
86
|
.setListener(new AnimatorListenerAdapter() {
|
|
@@ -110,7 +109,7 @@ public class RNBootSplashModule extends ReactContextBaseJavaModule {
|
|
|
110
109
|
}
|
|
111
110
|
}
|
|
112
111
|
|
|
113
|
-
private void hideAndResolveAll(
|
|
112
|
+
private void hideAndResolveAll() {
|
|
114
113
|
if (mSplashScreen == null || mStatus == Status.HIDDEN) {
|
|
115
114
|
clearPromiseQueue();
|
|
116
115
|
return;
|
|
@@ -128,16 +127,15 @@ public class RNBootSplashModule extends ReactContextBaseJavaModule {
|
|
|
128
127
|
timer.schedule(new TimerTask() {
|
|
129
128
|
@Override
|
|
130
129
|
public void run() {
|
|
131
|
-
hideAndResolveAll(
|
|
130
|
+
hideAndResolveAll();
|
|
132
131
|
timer.cancel();
|
|
133
132
|
}
|
|
134
133
|
}, 250);
|
|
135
134
|
} else {
|
|
136
|
-
if (
|
|
135
|
+
if (mFadeDuration > 0) {
|
|
137
136
|
mStatus = Status.TRANSITIONING;
|
|
138
137
|
}
|
|
139
138
|
|
|
140
|
-
mShouldFade = fade;
|
|
141
139
|
mShouldKeepOnScreen = false;
|
|
142
140
|
|
|
143
141
|
final Timer timer = new Timer();
|
|
@@ -151,17 +149,17 @@ public class RNBootSplashModule extends ReactContextBaseJavaModule {
|
|
|
151
149
|
timer.cancel();
|
|
152
150
|
clearPromiseQueue();
|
|
153
151
|
}
|
|
154
|
-
},
|
|
152
|
+
}, mFadeDuration);
|
|
155
153
|
}
|
|
156
154
|
}
|
|
157
155
|
});
|
|
158
156
|
}
|
|
159
157
|
|
|
160
158
|
@ReactMethod
|
|
161
|
-
public void hide(final
|
|
162
|
-
|
|
159
|
+
public void hide(final double duration, final Promise promise) {
|
|
160
|
+
mFadeDuration = (int) Math.round(duration);
|
|
163
161
|
mPromiseQueue.push(promise);
|
|
164
|
-
hideAndResolveAll(
|
|
162
|
+
hideAndResolveAll();
|
|
165
163
|
}
|
|
166
164
|
|
|
167
165
|
@ReactMethod
|
|
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,38 @@ 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.error("Logo width must not exceed 288dp (Android will crop it).");
|
|
139
|
+
process.exit(1);
|
|
140
|
+
} else if (logoHeight > 288) {
|
|
141
|
+
log.error("Logo height must not exceed 288dp (Android will crop it).");
|
|
142
|
+
process.exit(1);
|
|
143
|
+
} else if (logoWidth > 192) {
|
|
144
|
+
log.warn("⚠️ Logo width exceed 192dp. It might be cropped on Android.");
|
|
145
|
+
} else if (logoHeight > 192) {
|
|
146
|
+
log.warn("⚠️ Logo height exceed 192dp. It might be cropped on Android.");
|
|
147
|
+
}
|
|
148
|
+
const logWrite = (emoji, filePath, dimensions) => log.text(`${emoji} ${_path.default.relative(workingPath, filePath)}` + (dimensions != null ? ` (${dimensions.width}x${dimensions.height})` : ""));
|
|
126
149
|
if (assetsPath && _fsExtra.default.existsSync(assetsPath)) {
|
|
127
|
-
log(`\n ${_picocolors.default.underline("Assets")}`);
|
|
150
|
+
log.text(`\n ${_picocolors.default.underline("Assets")}`);
|
|
128
151
|
await Promise.all([{
|
|
129
152
|
ratio: 1,
|
|
130
153
|
suffix: ""
|
|
@@ -140,16 +163,20 @@ const generate = async _ref2 => {
|
|
|
140
163
|
}, {
|
|
141
164
|
ratio: 4,
|
|
142
165
|
suffix: "@4x"
|
|
143
|
-
}].map(
|
|
166
|
+
}].map(_ref4 => {
|
|
144
167
|
let {
|
|
145
168
|
ratio,
|
|
146
169
|
suffix
|
|
147
|
-
} =
|
|
170
|
+
} = _ref4;
|
|
148
171
|
const fileName = `${logoFileName}${suffix}.png`;
|
|
149
172
|
const filePath = _path.default.resolve(assetsPath, fileName);
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
173
|
+
return image.clone().resize(logoWidth * ratio).png({
|
|
174
|
+
quality: 100
|
|
175
|
+
}).toFile(filePath).then(_ref5 => {
|
|
176
|
+
let {
|
|
177
|
+
width,
|
|
178
|
+
height
|
|
179
|
+
} = _ref5;
|
|
153
180
|
logWrite("✨", filePath, {
|
|
154
181
|
width,
|
|
155
182
|
height
|
|
@@ -158,7 +185,7 @@ const generate = async _ref2 => {
|
|
|
158
185
|
}));
|
|
159
186
|
}
|
|
160
187
|
if (android) {
|
|
161
|
-
log(`\n ${_picocolors.default.underline("Android")}`);
|
|
188
|
+
log.text(`\n ${_picocolors.default.underline("Android")}`);
|
|
162
189
|
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
190
|
|
|
164
191
|
const resPath = _path.default.resolve(appPath, "src", flavor, "res");
|
|
@@ -193,23 +220,35 @@ const generate = async _ref2 => {
|
|
|
193
220
|
}, {
|
|
194
221
|
ratio: 4,
|
|
195
222
|
directory: "mipmap-xxxhdpi"
|
|
196
|
-
}].map(
|
|
223
|
+
}].map(_ref6 => {
|
|
197
224
|
let {
|
|
198
225
|
ratio,
|
|
199
226
|
directory
|
|
200
|
-
} =
|
|
227
|
+
} = _ref6;
|
|
201
228
|
const fileName = `${logoFileName}.png`;
|
|
202
229
|
const filePath = _path.default.resolve(resPath, directory, fileName);
|
|
203
|
-
|
|
204
|
-
const
|
|
205
|
-
const canvasSize = splashScreenIconSizeNoBackground * ratio;
|
|
230
|
+
// https://github.com/androidx/androidx/blob/androidx-main/core/core-splashscreen/src/main/res/values/dimens.xml#L22
|
|
231
|
+
const canvasSize = 288 * ratio;
|
|
206
232
|
|
|
207
|
-
// https://
|
|
208
|
-
const canvas =
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
233
|
+
// https://sharp.pixelplumbing.com/api-constructor
|
|
234
|
+
const canvas = (0, _sharp.default)({
|
|
235
|
+
create: {
|
|
236
|
+
width: canvasSize,
|
|
237
|
+
height: canvasSize,
|
|
238
|
+
channels: 4,
|
|
239
|
+
background: {
|
|
240
|
+
r: 255,
|
|
241
|
+
g: 255,
|
|
242
|
+
b: 255,
|
|
243
|
+
alpha: 0
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
});
|
|
247
|
+
return image.clone().resize(logoWidth * ratio).toBuffer().then(input => canvas.composite([{
|
|
248
|
+
input
|
|
249
|
+
}]).png({
|
|
250
|
+
quality: 100
|
|
251
|
+
}).toFile(filePath)).then(() => {
|
|
213
252
|
logWrite("✨", filePath, {
|
|
214
253
|
width: canvasSize,
|
|
215
254
|
height: canvasSize
|
|
@@ -218,7 +257,7 @@ const generate = async _ref2 => {
|
|
|
218
257
|
}));
|
|
219
258
|
}
|
|
220
259
|
if (ios) {
|
|
221
|
-
log(`\n ${_picocolors.default.underline("iOS")}`);
|
|
260
|
+
log.text(`\n ${_picocolors.default.underline("iOS")}`);
|
|
222
261
|
const {
|
|
223
262
|
projectPath
|
|
224
263
|
} = ios;
|
|
@@ -226,13 +265,13 @@ const generate = async _ref2 => {
|
|
|
226
265
|
if (_fsExtra.default.existsSync(projectPath)) {
|
|
227
266
|
const storyboardPath = _path.default.resolve(projectPath, "BootSplash.storyboard");
|
|
228
267
|
_fsExtra.default.writeFileSync(storyboardPath, getStoryboard({
|
|
229
|
-
height:
|
|
268
|
+
height: logoHeight,
|
|
230
269
|
width: logoWidth,
|
|
231
270
|
backgroundColor: backgroundColorHex
|
|
232
271
|
}), "utf-8");
|
|
233
272
|
logWrite("✨", storyboardPath);
|
|
234
273
|
} else {
|
|
235
|
-
log(`No "${projectPath}" directory found. Skipping iOS storyboard generation…`);
|
|
274
|
+
log.text(`No "${projectPath}" directory found. Skipping iOS storyboard generation…`);
|
|
236
275
|
}
|
|
237
276
|
if (_fsExtra.default.existsSync(imagesPath)) {
|
|
238
277
|
const imageSetPath = _path.default.resolve(imagesPath, xcassetName + ".imageset");
|
|
@@ -247,16 +286,20 @@ const generate = async _ref2 => {
|
|
|
247
286
|
}, {
|
|
248
287
|
ratio: 3,
|
|
249
288
|
suffix: "@3x"
|
|
250
|
-
}].map(
|
|
289
|
+
}].map(_ref7 => {
|
|
251
290
|
let {
|
|
252
291
|
ratio,
|
|
253
292
|
suffix
|
|
254
|
-
} =
|
|
293
|
+
} = _ref7;
|
|
255
294
|
const fileName = `${logoFileName}${suffix}.png`;
|
|
256
295
|
const filePath = _path.default.resolve(imageSetPath, fileName);
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
296
|
+
return image.clone().resize(logoWidth * ratio).png({
|
|
297
|
+
quality: 100
|
|
298
|
+
}).toFile(filePath).then(_ref8 => {
|
|
299
|
+
let {
|
|
300
|
+
width,
|
|
301
|
+
height
|
|
302
|
+
} = _ref8;
|
|
260
303
|
logWrite("✨", filePath, {
|
|
261
304
|
width,
|
|
262
305
|
height
|
|
@@ -264,17 +307,16 @@ const generate = async _ref2 => {
|
|
|
264
307
|
});
|
|
265
308
|
}));
|
|
266
309
|
} else {
|
|
267
|
-
log(`No "${imagesPath}" directory found. Skipping iOS images generation…`);
|
|
310
|
+
log.text(`No "${imagesPath}" directory found. Skipping iOS images generation…`);
|
|
268
311
|
}
|
|
269
312
|
}
|
|
270
|
-
log(`
|
|
313
|
+
log.text(`
|
|
271
314
|
${_picocolors.default.blue("┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓")}
|
|
272
315
|
${_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
316
|
${_picocolors.default.blue("┃")} ${_picocolors.default.underline("https://github.com/sponsors/zoontek")} ${_picocolors.default.blue("┃")}
|
|
275
317
|
${_picocolors.default.blue("┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛")}
|
|
276
318
|
`);
|
|
277
|
-
log(`✅ Done! Thanks for using ${_picocolors.default.underline("react-native-bootsplash")}.`);
|
|
319
|
+
log.text(`✅ Done! Thanks for using ${_picocolors.default.underline("react-native-bootsplash")}.`);
|
|
278
320
|
};
|
|
279
321
|
exports.generate = generate;
|
|
280
322
|
//# 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/commonjs/index.js
CHANGED
|
@@ -14,7 +14,7 @@ function hide() {
|
|
|
14
14
|
fade = false,
|
|
15
15
|
duration = 0
|
|
16
16
|
} = config;
|
|
17
|
-
return NativeModule.hide(fade
|
|
17
|
+
return NativeModule.hide(fade ? Math.max(duration, 220) : 0).then(() => {});
|
|
18
18
|
}
|
|
19
19
|
function getVisibilityStatus() {
|
|
20
20
|
return NativeModule.getVisibilityStatus();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["NativeModule","NativeModules","RNBootSplash","hide","config","fade","duration","Math","max","then","getVisibilityStatus"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;;;;;;;AAAA;AAKA,MAAMA,YAGL,GAAGC,0BAAa,CAACC,YAAY;AAEvB,SAASC,IAAI,GAAqC;EAAA,IAApCC,MAAc,uEAAG,CAAC,CAAC;EACtC,MAAM;IAAEC,IAAI,GAAG,KAAK;IAAEC,QAAQ,GAAG;EAAE,CAAC,GAAGF,MAAM;EAC7C,OAAOJ,YAAY,CAACG,IAAI,CAACE,IAAI,
|
|
1
|
+
{"version":3,"names":["NativeModule","NativeModules","RNBootSplash","hide","config","fade","duration","Math","max","then","getVisibilityStatus"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;;;;;;;AAAA;AAKA,MAAMA,YAGL,GAAGC,0BAAa,CAACC,YAAY;AAEvB,SAASC,IAAI,GAAqC;EAAA,IAApCC,MAAc,uEAAG,CAAC,CAAC;EACtC,MAAM;IAAEC,IAAI,GAAG,KAAK;IAAEC,QAAQ,GAAG;EAAE,CAAC,GAAGF,MAAM;EAC7C,OAAOJ,YAAY,CAACG,IAAI,CAACE,IAAI,GAAGE,IAAI,CAACC,GAAG,CAACF,QAAQ,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAACG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;AAC7E;AAEO,SAASC,mBAAmB,GAA8B;EAC/D,OAAOV,YAAY,CAACU,mBAAmB,EAAE;AAC3C;AAAC,eAEc;EACbP,IAAI;EACJO;AACF,CAAC;AAAA"}
|
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,38 @@ 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.error("Logo width must not exceed 288dp (Android will crop it).");
|
|
132
|
+
process.exit(1);
|
|
133
|
+
} else if (logoHeight > 288) {
|
|
134
|
+
log.error("Logo height must not exceed 288dp (Android will crop it).");
|
|
135
|
+
process.exit(1);
|
|
136
|
+
} else if (logoWidth > 192) {
|
|
137
|
+
log.warn("⚠️ Logo width exceed 192dp. It might be cropped on Android.");
|
|
138
|
+
} else if (logoHeight > 192) {
|
|
139
|
+
log.warn("⚠️ Logo height exceed 192dp. It might be cropped on Android.");
|
|
140
|
+
}
|
|
141
|
+
const logWrite = (emoji, filePath, dimensions) => log.text(`${emoji} ${path.relative(workingPath, filePath)}` + (dimensions != null ? ` (${dimensions.width}x${dimensions.height})` : ""));
|
|
119
142
|
if (assetsPath && fs.existsSync(assetsPath)) {
|
|
120
|
-
log(`\n ${pc.underline("Assets")}`);
|
|
143
|
+
log.text(`\n ${pc.underline("Assets")}`);
|
|
121
144
|
await Promise.all([{
|
|
122
145
|
ratio: 1,
|
|
123
146
|
suffix: ""
|
|
@@ -133,16 +156,20 @@ export const generate = async _ref2 => {
|
|
|
133
156
|
}, {
|
|
134
157
|
ratio: 4,
|
|
135
158
|
suffix: "@4x"
|
|
136
|
-
}].map(
|
|
159
|
+
}].map(_ref4 => {
|
|
137
160
|
let {
|
|
138
161
|
ratio,
|
|
139
162
|
suffix
|
|
140
|
-
} =
|
|
163
|
+
} = _ref4;
|
|
141
164
|
const fileName = `${logoFileName}${suffix}.png`;
|
|
142
165
|
const filePath = path.resolve(assetsPath, fileName);
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
166
|
+
return image.clone().resize(logoWidth * ratio).png({
|
|
167
|
+
quality: 100
|
|
168
|
+
}).toFile(filePath).then(_ref5 => {
|
|
169
|
+
let {
|
|
170
|
+
width,
|
|
171
|
+
height
|
|
172
|
+
} = _ref5;
|
|
146
173
|
logWrite("✨", filePath, {
|
|
147
174
|
width,
|
|
148
175
|
height
|
|
@@ -151,7 +178,7 @@ export const generate = async _ref2 => {
|
|
|
151
178
|
}));
|
|
152
179
|
}
|
|
153
180
|
if (android) {
|
|
154
|
-
log(`\n ${pc.underline("Android")}`);
|
|
181
|
+
log.text(`\n ${pc.underline("Android")}`);
|
|
155
182
|
const appPath = android.appName ? path.resolve(android.sourceDir, android.appName) : path.resolve(android.sourceDir); // @react-native-community/cli 2.x & 3.x support
|
|
156
183
|
|
|
157
184
|
const resPath = path.resolve(appPath, "src", flavor, "res");
|
|
@@ -186,23 +213,35 @@ export const generate = async _ref2 => {
|
|
|
186
213
|
}, {
|
|
187
214
|
ratio: 4,
|
|
188
215
|
directory: "mipmap-xxxhdpi"
|
|
189
|
-
}].map(
|
|
216
|
+
}].map(_ref6 => {
|
|
190
217
|
let {
|
|
191
218
|
ratio,
|
|
192
219
|
directory
|
|
193
|
-
} =
|
|
220
|
+
} = _ref6;
|
|
194
221
|
const fileName = `${logoFileName}.png`;
|
|
195
222
|
const filePath = path.resolve(resPath, directory, fileName);
|
|
196
|
-
|
|
197
|
-
const
|
|
198
|
-
const canvasSize = splashScreenIconSizeNoBackground * ratio;
|
|
223
|
+
// https://github.com/androidx/androidx/blob/androidx-main/core/core-splashscreen/src/main/res/values/dimens.xml#L22
|
|
224
|
+
const canvasSize = 288 * ratio;
|
|
199
225
|
|
|
200
|
-
// https://
|
|
201
|
-
const canvas =
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
226
|
+
// https://sharp.pixelplumbing.com/api-constructor
|
|
227
|
+
const canvas = sharp({
|
|
228
|
+
create: {
|
|
229
|
+
width: canvasSize,
|
|
230
|
+
height: canvasSize,
|
|
231
|
+
channels: 4,
|
|
232
|
+
background: {
|
|
233
|
+
r: 255,
|
|
234
|
+
g: 255,
|
|
235
|
+
b: 255,
|
|
236
|
+
alpha: 0
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
});
|
|
240
|
+
return image.clone().resize(logoWidth * ratio).toBuffer().then(input => canvas.composite([{
|
|
241
|
+
input
|
|
242
|
+
}]).png({
|
|
243
|
+
quality: 100
|
|
244
|
+
}).toFile(filePath)).then(() => {
|
|
206
245
|
logWrite("✨", filePath, {
|
|
207
246
|
width: canvasSize,
|
|
208
247
|
height: canvasSize
|
|
@@ -211,7 +250,7 @@ export const generate = async _ref2 => {
|
|
|
211
250
|
}));
|
|
212
251
|
}
|
|
213
252
|
if (ios) {
|
|
214
|
-
log(`\n ${pc.underline("iOS")}`);
|
|
253
|
+
log.text(`\n ${pc.underline("iOS")}`);
|
|
215
254
|
const {
|
|
216
255
|
projectPath
|
|
217
256
|
} = ios;
|
|
@@ -219,13 +258,13 @@ export const generate = async _ref2 => {
|
|
|
219
258
|
if (fs.existsSync(projectPath)) {
|
|
220
259
|
const storyboardPath = path.resolve(projectPath, "BootSplash.storyboard");
|
|
221
260
|
fs.writeFileSync(storyboardPath, getStoryboard({
|
|
222
|
-
height:
|
|
261
|
+
height: logoHeight,
|
|
223
262
|
width: logoWidth,
|
|
224
263
|
backgroundColor: backgroundColorHex
|
|
225
264
|
}), "utf-8");
|
|
226
265
|
logWrite("✨", storyboardPath);
|
|
227
266
|
} else {
|
|
228
|
-
log(`No "${projectPath}" directory found. Skipping iOS storyboard generation…`);
|
|
267
|
+
log.text(`No "${projectPath}" directory found. Skipping iOS storyboard generation…`);
|
|
229
268
|
}
|
|
230
269
|
if (fs.existsSync(imagesPath)) {
|
|
231
270
|
const imageSetPath = path.resolve(imagesPath, xcassetName + ".imageset");
|
|
@@ -240,16 +279,20 @@ export const generate = async _ref2 => {
|
|
|
240
279
|
}, {
|
|
241
280
|
ratio: 3,
|
|
242
281
|
suffix: "@3x"
|
|
243
|
-
}].map(
|
|
282
|
+
}].map(_ref7 => {
|
|
244
283
|
let {
|
|
245
284
|
ratio,
|
|
246
285
|
suffix
|
|
247
|
-
} =
|
|
286
|
+
} = _ref7;
|
|
248
287
|
const fileName = `${logoFileName}${suffix}.png`;
|
|
249
288
|
const filePath = path.resolve(imageSetPath, fileName);
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
289
|
+
return image.clone().resize(logoWidth * ratio).png({
|
|
290
|
+
quality: 100
|
|
291
|
+
}).toFile(filePath).then(_ref8 => {
|
|
292
|
+
let {
|
|
293
|
+
width,
|
|
294
|
+
height
|
|
295
|
+
} = _ref8;
|
|
253
296
|
logWrite("✨", filePath, {
|
|
254
297
|
width,
|
|
255
298
|
height
|
|
@@ -257,16 +300,15 @@ export const generate = async _ref2 => {
|
|
|
257
300
|
});
|
|
258
301
|
}));
|
|
259
302
|
} else {
|
|
260
|
-
log(`No "${imagesPath}" directory found. Skipping iOS images generation…`);
|
|
303
|
+
log.text(`No "${imagesPath}" directory found. Skipping iOS images generation…`);
|
|
261
304
|
}
|
|
262
305
|
}
|
|
263
|
-
log(`
|
|
306
|
+
log.text(`
|
|
264
307
|
${pc.blue("┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓")}
|
|
265
308
|
${pc.blue("┃")} 💖 ${pc.bold("Love this library? Consider sponsoring!")} ${pc.blue("┃")}
|
|
266
|
-
${pc.blue("┃")} One-time amounts are available. ${pc.blue("┃")}
|
|
267
309
|
${pc.blue("┃")} ${pc.underline("https://github.com/sponsors/zoontek")} ${pc.blue("┃")}
|
|
268
310
|
${pc.blue("┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛")}
|
|
269
311
|
`);
|
|
270
|
-
log(`✅ Done! Thanks for using ${pc.underline("react-native-bootsplash")}.`);
|
|
312
|
+
log.text(`✅ Done! Thanks for using ${pc.underline("react-native-bootsplash")}.`);
|
|
271
313
|
};
|
|
272
314
|
//# sourceMappingURL=generate.js.map
|