Bnlang প্যাকেজ ম্যানেজার (BPM)
BPM Bnlang-এর অফিসিয়াল প্যাকেজ ম্যানেজার। এটি আপনার প্রজেক্টে দু'টি ফাইল ম্যানেজ করে:
bnl.json— প্রজেক্ট ম্যানিফেস্ট: নাম, সংস্করণ, ডিপেন্ডেন্সি, মেইন এন্ট্রি পয়েন্ট।bnl.lock— জেনারেটেড লকফাইল, যা প্রতিটি ডাইরেক্ট ও ট্রানজিটিভ ডিপেন্ডেন্সিকে একটি কংক্রিট সংস্করণ + integrity হ্যাশে পিন করে।
প্যাকেজ ডিফল্টভাবে লোকাল ./deps/ ফোল্ডারে ইনস্টল হয় (অথবা -g দিয়ে ~/.bnl/deps-এ)। নেটিভ প্লাগইন (.dll / .so / .dylib) একইভাবে install হয় — প্লাগইন ডেভেলপমেন্ট দেখুন।
Installing BPM
BPM Bnlang-এর সাথে শিপ হয়। নিচের কমান্ড দিয়ে যাচাই করুন:
bpm --version
Common Commands
bpm init→ Create a starterbnl.jsonin the current directory.bpm install→ Install every dependency declared inbnl.json.bpm install <name>[@version]→ Add and install one package.bpm install -g <name>→ Install globally into~/.bnl/deps.bpm uninstall <name>→ Remove an installed dependency.bpm list→ Show installed packages.bpm login→ Authenticate with the registry.bpm publish→ Publish the current package to the registry.
Example Workflow
# Start a new project
mkdir my-app && cd my-app
bpm init
# Add a dependency
bpm install some-package
# Or install everything from bnl.json (e.g. on a fresh checkout)
bpm install
# Remove what you don't need anymore
bpm uninstall some-package
# Publish your own package
bpm login
bpm publish
Using an Installed Package
ইনস্টল করা প্যাকেজ ./deps/-এ থাকে। নাম দিয়ে ইমপোর্ট করুন — ইমপোর্ট রিজলভার জানে কোথায় খুঁজতে হবে।
import "some-package" as pkg;
print(pkg.hello());
Best Practices
bnl.jsonএবংbnl.lockদু'টোই কমিট করুন। লকফাইলই অন্যদের ইনস্টলকে আপনার সাথে রিপ্রোডিউস করায়।- ডাইরেক্ট ডিপের জন্য
bnl.json-এ সেমান্টিক সংস্করণ রেঞ্জ (^1.2.3) ব্যবহার করুন, যাতে patch রিলিজ স্বাভাবিকভাবে আসে। -gপরিমিত ব্যবহার করুন — গ্লোবাল ইনস্টল PATH-এ থাকা CLI-এর জন্য ভালো, অ্যাপ ডিপেন্ডেন্সির জন্য তেমন না।- প্যাকেজকে পরিষ্কার, ছোট-হাতের নাম দিন এবং README-তে পাবলিক API ডকুমেন্ট করুন।