প্রকল্প সম্পর্কে

Dropzone একটি JavaScript লাইব্রেরি যা যেকোনো HTML এলিমেন্টকে ড্রপজোনে পরিণত করে: ব্যবহারকারীরা ফাইল টেনে এনে ফেলতে পারেন এবং লাইব্রেরি ফাইল প্রিভিউ ও আপলোড প্রগ্রেস দেখায়, XHR-এর মাধ্যমে আপলোড পরিচালনা করে। এটি TypeScript-এ লেখা এবং নিজস্ব টাইপ ডেফিনিশনসহ আসে, তাই আলাদা @types প্যাকেজের প্রয়োজন নেই। README-তে উল্লেখ করা হয়েছে যে পুরোনো @types/dropzone 5.7.9-এ থেমেছে এবং v5 API বর্ণনা করে, তাই এটি থাকলে সরিয়ে ফেলা উচিত। ইনস্টলেশন npm (npm install dropzone) বা pnpm-এর মাধ্যমে করা যায় এবং এটি ES6 মডিউল বা CommonJS মডিউল হিসেবে ব্যবহার করা যায়। প্যাকেজ ম্যানেজার বা বান্ডলার ছাড়া প্রকল্পের জন্য, unpkg থেকে স্ট্যান্ডঅ্যালোন ফাইল পাওয়া যায়, যা Dropzone-কে একটি গ্লোবাল ভেরিয়েবল এবং একটি স্টাইলশিট হিসেবে প্রকাশ করে। নথিভুক্ত বৈশিষ্ট্যগুলির মধ্যে রয়েছে: আকর্ষণীয় ডিফল্ট স্টাইলিং; thumbnail(file, data) কলব্যাকের মাধ্যমে ইমেজ থাম্বনেইল প্রিভিউ; হাই-ডিপিআই স্ক্রিন সমর্থন; একাধিক ফাইল এবং সিঙ্ক্রোনাস আপলোড; প্রগ্রেস আপডেট; খণ্ডিত আপলোডের মাধ্যমে বড় ফাইলের সমর্থন; Amazon S3 মাল্টিপার্ট আপলোড সমর্থন; ডিফল্ট ইভেন্ট লিসেনার ওভাররাইট করে সম্পূর্ণ থিমিং; এবং আপলোডের আগে ব্রাউজার-সাইড ইমেজ রিসাইজিং। README-তে বলা হয়েছে লাইব্রেরিটি ভালোভাবে পরীক্ষিত। রিপোজিটরিটি একটি মনোরেপো যেখানে npm-এ dropzone হিসেবে প্রকাশিত লাইব্রেরি (packages/dropzone), Docusaurus দিয়ে তৈরি ডকুমেন্টেশন (apps/docs) এবং SvelteKit দিয়ে তৈরি ওয়েবসাইট (apps/website) রয়েছে। ডেভেলপমেন্ট কমান্ডগুলির মধ্যে রয়েছে pnpm install, pnpm build, pnpm test, pnpm test:e2e, pnpm dev:docs এবং pnpm dev:website। একটি একক pnpm build:site কমান্ড _site/-এ ডিপ্লয়যোগ্য GitHub Pages সাইট তৈরি করে, যা রুটে ওয়েবসাইট এবং /docs-এর অধীনে ডকুমেন্টেশন একত্রিত করে; CI একই স্ক্রিপ্ট চালায়। Dropzone 6 Internet Explorer সমর্থন করে না; সেই প্রয়োজনের জন্য সংস্করণ 5.9.3 সুপারিশ করা হয়। কমিউনিটি সমর্থন GitHub Discussions বা Stack Overflow-এ dropzone.js ট্যাগ দিয়ে পরিচালিত হয়, ইস্যু ট্র্যাকারে নয়, যা শুধুমাত্র বাগ রিপোর্টের জন্য সংরক্ষিত। প্রকল্পটি MIT লাইসেন্সযুক্ত।