2017-04-12 10 views
1

NPMリンクユーティリティを作成中ですNPMリンクユーティリティの作成 - 下位から順に依存関係をトレースする

私は約7または8のローカル開発パッケージに依存しています。 NPMリンクを使用してリンクします。これは現在手動で行われていて退屈になっており、ユーティリティを使用して自動化したいと考えています。もっとも良いことは、依存関係のないパッケージをリンクしてから、最も依存度の高いパッケージまで私の方法で作業することです。私は木の底から始まり、上向きに自分の道を動作するはずです -

 A (my main NPM project) 

    / \  \ 
    /  \  \ 
    B   C  H __ 
    /\   /\ \ 
/ \   / \ \ 
    D  E   I  J K 
     \  /
      \ /
      \ /
      F 

仮定:

は次のようになります。

これを簡単に実装するために使用できるデータ構造やアルゴリズムはありますか?ローカルの独特のリストLを作成

  1. :だから私は、アルゴリズムのようなものであるべきだと思う

    # start with F and work upwards 
    cd F && npm link . 
    cd E && npm link F && npm link . 
    cd D && npm link . 
    cd B && npm link D && npm link E && npm link . 
    # etc etc 
    

    念頭において上記ツリーで、実効コードは次のようになります。開発されたプロジェクト(遠隔のみ)。

  2. リストLにある依存関係のセットを見つけるまで、メインプロジェクトから始めて(package.jsonを使用して宣言された依存関係を見つける)、ドリルダウンしてリストL内の他の依存関係を持たないようにします。

その後、私は確信していません

答えて

1

お試しくださいhttp://aka.ms/rush - これはあなたの問題に対する工業的な強みです。

+0

おかげで面白く見える –

+0

ええ、このツールはあまりにもGulpと結合されています。私は個人的にGulpのファンではなく、代わりにBashを使うほうが好きです。 –

0

私はNPMを聞くと、誰かがまだ存在で、このような有用性があるではないかもしれないと述べたので、私はそれに取り組んで開始しました:

https://github.com/ORESoftware/npm-link-up

はフィードバックを与えるか、貢献してお気軽に。

Rush以外にも、Lernaがあり、Babelが使用しています。しかし、私は "npm-link-up"がはるかに簡単で、より軽いかもしれないと思います。

関連する問題