﻿1
00:00:01,260 --> 00:00:02,200
‫Instruktur:

2
00:00:02,200 --> 00:00:03,783
‫Dalam kuliah ini,

3
00:00:03,783 --> 00:00:05,980
‫kita akan membicarakan lebih banyak

4
00:00:05,980 --> 00:00:08,630
‫hal yang harus Anda ketahui tentang

5
00:00:08,630 --> 00:00:13,610
‫bekerja dengan paket npm, seperti membuat versi, memperbarui, atau menghapus paket, dan

6
00:00:13,610 --> 00:00:17,043
‫juga beberapa hal lainnya, jadi mari kita mulai.

7
00:00:18,860 --> 00:00:20,670
‫Hal pertama yang

8
00:00:20,670 --> 00:00:25,670
‫ingin saya bicarakan dalam video ini adalah nomor versi paket kami.

9
00:00:26,000 --> 00:00:28,110
‫Sebagian besar paket pada

10
00:00:28,110 --> 00:00:31,510
‫npm mengikuti apa yang disebut notasi versi semantik,

11
00:00:31,510 --> 00:00:34,140
‫yang berarti bahwa nomor versinya

12
00:00:34,140 --> 00:00:36,913
‫selalu diekspresikan dengan tiga angka ini.

13
00:00:38,010 --> 00:00:41,000
‫Yang pertama di sini disebut versi utama.

14
00:00:41,000 --> 00:00:44,190
‫Yang kedua disebut versi minor.

15
00:00:44,190 --> 00:00:47,460
‫Yang ketiga disebut versi patch.

16
00:00:47,460 --> 00:00:51,604
‫Sebenarnya ada arti dari ketiga angka tersebut.

17
00:00:51,604 --> 00:00:55,160
‫Versi tambalan, yang hanya yang terakhir di sini,

18
00:00:55,160 --> 00:00:58,080
‫hanya dimaksudkan untuk memperbaiki bug.

19
00:00:58,080 --> 00:01:01,750
‫Katakanlah itu di versi 1. 18, pengembang menemukan bug

20
00:01:01,750 --> 00:01:04,150
‫dan mereka memperbaiki bug itu dan

21
00:01:04,150 --> 00:01:08,663
‫kemudian merilis 1. 18. 1.

22
00:01:09,860 --> 00:01:11,320
‫Kemudian mereka menemukan bug lain dan

23
00:01:11,320 --> 00:01:14,840
‫kemudian mereka merilis 1. 18. 2 dan seterusnya dan

24
00:01:14,840 --> 00:01:18,843
‫seterusnya sampai mereka mencapai 1. 18. 11, yang

25
00:01:20,350 --> 00:01:22,203
‫merupakan nomor versi saat ini.

26
00:01:23,450 --> 00:01:27,140
‫Sekali lagi, yang terakhir ini hanya untuk perbaikan bug.

27
00:01:27,140 --> 00:01:31,040
‫Kemudian setelah itu, kami memiliki versi minor.

28
00:01:31,040 --> 00:01:32,670
‫Versi minor memperkenalkan

29
00:01:32,670 --> 00:01:35,130
‫beberapa fitur baru ke dalam

30
00:01:35,130 --> 00:01:38,170
‫paket, tetapi tidak termasuk perubahan yang melanggar.

31
00:01:38,170 --> 00:01:41,270
‫Semua perubahan yang dilakukan di nomor versi baru akan

32
00:01:41,270 --> 00:01:43,593
‫selalu kompatibel dengan versi sebelumnya.

33
00:01:44,751 --> 00:01:47,410
‫Jika suatu saat tim nodemon, misalnya, memutuskan

34
00:01:47,410 --> 00:01:51,290
‫untuk merilis versi 1. 19, ya, itu

35
00:01:51,290 --> 00:01:54,110
‫akan menyertakan beberapa fitur baru tetapi

36
00:01:54,110 --> 00:01:56,570
‫tidak akan merusak kode kita.

37
00:01:56,570 --> 00:01:59,750
‫Dan hal yang sama tentu saja terjadi dengan yang satu ini di sini.

