@zeppos/zeus-cli 1.6.7-beta2 → 1.6.7-beta4

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/bin/main.js CHANGED
@@ -50,7 +50,7 @@ var pre_check_1 = require("../utils/pre-check");
50
50
  var index_1 = require("../index");
51
51
  var zeppos_app_utils_1 = require("zeppos-app-utils");
52
52
  var tools_1 = require("../utils/tools");
53
- var login = zeppos_app_utils_1.modules.login, logout = zeppos_app_utils_1.modules.logout, status = zeppos_app_utils_1.modules.status, modulesConfig = zeppos_app_utils_1.modules.config, fetchDevices = zeppos_app_utils_1.modules.fetchDevices;
53
+ var login = zeppos_app_utils_1.modules.login, logout = zeppos_app_utils_1.modules.logout, status = zeppos_app_utils_1.modules.status, modulesConfig = zeppos_app_utils_1.modules.config, devicesData = zeppos_app_utils_1.modules.fetchDevices;
54
54
  var context = {};
55
55
  var yargsCmdBuilderFunc = function (cmdName, useProxy, yargs) {
56
56
  if (useProxy === void 0) { useProxy = false; }
@@ -59,6 +59,17 @@ var yargsCmdBuilderFunc = function (cmdName, useProxy, yargs) {
59
59
  return index_1.yargsCmdBuilders[cmdName](yargs);
60
60
  }
61
61
  };
