@vizzly-testing/cli 0.13.4 → 0.15.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.
Files changed (143) hide show
  1. package/dist/cli.js +68 -68
  2. package/dist/commands/doctor.js +30 -34
  3. package/dist/commands/finalize.js +24 -23
  4. package/dist/commands/init.js +30 -28
  5. package/dist/commands/login.js +49 -55
  6. package/dist/commands/logout.js +14 -19
  7. package/dist/commands/project.js +83 -103
  8. package/dist/commands/run.js +77 -89
  9. package/dist/commands/status.js +48 -49
  10. package/dist/commands/tdd-daemon.js +90 -86
  11. package/dist/commands/tdd.js +59 -88
  12. package/dist/commands/upload.js +57 -57
  13. package/dist/commands/whoami.js +40 -45
  14. package/dist/index.js +2 -5
  15. package/dist/plugin-loader.js +15 -17
  16. package/dist/reporter/reporter-bundle.css +1 -1
  17. package/dist/reporter/reporter-bundle.iife.js +78 -32
  18. package/dist/sdk/index.js +36 -45
  19. package/dist/server/handlers/api-handler.js +14 -15
  20. package/dist/server/handlers/tdd-handler.js +34 -37
  21. package/dist/server/http-server.js +75 -869
  22. package/dist/server/middleware/cors.js +22 -0
  23. package/dist/server/middleware/json-parser.js +35 -0
  24. package/dist/server/middleware/response.js +79 -0
  25. package/dist/server/routers/assets.js +91 -0
  26. package/dist/server/routers/auth.js +144 -0
  27. package/dist/server/routers/baseline.js +163 -0
  28. package/dist/server/routers/cloud-proxy.js +146 -0
  29. package/dist/server/routers/config.js +126 -0
  30. package/dist/server/routers/dashboard.js +130 -0
  31. package/dist/server/routers/health.js +61 -0
  32. package/dist/server/routers/projects.js +168 -0
  33. package/dist/server/routers/screenshot.js +86 -0
  34. package/dist/services/auth-service.js +1 -1
  35. package/dist/services/build-manager.js +13 -40
  36. package/dist/services/config-service.js +2 -4
  37. package/dist/services/html-report-generator.js +6 -5
  38. package/dist/services/index.js +64 -0
  39. package/dist/services/project-service.js +121 -40
  40. package/dist/services/screenshot-server.js +9 -9
  41. package/dist/services/server-manager.js +11 -18
  42. package/dist/services/static-report-generator.js +3 -4
  43. package/dist/services/tdd-service.js +246 -103
  44. package/dist/services/test-runner.js +24 -25
  45. package/dist/services/uploader.js +5 -4
  46. package/dist/types/commands/init.d.ts +1 -2
  47. package/dist/types/index.d.ts +2 -3
  48. package/dist/types/plugin-loader.d.ts +1 -2
  49. package/dist/types/reporter/src/api/client.d.ts +178 -0
  50. package/dist/types/reporter/src/components/app-router.d.ts +1 -3
  51. package/dist/types/reporter/src/components/code-block.d.ts +4 -0
  52. package/dist/types/reporter/src/components/comparison/comparison-modes/onion-skin-mode.d.ts +10 -0
  53. package/dist/types/reporter/src/components/comparison/comparison-modes/overlay-mode.d.ts +11 -0
  54. package/dist/types/reporter/src/components/comparison/comparison-modes/shared/base-comparison-mode.d.ts +14 -0
  55. package/dist/types/reporter/src/components/comparison/comparison-modes/shared/image-renderer.d.ts +30 -0
  56. package/dist/types/reporter/src/components/comparison/comparison-modes/toggle-view.d.ts +8 -0
  57. package/dist/types/reporter/src/components/comparison/comparison-viewer.d.ts +4 -0
  58. package/dist/types/reporter/src/components/comparison/fullscreen-viewer.d.ts +13 -0
  59. package/dist/types/reporter/src/components/comparison/screenshot-display.d.ts +16 -0
  60. package/dist/types/reporter/src/components/comparison/screenshot-list.d.ts +9 -0
  61. package/dist/types/reporter/src/components/comparison/variant-selector.d.ts +1 -1
  62. package/dist/types/reporter/src/components/design-system/alert.d.ts +9 -0
  63. package/dist/types/reporter/src/components/design-system/badge.d.ts +17 -0
  64. package/dist/types/reporter/src/components/design-system/button.d.ts +19 -0
  65. package/dist/types/reporter/src/components/design-system/card.d.ts +31 -0
  66. package/dist/types/reporter/src/components/design-system/empty-state.d.ts +13 -0
  67. package/dist/types/reporter/src/components/design-system/form-controls.d.ts +44 -0
  68. package/dist/types/reporter/src/components/design-system/health-ring.d.ts +7 -0
  69. package/dist/types/reporter/src/components/design-system/index.d.ts +11 -0
  70. package/dist/types/reporter/src/components/design-system/modal.d.ts +10 -0
  71. package/dist/types/reporter/src/components/design-system/skeleton.d.ts +19 -0
  72. package/dist/types/reporter/src/components/design-system/spinner.d.ts +10 -0
  73. package/dist/types/reporter/src/components/design-system/tabs.d.ts +13 -0
  74. package/dist/types/reporter/src/components/layout/header.d.ts +5 -0
  75. package/dist/types/reporter/src/components/layout/index.d.ts +2 -0
  76. package/dist/types/reporter/src/components/layout/layout.d.ts +6 -0
  77. package/dist/types/reporter/src/components/views/builds-view.d.ts +1 -0
  78. package/dist/types/reporter/src/components/views/comparison-detail-view.d.ts +5 -0
  79. package/dist/types/reporter/src/components/views/comparisons-view.d.ts +5 -6
  80. package/dist/types/reporter/src/components/views/stats-view.d.ts +1 -6
  81. package/dist/types/reporter/src/components/waiting-for-screenshots.d.ts +1 -0
  82. package/dist/types/reporter/src/hooks/queries/use-auth-queries.d.ts +15 -0
  83. package/dist/types/reporter/src/hooks/queries/use-cloud-queries.d.ts +6 -0
  84. package/dist/types/reporter/src/hooks/queries/use-config-queries.d.ts +6 -0
  85. package/dist/types/reporter/src/hooks/queries/use-tdd-queries.d.ts +9 -0
  86. package/dist/types/reporter/src/lib/query-client.d.ts +2 -0
  87. package/dist/types/reporter/src/lib/query-keys.d.ts +13 -0
  88. package/dist/types/sdk/index.d.ts +2 -4
  89. package/dist/types/server/handlers/tdd-handler.d.ts +2 -0
  90. package/dist/types/server/http-server.d.ts +1 -1
  91. package/dist/types/server/middleware/cors.d.ts +11 -0
  92. package/dist/types/server/middleware/json-parser.d.ts +10 -0
  93. package/dist/types/server/middleware/response.d.ts +50 -0
  94. package/dist/types/server/routers/assets.d.ts +6 -0
  95. package/dist/types/server/routers/auth.d.ts +9 -0
  96. package/dist/types/server/routers/baseline.d.ts +13 -0
  97. package/dist/types/server/routers/cloud-proxy.d.ts +11 -0
  98. package/dist/types/server/routers/config.d.ts +9 -0
  99. package/dist/types/server/routers/dashboard.d.ts +6 -0
  100. package/dist/types/server/routers/health.d.ts +11 -0
  101. package/dist/types/server/routers/projects.d.ts +9 -0
  102. package/dist/types/server/routers/screenshot.d.ts +11 -0
  103. package/dist/types/services/build-manager.d.ts +4 -3
  104. package/dist/types/services/config-service.d.ts +2 -3
  105. package/dist/types/services/index.d.ts +7 -0
  106. package/dist/types/services/project-service.d.ts +6 -4
  107. package/dist/types/services/screenshot-server.d.ts +5 -5
  108. package/dist/types/services/server-manager.d.ts +5 -3
  109. package/dist/types/services/tdd-service.d.ts +12 -1
  110. package/dist/types/services/test-runner.d.ts +3 -3
  111. package/dist/types/utils/output.d.ts +84 -0
  112. package/dist/utils/config-loader.js +24 -48
  113. package/dist/utils/global-config.js +2 -17
  114. package/dist/utils/output.js +445 -0
  115. package/dist/utils/security.js +3 -4
  116. package/docs/api-reference.md +0 -1
  117. package/docs/plugins.md +22 -22
  118. package/package.json +3 -2
  119. package/dist/container/index.js +0 -215
  120. package/dist/services/base-service.js +0 -154
  121. package/dist/types/container/index.d.ts +0 -59
  122. package/dist/types/reporter/src/components/comparison/viewer-modes/onion-viewer.d.ts +0 -3
  123. package/dist/types/reporter/src/components/comparison/viewer-modes/overlay-viewer.d.ts +0 -3
  124. package/dist/types/reporter/src/components/comparison/viewer-modes/side-by-side-viewer.d.ts +0 -3
  125. package/dist/types/reporter/src/components/comparison/viewer-modes/toggle-viewer.d.ts +0 -3
  126. package/dist/types/reporter/src/components/dashboard/dashboard-header.d.ts +0 -5
  127. package/dist/types/reporter/src/components/dashboard/dashboard-stats.d.ts +0 -4
  128. package/dist/types/reporter/src/components/dashboard/empty-state.d.ts +0 -8
  129. package/dist/types/reporter/src/components/ui/form-field.d.ts +0 -16
  130. package/dist/types/reporter/src/components/ui/status-badge.d.ts +0 -5
  131. package/dist/types/reporter/src/hooks/use-auth.d.ts +0 -10
  132. package/dist/types/reporter/src/hooks/use-baseline-actions.d.ts +0 -5
  133. package/dist/types/reporter/src/hooks/use-config.d.ts +0 -9
  134. package/dist/types/reporter/src/hooks/use-projects.d.ts +0 -10
  135. package/dist/types/reporter/src/hooks/use-report-data.d.ts +0 -7
  136. package/dist/types/reporter/src/hooks/use-vizzly-api.d.ts +0 -9
  137. package/dist/types/services/base-service.d.ts +0 -71
  138. package/dist/types/utils/console-ui.d.ts +0 -61
  139. package/dist/types/utils/logger-factory.d.ts +0 -26
  140. package/dist/types/utils/logger.d.ts +0 -79
  141. package/dist/utils/console-ui.js +0 -241
  142. package/dist/utils/logger-factory.js +0 -76
  143. package/dist/utils/logger.js +0 -231
