mirror of
https://github.com/appium/appium.git
synced 2026-11-04 08:15:03 +08:00
Compare commits
7
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a01a91d737 | ||
|
|
210b468a92 | ||
|
|
315a5e6cc7 | ||
|
|
4851721295 | ||
|
|
abcf0d451f | ||
|
|
5aae2190bf | ||
|
|
eabcbfbff7 |
Generated
+207
-42
@@ -20,11 +20,11 @@
|
||||
"@types/chai-as-promised": "7.1.5",
|
||||
"@types/diff": "5.0.3",
|
||||
"@types/mocha": "10.0.1",
|
||||
"@types/node": "18.17.7",
|
||||
"@types/node": "18.17.8",
|
||||
"@types/semver": "7.5.0",
|
||||
"@types/sinon": "10.0.16",
|
||||
"@types/sinon-chai": "3.2.9",
|
||||
"@types/source-map-support": "0.5.6",
|
||||
"@types/source-map-support": "0.5.7",
|
||||
"@types/teen_process": "2.0.0",
|
||||
"@types/ws": "8.5.5",
|
||||
"@types/yargs": "17.0.24",
|
||||
@@ -52,7 +52,7 @@
|
||||
"lerna": "6.6.2",
|
||||
"lint-staged": "13.3.0",
|
||||
"log-symbols": "4.1.0",
|
||||
"midnight-smoker": "2.0.4",
|
||||
"midnight-smoker": "5.1.0",
|
||||
"mjpeg-consumer": "2.0.0",
|
||||
"mjpeg-server": "0.3.1",
|
||||
"mocha": "10.2.0",
|
||||
@@ -4482,9 +4482,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@types/node": {
|
||||
"version": "18.17.7",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-18.17.7.tgz",
|
||||
"integrity": "sha512-WJj/p/cIg6zUsxv1n2leZHpvn8hr9TYuLQxAZxZcK/7+5t5ukmJGelOLGOy3L1MLhAO/sapTJGd1V7kvoIuzUg=="
|
||||
"version": "18.17.8",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-18.17.8.tgz",
|
||||
"integrity": "sha512-Av/7MqX/iNKwT9Tr60V85NqMnsmh8ilfJoBlIVibkXfitk9Q22D9Y5mSpm+FvG5DET7EbVfB40bOiLzKgYFgPw=="
|
||||
},
|
||||
"node_modules/@types/normalize-package-data": {
|
||||
"version": "2.4.1",
|
||||
@@ -4572,9 +4572,9 @@
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/@types/source-map-support": {
|
||||
"version": "0.5.6",
|
||||
"resolved": "https://registry.npmjs.org/@types/source-map-support/-/source-map-support-0.5.6.tgz",
|
||||
"integrity": "sha512-b2nJ9YyXmkhGaa2b8VLM0kJ04xxwNyijcq12/kDoomCt43qbHBeK2SLNJ9iJmETaAj+bKUT05PQUu3Q66GvLhQ==",
|
||||
"version": "0.5.7",
|
||||
"resolved": "https://registry.npmjs.org/@types/source-map-support/-/source-map-support-0.5.7.tgz",
|
||||
"integrity": "sha512-rJqBfLel8jPuL5MwXxMH2Cdb6D80Snu3YJxDE+VJAmtT04l7j3OA7h+FYXlYDys0WeBVH/MPbExj3B8NCaDw9g==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"source-map": "^0.6.0"
|
||||
@@ -7500,6 +7500,22 @@
|
||||
"version": "1.0.2",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/corepack": {
|
||||
"version": "0.19.0",
|
||||
"resolved": "https://registry.npmjs.org/corepack/-/corepack-0.19.0.tgz",
|
||||
"integrity": "sha512-mG4nu1zM5autGOSxl+rrpbx7+ZBhn3gsgXh0bJQVUg3HOo9RTKQvdj7gmp+CDj5clIySRrnWUtZROGfQPGROyg==",
|
||||
"dev": true,
|
||||
"bin": {
|
||||
"corepack": "dist/corepack.js",
|
||||
"pnpm": "dist/pnpm.js",
|
||||
"pnpx": "dist/pnpx.js",
|
||||
"yarn": "dist/yarn.js",
|
||||
"yarnpkg": "dist/yarnpkg.js"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=16.20.0"
|
||||
}
|
||||
},
|
||||
"node_modules/cosmiconfig": {
|
||||
"version": "7.1.0",
|
||||
"dev": true,
|
||||
@@ -15270,25 +15286,31 @@
|
||||
}
|
||||
},
|
||||
"node_modules/midnight-smoker": {
|
||||
"version": "2.0.4",
|
||||
"resolved": "https://registry.npmjs.org/midnight-smoker/-/midnight-smoker-2.0.4.tgz",
|
||||
"integrity": "sha512-CNW3sf5bU57l7OR7iy2jdcrvyLZTdyA8F1FuStqqyoj4HtJW/v5AY7YXYPsvSvraNsWJUdo3EEVZh2n3nWZ8rw==",
|
||||
"version": "5.1.0",
|
||||
"resolved": "https://registry.npmjs.org/midnight-smoker/-/midnight-smoker-5.1.0.tgz",
|
||||
"integrity": "sha512-eyEO/1j0t2Ms89pYiAvizoUN8pOupgcRYYBkW8gWbJ2tRSmLhvGNrgIU2HRRf9Z7Yfsw0rDrQd5MYfTV0nXfag==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@types/semver": "7.5.0",
|
||||
"chalk": "4.1.2",
|
||||
"corepack": "0.19.0",
|
||||
"debug": "4.3.4",
|
||||
"execa": "5.1.1",
|
||||
"lilconfig": "2.1.0",
|
||||
"ora": "5.4.1",
|
||||
"pluralize": "8.0.0",
|
||||
"read-pkg-up": "7.0.1",
|
||||
"semver": "7.5.4",
|
||||
"source-map-support": "0.5.21",
|
||||
"strict-event-emitter-types": "2.0.0",
|
||||
"which": "3.0.1",
|
||||
"yargs": "17.7.2"
|
||||
},
|
||||
"bin": {
|
||||
"smoker": "src/cli.js"
|
||||
"smoker": "bin/smoker.js"
|
||||
},
|
||||
"engines": {
|
||||
"node": "^14.17.0 || ^16.13.0 || >=18.0.0",
|
||||
"node": "^16.20.0 || ^18.0.0 || ^20.0.0",
|
||||
"npm": ">=7"
|
||||
}
|
||||
},
|
||||
@@ -15341,6 +15363,75 @@
|
||||
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/midnight-smoker/node_modules/find-up": {
|
||||
"version": "4.1.0",
|
||||
"resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
|
||||
"integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"locate-path": "^5.0.0",
|
||||
"path-exists": "^4.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
}
|
||||
},
|
||||
"node_modules/midnight-smoker/node_modules/locate-path": {
|
||||
"version": "5.0.0",
|
||||
"resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
|
||||
"integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"p-locate": "^4.1.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
}
|
||||
},
|
||||
"node_modules/midnight-smoker/node_modules/p-limit": {
|
||||
"version": "2.3.0",
|
||||
"resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
|
||||
"integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"p-try": "^2.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=6"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/sindresorhus"
|
||||
}
|
||||
},
|
||||
"node_modules/midnight-smoker/node_modules/p-locate": {
|
||||
"version": "4.1.0",
|
||||
"resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
|
||||
"integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"p-limit": "^2.2.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
}
|
||||
},
|
||||
"node_modules/midnight-smoker/node_modules/read-pkg-up": {
|
||||
"version": "7.0.1",
|
||||
"resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz",
|
||||
"integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"find-up": "^4.1.0",
|
||||
"read-pkg": "^5.2.0",
|
||||
"type-fest": "^0.8.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/sindresorhus"
|
||||
}
|
||||
},
|
||||
"node_modules/midnight-smoker/node_modules/supports-color": {
|
||||
"version": "7.2.0",
|
||||
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
|
||||
@@ -15353,6 +15444,15 @@
|
||||
"node": ">=8"
|
||||
}
|
||||
},
|
||||
"node_modules/midnight-smoker/node_modules/type-fest": {
|
||||
"version": "0.8.1",
|
||||
"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz",
|
||||
"integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
}
|
||||
},
|
||||
"node_modules/midnight-smoker/node_modules/which": {
|
||||
"version": "3.0.1",
|
||||
"resolved": "https://registry.npmjs.org/which/-/which-3.0.1.tgz",
|
||||
@@ -22948,13 +23048,13 @@
|
||||
}
|
||||
},
|
||||
"packages/appium": {
|
||||
"version": "2.1.2",
|
||||
"version": "2.1.3",
|
||||
"hasInstallScript": true,
|
||||
"license": "Apache-2.0",
|
||||
"dependencies": {
|
||||
"@appium/base-driver": "^9.3.19",
|
||||
"@appium/base-plugin": "^2.2.19",
|
||||
"@appium/docutils": "^0.4.8",
|
||||
"@appium/base-driver": "^9.3.20",
|
||||
"@appium/base-plugin": "^2.2.20",
|
||||
"@appium/docutils": "^0.4.9",
|
||||
"@appium/schema": "^0.3.1",
|
||||
"@appium/support": "^4.1.6",
|
||||
"@appium/types": "^0.13.4",
|
||||
@@ -23102,7 +23202,7 @@
|
||||
},
|
||||
"packages/base-driver": {
|
||||
"name": "@appium/base-driver",
|
||||
"version": "9.3.19",
|
||||
"version": "9.3.20",
|
||||
"license": "Apache-2.0",
|
||||
"dependencies": {
|
||||
"@appium/support": "^4.1.6",
|
||||
@@ -23154,10 +23254,10 @@
|
||||
},
|
||||
"packages/base-plugin": {
|
||||
"name": "@appium/base-plugin",
|
||||
"version": "2.2.19",
|
||||
"version": "2.2.20",
|
||||
"license": "Apache-2.0",
|
||||
"dependencies": {
|
||||
"@appium/base-driver": "^9.3.19",
|
||||
"@appium/base-driver": "^9.3.20",
|
||||
"@appium/support": "^4.1.6"
|
||||
},
|
||||
"engines": {
|
||||
@@ -23192,7 +23292,7 @@
|
||||
},
|
||||
"packages/docutils": {
|
||||
"name": "@appium/docutils",
|
||||
"version": "0.4.8",
|
||||
"version": "0.4.9",
|
||||
"license": "Apache-2.0",
|
||||
"dependencies": {
|
||||
"@appium/support": "^4.1.6",
|
||||
@@ -23218,7 +23318,7 @@
|
||||
"typedoc": "0.23.28",
|
||||
"typedoc-plugin-markdown": "3.14.0",
|
||||
"typedoc-plugin-resolve-crossmodule-references": "0.3.3",
|
||||
"typescript": "4.9.5",
|
||||
"typescript": "5.0.4",
|
||||
"yaml": "2.3.1",
|
||||
"yargs": "17.7.2",
|
||||
"yargs-parser": "21.1.1"
|
||||
@@ -23424,10 +23524,10 @@
|
||||
},
|
||||
"packages/fake-plugin": {
|
||||
"name": "@appium/fake-plugin",
|
||||
"version": "3.1.23",
|
||||
"version": "3.1.24",
|
||||
"license": "Apache-2.0",
|
||||
"dependencies": {
|
||||
"@appium/base-plugin": "^2.2.19",
|
||||
"@appium/base-plugin": "^2.2.20",
|
||||
"@appium/support": "^4.1.6",
|
||||
"@types/bluebird": "3.5.38",
|
||||
"bluebird": "3.7.2",
|
||||
@@ -23942,7 +24042,7 @@
|
||||
"@appium/base-plugin": {
|
||||
"version": "file:packages/base-plugin",
|
||||
"requires": {
|
||||
"@appium/base-driver": "^9.3.19",
|
||||
"@appium/base-driver": "^9.3.20",
|
||||
"@appium/support": "^4.1.6"
|
||||
}
|
||||
},
|
||||
@@ -23988,7 +24088,7 @@
|
||||
"typedoc": "0.23.28",
|
||||
"typedoc-plugin-markdown": "3.14.0",
|
||||
"typedoc-plugin-resolve-crossmodule-references": "0.3.3",
|
||||
"typescript": "4.9.5",
|
||||
"typescript": "5.0.4",
|
||||
"yaml": "2.3.1",
|
||||
"yargs": "17.7.2",
|
||||
"yargs-parser": "21.1.1"
|
||||
@@ -24031,8 +24131,7 @@
|
||||
}
|
||||
},
|
||||
"typescript": {
|
||||
"version": "4.9.5",
|
||||
"resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz",
|
||||
"version": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz",
|
||||
"integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g=="
|
||||
}
|
||||
}
|
||||
@@ -24098,7 +24197,7 @@
|
||||
"@appium/fake-plugin": {
|
||||
"version": "file:packages/fake-plugin",
|
||||
"requires": {
|
||||
"@appium/base-plugin": "^2.2.19",
|
||||
"@appium/base-plugin": "^2.2.20",
|
||||
"@appium/support": "^4.1.6",
|
||||
"@types/bluebird": "3.5.38",
|
||||
"bluebird": "3.7.2",
|
||||
@@ -27342,9 +27441,9 @@
|
||||
}
|
||||
},
|
||||
"@types/node": {
|
||||
"version": "18.17.7",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-18.17.7.tgz",
|
||||
"integrity": "sha512-WJj/p/cIg6zUsxv1n2leZHpvn8hr9TYuLQxAZxZcK/7+5t5ukmJGelOLGOy3L1MLhAO/sapTJGd1V7kvoIuzUg=="
|
||||
"version": "18.17.8",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-18.17.8.tgz",
|
||||
"integrity": "sha512-Av/7MqX/iNKwT9Tr60V85NqMnsmh8ilfJoBlIVibkXfitk9Q22D9Y5mSpm+FvG5DET7EbVfB40bOiLzKgYFgPw=="
|
||||
},
|
||||
"@types/normalize-package-data": {
|
||||
"version": "2.4.1"
|
||||
@@ -27420,9 +27519,9 @@
|
||||
"dev": true
|
||||
},
|
||||
"@types/source-map-support": {
|
||||
"version": "0.5.6",
|
||||
"resolved": "https://registry.npmjs.org/@types/source-map-support/-/source-map-support-0.5.6.tgz",
|
||||
"integrity": "sha512-b2nJ9YyXmkhGaa2b8VLM0kJ04xxwNyijcq12/kDoomCt43qbHBeK2SLNJ9iJmETaAj+bKUT05PQUu3Q66GvLhQ==",
|
||||
"version": "0.5.7",
|
||||
"resolved": "https://registry.npmjs.org/@types/source-map-support/-/source-map-support-0.5.7.tgz",
|
||||
"integrity": "sha512-rJqBfLel8jPuL5MwXxMH2Cdb6D80Snu3YJxDE+VJAmtT04l7j3OA7h+FYXlYDys0WeBVH/MPbExj3B8NCaDw9g==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"source-map": "^0.6.0"
|
||||
@@ -28122,9 +28221,9 @@
|
||||
"appium": {
|
||||
"version": "file:packages/appium",
|
||||
"requires": {
|
||||
"@appium/base-driver": "^9.3.19",
|
||||
"@appium/base-plugin": "^2.2.19",
|
||||
"@appium/docutils": "^0.4.8",
|
||||
"@appium/base-driver": "^9.3.20",
|
||||
"@appium/base-plugin": "^2.2.20",
|
||||
"@appium/docutils": "^0.4.9",
|
||||
"@appium/schema": "^0.3.1",
|
||||
"@appium/support": "^4.1.6",
|
||||
"@appium/types": "^0.13.4",
|
||||
@@ -29531,6 +29630,12 @@
|
||||
"core-util-is": {
|
||||
"version": "1.0.2"
|
||||
},
|
||||
"corepack": {
|
||||
"version": "0.19.0",
|
||||
"resolved": "https://registry.npmjs.org/corepack/-/corepack-0.19.0.tgz",
|
||||
"integrity": "sha512-mG4nu1zM5autGOSxl+rrpbx7+ZBhn3gsgXh0bJQVUg3HOo9RTKQvdj7gmp+CDj5clIySRrnWUtZROGfQPGROyg==",
|
||||
"dev": true
|
||||
},
|
||||
"cosmiconfig": {
|
||||
"version": "7.1.0",
|
||||
"dev": true,
|
||||
@@ -34797,16 +34902,22 @@
|
||||
}
|
||||
},
|
||||
"midnight-smoker": {
|
||||
"version": "2.0.4",
|
||||
"resolved": "https://registry.npmjs.org/midnight-smoker/-/midnight-smoker-2.0.4.tgz",
|
||||
"integrity": "sha512-CNW3sf5bU57l7OR7iy2jdcrvyLZTdyA8F1FuStqqyoj4HtJW/v5AY7YXYPsvSvraNsWJUdo3EEVZh2n3nWZ8rw==",
|
||||
"version": "5.1.0",
|
||||
"resolved": "https://registry.npmjs.org/midnight-smoker/-/midnight-smoker-5.1.0.tgz",
|
||||
"integrity": "sha512-eyEO/1j0t2Ms89pYiAvizoUN8pOupgcRYYBkW8gWbJ2tRSmLhvGNrgIU2HRRf9Z7Yfsw0rDrQd5MYfTV0nXfag==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@types/semver": "7.5.0",
|
||||
"chalk": "4.1.2",
|
||||
"corepack": "0.19.0",
|
||||
"debug": "4.3.4",
|
||||
"execa": "5.1.1",
|
||||
"lilconfig": "2.1.0",
|
||||
"ora": "5.4.1",
|
||||
"pluralize": "8.0.0",
|
||||
"read-pkg-up": "7.0.1",
|
||||
"semver": "7.5.4",
|
||||
"source-map-support": "0.5.21",
|
||||
"strict-event-emitter-types": "2.0.0",
|
||||
"which": "3.0.1",
|
||||
"yargs": "17.7.2"
|
||||
@@ -34846,6 +34957,54 @@
|
||||
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
|
||||
"dev": true
|
||||
},
|
||||
"find-up": {
|
||||
"version": "4.1.0",
|
||||
"resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
|
||||
"integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"locate-path": "^5.0.0",
|
||||
"path-exists": "^4.0.0"
|
||||
}
|
||||
},
|
||||
"locate-path": {
|
||||
"version": "5.0.0",
|
||||
"resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
|
||||
"integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"p-locate": "^4.1.0"
|
||||
}
|
||||
},
|
||||
"p-limit": {
|
||||
"version": "2.3.0",
|
||||
"resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
|
||||
"integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"p-try": "^2.0.0"
|
||||
}
|
||||
},
|
||||
"p-locate": {
|
||||
"version": "4.1.0",
|
||||
"resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
|
||||
"integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"p-limit": "^2.2.0"
|
||||
}
|
||||
},
|
||||
"read-pkg-up": {
|
||||
"version": "7.0.1",
|
||||
"resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz",
|
||||
"integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"find-up": "^4.1.0",
|
||||
"read-pkg": "^5.2.0",
|
||||
"type-fest": "^0.8.1"
|
||||
}
|
||||
},
|
||||
"supports-color": {
|
||||
"version": "7.2.0",
|
||||
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
|
||||
@@ -34855,6 +35014,12 @@
|
||||
"has-flag": "^4.0.0"
|
||||
}
|
||||
},
|
||||
"type-fest": {
|
||||
"version": "0.8.1",
|
||||
"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz",
|
||||
"integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==",
|
||||
"dev": true
|
||||
},
|
||||
"which": {
|
||||
"version": "3.0.1",
|
||||
"resolved": "https://registry.npmjs.org/which/-/which-3.0.1.tgz",
|
||||
|
||||
+3
-3
@@ -92,11 +92,11 @@
|
||||
"@types/chai-as-promised": "7.1.5",
|
||||
"@types/diff": "5.0.3",
|
||||
"@types/mocha": "10.0.1",
|
||||
"@types/node": "18.17.7",
|
||||
"@types/node": "18.17.8",
|
||||
"@types/semver": "7.5.0",
|
||||
"@types/sinon": "10.0.16",
|
||||
"@types/sinon-chai": "3.2.9",
|
||||
"@types/source-map-support": "0.5.6",
|
||||
"@types/source-map-support": "0.5.7",
|
||||
"@types/teen_process": "2.0.0",
|
||||
"@types/ws": "8.5.5",
|
||||
"@types/yargs": "17.0.24",
|
||||
@@ -124,7 +124,7 @@
|
||||
"lerna": "6.6.2",
|
||||
"lint-staged": "13.3.0",
|
||||
"log-symbols": "4.1.0",
|
||||
"midnight-smoker": "2.0.4",
|
||||
"midnight-smoker": "5.1.0",
|
||||
"mjpeg-consumer": "2.0.0",
|
||||
"mjpeg-server": "0.3.1",
|
||||
"mocha": "10.2.0",
|
||||
|
||||
@@ -3,6 +3,14 @@
|
||||
All notable changes to this project will be documented in this file.
|
||||
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
||||
|
||||
## [2.1.3](https://github.com/appium/appium/compare/appium@2.1.2...appium@2.1.3) (2023-08-23)
|
||||
|
||||
**Note:** Version bump only for package appium
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## [2.1.2](https://github.com/appium/appium/compare/appium@2.1.1...appium@2.1.2) (2023-08-22)
|
||||
|
||||
**Note:** Version bump only for package appium
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "appium",
|
||||
"version": "2.1.2",
|
||||
"version": "2.1.3",
|
||||
"description": "Automation for Apps.",
|
||||
"keywords": [
|
||||
"automation",
|
||||
@@ -60,9 +60,9 @@
|
||||
"test:unit": "mocha \"./test/unit/**/*.spec.js\""
|
||||
},
|
||||
"dependencies": {
|
||||
"@appium/base-driver": "^9.3.19",
|
||||
"@appium/base-plugin": "^2.2.19",
|
||||
"@appium/docutils": "^0.4.8",
|
||||
"@appium/base-driver": "^9.3.20",
|
||||
"@appium/base-plugin": "^2.2.20",
|
||||
"@appium/docutils": "^0.4.9",
|
||||
"@appium/schema": "^0.3.1",
|
||||
"@appium/support": "^4.1.6",
|
||||
"@appium/types": "^0.13.4",
|
||||
|
||||
@@ -3,6 +3,16 @@
|
||||
All notable changes to this project will be documented in this file.
|
||||
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
||||
|
||||
## [9.3.20](https://github.com/appium/appium/compare/@appium/base-driver@9.3.19...@appium/base-driver@9.3.20) (2023-08-23)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **base-driver:** Avoid RangeError while caching the response data ([#19043](https://github.com/appium/appium/issues/19043)) ([315a5e6](https://github.com/appium/appium/commit/315a5e6cc75d53d5fbbdae598dc4523ab85b7cb1))
|
||||
* **base-driver:** fix the LRUCache.dispose callback param order ([#19037](https://github.com/appium/appium/issues/19037)) ([abcf0d4](https://github.com/appium/appium/commit/abcf0d451f47f5c7c285f0988693c4bef9c29024))
|
||||
|
||||
|
||||
|
||||
## [9.3.19](https://github.com/appium/appium/compare/@appium/base-driver@9.3.18...@appium/base-driver@9.3.19) (2023-08-22)
|
||||
|
||||
**Note:** Version bump only for package @appium/base-driver
|
||||
|
||||
@@ -8,12 +8,13 @@ const IDEMPOTENT_RESPONSES = new LRU({
|
||||
ttl: 30 * 60 * 1000,
|
||||
updateAgeOnGet: true,
|
||||
updateAgeOnHas: true,
|
||||
dispose: (key, {responseStateListener}) => {
|
||||
dispose: ({responseStateListener}) => {
|
||||
responseStateListener?.removeAllListeners();
|
||||
}
|
||||
});
|
||||
const MONITORED_METHODS = ['POST', 'PATCH'];
|
||||
const IDEMPOTENCY_KEY_HEADER = 'x-idempotency-key';
|
||||
const MAX_CACHED_PAYLOAD_SIZE_BYTES = 1 * 1024 * 1024; // 1 MiB
|
||||
|
||||
/**
|
||||
*
|
||||
@@ -33,25 +34,34 @@ function cacheResponse(key, req, res) {
|
||||
response: null,
|
||||
responseStateListener,
|
||||
});
|
||||
const originalSocketWriter = res.socket.write.bind(res.socket);
|
||||
let response = '';
|
||||
const socket = res.socket;
|
||||
const originalSocketWriter = socket.write.bind(socket);
|
||||
const responseRef = new WeakRef(res);
|
||||
let responseChunks = [];
|
||||
let responseSize = 0;
|
||||
let errorMessage = null;
|
||||
const patchedWriter = (chunk, encoding, next) => {
|
||||
if (_.isString(chunk)) {
|
||||
response += chunk;
|
||||
} else if (_.isFunction(chunk.toString)) {
|
||||
response += chunk.toString(_.isString(encoding) ? encoding : undefined);
|
||||
if (errorMessage || !responseRef.deref()) {
|
||||
responseChunks = [];
|
||||
responseSize = 0;
|
||||
return originalSocketWriter(chunk, encoding, next);
|
||||
}
|
||||
|
||||
const buf = Buffer.from(chunk, encoding);
|
||||
responseChunks.push(buf);
|
||||
responseSize += buf.length;
|
||||
if (responseSize > MAX_CACHED_PAYLOAD_SIZE_BYTES) {
|
||||
errorMessage = `The actual response size exceeds ` +
|
||||
`the maximum allowed limit of ${MAX_CACHED_PAYLOAD_SIZE_BYTES} bytes`;
|
||||
}
|
||||
return originalSocketWriter(chunk, encoding, next);
|
||||
};
|
||||
res.socket.write = patchedWriter;
|
||||
let httpErrorMessage = null;
|
||||
let isResponseFullySent = false;
|
||||
res.once('error', (e) => { httpErrorMessage = e.message; });
|
||||
req.once('error', (e) => { httpErrorMessage = e.message; });
|
||||
res.once('finish', () => { isResponseFullySent = true; });
|
||||
res.once('close', () => {
|
||||
if (res.socket?.write === patchedWriter) {
|
||||
res.socket.write = originalSocketWriter;
|
||||
socket.write = patchedWriter;
|
||||
let didEmitReady = false;
|
||||
res.once('error', (e) => {
|
||||
errorMessage = e.message;
|
||||
if (socket.write === patchedWriter) {
|
||||
socket.write = originalSocketWriter;
|
||||
}
|
||||
|
||||
if (!IDEMPOTENT_RESPONSES.has(key)) {
|
||||
@@ -59,24 +69,53 @@ function cacheResponse(key, req, res) {
|
||||
`Could not cache the response identified by '${key}'. ` +
|
||||
`Cache consistency has been damaged`
|
||||
);
|
||||
} else if (httpErrorMessage) {
|
||||
log.info(`Could not cache the response identified by '${key}': ${httpErrorMessage}`);
|
||||
} else {
|
||||
log.info(`Could not cache the response identified by '${key}': ${errorMessage}`);
|
||||
IDEMPOTENT_RESPONSES.delete(key);
|
||||
} else if (!isResponseFullySent) {
|
||||
}
|
||||
|
||||
responseChunks = [];
|
||||
responseSize = 0;
|
||||
if (!didEmitReady) {
|
||||
responseStateListener.emit('ready', null);
|
||||
didEmitReady = true;
|
||||
}
|
||||
});
|
||||
res.once('finish', () => {
|
||||
if (socket.write === patchedWriter) {
|
||||
socket.write = originalSocketWriter;
|
||||
}
|
||||
|
||||
if (!IDEMPOTENT_RESPONSES.has(key)) {
|
||||
log.info(
|
||||
`Could not cache the response identified by '${key}', ` +
|
||||
`because it has not been completed`
|
||||
`Could not cache the response identified by '${key}'. ` +
|
||||
`Cache consistency has been damaged`
|
||||
);
|
||||
log.info('Does the client terminate connections too early?');
|
||||
} else if (errorMessage) {
|
||||
log.info(`Could not cache the response identified by '${key}': ${errorMessage}`);
|
||||
IDEMPOTENT_RESPONSES.delete(key);
|
||||
}
|
||||
|
||||
const value = IDEMPOTENT_RESPONSES.get(key);
|
||||
if (value) {
|
||||
value.response = Buffer.from(response, 'utf8');
|
||||
responseStateListener.emit('ready', value.response);
|
||||
} else {
|
||||
responseStateListener.emit('ready', null);
|
||||
value.response = Buffer.concat(responseChunks);
|
||||
}
|
||||
responseChunks = [];
|
||||
responseSize = 0;
|
||||
if (!didEmitReady) {
|
||||
responseStateListener.emit('ready', value?.response ?? null);
|
||||
didEmitReady = true;
|
||||
}
|
||||
});
|
||||
res.once('close', () => {
|
||||
if (socket.write === patchedWriter) {
|
||||
socket.write = originalSocketWriter;
|
||||
}
|
||||
|
||||
if (!didEmitReady) {
|
||||
const value = IDEMPOTENT_RESPONSES.get(key);
|
||||
responseStateListener.emit('ready', value?.response ?? null);
|
||||
didEmitReady = true;
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -87,7 +126,7 @@ function cacheResponse(key, req, res) {
|
||||
*/
|
||||
async function handleIdempotency(req, res, next) {
|
||||
const keyOrArr = req.headers[IDEMPOTENCY_KEY_HEADER];
|
||||
if (!keyOrArr) {
|
||||
if (_.isEmpty(keyOrArr) || !keyOrArr) {
|
||||
return next();
|
||||
}
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@appium/base-driver",
|
||||
"version": "9.3.19",
|
||||
"version": "9.3.20",
|
||||
"description": "Base driver class for Appium drivers",
|
||||
"keywords": [
|
||||
"automation",
|
||||
|
||||
@@ -3,6 +3,14 @@
|
||||
All notable changes to this project will be documented in this file.
|
||||
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
||||
|
||||
## [2.2.20](https://github.com/appium/appium/compare/@appium/base-plugin@2.2.19...@appium/base-plugin@2.2.20) (2023-08-23)
|
||||
|
||||
**Note:** Version bump only for package @appium/base-plugin
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## [2.2.19](https://github.com/appium/appium/compare/@appium/base-plugin@2.2.18...@appium/base-plugin@2.2.19) (2023-08-22)
|
||||
|
||||
**Note:** Version bump only for package @appium/base-plugin
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@appium/base-plugin",
|
||||
"version": "2.2.19",
|
||||
"version": "2.2.20",
|
||||
"description": "The base plugin used to create Appium 2.0 plugins",
|
||||
"keywords": [
|
||||
"automation",
|
||||
@@ -40,7 +40,7 @@
|
||||
"test:unit": "mocha \"./test/unit/**/*.spec.js\""
|
||||
},
|
||||
"dependencies": {
|
||||
"@appium/base-driver": "^9.3.19",
|
||||
"@appium/base-driver": "^9.3.20",
|
||||
"@appium/support": "^4.1.6"
|
||||
},
|
||||
"engines": {
|
||||
|
||||
@@ -3,6 +3,14 @@
|
||||
All notable changes to this project will be documented in this file.
|
||||
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
||||
|
||||
## [0.4.9](https://github.com/appium/appium/compare/@appium/docutils@0.4.8...@appium/docutils@0.4.9) (2023-08-23)
|
||||
|
||||
**Note:** Version bump only for package @appium/docutils
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## [0.4.8](https://github.com/appium/appium/compare/@appium/docutils@0.4.7...@appium/docutils@0.4.8) (2023-08-22)
|
||||
|
||||
**Note:** Version bump only for package @appium/docutils
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@appium/docutils",
|
||||
"version": "0.4.8",
|
||||
"version": "0.4.9",
|
||||
"description": "Documentation generation utilities for Appium and related projects",
|
||||
"keywords": [
|
||||
"automation",
|
||||
@@ -72,7 +72,7 @@
|
||||
"typedoc": "0.23.28",
|
||||
"typedoc-plugin-markdown": "3.14.0",
|
||||
"typedoc-plugin-resolve-crossmodule-references": "0.3.3",
|
||||
"typescript": "4.9.5",
|
||||
"typescript": "5.0.4",
|
||||
"yaml": "2.3.1",
|
||||
"yargs": "17.7.2",
|
||||
"yargs-parser": "21.1.1"
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
mkdocs==1.5.2
|
||||
mkdocs-material==9.2.2
|
||||
mkdocs-material==9.2.3
|
||||
mkdocs-material-extensions==1.1.1
|
||||
mike==1.1.2
|
||||
|
||||
@@ -3,6 +3,14 @@
|
||||
All notable changes to this project will be documented in this file.
|
||||
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
||||
|
||||
## [3.1.24](https://github.com/appium/appium/compare/@appium/fake-plugin@3.1.23...@appium/fake-plugin@3.1.24) (2023-08-23)
|
||||
|
||||
**Note:** Version bump only for package @appium/fake-plugin
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## [3.1.23](https://github.com/appium/appium/compare/@appium/fake-plugin@3.1.22...@appium/fake-plugin@3.1.23) (2023-08-22)
|
||||
|
||||
**Note:** Version bump only for package @appium/fake-plugin
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@appium/fake-plugin",
|
||||
"version": "3.1.23",
|
||||
"version": "3.1.24",
|
||||
"description": "A fake Appium 2.0 plugin",
|
||||
"keywords": [
|
||||
"automation",
|
||||
@@ -39,7 +39,7 @@
|
||||
"test:unit": "mocha \"./test/unit/**/*.spec.js\""
|
||||
},
|
||||
"dependencies": {
|
||||
"@appium/base-plugin": "^2.2.19",
|
||||
"@appium/base-plugin": "^2.2.20",
|
||||
"@appium/support": "^4.1.6",
|
||||
"@types/bluebird": "3.5.38",
|
||||
"bluebird": "3.7.2",
|
||||
|
||||
Reference in New Issue
Block a user