appium 2.0.0-beta.2 → 2.0.0-beta.23

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 (122) hide show
  1. package/README.md +9 -9
  2. package/build/check-npm-pack-files.js +23 -0
  3. package/build/commands-yml/parse.js +319 -0
  4. package/build/commands-yml/validator.js +130 -0
  5. package/build/index.js +19 -0
  6. package/build/lib/appium-config.schema.json +0 -0
  7. package/build/lib/appium.js +160 -53
  8. package/build/lib/cli/args.js +115 -279
  9. package/build/lib/cli/driver-command.js +11 -1
  10. package/build/lib/cli/extension-command.js +60 -8
  11. package/build/lib/cli/extension.js +30 -7
  12. package/build/lib/cli/npm.js +43 -29
  13. package/build/lib/cli/parser.js +156 -89
  14. package/build/lib/cli/plugin-command.js +11 -1
  15. package/build/lib/cli/utils.js +29 -3
  16. package/build/lib/config-file.js +141 -0
  17. package/build/lib/config.js +53 -65
  18. package/build/lib/driver-config.js +42 -19
  19. package/build/lib/drivers.js +8 -4
  20. package/build/lib/ext-config-io.js +165 -0
  21. package/build/lib/extension-config.js +130 -61
  22. package/build/lib/grid-register.js +22 -24
  23. package/build/lib/logger.js +3 -3
  24. package/build/lib/logsink.js +11 -13
  25. package/build/lib/main.js +197 -77
  26. package/build/lib/plugin-config.js +21 -11
  27. package/build/lib/plugins.js +4 -2
  28. package/build/lib/schema/appium-config-schema.js +253 -0
  29. package/build/lib/schema/arg-spec.js +120 -0
  30. package/build/lib/schema/cli-args.js +188 -0
  31. package/build/lib/schema/cli-transformers.js +76 -0
  32. package/build/lib/schema/index.js +36 -0
  33. package/build/lib/schema/keywords.js +72 -0
  34. package/build/lib/schema/schema.js +357 -0
  35. package/build/lib/utils.js +44 -99
  36. package/build/postinstall.js +90 -0
  37. package/build/test/cli/cli-e2e-specs.js +221 -0
  38. package/build/test/cli/cli-helpers.js +86 -0
  39. package/build/test/cli/cli-specs.js +71 -0
  40. package/build/test/cli/fixtures/test-driver/package.json +27 -0
  41. package/build/test/cli/schema-args-specs.js +48 -0
  42. package/build/test/cli/schema-e2e-specs.js +47 -0
  43. package/build/test/config-e2e-specs.js +112 -0
  44. package/build/test/config-file-e2e-specs.js +209 -0
  45. package/build/test/config-file-specs.js +281 -0
  46. package/build/test/config-specs.js +159 -0
  47. package/build/test/driver-e2e-specs.js +435 -0
  48. package/build/test/driver-specs.js +321 -0
  49. package/build/test/ext-config-io-specs.js +181 -0
  50. package/build/test/extension-config-specs.js +365 -0
  51. package/build/test/fixtures/allow-feat.txt +5 -0
  52. package/build/test/fixtures/caps.json +3 -0
  53. package/build/test/fixtures/config/allow-insecure.txt +3 -0
  54. package/build/test/fixtures/config/appium.config.bad-nodeconfig.json +5 -0
  55. package/build/test/fixtures/config/appium.config.bad.json +32 -0
  56. package/build/test/fixtures/config/appium.config.ext-good.json +9 -0
  57. package/build/test/fixtures/config/appium.config.ext-unknown-props.json +10 -0
  58. package/build/test/fixtures/config/appium.config.good.js +40 -0
  59. package/build/test/fixtures/config/appium.config.good.json +33 -0
  60. package/build/test/fixtures/config/appium.config.good.yaml +30 -0
  61. package/build/test/fixtures/config/appium.config.invalid.json +31 -0
  62. package/build/test/fixtures/config/appium.config.security-array.json +5 -0
  63. package/build/test/fixtures/config/appium.config.security-delimited.json +5 -0
  64. package/build/test/fixtures/config/appium.config.security-path.json +5 -0
  65. package/build/test/fixtures/config/driver-fake.config.json +8 -0
  66. package/build/test/fixtures/config/nodeconfig.json +3 -0
  67. package/build/test/fixtures/config/plugin-fake.config.json +0 -0
  68. package/build/test/fixtures/default-args.js +35 -0
  69. package/build/test/fixtures/deny-feat.txt +5 -0
  70. package/build/test/fixtures/driver.schema.js +20 -0
  71. package/build/test/fixtures/extensions.yaml +27 -0
  72. package/build/test/fixtures/flattened-schema.js +504 -0
  73. package/build/test/fixtures/plugin.schema.js +20 -0
  74. package/build/test/fixtures/schema-with-extensions.js +28 -0
  75. package/build/test/grid-register-specs.js +74 -0
  76. package/build/test/helpers.js +75 -0
  77. package/build/test/logger-specs.js +76 -0
  78. package/build/test/npm-specs.js +20 -0
  79. package/build/test/parser-specs.js +314 -0
  80. package/build/test/plugin-e2e-specs.js +316 -0
  81. package/build/test/schema/arg-spec-specs.js +70 -0
  82. package/build/test/schema/cli-args-specs.js +431 -0
  83. package/build/test/schema/schema-specs.js +389 -0
  84. package/build/test/utils-specs.js +266 -0
  85. package/index.js +11 -0
  86. package/lib/appium-config.schema.json +278 -0
  87. package/lib/appium.js +207 -65
  88. package/lib/cli/args.js +174 -375
  89. package/lib/cli/driver-command.js +4 -0
  90. package/lib/cli/extension-command.js +70 -5
  91. package/lib/cli/extension.js +25 -5
  92. package/lib/cli/npm.js +86 -18
  93. package/lib/cli/parser.js +257 -79
  94. package/lib/cli/plugin-command.js +4 -0
  95. package/lib/cli/utils.js +21 -1
  96. package/lib/config-file.js +227 -0
  97. package/lib/config.js +84 -63
  98. package/lib/driver-config.js +66 -11
  99. package/lib/drivers.js +4 -1
  100. package/lib/ext-config-io.js +287 -0
  101. package/lib/extension-config.js +225 -67
  102. package/lib/grid-register.js +27 -24
  103. package/lib/logger.js +1 -1
  104. package/lib/logsink.js +10 -7
  105. package/lib/main.js +214 -77
  106. package/lib/plugin-config.js +35 -6
  107. package/lib/plugins.js +1 -0
  108. package/lib/schema/appium-config-schema.js +287 -0
  109. package/lib/schema/arg-spec.js +222 -0
  110. package/lib/schema/cli-args.js +285 -0
  111. package/lib/schema/cli-transformers.js +123 -0
  112. package/lib/schema/index.js +2 -0
  113. package/lib/schema/keywords.js +135 -0
  114. package/lib/schema/schema.js +577 -0
  115. package/lib/utils.js +42 -88
  116. package/package.json +55 -84
  117. package/postinstall.js +71 -0
  118. package/types/appium-config.d.ts +197 -0
  119. package/types/types.d.ts +201 -0
  120. package/CHANGELOG.md +0 -3515
  121. package/build/lib/cli/parser-helpers.js +0 -82
  122. package/lib/cli/parser-helpers.js +0 -79
@@ -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