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 

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

RxJs Subjects

Выдержки из доклада Андрея Алексеева (Tinkoff) про RxJs (Subject, Behaviour Subject, Replay Subject, Async Subject). Применение в Angular.

RxJS. Delay from array

import { of, from } from 'rxjs'; 
import { map, concatMap, delay } from 'rxjs/operators';

from([2,4,6,8]).pipe(
  concatMap(item => of(item).pipe(delay(1000)))
).subscribe(console.log);

JS. Get query param

function getQueryParam(item) {
  var svalue = window.location.search.match(new RegExp('[\?\&]' + item + '=([^\&]*)(\&?)', 'i'));
  return svalue ? svalue[1] : svalue;
}

// /foo/bar/baz.html?lang=ru
var lang = getQueryParam('lang') || 'en';