feat(initial): add comprehensive PDF to JPEG preview library with dual-environment support

- Add Node.js implementation using @push.rocks/smartpdf
- Add browser implementation with PDF.js and Web Workers
- Support configurable quality, dimensions, and page selection
- Include comprehensive TypeScript definitions and error handling
- Provide extensive test coverage for both environments
- Add download functionality and browser compatibility checking
This commit is contained in:
2025-08-03 21:44:01 +00:00
commit bc1c7edd35
23 changed files with 12822 additions and 0 deletions

34
changelog.md Normal file
View File

@@ -0,0 +1,34 @@
# Changelog
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [1.0.0] - 2024-08-03
### Added
- Initial release of @push.rocks/smartpreview
- Dual environment support for Node.js and browsers
- PDF to JPEG preview generation with configurable quality and dimensions
- Web Worker-based processing for non-blocking browser operations
- TypeScript-first design with comprehensive type definitions
- Extensible architecture ready for additional formats
- Comprehensive error handling with typed error system
- Factory method pattern for easy instantiation
- Browser compatibility checking utilities
- File download functionality for web environments
- Multi-page PDF preview support
- Progress callback support for web environments
- Complete test suite covering both environments
### Features
- **Node.js Implementation**: Uses @push.rocks/smartpdf for server-side PDF processing
- **Browser Implementation**: PDF.js integration with Web Workers for client-side processing
- **Configuration Options**: Quality (1-100), dimensions, page selection, and scaling
- **Error Handling**: Detailed error types including PDF_CORRUPTED, PAGE_NOT_FOUND, WORKER_ERROR
- **Cross-Platform**: Single API works in Node.js, browsers, and edge functions
- **Type Safety**: Full TypeScript support prevents runtime errors
- **Performance**: Optimized for high-volume production use
[1.0.0]: https://code.foss.global/push.rocks/smartpreview/releases/tag/v1.0.0