@appium/support 7.0.4 → 7.0.6

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.
Files changed (113) hide show
  1. package/build/lib/console.d.ts +42 -88
  2. package/build/lib/console.d.ts.map +1 -1
  3. package/build/lib/console.js +25 -85
  4. package/build/lib/console.js.map +1 -1
  5. package/build/lib/doctor.d.ts +6 -18
  6. package/build/lib/doctor.d.ts.map +1 -1
  7. package/build/lib/doctor.js +0 -15
  8. package/build/lib/doctor.js.map +1 -1
  9. package/build/lib/env.d.ts +14 -20
  10. package/build/lib/env.d.ts.map +1 -1
  11. package/build/lib/env.js +24 -61
  12. package/build/lib/env.js.map +1 -1
  13. package/build/lib/fs.d.ts +109 -148
  14. package/build/lib/fs.d.ts.map +1 -1
  15. package/build/lib/fs.js +130 -230
  16. package/build/lib/fs.js.map +1 -1
  17. package/build/lib/image-util.d.ts +7 -6
  18. package/build/lib/image-util.d.ts.map +1 -1
  19. package/build/lib/image-util.js +9 -6
  20. package/build/lib/image-util.js.map +1 -1
  21. package/build/lib/index.d.ts +19 -17
  22. package/build/lib/index.d.ts.map +1 -1
  23. package/build/lib/logger.d.ts +1 -1
  24. package/build/lib/logger.d.ts.map +1 -1
  25. package/build/lib/logger.js +1 -1
  26. package/build/lib/logger.js.map +1 -1
  27. package/build/lib/logging.d.ts +7 -15
  28. package/build/lib/logging.d.ts.map +1 -1
  29. package/build/lib/logging.js +36 -62
  30. package/build/lib/logging.js.map +1 -1
  31. package/build/lib/mjpeg.d.ts +19 -56
  32. package/build/lib/mjpeg.d.ts.map +1 -1
  33. package/build/lib/mjpeg.js +55 -78
  34. package/build/lib/mjpeg.js.map +1 -1
  35. package/build/lib/mkdirp.d.ts +4 -1
  36. package/build/lib/mkdirp.d.ts.map +1 -1
  37. package/build/lib/mkdirp.js +1 -2
  38. package/build/lib/mkdirp.js.map +1 -1
  39. package/build/lib/net.d.ts +52 -90
  40. package/build/lib/net.d.ts.map +1 -1
  41. package/build/lib/net.js +104 -193
  42. package/build/lib/net.js.map +1 -1
  43. package/build/lib/node.d.ts +16 -17
  44. package/build/lib/node.d.ts.map +1 -1
  45. package/build/lib/node.js +115 -120
  46. package/build/lib/node.js.map +1 -1
  47. package/build/lib/npm.d.ts +65 -86
  48. package/build/lib/npm.d.ts.map +1 -1
  49. package/build/lib/npm.js +64 -122
  50. package/build/lib/npm.js.map +1 -1
  51. package/build/lib/plist.d.ts +36 -29
  52. package/build/lib/plist.d.ts.map +1 -1
  53. package/build/lib/plist.js +62 -59
  54. package/build/lib/plist.js.map +1 -1
  55. package/build/lib/process.d.ts +19 -2
  56. package/build/lib/process.d.ts.map +1 -1
  57. package/build/lib/process.js +24 -7
  58. package/build/lib/process.js.map +1 -1
  59. package/build/lib/system.d.ts +41 -6
  60. package/build/lib/system.d.ts.map +1 -1
  61. package/build/lib/system.js +49 -14
  62. package/build/lib/system.js.map +1 -1
  63. package/build/lib/tempdir.d.ts +26 -49
  64. package/build/lib/tempdir.d.ts.map +1 -1
  65. package/build/lib/tempdir.js +46 -78
  66. package/build/lib/tempdir.js.map +1 -1
  67. package/build/lib/timing.d.ts +28 -22
  68. package/build/lib/timing.d.ts.map +1 -1
  69. package/build/lib/timing.js +16 -17
  70. package/build/lib/timing.js.map +1 -1
  71. package/build/lib/util.d.ts +164 -181
  72. package/build/lib/util.d.ts.map +1 -1
  73. package/build/lib/util.js +198 -253
  74. package/build/lib/util.js.map +1 -1
  75. package/build/lib/zip.d.ts +81 -139
  76. package/build/lib/zip.d.ts.map +1 -1
  77. package/build/lib/zip.js +235 -283
  78. package/build/lib/zip.js.map +1 -1
  79. package/lib/console.ts +139 -0
  80. package/lib/{doctor.js → doctor.ts} +6 -20
  81. package/lib/{env.js → env.ts} +34 -62
  82. package/lib/fs.ts +453 -0
  83. package/lib/image-util.ts +40 -0
  84. package/lib/index.ts +1 -0
  85. package/lib/{logger.js → logger.ts} +1 -1
  86. package/lib/logging.ts +157 -0
  87. package/lib/mjpeg.ts +186 -0
  88. package/lib/{mkdirp.js → mkdirp.ts} +2 -2
  89. package/lib/net.ts +305 -0
  90. package/lib/{node.js → node.ts} +136 -135
  91. package/lib/npm.ts +291 -0
  92. package/lib/plist.ts +187 -0
  93. package/lib/process.ts +62 -0
  94. package/lib/system.ts +95 -0
  95. package/lib/tempdir.ts +115 -0
  96. package/lib/{timing.js → timing.ts} +28 -33
  97. package/lib/util.ts +561 -0
  98. package/lib/{zip.js → zip.ts} +344 -299
  99. package/package.json +24 -26
  100. package/tsconfig.json +3 -5
  101. package/index.js +0 -1
  102. package/lib/console.js +0 -173
  103. package/lib/fs.js +0 -496
  104. package/lib/image-util.js +0 -32
  105. package/lib/logging.js +0 -145
  106. package/lib/mjpeg.js +0 -207
  107. package/lib/net.js +0 -336
  108. package/lib/npm.js +0 -310
  109. package/lib/plist.js +0 -182
  110. package/lib/process.js +0 -46
  111. package/lib/system.js +0 -48
  112. package/lib/tempdir.js +0 -131
  113. package/lib/util.js +0 -585
