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
@@ -0,0 +1,274 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.generate = void 0;
7
+ var Expo = _interopRequireWildcard(require("@expo/config-plugins"));
8
+ var _plist = _interopRequireDefault(require("@expo/plist"));
9
+ var _fastGlob = _interopRequireDefault(require("fast-glob"));
10
+ var _fs = _interopRequireDefault(require("fs"));
11
+ var _nodeHtmlParser = require("node-html-parser");
12
+ var _path = _interopRequireDefault(require("path"));
13
+ var _picocolors = _interopRequireDefault(require("picocolors"));
14
+ var _tsDedent = require("ts-dedent");
15
+ var _xmlFormatter = _interopRequireDefault(require("xml-formatter"));
16
+ var _utils = require("./utils.js");
17
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
18
+ 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); }
19
+ const cwd = process.env.INIT_CWD ?? process.env.PWD ?? process.cwd();
20
+ (0, _utils.setLoggerMode)({
21
+ type: "cli",
22
+ cwd
23
+ });
24
+ const projectRoot = (() => {
25
+ let directory = _path.default.resolve(cwd);
26
+ const {
27
+ root
28
+ } = _path.default.parse(directory);
29
+ const ends = new Set([root, _path.default.resolve(directory, root)]);
30
+ while (directory) {
31
+ const pkgPath = _path.default.join(directory, "package.json");
32
+ const stats = _fs.default.statSync(pkgPath, {
33
+ throwIfNoEntry: false
34
+ });
35
+ if (stats != null && stats.isFile()) {
36
+ return _path.default.dirname(pkgPath);
37
+ }
38
+ if (ends.has(directory)) {
39
+ break;
40
+ } else {
41
+ directory = _path.default.dirname(directory);
42
+ }
43
+ }
44
+ })();
45
+ if (!projectRoot) {
46
+ _utils.log.error("We couldn't find a package.json in your project.");
47
+ process.exit(1);
48
+ }
49
+ const getAndroidOutputPath = ({
50
+ flavor
51
+ }) => {
52
+ const sourceDir = _path.default.join(projectRoot, "android");
53
+ if (!_fs.default.existsSync(sourceDir)) {
54
+ return;
55
+ }
56
+ const appDir = _path.default.join(sourceDir, "app");
57
+ const androidOutputPath = _path.default.resolve(sourceDir, _fs.default.existsSync(appDir) ? "app" : "", "src", flavor, "res");
58
+ if (_utils.hfs.exists(androidOutputPath)) {
59
+ return androidOutputPath;
60
+ }
61
+ _utils.log.warn(`No ${_path.default.relative(cwd, androidOutputPath)} directory found. Skipping Android assets generation…`);
62
+ };
63
+ const getIOSOutputPath = () => {
64
+ const podfile = _fastGlob.default.sync("**/Podfile", {
65
+ cwd: projectRoot.replace(/^([a-zA-Z]+:|\.\/)/, ""),
66
+ deep: 10,
67
+ ignore: ["**/@(Pods|node_modules|Carthage|vendor|android)/**"]
68
+ }).find(project => {
69
+ return _path.default.dirname(project) === "ios";
70
+ });
71
+ if (!podfile) {
72
+ return;
73
+ }
74
+ const sourceDir = _path.default.dirname(_path.default.join(projectRoot, podfile));
75
+ const xcodeProjectName = _fs.default.readdirSync(sourceDir).sort().reverse().find(fileName => {
76
+ const ext = _path.default.extname(fileName);
77
+ return ext === ".xcodeproj" || ext === ".xcworkspace";
78
+ });
79
+ if (xcodeProjectName == null) {
80
+ _utils.log.warn("No Xcode project found. Skipping iOS assets generation…");
81
+ return;
82
+ }
83
+ const iosOutputPath = _path.default.resolve(sourceDir, xcodeProjectName).replace(/\.(xcodeproj|xcworkspace)$/, "");
84
+ if (_utils.hfs.exists(iosOutputPath)) {
85
+ return iosOutputPath;
86
+ }
87
+ _utils.log.warn(`No ${_path.default.relative(cwd, iosOutputPath)} directory found. Skipping iOS assets generation…`);
88
+ };
89
+ const getHtmlTemplatePath = ({
90
+ html
91
+ }) => {
92
+ const htmlTemplatePath = _path.default.resolve(cwd, html);
93
+ if (_utils.hfs.exists(htmlTemplatePath)) {
94
+ return htmlTemplatePath;
95
+ }
96
+ _utils.log.warn(`No ${_path.default.relative(cwd, htmlTemplatePath)} found. Skipping HTML + CSS generation…`);
97
+ };
98
+ const getInfoPlistPath = ({
99
+ iosOutputPath,
100
+ plist
101
+ }) => {
102
+ if (plist != null) {
103
+ const infoPlistPath = _path.default.resolve(cwd, plist);
104
+ if (!_utils.hfs.exists(infoPlistPath)) {
105
+ return _utils.log.warn(`No ${_path.default.relative(cwd, infoPlistPath)} found`);
106
+ }
107
+ return infoPlistPath;
108
+ }
109
+ return _path.default.resolve(iosOutputPath, "Info.plist");
110
+ };
111
+ const generate = async ({
112
+ platforms,
113
+ html,
114
+ flavor,
115
+ plist,
116
+ ...rawProps
117
+ }) => {
118
+ const props = await (0, _utils.transformProps)(cwd, rawProps);
119
+ const addon = (0, _utils.requireAddon)(props);
120
+ const {
121
+ background,
122
+ brand
123
+ } = props;
124
+ const androidOutputPath = platforms.includes("android") ? getAndroidOutputPath({
125
+ flavor
126
+ }) : undefined;
127
+ const iosOutputPath = platforms.includes("ios") ? getIOSOutputPath() : undefined;
128
+ const htmlTemplatePath = platforms.includes("web") ? getHtmlTemplatePath({
129
+ html
130
+ }) : undefined;
131
+ if (androidOutputPath != null) {
132
+ await (0, _utils.writeAndroidAssets)({
133
+ androidOutputPath,
134
+ props
135
+ });
136
+ const manifestXmlPath = _path.default.resolve(androidOutputPath, "..", "AndroidManifest.xml");
137
+ if (_utils.hfs.exists(manifestXmlPath)) {
138
+ const manifestXml = (0, _utils.readXmlLike)(manifestXmlPath);
139
+ const activities = manifestXml.root.querySelectorAll("activity");
140
+ for (const activity of activities) {
141
+ if (activity.getAttribute("android:name") === ".MainActivity") {
142
+ activity.setAttribute("android:theme", "@style/BootTheme");
143
+ }
144
+ }
145
+ await (0, _utils.writeXmlLike)(manifestXmlPath, manifestXml.root.toString(), {
146
+ ...manifestXml.formatOptions,
147
+ formatter: "prettier",
148
+ htmlWhitespaceSensitivity: "ignore",
149
+ selfClosingTags: true,
150
+ singleAttributePerLine: true
151
+ });
152
+ } else {
153
+ _utils.log.warn("No AndroidManifest.xml found");
154
+ }
155
+ const valuesPath = _path.default.resolve(androidOutputPath, "values");
156
+ _utils.hfs.ensureDir(valuesPath);
157
+ const colorsXmlPath = _path.default.resolve(valuesPath, "colors.xml");
158
+ const colorsXmlEntry = `<color name="bootsplash_background">${background.hex}</color>`;
159
+ if (_utils.hfs.exists(colorsXmlPath)) {
160
+ const colorsXml = (0, _utils.readXmlLike)(colorsXmlPath);
161
+ const nextColor = (0, _nodeHtmlParser.parse)(colorsXmlEntry);
162
+ const prevColor = colorsXml.root.querySelector('color[name="bootsplash_background"]');
163
+ if (prevColor != null) {
164
+ prevColor.replaceWith(nextColor);
165
+ } else {
166
+ colorsXml.root.querySelector("resources")?.appendChild(nextColor);
167
+ }
168
+ await (0, _utils.writeXmlLike)(colorsXmlPath, colorsXml.root.toString(), {
169
+ ...colorsXml.formatOptions,
170
+ formatter: "xmlFormatter"
171
+ });
172
+ } else {
173
+ await (0, _utils.writeXmlLike)(colorsXmlPath, `<resources>${colorsXmlEntry}</resources>`, {
174
+ formatter: "xmlFormatter"
175
+ });
176
+ }
177
+ const stylesXmlPath = _path.default.resolve(valuesPath, "styles.xml");
178
+ if (_utils.hfs.exists(stylesXmlPath)) {
179
+ const stylesXml = (0, _utils.readXmlLike)(stylesXmlPath);
180
+ const prevStyle = stylesXml.root.querySelector('style[name="BootTheme"]');
181
+ const parent = prevStyle?.getAttribute("parent") ?? "Theme.BootSplash";
182
+ const extraItems = (0, _nodeHtmlParser.parse)(prevStyle?.text.split("\n").map(line => line.trim()).join("") ?? "").childNodes.filter(node => {
183
+ if (!(node instanceof _nodeHtmlParser.HTMLElement)) {
184
+ return true;
185
+ }
186
+ const name = node.getAttribute("name");
187
+ return name !== "bootSplashBackground" && name !== "bootSplashLogo" && name !== "bootSplashBrand" && name !== "postBootSplashTheme";
188
+ }).map(node => node.toString());
189
+ 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>'];
190
+ const nextStyle = (0, _nodeHtmlParser.parse)((0, _tsDedent.dedent)`
191
+ <style name="BootTheme" parent="${parent}">
192
+ ${styleItems.join("\n")}
193
+ </style>
194
+ `);
195
+ prevStyle?.remove(); // remove the existing style
196
+ stylesXml.root.querySelector("resources")?.appendChild(nextStyle);
197
+ await (0, _utils.writeXmlLike)(stylesXmlPath, stylesXml.root.toString(), {
198
+ ...stylesXml.formatOptions,
199
+ formatter: "prettier",
200
+ htmlWhitespaceSensitivity: "ignore"
201
+ });
202
+ } else {
203
+ _utils.log.warn("No styles.xml found");
204
+ }
205
+ }
206
+ if (iosOutputPath != null) {
207
+ await (0, _utils.writeIOSAssets)({
208
+ iosOutputPath,
209
+ props
210
+ });
211
+ const pbxprojectPath = Expo.IOSConfig.Paths.getPBXProjectPath(projectRoot);
212
+ const xcodeProjectPath = Expo.IOSConfig.Paths.getXcodeProjectPath(projectRoot);
213
+ const project = Expo.IOSConfig.XcodeUtils.getPbxproj(projectRoot);
214
+ const projectName = _path.default.basename(iosOutputPath);
215
+ const groupName = _path.default.parse(xcodeProjectPath).name;
216
+ Expo.IOSConfig.XcodeUtils.addResourceFileToGroup({
217
+ project,
218
+ filepath: _path.default.join(projectName, "BootSplash.storyboard"),
219
+ groupName,
220
+ isBuildFile: true
221
+ });
222
+ Expo.IOSConfig.XcodeUtils.addResourceFileToGroup({
223
+ project,
224
+ filepath: _path.default.join(projectName, "Colors.xcassets"),
225
+ groupName,
226
+ isBuildFile: true
227
+ });
228
+ _utils.hfs.write(pbxprojectPath, project.writeSync());
229
+ _utils.log.write(pbxprojectPath);
230
+ const infoPlistPath = getInfoPlistPath({
231
+ iosOutputPath,
232
+ plist
233
+ });
234
+ if (infoPlistPath != null) {
235
+ const infoPlist = _plist.default.parse(_utils.hfs.text(infoPlistPath));
236
+ infoPlist["UILaunchStoryboardName"] = "BootSplash";
237
+ const formatted = (0, _xmlFormatter.default)(_plist.default.build(infoPlist), {
238
+ collapseContent: true,
239
+ forceSelfClosingEmptyTag: false,
240
+ indentation: "\t",
241
+ lineSeparator: "\n",
242
+ whiteSpaceAtEndOfSelfclosingTag: false
243
+ }).replace(/<string\/>/gm, "<string></string>").replace(/^\t/gm, "");
244
+ _utils.hfs.write(infoPlistPath, formatted);
245
+ _utils.log.write(infoPlistPath);
246
+ }
247
+ }
248
+ if (htmlTemplatePath != null) {
249
+ await (0, _utils.writeWebAssets)({
250
+ htmlTemplatePath,
251
+ props
252
+ });
253
+ }
254
+ await (0, _utils.writeGenericAssets)({
255
+ props
256
+ });
257
+ if (addon != null) {
258
+ await addon.execute({
259
+ props,
260
+ androidOutputPath,
261
+ iosOutputPath,
262
+ htmlTemplatePath
263
+ });
264
+ } else {
265
+ console.log(`
266
+ ${_picocolors.default.blue("┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓")}
267
+ ${_picocolors.default.blue("┃")} 🔑 ${_picocolors.default.bold("Get a license key for brand image / dark mode support")} ${_picocolors.default.blue("┃")}
268
+ ${_picocolors.default.blue("┃")} ${_picocolors.default.underline("https://zoontek.gumroad.com/l/bootsplash-generator")} ${_picocolors.default.blue("┃")}
269
+ ${_picocolors.default.blue("┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛")}`);
270
+ }
271
+ console.log(`\n💖 Thanks for using ${_picocolors.default.underline("react-native-bootsplash")}`);
272
+ };
273
+ exports.generate = generate;
274
+ //# sourceMappingURL=generate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Expo","_interopRequireWildcard","require","_plist","_interopRequireDefault","_fastGlob","_fs","_nodeHtmlParser","_path","_picocolors","_tsDedent","_xmlFormatter","_utils","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","cwd","process","env","INIT_CWD","PWD","setLoggerMode","type","projectRoot","directory","path","resolve","root","parse","ends","Set","pkgPath","join","stats","fs","statSync","throwIfNoEntry","isFile","dirname","log","error","exit","getAndroidOutputPath","flavor","sourceDir","existsSync","appDir","androidOutputPath","hfs","exists","warn","relative","getIOSOutputPath","podfile","glob","sync","replace","deep","ignore","find","project","xcodeProjectName","readdirSync","sort","reverse","fileName","ext","extname","iosOutputPath","getHtmlTemplatePath","html","htmlTemplatePath","getInfoPlistPath","plist","infoPlistPath","generate","platforms","rawProps","props","transformProps","addon","requireAddon","background","brand","includes","undefined","writeAndroidAssets","manifestXmlPath","manifestXml","readXmlLike","activities","querySelectorAll","activity","getAttribute","setAttribute","writeXmlLike","toString","formatOptions","formatter","htmlWhitespaceSensitivity","selfClosingTags","singleAttributePerLine","valuesPath","ensureDir","colorsXmlPath","colorsXmlEntry","hex","colorsXml","nextColor","parseHtml","prevColor","querySelector","replaceWith","appendChild","stylesXmlPath","stylesXml","prevStyle","parent","extraItems","text","split","map","line","trim","childNodes","filter","node","HTMLElement","name","styleItems","length","nextStyle","dedent","remove","writeIOSAssets","pbxprojectPath","IOSConfig","Paths","getPBXProjectPath","xcodeProjectPath","getXcodeProjectPath","XcodeUtils","getPbxproj","projectName","basename","groupName","addResourceFileToGroup","filepath","isBuildFile","write","writeSync","infoPlist","ExpoPlist","formatted","formatXml","build","collapseContent","forceSelfClosingEmptyTag","indentation","lineSeparator","whiteSpaceAtEndOfSelfclosingTag","writeWebAssets","writeGenericAssets","execute","console","pc","blue","bold","underline","exports"],"sourceRoot":"../../../src","sources":["extras/generate.ts"],"mappings":"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","ignoreList":[]}