@zeppos/zeus-cli 1.6.0 → 1.6.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.
- package/package.json +24 -22
- package/private-modules/zeppos-app-utils/dist/config/project.js +2 -2
- package/private-modules/zeppos-app-utils/dist/modules/build.js +26 -11
- package/private-modules/zeppos-app-utils/dist/modules/fetchDevices.js +10 -29
- package/private-modules/zeppos-app-utils/dist/modules/login.js +1 -1
- package/private-modules/zeppos-app-utils/dist/modules/open/index.js +355 -0
- package/private-modules/zeppos-app-utils/dist/modules/open/xdg-open +1069 -0
- package/private-modules/zeppos-app-utils/package.json +19 -17
- package/utils/pre-check.js +4 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zeppos/zeus-cli",
|
|
3
|
-
"version": "1.6.
|
|
3
|
+
"version": "1.6.2",
|
|
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.
|
|
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.
|
|
24
|
-
"@zeppos/
|
|
25
|
-
"
|
|
26
|
-
"axios": "^0.27.2",
|
|
23
|
+
"yargs": "^17.7.2",
|
|
24
|
+
"@zeppos/zpm": "^3.1.1",
|
|
25
|
+
"axios": "^1.7.7",
|
|
27
26
|
"chalk": "^4.1.2",
|
|
28
|
-
"chokidar": "^3.
|
|
29
|
-
"
|
|
27
|
+
"chokidar": "^3.6.0",
|
|
28
|
+
"define-lazy-prop": "^2.0.0",
|
|
29
|
+
"dotenv": "^16.4.5",
|
|
30
30
|
"findup-sync": "^5.0.0",
|
|
31
|
+
"form-data": "^4.0.1",
|
|
31
32
|
"fs-extra": "^10.1.0",
|
|
32
33
|
"get-port": "5.1.1",
|
|
33
|
-
"inquirer": "^8.
|
|
34
|
+
"inquirer": "^8.2.6",
|
|
35
|
+
"is-docker": "^2.2.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.
|
|
39
|
+
"qs": "^6.13.1",
|
|
38
40
|
"rd": "^2.0.1",
|
|
39
41
|
"shelljs": "^0.8.5",
|
|
40
|
-
"socket.io-client": "^4.
|
|
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.
|
|
47
|
-
"yargs-parser": "^20.2.
|
|
48
|
-
"yeoman-environment": "^3.
|
|
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.
|
|
53
|
-
"@types/yargs": "^17.0.
|
|
54
|
-
"@types/findup-sync": "^4.0.
|
|
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.
|
|
57
|
-
"@types/stoppable": "^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.
|
|
60
|
-
"@types/yeoman-environment": "^2.10.
|
|
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.
|
|
38
|
-
test: 'https://api-analytics-test.
|
|
37
|
+
production: 'https://api-analytics.zepp.com',
|
|
38
|
+
test: 'https://api-analytics-test.zepp.com'
|
|
39
39
|
};
|
|
40
40
|
exports.zeppFontIcon = [
|
|
41
41
|
'',
|
|
@@ -1,4 +1,15 @@
|
|
|
1
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
|
+
};
|
|
2
13
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
14
|
if (k2 === undefined) k2 = k;
|
|
4
15
|
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
@@ -68,7 +79,7 @@ var rd = __importStar(require("rd"));
|
|
|
68
79
|
var fs_1 = __importDefault(require("fs"));
|
|
69
80
|
var path = __importStar(require("path"));
|
|
70
81
|
var fs_extra_1 = __importDefault(require("fs-extra"));
|
|
71
|
-
var form_data_1 = __importDefault(require("
|
|
82
|
+
var form_data_1 = __importDefault(require("form-data"));
|
|
72
83
|
var index_1 = require("../index");
|
|
73
84
|
var lodash_1 = require("lodash");
|
|
74
85
|
var lodash_2 = require("lodash");
|
|
@@ -111,11 +122,15 @@ var buildSupportV3Config = function (workspace, mode, buildConfigOption) {
|
|
|
111
122
|
if (mode === void 0) { mode = BuildMode.PROD; }
|
|
112
123
|
if (buildConfigOption === void 0) { buildConfigOption = {}; }
|
|
113
124
|
return __awaiter(void 0, void 0, void 0, function () {
|
|
114
|
-
var _a,
|
|
115
|
-
return __generator(this, function (
|
|
116
|
-
switch (
|
|
125
|
+
var _a, sources_1, _b, targets, _c, sources, buildOptions, _d, js2c, _e, js2bin, _f, png2vg, _g, prune, _h, compress, _j, ip, zabName_1, distDir_1, name_1, newName_1, error_1;
|
|
126
|
+
return __generator(this, function (_k) {
|
|
127
|
+
switch (_k.label) {
|
|
117
128
|
case 0:
|
|
118
|
-
|
|
129
|
+
if (buildConfigOption.sources) {
|
|
130
|
+
_a = buildConfigOption.sources, sources_1 = _a === void 0 ? [] : _a;
|
|
131
|
+
buildConfigOption = __assign(__assign({}, buildConfigOption), { sources: Array.isArray(sources_1) ? sources_1 : [sources_1] });
|
|
132
|
+
}
|
|
133
|
+
_b = buildConfigOption.targets, targets = _b === void 0 ? [] : _b, _c = buildConfigOption.sources, sources = _c === void 0 ? [] : _c;
|
|
119
134
|
buildOptions = {
|
|
120
135
|
path: workspace,
|
|
121
136
|
buildMode: mode,
|
|
@@ -124,7 +139,7 @@ var buildSupportV3Config = function (workspace, mode, buildConfigOption) {
|
|
|
124
139
|
jsc: TransformType.Default
|
|
125
140
|
};
|
|
126
141
|
if ([BuildMode.PROD, BuildMode.PREVIEW].includes(mode)) {
|
|
127
|
-
|
|
142
|
+
_d = buildConfigOption || {}, js2c = _d.js2c, _e = _d.js2bin, js2bin = _e === void 0 ? true : _e, _f = _d.png2vg, png2vg = _f === void 0 ? true : _f, _g = _d.prune, prune = _g === void 0 ? true : _g, _h = _d.compress, compress = _h === void 0 ? true : _h, _j = _d.ip, ip = _j === void 0 ? BuildMode.PROD === mode : _j;
|
|
128
143
|
js2c = (0, tools_1.booleanString)(js2c);
|
|
129
144
|
js2bin = (0, tools_1.booleanString)(js2bin);
|
|
130
145
|
js2c && Object.assign(buildOptions, { jsc: TransformType.C });
|
|
@@ -136,9 +151,9 @@ var buildSupportV3Config = function (workspace, mode, buildConfigOption) {
|
|
|
136
151
|
ip: (0, tools_1.booleanString)(ip)
|
|
137
152
|
});
|
|
138
153
|
}
|
|
139
|
-
|
|
154
|
+
_k.label = 1;
|
|
140
155
|
case 1:
|
|
141
|
-
|
|
156
|
+
_k.trys.push([1, 6, , 7]);
|
|
142
157
|
if (targets.length) {
|
|
143
158
|
index_1.logger.info("Start building package, targets: ".concat(targets.join(', '), "."));
|
|
144
159
|
}
|
|
@@ -147,10 +162,10 @@ var buildSupportV3Config = function (workspace, mode, buildConfigOption) {
|
|
|
147
162
|
}
|
|
148
163
|
if (!(mode === BuildMode.DEV && (0, lodash_1.get)(buildConfigOption, '_[0]') !== 'install')) return [3, 3];
|
|
149
164
|
return [4, (0, zpm_1.startWithoutDist)(buildOptions)];
|
|
150
|
-
case 2: return [2,
|
|
165
|
+
case 2: return [2, _k.sent()];
|
|
151
166
|
case 3: return [4, (0, zpm_1.start)(buildOptions)];
|
|
152
167
|
case 4:
|
|
153
|
-
zabName_1 =
|
|
168
|
+
zabName_1 = _k.sent();
|
|
154
169
|
if (!zabName_1) {
|
|
155
170
|
index_1.logger.error("Build package error, the package name is ".concat(zabName_1));
|
|
156
171
|
process.exit(1);
|
|
@@ -174,7 +189,7 @@ var buildSupportV3Config = function (workspace, mode, buildConfigOption) {
|
|
|
174
189
|
return [2, zabName_1];
|
|
175
190
|
case 5: return [3, 7];
|
|
176
191
|
case 6:
|
|
177
|
-
error_1 =
|
|
192
|
+
error_1 = _k.sent();
|
|
178
193
|
index_1.logger.error(error_1);
|
|
179
194
|
return [3, 7];
|
|
180
195
|
case 7: return [2];
|
|
@@ -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
|
|
68
|
-
var
|
|
69
|
-
var
|
|
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
|
|
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 = accountEnv === 'test' ? 'https://upload-testing-cdn.huami.com/zeppos/devkit/zeus/devices.json' : 'https://upload-cdn.zepp.com/zeppos/devkit/zeus/devices.json';
|
|
76
56
|
var serverPathBeta = 'https://upload-cdn.zepp.com/zeppos/devkit/zeus/devices.beta.json';
|
|
77
57
|
var DeviceScreenType;
|
|
@@ -108,7 +88,7 @@ var fetchDevices = function () { return __awaiter(void 0, void 0, void 0, functi
|
|
|
108
88
|
switch (_a.label) {
|
|
109
89
|
case 0:
|
|
110
90
|
localContent = {};
|
|
111
|
-
if (
|
|
91
|
+
if (fs_1["default"].existsSync(LOCAL_CACHE_DEVICE_PATH)) {
|
|
112
92
|
try {
|
|
113
93
|
localContent = fs_extra_1["default"].readJsonSync(LOCAL_CACHE_DEVICE_PATH);
|
|
114
94
|
}
|
|
@@ -116,6 +96,7 @@ var fetchDevices = function () { return __awaiter(void 0, void 0, void 0, functi
|
|
|
116
96
|
}
|
|
117
97
|
now = Date.now().valueOf();
|
|
118
98
|
if (!!((0, lodash_1.get)(localContent, 'expiredTime') > now)) return [3, 3];
|
|
99
|
+
logger_1.logger.log(chalk_1["default"].hex('#DB8C41')('Updating devices, waiting ...'));
|
|
119
100
|
return [4, fetchDevicesData(serverPath)];
|
|
120
101
|
case 1:
|
|
121
102
|
prodDevices = _a.sent();
|
|
@@ -126,7 +107,7 @@ var fetchDevices = function () { return __awaiter(void 0, void 0, void 0, functi
|
|
|
126
107
|
fs_extra_1["default"].writeJsonSync(LOCAL_CACHE_DEVICE_PATH, {
|
|
127
108
|
devices: prodDevices,
|
|
128
109
|
devices_beta: betaDevices,
|
|
129
|
-
expiredTime: now +
|
|
110
|
+
expiredTime: now + 3 * dayMS
|
|
130
111
|
});
|
|
131
112
|
}
|
|
132
113
|
else {
|
|
@@ -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;
|