38
00:01:59,750 --> 00:02:03,230
‫Jadi kalau suatu hari nanti ada Slugify 1. 4, maka

39
00:02:03,230 --> 00:02:06,190
‫kode kita masih akan bekerja sama.

40
00:02:06,190 --> 00:02:08,320
‫Tidak akan ada perubahan yang melanggar.

41
00:02:08,320 --> 00:02:10,600
‫Cukup akan ada sesuatu yang

42
00:02:10,600 --> 00:02:14,947
‫baru, jadi beberapa fitur baru, yang bukan hanya perbaikan bug.

43
00:02:14,947 --> 00:02:17,940
‫Perbaikan bug lagi untuk yang ketiga,

44
00:02:17,940 --> 00:02:19,850
‫jadi untuk versi

45
00:02:19,850 --> 00:02:23,870
‫patch, dan kemudian fitur baru minor untuk versi minor.

46
00:02:23,870 --> 00:02:26,620
‫Kemudian tentu saja, kami memiliki versi utama,

47
00:02:26,620 --> 00:02:28,840
‫yang hanya ditingkatkan setiap kali

48
00:02:28,840 --> 00:02:33,140
‫itu adalah rilis baru yang sangat besar yang dapat memiliki perubahan besar.

49
00:02:33,140 --> 00:02:36,500
‫Misalnya, jika Slugify 2 datang.

50
00:02:36,500 --> 00:02:39,000
‫Yah kode kita mungkin tidak lagi

51
00:02:39,000 --> 00:02:42,130
‫berfungsi karena fungsi slugify yang kita miliki di

52
00:02:42,130 --> 00:02:44,856
‫sini misalnya, mungkin telah mengubah namanya atau

53
00:02:44,856 --> 00:02:48,940
‫mungkin parameter yang diharapkan di sini berbeda atau opsi mungkin

54
00:02:48,940 --> 00:02:51,240
‫telah berubah, atau sesuatu mungkin

55
00:02:51,240 --> 00:02:53,210
‫telah berubah yang akan merusak

56
00:02:53,210 --> 00:02:55,123
‫versi sebelumnya .

57
00:02:57,040 --> 00:02:59,720
‫Ketahuilah bahwa ketika ada versi baru,

58
00:02:59,720 --> 00:03:02,020
‫biasanya itu memengaruhi kode yang

59
00:03:02,020 --> 00:03:03,570
‫sudah Anda miliki.

60
00:03:05,030 --> 00:03:07,300
‫Karena itu, penting

61
00:03:07,300 --> 00:03:09,823
‫juga untuk membicarakan pembaruan paket.

62
00:03:10,670 --> 00:03:12,620
‫Dalam paket kami. json,

63
00:03:12,620 --> 00:03:15,258
‫simbol kecil di sini yang

64
00:03:15,258 --> 00:03:18,460
‫muncul di depan nomor versi inilah yang

65
00:03:18,460 --> 00:03:22,363
‫menentukan pembaruan mana yang kami terima untuk setiap paket.

66
00:03:23,290 --> 00:03:27,430
‫Simbol ini di sini, yang ditentukan oleh npm di

67
00:03:27,430 --> 00:03:31,900
‫sini secara default berarti bahwa kami menerima rilis patch dan minor.

68
00:03:31,900 --> 00:03:34,890
‫Sekarang, bagaimana kita benar-benar memperbarui paket?

69
00:03:34,890 --> 00:03:39,080
‫Nah, mari kita hentikan proses ini di sini.

70
00:03:39,080 --> 00:03:40,580
‫Hal pertama yang dapat

71
00:03:40,580 --> 00:03:44,120
‫kita lakukan adalah memeriksa apakah ada paket yang sudah ketinggalan zaman.

72
00:03:44,120 --> 00:03:49,120
‫Kami menulis npm kedaluwarsa, dan itu seharusnya memberi kami tabel

73
00:03:49,720 --> 00:03:51,530
‫dengan semua paket yang

74
00:03:51,530 --> 00:03:53,125
‫sudah usang.

