Menciptakan sebuah paket

A ** package </ 0> adalah sebuah direktori dengan beberapa kode dan file ` package.json </ 1> yang menyediakan informasi untuk Yarn tentang paket Anda.</p>

Kebanyakan paket menggunakan beberapa jenis sistem kontrol versi. Yang paling umum adalah git tapi Yarn tidak keberatan dengan apapun yang Anda pilih untuk digunakan. Untuk panduan ini, contoh kita akan menggunakan git.

Catatan: </ 0> Jika Anda ingin mengikuti panduan ini, pastikan untuk memasang git </ 1> dan Yarn </ 2> terlebih dahulu.</p> </blockquote>

Membuat paket pertama anda

Untuk membuat paket pertama Anda, buka terminal / konsol sistem Anda dan jalankan perintah berikut:

git init my-new-project cd my-new-project yarn init
`</pre> 

Ini akan membuat repositori git baru, menempatkan Anda di dalamnya, dan kemudian membuka formulir interaktif untuk membuat proyek benang baru dengan pertanyaan berikut:

```sh
nama (my-new-project): versi (1.0.0):
deskripsi: 
entry point (index.js): 
git repository: 
author: 
license (MIT):
```

Anda bisa mengetikkan jawaban untuk masing-masing atau Anda bisa menekan enter / return untuk menggunakan default atau membiarkannya kosong.

