yarn2nix
Devin.icon
yarn2nixについて
yarn2nixは、Yarn v1のロックファイル(yarn.lock)からNix expressionを生成し、JavaScriptプロジェクトをNixでパッケージ化するためのツールです。
非推奨の警告
重要: yarn2nixの関数群は非推奨となっており、Yarn v1にはyarnConfigHook、yarnBuildHook、yarnInstallHookの使用が、Yarn v3/v4にはyarn-berry_*.*ツールの使用が推奨されています。
主な機能
1. mkYarnNix
yarn.lockファイルからyarn.nixを生成します。
2. mkYarnPackage
Yarnパッケージをビルドするための主要な関数です。
この関数は以下を行います:
依存関係をmkYarnModulesでインストール
ビルドフェーズでプロジェクトをビルド
バイナリを$out/binに配置
3. mkYarnModules
node_modulesディレクトリを含むderivationを生成します。
RailsやPhoenix等の統合Webフレームワーク向けに便利です。
使用例
実際の使用例として、meshcentralパッケージがあります:
ワークスペースのサポート
yarn2nixはnpmのworkspaces機能をサポートする唯一のツールです。
既知の問題
package.jsonにバージョンが欠けている場合、yarnは何もインストールしません
node-gypの問題には特別な設定が必要な場合があります
Notes
yarn2nixはyarn2nix-moreteaパッケージとしてNixpkgsで公開されており、内部的には@yarnpkg/lockfileパーサーを使用してロックファイルを解析します 。
新しいプロジェクトでは、より新しいYarn hooksの使用を検討してください。