{
	"name": "backend",
	"$schema": "../../node_modules/nx/schemas/project-schema.json",
	"sourceRoot": "apps/backend/src",
	"projectType": "application",
	"tags": ["[scope:backend]"],
	"targets": {
		"serve": {
			"executor": "@nx/js:node",
			"defaultConfiguration": "development",
			"dependsOn": ["build"],
			"options": {
				"buildTarget": "backend:build",
				"runBuildTargetDependencies": false
			},
			"continuous": true
		},
		"generate-migration": {
			"executor": "@plugins/typeorm:migration-generate",
			"options": {
				"config": "apps/backend/src/app/config/migration",
				"migrationsDir": "apps/backend/src/migrations"
			}
		},
		"revert-migration": {
			"executor": "@plugins/typeorm:migration-revert",
			"options": {
				"config": "apps/backend/app/config/migration"
			}
		},
		"test": {
			"outputs": ["{workspaceRoot}/coverage/{projectRoot}"]
		},
		"docker-build": {
			"dependsOn": ["build"],
			"command": "docker build -f apps/backend/Dockerfile . -t backend:latest"
		},
		"generate-openapi-spec": {
			"executor": "nx:run-commands",
			"options": {
				"command": "node dist/apps/backend/main.js --openapi"
			},
			"dependsOn": ["build"]
		},
		"generate-angular-client": {
			"executor": "@plugins/openapi:generate-sources",
			"options": {
				"outputProjectName": "angular-api-client",
				"sourceSpecPath": "dist/apps/backend/openapi.json",
				"generator": "typescript-angular",
				"additionalProperties": "supportsES6=true,enumPropertyNaming=original,nullSafeAdditionalProps=true,disallowAdditionalPropertiesIfNotPresent=false",
				"typeMappings": "DateTime=Date"
			},
			"dependsOn": ["generate-openapi-spec"]
		}
	}
}
