react-native-bootsplash 7.0.2 → 7.1.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (69) hide show
  1. package/app.plugin.js +1 -1
  2. package/cli.js +1 -1
  3. package/dist/commonjs/extras/addon/index.js +97 -0
  4. package/dist/commonjs/extras/addon/index.js.map +1 -0
  5. package/dist/commonjs/{expo.js → extras/expo.js} +29 -32
  6. package/dist/commonjs/extras/expo.js.map +1 -0
  7. package/dist/commonjs/extras/generate.js +274 -0
  8. package/dist/commonjs/extras/generate.js.map +1 -0
  9. package/dist/commonjs/{generate.js → extras/utils.js} +126 -355
  10. package/dist/commonjs/extras/utils.js.map +1 -0
  11. package/dist/commonjs/package.json +1 -0
  12. package/dist/module/extras/addon/index.js +97 -0
  13. package/dist/module/extras/addon/index.js.map +1 -0
  14. package/dist/module/{expo.js → extras/expo.js} +7 -11
  15. package/dist/module/extras/expo.js.map +1 -0
  16. package/dist/module/extras/generate.js +267 -0
  17. package/dist/module/extras/generate.js.map +1 -0
  18. package/dist/module/{generate.js → extras/utils.js} +115 -343
  19. package/dist/module/extras/utils.js.map +1 -0
  20. package/dist/module/package.json +1 -0
  21. package/dist/typescript/{addon → commonjs/extras/addon}/index.d.ts +1 -1
  22. package/dist/typescript/commonjs/extras/addon/index.d.ts.map +1 -0
  23. package/dist/typescript/commonjs/extras/expo.d.ts +8 -0
  24. package/dist/typescript/commonjs/extras/expo.d.ts.map +1 -0
  25. package/dist/typescript/commonjs/extras/generate.d.ts +17 -0
  26. package/dist/typescript/commonjs/extras/generate.d.ts.map +1 -0
  27. package/dist/typescript/{generate.d.ts → commonjs/extras/utils.d.ts} +67 -37
  28. package/dist/typescript/commonjs/extras/utils.d.ts.map +1 -0
  29. package/dist/typescript/commonjs/index.d.ts.map +1 -0
  30. package/dist/typescript/commonjs/package.json +1 -0
  31. package/dist/typescript/commonjs/specs/NativeRNBootSplash.d.ts.map +1 -0
  32. package/dist/typescript/commonjs/specs/NativeRNBootSplash.web.d.ts.map +1 -0
  33. package/dist/typescript/module/extras/addon/index.d.ts +26 -0
  34. package/dist/typescript/module/extras/addon/index.d.ts.map +1 -0
  35. package/dist/typescript/module/extras/expo.d.ts +8 -0
  36. package/dist/typescript/module/extras/expo.d.ts.map +1 -0
  37. package/dist/typescript/module/extras/generate.d.ts +17 -0
  38. package/dist/typescript/module/extras/generate.d.ts.map +1 -0
  39. package/dist/typescript/module/extras/utils.d.ts +192 -0
  40. package/dist/typescript/module/extras/utils.d.ts.map +1 -0
  41. package/dist/typescript/module/index.d.ts +61 -0
  42. package/dist/typescript/module/index.d.ts.map +1 -0
  43. package/dist/typescript/module/package.json +1 -0
  44. package/dist/typescript/module/specs/NativeRNBootSplash.d.ts +14 -0
  45. package/dist/typescript/module/specs/NativeRNBootSplash.d.ts.map +1 -0
  46. package/dist/typescript/module/specs/NativeRNBootSplash.web.d.ts +9 -0
  47. package/dist/typescript/module/specs/NativeRNBootSplash.web.d.ts.map +1 -0
  48. package/package.json +49 -19
  49. package/src/{expo.ts → extras/expo.ts} +31 -40
  50. package/src/extras/generate.ts +410 -0
  51. package/src/{generate.ts → extras/utils.ts} +180 -494
  52. package/dist/commonjs/addon/index.js +0 -97
  53. package/dist/commonjs/addon/index.js.map +0 -1
  54. package/dist/commonjs/expo.js.map +0 -1
  55. package/dist/commonjs/generate.js.map +0 -1
  56. package/dist/module/addon/index.js +0 -97
  57. package/dist/module/addon/index.js.map +0 -1
  58. package/dist/module/expo.js.map +0 -1
  59. package/dist/module/generate.js.map +0 -1
  60. package/dist/typescript/addon/index.d.ts.map +0 -1
  61. package/dist/typescript/expo.d.ts +0 -6
  62. package/dist/typescript/expo.d.ts.map +0 -1
  63. package/dist/typescript/generate.d.ts.map +0 -1
  64. package/dist/typescript/index.d.ts.map +0 -1
  65. package/dist/typescript/specs/NativeRNBootSplash.d.ts.map +0 -1
  66. package/dist/typescript/specs/NativeRNBootSplash.web.d.ts.map +0 -1
  67. /package/dist/typescript/{index.d.ts → commonjs/index.d.ts} +0 -0
  68. /package/dist/typescript/{specs → commonjs/specs}/NativeRNBootSplash.d.ts +0 -0
  69. /package/dist/typescript/{specs → commonjs/specs}/NativeRNBootSplash.web.d.ts +0 -0
