@appium/support 7.0.5 → 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 (114) hide show
  1. package/LICENSE +201 -0
  2. package/build/lib/console.d.ts +42 -88
  3. package/build/lib/console.d.ts.map +1 -1
  4. package/build/lib/console.js +20 -80
  5. package/build/lib/console.js.map +1 -1
  6. package/build/lib/doctor.d.ts +6 -18
  7. package/build/lib/doctor.d.ts.map +1 -1
  8. package/build/lib/doctor.js +0 -15
  9. package/build/lib/doctor.js.map +1 -1
  10. package/build/lib/env.d.ts +14 -20
  11. package/build/lib/env.d.ts.map +1 -1
  12. package/build/lib/env.js +13 -50
  13. package/build/lib/env.js.map +1 -1
  14. package/build/lib/fs.d.ts +109 -148
  15. package/build/lib/fs.d.ts.map +1 -1
  16. package/build/lib/fs.js +88 -188
  17. package/build/lib/fs.js.map +1 -1
  18. package/build/lib/image-util.d.ts +7 -6
  19. package/build/lib/image-util.d.ts.map +1 -1
  20. package/build/lib/image-util.js +9 -6
  21. package/build/lib/image-util.js.map +1 -1
  22. package/build/lib/index.d.ts +19 -17
  23. package/build/lib/index.d.ts.map +1 -1
  24. package/build/lib/logger.d.ts +1 -1
  25. package/build/lib/logger.d.ts.map +1 -1
  26. package/build/lib/logger.js +1 -1
  27. package/build/lib/logger.js.map +1 -1
  28. package/build/lib/logging.d.ts +7 -15
  29. package/build/lib/logging.d.ts.map +1 -1
  30. package/build/lib/logging.js +36 -62
  31. package/build/lib/logging.js.map +1 -1
  32. package/build/lib/mjpeg.d.ts +19 -56
  33. package/build/lib/mjpeg.d.ts.map +1 -1
  34. package/build/lib/mjpeg.js +53 -76
  35. package/build/lib/mjpeg.js.map +1 -1
  36. package/build/lib/mkdirp.d.ts +4 -1
  37. package/build/lib/mkdirp.d.ts.map +1 -1
  38. package/build/lib/mkdirp.js +1 -2
  39. package/build/lib/mkdirp.js.map +1 -1
  40. package/build/lib/net.d.ts +52 -90
  41. package/build/lib/net.d.ts.map +1 -1
  42. package/build/lib/net.js +104 -193
  43. package/build/lib/net.js.map +1 -1
  44. package/build/lib/node.d.ts +16 -17
  45. package/build/lib/node.d.ts.map +1 -1
  46. package/build/lib/node.js +106 -111
  47. package/build/lib/node.js.map +1 -1
  48. package/build/lib/npm.d.ts +65 -86
  49. package/build/lib/npm.d.ts.map +1 -1
  50. package/build/lib/npm.js +59 -117
  51. package/build/lib/npm.js.map +1 -1
  52. package/build/lib/plist.d.ts +36 -29
  53. package/build/lib/plist.d.ts.map +1 -1
  54. package/build/lib/plist.js +62 -59
  55. package/build/lib/plist.js.map +1 -1
  56. package/build/lib/process.d.ts +19 -2
  57. package/build/lib/process.d.ts.map +1 -1
  58. package/build/lib/process.js +24 -7
  59. package/build/lib/process.js.map +1 -1
  60. package/build/lib/system.d.ts +41 -6
  61. package/build/lib/system.d.ts.map +1 -1
  62. package/build/lib/system.js +46 -11
  63. package/build/lib/system.js.map +1 -1
  64. package/build/lib/tempdir.d.ts +26 -49
  65. package/build/lib/tempdir.d.ts.map +1 -1
  66. package/build/lib/tempdir.js +41 -73
  67. package/build/lib/tempdir.js.map +1 -1
  68. package/build/lib/timing.d.ts +28 -22
  69. package/build/lib/timing.d.ts.map +1 -1
  70. package/build/lib/timing.js +16 -17
  71. package/build/lib/timing.js.map +1 -1
  72. package/build/lib/util.d.ts +164 -181
  73. package/build/lib/util.d.ts.map +1 -1
  74. package/build/lib/util.js +193 -247
  75. package/build/lib/util.js.map +1 -1
  76. package/build/lib/zip.d.ts +81 -139
  77. package/build/lib/zip.d.ts.map +1 -1
  78. package/build/lib/zip.js +210 -258
  79. package/build/lib/zip.js.map +1 -1
  80. package/lib/console.ts +139 -0
  81. package/lib/{doctor.js → doctor.ts} +6 -20
  82. package/lib/{env.js → env.ts} +31 -59
  83. package/lib/fs.ts +453 -0
  84. package/lib/image-util.ts +40 -0
  85. package/lib/index.ts +1 -0
  86. package/lib/{logger.js → logger.ts} +1 -1
  87. package/lib/logging.ts +157 -0
  88. package/lib/mjpeg.ts +186 -0
  89. package/lib/{mkdirp.js → mkdirp.ts} +2 -2
  90. package/lib/net.ts +305 -0
  91. package/lib/{node.js → node.ts} +134 -133
  92. package/lib/npm.ts +291 -0
  93. package/lib/plist.ts +187 -0
  94. package/lib/process.ts +62 -0
  95. package/lib/system.ts +95 -0
  96. package/lib/tempdir.ts +115 -0
  97. package/lib/{timing.js → timing.ts} +28 -33
  98. package/lib/util.ts +561 -0
  99. package/lib/{zip.js → zip.ts} +341 -296
  100. package/package.json +20 -22
  101. package/tsconfig.json +3 -5
  102. package/index.js +0 -1
  103. package/lib/console.js +0 -173
  104. package/lib/fs.js +0 -496
  105. package/lib/image-util.js +0 -32
  106. package/lib/logging.js +0 -145
  107. package/lib/mjpeg.js +0 -207
  108. package/lib/net.js +0 -336
  109. package/lib/npm.js +0 -310
  110. package/lib/plist.js +0 -182
  111. package/lib/process.js +0 -46
  112. package/lib/system.js +0 -48
  113. package/lib/tempdir.js +0 -131
  114. package/lib/util.js +0 -584
