Size: a a a

2020 March 12

KY

Kyrylo Yakovenko • 𝟰𝟮𝟬🦄 engineer in Frontend UA
ну малоли :)
источник

IT

Ivan Tytarenko in Frontend UA
ну да :)
источник

IT

Ivan Tytarenko in Frontend UA
https://www.npmjs.com/package/npx

Executes <command> either from a local node_modules/.bin, or from a central cache, installing any packages needed in order for <command> to run.

То, что нашел. Соответственно npx видимо пытается найти prettier в .bin
источник

KY

Kyrylo Yakovenko • 𝟰𝟮𝟬🦄 engineer in Frontend UA
тебе нужно вызывать локальный приттер или добавить ./node_modues/.bin в окружение
источник

IT

Ivan Tytarenko in Frontend UA
я правда не силен в этом
источник

IT

Ivan Tytarenko in Frontend UA
Kyrylo Yakovenko • 𝟰𝟮𝟬🦄 engineer
тебе нужно вызывать локальный приттер или добавить ./node_modues/.bin в окружение
вот как вызвать локальный? Он уже в зависимостях
источник

KY

Kyrylo Yakovenko • 𝟰𝟮𝟬🦄 engineer in Frontend UA
проще всего добавить в PATH ./node_modules/.bin
источник

KY

Kyrylo Yakovenko • 𝟰𝟮𝟬🦄 engineer in Frontend UA
Ivan Tytarenko
У меня есть самописная CLI тулзовина, которая генерит бойлерплейт.
В конце генерации она запускает prettier, чтобы бойлерплейт выглядил по-человечески.

prettier в зависимостях этой тулзовины и запускается вот так:

await promisify(exec)(`prettier --write ${pathToComponent}/**/*.{ts,tsx}`);


Когда запускается через yarn generator - все ок. Ну видимо потому, что все таки через npm стартуем :)

Но когда запускается через npx - prettier не находится и все валится с ошибкой.

Как хендлить такие случаи?
у тебя тут нет npx же
источник

IT

Ivan Tytarenko in Frontend UA
Не совсем понимаю, сорри :) Отдельно от установки genee?

Надо чтобы генератор запустил свой приттир
источник

IT

Ivan Tytarenko in Frontend UA
Kyrylo Yakovenko • 𝟰𝟮𝟬🦄 engineer
у тебя тут нет npx же
где - тут? В команде запуска приттира? Нет. Приттир дергается через JS файл, самим генератором
источник

KY

Kyrylo Yakovenko • 𝟰𝟮𝟬🦄 engineer in Frontend UA
тут в exec
источник

KY

Kyrylo Yakovenko • 𝟰𝟮𝟬🦄 engineer in Frontend UA
await promisify(exec)(`npx prettier --write ${pathToComponent}/**/*.{ts,tsx}`);
источник

KY

Kyrylo Yakovenko • 𝟰𝟮𝟬🦄 engineer in Frontend UA
можно так попробовать
источник

IT

Ivan Tytarenko in Frontend UA
так он тогда начнет приттир ставить посреди создания файлов, нет?
источник

KY

Kyrylo Yakovenko • 𝟰𝟮𝟬🦄 engineer in Frontend UA
или брать из кэша
источник

IT

Ivan Tytarenko in Frontend UA
ну это потом :)
источник

IT

Ivan Tytarenko in Frontend UA
хотя кеша по идее не будет. Он же его снесет после одного прогона. Это же npx
источник

KY

Kyrylo Yakovenko • 𝟰𝟮𝟬🦄 engineer in Frontend UA
ты локально его запускаешь?
источник

KY

Kyrylo Yakovenko • 𝟰𝟮𝟬🦄 engineer in Frontend UA
выполни в терминале перед запуском скрипта - export PATH="./node_modules/.bin/:$PATH"
источник

KY

Kyrylo Yakovenko • 𝟰𝟮𝟬🦄 engineer in Frontend UA
после этого должно все заработать.
источник