Catch unexpected visual changes & UI bugs in your stories
—
Quality
Pending
Does it follow best practices?
Impact
Pending
No eval scenarios have been run
Pending
The risk profile of this skill
Environment configuration, package identifiers, channel events, and configuration options used throughout the addon.
Configuration for Chromatic service endpoints and base URLs.
/**
* Chromatic index URL from environment variable
* Falls back to derived URL from base URL
*/
declare const CHROMATIC_INDEX_URL: string;
/**
* Base Chromatic service URL
* Default: 'https://www.chromatic.com'
* Can be overridden via CHROMATIC_BASE_URL environment variable
*/
declare const CHROMATIC_BASE_URL: string;
/**
* Chromatic API URL derived from base URL
* Typically: baseUrl + '/api'
*/
declare const CHROMATIC_API_URL: string;Usage Examples:
// Environment variable configuration
process.env.CHROMATIC_BASE_URL = 'https://www.staging-chromatic.com';
// URLs are automatically configured based on environment
console.log(CHROMATIC_BASE_URL); // 'https://www.staging-chromatic.com'
console.log(CHROMATIC_API_URL); // 'https://www.staging-chromatic.com/api'Core package and addon identification constants.
/**
* Package name as defined in package.json
*/
declare const PACKAGE_NAME: '@chromatic-com/storybook';
/**
* Storybook addon identifier for registration
*/
declare const ADDON_ID: 'chromaui/addon-visual-tests';
/**
* Panel identifier for Storybook UI integration
*/
declare const PANEL_ID: string;
/**
* Test provider identifier for Storybook testing integration
*/
declare const TEST_PROVIDER_ID: string;
/**
* Parameter key for story-level configuration
* Used in story parameters: { chromatic: { ... } }
*/
declare const PARAM_KEY: 'chromatic';Event constants for Storybook channel communication between manager and preview.
/**
* Build control events
*/
declare const START_BUILD: string;
declare const STOP_BUILD: string;
/**
* Build progress tracking events
*/
declare const LOCAL_BUILD_PROGRESS: string;
/**
* Configuration and state events
*/
declare const CONFIG_INFO: string;
declare const GIT_INFO: string;
/**
* Analytics and addon management events
*/
declare const TELEMETRY: string;
declare const REMOVE_ADDON: string;
/**
* Network request handling events
*/
declare const FETCH_REQUEST: string;
declare const FETCH_RESPONSE: string;
declare const FETCH_ABORTED: string;Usage Example:
import { addons } from '@storybook/manager-api';
import { START_BUILD, STOP_BUILD, LOCAL_BUILD_PROGRESS } from '@chromatic-com/storybook';
// Listen for build events
const channel = addons.getChannel();
channel.on(START_BUILD, (data) => {
console.log('Build started:', data);
});
channel.on(LOCAL_BUILD_PROGRESS, (progress) => {
console.log('Build progress:', progress);
});
// Emit build control events
channel.emit(START_BUILD, { projectToken: 'token' });
channel.emit(STOP_BUILD);Default configuration overrides for Chromatic CLI when running local builds.
/**
* Configuration overrides applied to Chromatic CLI for local builds
* Provides sensible defaults for addon usage
*/
declare const CONFIG_OVERRIDES: {
/** Skip build step optimization */
skip?: string;
/** Exit code behavior on changes */
exitOnceUploaded?: boolean;
/** Exit code behavior on zero changes */
exitZeroOnChanges?: boolean;
/** External build directory flag */
externaldisplays?: boolean;
/** Auto-accept changes flag */
allowConsoleErrors?: boolean;
[key: string]: any;
};/**
* Official documentation URL for the addon
*/
declare const DOCS_URL: 'https://www.chromatic.com/docs/visual-tests-addon';TypeScript interfaces for configuration and state management.
/**
* Configuration update payload structure
*/
interface ConfigurationUpdate {
[key: string]: any;
}
/**
* Configuration information with validation results
*/
interface ConfigInfoPayload {
/** Current configuration object */
configuration: Record<string, any>;
/** Configuration validation problems */
problems: string[];
/** Configuration improvement suggestions */
suggestions: string[];
/** Whether configuration is valid */
isValid: boolean;
}
/**
* Project setup information
*/
interface ProjectInfoPayload {
/** Chromatic project identifier */
projectId: string;
/** Project authentication token */
projectToken: string;
/** Human-readable project name */
projectName: string;
/** Project owner/organization */
projectOwner?: string;
/** Project repository URL */
repositoryUrl?: string;
}
/**
* Git repository information (excludes sensitive committer details)
*/
interface GitInfoPayload {
/** Current branch name */
branch: string;
/** Current commit SHA */
commit: string;
/** Uncommitted changes hash */
uncommittedHash?: string;
/** Parent commit SHAs */
parentCommits: string[];
/** Repository slug (owner/repo) */
slug?: string;
/** Whether repository has uncommitted changes */
hasUncommittedChanges?: boolean;
}Usage Examples:
import type { ConfigInfoPayload, GitInfoPayload } from '@chromatic-com/storybook';
// Handle configuration updates
const handleConfigUpdate = (config: ConfigInfoPayload) => {
if (!config.isValid) {
console.warn('Configuration issues:', config.problems);
console.log('Suggestions:', config.suggestions);
}
};
// Handle git information
const handleGitInfo = (gitInfo: GitInfoPayload) => {
console.log(`Testing branch: ${gitInfo.branch}`);
console.log(`Commit: ${gitInfo.commit}`);
if (gitInfo.hasUncommittedChanges) {
console.warn('Repository has uncommitted changes');
}
};Environment variables used by the addon for configuration.
/**
* Environment variables recognized by the addon
*/
interface ChromaticEnvironment {
/** Base URL for Chromatic service */
CHROMATIC_BASE_URL?: string;
/** Project authentication token */
CHROMATIC_PROJECT_TOKEN?: string;
/** Custom addon name for development */
CHROMATIC_ADDON_NAME?: string;
/** Use distributed version flag */
CHROMATIC_USE_DIST_VERSION?: string;
/** Custom index URL */
CHROMATIC_INDEX_URL?: string;
}Usage Example:
# Environment configuration for different stages
CHROMATIC_BASE_URL=https://www.staging-chromatic.com yarn storybook
CHROMATIC_PROJECT_TOKEN=your-token yarn chromatic