#yarnpkg #yarn-workspaces #yarnpkg-v2
Вопрос:
Я пытаюсь воссоздать lerna
list
функциональность с помощью Yarn 2, мне нужно получить список имен каждого общедоступного пакета в рабочей области. yarn workspaces list
может перечислить все пакеты на рабочем месте, но он возвращает каждый пакет, включая частный.
Также мне нужен результат в удобном для анализа формате, например JSON, или просто обычный вывод с некоторыми разрывами строк.
Ответ №1:
Оказывается, это довольно сложно, но выполнимо:
yarn constraints query "workspace(Cwd), workspace_field(Cwd, 'private', true), workspace_ident(Cwd, Ident)" --json
Это даст вам поток NDJSON, подобный этому:
{"Cwd":"packages/yarnpkg-sdks","Ident":"@yarnpkg/sdks"}
{"Cwd":"packages/yarnpkg-shell","Ident":"@yarnpkg/shell"}