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

Показательная и востребованная задача. Получение набираемого запроса из поля ввода через полсекунды после того, как пользователь закончил ввод с показом лоадера.

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';

Не ставить фокус по клику

Проблема заключалась в следующем: когда имеется интерактивный элемент с :focus стилем и вы щелкаете по этому элементу, на нём остаётся focus стиль (outline обводка). У нативной кнопки всё работает as expected, но стоит её добавить любой стиль и, как побочный эффект, меняется её поведение.

Builder в JS

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