@devicecloud.dev/dcd 1.0.8 → 1.0.10

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.
@@ -14,7 +14,11 @@ export declare enum EiOSDevices {
14
14
  'iphone-15' = "iphone-15",
15
15
  'iphone-15-plus' = "iphone-15-plus",
16
16
  'iphone-15-pro' = "iphone-15-pro",
17
- 'iphone-15-pro-max' = "iphone-15-pro-max"
17
+ 'iphone-15-pro-max' = "iphone-15-pro-max",
18
+ 'iphone-16' = "iphone-16",
19
+ 'iphone-16-plus' = "iphone-16-plus",
20
+ 'iphone-16-pro' = "iphone-16-pro",
21
+ 'iphone-16-pro-max' = "iphone-16-pro-max"
18
22
  }
19
23
  export default class Cloud extends Command {
20
24
  static args: {
@@ -32,6 +36,7 @@ export default class Cloud extends Command {
32
36
  'app-file': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
33
37
  arm64: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
34
38
  async: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
39
+ 'device-locale': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
35
40
  env: import("@oclif/core/lib/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
36
41
  'exclude-flows': import("@oclif/core/lib/interfaces").OptionFlag<string[], import("@oclif/core/lib/interfaces").CustomOptions>;
37
42
  'exclude-tags': import("@oclif/core/lib/interfaces").OptionFlag<string[], import("@oclif/core/lib/interfaces").CustomOptions>;
@@ -41,6 +46,7 @@ export default class Cloud extends Command {
41
46
  'ios-device': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
42
47
  'ios-version': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
43
48
  'legacy-upload': import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
49
+ 'maestro-version': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
44
50
  name: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
45
51
  orientation: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
46
52
  quiet: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
@@ -34,6 +34,10 @@ var EiOSDevices;
34
34
  EiOSDevices["iphone-15-plus"] = "iphone-15-plus";
35
35
  EiOSDevices["iphone-15-pro"] = "iphone-15-pro";
36
36
  EiOSDevices["iphone-15-pro-max"] = "iphone-15-pro-max";
37
+ EiOSDevices["iphone-16"] = "iphone-16";
38
+ EiOSDevices["iphone-16-plus"] = "iphone-16-plus";
39
+ EiOSDevices["iphone-16-pro"] = "iphone-16-pro";
40
+ EiOSDevices["iphone-16-pro-max"] = "iphone-16-pro-max";
37
41
  })(EiOSDevices || (exports.EiOSDevices = EiOSDevices = {}));
38
42
  class Cloud extends core_1.Command {
39
43
  static args = {
@@ -59,7 +63,7 @@ class Cloud extends core_1.Command {
59
63
  }
60
64
  await (0, methods_1.versionCheck)(this.config.version);
61
65
  const { args, flags, raw } = await this.parse(Cloud);
62
- const { 'android-api-level': androidApiLevel, 'android-device': androidDevice, apiKey, apiUrl, 'app-binary-id': appBinaryId, 'app-file': appFile, arm64, async, env, 'exclude-flows': excludeFlows, 'exclude-tags': excludeTags, flows, 'google-play': googlePlay, 'include-tags': includeTags, 'ios-device': iOSDevice, 'ios-version': iOSVersion, 'legacy-upload': legacyUpload, name, orientation, quiet, ...rest } = flags;
66
+ const { 'android-api-level': androidApiLevel, 'android-device': androidDevice, apiKey, apiUrl, 'app-binary-id': appBinaryId, 'app-file': appFile, arm64, async, 'device-locale': deviceLocale, env, 'exclude-flows': excludeFlows, 'exclude-tags': excludeTags, flows, 'google-play': googlePlay, 'include-tags': includeTags, 'ios-device': iOSDevice, 'ios-version': iOSVersion, 'legacy-upload': legacyUpload, 'maestro-version': maestroVersion, name, orientation, quiet, ...rest } = flags;
63
67
  if (arm64) {
64
68
  (0, cli_ux_1.info)('Contact hello@devicecloud.dev to enquire about arm64 devices');
65
69
  (0, cli_ux_1.exit)();
@@ -221,8 +225,9 @@ class Cloud extends core_1.Command {
221
225
  const testFormData = new FormData();
222
226
  // eslint-disable-next-line unicorn/no-array-reduce
223
227
  const envObject = (env ?? []).reduce((acc, cur) => {
224
- const [key, value] = cur.split('=');
225
- acc[key] = value;
228
+ const [key, ...value] = cur.split('=');
229
+ // handle case where value includes an equals sign
230
+ acc[key] = value.join('=');
226
231
  return acc;
227
232
  }, {});
228
233
  const buffer = await (0, methods_1.compressFilesFromRelativePath)(flowFile?.endsWith('.yaml') || flowFile?.endsWith('.yml')
@@ -247,6 +252,8 @@ class Cloud extends core_1.Command {
247
252
  allExcludeTags,
248
253
  allIncludeTags,
249
254
  continueOnFailure,
255
+ deviceLocale,
256
+ maestroVersion,
250
257
  orientation,
251
258
  raw,
252
259
  version: this.config.version,
@@ -261,8 +268,6 @@ class Cloud extends core_1.Command {
261
268
  testFormData.set('iOSDevice', iOSDevice.toString());
262
269
  if (name)
263
270
  testFormData.set('name', name.toString());
264
- if (metadata)
265
- testFormData.set('metadata', JSON.stringify(metadata));
266
271
  for (const [key, value] of Object.entries(rest)) {
267
272
  if (value) {
268
273
  testFormData.set(key, value);
@@ -8,6 +8,7 @@ export declare const flags: {
8
8
  'app-file': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
9
9
  arm64: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
10
10
  async: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
11
+ 'device-locale': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
11
12
  env: import("@oclif/core/lib/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
12
13
  'exclude-flows': import("@oclif/core/lib/interfaces").OptionFlag<string[], import("@oclif/core/lib/interfaces").CustomOptions>;
13
14
  'exclude-tags': import("@oclif/core/lib/interfaces").OptionFlag<string[], import("@oclif/core/lib/interfaces").CustomOptions>;
@@ -17,6 +18,7 @@ export declare const flags: {
17
18
  'ios-device': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
18
19
  'ios-version': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
19
20
  'legacy-upload': import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
21
+ 'maestro-version': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
20
22
  name: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
21
23
  orientation: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
22
24
  quiet: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
package/dist/constants.js CHANGED
@@ -42,6 +42,9 @@ exports.flags = {
42
42
  async: core_1.Flags.boolean({
43
43
  description: 'Wait for the results of the run',
44
44
  }),
45
+ 'device-locale': core_1.Flags.string({
46
+ description: 'Locale that will be set to a device, ISO-639-1 code and uppercase ISO-3166-1 code e.g. "de_DE" for Germany',
47
+ }),
45
48
  env: core_1.Flags.file({
46
49
  char: 'e',
47
50
  description: 'One or more environment variables to inject into your flows',
@@ -96,17 +99,39 @@ exports.flags = {
96
99
  'iphone-15-plus',
97
100
  'iphone-15-pro',
98
101
  'iphone-15-pro-max',
102
+ 'iphone-16',
103
+ 'iphone-16-plus',
104
+ 'iphone-16-pro',
105
+ 'iphone-16-pro-max',
99
106
  'ipad-pro-6th-gen',
100
107
  ],
101
108
  }),
102
109
  'ios-version': core_1.Flags.string({
103
110
  description: '[iOS only] iOS version to run your flow against',
104
- options: ['15', '16', '17'],
111
+ options: ['15', '16', '17', '18'],
105
112
  }),
106
113
  'legacy-upload': core_1.Flags.boolean({
107
114
  default: false,
108
115
  description: 'Use the legacy direct upload method',
109
116
  }),
117
+ 'maestro-version': core_1.Flags.string({
118
+ aliases: ['maestroVersion'],
119
+ description: '[ALPHA pre-release] - Maestro version to run your flow against',
120
+ options: [
121
+ '1.36.0',
122
+ '1.37.0',
123
+ '1.37.1',
124
+ '1.37.2',
125
+ '1.37.3',
126
+ '1.37.4',
127
+ '1.37.5',
128
+ '1.37.6',
129
+ '1.37.7',
130
+ '1.37.8',
131
+ '1.37.9',
132
+ '1.38.1',
133
+ ],
134
+ }),
110
135
  name: core_1.Flags.string({
111
136
  description: 'A custom name for your upload (useful for tagging commits etc)',
112
137
  }),
@@ -128,12 +153,16 @@ exports.iOSCompatibilityLookup = {
128
153
  'iphone-13': ['15', '16', '17'],
129
154
  'iphone-13-mini': ['15', '16', '17'],
130
155
  'iphone-13-pro-max': ['15', '16', '17'],
131
- 'iphone-14': ['16', '17'],
132
- 'iphone-14-plus': ['16', '17'],
133
- 'iphone-14-pro': ['16', '17'],
134
- 'iphone-14-pro-max': ['16', '17'],
135
- 'iphone-15': ['17'],
136
- 'iphone-15-plus': ['17'],
137
- 'iphone-15-pro': ['17'],
138
- 'iphone-15-pro-max': ['17'],
156
+ 'iphone-14': ['16', '17', '18'],
157
+ 'iphone-14-plus': ['16', '17', '18'],
158
+ 'iphone-14-pro': ['16', '17', '18'],
159
+ 'iphone-14-pro-max': ['16', '17', '18'],
160
+ 'iphone-15': ['17', '18'],
161
+ 'iphone-15-plus': ['17', '18'],
162
+ 'iphone-15-pro': ['17', '18'],
163
+ 'iphone-15-pro-max': ['17', '18'],
164
+ 'iphone-16': ['18'],
165
+ 'iphone-16-plus': ['18'],
166
+ 'iphone-16-pro': ['18'],
167
+ 'iphone-16-pro-max': ['18'],
139
168
  };
@@ -99,6 +99,13 @@
99
99
  "allowNo": false,
100
100
  "type": "boolean"
101
101
  },
102
+ "device-locale": {
103
+ "description": "Locale that will be set to a device, ISO-639-1 code and uppercase ISO-3166-1 code e.g. \"de_DE\" for Germany",
104
+ "name": "device-locale",
105
+ "hasDynamicHelp": false,
106
+ "multiple": false,
107
+ "type": "option"
108
+ },
102
109
  "env": {
103
110
  "char": "e",
104
111
  "description": "One or more environment variables to inject into your flows",
@@ -173,6 +180,10 @@
173
180
  "iphone-15-plus",
174
181
  "iphone-15-pro",
175
182
  "iphone-15-pro-max",
183
+ "iphone-16",
184
+ "iphone-16-plus",
185
+ "iphone-16-pro",
186
+ "iphone-16-pro-max",
176
187
  "ipad-pro-6th-gen"
177
188
  ],
178
189
  "type": "option"
@@ -185,7 +196,8 @@
185
196
  "options": [
186
197
  "15",
187
198
  "16",
188
- "17"
199
+ "17",
200
+ "18"
189
201
  ],
190
202
  "type": "option"
191
203
  },
@@ -195,6 +207,30 @@
195
207
  "allowNo": false,
196
208
  "type": "boolean"
197
209
  },
210
+ "maestro-version": {
211
+ "aliases": [
212
+ "maestroVersion"
213
+ ],
214
+ "description": "[ALPHA pre-release] - Maestro version to run your flow against",
215
+ "name": "maestro-version",
216
+ "hasDynamicHelp": false,
217
+ "multiple": false,
218
+ "options": [
219
+ "1.36.0",
220
+ "1.37.0",
221
+ "1.37.1",
222
+ "1.37.2",
223
+ "1.37.3",
224
+ "1.37.4",
225
+ "1.37.5",
226
+ "1.37.6",
227
+ "1.37.7",
228
+ "1.37.8",
229
+ "1.37.9",
230
+ "1.38.1"
231
+ ],
232
+ "type": "option"
233
+ },
198
234
  "name": {
199
235
  "description": "A custom name for your upload (useful for tagging commits etc)",
200
236
  "name": "name",
@@ -239,5 +275,5 @@
239
275
  ]
240
276
  }
241
277
  },
242
- "version": "1.0.8"
278
+ "version": "1.0.10"
243
279
  }
package/package.json CHANGED
@@ -80,7 +80,7 @@
80
80
  "test": "mocha --forbid-only \"test/**/*.test.ts\"",
81
81
  "version": "oclif readme && git add README.md"
82
82
  },
83
- "version": "1.0.8",
83
+ "version": "1.0.10",
84
84
  "bugs": {
85
85
  "url": "https://discord.gg/gm3mJwcNw8"
86
86
  },