@appium/base-driver 10.5.2 → 10.7.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.
Files changed (189) hide show
  1. package/build/lib/basedriver/capabilities.d.ts +1 -1
  2. package/build/lib/basedriver/capabilities.d.ts.map +1 -1
  3. package/build/lib/basedriver/capabilities.js +58 -50
  4. package/build/lib/basedriver/capabilities.js.map +1 -1
  5. package/build/lib/basedriver/commands/bidi.d.ts.map +1 -1
  6. package/build/lib/basedriver/commands/bidi.js +10 -14
  7. package/build/lib/basedriver/commands/bidi.js.map +1 -1
  8. package/build/lib/basedriver/commands/event.d.ts.map +1 -1
  9. package/build/lib/basedriver/commands/event.js +4 -7
  10. package/build/lib/basedriver/commands/event.js.map +1 -1
  11. package/build/lib/basedriver/commands/execute.js +3 -6
  12. package/build/lib/basedriver/commands/execute.js.map +1 -1
  13. package/build/lib/basedriver/commands/find.d.ts.map +1 -1
  14. package/build/lib/basedriver/commands/find.js +2 -1
  15. package/build/lib/basedriver/commands/find.js.map +1 -1
  16. package/build/lib/basedriver/commands/log.d.ts.map +1 -1
  17. package/build/lib/basedriver/commands/log.js +1 -5
  18. package/build/lib/basedriver/commands/log.js.map +1 -1
  19. package/build/lib/basedriver/commands/timeout.d.ts.map +1 -1
  20. package/build/lib/basedriver/commands/timeout.js +9 -13
  21. package/build/lib/basedriver/commands/timeout.js.map +1 -1
  22. package/build/lib/basedriver/core.d.ts.map +1 -1
  23. package/build/lib/basedriver/core.js +17 -14
  24. package/build/lib/basedriver/core.js.map +1 -1
  25. package/build/lib/basedriver/device-settings.d.ts.map +1 -1
  26. package/build/lib/basedriver/device-settings.js +3 -7
  27. package/build/lib/basedriver/device-settings.js.map +1 -1
  28. package/build/lib/basedriver/driver.d.ts.map +1 -1
  29. package/build/lib/basedriver/driver.js +34 -38
  30. package/build/lib/basedriver/driver.js.map +1 -1
  31. package/build/lib/basedriver/extension-core.d.ts +4 -1
  32. package/build/lib/basedriver/extension-core.d.ts.map +1 -1
  33. package/build/lib/basedriver/extension-core.js +37 -13
  34. package/build/lib/basedriver/extension-core.js.map +1 -1
  35. package/build/lib/basedriver/helpers.d.ts.map +1 -1
  36. package/build/lib/basedriver/helpers.js +47 -33
  37. package/build/lib/basedriver/helpers.js.map +1 -1
  38. package/build/lib/basedriver/ipc.d.ts +36 -0
  39. package/build/lib/basedriver/ipc.d.ts.map +1 -0
  40. package/build/lib/basedriver/ipc.js +157 -0
  41. package/build/lib/basedriver/ipc.js.map +1 -0
  42. package/build/lib/basedriver/validation.d.ts.map +1 -1
  43. package/build/lib/basedriver/validation.js +27 -29
  44. package/build/lib/basedriver/validation.js.map +1 -1
  45. package/build/lib/express/express-logging.d.ts +0 -1
  46. package/build/lib/express/express-logging.d.ts.map +1 -1
  47. package/build/lib/express/express-logging.js +11 -11
  48. package/build/lib/express/express-logging.js.map +1 -1
  49. package/build/lib/express/idempotency.js +3 -6
  50. package/build/lib/express/idempotency.js.map +1 -1
  51. package/build/lib/express/middleware.d.ts.map +1 -1
  52. package/build/lib/express/middleware.js +6 -10
  53. package/build/lib/express/middleware.js.map +1 -1
  54. package/build/lib/express/server.d.ts +1 -1
  55. package/build/lib/express/server.d.ts.map +1 -1
  56. package/build/lib/express/server.js +82 -73
  57. package/build/lib/express/server.js.map +1 -1
  58. package/build/lib/express/websocket.d.ts.map +1 -1
  59. package/build/lib/express/websocket.js +6 -9
  60. package/build/lib/express/websocket.js.map +1 -1
  61. package/build/lib/helpers/capabilities.d.ts.map +1 -1
  62. package/build/lib/helpers/capabilities.js +14 -17
  63. package/build/lib/helpers/capabilities.js.map +1 -1
  64. package/build/lib/helpers/extension-command-name.js +2 -5
  65. package/build/lib/helpers/extension-command-name.js.map +1 -1
  66. package/build/lib/helpers/levenshtein-match.d.ts.map +1 -1
  67. package/build/lib/helpers/levenshtein-match.js +6 -7
  68. package/build/lib/helpers/levenshtein-match.js.map +1 -1
  69. package/build/lib/index.d.ts +2 -1
  70. package/build/lib/index.d.ts.map +1 -1
  71. package/build/lib/index.js +6 -16
  72. package/build/lib/index.js.map +1 -1
  73. package/build/lib/jsonwp-proxy/protocol-converter.d.ts.map +1 -1
  74. package/build/lib/jsonwp-proxy/protocol-converter.js +21 -18
  75. package/build/lib/jsonwp-proxy/protocol-converter.js.map +1 -1
  76. package/build/lib/jsonwp-proxy/proxy-request.d.ts +2 -2
  77. package/build/lib/jsonwp-proxy/proxy-request.d.ts.map +1 -1
  78. package/build/lib/jsonwp-proxy/proxy-request.js +25 -21
  79. package/build/lib/jsonwp-proxy/proxy-request.js.map +1 -1
  80. package/build/lib/jsonwp-proxy/proxy.d.ts.map +1 -1
  81. package/build/lib/jsonwp-proxy/proxy.js +45 -36
  82. package/build/lib/jsonwp-proxy/proxy.js.map +1 -1
  83. package/build/lib/protocol/errors.d.ts.map +1 -1
  84. package/build/lib/protocol/errors.js +33 -37
  85. package/build/lib/protocol/errors.js.map +1 -1
  86. package/build/lib/protocol/helpers.d.ts.map +1 -1
  87. package/build/lib/protocol/helpers.js +9 -8
  88. package/build/lib/protocol/helpers.js.map +1 -1
  89. package/build/lib/protocol/protocol.d.ts +1 -1
  90. package/build/lib/protocol/protocol.d.ts.map +1 -1
  91. package/build/lib/protocol/protocol.js +73 -61
  92. package/build/lib/protocol/protocol.js.map +1 -1
  93. package/build/lib/protocol/routes.d.ts +1 -1
  94. package/build/lib/protocol/routes.d.ts.map +1 -1
  95. package/build/lib/protocol/routes.js +16 -17
  96. package/build/lib/protocol/routes.js.map +1 -1
  97. package/build/lib/protocol/validators.d.ts.map +1 -1
  98. package/build/lib/protocol/validators.js +1 -5
  99. package/build/lib/protocol/validators.js.map +1 -1
  100. package/build/lib/test-pages/crash.d.ts.map +1 -0
  101. package/build/lib/test-pages/crash.js.map +1 -0
  102. package/build/lib/test-pages/env.d.ts +5 -0
  103. package/build/lib/test-pages/env.d.ts.map +1 -0
  104. package/build/lib/test-pages/env.js +12 -0
  105. package/build/lib/test-pages/env.js.map +1 -0
  106. package/build/lib/{express/static.d.ts → test-pages/handlers.d.ts} +1 -2
  107. package/build/lib/test-pages/handlers.d.ts.map +1 -0
  108. package/build/lib/{express/static.js → test-pages/handlers.js} +9 -12
  109. package/build/lib/test-pages/handlers.js.map +1 -0
  110. package/build/lib/test-pages/index.d.ts +6 -0
  111. package/build/lib/test-pages/index.d.ts.map +1 -0
  112. package/build/lib/test-pages/index.js +35 -0
  113. package/build/lib/test-pages/index.js.map +1 -0
  114. package/build/lib/test-pages/static-dir.d.ts +8 -0
  115. package/build/lib/test-pages/static-dir.d.ts.map +1 -0
  116. package/build/lib/test-pages/static-dir.js +24 -0
  117. package/build/lib/test-pages/static-dir.js.map +1 -0
  118. package/build/lib/test-pages/template.d.ts +3 -0
  119. package/build/lib/test-pages/template.d.ts.map +1 -0
  120. package/build/lib/test-pages/template.js +19 -0
  121. package/build/lib/test-pages/template.js.map +1 -0
  122. package/build/lib/utils.d.ts +14 -0
  123. package/build/lib/utils.d.ts.map +1 -0
  124. package/build/lib/utils.js +55 -0
  125. package/build/lib/utils.js.map +1 -0
  126. package/lib/basedriver/capabilities.ts +126 -115
  127. package/lib/basedriver/commands/bidi.ts +11 -11
  128. package/lib/basedriver/commands/event.ts +17 -11
  129. package/lib/basedriver/commands/execute.ts +15 -12
  130. package/lib/basedriver/commands/find.ts +20 -12
  131. package/lib/basedriver/commands/log.ts +4 -3
  132. package/lib/basedriver/commands/timeout.ts +22 -14
  133. package/lib/basedriver/core.ts +26 -26
  134. package/lib/basedriver/device-settings.ts +7 -12
  135. package/lib/basedriver/driver.ts +62 -50
  136. package/lib/basedriver/extension-core.ts +60 -18
  137. package/lib/basedriver/helpers.ts +81 -52
  138. package/lib/basedriver/ipc.ts +198 -0
  139. package/lib/basedriver/validation.ts +37 -30
  140. package/lib/express/express-logging.ts +16 -20
  141. package/lib/express/idempotency.ts +9 -9
  142. package/lib/express/middleware.ts +14 -18
  143. package/lib/express/server.ts +118 -120
  144. package/lib/express/websocket.ts +11 -15
  145. package/lib/helpers/capabilities.ts +21 -16
  146. package/lib/helpers/extension-command-name.ts +3 -3
  147. package/lib/helpers/levenshtein-match.ts +20 -14
  148. package/lib/index.js +3 -12
  149. package/lib/jsonwp-proxy/protocol-converter.ts +58 -35
  150. package/lib/jsonwp-proxy/proxy-request.ts +26 -26
  151. package/lib/jsonwp-proxy/proxy.ts +74 -75
  152. package/lib/protocol/errors.ts +69 -88
  153. package/lib/protocol/helpers.ts +9 -5
  154. package/lib/protocol/protocol.ts +149 -107
  155. package/lib/protocol/routes.ts +17 -17
  156. package/lib/protocol/validators.ts +1 -3
  157. package/lib/test-pages/env.ts +9 -0
  158. package/lib/{express/static.ts → test-pages/handlers.ts} +10 -22
  159. package/lib/test-pages/index.ts +34 -0
  160. package/lib/test-pages/static-dir.ts +19 -0
  161. package/lib/test-pages/template.ts +17 -0
  162. package/lib/utils.ts +65 -0
  163. package/package.json +10 -13
  164. package/tsconfig.json +1 -0
  165. package/build/lib/express/crash.d.ts.map +0 -1
  166. package/build/lib/express/crash.js.map +0 -1
  167. package/build/lib/express/static.d.ts.map +0 -1
  168. package/build/lib/express/static.js.map +0 -1
  169. /package/build/lib/{express → test-pages}/crash.d.ts +0 -0
  170. /package/build/lib/{express → test-pages}/crash.js +0 -0
  171. /package/lib/{express → test-pages}/crash.ts +0 -0
  172. /package/{static → test-fixtures/static}/appium.png +0 -0
  173. /package/{static → test-fixtures/static}/favicon.ico +0 -0
  174. /package/{static → test-fixtures/static}/js/jquery.min.js +0 -0
  175. /package/{static → test-fixtures/static}/test/frameset.html +0 -0
  176. /package/{static → test-fixtures/static}/test/guinea-pig-app-banner.html +0 -0
  177. /package/{static → test-fixtures/static}/test/guinea-pig-scrollable.html +0 -0
  178. /package/{static → test-fixtures/static}/test/guinea-pig.html +0 -0
  179. /package/{static → test-fixtures/static}/test/guinea-pig2.html +0 -0
  180. /package/{static → test-fixtures/static}/test/guinea-pig3.html +0 -0
  181. /package/{static → test-fixtures/static}/test/guinea-pig4.html +0 -0
  182. /package/{static → test-fixtures/static}/test/guinea-pig5.html +0 -0
  183. /package/{static → test-fixtures/static}/test/iframes.html +0 -0
  184. /package/{static → test-fixtures/static}/test/shadow-dom.html +0 -0
  185. /package/{static → test-fixtures/static}/test/subframe1.html +0 -0
  186. /package/{static → test-fixtures/static}/test/subframe2.html +0 -0
  187. /package/{static → test-fixtures/static}/test/subframe3.html +0 -0
  188. /package/{static → test-fixtures/static}/test/touch.html +0 -0
  189. /package/{static → test-fixtures/static}/test/welcome.html +0 -0