package/build/lib/node.js CHANGED
@@ -15,45 +15,17 @@ const teen_process_1 = require("teen_process");
15
15
  const node_path_1 = __importDefault(require("node:path"));
16
16
  const node_fs_1 = __importDefault(require("node:fs"));
17
17
  const uuid_1 = require("uuid");
18
- const ECMA_SIZES = Object.freeze({
19
- STRING: 2,
20
- BOOLEAN: 4,
21
- NUMBER: 8,
22
- });
23
- /**
24
- * Internal utility to link global package to local context
25
- *
26
- * @param {string} packageName - name of the package to link
27
- * @throws {Error} If the command fails
28
- */
29
- async function linkGlobalPackage(packageName) {
30
- try {
31
- logger_1.default.debug(`Linking package '${packageName}'`);
32
- const cmd = (0, system_1.isWindows)() ? 'npm.cmd' : 'npm';
33
- await (0, teen_process_1.exec)(cmd, ['link', packageName], { timeout: 20000 });
34
- }
35
- catch (err) {
36
- const msg = `Unable to load package '${packageName}', linking failed: ${err.message}`;
37
- logger_1.default.debug(msg);
38
- if (err.stderr) {
39
- // log the stderr if there, but do not add to thrown error as it is
40
- // _very_ verbose
41
- logger_1.default.debug(err.stderr);
42
- }
43
- throw new Error(msg);
44
- }
45
- }
18
+ const OBJECTS_MAPPING = new WeakMap();
46
19
  /**
47
20
  * Utility function to extend node functionality, allowing us to require
48
21
  * modules that are installed globally. If the package cannot be required,
49
22
  * this will attempt to link the package and then re-require it
50
23
  *
51
- * @param {string} packageName - the name of the package to be required
52
- * @returns {Promise<unknown>} - the package object
24
+ * @param packageName - the name of the package to be required
25
+ * @returns The package object
53
26
  * @throws {Error} If the package is not found locally or globally
54
27
  */