@@ -4,11 +4,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.parsePlistFile = parsePlistFile;
7
- exports.parsePlist = parsePlist;
8
- exports.createPlist = createPlist;
9
7
  exports.updatePlistFile = updatePlistFile;
10
8
  exports.createBinaryPlist = createBinaryPlist;
11
9
  exports.parseBinaryPlist = parseBinaryPlist;
10
+ exports.createPlist = createPlist;
11
+ exports.parsePlist = parsePlist;
12
12
  const plist_1 = __importDefault(require("plist"));
13
13
  const bplist_creator_1 = __importDefault(require("bplist-creator"));
14
14
  const bplist_parser_1 = require("bplist-parser");
@@ -23,38 +23,33 @@ const PLIST_IDENTIFIER = {
23
23
  BUFFER: Buffer.from('<'),
24
24
  TEXT: '<',
25
25
  };
26
- // XML Plist library helper
27
- async function parseXmlPlistFile(plistFilename) {
28
- let xmlContent = await fs_1.fs.readFile(plistFilename, 'utf8');
29
- return plist_1.default.parse(xmlContent);
30
- }
31
26
  /**
32
27
  * Parses a file in xml or binary format of plist
33
- * @param {string} plist The plist file path
34
- * @param {boolean} mustExist If set to false, this method will return an empty object when the file doesn't exist
35
- * @param {boolean} quiet If set to false, the plist path will be logged in debug level
36
- * @returns {Promise<any>} parsed plist JS Object
28
+ *
29
+ * @param plist - The plist file path
30
+ * @param mustExist - If set to false, this method will return an empty object when the file doesn't exist
31
+ * @param quiet - If set to false, the plist path will be logged in debug level
32
+ * @returns Parsed plist as a JS object
37
33
  */
