Published on

setup fastify

Authors
  • avatar
    Name
    Shelton Ma
    Twitter

1. init fastify

  1. create

    cd apps/fastify-api
    
    pnpm init
    pnpm add fastify-cli @trpc/server zod fastify
    pnpm add -D typescript tsx ts-node @types/node
    
    npx tsc --init
    
    mkdir -p src
    
  2. npx tsc --init and edit tsconfig.json

    {
      "compilerOptions": {
        "target": "ES2020",
        "lib": ["ES2020"],
        "module": "CommonJS",
        "moduleResolution": "Node",
        "outDir": "dist",
        "rootDir": "src",
        "strict": true,
        "esModuleInterop": true,
        "resolveJsonModule": true,
        "skipLibCheck": true,
        "types": ["node"]
      },
      "include": ["src"],
      "exclude": ["node_modules", "dist"]
    }
    
  3. create scripts in package.json

    "scripts": {
      "build": "tsc",
      "start": "fastify start dist/src/index.js",
      "dev": "ts-node src/index.ts",
      "test": "echo \"Error: no test specified\" && exit 1"
    },
    

2. ESLint + Prettier

3. Swagger

4. trpc