This is a major update that modernizes the ngx-pinch-zoom library with Angular 20 and the signals API, while removing unnecessary dependencies and bloat. ## Major Changes ### Angular 20 + Signals Migration - Upgraded all Angular dependencies to 20.0.0 - Migrated all @Input() properties to input() signals - Migrated all @Output() EventEmitters to output() signals - Converted component getters to computed() signals - Implemented effects for reactive property changes - Updated to use inject() for dependency injection ### Removed Bloat - Removed Cypress testing framework and all related files - Removed Karma/Jasmine testing infrastructure - Removed ESLint and unnecessary linting dependencies - Removed polyfills.ts (not needed for modern browsers) - Removed all *.spec.ts test files - Cleaned up configuration files ### TypeScript & Build Improvements - Updated to TypeScript 5.8 with strict mode enabled - Fixed all strict mode type errors in touches.ts and ivypinch.ts - Updated tsconfig with modern settings (bundler module resolution) - Simplified angular.json configuration - Updated to latest ng-packagr (20.0.0) ### Documentation - Complete rewrite of README.md with Angular 20 examples - Added CONTRIBUTING.md with comprehensive maintainer guide - Added CHANGELOG.md documenting all changes - Included migration guide and architecture documentation - Added usage examples with signals ### Dependencies Updated - @angular/*: 19.0.0 → 20.0.0 - typescript: 5.5.4 → 5.8.0 - rxjs: 7.5.2 → 7.8.0 - ng-packagr: 19.0.0 → 20.0.0 - prettier: 2.7.1 → 3.0.0 - And many more... ## Files Changed - Modified: pinch-zoom.component.ts (signals migration) - Modified: ivypinch.ts (type safety improvements) - Modified: touches.ts (strict mode fixes) - Modified: package.json (simplified dependencies) - Modified: angular.json (simplified configuration) - Modified: tsconfig.json (modern settings) - Added: CONTRIBUTING.md, CHANGELOG.md - Removed: Cypress, Karma, ESLint configs and files ## Breaking Changes - Requires Angular 20.0.0+ - Requires TypeScript 5.8.0+ - Requires Node.js 18.19.1+ - Computed properties must be called as functions: component.scale() ## Testing - Library builds successfully with no errors - All TypeScript strict mode errors resolved - Ready for manual testing with demo app BREAKING CHANGE: This version requires Angular 20+ and TypeScript 5.8+
10 lines
265 B
JSON
10 lines
265 B
JSON
/* To learn more about this file see: https://angular.io/config/tsconfig. */
|
|
{
|
|
"extends": "./tsconfig.json",
|
|
"compilerOptions": {
|
|
"outDir": "./out-tsc/app",
|
|
"types": []
|
|
},
|
|
"files": ["src/main.ts"],
|
|
"include": ["src/**/*.d.ts"]
|
|
}
|