Commit graph

14 commits

Author SHA1 Message Date
Claude
c0546dbf46
style: Apply prettier formatting
Apply consistent code formatting with prettier to all project files
2025-11-15 16:14:34 +00:00
Claude
8cdeea738d
feat: Upgrade to Angular 20 with signals and comprehensive modernization
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+
2025-11-15 14:18:05 +00:00
Björn Schmidt
227a3373d3 feat: Angular 19 Support, Switched to Standalone Component 2024-12-11 09:13:24 +01:00
Gerhard Boer
949b72da8d
feat: update to Angular 18 (#45)
* ng update @angular/cli

migrated to new build system

* update lib deps

* update versions of main package
2024-06-05 10:34:16 +02:00
Felix Ulonska
32fee5e92e chore: updated to angular v16 2023-05-05 12:00:18 +02:00
Konstantin Schütte
ec9b2c163a format all files with prettier 2022-02-07 13:46:52 +01:00
Konstantin Schütte
ca85b6872a migrated protractor to cypress 2022-02-07 12:52:32 +01:00
Nikita Drozhzhin
14ed79f0ec Angular 11 2021-02-05 10:53:57 +03:00
Nikita Drozhzhin
8adb728d0e Angular 10 2020-10-14 10:17:03 +03:00
Nikita Drozhzhin
3f341372ad v2.0.0 and angular 8 2019-11-21 11:15:04 +03:00
Nikita Drozhzhin
07b2e5ada1 Pinch-event scale value #9 2019-02-27 09:58:14 +03:00
Nikita Drozhzhin
2c1b75c449 Angular update 2019-02-19 09:23:37 +03:00
Andrea Baldo
7aa91620ba Implement support for generic html element 2018-08-31 19:37:00 +02:00
drozhzhin-n-e
441855ef91 v1.1.0 2018-07-15 11:08:27 +03:00