Кто-то уже слышал, кто-то ещё услышит, что Андрей Ситник порекомендовал переезжать с PostCSS на Lightning CSS. Очередная тулза в экосистеме, написанная на Rust. В наших рабочих сборках она уже появилась (под флагом), и вот захожу я в зависимости и вижу:
Прикольно. Это тебе не node-pre-gyp выкачивающий готовые билды с S3 и ломающийся на твоём защищённом от внешнего мира CI. А как так сделали?
Довольно изящно. У пакета прописаны опциональные зависимости от бинарников
ightning CSS. Очередная тулза в экосистеме, написанная на Rust. В
Так как зависимости указаны опциональными, то npm при их установке тихо отстреливает те, что сфейлились.
И остаётся только та, что нужна (в моём случае `lightningcss-darwin-arm64`).
lightningcss
lightningcss-darwin-arm64
Прикольно. Это тебе не node-pre-gyp выкачивающий готовые билды с S3 и ломающийся на твоём защищённом от внешнего мира CI. А как так сделали?
Довольно изящно. У пакета прописаны опциональные зависимости от бинарников
У каждого такого пакета с бинарником в
"optionalDependencies": {
"lightningcss-darwin-x64": "1.21.5",
"lightningcss-linux-x64-gnu": "1.21.5",
"lightningcss-win32-x64-msvc": "1.21.5",
"lightningcss-darwin-arm64": "1.21.5",
"lightningcss-linux-arm64-gnu": "1.21.5",
"lightningcss-linux-arm-gnueabihf": "1.21.5",
"lightningcss-linux-arm64-musl": "1.21.5",
"lightningcss-linux-x64-musl": "1.21.5"
}
package.json
указана операционная система и архитектура:ightning CSS. Очередная тулза в экосистеме, написанная на Rust. В
Так как зависимости указаны опциональными, то npm при их установке тихо отстреливает те, что сфейлились.
npm verb reify failed optional dependency /Users/melikhov/test/node_modules/lightningcss-darwin-x64
npm sill reify mark deleted [ '/Users/melikhov/test/node_modules/lightningcss-darwin-x64' ]
И остаётся только та, что нужна (в моём случае `lightningcss-darwin-arm64`).