@stag-build/phonebook 0.1.2 → 0.1.4

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 (47) hide show
  1. package/README.md +10 -1
  2. package/dist/cli.js +22 -2
  3. package/dist/cli.js.map +1 -1
  4. package/dist/commands/init.d.ts +21 -2
  5. package/dist/commands/init.js +33 -4
  6. package/dist/commands/init.js.map +1 -1
  7. package/dist/engines/android.d.ts +54 -0
  8. package/dist/engines/android.js +152 -6
  9. package/dist/engines/android.js.map +1 -1
  10. package/dist/engines/ios.d.ts +53 -4
  11. package/dist/engines/ios.js +142 -27
  12. package/dist/engines/ios.js.map +1 -1
  13. package/dist/errors.js +12 -1
  14. package/dist/errors.js.map +1 -1
  15. package/dist/ios/snapshotTestClass.d.ts +44 -0
  16. package/dist/ios/snapshotTestClass.js +115 -0
  17. package/dist/ios/snapshotTestClass.js.map +1 -1
  18. package/dist/ios/unrendered.d.ts +38 -0
  19. package/dist/ios/unrendered.js +92 -0
  20. package/dist/ios/unrendered.js.map +1 -0
  21. package/dist/manifest.d.ts +23 -2
  22. package/dist/manifest.js +58 -0
  23. package/dist/manifest.js.map +1 -1
  24. package/dist/mcp/server.d.ts +28 -0
  25. package/dist/mcp/server.js +232 -11
  26. package/dist/mcp/server.js.map +1 -1
  27. package/dist/png.d.ts +18 -0
  28. package/dist/png.js +44 -0
  29. package/dist/png.js.map +1 -0
  30. package/dist/scan/android.js +142 -16
  31. package/dist/scan/android.js.map +1 -1
  32. package/dist/scan/gaps.d.ts +52 -0
  33. package/dist/scan/gaps.js +169 -0
  34. package/dist/scan/gaps.js.map +1 -0
  35. package/dist/scan/ios.d.ts +44 -0
  36. package/dist/scan/ios.js +445 -41
  37. package/dist/scan/ios.js.map +1 -1
  38. package/dist/scan/scope.d.ts +30 -0
  39. package/dist/scan/scope.js +208 -0
  40. package/dist/scan/scope.js.map +1 -0
  41. package/dist/scan/stats.d.ts +12 -0
  42. package/dist/scan/stats.js +24 -0
  43. package/dist/scan/stats.js.map +1 -0
  44. package/dist/scan/types.d.ts +87 -1
  45. package/dist/site/build.js +0 -0
  46. package/dist/site/build.js.map +1 -1
  47. package/package.json +1 -1
package/README.md CHANGED
@@ -5,6 +5,7 @@
5
5
  <p>A self-hosted, open-source alternative to Emerge Tools Snapshots: harvest your existing Compose <code>@Preview</code>s and SwiftUI <code>#Preview</code>s into a browsable, static HTML gallery — no SaaS account required.</p>
6
6
 
