UNPKG

@hippy/debug-server-next

Version:
66 lines (65 loc) 2.69 kB
"use strict"; /* * Tencent is pleased to support the open source community by making * Hippy available. * * Copyright (C) 2017-2019 THL A29 Limited, a Tencent company. * All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ Object.defineProperty(exports, "__esModule", { value: true }); exports.startAdbProxy = void 0; const tslib_1 = require("tslib"); const path_1 = tslib_1.__importDefault(require("path")); const os_1 = tslib_1.__importDefault(require("os")); const fs_1 = tslib_1.__importDefault(require("fs")); const process_1 = require("@debug-server-next/utils/process"); const enum_1 = require("@debug-server-next/@types/enum"); const log_1 = require("@debug-server-next/utils/log"); const config_1 = require("@debug-server-next/config"); let hmrPort; const log = new log_1.Logger('adb', enum_1.WinstonColor.Magenta); const startAdbProxy = async () => { if (!hmrPort) { try { const data = fs_1.default.readFileSync(config_1.config.hmrPortPath); hmrPort = data.toString(); } catch (e) { log.verbose('hmrPort file does not exist.'); } } const { port } = global.debugAppArgv || {}; const adbRelatePath = { [enum_1.OSType.Darwin]: '../build/mac/adb', [enum_1.OSType.Windows]: '../build/win/adb.exe', }[os_1.default.type()]; const adbPath = path_1.default.join(__dirname, adbRelatePath); try { if (port) await (0, process_1.exec)(adbPath, ['reverse', `tcp:${port}`, `tcp:${port}`]); if (hmrPort) await (0, process_1.exec)(adbPath, ['reverse', `tcp:${hmrPort}`, `tcp:${hmrPort}`]); } catch (e) { log.warn('Port reverse failed, For iOS app just ignore this message.'); log.warn(`Otherwise please check 'adb devices' command working correctly`); if (port) log.warn(`type 'adb reverse tcp:${port} tcp:${port}' retry!`); if (hmrPort) log.warn(`type 'adb reverse tcp:${hmrPort} tcp:${hmrPort}' retry!`); log.warn('start adb reverse error: %s', e === null || e === void 0 ? void 0 : e.stack); } }; exports.startAdbProxy = startAdbProxy;