appium 2.0.0-beta.21 → 2.0.0-beta.25

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 (93) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +1 -2
  3. package/build/check-npm-pack-files.js +23 -0
  4. package/build/commands-yml/parse.js +319 -0
  5. package/build/commands-yml/validator.js +130 -0
  6. package/build/index.js +19 -0
  7. package/build/lib/appium.js +22 -7
  8. package/build/lib/cli/args.js +13 -15
  9. package/build/lib/cli/npm.js +27 -16
  10. package/build/lib/cli/parser.js +7 -3
  11. package/build/lib/config-file.js +4 -7
  12. package/build/lib/config.js +57 -48
  13. package/build/lib/extension-config.js +1 -1
  14. package/build/lib/main.js +28 -28
  15. package/build/lib/plugin-config.js +2 -2
  16. package/build/lib/plugins.js +4 -2
  17. package/build/lib/schema/appium-config-schema.js +3 -2
  18. package/build/lib/schema/arg-spec.js +5 -3
  19. package/build/lib/schema/cli-args.js +25 -16
  20. package/build/lib/schema/keywords.js +14 -4
  21. package/build/lib/schema/schema.js +86 -9
  22. package/build/lib/utils.js +16 -36
  23. package/build/postinstall.js +90 -0
  24. package/build/test/cli/cli-e2e-specs.js +221 -0
  25. package/build/test/cli/cli-helpers.js +86 -0
  26. package/build/test/cli/cli-specs.js +71 -0
  27. package/build/test/cli/fixtures/test-driver/package.json +27 -0
  28. package/build/test/cli/schema-args-specs.js +48 -0
  29. package/build/test/cli/schema-e2e-specs.js +47 -0
  30. package/build/test/config-e2e-specs.js +112 -0
  31. package/build/test/config-file-e2e-specs.js +191 -0
  32. package/build/test/config-file-specs.js +281 -0
  33. package/build/test/config-specs.js +258 -0
  34. package/build/test/driver-e2e-specs.js +435 -0
  35. package/build/test/driver-specs.js +386 -0
  36. package/build/test/ext-config-io-specs.js +181 -0
  37. package/build/test/extension-config-specs.js +365 -0
  38. package/build/test/fixtures/allow-feat.txt +5 -0
  39. package/build/test/fixtures/caps.json +3 -0
  40. package/build/test/fixtures/config/allow-insecure.txt +3 -0
  41. package/build/test/fixtures/config/appium.config.bad-nodeconfig.json +5 -0
  42. package/build/test/fixtures/config/appium.config.bad.json +32 -0
  43. package/build/test/fixtures/config/appium.config.ext-good.json +9 -0
  44. package/build/test/fixtures/config/appium.config.ext-unknown-props.json +10 -0
  45. package/build/test/fixtures/config/appium.config.good.js +40 -0
  46. package/build/test/fixtures/config/appium.config.good.json +33 -0
  47. package/build/test/fixtures/config/appium.config.good.yaml +30 -0
  48. package/build/test/fixtures/config/appium.config.invalid.json +31 -0
  49. package/build/test/fixtures/config/appium.config.security-array.json +5 -0
  50. package/build/test/fixtures/config/appium.config.security-delimited.json +5 -0
  51. package/build/test/fixtures/config/appium.config.security-path.json +5 -0
  52. package/build/test/fixtures/config/driver-fake.config.json +8 -0
  53. package/build/test/fixtures/config/nodeconfig.json +3 -0
  54. package/build/test/fixtures/config/plugin-fake.config.json +0 -0
  55. package/build/test/fixtures/default-args.js +35 -0
  56. package/build/test/fixtures/deny-feat.txt +5 -0
  57. package/build/test/fixtures/driver.schema.js +20 -0
  58. package/build/test/fixtures/extensions.yaml +27 -0
  59. package/build/test/fixtures/flattened-schema.js +532 -0
  60. package/build/test/fixtures/plugin.schema.js +20 -0
  61. package/build/test/fixtures/schema-with-extensions.js +28 -0
  62. package/build/test/grid-register-specs.js +74 -0
  63. package/build/test/helpers.js +75 -0
  64. package/build/test/logger-specs.js +76 -0
  65. package/build/test/npm-specs.js +20 -0
  66. package/build/test/parser-specs.js +319 -0
  67. package/build/test/plugin-e2e-specs.js +316 -0
  68. package/build/test/schema/arg-spec-specs.js +70 -0
  69. package/build/test/schema/cli-args-specs.js +408 -0
  70. package/build/test/schema/schema-specs.js +407 -0
  71. package/build/test/utils-specs.js +288 -0
  72. package/index.js +11 -0
  73. package/lib/appium-config.schema.json +2 -1
  74. package/lib/appium.js +51 -8
  75. package/lib/cli/args.js +17 -14
  76. package/lib/cli/npm.js +68 -6
  77. package/lib/cli/parser.js +5 -2
  78. package/lib/config-file.js +9 -12
  79. package/lib/config.js +104 -56
  80. package/lib/extension-config.js +1 -1
  81. package/lib/main.js +94 -40
  82. package/lib/plugin-config.js +1 -1
  83. package/lib/plugins.js +2 -0
  84. package/lib/schema/appium-config-schema.js +1 -0
  85. package/lib/schema/arg-spec.js +13 -3
  86. package/lib/schema/cli-args.js +22 -34
  87. package/lib/schema/keywords.js +20 -4
  88. package/lib/schema/schema.js +150 -24
  89. package/lib/utils.js +28 -29
  90. package/package.json +9 -14
  91. package/types/types.d.ts +5 -0
  92. package/build/lib/cli/argparse-actions.js +0 -104
  93. package/lib/cli/argparse-actions.js +0 -77
