typescript - Turborepo: få applikationen til at overvåge pakkeændringer


Lad os sige, at jeg har denne projektstruktur med monorepo

my-monorepo
├─ apps
│  ├─ api
│  └─ jobs
├─ packages
│  ├─ tsconfig
│  └─ shared-utils
└─ package.json

api afhænger af shared-utils, så i api/package.json har jeg:

  "scripts": {
    "dev": "nodemon --exec npx ts-node index.ts",
    "build": "tsc",
    "lint": "eslint",
  },
  "dependencies": {
    "shared-utils": "*",
    "tsconfig": "*"
  },

og i shared-utils/package.json

{
  "name": "shared-utils",
  "main": "./dist/index.js",
  "types": "./dist/index.d.ts",
  "scripts": {
    "build": "tsc",
    "dev": "npm run build --watch",
    "lint": "eslint"
  },
  "dependencies": {
    "axios": "^1.2.6",
    "csvtojson": "^2.0.10",
    "dayjs": "^1.11.7",
    "dotenv": "^16.0.3",
    "eslint-config-custom": "*",
    "qs": "^6.11.0"
  },
}

Problemet er, at nu, når jeg kører npm run dev i rodmappen, hvis jeg laver en ændring i shared-utils, bliver api ikke genbygget. Hvordan kan jeg løse det?

Jeg formoder, at jeg skal tilføje en afhængighed i turbo.json, men jeg kunne ikke få det til at fungere.

Relaterede artikler