@@ -1,215 +0,0 @@
1
- import { EventEmitter } from 'events';
2
- import { VizzlyError } from '../errors/vizzly-error.js';
3
-
4
- /**
5
- * @typedef {Object} ServiceDefinition
6
- * @property {Function} factory - Factory function to create service instance
7
- * @property {boolean} [singleton=true] - Whether to cache the instance
8
- * @property {string[]} [dependencies=[]] - Array of dependency names
9
- */
10
-
11
- /**
12
- * Service container for dependency injection and lifecycle management
13
- */
14
- export class ServiceContainer extends EventEmitter {
15
- constructor() {
16
- super();
17
- this.services = new Map();
18
- this.instances = new Map();
19
- this.starting = new Map();
20
- }
21
-
22
- /**
23
- * Register a service
24
- * @param {string} name - Service name
25
- * @param {Function|ServiceDefinition} factoryOrDefinition - Factory function or service definition
26
- */
27
- register(name, factoryOrDefinition) {
28
- const definition = typeof factoryOrDefinition === 'function' ? {
29
- factory: factoryOrDefinition,
30
- singleton: true,
31
- dependencies: []
32
- } : factoryOrDefinition;
33
- this.services.set(name, definition);
34
- this.emit('service:registered', {
35
- name,
36
- definition
37
- });
38
- }
39
-
40
- /**
41
- * Get a service instance
42
- * @param {string} name - Service name
43
- * @returns {Promise<any>} Service instance
44
- */
45
- async get(name) {
46
- if (!this.services.has(name)) {
47
- throw new VizzlyError(`Service '${name}' not registered`, 'SERVICE_NOT_FOUND', {
48
- name
49
- });
50
- }
51
- const definition = this.services.get(name);
52
-
53
- // Return cached instance for singletons
54
- if (definition.singleton && this.instances.has(name)) {
55
- return this.instances.get(name);
56
- }
57
-
58
- // Prevent circular dependencies during startup
59
- if (this.starting.has(name)) {
60
- throw new VizzlyError(`Circular dependency detected for service '${name}'`, 'CIRCULAR_DEPENDENCY', {
61
- name
62
- });
63
- }
64
- try {
65
- this.starting.set(name, true);
66
-
67
- // Resolve dependencies
68
- const deps = await Promise.all((definition.dependencies || []).map(dep => this.get(dep)));
69
-
70
- // Create instance
71
- const instance = await definition.factory(...deps);
72
-
73
- // Cache singleton instances
74
- if (definition.singleton) {
75
- this.instances.set(name, instance);
76
- }
77
- this.emit('service:created', {
78
- name,
79
- instance
80
- });
81
- return instance;
82
- } finally {
83
- this.starting.delete(name);
84
- }
85
- }
86
-
87
- /**
88
- * Start all registered services
89
- */
90
- async startAll() {
91
- const services = Array.from(this.services.keys());
92
- for (const name of services) {
93
- const instance = await this.get(name);
94
- if (instance && typeof instance.start === 'function') {
95
- await instance.start();
96
- this.emit('service:started', {
97
- name,
98
- instance
99
- });
100
- }
101
- }
102
- }
103
-
104
- /**
105
- * Stop all services in reverse order
106
- */
107
- async stopAll() {
108
- const instances = Array.from(this.instances.entries()).reverse();
109
- for (const [name, instance] of instances) {
110
- if (instance && typeof instance.stop === 'function') {
111
- await instance.stop();
112
- this.emit('service:stopped', {
113
- name,
114
- instance
115
- });
116
- }
117
- }
118
- }
119
-
120
- /**
121
- * Clear all services and instances
122
- */
123
- clear() {
124
- this.services.clear();
125
- this.instances.clear();
126
- this.starting.clear();
127
- }
128
- }
129
-
130
- // Export singleton instance
131
- export const container = new ServiceContainer();
132
- /**
133
- * Create a configured service container
134
- * @param {Object} config - Configuration object
135
- * @returns {ServiceContainer}
136
- */
137
- export async function createServiceContainer(config, command = 'run') {
138
- const container = new ServiceContainer();
139
-
140
- // Dynamic ESM imports to avoid circular deps
141
- const [{
142
- createComponentLogger
143
- }, {
144
- ApiService
145
- }, {
146
- createUploader
147
- }, {
148
- createTDDService
149
- }, {
150
- TestRunner
151
- }, {
152
- BuildManager
153
- }, {
154
- ServerManager
155
- }, {
156
- AuthService
157
- }, {
158
- ConfigService
159
- }, {
160
- ProjectService
161
- }] = await Promise.all([import('../utils/logger-factory.js'), import('../services/api-service.js'), import('../services/uploader.js'), import('../services/tdd-service.js'), import('../services/test-runner.js'), import('../services/build-manager.js'), import('../services/server-manager.js'), import('../services/auth-service.js'), import('../services/config-service.js'), import('../services/project-service.js')]);
162
-
163
- // Create logger instance once
164
- const logger = createComponentLogger('CONTAINER', {
165
- level: config.logLevel || (config.verbose ? 'debug' : 'warn'),
166
- verbose: config.verbose || false
167
- });
168
-
169
- // Register services without circular dependencies
170
- container.register('logger', () => logger);
171
- container.register('apiService', () => new ApiService(config, {
172
- logger,
173
- allowNoToken: true
174
- }));
175
- container.register('authService', () => new AuthService({
176
- baseUrl: config.apiUrl
177
- }));
178
- container.register('configService', () => new ConfigService(config, {
179
- logger,
180
- projectRoot: process.cwd()
181
- }));
182
- container.register('projectService', {
183
- factory: async apiService => new ProjectService(config, {
184
- logger,
185
- apiService
186
- }),
187
- dependencies: ['apiService']
188
- });
189
- container.register('uploader', () => createUploader({
190
- ...config,
191
- command
192
- }, {
193
- logger
194
- }));
195
- container.register('buildManager', () => new BuildManager(config, logger));
196
- container.register('serverManager', {
197
- factory: async (configService, authService, projectService) => new ServerManager(config, {
198
- logger,
199
- services: {
200
- configService,
201
- authService,
202
- projectService
203
- }
204
- }),
205
- dependencies: ['configService', 'authService', 'projectService']
206
- });
207
- container.register('tddService', () => createTDDService(config, {
208
- logger
209
- }));
210
- container.register('testRunner', {
211
- factory: async (buildManager, serverManager, tddService) => new TestRunner(config, logger, buildManager, serverManager, tddService),
212
- dependencies: ['buildManager', 'serverManager', 'tddService']
213
- });
214
- return container;
215
- }
@@ -1,154 +0,0 @@
1
- /**
2
- * Base Service Class
3
- * Provides common functionality for all services
4
- */
5
-
6
- import { EventEmitter } from 'events';
7
- import { VizzlyError } from '../errors/vizzly-error.js';
8
- import { createStandardLogger } from '../utils/logger-factory.js';
9
-
10
- /**
11
- * @typedef {Object} ServiceOptions
12
- * @property {Object} logger - Logger instance
13
- * @property {AbortSignal} [signal] - Abort signal for cancellation
14
- */
15
-
16
- /**
17
- * Base class for all services
18
- * @extends EventEmitter
19
- */
20
- export class BaseService extends EventEmitter {
21
- /**
22
- * @param {Object} config - Service configuration
23
- * @param {ServiceOptions} options - Service options
24
- */
25
- constructor(config, options = {}) {
26
- super();
27
- this.config = config;
28
- this.logger = options.logger || createStandardLogger({
29
- level: 'info'
30
- });
31
- this.signal = options.signal;
32
- this.started = false;
33
- this.stopping = false;
34
-
35
- // Setup signal handling
36
- if (this.signal) {
37
- this.signal.addEventListener('abort', () => this.stop());
38
- }
39
- }
40
-
41
- /**
42
- * Start the service
43
- * @returns {Promise<void>}
44
- */
45
- async start() {
46
- if (this.started) {
47
- this.logger.warn(`${this.constructor.name} already started`);
48
- return;
49
- }
50
- try {
51
- this.emit('starting');
52
- await this.onStart();
53
- this.started = true;
54
- this.emit('started');
55
- } catch (error) {
56
- this.emit('error', error);
57
- throw new VizzlyError(`Failed to start ${this.constructor.name}`, 'SERVICE_START_FAILED', {
58
- service: this.constructor.name,
59
- error: error.message
60
- });
61
- }
62
- }
63
-
64
- /**
65
- * Stop the service
66
- * @returns {Promise<void>}
67
- */
68
- async stop() {
69
- if (!this.started || this.stopping) {
70
- return;
71
- }
72
- this.stopping = true;
73
- try {
74
- this.emit('stopping');
75
- await this.onStop();
76
- this.started = false;
77
- this.emit('stopped');
78
- } catch (error) {
79
- this.emit('error', error);
80
- throw new VizzlyError(`Failed to stop ${this.constructor.name}`, 'SERVICE_STOP_FAILED', {
81
- service: this.constructor.name,
82
- error: error.message
83
- });
84
- } finally {
85
- this.stopping = false;
86
- }
87
- }
88
-
89
- /**
90
- * Hook for service-specific start logic
91
- * @protected
92
- * @returns {Promise<void>}
93
- */
94
- async onStart() {
95
- // Override in subclasses
96
- }
97
-
98
- /**
99
- * Hook for service-specific stop logic
100
- * @protected
101
- * @returns {Promise<void>}
102
- */
103
- async onStop() {
104
- // Override in subclasses
105
- }
106
-
107
- /**
108
- * Emit a progress event
109
- * @param {string} phase - Progress phase
110
- * @param {string} message - Progress message
111
- * @param {Object} [data] - Additional data
112
- */
113
- emitProgress(phase, message, data = {}) {
114
- this.emit('progress', {
115
- phase,
116
- message,
117
- timestamp: new Date().toISOString(),
118
- ...data
119
- });
120
- }
121
-
122
- /**
123
- * Check if service is running
124
- * @returns {boolean}
125
- */
126
- isRunning() {
127
- return this.started && !this.stopping;
128
- }
129
-
130
- /**
131
- * Wait for service to be ready
132
- * @param {number} [timeout=30000] - Timeout in milliseconds
133
- * @returns {Promise<void>}
134
- */
135
- async waitForReady(timeout = 30000) {
136
- if (this.started) return;
137
- return new Promise((resolve, reject) => {
138
- const timer = setTimeout(() => {
139
- reject(new VizzlyError('Service start timeout', 'SERVICE_TIMEOUT', {
140
- service: this.constructor.name,
141
- timeout
142
- }));
143
- }, timeout);
144
- this.once('started', () => {
145
- clearTimeout(timer);
146
- resolve();
147
- });
148
- this.once('error', error => {
149
- clearTimeout(timer);
150
- reject(error);
151
- });
152
- });
153
- }
154
- }
@@ -1,59 +0,0 @@
1
- /**
2
- * Create a configured service container
3
- * @param {Object} config - Configuration object
4
- * @returns {ServiceContainer}
5
- */
6
- export function createServiceContainer(config: any, command?: string): ServiceContainer;
7
- /**
8
- * @typedef {Object} ServiceDefinition
9
- * @property {Function} factory - Factory function to create service instance
10
- * @property {boolean} [singleton=true] - Whether to cache the instance
11
- * @property {string[]} [dependencies=[]] - Array of dependency names
12
- */
13
- /**
14
- * Service container for dependency injection and lifecycle management
15
- */
16
- export class ServiceContainer {
17
- services: Map<any, any>;
18
- instances: Map<any, any>;
19
- starting: Map<any, any>;
20
- /**
21
- * Register a service
22
- * @param {string} name - Service name
23
- * @param {Function|ServiceDefinition} factoryOrDefinition - Factory function or service definition
24
- */
25
- register(name: string, factoryOrDefinition: Function | ServiceDefinition): void;
26
- /**
27
- * Get a service instance
28
- * @param {string} name - Service name
29
- * @returns {Promise<any>} Service instance
30
- */
31
- get(name: string): Promise<any>;
32
- /**
33
- * Start all registered services
34
- */
35
- startAll(): Promise<void>;
36
- /**
37
- * Stop all services in reverse order
38
- */
39
- stopAll(): Promise<void>;
40
- /**
41
- * Clear all services and instances
42
- */
43
- clear(): void;
44
- }
45
- export const container: ServiceContainer;
46
- export type ServiceDefinition = {
47
- /**
48
- * - Factory function to create service instance
49
- */
50
- factory: Function;
51
- /**
52
- * - Whether to cache the instance
53
- */
54
- singleton?: boolean;
55
- /**
56
- * - Array of dependency names
57
- */
58
- dependencies?: string[];
59
- };
@@ -1,3 +0,0 @@
1
- export default function OnionViewer({ comparison }: {
2
- comparison: any;
3
- }): any;
@@ -1,3 +0,0 @@
1
- export default function OverlayViewer({ comparison }: {
2
- comparison: any;
3
- }): any;
@@ -1,3 +0,0 @@
1
- export default function SideBySideViewer({ comparison }: {
2
- comparison: any;
3
- }): any;
@@ -1,3 +0,0 @@
1
- export default function ToggleViewer({ comparison }: {
2
- comparison: any;
3
- }): any;
@@ -1,5 +0,0 @@
1
- export default function DashboardHeader({ loading, onNavigate, currentView }: {
2
- loading: any;
3
- onNavigate: any;
4
- currentView: any;
5
- }): any;
@@ -1,4 +0,0 @@
1
- export default function DashboardStats({ summary, baseline }: {
2
- summary: any;
3
- baseline: any;
4
- }): any;
@@ -1,8 +0,0 @@
1
- export function WaitingForScreenshots(): any;
2
- export function AllPassed(): any;
3
- export function NoResults(): any;
4
- export function ErrorState({ error, onRetry }: {
5
- error: any;
6
- onRetry: any;
7
- }): any;
8
- export function LoadingState(): any;
@@ -1,16 +0,0 @@
1
- export function FormField({ label, name, type, value, onChange, error, help, disabled, required, placeholder, options, }: {
2
- label: any;
3
- name: any;
4
- type?: string;
5
- value: any;
6
- onChange: any;
7
- error: any;
8
- help: any;
9
- disabled: any;
10
- required: any;
11
- placeholder: any;
12
- options: any;
13
- }): any;
14
- export function ConfigSourceBadge({ source }: {
15
- source: any;
16
- }): any;
@@ -1,5 +0,0 @@
1
- export default function StatusBadge({ icon: Icon, label, colorClass, }: {
2
- icon: any;
3
- label: any;
4
- colorClass?: string;
5
- }): any;
@@ -1,10 +0,0 @@
1
- export default function useAuth(): {
2
- user: any;
3
- authenticated: any;
4
- loading: any;
5
- error: any;
6
- refetch: any;
7
- initiateLogin: any;
8
- pollAuthorization: any;
9
- logout: any;
10
- };
@@ -1,5 +0,0 @@
1
- export default function useBaselineActions(onUpdate: any): {
2
- accept: any;
3
- reject: any;
4
- loadingStates: any;
5
- };
@@ -1,9 +0,0 @@
1
- export default function useConfig(): {
2
- config: any;
3
- loading: any;
4
- error: any;
5
- saving: any;
6
- refetch: any;
7
- updateConfig: any;
8
- validateConfig: any;
9
- };
@@ -1,10 +0,0 @@
1
- export default function useProjects(): {
2
- projects: any;
3
- mappings: any;
4
- recentBuilds: any;
5
- loading: any;
6
- error: any;
7
- refetch: any;
8
- createMapping: any;
9
- deleteMapping: any;
10
- };
@@ -1,7 +0,0 @@
1
- export default function useReportData(initialData: any): {
2
- reportData: any;
3
- setReportData: any;
4
- loading: any;
5
- error: any;
6
- refetch: any;
7
- };
@@ -1,9 +0,0 @@
1
- export default function useVizzlyAPI(): {
2
- acceptBaseline: (screenshotName: any) => Promise<any>;
3
- rejectBaseline: (screenshotName: any) => Promise<{
4
- name: any;
5
- action: string;
6
- }>;
7
- fetchReportData: () => Promise<any>;
8
- loading: any;
9
- };
@@ -1,71 +0,0 @@
1
- /**
2
- * @typedef {Object} ServiceOptions
3
- * @property {Object} logger - Logger instance
4
- * @property {AbortSignal} [signal] - Abort signal for cancellation
5
- */
6
- /**
7
- * Base class for all services
8
- * @extends EventEmitter
9
- */
10
- export class BaseService {
11
- /**
12
- * @param {Object} config - Service configuration
13
- * @param {ServiceOptions} options - Service options
14
- */
15
- constructor(config: any, options?: ServiceOptions);
16
- config: any;
17
- logger: any;
18
- signal: AbortSignal;
19
- started: boolean;
20
- stopping: boolean;
21
- /**
22
- * Start the service
23
- * @returns {Promise<void>}
24
- */
25
- start(): Promise<void>;
26
- /**
27
- * Stop the service
28
- * @returns {Promise<void>}
29
- */
30
- stop(): Promise<void>;
31
- /**
32
- * Hook for service-specific start logic
33
- * @protected
34
- * @returns {Promise<void>}
35
- */
36
- protected onStart(): Promise<void>;
37
- /**
38
- * Hook for service-specific stop logic
39
- * @protected
40
- * @returns {Promise<void>}
41
- */
42
- protected onStop(): Promise<void>;
43
- /**
44
- * Emit a progress event
45
- * @param {string} phase - Progress phase
46
- * @param {string} message - Progress message
47
- * @param {Object} [data] - Additional data
48
- */
49
- emitProgress(phase: string, message: string, data?: any): void;
50
- /**
51
- * Check if service is running
52
- * @returns {boolean}
53
- */
54
- isRunning(): boolean;
55
- /**
56
- * Wait for service to be ready
57
- * @param {number} [timeout=30000] - Timeout in milliseconds
58
- * @returns {Promise<void>}
59
- */
60
- waitForReady(timeout?: number): Promise<void>;
61
- }
62
- export type ServiceOptions = {
63
- /**
64
- * - Logger instance
65
- */
66
- logger: any;
67
- /**
68
- * - Abort signal for cancellation
69
- */
70
- signal?: AbortSignal;
71
- };
@@ -1,61 +0,0 @@
1
- /**
2
- * Simple console UI utilities for CLI output
3
- */
4
- export class ConsoleUI {
5
- constructor(options?: {});
6
- colors: {
7
- success: any;
8
- error: any;
9
- warning: any;
10
- info: any;
11
- };
12
- json: any;
13
- verbose: any;
14
- spinner: number;
15
- lastLine: string;
16
- /**
17
- * Show a success message
18
- */
19
- success(message: any, data?: {}): void;
20
- /**
21
- * Show an error message and exit
22
- */
23
- error(message: any, error?: {}, exitCode?: number): void;
24
- /**
25
- * Show an info message
26
- */
27
- info(message: any, data?: {}): void;
28
- /**
29
- * Show a warning message
30
- */
31
- warning(message: any, data?: {}): void;
32
- /**
33
- * Show progress with spinner
34
- */
35
- progress(message: any, current?: number, total?: number): void;
36
- /**
37
- * Update a status line in place (for dynamic updates)
38
- */
39
- updateStatus(line: any, message: any): void;
40
- /**
41
- * Output structured data
42
- */
43
- data(data: any): void;
44
- /**
45
- * Start a spinner with message
46
- */
47
- startSpinner(message: any): void;
48
- currentMessage: any;
49
- /**
50
- * Update spinner message and progress
51
- */
52
- updateSpinner(message: any, current?: number, total?: number): void;
53
- /**
54
- * Stop the spinner
55
- */
56
- stopSpinner(): void;
57
- /**
58
- * Clean up on exit
59
- */
60
- cleanup(): void;
61
- }