appium 2.0.0-beta.21 → 2.0.0-beta.22

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 (75) hide show
  1. package/LICENSE +201 -0
  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/cli/parser.js +6 -2
  7. package/build/lib/config.js +1 -28
  8. package/build/lib/main.js +1 -1
  9. package/build/lib/plugin-config.js +2 -2
  10. package/build/lib/schema/appium-config-schema.js +3 -2
  11. package/build/lib/schema/arg-spec.js +1 -1
  12. package/build/lib/schema/cli-args.js +20 -5
  13. package/build/lib/schema/keywords.js +14 -4
  14. package/build/postinstall.js +90 -0
  15. package/build/test/cli/cli-e2e-specs.js +221 -0
  16. package/build/test/cli/cli-helpers.js +86 -0
  17. package/build/test/cli/cli-specs.js +71 -0
  18. package/build/test/cli/fixtures/test-driver/package.json +27 -0
  19. package/build/test/cli/schema-args-specs.js +48 -0
  20. package/build/test/cli/schema-e2e-specs.js +47 -0
  21. package/build/test/config-e2e-specs.js +112 -0
  22. package/build/test/config-file-e2e-specs.js +209 -0
  23. package/build/test/config-file-specs.js +281 -0
  24. package/build/test/config-specs.js +159 -0
  25. package/build/test/driver-e2e-specs.js +435 -0
  26. package/build/test/driver-specs.js +321 -0
  27. package/build/test/ext-config-io-specs.js +181 -0
  28. package/build/test/extension-config-specs.js +365 -0
  29. package/build/test/fixtures/allow-feat.txt +5 -0
  30. package/build/test/fixtures/caps.json +3 -0
  31. package/build/test/fixtures/config/allow-insecure.txt +3 -0
  32. package/build/test/fixtures/config/appium.config.bad-nodeconfig.json +5 -0
  33. package/build/test/fixtures/config/appium.config.bad.json +32 -0
  34. package/build/test/fixtures/config/appium.config.ext-good.json +9 -0
  35. package/build/test/fixtures/config/appium.config.ext-unknown-props.json +10 -0
  36. package/build/test/fixtures/config/appium.config.good.js +40 -0
  37. package/build/test/fixtures/config/appium.config.good.json +33 -0
  38. package/build/test/fixtures/config/appium.config.good.yaml +30 -0
  39. package/build/test/fixtures/config/appium.config.invalid.json +31 -0
  40. package/build/test/fixtures/config/appium.config.security-array.json +5 -0
  41. package/build/test/fixtures/config/appium.config.security-delimited.json +5 -0
  42. package/build/test/fixtures/config/appium.config.security-path.json +5 -0
  43. package/build/test/fixtures/config/driver-fake.config.json +8 -0
  44. package/build/test/fixtures/config/nodeconfig.json +3 -0
  45. package/build/test/fixtures/config/plugin-fake.config.json +0 -0
  46. package/build/test/fixtures/default-args.js +35 -0
  47. package/build/test/fixtures/deny-feat.txt +5 -0
  48. package/build/test/fixtures/driver.schema.js +20 -0
  49. package/build/test/fixtures/extensions.yaml +27 -0
  50. package/build/test/fixtures/flattened-schema.js +504 -0
  51. package/build/test/fixtures/plugin.schema.js +20 -0
  52. package/build/test/fixtures/schema-with-extensions.js +28 -0
  53. package/build/test/grid-register-specs.js +74 -0
  54. package/build/test/helpers.js +75 -0
  55. package/build/test/logger-specs.js +76 -0
  56. package/build/test/npm-specs.js +20 -0
  57. package/build/test/parser-specs.js +314 -0
  58. package/build/test/plugin-e2e-specs.js +316 -0
  59. package/build/test/schema/arg-spec-specs.js +70 -0
  60. package/build/test/schema/cli-args-specs.js +431 -0
  61. package/build/test/schema/schema-specs.js +389 -0
  62. package/build/test/utils-specs.js +266 -0
  63. package/index.js +11 -0
  64. package/lib/appium-config.schema.json +2 -1
  65. package/lib/cli/parser.js +4 -1
  66. package/lib/config.js +1 -27
  67. package/lib/main.js +6 -3
  68. package/lib/plugin-config.js +1 -1
  69. package/lib/schema/appium-config-schema.js +1 -0
  70. package/lib/schema/arg-spec.js +4 -0
  71. package/lib/schema/cli-args.js +16 -4
  72. package/lib/schema/keywords.js +20 -4
  73. package/package.json +9 -14
  74. package/build/lib/cli/argparse-actions.js +0 -104
  75. package/lib/cli/argparse-actions.js +0 -77