@@ -3,14 +3,10 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.writeXmlLike = exports.writeWebAssets = exports.writeJson = exports.writeIOSAssets = exports.writeGenericAssets = exports.writeAndroidAssets = exports.transformProps = exports.setIsExpo = exports.requireAddon = exports.readXmlLike = exports.log = exports.hfs = exports.generate = exports.PACKAGE_NAME = void 0;
7
- var Expo = _interopRequireWildcard(require("@expo/config-plugins"));
8
- var _plist = _interopRequireDefault(require("@expo/plist"));
6
+ exports.writeXmlLike = exports.writeWebAssets = exports.writeJson = exports.writeIOSAssets = exports.writeGenericAssets = exports.writeAndroidAssets = exports.transformProps = exports.setLoggerMode = exports.requireAddon = exports.readXmlLike = exports.log = exports.hfs = exports.PACKAGE_NAME = void 0;
9
7
  var _crypto = _interopRequireDefault(require("crypto"));
10
8
  var _detectIndent = _interopRequireDefault(require("detect-indent"));
11
- var _fastGlob = _interopRequireDefault(require("fast-glob"));
12
- var _findUp = _interopRequireDefault(require("find-up"));
13
- var _fsExtra = _interopRequireDefault(require("fs-extra"));
9
+ var _fs = _interopRequireDefault(require("fs"));
14
10
  var _nodeHtmlParser = require("node-html-parser");
15
11
  var _path = _interopRequireDefault(require("path"));
16
12
  var _picocolors = _interopRequireDefault(require("picocolors"));
@@ -21,142 +17,55 @@ var _semver = _interopRequireDefault(require("semver"));
21
17
  var _sharp = _interopRequireDefault(require("sharp"));
22
18
  var _tsDedent = require("ts-dedent");
23
19
  var _xmlFormatter = _interopRequireDefault(require("xml-formatter"));
24
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
25
20
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
21
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
26
22
  const PACKAGE_NAME = exports.PACKAGE_NAME = "react-native-bootsplash";