@@ -0,0 +1,31 @@
1
+ {
2
+ "server": {
3
+ "address": "0.0.0.0",
4
+ "port": 31337,
5
+ "allow-cors": false,
6
+ "allow-insecure": [],
7
+ "base-path": "/",
8
+ "callback-address": "0.0.0.0",
9
+ "callback-port": 31337,
10
+ "log-level": "info",
11
+ "log-timestamp": false,
12
+ "debug-log-spacing": false,
13
+ "default-capabilities": {},
14
+ "deny-insecure": [],
15
+ "drivers": [],
16
+ "keep-alive-timeout": 600,
17
+ "local-timezone": false,
18
+ "log": "/tmp/appium.log",
19
+ "log-no-colors": false,
20
+ "long-stacktrace": false,
21
+ "no-perms-check": false,
22
+ "nodeconfig": {},
23
+ "plugins": "all",
24
+ "relaxed-security": false,
25
+ "session-override": false,
26
+ "strict-caps": false,
27
+ "tmp": '/tmp',
28
+ "trace-dir": "/tmp/appium-instruments",
29
+ "webhook": "http://0.0.0.0/hook"
30
+ }
31
+ }
@@ -0,0 +1,5 @@
1
+ {
2
+ "server": {
3
+ "allow-insecure": ["foo", "bar", "baz"]
4
+ }
5
+ }
@@ -0,0 +1,5 @@
1
+ {
2
+ "server": {
3
+ "allow-insecure": "foo,bar,baz"
4
+ }
5
+ }
@@ -0,0 +1,5 @@
1
+ {
2
+ "server": {
3
+ "allow-insecure": "./packages/appium/test/fixtures/config/allow-insecure.txt"
4
+ }
5
+ }
@@ -0,0 +1,8 @@
1
+ {
2
+ "driver": {
3
+ "fake": {
4
+ "sillyWebServerPort": 1234,
5
+ "sillyWebServerHost": "hey"
6
+ }
7
+ }
8
+ }
@@ -0,0 +1,3 @@
1
+ {
2
+ "random": "stuff"
3
+ }
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ require("source-map-support/register");
9
+
10
+ var _default = {
11
+ address: '0.0.0.0',
12
+ allowCors: false,
13
+ allowInsecure: [],
14
+ basePath: '',
15
+ callbackPort: 4723,
16
+ debugLogSpacing: false,
17
+ denyInsecure: [],
18
+ keepAliveTimeout: 600,
19
+ localTimezone: false,
20
+ loglevel: 'debug',
21
+ logNoColors: false,
22
+ logTimestamp: false,
23
+ longStacktrace: false,
24
+ noPermsCheck: false,
25
+ port: 4723,
26
+ relaxedSecurityEnabled: false,
27
+ sessionOverride: false,
28
+ strictCaps: false,
29
+ useDrivers: [],
30
+ usePlugins: []
31
+ };
32
+ exports.default = _default;require('source-map-support').install();
33
+
34
+
35
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRlc3QvZml4dHVyZXMvZGVmYXVsdC1hcmdzLmpzIl0sIm5hbWVzIjpbImFkZHJlc3MiLCJhbGxvd0NvcnMiLCJhbGxvd0luc2VjdXJlIiwiYmFzZVBhdGgiLCJjYWxsYmFja1BvcnQiLCJkZWJ1Z0xvZ1NwYWNpbmciLCJkZW55SW5zZWN1cmUiLCJrZWVwQWxpdmVUaW1lb3V0IiwibG9jYWxUaW1lem9uZSIsImxvZ2xldmVsIiwibG9nTm9Db2xvcnMiLCJsb2dUaW1lc3RhbXAiLCJsb25nU3RhY2t0cmFjZSIsIm5vUGVybXNDaGVjayIsInBvcnQiLCJyZWxheGVkU2VjdXJpdHlFbmFibGVkIiwic2Vzc2lvbk92ZXJyaWRlIiwic3RyaWN0Q2FwcyIsInVzZURyaXZlcnMiLCJ1c2VQbHVnaW5zIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7ZUFBZTtBQUNiQSxFQUFBQSxPQUFPLEVBQUUsU0FESTtBQUViQyxFQUFBQSxTQUFTLEVBQUUsS0FGRTtBQUdiQyxFQUFBQSxhQUFhLEVBQUUsRUFIRjtBQUliQyxFQUFBQSxRQUFRLEVBQUUsRUFKRztBQUtiQyxFQUFBQSxZQUFZLEVBQUUsSUFMRDtBQU1iQyxFQUFBQSxlQUFlLEVBQUUsS0FOSjtBQU9iQyxFQUFBQSxZQUFZLEVBQUUsRUFQRDtBQVFiQyxFQUFBQSxnQkFBZ0IsRUFBRSxHQVJMO0FBU2JDLEVBQUFBLGFBQWEsRUFBRSxLQVRGO0FBVWJDLEVBQUFBLFFBQVEsRUFBRSxPQVZHO0FBV2JDLEVBQUFBLFdBQVcsRUFBRSxLQVhBO0FBWWJDLEVBQUFBLFlBQVksRUFBRSxLQVpEO0FBYWJDLEVBQUFBLGNBQWMsRUFBRSxLQWJIO0FBY2JDLEVBQUFBLFlBQVksRUFBRSxLQWREO0FBZWJDLEVBQUFBLElBQUksRUFBRSxJQWZPO0FBZ0JiQyxFQUFBQSxzQkFBc0IsRUFBRSxLQWhCWDtBQWlCYkMsRUFBQUEsZUFBZSxFQUFFLEtBakJKO0FBa0JiQyxFQUFBQSxVQUFVLEVBQUUsS0FsQkM7QUFtQmJDLEVBQUFBLFVBQVUsRUFBRSxFQW5CQztBQW9CYkMsRUFBQUEsVUFBVSxFQUFFO0FBcEJDLEMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCB7XG4gIGFkZHJlc3M6ICcwLjAuMC4wJyxcbiAgYWxsb3dDb3JzOiBmYWxzZSxcbiAgYWxsb3dJbnNlY3VyZTogW10sXG4gIGJhc2VQYXRoOiAnJyxcbiAgY2FsbGJhY2tQb3J0OiA0NzIzLFxuICBkZWJ1Z0xvZ1NwYWNpbmc6IGZhbHNlLFxuICBkZW55SW5zZWN1cmU6IFtdLFxuICBrZWVwQWxpdmVUaW1lb3V0OiA2MDAsXG4gIGxvY2FsVGltZXpvbmU6IGZhbHNlLFxuICBsb2dsZXZlbDogJ2RlYnVnJyxcbiAgbG9nTm9Db2xvcnM6IGZhbHNlLFxuICBsb2dUaW1lc3RhbXA6IGZhbHNlLFxuICBsb25nU3RhY2t0cmFjZTogZmFsc2UsXG4gIG5vUGVybXNDaGVjazogZmFsc2UsXG4gIHBvcnQ6IDQ3MjMsXG4gIHJlbGF4ZWRTZWN1cml0eUVuYWJsZWQ6IGZhbHNlLFxuICBzZXNzaW9uT3ZlcnJpZGU6IGZhbHNlLFxuICBzdHJpY3RDYXBzOiBmYWxzZSxcbiAgdXNlRHJpdmVyczogW10sXG4gIHVzZVBsdWdpbnM6IFtdXG59O1xuIl0sImZpbGUiOiJ0ZXN0L2ZpeHR1cmVzL2RlZmF1bHQtYXJncy5qcyIsInNvdXJjZVJvb3QiOiIuLi8uLi8uLiJ9
@@ -0,0 +1,5 @@
1
+
2
+ nofeature1
3
+ nofeature2
4
+
5
+ nofeature3
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+
3
+ require("source-map-support/register");
4
+
5
+ module.exports = {
6
+ type: 'object',
7
+ required: ['answer'],
8
+ properties: {
9
+ answer: {
10
+ type: 'number',
11
+ minimum: 0,
12
+ maximum: 100,
13
+ default: 50,
14
+ description: 'The answer to the Ultimate Question of Life, The Universe, and Everything'
15
+ }
16
+ }
17
+ };require('source-map-support').install();
18
+
19
+
20
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRlc3QvZml4dHVyZXMvZHJpdmVyLnNjaGVtYS5qcyJdLCJuYW1lcyI6WyJtb2R1bGUiLCJleHBvcnRzIiwidHlwZSIsInJlcXVpcmVkIiwicHJvcGVydGllcyIsImFuc3dlciIsIm1pbmltdW0iLCJtYXhpbXVtIiwiZGVmYXVsdCIsImRlc2NyaXB0aW9uIl0sIm1hcHBpbmdzIjoiOzs7O0FBQUFBLE1BQU0sQ0FBQ0MsT0FBUCxHQUFpQjtBQUNmQyxFQUFBQSxJQUFJLEVBQUUsUUFEUztBQUVmQyxFQUFBQSxRQUFRLEVBQUUsQ0FBQyxRQUFELENBRks7QUFHZkMsRUFBQUEsVUFBVSxFQUFFO0FBQ1ZDLElBQUFBLE1BQU0sRUFBRTtBQUNOSCxNQUFBQSxJQUFJLEVBQUUsUUFEQTtBQUVOSSxNQUFBQSxPQUFPLEVBQUUsQ0FGSDtBQUdOQyxNQUFBQSxPQUFPLEVBQUUsR0FISDtBQUlOQyxNQUFBQSxPQUFPLEVBQUUsRUFKSDtBQUtOQyxNQUFBQSxXQUFXLEVBQ1Q7QUFOSTtBQURFO0FBSEcsQ0FBakIiLCJzb3VyY2VzQ29udGVudCI6WyJtb2R1bGUuZXhwb3J0cyA9IHtcbiAgdHlwZTogJ29iamVjdCcsXG4gIHJlcXVpcmVkOiBbJ2Fuc3dlciddLFxuICBwcm9wZXJ0aWVzOiB7XG4gICAgYW5zd2VyOiB7XG4gICAgICB0eXBlOiAnbnVtYmVyJyxcbiAgICAgIG1pbmltdW06IDAsXG4gICAgICBtYXhpbXVtOiAxMDAsXG4gICAgICBkZWZhdWx0OiA1MCxcbiAgICAgIGRlc2NyaXB0aW9uOlxuICAgICAgICAnVGhlIGFuc3dlciB0byB0aGUgVWx0aW1hdGUgUXVlc3Rpb24gb2YgTGlmZSwgVGhlIFVuaXZlcnNlLCBhbmQgRXZlcnl0aGluZycsXG4gICAgfSxcbiAgfSxcbn07XG4iXSwiZmlsZSI6InRlc3QvZml4dHVyZXMvZHJpdmVyLnNjaGVtYS5qcyIsInNvdXJjZVJvb3QiOiIuLi8uLi8uLiJ9
@@ -0,0 +1,27 @@
1
+ drivers:
2
+ fake:
3
+ automationName: Fake
4
+ platformNames:
5
+ - Fake
6
+ mainClass: FakeDriver
7
+ schema: ./build/lib/fake-driver-schema.js
8
+ scripts:
9
+ fake-error: ./build/lib/scripts/fake-error.js
10
+ fake-success: ./build/lib/scripts/fake-success.js
11
+ pkgName: '@appium/fake-driver'
12
+ version: 3.0.5
13
+ installPath: '@appium/fake-driver'
14
+ installType: local
15
+ installSpec: /Users/alice/projects/appium/packages/fake-driver
16
+ plugins:
17
+ fake:
18
+ mainClass: FakePlugin
19
+ scripts:
20
+ fake-error: ./build/lib/scripts/fake-error.js
21
+ fake-success: ./build/lib/scripts/fake-success.js
22
+ pkgName: '@appium/fake-plugin'
23
+ version: 1.2.2
24
+ installPath: '@appium/fake-plugin'
25
+ installType: local
26
+ installSpec: /Users/alice/projects/appium/node_modules/@appium/fake-plugin
27
+ schemaRev: 2