Panduan

Konfigurasi project

Buat l.config.json dan tentukan default profile, region, serta target Lambda.

Memulai

Jalankan l init dari folder project. Command menanyakan konfigurasi lebih dulu, menampilkan ringkasan JSON, lalu menyimpan ke l.config.json setelah konfirmasi.

AWS profile (default): production
Project name (billing-service):
AWS resource region (ap-southeast-1):

Lambda configuration
  1. Select existing function from AWS
  2. Enter function name manually
  3. Use a function name prefix
  4. Skip Lambda configuration
Choose [1-4] (2): 2
Lambda function name: billing-api
...
Save l.config.json? [Y/n]:

Menu memakai nomor lalu Enter. Nama project diambil dari config lama, package.json, atau nama folder. Region default mengikuti config lama, AWS_REGION, AWS_DEFAULT_REGION, session profile yang dipilih, lalu ap-southeast-1. Profile default wizard berasal dari config lama atau default. l init --profile production langsung memakai profile tersebut tanpa menanyakan nama profile lagi.

Memilih function dari AWS membutuhkan login dan izin lambda:ListFunctions. Semua halaman daftar diambil, kemudian nama diurutkan dan ditampilkan. Opsi Back mengembalikan pengguna ke mode konfigurasi. Jika daftar kosong atau AWS gagal, pengguna bisa memilih mode manual, prefix, atau lewati.

Mode manual hanya memvalidasi format nama; keberadaan function belum diverifikasi. l init tidak membuat atau mengubah resource AWS.

Schema versi 1

{
  "version": 1,
  "name": "billing-service",
  "region": "ap-southeast-1",
  "profile": "production",
  "lambda": {
    "functionName": "billing-api"
  }
}
FieldAturan
versionWajib; saat ini hanya 1
nameWajib; string yang tidak kosong
regionWajib; format region, misalnya ap-southeast-1 atau us-gov-west-1
profileOpsional; default default. Nama 1–64 huruf kecil, angka, underscore atau hyphen; diawali huruf/angka
lambdaOpsional; tepat satu dari functionName atau prefix
lambda.functionNameNama 1–64 huruf, angka, underscore, atau hyphen
lambda.prefixPrefix 1–64 huruf, angka, underscore, atau hyphen

Jika memilih prefix, bagian Lambda menjadi:

{
  "lambda": {
    "prefix": "billing-"
  }
}

Contoh kedua hanya cuplikan bagian lambda; field wajib tetap harus disertakan. Mode lewati menghilangkan field lambda. Field lain di luar schema ditolak. Validasi region memeriksa format, bukan ketersediaan region di account AWS.

Rilis mendatang — belum tersedia pada v2.0.0. Nama device Windows seperti con, prn, aux, nul, com1com9, dan lpt1lpt9 ditolak pada semua OS agar profile dapat digunakan lintas platform. Lihat catatan rilis.

Nama function AWS yang valid tetapi tidak dapat dipakai sebagai nama folder lokal akan ditolak saat pull/push.

Auth global

Config ini dapat disimpan bersama source project; hanya nama profile yang dicatat. Session default memakai ~/.l/session.json, sedangkan profile lain memakai ~/.l/profiles/<profile>/session.json. Login pada satu profile hanya mengganti session profile tersebut. Config lama tanpa field profile tetap memakai default tanpa migrasi file session. Lihat Authentication and Session. Panduan penggunaan beberapa account dari awal tersedia di Multi Profile.

l login --profile production
l login --profile staging
l init --profile production
l whoami
l lambda list --profile staging

Nama profile adalah label lokal untuk login l, bukan profile AWS CLI dari ~/.aws/config. AWS_PROFILE tidak dipakai untuk memilih profile l. Profile yang belum login/rusak menghentikan command; tidak ada fallback ke default. CLI hanya memvalidasi format nama pada config sehingga init manual tetap bisa offline.

Region config adalah region resource Lambda. Region session adalah region auth untuk AWS Sign-In, refresh, serta whoami; keduanya boleh berbeda.

Default command

Command Lambda mencari l.config.json dari current directory naik ke parent sampai menemukan file terdekat. File yang rusak menghentikan pencarian; tidak dilewati diam-diam. l init sendiri selalu membuat/memperbarui config di current directory.

NilaiUrutan prioritas
Profile auth--profileprofile project → default
Region Lambda--regionregion project → region session profile
Prefix list--prefixlambda.prefix → tanpa filter
Nama infoargumen nama → lambda.functionName → error jika tidak tersedia
l lambda info
l lambda info another-function --region us-east-1
l lambda list
l lambda list --prefix other-
l lambda list --prefix ""

Nama function yang dikonfigurasi tidak memfilter lambda list; hanya prefix yang menjadi filter default. Tanpa config, command Lambda tetap dapat dipakai seperti sebelumnya dengan region dari session dan nama info eksplisit.

Update dan pembatalan

Command Pull and Push menggunakan config yang sama, menyimpan kode pada lambda/<nama-function>/, dan mencatat ARN serta revision di .l/state.json. Tidak ada field config tambahan untuk folder kode pada versi ini. Mengganti profile tidak menghapus pemeriksaan ARN/account pada sync history. Untuk account atau region lain, gunakan folder project terpisah; profile berbeda dengan identitas account dan region yang sama tetap dapat memakai baseline yang sama.

Jalankan kembali l init untuk mengubah project. Wizard meminta persetujuan update dan memakai nilai lama sebagai default. Tidak ada --force atau mode noninteraktif. File JSON yang rusak atau versi yang tidak didukung harus diperbaiki terlebih dulu.

Menjawab tidak pada konfirmasi tidak menulis file. Ctrl+C/EOF membatalkan input. Pada v2.0.0, penulisan menggunakan file sementara lalu publikasi atomik. Untuk config baru, publikasi gagal jika file sudah dibuat oleh proses lain. Untuk update, wizard memeriksa kembali isi file sebelum menggantinya; ini bukan mekanisme locking antar process. Hindari mengubah file secara bersamaan saat konfirmasi simpan berlangsung.

Rilis mendatang — belum tersedia pada v2.0.0. Penyimpanan config baru akan memakai salinan eksklusif jika sistem menolak hard link, misalnya pada Termux. Lihat catatan rilis.

Salinan tersebut tetap menolak tujuan yang sudah ada, tetapi tidak atomik: proses lain dapat membaca JSON yang belum lengkap, dan penghentian paksa dapat meninggalkan config parsial. Periksa/perbaiki JSON jika penyimpanan terhenti. Cara sementara untuk v2.0.0 tersedia pada troubleshooting Termux.

Lihat CLI Reference untuk command dan Troubleshooting untuk pesan error.