appium-adb 14.2.0 → 14.2.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/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
## [14.2.1](https://github.com/appium/appium-adb/compare/v14.2.0...v14.2.1) (2026-02-06)
|
|
2
|
+
|
|
3
|
+
### Miscellaneous Chores
|
|
4
|
+
|
|
5
|
+
* extract the single quote logic and simplify a bit + added tests ([#863](https://github.com/appium/appium-adb/issues/863)) ([7ffc1ce](https://github.com/appium/appium-adb/commit/7ffc1ce80f7ab01850db1e876921d55fafbdb37f))
|
|
6
|
+
|
|
1
7
|
## [14.2.0](https://github.com/appium/appium-adb/compare/v14.1.11...v14.2.0) (2026-02-01)
|
|
2
8
|
|
|
3
9
|
### Features
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fs-commands.d.ts","sourceRoot":"","sources":["../../../lib/tools/fs-commands.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,GAAG,EAAC,MAAM,WAAW,CAAC;AACnC,OAAO,KAAK,EAAC,sBAAsB,EAAC,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"fs-commands.d.ts","sourceRoot":"","sources":["../../../lib/tools/fs-commands.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,GAAG,EAAC,MAAM,WAAW,CAAC;AACnC,OAAO,KAAK,EAAC,sBAAsB,EAAC,MAAM,cAAc,CAAC;AAMzD;;;;;GAKG;AACH,wBAAsB,UAAU,CAAC,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAQhF;AAED;;;;;;;;GAQG;AACH,wBAAsB,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,GAAE,MAAM,EAAO,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAe9F;AAED;;;;;;GAMG;AACH,wBAAsB,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAe7E;AAED;;;;;GAKG;AACH,wBAAsB,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAEnE;AAED;;;;;;;;;GASG;AACH,wBAAsB,IAAI,CACxB,IAAI,EAAE,GAAG,EACT,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,IAAI,CAAC,EAAE,sBAAsB,GAC5B,OAAO,CAAC,IAAI,CAAC,CAGf;AAED;;;;;;;;;GASG;AACH,wBAAsB,IAAI,CACxB,IAAI,EAAE,GAAG,EACT,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,IAAI,GAAE,sBAA2B,GAChC,OAAO,CAAC,IAAI,CAAC,CAGf;AAED;;;;;GAKG;AACH,wBAAsB,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAE1E"}
|
|
@@ -12,6 +12,9 @@ exports.pull = pull;
|
|
|
12
12
|
exports.mkdir = mkdir;
|
|
13
13
|
const lodash_1 = __importDefault(require("lodash"));
|
|
14
14
|
const node_path_1 = __importDefault(require("node:path"));
|
|
15
|
+
function shellEscapeSingleQuotes(str) {
|
|
16
|
+
return str.replace(/'/g, "'\\''");
|
|
17
|
+
}
|
|
15
18
|
/**
|
|
16
19
|
* Verify whether a remote path exists on the device under test.
|
|
17
20
|
*
|
|
@@ -20,7 +23,7 @@ const node_path_1 = __importDefault(require("node:path"));
|
|
|
20
23
|
*/
|
|
21
24
|
async function fileExists(remotePath) {
|
|
22
25
|
const passFlag = '__PASS__';
|
|
23
|
-
const checkCmd = `[ -e '${remotePath
|
|
26
|
+
const checkCmd = `[ -e '${shellEscapeSingleQuotes(remotePath)}' ] && echo ${passFlag}`;
|
|
24
27
|
try {
|
|
25
28
|
return lodash_1.default.includes(await this.shell([checkCmd]), passFlag);
|
|
26
29
|
}
|
|
@@ -122,8 +125,6 @@ async function pull(remotePath, localPath, opts = {}) {
|
|
|
122
125
|
* @return mkdir command output.
|
|
123
126
|
*/
|
|
124
127
|
async function mkdir(remotePath) {
|
|
125
|
-
return
|
|
126
|
-
? await this.shell([`mkdir -p '${remotePath.replace(/'/g, `\\'`)}'`])
|
|
127
|
-
: await this.shell(['mkdir', '-p', remotePath]);
|
|
128
|
+
return await this.shell([`mkdir -p -- '${shellEscapeSingleQuotes(remotePath)}'`]);
|
|
128
129
|
}
|
|
129
130
|
//# sourceMappingURL=fs-commands.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fs-commands.js","sourceRoot":"","sources":["../../../lib/tools/fs-commands.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"fs-commands.js","sourceRoot":"","sources":["../../../lib/tools/fs-commands.ts"],"names":[],"mappings":"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"}
|
package/lib/tools/fs-commands.ts
CHANGED
|
@@ -3,6 +3,10 @@ import path from 'node:path';
|
|
|
3
3
|
import type {ADB} from '../adb.js';
|
|
4
4
|
import type {TeenProcessExecOptions} from 'teen_process';
|
|
5
5
|
|
|
6
|
+
function shellEscapeSingleQuotes(str: string): string {
|
|
7
|
+
return str.replace(/'/g, "'\\''");
|
|
8
|
+
}
|
|
9
|
+
|
|
6
10
|
/**
|
|
7
11
|
* Verify whether a remote path exists on the device under test.
|
|
8
12
|
*
|
|
@@ -11,7 +15,7 @@ import type {TeenProcessExecOptions} from 'teen_process';
|
|
|
11
15
|
*/
|
|
12
16
|
export async function fileExists(this: ADB, remotePath: string): Promise<boolean> {
|
|
13
17
|
const passFlag = '__PASS__';
|
|
14
|
-
const checkCmd = `[ -e '${remotePath
|
|
18
|
+
const checkCmd = `[ -e '${shellEscapeSingleQuotes(remotePath)}' ] && echo ${passFlag}`;
|
|
15
19
|
try {
|
|
16
20
|
return _.includes(await this.shell([checkCmd]), passFlag);
|
|
17
21
|
} catch {
|
|
@@ -126,8 +130,5 @@ export async function pull(
|
|
|
126
130
|
* @return mkdir command output.
|
|
127
131
|
*/
|
|
128
132
|
export async function mkdir(this: ADB, remotePath: string): Promise<string> {
|
|
129
|
-
return
|
|
130
|
-
? await this.shell([`mkdir -p '${remotePath.replace(/'/g, `\\'`)}'`])
|
|
131
|
-
: await this.shell(['mkdir', '-p', remotePath]);
|
|
133
|
+
return await this.shell([`mkdir -p -- '${shellEscapeSingleQuotes(remotePath)}'`]);
|
|
132
134
|
}
|
|
133
|
-
|