PackageJsonジェネレータ
npm initを実行して11の指示に従う代わりに、フォームに情報を入力するだけで、整然として正しい構造を持つpackage.jsonファイルが自動生成されます。このジェネレータは、パッケージを検索可能かつ公開可能なものにするために必要な項目(名称、バージョン)、一般的に使用される項目(スクリプト、依存関係、devDependencies、エンジン)および重要な詳細情報(リポジトリ、バグ情報、キーワード、ライセンス)をすべて網羅しています。
package.jsonファイルを生成する方法
-
1
名前とバージョンを入力してください
名前はnpmのルールに従います:小文字のみ、URLで使用可能な形式、214文字未満。バージョンはsemver(例:0.1.0)です。
-
2
モジュールタイプを選択してください
CommonJS(デフォルト)または「type」:「module」のESM。Node.js 14以上のプロジェクトに適用されます。
-
3
スクリプトを追加します
スタート、ビルド、テスト、lint、これらのコマンドは`npm run <name>`で実行されます。
-
4
リストの依存関係
ランタイムパッケージは依存関係に、ツールは開発用依存関係に含まれます。
-
5
メタデータを設定します
説明、作成者、ライセンス、リポジトリURL、キーワード
-
6
出力をコピーします
プロジェクトのルートディレクトリ内の新しいpackage.jsonファイルに貼り付けます。
最も重要なフィールド
| フィールド | 必須? | 注釈 |
|---|---|---|
name |
はい | 小文字のみ、1~214文字、URL対応 |
version |
はい | Semver(メジャー.マイナー.パッチ) |
type |
いいえ | ESM用は “module”。CommonJSでは省略可能 |
main |
推奨済み | CommonJS(index.js)のエントリポイント |
exports |
推奨済み | 二重CJS/ESM対応の現代型エクスポートマップ |
scripts |
強く推奨します | npm run <name>のコマンド |
dependencies |
必要に応じて | ランタイムパッケージ |
devDependencies |
必要に応じて | ビルドツール、テストランナー、リンター |
engines |
あると便利 | 必要なNodeのバージョン範囲 |
license |
公開時は必須 | MIT、Apache-2.0のようなSPDX識別子 |
Semverのチートシート
1.0.0、major.minor.patch^1.0.0– 1.x.x(>=1.0.0、<2.0.0)と互換性があります~1.0.0、パッチ更新のみ(>=1.0.0、<1.1.0)>=1.0.0 <2.0.0、明示範囲1.0.0-beta.1、prereleaselatest、npmタグであり、バージョンではありません
npm install packageを実行する際のデフォルト値は^であり、これにより中断なしでのアップグレードが可能になります。
必要な標準スクリプト
{
"scripts": {
"start": "node index.js",
"dev": "nodemon index.js",
"build": "tsc",
"test": "vitest",
"lint": "eslint .",
"format": "prettier --write ."
}
}
タグ付けの落とし穴
- 大文字を使用していません。
MyPackageはnpm installを失敗させています。 - スペースは使用しない。 ハイフンを使用してください:
my-package。 - GitHubまたはnpmの組織における「Scope名」は、
@org/から始まります(例:@acme/utils)。 - 予約語です。
node_modules、favicon.ico、core、expressはパッケージ名として使用できません。
ライセンスオプション
認められたSPDX識別子を選択してください:
- MIT、最も許容度の高い一般的な選択肢です。
- Apache-2.0、パテント権利を付与する許可型ライセンス。
- ISC、MITに非常に似た極めて短いライセンスで、npmのデフォルト設定となっている。
- GPL-3.0-or-later、コピーレフトです。
- UNLICENSED、プライベートパッケージで、配布用ではありません。
誤ったまたは曖昧なライセンス文字列は、npmでのパブリッシュ時に警告をトリガーします。
よくある質問
依存関係は、ユーザーが自身のパッケージを消費するプロジェクト内でnpm installを実行した際にインストールされます。devDependenciesはパッケージ自体の開発環境にのみインストールされます。ランタイムパッケージはdependenciesに、テスト/ビルドツールはdevDependenciesに配置してください。
はい、アプリケーション向けに使用します。ロックファイルはバージョンを正確に指定し、異なるマシンやCI環境において再現可能なインストールを保証します。npmに公開されたライブラリパッケージについては、ロックファイルは任意で、ユーザーはそれぞれ独自のロックファイルを使用します。
パッケージをデフォルトでESM(インポート/エクスポートの構文)に設定する場合は限りません。この設定がなければ、.jsファイルはCommonJSとして扱われます。また、「タイプ」に関わらず、ESMファイルには.mjs、CommonJSファイルには.cjsを使用することも可能です。
コードがテストされたNodeのバージョンです。現在一般的な選択肢は"engines": {"node": ">=18"}です。これはエラーではなく警告ですが、ツールはこれを無視せず、ユーザーも正しくピン留めします。
関連ツール
ASCII表リファレンス
0から127までの完全なASCII表です。NUL、LF、DELなどの制御コードを含め、各文字の10進数、16進数、8進数、2進数、HTML数値文字参照を表示します。
HTML文字参照
HTMLエンティティの検索可能なリスト、その名称コードおよび数値コード、および特殊文字や記号のワンクリックコピー機能を提供します。
キーボードショートカット一覧
macOS、Windows、Linux向けに、VS Code、Chrome、GNU Readlineを使うBashの公式資料に基づく既定ショートカットを検索できます。
JavaScript圧縮ツール
変数名のリネーム、空白の削除、デッドコードの除去、定数畳み込みでJavaScriptを圧縮し、より小さなバンドルを作成します。
FPS カウンター
requestAnimationFrame でブラウザーの FPS を測定。平滑化、最小・最大フレームレート、警告しきい値、任意のグラフに対応。ローカルで動作し、アップロードも API も不要です。
EditorConfig ジェネレーター
インデントのスタイルとサイズ、改行コード、文字コード、空白ルールを指定して .editorconfig ファイルを生成し、IDE やエディタをまたいで書式を統一できます。
このツールは他の言語でも利用できます
- Generator package.json [ID]
- Gerador de Package.json [PT]
- package.json-Generator [DE]
- Package.json 생성기 [KO]
- ตัวสร้าง package.json [TH]
- مولد package.json [AR]
- Generator package.json [PL]
- Package.json-generator [SV]
- Trình tạo package.json [VI]
- Generador de Package.json [ES]
- Générateur de package.json [FR]
- Package.json-generator [NL]
- Package.json Generator [EN]
- Generatore di Package.json [IT]
- Генератор package.json [RU]
- Package.json Oluşturucu [TR]
- package.json 生成器 [ZH]