@@ -1,104 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.StoreDeprecatedTrueAction = exports.StoreDeprecatedDefaultCapabilityTrueAction = exports.StoreDeprecatedDefaultCapabilityAction = exports.StoreDeprecatedAction = exports.DEFAULT_CAPS_ARG = void 0;
7
-
8
- require("source-map-support/register");
9
-
10
- var _argparse = require("argparse");
11
-
12
- const DEFAULT_CAPS_ARG = '--default-capabilities';
13
- exports.DEFAULT_CAPS_ARG = DEFAULT_CAPS_ARG;
14
-
15
- class StoreDeprecatedAction extends _argparse.Action {
16
- constructor(options = {}) {
17
- const opts = Object.assign({}, options);
18
- let helpPrefix = '[DEPRECATED]';
19
-
20
- if (opts.deprecated_for) {
21
- helpPrefix = `[DEPRECATED, use ${opts.deprecated_for} instead]`;
22
- delete opts.deprecated_for;
23
- }
24
-
25
- if (opts.help) {
26
- opts.help = `${helpPrefix} - ${opts.help}`;
27
- } else {
28
- opts.help = helpPrefix;
29
- }
30
-
31
- super(opts);
32
- }
33
-
34
- call(parser, namespace, values) {
35
- namespace[this.dest] = values;
36
- }
37
-
38
- }
39
-
40
- exports.StoreDeprecatedAction = StoreDeprecatedAction;
41
-
42
- class StoreDeprecatedTrueAction extends StoreDeprecatedAction {
43
- constructor(options = {}) {
44
- super(Object.assign({}, options, {
45
- const: true,
46
- nargs: 0
47
- }));
48
- }
49
-
50
- call(parser, namespace) {
51
- namespace[this.dest] = this.const;
52
- }
53
-
54
- }
55
-
56
- exports.StoreDeprecatedTrueAction = StoreDeprecatedTrueAction;
57
-
58
- class StoreDeprecatedDefaultCapabilityAction extends StoreDeprecatedAction {
59
- constructor(options = {}) {
60
- super(Object.assign({}, options, {
61
- deprecated_for: DEFAULT_CAPS_ARG
62
- }));
63
- }
64
-
65
- _writeDefaultCap(namespace, value) {
66
- namespace[this.dest] = value;
67
-
68
- if (value === this.default) {
69
- return;
70
- }
71
-
72
- if (!namespace.defaultCapabilities) {
73
- namespace.defaultCapabilities = {};
74
- }
75
-
76
- namespace.defaultCapabilities[this.dest] = value;
77
- }
78
-
79
- call(parser, namespace, values) {
80
- this._writeDefaultCap(namespace, values);
81
- }
82
-
83
- }
84
-
85
- exports.StoreDeprecatedDefaultCapabilityAction = StoreDeprecatedDefaultCapabilityAction;
86
-
87
- class StoreDeprecatedDefaultCapabilityTrueAction extends StoreDeprecatedDefaultCapabilityAction {
88
- constructor(options = {}) {
89
- super(Object.assign({}, options, {
90
- const: true,
91
- nargs: 0
92
- }));
93
- }
94
-
95
- call(parser, namespace) {
96
- this._writeDefaultCap(namespace, this.const);
97
- }
98
-
99
- }
100
-
101
- exports.StoreDeprecatedDefaultCapabilityTrueAction = StoreDeprecatedDefaultCapabilityTrueAction;require('source-map-support').install();
102
-
103
-
104
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxpYi9jbGkvYXJncGFyc2UtYWN0aW9ucy5qcyJdLCJuYW1lcyI6WyJERUZBVUxUX0NBUFNfQVJHIiwiU3RvcmVEZXByZWNhdGVkQWN0aW9uIiwiQWN0aW9uIiwiY29uc3RydWN0b3IiLCJvcHRpb25zIiwib3B0cyIsIk9iamVjdCIsImFzc2lnbiIsImhlbHBQcmVmaXgiLCJkZXByZWNhdGVkX2ZvciIsImhlbHAiLCJjYWxsIiwicGFyc2VyIiwibmFtZXNwYWNlIiwidmFsdWVzIiwiZGVzdCIsIlN0b3JlRGVwcmVjYXRlZFRydWVBY3Rpb24iLCJjb25zdCIsIm5hcmdzIiwiU3RvcmVEZXByZWNhdGVkRGVmYXVsdENhcGFiaWxpdHlBY3Rpb24iLCJfd3JpdGVEZWZhdWx0Q2FwIiwidmFsdWUiLCJkZWZhdWx0IiwiZGVmYXVsdENhcGFiaWxpdGllcyIsIlN0b3JlRGVwcmVjYXRlZERlZmF1bHRDYXBhYmlsaXR5VHJ1ZUFjdGlvbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUE7O0FBR0EsTUFBTUEsZ0JBQWdCLEdBQUcsd0JBQXpCOzs7QUFHQSxNQUFNQyxxQkFBTixTQUFvQ0MsZ0JBQXBDLENBQTJDO0FBQ3pDQyxFQUFBQSxXQUFXLENBQUVDLE9BQU8sR0FBRyxFQUFaLEVBQWdCO0FBQ3pCLFVBQU1DLElBQUksR0FBR0MsTUFBTSxDQUFDQyxNQUFQLENBQWMsRUFBZCxFQUFrQkgsT0FBbEIsQ0FBYjtBQUNBLFFBQUlJLFVBQVUsR0FBRyxjQUFqQjs7QUFDQSxRQUFJSCxJQUFJLENBQUNJLGNBQVQsRUFBeUI7QUFDdkJELE1BQUFBLFVBQVUsR0FBSSxvQkFBbUJILElBQUksQ0FBQ0ksY0FBZSxXQUFyRDtBQUNBLGFBQU9KLElBQUksQ0FBQ0ksY0FBWjtBQUNEOztBQUNELFFBQUlKLElBQUksQ0FBQ0ssSUFBVCxFQUFlO0FBQ2JMLE1BQUFBLElBQUksQ0FBQ0ssSUFBTCxHQUFhLEdBQUVGLFVBQVcsTUFBS0gsSUFBSSxDQUFDSyxJQUFLLEVBQXpDO0FBQ0QsS0FGRCxNQUVPO0FBQ0xMLE1BQUFBLElBQUksQ0FBQ0ssSUFBTCxHQUFZRixVQUFaO0FBQ0Q7O0FBQ0QsVUFBTUgsSUFBTjtBQUNEOztBQUVETSxFQUFBQSxJQUFJLENBQUVDLE1BQUYsRUFBVUMsU0FBVixFQUFxQkMsTUFBckIsRUFBNkI7QUFDL0JELElBQUFBLFNBQVMsQ0FBQyxLQUFLRSxJQUFOLENBQVQsR0FBdUJELE1BQXZCO0FBQ0Q7O0FBbEJ3Qzs7OztBQXNCM0MsTUFBTUUseUJBQU4sU0FBd0NmLHFCQUF4QyxDQUE4RDtBQUM1REUsRUFBQUEsV0FBVyxDQUFFQyxPQUFPLEdBQUcsRUFBWixFQUFnQjtBQUN6QixVQUFNRSxNQUFNLENBQUNDLE1BQVAsQ0FBYyxFQUFkLEVBQWtCSCxPQUFsQixFQUEyQjtBQUFDYSxNQUFBQSxLQUFLLEVBQUUsSUFBUjtBQUFjQyxNQUFBQSxLQUFLLEVBQUU7QUFBckIsS0FBM0IsQ0FBTjtBQUNEOztBQUVEUCxFQUFBQSxJQUFJLENBQUVDLE1BQUYsRUFBVUMsU0FBVixFQUFxQjtBQUN2QkEsSUFBQUEsU0FBUyxDQUFDLEtBQUtFLElBQU4sQ0FBVCxHQUF1QixLQUFLRSxLQUE1QjtBQUNEOztBQVAyRDs7OztBQVc5RCxNQUFNRSxzQ0FBTixTQUFxRGxCLHFCQUFyRCxDQUEyRTtBQUN6RUUsRUFBQUEsV0FBVyxDQUFFQyxPQUFPLEdBQUcsRUFBWixFQUFnQjtBQUN6QixVQUFNRSxNQUFNLENBQUNDLE1BQVAsQ0FBYyxFQUFkLEVBQWtCSCxPQUFsQixFQUEyQjtBQUFDSyxNQUFBQSxjQUFjLEVBQUVUO0FBQWpCLEtBQTNCLENBQU47QUFDRDs7QUFFRG9CLEVBQUFBLGdCQUFnQixDQUFFUCxTQUFGLEVBQWFRLEtBQWIsRUFBb0I7QUFDbENSLElBQUFBLFNBQVMsQ0FBQyxLQUFLRSxJQUFOLENBQVQsR0FBdUJNLEtBQXZCOztBQUNBLFFBQUlBLEtBQUssS0FBSyxLQUFLQyxPQUFuQixFQUE0QjtBQUMxQjtBQUNEOztBQUVELFFBQUksQ0FBQ1QsU0FBUyxDQUFDVSxtQkFBZixFQUFvQztBQUNsQ1YsTUFBQUEsU0FBUyxDQUFDVSxtQkFBVixHQUFnQyxFQUFoQztBQUNEOztBQUNEVixJQUFBQSxTQUFTLENBQUNVLG1CQUFWLENBQThCLEtBQUtSLElBQW5DLElBQTJDTSxLQUEzQztBQUNEOztBQUVEVixFQUFBQSxJQUFJLENBQUVDLE1BQUYsRUFBVUMsU0FBVixFQUFxQkMsTUFBckIsRUFBNkI7QUFDL0IsU0FBS00sZ0JBQUwsQ0FBc0JQLFNBQXRCLEVBQWlDQyxNQUFqQztBQUNEOztBQW5Cd0U7Ozs7QUF1QjNFLE1BQU1VLDBDQUFOLFNBQXlETCxzQ0FBekQsQ0FBZ0c7QUFDOUZoQixFQUFBQSxXQUFXLENBQUVDLE9BQU8sR0FBRyxFQUFaLEVBQWdCO0FBQ3pCLFVBQU1FLE1BQU0sQ0FBQ0MsTUFBUCxDQUFjLEVBQWQsRUFBa0JILE9BQWxCLEVBQTJCO0FBQUNhLE1BQUFBLEtBQUssRUFBRSxJQUFSO0FBQWNDLE1BQUFBLEtBQUssRUFBRTtBQUFyQixLQUEzQixDQUFOO0FBQ0Q7O0FBRURQLEVBQUFBLElBQUksQ0FBRUMsTUFBRixFQUFVQyxTQUFWLEVBQXFCO0FBQ3ZCLFNBQUtPLGdCQUFMLENBQXNCUCxTQUF0QixFQUFpQyxLQUFLSSxLQUF0QztBQUNEOztBQVA2RiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFjdGlvbiB9IGZyb20gJ2FyZ3BhcnNlJztcblxuXG5jb25zdCBERUZBVUxUX0NBUFNfQVJHID0gJy0tZGVmYXVsdC1jYXBhYmlsaXRpZXMnO1xuXG5cbmNsYXNzIFN0b3JlRGVwcmVjYXRlZEFjdGlvbiBleHRlbmRzIEFjdGlvbiB7XG4gIGNvbnN0cnVjdG9yIChvcHRpb25zID0ge30pIHtcbiAgICBjb25zdCBvcHRzID0gT2JqZWN0LmFzc2lnbih7fSwgb3B0aW9ucyk7XG4gICAgbGV0IGhlbHBQcmVmaXggPSAnW0RFUFJFQ0FURURdJztcbiAgICBpZiAob3B0cy5kZXByZWNhdGVkX2Zvcikge1xuICAgICAgaGVscFByZWZpeCA9IGBbREVQUkVDQVRFRCwgdXNlICR7b3B0cy5kZXByZWNhdGVkX2Zvcn0gaW5zdGVhZF1gO1xuICAgICAgZGVsZXRlIG9wdHMuZGVwcmVjYXRlZF9mb3I7XG4gICAgfVxuICAgIGlmIChvcHRzLmhlbHApIHtcbiAgICAgIG9wdHMuaGVscCA9IGAke2hlbHBQcmVmaXh9IC0gJHtvcHRzLmhlbHB9YDtcbiAgICB9IGVsc2Uge1xuICAgICAgb3B0cy5oZWxwID0gaGVscFByZWZpeDtcbiAgICB9XG4gICAgc3VwZXIob3B0cyk7XG4gIH1cblxuICBjYWxsIChwYXJzZXIsIG5hbWVzcGFjZSwgdmFsdWVzKSB7XG4gICAgbmFtZXNwYWNlW3RoaXMuZGVzdF0gPSB2YWx1ZXM7XG4gIH1cbn1cblxuXG5jbGFzcyBTdG9yZURlcHJlY2F0ZWRUcnVlQWN0aW9uIGV4dGVuZHMgU3RvcmVEZXByZWNhdGVkQWN0aW9uIHtcbiAgY29uc3RydWN0b3IgKG9wdGlvbnMgPSB7fSkge1xuICAgIHN1cGVyKE9iamVjdC5hc3NpZ24oe30sIG9wdGlvbnMsIHtjb25zdDogdHJ1ZSwgbmFyZ3M6IDB9KSk7XG4gIH1cblxuICBjYWxsIChwYXJzZXIsIG5hbWVzcGFjZSkge1xuICAgIG5hbWVzcGFjZVt0aGlzLmRlc3RdID0gdGhpcy5jb25zdDtcbiAgfVxufVxuXG5cbmNsYXNzIFN0b3JlRGVwcmVjYXRlZERlZmF1bHRDYXBhYmlsaXR5QWN0aW9uIGV4dGVuZHMgU3RvcmVEZXByZWNhdGVkQWN0aW9uIHtcbiAgY29uc3RydWN0b3IgKG9wdGlvbnMgPSB7fSkge1xuICAgIHN1cGVyKE9iamVjdC5hc3NpZ24oe30sIG9wdGlvbnMsIHtkZXByZWNhdGVkX2ZvcjogREVGQVVMVF9DQVBTX0FSR30pKTtcbiAgfVxuXG4gIF93cml0ZURlZmF1bHRDYXAgKG5hbWVzcGFjZSwgdmFsdWUpIHtcbiAgICBuYW1lc3BhY2VbdGhpcy5kZXN0XSA9IHZhbHVlO1xuICAgIGlmICh2YWx1ZSA9PT0gdGhpcy5kZWZhdWx0KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKCFuYW1lc3BhY2UuZGVmYXVsdENhcGFiaWxpdGllcykge1xuICAgICAgbmFtZXNwYWNlLmRlZmF1bHRDYXBhYmlsaXRpZXMgPSB7fTtcbiAgICB9XG4gICAgbmFtZXNwYWNlLmRlZmF1bHRDYXBhYmlsaXRpZXNbdGhpcy5kZXN0XSA9IHZhbHVlO1xuICB9XG5cbiAgY2FsbCAocGFyc2VyLCBuYW1lc3BhY2UsIHZhbHVlcykge1xuICAgIHRoaXMuX3dyaXRlRGVmYXVsdENhcChuYW1lc3BhY2UsIHZhbHVlcyk7XG4gIH1cbn1cblxuXG5jbGFzcyBTdG9yZURlcHJlY2F0ZWREZWZhdWx0Q2FwYWJpbGl0eVRydWVBY3Rpb24gZXh0ZW5kcyBTdG9yZURlcHJlY2F0ZWREZWZhdWx0Q2FwYWJpbGl0eUFjdGlvbiB7XG4gIGNvbnN0cnVjdG9yIChvcHRpb25zID0ge30pIHtcbiAgICBzdXBlcihPYmplY3QuYXNzaWduKHt9LCBvcHRpb25zLCB7Y29uc3Q6IHRydWUsIG5hcmdzOiAwfSkpO1xuICB9XG5cbiAgY2FsbCAocGFyc2VyLCBuYW1lc3BhY2UpIHtcbiAgICB0aGlzLl93cml0ZURlZmF1bHRDYXAobmFtZXNwYWNlLCB0aGlzLmNvbnN0KTtcbiAgfVxufVxuXG5leHBvcnQge1xuICBTdG9yZURlcHJlY2F0ZWRBY3Rpb24sIFN0b3JlRGVwcmVjYXRlZFRydWVBY3Rpb24sXG4gIFN0b3JlRGVwcmVjYXRlZERlZmF1bHRDYXBhYmlsaXR5QWN0aW9uLCBTdG9yZURlcHJlY2F0ZWREZWZhdWx0Q2FwYWJpbGl0eVRydWVBY3Rpb24sXG4gIERFRkFVTFRfQ0FQU19BUkcsXG59O1xuIl0sImZpbGUiOiJsaWIvY2xpL2FyZ3BhcnNlLWFjdGlvbnMuanMiLCJzb3VyY2VSb290IjoiLi4vLi4vLi4ifQ==
@@ -1,77 +0,0 @@
1
- import { Action } from 'argparse';
2
-
3
-
4
- const DEFAULT_CAPS_ARG = '--default-capabilities';
5
-
6
-
7
- class StoreDeprecatedAction extends Action {
8
- constructor (options = {}) {
9
- const opts = Object.assign({}, options);
10
- let helpPrefix = '[DEPRECATED]';
11
- if (opts.deprecated_for) {
12
- helpPrefix = `[DEPRECATED, use ${opts.deprecated_for} instead]`;
13
- delete opts.deprecated_for;
14
- }
15
- if (opts.help) {
16
- opts.help = `${helpPrefix} - ${opts.help}`;
17
- } else {
18
- opts.help = helpPrefix;
19
- }
20
- super(opts);
21
- }
22
-
23
- call (parser, namespace, values) {
24
- namespace[this.dest] = values;
25
- }
26
- }
27
-
28
-
29
- class StoreDeprecatedTrueAction extends StoreDeprecatedAction {
30
- constructor (options = {}) {
31
- super(Object.assign({}, options, {const: true, nargs: 0}));
32
- }
33
-
34
- call (parser, namespace) {
35
- namespace[this.dest] = this.const;
36
- }
37
- }
38
-
39
-
40
- class StoreDeprecatedDefaultCapabilityAction extends StoreDeprecatedAction {
41
- constructor (options = {}) {
42
- super(Object.assign({}, options, {deprecated_for: DEFAULT_CAPS_ARG}));
43
- }
44
-
45
- _writeDefaultCap (namespace, value) {
46
- namespace[this.dest] = value;
47
- if (value === this.default) {
48
- return;
49
- }
50
-
51
- if (!namespace.defaultCapabilities) {
52
- namespace.defaultCapabilities = {};
53
- }
54
- namespace.defaultCapabilities[this.dest] = value;
55
- }
56
-
57
- call (parser, namespace, values) {
58
- this._writeDefaultCap(namespace, values);
59
- }
60
- }
61
-
62
-
63
- class StoreDeprecatedDefaultCapabilityTrueAction extends StoreDeprecatedDefaultCapabilityAction {
64
- constructor (options = {}) {
65
- super(Object.assign({}, options, {const: true, nargs: 0}));
66
- }
67
-
68
- call (parser, namespace) {
69
- this._writeDefaultCap(namespace, this.const);
70
- }
71
- }
72
-
73
- export {
74
- StoreDeprecatedAction, StoreDeprecatedTrueAction,
75
- StoreDeprecatedDefaultCapabilityAction, StoreDeprecatedDefaultCapabilityTrueAction,
76
- DEFAULT_CAPS_ARG,
77
- };