appium-adb 14.1.11 → 14.2.0

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.0](https://github.com/appium/appium-adb/compare/v14.1.11...v14.2.0) (2026-02-01)
2
+
3
+ ### Features
4
+
5
+ * allow single quotes and double quotes to coexist in inputText value ([#862](https://github.com/appium/appium-adb/issues/862)) ([2c8f3d2](https://github.com/appium/appium-adb/commit/2c8f3d2db8eb0f0bfc9e637c41fbe9c6e5719e9d))
6
+
1
7
  ## [14.1.11](https://github.com/appium/appium-adb/compare/v14.1.10...v14.1.11) (2026-01-28)
2
8
 
3
9
  ### Miscellaneous Chores
@@ -64,7 +64,6 @@ export declare function defaultIME(this: ADB): Promise<string | null>;
64
64
  * Noop if the text is empty.
65
65
  *
66
66
  * @param text - The actual text to be sent.
67
- * @throws {Error} If it is impossible to escape the given string
68
67
  */
69
68
  export declare function inputText(this: ADB, text: string | number): Promise<void>;
70
69
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"keyboard-commands.d.ts","sourceRoot":"","sources":["../../../lib/tools/keyboard-commands.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,GAAG,EAAC,MAAM,WAAW,CAAC;AACnC,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,YAAY,CAAC;AAK9C;;;;;;;;GAQG;AACH,wBAAsB,YAAY,CAAC,IAAI,EAAE,GAAG,EAAE,SAAS,GAAE,MAAa,GAAG,OAAO,CAAC,OAAO,CAAC,CAwBxF;AAED;;;;GAIG;AACH,wBAAsB,qBAAqB,CAAC,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,aAAa,CAAC,CAY7E;AAED;;;;GAIG;AACH,wBAAsB,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAIjF;AAED;;;;GAIG;AACH,wBAAsB,aAAa,CAAC,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAOhE;AAED;;;;GAIG;AACH,wBAAsB,WAAW,CAAC,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAO9D;AAED;;;;GAIG;AACH,wBAAsB,SAAS,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAEvE;AAED;;;;GAIG;AACH,wBAAsB,UAAU,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAExE;AAED;;;;GAIG;AACH,wBAAsB,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAEpE;AAED;;;;GAIG;AACH,wBAAsB,UAAU,CAAC,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAWlE;AAED;;;;;;;GAOG;AACH,wBAAsB,SAAS,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAoB/E;AAED;;;;;;;GAOG;AACH,wBAAsB,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CA6BjG"}
1
+ {"version":3,"file":"keyboard-commands.d.ts","sourceRoot":"","sources":["../../../lib/tools/keyboard-commands.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAC,GAAG,EAAC,MAAM,WAAW,CAAC;AACnC,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,YAAY,CAAC;AAK9C;;;;;;;;GAQG;AACH,wBAAsB,YAAY,CAAC,IAAI,EAAE,GAAG,EAAE,SAAS,GAAE,MAAa,GAAG,OAAO,CAAC,OAAO,CAAC,CAwBxF;AAED;;;;GAIG;AACH,wBAAsB,qBAAqB,CAAC,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,aAAa,CAAC,CAY7E;AAED;;;;GAIG;AACH,wBAAsB,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAIjF;AAED;;;;GAIG;AACH,wBAAsB,aAAa,CAAC,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAOhE;AAED;;;;GAIG;AACH,wBAAsB,WAAW,CAAC,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAO9D;AAED;;;;GAIG;AACH,wBAAsB,SAAS,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAEvE;AAED;;;;GAIG;AACH,wBAAsB,UAAU,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAExE;AAED;;;;GAIG;AACH,wBAAsB,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAEpE;AAED;;;;GAIG;AACH,wBAAsB,UAAU,CAAC,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAWlE;AAED;;;;;;GAMG;AACH,wBAAsB,SAAS,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAa/E;AAED;;;;;;;GAOG;AACH,wBAAsB,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CA6BjG"}
@@ -15,7 +15,6 @@ exports.defaultIME = defaultIME;
15
15
  exports.inputText = inputText;
16
16
  exports.runInImeContext = runInImeContext;
17
17
  const logger_js_1 = require("../logger.js");
18
- const lodash_1 = __importDefault(require("lodash"));
19
18
  const asyncbox_1 = require("asyncbox");
20
19
  const bluebird_1 = __importDefault(require("bluebird"));
21
20
  const KEYCODE_ESC = 111;
@@ -157,24 +156,18 @@ async function defaultIME() {
157
156
  * Noop if the text is empty.
158
157
  *
159
158
  * @param text - The actual text to be sent.
160
- * @throws {Error} If it is impossible to escape the given string
161
159
  */
162
160
  async function inputText(text) {
163
161
  if (text === '') {
164
162
  return;
165
163
  }
166
164
  const originalStr = `${text}`;
167
- const escapedText = originalStr.replace(/\$/g, '\\$').replace(/ /g, '%s');
168
- let args = ['input', 'text', originalStr];
169
165
  // https://stackoverflow.com/questions/25791423/adb-shell-input-text-does-not-take-ampersand-character/25791498
170
- const adbInputEscapePattern = /[()<>|;&*\\~^"']/g;
171
- if (escapedText !== originalStr || adbInputEscapePattern.test(originalStr)) {
172
- if (lodash_1.default.every(['"', `'`], (c) => originalStr.includes(c))) {
173
- throw new Error(`Did not know how to escape a string that contains both types of quotes (" and ')`);
174
- }
175
- const q = originalStr.includes('"') ? `'` : '"';
176
- args = [`input text ${q}${escapedText}${q}`];
177
- }
166
+ const adbInputEscapePattern = /[()<>|;&*\\~^"'$`]/g;
167
+ const escapedText = originalStr.replace(adbInputEscapePattern, '\\$&').replace(/ /g, '%s');
168
+ // https://stackoverflow.com/questions/44338191/android-adb-shell-input-text-apostrophe-signal
169
+ const q = "''";
170
+ const args = ['input', 'text', `${q}${escapedText}${q}`];
178
171
  await this.shell(args);
179
172
  }
180
173
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"keyboard-commands.js","sourceRoot":"","sources":["../../../lib/tools/keyboard-commands.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"keyboard-commands.js","sourceRoot":"","sources":["../../../lib/tools/keyboard-commands.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,4 @@
1
1
  import {log} from '../logger.js';
2
- import _ from 'lodash';
3
2
  import {waitForCondition} from 'asyncbox';
4
3
  import B from 'bluebird';
5
4
  import type {ADB} from '../adb.js';
@@ -152,7 +151,6 @@ export async function defaultIME(this: ADB): Promise<string | null> {
152
151
  * Noop if the text is empty.
153
152
  *
154
153
  * @param text - The actual text to be sent.
155
- * @throws {Error} If it is impossible to escape the given string
156
154
  */
157
155
  export async function inputText(this: ADB, text: string | number): Promise<void> {
158
156
  if (text === '') {
@@ -160,19 +158,12 @@ export async function inputText(this: ADB, text: string | number): Promise<void>
160
158
  }
161
159
 
162
160
  const originalStr = `${text}`;
163
- const escapedText = originalStr.replace(/\$/g, '\\$').replace(/ /g, '%s');
164
- let args: string[] = ['input', 'text', originalStr];
165
161
  // https://stackoverflow.com/questions/25791423/adb-shell-input-text-does-not-take-ampersand-character/25791498
166
- const adbInputEscapePattern = /[()<>|;&*\\~^"']/g;
167
- if (escapedText !== originalStr || adbInputEscapePattern.test(originalStr)) {
168
- if (_.every(['"', `'`], (c) => originalStr.includes(c))) {
169
- throw new Error(
170
- `Did not know how to escape a string that contains both types of quotes (" and ')`,
171
- );
172
- }
173
- const q = originalStr.includes('"') ? `'` : '"';
174
- args = [`input text ${q}${escapedText}${q}`];
175
- }
162
+ const adbInputEscapePattern = /[()<>|;&*\\~^"'$`]/g;
163
+ const escapedText = originalStr.replace(adbInputEscapePattern, '\\$&').replace(/ /g, '%s');
164
+ // https://stackoverflow.com/questions/44338191/android-adb-shell-input-text-apostrophe-signal
165
+ const q = "''";
166
+ const args = ['input', 'text', `${q}${escapedText}${q}`];
176
167
  await this.shell(args);
177
168
  }
178
169
 
@@ -233,4 +224,3 @@ function getIMEListFromOutput(stdout: string): string[] {
233
224
  }
234
225
 
235
226
  // #endregion
236
-
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "appium-adb",
3
- "version": "14.1.11",
3
+ "version": "14.2.0",
4
4
  "description": "Android Debug Bridge interface",
5
5
  "main": "./build/index.js",
6
6
  "scripts": {