Nx. Publish library with deps

Nx monorepo, build library problem

ERROR: error TS6059: File '/libs/deps1/src/lib/xxx.ts' is not under 'rootDir' 'libs/need/src'. 'rootDir' is expected to contain all source files.

Add dist folder of dependency libs to main tsconfig.json

"paths": {
  "@project/core-api": [
    "dist/libs/core-api",  <==
    "libs/core-api/src/index.ts"
  ],
  "@project/validator-api": [
    "dist/libs/validator-api",  <==
    "libs/validator-api/src/index.ts"
  ],
  "@project/demo-api": ["libs/demo-api/src/index.ts"],
  "@project/settings": ["libs/settings/src/index.ts"],
  "@project/dynamic-form": ["libs/dynamic-form/src/index.ts"],
  },

Build need library

nx run need:build --with-deps
# or
nx run-many --target=build --projects=need --with-deps
# or
ng build core-api & ng build validator-api & ng build need

Publish

cd /dist/libs/need
npm publish 

Похожие записи

Builder в JS

Builder (cтроитель) - порождающий шаблон программирования. Применяется для создания сложных объектов при помощи цепочки методов someBuilder->setValueA(1)->setValueB(2)->build()