Lewati ke konten utama

F4 · Modul 08

Node, npm, dan rantai pasok

46 langkah singkat, dari mudah sampai tantangan.

  1. Level 1

    Kenal

  2. Level 2

    Paham

  3. Level 3

    Terapkan

  4. Level 4

    Tantangan

  5. 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 lewat process.exitCode, dan punya inti main(argv, io) yang bisa diuji.
  • package.json menyatakan proyek; semver adalah janji manusia (^, ~, aturan 0.x), dan versi bukan teks.
  • Lockfile mencatat versi persis dan integritas SHA-512, dan npm ci memasang ulang persis. Integritas menjamin isi yang sama, bukan isi yang baik.
  • Node 22 menjalankan .ts dengan menghapus tipe tanpa memeriksanya; tsc memeriksa dan mengompilasi; erasableSyntaxOnly + verbatimModuleSyntax menyelaraskan 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