F4 · Modul 08
Node, npm, dan rantai pasok
46 langkah singkat, dari mudah sampai tantangan.
Level 1
Kenal
Level 2
Paham
Level 3
Terapkan
Level 4
Tantangan
Level 5
Pendalaman
Intinya
- Node menjalankan JavaScript di luar peramban (V8 + libuv + modul inti
node:, tanpa DOM). CLI yang baik menulis hasil ke stdout, galat ke stderr, memberi kode keluar 0/1/2 lewatprocess.exitCode, dan punya intimain(argv, io)yang bisa diuji. package.jsonmenyatakan proyek; semver adalah janji manusia (^,~, aturan 0.x), dan versi bukan teks.- Lockfile mencatat versi persis dan integritas SHA-512, dan
npm cimemasang ulang persis. Integritas menjamin isi yang sama, bukan isi yang baik. - Node 22 menjalankan
.tsdengan menghapus tipe tanpa memeriksanya;tscmemeriksa dan mengompilasi;erasableSyntaxOnly+verbatimModuleSyntaxmenyelaraskan keduanya. - Serangan rantai pasok membobol akun dan memakai mekanisme normal npm, terutama skrip instal; pertahanannya berlapis.
Sebelum mulai
±4 jam, termasuk Lab Codespaces.
Modul ini memakai materi di bawah. Belum yakin? Ulas dulu bagian yang disebut.
Hasil belajar: menjelaskan Node sebagai runtime JavaScript di luar peramban (V8, libuv, modul inti node:); menulis program baris perintah dengan process.argv, stdout, stderr, dan process.exitCode, dengan inti main(argv, io) yang bisa diuji; membaca dan menyusun package.json (type, bin, scripts, engines, dependencies dan devDependencies); menjelaskan versi semantik dan rentang ^/~, termasuk aturan versi 0.x; menjelaskan isi lockfile, integritas SHA-512, dan beda npm install dengan npm ci; menjelaskan cara Node menemukan modul (jalur relatif, node:, node_modules, exports); menjalankan TypeScript dengan type stripping Node 22 dan dengan tsc, serta menjelaskan apa yang dilakukan dan tidak dilakukan masing-masing; menjelaskan serangan rantai pasok npm yang nyata dan pertahanan berlapisnya; membangun CLI laporan dengan kode keluar 0/1/2.
Proyek: Laporan Warung langkah 08: proyek Node dengan package.json, lockfile, tsconfig.json, dan CLI laporan (kontrak proyek §3, §5).
Istilah di modul ini (46)
Ketuk istilah untuk melihat penjelasannya. Di materi, istilah bergaris titik membuka kartu yang sama. Semua istilah course
Bahan modul
Semua kode, latihan, dan data modul ini dalam satu zip, untuk dijalankan di laptop atau Google Colab.
- 8 berkas latihan + tes
- 2 berkas data
Lihat isi zip
- BACA-DULU.txt
- package-lock.json
- jenis.ts
- galat.ts
- format.ts
- hitung.ts
- argumen.ts
- latihan_f4_08_1.ts
- latihan_f4_08_5.ts
- latihan_f4_08_3.ts
- latihan_f4_08_2.ts
- latihan_f4_08_4.ts
- latihan_f4_08_6.ts
- latihan_f4_08_7.ts
- latihan_f4_08_8.ts
- laporan.json
- laporan-rusak.json