@rnx-kit/cli 0.9.56 → 0.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +44 -0
- package/README.md +14 -0
- package/coverage/clover.xml +25 -25
- package/coverage/coverage-final.json +5 -5
- package/coverage/lcov-report/block-navigation.js +8 -0
- package/coverage/lcov-report/index.html +20 -15
- package/coverage/lcov-report/sorter.js +26 -0
- package/coverage/lcov-report/src/bundle/index.html +13 -8
- package/coverage/lcov-report/src/bundle/kit-config.ts.html +10 -5
- package/coverage/lcov-report/src/bundle/metro.ts.html +9 -4
- package/coverage/lcov-report/src/bundle/overrides.ts.html +8 -3
- package/coverage/lcov-report/src/index.html +8 -3
- package/coverage/lcov-report/src/metro-config.ts.html +9 -4
- package/coverage/lcov-report/src/typescript/index.html +17 -12
- package/coverage/lcov-report/src/typescript/project-cache.ts.html +40 -23
- package/coverage/lcov.info +31 -29
- package/lib/clean.d.ts +8 -0
- package/lib/clean.d.ts.map +1 -0
- package/lib/clean.js +166 -0
- package/lib/clean.js.map +1 -0
- package/lib/index.d.ts +1 -0
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +3 -1
- package/lib/index.js.map +1 -1
- package/lib/start.d.ts.map +1 -1
- package/lib/start.js +35 -17
- package/lib/start.js.map +1 -1
- package/lib/typescript/project-cache.d.ts.map +1 -1
- package/lib/typescript/project-cache.js +10 -6
- package/lib/typescript/project-cache.js.map +1 -1
- package/package.json +8 -5
- package/react-native.config.js +19 -0
- package/src/clean.ts +184 -0
- package/src/index.ts +1 -0
- package/src/start.ts +39 -21
- package/src/typescript/project-cache.ts +12 -8
package/lib/clean.js.map
ADDED
|
@@ -0,0 +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;AAgBxB,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,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,GAAG,EAAE;gBACH;oBACE,KAAK,EAAE,qBAAqB;oBAC5B,MAAM,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,GAAG,WAAW,eAAe,CAAC;iBACtD;gBACD;oBACE,KAAK,EAAE,kBAAkB;oBACzB,MAAM,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,WAAW,CAAC;iBAC7D;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,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,MAAM,OAAO,GAAG,IAAA,aAAG,GAAE,CAAC;QACtB,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;AAnHD,4BAmHC;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"}
|
package/lib/index.d.ts
CHANGED
|
@@ -4,4 +4,5 @@ export { rnxStart } from "./start";
|
|
|
4
4
|
export { rnxTest, rnxTestCommand } from "./test";
|
|
5
5
|
export { rnxWriteThirdPartyNotices } from "./write-third-party-notices";
|
|
6
6
|
export { parseBoolean } from "./parsers";
|
|
7
|
+
export { rnxClean } from "./clean";
|
|
7
8
|
//# sourceMappingURL=index.d.ts.map
|
package/lib/index.d.ts.map
CHANGED
|
@@ -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"}
|
|
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"}
|
package/lib/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
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.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
6
|
var dep_check_1 = require("./dep-check");
|
|
@@ -15,4 +15,6 @@ var write_third_party_notices_1 = require("./write-third-party-notices");
|
|
|
15
15
|
Object.defineProperty(exports, "rnxWriteThirdPartyNotices", { enumerable: true, get: function () { return write_third_party_notices_1.rnxWriteThirdPartyNotices; } });
|
|
16
16
|
var parsers_1 = require("./parsers");
|
|
17
17
|
Object.defineProperty(exports, "parseBoolean", { enumerable: true, get: function () { return parsers_1.parseBoolean; } });
|
|
18
|
+
var clean_1 = require("./clean");
|
|
19
|
+
Object.defineProperty(exports, "rnxClean", { enumerable: true, get: function () { return clean_1.rnxClean; } });
|
|
18
20
|
//# sourceMappingURL=index.js.map
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,mCAAqC;AAA5B,mGAAA,SAAS,OAAA;AAClB,yCAA8D;AAArD,wGAAA,WAAW,OAAA;AAAE,+GAAA,kBAAkB,OAAA;AACxC,iCAAmC;AAA1B,iGAAA,QAAQ,OAAA;AACjB,+BAAiD;AAAxC,+FAAA,OAAO,OAAA;AAAE,sGAAA,cAAc,OAAA;AAChC,yEAAwE;AAA/D,sIAAA,yBAAyB,OAAA;AAClC,qCAAyC;AAAhC,uGAAA,YAAY,OAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,mCAAqC;AAA5B,mGAAA,SAAS,OAAA;AAClB,yCAA8D;AAArD,wGAAA,WAAW,OAAA;AAAE,+GAAA,kBAAkB,OAAA;AACxC,iCAAmC;AAA1B,iGAAA,QAAQ,OAAA;AACjB,+BAAiD;AAAxC,+FAAA,OAAO,OAAA;AAAE,sGAAA,cAAc,OAAA;AAChC,yEAAwE;AAA/D,sIAAA,yBAAyB,OAAA;AAClC,qCAAyC;AAAhC,uGAAA,YAAY,OAAA;AACrB,iCAAmC;AAA1B,iGAAA,QAAQ,OAAA"}
|
package/lib/start.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"start.d.ts","sourceRoot":"","sources":["../src/start.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,IAAI,SAAS,EAAE,MAAM,mCAAmC,CAAC;
|
|
1
|
+
{"version":3,"file":"start.d.ts","sourceRoot":"","sources":["../src/start.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,IAAI,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAkB7E,oBAAY,eAAe,GAAG;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,OAAO,CAAC;CACtB,CAAC;AAYF,wBAAsB,QAAQ,CAC5B,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,EACpB,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,eAAe,GAC1B,OAAO,CAAC,IAAI,CAAC,CAoLf"}
|
package/lib/start.js
CHANGED
|
@@ -15,10 +15,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
15
15
|
exports.rnxStart = void 0;
|
|
16
16
|
const metro_service_1 = require("@rnx-kit/metro-service");
|
|
17
17
|
const chalk_1 = __importDefault(require("chalk"));
|
|
18
|
+
const os_1 = __importDefault(require("os"));
|
|
18
19
|
const path_1 = __importDefault(require("path"));
|
|
20
|
+
const qrcode_1 = __importDefault(require("qrcode"));
|
|
19
21
|
const readline_1 = __importDefault(require("readline"));
|
|
20
|
-
const kit_config_1 = require("./serve/kit-config");
|
|
21
22
|
const metro_config_1 = require("./metro-config");
|
|
23
|
+
const kit_config_1 = require("./serve/kit-config");
|
|
22
24
|
function friendlyRequire(module) {
|
|
23
25
|
try {
|
|
24
26
|
return require(module);
|
|
@@ -55,13 +57,16 @@ function rnxStart(_argv, cliConfig, cliOptions) {
|
|
|
55
57
|
reportEventDelegate(event);
|
|
56
58
|
}
|
|
57
59
|
if (interactive && event.type === "dep_graph_loading") {
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
"
|
|
63
|
-
|
|
64
|
-
"
|
|
60
|
+
const dim = chalk_1.default.dim;
|
|
61
|
+
const press = dim(" › Press ");
|
|
62
|
+
[
|
|
63
|
+
["r", "reload the app"],
|
|
64
|
+
["d", "open developer menu"],
|
|
65
|
+
["a", "show bundler address QR code"],
|
|
66
|
+
["ctrl-c", "quit"],
|
|
67
|
+
].forEach(([key, description]) => {
|
|
68
|
+
terminal.log(press + key + dim(` to ${description}.`));
|
|
69
|
+
});
|
|
65
70
|
}
|
|
66
71
|
},
|
|
67
72
|
};
|
|
@@ -138,16 +143,29 @@ function rnxStart(_argv, cliConfig, cliOptions) {
|
|
|
138
143
|
break;
|
|
139
144
|
}
|
|
140
145
|
}
|
|
141
|
-
else if (name === "r") {
|
|
142
|
-
terminal.log(chalk_1.default.green("Reloading app..."));
|
|
143
|
-
messageSocket.broadcast("reload", undefined);
|
|
144
|
-
}
|
|
145
|
-
else if (name === "d") {
|
|
146
|
-
terminal.log(chalk_1.default.green("Opening developer menu..."));
|
|
147
|
-
messageSocket.broadcast("devMenu", undefined);
|
|
148
|
-
}
|
|
149
146
|
else {
|
|
150
|
-
|
|
147
|
+
switch (name) {
|
|
148
|
+
case "a": {
|
|
149
|
+
const protocol = cliOptions.https ? "https" : "http";
|
|
150
|
+
const host = cliOptions.host || os_1.default.hostname();
|
|
151
|
+
const port = metroConfig.server.port;
|
|
152
|
+
const url = `${protocol}://${host}:${port}/index.bundle`;
|
|
153
|
+
qrcode_1.default.toString(url, { type: "terminal" }, (_err, qr) => {
|
|
154
|
+
terminal.log("");
|
|
155
|
+
terminal.log(url + ":");
|
|
156
|
+
terminal.log(qr);
|
|
157
|
+
});
|
|
158
|
+
break;
|
|
159
|
+
}
|
|
160
|
+
case "d":
|
|
161
|
+
terminal.log(chalk_1.default.green("Opening developer menu..."));
|
|
162
|
+
messageSocket.broadcast("devMenu", undefined);
|
|
163
|
+
break;
|
|
164
|
+
case "r":
|
|
165
|
+
terminal.log(chalk_1.default.green("Reloading app..."));
|
|
166
|
+
messageSocket.broadcast("reload", undefined);
|
|
167
|
+
break;
|
|
168
|
+
}
|
|
151
169
|
}
|
|
152
170
|
});
|
|
153
171
|
}
|
package/lib/start.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"start.js","sourceRoot":"","sources":["../src/start.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAEA,0DAIgC;AAChC,kDAA0B;AAI1B,gDAAwB;AACxB,wDAAgC;AAChC,
|
|
1
|
+
{"version":3,"file":"start.js","sourceRoot":"","sources":["../src/start.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project-cache.d.ts","sourceRoot":"","sources":["../../src/typescript/project-cache.ts"],"names":[],"mappings":"AACA,OAAO,EACL,YAAY,EAEb,MAAM,sCAAsC,CAAC;AAE9C,OAAO,EAEL,OAAO,EAER,MAAM,6BAA6B,CAAC;AAIrC,oBAAY,WAAW,GAAG;IACxB,SAAS,EAAE,OAAO,CAAC;IACnB,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CAC5B,CAAC;AAEF;;;;;;;;;;GAUG;AACH,MAAM,WAAW,YAAY;IAC3B;;;;OAIG;IACH,aAAa,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI,CAAC;IAE5C;;;;;;;OAOG;IACH,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,GAAG,WAAW,CAAC;CACzE;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,GAChC,YAAY,
|
|
1
|
+
{"version":3,"file":"project-cache.d.ts","sourceRoot":"","sources":["../../src/typescript/project-cache.ts"],"names":[],"mappings":"AACA,OAAO,EACL,YAAY,EAEb,MAAM,sCAAsC,CAAC;AAE9C,OAAO,EAEL,OAAO,EAER,MAAM,6BAA6B,CAAC;AAIrC,oBAAY,WAAW,GAAG;IACxB,SAAS,EAAE,OAAO,CAAC;IACnB,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CAC5B,CAAC;AAEF;;;;;;;;;;GAUG;AACH,MAAM,WAAW,YAAY;IAC3B;;;;OAIG;IACH,aAAa,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI,CAAC;IAE5C;;;;;;;OAOG;IACH,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,GAAG,WAAW,CAAC;CACzE;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,GAChC,YAAY,CA4Hd"}
|
|
@@ -51,6 +51,16 @@ function createProjectCache(print) {
|
|
|
51
51
|
function createProjectInfo(root, platform) {
|
|
52
52
|
// Load the TypeScript configuration file for this project.
|
|
53
53
|
const cmdLine = readTSConfig(root);
|
|
54
|
+
// Trim down the list of source files found by TypeScript. This ensures
|
|
55
|
+
// that only explicitly added files are loaded and parsed by TypeScript.
|
|
56
|
+
// This is a perf optimization. We don't want to spend cycles on files
|
|
57
|
+
// that won't be used, such as *.android.ts when bundling for ios.
|
|
58
|
+
//
|
|
59
|
+
// The exception to this rule are .d.ts files. They hold global types,
|
|
60
|
+
// modules and namespaces, and having them in the project is the only
|
|
61
|
+
// way they can be loaded.
|
|
62
|
+
const tssourceFiles = new Set(cmdLine.fileNames);
|
|
63
|
+
cmdLine.fileNames = cmdLine.fileNames.filter((f) => f.endsWith(".d.ts"));
|
|
54
64
|
// Create a TypeScript project using the configuration file. Enhance the
|
|
55
65
|
// underlying TS language service with our react-native module resolver.
|
|
56
66
|
const enhanceLanguageServiceHost = (host) => {
|
|
@@ -69,12 +79,6 @@ function createProjectCache(print) {
|
|
|
69
79
|
});
|
|
70
80
|
};
|
|
71
81
|
const tsproject = new typescript_service_1.Project(documentRegistry, diagnosticWriter, cmdLine, enhanceLanguageServiceHost);
|
|
72
|
-
// Store TypeScript's source file list for this project. We'll use it later
|
|
73
|
-
// to filter files from Metro's file graph. We only want to check files that
|
|
74
|
-
// TypeScript considers to be source code, and not transpiled output.
|
|
75
|
-
const tssourceFiles = new Set(cmdLine.fileNames);
|
|
76
|
-
// Start with an empty project
|
|
77
|
-
tsproject.removeAllFiles();
|
|
78
82
|
return {
|
|
79
83
|
tsproject,
|
|
80
84
|
tssourceFiles,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project-cache.js","sourceRoot":"","sources":["../../src/typescript/project-cache.ts"],"names":[],"mappings":";;;;;;AAAA,oDAAqD;AACrD,mEAG8C;AAC9C,gGAA+F;AAC/F,oEAIqC;AACrC,gDAAwB;AACxB,4DAA4B;AAqC5B;;;;;GAKG;AACH,SAAgB,kBAAkB,CAChC,KAAiC;IAEjC,MAAM,gBAAgB,GAAG,oBAAE,CAAC,sBAAsB,EAAE,CAAC;IACrD,MAAM,gBAAgB,GAAG,IAAA,2CAAsB,EAAC,KAAK,CAAC,CAAC;IAEvD,wEAAwE;IACxE,MAAM,QAAQ,GAGV,EAAE,CAAC;IAEP,SAAS,eAAe,CAAC,UAAkB;QACzC,6EAA6E;QAC7E,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;YACxC,IAAI,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;gBAC/B,OAAO,IAAI,CAAC;aACb;SACF;QAED,gEAAgE;QAChE,MAAM,IAAI,GAAG,IAAA,2BAAc,EAAC,cAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;QACtD,IAAI,CAAC,IAAI,EAAE;YACT,MAAM,IAAI,KAAK,CACb,6CAA6C,UAAU,GAAG,CAC3D,CAAC;SACH;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED,SAAS,YAAY,CAAC,IAAY;QAChC,MAAM,cAAc,GAAG,cAAI,CAAC,IAAI,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;QAExD,MAAM,OAAO,GAAG,IAAA,mCAAc,EAAC,cAAc,CAAC,CAAC;QAC/C,IAAI,CAAC,OAAO,EAAE;YACZ,MAAM,IAAI,KAAK,CAAC,mBAAmB,cAAc,GAAG,CAAC,CAAC;SACvD;aAAM,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;YACpC,MAAM,MAAM,GAAG,IAAA,2CAAsB,GAAE,CAAC;YACxC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/C,MAAM,IAAI,KAAK,CAAC,mBAAmB,cAAc,GAAG,CAAC,CAAC;SACvD;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,SAAS,iBAAiB,CACxB,IAAY,EACZ,QAAsB;QAEtB,2DAA2D;QAC3D,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;QAEnC,wEAAwE;QACxE,wEAAwE;QACxE,MAAM,0BAA0B,GAAG,CAAC,IAA4B,EAAQ,EAAE;YACxE,MAAM,sBAAsB,GAAG,IAAA,6BAAkB,EAAC,QAAQ,CAAC,CAAC;YAC5D,MAAM,qCAAqC,GAAG,IAAI,CAAC;YACnD,MAAM,sCAAsC,GAAG,KAAK,CAAC;YACrD,MAAM,kBAAkB,GAAG,SAAS,CAAC;YACrC,IAAA,qEAAkC,EAAC;gBACjC,IAAI;gBACJ,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,QAAQ;gBACR,sBAAsB;gBACtB,qCAAqC;gBACrC,sCAAsC;gBACtC,kBAAkB;aACnB,CAAC,CAAC;QACL,CAAC,CAAC;QACF,MAAM,SAAS,GAAG,IAAI,4BAAO,CAC3B,gBAAgB,EAChB,gBAAgB,EAChB,OAAO,EACP,0BAA0B,CAC3B,CAAC;QAEF,
|
|
1
|
+
{"version":3,"file":"project-cache.js","sourceRoot":"","sources":["../../src/typescript/project-cache.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rnx-kit/cli",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.11.0",
|
|
4
4
|
"description": "Command-line interface for working with kit packages in your repo",
|
|
5
5
|
"homepage": "https://github.com/microsoft/rnx-kit/tree/main/packages/cli",
|
|
6
6
|
"license": "MIT",
|
|
@@ -21,19 +21,21 @@
|
|
|
21
21
|
"dependencies": {
|
|
22
22
|
"@rnx-kit/config": "^0.4.21",
|
|
23
23
|
"@rnx-kit/console": "^1.0.11",
|
|
24
|
-
"@rnx-kit/dep-check": "^1.
|
|
24
|
+
"@rnx-kit/dep-check": "^1.12.0",
|
|
25
25
|
"@rnx-kit/metro-plugin-cyclic-dependencies-detector": "^1.0.21",
|
|
26
26
|
"@rnx-kit/metro-plugin-duplicates-checker": "^1.2.15",
|
|
27
27
|
"@rnx-kit/metro-serializer": "^1.0.11",
|
|
28
|
-
"@rnx-kit/metro-serializer-esbuild": "^0.0
|
|
28
|
+
"@rnx-kit/metro-serializer-esbuild": "^0.1.0",
|
|
29
29
|
"@rnx-kit/metro-service": "^1.1.13",
|
|
30
30
|
"@rnx-kit/third-party-notices": "^1.2.13",
|
|
31
31
|
"@rnx-kit/tools-language": "^1.2.6",
|
|
32
32
|
"@rnx-kit/tools-node": "^1.2.6",
|
|
33
|
-
"@rnx-kit/tools-react-native": "^1.0
|
|
34
|
-
"@rnx-kit/typescript-react-native-resolver": "^0.
|
|
33
|
+
"@rnx-kit/tools-react-native": "^1.2.0",
|
|
34
|
+
"@rnx-kit/typescript-react-native-resolver": "^0.2.0",
|
|
35
35
|
"@rnx-kit/typescript-service": "^1.5.3",
|
|
36
36
|
"chalk": "^4.1.0",
|
|
37
|
+
"ora": "^5.4.1",
|
|
38
|
+
"qrcode": "^1.5.0",
|
|
37
39
|
"readline": "^1.3.0"
|
|
38
40
|
},
|
|
39
41
|
"peerDependencies": {
|
|
@@ -50,6 +52,7 @@
|
|
|
50
52
|
"@rnx-kit/scripts": "*",
|
|
51
53
|
"@types/metro": "^0.66.0",
|
|
52
54
|
"@types/metro-config": "^0.66.0",
|
|
55
|
+
"@types/qrcode": "^1.4.2",
|
|
53
56
|
"jest-extended": "^0.11.5",
|
|
54
57
|
"typescript": "^4.0.0"
|
|
55
58
|
},
|
package/react-native.config.js
CHANGED
|
@@ -7,6 +7,7 @@ const {
|
|
|
7
7
|
rnxDepCheckCommand,
|
|
8
8
|
rnxTestCommand,
|
|
9
9
|
rnxWriteThirdPartyNotices,
|
|
10
|
+
rnxClean,
|
|
10
11
|
} = require("./lib/index");
|
|
11
12
|
|
|
12
13
|
module.exports = {
|
|
@@ -228,5 +229,23 @@ module.exports = {
|
|
|
228
229
|
},
|
|
229
230
|
],
|
|
230
231
|
},
|
|
232
|
+
{
|
|
233
|
+
name: "rnx-clean",
|
|
234
|
+
func: rnxClean,
|
|
235
|
+
description: "Clears React Native project related caches",
|
|
236
|
+
options: [
|
|
237
|
+
{
|
|
238
|
+
name: "--include [android,cocoapods,metro,npm,watchman,yarn]",
|
|
239
|
+
description:
|
|
240
|
+
"Comma-separated flag of caches to clear, e.g. `npm,yarn`. When not specified, only non-platform specific caches are cleared.",
|
|
241
|
+
default: "metro,npm,watchman,yarn",
|
|
242
|
+
},
|
|
243
|
+
{
|
|
244
|
+
name: "--project-root <path>",
|
|
245
|
+
description: "Root path to your React Native project (optional)",
|
|
246
|
+
parse: (val) => path.resolve(val),
|
|
247
|
+
},
|
|
248
|
+
],
|
|
249
|
+
},
|
|
231
250
|
],
|
|
232
251
|
};
|
package/src/clean.ts
ADDED
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
import type { Config as CLIConfig } from "@react-native-community/cli-types";
|
|
2
|
+
import { spawn } from "child_process";
|
|
3
|
+
import { existsSync as fileExists } from "fs";
|
|
4
|
+
import fs from "fs/promises";
|
|
5
|
+
import ora from "ora";
|
|
6
|
+
import os from "os";
|
|
7
|
+
import path from "path";
|
|
8
|
+
|
|
9
|
+
type Args = {
|
|
10
|
+
include?: string;
|
|
11
|
+
projectRoot?: string;
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
type Task = {
|
|
15
|
+
label: string;
|
|
16
|
+
action: () => Promise<void>;
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
type CLICommand = {
|
|
20
|
+
[key: string]: Task[];
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
export async function rnxClean(
|
|
24
|
+
_argv: string[],
|
|
25
|
+
_config: CLIConfig,
|
|
26
|
+
cliOptions: Args
|
|
27
|
+
): Promise<void> {
|
|
28
|
+
const projectRoot = cliOptions.projectRoot ?? process.cwd();
|
|
29
|
+
if (!fileExists(projectRoot)) {
|
|
30
|
+
throw new Error(`Invalid path provided! ${projectRoot}`);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
const npm = os.platform() === "win32" ? "npm.cmd" : "npm";
|
|
34
|
+
const yarn = os.platform() === "win32" ? "yarn.cmd" : "yarn";
|
|
35
|
+
|
|
36
|
+
const COMMANDS: CLICommand = {
|
|
37
|
+
android: [
|
|
38
|
+
{
|
|
39
|
+
label: "Clean Gradle cache",
|
|
40
|
+
action: () => {
|
|
41
|
+
const candidates =
|
|
42
|
+
os.platform() === "win32"
|
|
43
|
+
? ["android/gradlew.bat", "gradlew.bat"]
|
|
44
|
+
: ["android/gradlew", "gradlew"];
|
|
45
|
+
const gradlew = findPath(projectRoot, candidates);
|
|
46
|
+
if (gradlew) {
|
|
47
|
+
const script = path.basename(gradlew);
|
|
48
|
+
return execute(
|
|
49
|
+
os.platform() === "win32" ? script : `./${script}`,
|
|
50
|
+
["clean"],
|
|
51
|
+
path.dirname(gradlew)
|
|
52
|
+
);
|
|
53
|
+
} else {
|
|
54
|
+
return Promise.resolve();
|
|
55
|
+
}
|
|
56
|
+
},
|
|
57
|
+
},
|
|
58
|
+
],
|
|
59
|
+
cocoapods: [
|
|
60
|
+
{
|
|
61
|
+
label: "Clean CocoaPods cache",
|
|
62
|
+
action: () => execute("pod", ["cache", "clean", "--all"], projectRoot),
|
|
63
|
+
},
|
|
64
|
+
],
|
|
65
|
+
npm: [
|
|
66
|
+
{
|
|
67
|
+
label: "Remove node_modules",
|
|
68
|
+
action: () => cleanDir(`${projectRoot}/node_modules`),
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
label: "Verify npm cache",
|
|
72
|
+
action: () => execute(npm, ["cache", "verify"], projectRoot),
|
|
73
|
+
},
|
|
74
|
+
],
|
|
75
|
+
metro: [
|
|
76
|
+
{
|
|
77
|
+
label: "Clean Metro cache",
|
|
78
|
+
action: () => cleanDir(`${os.tmpdir()}/metro-*`),
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
label: "Clean Haste cache",
|
|
82
|
+
action: () => cleanDir(`${os.tmpdir()}/haste-map-*`),
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
label: "Clean React Native cache",
|
|
86
|
+
action: () => cleanDir(`${os.tmpdir()}/react-*`),
|
|
87
|
+
},
|
|
88
|
+
],
|
|
89
|
+
watchman: [
|
|
90
|
+
{
|
|
91
|
+
label: "Stop Watchman",
|
|
92
|
+
action: () =>
|
|
93
|
+
execute(
|
|
94
|
+
os.platform() === "win32" ? "tskill" : "killall",
|
|
95
|
+
["watchman"],
|
|
96
|
+
projectRoot
|
|
97
|
+
),
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
label: "Delete Watchman cache",
|
|
101
|
+
action: () => execute("watchman", ["watch-del-all"], projectRoot),
|
|
102
|
+
},
|
|
103
|
+
],
|
|
104
|
+
yarn: [
|
|
105
|
+
{
|
|
106
|
+
label: "Clean Yarn cache",
|
|
107
|
+
action: () => execute(yarn, ["cache", "clean"], projectRoot),
|
|
108
|
+
},
|
|
109
|
+
],
|
|
110
|
+
};
|
|
111
|
+
|
|
112
|
+
const categories = cliOptions.include?.split(",") ?? [
|
|
113
|
+
"metro",
|
|
114
|
+
"npm",
|
|
115
|
+
"watchman",
|
|
116
|
+
"yarn",
|
|
117
|
+
];
|
|
118
|
+
|
|
119
|
+
const spinner = ora();
|
|
120
|
+
for (const category of categories) {
|
|
121
|
+
const commands = COMMANDS[category];
|
|
122
|
+
if (!commands) {
|
|
123
|
+
spinner.warn(`Unknown category: ${category}`);
|
|
124
|
+
return;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
for (const { action, label } of commands) {
|
|
128
|
+
spinner.start(label);
|
|
129
|
+
await action()
|
|
130
|
+
.then(() => {
|
|
131
|
+
spinner.succeed();
|
|
132
|
+
})
|
|
133
|
+
.catch((e) => {
|
|
134
|
+
spinner.fail(`${label} » ${e}`);
|
|
135
|
+
});
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
function cleanDir(path: string): Promise<void> {
|
|
141
|
+
if (!fileExists(path)) {
|
|
142
|
+
return Promise.resolve();
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
return fs.rmdir(path, { maxRetries: 3, recursive: true });
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
function findPath(startPath: string, files: string[]): string | undefined {
|
|
149
|
+
// TODO: Find project files via `@react-native-community/cli`
|
|
150
|
+
for (const file of files) {
|
|
151
|
+
const filename = path.resolve(startPath, file);
|
|
152
|
+
if (fileExists(filename)) {
|
|
153
|
+
return filename;
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
return undefined;
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
function execute(command: string, args: string[], cwd: string): Promise<void> {
|
|
161
|
+
return new Promise((resolve, reject) => {
|
|
162
|
+
const process = spawn(command, args, {
|
|
163
|
+
cwd,
|
|
164
|
+
stdio: ["inherit", null, null],
|
|
165
|
+
});
|
|
166
|
+
|
|
167
|
+
const stderr: Buffer[] = [];
|
|
168
|
+
process.stderr.on("data", (data) => {
|
|
169
|
+
stderr.push(data);
|
|
170
|
+
});
|
|
171
|
+
|
|
172
|
+
process.on("close", (code, signal) => {
|
|
173
|
+
if (code === 0) {
|
|
174
|
+
resolve();
|
|
175
|
+
} else if (stderr) {
|
|
176
|
+
reject(Buffer.concat(stderr).toString().trimEnd());
|
|
177
|
+
} else if (signal) {
|
|
178
|
+
reject(`Failed with signal ${signal}`);
|
|
179
|
+
} else {
|
|
180
|
+
reject(`Failed with exit code ${code}`);
|
|
181
|
+
}
|
|
182
|
+
});
|
|
183
|
+
});
|
|
184
|
+
}
|
package/src/index.ts
CHANGED
package/src/start.ts
CHANGED
|
@@ -6,13 +6,15 @@ import {
|
|
|
6
6
|
startServer,
|
|
7
7
|
} from "@rnx-kit/metro-service";
|
|
8
8
|
import chalk from "chalk";
|
|
9
|
-
import type {
|
|
10
|
-
import type Server from "metro/src/Server";
|
|
9
|
+
import type { ReportableEvent, Reporter } from "metro";
|
|
11
10
|
import type { Middleware } from "metro-config";
|
|
11
|
+
import type Server from "metro/src/Server";
|
|
12
|
+
import os from "os";
|
|
12
13
|
import path from "path";
|
|
14
|
+
import qrcode from "qrcode";
|
|
13
15
|
import readline from "readline";
|
|
14
|
-
import { getKitServerConfig } from "./serve/kit-config";
|
|
15
16
|
import { customizeMetroConfig } from "./metro-config";
|
|
17
|
+
import { getKitServerConfig } from "./serve/kit-config";
|
|
16
18
|
import type { TypeScriptValidationOptions } from "./types";
|
|
17
19
|
|
|
18
20
|
export type CLIStartOptions = {
|
|
@@ -85,17 +87,16 @@ export async function rnxStart(
|
|
|
85
87
|
reportEventDelegate(event);
|
|
86
88
|
}
|
|
87
89
|
if (interactive && event.type === "dep_graph_loading") {
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
"
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
);
|
|
90
|
+
const dim = chalk.dim;
|
|
91
|
+
const press = dim(" › Press ");
|
|
92
|
+
[
|
|
93
|
+
["r", "reload the app"],
|
|
94
|
+
["d", "open developer menu"],
|
|
95
|
+
["a", "show bundler address QR code"],
|
|
96
|
+
["ctrl-c", "quit"],
|
|
97
|
+
].forEach(([key, description]) => {
|
|
98
|
+
terminal.log(press + key + dim(` to ${description}.`));
|
|
99
|
+
});
|
|
99
100
|
}
|
|
100
101
|
},
|
|
101
102
|
};
|
|
@@ -199,14 +200,31 @@ export async function rnxStart(
|
|
|
199
200
|
process.emit("SIGTSTP", "SIGTSTP");
|
|
200
201
|
break;
|
|
201
202
|
}
|
|
202
|
-
} else if (name === "r") {
|
|
203
|
-
terminal.log(chalk.green("Reloading app..."));
|
|
204
|
-
messageSocket.broadcast("reload", undefined);
|
|
205
|
-
} else if (name === "d") {
|
|
206
|
-
terminal.log(chalk.green("Opening developer menu..."));
|
|
207
|
-
messageSocket.broadcast("devMenu", undefined);
|
|
208
203
|
} else {
|
|
209
|
-
|
|
204
|
+
switch (name) {
|
|
205
|
+
case "a": {
|
|
206
|
+
const protocol = cliOptions.https ? "https" : "http";
|
|
207
|
+
const host = cliOptions.host || os.hostname();
|
|
208
|
+
const port = metroConfig.server.port;
|
|
209
|
+
const url = `${protocol}://${host}:${port}/index.bundle`;
|
|
210
|
+
qrcode.toString(url, { type: "terminal" }, (_err, qr) => {
|
|
211
|
+
terminal.log("");
|
|
212
|
+
terminal.log(url + ":");
|
|
213
|
+
terminal.log(qr);
|
|
214
|
+
});
|
|
215
|
+
break;
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
case "d":
|
|
219
|
+
terminal.log(chalk.green("Opening developer menu..."));
|
|
220
|
+
messageSocket.broadcast("devMenu", undefined);
|
|
221
|
+
break;
|
|
222
|
+
|
|
223
|
+
case "r":
|
|
224
|
+
terminal.log(chalk.green("Reloading app..."));
|
|
225
|
+
messageSocket.broadcast("reload", undefined);
|
|
226
|
+
break;
|
|
227
|
+
}
|
|
210
228
|
}
|
|
211
229
|
});
|
|
212
230
|
}
|
|
@@ -106,6 +106,18 @@ export function createProjectCache(
|
|
|
106
106
|
// Load the TypeScript configuration file for this project.
|
|
107
107
|
const cmdLine = readTSConfig(root);
|
|
108
108
|
|
|
109
|
+
// Trim down the list of source files found by TypeScript. This ensures
|
|
110
|
+
// that only explicitly added files are loaded and parsed by TypeScript.
|
|
111
|
+
// This is a perf optimization. We don't want to spend cycles on files
|
|
112
|
+
// that won't be used, such as *.android.ts when bundling for ios.
|
|
113
|
+
//
|
|
114
|
+
// The exception to this rule are .d.ts files. They hold global types,
|
|
115
|
+
// modules and namespaces, and having them in the project is the only
|
|
116
|
+
// way they can be loaded.
|
|
117
|
+
|
|
118
|
+
const tssourceFiles = new Set(cmdLine.fileNames);
|
|
119
|
+
cmdLine.fileNames = cmdLine.fileNames.filter((f) => f.endsWith(".d.ts"));
|
|
120
|
+
|
|
109
121
|
// Create a TypeScript project using the configuration file. Enhance the
|
|
110
122
|
// underlying TS language service with our react-native module resolver.
|
|
111
123
|
const enhanceLanguageServiceHost = (host: ts.LanguageServiceHost): void => {
|
|
@@ -130,14 +142,6 @@ export function createProjectCache(
|
|
|
130
142
|
enhanceLanguageServiceHost
|
|
131
143
|
);
|
|
132
144
|
|
|
133
|
-
// Store TypeScript's source file list for this project. We'll use it later
|
|
134
|
-
// to filter files from Metro's file graph. We only want to check files that
|
|
135
|
-
// TypeScript considers to be source code, and not transpiled output.
|
|
136
|
-
const tssourceFiles = new Set(cmdLine.fileNames);
|
|
137
|
-
|
|
138
|
-
// Start with an empty project
|
|
139
|
-
tsproject.removeAllFiles();
|
|
140
|
-
|
|
141
145
|
return {
|
|
142
146
|
tsproject,
|
|
143
147
|
tssourceFiles,
|