75
00:03:53,125 --> 00:03:55,970
‫Nah sekarang, mereka semua up-to-date, jadi itu

76
00:03:55,970 --> 00:03:57,860
‫tidak benar-benar terjadi.

77
00:03:57,860 --> 00:03:59,021
‫Yang ingin

78
00:03:59,021 --> 00:04:01,550
‫saya tunjukkan sekarang adalah bahwa kita

79
00:04:01,550 --> 00:04:05,240
‫sebenarnya dapat menginstal paket tertentu dengan nomor versi tertentu.

80
00:04:05,240 --> 00:04:06,945
‫Mari kita lakukan itu dengan Slugify dan

81
00:04:06,945 --> 00:04:11,003
‫instal di versi 1. 0. 0.

82
00:04:13,980 --> 00:04:18,980
‫Npm install slugify dan kemudian pada 1. 0. 0.

83
00:04:22,220 --> 00:04:23,233
‫Mari kita coba itu.

84
00:04:25,645 --> 00:04:29,560
‫Sekarang memang, kami memiliki satu nol nol.

85
00:04:29,560 --> 00:04:31,740
‫Ketika kami mengarahkannya, itu sebenarnya mengatakan

86
00:04:31,740 --> 00:04:35,773
‫versi terbaru 1. 3. 4, yang kami miliki.

87
00:04:36,660 --> 00:04:40,630
‫Tetapi jika kita sekarang menjalankan npm kedaluwarsa, itu

88
00:04:40,630 --> 00:04:43,390
‫akan memberi kita itu.

89
00:04:43,390 --> 00:04:46,360
‫Kita melihat bahwa arus adalah 1. 0. 0.

90
00:04:46,360 --> 00:04:50,642
‫diinginkan adalah 1. 3. 4, karena itu

91
00:04:50,642 --> 00:04:53,060
‫yang kami terima karena ingat, bahwa dengan

92
00:04:53,060 --> 00:04:56,820
‫ini di sini, kami menerima semua patch dan semua rilis

93
00:04:56,820 --> 00:04:59,821
‫minor, tetapi tentu saja, kami juga dapat mengubahnya.

94
00:04:59,821 --> 00:05:04,580
‫Misalnya, kita dapat mengaturnya ke simbol ini di sini.

95
00:05:04,580 --> 00:05:07,860
‫Ini kemudian hanya akan menerima rilis patch.

96
00:05:07,860 --> 00:05:09,483
‫Yang ini sedikit lebih aman.

97
00:05:10,960 --> 00:05:13,570
‫Jika kita menjalankan npm kedaluwarsa sekarang lagi, mari kita lihat

98
00:05:13,570 --> 00:05:14,693
‫apa yang kita dapatkan.

99
00:05:15,590 --> 00:05:19,150
‫Sekarang yang dicari hanya 1. 0. 2, karena

100
00:05:19,150 --> 00:05:22,690
‫sekali lagi, kami hanya menerima versi minor.

101
00:05:22,690 --> 00:05:26,090
‫Jadi 1. 3. 4 tidak

102
00:05:26,090 --> 00:05:28,670
‫diterima oleh kami karena kami tidak

103
00:05:28,670 --> 00:05:30,820
‫menerima rilis minor apa

104
00:05:30,820 --> 00:05:33,670
‫pun, jadi sekali lagi, hanya rilis patch.

105
00:05:33,670 --> 00:05:38,670
‫Jika Anda melakukan pembaruan npm slugify sekarang, mari kita lihat apa yang kami

106
00:05:41,460 --> 00:05:42,903
‫dapatkan saat itu.

107
00:05:45,360 --> 00:05:48,440
‫Sekarang kita berada di 1. 0. 2.

108
00:05:48,440 --> 00:05:49,537
‫Anda melihat

109
00:05:49,537 --> 00:05:52,930
‫bahwa itu berubah kembali untuk konfigurasi pembaruan saya

110
00:05:52,930 --> 00:05:56,360
‫di sini untuk menerima rilis minor dan patch.

111
00:05:56,360 --> 00:05:58,763
‫Bukan hanya rilis patch seperti yang kami lakukan sebelumnya.