27
- let isExpo = false;
28
- const setIsExpo = value => {
29
- isExpo = value;
23
+ let loggerMode = {
24
+ type: "plugin"
30
25
  };
31
- exports.setIsExpo = setIsExpo;
26
+ const setLoggerMode = value => {
27
+ loggerMode = value;
28
+ };
29
+ exports.setLoggerMode = setLoggerMode;
32
30
  const log = exports.log = {
33
31
  error: text => {
34
- console.log(_picocolors.default.red(isExpo ? `❌ [${PACKAGE_NAME}] ${text}` : `❌ ${text}`));
32
+ console.log(_picocolors.default.red(loggerMode.type === "plugin" ? `❌ [${PACKAGE_NAME}] ${text}` : `❌ ${text}`));
35
33
  },
36
34
  title: (emoji, text) => {
37
- if (!isExpo) {
35
+ if (loggerMode.type === "cli") {
38
36
  console.log(`\n${emoji} ${_picocolors.default.underline(_picocolors.default.bold(text))}`);
39
37
  }
40
38
  },
41
39
  warn: text => {
42
- console.log(_picocolors.default.yellow(isExpo ? `⚠️ [${PACKAGE_NAME}] ${text}` : `⚠️ ${text}`));
40
+ console.log(_picocolors.default.yellow(loggerMode.type === "plugin" ? `⚠️ [${PACKAGE_NAME}] ${text}` : `⚠️ ${text}`));
43
41
  },
44
42
  write: (filePath, dimensions) => {
45
- if (!isExpo) {
46
- console.log(` ${_path.default.relative(workingPath, filePath)}` + (dimensions != null ? ` (${dimensions.width}x${dimensions.height})` : ""));
43
+ if (loggerMode.type === "cli") {
44
+ console.log(` ${_path.default.relative(loggerMode.cwd, filePath)}` + (dimensions != null ? ` (${dimensions.width}x${dimensions.height})` : ""));
47
45
  }
48
46
  }
49
47
  };
50
- const workingPath = process.env.INIT_CWD ?? process.env.PWD ?? process.cwd();
51
- const packagePath = _findUp.default.sync("package.json", {
52
- cwd: workingPath
53
- });
54
- if (!packagePath) {
55
- log.error("We couldn't find a package.json in your project.");
56
- process.exit(1);
57
- }
58
- const projectRoot = _path.default.dirname(packagePath);
59
- const parseColor = value => {
60
- const up = value.toUpperCase().replace(/[^0-9A-F]/g, "");
61
- if (up.length !== 3 && up.length !== 6) {
62
- log.error(`"${value}" value is not a valid hexadecimal color.`);
63
- process.exit(1);
64
- }
65
- const hex = up.length === 3 ? "#" + up[0] + up[0] + up[1] + up[1] + up[2] + up[2] : "#" + up;
66
- const rgb = {
67
- R: (Number.parseInt("" + hex[1] + hex[2], 16) / 255).toPrecision(15),
68
- G: (Number.parseInt("" + hex[3] + hex[4], 16) / 255).toPrecision(15),
69
- B: (Number.parseInt("" + hex[5] + hex[6], 16) / 255).toPrecision(15)
70
- };
71
- return {
72
- hex: hex.toLowerCase(),
73
- rgb
74
- };
75
- };
76
- const getStoryboard = props => {
77
- const {
78
- background,
79
- logo,
80
- fileNameSuffix
81
- } = props;
82
- const {
83
- R,
84
- G,
85
- B
86
- } = background.rgb;
87
- const frameWidth = 375;
88
- const frameHeight = 667;
89
- return (0, _tsDedent.dedent)`
90
- <?xml version="1.0" encoding="UTF-8"?>
91
- <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">
92
- <device id="retina4_7" orientation="portrait" appearance="light"/>
93
- <dependencies>
94
- <deployment identifier="iOS"/>
95
- <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="21678"/>
96
- <capability name="Named colors" minToolsVersion="9.0"/>
97
- <capability name="Safe area layout guides" minToolsVersion="9.0"/>
98
- <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
99
- </dependencies>
100
- <scenes>
101
- <!--View Controller-->
102
- <scene sceneID="EHf-IW-A2E">
103
- <objects>
104
- <viewController modalTransitionStyle="crossDissolve" id="01J-lp-oVM" sceneMemberID="viewController">
105
- <view key="view" autoresizesSubviews="NO" contentMode="scaleToFill" id="Ze5-6b-2t3">
106
- <rect key="frame" x="0.0" y="0.0" width="${frameWidth}" height="${frameHeight}"/>
107
- <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
108
- <subviews>
109
- <imageView autoresizesSubviews="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" image="BootSplashLogo-${fileNameSuffix}" translatesAutoresizingMaskIntoConstraints="NO" id="3lX-Ut-9ad">
110
- <rect key="frame" x="${(frameWidth - logo.width) / 2}" y="${(frameHeight - logo.height) / 2}" width="${logo.width}" height="${logo.height}"/>
111
- <accessibility key="accessibilityConfiguration">
112
- <accessibilityTraits key="traits" image="YES" notEnabled="YES"/>
113
- </accessibility>
114
- </imageView>
115
- </subviews>
116
- <viewLayoutGuide key="safeArea" id="Bcu-3y-fUS"/>
117
- <color key="backgroundColor" name="BootSplashBackground-${fileNameSuffix}"/>
118
- <constraints>
119
- <constraint firstItem="3lX-Ut-9ad" firstAttribute="centerX" secondItem="Ze5-6b-2t3" secondAttribute="centerX" id="Fh9-Fy-1nT"/>
120
- <constraint firstItem="3lX-Ut-9ad" firstAttribute="centerY" secondItem="Ze5-6b-2t3" secondAttribute="centerY" id="nvB-Ic-PnI"/>
121
- </constraints>
122
- </view>
123
- </viewController>
124
- <placeholder placeholderIdentifier="IBFirstResponder" id="iYj-Kq-Ea1" userLabel="First Responder" sceneMemberID="firstResponder"/>
125
- </objects>
126
- <point key="canvasLocation" x="0.0" y="0.0"/>
127
- </scene>
128
- </scenes>
129
- <resources>
130
- <image name="BootSplashLogo-${fileNameSuffix}" width="${logo.width}" height="${logo.height}"/>
131
- <namedColor name="BootSplashBackground-${fileNameSuffix}">
132
- <color red="${R}" green="${G}" blue="${B}" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
133
- </namedColor>
134
- </resources>
135
- </document>
136
- `;
137
- };
138
48
 
139
49
  // Freely inspired by https://github.com/humanwhocodes/humanfs
140
50
  const hfs = exports.hfs = {
141
- buffer: path => _fsExtra.default.readFileSync(path),
142
- exists: path => _fsExtra.default.existsSync(path),
143
- isDir: path => _fsExtra.default.lstatSync(path).isDirectory(),
144
- json: path => JSON.parse(_fsExtra.default.readFileSync(path, "utf-8")),
145
- readDir: path => _fsExtra.default.readdirSync(path, "utf-8"),
146
- realPath: path => _fsExtra.default.realpathSync(path, "utf-8"),
147
- rm: path => _fsExtra.default.rmSync(path, {
51
+ buffer: path => _fs.default.readFileSync(path),
52
+ exists: path => _fs.default.existsSync(path),
53
+ json: path => JSON.parse(_fs.default.readFileSync(path, "utf-8")),
54
+ readDir: path => _fs.default.readdirSync(path, "utf-8"),
55
+ realPath: path => _fs.default.realpathSync(path, "utf-8"),
56
+ rm: path => _fs.default.rmSync(path, {
148
57
  force: true,
149
58
  recursive: true
150
59
  }),
151
- text: path => _fsExtra.default.readFileSync(path, "utf-8"),
60
+ text: path => _fs.default.readFileSync(path, "utf-8"),
152
61
  ensureDir: dir => {
153
- _fsExtra.default.mkdirSync(dir, {
62
+ _fs.default.mkdirSync(dir, {
154
63
  recursive: true
155
64
  });
156
65
  },
157
66
  write: (path, content) => {
158
67
  const trimmed = content.trim();
159
- _fsExtra.default.writeFileSync(path, trimmed === "" ? trimmed : trimmed + "\n", "utf-8");
68
+ _fs.default.writeFileSync(path, trimmed === "" ? trimmed : trimmed + "\n", "utf-8");
160
69
  }
161
70
  };
162
71
  const writeJson = (filePath, content) => {
@@ -214,68 +123,6 @@ const writeXmlLike = async (filePath, content, {
214
123
  }
215
124
  };
216
125
  exports.writeXmlLike = writeXmlLike;
217
- const getAndroidOutputPath = ({
218
- flavor
219
- }) => {
220
- const sourceDir = _path.default.join(projectRoot, "android");
221
- if (!_fsExtra.default.existsSync(sourceDir)) {
222
- return;
223
- }
224
- const appDir = _path.default.join(sourceDir, "app");
225
- const androidOutputPath = _path.default.resolve(sourceDir, _fsExtra.default.existsSync(appDir) ? "app" : "", "src", flavor, "res");
226
- if (hfs.exists(androidOutputPath)) {
227
- return androidOutputPath;
228
- }
229
- log.warn(`No ${_path.default.relative(workingPath, androidOutputPath)} directory found. Skipping Android assets generation…`);
230
- };
231
- const getIOSOutputPath = () => {
232
- const podfile = _fastGlob.default.sync("**/Podfile", {
233
- cwd: projectRoot.replace(/^([a-zA-Z]+:|\.\/)/, ""),
234
- deep: 10,
235
- ignore: ["**/@(Pods|node_modules|Carthage|vendor|android)/**"]
236
- }).find(project => {
237
- return _path.default.dirname(project) === "ios";
238
- });
239
- if (!podfile) {
240
- return;
241
- }
242
- const sourceDir = _path.default.dirname(_path.default.join(projectRoot, podfile));
243
- const xcodeProjectName = _fsExtra.default.readdirSync(sourceDir).sort().reverse().find(fileName => {
244
- const ext = _path.default.extname(fileName);
245
- return ext === ".xcworkspace" || ext === ".xcodeproj";
246
- });
247
- if (xcodeProjectName == null) {
248
- log.warn("No Xcode project found. Skipping iOS assets generation…");
249
- return;
250
- }
251
- const iosOutputPath = _path.default.resolve(sourceDir, xcodeProjectName).replace(/\.(xcodeproj|xcworkspace)$/, "");
252
- if (hfs.exists(iosOutputPath)) {
253
- return iosOutputPath;
254
- }
255
- log.warn(`No ${_path.default.relative(workingPath, iosOutputPath)} directory found. Skipping iOS assets generation…`);
256
- };
257
- const getHtmlTemplatePath = ({
258
- html
259
- }) => {
260
- const htmlTemplatePath = _path.default.resolve(workingPath, html);
261
- if (hfs.exists(htmlTemplatePath)) {
262
- return htmlTemplatePath;
263
- }
264
- log.warn(`No ${_path.default.relative(workingPath, htmlTemplatePath)} found. Skipping HTML + CSS generation…`);
265
- };
266
- const getInfoPlistPath = ({
267
- iosOutputPath,
268
- plist
269
- }) => {
270
- if (plist != null) {
271
- const infoPlistPath = _path.default.resolve(workingPath, plist);
272
- if (!hfs.exists(infoPlistPath)) {
273
- return log.warn(`No ${_path.default.relative(workingPath, infoPlistPath)} found`);
274
- }
275
- return infoPlistPath;
276
- }
277
- return _path.default.resolve(iosOutputPath, "Info.plist");
278
- };
279
126
  const toAsset = async (filePath, width) => {
280
127
  const image = (0, _sharp.default)(filePath);
281
128
  const {
@@ -298,6 +145,23 @@ const toAsset = async (filePath, width) => {
298
145
  width
299
146
  };
300
147
  };
148
+ const parseColor = value => {
149
+ const up = value.toUpperCase().replace(/[^0-9A-F]/g, "");
150
+ if (up.length !== 3 && up.length !== 6) {
151
+ log.error(`"${value}" value is not a valid hexadecimal color.`);
152
+ process.exit(1);
153
+ }
154
+ const hex = up.length === 3 ? "#" + up[0] + up[0] + up[1] + up[1] + up[2] + up[2] : "#" + up;
155
+ const rgb = {
156
+ R: (Number.parseInt("" + hex[1] + hex[2], 16) / 255).toPrecision(15),
157
+ G: (Number.parseInt("" + hex[3] + hex[4], 16) / 255).toPrecision(15),
158
+ B: (Number.parseInt("" + hex[5] + hex[6], 16) / 255).toPrecision(15)
159
+ };
160
+ return {
161
+ hex: hex.toLowerCase(),
162
+ rgb
163
+ };
164
+ };
301
165
  const transformProps = async (rootPath, {
302
166
  android = {},
303
167
  licenseKey,
@@ -307,25 +171,33 @@ const transformProps = async (rootPath, {
307
171
  log.error("Requires Node 20 (or higher)");
308
172
  process.exit(1);
309
173
  }
310
- const assetsOutputPath = _path.default.resolve(rootPath, rawProps.assetsOutput);
311
- const logoPath = _path.default.resolve(rootPath, rawProps.logo);
312
- const darkLogoPath = rawProps.darkLogo != null ? _path.default.resolve(rootPath, rawProps.darkLogo) : undefined;
313
- const brandPath = rawProps.brand != null ? _path.default.resolve(rootPath, rawProps.brand) : undefined;
314
- const darkBrandPath = rawProps.darkBrand != null ? _path.default.resolve(rootPath, rawProps.darkBrand) : undefined;
315
- const logoWidth = rawProps.logoWidth - rawProps.logoWidth % 2;
316
- const brandWidth = rawProps.brandWidth - rawProps.brandWidth % 2;
174
+ const withDefaults = {
175
+ assetsOutput: "assets/bootsplash",
176
+ background: "#fff",
177
+ brandWidth: 80,
178
+ logoWidth: 100,
179
+ ...rawProps
180
+ };
181
+ const assetsOutputPath = _path.default.resolve(rootPath, withDefaults.assetsOutput);
182
+ const logoPath = _path.default.resolve(rootPath, withDefaults.logo);
183
+ const darkLogoPath = withDefaults.darkLogo != null ? _path.default.resolve(rootPath, withDefaults.darkLogo) : undefined;
184
+ const brandPath = withDefaults.brand != null ? _path.default.resolve(rootPath, withDefaults.brand) : undefined;
185
+ const darkBrandPath = withDefaults.darkBrand != null ? _path.default.resolve(rootPath, withDefaults.darkBrand) : undefined;
186
+ const logoWidth = withDefaults.logoWidth - withDefaults.logoWidth % 2;
187
+ const brandWidth = withDefaults.brandWidth - withDefaults.brandWidth % 2;
317
188
  const [logo, darkLogo, brand, darkBrand] = await Promise.all([toAsset(logoPath, logoWidth), darkLogoPath != null ? toAsset(darkLogoPath, logoWidth) : undefined, brandPath != null ? toAsset(brandPath, brandWidth) : undefined, darkBrandPath != null ? toAsset(darkBrandPath, brandWidth) : undefined]);
318
- const background = parseColor(rawProps.background);
319
- const darkBackground = rawProps.darkBackground != null ? parseColor(rawProps.darkBackground) : undefined;
189
+ const background = parseColor(withDefaults.background);
190
+ const darkBackground = withDefaults.darkBackground != null ? parseColor(withDefaults.darkBackground) : undefined;
320
191
  const executeAddon = brand != null || darkBackground != null || darkLogo != null || darkBrand != null;
321
192
  if (licenseKey != null && !executeAddon) {
322
193
  log.warn("You specified a license key but none of the options that requires it.");
323
194
  }
195
+ const isPluginLoggerMode = loggerMode.type === "plugin";
324
196
  const optionNames = {
325
- brand: isExpo ? "brand" : "--brand",
326
- darkBackground: isExpo ? "darkBackground" : "--dark-background",
327
- darkLogo: isExpo ? "darkLogo" : "--dark-logo",
328
- darkBrand: isExpo ? "darkBrand" : "--dark-brand"
197
+ brand: isPluginLoggerMode ? "brand" : "--brand",
198
+ darkBackground: isPluginLoggerMode ? "darkBackground" : "--dark-background",
199
+ darkLogo: isPluginLoggerMode ? "darkLogo" : "--dark-logo",
200
+ darkBrand: isPluginLoggerMode ? "darkBrand" : "--dark-brand"
329
201
  };
330
202
  if (licenseKey == null && executeAddon) {
331
203
  const options = [brand != null ? optionNames.brand : "", darkBackground != null ? optionNames.darkBackground : "", darkLogo != null ? optionNames.darkLogo : "", darkBrand != null ? optionNames.darkBrand : ""].filter(option => option !== "").join(", ");
@@ -336,10 +208,10 @@ const transformProps = async (rootPath, {
336
208
  log.error(`${optionNames.darkBrand} option couldn't be used without ${optionNames.brand}.`);
337
209
  process.exit(1);
338
210
  }
339
- if (logoWidth < rawProps.logoWidth) {
211
+ if (logoWidth < withDefaults.logoWidth) {
340
212
  log.warn(`Logo width must be a multiple of 2. It has been rounded to ${logoWidth}dp.`);
341
213
  }
342
- if (brandWidth < rawProps.brandWidth) {
214
+ if (brandWidth < withDefaults.brandWidth) {
343
215
  log.warn(`Brand width must be a multiple of 2. It has been rounded to ${brandWidth}dp.`);
344
216
  }
345
217
  const record = {
@@ -441,6 +313,68 @@ const writeAndroidAssets = async ({
441
313
  }));
442
314
  };
443
315
  exports.writeAndroidAssets = writeAndroidAssets;
316
+ const getStoryboard = props => {
317
+ const {
318
+ background,
319
+ logo,
320
+ fileNameSuffix
321
+ } = props;
322
+ const {
323
+ R,
324
+ G,
325
+ B
326
+ } = background.rgb;
327
+ const frameWidth = 375;
328
+ const frameHeight = 667;
329
+ return (0, _tsDedent.dedent)`
330
+ <?xml version="1.0" encoding="UTF-8"?>
331
+ <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">
332
+ <device id="retina4_7" orientation="portrait" appearance="light"/>
333
+ <dependencies>
334
+ <deployment identifier="iOS"/>
335
+ <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="21678"/>
336
+ <capability name="Named colors" minToolsVersion="9.0"/>
337
+ <capability name="Safe area layout guides" minToolsVersion="9.0"/>
338
+ <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
339
+ </dependencies>
340
+ <scenes>
341
+ <!--View Controller-->
342
+ <scene sceneID="EHf-IW-A2E">
343
+ <objects>
344
+ <viewController modalTransitionStyle="crossDissolve" id="01J-lp-oVM" sceneMemberID="viewController">
345
+ <view key="view" autoresizesSubviews="NO" contentMode="scaleToFill" id="Ze5-6b-2t3">
346
+ <rect key="frame" x="0.0" y="0.0" width="${frameWidth}" height="${frameHeight}"/>
347
+ <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
348
+ <subviews>
349
+ <imageView autoresizesSubviews="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" image="BootSplashLogo-${fileNameSuffix}" translatesAutoresizingMaskIntoConstraints="NO" id="3lX-Ut-9ad">
350
+ <rect key="frame" x="${(frameWidth - logo.width) / 2}" y="${(frameHeight - logo.height) / 2}" width="${logo.width}" height="${logo.height}"/>
351
+ <accessibility key="accessibilityConfiguration">
352
+ <accessibilityTraits key="traits" image="YES" notEnabled="YES"/>
353
+ </accessibility>
354
+ </imageView>
355
+ </subviews>
356
+ <viewLayoutGuide key="safeArea" id="Bcu-3y-fUS"/>
357
+ <color key="backgroundColor" name="BootSplashBackground-${fileNameSuffix}"/>
358
+ <constraints>
359
+ <constraint firstItem="3lX-Ut-9ad" firstAttribute="centerX" secondItem="Ze5-6b-2t3" secondAttribute="centerX" id="Fh9-Fy-1nT"/>
360
+ <constraint firstItem="3lX-Ut-9ad" firstAttribute="centerY" secondItem="Ze5-6b-2t3" secondAttribute="centerY" id="nvB-Ic-PnI"/>
361
+ </constraints>
362
+ </view>
363
+ </viewController>
364
+ <placeholder placeholderIdentifier="IBFirstResponder" id="iYj-Kq-Ea1" userLabel="First Responder" sceneMemberID="firstResponder"/>
365
+ </objects>
366
+ <point key="canvasLocation" x="0.0" y="0.0"/>
367
+ </scene>
368
+ </scenes>
369
+ <resources>
370
+ <image name="BootSplashLogo-${fileNameSuffix}" width="${logo.width}" height="${logo.height}"/>
371
+ <namedColor name="BootSplashBackground-${fileNameSuffix}">
372
+ <color red="${R}" green="${G}" blue="${B}" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
373
+ </namedColor>
374
+ </resources>
375
+ </document>
376
+ `;
377
+ };
444
378
  const writeIOSAssets = async ({
445
379
  iosOutputPath,
446
380
  props
@@ -659,167 +593,4 @@ const requireAddon = ({
659
593
  }
660
594
  };
661
595
  exports.requireAddon = requireAddon;
662
- const generate = async ({
663
- platforms,
664
- html,
665
- flavor,
666
- plist,
667
- ...rawProps
668
- }) => {
669
- const props = await transformProps(workingPath, rawProps);
670
- const addon = requireAddon(props);
671
- const {
672
- background,
673
- brand
674
- } = props;
675
- const androidOutputPath = platforms.includes("android") ? getAndroidOutputPath({
676
- flavor
677
- }) : undefined;
678
- const iosOutputPath = platforms.includes("ios") ? getIOSOutputPath() : undefined;
679
- const htmlTemplatePath = platforms.includes("web") ? getHtmlTemplatePath({
680
- html
681
- }) : undefined;
682
- if (androidOutputPath != null) {
683
- await writeAndroidAssets({
684
- androidOutputPath,
685
- props
686
- });
687
- const manifestXmlPath = _path.default.resolve(androidOutputPath, "..", "AndroidManifest.xml");
688
- if (hfs.exists(manifestXmlPath)) {
689
- const manifestXml = readXmlLike(manifestXmlPath);
690
- const activities = manifestXml.root.querySelectorAll("activity");
691
- for (const activity of activities) {
692
- if (activity.getAttribute("android:name") === ".MainActivity") {
693
- activity.setAttribute("android:theme", "@style/BootTheme");
694
- }
695
- }
696
- await writeXmlLike(manifestXmlPath, manifestXml.root.toString(), {
697
- ...manifestXml.formatOptions,
698
- formatter: "prettier",
699
- htmlWhitespaceSensitivity: "ignore",
700
- selfClosingTags: true,
701
- singleAttributePerLine: true
702
- });
703
- } else {
704
- log.warn("No AndroidManifest.xml found");
705
- }
706
- const valuesPath = _path.default.resolve(androidOutputPath, "values");
707
- hfs.ensureDir(valuesPath);
708
- const colorsXmlPath = _path.default.resolve(valuesPath, "colors.xml");
709
- const colorsXmlEntry = `<color name="bootsplash_background">${background.hex}</color>`;
710
- if (hfs.exists(colorsXmlPath)) {
711
- const colorsXml = readXmlLike(colorsXmlPath);
712
- const nextColor = (0, _nodeHtmlParser.parse)(colorsXmlEntry);
713
- const prevColor = colorsXml.root.querySelector('color[name="bootsplash_background"]');
714
- if (prevColor != null) {
715
- prevColor.replaceWith(nextColor);
716
- } else {
717
- colorsXml.root.querySelector("resources")?.appendChild(nextColor);
718
- }
719
- await writeXmlLike(colorsXmlPath, colorsXml.root.toString(), {
720
- ...colorsXml.formatOptions,
721
- formatter: "xmlFormatter"
722
- });
723
- } else {
724
- await writeXmlLike(colorsXmlPath, `<resources>${colorsXmlEntry}</resources>`, {
725
- formatter: "xmlFormatter"
726
- });
727
- }
728
- const stylesXmlPath = _path.default.resolve(valuesPath, "styles.xml");
729
- if (hfs.exists(stylesXmlPath)) {
730
- const stylesXml = readXmlLike(stylesXmlPath);
731
- const prevStyle = stylesXml.root.querySelector('style[name="BootTheme"]');
732
- const parent = prevStyle?.getAttribute("parent") ?? "Theme.BootSplash";
733
- const extraItems = (0, _nodeHtmlParser.parse)(prevStyle?.text.split("\n").map(line => line.trim()).join("") ?? "").childNodes.filter(node => {
734
- if (!(node instanceof _nodeHtmlParser.HTMLElement)) {
735
- return true;
736
- }
737
- const name = node.getAttribute("name");
738
- return name !== "bootSplashBackground" && name !== "bootSplashLogo" && name !== "bootSplashBrand" && name !== "postBootSplashTheme";
739
- }).map(node => node.toString());
740
- const styleItems = [...(extraItems.length > 0 ? [...extraItems, ""] : []), '<item name="bootSplashBackground">@color/bootsplash_background</item>', '<item name="bootSplashLogo">@drawable/bootsplash_logo</item>', ...(brand != null ? ['<item name="bootSplashBrand">@drawable/bootsplash_brand</item>'] : []), '<item name="postBootSplashTheme">@style/AppTheme</item>'];
741
- const nextStyle = (0, _nodeHtmlParser.parse)((0, _tsDedent.dedent)`
742
- <style name="BootTheme" parent="${parent}">
743
- ${styleItems.join("\n")}
744
- </style>
745
- `);
746
- prevStyle?.remove(); // remove the existing style
747
- stylesXml.root.querySelector("resources")?.appendChild(nextStyle);
748
- await writeXmlLike(stylesXmlPath, stylesXml.root.toString(), {
749
- ...stylesXml.formatOptions,
750
- formatter: "prettier",
751
- htmlWhitespaceSensitivity: "ignore"
752
- });
753
- } else {
754
- log.warn("No styles.xml found");
755
- }
756
- }
757
- if (iosOutputPath != null) {
758
- await writeIOSAssets({
759
- iosOutputPath,
760
- props
761
- });
762
- const pbxprojectPath = Expo.IOSConfig.Paths.getPBXProjectPath(projectRoot);
763
- const xcodeProjectPath = Expo.IOSConfig.Paths.getXcodeProjectPath(projectRoot);
764
- const project = Expo.IOSConfig.XcodeUtils.getPbxproj(projectRoot);
765
- const projectName = _path.default.basename(iosOutputPath);
766
- const groupName = _path.default.parse(xcodeProjectPath).name;
767
- Expo.IOSConfig.XcodeUtils.addResourceFileToGroup({
768
- project,
769
- filepath: _path.default.join(projectName, "BootSplash.storyboard"),
770
- groupName,
771
- isBuildFile: true
772
- });
773
- Expo.IOSConfig.XcodeUtils.addResourceFileToGroup({
774
- project,
775
- filepath: _path.default.join(projectName, "Colors.xcassets"),
776
- groupName,
777
- isBuildFile: true
778
- });
779
- hfs.write(pbxprojectPath, project.writeSync());
780
- log.write(pbxprojectPath);
781
- const infoPlistPath = getInfoPlistPath({
782
- iosOutputPath,
783
- plist
784
- });
785
- if (infoPlistPath != null) {
786
- const infoPlist = _plist.default.parse(hfs.text(infoPlistPath));
787
- infoPlist["UILaunchStoryboardName"] = "BootSplash";
788
- const formatted = (0, _xmlFormatter.default)(_plist.default.build(infoPlist), {
789
- collapseContent: true,
790
- forceSelfClosingEmptyTag: false,
791
- indentation: "\t",
792
- lineSeparator: "\n",
793
- whiteSpaceAtEndOfSelfclosingTag: false
794
- }).replace(/<string\/>/gm, "<string></string>").replace(/^\t/gm, "");
795
- hfs.write(infoPlistPath, formatted);
796
- log.write(infoPlistPath);
797
- }
798
- }
799
- if (htmlTemplatePath != null) {
800
- await writeWebAssets({
801
- htmlTemplatePath,
802
- props
803
- });
804
- }
805
- await writeGenericAssets({
806
- props
807
- });
808
- if (addon != null) {
809
- await addon.execute({
810
- props,
811
- androidOutputPath,
812
- iosOutputPath,
813
- htmlTemplatePath
814
- });
815
- } else {
816
- console.log(`
817
- ${_picocolors.default.blue("┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓")}
818
- ${_picocolors.default.blue("┃")} 🔑 ${_picocolors.default.bold("Get a license key for brand image / dark mode support")} ${_picocolors.default.blue("┃")}
819
- ${_picocolors.default.blue("┃")} ${_picocolors.default.underline("https://zoontek.gumroad.com/l/bootsplash-generator")} ${_picocolors.default.blue("┃")}
820
- ${_picocolors.default.blue("┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛")}`);
821
- }
822
- console.log(`\n💖 Thanks for using ${_picocolors.default.underline("react-native-bootsplash")}`);
823
- };
824
- exports.generate = generate;
825
- //# sourceMappingURL=generate.js.map
596
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_crypto","_interopRequireDefault","require","_detectIndent","_fs","_nodeHtmlParser","_path","_picocolors","htmlPlugin","_interopRequireWildcard","cssPlugin","prettier","_semver","_sharp","_tsDedent","_xmlFormatter","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","PACKAGE_NAME","exports","loggerMode","type","setLoggerMode","value","log","error","text","console","pc","red","title","emoji","underline","bold","warn","yellow","write","filePath","dimensions","path","relative","cwd","width","height","hfs","buffer","fs","readFileSync","exists","existsSync","json","JSON","parse","readDir","readdirSync","realPath","realpathSync","rm","rmSync","force","recursive","ensureDir","dir","mkdirSync","content","trimmed","trim","writeFileSync","writeJson","stringify","readXmlLike","root","parseHtml","formatOptions","indent","detectIndent","writeXmlLike","formatter","useCssPlugin","selfClosingTags","options","formatted","format","parser","bracketSameLine","printWidth","plugins","useTabs","tabWidth","amount","replace","formatXml","collapseContent","forceSelfClosingEmptyTag","lineSeparator","whiteSpaceAtEndOfSelfclosingTag","indentation","toAsset","image","sharp","metadata","basename","process","exit","hash","Promise","all","clone","resize","toBuffer","then","Math","round","png","quality","toString","parseColor","up","toUpperCase","length","hex","rgb","R","Number","parseInt","toPrecision","G","B","toLowerCase","transformProps","rootPath","android","licenseKey","rawProps","semver","lt","versions","node","withDefaults","assetsOutput","background","brandWidth","logoWidth","assetsOutputPath","resolve","logoPath","logo","darkLogoPath","darkLogo","undefined","brandPath","brand","darkBrandPath","darkBrand","darkBackground","executeAddon","isPluginLoggerMode","optionNames","filter","option","join","record","stableKey","keys","sort","map","key","fileNameSuffix","crypto","createHash","outputLength","update","digest","writeAndroidAssets","androidOutputPath","props","ratio","suffix","drawableDirPath","canvasSize","canvas","create","channels","g","b","alpha","input","composite","toFile","getStoryboard","frameWidth","frameHeight","dedent","writeIOSAssets","iosOutputPath","file","flatMap","startsWith","forEach","storyboardPath","colorsSetPath","colors","idiom","color","components","blue","green","info","author","version","logoFileName","imagesSetPath","images","filename","scale","writeWebAssets","htmlTemplatePath","htmlTemplate","prevStyle","querySelector","base64","dataURI","nextStyle","replaceWith","appendChild","prevDiv","nextDiv","writeGenericAssets","requireAddon","addon"],"sourceRoot":"../../../src","sources":["extras/utils.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1 @@
1
+ {"type":"commonjs"}