@stag-build/phonebook 0.1.3 → 0.1.5

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.
package/README.md CHANGED
@@ -237,15 +237,23 @@ Add the [SnapshotPreviews](https://github.com/getsentry/SnapshotPreviews) SPM pa
237
237
 
238
238
  ```swift
239
239
  // PhonebookSnapshotTests.swift
240
+ import Foundation
240
241
  import SnapshottingTests
241
242
 
242
243
  final class PhonebookSnapshotTests: SnapshotTest {
243
244
  override class func snapshotPreviews() -> [String]? {
244
- return nil // record every #Preview
245
+ guard let raw = ProcessInfo.processInfo.environment["SNAPSHOTS_ONLY_FILTER"], !raw.isEmpty else {
246
+ return nil // record every #Preview
247
+ }
248
+ return raw.components(separatedBy: "\n")
245
249
  }
246
250
  }
247
251
  ```
248
252
 
253
+ Reading `SNAPSHOTS_ONLY_FILTER` is what lets `phonebook generate --changed` (or `--files A.swift,B.swift`)
254
+ render only the previews in the files you just edited; with the variable unset, every `#Preview` is recorded
255
+ as before.
256
+
249
257
  Add `phonebook.config.json` next to your `.xcodeproj`:
250
258
 
251
259
  ```json
package/dist/cli.js CHANGED
@@ -19,11 +19,31 @@ program
19
19
  .option('-C, --dir <dir>', 'project directory containing phonebook.config.json', '.')
20
20
  .option('-o, --output <dir>', 'bundle output directory (default from config, else phonebook-out)')
21
21
  .option('--allow-empty', 'write an empty manifest (with a warning) instead of failing when no previews are recorded', false)
22
+ .option('--changed', 'render only the previews declared in files with uncommitted changes', false)
23
+ .option('--files <paths>', 'comma-separated source files; render only the previews declared in them')
22
24
  .action(async (opts) => {
25
+ if (opts.changed && opts.files) {
26
+ throw new Error('--changed and --files cannot be combined: pass one or the other.');
27
+ }
28
+ const files = opts.files
29
+ ?.split(',')
30
+ .map((f) => f.trim())
31
+ .filter((f) => f.length > 0);
32
+ if (files && files.length === 0)
33
+ throw new Error('--files was given no paths');
23
34
  const { config, projectDir } = await loadConfig(opts.dir);
24
35
  const outputDir = resolve(projectDir, opts.output ?? config.output ?? 'phonebook-out');
25
- const generate = config.platform === 'android' ? generateAndroid : generateIos;
26
- const manifest = await generate(config, projectDir, outputDir, { allowEmpty: opts.allowEmpty });
36
+ const manifest = config.platform === 'android'
37
+ ? await generateAndroid(config, projectDir, outputDir, {
38
+ allowEmpty: opts.allowEmpty,
39
+ changedOnly: opts.changed,
40
+ ...(files ? { files } : {}),
41
+ })
42
+ : await generateIos(config, projectDir, outputDir, {
43
+ allowEmpty: opts.allowEmpty,
44
+ ...(opts.changed ? { changedOnly: true } : {}),
45
+ ...(files ? { files } : {}),
46
+ });
27
47
  console.log(`Recorded ${manifest.entries.length} previews -> ${outputDir}`);
28
48
  });
29
49
  program
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -23,5 +23,24 @@ export declare function tryWriteSnapshotClass(projectDir: string): Promise<{
23
23
  message: string;
24
24
  path?: string;
25
25
  }>;
26
- /** The SnapshotTest subclass snippet printed by `init` and reused by `doctor`'s snapshot-test-class check. */
27
- export declare const IOS_SNAPSHOT_TEST_CLASS_SNIPPET = " import SnapshottingTests\n\n class Snapshots: SnapshotTest {\n override class func snapshotPreviews() -> [String]? { nil }\n }";
26
+ /**
27
+ * The SnapshotTest subclass snippet printed by `init` and reused by `doctor`'s
28
+ * snapshot-test-class check.
29
+ *
30
+ * `nonisolated` is load-bearing. Xcode 26 turns on
31
+ * `SWIFT_DEFAULT_ACTOR_ISOLATION = MainActor` for new projects, which makes
32
+ * every declaration MainActor-isolated unless it says otherwise, and
33
+ * SnapshotTest's own members are nonisolated. Without it the subclass does not
34
+ * compile: six errors on IceCubesApp, three for the overridden class methods
35
+ * and three for inherited initializers.
36
+ *
37
+ * Those initializers are why it goes on the class and not on each method.
38
+ * `init()`, `init(invocation:)` and `init(selector:)` appear nowhere in this
39
+ * source, so there is nothing to annotate one at a time; only class-level
40
+ * `nonisolated` reaches them.
41
+ *
42
+ * It costs nothing where it is not needed. `nonisolated` on a type has been
43
+ * legal since Swift 6.1 and Phonebook requires Xcode 26.3, so on a project
44
+ * that never enabled the setting it restates what was already true.
45
+ */
46
+ export declare const IOS_SNAPSHOT_TEST_CLASS_SNIPPET = " import Foundation\n import SnapshottingTests\n\n nonisolated class Snapshots: SnapshotTest {\n override class func snapshotPreviews() -> [String]? {\n guard let raw = ProcessInfo.processInfo.environment[\"SNAPSHOTS_ONLY_FILTER\"], !raw.isEmpty else {\n return nil // record every #Preview\n }\n return raw.components(separatedBy: \"\\n\")\n }\n }";
@@ -318,6 +318,10 @@ async function printAndroidInstructions(projectDir, modules) {
318
318
  isIncludeAndroidResources = true
319
319
  all {
320
320
  it.systemProperties["robolectric.pixelCopyRenderMode"] = "hardware"
321
+ // \`phonebook generate --changed\`/\`--files\` narrows this task to a --tests
322
+ // pattern; a module with none of the requested previews would otherwise fail
323
+ // the build instead of just recording nothing.
324
+ it.filter.isFailOnNoMatchingTests = false
321
325
  }
322
326
  }
323
327
  }
@@ -387,11 +391,36 @@ This project uses a Gradle version catalog ("${prefix}"). Equivalent additions u
387
391
  }
388
392
  `;
389
393
  }
390
- /** The SnapshotTest subclass snippet printed by `init` and reused by `doctor`'s snapshot-test-class check. */
391
- export const IOS_SNAPSHOT_TEST_CLASS_SNIPPET = ` import SnapshottingTests
394
+ /**
395
+ * The SnapshotTest subclass snippet printed by `init` and reused by `doctor`'s
396
+ * snapshot-test-class check.
397
+ *
398
+ * `nonisolated` is load-bearing. Xcode 26 turns on
399
+ * `SWIFT_DEFAULT_ACTOR_ISOLATION = MainActor` for new projects, which makes
400
+ * every declaration MainActor-isolated unless it says otherwise, and
401
+ * SnapshotTest's own members are nonisolated. Without it the subclass does not
402
+ * compile: six errors on IceCubesApp, three for the overridden class methods
403
+ * and three for inherited initializers.
404
+ *
405
+ * Those initializers are why it goes on the class and not on each method.
406
+ * `init()`, `init(invocation:)` and `init(selector:)` appear nowhere in this
407
+ * source, so there is nothing to annotate one at a time; only class-level
408
+ * `nonisolated` reaches them.
409
+ *
410
+ * It costs nothing where it is not needed. `nonisolated` on a type has been
411
+ * legal since Swift 6.1 and Phonebook requires Xcode 26.3, so on a project
412
+ * that never enabled the setting it restates what was already true.
413
+ */
414
+ export const IOS_SNAPSHOT_TEST_CLASS_SNIPPET = ` import Foundation
415
+ import SnapshottingTests
392
416
 
