問題タブ [patch-package]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
git - /patches フォルダーからすべての git .patch ファイルを適用する方法 - npm
TL、DR;
.patch
フォルダー内のすべてのファイルを取得して実行するための git コマンド、bash スクリプト、または npm メソッド (スクリプト) を探しています
私がこれまでに試したこと:
コンテキスト(何に使用するか)
現在、かなりの数のライブラリを使用して、大規模なプロジェクトに取り組んでいます。私たちは webpack を使用しており、フロントエンドは Angular.js、バックエンドは Yii2 です。開発者は Linux と Windows の両方を使用するため、プロジェクトは Docker イメージ内でコンパイルされます。
これまで、ライブラリに変更を加える必要があるときはいつでも、それを fork し、 fork を で指定しましたpackage.json
。
そして...それは動作します。
私は最近、モジュールにパッチを適用するための間違いなく優れた方法を発見しましたpatch-package
。つまり、フォークを回避し、変更を.patch
ファイルに保存します。
ただし、パッチ ファイルを作成するだけでは不十分です。デプロイ時には、ビルド前にも適用する必要があります。これは、展開スクリプトの次の行に変換されます。
これは、実行中のものの前に実行する必要がありますnpm run build
。
そして、再び、それは機能します。
質問
patches/
フォルダー内の各ファイルの取得を自動化して適用する方法を探していますが、それらを1つずつ指定する必要はありません。そのため、パッチ フォルダーに新しいものがプッシュされる (または既存のものが変更される) たびに.patch
、展開スクリプトを変更することなく、ビルド前にパッケージに自動的に適用されます。
私は示唆しているように見えるこの質問を見つけました
トリックを実行する可能性があります (もちろん、docker コンソール内で)。ただし、上のman
ページにgit-am
は次のように書かれています。
メールボックスから一連のパッチを適用する
何のメールボックス?フォルダから変更を適用したい。コマンドを試してみるとam
、コンソールは私が誰なのかわからないと不平を言います (電子メールとパスワードが必要です)。
.sh
bash スクリプト (ファイル) を作成し、フォルダーからすべてのファイルを読み取り、複数のgit apply
コマンドを実行する単純なケースとして扱う必要がありますfor
か?
それを行うためのより「git」っぽい方法/コマンドはありますか?
npm スクリプトを使用する方が理にかなっていますか?
node.js - Docker を使用したパッチ パッケージ
ノード js バックエンドを使用しており、docker 経由でアプリケーションをデプロイしたいと考えています。
アプリケーションを機能させるために 2 つの npm パッケージを変更し、package.json のポスト インストール スクリプトを使用して、npm patch-package でこれらの変更を自動的にインストールしました。
postinstall-postinstall と patch-package の両方を開発依存関係としてインストールしました。
yarn install と yarn build を別々に実行すると問題なく動作しますが、このアプリケーションを dockerize しようとすると、ビルド段階でエラーが発生します。これは基本的に、パッチが node_modules に適用されていないことを示しています。
これは私のdockerfileです:
dockerfile 内の糸インストール スクリプトがインストール後に実行されていないのか、エラーが糸ビルド スクリプトでのみ発生しているのかはよくわかりません。
前もって感謝します
angular - Ngx-charts: null 値の後の改行
タイトルにあるように、null 値の後に折れ線グラフが表示されます。値を持つポイントまで線をプロットします: null が来ると、その後はポイントのみがプロットされますが、線はプロットされません。null を手動で 0 または NaN に変更することでこれを修正できます。これは 0 としてプロットされるか、最後の非 null 値から次の非 null 値に接続されますが、非連続線が必要です。
ここでこの問題の解決策を確認し、パッチ パッケージ (node_modules パッケージの変更で機能します) を使用して実装しようとしましたが、Chrome の DevTools では変更が見られません。 https://github.com/swimlane/ngx-charts/issues/799
Chrome の DevTools で表示されるエラーの 1 つ:
複製する方法は?ngx-charts をインストールし、値が null の要素を含むシリーズを挿入します。また、パッチ パッケージを追加して、関数 getLineGenerator() および getRangeGenerator() の最後に次のコードを追加して、この問題を修正することもできます。