@@ -1,5 +1,3 @@
1
- import _ from 'lodash';
2
-
3
1
  export const validators = {
4
2
  setUrl: (url: any) => {
5
3
  // either an `xyz://`, `about:`, or `data:` scheme is allowed
@@ -15,5 +13,5 @@ export const validators = {
15
13
  };
16
14
 
17
15
  function isNumber(o: any): o is number {
18
- return _.isNumber(o) || !_.isNaN(parseInt(o, 10)) || !_.isNaN(parseFloat(o));
16
+ return typeof o === 'number' || !Number.isNaN(parseInt(o, 10)) || !Number.isNaN(parseFloat(o));
19
17
  }
@@ -0,0 +1,9 @@
1
+ /** Environment variable that opts into deprecated built-in test pages on the Appium server. */
2
+ export const LEGACY_TEST_PAGES_ENV = 'APPIUM_ENABLE_LEGACY_TEST_PAGES';
3
+
4
+ const TRUTHY = new Set(['1', 'true', 'yes']);
5
+
6
+ /** @returns Whether built-in legacy test pages should be mounted on the Appium server. */
7
+ export function isLegacyTestPagesEnabled(): boolean {
8
+ return TRUTHY.has(String(process.env[LEGACY_TEST_PAGES_ENV] ?? '').toLowerCase());
9
+ }
@@ -1,13 +1,10 @@
1
1
  import path from 'node:path';
2
- import {log} from './logger';
3
- import _ from 'lodash';
2
+ import {log} from '../express/logger';
4
3
  import {fs} from '@appium/support';
5
- import B from 'bluebird';
4
+ import {sleep} from 'asyncbox';
6
5
  import type {Request, Response} from 'express';
7
-
8
- export const STATIC_DIR = _.isNull(path.resolve(__dirname).match(/build[/\\]lib[/\\]express$/))
9
- ? path.resolve(__dirname, '..', '..', 'static')
10
- : path.resolve(__dirname, '..', '..', '..', 'static');
6
+ import {compileLodashTemplate} from './template';
7
+ import {TEST_FIXTURES_DIR} from './static-dir';
11
8
 
12
9
  type TemplateParams = Record<string, unknown>;
13
10
 
@@ -34,15 +31,8 @@ export async function welcome(req: Request, res: Response): Promise<void> {
34
31
  res.send(template(params));
35
32
  }
36
33
 
37
- async function guineaPigTemplate(
38
- req: Request,
39
- res: Response,
40
- page: string
41
- ): Promise<void> {
42
- const delay = parseInt(
43
- String(req.params.delay ?? (req.query?.delay ?? 0)),
44
- 10
45
- );
34
+ async function guineaPigTemplate(req: Request, res: Response, page: string): Promise<void> {
35
+ const delay = parseInt(String(req.params.delay ?? req.query?.delay ?? 0), 10);
46
36
  const throwError = String(req.params.throwError ?? req.query?.throwError ?? '');
47
37
  const params: TemplateParams = {
48
38
  throwError,
@@ -56,7 +46,7 @@ async function guineaPigTemplate(
56
46
  log.debug(`Sending guinea pig response with params: ${JSON.stringify(params)}`);
57
47
  if (delay) {
58
48
  log.debug(`Waiting ${delay}ms before responding`);
59
- await B.delay(delay);
49
+ await sleep(delay);
60
50
  }
61
51
  res.set('content-type', 'text/html');
62
52
  res.cookie('guineacookie1', 'i am a cookie value', {path: '/'});
@@ -69,9 +59,7 @@ async function guineaPigTemplate(
69
59
  res.send(template(params));
70
60
  }
71
61
 
72
- async function getTemplate(
73
- templateName: string
74
- ): Promise<(params: TemplateParams) => string> {
75
- const content = await fs.readFile(path.resolve(STATIC_DIR, 'test', templateName));
76
- return _.template(content.toString()) as (params: TemplateParams) => string;
62
+ async function getTemplate(templateName: string): Promise<(params: TemplateParams) => string> {
63
+ const content = await fs.readFile(path.resolve(TEST_FIXTURES_DIR, 'test', templateName));
64
+ return compileLodashTemplate(content.toString());
77
65
  }
@@ -0,0 +1,34 @@
1
+ import path from 'node:path';
2
+ import express from 'express';
3
+ import type {Express} from 'express';
4
+ import favicon from 'serve-favicon';
5
+ import {guineaPig, guineaPigScrollable, guineaPigAppBanner, welcome} from './handlers';
6
+ import {produceError, produceCrash} from './crash';
7
+ import {TEST_FIXTURES_DIR} from './static-dir';
8
+
9
+ export interface RegisterTestPagesOpts {
10
+ basePath: string;
11
+ }
12
+
13
+ /**
14
+ * Mount deprecated built-in test pages and crash routes on an Express app.
15
+ *
16
+ * @deprecated Built-in test pages on the Appium server are deprecated and will be removed in
17
+ * Appium 4. Driver CI should hard-copy needed fixtures and run a local test HTTP server.
18
+ * @internal
19
+ */
20
+ export function registerTestPages(app: Express, {basePath}: RegisterTestPagesOpts): void {
21
+ app.use(favicon(path.resolve(TEST_FIXTURES_DIR, 'favicon.ico')));
22
+ app.use(express.static(TEST_FIXTURES_DIR));
23
+
24
+ app.use(`${basePath}/produce_error`, produceError);
25
+ app.use(`${basePath}/crash`, produceCrash);
26
+
27
+ app.all('/welcome', welcome);
28
+ app.all('/test/guinea-pig', guineaPig);
29
+ app.all('/test/guinea-pig-scrollable', guineaPigScrollable);
30
+ app.all('/test/guinea-pig-app-banner', guineaPigAppBanner);
31
+ }
32
+
33
+ export {TEST_FIXTURES_DIR} from './static-dir';
34
+ export {isLegacyTestPagesEnabled} from './env';
@@ -0,0 +1,19 @@
1
+ import path from 'node:path';
2
+
3
+ /**
4
+ * Absolute path to bundled legacy test fixture static files.
5
+ *
6
+ * @deprecated Removed in Appium 4. Test fixture files will live in the appium/test-fixtures
7
+ * repository. Do not depend on this path in driver CI — hard-copy needed files locally.
8
+ */
9
+ export const TEST_FIXTURES_DIR = resolveTestFixturesDir();
10
+
11
+ function resolveTestFixturesDir(): string {
12
+ const fromDir = __dirname;
13
+ const parts = path.resolve(fromDir).split(path.sep);
14
+ const baseDriverIndex = parts.indexOf('base-driver');
15
+ if (baseDriverIndex < 0) {
16
+ throw new Error(`Could not find the module root folder in the path: ${fromDir}`);
17
+ }
18
+ return path.join(parts.slice(0, baseDriverIndex + 1).join(path.sep), 'test-fixtures', 'static');
19
+ }
@@ -0,0 +1,17 @@
1
+ /** Compile a lodash-style template string (`<%= expression %>`) into a render function. */
2
+ export function compileLodashTemplate(
3
+ template: string,
4
+ ): (params: Record<string, unknown>) => string {
5
+ const parts: string[] = [];
6
+ let lastIndex = 0;
7
+ const re = /<%=\s*([\s\S]+?)\s*%>/g;
8
+ let match;
9
+ while ((match = re.exec(template)) !== null) {
10
+ parts.push(JSON.stringify(template.slice(lastIndex, match.index)));
11
+ parts.push(`String(${match[1]})`);
12
+ lastIndex = match.index + match[0].length;
13
+ }
14
+ parts.push(JSON.stringify(template.slice(lastIndex)));
15
+ const fn = new Function('obj', `with (obj) { return ${parts.join(' + ')}; }`);
16
+ return (params) => fn(params) as string;
17
+ }
package/lib/utils.ts ADDED
@@ -0,0 +1,65 @@
1
+ import {util} from '@appium/support';
2
+
3
+ /**
4
+ * Deep-merge plain objects into a clone of `target`. Skips null/undefined sources.
5
+ * Non-plain values on a key replace the previous value (same as lodash merge for objects).
6
+ */
7
+ export function mergePlainObjects<T extends Record<string, unknown>>(
8
+ target: T,
9
+ ...sources: Array<Partial<T> | undefined>
10
+ ): T {
11
+ const result = structuredClone(target);
12
+ for (const source of sources) {
13
+ if (source == null) {
14
+ continue;
15
+ }
16
+ for (const [key, value] of Object.entries(source)) {
17
+ const existing = result[key as keyof T];
18
+ if (util.isPlainObject(existing) && util.isPlainObject(value)) {
19
+ result[key as keyof T] = mergePlainObjects(
20
+ existing as Record<string, unknown>,
21
+ value as Record<string, unknown>,
22
+ ) as T[keyof T];
23
+ } else if (value !== undefined) {
24
+ result[key as keyof T] = value as T[keyof T];
25
+ }
26
+ }
27
+ }
28
+ return result;
29
+ }
30
+
31
+ /** Return a shallow copy of `obj` without `key`. Non-objects are returned unchanged. */
32
+ export function omit<T extends Record<string, unknown>>(obj: T, key: string): T {
33
+ if (!util.isPlainObject(obj)) {
34
+ return obj;
35
+ }
36
+ return Object.fromEntries(Object.entries(obj).filter(([k]) => k !== key)) as T;
37
+ }
38
+
39
+ /** Return a shallow copy of `obj` without any of `keys`. */
40
+ export function omitKeys<T extends Record<string, unknown>>(obj: T, keys: readonly string[]): T {
41
+ if (!util.isPlainObject(obj) || keys.length === 0) {
42
+ return obj;
43
+ }
44
+ const keysToOmit = new Set(keys);
45
+ return Object.fromEntries(Object.entries(obj).filter(([k]) => !keysToOmit.has(k))) as T;
46
+ }
47
+
48
+ /** Return a shallow copy of `obj` containing only listed keys. */
49
+ export function pick<T extends Record<string, unknown>>(
50
+ obj: T,
51
+ keys: readonly string[],
52
+ ): Partial<T> {
53
+ const keysToPick = new Set(keys);
54
+ return Object.fromEntries(Object.entries(obj).filter(([k]) => keysToPick.has(k))) as Partial<T>;
55
+ }
56
+
57
+ /** Return a shallow copy of `obj` whose entries pass `predicate`. */
58
+ export function pickBy<T extends Record<string, unknown>>(
59
+ obj: T,
60
+ predicate: (value: T[keyof T], key: keyof T) => boolean,
61
+ ): Partial<T> {
62
+ return Object.fromEntries(
63
+ Object.entries(obj).filter(([key, value]) => predicate(value as T[keyof T], key as keyof T)),
64
+ ) as Partial<T>;
65
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@appium/base-driver",
3
- "version": "10.5.2",
3
+ "version": "10.7.0",
4
4
  "description": "Base driver class for Appium drivers",
5
5
  "keywords": [
6
6
  "automation",
@@ -31,7 +31,7 @@
31
31
  "index.js",
32
32
  "index.d.ts",
33
33
  "lib",
34
- "static",
34
+ "test-fixtures",
35
35
  "build",
36
36
  "tsconfig.json",
37
37
  "!build/tsconfig.tsbuildinfo",
@@ -45,24 +45,21 @@
45
45
  "test:types": "tsd"
46
46
  },
47
47
  "dependencies": {
48
- "@appium/support": "7.2.2",
49
- "@appium/types": "1.4.0",
50
- "@colors/colors": "1.6.0",
48
+ "@appium/support": "7.2.4",
49
+ "@appium/types": "1.5.1",
51
50
  "async-lock": "1.4.1",
52
- "asyncbox": "6.2.0",
53
- "axios": "1.16.0",
54
- "bluebird": "3.7.2",
51
+ "asyncbox": "6.3.0",
52
+ "axios": "1.17.0",
55
53
  "body-parser": "2.2.2",
56
54
  "express": "5.2.1",
57
55
  "fastest-levenshtein": "1.0.16",
58
56
  "http-status-codes": "2.3.0",
59
- "lodash": "4.18.1",
60
- "lru-cache": "11.3.5",
57
+ "lru-cache": "11.5.1",
61
58
  "method-override": "3.0.0",
62
- "morgan": "1.10.1",
59
+ "morgan": "1.11.0",
63
60
  "path-to-regexp": "8.4.2",
64
61
  "serve-favicon": "2.5.1",
65
- "type-fest": "5.6.0"
62
+ "type-fest": "5.7.0"
66
63
  },
67
64
  "optionalDependencies": {
68
65
  "spdy": "4.0.2"
@@ -74,7 +71,7 @@
74
71
  "publishConfig": {
75
72
  "access": "public"
76
73
  },
77
- "gitHead": "f5369c65a8dfe5f9a590c31d38b12b33e6e58fde",
74
+ "gitHead": "213efd0fa400bdd0156b00ad2c45f8ef005a01ca",
78
75
  "tsd": {
79
76
  "directory": "test/types"
80
77
  }
package/tsconfig.json CHANGED
@@ -7,6 +7,7 @@
7
7
  }
8
8
  },
9
9
  "compilerOptions": {
10
+ "strict": true,
10
11
  "outDir": "build",
11
12
  "paths": {
12
13
  "@appium/support": ["../support"],
@@ -1 +0,0 @@
1
- {"version":3,"file":"crash.d.ts","sourceRoot":"","sources":["../../../lib/express/crash.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,wBAAgB,YAAY,IAAI,KAAK,CAEpC;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,KAAK,CAEpC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"crash.js","sourceRoot":"","sources":["../../../lib/express/crash.ts"],"names":[],"mappings":";;AAKA,oCAEC;AAKD,oCAEC;AAdD,0CAAmC;AAEnC;;GAEG;AACH,SAAgB,YAAY;IAC1B,MAAM,IAAI,iBAAM,CAAC,mBAAmB,CAAC,oCAAoC,CAAC,CAAC;AAC7E,CAAC;AAED;;GAEG;AACH,SAAgB,YAAY;IAC1B,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;AACpD,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"static.d.ts","sourceRoot":"","sources":["../../../lib/express/static.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAC,OAAO,EAAE,QAAQ,EAAC,MAAM,SAAS,CAAC;AAE/C,eAAO,MAAM,UAAU,QAEgC,CAAC;AAIxD,8CAA8C;AAC9C,wBAAsB,SAAS,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAE1E;AAED,yDAAyD;AACzD,wBAAsB,mBAAmB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAEpF;AAED,yDAAyD;AACzD,wBAAsB,kBAAkB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAEnF;AAED,sCAAsC;AACtC,wBAAsB,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAKxE"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"static.js","sourceRoot":"","sources":["../../../lib/express/static.ts"],"names":[],"mappings":"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"}
File without changes
File without changes
File without changes
File without changes
File without changes