393
- class Snapshots: SnapshotTest {
394
- override class func snapshotPreviews() -> [String]? { nil }
417
+ nonisolated class Snapshots: SnapshotTest {
418
+ override class func snapshotPreviews() -> [String]? {
419
+ guard let raw = ProcessInfo.processInfo.environment["SNAPSHOTS_ONLY_FILTER"], !raw.isEmpty else {
420
+ return nil // record every #Preview
421
+ }
422
+ return raw.components(separatedBy: "\\n")
423
+ }
395
424
  }`;
396
425
  function printIosInstructions() {
397
426
  console.log(`
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC/E,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAwB,MAAM,cAAc,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAC3E,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC1F,OAAO,EACL,6BAA6B,EAC7B,wBAAwB,EACxB,eAAe,GAChB,MAAM,6BAA6B,CAAC;AAErC,MAAM,eAAe,GAAG,+BAA+B,CAAC;AACxD,MAAM,kBAAkB,GAAG,WAAW,CAAC;AACvC,MAAM,SAAS,GAAG,kDAAkD,CAAC;AACrE,MAAM,YAAY,GAAG,SAAS,CAAC;AAE/B,MAAM,yBAAyB,GAAG,QAAQ,CAAC;AAC3C,MAAM,mBAAmB,GAAG,OAAO,CAAC;AAEpC,KAAK,UAAU,MAAM,CAAC,IAAY;IAChC,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC;QACnB,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,KAAK,UAAU,mBAAmB,CAAC,IAAY;IAC7C,IAAI,CAAC;QACH,OAAO,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACtC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,4FAA4F;AAC5F,KAAK,UAAU,qBAAqB,CAAC,SAAiB;IACpD,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,IAAI,IAAI,CAAC,kBAAkB,EAAE,cAAc,CAAC,EAAE,CAAC;QACxD,MAAM,IAAI,GAAG,MAAM,mBAAmB,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC;QAC9D,IAAI,IAAI,KAAK,SAAS;YAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,wBAAwB,CAAC,IAAY;IAClD,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,IAAI,OAAO,GAAG,IAAI,CAAC;IACnB,SAAS,CAAC;QACR,IAAI,OAAO,CAAC;QACZ,IAAI,CAAC;YACH,OAAO,GAAG,MAAM,OAAO,CAAC,OAAO,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5D,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;QACpD,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC3G,IAAI,UAAU,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACpC,OAAO,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC9D,CAAC;QACD,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC5B,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,UAAkB,EAAE,MAAc;IAC3E,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;IACzE,MAAM,UAAU,GAAG,MAAM,qBAAqB,CAAC,SAAS,CAAC,CAAC;IAE1D,MAAM,cAAc,GAAG,UAAU,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;IAC/E,IAAI,cAAc;QAAE,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC;IAE7C,MAAM,kBAAkB,GAAG,UAAU,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC;IACvF,IAAI,kBAAkB;QAAE,OAAO,kBAAkB,CAAC,CAAC,CAAC,CAAC;IAErD,MAAM,YAAY,GAAG,MAAM,mBAAmB,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,qBAAqB,CAAC,CAAC,CAAC;IACtG,IAAI,YAAY,EAAE,CAAC;QACjB,MAAM,YAAY,GAAG,YAAY,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;QACrE,IAAI,YAAY;YAAE,OAAO,YAAY,CAAC,CAAC,CAAC,CAAC;IAC3C,CAAC;IAED,KAAK,MAAM,OAAO,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC;QACzC,MAAM,GAAG,GAAG,MAAM,wBAAwB,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;QACpF,IAAI,GAAG;YAAE,OAAO,GAAG,CAAC;IACtB,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,qEAAqE;AACrE,KAAK,UAAU,cAAc,CAC3B,UAAkB;IAMlB,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,CAAC;IAE1C,MAAM,UAAU,GACd,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC;IAEjF,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,cAAc,CAAC,CAAC;IACvE,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,YAAY,CAAC,CAAC;IACnE,MAAM,MAAM,GAAG,OAAO,CAAC,WAAW,IAAI,SAAS,CAAC,CAAC;IAEjD,IAAI,UAAU,IAAI,MAAM,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CACb,0FAA0F;YACxF,gFAAgF;YAChF,gCAAgC,CACnC,CAAC;IACJ,CAAC;IACD,IAAI,UAAU;QAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;IAC/C,IAAI,MAAM;QAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC;IACnF,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;AACjC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,GAAW,EAAE,UAA4C,EAAE;IACvF,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAChC,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,EAAE,uBAAuB,CAAC,CAAC;IAChE,MAAM,aAAa,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,CAAC;IAE/C,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,UAAU,CAAC,CAAC;IAClD,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CACb,kCAAkC,UAAU,6CAA6C;YACvF,qBAAqB,CACxB,CAAC;IACJ,CAAC;IAED,IAAI,aAAa,EAAE,CAAC;QAClB,OAAO,CAAC,GAAG,CAAC,GAAG,UAAU,wCAAwC,CAAC,CAAC;IACrE,CAAC;SAAM,CAAC;QACN,MAAM,OAAO,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC;QACrC,IAAI,MAAuB,CAAC;QAC5B,IAAI,QAAQ,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YACpC,MAAM,GAAG;gBACP,OAAO;gBACP,QAAQ,EAAE,SAAS;gBACnB,OAAO,EAAE,EAAE,OAAO,EAAE,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE;aACjD,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,MAAM,WAAW,GAAG,QAAQ,CAC1B,CAAC,QAAQ,CAAC,SAAS,IAAI,QAAQ,CAAC,OAAO,CAAE,EACzC,OAAO,CAAC,CAAC,QAAQ,CAAC,SAAS,IAAI,QAAQ,CAAC,OAAO,CAAE,CAAC,CACnD,CAAC;YACF,MAAM,GAAG;gBACP,OAAO;gBACP,QAAQ,EAAE,KAAK;gBACf,GAAG,EAAE;oBACH,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC;oBAC3F,MAAM,EAAE,WAAW;oBACnB,SAAS,EAAE,eAAe;iBAC3B;aACF,CAAC;QACJ,CAAC;QACD,MAAM,SAAS,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;QACpE,OAAO,CAAC,GAAG,CAAC,SAAS,UAAU,EAAE,CAAC,CAAC;IACrC,CAAC;IAED,IAAI,QAAQ,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QACpC,IAAI,OAAO,GAAa,CAAC,MAAM,CAAC,CAAC;QACjC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,UAAU,CAAC,CAAC;YAC5C,IAAI,MAAM,CAAC,MAAM,CAAC,QAAQ,KAAK,SAAS;gBAAE,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC;QACjG,CAAC;QAAC,MAAM,CAAC;YACP,8DAA8D;QAChE,CAAC;QACD,MAAM,wBAAwB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QACpD,IAAI,OAAO,CAAC,kBAAkB,EAAE,CAAC;YAC/B,OAAO,CAAC,GAAG,CAAC,6EAA6E,CAAC,CAAC;QAC7F,CAAC;IACH,CAAC;SAAM,CAAC;QACN,oBAAoB,EAAE,CAAC;QACvB,IAAI,OAAO,CAAC,kBAAkB,EAAE,CAAC;YAC/B,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAChB,MAAM,MAAM,GAAG,MAAM,qBAAqB,CAAC,UAAU,CAAC,CAAC;YACvD,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,UAAkB;IAElB,IAAI,MAAuB,CAAC;IAC5B,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,UAAU,CAAC,CAAC;QAC5C,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IACzB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,2BAA4B,GAAa,CAAC,OAAO,EAAE,EAAE,CAAC;IACrF,CAAC;IACD,IAAI,MAAM,CAAC,QAAQ,KAAK,KAAK,EAAE,CAAC;QAC9B,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,2EAA2E,EAAE,CAAC;IAC7G,CAAC;IACD,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC;IACvB,IAAI,CAAC,GAAG,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;QACrD,OAAO;YACL,EAAE,EAAE,KAAK;YACT,OAAO,EACL,oGAAoG;gBACpG,sBAAsB;SACzB,CAAC;IACJ,CAAC;IAED,MAAM,WAAW,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC/E,MAAM,WAAW,GAAG,MAAM,eAAe,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;IACnE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC;QAC5F,OAAO;YACL,EAAE,EAAE,KAAK;YACT,OAAO,EACL,uGAAuG;gBACvG,mDAAmD;SACtD,CAAC;IACJ,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,wBAAwB,CAAC,UAAU,CAAC,CAAC;IAC5D,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO;YACL,EAAE,EAAE,KAAK;YACT,OAAO,EACL,mEAAmE,QAAQ,CAAC,SAAS,MAAM;gBAC3F,GAAG,QAAQ,CAAC,YAAY,yBAAyB;SACpD,CAAC;IACJ,CAAC;IAED,MAAM,QAAQ,GAAG,6BAA6B,CAAC,WAAW,CAAC,CAAC;IAC5D,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO;YACL,EAAE,EAAE,KAAK;YACT,OAAO,EACL,sGAAsG;gBACtG,0FAA0F;SAC7F,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,kBAAkB,EAAE,CAAC;QACjC,OAAO;YACL,EAAE,EAAE,KAAK;YACT,OAAO,EACL,gCAAgC,QAAQ,CAAC,UAAU,qDAAqD;gBACxG,sGAAsG;gBACtG,0BAA0B,QAAQ,CAAC,UAAU,gDAAgD;gBAC7F,GAAG,QAAQ,CAAC,UAAU,6BAA6B;SACtD,CAAC;IACJ,CAAC;IAED,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,EAAE,QAAQ,CAAC,kBAAkB,CAAC,CAAC;IACnE,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,0BAA0B,CAAC,CAAC;IAC7D,MAAM,QAAQ,GACZ,+BAA+B,CAAC,KAAK,CAAC,IAAI,CAAC;SACxC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;SACxC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IACvB,MAAM,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5C,MAAM,SAAS,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACpC,OAAO;QACL,EAAE,EAAE,IAAI;QACR,IAAI,EAAE,QAAQ;QACd,OAAO,EACL,SAAS,QAAQ,wBAAwB,QAAQ,CAAC,UAAU,0CAA0C;YACtG,UAAU,QAAQ,CAAC,kBAAkB,6DAA6D;YAClG,0CAA0C;KAC7C,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,wBAAwB,CAAC,UAAkB,EAAE,OAAiB;IAC3E,MAAM,QAAQ,GAAG,MAAM,mBAAmB,CAAC,UAAU,CAAC,CAAC;IAEvD,IAAI,gBAAgB,GAAG,yBAAyB,CAAC;IACjD,IAAI,UAAU,GAAG,mBAAmB,CAAC;IACrC,IAAI,IAAwB,CAAC;IAE7B,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,CAAC,SAAS,EAAE,GAAG,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACzC,oBAAoB,CAAC,eAAe,EAAE,kBAAkB,EAAE,QAAQ,CAAC,OAAO,CAAC;YAC3E,oBAAoB,CAAC,SAAS,EAAE,YAAY,EAAE,QAAQ,CAAC,OAAO,CAAC;SAChE,CAAC,CAAC;QACH,IAAI,SAAS,CAAC,IAAI;YAAE,gBAAgB,GAAG,SAAS,CAAC,IAAI,CAAC;QACtD,IAAI,GAAG,CAAC,IAAI;YAAE,UAAU,GAAG,GAAG,CAAC,IAAI,CAAC;QAEpC,MAAM,WAAW,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,IAAI,QAAQ,CAAC,OAAO,CAAC,KAAK,IAAI,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACpG,IAAI,SAAS,CAAC,IAAI,IAAI,SAAS,CAAC,MAAM,IAAI,SAAS,CAAC,IAAI,KAAK,SAAS,CAAC,MAAM,EAAE,CAAC;YAC9E,IAAI;gBACF,mBAAmB,SAAS,CAAC,MAAM,wCAAwC,SAAS,CAAC,iBAAiB,IAAI;oBAC1G,qBAAqB,WAAW,KAAK,QAAQ,CAAC,MAAM,YAAY,SAAS,CAAC,IAAI,qCAAqC,CAAC;QACxH,CAAC;IACH,CAAC;SAAM,CAAC;QACN,IAAI,GAAG,yEAAyE,yBAAyB,KAAK;YAC5G,4BAA4B,mBAAmB,6DAA6D;YAC5G,gDAAgD,CAAC;IACrD,CAAC;IAED,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,GAAG,CACpC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;QAC3B,MAAM,GAAG,GAAG,MAAM,oBAAoB,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QAC3D,OAAO,GAAG;YACR,CAAC,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,sBAAsB,GAAG,IAAI,EAAE,OAAO,EAAE,SAA+B,EAAE;YACnG,CAAC,CAAC;gBACE,MAAM;gBACN,YAAY,EAAE,kDAAkD;gBAChE,OAAO,EAAE,oCAAoC,MAAM,kDAAkD;aACtG,CAAC;IACR,CAAC,CAAC,CACH,CAAC;IAEF,MAAM,KAAK,GAAG,YAAY;SACvB,GAAG,CACF,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;QACrC,MAAM;;;;;;;qEAOuD,gBAAgB;6EACR,gBAAgB;qGACQ,gBAAgB;sFAC/B,UAAU;;;;;;;;;;WAUrF,YAAY;;;;;;;;;;;;;;;EAerB,OAAO,CAAC,CAAC,CAAC,cAAc,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CACvC;SACA,IAAI,CAAC,IAAI,CAAC,CAAC;IAEd,OAAO,CAAC,GAAG,CAAC;;;;;;sDAMwC,gBAAgB;;EAEpE,KAAK;;EAEL,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAE7B,MAAM,QAAQ,GAAG,MAAM,kBAAkB,CAAC,UAAU,CAAC,CAAC;IACtD,IAAI,QAAQ,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;QACtB,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACvE,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,MAAM,EAAE,gBAAgB,EAAE,UAAU,CAAC,CAAC,CAAC;IACzE,CAAC;AACH,CAAC;AAED,uGAAuG;AACvG,SAAS,mBAAmB,CAAC,MAAc,EAAE,gBAAwB,EAAE,UAAkB;IACvF,MAAM,cAAc,GAAG,WAAW,CAAC;IACnC,MAAM,qBAAqB,GAAG,mBAAmB,CAAC;IAClD,MAAM,qBAAqB,GAAG,2CAA2C,CAAC;IAC1E,MAAM,QAAQ,GAAG,4BAA4B,CAAC;IAC9C,MAAM,gBAAgB,GAAG,aAAa,CAAC;IACvC,MAAM,iBAAiB,GAAG,iCAAiC,CAAC;IAC5D,MAAM,WAAW,GAAG,WAAW,CAAC;IAEhC,OAAO;+CACsC,MAAM;;eAEtC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;;;oBAG9B,gBAAgB;mCACD,UAAU;;;OAGtC,cAAc;OACd,qBAAqB;OACrB,qBAAqB;OACrB,QAAQ;OACR,gBAAgB;OAChB,iBAAiB;;;OAGjB,WAAW;;;;;eAKH,iBAAiB,CAAC,WAAW,EAAE,MAAM,CAAC;;;;4BAIzB,WAAW,CAAC,cAAc,EAAE,MAAM,CAAC;4BACnC,WAAW,CAAC,qBAAqB,EAAE,MAAM,CAAC;4BAC1C,WAAW,CAAC,qBAAqB,EAAE,MAAM,CAAC;4BAC1C,WAAW,CAAC,QAAQ,EAAE,MAAM,CAAC;4BAC7B,WAAW,CAAC,gBAAgB,EAAE,MAAM,CAAC;;4BAErC,WAAW,CAAC,iBAAiB,EAAE,MAAM,CAAC;;CAEjE,CAAC;AACF,CAAC;AAED,8GAA8G;AAC9G,MAAM,CAAC,MAAM,+BAA+B,GAAG;;;;OAIxC,CAAC;AAER,SAAS,oBAAoB;IAC3B,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;EAUZ,+BAA+B;;;;;;CAMhC,CAAC,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,52 @@ export declare const EMPTY_PREVIEWS_MESSAGE: string;
8
8
  * Pure/exported so it can be unit-tested without spawning Gradle.
9
9
  */
10
10
  export declare function checkEmptyEntries(entryCount: number, allowEmpty: boolean): void;
11
+ /**
12
+ * A `--tests` pattern selecting every preview declared by one JVM class.
13
+ *
14
+ * The generated class has a single `@Test fun test()` run by
15
+ * ParameterizedRobolectricTestRunner with `@Parameters(name = "{0}")`, so JUnit
16
+ * reports each preview as the method `test[<parameter toString>]`. The
17
+ * parameter's toString is
18
+ * `JUnit4TestParameter(preview=<ComposablePreview>)`, and ComposablePreview's
19
+ * toString (ProvideComposablePreview in ComposablePreviewScanner) is
20
+ * `<declaringClass>_<methodName>[_<paramTypes>][_<previewIndex>]` — so the
21
+ * declaring class, followed by an underscore, appears verbatim in the test name.
22
+ *
23
+ * Gradle matches `--tests` against `className + "." + methodName` as a full
24
+ * regex with `*` → `.*` and everything else quoted (ClassTestSelectionMatcher),
25
+ * so dots and brackets in the pattern are literal and a leading `*` disables the
26
+ * class-scan pruning. That makes this pattern safe for both the sharded and
27
+ * unsharded class names.
28
+ */
29
+ export declare function testsPatternForClass(declaringClass: string): string;
30
+ /**
31
+ * The JVM facade class Kotlin generates for top-level declarations in `file`:
32
+ * `ui/PrimaryButton.kt` -> `PrimaryButtonKt`.
33
+ */
34
+ export declare function kotlinFacadeClass(file: string): string;
35
+ /** The module owning `file`, preferring the deepest match (`:a:b` over `:a`). */
36
+ export declare function moduleOfFile(file: string, modules: string[]): string | undefined;
37
+ export interface PreviewFilterPlan {
38
+ /** Module -> `--tests` patterns. An empty array means "run this module unfiltered". */
39
+ byModule: Map<string, string[]>;
40
+ /** Human-readable reasons a file forced its module to run unfiltered. */
41
+ warnings: string[];
42
+ }
43
+ /**
44
+ * Maps changed source files onto Gradle `--tests` patterns, per module.
45
+ *
46
+ * `sources` carries each file's text (undefined when it could not be read).
47
+ * Only Kotlin files can declare a Compose `@Preview`, so everything else is
48
+ * ignored. A file whose declaring class cannot be predicted with confidence —
49
+ * unreadable, or carrying a `@file:JvmName` that renames the facade class —
50
+ * makes its whole module run unfiltered rather than silently dropping previews
51
+ * from the manifest.
52
+ */
53
+ export declare function planPreviewFilter(sources: {
54
+ file: string;
55
+ source?: string;
56
+ }[], modules: string[]): PreviewFilterPlan;
11
57
  /**
12
58
  * Runs Roborazzi (with ComposablePreviewScanner-generated tests) via Gradle and
13
59
  * harvests the recorded PNGs into a Phonebook bundle.
@@ -15,6 +61,8 @@ export declare function checkEmptyEntries(entryCount: number, allowEmpty: boolea
15
61
  export declare function generateAndroid(config: PhonebookConfig, projectDir: string, outputDir: string, options?: {
16
62
  quiet?: boolean;
17
63
  allowEmpty?: boolean;
64
+ changedOnly?: boolean;
65
+ files?: string[];
18
66
  }): Promise<Manifest>;
19
67
  interface RoborazziImageMeta {
20
68
  fqn: string;
@@ -66,5 +114,11 @@ export declare function parseRoborazziFileName(file: string): RoborazziImageMeta
66
114
  export declare function runGradle(projectDir: string, tasks: string[], quiet: boolean, options?: {
67
115
  dumpTailOnFailure?: boolean;
68
116
  onOutput?: (output: string) => void;
117
+ /**
118
+ * Gradle CLI arguments appended after the task names — task-scoped options
119
+ * such as `--tests <pattern>` only bind to the task they follow, so callers
120
+ * that filter pass one task at a time.
121
+ */
122
+ extraArgs?: string[];
69
123
  }): Promise<void>;