7
7
  ![License](https://img.shields.io/badge/license-MIT-blue?style=flat-square)
8
+ [![Glama MCP server score](https://glama.ai/mcp/servers/stag-build/phonebook/badges/score.svg)](https://glama.ai/mcp/servers/stag-build/phonebook)
8
9
 
9
10
  </div>
10
11
 
@@ -236,15 +237,23 @@ Add the [SnapshotPreviews](https://github.com/getsentry/SnapshotPreviews) SPM pa
236
237
 
237
238
  ```swift
238
239
  // PhonebookSnapshotTests.swift
240
+ import Foundation
239
241
  import SnapshottingTests
240
242
 
241
243
  final class PhonebookSnapshotTests: SnapshotTest {
242
244
  override class func snapshotPreviews() -> [String]? {
243
- 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")
244
249
  }
245
250
  }
246
251
  ```
247
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
+
248
257
  Add `phonebook.config.json` next to your `.xcodeproj`:
249
258
 
250
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":"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"}
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,9 +1,11 @@
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';
8
+ import { readPngSize } from '../png.js';
7
9
  import { parsePreviewName } from '../naming.js';
8
10
  import { gitInfo } from './git.js';
9
11
  export const EMPTY_PREVIEWS_MESSAGE = 'No previews were recorded. Common causes: (1) packages = listOf(...) in generateComposePreviewRobolectricTests ' +
@@ -20,6 +22,115 @@ export function checkEmptyEntries(entryCount, allowEmpty) {
20
22
  throw new Error(EMPTY_PREVIEWS_MESSAGE);
21
23
  }
22
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
+ }
23
134
  /**
24
135
  * Runs Roborazzi (with ComposablePreviewScanner-generated tests) via Gradle and
25
136
  * harvests the recorded PNGs into a Phonebook bundle.
@@ -28,8 +139,38 @@ export async function generateAndroid(config, projectDir, outputDir, options = {
28
139
  const modules = config.android?.modules ?? [':app'];
29
140
  const variant = config.android?.variant ?? 'debug';
30
141
  const variantCap = variant[0].toUpperCase() + variant.slice(1);
31
- const tasks = modules.map((m) => `${m}:recordRoborazzi${variantCap}`);
32
- 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
+ }
33
174
  const imagesDir = join(outputDir, 'images');
34
175
  await mkdir(imagesDir, { recursive: true });
35
176
  const entries = [];
@@ -44,6 +185,10 @@ export async function generateAndroid(config, projectDir, outputDir, options = {
44
185
  .filter((f) => f.endsWith('.png'));
45
186
  }
46
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;
47
192
  throw new Error(`No Roborazzi output at ${roborazziDir}. Is the Roborazzi plugin with ` +
48
193
  `generateComposePreviewRobolectricTests enabled in ${module}?`);
49
194
  }
@@ -53,6 +198,7 @@ export async function generateAndroid(config, projectDir, outputDir, options = {
53
198
  hash.update(module + file);
54
199
  const imageName = `${hash.digest('hex').slice(0, 16)}.png`;
55
200
  await copyFile(join(roborazziDir, file), join(imagesDir, imageName));
201
+ const size = await readPngSize(join(imagesDir, imageName));
56
202
  // A dark-uiMode preview named e.g. UserCardDarkPreview is the Dark state
57
203
  // of UserCard, not a separate component.
58
204
  let functionName = meta.functionName;
@@ -71,8 +217,8 @@ export async function generateAndroid(config, projectDir, outputDir, options = {
71
217
  ...(meta.sourceFile ? { sourceFile: meta.sourceFile } : {}),
72
218
  previewName: meta.fqn,
73
219
  image: `images/${imageName}`,
220
+ ...(size ?? {}),
74
221
  ...(meta.theme ? { theme: meta.theme } : {}),
75
- ...(meta.tags && meta.tags.length > 0 ? { tags: meta.tags } : {}),
76
222
  });
77
223
  }
78
224
  }
@@ -225,7 +371,7 @@ export function parseRoborazziFileName(file) {
225
371
  export function runGradle(projectDir, tasks, quiet, options = {}) {
226
372
  return new Promise((res, rej) => {
227
373
  const gradlew = resolve(projectDir, process.platform === 'win32' ? 'gradlew.bat' : 'gradlew');
228
- const child = spawn(gradlew, [...tasks, '--stacktrace'], {
374
+ const child = spawn(gradlew, [...tasks, ...(options.extraArgs ?? []), '--stacktrace'], {
229
375
  cwd: projectDir,
230
376
  stdio: ['ignore', 'pipe', 'pipe'],
231
377
  });
@@ -1 +1 @@
1
- {"version":3,"file":"android.js","sourceRoot":"","sources":["../../src/engines/android.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"android.js","sourceRoot":"","sources":["../../src/engines/android.ts"],"names":[],"mappings":"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"}