featmigrate from Angular to Astro static site

BREAKING CHANGE: Complete rewrite from Angular SPA to Astro

- Replace Angular 18 with Astro 5.16.7 + Tailwind CSS
- Convert all Angular components to Astro components
- Add content collections for blog with markdown support
- Setup S3 deployment with CloudFront invalidation
- Add RSS feed and sitemap generation
- Configure Prettier and Biome for code formatting
- Switch from npm to pnpm
- Remove Amplify backend (now fully static)
- Improve SEO and performance with static generation
This commit is contained in:
Lorenzo Iovino 2026-01-08 16:46:17 +01:00
parent 7be49ba73a
commit 7cf2e858a2
192 changed files with 7829 additions and 21756 deletions

View file

@ -1,54 +1,31 @@
{
"name": "loreiov.com",
"version": "0.0.0",
"scripts": {
"ng": "ng",
"start": "ng serve",
"build": "ng build",
"generate-sitemap": "node ./node_modules/.bin/ngx-sitemap ./dist/loreiov.com/browser https://lorenzoiovino.com",
"watch": "ng build --watch --configuration development",
"test": "ng test",
"serve:ssr:loreiov.com": "node dist/loreiov.com/server/server.mjs"
},
"private": true,
"dependencies": {
"@angular/animations": "^17.0.0",
"@angular/common": "^17.0.0",
"@angular/compiler": "^17.0.0",
"@angular/core": "^17.0.0",
"@angular/forms": "^17.0.0",
"@angular/platform-browser": "^17.0.0",
"@angular/platform-browser-dynamic": "^17.0.0",
"@angular/platform-server": "^17.0.0",
"@angular/router": "^17.0.0",
"@angular/ssr": "^17.0.8",
"aws-cdk-lib": "^2.117.0",
"constructs": "^10.3.0",
"express": "^4.18.2",
"ng2-fittext": "^1.4.0",
"rxjs": "~7.8.0",
"tslib": "^2.3.0",
"zone.js": "~0.14.2"
},
"devDependencies": {
"@angular-devkit/build-angular": "^17.0.8",
"@angular/cli": "^17.0.8",
"@angular/compiler-cli": "^17.0.0",
"@aws-amplify/backend": "^0.7.0",
"@aws-amplify/backend-cli": "^0.9.2",
"@types/express": "^4.17.17",
"@types/jasmine": "~5.1.0",
"@types/node": "^18.18.0",
"autoprefixer": "^10.4.16",
"jasmine-core": "~5.1.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",
"ngx-sitemap": "^1.0.0",
"postcss": "^8.4.32",
"tailwindcss": "^3.4.0",
"typescript": "5.2.2"
}
"name": "lorenzoiovino.com",
"type": "module",
"version": "1.0.0",
"scripts": {
"dev": "astro dev",
"start": "astro dev",
"build": "astro check && astro build",
"preview": "astro preview",
"astro": "astro",
"format": "prettier --write .",
"format:check": "prettier --check .",
"lint": "biome format src/",
"lint:fix": "biome format --write src/",
"type-check": "astro check"
},
"dependencies": {
"@astrojs/tailwind": "^6.0.2",
"astro": "^5.16.7",
"tailwindcss": "^3.4.0"
},
"devDependencies": {
"@astrojs/check": "^0.9.6",
"@astrojs/rss": "^4.0.14",
"@astrojs/sitemap": "^3.6.1",
"@biomejs/biome": "^2.3.11",
"prettier": "^3.7.4",
"prettier-plugin-astro": "^0.14.1",
"typescript": "^5.3.0"
}
}