62
+ var fetchDevices = function () { return __awaiter(void 0, void 0, void 0, function () {
63
+ var zeusVer;
64
+ return __generator(this, function (_a) {
65
+ switch (_a.label) {
66
+ case 0:
67
+ zeusVer = (0, index_1.zeusCurrentVersion)();
68
+ return [4, devicesData(zeusVer)];
69
+ case 1: return [2, _a.sent()];
70
+ }
71
+ });
72
+ }); };
62
73
  var proxy = function (args) { return __awaiter(void 0, void 0, void 0, function () {
63
74
  var res;
64
75
  return __generator(this, function (_a) {
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  var _a;
3
3
  exports.__esModule = true;
4
- exports.version = void 0;
4
+ exports.zeusCurrentVersion = exports.version = void 0;
5
5
  var node_child_process_1 = require("node:child_process");
6
6
  var appUtilPkg = require('zeppos-app-utils/package.json');
7
7
  var zeusVersion = require('../package.json').version;
@@ -34,3 +34,7 @@ function version() {
34
34
  ].join('\n');
35
35
  }
36
36
  exports.version = version;
37
+ function zeusCurrentVersion() {
38
+ return zeusVersion;
39
+ }
40
+ exports.zeusCurrentVersion = zeusCurrentVersion;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zeppos/zeus-cli",
3
- "version": "1.6.7-beta2",
3
+ "version": "1.6.7-beta4",
4
4
  "description": "zeus mini-program tools",
5
5
  "main": "index.ts",
6
6
  "author": "zepp",
@@ -16,48 +16,50 @@
16
16
  "clean": "rm -rf node_modules && rm -rf dist"
17
17
  },
18
18
  "dependencies": {
19
- "dayjs": "^1.11.5",
19
+ "dayjs": "^1.11.13",
20
20
  "package-json": "^7.0.0",
21
21
  "qrcode-terminal": "^0.12.0",
22
22
  "vorpal": "^1.12.0",
23
- "yargs": "^17.5.1",
24
- "@zeppos/zpm": "^3.1.13-beta1",
25
- "axios": "^0.27.2",
23
+ "yargs": "^17.7.2",
24
+ "@zeppos/zpm": "^3.1.13-beta2",
25
+ "axios": "^1.7.7",
26
26
  "chalk": "^4.1.2",
27
- "chokidar": "^3.5.3",
28
- "dotenv": "^16.0.1",
27
+ "chokidar": "^3.6.0",
28
+ "define-lazy-prop": "^2.0.0",
29
+ "dotenv": "^16.4.5",
29
30
  "findup-sync": "^5.0.0",
30
31
  "form-data": "^4.0.1",
31
32
  "fs-extra": "^10.1.0",
32
33
  "get-port": "5.1.1",
33
- "inquirer": "^8.1.2",
34
+ "inquirer": "^8.2.6",
35
+ "is-docker": "^2.1.1",
36
+ "is-wsl": "^2.2.0",
34
37
  "lodash": "^4.17.21",
35
- "open": "^8.4.0",
36
38
  "parse-gitignore": "^2.0.0",
37
- "qs": "^6.11.0",
39
+ "qs": "^6.13.1",
38
40
  "rd": "^2.0.1",
39
41
  "shelljs": "^0.8.5",
40
- "socket.io-client": "^4.5.1",
42
+ "socket.io-client": "^4.8.1",
41
43
  "stoppable": "^1.1.0",
42
44
  "tweetnacl": "^1.0.3",
43
45
  "tweetnacl-util": "^0.15.1",
44
46
  "update-notifier": "5.1.0",
45
47
  "uuid": "^8.3.2",
46
- "ws": "^8.8.0",
47
- "yargs-parser": "^20.2.0",
48
- "yeoman-environment": "^3.9.1",
48
+ "ws": "^8.18.0",
49
+ "yargs-parser": "^20.2.9",
50
+ "yeoman-environment": "^3.19.3",
49
51
  "module-alias": "^2.2.2"
50
52
  },
51
53
  "devDependencies": {
52
- "@types/qrcode-terminal": "^0.12.0",
53
- "@types/yargs": "^17.0.10",
54
- "@types/findup-sync": "^4.0.2",
54
+ "@types/qrcode-terminal": "^0.12.2",
55
+ "@types/yargs": "^17.0.33",
56
+ "@types/findup-sync": "^4.0.5",
55
57
  "@types/fs-extra": "^9.0.13",
56
- "@types/parse-gitignore": "^1.0.0",
57
- "@types/stoppable": "^1.1.1",
58
+ "@types/parse-gitignore": "^1.0.2",
59
+ "@types/stoppable": "^1.1.3",
58
60
  "@types/update-notifier": "5.0.0",
59
- "@types/yargs-parser": "^21.0.0",
60
- "@types/yeoman-environment": "^2.10.7",
61
+ "@types/yargs-parser": "^21.0.3",
62
+ "@types/yeoman-environment": "^2.10.11",
61
63
  "rimraf": "^3.0.2"
62
64
  },
63
65
  "_moduleAliases": {
@@ -34,8 +34,8 @@ var getLoginURL = {
34
34
  test: 'https://user-testing.zepp.com/universalLogin/index.html#/login'
35
35
  };
36
36
  var getAnalyticsHost = {
37
- production: 'https://api-analytics.huami.com',
38
- test: 'https://api-analytics-test.huami.com'
37
+ production: 'https://api-analytics.zepp.com',
38
+ test: 'https://api-analytics-test.zepp.com'
39
39
  };
40
40
  exports.zeppFontIcon = [
41
41
  '',
@@ -1,27 +1,4 @@
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
- };
25
2
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
3
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
4
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -64,14 +41,17 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
64
41
  exports.__esModule = true;
65
42
  exports.fetchDevices = exports.DeviceScreenType = void 0;
66
43
  var axios_1 = __importDefault(require("axios"));
67
- var os = __importStar(require("os"));
68
- var path = __importStar(require("path"));
69
- var fs = __importStar(require("fs"));
44
+ var os_1 = __importDefault(require("os"));
45
+ var path_1 = __importDefault(require("path"));
46
+ var fs_1 = __importDefault(require("fs"));
70
47
  var fs_extra_1 = __importDefault(require("fs-extra"));
71
48
  var lodash_1 = require("lodash");
72
49
  var config_1 = require("../config");
50
+ var logger_1 = require("../logger");
51
+ var chalk_1 = __importDefault(require("chalk"));
73
52
  var accountEnv = (0, config_1.getLocalConfig)().account_env;
74
- var LOCAL_CACHE_DEVICE_PATH = path.resolve(os.homedir(), ".zepp/.zeus_devices");
53
+ var dayMS = 24 * 60 * 60 * 1000;
54
+ var LOCAL_CACHE_DEVICE_PATH = path_1["default"].resolve(os_1["default"].homedir(), ".zepp/.zeus_devices");
75
55
  var serverPath = 'https://upload-cdn.zepp.com/zeppos/devkit/zeus/devices.json';
76
56
  var serverPathBeta = 'https://upload-cdn.zepp.com/zeppos/devkit/zeus/devices.beta1.json';
77
57
  var DeviceScreenType;
@@ -102,40 +82,50 @@ var fetchDevicesData = function (cdnUrl) {
102
82
  });
103
83
  });
104
84
  };
