@devicecloud.dev/dcd 5.2.0-beta.1 → 5.2.0-beta.2

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.
@@ -185,13 +185,13 @@ export declare const cloudCommand: import("citty").CommandDef<{
185
185
  readonly type: "string";
186
186
  readonly description: `[iOS only] iOS version to run your flow against (options: ${string})`;
187
187
  };
188
- readonly 'ios-config': {
188
+ readonly 'ios-device-matrix': {
189
189
  readonly type: "string";
190
- readonly description: "[iOS only] Device-matrix cell as <device>:<version>, e.g. iphone-16:18. Repeatable — every flow runs once per cell (no cross-product). Cannot be combined with --android-config.";
190
+ readonly description: "[iOS only] Device-matrix cell as <device>:<version>, e.g. iphone-16:18. Repeatable — every flow runs once per cell (no cross-product). Cannot be combined with --android-device-matrix.";
191
191
  };
192
- readonly 'android-config': {
192
+ readonly 'android-device-matrix': {
193
193
  readonly type: "string";
194
- readonly description: "[Android only] Device-matrix cell as <device>:<apiLevel> (append :play for Google Play), e.g. pixel-7:34 or pixel-7:34:play. Repeatable — every flow runs once per cell (no cross-product). Cannot be combined with --ios-config.";
194
+ readonly description: "[Android only] Device-matrix cell as <device>:<apiLevel> (append :play for Google Play), e.g. pixel-7:34 or pixel-7:34:play. Repeatable — every flow runs once per cell (no cross-product). Cannot be combined with --ios-device-matrix.";
195
195
  };
196
196
  readonly orientation: {
197
197
  readonly type: "string";
@@ -139,9 +139,9 @@ export const cloudCommand = defineCommand({
139
139
  const androidDevice = validateEnum(args['android-device'], Object.values(EAndroidDevices), 'android-device');
140
140
  const androidNoSnapshot = Boolean(args['android-no-snapshot']);
141
141
  // Repeatable device-matrix flags: one validated cell each, no cross-product.
142
- const iosConfigFlags = collectRepeatedFlag(rawArgs, ['--ios-config']);
143
- const androidConfigFlags = collectRepeatedFlag(rawArgs, ['--android-config']);
144
- const deviceMatrix = parseDeviceMatrix(iosConfigFlags, androidConfigFlags);
142
+ const iosMatrixFlags = collectRepeatedFlag(rawArgs, ['--ios-device-matrix']);
143
+ const androidMatrixFlags = collectRepeatedFlag(rawArgs, ['--android-device-matrix']);
144
+ const deviceMatrix = parseDeviceMatrix(iosMatrixFlags, androidMatrixFlags);
145
145
  const json = Boolean(args.json);
146
146
  const jsonFileFlag = Boolean(args['json-file']);
147
147
  const jsonFileName = args['json-file-name'];
@@ -433,8 +433,8 @@ export const cloudCommand = defineCommand({
433
433
  'include-tags': includeTags,
434
434
  'exclude-tags': excludeTags,
435
435
  'exclude-flows': excludeFlows,
436
- 'ios-config': iosConfigFlags,
437
- 'android-config': androidConfigFlags,
436
+ 'ios-device-matrix': iosMatrixFlags,
437
+ 'android-device-matrix': androidMatrixFlags,
438
438
  };
439
439
  for (const [k, v] of Object.entries(args)) {
440
440
  if (!canonicalFlagKeys.has(k))
@@ -27,13 +27,13 @@ export declare const deviceFlags: {
27
27
  readonly type: "string";
28
28
  readonly description: `[iOS only] iOS version to run your flow against (options: ${string})`;
29
29
  };
30
- readonly 'ios-config': {
30
+ readonly 'ios-device-matrix': {
31
31
  readonly type: "string";
32
- readonly description: "[iOS only] Device-matrix cell as <device>:<version>, e.g. iphone-16:18. Repeatable — every flow runs once per cell (no cross-product). Cannot be combined with --android-config.";
32
+ readonly description: "[iOS only] Device-matrix cell as <device>:<version>, e.g. iphone-16:18. Repeatable — every flow runs once per cell (no cross-product). Cannot be combined with --android-device-matrix.";
33
33
  };
34
- readonly 'android-config': {
34
+ readonly 'android-device-matrix': {
35
35
  readonly type: "string";
36
- readonly description: "[Android only] Device-matrix cell as <device>:<apiLevel> (append :play for Google Play), e.g. pixel-7:34 or pixel-7:34:play. Repeatable — every flow runs once per cell (no cross-product). Cannot be combined with --ios-config.";
36
+ readonly description: "[Android only] Device-matrix cell as <device>:<apiLevel> (append :play for Google Play), e.g. pixel-7:34 or pixel-7:34:play. Repeatable — every flow runs once per cell (no cross-product). Cannot be combined with --ios-device-matrix.";
37
37
  };
38
38
  readonly orientation: {
39
39
  readonly type: "string";
@@ -32,13 +32,13 @@ export const deviceFlags = {
32
32
  type: 'string',
33
33
  description: `[iOS only] iOS version to run your flow against (options: ${iosVersions})`,
34
34
  },
35
- 'ios-config': {
35
+ 'ios-device-matrix': {
36
36
  type: 'string',
37
- description: `[iOS only] Device-matrix cell as <device>:<version>, e.g. iphone-16:18. Repeatable — every flow runs once per cell (no cross-product). Cannot be combined with --android-config.`,
37
+ description: `[iOS only] Device-matrix cell as <device>:<version>, e.g. iphone-16:18. Repeatable — every flow runs once per cell (no cross-product). Cannot be combined with --android-device-matrix.`,
38
38
  },
39
- 'android-config': {
39
+ 'android-device-matrix': {
40
40
  type: 'string',
41
- description: `[Android only] Device-matrix cell as <device>:<apiLevel> (append :play for Google Play), e.g. pixel-7:34 or pixel-7:34:play. Repeatable — every flow runs once per cell (no cross-product). Cannot be combined with --ios-config.`,
41
+ description: `[Android only] Device-matrix cell as <device>:<apiLevel> (append :play for Google Play), e.g. pixel-7:34 or pixel-7:34:play. Repeatable — every flow runs once per cell (no cross-product). Cannot be combined with --ios-device-matrix.`,
42
42
  },
43
43
  orientation: {
44
44
  type: 'string',
@@ -171,13 +171,13 @@ export declare const flags: {
171
171
  readonly type: "string";
172
172
  readonly description: `[iOS only] iOS version to run your flow against (options: ${string})`;
173
173
  };
174
- readonly 'ios-config': {
174
+ readonly 'ios-device-matrix': {
175
175
  readonly type: "string";
176
- readonly description: "[iOS only] Device-matrix cell as <device>:<version>, e.g. iphone-16:18. Repeatable — every flow runs once per cell (no cross-product). Cannot be combined with --android-config.";
176
+ readonly description: "[iOS only] Device-matrix cell as <device>:<version>, e.g. iphone-16:18. Repeatable — every flow runs once per cell (no cross-product). Cannot be combined with --android-device-matrix.";
177
177
  };
178
- readonly 'android-config': {
178
+ readonly 'android-device-matrix': {
179
179
  readonly type: "string";
180
- readonly description: "[Android only] Device-matrix cell as <device>:<apiLevel> (append :play for Google Play), e.g. pixel-7:34 or pixel-7:34:play. Repeatable — every flow runs once per cell (no cross-product). Cannot be combined with --ios-config.";
180
+ readonly description: "[Android only] Device-matrix cell as <device>:<apiLevel> (append :play for Google Play), e.g. pixel-7:34 or pixel-7:34:play. Repeatable — every flow runs once per cell (no cross-product). Cannot be combined with --ios-device-matrix.";
181
181
  };
182
182
  readonly orientation: {
183
183
  readonly type: "string";
@@ -1,7 +1,7 @@
1
1
  import { DeviceMatrixConfig } from '../types/domain/device.types.js';
2
2
  /**
3
- * Parse repeated `--ios-config <device>:<version>` and
4
- * `--android-config <device>:<apiLevel>[:play]` flags into an explicit device
3
+ * Parse repeated `--ios-device-matrix <device>:<version>` and
4
+ * `--android-device-matrix <device>:<apiLevel>[:play]` flags into an explicit device
5
5
  * matrix. Each entry is one validated cell — there is NO cross-product, because
6
6
  * the compatibility matrix is ragged and a cross-product would invent cells the
7
7
  * user never asked for.
@@ -1,8 +1,8 @@
1
1
  import { isIosMatrixConfig, } from '../types/domain/device.types.js';
2
2
  import { CliError } from './cli.js';
3
3
  /**
4
- * Parse repeated `--ios-config <device>:<version>` and
5
- * `--android-config <device>:<apiLevel>[:play]` flags into an explicit device
4
+ * Parse repeated `--ios-device-matrix <device>:<version>` and
5
+ * `--android-device-matrix <device>:<apiLevel>[:play]` flags into an explicit device
6
6
  * matrix. Each entry is one validated cell — there is NO cross-product, because
7
7
  * the compatibility matrix is ragged and a cross-product would invent cells the
8
8
  * user never asked for.
@@ -14,13 +14,13 @@ import { CliError } from './cli.js';
14
14
  */
15
15
  export function parseDeviceMatrix(iosConfigs, androidConfigs) {
16
16
  if (iosConfigs.length > 0 && androidConfigs.length > 0) {
17
- throw new CliError('A device matrix cannot mix platforms: use either --ios-config or --android-config, not both. One upload runs one binary.');
17
+ throw new CliError('A device matrix cannot mix platforms: use either --ios-device-matrix or --android-device-matrix, not both. One upload runs one binary.');
18
18
  }
19
19
  const configs = [];
20
20
  for (const raw of iosConfigs) {
21
21
  const parts = raw.split(':');
22
22
  if (parts.length !== 2 || !parts[0] || !parts[1]) {
23
- throw new CliError(`Invalid --ios-config "${raw}". Expected <device>:<version>, e.g. iphone-16:18.`);
23
+ throw new CliError(`Invalid --ios-device-matrix "${raw}". Expected <device>:<version>, e.g. iphone-16:18.`);
24
24
  }
25
25
  configs.push({ iOSDevice: parts[0], iOSVersion: parts[1] });
26
26
  }
@@ -32,7 +32,7 @@ export function parseDeviceMatrix(iosConfigs, androidConfigs) {
32
32
  !parts[0] ||
33
33
  !parts[1] ||
34
34
  (parts.length === 3 && parts[2] !== 'play')) {
35
- throw new CliError(`Invalid --android-config "${raw}". Expected <device>:<apiLevel> or <device>:<apiLevel>:play, e.g. pixel-7:34 or pixel-7:34:play.`);
35
+ throw new CliError(`Invalid --android-device-matrix "${raw}". Expected <device>:<apiLevel> or <device>:<apiLevel>:play, e.g. pixel-7:34 or pixel-7:34:play.`);
36
36
  }
37
37
  configs.push({
38
38
  androidDevice: parts[0],
package/package.json CHANGED
@@ -60,7 +60,7 @@
60
60
  "type": "git",
61
61
  "url": "https://devicecloud.dev"
62
62
  },
63
- "version": "5.2.0-beta.1",
63
+ "version": "5.2.0-beta.2",
64
64
  "bugs": {
65
65
  "url": "https://discord.gg/gm3mJwcNw8"
66
66
  },