@vizzly-testing/cli 0.31.0 → 0.33.0

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.
@@ -235,7 +235,7 @@ export function isVerbose() {
235
235
 
236
236
  /**
237
237
  * Show command header with distinctive branding
238
- * Uses Observatory's signature amber color for "vizzly"
238
+ * Uses BearDen's signature amber color for "vizzly"
239
239
  * Only shows once per command execution
240
240
  * @param {string} command - Command name (e.g., 'tdd', 'run')
241
241
  * @param {string} [mode] - Optional mode (e.g., 'local', 'cloud')
@@ -245,7 +245,7 @@ export function header(command, mode = null) {
245
245
  headerShown = true;
246
246
  let parts = [];
247
247
 
248
- // Brand "vizzly" with Observatory's signature amber
248
+ // Brand "vizzly" with BearDen's signature amber
249
249
  parts.push(colors.brand.amber(colors.bold('vizzly')));
250
250
 
251
251
  // Command in info blue (processing, active)
@@ -289,7 +289,7 @@ export function success(message, data = {}) {
289
289
  }));
290
290
  } else {
291
291
  console.error('');
292
- console.error(colors.green('✓'), message);
292
+ console.error(colors.success('✓'), message);
293
293
  }
294
294
  }
295
295
 
@@ -308,7 +308,7 @@ export function result(message) {
308
308
  }));
309
309
  } else {
310
310
  console.error('');
311
- console.error(colors.green('✓'), `${message} ${colors.dim(`· ${elapsed}`)}`);
311
+ console.error(colors.success('✓'), `${message} ${colors.dim(`· ${elapsed}`)}`);
312
312
  }
313
313
  }
314
314
 
@@ -325,7 +325,7 @@ export function info(message, data = {}) {
325
325
  ...data
326
326
  }));
327
327
  } else {
328
- console.log(colors.cyan('ℹ'), message);
328
+ console.log(colors.info('ℹ'), message);
329
329
  }
330
330
  }
331
331
 
@@ -375,7 +375,7 @@ export function error(message, err = null, data = {}) {
375
375
  }
376
376
  console.error(JSON.stringify(errorData));
377
377
  } else {
378
- console.error(colors.red('✖'), message);
378
+ console.error(colors.error('✖'), message);
379
379
 
380
380
  // Show error details
381
381
  if (err instanceof Error) {
@@ -456,7 +456,7 @@ export function getJsonFields() {
456
456
 
457
457
  /**
458
458
  * Start a spinner with message
459
- * Uses Observatory amber for the spinner animation
459
+ * Uses BearDen amber for the spinner animation
460
460
  */
461
461
  export function startSpinner(message) {
462
462
  if (config.json || config.silent || !process.stderr.isTTY) return;
@@ -578,12 +578,12 @@ function formatData(data) {
578
578
  */
579
579
  /**
580
580
  * Get a distinctive color for a component name
581
- * Uses Observatory design system colors for consistent styling
581
+ * Uses BearDen design system colors for consistent styling
582
582
  * @param {string} component - Component name
583
583
  * @returns {Function} Color function
584
584
  */
585
585
  function getComponentColor(component) {
586
- // Map components to Observatory semantic colors
586
+ // Map components to BearDen semantic colors
587
587
  let componentColors = {
588
588
  // Server/infrastructure - success green (active, running)
589
589
  server: colors.brand.success,
@@ -698,7 +698,7 @@ function writeLog(level, message, data = {}) {
698
698
  /**
699
699
  * Generate a visual diff bar with color coding
700
700
  * Shows percentage as a filled/empty bar with color based on severity
701
- * Uses Observatory semantic colors (success → warning → danger)
701
+ * Uses BearDen semantic colors (success → warning → danger)
702
702
  * @param {number} percentage - Diff percentage (0-100)
703
703
  * @param {number} [width=10] - Bar width in characters
704
704
  * @returns {string} Colored diff bar string
@@ -716,7 +716,7 @@ export function diffBar(percentage, width = 10) {
716
716
  if (percentage > 0 && filled === 0) filled = 1;
717
717
  let empty = width - filled;
718
718
 
719
- // Color based on severity using Observatory semantic colors
719
+ // Color based on severity using BearDen semantic colors
720
720
  let barColor;
721
721
  if (percentage < 1) {
722
722
  barColor = colors.brand.success; // Green - minimal change
@@ -733,7 +733,7 @@ export function diffBar(percentage, width = 10) {
733
733
  /**
734
734
  * Generate a gradient progress bar
735
735
  * Creates a visually appealing progress indicator with color gradient
736
- * Default gradient uses Observatory amber → amber-light (signature brand gradient)
736
+ * Default gradient uses BearDen amber → amber-light (signature brand gradient)
737
737
  * @param {number} current - Current progress value
738
738
  * @param {number} total - Total value
739
739
  * @param {number} [width=20] - Bar width in characters
@@ -745,7 +745,7 @@ export function diffBar(percentage, width = 10) {
745
745
  export function progressBar(current, total, width = 20, options = {}) {
746
746
  if (config.json || config.silent) return '';
747
747
 
748
- // Default to Observatory's signature amber gradient
748
+ // Default to BearDen's signature amber gradient
749
749
  let {
750
750
  from = '#F59E0B',
751
751
  to = '#FBBF24'
@@ -791,7 +791,7 @@ function hexToRgb(hex) {
791
791
 
792
792
  /**
793
793
  * Create a colored badge/pill for status indicators
794
- * Uses Observatory semantic colors for consistent meaning
794
+ * Uses BearDen semantic colors for consistent meaning
795
795
  * @param {string} text - Badge text
796
796
  * @param {string} [type='info'] - Badge type: 'success', 'warning', 'error', 'info'
797
797
  * @returns {string} Formatted badge string
@@ -826,7 +826,7 @@ export function badge(text, type = 'info') {
826
826
 
827
827
  /**
828
828
  * Create a colored status dot
829
- * Uses Observatory semantic colors for consistent meaning
829
+ * Uses BearDen semantic colors for consistent meaning
830
830
  * @param {string} [status='info'] - Status type: 'success', 'warning', 'error', 'info'
831
831
  * @returns {string} Colored dot character
832
832
  */
@@ -1033,7 +1033,7 @@ export function box(content, options = {}) {
1033
1033
  innerWidth = Math.max(innerWidth, titleWidth);
1034
1034
  }
1035
1035
 
1036
- // Border styling - use Observatory amber for 'branded' style
1036
+ // Border styling - use BearDen amber for 'branded' style
1037
1037
  let border = borderColor || (style === 'branded' ? colors.brand.amber : colors.dim);
1038
1038
  let titleColor = style === 'branded' ? colors.bold : s => s;
1039
1039
 
@@ -6,6 +6,7 @@ export function createScreenshotProperties(options = {}) {
6
6
  let {
7
7
  buildId: _buildId,
8
8
  properties = {},
9
+ requestTimeout: _requestTimeout,
9
10
  threshold,
10
11
  minClusterSize,
11
12
  fullPage,
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@vizzly-testing/cli",
3
- "version": "0.31.0",
4
- "description": "Visual review for agents and teams",
3
+ "version": "0.33.0",
4
+ "description": "Visual regression testing from your terminal",
5
5
  "keywords": [
6
6
  "llm-context",
7
7
  "visual-context",
@@ -23,6 +23,7 @@
23
23
  "license": "MIT",
24
24
  "author": "Stubborn Mule Software <support@vizzly.dev>",
25
25
  "type": "module",
26
+ "packageManager": "pnpm@11.3.0",
26
27
  "exports": {
27
28
  ".": {
28
29
  "types": "./dist/types/index.d.ts",
@@ -53,13 +54,14 @@
53
54
  "files": [
54
55
  "bin",
55
56
  "dist",
57
+ "docs/assets",
56
58
  "README.md",
57
59
  "LICENSE"
58
60
  ],
59
61
  "scripts": {
60
62
  "cli": "source .envrc && node bin/vizzly.js",
61
63
  "start": "node src/index.js",
62
- "build": "npm run clean && npm run compile && npm run build:reporter && npm run build:reporter-ssr && npm run copy-types",
64
+ "build": "pnpm run clean && pnpm run compile && pnpm run build:reporter && pnpm run build:reporter-ssr && pnpm run copy-types",
63
65
  "clean": "rimraf dist",
64
66
  "compile": "babel src --out-dir dist --ignore '**/*.test.js'",
65
67
  "copy-types": "mkdir -p dist/types && cp src/types/*.d.ts dist/types/",
@@ -67,12 +69,12 @@
67
69
  "build:reporter-ssr": "cd src/reporter && vite build --config vite.ssr.config.js",
68
70
  "dev:reporter": "cd src/reporter && vite --config vite.dev.config.js",
69
71
  "test:types": "tsd",
70
- "prepublishOnly": "npm run build",
72
+ "prepublishOnly": "pnpm run build",
71
73
  "test": "node --experimental-test-coverage --test --test-concurrency=1 --test-reporter=spec $(find tests -name '*.test.js')",
72
74
  "test:watch": "node --test --test-reporter=spec --watch $(find tests -name '*.test.js')",
73
75
  "test:reporter": "playwright test --config=tests/reporter/playwright.config.js",
74
- "test:reporter:visual": "node bin/vizzly.js run \"npm run test:reporter\"",
75
- "test:swift:e2e": "npm run build && node clients/swift/scripts/run-e2e.js",
76
+ "test:reporter:visual": "node bin/vizzly.js tdd run \"pnpm run test:reporter\" --no-open",
77
+ "test:swift:e2e": "pnpm run build && node clients/swift/scripts/run-e2e.js",
76
78
  "test:tui": "node --test --test-reporter=spec tests/tui/*.test.js",
77
79
  "test:tui:docker": "./tests/tui/run-tui-tests.sh",
78
80
  "smoke:prod:pack": "node scripts/smoke-prod-pack.js",
@@ -80,7 +82,7 @@
80
82
  "lint:fix": "biome check --write --unsafe src tests clients/storybook/src clients/storybook/tests clients/static-site/src clients/static-site/tests clients/vitest/src clients/vitest/tests clients/ember/src clients/ember/tests clients/ember/bin",
81
83
  "format": "biome format --write src tests clients/storybook/src clients/storybook/tests clients/static-site/src clients/static-site/tests clients/vitest/src clients/vitest/tests clients/ember/src clients/ember/tests clients/ember/bin",
82
84
  "format:check": "biome format src tests clients/storybook/src clients/storybook/tests clients/static-site/src clients/static-site/tests clients/vitest/src clients/vitest/tests clients/ember/src clients/ember/tests clients/ember/bin",
83
- "fix": "npm run format && npm run lint:fix"
85
+ "fix": "pnpm run format && pnpm run lint:fix"
84
86
  },
85
87
  "engines": {
86
88
  "node": ">=22.0.0"
@@ -90,13 +92,16 @@
90
92
  "registry": "https://registry.npmjs.org/"
91
93
  },
92
94
  "dependencies": {
93
- "@vizzly-testing/honeydiff": "^0.10.0",
95
+ "@vizzly-testing/bear-den": "0.1.2",
96
+ "@vizzly-testing/honeydiff": "^0.10.3",
94
97
  "ansis": "^4.2.0",
95
98
  "commander": "^14.0.0",
96
99
  "cosmiconfig": "^9.0.0",
97
100
  "dotenv": "^17.2.1",
98
101
  "form-data": "^4.0.0",
99
102
  "glob": "^13.0.0",
103
+ "react": "^19.1.1",
104
+ "react-dom": "^19.1.1",
100
105
  "zod": "^4.1.12"
101
106
  },
102
107
  "tsd": {
@@ -123,13 +128,10 @@
123
128
  "@tanstack/react-query": "^5.90.11",
124
129
  "@types/node": "^25.0.2",
125
130
  "@vitejs/plugin-react": "^6.0.1",
126
- "@vizzly-testing/observatory": "^0.3.3",
127
131
  "autoprefixer": "^10.4.21",
128
132
  "babel-plugin-react-compiler": "^1.0.0",
129
133
  "babel-plugin-transform-remove-console": "^6.9.4",
130
134
  "postcss": "^8.5.6",
131
- "react": "^19.1.1",
132
- "react-dom": "^19.1.1",
133
135
  "rimraf": "^6.0.1",
134
136
  "tailwindcss": "^4.1.13",
135
137
  "tsd": "^0.33.0",