パッケージの公開
Yarn を通じて他の世界中の開発者たちとあなたのパッケージを共有するには、まずそれを公開する必要があります。
Yarn でパッケージを公開した場合は、パッケージをグローバルに配布するのに使用するため、npm registry に進みます。
npm へのログイン
まだ持っていないなら、まず npm アカウントを作成する必要があります。一度作成すれば、Yarn でユーザー名と email アドレスを設定することができます。
yarn login
ユーザ名とメールアドレスの入力を要求します。 しかしパスワードは要求しません。 また Yarn はパスワードやセッションを保持したりはしません。 npm へパッケージの公開や何らかの変更を行いたい場合は、パスワードの入力が必要です。
パッケージの公開
一度パッケージ内の全コードを書いてテストを行ったら、さあ公開する準備を始めましょう:
yarn publish
まず公開する新しいバージョンを尋ねられます:
[1/4] Bumping version...
info Current version: 1.0.0
question New version: _____
次に npm パスワードの入力を求められます:
[2/4] Logging in...
info npm username: your-npm-username
info npm username: you@example.com
question npm password: ____________
最後に、Yarn はパッケージを公開して、セッショントークンを消去します。
[3/4] Publishing...
success Published.
[4/4] Revoking token...
success Revoked login token.
✨ Done in 10.53s.
パッケージの新しいバージョンを公開するたびに、これと同じフローに従います。
パッケージへのアクセス
これでパッケージは https://www.npmjs.com/package/my-new-project で利用可能となり、インストールできるはずです:
yarn add my-new-project
npm レジストリの全ての情報を参照することもできます:
yarn info my-new-project
{ name: 'my-new-project',
description: 'My New Project description.',
'dist-tags': { latest: '1.0.0' },
versions: [ '1.0.0' ],
maintainers: [ { name: 'Your Name', email: 'you@example.com' } ],
time:
{ modified: '2018-01-10T11:18:48+00:00',
created: '2018-01-10T11:18:48+00:00',
'1.0.0': '2018-01-10T11:18:48+00:00' },
homepage: 'https://my-new-project-website.com/',
keywords: [ 'cool', 'useful', 'stuff' ],
repository:
{ url: 'https://example.com/your-username/my-new-project',
type: 'git' },
contributors:
[ { name: 'Your Friend',
email: 'their-email@example.com',
url: 'http://their-website.com' },
{ name: 'Another Friend',
email: 'another-email@example.com',
url: 'https://another-website.org' } ],
author: { name: 'Your Name', email: 'you@example.com' },
bugs: { url: 'https://github.com/you/my-new-project/issues' },
license: 'MIT',
readmeFilename: 'README.md',
version: '1.0.0',
main: 'index.js',
files: [ 'index.js', 'lib/*.js', 'bin/*.js' ],
bin: { 'my-new-project-cli': 'bin/my-new-project-cli.js' },
dist:
{ shasum: '908bc9a06fa4421e96ceda243c1ee1789b0dc763',
tarball: 'https://registry.npmjs.org/my-new-project/-/my-new-project-1.0.0.tgz' },
directories: {} }