38
34
  async function parsePlistFile(plist, mustExist = true, quiet = true) {
39
- // handle nonexistent file
40
35
  if (!(await fs_1.fs.exists(plist))) {
41
36
  if (mustExist) {
42
37
  throw logger_1.default.errorWithException(`Plist file doesn't exist: '${plist}'`);
43
38
  }
44
- else {
39
+ if (!quiet) {
45
40
  logger_1.default.debug(`Plist file '${plist}' does not exist. Returning an empty plist.`);
46
- return {};
47
41
  }
42
+ return {};
48
43
  }
49
44
  let obj = {};
50
45
  let type = 'binary';
51
46
  try {
52
- obj = await (0, bplist_parser_1.parseFile)(plist);
53
- if (obj.length) {
54
- obj = obj[0];
47
+ const parsed = await (0, bplist_parser_1.parseFile)(plist);
48
+ if (parsed.length) {
49
+ obj = parsed[0];
55
50
  }
56
51
  else {
57
- throw new Error(`Binary file '${plist}'' appears to be empty`);
52
+ throw new Error(`Binary file '${plist}' appears to be empty`);
58
53
  }
59
54
  }
60
55
  catch {
@@ -73,11 +68,12 @@ async function parsePlistFile(plist, mustExist = true, quiet = true) {
73
68
  }
74
69
  /**
75
70
  * Updates a plist file with the given fields
76
- * @param {string} plist The plist file path
77
- * @param {Object} updatedFields The updated fields-value pairs
78
- * @param {boolean} binary If set to false, the file will be created as a xml plist
79
- * @param {boolean} mustExist If set to false, this method will update an empty plist
80
- * @param {boolean} quiet If set to false, the plist path will be logged in debug level
71
+ *
72
+ * @param plist - The plist file path
73
+ * @param updatedFields - The updated fields-value pairs
74
+ * @param binary - If set to false, the file will be created as a xml plist
75
+ * @param mustExist - If set to false, this method will update an empty plist
76
+ * @param quiet - If set to false, the plist path will be logged in debug level
81
77
  */
82
78
  async function updatePlistFile(plist, updatedFields, binary = true, mustExist = true, quiet = true) {
83
79
  let obj;
@@ -88,7 +84,7 @@ async function updatePlistFile(plist, updatedFields, binary = true, mustExist =
88
84
  throw logger_1.default.errorWithException(`Could not update plist: ${err.message}`);
89
85
  }
90
86
  lodash_1.default.extend(obj, updatedFields);
91
- let newPlist = binary ? (0, bplist_creator_1.default)(obj) : plist_1.default.build(obj);
87
+ const newPlist = binary ? (0, bplist_creator_1.default)(obj) : plist_1.default.build(obj);
92
88
  try {
93
89
  await fs_1.fs.writeFile(plist, newPlist);
94
90
  }
@@ -101,68 +97,75 @@ async function updatePlistFile(plist, updatedFields, binary = true, mustExist =
101
97
  }
102
98
  /**
103
99
  * Creates a binary plist Buffer from an object
104
- * @param {Object} data The object to be turned into a binary plist
105
- * @returns {Buffer} plist in the form of a binary buffer
100
+ *
101
+ * @param data - The object to be turned into a binary plist
102
+ * @returns Plist in the form of a binary buffer
106
103
  */
107
104
  function createBinaryPlist(data) {
108
105
  return (0, bplist_creator_1.default)(data);
109
106
  }
110
107
  /**
111
108
  * Parses a Buffer into an Object
112
- * @param {Buffer} data The buffer of a binary plist
109
+ *
110
+ * @param data - The buffer of a binary plist
111
+ * @returns Array of parsed root objects (typically one element)
113
112
  */
114
113
  function parseBinaryPlist(data) {
115
114
  return (0, bplist_parser_1.parseBuffer)(data);
116
115
  }
117
- function getXmlPlist(data) {
118
- if (lodash_1.default.isString(data) && data.startsWith(PLIST_IDENTIFIER.TEXT)) {
119
- return data;
120
- }
121
- if (lodash_1.default.isBuffer(data) &&
122
- PLIST_IDENTIFIER.BUFFER.compare(data, 0, PLIST_IDENTIFIER.BUFFER.length) === 0) {
123
- return data.toString();
124
- }
125
- return null;
126
- }
127
- function getBinaryPlist(data) {
128
- if (lodash_1.default.isString(data) && data.startsWith(BPLIST_IDENTIFIER.TEXT)) {
129
- return Buffer.from(data);
130
- }
131
- if (lodash_1.default.isBuffer(data) &&
132
- BPLIST_IDENTIFIER.BUFFER.compare(data, 0, BPLIST_IDENTIFIER.BUFFER.length) === 0) {
133
- return data;
134
- }
135
- return null;
136
- }
137
116
  /**
138
117
  * Creates a plist from an object
139
- * @param {Object} object The JS object to be turned into a plist
140
- * @param {boolean} binary Set it to true for a binary plist
141
- * @returns {string|Buffer} returns a buffer or a string in respect to the binary parameter
118
+ *
119
+ * @param object - The JS object to be turned into a plist
120
+ * @param binary - Set it to true for a binary plist
121
+ * @returns A buffer or a string depending on the binary parameter
142
122
  */
143
123
  function createPlist(object, binary = false) {
144
124
  if (binary) {
145
125
  return createBinaryPlist(object);
146
126
  }
147
- else {
148
- return plist_1.default.build(object);
149
- }
127
+ return plist_1.default.build(object);
150
128
  }
151
129
  /**
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
130
+ * Parses a buffer or string into a JS object
131
+ *
132
+ * @param data - The plist as a string or Buffer
133
+ * @returns Parsed plist as a JS object
155
134
  * @throws Will throw an error if the plist type is unknown
156
135
  */
157
136
  function parsePlist(data) {
158
- let textPlist = getXmlPlist(data);
137
+ const textPlist = getXmlPlist(data);
159
138
  if (textPlist) {
160
139
  return plist_1.default.parse(textPlist);
161
140
  }
162
- let binaryPlist = getBinaryPlist(data);
141
+ const binaryPlist = getBinaryPlist(data);
163
142
  if (binaryPlist) {
164
143
  return parseBinaryPlist(binaryPlist)[0];
165
144
  }
166
- throw new Error(`Unknown type of plist, data: ${data.toString()}`);
145
+ throw new Error(`Unknown type of plist, data: ${lodash_1.default.truncate(data.toString(), { length: 200 })}`);
146
+ }
147
+ async function parseXmlPlistFile(plistFilename) {
148
+ const xmlContent = await fs_1.fs.readFile(plistFilename, 'utf8');
149
+ return plist_1.default.parse(xmlContent);
150
+ }
151
+ function getXmlPlist(data) {
152
+ if (lodash_1.default.isString(data) && data.startsWith(PLIST_IDENTIFIER.TEXT)) {
153
+ return data;
154
+ }
155
+ if (Buffer.isBuffer(data) &&
156
+ PLIST_IDENTIFIER.BUFFER.compare(data, 0, PLIST_IDENTIFIER.BUFFER.length) === 0) {
157
+ return data.toString();
158
+ }
159
+ return null;
160
+ }
161
+ function getBinaryPlist(data) {
162
+ if (lodash_1.default.isString(data) && data.startsWith(BPLIST_IDENTIFIER.TEXT)) {
163
+ return Buffer.from(data);
164
+ }
165
+ if (Buffer.isBuffer(data) &&
166
+ BPLIST_IDENTIFIER.BUFFER.compare(data, 0, BPLIST_IDENTIFIER.BUFFER.length) === 0) {
167
+ return data;
168
+ }
169
+ return null;
167
170
  }
168
171
  //# sourceMappingURL=plist.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"plist.js","sourceRoot":"","sources":["../../lib/plist.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plist.js","sourceRoot":"","sources":["../../lib/plist.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,20 @@
1
- export function getProcessIds(appName: any): Promise<any[]>;
2
- export function killProcess(appName: any, force?: boolean): Promise<void>;
1
+ /**
2
+ * Get PIDs of processes whose executable name matches the given name (exact match via pgrep -x).
3
+ *
4
+ * @param appName - Executable name to match (e.g. 'tail', 'node').
5
+ * @returns Promise resolving to an array of process IDs. Empty if no processes matched.
6
+ * @throws {Error} If pgrep fails for any reason other than "no processes matched" (exit 1).
7
+ * @deprecated Use a process-management API or package that fits your platform instead.
8
+ */
9
+ export declare function getProcessIds(appName: string): Promise<number[]>;
10
+ /**
11
+ * Kill all processes whose executable name matches the given name (via pkill -x).
12
+ *
13
+ * @param appName - Executable name to match (e.g. 'tail', 'node').
14
+ * @param force - If true, use SIGKILL (-9); otherwise use default pkill signal.
15
+ * @returns Promise that resolves when done, or when no matching processes were running.
16
+ * @throws {Error} If pkill fails for any reason other than "no processes matched" (exit 1).
17
+ * @deprecated Use a process-management API or package that fits your platform instead.
18
+ */
19
+ export declare function killProcess(appName: string, force?: boolean): Promise<void>;
3
20
  //# sourceMappingURL=process.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"process.d.ts","sourceRoot":"","sources":["../../lib/process.js"],"names":[],"mappings":"AAUA,4DAeC;AAED,0EAgBC"}
1
+ {"version":3,"file":"process.d.ts","sourceRoot":"","sources":["../../lib/process.ts"],"names":[],"mappings":"AAWA;;;;;;;GAOG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAgBtE;AAED;;;;;;;;GAQG;AACH,wBAAsB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,UAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAe/E"}
@@ -10,36 +10,53 @@ const teen_process_1 = require("teen_process");
10
10
  * 2. Syntax error in the command line.
11
11
  * 3. Fatal error: out of memory etc.
12
12
  */
13
+ /**
14
+ * Get PIDs of processes whose executable name matches the given name (exact match via pgrep -x).
15
+ *
16
+ * @param appName - Executable name to match (e.g. 'tail', 'node').
17
+ * @returns Promise resolving to an array of process IDs. Empty if no processes matched.
18
+ * @throws {Error} If pgrep fails for any reason other than "no processes matched" (exit 1).
19
+ * @deprecated Use a process-management API or package that fits your platform instead.
20
+ */
13
21
  async function getProcessIds(appName) {
14
22
  let pids;
15
23
  try {
16
- let { stdout } = await (0, teen_process_1.exec)('pgrep', ['-x', appName]);
24
+ const { stdout } = await (0, teen_process_1.exec)('pgrep', ['-x', appName]);
17
25
  pids = stdout
18
26
  .trim()
19
27
  .split('\n')
20
28
  .map((pid) => parseInt(pid, 10));
21
29
  }
22
30
  catch (err) {
23
- if (parseInt(err.code, 10) !== 1) {
31
+ const code = err.code;
32
+ if (code !== 1) {
24
33
  throw new Error(`Error getting process ids for app '${appName}': ${err.message}`);
25
34
  }
26
35
  pids = [];
27
36
  }
28
37
  return pids;
29
38
  }
39
+ /**
40
+ * Kill all processes whose executable name matches the given name (via pkill -x).
41
+ *
42
+ * @param appName - Executable name to match (e.g. 'tail', 'node').
43
+ * @param force - If true, use SIGKILL (-9); otherwise use default pkill signal.
44
+ * @returns Promise that resolves when done, or when no matching processes were running.
45
+ * @throws {Error} If pkill fails for any reason other than "no processes matched" (exit 1).
46
+ * @deprecated Use a process-management API or package that fits your platform instead.
47
+ */
30
48
  async function killProcess(appName, force = false) {
31
- let pids = await getProcessIds(appName);
49
+ const pids = await getProcessIds(appName);
32
50
  if (pids.length === 0) {
33
- // the process is not running
34
51
  return;
35
52
  }
36
53
  try {
37
- let args = force ? ['-9'] : [];
38
- args.push('-x', appName);
54
+ const args = force ? ['-9', '-x', appName] : ['-x', appName];
39
55
  await (0, teen_process_1.exec)('pkill', args);
40
56
  }
41
57
  catch (err) {
42
- if (parseInt(err.code, 10) !== 1) {
58
+ const code = err.code;
59
+ if (code !== 1) {
43
60
  throw new Error(`Error killing app '${appName}' with pkill: ${err.message}`);
44
61
  }
45
62
  }
@@ -1 +1 @@
1
- {"version":3,"file":"process.js","sourceRoot":"","sources":["../../lib/process.js"],"names":[],"mappings":";;AA6CQ,sCAAa;AAAE,kCAAW;AA7ClC,+CAAkC;AAElC;;;;;;GAMG;AAEH,KAAK,UAAU,aAAa,CAAC,OAAO;IAClC,IAAI,IAAI,CAAC;IACT,IAAI,CAAC;QACH,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;IACrC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;YACjC,MAAM,IAAI,KAAK,CAAC,sCAAsC,OAAO,MAAM,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QACpF,CAAC;QACD,IAAI,GAAG,EAAE,CAAC;IACZ,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,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,CAAC;QACtB,6BAA6B;QAC7B,OAAO;IACT,CAAC;IAED,IAAI,CAAC;QACH,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;IAC5B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;YACjC,MAAM,IAAI,KAAK,CAAC,sBAAsB,OAAO,iBAAiB,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QAC/E,CAAC;IACH,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"process.js","sourceRoot":"","sources":["../../lib/process.ts"],"names":[],"mappings":";;AAmBA,sCAgBC;AAWD,kCAeC;AA7DD,+CAAkC;AAGlC;;;;;;GAMG;AAEH;;;;;;;GAOG;AACI,KAAK,UAAU,aAAa,CAAC,OAAe;IACjD,IAAI,IAAc,CAAC;IACnB,IAAI,CAAC;QACH,MAAM,EAAC,MAAM,EAAC,GAAG,MAAM,IAAA,mBAAI,EAAC,OAAO,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;QACtD,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;IACrC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,GAAI,GAAiB,CAAC,IAAI,CAAC;QACrC,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,sCAAsC,OAAO,MAAO,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;QAC/F,CAAC;QACD,IAAI,GAAG,EAAE,CAAC;IACZ,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;GAQG;AACI,KAAK,UAAU,WAAW,CAAC,OAAe,EAAE,KAAK,GAAG,KAAK;IAC9D,MAAM,IAAI,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,CAAC;IAC1C,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO;IACT,CAAC;IAED,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC7D,MAAM,IAAA,mBAAI,EAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC5B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,GAAI,GAAiB,CAAC,IAAI,CAAC;QACrC,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,sBAAsB,OAAO,iBAAkB,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;QAC1F,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -1,7 +1,42 @@
1
- export function isWindows(): boolean;
2
- export function isMac(): boolean;
3
- export function isLinux(): boolean;
4
- export function isOSWin64(): boolean;
5
- export function arch(): Promise<"32" | "64" | undefined>;
6
- export function macOsxVersion(): Promise<string>;
1
+ /**
2
+ * Whether the current OS is Windows.
3
+ */
4
+ export declare function isWindows(): boolean;
5
+ /**
6
+ * Whether the current OS is macOS (Darwin).
7
+ */
8
+ export declare function isMac(): boolean;
9
+ /**
10
+ * Whether the current OS is Linux (i.e. not Windows and not macOS).
11
+ */
12
+ export declare function isLinux(): boolean;
13
+ /**
14
+ * Whether the current Windows process is 64-bit (or WOW64).
15
+ */
16
+ export declare function isOSWin64(): boolean;
17
+ /**
18
+ * Detects the major.minor macOS version (e.g. "10.12") via `sw_vers -productVersion`.
19
+ *
20
+ * @returns The major.minor version string.
21
+ * @throws {Error} If `sw_vers` fails or output cannot be parsed.
22
+ */
23
+ export declare function macOsxVersion(): Promise<string>;
24
+ /**
25
+ * System detection helpers (platform, architecture, macOS version).
26
+ * Use this object when you need `arch()` to call other helpers via `this` (e.g. for testing).
27
+ */
28
+ export declare const system: System;
29
+ /**
30
+ * Resolves the process architecture as `'32'` or `'64'` (uname on Unix, process.arch/env on Windows).
31
+ */
32
+ export declare const arch: () => Promise<string>;
33
+ interface System {
34
+ isWindows(): boolean;
35
+ isMac(): boolean;
36
+ isLinux(): boolean;
37
+ isOSWin64(): boolean;
38
+ arch(): Promise<string>;
39
+ macOsxVersion(): Promise<string>;
40
+ }
41
+ export {};
7
42
  //# sourceMappingURL=system.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"system.d.ts","sourceRoot":"","sources":["../../lib/system.js"],"names":[],"mappings":"AAMA,qCAEC;AAED,iCAEC;AAED,mCAEC;AAED,qCAEC;AAED,yDAQC;AAED,iDAaC"}
1
+ {"version":3,"file":"system.d.ts","sourceRoot":"","sources":["../../lib/system.ts"],"names":[],"mappings":"AAMA;;GAEG;AACH,wBAAgB,SAAS,IAAI,OAAO,CAEnC;AAED;;GAEG;AACH,wBAAgB,KAAK,IAAI,OAAO,CAE/B;AAED;;GAEG;AACH,wBAAgB,OAAO,IAAI,OAAO,CAEjC;AAED;;GAEG;AACH,wBAAgB,SAAS,IAAI,OAAO,CAEnC;AAED;;;;;GAKG;AACH,wBAAsB,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC,CAarD;AAED;;;GAGG;AACH,eAAO,MAAM,MAAM,EAAE,MAOpB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,IAAI,QASP,OAAO,CAAC,MAAM,CAAC,AATM,CAAC;AAIhC,UAAU,MAAM;IACd,SAAS,IAAI,OAAO,CAAC;IACrB,KAAK,IAAI,OAAO,CAAC;IACjB,OAAO,IAAI,OAAO,CAAC;IACnB,SAAS,IAAI,OAAO,CAAC;IACrB,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IACxB,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;CAClC"}
@@ -3,38 +3,46 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.arch = exports.system = void 0;
6
7
  exports.isWindows = isWindows;
7
8
  exports.isMac = isMac;
8
9
  exports.isLinux = isLinux;
9
10
  exports.isOSWin64 = isOSWin64;
10
- exports.arch = arch;
11
11
  exports.macOsxVersion = macOsxVersion;
12
12
  const teen_process_1 = require("teen_process");
13
13
  const lodash_1 = __importDefault(require("lodash"));
14
- const os_1 = __importDefault(require("os"));
14
+ const node_os_1 = __importDefault(require("node:os"));
15
15
  const VERSION_PATTERN = /^(\d+\.\d+)/m;
16
+ /**
17
+ * Whether the current OS is Windows.
18
+ */
16
19
  function isWindows() {
17
- return os_1.default.type() === 'Windows_NT';
20
+ return node_os_1.default.type() === 'Windows_NT';
18
21
  }
22
+ /**
23
+ * Whether the current OS is macOS (Darwin).
24
+ */
19
25
  function isMac() {
20
- return os_1.default.type() === 'Darwin';
26
+ return node_os_1.default.type() === 'Darwin';
21
27
  }
28
+ /**
29
+ * Whether the current OS is Linux (i.e. not Windows and not macOS).
30
+ */
22
31
  function isLinux() {
23
32
  return !isWindows() && !isMac();
24
33
  }
34
+ /**
35
+ * Whether the current Windows process is 64-bit (or WOW64).
36
+ */
25
37
  function isOSWin64() {
26
38
  return process.arch === 'x64' || lodash_1.default.has(process.env, 'PROCESSOR_ARCHITEW6432');
27
39
  }
28
- async function arch() {
29
- if (isLinux() || isMac()) {
30
- let { stdout } = await (0, teen_process_1.exec)('uname', ['-m']);
31
- return stdout.trim() === 'i686' ? '32' : '64';
32
- }
33
- else if (isWindows()) {
34
- let is64 = this.isOSWin64();
35
- return is64 ? '64' : '32';
36
- }
37
- }
40
+ /**
41
+ * Detects the major.minor macOS version (e.g. "10.12") via `sw_vers -productVersion`.
42
+ *
43
+ * @returns The major.minor version string.
44
+ * @throws {Error} If `sw_vers` fails or output cannot be parsed.
45
+ */
38
46
  async function macOsxVersion() {
39
47
  let stdout;
40
48
  try {
@@ -49,4 +57,31 @@ async function macOsxVersion() {
49
57
  }
50
58
  return versionMatch[1];
51
59
  }
60
+ /**
61
+ * System detection helpers (platform, architecture, macOS version).
62
+ * Use this object when you need `arch()` to call other helpers via `this` (e.g. for testing).
63
+ */
64
+ exports.system = {
65
+ isWindows,
66
+ isMac,
67
+ isLinux,
68
+ isOSWin64,
69
+ arch: archImpl,
70
+ macOsxVersion,
71
+ };
72
+ /**
73
+ * Resolves the process architecture as `'32'` or `'64'` (uname on Unix, process.arch/env on Windows).
74
+ */
75
+ exports.arch = exports.system.arch;
76
+ async function archImpl() {
77
+ if (this.isLinux() || this.isMac()) {
78
+ const { stdout } = await (0, teen_process_1.exec)('uname', ['-m']);
79
+ return stdout.trim() === 'i686' ? '32' : '64';
80
+ }
81
+ else if (this.isWindows()) {
82
+ return this.isOSWin64() ? '64' : '32';
83
+ }
84
+ return '64';
85
+ }
86
+ // #endregion
52
87
  //# sourceMappingURL=system.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"system.js","sourceRoot":"","sources":["../../lib/system.js"],"names":[],"mappings":";;;;;AA+CQ,8BAAS;AAAE,sBAAK;AAAE,0BAAO;AAAE,8BAAS;AAAE,oBAAI;AAAE,sCAAa;AA/CjE,+CAAkC;AAClC,oDAAuB;AACvB,4CAAoB;AAEpB,MAAM,eAAe,GAAG,cAAc,CAAC;AAEvC,SAAS,SAAS;IAChB,OAAO,YAAE,CAAC,IAAI,EAAE,KAAK,YAAY,CAAC;AACpC,CAAC;AAED,SAAS,KAAK;IACZ,OAAO,YAAE,CAAC,IAAI,EAAE,KAAK,QAAQ,CAAC;AAChC,CAAC;AAED,SAAS,OAAO;IACd,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;AAClC,CAAC;AAED,SAAS,SAAS;IAChB,OAAO,OAAO,CAAC,IAAI,KAAK,KAAK,IAAI,gBAAC,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,wBAAwB,CAAC,CAAC;AAChF,CAAC;AAED,KAAK,UAAU,IAAI;IACjB,IAAI,OAAO,EAAE,IAAI,KAAK,EAAE,EAAE,CAAC;QACzB,IAAI,EAAC,MAAM,EAAC,GAAG,MAAM,IAAA,mBAAI,EAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;QAC3C,OAAO,MAAM,CAAC,IAAI,EAAE,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IAChD,CAAC;SAAM,IAAI,SAAS,EAAE,EAAE,CAAC;QACvB,IAAI,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAC5B,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IAC5B,CAAC;AACH,CAAC;AAED,KAAK,UAAU,aAAa;IAC1B,IAAI,MAAM,CAAC;IACX,IAAI,CAAC;QACH,MAAM,GAAG,CAAC,MAAM,IAAA,mBAAI,EAAC,SAAS,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IACtE,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,sCAAsC,GAAG,EAAE,CAAC,CAAC;IAC/D,CAAC;IAED,MAAM,YAAY,GAAG,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAClD,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,2DAA2D,MAAM,GAAG,CAAC,CAAC;IACxF,CAAC;IACD,OAAO,YAAY,CAAC,CAAC,CAAC,CAAC;AACzB,CAAC"}
1
+ {"version":3,"file":"system.js","sourceRoot":"","sources":["../../lib/system.ts"],"names":[],"mappings":";;;;;;AASA,8BAEC;AAKD,sBAEC;AAKD,0BAEC;AAKD,8BAEC;AAQD,sCAaC;AArDD,+CAAkC;AAClC,oDAAuB;AACvB,sDAAyB;AAEzB,MAAM,eAAe,GAAG,cAAc,CAAC;AAEvC;;GAEG;AACH,SAAgB,SAAS;IACvB,OAAO,iBAAE,CAAC,IAAI,EAAE,KAAK,YAAY,CAAC;AACpC,CAAC;AAED;;GAEG;AACH,SAAgB,KAAK;IACnB,OAAO,iBAAE,CAAC,IAAI,EAAE,KAAK,QAAQ,CAAC;AAChC,CAAC;AAED;;GAEG;AACH,SAAgB,OAAO;IACrB,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;AAClC,CAAC;AAED;;GAEG;AACH,SAAgB,SAAS;IACvB,OAAO,OAAO,CAAC,IAAI,KAAK,KAAK,IAAI,gBAAC,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,wBAAwB,CAAC,CAAC;AAChF,CAAC;AAED;;;;;GAKG;AACI,KAAK,UAAU,aAAa;IACjC,IAAI,MAAc,CAAC;IACnB,IAAI,CAAC;QACH,MAAM,GAAG,CAAC,MAAM,IAAA,mBAAI,EAAC,SAAS,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IACtE,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,sCAAsC,GAAG,EAAE,CAAC,CAAC;IAC/D,CAAC;IAED,MAAM,YAAY,GAAG,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAClD,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,2DAA2D,MAAM,GAAG,CAAC,CAAC;IACxF,CAAC;IACD,OAAO,YAAY,CAAC,CAAC,CAAC,CAAC;AACzB,CAAC;AAED;;;GAGG;AACU,QAAA,MAAM,GAAW;IAC5B,SAAS;IACT,KAAK;IACL,OAAO;IACP,SAAS;IACT,IAAI,EAAE,QAAQ;IACd,aAAa;CACd,CAAC;AAEF;;GAEG;AACU,QAAA,IAAI,GAAG,cAAM,CAAC,IAAI,CAAC;AAahC,KAAK,UAAU,QAAQ;IACrB,IAAI,IAAI,CAAC,OAAO,EAAE,IAAI,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;QACnC,MAAM,EAAC,MAAM,EAAC,GAAG,MAAM,IAAA,mBAAI,EAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;QAC7C,OAAO,MAAM,CAAC,IAAI,EAAE,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IAChD,CAAC;SAAM,IAAI,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC;QAC5B,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IACxC,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,aAAa"}
@@ -1,63 +1,40 @@
1
- export type Affixes = {
2
- /**
3
- * - prefix of the temp directory name
4
- */
5
- prefix?: string | undefined;
6
- /**
7
- * - suffix of the temp directory name
8
- */
9
- suffix?: string | undefined;
10
- };
11
- export type OpenedAffixes = {
12
- /**
13
- * - The path to file
14
- */
1
+ import _ from 'lodash';
2
+ /** Prefix/suffix for temp directory or file names */
3
+ export interface Affixes {
4
+ prefix?: string;
5
+ suffix?: string;
6
+ }
7
+ /** Result of opening a temp file */
8
+ export interface OpenedAffixes {
15
9
  path: string;
16
- /**
17
- * - The file descriptor opened
18
- */
19
10
  fd: number;
20
- };
11
+ }
21
12
  /**
22
- * @typedef OpenedAffixes
23
- * @property {string} path - The path to file
24
- * @property {number} fd - The file descriptor opened
25
- */
26
- /**
27
- * Generate a temporary directory in os.tempdir() or process.env.APPIUM_TMP_DIR
28
- * with arbitrary prefix/suffix for the directory name and return it as open.
13
+ * Generate a temporary directory with arbitrary prefix/suffix for the directory name.
29
14
  *
30
- * @param {Affixes} affixes
31
- * @returns {Promise<OpenedAffixes>}
15
+ * @param rawAffixes - Prefix string, or object with prefix/suffix, or omitted.
16
+ * @param defaultPrefix - Default prefix when rawAffixes is omitted.
17
+ * @returns A path to the temporary directory.
32
18
  */
33
- export function open(affixes: Affixes): Promise<OpenedAffixes>;
19
+ export declare function path(rawAffixes?: string | Affixes, defaultPrefix?: string): Promise<string>;
34
20
  /**
35
- * @typedef Affixes
36
- * @property {string} [prefix] - prefix of the temp directory name
37
- * @property {string} [suffix] - suffix of the temp directory name
38
- */
39
- /**
40
- * Generate a temporary directory in os.tempdir() or process.env.APPIUM_TMP_DIR
41
- * with arbitrary prefix/suffix for the directory name.
21
+ * Generate a temp file path with prefix/suffix, open the file, and return path and fd.
42
22
  *
43
- * @param {string|Affixes} rawAffixes
44
- * @param {string} [defaultPrefix]
45
- * @returns {Promise<string>} A path to the temporary directory with rawAffixes and defaultPrefix
23
+ * @param affixes - Prefix/suffix for the file name.
24
+ * @returns The opened file path and descriptor.
46
25
  */
47
- export function path(rawAffixes: string | Affixes, defaultPrefix?: string): Promise<string>;
26
+ export declare function open(affixes: Affixes): Promise<OpenedAffixes>;
27
+ /** Returns a new path to a temporary directory (alias for the tempDir implementation). */
28
+ export declare const openDir: typeof tempDir;
48
29
  /**
49
- * Generate a temporary directory in os.tempdir() or process.env.APPIUM_TMP_DIR.
50
- * e.g.
51
- * - No `process.env.APPIUM_TMP_DIR`: `/var/folders/34/2222sh8n27d6rcp7jqlkw8km0000gn/T/xxxxxxxx.yyyy`
52
- * - With `process.env.APPIUM_TMP_DIR = '/path/to/root'`: `/path/to/root/xxxxxxxx.yyyy`
30
+ * Returns a path to a temporary directory which is reused for the life of the process.
53
31
  *
54
- * @returns {Promise<string>} A path to the temporary directory
32
+ * @returns The same temp directory path on every call.
55
33
  */
56
- export function openDir(): Promise<string>;
34
+ export declare const staticDir: (() => Promise<string>) & _.MemoizedFunction;
57
35
  /**
58
- * Returns a path to a temporary directory which is defined as static in the same process
59
- *
60
- * @returns {Promise<string>} A temp directory path which is defined as static in the same process
36
+ * Generate a temporary directory in os.tmpdir() or process.env.APPIUM_TMP_DIR.
61
37
  */
62
- export function staticDir(): Promise<string>;
38
+ declare function tempDir(): Promise<string>;
39
+ export {};
63
40
  //# sourceMappingURL=tempdir.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tempdir.d.ts","sourceRoot":"","sources":["../../lib/tempdir.js"],"names":[],"mappings":";;;;;;;;;;;;;;UA6Dc,MAAM;;;;QACN,MAAM;;AAHpB;;;;GAIG;AAEH;;;;;;GAMG;AACH,8BAHW,OAAO,GACL,OAAO,CAAC,aAAa,CAAC,CAWlC;AA3CD;;;;GAIG;AAEH;;;;;;;GAOG;AACH,iCAJW,MAAM,GAAC,OAAO,kBACd,MAAM,GACJ,OAAO,CAAC,MAAM,CAAC,CAO3B;AAhDD;;;;;;;GAOG;AACH,2BAFa,OAAO,CAAC,MAAM,CAAC,CAqB3B;AAoFD;;;;GAIG;AAEH,6BAHa,OAAO,CAAC,MAAM,CAAC,CAK3B"}
1
+ {"version":3,"file":"tempdir.d.ts","sourceRoot":"","sources":["../../lib/tempdir.ts"],"names":[],"mappings":"AAIA,OAAO,CAAC,MAAM,QAAQ,CAAC;AAMvB,qDAAqD;AACrD,MAAM,WAAW,OAAO;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,oCAAoC;AACpC,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;CACZ;AAED;;;;;;GAMG;AACH,wBAAsB,IAAI,CACxB,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,EAC7B,aAAa,CAAC,EAAE,MAAM,GACrB,OAAO,CAAC,MAAM,CAAC,CAKjB;AAED;;;;;GAKG;AACH,wBAAsB,IAAI,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,aAAa,CAAC,CAQnE;AAED,0FAA0F;AAC1F,eAAO,MAAM,OAAO,gBAAU,CAAC;AAE/B;;;;GAIG;AACH,eAAO,MAAM,SAAS,SAA0C,OAAO,CAAC,MAAM,CAAC,sBAE7E,CAAC;AAIH;;GAEG;AACH,iBAAe,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC,CAkBxC"}