npmへの公開とセマンティックバージョニング
package.jsonのフィールド(main、module、exports)、変更履歴、semantic-release、npm publishの流れ
「npmへの公開とセマンティックバージョニング」はCoddyKit上の無料Vue Academyレッスンです。 これはレッスン4/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはVue Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Vue Academyコースには全4レッスンが含まれています。
公開の準備をする
公開すると、ライブラリを npm install でインストールできるようになります。その前に、package.json でエントリーポイントを正しく宣言し、公開するファイルを制御する必要があります。
mainとmodule
main は古いツール向けのCommonJSビルドを指し、module はESMビルドを指します。これにより、モダンなバンドラーはツリーシェイキング可能なバージョンを選択できます。
{
"main": "./dist/my-ui-lib.cjs.js",
"module": "./dist/my-ui-lib.es.js"
}exportsマップ
モダンな exports フィールドは、条件付きのエントリーポイントを定義します。main/module より優先され、サブパスへのアクセスを制御します。
{
"exports": {
".": {
"types": "./dist/index.d.ts",
"import": "./dist/my-ui-lib.es.js",
"require": "./dist/my-ui-lib.cjs.js"
},
"./style.css": "./dist/style.css"
}
}条件付きエクスポート
import、require、types の条件により、NodeとバンドラーはそれぞれESM、CommonJS、TypeScriptに適したファイルを解決できます。
公開ファイルを制御する
files フィールドで公開するファイルの許可リストを指定するか、.npmignore で拒否リストを指定します。dist を公開し、ソースとテストを除外すると、パッケージを小さく保てます。
{
"files": ["dist"]
}.npmignore
拒否リスト方式を使う場合、files フィールドを設定していなくても .npmignore でファイルを除外できます。どちらも指定しない場合、npmはほぼすべてのファイルを公開します。
# .npmignore
src
tests
vite.config.ts
*.lognpm packでプレビューする
npm pack を実行するとtarballが作成され、実際に何が公開されるかを確認できます。公開前に必ず行うべき重要な安全確認です。
npm pack
# inspect the listed files; nothing secret should appearセマンティックバージョニング
SemVerでは MAJOR.MINOR.PATCH を使用します。後方互換性のあるバグ修正では patch、後方互換性のある機能追加では minor、互換性を壊す変更では major を上げます。
npm versionコマンド
npm version コマンドは、package.json のバージョンを上げ、同時にgitタグを作成します。
npm version patch # 1.0.0 -> 1.0.1
npm version minor # 1.0.1 -> 1.1.0
npm version major # 1.1.0 -> 2.0.0npm publish
npm publish はパッケージをアップロードします。スコープ付きの公開パッケージでは、初回のみ --access public フラグが必要です。
npm publish --access publicprepublishOnlyとdist-tag
prepublishOnly スクリプトによって公開前に最新のビルドが実行され、--tag next を使うと latest タグを移動せずにプレリリースを公開できます。
{
"scripts": {
"prepublishOnly": "npm run build"
}
}
// npm publish --tag next理解度チェック
既存の利用方法を壊さずに、新しい任意のpropを追加します。どのバージョンを上げますか。
まとめ
main、module、条件付きの exports マップ(import/require/types)を設定し、files または .npmignore で公開するファイルを制御します。npm pack で確認してから、SemVerに従い npm version patch/minor/major でバージョンを上げ、npm publish で公開します(スコープ付きパッケージでは --access public を追加します)。
よくある質問
「npmへの公開とセマンティックバージョニング」レッスンは無料ですか?
はい。「npmへの公開とセマンティックバージョニング」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Vue Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Vue Academyコースには全4レッスンが含まれています。
「npmへの公開とセマンティックバージョニング」で何を学びますか?
package.jsonのフィールド(main、module、exports)、変更履歴、semantic-release、npm publishの流れ ブラウザで直接実行するハンズオンコードでVue Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Vue Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのVue Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン4/4です。
「npmへの公開とセマンティックバージョニング」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このVue Academyレッスンでコードを書いて実行できますか?
はい。すべてのVue Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- Viteライブラリモードの設定
- コンポーネントライブラリのTypeScript宣言
- Tree Shakingと自動インポート
- npmへの公開とセマンティックバージョニング