@rnx-kit/cli 0.11.2 → 0.12.2

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 (57) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/README.md +30 -22
  3. package/coverage/clover.xml +140 -16
  4. package/coverage/coverage-final.json +3 -2
  5. package/coverage/lcov-report/index.html +20 -20
  6. package/coverage/lcov-report/src/bundle/index.html +1 -1
  7. package/coverage/lcov-report/src/bundle/kit-config.ts.html +13 -13
  8. package/coverage/lcov-report/src/bundle/metro.ts.html +2 -2
  9. package/coverage/lcov-report/src/bundle/overrides.ts.html +4 -4
  10. package/coverage/lcov-report/src/copy-assets.ts.html +1387 -0
  11. package/coverage/lcov-report/src/index.html +25 -10
  12. package/coverage/lcov-report/src/metro-config.ts.html +4 -4
  13. package/coverage/lcov-report/src/typescript/index.html +1 -1
  14. package/coverage/lcov-report/src/typescript/project-cache.ts.html +1 -1
  15. package/coverage/lcov.info +262 -23
  16. package/lib/bundle/metro.js +1 -1
  17. package/lib/bundle/metro.js.map +1 -1
  18. package/lib/bundle/overrides.d.ts +1 -1
  19. package/lib/bundle/overrides.d.ts.map +1 -1
  20. package/lib/bundle/overrides.js +2 -2
  21. package/lib/bundle/overrides.js.map +1 -1
  22. package/lib/bundle.d.ts +1 -0
  23. package/lib/bundle.d.ts.map +1 -1
  24. package/lib/bundle.js +8 -0
  25. package/lib/bundle.js.map +1 -1
  26. package/lib/clean.d.ts.map +1 -1
  27. package/lib/clean.js +40 -18
  28. package/lib/clean.js.map +1 -1
  29. package/lib/copy-assets.d.ts +112 -0
  30. package/lib/copy-assets.d.ts.map +1 -0
  31. package/lib/copy-assets.js +353 -0
  32. package/lib/copy-assets.js.map +1 -0
  33. package/lib/index.d.ts +1 -0
  34. package/lib/index.d.ts.map +1 -1
  35. package/lib/index.js +4 -1
  36. package/lib/index.js.map +1 -1
  37. package/lib/metro-config.d.ts +2 -2
  38. package/lib/metro-config.d.ts.map +1 -1
  39. package/lib/metro-config.js +3 -3
  40. package/lib/metro-config.js.map +1 -1
  41. package/lib/start.js +1 -1
  42. package/lib/start.js.map +1 -1
  43. package/package.json +5 -2
  44. package/react-native.config.js +8 -1
  45. package/src/bundle/metro.ts +1 -1
  46. package/src/bundle/overrides.ts +3 -3
  47. package/src/bundle.ts +13 -1
  48. package/src/clean.ts +6 -7
  49. package/src/copy-assets.ts +434 -0
  50. package/src/index.ts +1 -0
  51. package/src/metro-config.ts +3 -3
  52. package/src/start.ts +1 -1
  53. package/test/__mocks__/fs-extra.js +20 -0
  54. package/test/bundle/kit-config.test.ts +23 -1
  55. package/test/bundle/metro.test.ts +1 -1
  56. package/test/bundle/overrides.test.ts +3 -13
  57. package/test/copy-assets.test.ts +123 -0
package/lib/clean.js CHANGED
@@ -1,4 +1,27 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
2
25
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
26
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
27
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -14,16 +37,15 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
14
37
  Object.defineProperty(exports, "__esModule", { value: true });
15
38
  exports.rnxClean = void 0;
16
39
  const child_process_1 = require("child_process");
17
- const fs_1 = require("fs");
18
- const promises_1 = __importDefault(require("fs/promises"));
40
+ const fs = __importStar(require("fs-extra"));
19
41
  const ora_1 = __importDefault(require("ora"));
