{
  "name": "bai2-api",
  "$schema": "../../node_modules/nx/schemas/project-schema.json",
  "sourceRoot": "{projectRoot}",
  "projectType": "application",
  "tags": ["lambda", "go"],
  "targets": {
    "build": {
      "executor": "nx:noop",
      "dependsOn": ["build-lambda"],
      "cache": true,
      "inputs": ["{projectRoot}/docker/*", "production", "^production"]
    },
    "gen-specs": {
      "executor": "nx:run-commands",
      "cache": true,
      "inputs": ["default", "^default"],
      "outputs": ["{workspaceRoot}/dist/specs/{projectName}.json"],
      "options": {
        "cwd": "{projectRoot}",
        "commands": [
          "mkdir -p ../../dist/specs && go run github.com/swaggo/swag/cmd/swag@latest init --parseDependency --output ../../dist/specs --outputTypes json && mv ../../dist/specs/swagger.json ../../dist/specs/bai2-api.json"
        ]
      }
    },
    "serve": {
      "executor": "nx:run-commands",
      "options": {
        "cwd": "{projectRoot}",
        "commands": ["go run ."]
      }
    },
    "test": {
      "executor": "nx:run-commands",
      "options": {
        "cwd": "{projectRoot}",
        "commands": ["go test ./..."]
      }
    },
    "typecheck": {
      "executor": "nx:run-commands",
      "options": {
        "cwd": "{projectRoot}",
        "commands": ["go vet ./..."]
      }
    },
    "build-lambda": {
      "cache": true,
      "executor": "nx:run-commands",
      "dependsOn": ["^build"],
      "outputs": ["{workspaceRoot}/dist/{projectRoot}"],
      "options": {
        "cwd": "{projectRoot}",
        "commands": [
          "GOOS=linux GOARCH=arm64 CGO_ENABLED=0 go build -tags lambda.norpc -o ../../dist/{projectRoot}/bootstrap ."
        ]
      },
      "inputs": ["{projectRoot}/docker/*", "production", "^production"]
    }
  }
}