> ** Tip: </ 0> Jika Anda ingin menggunakan default untuk semua hal, Anda juga dapat menjalankan ` yarn init - dan </ 1> dan akan melewatkan semua pertanyaan.  </p>
</blockquote>

package.json` </h3> > > Sekarang Anda harus memiliki ` package.json </ 0> yang terlihat seperti ini:</p>
{
   "nama": "my-new-project",
   "version": "1.0.0",
   "description": "My New Project description.",
   "main": "index.js",
   "repository": {
     "url": "https://example.com/your-username/my-new-project",
     "type": "git"
   },
   "author": "Nama Anda <you@example.com> ",
   "lisensi": " MIT "}
`</pre> 
> 
> Bidang yang Anda lihat di ` package.json </ 0> memiliki arti sebagai berikut:</p>

  • nama </ 0> adalah pengenal paket Anda, jika Anda akan menerbitkannya ke registri global, Anda harus yakin itu unik.</li>
  • versi </ 0> adalah versi semver yang kompatibel dari paket Anda, Anda dapat mempublikasikan paket sebanyak yang Anda mau tapi mereka harus memiliki versi baru.</li>
  • deskripsi </ 0> adalah bidang opsional namun disarankan yang digunakan oleh pengguna Benang lain untuk mencari dan memahami proyek Anda.</li>
  • main </ 0> digunakan untuk menentukan titik masuk kode Anda yang digunakan oleh program seperti Node.js. Jika tidak ditentukan, defaultnya akan menjadi index.js </ 1> .</li>
  • repositori </ 0> adalah bidang opsional namun disarankan lain yang membantu pengguna paket Anda menemukan kode sumber untuk berkontribusi kembali.</li>
  • penulis </ 0> adalah pencipta atau pengelola sebuah paket. Ini mengikuti format "Nama Anda <you@example.com> (http://your-website.com)" </ 1></li>
  • lisensi </ 0> adalah hukum yang diterbitkan dari paket Anda dan apa gunanya penggunaan kode dalam paket Anda.</li> </ul>

    Ketika Anda menjalankan yarn init </ 0> , semua yang dilakukannya adalah membuat file ini, tidak ada yang terjadi di latar belakang. Anda bisa merasa bebas untuk mengedit file ini sebanyak yang Anda mau.</p>

    Bidang tambahan

    Mari kita pergi melalui beberapa kolom tambahan package.json </ 0> yang mungkin ingin Anda tambahkan.</p>

    {
      "name": "my-new-project",
      "...": "...",
      "keywords": ["cool", "useful", "stuff"],
      "homepage": "https://my-new-project-website.com",
      "bugs": "https://github.com/you/my-new-project/issues",
      "contributors": [
        "Your Friend <their-email@example.com> (http://their-website.com)",
        "Another Friend <another-email@example.com> (https://another-website.org)"
      ],
      "files": ["index.js", "lib/*.js", "bin/*.js"],
      "bin": {
        "my-new-project-cli": "bin/my-new-project-cli.js"
      }
    }
    `</pre> 
    > 
    > * ** keywords </ 0> adalah daftar istilah yang dapat dicari oleh pengembang lain untuk menemukan paket atau paket terkait Anda.</li> 
    >     
    >     * ** homepage </ 0> adalah url untuk mengarahkan pengguna ke situs web yang menginformasikannya pada paket dengan perkenalan, dokumentasi, dan tautan ke sumber tambahan.</li> 
    >         
    >         * ** bug </ 0> adalah url untuk mengarahkan pengguna paket Anda jika mereka menemukan masalah dengan paket Anda.</li> 
    >             
    >             * ** kontributor </ 0> adalah daftar kontributor paket. Jika ada orang lain yang terlibat dalam proyek Anda, Anda dapat menentukannya di sini.</li> 
    >                 
    >                 * ** file </ 0> adalah daftar file yang harus disertakan dalam paket Anda saat diterbitkan dan diinstal. Jika Benang tidak ditentukan akan mencakup setiap file.</li> 
    >                     
    >                     * ** bin </ 0> adalah pemetaan perintah cli (binari) untuk Benang untuk dibuat untuk paket saat menginstalnya.</li> </ul> 
    >                         
    >                         Untuk daftar lengkap semua bidang ` package.json </ 0> dan rincian lebih lanjut tentang masing-masing bidang di atas, silakan lihat
     dokumentasi < 1>  package.json </ 0> </ 1> .
    </p>
    
    

    Perizinan dan open source

    Paket benang umumnya didorong untuk menjadi open source </ 0> , namun penting untuk dicatat bahwa mereka tidak secara inheren open source hanya dengan menerbitkannya.</p>

    Agar kode menjadi open source maka perlu ada lisensi open source. Ada banyak lisensi open source yang bisa dipilih, berikut beberapa yang umum:

    Jika Anda menginginkan lebih banyak pilihan, Anda bisa mendapatkan daftar yang lebih lengkap di sini </ 0> .</p>

    Bila Anda memilih lisensi open source untuk paket Anda, pastikan untuk menambahkan file LICENSE </ 0> di root paket Anda dengan teks lisensi dan perbarui package.json </ 0> <0 Anda > bidang lisensi </ 0> .</p>

    Catatan.

    Berbagi kode

    Anda mungkin ingin mengizinkan pengguna paket Anda untuk dapat mengakses kode sumber Anda dan memiliki cara untuk melaporkan masalah. Ada beberapa situs populer untuk hosting kode Anda:

    Situs ini akan memungkinkan pengguna melihat kode Anda, melaporkan masalah, dan berkontribusi balik. Setelah Anda memiliki kode Anda di suatu tempat Anda harus menambahkan bidang berikut ke package.json </ 0> Anda :</p>

      
    `</pre> 
    >                         
    >                         ### Dokumentasi 
    >                         
    >                         Anda idealnya harus menulis dokumentasi Anda sebelum Anda menerbitkan paket Anda. Minimal Anda harus menulis berkas  README.md </ 0> di root proyek Anda yang mengenalkan paket Anda dan mendokumentasikan API publik.</p>
    
    

    Dokumentasi yang baik didefinisikan dengan memberi pengguna semua pengetahuan yang mereka butuhkan untuk memulai proyek Anda dan terus menggunakannya. Pikirkan pertanyaan seseorang yang tidak tahu apa-apa tentang proyek Anda. Jelaskan hal-hal yang akurat dan sedetail mungkin, tapi usahakan tetap singkat dan mudah dibaca. Proyek dengan dokumentasi berkualitas tinggi jauh lebih berhasil. </ 0></p>

    Simpan paket kecil

    Saat membuat paket Benang , Anda dianjurkan untuk membuatnya tetap kecil dan sederhana. Break paket besar ke dalam banyak kecil jika masuk akal untuk melakukannya. Hal ini sangat dianjurkan karena Benang mampu memasang ratusan bahkan ribuan paket dengan sangat efisien.

    Banyak paket kecil adalah model manajemen paket yang hebat. Seringkali ini mengarah ke ukuran unduhan yang lebih kecil karena Anda tidak menggabungkan dependensi masif dan hanya menggunakan sebagian kecil saja.

    Anda juga harus mempertimbangkan isi paket Anda. Pastikan Anda tidak secara tidak sengaja mendistribusikan tes atau file lain yang tidak diperlukan untuk menggunakan paket Anda (buat skrip, gambar, dll.).

    Juga hati-hati dengan paket apa yang Anda andalkan, pilih dependensi yang lebih kecil kecuali Anda memiliki alasan bagus untuk tidak melakukannya. Pastikan bahwa Anda tidak sengaja tergantung pada sesuatu yang masif.