105
- var fetchDevices = function () { return __awaiter(void 0, void 0, void 0, function () {
106
- var localContent, now, prodDevices, betaDevices;
107
- return __generator(this, function (_a) {
108
- switch (_a.label) {
109
- case 0:
110
- localContent = {};
111
- if (fs.existsSync(LOCAL_CACHE_DEVICE_PATH)) {
112
- try {
113
- localContent = fs_extra_1["default"].readJsonSync(LOCAL_CACHE_DEVICE_PATH);
85
+ var fetchDevices = function (currentVersion) {
86
+ if (currentVersion === void 0) { currentVersion = ''; }
87
+ return __awaiter(void 0, void 0, void 0, function () {
88
+ var localContent, generatedVersion, now, prodDevices, betaDevices;
89
+ return __generator(this, function (_a) {
90
+ switch (_a.label) {
91
+ case 0:
92
+ localContent = {};
93
+ if (fs_1["default"].existsSync(LOCAL_CACHE_DEVICE_PATH)) {
94
+ try {
95
+ localContent = fs_extra_1["default"].readJsonSync(LOCAL_CACHE_DEVICE_PATH);
96
+ }
97
+ catch (_e) { }
114
98
  }
115
- catch (_e) { }
116
- }
117
- now = Date.now().valueOf();
118
- if (!!((0, lodash_1.get)(localContent, 'expiredTime') > now)) return [3, 3];
119
- return [4, fetchDevicesData(serverPath)];
120
- case 1:
121
- prodDevices = _a.sent();
122
- return [4, fetchDevicesData(serverPathBeta)];
123
- case 2:
124
- betaDevices = _a.sent();
125
- if (!(0, lodash_1.isEmpty)(prodDevices) || !(0, lodash_1.isEmpty)(betaDevices)) {
126
- fs_extra_1["default"].writeJsonSync(LOCAL_CACHE_DEVICE_PATH, {
127
- devices: prodDevices,
128
- devices_beta: betaDevices,
129
- expiredTime: now + 2 * 60 * 60 * 1000
130
- });
131
- }
132
- else {
133
- return [2, {}];
134
- }
135
- return [3, 4];
136
- case 3: return [2, {}];
137
- case 4: return [2];
138
- }
99
+ generatedVersion = (0, lodash_1.get)(localContent, 'version') || '';
100
+ if (generatedVersion === '' || generatedVersion !== currentVersion) {
101
+ fs_extra_1["default"].removeSync(LOCAL_CACHE_DEVICE_PATH);
102
+ localContent = {};
103
+ }
104
+ now = Date.now().valueOf();
105
+ if (!!((0, lodash_1.get)(localContent, 'expiredTime') > now)) return [3, 3];
106
+ logger_1.logger.log(chalk_1["default"].hex('#DB8C41')('Updating devices, waiting ...'));
107
+ return [4, fetchDevicesData(serverPath)];
108
+ case 1:
109
+ prodDevices = _a.sent();
110
+ return [4, fetchDevicesData(serverPathBeta)];
111
+ case 2:
112
+ betaDevices = _a.sent();
113
+ if (!(0, lodash_1.isEmpty)(prodDevices) || !(0, lodash_1.isEmpty)(betaDevices)) {
114
+ fs_extra_1["default"].writeJsonSync(LOCAL_CACHE_DEVICE_PATH, {
115
+ devices: prodDevices,
116
+ devices_beta: betaDevices,
117
+ expiredTime: now + 3 * dayMS,
118
+ version: currentVersion
119
+ });
120
+ }
121
+ else {
122
+ return [2, {}];
123
+ }
124
+ return [3, 4];
125
+ case 3: return [2, {}];
126
+ case 4: return [2];
127
+ }
128
+ });
139
129
  });
140
- }); };
130
+ };
141
131
  exports.fetchDevices = fetchDevices;
@@ -40,7 +40,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
40
40
  };
41
41
  exports.__esModule = true;
42
42
  exports.logout = exports.login = void 0;
43
- var open_1 = __importDefault(require("open"));
43
+ var open_1 = __importDefault(require("./open"));
44
44
  var http_1 = __importDefault(require("http"));
45
45
  var url_1 = __importDefault(require("url"));
46
46
  var qs_1 = __importDefault(require("qs"));
@@ -0,0 +1,355 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
14
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
15
+ return new (P || (P = Promise))(function (resolve, reject) {
16
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
17
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
18
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
19
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
20
+ });
21
+ };
22
+ var __generator = (this && this.__generator) || function (thisArg, body) {
23
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
24
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
25
+ function verb(n) { return function (v) { return step([n, v]); }; }
26
+ function step(op) {
27
+ if (f) throw new TypeError("Generator is already executing.");
28
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
29
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
30
+ if (y = 0, t) op = [op[0] & 2, t.value];
31
+ switch (op[0]) {
32
+ case 0: case 1: t = op; break;
33
+ case 4: _.label++; return { value: op[1], done: false };
34
+ case 5: _.label++; y = op[1]; op = [0]; continue;
35
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
36
+ default:
37
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
38
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
39
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
40
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
41
+ if (t[2]) _.ops.pop();
42
+ _.trys.pop(); continue;
43
+ }
44
+ op = body.call(thisArg, _);
45
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
46
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
47
+ }
48
+ };
49
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
50
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
51
+ if (ar || !(i in from)) {
52
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
53
+ ar[i] = from[i];
54
+ }
55
+ }
56
+ return to.concat(ar || Array.prototype.slice.call(from));
57
+ };
58
+ var __importDefault = (this && this.__importDefault) || function (mod) {
59
+ return (mod && mod.__esModule) ? mod : { "default": mod };
60
+ };
61
+ exports.__esModule = true;
62
+ var path_1 = __importDefault(require("path"));
63
+ var child_process_1 = __importDefault(require("child_process"));
64
+ var fs_1 = require("fs");
65
+ var is_wsl_1 = __importDefault(require("is-wsl"));
66
+ var is_docker_1 = __importDefault(require("is-docker"));
67
+ var define_lazy_prop_1 = __importDefault(require("define-lazy-prop"));
68
+ var localXdgOpenPath = path_1["default"].join(__dirname, 'xdg-open');
69
+ var platform = process.platform, arch = process.arch;
70
+ var hasContainerEnv = function () { return __awaiter(void 0, void 0, void 0, function () {
71
+ var _a;
72
+ return __generator(this, function (_b) {
73
+ switch (_b.label) {
74
+ case 0:
75
+ _b.trys.push([0, 2, , 3]);
76
+ return [4, fs_1.promises.stat('/run/.containerenv')];
77
+ case 1:
78
+ _b.sent();
79
+ return [2, true];
80
+ case 2:
81
+ _a = _b.sent();
82
+ return [2, false];
83
+ case 3: return [2];
84
+ }
85
+ });
86
+ }); };
87
+ var cachedResult;
88
+ function isInsideContainer() {
89
+ if (cachedResult === undefined) {
90
+ cachedResult = hasContainerEnv() || (0, is_docker_1["default"])();
91
+ }
92
+ return cachedResult;
93
+ }
94
+ var getWslDrivesMountPoint = (function () {
95
+ var defaultMountPoint = '/mnt/';
96
+ var mountPoint;
97
+ return function () {
98
+ var _a;
99
+ return __awaiter(this, void 0, void 0, function () {
100
+ var configFilePath, isConfigFileExists, _b, configContent, configMountPoint;
101
+ return __generator(this, function (_c) {
102
+ switch (_c.label) {
103
+ case 0:
104
+ if (mountPoint) {
105
+ return [2, mountPoint];
106
+ }
107
+ configFilePath = '/etc/wsl.conf';
108
+ isConfigFileExists = false;
109
+ _c.label = 1;
110
+ case 1:
111
+ _c.trys.push([1, 3, , 4]);
112
+ return [4, fs_1.promises.access(configFilePath, fs_1.constants.F_OK)];
113
+ case 2:
114
+ _c.sent();
115
+ isConfigFileExists = true;
116
+ return [3, 4];
117
+ case 3:
118
+ _b = _c.sent();
119
+ return [3, 4];
120
+ case 4:
121
+ if (!isConfigFileExists) {
122
+ return [2, defaultMountPoint];
123
+ }
124
+ return [4, fs_1.promises.readFile(configFilePath, { encoding: 'utf8' })];
125
+ case 5:
126
+ configContent = _c.sent();
127
+ configMountPoint = /(?<!#.*)root\s*=\s*(?<mountPoint>.*)/g.exec(configContent);
128
+ if (!configMountPoint) {
129
+ return [2, defaultMountPoint];
130
+ }
131
+ mountPoint = (_a = configMountPoint.groups) === null || _a === void 0 ? void 0 : _a.mountPoint.trim();
132
+ mountPoint = (mountPoint === null || mountPoint === void 0 ? void 0 : mountPoint.endsWith('/')) ? mountPoint : "".concat(mountPoint, "/");
133
+ return [2, mountPoint];
134
+ }
135
+ });
136
+ });
137
+ };
138
+ })();
139
+ var pTryEach = function (array, mapper) { return __awaiter(void 0, void 0, void 0, function () {
140
+ var latestError, _i, array_1, item, error_1;
141
+ return __generator(this, function (_a) {
142
+ switch (_a.label) {
143
+ case 0:
144
+ _i = 0, array_1 = array;
145
+ _a.label = 1;
146
+ case 1:
147
+ if (!(_i < array_1.length)) return [3, 6];
148
+ item = array_1[_i];
149
+ _a.label = 2;
150
+ case 2:
151
+ _a.trys.push([2, 4, , 5]);
152
+ return [4, mapper(item)];
153
+ case 3: return [2, _a.sent()];
154
+ case 4:
155
+ error_1 = _a.sent();
156
+ latestError = error_1;
157
+ return [3, 5];
158
+ case 5:
159
+ _i++;
160
+ return [3, 1];
161
+ case 6: throw latestError;
162
+ }
163
+ });
164
+ }); };
165
+ var baseOpen = function (options) { return __awaiter(void 0, void 0, void 0, function () {
166
+ var _a, app, _b, appArguments, command, cliArguments, childProcessOptions, mountPoint, encodedArguments, isBundled, exeLocalXdgOpen, _c, useSystemXdgOpen, subprocess;
167
+ return __generator(this, function (_d) {
168
+ switch (_d.label) {
169
+ case 0:
170
+ options = __assign({ wait: false, background: false, newInstance: false, allowNonzeroExitCode: false }, options);
171
+ if (Array.isArray(options.app)) {
172
+ return [2, pTryEach(options.app, function (singleApp) { return baseOpen(__assign(__assign({}, options), { app: singleApp })); })];
173
+ }
174
+ _a = options.app || {}, app = _a.name, _b = _a.arguments, appArguments = _b === void 0 ? [] : _b;
175
+ appArguments = __spreadArray([], appArguments, true);
176
+ if (Array.isArray(app)) {
177
+ return [2, pTryEach(app, function (appName) { return baseOpen(__assign(__assign({}, options), { app: {
178
+ name: appName,
179
+ arguments: appArguments
180
+ } })); })];
181
+ }
182
+ cliArguments = [];
183
+ childProcessOptions = {};
184
+ if (!(platform === 'darwin')) return [3, 1];
185
+ command = 'open';
186
+ if (options.wait) {
187
+ cliArguments.push('--wait-apps');
188
+ }
189
+ if (options.background) {
190
+ cliArguments.push('--background');
191
+ }
192
+ if (options.newInstance) {
193
+ cliArguments.push('--new');
194
+ }
195
+ if (app) {
196
+ cliArguments.push('-a', app);
197
+ }
198
+ return [3, 10];
199
+ case 1:
200
+ if (!(platform === 'win32' || (is_wsl_1["default"] && !isInsideContainer() && !app))) return [3, 3];
201
+ return [4, getWslDrivesMountPoint()];
202
+ case 2:
203
+ mountPoint = _d.sent();
204
+ command = is_wsl_1["default"] ?
205
+ "".concat(mountPoint, "c/Windows/System32/WindowsPowerShell/v1.0/powershell.exe") :
206
+ "".concat(process.env.SYSTEMROOT, "\\System32\\WindowsPowerShell\\v1.0\\powershell");
207
+ cliArguments.push('-NoProfile', '-NonInteractive', '–ExecutionPolicy', 'Bypass', '-EncodedCommand');
208
+ if (!is_wsl_1["default"]) {
209
+ childProcessOptions.windowsVerbatimArguments = true;
210
+ }
211
+ encodedArguments = ['Start'];
212
+ if (options.wait) {
213
+ encodedArguments.push('-Wait');
214
+ }
215
+ if (app) {
216
+ encodedArguments.push("\"`\"".concat(app, "`\"\""), '-ArgumentList');
217
+ if (options.target) {
218
+ appArguments.unshift(options.target);
219
+ }
220
+ }
221
+ else if (options.target) {
222
+ encodedArguments.push("\"".concat(options.target, "\""));
223
+ }
224
+ if (appArguments.length > 0) {
225
+ appArguments = appArguments.map(function (arg) { return "\"`\"".concat(arg, "`\"\""); });
226
+ encodedArguments.push(appArguments.join(','));
227
+ }
228
+ options.target = Buffer.from(encodedArguments.join(' '), 'utf16le').toString('base64');
229
+ return [3, 10];
230
+ case 3:
231
+ if (!app) return [3, 4];
232
+ command = app;
233
+ return [3, 9];
234
+ case 4:
235
+ isBundled = !__dirname || __dirname === '/';
236
+ exeLocalXdgOpen = false;
237
+ _d.label = 5;
238
+ case 5:
239
+ _d.trys.push([5, 7, , 8]);
240
+ return [4, fs_1.promises.access(localXdgOpenPath, fs_1.constants.X_OK)];
241
+ case 6:
242
+ _d.sent();
243
+ exeLocalXdgOpen = true;
244
+ return [3, 8];
245
+ case 7:
246
+ _c = _d.sent();
247
+ return [3, 8];
248
+ case 8:
249
+ useSystemXdgOpen = process.versions.electron ||
250
+ platform === 'android' || isBundled || !exeLocalXdgOpen;
251
+ command = useSystemXdgOpen ? 'xdg-open' : localXdgOpenPath;
252
+ _d.label = 9;
253
+ case 9:
254
+ if (appArguments.length > 0) {
255
+ cliArguments.push.apply(cliArguments, appArguments);
256
+ }
257
+ if (!options.wait) {
258
+ childProcessOptions.stdio = 'ignore';
259
+ childProcessOptions.detached = true;
260
+ }
261
+ _d.label = 10;
262
+ case 10:
263
+ if (options.target) {
264
+ cliArguments.push(options.target);
265
+ }
266
+ if (platform === 'darwin' && appArguments.length > 0) {
267
+ cliArguments.push.apply(cliArguments, __spreadArray(['--args'], appArguments, false));
268
+ }
269
+ subprocess = child_process_1["default"].spawn(command, cliArguments, childProcessOptions);
270
+ if (options.wait) {
271
+ return [2, new Promise(function (resolve, reject) {
272
+ subprocess.once('error', reject);
273
+ subprocess.once('close', function (exitCode) {
274
+ if (!options.allowNonzeroExitCode && exitCode > 0) {
275
+ reject(new Error("Exited with code ".concat(exitCode)));
276
+ return;
277
+ }
278
+ resolve(subprocess);
279
+ });
280
+ })];
281
+ }
282
+ subprocess.unref();
283
+ return [2, subprocess];
284
+ }
285
+ });
286
+ }); };
287
+ var open = function (target, options) {
288
+ if (options === void 0) { options = {}; }
289
+ if (typeof target !== 'string') {
290
+ throw new TypeError('Expected a `target`');
291
+ }
292
+ return baseOpen(__assign(__assign({}, options), { target: target }));
293
+ };
294
+ var openApp = function (name, options) {
295
+ if (typeof name !== 'string') {
296
+ throw new TypeError('Expected a `name`');
297
+ }
298
+ var _a = (options || {}).arguments, appArguments = _a === void 0 ? [] : _a;
299
+ if (appArguments !== undefined && appArguments !== null && !Array.isArray(appArguments)) {
300
+ throw new TypeError('Expected `appArguments` as Array type');
301
+ }
302
+ return baseOpen(__assign(__assign({}, options), { app: {
303
+ name: name,
304
+ arguments: appArguments
305
+ } }));
306
+ };
307
+ function detectArchBinary(binary) {
308
+ if (typeof binary === 'string' || Array.isArray(binary)) {
309
+ return binary;
310
+ }
311
+ var _a = binary, _b = arch, archBinary = _a[_b];
312
+ if (!archBinary) {
313
+ throw new Error("".concat(arch, " is not supported"));
314
+ }
315
+ return archBinary;
316
+ }
317
+ function detectPlatformBinary(_a, _b) {
318
+ var _c = platform, platformBinary = _a[_c];
319
+ var wsl = _b.wsl;
320
+ if (wsl && is_wsl_1["default"]) {
321
+ return detectArchBinary(wsl);
322
+ }
323
+ if (!platformBinary) {
324
+ throw new Error("".concat(platform, " is not supported"));
325
+ }
326
+ return detectArchBinary(platformBinary);
327
+ }
328
+ var apps = {};
329
+ (0, define_lazy_prop_1["default"])(apps, 'chrome', function () { return detectPlatformBinary({
330
+ darwin: 'google chrome',
331
+ win32: 'chrome',
332
+ linux: ['google-chrome', 'google-chrome-stable', 'chromium']
333
+ }, {
334
+ wsl: {
335
+ ia32: '/mnt/c/Program Files (x86)/Google/Chrome/Application/chrome.exe',
336
+ x64: ['/mnt/c/Program Files/Google/Chrome/Application/chrome.exe', '/mnt/c/Program Files (x86)/Google/Chrome/Application/chrome.exe']
337
+ }
338
+ }); });
339
+ (0, define_lazy_prop_1["default"])(apps, 'firefox', function () { return detectPlatformBinary({
340
+ darwin: 'firefox',
341
+ win32: 'C:\\Program Files\\Mozilla Firefox\\firefox.exe',
342
+ linux: 'firefox'
343
+ }, {
344
+ wsl: '/mnt/c/Program Files/Mozilla Firefox/firefox.exe'
345
+ }); });
346
+ (0, define_lazy_prop_1["default"])(apps, 'edge', function () { return detectPlatformBinary({
347
+ darwin: 'microsoft edge',
348
+ win32: 'msedge',
349
+ linux: ['microsoft-edge', 'microsoft-edge-dev']
350
+ }, {
351
+ wsl: '/mnt/c/Program Files (x86)/Microsoft/Edge/Application/msedge.exe'
352
+ }); });
353
+ open.apps = apps;
354
+ open.openApp = openApp;
355
+ exports["default"] = open;