node.js - Nrwl Nx bygger Node-prosjektet bare transpilere main.ts
Jeg er ny med Nrwl og monorepos. Jeg har en Node-app som jeg prøver å bygge med nx build [project-name]. Node-appen min har noen få TypeScript-filer i en mappestruktur under src-mappen hvor main.ts finnes. Når jeg kjører nx build [project-name], blir bare main.ts-filen transpilert til en .js-fil i out-mappen. Jeg har nesten holdt på å trekke meg i håret i dag mens jeg prøvde forskjellige tsconfig-variasjoner for å få hele appen til å transpileres til out-mappen uten hell. Jeg har måttet ty til å bruke tsc --project ./apps/[project-name]/tsconfig.app.json for å transpiler hele appen. Er det overhodet mulig å få NX til å transpiler et helt Node-prosjekt?
Her er min tsconfig for prosjektet:
//tsconfig.app.json
{
"extends": "./tsconfig.json",
"compilerOptions": {
"outDir": "../../dist",
"types": [
"node"
]
},
"exclude": [
"**/*.spec.ts"
],
"include": [
"**/*.ts"
]
}
//tsconfig.base.json
{
"compileOnSave": false,
"compilerOptions": {
"allowSyntheticDefaultImports": true,
"rootDir": ".",
"sourceMap": true,
"declaration": false,
"moduleResolution": "node",
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"importHelpers": true,
"target": "es2017",
"module": "commonjs",
"esModuleInterop": true,
"typeRoots": [
"node_modules/@types"
],
"lib": [
"es2017",
"dom"
],
"skipLibCheck": true,
"skipDefaultLibCheck": true,
"baseUrl": ".",
"paths": {
"@work-orders/interfaces": [
"libs/interfaces/src/index.ts"
],
"@work-orders/domain": [
"libs/work-orders-domain/src/index.ts"
]
}
},
"exclude": [
"node_modules",
"tmp"
]
}
Svar #1
Jeg støtte nettopp på det samme problemet. Det ser ut til at du må bruke @nrwl/workspace:run-commands-funksjonaliteten for å kjøre tsc --project ./apps/[project-name]/tsconfig.app.json