51 lines
2.3 KiB
Markdown
51 lines
2.3 KiB
Markdown
# Project Brief: G1 TypeScript Common Packages
|
|
|
|
## Project Overview
|
|
G1 TypeScript Common Packages is a monorepo containing common TypeScript packages used across Generation One projects. The repository is public, making it easier to share and collaborate on common utilities.
|
|
|
|
## Core Requirements
|
|
|
|
1. **Shared Utilities**: Create and maintain reusable TypeScript packages that can be shared across Generation One projects.
|
|
2. **Public Access**: Keep the repository public to facilitate sharing and collaboration.
|
|
3. **Package Management**: Use pnpm workspaces for efficient package management.
|
|
4. **TypeScript Support**: Ensure all packages have proper TypeScript typings and support.
|
|
5. **Documentation**: Maintain comprehensive documentation for each package.
|
|
6. **Testing**: Include tests for all packages to ensure reliability.
|
|
7. **CI/CD**: Implement automated testing and publishing workflows.
|
|
|
|
## Current Packages
|
|
|
|
### SSE Client (`@g1/sse-client`)
|
|
A custom Server-Sent Events (SSE) client that supports headers and bypasses certificate issues.
|
|
|
|
**Key Features:**
|
|
- Custom headers support for SSE connections
|
|
- SSL certificate validation bypass
|
|
- Automatic reconnection with exponential backoff
|
|
- Connection management
|
|
- Event handling
|
|
- Works in both browser and Node.js environments
|
|
|
|
## Project Goals
|
|
|
|
1. **Reliability**: Create robust, well-tested packages that can be relied upon in production environments.
|
|
2. **Reusability**: Design packages to be easily reused across different projects.
|
|
3. **Maintainability**: Ensure code is well-documented and follows best practices for long-term maintenance.
|
|
4. **Extensibility**: Design packages to be easily extended or customized for specific use cases.
|
|
5. **Compatibility**: Ensure packages work across different environments (browser, Node.js) where applicable.
|
|
|
|
## Future Direction
|
|
|
|
1. **Additional Packages**: Add more common utilities as needed by Generation One projects.
|
|
2. **Version Management**: Maintain proper versioning for all packages.
|
|
3. **Community Contributions**: Encourage contributions from the community.
|
|
|
|
## Project Scope
|
|
|
|
This project focuses solely on creating and maintaining common TypeScript packages. It does not include:
|
|
- Application-specific code
|
|
- UI components or frameworks
|
|
- Backend services or APIs
|
|
|
|
The scope is intentionally limited to ensure the packages remain focused, reusable, and maintainable.
|