Implements all 88 tasks for the Reaction Image Board (specs/001-reaction-image-board): - docker-compose.yml: postgres, minio, minio-init, api, ui services with healthchecks - api/: FastAPI app with SQLAlchemy 2.x async, Alembic migrations, S3/MinIO storage, full integration + unit test suite (pytest + pytest-asyncio) - ui/: Angular 19 standalone app (Library, Upload, Detail, NotFound components) - .env.example: all required environment variables - .gitignore: Python, Node, Docker, IDE, .env patterns Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
27 lines
822 B
JavaScript
27 lines
822 B
JavaScript
// @ts-check
|
|
const eslint = require("@eslint/js");
|
|
const tseslint = require("typescript-eslint");
|
|
const angular = require("angular-eslint");
|
|
|
|
module.exports = tseslint.config(
|
|
{
|
|
files: ["**/*.ts"],
|
|
extends: [
|
|
eslint.configs.recommended,
|
|
...tseslint.configs.recommended,
|
|
...tseslint.configs.stylistic,
|
|
...angular.configs.tsRecommended,
|
|
],
|
|
processor: angular.processInlineTemplates,
|
|
rules: {
|
|
"@angular-eslint/directive-selector": ["error", { type: "attribute", prefix: "app", style: "camelCase" }],
|
|
"@angular-eslint/component-selector": ["error", { type: "element", prefix: "app", style: "kebab-case" }],
|
|
},
|
|
},
|
|
{
|
|
files: ["**/*.html"],
|
|
extends: [...angular.configs.templateRecommended, ...angular.configs.templateAccessibility],
|
|
rules: {},
|
|
}
|
|
);
|