55
28
  async function requirePackage(packageName) {
56
- // first, get it in the normal way (see https://nodejs.org/api/modules.html#modules_all_together)
57
29
  try {
58
30
  logger_1.default.debug(`Loading local package '${packageName}'`);
59
31
  return require(packageName);
@@ -61,7 +33,6 @@ async function requirePackage(packageName) {
61
33
  catch (err) {
62
34
  logger_1.default.debug(`Failed to load local package '${packageName}': ${err.message}`);
63
35
  }
64
- // second, get it from where it ought to be in the global node_modules
65
36
  try {
66
37
  const globalPackageName = node_path_1.default.resolve(process.env.npm_config_prefix ?? '', 'lib', 'node_modules', packageName);
67
38
  logger_1.default.debug(`Loading global package '${globalPackageName}'`);
@@ -70,7 +41,6 @@ async function requirePackage(packageName) {
70
41
  catch (err) {
71
42
  logger_1.default.debug(`Failed to load global package '${packageName}': ${err.message}`);
72
43
  }
73
- // third, link the file and get locally
74
44
  try {
75
45
  await linkGlobalPackage(packageName);
76
46
  logger_1.default.debug(`Retrying load of linked package '${packageName}'`);
@@ -80,91 +50,30 @@ async function requirePackage(packageName) {
80
50
  throw logger_1.default.errorWithException(`Unable to load package '${packageName}': ${err.message}`);
81
51
  }
82
52
  }
83
- function extractAllProperties(obj) {
84
- const stringProperties = [];
85
- for (const prop in obj) {
86
- stringProperties.push(prop);
87
- }
88
- if (lodash_1.default.isFunction(Object.getOwnPropertySymbols)) {
89
- stringProperties.push(...Object.getOwnPropertySymbols(obj));
90
- }
91
- return stringProperties;
92
- }
93
- function _getSizeOfObject(seen, object) {
94
- if (lodash_1.default.isNil(object)) {
95
- return 0;
96
- }
97
- let bytes = 0;
98
- const properties = extractAllProperties(object);
99
- for (const key of properties) {
100
- // Do not recalculate circular references
101
- if (typeof object[key] === 'object' && !lodash_1.default.isNil(object[key])) {
102
- if (seen.has(object[key])) {
103
- continue;
104
- }
105
- seen.add(object[key]);
106
- }
107
- bytes += getCalculator(seen)(key);
108
- try {
109
- bytes += getCalculator(seen)(object[key]);
110
- }
111
- catch (ex) {
112
- if (ex instanceof RangeError) {
113
- // circular reference detected, final result might be incorrect
114
- // let's be nice and not throw an exception
115
- bytes = 0;
116
- }
117
- }
118
- }
119
- return bytes;
120
- }
121
- function getCalculator(seen) {
122
- return function calculator(obj) {
123
- if (lodash_1.default.isBuffer(obj)) {
124
- return obj.length;
125
- }
126
- switch (typeof obj) {
127
- case 'string':
128
- return obj.length * ECMA_SIZES.STRING;
129
- case 'boolean':
130
- return ECMA_SIZES.BOOLEAN;
131
- case 'number':
132
- return ECMA_SIZES.NUMBER;
133
- case 'symbol':
134
- return lodash_1.default.isFunction(Symbol.keyFor) && Symbol.keyFor(obj)
135
- ? /** @type {string} */ (Symbol.keyFor(obj)).length * ECMA_SIZES.STRING
136
- : (obj.toString().length - 8) * ECMA_SIZES.STRING;
137
- case 'object':
138
- return lodash_1.default.isArray(obj)
139
- ? obj.map(getCalculator(seen)).reduce((acc, curr) => acc + curr, 0)
140
- : _getSizeOfObject(seen, obj);
141
- default:
142
- return 0;
143
- }
144
- };
145
- }
146
53
  /**
147
54
  * Calculate the in-depth size in memory of the provided object.
148
55
  * The original implementation is borrowed from https://github.com/miktam/sizeof.
149
56
  *
150
- * @param {*} obj An object whose size should be calculated
151
- * @returns {number} Object size in bytes.
57
+ * @param obj - An object whose size should be calculated
58
+ * @returns Object size in bytes.
152
59
  */
153
60
  function getObjectSize(obj) {
154
61
  return getCalculator(new WeakSet())(obj);
155
62
  }
156
- const OBJECTS_MAPPING = new WeakMap();
157
63
  /**
158
64
  * Calculates a unique object identifier
159
65
  *
160
- * @param {object} object Any valid ECMA object
161
- * @returns {string} A uuidV4 string that uniquely identifies given object
66
+ * @param object - Any valid ECMA object
67
+ * @returns A uuidV4 string that uniquely identifies given object
162
68
  */
163
69
  function getObjectId(object) {
164
- if (!OBJECTS_MAPPING.has(object)) {
165
- OBJECTS_MAPPING.set(object, (0, uuid_1.v4)());
70
+ const existing = OBJECTS_MAPPING.get(object);
71
+ if (existing !== undefined) {
72
+ return existing;
166
73
  }
167
- return OBJECTS_MAPPING.get(object);
74
+ const id = (0, uuid_1.v4)();
75
+ OBJECTS_MAPPING.set(object, id);
76
+ return id;
168
77
  }
169
78
  /**
170
79
  * Perform deep freeze of the given object (e. g.
@@ -175,9 +84,8 @@ function getObjectId(object) {
175
84
  * ! This function changes the given object,
176
85
  * so it becomes immutable.
177
86
  *
178
- * @param {*} object Any valid ECMA object
179
- * @returns {*} The same object that was passed to the
180
- * function after it was made immutable.
87
+ * @param object - Any valid ECMA object
88
+ * @returns The same object that was passed after it was made immutable.
181
89
  */
182
90
  function deepFreeze(object) {
183
91
  let propNames;
@@ -199,10 +107,10 @@ function deepFreeze(object) {
199
107
  * Tries to synchronously detect the absolute path to the folder
200
108
  * where the given `moduleName` is located.
201
109
  *
202
- * @param {string} moduleName The name of the module as it is written in package.json
203
- * @param {string} filePath Full path to any of files that `moduleName` contains. Use
110
+ * @param moduleName - The name of the module as it is written in package.json
111
+ * @param filePath - Full path to any of files that `moduleName` contains. Use
204
112
  * `__filename` to find the root of the module where this helper is called.
205
- * @returns {string?} Full path to the module root
113
+ * @returns Full path to the module root, or null if not found
206
114
  */
207
115
  function getModuleRootSync(moduleName, filePath) {
208
116
  let currentDir = node_path_1.default.dirname(node_path_1.default.resolve(filePath));
@@ -215,10 +123,97 @@ function getModuleRootSync(moduleName, filePath) {
215
123
  return currentDir;
216
124
  }
217
125
  }
218
- catch { }
126
+ catch {
127
+ // ignore
128
+ }
219
129
  currentDir = node_path_1.default.dirname(currentDir);
220
130
  isAtFsRoot = currentDir.length <= node_path_1.default.dirname(currentDir).length;
221
131
  }
222
132
  return null;
223
133
  }
134
+ // #region Private
135
+ const ECMA_SIZES = Object.freeze({
136
+ STRING: 2,
137
+ BOOLEAN: 4,
138
+ NUMBER: 8,
139
+ });
140
+ async function linkGlobalPackage(packageName) {
141
+ try {
142
+ logger_1.default.debug(`Linking package '${packageName}'`);
143
+ const cmd = (0, system_1.isWindows)() ? 'npm.cmd' : 'npm';
144
+ await (0, teen_process_1.exec)(cmd, ['link', packageName], { timeout: 20000 });
145
+ }
146
+ catch (err) {
147
+ const e = err;
148
+ const msg = `Unable to load package '${packageName}', linking failed: ${e.message}`;
149
+ logger_1.default.debug(msg);
150
+ if (e.stderr) {
151
+ logger_1.default.debug(e.stderr);
152
+ }
153
+ throw new Error(msg);
154
+ }
155
+ }
156
+ function extractAllProperties(obj) {
157
+ const stringProperties = [];
158
+ for (const prop in obj) {
159
+ stringProperties.push(prop);
160
+ }
161
+ if (lodash_1.default.isFunction(Object.getOwnPropertySymbols)) {
162
+ stringProperties.push(...Object.getOwnPropertySymbols(obj));
163
+ }
164
+ return stringProperties;
165
+ }
166
+ function _getSizeOfObject(seen, object) {
167
+ if (lodash_1.default.isNil(object)) {
168
+ return 0;
169
+ }
170
+ let bytes = 0;
171
+ const properties = extractAllProperties(object);
172
+ const calc = getCalculator(seen);
173
+ for (const key of properties) {
174
+ const val = object[key];
175
+ if (typeof val === 'object' && !lodash_1.default.isNil(val)) {
176
+ if (seen.has(val)) {
177
+ continue;
178
+ }
179
+ seen.add(val);
180
+ }
181
+ bytes += calc(key);
182
+ try {
183
+ bytes += calc(val);
184
+ }
185
+ catch (ex) {
186
+ if (ex instanceof RangeError) {
187
+ bytes = 0;
188
+ }
189
+ }
190
+ }
191
+ return bytes;
192
+ }
193
+ function getCalculator(seen) {
194
+ return function calculator(obj) {
195
+ if (lodash_1.default.isBuffer(obj)) {
196
+ return obj.length;
197
+ }
198
+ switch (typeof obj) {
199
+ case 'string':
200
+ return obj.length * ECMA_SIZES.STRING;
201
+ case 'boolean':
202
+ return ECMA_SIZES.BOOLEAN;
203
+ case 'number':
204
+ return ECMA_SIZES.NUMBER;
205
+ case 'symbol':
206
+ return lodash_1.default.isFunction(Symbol.keyFor) && Symbol.keyFor(obj)
207
+ ? Symbol.keyFor(obj).length * ECMA_SIZES.STRING
208
+ : (obj.toString().length - 8) * ECMA_SIZES.STRING;
209
+ case 'object':
210
+ return lodash_1.default.isArray(obj)
211
+ ? obj.map(getCalculator(seen)).reduce((acc, curr) => acc + curr, 0)
212
+ : _getSizeOfObject(seen, obj);
213
+ default:
214
+ return 0;
215
+ }
216
+ };
217
+ }
218
+ // #endregion
224
219
  //# sourceMappingURL=node.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"node.js","sourceRoot":"","sources":["../../lib/node.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"node.js","sourceRoot":"","sources":["../../lib/node.ts"],"names":[],"mappings":"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"}
@@ -1,126 +1,105 @@
1
+ import type { PackageJson } from 'type-fest';
2
+ import type { StringRecord } from '@appium/types';
3
+ import type { TeenProcessExecOptions } from 'teen_process';
1
4
  /**
2
5
  * Relative path to directory containing any Appium internal files
3
6
  * XXX: this is duplicated in `appium/lib/constants.js`.
4
7
  */
5
- export const CACHE_DIR_RELATIVE_PATH: string;
8
+ export declare const CACHE_DIR_RELATIVE_PATH: string;
6
9
  /**
7
10
  * Relative path to lockfile used when installing an extension via `appium`
8
11
  */
9
- export const INSTALL_LOCKFILE_RELATIVE_PATH: string;
12
+ export declare const INSTALL_LOCKFILE_RELATIVE_PATH: string;
13
+ /** Options for {@link NPM.exec} */
14
+ export interface ExecOpts {
15
+ /** Current working directory */
16
+ cwd: string;
17
+ /** If true, supply `--json` flag to npm and resolve w/ parsed JSON */
18
+ json?: boolean;
19
+ /** Path to lockfile to use */
20
+ lockFile?: string;
21
+ }
22
+ /** Options for {@link NPM.installPackage} */
23
+ export interface InstallPackageOpts {
24
+ /** Name of the package to install */
25
+ pkgName: string;
26
+ /** Whether to install from a local path or from npm */
27
+ installType?: 'local' | string;
28
+ }
29
+ /** Result of {@link NPM.installPackage} */
30
+ export interface NpmInstallReceipt {
31
+ /** Path to installed package */
32
+ installPath: string;
33
+ /** Package data */
34
+ pkg: PackageJson;
35
+ }
36
+ export interface NpmExecResult {
37
+ stdout: string;
38
+ stderr: string;
39
+ code: number | null;
40
+ json?: unknown;
41
+ }
10
42
  /**
11
43
  * XXX: This should probably be a singleton, but it isn't. Maybe this module should just export functions?
12
44
  */
13
- export class NPM {
14
- /**
15
- * Returns path to "install" lockfile
16
- * @private
17
- * @param {string} cwd
18
- */
19
- private _getInstallLockfilePath;
45
+ export declare class NPM {
20
46
  /**
21
47
  * Execute `npm` with given args.
22
48
  *
23
49
  * If the process exits with a nonzero code, the contents of `STDOUT` and `STDERR` will be in the
24
50
  * `message` of any rejected error.
25
- * @param {string} cmd
26
- * @param {string[]} args
27
- * @param {ExecOpts} opts
28
- * @param {Omit<TeenProcessExecOptions, 'cwd'>} [execOpts]
29
51
  */
30
- exec(cmd: string, args: string[], opts: ExecOpts, execOpts?: Omit<TeenProcessExecOptions, "cwd">): Promise<import("teen_process").TeenProcessExecResult<string> & {
31
- json?: any;
32
- }>;
52
+ exec(cmd: string, args: string[], opts: ExecOpts, execOpts?: Omit<TeenProcessExecOptions, 'cwd'>): Promise<NpmExecResult>;
33
53
  /**
34
- * @param {string} cwd
35
- * @param {string} pkg
36
- * @returns {Promise<string?>}
54
+ * Gets the latest published version of a package from npm registry.
55
+ *
56
+ * @param cwd - Current working directory for npm command
57
+ * @param pkg - Package name to query
58
+ * @returns Latest version string, or `null` if package not found (e.g. 404)
37
59
  */
38
60
  getLatestVersion(cwd: string, pkg: string): Promise<string | null>;
39
61
  /**
40
- * @param {string} cwd
41
- * @param {string} pkg
42
- * @param {string} curVersion
43
- * @returns {Promise<string?>}
62
+ * Gets the latest version of a package that is a safe upgrade from the current version
63
+ * (same major, no prereleases). Fetches versions from npm and delegates to
64
+ * {@link NPM.getLatestSafeUpgradeFromVersions}.
65
+ *
66
+ * @param cwd - Current working directory for npm command
67
+ * @param pkg - Package name to query
68
+ * @param curVersion - Current installed version
69
+ * @returns Latest safe upgrade version string, or `null` if none or package not found
44
70
  */
45
71
  getLatestSafeUpgradeVersion(cwd: string, pkg: string, curVersion: string): Promise<string | null>;
46
72
  /**
47
73
  * Runs `npm ls`, optionally for a particular package.
48
- * @param {string} cwd
49
- * @param {string} [pkg]
50
74
  */
51
- list(cwd: string, pkg?: string): Promise<any>;
75
+ list(cwd: string, pkg?: string): Promise<unknown>;
52
76
  /**
53
77
  * Given a current version and a list of all versions for a package, return the version which is
54
78
  * the highest safely-upgradable version (meaning not crossing any major revision boundaries, and
55
79
  * not including any alpha/beta/rc versions)
56
- *
57
- * @param {string} curVersion - the current version of a package
58
- * @param {Array<string>} allVersions - a list of version strings
59
- *
60
- * @return {string|null} - the highest safely-upgradable version, or null if there isn't one
61
80
  */
62
- getLatestSafeUpgradeFromVersions(curVersion: string, allVersions: Array<string>): string | null;
81
+ getLatestSafeUpgradeFromVersions(curVersion: string, allVersions: string[]): string | null;
63
82
  /**
64
83
  * Installs a package w/ `npm`
65
- * @param {string} cwd
66
- * @param {string} installStr - as in "npm install <installStr>"
67
- * @param {InstallPackageOpts} opts
68
- * @returns {Promise<NpmInstallReceipt>}
69
84
  */
70
- installPackage(cwd: string, installStr: string, { pkgName, installType }: InstallPackageOpts): Promise<NpmInstallReceipt>;
85
+ installPackage(cwd: string, installStr: string, opts: InstallPackageOpts): Promise<NpmInstallReceipt>;
71
86
  /**
72
- * @param {string} cwd
73
- * @param {string} pkg
87
+ * Uninstalls a package with `npm uninstall`.
88
+ *
89
+ * @param cwd - Current working directory (project root)
90
+ * @param pkg - Package name to uninstall
74
91
  */
75
92
  uninstallPackage(cwd: string, pkg: string): Promise<void>;
76
93
  /**
77
- * @param {string} pkg Npm package spec to query
78
- * @param {string[]} [entries=[]] Field names to be included into the
79
- * resulting output. By default all fields are included.
80
- * @returns {Promise<import('@appium/types').StringRecord>}
94
+ * Fetches package metadata from the npm registry via `npm info`.
95
+ *
96
+ * @param pkg - Npm package spec to query
97
+ * @param entries - Field names to be included into the resulting output. By default all fields are included.
98
+ * @returns Package metadata as a record of string values
81
99
  */
82
- getPackageInfo(pkg: string, entries?: string[]): Promise<import("@appium/types").StringRecord>;
100
+ getPackageInfo(pkg: string, entries?: string[]): Promise<StringRecord>;
101
+ /** Returns path to "install" lockfile */
102
+ private _getInstallLockfilePath;
83
103
  }
84
- export const npm: NPM;
85
- /**
86
- * Options for {@link NPM.installPackage}
87
- */
88
- export type InstallPackageOpts = {
89
- /**
90
- * - the name of the package to install
91
- */
92
- pkgName: string;
93
- /**
94
- * - whether to install from a local path or from npm
95
- */
96
- installType?: import("type-fest", { with: { "resolution-mode": "import" } }).LiteralUnion<"local", string> | undefined;
97
- };
98
- /**
99
- * Options for {@link NPM.exec}
100
- */
101
- export type ExecOpts = {
102
- /**
103
- * - Current working directory
104
- */
105
- cwd: string;
106
- /**
107
- * - If `true`, supply `--json` flag to npm and resolve w/ parsed JSON
108
- */
109
- json?: boolean | undefined;
110
- /**
111
- * - Path to lockfile to use
112
- */
113
- lockFile?: string | undefined;
114
- };
115
- export type TeenProcessExecOptions = import("teen_process").TeenProcessExecOptions;
116
- export type NpmInstallReceipt = {
117
- /**
118
- * - Path to installed package
119
- */
120
- installPath: string;
121
- /**
122
- * - Package data
123
- */
124
- pkg: import("type-fest").PackageJson;
125
- };
104
+ export declare const npm: NPM;
126
105
  //# sourceMappingURL=npm.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"npm.d.ts","sourceRoot":"","sources":["../../lib/npm.js"],"names":[],"mappings":"AAWA;;;GAGG;AACH,6CAAqF;AAErF;;GAEG;AACH,oDAAkG;AAElG;;GAEG;AACH;IACE;;;;OAIG;IACH,gCAEC;IAED;;;;;;;;;OASG;IACH,UALW,MAAM,QACN,MAAM,EAAE,QACR,QAAQ,aACR,IAAI,CAAC,sBAAsB,EAAE,KAAK,CAAC;eA0B8B,GAAG;OAyB9E;IAED;;;;OAIG;IACH,sBAJW,MAAM,OACN,MAAM,GACJ,OAAO,CAAC,MAAM,OAAC,CAAC,CAkB5B;IAED;;;;;OAKG;IACH,iCALW,MAAM,OACN,MAAM,cACN,MAAM,GACJ,OAAO,CAAC,MAAM,OAAC,CAAC,CAiB5B;IAED;;;;OAIG;IACH,UAHW,MAAM,QACN,MAAM,gBAIhB;IAED;;;;;;;;;OASG;IACH,6CALW,MAAM,eACN,KAAK,CAAC,MAAM,CAAC,GAEZ,MAAM,GAAC,IAAI,CAmCtB;IAED;;;;;;OAMG;IACH,oBALW,MAAM,cACN,MAAM,4BACN,kBAAkB,GAChB,OAAO,CAAC,iBAAiB,CAAC,CAwDtC;IAED;;;OAGG;IACH,sBAHW,MAAM,OACN,MAAM,iBAOhB;IAED;;;;;OAKG;IACH,oBALW,MAAM,YACN,MAAM,EAAE,GAEN,OAAO,CAAC,OAAO,eAAe,EAAE,YAAY,CAAC,CAOzD;CACF;AAED,sBAA6B;;;;;;;;aAKf,MAAM;;;;;;;;;;;;;SAON,MAAM;;;;;;;;;;qCAMP,OAAO,cAAc,EAAE,sBAAsB;;;;;iBAK5C,MAAM;;;;SACN,OAAO,WAAW,EAAE,WAAW"}
1
+ {"version":3,"file":"npm.d.ts","sourceRoot":"","sources":["../../lib/npm.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,WAAW,CAAC;AAC3C,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,eAAe,CAAC;AAGhD,OAAO,KAAK,EAAY,sBAAsB,EAAC,MAAM,cAAc,CAAC;AAMpE;;;GAGG;AACH,eAAO,MAAM,uBAAuB,QAAgD,CAAC;AAErF;;GAEG;AACH,eAAO,MAAM,8BAA8B,QAAsD,CAAC;AAElG,mCAAmC;AACnC,MAAM,WAAW,QAAQ;IACvB,gCAAgC;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,sEAAsE;IACtE,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,8BAA8B;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,6CAA6C;AAC7C,MAAM,WAAW,kBAAkB;IACjC,qCAAqC;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,uDAAuD;IACvD,WAAW,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;CAChC;AAED,2CAA2C;AAC3C,MAAM,WAAW,iBAAiB;IAChC,gCAAgC;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,mBAAmB;IACnB,GAAG,EAAE,WAAW,CAAC;CAClB;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED;;GAEG;AACH,qBAAa,GAAG;IACd;;;;;OAKG;IACG,IAAI,CACR,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EAAE,EACd,IAAI,EAAE,QAAQ,EACd,QAAQ,GAAE,IAAI,CAAC,sBAAsB,EAAE,KAAK,CAAM,GACjD,OAAO,CAAC,aAAa,CAAC;IAyCzB;;;;;;OAMG;IACG,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAaxE;;;;;;;;;OASG;IACG,2BAA2B,CAC/B,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAgBzB;;OAEG;IACG,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAIvD;;;;OAIG;IACH,gCAAgC,CAC9B,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,EAAE,GACpB,MAAM,GAAG,IAAI;IAuBhB;;OAEG;IACG,cAAc,CAClB,GAAG,EAAE,MAAM,EACX,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,kBAAkB,GACvB,OAAO,CAAC,iBAAiB,CAAC;IAiD7B;;;;;OAKG;IACG,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAO/D;;;;;;OAMG;IACG,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE,MAAM,EAAO,GAAG,OAAO,CAAC,YAAY,CAAC;IAQhF,yCAAyC;IACzC,OAAO,CAAC,uBAAuB;CAGhC;AAED,eAAO,MAAM,GAAG,KAAY,CAAC"}