@qualitas-id/shared-types
v1.4.1
Published
Shared TypeScript types for the Qualitas test automation platform. This package provides type definitions used across Frontend, Backend, Recorder, and Runner components.
Readme
@qualitas-id/shared-types
Shared TypeScript types for the Qualitas test automation platform. This package provides type definitions used across Frontend, Backend, Recorder, and Runner components.
š¦ Installation
npm install @qualitas-id/shared-typesš Type Categories
Flow Types
Flow,FlowNode,FlowEdge- Core flow structureFlowNodeType,ActionType- Node type definitionsNodeDataand all specific node data types (NavigateNodeData, ClickNodeData, etc.)Environment,Variable- Flow configuration
Execution Types
RunStatus,StepStatus- Execution stateStepResult,ExecutionContext- Runtime dataSSEEvent,SSEEventType- Server-sent eventsRunFlowJobData- Queue job payloads
Recorder Types
RecorderConfig,ApiConfig- Chrome extension configurationActionPayload,ActionStep- User action recordingRecordedFlow,RecordingState- Recording stateChromeMessage- Message passing
API Types
ApiResponse<T>,ApiError- Standard API responsesPaginatedResponse<T>,PaginationMeta- Pagination- Query types for projects, flows, and runs
šØ Usage
import type {
Flow,
FlowNode,
RunStatus,
ApiResponse
} from '@qualitas-id/shared-types';
// Use in your code
const flow: Flow = {
id: '123',
name: 'Login Test',
// ...
};
const response: ApiResponse<Flow> = {
success: true,
data: flow
};š Publishing Updates
1. Make Your Changes
Edit type files in src/:
flow.ts- Flow and node typesexecution.ts- Runtime execution typesrecorder.ts- Chrome extension typesapi.ts- API response types
2. Build the Package
npm run build3. Bump Version
Choose based on change type:
# Bug fixes: 1.0.0 ā 1.0.1
npm version patch
# New features (backward compatible): 1.0.0 ā 1.1.0
npm version minor
# Breaking changes: 1.0.0 ā 2.0.0
npm version major4. Publish to npm
npm publish --access public5. Update Consumer Projects
# In each project (frontend, backend, recorder, runner, mcp-server)
npm install @qualitas-id/shared-types@latest
npm run buildš Project Structure
shared-types/
āāā src/
ā āāā index.ts # Main exports
ā āāā flow.ts # Flow and node types
ā āāā flow-node-types.ts # Node type constants
ā āāā node-data.ts # Node data interfaces
ā āāā execution.ts # Runtime types
ā āāā recorder.ts # Chrome extension types
ā āāā api.ts # API types
āāā dist/ # Compiled output (generated)
āāā package.json
āāā tsconfig.json
āāā README.mdš Quick Publish Workflow
# All in one command
npm run build && npm version patch && npm publish --access public
# Then update all projects
cd ../front-end && npm install @qualitas-id/shared-types@latest
cd ../back-end && npm install @qualitas-id/shared-types@latest
cd ../recorder && npm install @qualitas-id/shared-types@latest
cd ../runner && npm install @qualitas-id/shared-types@latest
cd ../qualitas-mcp-server && npm install @qualitas-id/shared-types@latestāļø Development Scripts
# Build TypeScript to JavaScript
npm run build
# Clean build output
npm run cleanš Notes
- Always build before publishing: Run
npm run buildto compile TypeScript - Version matters: Use semantic versioning appropriately
- Update consumers: After publishing, update all projects that use this package
- Public package: Published to npm as
@qualitas-id/shared-types
š Repository
https://github.com/firdyfirdy/qualitas-shared-types
š License
MIT