@appium/support 2.61.1 → 3.0.1
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/build/lib/console.d.ts +1 -1
- package/build/lib/console.js +169 -105
- package/build/lib/console.js.map +1 -1
- package/build/lib/env.d.ts.map +1 -1
- package/build/lib/env.js +144 -117
- package/build/lib/env.js.map +1 -1
- package/build/lib/fs.d.ts +9 -2
- package/build/lib/fs.d.ts.map +1 -1
- package/build/lib/fs.js +358 -246
- package/build/lib/fs.js.map +1 -1
- package/build/lib/image-util.js +139 -124
- package/build/lib/image-util.js.map +1 -1
- package/build/lib/index.js +64 -103
- package/build/lib/index.js.map +1 -1
- package/build/lib/log-internal.d.ts +4 -27
- package/build/lib/log-internal.d.ts.map +1 -1
- package/build/lib/log-internal.js +141 -123
- package/build/lib/log-internal.js.map +1 -1
- package/build/lib/logger.d.ts +1 -1
- package/build/lib/logger.d.ts.map +1 -1
- package/build/lib/logger.js +5 -14
- package/build/lib/logger.js.map +1 -1
- package/build/lib/logging.d.ts +3 -4
- package/build/lib/logging.d.ts.map +1 -1
- package/build/lib/logging.js +139 -110
- package/build/lib/logging.js.map +1 -1
- package/build/lib/mjpeg.js +169 -141
- package/build/lib/mjpeg.js.map +1 -1
- package/build/lib/mkdirp.js +7 -13
- package/build/lib/mkdirp.js.map +1 -1
- package/build/lib/net.d.ts.map +1 -1
- package/build/lib/net.js +278 -254
- package/build/lib/net.js.map +1 -1
- package/build/lib/node.js +203 -192
- package/build/lib/node.js.map +1 -1
- package/build/lib/npm.d.ts +19 -4
- package/build/lib/npm.d.ts.map +1 -1
- package/build/lib/npm.js +277 -228
- package/build/lib/npm.js.map +1 -1
- package/build/lib/plist.js +145 -136
- package/build/lib/plist.js.map +1 -1
- package/build/lib/process.js +41 -42
- package/build/lib/process.js.map +1 -1
- package/build/lib/system.js +39 -56
- package/build/lib/system.js.map +1 -1
- package/build/lib/tempdir.js +112 -73
- package/build/lib/tempdir.js.map +1 -1
- package/build/lib/timing.js +99 -84
- package/build/lib/timing.js.map +1 -1
- package/build/lib/util.js +454 -356
- package/build/lib/util.js.map +1 -1
- package/build/lib/zip.js +469 -423
- package/build/lib/zip.js.map +1 -1
- package/build/tsconfig.tsbuildinfo +1 -1
- package/lib/env.js +6 -4
- package/lib/fs.js +15 -1
- package/lib/log-internal.js +12 -16
- package/lib/logging.js +2 -3
- package/lib/net.js +15 -6
- package/lib/npm.js +28 -18
- package/package.json +20 -19
package/build/lib/plist.js
CHANGED
|
@@ -1,160 +1,169 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
});
|
|
6
|
-
exports.createBinaryPlist =
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
require("source-map-support/register");
|
|
14
|
-
|
|
15
|
-
var _plist = _interopRequireDefault(require("plist"));
|
|
16
|
-
|
|
17
|
-
var _bplistCreator = _interopRequireDefault(require("bplist-creator"));
|
|
18
|
-
|
|
19
|
-
var _bplistParser = _interopRequireDefault(require("bplist-parser"));
|
|
20
|
-
|
|
21
|
-
var _fs = _interopRequireDefault(require("./fs"));
|
|
22
|
-
|
|
23
|
-
var _logger = _interopRequireDefault(require("./logger"));
|
|
24
|
-
|
|
25
|
-
var _lodash = _interopRequireDefault(require("lodash"));
|
|
26
|
-
|
|
27
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
28
|
-
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.parseBinaryPlist = exports.createBinaryPlist = exports.updatePlistFile = exports.createPlist = exports.parsePlist = exports.parsePlistFile = void 0;
|
|
7
|
+
const plist_1 = __importDefault(require("plist"));
|
|
8
|
+
const bplist_creator_1 = __importDefault(require("bplist-creator"));
|
|
9
|
+
const bplist_parser_1 = __importDefault(require("bplist-parser"));
|
|
10
|
+
const fs_1 = __importDefault(require("./fs"));
|
|
11
|
+
const logger_1 = __importDefault(require("./logger"));
|
|
12
|
+
const lodash_1 = __importDefault(require("lodash"));
|
|
29
13
|
const BPLIST_IDENTIFIER = {
|
|
30
|
-
|
|
31
|
-
|
|
14
|
+
BUFFER: Buffer.from('bplist00'),
|
|
15
|
+
TEXT: 'bplist00',
|
|
32
16
|
};
|
|
33
17
|
const PLIST_IDENTIFIER = {
|
|
34
|
-
|
|
35
|
-
|
|
18
|
+
BUFFER: Buffer.from('<'),
|
|
19
|
+
TEXT: '<',
|
|
36
20
|
};
|
|
37
|
-
|
|
21
|
+
// XML Plist library helper
|
|
38
22
|
async function parseXmlPlistFile(plistFilename) {
|
|
39
|
-
|
|
40
|
-
|
|
23
|
+
let xmlContent = await fs_1.default.readFile(plistFilename, 'utf8');
|
|
24
|
+
return plist_1.default.parse(xmlContent);
|
|
41
25
|
}
|
|
42
|
-
|
|
26
|
+
/**
|
|
27
|
+
* Parses a file in xml or binary format of plist
|
|
28
|
+
* @param {string} plist The plist file path
|
|
29
|
+
* @param {boolean} mustExist If set to false, this method will return an empty object when the file doesn't exist
|
|
30
|
+
* @param {boolean} quiet If set to false, the plist path will be logged in debug level
|
|
31
|
+
* @returns {Promise<any>} parsed plist JS Object
|
|
32
|
+
*/
|
|
43
33
|
async function parsePlistFile(plist, mustExist = true, quiet = true) {
|
|
44
|
-
|
|
45
|
-
if (
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
try {
|
|
58
|
-
obj = await _bplistParser.default.parseFile(plist);
|
|
59
|
-
|
|
60
|
-
if (obj.length) {
|
|
61
|
-
obj = obj[0];
|
|
62
|
-
} else {
|
|
63
|
-
throw new Error(`Binary file '${plist}'' appears to be empty`);
|
|
64
|
-
}
|
|
65
|
-
} catch (ign) {
|
|
34
|
+
// handle nonexistant file
|
|
35
|
+
if (!(await fs_1.default.exists(plist))) {
|
|
36
|
+
if (mustExist) {
|
|
37
|
+
logger_1.default.errorAndThrow(`Plist file doesn't exist: '${plist}'`);
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
logger_1.default.debug(`Plist file '${plist}' does not exist. Returning an empty plist.`);
|
|
41
|
+
return {};
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
let obj = {};
|
|
45
|
+
let type = 'binary';
|
|
66
46
|
try {
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
47
|
+
obj = await bplist_parser_1.default.parseFile(plist);
|
|
48
|
+
if (obj.length) {
|
|
49
|
+
obj = obj[0];
|
|
50
|
+
}
|
|
51
|
+
else {
|
|
52
|
+
throw new Error(`Binary file '${plist}'' appears to be empty`);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
catch (ign) {
|
|
56
|
+
try {
|
|
57
|
+
obj = await parseXmlPlistFile(plist);
|
|
58
|
+
type = 'xml';
|
|
59
|
+
}
|
|
60
|
+
catch (err) {
|
|
61
|
+
logger_1.default.errorAndThrow(`Could not parse plist file '${plist}' as XML: ${err.message}`);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
if (!quiet) {
|
|
65
|
+
logger_1.default.debug(`Parsed plist file '${plist}' as ${type}`);
|
|
66
|
+
}
|
|
67
|
+
return obj;
|
|
79
68
|
}
|
|
80
|
-
|
|
69
|
+
exports.parsePlistFile = parsePlistFile;
|
|
70
|
+
/**
|
|
71
|
+
* Updates a plist file with the given fields
|
|
72
|
+
* @param {string} plist The plist file path
|
|
73
|
+
* @param {Object} updatedFields The updated fields-value pairs
|
|
74
|
+
* @param {boolean} binary If set to false, the file will be created as a xml plist
|
|
75
|
+
* @param {boolean} mustExist If set to false, this method will update an empty plist
|
|
76
|
+
* @param {boolean} quiet If set to false, the plist path will be logged in debug level
|
|
77
|
+
*/
|
|
81
78
|
async function updatePlistFile(plist, updatedFields, binary = true, mustExist = true, quiet = true) {
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
if (!quiet) {
|
|
101
|
-
_logger.default.debug(`Wrote plist file '${plist}'`);
|
|
102
|
-
}
|
|
79
|
+
let obj;
|
|
80
|
+
try {
|
|
81
|
+
obj = await parsePlistFile(plist, mustExist);
|
|
82
|
+
}
|
|
83
|
+
catch (err) {
|
|
84
|
+
logger_1.default.errorAndThrow(`Could not update plist: ${err.message}`);
|
|
85
|
+
}
|
|
86
|
+
lodash_1.default.extend(obj, updatedFields);
|
|
87
|
+
let newPlist = binary ? (0, bplist_creator_1.default)(obj) : plist_1.default.build(obj);
|
|
88
|
+
try {
|
|
89
|
+
await fs_1.default.writeFile(plist, newPlist);
|
|
90
|
+
}
|
|
91
|
+
catch (err) {
|
|
92
|
+
logger_1.default.errorAndThrow(`Could not save plist: ${err.message}`);
|
|
93
|
+
}
|
|
94
|
+
if (!quiet) {
|
|
95
|
+
logger_1.default.debug(`Wrote plist file '${plist}'`);
|
|
96
|
+
}
|
|
103
97
|
}
|
|
104
|
-
|
|
98
|
+
exports.updatePlistFile = updatePlistFile;
|
|
99
|
+
/**
|
|
100
|
+
* Creates a binary plist Buffer from an object
|
|
101
|
+
* @param {Object} data The object to be turned into a binary plist
|
|
102
|
+
* @returns {Buffer} plist in the form of a binary buffer
|
|
103
|
+
*/
|
|
105
104
|
function createBinaryPlist(data) {
|
|
106
|
-
|
|
105
|
+
return (0, bplist_creator_1.default)(data);
|
|
107
106
|
}
|
|
108
|
-
|
|
107
|
+
exports.createBinaryPlist = createBinaryPlist;
|
|
108
|
+
/**
|
|
109
|
+
* Parses a Buffer into an Object
|
|
110
|
+
* @param {Buffer} data The beffer of a binary plist
|
|
111
|
+
*/
|
|
109
112
|
function parseBinaryPlist(data) {
|
|
110
|
-
|
|
113
|
+
return bplist_parser_1.default.parseBuffer(data);
|
|
111
114
|
}
|
|
112
|
-
|
|
115
|
+
exports.parseBinaryPlist = parseBinaryPlist;
|
|
113
116
|
function getXmlPlist(data) {
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
return null;
|
|
117
|
+
if (lodash_1.default.isString(data) && data.startsWith(PLIST_IDENTIFIER.TEXT)) {
|
|
118
|
+
return data;
|
|
119
|
+
}
|
|
120
|
+
if (lodash_1.default.isBuffer(data) &&
|
|
121
|
+
PLIST_IDENTIFIER.BUFFER.compare(data, 0, PLIST_IDENTIFIER.BUFFER.length) === 0) {
|
|
122
|
+
return data.toString();
|
|
123
|
+
}
|
|
124
|
+
return null;
|
|
123
125
|
}
|
|
124
|
-
|
|
125
126
|
function getBinaryPlist(data) {
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
return null;
|
|
127
|
+
if (lodash_1.default.isString(data) && data.startsWith(BPLIST_IDENTIFIER.TEXT)) {
|
|
128
|
+
return Buffer.from(data);
|
|
129
|
+
}
|
|
130
|
+
if (lodash_1.default.isBuffer(data) &&
|
|
131
|
+
BPLIST_IDENTIFIER.BUFFER.compare(data, 0, BPLIST_IDENTIFIER.BUFFER.length) === 0) {
|
|
132
|
+
return data;
|
|
133
|
+
}
|
|
134
|
+
return null;
|
|
135
135
|
}
|
|
136
|
-
|
|
136
|
+
/**
|
|
137
|
+
* Creates a plist from an object
|
|
138
|
+
* @param {Object} object The JS object to be turned into a plist
|
|
139
|
+
* @param {boolean} binary Set it to true for a binary plist
|
|
140
|
+
* @returns {string|Buffer} returns a buffer or a string in respect to the binary parameter
|
|
141
|
+
*/
|
|
137
142
|
function createPlist(object, binary = false) {
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
+
if (binary) {
|
|
144
|
+
return createBinaryPlist(object);
|
|
145
|
+
}
|
|
146
|
+
else {
|
|
147
|
+
return plist_1.default.build(object);
|
|
148
|
+
}
|
|
143
149
|
}
|
|
144
|
-
|
|
150
|
+
exports.createPlist = createPlist;
|
|
151
|
+
/**
|
|
152
|
+
* Parses an buffer or a string to a JS object a plist from an object
|
|
153
|
+
* @param {string|Buffer} data The plist in the form of string or Buffer
|
|
154
|
+
* @returns {Object} parsed plist JS Object
|
|
155
|
+
* @throws Will throw an error if the plist type is unknown
|
|
156
|
+
*/
|
|
145
157
|
function parsePlist(data) {
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
return parseBinaryPlist(binaryPlist)[0];
|
|
156
|
-
}
|
|
157
|
-
|
|
158
|
-
throw new Error(`Unknown type of plist, data: ${data.toString()}`);
|
|
158
|
+
let textPlist = getXmlPlist(data);
|
|
159
|
+
if (textPlist) {
|
|
160
|
+
return plist_1.default.parse(textPlist);
|
|
161
|
+
}
|
|
162
|
+
let binaryPlist = getBinaryPlist(data);
|
|
163
|
+
if (binaryPlist) {
|
|
164
|
+
return parseBinaryPlist(binaryPlist)[0];
|
|
165
|
+
}
|
|
166
|
+
throw new Error(`Unknown type of plist, data: ${data.toString()}`);
|
|
159
167
|
}
|
|
160
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJCUExJU1RfSURFTlRJRklFUiIsIkJVRkZFUiIsIkJ1ZmZlciIsImZyb20iLCJURVhUIiwiUExJU1RfSURFTlRJRklFUiIsInBhcnNlWG1sUGxpc3RGaWxlIiwicGxpc3RGaWxlbmFtZSIsInhtbENvbnRlbnQiLCJmcyIsInJlYWRGaWxlIiwieG1scGxpc3QiLCJwYXJzZSIsInBhcnNlUGxpc3RGaWxlIiwicGxpc3QiLCJtdXN0RXhpc3QiLCJxdWlldCIsImV4aXN0cyIsImxvZyIsImVycm9yQW5kVGhyb3ciLCJkZWJ1ZyIsIm9iaiIsInR5cGUiLCJicGxpc3RQYXJzZSIsInBhcnNlRmlsZSIsImxlbmd0aCIsIkVycm9yIiwiaWduIiwiZXJyIiwibWVzc2FnZSIsInVwZGF0ZVBsaXN0RmlsZSIsInVwZGF0ZWRGaWVsZHMiLCJiaW5hcnkiLCJfIiwiZXh0ZW5kIiwibmV3UGxpc3QiLCJicGxpc3RDcmVhdGUiLCJidWlsZCIsIndyaXRlRmlsZSIsImNyZWF0ZUJpbmFyeVBsaXN0IiwiZGF0YSIsInBhcnNlQmluYXJ5UGxpc3QiLCJwYXJzZUJ1ZmZlciIsImdldFhtbFBsaXN0IiwiaXNTdHJpbmciLCJzdGFydHNXaXRoIiwiaXNCdWZmZXIiLCJjb21wYXJlIiwidG9TdHJpbmciLCJnZXRCaW5hcnlQbGlzdCIsImNyZWF0ZVBsaXN0Iiwib2JqZWN0IiwicGFyc2VQbGlzdCIsInRleHRQbGlzdCIsImJpbmFyeVBsaXN0Il0sInNvdXJjZXMiOlsiLi4vLi4vbGliL3BsaXN0LmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB4bWxwbGlzdCBmcm9tICdwbGlzdCc7XG5pbXBvcnQgYnBsaXN0Q3JlYXRlIGZyb20gJ2JwbGlzdC1jcmVhdG9yJztcbmltcG9ydCBicGxpc3RQYXJzZSBmcm9tICdicGxpc3QtcGFyc2VyJztcbmltcG9ydCBmcyBmcm9tICcuL2ZzJztcbmltcG9ydCBsb2cgZnJvbSAnLi9sb2dnZXInO1xuaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcblxuY29uc3QgQlBMSVNUX0lERU5USUZJRVIgPSB7XG4gIEJVRkZFUjogQnVmZmVyLmZyb20oJ2JwbGlzdDAwJyksXG4gIFRFWFQ6ICdicGxpc3QwMCcsXG59O1xuY29uc3QgUExJU1RfSURFTlRJRklFUiA9IHtcbiAgQlVGRkVSOiBCdWZmZXIuZnJvbSgnPCcpLFxuICBURVhUOiAnPCcsXG59O1xuXG4vLyBYTUwgUGxpc3QgbGlicmFyeSBoZWxwZXJcbmFzeW5jIGZ1bmN0aW9uIHBhcnNlWG1sUGxpc3RGaWxlKHBsaXN0RmlsZW5hbWUpIHtcbiAgbGV0IHhtbENvbnRlbnQgPSBhd2FpdCBmcy5yZWFkRmlsZShwbGlzdEZpbGVuYW1lLCAndXRmOCcpO1xuICByZXR1cm4geG1scGxpc3QucGFyc2UoeG1sQ29udGVudCk7XG59XG5cbi8qKlxuICogUGFyc2VzIGEgZmlsZSBpbiB4bWwgb3IgYmluYXJ5IGZvcm1hdCBvZiBwbGlzdFxuICogQHBhcmFtIHtzdHJpbmd9IHBsaXN0IFRoZSBwbGlzdCBmaWxlIHBhdGhcbiAqIEBwYXJhbSB7Ym9vbGVhbn0gbXVzdEV4aXN0IElmIHNldCB0byBmYWxzZSwgdGhpcyBtZXRob2Qgd2lsbCByZXR1cm4gYW4gZW1wdHkgb2JqZWN0IHdoZW4gdGhlIGZpbGUgZG9lc24ndCBleGlzdFxuICogQHBhcmFtIHtib29sZWFufSBxdWlldCBJZiBzZXQgdG8gZmFsc2UsIHRoZSBwbGlzdCBwYXRoIHdpbGwgYmUgbG9nZ2VkIGluIGRlYnVnIGxldmVsXG4gKiBAcmV0dXJucyB7UHJvbWlzZTxhbnk+fSBwYXJzZWQgcGxpc3QgSlMgT2JqZWN0XG4gKi9cbmFzeW5jIGZ1bmN0aW9uIHBhcnNlUGxpc3RGaWxlKHBsaXN0LCBtdXN0RXhpc3QgPSB0cnVlLCBxdWlldCA9IHRydWUpIHtcbiAgLy8gaGFuZGxlIG5vbmV4aXN0YW50IGZpbGVcbiAgaWYgKCEoYXdhaXQgZnMuZXhpc3RzKHBsaXN0KSkpIHtcbiAgICBpZiAobXVzdEV4aXN0KSB7XG4gICAgICBsb2cuZXJyb3JBbmRUaHJvdyhgUGxpc3QgZmlsZSBkb2Vzbid0IGV4aXN0OiAnJHtwbGlzdH0nYCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGxvZy5kZWJ1ZyhgUGxpc3QgZmlsZSAnJHtwbGlzdH0nIGRvZXMgbm90IGV4aXN0LiBSZXR1cm5pbmcgYW4gZW1wdHkgcGxpc3QuYCk7XG4gICAgICByZXR1cm4ge307XG4gICAgfVxuICB9XG5cbiAgbGV0IG9iaiA9IHt9O1xuICBsZXQgdHlwZSA9ICdiaW5hcnknO1xuICB0cnkge1xuICAgIG9iaiA9IGF3YWl0IGJwbGlzdFBhcnNlLnBhcnNlRmlsZShwbGlzdCk7XG4gICAgaWYgKG9iai5sZW5ndGgpIHtcbiAgICAgIG9iaiA9IG9ialswXTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBCaW5hcnkgZmlsZSAnJHtwbGlzdH0nJyBhcHBlYXJzIHRvIGJlIGVtcHR5YCk7XG4gICAgfVxuICB9IGNhdGNoIChpZ24pIHtcbiAgICB0cnkge1xuICAgICAgb2JqID0gYXdhaXQgcGFyc2VYbWxQbGlzdEZpbGUocGxpc3QpO1xuICAgICAgdHlwZSA9ICd4bWwnO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgbG9nLmVycm9yQW5kVGhyb3coYENvdWxkIG5vdCBwYXJzZSBwbGlzdCBmaWxlICcke3BsaXN0fScgYXMgWE1MOiAke2Vyci5tZXNzYWdlfWApO1xuICAgIH1cbiAgfVxuXG4gIGlmICghcXVpZXQpIHtcbiAgICBsb2cuZGVidWcoYFBhcnNlZCBwbGlzdCBmaWxlICcke3BsaXN0fScgYXMgJHt0eXBlfWApO1xuICB9XG4gIHJldHVybiBvYmo7XG59XG5cbi8qKlxuICogVXBkYXRlcyBhIHBsaXN0IGZpbGUgd2l0aCB0aGUgZ2l2ZW4gZmllbGRzXG4gKiBAcGFyYW0ge3N0cmluZ30gcGxpc3QgVGhlIHBsaXN0IGZpbGUgcGF0aFxuICogQHBhcmFtIHtPYmplY3R9IHVwZGF0ZWRGaWVsZHMgVGhlIHVwZGF0ZWQgZmllbGRzLXZhbHVlIHBhaXJzXG4gKiBAcGFyYW0ge2Jvb2xlYW59IGJpbmFyeSBJZiBzZXQgdG8gZmFsc2UsIHRoZSBmaWxlIHdpbGwgYmUgY3JlYXRlZCBhcyBhIHhtbCBwbGlzdFxuICogQHBhcmFtIHtib29sZWFufSBtdXN0RXhpc3QgSWYgc2V0IHRvIGZhbHNlLCB0aGlzIG1ldGhvZCB3aWxsIHVwZGF0ZSBhbiBlbXB0eSBwbGlzdFxuICogQHBhcmFtIHtib29sZWFufSBxdWlldCBJZiBzZXQgdG8gZmFsc2UsIHRoZSBwbGlzdCBwYXRoIHdpbGwgYmUgbG9nZ2VkIGluIGRlYnVnIGxldmVsXG4gKi9cbmFzeW5jIGZ1bmN0aW9uIHVwZGF0ZVBsaXN0RmlsZShcbiAgcGxpc3QsXG4gIHVwZGF0ZWRGaWVsZHMsXG4gIGJpbmFyeSA9IHRydWUsXG4gIG11c3RFeGlzdCA9IHRydWUsXG4gIHF1aWV0ID0gdHJ1ZVxuKSB7XG4gIGxldCBvYmo7XG4gIHRyeSB7XG4gICAgb2JqID0gYXdhaXQgcGFyc2VQbGlzdEZpbGUocGxpc3QsIG11c3RFeGlzdCk7XG4gIH0gY2F0Y2ggKGVycikge1xuICAgIGxvZy5lcnJvckFuZFRocm93KGBDb3VsZCBub3QgdXBkYXRlIHBsaXN0OiAke2Vyci5tZXNzYWdlfWApO1xuICB9XG4gIF8uZXh0ZW5kKG9iaiwgdXBkYXRlZEZpZWxkcyk7XG4gIGxldCBuZXdQbGlzdCA9IGJpbmFyeSA/IGJwbGlzdENyZWF0ZShvYmopIDogeG1scGxpc3QuYnVpbGQob2JqKTtcbiAgdHJ5IHtcbiAgICBhd2FpdCBmcy53cml0ZUZpbGUocGxpc3QsIG5ld1BsaXN0KTtcbiAgfSBjYXRjaCAoZXJyKSB7XG4gICAgbG9nLmVycm9yQW5kVGhyb3coYENvdWxkIG5vdCBzYXZlIHBsaXN0OiAke2Vyci5tZXNzYWdlfWApO1xuICB9XG4gIGlmICghcXVpZXQpIHtcbiAgICBsb2cuZGVidWcoYFdyb3RlIHBsaXN0IGZpbGUgJyR7cGxpc3R9J2ApO1xuICB9XG59XG4vKipcbiAqIENyZWF0ZXMgYSBiaW5hcnkgcGxpc3QgQnVmZmVyIGZyb20gYW4gb2JqZWN0XG4gKiBAcGFyYW0ge09iamVjdH0gZGF0YSBUaGUgb2JqZWN0IHRvIGJlIHR1cm5lZCBpbnRvIGEgYmluYXJ5IHBsaXN0XG4gKiBAcmV0dXJucyB7QnVmZmVyfSBwbGlzdCBpbiB0aGUgZm9ybSBvZiBhIGJpbmFyeSBidWZmZXJcbiAqL1xuZnVuY3Rpb24gY3JlYXRlQmluYXJ5UGxpc3QoZGF0YSkge1xuICByZXR1cm4gYnBsaXN0Q3JlYXRlKGRhdGEpO1xufVxuXG4vKipcbiAqIFBhcnNlcyBhIEJ1ZmZlciBpbnRvIGFuIE9iamVjdFxuICogQHBhcmFtIHtCdWZmZXJ9IGRhdGEgVGhlIGJlZmZlciBvZiBhIGJpbmFyeSBwbGlzdFxuICovXG5mdW5jdGlvbiBwYXJzZUJpbmFyeVBsaXN0KGRhdGEpIHtcbiAgcmV0dXJuIGJwbGlzdFBhcnNlLnBhcnNlQnVmZmVyKGRhdGEpO1xufVxuXG5mdW5jdGlvbiBnZXRYbWxQbGlzdChkYXRhKSB7XG4gIGlmIChfLmlzU3RyaW5nKGRhdGEpICYmIGRhdGEuc3RhcnRzV2l0aChQTElTVF9JREVOVElGSUVSLlRFWFQpKSB7XG4gICAgcmV0dXJuIGRhdGE7XG4gIH1cbiAgaWYgKFxuICAgIF8uaXNCdWZmZXIoZGF0YSkgJiZcbiAgICBQTElTVF9JREVOVElGSUVSLkJVRkZFUi5jb21wYXJlKGRhdGEsIDAsIFBMSVNUX0lERU5USUZJRVIuQlVGRkVSLmxlbmd0aCkgPT09IDBcbiAgKSB7XG4gICAgcmV0dXJuIGRhdGEudG9TdHJpbmcoKTtcbiAgfVxuICByZXR1cm4gbnVsbDtcbn1cblxuZnVuY3Rpb24gZ2V0QmluYXJ5UGxpc3QoZGF0YSkge1xuICBpZiAoXy5pc1N0cmluZyhkYXRhKSAmJiBkYXRhLnN0YXJ0c1dpdGgoQlBMSVNUX0lERU5USUZJRVIuVEVYVCkpIHtcbiAgICByZXR1cm4gQnVmZmVyLmZyb20oZGF0YSk7XG4gIH1cblxuICBpZiAoXG4gICAgXy5pc0J1ZmZlcihkYXRhKSAmJlxuICAgIEJQTElTVF9JREVOVElGSUVSLkJVRkZFUi5jb21wYXJlKGRhdGEsIDAsIEJQTElTVF9JREVOVElGSUVSLkJVRkZFUi5sZW5ndGgpID09PSAwXG4gICkge1xuICAgIHJldHVybiBkYXRhO1xuICB9XG4gIHJldHVybiBudWxsO1xufVxuXG4vKipcbiAqIENyZWF0ZXMgYSBwbGlzdCBmcm9tIGFuIG9iamVjdFxuICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgSlMgb2JqZWN0IHRvIGJlIHR1cm5lZCBpbnRvIGEgcGxpc3RcbiAqIEBwYXJhbSB7Ym9vbGVhbn0gYmluYXJ5IFNldCBpdCB0byB0cnVlIGZvciBhIGJpbmFyeSBwbGlzdFxuICogQHJldHVybnMge3N0cmluZ3xCdWZmZXJ9IHJldHVybnMgYSBidWZmZXIgb3IgYSBzdHJpbmcgaW4gcmVzcGVjdCB0byB0aGUgYmluYXJ5IHBhcmFtZXRlclxuICovXG5mdW5jdGlvbiBjcmVhdGVQbGlzdChvYmplY3QsIGJpbmFyeSA9IGZhbHNlKSB7XG4gIGlmIChiaW5hcnkpIHtcbiAgICByZXR1cm4gY3JlYXRlQmluYXJ5UGxpc3Qob2JqZWN0KTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4geG1scGxpc3QuYnVpbGQob2JqZWN0KTtcbiAgfVxufVxuXG4vKipcbiAqIFBhcnNlcyBhbiBidWZmZXIgb3IgYSBzdHJpbmcgdG8gYSBKUyBvYmplY3QgYSBwbGlzdCBmcm9tIGFuIG9iamVjdFxuICogQHBhcmFtIHtzdHJpbmd8QnVmZmVyfSBkYXRhIFRoZSBwbGlzdCBpbiB0aGUgZm9ybSBvZiBzdHJpbmcgb3IgQnVmZmVyXG4gKiBAcmV0dXJucyB7T2JqZWN0fSBwYXJzZWQgcGxpc3QgSlMgT2JqZWN0XG4gKiBAdGhyb3dzIFdpbGwgdGhyb3cgYW4gZXJyb3IgaWYgdGhlIHBsaXN0IHR5cGUgaXMgdW5rbm93blxuICovXG5mdW5jdGlvbiBwYXJzZVBsaXN0KGRhdGEpIHtcbiAgbGV0IHRleHRQbGlzdCA9IGdldFhtbFBsaXN0KGRhdGEpO1xuICBpZiAodGV4dFBsaXN0KSB7XG4gICAgcmV0dXJuIHhtbHBsaXN0LnBhcnNlKHRleHRQbGlzdCk7XG4gIH1cblxuICBsZXQgYmluYXJ5UGxpc3QgPSBnZXRCaW5hcnlQbGlzdChkYXRhKTtcbiAgaWYgKGJpbmFyeVBsaXN0KSB7XG4gICAgcmV0dXJuIHBhcnNlQmluYXJ5UGxpc3QoYmluYXJ5UGxpc3QpWzBdO1xuICB9XG5cbiAgdGhyb3cgbmV3IEVycm9yKGBVbmtub3duIHR5cGUgb2YgcGxpc3QsIGRhdGE6ICR7ZGF0YS50b1N0cmluZygpfWApO1xufVxuXG5leHBvcnQge1xuICBwYXJzZVBsaXN0RmlsZSxcbiAgcGFyc2VQbGlzdCxcbiAgY3JlYXRlUGxpc3QsXG4gIHVwZGF0ZVBsaXN0RmlsZSxcbiAgY3JlYXRlQmluYXJ5UGxpc3QsXG4gIHBhcnNlQmluYXJ5UGxpc3QsXG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOzs7O0FBRUEsTUFBTUEsaUJBQWlCLEdBQUc7RUFDeEJDLE1BQU0sRUFBRUMsTUFBTSxDQUFDQyxJQUFQLENBQVksVUFBWixDQURnQjtFQUV4QkMsSUFBSSxFQUFFO0FBRmtCLENBQTFCO0FBSUEsTUFBTUMsZ0JBQWdCLEdBQUc7RUFDdkJKLE1BQU0sRUFBRUMsTUFBTSxDQUFDQyxJQUFQLENBQVksR0FBWixDQURlO0VBRXZCQyxJQUFJLEVBQUU7QUFGaUIsQ0FBekI7O0FBTUEsZUFBZUUsaUJBQWYsQ0FBaUNDLGFBQWpDLEVBQWdEO0VBQzlDLElBQUlDLFVBQVUsR0FBRyxNQUFNQyxXQUFBLENBQUdDLFFBQUgsQ0FBWUgsYUFBWixFQUEyQixNQUEzQixDQUF2QjtFQUNBLE9BQU9JLGNBQUEsQ0FBU0MsS0FBVCxDQUFlSixVQUFmLENBQVA7QUFDRDs7QUFTRCxlQUFlSyxjQUFmLENBQThCQyxLQUE5QixFQUFxQ0MsU0FBUyxHQUFHLElBQWpELEVBQXVEQyxLQUFLLEdBQUcsSUFBL0QsRUFBcUU7RUFFbkUsSUFBSSxFQUFFLE1BQU1QLFdBQUEsQ0FBR1EsTUFBSCxDQUFVSCxL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
|
|
168
|
+
exports.parsePlist = parsePlist;
|
|
169
|
+
//# sourceMappingURL=plist.js.map
|
package/build/lib/plist.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plist.js","
|
|
1
|
+
{"version":3,"file":"plist.js","sourceRoot":"","sources":["../../lib/plist.js"],"names":[],"mappings":"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"}
|
package/build/lib/process.js
CHANGED
|
@@ -1,49 +1,48 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.killProcess = exports.getProcessIds = void 0;
|
|
4
|
+
const teen_process_1 = require("teen_process");
|
|
5
|
+
/*
|
|
6
|
+
* Exit Status for pgrep and pkill (`man pkill`)
|
|
7
|
+
* 0. One or more processes matched the criteria.
|
|
8
|
+
* 1. No processes matched.
|
|
9
|
+
* 2. Syntax error in the command line.
|
|
10
|
+
* 3. Fatal error: out of memory etc.
|
|
11
|
+
*/
|
|
13
12
|
async function getProcessIds(appName) {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
} catch (err) {
|
|
22
|
-
if (parseInt(err.code, 10) !== 1) {
|
|
23
|
-
throw new Error(`Error getting process ids for app '${appName}': ${err.message}`);
|
|
13
|
+
let pids;
|
|
14
|
+
try {
|
|
15
|
+
let { stdout } = await (0, teen_process_1.exec)('pgrep', ['-x', appName]);
|
|
16
|
+
pids = stdout
|
|
17
|
+
.trim()
|
|
18
|
+
.split('\n')
|
|
19
|
+
.map((pid) => parseInt(pid, 10));
|
|
24
20
|
}
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
21
|
+
catch (err) {
|
|
22
|
+
if (parseInt(err.code, 10) !== 1) {
|
|
23
|
+
throw new Error(`Error getting process ids for app '${appName}': ${err.message}`);
|
|
24
|
+
}
|
|
25
|
+
pids = [];
|
|
26
|
+
}
|
|
27
|
+
return pids;
|
|
30
28
|
}
|
|
31
|
-
|
|
29
|
+
exports.getProcessIds = getProcessIds;
|
|
32
30
|
async function killProcess(appName, force = false) {
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
31
|
+
let pids = await getProcessIds(appName);
|
|
32
|
+
if (pids.length === 0) {
|
|
33
|
+
// the process is not running
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
36
|
+
try {
|
|
37
|
+
let args = force ? ['-9'] : [];
|
|
38
|
+
args.push('-x', appName);
|
|
39
|
+
await (0, teen_process_1.exec)('pkill', args);
|
|
40
|
+
}
|
|
41
|
+
catch (err) {
|
|
42
|
+
if (parseInt(err.code, 10) !== 1) {
|
|
43
|
+
throw new Error(`Error killing app '${appName}' with pkill: ${err.message}`);
|
|
44
|
+
}
|
|
46
45
|
}
|
|
47
|
-
}
|
|
48
46
|
}
|
|
49
|
-
|
|
47
|
+
exports.killProcess = killProcess;
|
|
48
|
+
//# sourceMappingURL=process.js.map
|
package/build/lib/process.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"process.js","
|
|
1
|
+
{"version":3,"file":"process.js","sourceRoot":"","sources":["../../lib/process.js"],"names":[],"mappings":";;;AAAA,+CAAkC;AAElC;;;;;;GAMG;AAEH,KAAK,UAAU,aAAa,CAAC,OAAO;IAClC,IAAI,IAAI,CAAC;IACT,IAAI;QACF,IAAI,EAAC,MAAM,EAAC,GAAG,MAAM,IAAA,mBAAI,EAAC,OAAO,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;QACpD,IAAI,GAAG,MAAM;aACV,IAAI,EAAE;aACN,KAAK,CAAC,IAAI,CAAC;aACX,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;KACpC;IAAC,OAAO,GAAG,EAAE;QACZ,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE;YAChC,MAAM,IAAI,KAAK,CAAC,sCAAsC,OAAO,MAAM,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;SACnF;QACD,IAAI,GAAG,EAAE,CAAC;KACX;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAoBO,sCAAa;AAlBrB,KAAK,UAAU,WAAW,CAAC,OAAO,EAAE,KAAK,GAAG,KAAK;IAC/C,IAAI,IAAI,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,CAAC;IACxC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;QACrB,6BAA6B;QAC7B,OAAO;KACR;IAED,IAAI;QACF,IAAI,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/B,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACzB,MAAM,IAAA,mBAAI,EAAC,OAAO,EAAE,IAAI,CAAC,CAAC;KAC3B;IAAC,OAAO,GAAG,EAAE;QACZ,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE;YAChC,MAAM,IAAI,KAAK,CAAC,sBAAsB,OAAO,iBAAiB,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;SAC9E;KACF;AACH,CAAC;AAEsB,kCAAW"}
|
package/build/lib/system.js
CHANGED
|
@@ -1,70 +1,53 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
});
|
|
6
|
-
exports.arch =
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
exports.isWindows = isWindows;
|
|
11
|
-
exports.macOsxVersion = macOsxVersion;
|
|
12
|
-
|
|
13
|
-
require("source-map-support/register");
|
|
14
|
-
|
|
15
|
-
var _teen_process = require("teen_process");
|
|
16
|
-
|
|
17
|
-
var _lodash = _interopRequireDefault(require("lodash"));
|
|
18
|
-
|
|
19
|
-
var _os = _interopRequireDefault(require("os"));
|
|
20
|
-
|
|
21
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
22
|
-
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.macOsxVersion = exports.arch = exports.isOSWin64 = exports.isLinux = exports.isMac = exports.isWindows = void 0;
|
|
7
|
+
const teen_process_1 = require("teen_process");
|
|
8
|
+
const lodash_1 = __importDefault(require("lodash"));
|
|
9
|
+
const os_1 = __importDefault(require("os"));
|
|
23
10
|
const VERSION_PATTERN = /^(\d+\.\d+)/m;
|
|
24
|
-
|
|
25
11
|
function isWindows() {
|
|
26
|
-
|
|
12
|
+
return os_1.default.type() === 'Windows_NT';
|
|
27
13
|
}
|
|
28
|
-
|
|
14
|
+
exports.isWindows = isWindows;
|
|
29
15
|
function isMac() {
|
|
30
|
-
|
|
16
|
+
return os_1.default.type() === 'Darwin';
|
|
31
17
|
}
|
|
32
|
-
|
|
18
|
+
exports.isMac = isMac;
|
|
33
19
|
function isLinux() {
|
|
34
|
-
|
|
20
|
+
return !isWindows() && !isMac();
|
|
35
21
|
}
|
|
36
|
-
|
|
22
|
+
exports.isLinux = isLinux;
|
|
37
23
|
function isOSWin64() {
|
|
38
|
-
|
|
24
|
+
return process.arch === 'x64' || lodash_1.default.has(process.env, 'PROCESSOR_ARCHITEW6432');
|
|
39
25
|
}
|
|
40
|
-
|
|
26
|
+
exports.isOSWin64 = isOSWin64;
|
|
41
27
|
async function arch() {
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
}
|
|
28
|
+
if (isLinux() || isMac()) {
|
|
29
|
+
let { stdout } = await (0, teen_process_1.exec)('uname', ['-m']);
|
|
30
|
+
return stdout.trim() === 'i686' ? '32' : '64';
|
|
31
|
+
}
|
|
32
|
+
else if (isWindows()) {
|
|
33
|
+
let is64 = this.isOSWin64();
|
|
34
|
+
return is64 ? '64' : '32';
|
|
35
|
+
}
|
|
51
36
|
}
|
|
52
|
-
|
|
37
|
+
exports.arch = arch;
|
|
53
38
|
async function macOsxVersion() {
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
return versionMatch[1];
|
|
39
|
+
let stdout;
|
|
40
|
+
try {
|
|
41
|
+
stdout = (await (0, teen_process_1.exec)('sw_vers', ['-productVersion'])).stdout.trim();
|
|
42
|
+
}
|
|
43
|
+
catch (err) {
|
|
44
|
+
throw new Error(`Could not detect Mac OS X Version: ${err}`);
|
|
45
|
+
}
|
|
46
|
+
const versionMatch = VERSION_PATTERN.exec(stdout);
|
|
47
|
+
if (!versionMatch) {
|
|
48
|
+
throw new Error(`Could not detect Mac OS X Version from sw_vers output: '${stdout}'`);
|
|
49
|
+
}
|
|
50
|
+
return versionMatch[1];
|
|
69
51
|
}
|
|
70
|
-
|
|
52
|
+
exports.macOsxVersion = macOsxVersion;
|
|
53
|
+
//# sourceMappingURL=system.js.map
|