112
00:06:01,010 --> 00:06:02,820
‫Jika kita akan menjalankan ini sekarang lagi,

113
00:06:02,820 --> 00:06:04,180
‫itu seharusnya benar-benar membuat kita

114
00:06:04,180 --> 00:06:08,163
‫naik ke 1. 3. 4, seperti yang kita miliki sebelumnya.

115
00:06:09,710 --> 00:06:11,343
‫Memang, di sini kita pergi.

116
00:06:12,550 --> 00:06:16,060
‫Baiklah, begitulah cara kami memperbarui paket.

117
00:06:16,060 --> 00:06:18,240
‫Ada konfigurasi lain yang bisa

118
00:06:18,240 --> 00:06:20,040
‫kita pilih di sini.

119
00:06:20,040 --> 00:06:23,070
‫Kita dapat mengatakan, misalnya, bahwa kita menginginkan semua

120
00:06:23,070 --> 00:06:25,970
‫versi, jadi jika pada suatu saat, ada

121
00:06:25,970 --> 00:06:28,790
‫versi dua dan jika kita tidak memperbarui

122
00:06:28,790 --> 00:06:30,930
‫paket, maka secara otomatis

123
00:06:30,930 --> 00:06:33,633
‫versi kita akan naik ke versi dua.

124
00:06:34,590 --> 00:06:36,903
‫Yang ini mencakup semua versi,

125
00:06:38,259 --> 00:06:40,880
‫bahkan yang dengan perubahan yang melanggar.

126
00:06:40,880 --> 00:06:43,530
‫Tapi itu bukan ide yang baik biasanya,

127
00:06:43,530 --> 00:06:46,330
‫dan jadi saya biasanya hanya menggunakan yang ini

128
00:06:46,330 --> 00:06:49,510
‫default, atau kadang-kadang bahkan yang ini di sini karena

129
00:06:49,510 --> 00:06:52,740
‫pada titik tertentu, bahkan jika rilis kecil hanya memperkenalkan fitur

130
00:06:52,740 --> 00:06:54,880
‫baru tetapi tidak ada perubahan yang

131
00:06:54,880 --> 00:06:57,690
‫mengganggu, kami tahu itu terkadang ada bug yang

132
00:06:57,690 --> 00:07:00,490
‫tidak ditemukan oleh pengembang, dan kemudian bug ini,

133
00:07:00,490 --> 00:07:02,270
‫mereka menemukan jalannya ke

134
00:07:02,270 --> 00:07:05,010
‫dalam kode kita dan mungkin merusak kode kita.

135
00:07:05,010 --> 00:07:07,600
‫Kami tidak menginginkan itu, tentu saja.

136
00:07:07,600 --> 00:07:09,700
‫Versi teraman adalah dengan hanya

137
00:07:09,700 --> 00:07:12,149
‫menggunakan yang ini untuk perbaikan bug.

138
00:07:12,149 --> 00:07:15,510
‫Mari kita tetap seperti ini di sini,

139
00:07:15,510 --> 00:07:17,783
‫hanya untuk tujuan demonstrasi.

140
00:07:19,183 --> 00:07:20,950
‫Inilah yang perlu Anda

141
00:07:20,950 --> 00:07:23,123
‫ketahui tentang nomor versi dan pembaruan.

142
00:07:24,030 --> 00:07:26,443
‫Tapi tentu saja kita juga bisa menghapus paket.

143
00:07:27,350 --> 00:07:30,493
‫Sekarang mari kita lanjutkan dan instal

144
00:07:36,280 --> 00:07:40,140
‫Express, sehingga kita dapat melanjutkan dan menghapusnya setelah itu.

145
00:07:40,140 --> 00:07:43,000
‫Saya yakin Anda bisa menebak bagaimana kita bisa melakukannya.

146
00:07:43,000 --> 00:07:44,960
‫Itu sangat mudah.

147
00:07:44,960 --> 00:07:49,620
‫Npm uninstall, jadi sebenarnya tidak disebut delete.

148
00:07:49,620 --> 00:07:51,510
‫Ini benar-benar mencopot pemasangan.