70
124
  export {};
@@ -1,7 +1,8 @@
1
1
  import { spawn } from 'node:child_process';
2
2
  import { createHash } from 'node:crypto';
3
- import { copyFile, mkdir, readdir, writeFile } from 'node:fs/promises';
4
- import { join, resolve } from 'node:path';
3
+ import { copyFile, mkdir, readdir, readFile, writeFile } from 'node:fs/promises';
4
+ import { join, relative, resolve } from 'node:path';
5
+ import { changedFiles } from '../scan/scope.js';
5
6
  import { diagnoseGradleFailure } from '../errors.js';
6
7
  import { SCHEMA_VERSION } from '../manifest.js';
7
8
  import { readPngSize } from '../png.js';
@@ -21,6 +22,115 @@ export function checkEmptyEntries(entryCount, allowEmpty) {
21
22
  throw new Error(EMPTY_PREVIEWS_MESSAGE);
22
23
  }
23
24
  }
25
+ /**
26
+ * The single parameterized JUnit class Roborazzi's Gradle plugin generates for
27
+ * `generateComposePreviewRobolectricTests`. Verified against
28
+ * GenerateComposePreviewRobolectricTestsTask.generateTests, which hardcodes
29
+ * `com.github.takahirom.roborazzi.RoborazziPreviewParameterizedTests` and, when
30
+ * `generatedTestClassCount > 1`, suffixes it with the shard index (…Tests0,
31
+ * …Tests1). There is no per-preview or per-file test class, so a file-scoped
32
+ * filter has to select *parameters* of this one class.
33
+ */
34
+ const GENERATED_TEST_CLASS = 'RoborazziPreviewParameterizedTests';
35
+ /**
36
+ * A `--tests` pattern selecting every preview declared by one JVM class.
37
+ *
38
+ * The generated class has a single `@Test fun test()` run by
39
+ * ParameterizedRobolectricTestRunner with `@Parameters(name = "{0}")`, so JUnit
40
+ * reports each preview as the method `test[<parameter toString>]`. The
41
+ * parameter's toString is
42
+ * `JUnit4TestParameter(preview=<ComposablePreview>)`, and ComposablePreview's
43
+ * toString (ProvideComposablePreview in ComposablePreviewScanner) is
44
+ * `<declaringClass>_<methodName>[_<paramTypes>][_<previewIndex>]` — so the
45
+ * declaring class, followed by an underscore, appears verbatim in the test name.
46
+ *
47
+ * Gradle matches `--tests` against `className + "." + methodName` as a full
48
+ * regex with `*` → `.*` and everything else quoted (ClassTestSelectionMatcher),
49
+ * so dots and brackets in the pattern are literal and a leading `*` disables the
50
+ * class-scan pruning. That makes this pattern safe for both the sharded and
51
+ * unsharded class names.
52
+ */
53
+ export function testsPatternForClass(declaringClass) {
54
+ return `*${GENERATED_TEST_CLASS}*.test[*${declaringClass}_*]`;
55
+ }
56
+ /**
57
+ * The JVM facade class Kotlin generates for top-level declarations in `file`:
58
+ * `ui/PrimaryButton.kt` -> `PrimaryButtonKt`.
59
+ */
60
+ export function kotlinFacadeClass(file) {
61
+ const base = file.split('/').pop().replace(/\.kt$/, '');
62
+ return `${base.charAt(0).toUpperCase()}${base.slice(1)}Kt`;
63
+ }
64
+ /** The directory a Gradle module path maps to, relative to the project dir. */
65
+ function moduleDir(module) {
66
+ return module.split(':').filter(Boolean).join('/');
67
+ }
68
+ /** The module owning `file`, preferring the deepest match (`:a:b` over `:a`). */
69
+ export function moduleOfFile(file, modules) {
70
+ let best;
71
+ for (const module of modules) {
72
+ const dir = moduleDir(module);
73
+ if (dir !== '' && !file.startsWith(`${dir}/`))
74
+ continue;
75
+ if (best === undefined || moduleDir(module).length > moduleDir(best).length)
76
+ best = module;
77
+ }
78
+ return best;
79
+ }
80
+ /**
81
+ * Maps changed source files onto Gradle `--tests` patterns, per module.
82
+ *
83
+ * `sources` carries each file's text (undefined when it could not be read).
84
+ * Only Kotlin files can declare a Compose `@Preview`, so everything else is
85
+ * ignored. A file whose declaring class cannot be predicted with confidence —
86
+ * unreadable, or carrying a `@file:JvmName` that renames the facade class —
87
+ * makes its whole module run unfiltered rather than silently dropping previews
88
+ * from the manifest.
89
+ */
90
+ export function planPreviewFilter(sources, modules) {
91
+ const byModule = new Map();
92
+ const unfiltered = new Set();
93
+ const warnings = [];
94
+ for (const { file, source } of sources) {
95
+ const normalized = file.replace(/\\/g, '/');
96
+ if (!normalized.endsWith('.kt'))
97
+ continue;
98
+ const module = moduleOfFile(normalized, modules);
99
+ if (module === undefined)
100
+ continue;
101
+ const forceFull = (reason) => {
102
+ unfiltered.add(module);
103
+ byModule.set(module, []);
104
+ warnings.push(`${normalized}: ${reason}; recording all of ${module} instead`);
105
+ };
106
+ if (source === undefined) {
107
+ forceFull('could not be read, so its generated test name is unknown');
108
+ continue;
109
+ }
110
+ if (/^\s*@file:\s*JvmName\s*\(/m.test(source)) {
111
+ forceFull('uses @file:JvmName, so its Kotlin facade class name is not derivable');
112
+ continue;
113
+ }
114
+ if (unfiltered.has(module))
115
+ continue;
116
+ const pkg = source.match(/^\s*package\s+([A-Za-z_][\w.]*)/m)?.[1];
117
+ const prefix = pkg ? `${pkg}.` : '';
118
+ // Top-level classes/objects too: a @Preview declared inside one is reported
119
+ // under that class, not under the file facade.
120
+ const declared = [
121
+ kotlinFacadeClass(normalized),
122
+ ...[...source.matchAll(/^(?:\w+ )*(?:class|object) (\w+)/gm)].map((m) => m[1]),
123
+ ];
124
+ const patterns = byModule.get(module) ?? [];
125
+ for (const name of declared) {
126
+ const pattern = testsPatternForClass(`${prefix}${name}`);
127
+ if (!patterns.includes(pattern))
128
+ patterns.push(pattern);
129
+ }
130
+ byModule.set(module, patterns);
131
+ }
132
+ return { byModule, warnings };
133
+ }
24
134
  /**
25
135
  * Runs Roborazzi (with ComposablePreviewScanner-generated tests) via Gradle and
26
136
  * harvests the recorded PNGs into a Phonebook bundle.
@@ -29,8 +139,38 @@ export async function generateAndroid(config, projectDir, outputDir, options = {
29
139
  const modules = config.android?.modules ?? [':app'];
30
140
  const variant = config.android?.variant ?? 'debug';
31
141
  const variantCap = variant[0].toUpperCase() + variant.slice(1);
32
- const tasks = modules.map((m) => `${m}:recordRoborazzi${variantCap}`);
33
- await runGradle(projectDir, tasks, options.quiet ?? false);
142
+ const quiet = options.quiet ?? false;
143
+ const task = (module) => `${module}:recordRoborazzi${variantCap}`;
144
+ // Modules deliberately not recorded this run: their previously recorded PNGs
145
+ // are still harvested, but a missing output directory is not an error.
146
+ const skipped = new Set();
147
+ if (options.files || options.changedOnly) {
148
+ const requested = options.files ?? (await changedFiles(projectDir));
149
+ const files = requested.map((f) => relative(projectDir, resolve(projectDir, f)).replace(/\\/g, '/'));
150
+ const sources = await Promise.all(files.map(async (file) => ({
151
+ file,
152
+ source: await readFile(join(projectDir, file), 'utf8').catch(() => undefined),
153
+ })));
154
+ const plan = planPreviewFilter(sources, modules);
155
+ for (const warning of plan.warnings)
156
+ console.warn(`warning: ${warning}`);
157
+ for (const module of modules) {
158
+ const patterns = plan.byModule.get(module);
159
+ if (patterns === undefined) {
160
+ skipped.add(module);
161
+ continue;
162
+ }
163
+ const extraArgs = patterns.flatMap((p) => ['--tests', p]);
164
+ await runGradle(projectDir, [task(module)], quiet, { extraArgs });
165
+ }
166
+ if (skipped.size === modules.length) {
167
+ console.warn('warning: none of the requested files declare previews in a configured module; ' +
168
+ 'nothing was re-recorded and the bundle reflects the previous run.');
169
+ }
170
+ }
171
+ else {
172
+ await runGradle(projectDir, modules.map(task), quiet);
173
+ }
34
174
  const imagesDir = join(outputDir, 'images');
35
175
  await mkdir(imagesDir, { recursive: true });
36
176
  const entries = [];
@@ -45,6 +185,10 @@ export async function generateAndroid(config, projectDir, outputDir, options = {
45
185
  .filter((f) => f.endsWith('.png'));
46
186
  }
47
187
  catch {
188
+ // A module skipped by --changed/--files was never asked to record, so an
189
+ // absent output directory says nothing about its Roborazzi setup.
190
+ if (skipped.has(module))
191
+ continue;
48
192
  throw new Error(`No Roborazzi output at ${roborazziDir}. Is the Roborazzi plugin with ` +
49
193
  `generateComposePreviewRobolectricTests enabled in ${module}?`);
50
194
  }
@@ -227,7 +371,7 @@ export function parseRoborazziFileName(file) {
227
371
  export function runGradle(projectDir, tasks, quiet, options = {}) {
228
372
  return new Promise((res, rej) => {
229
373
  const gradlew = resolve(projectDir, process.platform === 'win32' ? 'gradlew.bat' : 'gradlew');
230
- const child = spawn(gradlew, [...tasks, '--stacktrace'], {
374
+ const child = spawn(gradlew, [...tasks, ...(options.extraArgs ?? []), '--stacktrace'], {
231
375
  cwd: projectDir,
232
376
  stdio: ['ignore', 'pipe', 'pipe'],
233
377
  });
@@ -1 +1 @@
1
- {"version":3,"file":"android.js","sourceRoot":"","sources":["../../src/engines/android.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACvE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAE1C,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,cAAc,EAAqC,MAAM,gBAAgB,CAAC;AACnF,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAEnC,MAAM,CAAC,MAAM,sBAAsB,GACjC,iHAAiH;IACjH,gHAAgH;IAChH,6FAA6F,CAAC;AAEhG;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,UAAkB,EAAE,UAAmB;IACvE,IAAI,UAAU,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;QACpC,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC1C,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,MAAuB,EACvB,UAAkB,EAClB,SAAiB,EACjB,UAAqD,EAAE;IAEvD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,EAAE,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC;IACpD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,EAAE,OAAO,IAAI,OAAO,CAAC;IACnD,MAAM,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAE/D,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,mBAAmB,UAAU,EAAE,CAAC,CAAC;IACtE,MAAM,SAAS,CAAC,UAAU,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,KAAK,CAAC,CAAC;IAE3D,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAC5C,MAAM,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAE5C,MAAM,OAAO,GAAoB,EAAE,CAAC;IACpC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;QACzE,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;QACtE,IAAI,KAAK,GAAa,EAAE,CAAC;QACzB,IAAI,CAAC;YACH,+EAA+E;YAC/E,KAAK,GAAG,CAAC,MAAM,OAAO,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;iBACvD,GAAG,CAAC,MAAM,CAAC;iBACX,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;QACvC,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,KAAK,CACb,0BAA0B,YAAY,iCAAiC;gBACrE,qDAAqD,MAAM,GAAG,CACjE,CAAC;QACJ,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,IAAI,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAC;YAC1C,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;YAClC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;YAC3B,MAAM,SAAS,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC;YAC3D,MAAM,QAAQ,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;YACrE,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;YAC3D,yEAAyE;YACzE,yCAAyC;YACzC,IAAI,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;YACrC,IAAI,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;YACnC,IAAI,IAAI,CAAC,KAAK,KAAK,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;gBAC1C,MAAM,QAAQ,GAAG,YAAY,CAAC,OAAO,CAAC,2BAA2B,EAAE,IAAI,CAAC,CAAC;gBACzE,IAAI,QAAQ,KAAK,YAAY;oBAAE,YAAY,GAAG,QAAQ,CAAC;gBACvD,WAAW,GAAG,MAAM,CAAC;YACvB,CAAC;YACD,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,gBAAgB,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;YACzE,OAAO,CAAC,IAAI,CAAC;gBACX,SAAS;gBACT,KAAK;gBACL,MAAM;gBACN,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC3D,WAAW,EAAE,IAAI,CAAC,GAAG;gBACrB,KAAK,EAAE,UAAU,SAAS,EAAE;gBAC5B,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;gBACf,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC7C,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;IAEjG,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,KAAK,CAAC;IAC/C,iBAAiB,CAAC,OAAO,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAC9C,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,UAAU,EAAE,CAAC;QACvC,OAAO,CAAC,IAAI,CAAC,YAAY,sBAAsB,EAAE,CAAC,CAAC;IACrD,CAAC;IAED,MAAM,QAAQ,GAAa;QACzB,aAAa,EAAE,cAAc;QAC7B,QAAQ,EAAE,SAAS;QACnB,GAAG,EAAE;YACH,IAAI,EAAE,MAAM,CAAC,OAAO;YACpB,GAAG,CAAC,MAAM,OAAO,CAAC,UAAU,CAAC,CAAC;YAC9B,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACtC;QACD,OAAO;KACR,CAAC;IACF,MAAM,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IACrF,OAAO,QAAQ,CAAC;AAClB,CAAC;AAiBD;;;;;GAKG;AACH,MAAM,YAAY,GAAG,kBAAkB,CAAC;AACxC,MAAM,cAAc,GAAG,IAAI,MAAM,CAAC,IAAI,YAAY,OAAO,YAAY,KAAK,CAAC,CAAC;AAE5E;;;;;;GAMG;AACH,MAAM,mBAAmB,GAAG,IAAI,MAAM,CAAC,OAAO,YAAY,KAAK,CAAC,CAAC;AAEjE;;;;GAIG;AACH,SAAS,iBAAiB,CAAC,KAAa;IACtC,OAAO,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AAChE,CAAC;AAED;;;;;;GAMG;AACH,SAAS,gBAAgB,CAAC,KAAa;IACrC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;IAC/C,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC1D,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;IAC9C,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC;QAAE,OAAO,SAAS,CAAC;IACzE,OAAO,EAAE,IAAI,EAAE,iBAAiB,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;AACxE,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,sBAAsB,CAAC,IAAY;IACjD,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAC5D,MAAM,GAAG,GAAG,IAAI,CAAC;IAEjB,8EAA8E;IAC9E,MAAM,CAAC,IAAI,EAAE,GAAG,QAAQ,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC5C,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAEjC,8EAA8E;IAC9E,IAAI,OAAO,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IAC9D,IAAI,OAAO,IAAI,CAAC,IAAI,OAAO,IAAI,QAAQ,CAAC,MAAM;QAAE,OAAO,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;IAC9E,MAAM,YAAY,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;IACvC,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;IACxC,MAAM,UAAU,GACd,SAAS,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,IAAI,CAAC;QACvC,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,EAAE,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;QAC/E,CAAC,CAAC,SAAS,CAAC;IAEhB,2EAA2E;IAC3E,0EAA0E;IAC1E,sEAAsE;IACtE,MAAM,MAAM,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,EAAE,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAEnF,IAAI,KAAmC,CAAC;IACxC,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,UAAU,GAAa,EAAE,CAAC;QAChC,KAAK,MAAM,KAAK,IAAI,KAAK,EAAE,CAAC;YAC1B,IAAI,KAAK,KAAK,OAAO;gBAAE,KAAK,GAAG,MAAM,CAAC;iBACjC,IAAI,KAAK,KAAK,UAAU;gBAAE,KAAK,GAAG,OAAO,CAAC;iBAC1C,IAAI,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC;gBAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;iBACjD,CAAC;gBACJ,MAAM,KAAK,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;gBACtC,IAAI,KAAK,EAAE,CAAC;oBACV,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBAC5B,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACvB,CAAC;qBAAM,CAAC;oBACN,UAAU,CAAC,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC;gBAC5C,CAAC;YACH,CAAC;QACH,CAAC;QACD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC;YAAE,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACnE,CAAC;IAED,MAAM,WAAW,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAE7E,OAAO;QACL,GAAG;QACH,YAAY;QACZ,WAAW;QACX,KAAK;QACL,UAAU;QACV,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACrC,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,SAAS,CACvB,UAAkB,EAClB,KAAe,EACf,KAAc,EACd,UAAgF,EAAE;IAElF,OAAO,IAAI,OAAO,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QAC9B,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAC9F,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC,GAAG,KAAK,EAAE,cAAc,CAAC,EAAE;YACvD,GAAG,EAAE,UAAU;YACf,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;SAClC,CAAC,CAAC;QAEH,IAAI,IAAI,GAAa,EAAE,CAAC;QACxB,MAAM,IAAI,GAAa,EAAE,CAAC;QAC1B,MAAM,MAAM,GAAG,CAAC,MAA6B,EAAE,EAAE,CAAC,CAAC,IAAY,EAAE,EAAE;YACjE,IAAI,CAAC,KAAK;gBAAE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC/B,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACrD,IAAI,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC;YACzB,IAAI,IAAI,CAAC,MAAM,GAAG,GAAG;gBAAE,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC;YAC/C,IAAI,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC;QAC3B,CAAC,CAAC;QACF,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;QACjD,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;QAEjD,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,iBAAiB,OAAO,KAAK,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;QACvF,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YACxB,OAAO,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YACpC,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;gBACf,GAAG,EAAE,CAAC;gBACN,OAAO;YACT,CAAC;YACD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACjC,MAAM,SAAS,GAAG,qBAAqB,CAAC,QAAQ,CAAC,CAAC;YAClD,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACzB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;YACxF,CAAC;YACD,MAAM,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,IAAI,IAAI,CAAC;YAC5D,IAAI,KAAK,IAAI,iBAAiB,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;gBAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;YACzF,MAAM,OAAO,GAAG,CAAC,uBAAuB,IAAI,cAAc,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACtG,GAAG,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAC1B,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"android.js","sourceRoot":"","sources":["../../src/engines/android.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACjF,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,cAAc,EAAqC,MAAM,gBAAgB,CAAC;AACnF,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAEnC,MAAM,CAAC,MAAM,sBAAsB,GACjC,iHAAiH;IACjH,gHAAgH;IAChH,6FAA6F,CAAC;AAEhG;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,UAAkB,EAAE,UAAmB;IACvE,IAAI,UAAU,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;QACpC,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC1C,CAAC;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,oBAAoB,GAAG,oCAAoC,CAAC;AAElE;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,oBAAoB,CAAC,cAAsB;IACzD,OAAO,IAAI,oBAAoB,WAAW,cAAc,KAAK,CAAC;AAChE,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAY;IAC5C,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAG,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IACzD,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AAC7D,CAAC;AAED,+EAA+E;AAC/E,SAAS,SAAS,CAAC,MAAc;IAC/B,OAAO,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACrD,CAAC;AAED,iFAAiF;AACjF,MAAM,UAAU,YAAY,CAAC,IAAY,EAAE,OAAiB;IAC1D,IAAI,IAAwB,CAAC;IAC7B,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,GAAG,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;QAC9B,IAAI,GAAG,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,GAAG,GAAG,CAAC;YAAE,SAAS;QACxD,IAAI,IAAI,KAAK,SAAS,IAAI,SAAS,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,MAAM;YAAE,IAAI,GAAG,MAAM,CAAC;IAC7F,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AASD;;;;;;;;;GASG;AACH,MAAM,UAAU,iBAAiB,CAC/B,OAA4C,EAC5C,OAAiB;IAEjB,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAoB,CAAC;IAC7C,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;IACrC,MAAM,QAAQ,GAAa,EAAE,CAAC;IAE9B,KAAK,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,OAAO,EAAE,CAAC;QACvC,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAC5C,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,SAAS;QAC1C,MAAM,MAAM,GAAG,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QACjD,IAAI,MAAM,KAAK,SAAS;YAAE,SAAS;QAEnC,MAAM,SAAS,GAAG,CAAC,MAAc,EAAE,EAAE;YACnC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACvB,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YACzB,QAAQ,CAAC,IAAI,CAAC,GAAG,UAAU,KAAK,MAAM,sBAAsB,MAAM,UAAU,CAAC,CAAC;QAChF,CAAC,CAAC;QAEF,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,SAAS,CAAC,0DAA0D,CAAC,CAAC;YACtE,SAAS;QACX,CAAC;QACD,IAAI,4BAA4B,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAC9C,SAAS,CAAC,sEAAsE,CAAC,CAAC;YAClF,SAAS;QACX,CAAC;QACD,IAAI,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC;YAAE,SAAS;QAErC,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,kCAAkC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAClE,MAAM,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QACpC,4EAA4E;QAC5E,+CAA+C;QAC/C,MAAM,QAAQ,GAAG;YACf,iBAAiB,CAAC,UAAU,CAAC;YAC7B,GAAG,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,oCAAoC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SAC/E,CAAC;QACF,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QAC5C,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;YAC5B,MAAM,OAAO,GAAG,oBAAoB,CAAC,GAAG,MAAM,GAAG,IAAI,EAAE,CAAC,CAAC;YACzD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC;gBAAE,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC1D,CAAC;QACD,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACjC,CAAC;IAED,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;AAChC,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,MAAuB,EACvB,UAAkB,EAClB,SAAiB,EACjB,UAA8F,EAAE;IAEhG,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,EAAE,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC;IACpD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,EAAE,OAAO,IAAI,OAAO,CAAC;IACnD,MAAM,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC/D,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,KAAK,CAAC;IACrC,MAAM,IAAI,GAAG,CAAC,MAAc,EAAE,EAAE,CAAC,GAAG,MAAM,mBAAmB,UAAU,EAAE,CAAC;IAE1E,6EAA6E;IAC7E,uEAAuE;IACvE,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAElC,IAAI,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;QACzC,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,IAAI,CAAC,MAAM,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC;QACpE,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;QACrG,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAC/B,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;YACzB,IAAI;YACJ,MAAM,EAAE,MAAM,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC;SAC9E,CAAC,CAAC,CACJ,CAAC;QACF,MAAM,IAAI,GAAG,iBAAiB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACjD,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO,CAAC,IAAI,CAAC,YAAY,OAAO,EAAE,CAAC,CAAC;QAEzE,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAC3C,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;gBAC3B,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBACpB,SAAS;YACX,CAAC;YACD,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC;YAC1D,MAAM,SAAS,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;QACpE,CAAC;QACD,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC;YACpC,OAAO,CAAC,IAAI,CACV,gFAAgF;gBAC9E,mEAAmE,CACtE,CAAC;QACJ,CAAC;IACH,CAAC;SAAM,CAAC;QACN,MAAM,SAAS,CAAC,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC;IACxD,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAC5C,MAAM,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAE5C,MAAM,OAAO,GAAoB,EAAE,CAAC;IACpC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;QACzE,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;QACtE,IAAI,KAAK,GAAa,EAAE,CAAC;QACzB,IAAI,CAAC;YACH,+EAA+E;YAC/E,KAAK,GAAG,CAAC,MAAM,OAAO,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;iBACvD,GAAG,CAAC,MAAM,CAAC;iBACX,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;QACvC,CAAC;QAAC,MAAM,CAAC;YACP,yEAAyE;YACzE,kEAAkE;YAClE,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC;gBAAE,SAAS;YAClC,MAAM,IAAI,KAAK,CACb,0BAA0B,YAAY,iCAAiC;gBACrE,qDAAqD,MAAM,GAAG,CACjE,CAAC;QACJ,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,IAAI,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAC;YAC1C,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;YAClC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;YAC3B,MAAM,SAAS,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC;YAC3D,MAAM,QAAQ,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;YACrE,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;YAC3D,yEAAyE;YACzE,yCAAyC;YACzC,IAAI,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;YACrC,IAAI,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;YACnC,IAAI,IAAI,CAAC,KAAK,KAAK,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;gBAC1C,MAAM,QAAQ,GAAG,YAAY,CAAC,OAAO,CAAC,2BAA2B,EAAE,IAAI,CAAC,CAAC;gBACzE,IAAI,QAAQ,KAAK,YAAY;oBAAE,YAAY,GAAG,QAAQ,CAAC;gBACvD,WAAW,GAAG,MAAM,CAAC;YACvB,CAAC;YACD,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,gBAAgB,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;YACzE,OAAO,CAAC,IAAI,CAAC;gBACX,SAAS;gBACT,KAAK;gBACL,MAAM;gBACN,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC3D,WAAW,EAAE,IAAI,CAAC,GAAG;gBACrB,KAAK,EAAE,UAAU,SAAS,EAAE;gBAC5B,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;gBACf,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC7C,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;IAEjG,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,KAAK,CAAC;IAC/C,iBAAiB,CAAC,OAAO,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAC9C,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,UAAU,EAAE,CAAC;QACvC,OAAO,CAAC,IAAI,CAAC,YAAY,sBAAsB,EAAE,CAAC,CAAC;IACrD,CAAC;IAED,MAAM,QAAQ,GAAa;QACzB,aAAa,EAAE,cAAc;QAC7B,QAAQ,EAAE,SAAS;QACnB,GAAG,EAAE;YACH,IAAI,EAAE,MAAM,CAAC,OAAO;YACpB,GAAG,CAAC,MAAM,OAAO,CAAC,UAAU,CAAC,CAAC;YAC9B,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACtC;QACD,OAAO;KACR,CAAC;IACF,MAAM,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IACrF,OAAO,QAAQ,CAAC;AAClB,CAAC;AAiBD;;;;;GAKG;AACH,MAAM,YAAY,GAAG,kBAAkB,CAAC;AACxC,MAAM,cAAc,GAAG,IAAI,MAAM,CAAC,IAAI,YAAY,OAAO,YAAY,KAAK,CAAC,CAAC;AAE5E;;;;;;GAMG;AACH,MAAM,mBAAmB,GAAG,IAAI,MAAM,CAAC,OAAO,YAAY,KAAK,CAAC,CAAC;AAEjE;;;;GAIG;AACH,SAAS,iBAAiB,CAAC,KAAa;IACtC,OAAO,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AAChE,CAAC;AAED;;;;;;GAMG;AACH,SAAS,gBAAgB,CAAC,KAAa;IACrC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;IAC/C,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC1D,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;IAC9C,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC;QAAE,OAAO,SAAS,CAAC;IACzE,OAAO,EAAE,IAAI,EAAE,iBAAiB,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;AACxE,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,sBAAsB,CAAC,IAAY;IACjD,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAC5D,MAAM,GAAG,GAAG,IAAI,CAAC;IAEjB,8EAA8E;IAC9E,MAAM,CAAC,IAAI,EAAE,GAAG,QAAQ,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC5C,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAEjC,8EAA8E;IAC9E,IAAI,OAAO,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IAC9D,IAAI,OAAO,IAAI,CAAC,IAAI,OAAO,IAAI,QAAQ,CAAC,MAAM;QAAE,OAAO,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;IAC9E,MAAM,YAAY,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;IACvC,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;IACxC,MAAM,UAAU,GACd,SAAS,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,IAAI,CAAC;QACvC,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,EAAE,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;QAC/E,CAAC,CAAC,SAAS,CAAC;IAEhB,2EAA2E;IAC3E,0EAA0E;IAC1E,sEAAsE;IACtE,MAAM,MAAM,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,EAAE,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAEnF,IAAI,KAAmC,CAAC;IACxC,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,UAAU,GAAa,EAAE,CAAC;QAChC,KAAK,MAAM,KAAK,IAAI,KAAK,EAAE,CAAC;YAC1B,IAAI,KAAK,KAAK,OAAO;gBAAE,KAAK,GAAG,MAAM,CAAC;iBACjC,IAAI,KAAK,KAAK,UAAU;gBAAE,KAAK,GAAG,OAAO,CAAC;iBAC1C,IAAI,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC;gBAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;iBACjD,CAAC;gBACJ,MAAM,KAAK,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;gBACtC,IAAI,KAAK,EAAE,CAAC;oBACV,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBAC5B,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACvB,CAAC;qBAAM,CAAC;oBACN,UAAU,CAAC,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC;gBAC5C,CAAC;YACH,CAAC;QACH,CAAC;QACD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC;YAAE,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACnE,CAAC;IAED,MAAM,WAAW,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAE7E,OAAO;QACL,GAAG;QACH,YAAY;QACZ,WAAW;QACX,KAAK;QACL,UAAU;QACV,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACrC,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,SAAS,CACvB,UAAkB,EAClB,KAAe,EACf,KAAc,EACd,UASI,EAAE;IAEN,OAAO,IAAI,OAAO,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QAC9B,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAC9F,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC,GAAG,KAAK,EAAE,GAAG,CAAC,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC,EAAE,cAAc,CAAC,EAAE;YACrF,GAAG,EAAE,UAAU;YACf,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;SAClC,CAAC,CAAC;QAEH,IAAI,IAAI,GAAa,EAAE,CAAC;QACxB,MAAM,IAAI,GAAa,EAAE,CAAC;QAC1B,MAAM,MAAM,GAAG,CAAC,MAA6B,EAAE,EAAE,CAAC,CAAC,IAAY,EAAE,EAAE;YACjE,IAAI,CAAC,KAAK;gBAAE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC/B,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACrD,IAAI,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC;YACzB,IAAI,IAAI,CAAC,MAAM,GAAG,GAAG;gBAAE,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC;YAC/C,IAAI,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC;QAC3B,CAAC,CAAC;QACF,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;QACjD,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;QAEjD,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,iBAAiB,OAAO,KAAK,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;QACvF,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YACxB,OAAO,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YACpC,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;gBACf,GAAG,EAAE,CAAC;gBACN,OAAO;YACT,CAAC;YACD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACjC,MAAM,SAAS,GAAG,qBAAqB,CAAC,QAAQ,CAAC,CAAC;YAClD,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACzB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;YACxF,CAAC;YACD,MAAM,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,IAAI,IAAI,CAAC;YAC5D,IAAI,KAAK,IAAI,iBAAiB,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;gBAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;YACzF,MAAM,OAAO,GAAG,CAAC,uBAAuB,IAAI,cAAc,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACtG,GAAG,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAC1B,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -2,6 +2,25 @@ import type { PhonebookConfig } from '../config.js';
2
2
  import { type Manifest, type ManifestEntry } from '../manifest.js';
3
3
  /** Builds the error/warning text for a `generate` run that exported zero snapshots. Exported for tests. */
4
4
  export declare function buildEmptySnapshotsMessage(exportDir: string, scheme: string): string;
5
+ /**
6
+ * A run that rendered some previews and did not finish, usually because a
7
+ * preview crashed. The bundle of what did render has been written.
8
+ *
9
+ * Thrown rather than returned so a caller that only knows the happy path — the
10
+ * CLI — still exits non-zero, while one that can use the partial result catches
11
+ * it. The crash list is worth more than a clean failure: every preview that traps
12
+ * costs a host-app relaunch, so it is what makes the next run shorter.
13
+ */
14
+ export declare class IncompleteRenderError extends Error {
15
+ readonly manifest: Manifest;
16
+ readonly outputDir: string;
17
+ /** Container of each preview test the runner reported failed, one per test. */
18
+ readonly failedPreviews: string[];
19
+ readonly diagnosis: string[];
20
+ constructor(manifest: Manifest, outputDir: string,
21
+ /** Container of each preview test the runner reported failed, one per test. */
22
+ failedPreviews: string[], diagnosis: string[]);
23
+ }
5
24
  /**
6
25
  * Resolves the -only-testing:Target/Class argument so `generate` runs just the
7
26
  * snapshot test class instead of the app's whole test suite — an unrelated
@@ -10,6 +29,31 @@ export declare function buildEmptySnapshotsMessage(exportDir: string, scheme: st
10
29
  * Exported for tests.
11
30
  */
12
31
  export declare function resolveOnlyTesting(config: PhonebookConfig, projectDir: string): Promise<string | undefined>;
32
+ /** Escapes a literal so it matches itself inside a regular expression. Exported for tests. */
33
+ export declare function escapeRegex(literal: string): string;
34
+ /**
35
+ * The SNAPSHOTS_ONLY_FILTER value that renders only the previews declared in
36
+ * `files`.
37
+ *
38
+ * SnapshotPreviews filters before it creates a test method, so a pattern that
39
+ * misses is a preview that never renders — which makes a half-resolved filter
40
+ * worse than none. A file whose module cannot be read is therefore a failure
41
+ * rather than a filter with a hole in it.
42
+ *
43
+ * It fails rather than widening, which is what it used to do. Dropping the
44
+ * filter and rendering everything looked like the safe choice: no preview is
45
+ * lost and the caller still gets a bundle. What it actually does is answer a
46
+ * different question than the one asked, at a cost that scales with the project
47
+ * rather than the request — one file becomes every preview in the repository
48
+ * and every simulator boot that takes, and nothing in the result says so. A
49
+ * warning on stderr is not consent. A caller that wants the whole project can
50
+ * already say so, by leaving --files and --changed off.
51
+ *
52
+ * Each pattern is anchored against the preview's synthesized fileID,
53
+ * "<Module>/<File>.swift", because the match is a substring search: unanchored,
54
+ * "Card.swift" would also claim UserCard.swift.
55
+ */
56
+ export declare function buildSnapshotsOnlyFilter(files: string[], moduleOf: (file: string) => Promise<string | undefined>): Promise<string>;
13
57
  /**
14
58
  * Runs the SnapshotPreviews-backed XCTest target via xcodebuild on a simulator
15
59
  * and harvests the exported PNG + JSON sidecar pairs into a Phonebook bundle.
@@ -21,6 +65,10 @@ export declare function resolveOnlyTesting(config: PhonebookConfig, projectDir:
21
65
  export declare function generateIos(config: PhonebookConfig, projectDir: string, outputDir: string, options?: {
22
66
  quiet?: boolean;
23
67
  allowEmpty?: boolean;
68
+ /** Render only the previews declared in files with uncommitted changes. */
69
+ changedOnly?: boolean;
70
+ /** Render only the previews declared in these files (relative to projectDir). */
71
+ files?: string[];
24
72
  }): Promise<Manifest>;
