fix: performance

This commit is contained in:
2026-04-28 21:44:20 +02:00
parent 07000e539c
commit 1e2b1efc66
8 changed files with 388 additions and 24 deletions
+61
View File
@@ -0,0 +1,61 @@
# Repository Guidelines
## Project Structure & Module Organization
`src/` contains the Angular application, SSR entry points, and global styles.
Feature code lives under `src/app/` with standalone components such as `home/`,
`imprint/`, `footer/`, and shared services in `src/app/services/`. Language
packs and shared language types are in `src/languages/`. Source images belong in
`src/assets/unoptimized/`; generated web assets are written to
`src/assets/optimized/`. Utility and generation scripts live in `scripts/`. CI
workflows and issue templates are under `.github/`.
## Build, Test, and Development Commands
Use npm scripts only.
- `npm run dev` starts the local Angular dev server after generating assets.
- `npm run test` runs the Angular/Karma test suite.
- `npm run check` runs the repository validation pipeline.
- `npm run fix` applies automatic fixes for version placeholders, ESLint issues,
text cleanup, and formatting.
- `npm run lint` runs base and type-aware ESLint checks.
- `npm run format:check` verifies Prettier formatting.
For validation, use `npm run check` and `npm run test`. Do not run
`npm run build` directly.
## Coding Style & Naming Conventions
Use TypeScript with strict typing. Prefer `type`, `interface`, and `enum`
deliberately; do not use `any` or `unknown` unless unavoidable and justified.
`var` is forbidden. Only mark values nullable when `null` is a real runtime
state. Always declare the correct access modifier (`private`, `protected`,
`public`) explicitly when it improves clarity.
Formatting is enforced with Prettier and ESLint. Follow existing conventions:
2-space indentation, single quotes, semicolons, readonly where appropriate, and
Angular standalone components with files named
`feature.component.ts|html|spec.ts`.
## Testing Guidelines
Tests use Jasmine with Karma and live beside implementation files as
`*.spec.ts`. Add or update tests when changing component behavior, services,
routing, or asset-generation logic. Prefer focused unit tests over broad
integration-style setup. Run `npm run test` locally before opening a PR.
## Commit & Pull Request Guidelines
Recent history favors short conventional-style subjects such as
`fix: performance`, `fix: text`, and `feat: added languages`. Keep commits
scoped and imperative. PRs should include a concise summary, linked issue when
relevant, validation notes (`npm run check`, `npm run test`), and screenshots
for UI changes, especially mobile or performance-related updates.
## Asset & Content Notes
Do not edit generated optimized assets by hand. Update the source files in
`src/assets/unoptimized/` and regenerate through the provided scripts. Keep
localized text changes synchronized between `src/languages/de.ts` and
`src/languages/en.ts`.