-
Notifications
You must be signed in to change notification settings - Fork 0
merge develop for v1.0.0 release #1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
- Added protection for secrets, credentials, and keys - Included patterns for environment files - Added coverage for IDE files, OS files, and build artifacts - Security-first approach to prevent accidental credential commits
- Removed azure-pipelines.yml (migrating to GitHub Actions) - All CI/CD now handled via GitHub Actions workflows
- Added ci.yml for PR/push validation (lint, test, build) - Updated publish.yml with npm provenance support - Multi-node version testing (18, 20, 22) - Artifact upload for build outputs
- Added comprehensive copilot-instructions.md - Includes architecture overview, naming conventions - Code patterns, anti-patterns, testing requirements - Security practices and release checklist
- Deleted src/core/adapters/mongo.adapter.ts - Deleted src/core/adapters/postgres.adapter.ts - Deleted src/core/contracts.ts - Deleted src/core/database.ts - Deleted src/nest/database.decorators.ts - Deleted src/nest/database.module.ts BREAKING CHANGE: Complete restructure to new architecture
- Added database.contracts.ts with all interfaces and types - DatabaseConfig discriminated union (mongo | postgres) - Repository<T> interface for unified CRUD operations - PageResult and PageOptions for pagination - Module configuration types
- Added mongo.adapter.ts with Mongoose integration - Added postgres.adapter.ts with Knex integration - Both implement Repository<T> interface - Connection pooling and lifecycle management - Pagination support built-in
- Added database.service.ts as main facade service - Added logger.service.ts for consistent logging - DatabaseService manages adapters and repositories - Implements NestJS OnModuleDestroy lifecycle hook
- Added database.constants.ts with DI tokens - Added database.config.ts with config helpers - Environment-driven configuration support - DATABASE_TOKEN and DATABASE_OPTIONS_TOKEN for DI
- Added database.decorators.ts with @InjectDatabase() - Added database-exception.filter.ts for error handling - Global exception filter for database errors - Custom DI decorator for clean injection
- Added pagination.utils.ts with pagination helpers - Added validation.utils.ts with validation helpers - Added comprehensive unit tests for utilities - isValidMongoId, isValidUuid, sanitizeFilter, etc.
- NestJS DynamicModule with forRoot() and forRootAsync() - forFeature() for feature module registration - Auto-connect option with graceful shutdown - Proper provider configuration and exports
- Clean barrel exports in index.ts - Exports only public API surface - Internal implementations kept private - Comprehensive type exports for consumers
- Upgraded to latest dependencies (ESLint 9, TS 5.8) - Updated tsconfig.json with path aliases - Added proper scripts for build, test, lint - Updated package.json metadata and peer deps
- Added eslint.config.mjs (ESLint 9 flat config) - Added jest.config.js for testing - Added .env.example with sample environment vars
- Updated README.md with new architecture - Updated CHANGELOG.md with v1.0.0 changes - Updated SECURITY.md with security policy - Updated CONTRIBUTING.md with contribution guide - Added TROUBLESHOOTING.md for common issues
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR merges the develop branch into main for the v1.0.0 release of DatabaseKit. The changes represent a complete refactoring from a template-based library (@ciscodeapps-template/database) to a production-ready NestJS module (@ciscode/database-kit) following CISCODE AuthKit patterns and best practices.
Changes:
- Complete rebranding and restructuring of the library for production use
- Addition of comprehensive documentation including troubleshooting, security guidelines, and contribution guides
- Migration from Azure Pipelines to GitHub Actions for CI/CD
- Addition of ESLint configuration and Copilot instructions for improved code quality
Reviewed changes
Copilot reviewed 12 out of 6485 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| eslint.config.mjs | New ESLint 9 flat config with TypeScript support and project-specific rules |
| azure-pipelines.yml | Removed Azure DevOps pipeline in favor of GitHub Actions |
| TROUBLESHOOTING.md | New comprehensive troubleshooting guide for common DatabaseKit issues |
| SECURITY.md | Enhanced security policy with best practices, vulnerability reporting process, and security checklist |
| README.md | Complete rewrite from template documentation to production library documentation with examples |
| CONTRIBUTING.md | Expanded contribution guidelines with detailed development setup and code standards |
| CODE_OF_CONDUCT | Updated contact email from placeholder to actual support email |
| CHANGELOG.md | Comprehensive changelog documenting v1.0.0 release with full feature list |
| .github/workflows/publish.yml | Updated npm publish workflow with modern Node.js version and additional checks |
| .github/workflows/ci.yml | New CI workflow for linting, testing, and building on multiple Node versions |
| .github/copilot-instructions.md | New AI assistant guidelines for maintaining code quality and consistency |
| .env.example | New environment variables template for database configuration |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
No description provided.