25
73
  /** Shape of the JSON sidecar SnapshotPreviews writes next to each PNG. */
26
74
  interface SnapshotSidecar {
@@ -38,6 +86,14 @@ interface SnapshotSidecar {
38
86
  }
39
87
  /** Exported for tests. Maps one PNG + sidecar to a manifest entry (minus image path). */
40
88
  export declare function mapSidecar(png: string, sidecar: SnapshotSidecar): Omit<ManifestEntry, 'image'>;
89
+ /** How an xcodebuild run ended. */
90
+ export interface XcodebuildRun {
91
+ exitCode: number | null;
92
+ /** Container of each preview test the runner reported failed, one per test. */
93
+ failedPreviews: string[];
94
+ /** Known failure signatures found in the output; empty on success. */
95
+ diagnosis: string[];
96
+ }
41
97
  /**
42
98
  * Runs xcodebuild. When `quiet` is false (the CLI default), output streams
43
99
  * straight to this process's stdout/stderr as it arrives (so a human can
@@ -47,9 +103,10 @@ export declare function mapSidecar(png: string, sidecar: SnapshotSidecar): Omit<
47
103
  * tail is kept and nothing is echoed live; the tail is written to stderr once
48
104
  * if the build fails.
49
105
  *
50
- * On a non-zero exit, the tail is run through `diagnoseXcodebuildFailure`
51
- * any matched diagnosis lines are printed to stderr (`phonebook: `-prefixed)
52
- * and folded into the rejected Error's message, mirroring `runGradle`.
106
+ * Resolves however the run ends, and rejects only when xcodebuild cannot be
107
+ * started: a failed run can still have rendered previews, and that is for the
108
+ * caller to judge. Failed preview tests are read from the whole stream rather
109
+ * than the tail, and line by line, since a chunk can end mid-line.
53
110
  */
54
- export declare function runXcodebuild(cwd: string, args: string[], env: Record<string, string>, quiet: boolean): Promise<void>;
111
+ export declare function runXcodebuild(cwd: string, args: string[], env: Record<string, string>, quiet: boolean): Promise<XcodebuildRun>;
55
112
  export {};