Kostra prezentace s vlastní administrací pro Martina Reinera. Obsah: - kolekce Products (obrázky, volné parametry, cena, dostupnost, skrytí), Media se zmenšeninami, Pages, Users bez veřejné registrace - veřejná část: výpis nabídky, detail položky, statické stránky - /api/health pro Docker HEALTHCHECK Provoz: - Dockerfile, docker-compose.yml (vývoj) a docker-compose.prod.yml (nasazení z Gitea registry) - CI v Gitea Actions: lint -> testy -> build -> push image - úvodní migrace databáze Stránky jsou force-dynamic, aby se úprava položky projevila hned; schéma se za běhu nedomýšlí (push: false), migrace se commitují. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
43 lines
1.1 KiB
JavaScript
43 lines
1.1 KiB
JavaScript
import nextCoreWebVitals from 'eslint-config-next/core-web-vitals'
|
|
import nextTypescript from 'eslint-config-next/typescript'
|
|
|
|
// eslint-config-next 16 nabízí flat config přímo, takže tu není FlatCompat
|
|
// ani @eslint/eslintrc — ten se s touhle kombinací verzí zacyklí.
|
|
const eslintConfig = [
|
|
...nextCoreWebVitals,
|
|
...nextTypescript,
|
|
{
|
|
rules: {
|
|
'@typescript-eslint/ban-ts-comment': 'warn',
|
|
'@typescript-eslint/no-empty-object-type': 'warn',
|
|
'@typescript-eslint/no-explicit-any': 'warn',
|
|
'@typescript-eslint/no-unused-vars': [
|
|
'warn',
|
|
{
|
|
vars: 'all',
|
|
args: 'after-used',
|
|
ignoreRestSiblings: false,
|
|
argsIgnorePattern: '^_',
|
|
varsIgnorePattern: '^_',
|
|
destructuredArrayIgnorePattern: '^_',
|
|
caughtErrorsIgnorePattern: '^(_|ignore)',
|
|
},
|
|
],
|
|
},
|
|
},
|
|
{
|
|
ignores: [
|
|
'.next/',
|
|
'.cache/',
|
|
'.local/',
|
|
'data/',
|
|
'media/',
|
|
'migrations/',
|
|
'src/payload-types.ts',
|
|
'src/app/(payload)/admin/importMap.js',
|
|
],
|
|
},
|
|
]
|
|
|
|
export default eslintConfig
|