1 | "use strict";
|
2 |
|
3 | Object.defineProperty(exports, "__esModule", {
|
4 | value: true
|
5 | });
|
6 | exports.default = void 0;
|
7 |
|
8 | function _readline() {
|
9 | const data = _interopRequireDefault(require("readline"));
|
10 |
|
11 | _readline = function () {
|
12 | return data;
|
13 | };
|
14 |
|
15 | return data;
|
16 | }
|
17 |
|
18 | var _hookStdout = _interopRequireDefault(require("../../tools/hookStdout"));
|
19 |
|
20 | function _cliTools() {
|
21 | const data = require("@react-native-community/cli-tools");
|
22 |
|
23 | _cliTools = function () {
|
24 | return data;
|
25 | };
|
26 |
|
27 | return data;
|
28 | }
|
29 |
|
30 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
31 |
|
32 | function printWatchModeInstructions() {
|
33 | _cliTools().logger.log('\n\nTo reload the app press "r"\nTo open developer menu press "d"');
|
34 | }
|
35 |
|
36 | function enableWatchMode(messageSocket) {
|
37 |
|
38 |
|
39 |
|
40 | if (!process.stdin.setRawMode) {
|
41 | _cliTools().logger.debug('Watch mode is not supported in this environment');
|
42 |
|
43 | return;
|
44 | }
|
45 |
|
46 | _readline().default.emitKeypressEvents(process.stdin);
|
47 |
|
48 | process.stdin.setRawMode(true);
|
49 |
|
50 |
|
51 |
|
52 | const restore = (0, _hookStdout.default)(output => {
|
53 | if (output.includes('Fast - Scalable - Integrated')) {
|
54 | printWatchModeInstructions();
|
55 | restore();
|
56 | }
|
57 | });
|
58 | process.stdin.on('keypress', (_key, data) => {
|
59 | const {
|
60 | ctrl,
|
61 | name
|
62 | } = data;
|
63 |
|
64 | if (ctrl === true) {
|
65 | switch (name) {
|
66 | case 'c':
|
67 | process.exit();
|
68 | break;
|
69 |
|
70 | case 'z':
|
71 | process.emit('SIGTSTP', 'SIGTSTP');
|
72 | break;
|
73 | }
|
74 | } else if (name === 'r') {
|
75 | messageSocket.broadcast('reload', null);
|
76 |
|
77 | _cliTools().logger.info('Reloading app...');
|
78 | } else if (name === 'd') {
|
79 | messageSocket.broadcast('devMenu', null);
|
80 |
|
81 | _cliTools().logger.info('Opening developer menu...');
|
82 | }
|
83 | });
|
84 | }
|
85 |
|
86 | var _default = enableWatchMode;
|
87 | exports.default = _default;
|
88 |
|
89 |
|
\ | No newline at end of file |