বান (Bun) চিটশিট
বান (Bun) হলো একটি দ্রুতগতির জাভাস্ক্রিপ্ট রানটাইম, বান্ডলার, প্যাকেজ ম্যানেজার, এবং টেস্ট রানার যা Node.js এবং npm-এর বিকল্প হিসেবে তৈরি করা হয়েছে। এটি Zig প্রোগ্রামিং ভাষায় লেখা এবং Webkit-এর JavaScriptCore ইঞ্জিন ব্যবহার করে, যা এটিকে অত্যন্ত দ্রুত এবং দক্ষ করে। এই চিটশিটে Bun-এর সব মৌলিক থেকে উন্নত ধারণা, কমান্ড, এবং ব্যবহারিক উদাহরণ বিস্তারিতভাবে কভার করা হয়েছে।
১. বান (Bun) পরিচিতি
১.১ মৌলিক ধারণা
- রানটাইম: Node.js-এর মতো জাভাস্ক্রিপ্ট ফাইল রান করে।
- প্যাকেজ ম্যানেজার: npm-এর বিকল্প, দ্রুত ডিপেন্ডেন্সি ইনস্টল।
- বান্ডলার: Webpack/Rollup-এর মতো কোড বান্ডল করে।
- টেস্ট রানার: Jest-এর বিকল্প, দ্রুত টেস্টিং।
- ফাইল সিস্টেম: দ্রুত I/O অপারেশন।
১.২ ইনস্টলেশন
- Linux/macOS:
- Windows (WSL):
- চেক করুন:
- আপগ্রেড:
২. রানটাইম ব্যবহার
২.১ জাভাস্ক্রিপ্ট ফাইল রান
কমান্ড | বর্ণনা | উদাহরণ |
---|---|---|
bun run | ফাইল রান। | bun run index.js |
bun | সরাসরি ফাইল রান (run ঐচ্ছিক)। | bun index.js |
bun repl | REPL চালু। | bun repl |
উদাহরণ: index.js
২.২ TypeScript সমর্থন
- সরাসরি রান: কম্পাইল ছাড়াই TS ফাইল রান।
- উদাহরণ:
index.ts
৩. প্যাকেজ ম্যানেজমেন্ট
৩.১ প্যাকেজ ইনস্টল
কমান্ড | বর্ণনা | উদাহরণ |
---|---|---|
bun install | package.json থেকে ইনস্টল। | bun install |
bun add | নতুন প্যাকেজ যোগ। | bun add express |
bun add -D | ডেভ ডিপেন্ডেন্সি যোগ। | bun add -D typescript |
bun install -g | গ্লোবাল ইনস্টল। | bun install -g cowsay |
উদাহরণ:
৩.২ প্যাকেজ মুছে ফেলা
কমান্ড | বর্ণনা | উদাহরণ |
---|---|---|
bun remove | প্যাকেজ মুছে ফেলা। | bun remove express |
৩.৩ bun.lockb
- লক ফাইল:
bun install
চালালে স্বয়ংক্রিয়ভাবে তৈরি হয়। - ব্যবহার: সুনির্দিষ্ট ভার্সন লক করা।
৪. বান্ডলিং
৪.১ কোড বান্ডল
কমান্ড | বর্ণনা | উদাহরণ |
---|---|---|
bun build | ফাইল বান্ডল। | bun build index.js --outfile dist/app.js |
bun build --minify | মিনিফাই করা। | bun build index.js --minify --outfile dist/app.js |
bun build --target | টার্গেট পরিবেশ। | bun build index.js --target browser --outfile dist/app.js |
উদাহরণ: index.js
৪.২ মাল্টি-ফাইল বান্ডল
৫. স্ক্রিপ্ট রান
৫.১ package.json স্ক্রিপ্ট
কমান্ড | বর্ণনা | উদাহরণ |
---|---|---|
bun run | স্ক্রিপ্ট রান। | bun run start |
৫.২ হট রিলোডিং
৬. টেস্টিং
৬.১ টেস্ট রান
কমান্ড | বর্ণনা | উদাহরণ |
---|---|---|
bun test | সব টেস্ট রান। | bun test |
bun test <file> | নির্দিষ্ট ফাইল। | bun test test/example.test.js |
bun test --watch | টেস্ট হট রিলোড। | bun test --watch |
উদাহরণ: example.test.js
৬.২ অ্যাসারশন
expect().toBe()
expect().toEqual()
expect().toContain()
৭. বিল্ট-ইন API
৭.১ HTTP সার্ভার
- উদাহরণ:
server.js
৭.২ ফাইল I/O
- লেখা:
- পড়া:
৭.৩ WebSocket
- উদাহরণ:
ws.js
৮. প্রজেক্ট তৈরি
৮.১ নতুন প্রজেক্ট
কমান্ড | বর্ণনা | উদাহরণ |
---|---|---|
bun init | প্রজেক্ট সেটআপ। | bun init |
- ফলাফল:
৯. উন্নত ফিচার
৯.১ Bun Shell
- কমান্ড রান:
৯.২ প্লাগিন
- উদাহরণ:
bunfig.toml
- plugin.js:
১০. ডিবাগিং এবং হেল্প
১০.১ ডিবাগিং
কমান্ড | বর্ণনা | উদাহরণ |
---|---|---|
bun --inspect | ডিবাগ মোড। | bun --inspect index.js |
১০.২ হেল্প
কমান্ড | বর্ণনা | উদাহরণ |
---|---|---|
bun --help | সাধারণ হেল্প। | bun --help |
bun <command> --help | নির্দিষ্ট হেল্প। | bun test --help |
১১. উদাহরণ: একটি সম্পূর্ণ অ্যাপ
১১.১ HTTP সার্ভার
- server.ts:
১১.২ টেস্ট এবং বান্ডল
- test/api.test.ts:
- বিল্ড:
১২. টিপস এবং সেরা অভ্যাস
- TypeScript: সরাসরি TS ব্যবহার করুন, কম্পাইলের প্রয়োজন নেই।
- --watch: ডেভেলপমেন্টে হট রিলোডিং চালু করুন।
- bun.lockb: গিটে কমিট করুন।
- প্লাগিন: কাস্টম লোডারের জন্য ব্যবহার করুন।