20
- const os_1 = __importDefault(require("os"));
21
- const path_1 = __importDefault(require("path"));
42
+ const os = __importStar(require("os"));
43
+ const path = __importStar(require("path"));
22
44
  function rnxClean(_argv, _config, cliOptions) {
23
45
  var _a, _b, _c;
24
46
  return __awaiter(this, void 0, void 0, function* () {
25
47
  const projectRoot = (_a = cliOptions.projectRoot) !== null && _a !== void 0 ? _a : process.cwd();
26
- if (!(0, fs_1.existsSync)(projectRoot)) {
48
+ if (!fs.existsSync(projectRoot)) {
27
49
  throw new Error(`Invalid path provided! ${projectRoot}`);
28
50
  }
29
51
  const spinner = (0, ora_1.default)();
@@ -34,20 +56,20 @@ function rnxClean(_argv, _config, cliOptions) {
34
56
  catch (_) {
35
57
  // Ignore
36
58
  }
37
- const npm = os_1.default.platform() === "win32" ? "npm.cmd" : "npm";
38
- const yarn = os_1.default.platform() === "win32" ? "yarn.cmd" : "yarn";
59
+ const npm = os.platform() === "win32" ? "npm.cmd" : "npm";
60
+ const yarn = os.platform() === "win32" ? "yarn.cmd" : "yarn";
39
61
  const COMMANDS = {
40
62
  android: [
41
63
  {
42
64
  label: "Clean Gradle cache",
43
65
  action: () => {
44
- const candidates = os_1.default.platform() === "win32"
66
+ const candidates = os.platform() === "win32"
45
67
  ? ["android/gradlew.bat", "gradlew.bat"]
46
68
  : ["android/gradlew", "gradlew"];
47
69
  const gradlew = findPath(projectRoot, candidates);
48
70
  if (gradlew) {
49
- const script = path_1.default.basename(gradlew);
50
- return execute(os_1.default.platform() === "win32" ? script : `./${script}`, ["clean"], path_1.default.dirname(gradlew));
71
+ const script = path.basename(gradlew);
72
+ return execute(os.platform() === "win32" ? script : `./${script}`, ["clean"], path.dirname(gradlew));
51
73
  }
52
74
  else {
53
75
  return Promise.resolve();
@@ -64,15 +86,15 @@ function rnxClean(_argv, _config, cliOptions) {
64
86
  metro: [
65
87
  {
66
88
  label: "Clean Metro cache",
67
- action: () => cleanDir(`${os_1.default.tmpdir()}/metro-*`),
89
+ action: () => cleanDir(`${os.tmpdir()}/metro-*`),
68
90
  },
69
91
  {
70
92
  label: "Clean Haste cache",
71
- action: () => cleanDir(`${os_1.default.tmpdir()}/haste-map-*`),
93
+ action: () => cleanDir(`${os.tmpdir()}/haste-map-*`),
72
94
  },
73
95
  {
74
96
  label: "Clean React Native cache",
75
- action: () => cleanDir(`${os_1.default.tmpdir()}/react-*`),
97
+ action: () => cleanDir(`${os.tmpdir()}/react-*`),
76
98
  },
77
99
  ],
78
100
  npm: [
@@ -92,7 +114,7 @@ function rnxClean(_argv, _config, cliOptions) {
92
114
  watchman: [
93
115
  {
94
116
  label: "Stop Watchman",
95
- action: () => execute(os_1.default.platform() === "win32" ? "tskill" : "killall", ["watchman"], projectRoot),
117
+ action: () => execute(os.platform() === "win32" ? "tskill" : "killall", ["watchman"], projectRoot),
96
118
  },
97
119
  {
98
120
  label: "Delete Watchman cache",
@@ -133,16 +155,16 @@ function rnxClean(_argv, _config, cliOptions) {
133
155
  }
134
156
  exports.rnxClean = rnxClean;
135
157
  function cleanDir(path) {
136
- if (!(0, fs_1.existsSync)(path)) {
158
+ if (!fs.existsSync(path)) {
137
159
  return Promise.resolve();
138
160
  }
139
- return promises_1.default.rmdir(path, { maxRetries: 3, recursive: true });
161
+ return fs.rmdir(path, { maxRetries: 3, recursive: true });
140
162
  }
141
163
  function findPath(startPath, files) {
142
164
  // TODO: Find project files via `@react-native-community/cli`
143
165
  for (const file of files) {
144
- const filename = path_1.default.resolve(startPath, file);
145
- if ((0, fs_1.existsSync)(filename)) {
166
+ const filename = path.resolve(startPath, file);
167
+ if (fs.existsSync(filename)) {
146
168
  return filename;
147
169
  }
148
170
  }
package/lib/clean.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"clean.js","sourceRoot":"","sources":["../src/clean.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AACA,iDAAsC;AACtC,2BAA8C;AAC9C,2DAA6B;AAC7B,8CAAsB;AACtB,4CAAoB;AACpB,gDAAwB;AAiBxB,SAAsB,QAAQ,CAC5B,KAAe,EACf,OAAkB,EAClB,UAAgB;;;QAEhB,MAAM,WAAW,GAAG,MAAA,UAAU,CAAC,WAAW,mCAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QAC5D,IAAI,CAAC,IAAA,eAAU,EAAC,WAAW,CAAC,EAAE;YAC5B,MAAM,IAAI,KAAK,CAAC,0BAA0B,WAAW,EAAE,CAAC,CAAC;SAC1D;QAED,MAAM,OAAO,GAAG,IAAA,aAAG,GAAE,CAAC;QACtB,IAAI;YACF,OAAO,CAAC,OAAO,CAAC,mCAAmC,CAAC,CAAC;YACrD,OAAO,CAAC,IAAI,CACV,gHAAgH,CACjH,CAAC;SACH;QAAC,OAAO,CAAC,EAAE;YACV,SAAS;SACV;QAED,MAAM,GAAG,GAAG,YAAE,CAAC,QAAQ,EAAE,KAAK,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC;QAC1D,MAAM,IAAI,GAAG,YAAE,CAAC,QAAQ,EAAE,KAAK,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC;QAE7D,MAAM,QAAQ,GAAe;YAC3B,OAAO,EAAE;gBACP;oBACE,KAAK,EAAE,oBAAoB;oBAC3B,MAAM,EAAE,GAAG,EAAE;wBACX,MAAM,UAAU,GACd,YAAE,CAAC,QAAQ,EAAE,KAAK,OAAO;4BACvB,CAAC,CAAC,CAAC,qBAAqB,EAAE,aAAa,CAAC;4BACxC,CAAC,CAAC,CAAC,iBAAiB,EAAE,SAAS,CAAC,CAAC;wBACrC,MAAM,OAAO,GAAG,QAAQ,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;wBAClD,IAAI,OAAO,EAAE;4BACX,MAAM,MAAM,GAAG,cAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;4BACtC,OAAO,OAAO,CACZ,YAAE,CAAC,QAAQ,EAAE,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE,EAClD,CAAC,OAAO,CAAC,EACT,cAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CACtB,CAAC;yBACH;6BAAM;4BACL,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;yBAC1B;oBACH,CAAC;iBACF;aACF;YACD,SAAS,EAAE;gBACT;oBACE,KAAK,EAAE,uBAAuB;oBAC9B,MAAM,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,WAAW,CAAC;iBACvE;aACF;YACD,KAAK,EAAE;gBACL;oBACE,KAAK,EAAE,mBAAmB;oBAC1B,MAAM,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,GAAG,YAAE,CAAC,MAAM,EAAE,UAAU,CAAC;iBACjD;gBACD;oBACE,KAAK,EAAE,mBAAmB;oBAC1B,MAAM,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,GAAG,YAAE,CAAC,MAAM,EAAE,cAAc,CAAC;iBACrD;gBACD;oBACE,KAAK,EAAE,0BAA0B;oBACjC,MAAM,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,GAAG,YAAE,CAAC,MAAM,EAAE,UAAU,CAAC;iBACjD;aACF;YACD,GAAG,EAAE;gBACH;oBACE,KAAK,EAAE,qBAAqB;oBAC5B,MAAM,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,GAAG,WAAW,eAAe,CAAC;iBACtD;gBACD,GAAG,CAAC,UAAU,CAAC,MAAM;oBACnB,CAAC,CAAC;wBACE;4BACE,KAAK,EAAE,kBAAkB;4BACzB,MAAM,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,WAAW,CAAC;yBAC7D;qBACF;oBACH,CAAC,CAAC,EAAE,CAAC;aACR;YACD,QAAQ,EAAE;gBACR;oBACE,KAAK,EAAE,eAAe;oBACtB,MAAM,EAAE,GAAG,EAAE,CACX,OAAO,CACL,YAAE,CAAC,QAAQ,EAAE,KAAK,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,EAChD,CAAC,UAAU,CAAC,EACZ,WAAW,CACZ;iBACJ;gBACD;oBACE,KAAK,EAAE,uBAAuB;oBAC9B,MAAM,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,eAAe,CAAC,EAAE,WAAW,CAAC;iBAClE;aACF;YACD,IAAI,EAAE;gBACJ;oBACE,KAAK,EAAE,kBAAkB;oBACzB,MAAM,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,WAAW,CAAC;iBAC7D;aACF;SACF,CAAC;QAEF,MAAM,UAAU,GAAG,MAAA,MAAA,UAAU,CAAC,OAAO,0CAAE,KAAK,CAAC,GAAG,CAAC,mCAAI;YACnD,OAAO;YACP,KAAK;YACL,UAAU;YACV,MAAM;SACP,CAAC;QAEF,KAAK,MAAM,QAAQ,IAAI,UAAU,EAAE;YACjC,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACpC,IAAI,CAAC,QAAQ,EAAE;gBACb,OAAO,CAAC,IAAI,CAAC,qBAAqB,QAAQ,EAAE,CAAC,CAAC;gBAC9C,OAAO;aACR;YAED,KAAK,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,QAAQ,EAAE;gBACxC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBACrB,MAAM,MAAM,EAAE;qBACX,IAAI,CAAC,GAAG,EAAE;oBACT,OAAO,CAAC,OAAO,EAAE,CAAC;gBACpB,CAAC,CAAC;qBACD,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;oBACX,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,MAAM,CAAC,EAAE,CAAC,CAAC;gBAClC,CAAC,CAAC,CAAC;aACN;SACF;;CACF;AAhID,4BAgIC;AAED,SAAS,QAAQ,CAAC,IAAY;IAC5B,IAAI,CAAC,IAAA,eAAU,EAAC,IAAI,CAAC,EAAE;QACrB,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;KAC1B;IAED,OAAO,kBAAE,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;AAC5D,CAAC;AAED,SAAS,QAAQ,CAAC,SAAiB,EAAE,KAAe;IAClD,6DAA6D;IAC7D,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;QACxB,MAAM,QAAQ,GAAG,cAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAC/C,IAAI,IAAA,eAAU,EAAC,QAAQ,CAAC,EAAE;YACxB,OAAO,QAAQ,CAAC;SACjB;KACF;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,OAAO,CAAC,OAAe,EAAE,IAAc,EAAE,GAAW;IAC3D,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,OAAO,GAAG,IAAA,qBAAK,EAAC,OAAO,EAAE,IAAI,EAAE;YACnC,GAAG;YACH,KAAK,EAAE,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC;SAC/B,CAAC,CAAC;QAEH,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YACjC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpB,CAAC,CAAC,CAAC;QAEH,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE;YACnC,IAAI,IAAI,KAAK,CAAC,EAAE;gBACd,OAAO,EAAE,CAAC;aACX;iBAAM,IAAI,MAAM,EAAE;gBACjB,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;aACpD;iBAAM,IAAI,MAAM,EAAE;gBACjB,MAAM,CAAC,sBAAsB,MAAM,EAAE,CAAC,CAAC;aACxC;iBAAM;gBACL,MAAM,CAAC,yBAAyB,IAAI,EAAE,CAAC,CAAC;aACzC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"clean.js","sourceRoot":"","sources":["../src/clean.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,iDAAsC;AACtC,6CAA+B;AAC/B,8CAAsB;AACtB,uCAAyB;AACzB,2CAA6B;AAiB7B,SAAsB,QAAQ,CAC5B,KAAe,EACf,OAAkB,EAClB,UAAgB;;;QAEhB,MAAM,WAAW,GAAG,MAAA,UAAU,CAAC,WAAW,mCAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QAC5D,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE;YAC/B,MAAM,IAAI,KAAK,CAAC,0BAA0B,WAAW,EAAE,CAAC,CAAC;SAC1D;QAED,MAAM,OAAO,GAAG,IAAA,aAAG,GAAE,CAAC;QACtB,IAAI;YACF,OAAO,CAAC,OAAO,CAAC,mCAAmC,CAAC,CAAC;YACrD,OAAO,CAAC,IAAI,CACV,gHAAgH,CACjH,CAAC;SACH;QAAC,OAAO,CAAC,EAAE;YACV,SAAS;SACV;QAED,MAAM,GAAG,GAAG,EAAE,CAAC,QAAQ,EAAE,KAAK,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC;QAC1D,MAAM,IAAI,GAAG,EAAE,CAAC,QAAQ,EAAE,KAAK,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC;QAE7D,MAAM,QAAQ,GAAe;YAC3B,OAAO,EAAE;gBACP;oBACE,KAAK,EAAE,oBAAoB;oBAC3B,MAAM,EAAE,GAAG,EAAE;wBACX,MAAM,UAAU,GACd,EAAE,CAAC,QAAQ,EAAE,KAAK,OAAO;4BACvB,CAAC,CAAC,CAAC,qBAAqB,EAAE,aAAa,CAAC;4BACxC,CAAC,CAAC,CAAC,iBAAiB,EAAE,SAAS,CAAC,CAAC;wBACrC,MAAM,OAAO,GAAG,QAAQ,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;wBAClD,IAAI,OAAO,EAAE;4BACX,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;4BACtC,OAAO,OAAO,CACZ,EAAE,CAAC,QAAQ,EAAE,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE,EAClD,CAAC,OAAO,CAAC,EACT,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CACtB,CAAC;yBACH;6BAAM;4BACL,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;yBAC1B;oBACH,CAAC;iBACF;aACF;YACD,SAAS,EAAE;gBACT;oBACE,KAAK,EAAE,uBAAuB;oBAC9B,MAAM,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,WAAW,CAAC;iBACvE;aACF;YACD,KAAK,EAAE;gBACL;oBACE,KAAK,EAAE,mBAAmB;oBAC1B,MAAM,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC;iBACjD;gBACD;oBACE,KAAK,EAAE,mBAAmB;oBAC1B,MAAM,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,cAAc,CAAC;iBACrD;gBACD;oBACE,KAAK,EAAE,0BAA0B;oBACjC,MAAM,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC;iBACjD;aACF;YACD,GAAG,EAAE;gBACH;oBACE,KAAK,EAAE,qBAAqB;oBAC5B,MAAM,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,GAAG,WAAW,eAAe,CAAC;iBACtD;gBACD,GAAG,CAAC,UAAU,CAAC,MAAM;oBACnB,CAAC,CAAC;wBACE;4BACE,KAAK,EAAE,kBAAkB;4BACzB,MAAM,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,WAAW,CAAC;yBAC7D;qBACF;oBACH,CAAC,CAAC,EAAE,CAAC;aACR;YACD,QAAQ,EAAE;gBACR;oBACE,KAAK,EAAE,eAAe;oBACtB,MAAM,EAAE,GAAG,EAAE,CACX,OAAO,CACL,EAAE,CAAC,QAAQ,EAAE,KAAK,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,EAChD,CAAC,UAAU,CAAC,EACZ,WAAW,CACZ;iBACJ;gBACD;oBACE,KAAK,EAAE,uBAAuB;oBAC9B,MAAM,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,eAAe,CAAC,EAAE,WAAW,CAAC;iBAClE;aACF;YACD,IAAI,EAAE;gBACJ;oBACE,KAAK,EAAE,kBAAkB;oBACzB,MAAM,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,WAAW,CAAC;iBAC7D;aACF;SACF,CAAC;QAEF,MAAM,UAAU,GAAG,MAAA,MAAA,UAAU,CAAC,OAAO,0CAAE,KAAK,CAAC,GAAG,CAAC,mCAAI;YACnD,OAAO;YACP,KAAK;YACL,UAAU;YACV,MAAM;SACP,CAAC;QAEF,KAAK,MAAM,QAAQ,IAAI,UAAU,EAAE;YACjC,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACpC,IAAI,CAAC,QAAQ,EAAE;gBACb,OAAO,CAAC,IAAI,CAAC,qBAAqB,QAAQ,EAAE,CAAC,CAAC;gBAC9C,OAAO;aACR;YAED,KAAK,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,QAAQ,EAAE;gBACxC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBACrB,MAAM,MAAM,EAAE;qBACX,IAAI,CAAC,GAAG,EAAE;oBACT,OAAO,CAAC,OAAO,EAAE,CAAC;gBACpB,CAAC,CAAC;qBACD,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;oBACX,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,MAAM,CAAC,EAAE,CAAC,CAAC;gBAClC,CAAC,CAAC,CAAC;aACN;SACF;;CACF;AAhID,4BAgIC;AAED,SAAS,QAAQ,CAAC,IAAY;IAC5B,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;QACxB,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;KAC1B;IAED,OAAO,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;AAC5D,CAAC;AAED,SAAS,QAAQ,CAAC,SAAiB,EAAE,KAAe;IAClD,6DAA6D;IAC7D,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;QACxB,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAC/C,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;YAC3B,OAAO,QAAQ,CAAC;SACjB;KACF;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,OAAO,CAAC,OAAe,EAAE,IAAc,EAAE,GAAW;IAC3D,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,OAAO,GAAG,IAAA,qBAAK,EAAC,OAAO,EAAE,IAAI,EAAE;YACnC,GAAG;YACH,KAAK,EAAE,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC;SAC/B,CAAC,CAAC;QAEH,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YACjC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpB,CAAC,CAAC,CAAC;QAEH,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE;YACnC,IAAI,IAAI,KAAK,CAAC,EAAE;gBACd,OAAO,EAAE,CAAC;aACX;iBAAM,IAAI,MAAM,EAAE;gBACjB,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;aACpD;iBAAM,IAAI,MAAM,EAAE;gBACjB,MAAM,CAAC,sBAAsB,MAAM,EAAE,CAAC,CAAC;aACxC;iBAAM;gBACL,MAAM,CAAC,yBAAyB,IAAI,EAAE,CAAC,CAAC;aACzC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,112 @@
1
+ import type { Config as CLIConfig } from "@react-native-community/cli-types";
2
+ import type { PackageManifest } from "@rnx-kit/tools-node/package";
3
+ import type { AllPlatforms } from "@rnx-kit/tools-react-native";
4
+ import { parsePlatform } from "@rnx-kit/tools-react-native";
5
+ export declare type AndroidArchive = {
6
+ targetName: string;
7
+ version?: string;
8
+ output?: string;
9
+ };
10
+ export declare type NativeAssets = {
11
+ assets?: string[];
12
+ strings?: string[];
13
+ aar?: AndroidArchive & {
14
+ env?: Record<string, string | number>;
15
+ dependencies?: Record<string, AndroidArchive>;
16
+ };
17
+ xcassets?: string[];
18
+ };
19
+ export declare type Options = {
20
+ platform: AllPlatforms;
21
+ assetsDest: string;
22
+ bundleAar: boolean;
23
+ xcassetsDest?: string;
24
+ [key: string]: unknown;
25
+ };
26
+ export declare type Context = {
27
+ projectRoot: string;
28
+ manifest: PackageManifest;
29
+ options: Options;
30
+ };
31
+ export declare type AssetsConfig = {
32
+ getAssets?: (context: Context) => Promise<NativeAssets>;
33
+ };
34
+ export declare function versionOf(pkgName: string): string;
35
+ export declare function copyAssets({ options: { assetsDest, xcassetsDest } }: Context, packageName: string, { assets, strings, xcassets }: NativeAssets): Promise<void>;
36
+ export declare function gatherConfigs({ projectRoot, manifest, }: Context): Promise<Record<string, AssetsConfig | null> | undefined>;
37
+ /**
38
+ * Copies additional assets not picked by bundlers into desired directory.
39
+ *
40
+ * The way this works is by scanning all direct dependencies of the current
41
+ * project for a file, `react-native.config.js`, whose contents include a
42
+ * field, `nativeAssets`, and a function that returns assets to copy:
43
+ *
44
+ * ```js
45
+ * // react-native.config.js
46
+ * module.exports = {
47
+ * nativeAssets: {
48
+ * getAssets: (context) => {
49
+ * return {
50
+ * assets: [],
51
+ * strings: [],
52
+ * xcassets: [],
53
+ * };
54
+ * }
55
+ * }
56
+ * };
57
+ * ```
58
+ *
59
+ * We also allow the project itself to override this where applicable. The
60
+ * format is similar and looks like this:
61
+ *
62
+ * ```js
63
+ * // react-native.config.js
64
+ * module.exports = {
65
+ * nativeAssets: {
66
+ * "some-library": {
67
+ * getAssets: (context) => {
68
+ * return {
69
+ * assets: [],
70
+ * strings: [],
71
+ * xcassets: [],
72
+ * };
73
+ * }
74
+ * },
75
+ * "another-library": {
76
+ * getAssets: (context) => {
77
+ * return {
78
+ * assets: [],
79
+ * strings: [],
80
+ * xcassets: [],
81
+ * };
82
+ * }
83
+ * }
84
+ * }
85
+ * };
86
+ * ```
87
+ *
88
+ * @param options Options dictate what gets copied where
89
+ */
90
+ export declare function copyProjectAssets(options: Options): Promise<void>;
91
+ export declare const rnxCopyAssetsCommand: {
92
+ name: string;
93
+ description: string;
94
+ func: (_argv: string[], _config: CLIConfig, options: Options) => Promise<void>;
95
+ options: ({
96
+ name: string;
97
+ description: string;
98
+ parse: typeof parsePlatform;
99
+ default?: undefined;
100
+ } | {
101
+ name: string;
102
+ description: string;
103
+ parse?: undefined;
104
+ default?: undefined;
105
+ } | {
106
+ name: string;
107
+ description: string;
108
+ default: boolean;
109
+ parse?: undefined;
110
+ })[];
111
+ };
112
+ //# sourceMappingURL=copy-assets.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"copy-assets.d.ts","sourceRoot":"","sources":["../src/copy-assets.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAG7E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAEnE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAM5D,oBAAY,cAAc,GAAG;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,oBAAY,YAAY,GAAG;IACzB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,GAAG,CAAC,EAAE,cAAc,GAAG;QACrB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC;QACtC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;KAC/C,CAAC;IACF,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB,CAAC;AAEF,oBAAY,OAAO,GAAG;IACpB,QAAQ,EAAE,YAAY,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB,CAAC;AAEF,oBAAY,OAAO,GAAG;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,eAAe,CAAC;IAC1B,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,oBAAY,YAAY,GAAG;IACzB,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,YAAY,CAAC,CAAC;CACzD,CAAC;AA2BF,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAGjD;AA+JD,wBAAsB,UAAU,CAC9B,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,YAAY,EAAE,EAAE,EAAE,OAAO,EAClD,WAAW,EAAE,MAAM,EACnB,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,YAAY,GAC1C,OAAO,CAAC,IAAI,CAAC,CAWf;AAED,wBAAsB,aAAa,CAAC,EAClC,WAAW,EACX,QAAQ,GACT,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CAAC,GAAG,SAAS,CAAC,CAwCpE;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoDG;AACH,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAqDvE;AAED,eAAO,MAAM,oBAAoB;;;kBAIjB,MAAM,EAAE,WAAW,SAAS,WAAW,OAAO;;;;;;;;;;;;;;;;;CA0B7D,CAAC"}
@@ -0,0 +1,353 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
+ return new (P || (P = Promise))(function (resolve, reject) {
28
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
29
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
30
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
31
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
32
+ });
33
+ };
34
+ Object.defineProperty(exports, "__esModule", { value: true });
35
+ exports.rnxCopyAssetsCommand = exports.copyProjectAssets = exports.gatherConfigs = exports.copyAssets = exports.versionOf = void 0;
36
+ const console_1 = require("@rnx-kit/console");
37
+ const array_1 = require("@rnx-kit/tools-language/array");
38
+ const package_1 = require("@rnx-kit/tools-node/package");
39
+ const tools_react_native_1 = require("@rnx-kit/tools-react-native");
40
+ const child_process_1 = require("child_process");
41
+ const fs = __importStar(require("fs-extra"));
42
+ const os = __importStar(require("os"));
43
+ const path = __importStar(require("path"));
44
+ function ensureOption(options, opt, flag = opt) {
45
+ if (options[opt] == null) {
46
+ (0, console_1.error)(`Missing required option: --${flag}`);
47
+ process.exit(1);
48
+ }
49
+ }
50
+ function findGradleProject(projectRoot) {
51
+ if (fs.existsSync(path.join(projectRoot, "android", "build.gradle"))) {
52
+ return path.join(projectRoot, "android");
53
+ }
54
+ if (fs.existsSync(path.join(projectRoot, "build.gradle"))) {
55
+ return projectRoot;
56
+ }
57
+ return undefined;
58
+ }
59
+ function isAssetsConfig(config) {
60
+ return typeof config === "object" && config !== null && "getAssets" in config;
61
+ }
62
+ function keysOf(record) {
63
+ return record ? Object.keys(record) : [];
64
+ }
65
+ function versionOf(pkgName) {
66
+ const { version } = (0, package_1.readPackage)(require.resolve(`${pkgName}/package.json`));
67
+ return version;
68
+ }
69
+ exports.versionOf = versionOf;
70
+ function getAndroidPaths(context, packageName, { targetName, version, output }) {
71
+ const projectRoot = path.dirname(require.resolve(`${packageName}/package.json`));
72
+ switch (packageName) {
73
+ case "hermes-engine":
74
+ return {
75
+ projectRoot,
76
+ output: path.join(projectRoot, "android", "hermes-release.aar"),
77
+ destination: path.join(context.options.assetsDest, "aar", `hermes-release-${versionOf(packageName)}.aar`),
78
+ };
79
+ case "react-native":
80
+ return {
81
+ projectRoot,
82
+ output: path.join(projectRoot, "android"),
83
+ destination: path.join(context.options.assetsDest, "aar", "react-native"),
84
+ };
85
+ default: {
86
+ const androidProject = findGradleProject(projectRoot);
87
+ return {
88
+ projectRoot,
89
+ androidProject,
90
+ output: output ||
91
+ (androidProject &&
92
+ path.join(androidProject, "build", "outputs", "aar", `${targetName}-release.aar`)),
93
+ destination: path.join(context.options.assetsDest, "aar", `${targetName}-${version || versionOf(packageName)}.aar`),
94
+ };
95
+ }
96
+ }
97
+ }
98
+ function assembleAarBundle(context, packageName, { aar }) {
99
+ return __awaiter(this, void 0, void 0, function* () {
100
+ if (!aar) {
101
+ return;
102
+ }
103
+ const findUp = require("find-up");
104
+ const gradlew = yield findUp(os.platform() === "win32" ? "gradlew.bat" : "gradlew");
105
+ if (!gradlew) {
106
+ (0, console_1.warn)(`Skipped \`${packageName}\`: cannot find \`gradlew\``);
107
+ return;
108
+ }
109
+ const { androidProject, output } = getAndroidPaths(context, packageName, aar);
110
+ if (!androidProject || !output) {
111
+ (0, console_1.warn)(`Skipped \`${packageName}\`: cannot find \`build.gradle\``);
112
+ return;
113
+ }
114
+ const { targetName, version, env, dependencies } = aar;
115
+ const targets = [`:${targetName}:assembleRelease`];
116
+ const targetsToCopy = [];
117
+ if (dependencies) {
118
+ for (const [dependencyName, aar] of Object.entries(dependencies)) {
119
+ const { output, destination } = getAndroidPaths(context, dependencyName, aar);
120
+ if (output) {
121
+ if (!fs.existsSync(output)) {
122
+ targets.push(`:${aar.targetName}:assembleRelease`);
123
+ targetsToCopy.push([output, destination]);
124
+ }
125
+ else if (!fs.existsSync(destination)) {
126
+ targetsToCopy.push([output, destination]);
127
+ }
128
+ }
129
+ }
130
+ }
131
+ // Run only one Gradle task at a time
132
+ (0, child_process_1.spawnSync)(gradlew, targets, {
133
+ cwd: androidProject,
134
+ stdio: "inherit",
135
+ env: Object.assign(Object.assign({ ENABLE_HERMES: "true", NODE_MODULES_PATH: path.join(process.cwd(), "node_modules"), REACT_NATIVE_VERSION: versionOf("react-native") }, process.env), env),
136
+ });
137
+ const destination = path.join(context.options.assetsDest, "aar");
138
+ yield fs.ensureDir(destination);
139
+ const aarVersion = version || versionOf(packageName);
140
+ const dest = path.join(destination, `${targetName}-${aarVersion}.aar`);
141
+ yield Promise.all([
142
+ fs.copy(output, dest),
143
+ ...targetsToCopy.map(([src, dest]) => fs.copy(src, dest)),
144
+ ]);
145
+ });
146
+ }
147
+ function copyFiles(files, destination) {
148
+ return __awaiter(this, void 0, void 0, function* () {
149
+ if (!(0, array_1.isNonEmptyArray)(files)) {
150
+ return;
151
+ }
152
+ yield fs.ensureDir(destination);
153
+ yield Promise.all(files.map((file) => {
154
+ const basename = path.basename(file);
155
+ return fs.copy(file, `${destination}/${basename}`);
156
+ }));
157
+ });
158
+ }
159
+ function copyXcodeAssets(xcassets, destination) {
160
+ return __awaiter(this, void 0, void 0, function* () {
161
+ if (!(0, array_1.isNonEmptyArray)(xcassets)) {
162
+ return;
163
+ }
164
+ yield fs.ensureDir(destination);
165
+ yield Promise.all(xcassets.map((catalog) => {
166
+ const dest = `${destination}/${path.basename(catalog)}`;
167
+ return fs.copy(catalog, dest);
168
+ }));
169
+ });
170
+ }
171
+ function copyAssets({ options: { assetsDest, xcassetsDest } }, packageName, { assets, strings, xcassets }) {
172
+ return __awaiter(this, void 0, void 0, function* () {
173
+ const tasks = [
174
+ copyFiles(assets, `${assetsDest}/assets/${packageName}`),
175
+ copyFiles(strings, `${assetsDest}/strings/${packageName}`),
176
+ ];
177
+ if (typeof xcassetsDest === "string") {
178
+ tasks.push(copyXcodeAssets(xcassets, xcassetsDest));
179
+ }
180
+ yield Promise.all(tasks);
181
+ });
182
+ }
183
+ exports.copyAssets = copyAssets;
184
+ function gatherConfigs({ projectRoot, manifest, }) {
185
+ return __awaiter(this, void 0, void 0, function* () {
186
+ const { dependencies, devDependencies } = manifest;
187
+ const packages = [...keysOf(dependencies), ...keysOf(devDependencies)];
188
+ if (packages.length === 0) {
189
+ return;
190
+ }
191
+ const resolveOptions = { paths: [projectRoot] };
192
+ const assetsConfigs = {};
193
+ for (const pkg of packages) {
194
+ try {
195
+ const pkgPath = path.dirname(require.resolve(`${pkg}/package.json`, resolveOptions));
196
+ const reactNativeConfig = `${pkgPath}/react-native.config.js`;
197
+ if (fs.existsSync(reactNativeConfig)) {
198
+ const { nativeAssets } = require(reactNativeConfig);
199
+ if (nativeAssets) {
200
+ assetsConfigs[pkg] = nativeAssets;
201
+ }
202
+ }
203
+ }
204
+ catch (err) {
205
+ (0, console_1.warn)(err);
206
+ }
207
+ }
208
+ // Overrides from project config
209
+ const reactNativeConfig = `${projectRoot}/react-native.config.js`;
210
+ if (fs.existsSync(reactNativeConfig)) {
211
+ const { nativeAssets } = require(reactNativeConfig);
212
+ const overrides = Object.entries(nativeAssets);
213
+ for (const [pkgName, config] of overrides) {
214
+ if (config === null || isAssetsConfig(config)) {
215
+ assetsConfigs[pkgName] = config;
216
+ }
217
+ }
218
+ }
219
+ return assetsConfigs;
220
+ });
221
+ }
222
+ exports.gatherConfigs = gatherConfigs;
223
+ /**
224
+ * Copies additional assets not picked by bundlers into desired directory.
225
+ *
226
+ * The way this works is by scanning all direct dependencies of the current
227
+ * project for a file, `react-native.config.js`, whose contents include a
228
+ * field, `nativeAssets`, and a function that returns assets to copy:
229
+ *
230
+ * ```js
231
+ * // react-native.config.js
232
+ * module.exports = {
233
+ * nativeAssets: {
234
+ * getAssets: (context) => {
235
+ * return {
236
+ * assets: [],
237
+ * strings: [],
238
+ * xcassets: [],
239
+ * };
240
+ * }
241
+ * }
242
+ * };
243
+ * ```
244
+ *
245
+ * We also allow the project itself to override this where applicable. The
246
+ * format is similar and looks like this:
247
+ *
248
+ * ```js
249
+ * // react-native.config.js
250
+ * module.exports = {
251
+ * nativeAssets: {
252
+ * "some-library": {
253
+ * getAssets: (context) => {
254
+ * return {
255
+ * assets: [],
256
+ * strings: [],
257
+ * xcassets: [],
258
+ * };
259
+ * }
260
+ * },
261
+ * "another-library": {
262
+ * getAssets: (context) => {
263
+ * return {
264
+ * assets: [],
265
+ * strings: [],
266
+ * xcassets: [],
267
+ * };
268
+ * }
269
+ * }
270
+ * }
271
+ * };
272
+ * ```
273
+ *
274
+ * @param options Options dictate what gets copied where
275
+ */
276
+ function copyProjectAssets(options) {
277
+ return __awaiter(this, void 0, void 0, function* () {
278
+ const projectRoot = (0, package_1.findPackageDir)() || process.cwd();
279
+ const content = yield fs.readFile(`${projectRoot}/package.json`, {
280
+ encoding: "utf-8",
281
+ });
282
+ const manifest = JSON.parse(content);
283
+ const context = { projectRoot, manifest, options };
284
+ const assetConfigs = yield gatherConfigs(context);
285
+ if (!assetConfigs) {
286
+ return;
287
+ }
288
+ const dependencies = Object.entries(assetConfigs);
289
+ for (const [packageName, config] of dependencies) {
290
+ if (!isAssetsConfig(config)) {
291
+ continue;
292
+ }
293
+ const { getAssets } = config;
294
+ if (typeof getAssets !== "function") {
295
+ (0, console_1.warn)(`Skipped \`${packageName}\`: getAssets is not a function`);
296
+ continue;
297
+ }
298
+ const assets = yield getAssets(context);
299
+ if (options.bundleAar && assets.aar) {
300
+ (0, console_1.info)(`Assembling "${packageName}"`);
301
+ yield assembleAarBundle(context, packageName, assets);
302
+ }
303
+ else {
304
+ (0, console_1.info)(`Copying assets for "${packageName}"`);
305
+ yield copyAssets(context, packageName, assets);
306
+ }
307
+ }
308
+ if (options.bundleAar) {
309
+ const dummyAar = { targetName: "dummy" };
310
+ const copyTasks = [];
311
+ for (const dependencyName of ["hermes-engine", "react-native"]) {
312
+ const { output, destination } = getAndroidPaths(context, dependencyName, dummyAar);
313
+ if (output &&
314
+ (!fs.existsSync(destination) || fs.statSync(destination).isDirectory())) {
315
+ (0, console_1.info)(`Copying Android Archive of "${dependencyName}"`);
316
+ copyTasks.push(fs.copy(output, destination));
317
+ }
318
+ }
319
+ yield Promise.all(copyTasks);
320
+ }
321
+ });
322
+ }
323
+ exports.copyProjectAssets = copyProjectAssets;
324
+ exports.rnxCopyAssetsCommand = {
325
+ name: "rnx-copy-assets",
326
+ description: "Copies additional assets not picked by bundlers into desired directory.",
327
+ func: (_argv, _config, options) => {
328
+ ensureOption(options, "platform");
329
+ ensureOption(options, "assetsDest", "assets-dest");
330
+ return copyProjectAssets(options);
331
+ },
332
+ options: [
333
+ {
334
+ name: "--platform <string>",
335
+ description: "platform to target",
336
+ parse: tools_react_native_1.parsePlatform,
337
+ },
338
+ {
339
+ name: "--assets-dest <string>",
340
+ description: "path of the directory to copy assets into",
341
+ },
342
+ {
343
+ name: "--bundle-aar <boolean>",
344
+ description: "whether to bundle AARs of dependencies",
345
+ default: false,
346
+ },
347
+ {
348
+ name: "--xcassets-dest <string>",
349
+ description: "path of the directory to copy Xcode asset catalogs into. Asset catalogs will only be copied if a destination path is specified.",
350
+ },
351
+ ],
352
+ };
353
+ //# sourceMappingURL=copy-assets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"copy-assets.js","sourceRoot":"","sources":["../src/copy-assets.ts"],"names":[],"mappings":"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"}
package/lib/index.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  export { rnxBundle } from "./bundle";
2
+ export { copyProjectAssets, rnxCopyAssetsCommand } from "./copy-assets";
2
3
  export { rnxDepCheck, rnxDepCheckCommand } from "./dep-check";
3
4
  export { rnxStart } from "./start";
4
5
  export { rnxTest, rnxTestCommand } from "./test";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AACjD,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACxE,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AACjD,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC"}
package/lib/index.js CHANGED
@@ -1,8 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.rnxClean = exports.parseBoolean = exports.rnxWriteThirdPartyNotices = exports.rnxTestCommand = exports.rnxTest = exports.rnxStart = exports.rnxDepCheckCommand = exports.rnxDepCheck = exports.rnxBundle = void 0;
3
+ exports.rnxClean = exports.parseBoolean = exports.rnxWriteThirdPartyNotices = exports.rnxTestCommand = exports.rnxTest = exports.rnxStart = exports.rnxDepCheckCommand = exports.rnxDepCheck = exports.rnxCopyAssetsCommand = exports.copyProjectAssets = exports.rnxBundle = void 0;
4
4
  var bundle_1 = require("./bundle");
5
5
  Object.defineProperty(exports, "rnxBundle", { enumerable: true, get: function () { return bundle_1.rnxBundle; } });
6
+ var copy_assets_1 = require("./copy-assets");
7
+ Object.defineProperty(exports, "copyProjectAssets", { enumerable: true, get: function () { return copy_assets_1.copyProjectAssets; } });
8
+ Object.defineProperty(exports, "rnxCopyAssetsCommand", { enumerable: true, get: function () { return copy_assets_1.rnxCopyAssetsCommand; } });
6
9
  var dep_check_1 = require("./dep-check");
7
10
  Object.defineProperty(exports, "rnxDepCheck", { enumerable: true, get: function () { return dep_check_1.rnxDepCheck; } });
8
11
  Object.defineProperty(exports, "rnxDepCheckCommand", { enumerable: true, get: function () { return dep_check_1.rnxDepCheckCommand; } });