149
00:07:51,510 --> 00:07:56,303
‫Kami menginstal dan kami menghapus Express.

150
00:07:58,170 --> 00:08:00,460
‫Itu kemudian akan menghapusnya dari folder modul

151
00:08:00,460 --> 00:08:02,941
‫simpul kami, dan juga dari dependensi kami

152
00:08:02,941 --> 00:08:05,960
‫dalam sebuah paket. berkas json.

153
00:08:06,920 --> 00:08:11,000
‫Setiap kali kita memutuskan untuk tidak menggunakan modul lagi,

154
00:08:11,000 --> 00:08:14,140
‫kita harus selalu melanjutkan dan menghapusnya,

155
00:08:14,140 --> 00:08:15,983
‫atau benar-benar mencopotnya.

156
00:08:16,900 --> 00:08:19,450
‫Sekarang sebagai hal terakhir, saya

157
00:08:19,450 --> 00:08:22,240
‫ingin berbicara sedikit tentang folder modul node.

158
00:08:22,240 --> 00:08:24,010
‫Folder ini, yang

159
00:08:24,010 --> 00:08:26,600
‫berisi semua dependensi proyek kami.

160
00:08:26,600 --> 00:08:29,210
‫Katakanlah Anda ingin berbagi kode dengan seseorang,

161
00:08:29,210 --> 00:08:31,393
‫atau Anda, misalnya, ingin mulai

162
00:08:31,393 --> 00:08:33,550
‫bekerja di satu komputer

163
00:08:33,550 --> 00:08:35,850
‫dan kemudian pindah ke komputer berikutnya.

164
00:08:35,850 --> 00:08:39,140
‫Anda tidak akan pernah membagikan folder modul simpul ini karena

165
00:08:39,140 --> 00:08:42,330
‫kode ini, Anda dapat dengan mudah mendapatkannya dari npm.

166
00:08:42,330 --> 00:08:44,570
‫Tidak perlu melanjutkan dan menyalin semua

167
00:08:44,570 --> 00:08:46,760
‫kode ini di sini, misalnya,

168
00:08:46,760 --> 00:08:50,730
‫ke repositori GitHub atau ke folder Dropbox, atau benar-benar di suatu

169
00:08:50,730 --> 00:08:54,040
‫tempat di mana Anda ingin membagikan kode Anda, karena

170
00:08:54,040 --> 00:08:56,000
‫folder di sini seperti

171
00:08:56,000 --> 00:08:58,616
‫yang Anda lihat memiliki banyak sekali folder

172
00:08:58,616 --> 00:09:01,670
‫dan masing-masing dari mereka mungkin memiliki banyak file.

173
00:09:01,670 --> 00:09:03,670
‫Tiba-tiba, Anda mungkin berakhir

174
00:09:03,670 --> 00:09:06,313
‫dengan puluhan atau ratusan ribu file.

175
00:09:07,718 --> 00:09:09,860
‫Anda tidak boleh membagikan folder

176
00:09:09,860 --> 00:09:13,173
‫ini dan tidak pernah memeriksanya ke dalam repositori GitHub Anda.

177
00:09:14,680 --> 00:09:17,620
‫Katakanlah Anda mengunggah kode ini ke akun

178
00:09:17,620 --> 00:09:21,173
‫GitHub Anda tanpa modul simpul ini, atau Anda

179
00:09:22,580 --> 00:09:25,020
‫memasukkannya ke Dropbox di satu

180
00:09:25,020 --> 00:09:27,660
‫komputer dan mengunduhnya di komputer lain.

181
00:09:27,660 --> 00:09:30,464
‫Katakanlah kita sekarang mengunduh kode ini di

182
00:09:30,464 --> 00:09:32,780
‫sini, jadi tanpa modul simpul.

183
00:09:32,780 --> 00:09:34,540
‫Jadi kami menghapus yang itu

184
00:09:36,050 --> 00:09:38,523
‫sekarang dan berakhir hanya dengan folder proyek biasa.

185
00:09:39,720 --> 00:09:42,092
‫Bagaimana kita sekarang mendapatkan kembali dependensi

