react-native-bootsplash 4.4.2 → 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 +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 +82 -40
- package/dist/commonjs/generate.js.map +1 -1
- package/dist/module/generate.js +82 -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 +78 -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,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":";;;;;;AAAA;AACA;AACA;AACA;AAA4B;AAE5B,MAAMA,YAAY,GAAG,iBAAiB;AACtC,MAAMC,WAAW,GAAG,gBAAgB;AACpC;AACA,MAAMC,gCAAgC,GAAG,GAAG;AAC5C,MAAMC,gBAAgB,GAAG,uBAAuB;AAChD,MAAMC,iBAAiB,GAAG,oDAAoD;AAE9E,MAAMC,YAAY,GAAI;AACtB;AACA;AACA;AACA,qBAAqBL,YAAa;AAClC;AACA;AACA;AACA;AACA,qBAAqBA,YAAa;AAClC;AACA;AACA;AACA;AACA,qBAAqBA,YAAa;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AAED,MAAMM,aAAa,GAAG,QAQhB;EAAA,IARiB;IACrBC,MAAM;IACNC,KAAK;IACLC,eAAe,EAAEC;EAKnB,CAAC;EACC,MAAMC,CAAC,GAAG,CAACC,QAAQ,CAACF,GAAG,CAAC,CAAC,CAAC,GAAGA,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,EAAEG,WAAW,CAAC,EAAE,CAAC;EAC/D,MAAMC,CAAC,GAAG,CAACF,QAAQ,CAACF,GAAG,CAAC,CAAC,CAAC,GAAGA,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,EAAEG,WAAW,CAAC,EAAE,CAAC;EAC/D,MAAME,CAAC,GAAG,CAACH,QAAQ,CAACF,GAAG,CAAC,CAAC,CAAC,GAAGA,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,EAAEG,WAAW,CAAC,EAAE,CAAC;EAE/D,OAAQ;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uDAAuD,CAAC,GAAG,GAAGL,KAAK,IAAI,CAAE,QACrE,CAAC,GAAG,GAAGD,MAAM,IAAI,CAClB,YAAWC,KAAM,aAAYD,MAAO;AACvC;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4DI,CAAE,YAAWG,CAAE,WAAUC,CAAE;AACvF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuBd,WAAY,YAAWO,KAAM,aAAYD,MAAO;AACvE;AACA;AACA,CAAC;AACD,CAAC;AAED,MAAMS,GAAG,GAAG,UAACC,IAAY,EAAkB;EAAA,IAAhBC,GAAG,uEAAG,KAAK;EACpCC,OAAO,CAACH,GAAG,CAACE,GAAG,GAAGE,mBAAE,CAACF,GAAG,CAACD,IAAI,CAAC,GAAGA,IAAI,CAAC;AACxC,CAAC;AAED,MAAMI,kBAAkB,GAAIC,KAAa,IACvC,yBAAyB,CAACC,IAAI,CAACD,KAAK,CAAC;AAEvC,MAAME,iBAAiB,GAAId,GAAW,IAAK;EACzC,MAAMe,QAAQ,GAAGf,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,GAAGA,GAAG,GAAI,IAAGA,GAAI,EAAC;EACjD,MAAMgB,EAAE,GAAGD,QAAQ,CAACE,WAAW,EAAE;EAEjC,OAAOD,EAAE,CAACE,MAAM,KAAK,CAAC,GAClB,GAAG,GAAGF,EAAE,CAAC,CAAC,CAAC,GAAGA,EAAE,CAAC,CAAC,CAAC,GAAGA,EAAE,CAAC,CAAC,CAAC,GAAGA,EAAE,CAAC,CAAC,CAAC,GAAGA,EAAE,CAAC,CAAC,CAAC,GAAGA,EAAE,CAAC,CAAC,CAAC,GACnDA,EAAE;AACR,CAAC;AAEM,MAAMG,QAAQ,GAAG,eA0BlB;EAAA,IA1ByB;IAC7BC,OAAO;IACPC,GAAG;IAEHC,WAAW;IACXC,QAAQ;IACRxB,eAAe;IACfyB,SAAS;IACTC,MAAM;IACNC;EAiBF,CAAC;EACC,IAAI,CAACf,kBAAkB,CAACZ,eAAe,CAAC,EAAE;IACxC,MAAM,IAAI4B,KAAK,CACb,4DAA4D,CAC7D;EACH;EAEA,MAAMC,KAAK,GAAG,MAAMC,aAAI,CAACC,IAAI,CAACP,QAAQ,CAAC;EACvC,MAAMQ,kBAAkB,GAAGjB,iBAAiB,CAACf,eAAe,CAAC;EAE7D,MAAMiC,SAAS,GAAIC,IAAY,IAC7BC,IAAI,CAACC,IAAI,CAACF,IAAI,IAAIL,KAAK,CAACQ,MAAM,CAACvC,MAAM,GAAG+B,KAAK,CAACQ,MAAM,CAACtC,KAAK,CAAC,CAAC;EAE9D,MAAMuC,QAAQ,GAAG,CACfC,KAAa,EACbC,QAAgB,EAChBC,UAA8C,KAE9ClC,GAAG,CACA,GAAEgC,KAAM,KAAIG,aAAI,CAACC,QAAQ,CAACpB,WAAW,EAAEiB,QAAQ,CAAE,EAAC,IAChDC,UAAU,IAAI,IAAI,GACd,KAAIA,UAAU,CAAC1C,KAAM,IAAG0C,UAAU,CAAC3C,MAAO,GAAE,GAC7C,EAAE,CAAC,CACV;EAEH,IAAI6B,UAAU,IAAIiB,gBAAE,CAACC,UAAU,CAAClB,UAAU,CAAC,EAAE;IAC3CpB,GAAG,CAAE,SAAQI,mBAAE,CAACmC,SAAS,CAAC,QAAQ,CAAE,EAAC,CAAC;IAEtC,MAAMC,OAAO,CAACC,GAAG,CACf,CACE;MAAEC,KAAK,EAAE,CAAC;MAAEC,MAAM,EAAE;IAAG,CAAC,EACxB;MAAED,KAAK,EAAE,GAAG;MAAEC,MAAM,EAAE;IAAQ,CAAC,EAC/B;MAAED,KAAK,EAAE,CAAC;MAAEC,MAAM,EAAE;IAAM,CAAC,EAC3B;MAAED,KAAK,EAAE,CAAC;MAAEC,MAAM,EAAE;IAAM,CAAC,EAC3B;MAAED,KAAK,EAAE,CAAC;MAAEC,MAAM,EAAE;IAAM,CAAC,CAC5B,CAACC,GAAG,CAAC,SAAuB;MAAA,IAAtB;QAAEF,KAAK;QAAEC;MAAO,CAAC;MACtB,MAAME,QAAQ,GAAI,GAAE7D,YAAa,GAAE2D,MAAO,MAAK;MAC/C,MAAMV,QAAQ,GAAGE,aAAI,CAACW,OAAO,CAAC1B,UAAU,EAAEyB,QAAQ,CAAC;MACnD,MAAMrD,KAAK,GAAG0B,SAAS,GAAGwB,KAAK;MAC/B,MAAMnD,MAAM,GAAGmC,SAAS,CAAClC,KAAK,CAAC;MAE/B,OAAO8B,KAAK,CACTyB,KAAK,EAAE,CACPC,MAAM,CAACxD,KAAK,EAAED,MAAM,CAAC,CACrB0D,OAAO,CAAC,GAAG,CAAC,CACZC,UAAU,CAACjB,QAAQ,CAAC,CACpBkB,IAAI,CAAC,MAAM;QACVpB,QAAQ,CAAC,GAAG,EAAEE,QAAQ,EAAE;UAAEzC,KAAK;UAAED;QAAO,CAAC,CAAC;MAC5C,CAAC,CAAC;IACN,CAAC,CAAC,CACH;EACH;EAEA,IAAIuB,OAAO,EAAE;IACXd,GAAG,CAAE,SAAQI,mBAAE,CAACmC,SAAS,CAAC,SAAS,CAAE,EAAC,CAAC;IAEvC,MAAMa,OAAO,GAAGtC,OAAO,CAACuC,OAAO,GAC3BlB,aAAI,CAACW,OAAO,CAAChC,OAAO,CAACwC,SAAS,EAAExC,OAAO,CAACuC,OAAO,CAAC,GAChDlB,aAAI,CAACW,OAAO,CAAChC,OAAO,CAACwC,SAAS,CAAC,CAAC,CAAC;;IAErC,MAAMC,OAAO,GAAGpB,aAAI,CAACW,OAAO,CAACM,OAAO,EAAE,KAAK,EAAEjC,MAAM,EAAE,KAAK,CAAC;IAC3D,MAAMqC,UAAU,GAAGrB,aAAI,CAACW,OAAO,CAACS,OAAO,EAAE,QAAQ,CAAC;IAElDlB,gBAAE,CAACoB,aAAa,CAACD,UAAU,CAAC;IAE5B,MAAME,aAAa,GAAGvB,aAAI,CAACW,OAAO,CAACU,UAAU,EAAE,YAAY,CAAC;IAC5D,MAAMG,cAAc,GAAI,gBAAexE,gBAAiB,KAAIsC,kBAAmB,UAAS;IAExF,IAAIY,gBAAE,CAACC,UAAU,CAACoB,aAAa,CAAC,EAAE;MAChC,MAAME,SAAS,GAAGvB,gBAAE,CAACwB,YAAY,CAACH,aAAa,EAAE,OAAO,CAAC;MAEzD,IAAIE,SAAS,CAACE,KAAK,CAAC1E,iBAAiB,CAAC,EAAE;QACtCiD,gBAAE,CAAC0B,aAAa,CACdL,aAAa,EACbE,SAAS,CAACI,OAAO,CAAC5E,iBAAiB,EAAEuE,cAAc,CAAC,EACpD,OAAO,CACR;MACH,CAAC,MAAM;QACLtB,gBAAE,CAAC0B,aAAa,CACdL,aAAa,EACbE,SAAS,CAACI,OAAO,CACf,gBAAgB,EACf,OAAML,cAAe,gBAAe,CACtC,EACD,OAAO,CACR;MACH;MAEA5B,QAAQ,CAAC,KAAK,EAAE2B,aAAa,CAAC;IAChC,CAAC,MAAM;MACLrB,gBAAE,CAAC0B,aAAa,CACdL,aAAa,EACZ,oBAAmBC,cAAe,kBAAiB,EACpD,OAAO,CACR;MAED5B,QAAQ,CAAC,GAAG,EAAE2B,aAAa,CAAC;IAC9B;IAEA,MAAMlB,OAAO,CAACC,GAAG,CACf,CACE;MAAEC,KAAK,EAAE,CAAC;MAAEuB,SAAS,EAAE;IAAc,CAAC,EACtC;MAAEvB,KAAK,EAAE,GAAG;MAAEuB,SAAS,EAAE;IAAc,CAAC,EACxC;MAAEvB,KAAK,EAAE,CAAC;MAAEuB,SAAS,EAAE;IAAe,CAAC,EACvC;MAAEvB,KAAK,EAAE,CAAC;MAAEuB,SAAS,EAAE;IAAgB,CAAC,EACxC;MAAEvB,KAAK,EAAE,CAAC;MAAEuB,SAAS,EAAE;IAAiB,CAAC,CAC1C,CAACrB,GAAG,CAAC,SAA0B;MAAA,IAAzB;QAAEF,KAAK;QAAEuB;MAAU,CAAC;MACzB,MAAMpB,QAAQ,GAAI,GAAE7D,YAAa,MAAK;MACtC,MAAMiD,QAAQ,GAAGE,aAAI,CAACW,OAAO,CAACS,OAAO,EAAEU,SAAS,EAAEpB,QAAQ,CAAC;MAC3D,MAAMrD,KAAK,GAAG0B,SAAS,GAAGwB,KAAK;MAC/B,MAAMnD,MAAM,GAAGmC,SAAS,CAAClC,KAAK,CAAC;MAE/B,MAAM0E,UAAU,GAAGhF,gCAAgC,GAAGwD,KAAK;;MAE3D;MACA,MAAMyB,MAAM,GAAG,IAAI5C,aAAI,CAAC2C,UAAU,EAAEA,UAAU,EAAE,UAAU,CAAC;MAC3D,MAAME,IAAI,GAAG9C,KAAK,CAACyB,KAAK,EAAE,CAACC,MAAM,CAACxD,KAAK,EAAED,MAAM,CAAC;MAEhD,MAAM8E,CAAC,GAAG,CAACH,UAAU,GAAG1E,KAAK,IAAI,CAAC;MAClC,MAAM8E,CAAC,GAAG,CAACJ,UAAU,GAAG3E,MAAM,IAAI,CAAC;MAEnC,OAAO4E,MAAM,CACVI,IAAI,CAACH,IAAI,EAAEC,CAAC,EAAEC,CAAC,CAAC,CAChBrB,OAAO,CAAC,GAAG,CAAC,CACZC,UAAU,CAACjB,QAAQ,CAAC,CACpBkB,IAAI,CAAC,MAAM;QACVpB,QAAQ,CAAC,GAAG,EAAEE,QAAQ,EAAE;UAAEzC,KAAK,EAAE0E,UAAU;UAAE3E,MAAM,EAAE2E;QAAW,CAAC,CAAC;MACpE,CAAC,CAAC;IACN,CAAC,CAAC,CACH;EACH;EAEA,IAAInD,GAAG,EAAE;IACPf,GAAG,CAAE,SAAQI,mBAAE,CAACmC,SAAS,CAAC,KAAK,CAAE,EAAC,CAAC;IAEnC,MAAM;MAAEiC;IAAY,CAAC,GAAGzD,GAAG;IAC3B,MAAM0D,UAAU,GAAGtC,aAAI,CAACW,OAAO,CAAC0B,WAAW,EAAE,iBAAiB,CAAC;IAE/D,IAAInC,gBAAE,CAACC,UAAU,CAACkC,WAAW,CAAC,EAAE;MAC9B,MAAME,cAAc,GAAGvC,aAAI,CAACW,OAAO,CAAC0B,WAAW,EAAE,uBAAuB,CAAC;MAEzEnC,gBAAE,CAAC0B,aAAa,CACdW,cAAc,EACdpF,aAAa,CAAC;QACZC,MAAM,EAAEmC,SAAS,CAACR,SAAS,CAAC;QAC5B1B,KAAK,EAAE0B,SAAS;QAChBzB,eAAe,EAAEgC;MACnB,CAAC,CAAC,EACF,OAAO,CACR;MAEDM,QAAQ,CAAC,GAAG,EAAE2C,cAAc,CAAC;IAC/B,CAAC,MAAM;MACL1E,GAAG,CACA,OAAMwE,WAAY,wDAAuD,CAC3E;IACH;IAEA,IAAInC,gBAAE,CAACC,UAAU,CAACmC,UAAU,CAAC,EAAE;MAC7B,MAAME,YAAY,GAAGxC,aAAI,CAACW,OAAO,CAAC2B,UAAU,EAAExF,WAAW,GAAG,WAAW,CAAC;MACxEoD,gBAAE,CAACoB,aAAa,CAACkB,YAAY,CAAC;MAE9BtC,gBAAE,CAAC0B,aAAa,CACd5B,aAAI,CAACW,OAAO,CAAC6B,YAAY,EAAE,eAAe,CAAC,EAC3CtF,YAAY,EACZ,OAAO,CACR;MAED,MAAMmD,OAAO,CAACC,GAAG,CACf,CACE;QAAEC,KAAK,EAAE,CAAC;QAAEC,MAAM,EAAE;MAAG,CAAC,EACxB;QAAED,KAAK,EAAE,CAAC;QAAEC,MAAM,EAAE;MAAM,CAAC,EAC3B;QAAED,KAAK,EAAE,CAAC;QAAEC,MAAM,EAAE;MAAM,CAAC,CAC5B,CAACC,GAAG,CAAC,SAAuB;QAAA,IAAtB;UAAEF,KAAK;UAAEC;QAAO,CAAC;QACtB,MAAME,QAAQ,GAAI,GAAE7D,YAAa,GAAE2D,MAAO,MAAK;QAC/C,MAAMV,QAAQ,GAAGE,aAAI,CAACW,OAAO,CAAC6B,YAAY,EAAE9B,QAAQ,CAAC;QACrD,MAAMrD,KAAK,GAAG0B,SAAS,GAAGwB,KAAK;QAC/B,MAAMnD,MAAM,GAAGmC,SAAS,CAAClC,KAAK,CAAC;QAE/B,OAAO8B,KAAK,CACTyB,KAAK,EAAE,CACPC,MAAM,CAACxD,KAAK,EAAED,MAAM,CAAC,CACrB0D,OAAO,CAAC,GAAG,CAAC,CACZC,UAAU,CAACjB,QAAQ,CAAC,CACpBkB,IAAI,CAAC,MAAM;UACVpB,QAAQ,CAAC,GAAG,EAAEE,QAAQ,EAAE;YAAEzC,KAAK;YAAED;UAAO,CAAC,CAAC;QAC5C,CAAC,CAAC;MACN,CAAC,CAAC,CACH;IACH,CAAC,MAAM;MACLS,GAAG,CACA,OAAMyE,UAAW,oDAAmD,CACtE;IACH;EACF;EAEAzE,GAAG,CAAE;AACP,GAAGI,mBAAE,CAACwE,IAAI,CAAC,mDAAmD,CAAE;AAChE,GAAGxE,mBAAE,CAACwE,IAAI,CAAC,GAAG,CAAE,SAAQxE,mBAAE,CAACyE,IAAI,CAC3B,yCAAyC,CACzC,KAAIzE,mBAAE,CAACwE,IAAI,CAAC,GAAG,CAAE;AACrB,GAAGxE,mBAAE,CAACwE,IAAI,CAAC,GAAG,CAAE,kDAAiDxE,mBAAE,CAACwE,IAAI,CAAC,GAAG,CAAE;AAC9E,GAAGxE,mBAAE,CAACwE,IAAI,CAAC,GAAG,CAAE,KAAIxE,mBAAE,CAACmC,SAAS,CAC5B,qCAAqC,CACrC,aAAYnC,mBAAE,CAACwE,IAAI,CAAC,GAAG,CAAE;AAC7B,GAAGxE,mBAAE,CAACwE,IAAI,CAAC,mDAAmD,CAAE;AAChE,CAAC,CAAC;EAEA5E,GAAG,CAAE,6BAA4BI,mBAAE,CAACmC,SAAS,CAAC,yBAAyB,CAAE,GAAE,CAAC;AAC9E,CAAC;AAAC"}
|
|
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":";;;;;;AAAA;AACA;AACA;AACA;AAA0B;AAE1B,MAAMA,YAAY,GAAG,iBAAiB;AACtC,MAAMC,WAAW,GAAG,gBAAgB;AACpC,MAAMC,gBAAgB,GAAG,uBAAuB;AAChD,MAAMC,iBAAiB,GAAG,oDAAoD;AAE9E,MAAMC,YAAY,GAAI;AACtB;AACA;AACA;AACA,qBAAqBJ,YAAa;AAClC;AACA;AACA;AACA;AACA,qBAAqBA,YAAa;AAClC;AACA;AACA;AACA;AACA,qBAAqBA,YAAa;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AAED,MAAMK,aAAa,GAAG,QAQhB;EAAA,IARiB;IACrBC,MAAM;IACNC,KAAK;IACLC,eAAe,EAAEC;EAKnB,CAAC;EACC,MAAMC,CAAC,GAAG,CAACC,QAAQ,CAACF,GAAG,CAAC,CAAC,CAAC,GAAGA,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,EAAEG,WAAW,CAAC,EAAE,CAAC;EAC/D,MAAMC,CAAC,GAAG,CAACF,QAAQ,CAACF,GAAG,CAAC,CAAC,CAAC,GAAGA,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,EAAEG,WAAW,CAAC,EAAE,CAAC;EAC/D,MAAME,CAAC,GAAG,CAACH,QAAQ,CAACF,GAAG,CAAC,CAAC,CAAC,GAAGA,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,EAAEG,WAAW,CAAC,EAAE,CAAC;EAE/D,OAAQ;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uDAAuD,CAAC,GAAG,GAAGL,KAAK,IAAI,CAAE,QACrE,CAAC,GAAG,GAAGD,MAAM,IAAI,CAClB,YAAWC,KAAM,aAAYD,MAAO;AACvC;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4DI,CAAE,YAAWG,CAAE,WAAUC,CAAE;AACvF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuBb,WAAY,YAAWM,KAAM,aAAYD,MAAO;AACvE;AACA;AACA,CAAC;AACD,CAAC;AAED,MAAMS,GAAG,GAAG;EACVC,KAAK,EAAGC,IAAY,IAAKC,OAAO,CAACH,GAAG,CAACI,mBAAE,CAACC,GAAG,CAACH,IAAI,CAAC,CAAC;EAClDA,IAAI,EAAGA,IAAY,IAAKC,OAAO,CAACH,GAAG,CAACE,IAAI,CAAC;EACzCI,IAAI,EAAGJ,IAAY,IAAKC,OAAO,CAACH,GAAG,CAACI,mBAAE,CAACG,MAAM,CAACL,IAAI,CAAC;AACrD,CAAC;AAED,MAAMM,kBAAkB,GAAIC,KAAa,IACvC,yBAAyB,CAACC,IAAI,CAACD,KAAK,CAAC;AAEvC,MAAME,iBAAiB,GAAIjB,GAAW,IAAK;EACzC,MAAMkB,QAAQ,GAAGlB,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,GAAGA,GAAG,GAAI,IAAGA,GAAI,EAAC;EACjD,MAAMmB,EAAE,GAAGD,QAAQ,CAACE,WAAW,EAAE;EAEjC,OAAOD,EAAE,CAACE,MAAM,KAAK,CAAC,GAClB,GAAG,GAAGF,EAAE,CAAC,CAAC,CAAC,GAAGA,EAAE,CAAC,CAAC,CAAC,GAAGA,EAAE,CAAC,CAAC,CAAC,GAAGA,EAAE,CAAC,CAAC,CAAC,GAAGA,EAAE,CAAC,CAAC,CAAC,GAAGA,EAAE,CAAC,CAAC,CAAC,GACnDA,EAAE;AACR,CAAC;AAEM,MAAMG,QAAQ,GAAG,eA0BlB;EAAA,IA1ByB;IAC7BC,OAAO;IACPC,GAAG;IAEHC,WAAW;IACXC,QAAQ;IACR3B,eAAe;IACf4B,SAAS;IACTC,MAAM;IACNC;EAiBF,CAAC;EACC,IAAI,CAACf,kBAAkB,CAACf,eAAe,CAAC,EAAE;IACxCO,GAAG,CAACC,KAAK,CAAC,4DAA4D,CAAC;IACvEuB,OAAO,CAACC,IAAI,CAAC,CAAC,CAAC;EACjB;EAEA,MAAMC,KAAK,GAAG,IAAAC,cAAK,EAACP,QAAQ,CAAC;EAC7B,MAAMQ,kBAAkB,GAAGjB,iBAAiB,CAAClB,eAAe,CAAC;EAC7D,MAAM;IAAEoC;EAAO,CAAC,GAAG,MAAMH,KAAK,CAACI,QAAQ,EAAE;EAEzC,IAAID,MAAM,KAAK,KAAK,IAAIA,MAAM,KAAK,KAAK,EAAE;IACxC7B,GAAG,CAACC,KAAK,CAAC,2CAA2C,CAAC;IACtDuB,OAAO,CAACC,IAAI,CAAC,CAAC,CAAC;EACjB;EAEA,MAAMM,UAAU,GAAG,MAAML,KAAK,CAC3BM,KAAK,EAAE,CACPC,MAAM,CAACZ,SAAS,CAAC,CACjBa,QAAQ,EAAE,CACVC,IAAI,CAAEC,MAAM,IAAK,IAAAT,cAAK,EAACS,MAAM,CAAC,CAACN,QAAQ,EAAE,CAAC,CAC1CK,IAAI,CAAC;IAAA,IAAC;MAAE5C,MAAM,GAAG;IAAE,CAAC;IAAA,OAAKA,MAAM;EAAA,EAAC;EAEnC,IAAI8B,SAAS,GAAG,GAAG,EAAE;IACnBrB,GAAG,CAACC,KAAK,CAAC,0DAA0D,CAAC;IACrEuB,OAAO,CAACC,IAAI,CAAC,CAAC,CAAC;EACjB,CAAC,MAAM,IAAIM,UAAU,GAAG,GAAG,EAAE;IAC3B/B,GAAG,CAACC,KAAK,CAAC,2DAA2D,CAAC;IACtEuB,OAAO,CAACC,IAAI,CAAC,CAAC,CAAC;EACjB,CAAC,MAAM,IAAIJ,SAAS,GAAG,GAAG,EAAE;IAC1BrB,GAAG,CAACM,IAAI,CAAC,+DAA+D,CAAC;EAC3E,CAAC,MAAM,IAAIyB,UAAU,GAAG,GAAG,EAAE;IAC3B/B,GAAG,CAACM,IAAI,CAAC,gEAAgE,CAAC;EAC5E;EAEA,MAAM+B,QAAQ,GAAG,CACfC,KAAa,EACbC,QAAgB,EAChBC,UAA8C,KAE9CxC,GAAG,CAACE,IAAI,CACL,GAAEoC,KAAM,KAAIG,aAAI,CAACC,QAAQ,CAACvB,WAAW,EAAEoB,QAAQ,CAAE,EAAC,IAChDC,UAAU,IAAI,IAAI,GACd,KAAIA,UAAU,CAAChD,KAAM,IAAGgD,UAAU,CAACjD,MAAO,GAAE,GAC7C,EAAE,CAAC,CACV;EAEH,IAAIgC,UAAU,IAAIoB,gBAAE,CAACC,UAAU,CAACrB,UAAU,CAAC,EAAE;IAC3CvB,GAAG,CAACE,IAAI,CAAE,SAAQE,mBAAE,CAACyC,SAAS,CAAC,QAAQ,CAAE,EAAC,CAAC;IAE3C,MAAMC,OAAO,CAACC,GAAG,CACf,CACE;MAAEC,KAAK,EAAE,CAAC;MAAEC,MAAM,EAAE;IAAG,CAAC,EACxB;MAAED,KAAK,EAAE,GAAG;MAAEC,MAAM,EAAE;IAAQ,CAAC,EAC/B;MAAED,KAAK,EAAE,CAAC;MAAEC,MAAM,EAAE;IAAM,CAAC,EAC3B;MAAED,KAAK,EAAE,CAAC;MAAEC,MAAM,EAAE;IAAM,CAAC,EAC3B;MAAED,KAAK,EAAE,CAAC;MAAEC,MAAM,EAAE;IAAM,CAAC,CAC5B,CAACC,GAAG,CAAC,SAAuB;MAAA,IAAtB;QAAEF,KAAK;QAAEC;MAAO,CAAC;MACtB,MAAME,QAAQ,GAAI,GAAElE,YAAa,GAAEgE,MAAO,MAAK;MAC/C,MAAMV,QAAQ,GAAGE,aAAI,CAACW,OAAO,CAAC7B,UAAU,EAAE4B,QAAQ,CAAC;MAEnD,OAAOzB,KAAK,CACTM,KAAK,EAAE,CACPC,MAAM,CAACZ,SAAS,GAAG2B,KAAK,CAAC,CACzBK,GAAG,CAAC;QAAEC,OAAO,EAAE;MAAI,CAAC,CAAC,CACrBC,MAAM,CAAChB,QAAQ,CAAC,CAChBJ,IAAI,CAAC,SAAuB;QAAA,IAAtB;UAAE3C,KAAK;UAAED;QAAO,CAAC;QACtB8C,QAAQ,CAAC,GAAG,EAAEE,QAAQ,EAAE;UAAE/C,KAAK;UAAED;QAAO,CAAC,CAAC;MAC5C,CAAC,CAAC;IACN,CAAC,CAAC,CACH;EACH;EAEA,IAAI0B,OAAO,EAAE;IACXjB,GAAG,CAACE,IAAI,CAAE,SAAQE,mBAAE,CAACyC,SAAS,CAAC,SAAS,CAAE,EAAC,CAAC;IAE5C,MAAMW,OAAO,GAAGvC,OAAO,CAACwC,OAAO,GAC3BhB,aAAI,CAACW,OAAO,CAACnC,OAAO,CAACyC,SAAS,EAAEzC,OAAO,CAACwC,OAAO,CAAC,GAChDhB,aAAI,CAACW,OAAO,CAACnC,OAAO,CAACyC,SAAS,CAAC,CAAC,CAAC;;IAErC,MAAMC,OAAO,GAAGlB,aAAI,CAACW,OAAO,CAACI,OAAO,EAAE,KAAK,EAAElC,MAAM,EAAE,KAAK,CAAC;IAC3D,MAAMsC,UAAU,GAAGnB,aAAI,CAACW,OAAO,CAACO,OAAO,EAAE,QAAQ,CAAC;IAElDhB,gBAAE,CAACkB,aAAa,CAACD,UAAU,CAAC;IAE5B,MAAME,aAAa,GAAGrB,aAAI,CAACW,OAAO,CAACQ,UAAU,EAAE,YAAY,CAAC;IAC5D,MAAMG,cAAc,GAAI,gBAAe5E,gBAAiB,KAAIyC,kBAAmB,UAAS;IAExF,IAAIe,gBAAE,CAACC,UAAU,CAACkB,aAAa,CAAC,EAAE;MAChC,MAAME,SAAS,GAAGrB,gBAAE,CAACsB,YAAY,CAACH,aAAa,EAAE,OAAO,CAAC;MAEzD,IAAIE,SAAS,CAACE,KAAK,CAAC9E,iBAAiB,CAAC,EAAE;QACtCuD,gBAAE,CAACwB,aAAa,CACdL,aAAa,EACbE,SAAS,CAACI,OAAO,CAAChF,iBAAiB,EAAE2E,cAAc,CAAC,EACpD,OAAO,CACR;MACH,CAAC,MAAM;QACLpB,gBAAE,CAACwB,aAAa,CACdL,aAAa,EACbE,SAAS,CAACI,OAAO,CACf,gBAAgB,EACf,OAAML,cAAe,gBAAe,CACtC,EACD,OAAO,CACR;MACH;MAEA1B,QAAQ,CAAC,KAAK,EAAEyB,aAAa,CAAC;IAChC,CAAC,MAAM;MACLnB,gBAAE,CAACwB,aAAa,CACdL,aAAa,EACZ,oBAAmBC,cAAe,kBAAiB,EACpD,OAAO,CACR;MAED1B,QAAQ,CAAC,GAAG,EAAEyB,aAAa,CAAC;IAC9B;IAEA,MAAMhB,OAAO,CAACC,GAAG,CACf,CACE;MAAEC,KAAK,EAAE,CAAC;MAAEqB,SAAS,EAAE;IAAc,CAAC,EACtC;MAAErB,KAAK,EAAE,GAAG;MAAEqB,SAAS,EAAE;IAAc,CAAC,EACxC;MAAErB,KAAK,EAAE,CAAC;MAAEqB,SAAS,EAAE;IAAe,CAAC,EACvC;MAAErB,KAAK,EAAE,CAAC;MAAEqB,SAAS,EAAE;IAAgB,CAAC,EACxC;MAAErB,KAAK,EAAE,CAAC;MAAEqB,SAAS,EAAE;IAAiB,CAAC,CAC1C,CAACnB,GAAG,CAAC,SAA0B;MAAA,IAAzB;QAAEF,KAAK;QAAEqB;MAAU,CAAC;MACzB,MAAMlB,QAAQ,GAAI,GAAElE,YAAa,MAAK;MACtC,MAAMsD,QAAQ,GAAGE,aAAI,CAACW,OAAO,CAACO,OAAO,EAAEU,SAAS,EAAElB,QAAQ,CAAC;MAC3D;MACA,MAAMmB,UAAU,GAAG,GAAG,GAAGtB,KAAK;;MAE9B;MACA,MAAMuB,MAAM,GAAG,IAAA5C,cAAK,EAAC;QACnB6C,MAAM,EAAE;UACNhF,KAAK,EAAE8E,UAAU;UACjB/E,MAAM,EAAE+E,UAAU;UAClBG,QAAQ,EAAE,CAAC;UACXC,UAAU,EAAE;YACV/E,CAAC,EAAE,GAAG;YACNG,CAAC,EAAE,GAAG;YACNC,CAAC,EAAE,GAAG;YACN4E,KAAK,EAAE;UACT;QACF;MACF,CAAC,CAAC;MAEF,OAAOjD,KAAK,CACTM,KAAK,EAAE,CACPC,MAAM,CAACZ,SAAS,GAAG2B,KAAK,CAAC,CACzBd,QAAQ,EAAE,CACVC,IAAI,CAAEyC,KAAK,IACVL,MAAM,CACHM,SAAS,CAAC,CAAC;QAAED;MAAM,CAAC,CAAC,CAAC,CACtBvB,GAAG,CAAC;QAAEC,OAAO,EAAE;MAAI,CAAC,CAAC,CACrBC,MAAM,CAAChB,QAAQ,CAAC,CACpB,CACAJ,IAAI,CAAC,MAAM;QACVE,QAAQ,CAAC,GAAG,EAAEE,QAAQ,EAAE;UAAE/C,KAAK,EAAE8E,UAAU;UAAE/E,MAAM,EAAE+E;QAAW,CAAC,CAAC;MACpE,CAAC,CAAC;IACN,CAAC,CAAC,CACH;EACH;EAEA,IAAIpD,GAAG,EAAE;IACPlB,GAAG,CAACE,IAAI,CAAE,SAAQE,mBAAE,CAACyC,SAAS,CAAC,KAAK,CAAE,EAAC,CAAC;IAExC,MAAM;MAAEiC;IAAY,CAAC,GAAG5D,GAAG;IAC3B,MAAM6D,UAAU,GAAGtC,aAAI,CAACW,OAAO,CAAC0B,WAAW,EAAE,iBAAiB,CAAC;IAE/D,IAAInC,gBAAE,CAACC,UAAU,CAACkC,WAAW,CAAC,EAAE;MAC9B,MAAME,cAAc,GAAGvC,aAAI,CAACW,OAAO,CAAC0B,WAAW,EAAE,uBAAuB,CAAC;MAEzEnC,gBAAE,CAACwB,aAAa,CACda,cAAc,EACd1F,aAAa,CAAC;QACZC,MAAM,EAAEwC,UAAU;QAClBvC,KAAK,EAAE6B,SAAS;QAChB5B,eAAe,EAAEmC;MACnB,CAAC,CAAC,EACF,OAAO,CACR;MAEDS,QAAQ,CAAC,GAAG,EAAE2C,cAAc,CAAC;IAC/B,CAAC,MAAM;MACLhF,GAAG,CAACE,IAAI,CACL,OAAM4E,WAAY,wDAAuD,CAC3E;IACH;IAEA,IAAInC,gBAAE,CAACC,UAAU,CAACmC,UAAU,CAAC,EAAE;MAC7B,MAAME,YAAY,GAAGxC,aAAI,CAACW,OAAO,CAAC2B,UAAU,EAAE7F,WAAW,GAAG,WAAW,CAAC;MACxEyD,gBAAE,CAACkB,aAAa,CAACoB,YAAY,CAAC;MAE9BtC,gBAAE,CAACwB,aAAa,CACd1B,aAAI,CAACW,OAAO,CAAC6B,YAAY,EAAE,eAAe,CAAC,EAC3C5F,YAAY,EACZ,OAAO,CACR;MAED,MAAMyD,OAAO,CAACC,GAAG,CACf,CACE;QAAEC,KAAK,EAAE,CAAC;QAAEC,MAAM,EAAE;MAAG,CAAC,EACxB;QAAED,KAAK,EAAE,CAAC;QAAEC,MAAM,EAAE;MAAM,CAAC,EAC3B;QAAED,KAAK,EAAE,CAAC;QAAEC,MAAM,EAAE;MAAM,CAAC,CAC5B,CAACC,GAAG,CAAC,SAAuB;QAAA,IAAtB;UAAEF,KAAK;UAAEC;QAAO,CAAC;QACtB,MAAME,QAAQ,GAAI,GAAElE,YAAa,GAAEgE,MAAO,MAAK;QAC/C,MAAMV,QAAQ,GAAGE,aAAI,CAACW,OAAO,CAAC6B,YAAY,EAAE9B,QAAQ,CAAC;QAErD,OAAOzB,KAAK,CACTM,KAAK,EAAE,CACPC,MAAM,CAACZ,SAAS,GAAG2B,KAAK,CAAC,CACzBK,GAAG,CAAC;UAAEC,OAAO,EAAE;QAAI,CAAC,CAAC,CACrBC,MAAM,CAAChB,QAAQ,CAAC,CAChBJ,IAAI,CAAC,SAAuB;UAAA,IAAtB;YAAE3C,KAAK;YAAED;UAAO,CAAC;UACtB8C,QAAQ,CAAC,GAAG,EAAEE,QAAQ,EAAE;YAAE/C,KAAK;YAAED;UAAO,CAAC,CAAC;QAC5C,CAAC,CAAC;MACN,CAAC,CAAC,CACH;IACH,CAAC,MAAM;MACLS,GAAG,CAACE,IAAI,CACL,OAAM6E,UAAW,oDAAmD,CACtE;IACH;EACF;EAEA/E,GAAG,CAACE,IAAI,CAAE;AACZ,GAAGE,mBAAE,CAAC8E,IAAI,CAAC,mDAAmD,CAAE;AAChE,GAAG9E,mBAAE,CAAC8E,IAAI,CAAC,GAAG,CAAE,SAAQ9E,mBAAE,CAAC+E,IAAI,CAC3B,yCAAyC,CACzC,KAAI/E,mBAAE,CAAC8E,IAAI,CAAC,GAAG,CAAE;AACrB,GAAG9E,mBAAE,CAAC8E,IAAI,CAAC,GAAG,CAAE,KAAI9E,mBAAE,CAACyC,SAAS,CAC5B,qCAAqC,CACrC,aAAYzC,mBAAE,CAAC8E,IAAI,CAAC,GAAG,CAAE;AAC7B,GAAG9E,mBAAE,CAAC8E,IAAI,CAAC,mDAAmD,CAAE;AAChE,CAAC,CAAC;EAEAlF,GAAG,CAACE,IAAI,CACL,6BAA4BE,mBAAE,CAACyC,SAAS,CAAC,yBAAyB,CAAE,GAAE,CACxE;AACH,CAAC;AAAC"}
|
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
|
|
@@ -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;mBAgPlB,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.0",
|
|
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.2",
|
|
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,44 @@ 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.error("Logo width must not exceed 288dp (Android will crop it).");
|
|
167
|
+
process.exit(1);
|
|
168
|
+
} else if (logoHeight > 288) {
|
|
169
|
+
log.error("Logo height must not exceed 288dp (Android will crop it).");
|
|
170
|
+
process.exit(1);
|
|
171
|
+
} else if (logoWidth > 192) {
|
|
172
|
+
log.warn("⚠️ Logo width exceed 192dp. It might be cropped on Android.");
|
|
173
|
+
} else if (logoHeight > 192) {
|
|
174
|
+
log.warn("⚠️ Logo height exceed 192dp. It might be cropped on Android.");
|
|
175
|
+
}
|
|
155
176
|
|
|
156
177
|
const logWrite = (
|
|
157
178
|
emoji: string,
|
|
158
179
|
filePath: string,
|
|
159
180
|
dimensions?: { width: number; height: number },
|
|
160
181
|
) =>
|
|
161
|
-
log(
|
|
182
|
+
log.text(
|
|
162
183
|
`${emoji} ${path.relative(workingPath, filePath)}` +
|
|
163
184
|
(dimensions != null
|
|
164
185
|
? ` (${dimensions.width}x${dimensions.height})`
|
|
@@ -166,7 +187,7 @@ export const generate = async ({
|
|
|
166
187
|
);
|
|
167
188
|
|
|
168
189
|
if (assetsPath && fs.existsSync(assetsPath)) {
|
|
169
|
-
log(`\n ${pc.underline("Assets")}`);
|
|
190
|
+
log.text(`\n ${pc.underline("Assets")}`);
|
|
170
191
|
|
|
171
192
|
await Promise.all(
|
|
172
193
|
[
|
|
@@ -178,15 +199,13 @@ export const generate = async ({
|
|
|
178
199
|
].map(({ ratio, suffix }) => {
|
|
179
200
|
const fileName = `${logoFileName}${suffix}.png`;
|
|
180
201
|
const filePath = path.resolve(assetsPath, fileName);
|
|
181
|
-
const width = logoWidth * ratio;
|
|
182
|
-
const height = getHeight(width);
|
|
183
202
|
|
|
184
203
|
return image
|
|
185
204
|
.clone()
|
|
186
|
-
.resize(
|
|
187
|
-
.quality
|
|
188
|
-
.
|
|
189
|
-
.then(() => {
|
|
205
|
+
.resize(logoWidth * ratio)
|
|
206
|
+
.png({ quality: 100 })
|
|
207
|
+
.toFile(filePath)
|
|
208
|
+
.then(({ width, height }) => {
|
|
190
209
|
logWrite("✨", filePath, { width, height });
|
|
191
210
|
});
|
|
192
211
|
}),
|
|
@@ -194,7 +213,7 @@ export const generate = async ({
|
|
|
194
213
|
}
|
|
195
214
|
|
|
196
215
|
if (android) {
|
|
197
|
-
log(`\n ${pc.underline("Android")}`);
|
|
216
|
+
log.text(`\n ${pc.underline("Android")}`);
|
|
198
217
|
|
|
199
218
|
const appPath = android.appName
|
|
200
219
|
? path.resolve(android.sourceDir, android.appName)
|
|
@@ -249,22 +268,34 @@ export const generate = async ({
|
|
|
249
268
|
].map(({ ratio, directory }) => {
|
|
250
269
|
const fileName = `${logoFileName}.png`;
|
|
251
270
|
const filePath = path.resolve(resPath, directory, fileName);
|
|
252
|
-
|
|
253
|
-
const
|
|
271
|
+
// https://github.com/androidx/androidx/blob/androidx-main/core/core-splashscreen/src/main/res/values/dimens.xml#L22
|
|
272
|
+
const canvasSize = 288 * ratio;
|
|
273
|
+
|
|
274
|
+
// https://sharp.pixelplumbing.com/api-constructor
|
|
275
|
+
const canvas = sharp({
|
|
276
|
+
create: {
|
|
277
|
+
width: canvasSize,
|
|
278
|
+
height: canvasSize,
|
|
279
|
+
channels: 4,
|
|
280
|
+
background: {
|
|
281
|
+
r: 255,
|
|
282
|
+
g: 255,
|
|
283
|
+
b: 255,
|
|
284
|
+
alpha: 0,
|
|
285
|
+
},
|
|
286
|
+
},
|
|
287
|
+
});
|
|
254
288
|
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
.blit(logo, x, y)
|
|
266
|
-
.quality(100)
|
|
267
|
-
.writeAsync(filePath)
|
|
289
|
+
return image
|
|
290
|
+
.clone()
|
|
291
|
+
.resize(logoWidth * ratio)
|
|
292
|
+
.toBuffer()
|
|
293
|
+
.then((input) =>
|
|
294
|
+
canvas
|
|
295
|
+
.composite([{ input }])
|
|
296
|
+
.png({ quality: 100 })
|
|
297
|
+
.toFile(filePath),
|
|
298
|
+
)
|
|
268
299
|
.then(() => {
|
|
269
300
|
logWrite("✨", filePath, { width: canvasSize, height: canvasSize });
|
|
270
301
|
});
|
|
@@ -273,7 +304,7 @@ export const generate = async ({
|
|
|
273
304
|
}
|
|
274
305
|
|
|
275
306
|
if (ios) {
|
|
276
|
-
log(`\n ${pc.underline("iOS")}`);
|
|
307
|
+
log.text(`\n ${pc.underline("iOS")}`);
|
|
277
308
|
|
|
278
309
|
const { projectPath } = ios;
|
|
279
310
|
const imagesPath = path.resolve(projectPath, "Images.xcassets");
|
|
@@ -284,7 +315,7 @@ export const generate = async ({
|
|
|
284
315
|
fs.writeFileSync(
|
|
285
316
|
storyboardPath,
|
|
286
317
|
getStoryboard({
|
|
287
|
-
height:
|
|
318
|
+
height: logoHeight,
|
|
288
319
|
width: logoWidth,
|
|
289
320
|
backgroundColor: backgroundColorHex,
|
|
290
321
|
}),
|
|
@@ -293,7 +324,7 @@ export const generate = async ({
|
|
|
293
324
|
|
|
294
325
|
logWrite("✨", storyboardPath);
|
|
295
326
|
} else {
|
|
296
|
-
log(
|
|
327
|
+
log.text(
|
|
297
328
|
`No "${projectPath}" directory found. Skipping iOS storyboard generation…`,
|
|
298
329
|
);
|
|
299
330
|
}
|
|
@@ -316,37 +347,36 @@ export const generate = async ({
|
|
|
316
347
|
].map(({ ratio, suffix }) => {
|
|
317
348
|
const fileName = `${logoFileName}${suffix}.png`;
|
|
318
349
|
const filePath = path.resolve(imageSetPath, fileName);
|
|
319
|
-
const width = logoWidth * ratio;
|
|
320
|
-
const height = getHeight(width);
|
|
321
350
|
|
|
322
351
|
return image
|
|
323
352
|
.clone()
|
|
324
|
-
.resize(
|
|
325
|
-
.quality
|
|
326
|
-
.
|
|
327
|
-
.then(() => {
|
|
353
|
+
.resize(logoWidth * ratio)
|
|
354
|
+
.png({ quality: 100 })
|
|
355
|
+
.toFile(filePath)
|
|
356
|
+
.then(({ width, height }) => {
|
|
328
357
|
logWrite("✨", filePath, { width, height });
|
|
329
358
|
});
|
|
330
359
|
}),
|
|
331
360
|
);
|
|
332
361
|
} else {
|
|
333
|
-
log(
|
|
362
|
+
log.text(
|
|
334
363
|
`No "${imagesPath}" directory found. Skipping iOS images generation…`,
|
|
335
364
|
);
|
|
336
365
|
}
|
|
337
366
|
}
|
|
338
367
|
|
|
339
|
-
log(`
|
|
368
|
+
log.text(`
|
|
340
369
|
${pc.blue("┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓")}
|
|
341
370
|
${pc.blue("┃")} 💖 ${pc.bold(
|
|
342
371
|
"Love this library? Consider sponsoring!",
|
|
343
372
|
)} ${pc.blue("┃")}
|
|
344
|
-
${pc.blue("┃")} One-time amounts are available. ${pc.blue("┃")}
|
|
345
373
|
${pc.blue("┃")} ${pc.underline(
|
|
346
374
|
"https://github.com/sponsors/zoontek",
|
|
347
375
|
)} ${pc.blue("┃")}
|
|
348
376
|
${pc.blue("┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛")}
|
|
349
377
|
`);
|
|
350
378
|
|
|
351
|
-
log
|
|
379
|
+
log.text(
|
|
380
|
+
`✅ Done! Thanks for using ${pc.underline("react-native-bootsplash")}.`,
|
|
381
|
+
);
|
|
352
382
|
};
|