react-native-bootsplash 4.7.4 β 5.0.0-beta.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 +214 -107
- package/RNBootSplash.podspec +11 -11
- package/android/.npmignore +11 -0
- package/android/build.gradle +0 -1
- package/android/src/main/java/com/zoontek/rnbootsplash/RNBootSplash.java +3 -2
- package/android/src/main/java/com/zoontek/rnbootsplash/RNBootSplashDialog.java +49 -0
- package/android/src/main/java/com/zoontek/rnbootsplash/RNBootSplashModuleImpl.java +157 -87
- package/android/src/main/res/anim/bootsplash_fade_in.xml +7 -0
- package/android/src/main/res/anim/bootsplash_fade_out.xml +7 -0
- package/android/src/main/res/drawable/compat_splash_screen.xml +19 -0
- package/android/src/main/res/values/attrs.xml +8 -0
- package/android/src/main/res/values/public.xml +7 -0
- package/android/src/main/res/values/styles.xml +29 -0
- package/android/src/main/res/values-v31/styles.xml +7 -0
- package/android/src/newarch/com/zoontek/rnbootsplash/RNBootSplashModule.java +11 -4
- package/android/src/oldarch/com/zoontek/rnbootsplash/RNBootSplashModule.java +13 -4
- package/dist/commonjs/NativeRNBootSplash.js.map +1 -1
- package/dist/commonjs/addon/index.js +3 -0
- package/dist/commonjs/addon/index.js.map +1 -0
- package/dist/commonjs/generate.js +289 -194
- package/dist/commonjs/generate.js.map +1 -1
- package/dist/commonjs/index.js +115 -7
- package/dist/commonjs/index.js.map +1 -1
- package/dist/module/NativeRNBootSplash.js.map +1 -1
- package/dist/module/addon/index.js +3 -0
- package/dist/module/addon/index.js.map +1 -0
- package/dist/module/generate.js +287 -195
- package/dist/module/generate.js.map +1 -1
- package/dist/module/index.js +113 -6
- package/dist/module/index.js.map +1 -1
- package/dist/typescript/NativeRNBootSplash.d.ts +6 -3
- package/dist/typescript/NativeRNBootSplash.d.ts.map +1 -1
- package/dist/typescript/addon/index.d.ts +3 -0
- package/dist/typescript/addon/index.d.ts.map +1 -0
- package/dist/typescript/generate.d.ts +47 -14
- package/dist/typescript/generate.d.ts.map +1 -1
- package/dist/typescript/index.d.ts +33 -5
- package/dist/typescript/index.d.ts.map +1 -1
- package/example/android/app/debug.keystore +0 -0
- package/example/vendor/bundle/ruby/2.7.0/gems/ffi-1.15.5/ext/ffi_c/libffi/.travis/compile +351 -0
- package/example/vendor/bundle/ruby/2.7.0/gems/ffi-1.15.5/ext/ffi_c/libffi/testsuite/libffi.bhaible/Makefile +28 -0
- package/ios/.DS_Store +0 -0
- package/ios/.npmignore +8 -0
- package/ios/RNBootSplash.mm +101 -95
- package/package.json +22 -15
- package/react-native.config.js +74 -76
- package/src/.DS_Store +0 -0
- package/src/.npmignore +1 -0
- package/src/NativeRNBootSplash.ts +3 -4
- package/src/addon/index.ts +788 -0
- package/src/generate.ts +457 -232
- package/src/index.ts +205 -8
- package/RNBootSplash.res +0 -29
- package/bsconfig.json +0 -14
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_crypto","_interopRequireDefault","require","_fsExtra","_os","_path","_sharp","_generate","obj","__esModule","default","BrandContentsJson","DarkLogoContentsJson","DarkBrandContentsJson","getStoryboard","_ref","logoHeight","logoWidth","hasBrand","brandHeight","brandWidth","brandBottom","background","R","G","B","hasDarkBackground","frameWidth","frameHeight","logoX","logoY","brandX","brandY","content","split","filter","line","trim","join","generateAndroidAsset","_ref2","androidResPath","fileName","image","imageWidth","night","maxWidth","maxHeight","Promise","all","ratio","suffix","map","_ref3","dirName","drawableDirPath","path","resolve","fs","ensureDirSync","canvasWidth","canvasHeight","canvas","sharp","create","width","height","channels","r","g","b","alpha","filePath","clone","resize","toBuffer","then","input","composite","png","quality","toFile","logWrite","generateIOSAsset","_ref4","imageSetPath","_ref5","_ref6","generateGenericAsset","_ref7","assetsOutputPath","_ref8","_ref9","verifyLicenseKey","licenseKey","formData","FormData","append","fetch","method","body","response","json","data","success","log","error","process","exit","Error","catch","execute","_ref10","iosProjectPath","brand","darkBackground","darkLogo","darkBrand","hasDarkLogo","hasDarkBrand","title","packageJsonPath","__dirname","version","JSON","parse","readFileSync","licenseKeyHash","crypto","createHash","update","digest","libVersionHash","licenseKeyFileName","substring","length","licenseKeyFilePath","realpathSync","os","tmpdir","existsSync","writeFileSync","valuesNightPath","colorsXmlPath","colorsXmlEntry","hex","colorsXml","match","androidColorRegex","replace","storyboardPath","rgb","colorsSetPath","manifest","logo","bottom","manifestPath","stringify","exports"],"sourceRoot":"../../../src","sources":["addon/index.ts"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,QAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,GAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,KAAA,GAAAJ,sBAAA,CAAAC,OAAA;AAEA,IAAAI,MAAA,GAAAL,sBAAA,CAAAC,OAAA;AAEA,IAAAK,SAAA,GAAAL,OAAA;AAMqB,SAAAD,uBAAAO,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAErB,MAAMG,iBAAiB,GAAI;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AAED,MAAMC,oBAAoB,GAAI;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AAED,MAAMC,qBAAqB,GAAI;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AAED,MAAMC,aAAa,GAAGC,IAAA,IAkBhB;EAAA,IAlBiB;IACrBC,UAAU;IACVC,SAAS;IACTC,QAAQ;IACRC,WAAW;IACXC,UAAU;IACVC,WAAW;IACXC,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"}
|
|
@@ -3,55 +3,76 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.generate = void 0;
|
|
6
|
+
exports.logWrite = exports.log = exports.generate = exports.androidColorRegex = void 0;
|
|
7
7
|
var _fsExtra = _interopRequireDefault(require("fs-extra"));
|
|
8
8
|
var _path = _interopRequireDefault(require("path"));
|
|
9
9
|
var _picocolors = _interopRequireDefault(require("picocolors"));
|
|
10
10
|
var _sharp = _interopRequireDefault(require("sharp"));
|
|
11
11
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
12
|
-
const logoFileName = "bootsplash_logo";
|
|
13
|
-
const xcassetName = "BootSplashLogo";
|
|
14
|
-
const androidColorName = "bootsplash_background";
|
|
15
12
|
const androidColorRegex = /<color name="bootsplash_background">#\w+<\/color>/g;
|
|
13
|
+
exports.androidColorRegex = androidColorRegex;
|
|
14
|
+
const workingPath = process.env.INIT_CWD ?? process.env.PWD ?? process.cwd();
|
|
15
|
+
const parseColor = value => {
|
|
16
|
+
const up = value.toUpperCase().replace(/[^0-9A-F]/g, "");
|
|
17
|
+
const hex = "#" + (up.length === 3 ? up + up : up);
|
|
18
|
+
if (hex.length !== 7) {
|
|
19
|
+
log.error("--background-color value is not a valid hexadecimal color.");
|
|
20
|
+
process.exit(1);
|
|
21
|
+
}
|
|
22
|
+
const rgb = {
|
|
23
|
+
R: (parseInt("" + hex[1] + hex[2], 16) / 255).toPrecision(15),
|
|
24
|
+
G: (parseInt("" + hex[3] + hex[4], 16) / 255).toPrecision(15),
|
|
25
|
+
B: (parseInt("" + hex[5] + hex[6], 16) / 255).toPrecision(15)
|
|
26
|
+
};
|
|
27
|
+
return {
|
|
28
|
+
hex,
|
|
29
|
+
rgb
|
|
30
|
+
};
|
|
31
|
+
};
|
|
16
32
|
const ContentsJson = `{
|
|
17
33
|
"images": [
|
|
18
34
|
{
|
|
19
35
|
"idiom": "universal",
|
|
20
|
-
"filename": "
|
|
36
|
+
"filename": "bootsplash_logo.png",
|
|
21
37
|
"scale": "1x"
|
|
22
38
|
},
|
|
23
39
|
{
|
|
24
40
|
"idiom": "universal",
|
|
25
|
-
"filename": "
|
|
41
|
+
"filename": "bootsplash_logo@2x.png",
|
|
26
42
|
"scale": "2x"
|
|
27
43
|
},
|
|
28
44
|
{
|
|
29
45
|
"idiom": "universal",
|
|
30
|
-
"filename": "
|
|
46
|
+
"filename": "bootsplash_logo@3x.png",
|
|
31
47
|
"scale": "3x"
|
|
32
48
|
}
|
|
33
49
|
],
|
|
34
50
|
"info": {
|
|
35
|
-
"
|
|
36
|
-
"
|
|
51
|
+
"author": "xcode",
|
|
52
|
+
"version": 1
|
|
37
53
|
}
|
|
38
54
|
}
|
|
39
55
|
`;
|
|
40
56
|
const getStoryboard = _ref => {
|
|
41
57
|
let {
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
58
|
+
logoHeight,
|
|
59
|
+
logoWidth,
|
|
60
|
+
background: {
|
|
61
|
+
R,
|
|
62
|
+
G,
|
|
63
|
+
B
|
|
64
|
+
}
|
|
45
65
|
} = _ref;
|
|
46
|
-
const
|
|
47
|
-
const
|
|
48
|
-
const
|
|
66
|
+
const frameWidth = 375;
|
|
67
|
+
const frameHeight = 667;
|
|
68
|
+
const logoX = (frameWidth - logoWidth) / 2;
|
|
69
|
+
const logoY = (frameHeight - logoHeight) / 2;
|
|
49
70
|
return `<?xml version="1.0" encoding="UTF-8"?>
|
|
50
|
-
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="
|
|
71
|
+
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="21701" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES" initialViewController="01J-lp-oVM">
|
|
51
72
|
<device id="retina4_7" orientation="portrait" appearance="light"/>
|
|
52
73
|
<dependencies>
|
|
53
74
|
<deployment identifier="iOS"/>
|
|
54
|
-
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="
|
|
75
|
+
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="21678"/>
|
|
55
76
|
<capability name="Safe area layout guides" minToolsVersion="9.0"/>
|
|
56
77
|
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
|
57
78
|
</dependencies>
|
|
@@ -60,22 +81,19 @@ const getStoryboard = _ref => {
|
|
|
60
81
|
<scene sceneID="EHf-IW-A2E">
|
|
61
82
|
<objects>
|
|
62
83
|
<viewController modalTransitionStyle="crossDissolve" id="01J-lp-oVM" sceneMemberID="viewController">
|
|
63
|
-
<view key="view" autoresizesSubviews="NO"
|
|
64
|
-
<rect key="frame" x="0.0" y="0.0" width="
|
|
65
|
-
<autoresizingMask key="autoresizingMask"/>
|
|
84
|
+
<view key="view" autoresizesSubviews="NO" contentMode="scaleToFill" id="Ze5-6b-2t3">
|
|
85
|
+
<rect key="frame" x="0.0" y="0.0" width="${frameWidth}" height="${frameHeight}"/>
|
|
86
|
+
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
|
66
87
|
<subviews>
|
|
67
88
|
<imageView autoresizesSubviews="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" image="BootSplashLogo" translatesAutoresizingMaskIntoConstraints="NO" id="3lX-Ut-9ad">
|
|
68
|
-
<rect key="frame" x="${
|
|
89
|
+
<rect key="frame" x="${logoX}" y="${logoY}" width="${logoWidth}" height="${logoHeight}"/>
|
|
69
90
|
<accessibility key="accessibilityConfiguration">
|
|
70
91
|
<accessibilityTraits key="traits" image="YES" notEnabled="YES"/>
|
|
71
92
|
</accessibility>
|
|
72
93
|
</imageView>
|
|
73
94
|
</subviews>
|
|
74
95
|
<viewLayoutGuide key="safeArea" id="Bcu-3y-fUS"/>
|
|
75
|
-
<color key="backgroundColor" red="${
|
|
76
|
-
<accessibility key="accessibilityConfiguration">
|
|
77
|
-
<accessibilityTraits key="traits" notEnabled="YES"/>
|
|
78
|
-
</accessibility>
|
|
96
|
+
<color key="backgroundColor" red="${R}" green="${G}" blue="${B}" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
|
79
97
|
<constraints>
|
|
80
98
|
<constraint firstItem="3lX-Ut-9ad" firstAttribute="centerX" secondItem="Ze5-6b-2t3" secondAttribute="centerX" id="Fh9-Fy-1nT"/>
|
|
81
99
|
<constraint firstItem="3lX-Ut-9ad" firstAttribute="centerY" secondItem="Ze5-6b-2t3" secondAttribute="centerY" id="nvB-Ic-PnI"/>
|
|
@@ -88,127 +106,150 @@ const getStoryboard = _ref => {
|
|
|
88
106
|
</scene>
|
|
89
107
|
</scenes>
|
|
90
108
|
<resources>
|
|
91
|
-
<image name="
|
|
109
|
+
<image name="BootSplashLogo" width="${logoWidth}" height="${logoHeight}"/>
|
|
92
110
|
</resources>
|
|
93
111
|
</document>
|
|
94
112
|
`;
|
|
95
113
|
};
|
|
96
114
|
const log = {
|
|
97
|
-
error: text => console.log(_picocolors.default.red(text)),
|
|
115
|
+
error: text => console.log(_picocolors.default.red(`β ${text}`)),
|
|
98
116
|
text: text => console.log(text),
|
|
99
|
-
|
|
117
|
+
title: (emoji, text) => console.log(`\n${emoji} ${_picocolors.default.underline(_picocolors.default.bold(text))}`),
|
|
118
|
+
warn: text => console.log(_picocolors.default.yellow(`β οΈ ${text}`))
|
|
100
119
|
};
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
120
|
+
exports.log = log;
|
|
121
|
+
const logWrite = (filePath, dimensions) => console.log(` ${_path.default.relative(workingPath, filePath)}` + (dimensions != null ? ` (${dimensions.width}x${dimensions.height})` : ""));
|
|
122
|
+
exports.logWrite = logWrite;
|
|
123
|
+
const ensureSupportedFormat = async (name, image) => {
|
|
124
|
+
if (image == null) {
|
|
125
|
+
return;
|
|
105
126
|
}
|
|
106
|
-
|
|
107
|
-
|
|
127
|
+
const {
|
|
128
|
+
format
|
|
129
|
+
} = await image.metadata();
|
|
130
|
+
if (format !== "png" && format !== "svg") {
|
|
131
|
+
log.error(`${name} image file format (${format}) is not supported`);
|
|
132
|
+
process.exit(1);
|
|
108
133
|
}
|
|
109
|
-
log.error("--background-color value is not a valid hexadecimal color.");
|
|
110
|
-
process.exit(1);
|
|
111
134
|
};
|
|
112
|
-
const
|
|
135
|
+
const getAndroidResPath = (android, _ref2) => {
|
|
113
136
|
let {
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
workingPath,
|
|
117
|
-
logoPath,
|
|
118
|
-
assetsPath,
|
|
119
|
-
backgroundColor,
|
|
137
|
+
brandHeight,
|
|
138
|
+
brandWidth,
|
|
120
139
|
flavor,
|
|
121
|
-
|
|
122
|
-
|
|
140
|
+
logoHeight,
|
|
141
|
+
logoWidth
|
|
123
142
|
} = _ref2;
|
|
124
|
-
const
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
143
|
+
const androidResPath = _path.default.resolve(android.sourceDir, android.appName, "src", flavor, "res");
|
|
144
|
+
if (!_fsExtra.default.existsSync(androidResPath)) {
|
|
145
|
+
log.warn(`No ${_path.default.relative(workingPath, androidResPath)} directory found. Skipping Android assets generationβ¦`);
|
|
146
|
+
} else if (logoWidth > 288 || logoHeight > 288) {
|
|
147
|
+
log.warn("Logo size exceeding 288x288dp will be cropped by Android. Skipping Android assets generationβ¦");
|
|
148
|
+
} else if (brandHeight > 80 || brandWidth > 200) {
|
|
149
|
+
log.warn("Brand size exceeding 200x80dp will be cropped by Android. Skipping Android assets generationβ¦");
|
|
150
|
+
} else {
|
|
151
|
+
if (logoWidth > 192 || logoHeight > 192) {
|
|
152
|
+
log.warn(`Logo size exceeds 192x192dp. It might be cropped by Android.`);
|
|
153
|
+
}
|
|
154
|
+
return androidResPath;
|
|
155
|
+
}
|
|
156
|
+
};
|
|
157
|
+
const getIOSProjectPath = ios => {
|
|
158
|
+
if (ios.xcodeProject == null) {
|
|
159
|
+
log.warn("No Xcode project found. Skipping iOS assets generationβ¦");
|
|
160
|
+
return;
|
|
161
|
+
}
|
|
162
|
+
const iosProjectPath = _path.default.resolve(ios.sourceDir, ios.xcodeProject.name).replace(/\.(xcodeproj|xcworkspace)$/, "");
|
|
163
|
+
if (!_fsExtra.default.existsSync(iosProjectPath)) {
|
|
164
|
+
log.warn(`No ${_path.default.relative(workingPath, iosProjectPath)} directory found. Skipping iOS assets generationβ¦`);
|
|
165
|
+
} else {
|
|
166
|
+
return iosProjectPath;
|
|
167
|
+
}
|
|
168
|
+
};
|
|
169
|
+
const requireAddon = () => {
|
|
170
|
+
try {
|
|
171
|
+
// eslint-disable-next-line
|
|
172
|
+
return require("./addon");
|
|
173
|
+
} catch {
|
|
174
|
+
return;
|
|
175
|
+
}
|
|
176
|
+
};
|
|
177
|
+
const generate = async (_ref3, _ref4, _ref5) => {
|
|
178
|
+
let [argsLogo] = _ref3;
|
|
179
|
+
let {
|
|
180
|
+
project: {
|
|
181
|
+
android,
|
|
182
|
+
ios
|
|
183
|
+
}
|
|
184
|
+
} = _ref4;
|
|
185
|
+
let {
|
|
186
|
+
flavor,
|
|
187
|
+
platforms,
|
|
188
|
+
licenseKey,
|
|
189
|
+
...args
|
|
190
|
+
} = _ref5;
|
|
191
|
+
if (argsLogo == null) {
|
|
192
|
+
log.error("Missing required argument 'logo'");
|
|
128
193
|
process.exit(1);
|
|
129
194
|
}
|
|
130
|
-
const
|
|
131
|
-
const
|
|
132
|
-
const
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
195
|
+
const assetsOutputPath = args.assetsOutput != null ? _path.default.resolve(workingPath, args.assetsOutput) : undefined;
|
|
196
|
+
const background = parseColor(args.background);
|
|
197
|
+
const logo = (0, _sharp.default)(_path.default.resolve(workingPath, argsLogo));
|
|
198
|
+
const logoWidth = args.logoWidth - args.logoWidth % 2;
|
|
199
|
+
const brandWidth = args.brandWidth - args.brandWidth % 2;
|
|
200
|
+
const brand = args.brand != null ? (0, _sharp.default)(_path.default.resolve(workingPath, args.brand)) : undefined;
|
|
201
|
+
const darkBackground = args.darkBackground != null ? parseColor(args.darkBackground) : undefined;
|
|
202
|
+
const darkLogo = args.darkLogo != null ? (0, _sharp.default)(_path.default.resolve(workingPath, args.darkLogo)) : undefined;
|
|
203
|
+
const darkBrand = args.darkBrand != null ? (0, _sharp.default)(_path.default.resolve(workingPath, args.darkBrand)) : undefined;
|
|
204
|
+
const executeAddon = brand != null || darkBackground != null || darkLogo != null || darkBrand != null;
|
|
205
|
+
if (licenseKey != null && !executeAddon) {
|
|
206
|
+
log.warn(`You specified a license key but none of the options that requires it.`);
|
|
207
|
+
}
|
|
208
|
+
if (licenseKey == null && executeAddon) {
|
|
209
|
+
const options = [brand != null ? "brand" : "", darkBackground != null ? "dark-background" : "", darkLogo != null ? "dark-logo" : "", darkBrand != null ? "dark-brand" : ""].filter(option => option !== "").map(option => `--${option}`).join(", ");
|
|
210
|
+
log.error(`You need to specify a license key in order to use ${options}.`);
|
|
137
211
|
process.exit(1);
|
|
138
212
|
}
|
|
139
|
-
|
|
213
|
+
if (brand == null && darkBrand != null) {
|
|
214
|
+
log.error("--dark-brand option couldn't be used without --brand.");
|
|
215
|
+
process.exit(1);
|
|
216
|
+
}
|
|
217
|
+
await ensureSupportedFormat("Logo", logo);
|
|
218
|
+
await ensureSupportedFormat("Dark logo", darkLogo);
|
|
219
|
+
await ensureSupportedFormat("Brand", brand);
|
|
220
|
+
await ensureSupportedFormat("Dark brand", darkBrand);
|
|
221
|
+
const logoHeight = await logo.clone().resize(logoWidth).toBuffer().then(buffer => (0, _sharp.default)(buffer).metadata()).then(_ref6 => {
|
|
140
222
|
let {
|
|
141
223
|
height = 0
|
|
142
|
-
} =
|
|
143
|
-
return height;
|
|
224
|
+
} = _ref6;
|
|
225
|
+
return Math.round(height);
|
|
144
226
|
});
|
|
145
|
-
const
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
log.warn(
|
|
153
|
-
};
|
|
154
|
-
if (logoWidth > 288) {
|
|
155
|
-
logAbove288("width");
|
|
156
|
-
} else if (logoHeight > 288) {
|
|
157
|
-
logAbove288("height");
|
|
158
|
-
} else if (logoWidth > 192) {
|
|
159
|
-
logAbove192("width");
|
|
160
|
-
} else if (logoHeight > 192) {
|
|
161
|
-
logAbove192("height");
|
|
227
|
+
const brandHeight = (await (brand === null || brand === void 0 ? void 0 : brand.clone().resize(brandWidth).toBuffer().then(buffer => (0, _sharp.default)(buffer).metadata()).then(_ref7 => {
|
|
228
|
+
let {
|
|
229
|
+
height = 0
|
|
230
|
+
} = _ref7;
|
|
231
|
+
return Math.round(height);
|
|
232
|
+
}))) ?? 0;
|
|
233
|
+
if (logoWidth < args.logoWidth) {
|
|
234
|
+
log.warn(`Logo width must be a multiple of 2. It has been rounded to ${logoWidth}dp.`);
|
|
162
235
|
}
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
log.text(`\n ${_picocolors.default.underline("Assets")}`);
|
|
166
|
-
_fsExtra.default.ensureDirSync(assetsPath);
|
|
167
|
-
await Promise.all([{
|
|
168
|
-
ratio: 1,
|
|
169
|
-
suffix: ""
|
|
170
|
-
}, {
|
|
171
|
-
ratio: 1.5,
|
|
172
|
-
suffix: "@1,5x"
|
|
173
|
-
}, {
|
|
174
|
-
ratio: 2,
|
|
175
|
-
suffix: "@2x"
|
|
176
|
-
}, {
|
|
177
|
-
ratio: 3,
|
|
178
|
-
suffix: "@3x"
|
|
179
|
-
}, {
|
|
180
|
-
ratio: 4,
|
|
181
|
-
suffix: "@4x"
|
|
182
|
-
}].map(_ref4 => {
|
|
183
|
-
let {
|
|
184
|
-
ratio,
|
|
185
|
-
suffix
|
|
186
|
-
} = _ref4;
|
|
187
|
-
const fileName = `${logoFileName}${suffix}.png`;
|
|
188
|
-
const filePath = _path.default.resolve(assetsPath, fileName);
|
|
189
|
-
return image.clone().resize(logoWidth * ratio).png({
|
|
190
|
-
quality: 100
|
|
191
|
-
}).toFile(filePath).then(_ref5 => {
|
|
192
|
-
let {
|
|
193
|
-
width,
|
|
194
|
-
height
|
|
195
|
-
} = _ref5;
|
|
196
|
-
logWrite("β¨", filePath, {
|
|
197
|
-
width,
|
|
198
|
-
height
|
|
199
|
-
});
|
|
200
|
-
});
|
|
201
|
-
}));
|
|
236
|
+
if (brandWidth < args.brandWidth) {
|
|
237
|
+
log.warn(`Brand width must be a multiple of 2. It has been rounded to ${brandWidth}dp.`);
|
|
202
238
|
}
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
239
|
+
const androidResPath = platforms.includes("android") && android != null ? getAndroidResPath(android, {
|
|
240
|
+
brandHeight,
|
|
241
|
+
brandWidth,
|
|
242
|
+
flavor,
|
|
243
|
+
logoHeight,
|
|
244
|
+
logoWidth
|
|
245
|
+
}) : undefined;
|
|
246
|
+
const iosProjectPath = platforms.includes("ios") && ios != null ? getIOSProjectPath(ios) : undefined;
|
|
247
|
+
if (androidResPath != null) {
|
|
248
|
+
log.title("π€", "Android");
|
|
249
|
+
const valuesPath = _path.default.resolve(androidResPath, "values");
|
|
209
250
|
_fsExtra.default.ensureDirSync(valuesPath);
|
|
210
251
|
const colorsXmlPath = _path.default.resolve(valuesPath, "colors.xml");
|
|
211
|
-
const colorsXmlEntry = `<color name="
|
|
252
|
+
const colorsXmlEntry = `<color name="bootsplash_background">${background.hex}</color>`;
|
|
212
253
|
if (_fsExtra.default.existsSync(colorsXmlPath)) {
|
|
213
254
|
const colorsXml = _fsExtra.default.readFileSync(colorsXmlPath, "utf-8");
|
|
214
255
|
if (colorsXml.match(androidColorRegex)) {
|
|
@@ -216,34 +257,34 @@ const generate = async _ref2 => {
|
|
|
216
257
|
} else {
|
|
217
258
|
_fsExtra.default.writeFileSync(colorsXmlPath, colorsXml.replace(/<\/resources>/g, ` ${colorsXmlEntry}\n</resources>`), "utf-8");
|
|
218
259
|
}
|
|
219
|
-
logWrite("βοΈ ", colorsXmlPath);
|
|
220
260
|
} else {
|
|
221
261
|
_fsExtra.default.writeFileSync(colorsXmlPath, `<resources>\n ${colorsXmlEntry}\n</resources>\n`, "utf-8");
|
|
222
|
-
logWrite("β¨", colorsXmlPath);
|
|
223
262
|
}
|
|
263
|
+
logWrite(colorsXmlPath);
|
|
224
264
|
await Promise.all([{
|
|
225
265
|
ratio: 1,
|
|
226
|
-
|
|
266
|
+
suffix: "mdpi"
|
|
227
267
|
}, {
|
|
228
268
|
ratio: 1.5,
|
|
229
|
-
|
|
269
|
+
suffix: "hdpi"
|
|
230
270
|
}, {
|
|
231
271
|
ratio: 2,
|
|
232
|
-
|
|
272
|
+
suffix: "xhdpi"
|
|
233
273
|
}, {
|
|
234
274
|
ratio: 3,
|
|
235
|
-
|
|
275
|
+
suffix: "xxhdpi"
|
|
236
276
|
}, {
|
|
237
277
|
ratio: 4,
|
|
238
|
-
|
|
239
|
-
}].map(
|
|
278
|
+
suffix: "xxxhdpi"
|
|
279
|
+
}].map(_ref8 => {
|
|
240
280
|
let {
|
|
241
281
|
ratio,
|
|
242
|
-
|
|
243
|
-
} =
|
|
244
|
-
const
|
|
245
|
-
|
|
246
|
-
|
|
282
|
+
suffix
|
|
283
|
+
} = _ref8;
|
|
284
|
+
const drawableDirPath = _path.default.resolve(androidResPath, `drawable-${suffix}`);
|
|
285
|
+
_fsExtra.default.ensureDirSync(drawableDirPath);
|
|
286
|
+
|
|
287
|
+
// https://developer.android.com/develop/ui/views/launch/splash-screen#dimensions
|
|
247
288
|
const canvasSize = 288 * ratio;
|
|
248
289
|
|
|
249
290
|
// https://sharp.pixelplumbing.com/api-constructor
|
|
@@ -260,79 +301,133 @@ const generate = async _ref2 => {
|
|
|
260
301
|
}
|
|
261
302
|
}
|
|
262
303
|
});
|
|
263
|
-
|
|
304
|
+
const filePath = _path.default.resolve(drawableDirPath, "bootsplash_logo.png");
|
|
305
|
+
return logo.clone().resize(logoWidth * ratio).toBuffer().then(input => canvas.composite([{
|
|
264
306
|
input
|
|
265
307
|
}]).png({
|
|
266
308
|
quality: 100
|
|
267
309
|
}).toFile(filePath)).then(() => {
|
|
268
|
-
logWrite(
|
|
310
|
+
logWrite(filePath, {
|
|
269
311
|
width: canvasSize,
|
|
270
312
|
height: canvasSize
|
|
271
313
|
});
|
|
272
314
|
});
|
|
273
315
|
}));
|
|
274
316
|
}
|
|
275
|
-
if (
|
|
276
|
-
log.
|
|
277
|
-
const
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
317
|
+
if (iosProjectPath != null) {
|
|
318
|
+
log.title("π", "iOS");
|
|
319
|
+
const storyboardPath = _path.default.resolve(iosProjectPath, "BootSplash.storyboard");
|
|
320
|
+
_fsExtra.default.writeFileSync(storyboardPath, getStoryboard({
|
|
321
|
+
logoHeight,
|
|
322
|
+
logoWidth,
|
|
323
|
+
background: background.rgb
|
|
324
|
+
}), "utf-8");
|
|
325
|
+
logWrite(storyboardPath);
|
|
326
|
+
const imageSetPath = _path.default.resolve(iosProjectPath, "Images.xcassets", "BootSplashLogo.imageset");
|
|
327
|
+
_fsExtra.default.ensureDirSync(imageSetPath);
|
|
328
|
+
_fsExtra.default.writeFileSync(_path.default.resolve(imageSetPath, "Contents.json"), ContentsJson, "utf-8");
|
|
329
|
+
await Promise.all([{
|
|
330
|
+
ratio: 1,
|
|
331
|
+
suffix: ""
|
|
332
|
+
}, {
|
|
333
|
+
ratio: 2,
|
|
334
|
+
suffix: "@2x"
|
|
335
|
+
}, {
|
|
336
|
+
ratio: 3,
|
|
337
|
+
suffix: "@3x"
|
|
338
|
+
}].map(_ref9 => {
|
|
339
|
+
let {
|
|
340
|
+
ratio,
|
|
341
|
+
suffix
|
|
342
|
+
} = _ref9;
|
|
343
|
+
const filePath = _path.default.resolve(imageSetPath, `bootsplash_logo${suffix}.png`);
|
|
344
|
+
return logo.clone().resize(logoWidth * ratio).png({
|
|
345
|
+
quality: 100
|
|
346
|
+
}).toFile(filePath).then(_ref10 => {
|
|
347
|
+
let {
|
|
348
|
+
width,
|
|
349
|
+
height
|
|
350
|
+
} = _ref10;
|
|
351
|
+
logWrite(filePath, {
|
|
352
|
+
width,
|
|
353
|
+
height
|
|
354
|
+
});
|
|
355
|
+
});
|
|
356
|
+
}));
|
|
357
|
+
}
|
|
358
|
+
if (assetsOutputPath != null) {
|
|
359
|
+
log.title("π", "Assets");
|
|
360
|
+
_fsExtra.default.ensureDirSync(assetsOutputPath);
|
|
361
|
+
const manifest = {
|
|
362
|
+
background: background.hex,
|
|
363
|
+
logo: {
|
|
285
364
|
width: logoWidth,
|
|
286
|
-
|
|
287
|
-
}
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
365
|
+
height: logoHeight
|
|
366
|
+
}
|
|
367
|
+
};
|
|
368
|
+
const manifestPath = _path.default.resolve(assetsOutputPath, "bootsplash_manifest.json");
|
|
369
|
+
_fsExtra.default.writeFileSync(manifestPath, JSON.stringify(manifest, null, 2) + "\n", "utf-8");
|
|
370
|
+
logWrite(manifestPath);
|
|
371
|
+
await Promise.all([{
|
|
372
|
+
ratio: 1,
|
|
373
|
+
suffix: ""
|
|
374
|
+
}, {
|
|
375
|
+
ratio: 1.5,
|
|
376
|
+
suffix: "@1,5x"
|
|
377
|
+
}, {
|
|
378
|
+
ratio: 2,
|
|
379
|
+
suffix: "@2x"
|
|
380
|
+
}, {
|
|
381
|
+
ratio: 3,
|
|
382
|
+
suffix: "@3x"
|
|
383
|
+
}, {
|
|
384
|
+
ratio: 4,
|
|
385
|
+
suffix: "@4x"
|
|
386
|
+
}].map(_ref11 => {
|
|
387
|
+
let {
|
|
388
|
+
ratio,
|
|
389
|
+
suffix
|
|
390
|
+
} = _ref11;
|
|
391
|
+
const filePath = _path.default.resolve(assetsOutputPath, `bootsplash_logo${suffix}.png`);
|
|
392
|
+
return logo.clone().resize(Math.round(logoWidth * ratio)).png({
|
|
393
|
+
quality: 100
|
|
394
|
+
}).toFile(filePath).then(_ref12 => {
|
|
306
395
|
let {
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
} =
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
quality: 100
|
|
314
|
-
}).toFile(filePath).then(_ref8 => {
|
|
315
|
-
let {
|
|
316
|
-
width,
|
|
317
|
-
height
|
|
318
|
-
} = _ref8;
|
|
319
|
-
logWrite("β¨", filePath, {
|
|
320
|
-
width,
|
|
321
|
-
height
|
|
322
|
-
});
|
|
396
|
+
width,
|
|
397
|
+
height
|
|
398
|
+
} = _ref12;
|
|
399
|
+
logWrite(filePath, {
|
|
400
|
+
width,
|
|
401
|
+
height
|
|
323
402
|
});
|
|
324
|
-
})
|
|
325
|
-
}
|
|
326
|
-
|
|
327
|
-
|
|
403
|
+
});
|
|
404
|
+
}));
|
|
405
|
+
}
|
|
406
|
+
if (licenseKey != null && executeAddon) {
|
|
407
|
+
const addon = requireAddon();
|
|
408
|
+
await (addon === null || addon === void 0 ? void 0 : addon.execute({
|
|
409
|
+
licenseKey,
|
|
410
|
+
androidResPath,
|
|
411
|
+
iosProjectPath,
|
|
412
|
+
assetsOutputPath,
|
|
413
|
+
logoHeight,
|
|
414
|
+
logoWidth,
|
|
415
|
+
brandHeight,
|
|
416
|
+
brandWidth,
|
|
417
|
+
background,
|
|
418
|
+
brand,
|
|
419
|
+
darkBackground,
|
|
420
|
+
darkLogo,
|
|
421
|
+
darkBrand
|
|
422
|
+
}));
|
|
423
|
+
} else {
|
|
424
|
+
log.text(`
|
|
425
|
+
${_picocolors.default.blue("βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ")}
|
|
426
|
+
${_picocolors.default.blue("β")} π ${_picocolors.default.bold("Get a license key for brand image / dark mode support")} ${_picocolors.default.blue("β")}
|
|
427
|
+
${_picocolors.default.blue("β")} ${_picocolors.default.underline("https://zoontek.gumroad.com/l/bootsplash-generator")} ${_picocolors.default.blue("β")}
|
|
428
|
+
${_picocolors.default.blue("βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ")}`);
|
|
328
429
|
}
|
|
329
|
-
log.text(`
|
|
330
|
-
${_picocolors.default.blue("βββββββββββββββββββββββββββββββββββββββββββββββββ")}
|
|
331
|
-
${_picocolors.default.blue("β")} π ${_picocolors.default.bold("Love this library? Consider sponsoring!")} ${_picocolors.default.blue("β")}
|
|
332
|
-
${_picocolors.default.blue("β")} ${_picocolors.default.underline("https://github.com/sponsors/zoontek")} ${_picocolors.default.blue("β")}
|
|
333
|
-
${_picocolors.default.blue("βββββββββββββββββββββββββββββββββββββββββββββββββ")}
|
|
334
|
-
`);
|
|
335
|
-
log.text(`β
Done! Thanks for using ${_picocolors.default.underline("react-native-bootsplash")}.`);
|
|
430
|
+
log.text(`\nπ Thanks for using ${_picocolors.default.underline("react-native-bootsplash")}`);
|
|
336
431
|
};
|
|
337
432
|
exports.generate = generate;
|
|
338
433
|
//# sourceMappingURL=generate.js.map
|