microsoft / microsoft/node-jsonc-parser

Provide usage examples

オープン
#97 コメント 0 件 リアクション 2 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

主要言語
TypeScript
スター
759
フォーク
66
平均マージ
5日 10時間
マージ済み PR(30日)
7

説明

Already asked in https://github.com/microsoft/node-jsonc-parser/issues/74, but it was closed by the author.

The request still stands, it would be great to have a few examples to use the library to load/parse/write JSONC files.

I shouldn't need to ask LLMs how to use something, but thankfully it helped. Here's my tsconfig.json reference sorter:

import { readFile, writeFile } from "node:fs/promises";
import * as jsonc from "jsonc-parser";

const editsOptions = {
  formattingOptions: { tabSize: 2, insertSpaces: true },
};
async function sortReferences(filePath) {
  const contents = await readFile(filePath, "utf8");
  const json = jsonc.parse(contents);

  if (!json.references) {
    return;
  }

  json.references.sort((a, b) => a.path.localeCompare(b.path));

  const edits = jsonc.modify(
    contents,
    ["references"],
    json.references,
    editsOptions,
  );

  const newContents = jsonc.applyEdits(contents, edits);

  if (contents !== newContents) {
    await writeFile(filePath, newContents);
    console.log(`Sorted: ${filePath}`);
  }
}

for (const filePath of process.argv.slice(2)) {
  void sortReferences(filePath).catch((error) => {
    throw new Error(`Error sorting references in ${filePath}`, {
      cause: error,
    });
  });
}

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

調査の方向性

issue の TypeScript の例から始め、ライブラリの公開されている parse、modify、applyEdits のエントリポイントを確認します。JSONC ファイルの読み込み、パース、書き込みをカバーする、いくつかの分かりやすい例を追加し、示されているフォーマットと編集のフローも含めれば完了です。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
node.js, typescript
領域
documentation
issue の種類
ドキュメント
難易度
2/5
見積もり時間
1〜3時間
活発さ
停滞
明瞭さ
おおむね明確
初心者へのやさしさ
48/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。