Migrate Angular 2 to Angular 19 with standalone components

- Upgrade Angular, Firebase, and AngularFire to latest versions
- Replace NgModules with standalone components and bootstrapApplication
- Replace angular-cli.json with angular.json and ESLint
- Add Firebase App Check with reCAPTCHA v3 for abuse protection
- Move Firebase config out of version control (firebaseConfig.example.ts)
- Fix AngularFire injection context errors using runInInjectionContext
- Implement drag-and-drop reordering within and across columns
- Add inline editing for card title and description
- Add subtask deletion with confirmation modal
- Refresh UI with modern card-based look and feel

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-04-16 23:23:43 +03:00
parent 978619ff59
commit 189df85ca0
47 changed files with 18689 additions and 1023 deletions
+35 -39
View File
@@ -1,51 +1,47 @@
{
"name": "kanban2",
"version": "0.0.0",
"license": "MIT",
"angular-cli": {},
"scripts": {
"ng": "ng",
"start": "ng serve",
"lint": "tslint \"src/**/*.ts\"",
"test": "ng test",
"pree2e": "webdriver-manager update",
"e2e": "protractor"
"build": "ng build",
"watch": "ng build --watch --configuration development",
"test": "ng test"
},
"private": true,
"dependencies": {
"@angular/common": "19.2.16",
"@angular/compiler": "2.4.7",
"@angular/core": "10.2.5",
"@angular/forms": "2.4.7",
"@angular/http": "2.4.7",
"@angular/platform-browser": "2.4.7",
"@angular/platform-browser-dynamic": "2.4.7",
"@angular/router": "3.4.7",
"angularfire2": "^2.0.0-beta.7",
"bootstrap": "^4.1.3",
"core-js": "2.4.1",
"firebase": "10.9.0",
"ng2-bootstrap": "^1.3.3",
"ng2-dnd": "^2.2.2",
"rxjs": "5.0.3",
"ts-helpers": "1.1.2",
"zone.js": "0.7.6"
"@angular/animations": "^19.2.21",
"@angular/cdk": "^19.2.19",
"@angular/common": "^19.2.0",
"@angular/compiler": "^19.2.0",
"@angular/core": "^19.2.0",
"@angular/fire": "^19.2.0",
"@angular/forms": "^19.2.0",
"@angular/platform-browser": "^19.2.0",
"@angular/platform-browser-dynamic": "^19.2.0",
"@angular/router": "^19.2.0",
"bootstrap": "^5.3.8",
"firebase": "^11.10.0",
"rxjs": "~7.8.0",
"tslib": "^2.3.0",
"zone.js": "~0.15.0"
},
"devDependencies": {
"@angular/compiler-cli": "2.4.7",
"@types/jasmine": "2.5.38",
"@types/node": "^6.0.60",
"angular-cli": "1.0.0-beta.28.3",
"codelyzer": "~1.0.0-beta.3",
"jasmine-core": "2.5.2",
"jasmine-spec-reporter": "2.5.0",
"karma": "6.3.16",
"karma-chrome-launcher": "2.0.0",
"karma-cli": "1.0.1",
"karma-jasmine": "1.0.2",
"karma-remap-istanbul": "0.2.1",
"protractor": "4.0.13",
"ts-node": "1.2.1",
"tslint": "4.2.0",
"typescript": "~2.1.6"
"@angular-devkit/build-angular": "^19.2.24",
"@angular/cli": "^19.2.24",
"@angular/compiler-cli": "^19.2.0",
"@types/jasmine": "~5.1.0",
"angular-eslint": "^21.0.1",
"jasmine-core": "~5.6.0",
"karma": "~6.4.0",
"karma-chrome-launcher": "~3.2.0",
"karma-coverage": "~2.2.0",
"karma-jasmine": "~5.1.0",
"karma-jasmine-html-reporter": "~2.1.0",
"typescript": "~5.7.2"
},
"overrides": {
"serialize-javascript": "^7.0.5",
"tar": "^7.5.11"
}
}