質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.39%
Electron

Electronは、HTML5とNode.jsというWebの技術を用いてデスクトップアプリケーションを作成できるクロスプラットフォームな実行環境です。

npm

npmは、Node Packaged Modulesの略。Node.jsのライブラリ・パッケージを管理できるツールです。様々なモジュールを簡単にインストールでき、自分でモジュールを作成し公開する際にも使用できます。

Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

解決済

1回答

283閲覧

parse-git-diff ライブラリの使い方がわからない

tima0314

総合スコア54

Electron

Electronは、HTML5とNode.jsというWebの技術を用いてデスクトップアプリケーションを作成できるクロスプラットフォームな実行環境です。

npm

npmは、Node Packaged Modulesの略。Node.jsのライブラリ・パッケージを管理できるツールです。様々なモジュールを簡単にインストールでき、自分でモジュールを作成し公開する際にも使用できます。

Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

0クリップ

投稿2024/02/23 05:39

実現したいこと

electronを使用して、git commitしたコードの差分(diff)を解析し、json形式に表示するアプリを開発している。それには、parse-git-diffというライブラリが不可欠なのですがうまく動かず困っています。

発生している問題・分からないこと

ドキュメント
上記がparse-git-diffのドキュメントですが、

const result = parseGitDiff('... git diff ...');

('...git diff...')に何を入力していいかわからないのです。
git コマンドを入れるのか?

const result = parseGitDiff('git diff');

結果は、

{ type: 'GitDiff', files: [] }

該当fileを入れるのか?

const result = parseGitDiff('main.js');

結果はやはり'{ type: 'GitDiff', files: [] }'

ターミナルでは正常に動くgit コマンド

const result = parseGitDiff('git diff 1dd35**..48a63**');

結果'{ type: 'GitDiff', files: [] }'

ドキュメントのように'a/newfile.md'と'b/newfile.md'を作成。

const result = parseGitDiff('diff --git a/newfile.md b/newfile.md');

結果'{ type: 'GitDiff', files: [] }'

該当のソースコード

main.js

1const parseGitDiff = require('parse-git-diff').default; // require 2 3const result = parseGitDiff('git diff'); 4console.log(result); 5

試したこと・調べたこと

  • teratailやGoogle等で検索した
  • ソースコードを自分なりに変更した
  • 知人に聞いた
  • その他
上記の詳細・結果

色々、git コマンドやファイルを入れてみたのですが良い結果が得られず、どなたかparse-git-diffをお使いになられた方、助言をお願いします。

補足

os:mac m1
node: v18.0.0
parse-git-diff": "^0.0.15

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ikedas

2024/02/24 09:21 編集

ドキュメントに書いてある通り、ソースコードが下の場所にありますよね。 https://github.com/yeonjuan/parse-git-diff (主要なソースコードはsrcの下にあります。) これを読めば、ParseGitDiffがどういう引数を取って処理をするか分かると思うんですが。コードは読みましたか。
tima0314

2024/02/24 23:31

コメントありがとうございます。問題が解決しました! ベストアンサーに選びたいので同じ内容を回答欄に投稿いただけますでしょうか?
ikedas

2024/02/24 23:40

回答は質問者でもできます。 自分で解決できたのでしたら、どうやって解決したかを自分で回答として投稿して、質問を解決済みにしておいてください。 下記も参照。 https://teratail.com/help#resolve-myself
guest

回答1

0

自己解決

const GIT_DIFF = `diff --git a/newfile.md b/newfile.md new file mode 100644 index 0000000..aa39060 --- /dev/null +++ b/newfile.md @@ -0,0 +1 @@ +newfile `; const result = parseGitDiff(GIT_DIFF); console.log(result);

上記のように入力すれば

{ type: 'GitDiff', files: [ { type: 'AddedFile', chunks: [Array], path: 'newfile.md' } ] }

と帰ってきました。解決です。
ikedasさんありがとー

投稿2024/02/25 03:50

tima0314

総合スコア54

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.39%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問