186
00:09:42,092 --> 00:09:44,180
‫atau folder modul simpul kita?

187
00:09:44,180 --> 00:09:46,120
‫Nah, itu sangat mudah.

188
00:09:46,120 --> 00:09:48,503
‫Yang harus kita lakukan adalah menginstal npm.

189
00:09:55,490 --> 00:09:58,950
‫Apa yang dilakukannya adalah membaca paket kami. json, baca

190
00:09:58,950 --> 00:10:02,030
‫dependensi kami, lalu unduh

191
00:10:02,030 --> 00:10:05,860
‫semuanya kembali ke folder ini, oke.

192
00:10:05,860 --> 00:10:07,940
‫Sekarang salah satu bagian penting dari teka-teki

193
00:10:07,940 --> 00:10:10,503
‫ini adalah kunci-paket. berkas json.

194
00:10:12,290 --> 00:10:15,070
‫Jika kita membukanya, kita mendapatkan daftar semua

195
00:10:15,070 --> 00:10:17,710
‫versi dari semua paket yang sebenarnya

196
00:10:17,710 --> 00:10:19,210
‫kita gunakan.

197
00:10:19,210 --> 00:10:22,093
‫Itu termasuk dependensi dari dependensi kami.

198
00:10:23,100 --> 00:10:25,373
‫Mari kita pergi ke Slugify, misalnya.

199
00:10:28,030 --> 00:10:29,910
‫Slugify, dan di sini kita melihat bahwa kita menggunakan

200
00:10:29,910 --> 00:10:31,413
‫versi 1. 3. 4.

201
00:10:33,270 --> 00:10:35,600
‫Itu sangat penting karena jika Anda

202
00:10:35,600 --> 00:10:38,420
‫membagikan kode Anda, Anda ingin pengembang lain atau

203
00:10:38,420 --> 00:10:40,190
‫bahkan Anda sendiri menggunakan versi

204
00:10:40,190 --> 00:10:42,450
‫paket yang sama persis, sehingga kode

205
00:10:42,450 --> 00:10:45,760
‫Anda bekerja dengan cara yang sama persis untuk Anda

206
00:10:45,760 --> 00:10:47,300
‫dan pengembang lainnya.

207
00:10:47,300 --> 00:10:50,200
‫Untuk itu, nomor versi yang tepat

208
00:10:50,200 --> 00:10:52,380
‫pada dasarnya diatur dalam

209
00:10:52,380 --> 00:10:54,833
‫kunci-paket ini. berkas json.

210
00:10:56,624 --> 00:10:58,850
‫Jika Anda membagikan kode Anda, tidak

211
00:10:58,850 --> 00:11:02,180
‫peduli apakah Anda menggunakan GitHub atau Dropbox atau semacamnya, selalu

212
00:11:02,180 --> 00:11:04,690
‫bagikan paket Anda. file

213
00:11:04,690 --> 00:11:07,660
‫json dan package-lock.json. json karena

214
00:11:07,660 --> 00:11:09,690
‫kedua file ini diperlukan

215
00:11:09,690 --> 00:11:12,460
‫untuk pengembang lain untuk kemudian merekonstruksi

216
00:11:12,460 --> 00:11:15,143
‫pada dasarnya folder modul simpul.

217
00:11:18,232 --> 00:11:20,860
‫Ya, saya rasa hanya itu

218
00:11:20,860 --> 00:11:23,600
‫yang perlu Anda ketahui tentang versi

219
00:11:23,600 --> 00:11:28,230
‫paket, pembaruan, penghapusan instalasi, dan juga berbagi kode dengan npm,

220
00:11:28,230 --> 00:11:31,710
‫package.json. json dan paket-lock. json.

221
00:11:31,710 --> 00:11:33,870
‫Jika ada lagi yang ingin Anda ketahui,

222
00:11:33,870 --> 00:11:37,320
‫Anda dapat selalu bertanya lagi di kursus Q dan A dan kemudian

223
00:11:37,320 --> 00:11:39,323
‫Anda akan mendapatkan bantuan di sana.

