আমি ঠিক কি করা উচিত .npmignore?
পরীক্ষা? স্টাফ পছন্দ .travis.yml, .jshintrc? মডিউলটি চালানোর সময় যে কোনও কিছুর প্রয়োজন নেই (রিডমি বাদে)?
আমি এ সম্পর্কে কোনও গাইডেন্স পাই না।
আমি ঠিক কি করা উচিত .npmignore?
পরীক্ষা? স্টাফ পছন্দ .travis.yml, .jshintrc? মডিউলটি চালানোর সময় যে কোনও কিছুর প্রয়োজন নেই (রিডমি বাদে)?
আমি এ সম্পর্কে কোনও গাইডেন্স পাই না।
.npmignoreবা "files"( docs.npmjs.com/files/package.json#files ) নির্বিশেষে স্বয়ংক্রিয়ভাবে অন্তর্ভুক্ত করা হবে ।
উত্তর:
যেমনটি আপনি সম্ভবত পেয়েছেন, এনপিএম সেখানে নির্দিষ্টভাবে কী প্রবেশ করা উচিত তা সুনির্দিষ্টভাবে বলে না, বরং তাদের কাছে উপেক্ষা-দ্বারা-ডিফল্ট ফাইলগুলির একটি তালিকা রয়েছে । অনেক লোক এমনকি এটিকে ব্যবহার করে না কারণ আপনার সমস্ত কিছু উপস্থিত না থাকলে ডিফল্ট হিসাবে .gitignoreতা উপেক্ষা করা npmহয় .npmignore। অতিরিক্ত হিসাবে, সেটিংস নির্বিশেষে অনেকগুলি ফাইল ইতিমধ্যে ডিফল্ট দ্বারা উপেক্ষা করা হয় এবং উপরের লিঙ্কে বর্ণিত হিসাবে কিছু ফাইল সর্বদা উপেক্ষা করা থেকে বঞ্চিত থাকে।
সেখানে সর্বদা কী হওয়া উচিত সে সম্পর্কে খুব বেশি আধিকারিক নেই কারণ এটি মূলত একটি উপসেট .gitignore, তবে আমি 5-ইশ বছরের জন্য নোড ব্যবহার করে যা সংগ্রহ করি তা থেকে আমি এখানে এসেছি।
দ্রষ্টব্য: উত্পাদনের দ্বারা আমি যে কোনও সময় বলতে চাইছি যেখানে আপনার মডিউলটি কারও দ্বারা ব্যবহৃত হয় এবং মডিউলে নিজেই বিকাশ না করে।
.coffeeএবং আপনার প্যাকেজে ফাইলগুলি অন্তর্ভুক্ত করতে পারেন না তবে সেগুলি আপনার গিট সংগ্রহস্থলে ট্র্যাক করে রাখতে পারেন।node-gypএমন অবজেক্ট ফাইল থাকতে পারে যা কোনও বিল্ডের সময় উত্পন্ন হয় যা কখনই প্যাকেজে যেতে না পারে।.gitignoreযাইহোক যাইহোক। এনপিএমের দৃষ্টিকোণ থেকে .npmignoreওভাররাইড হওয়ায় আপনি যদি ইতিমধ্যে কোনও ফাইল ব্যবহার করছেন তবে আপনাকে অবশ্যই এই জিনিসগুলি এখানে রাখতে হবে .gitignore।.travis.ymlকোড ব্যবহার করার জন্য, পরীক্ষার জন্য বা দেখার জন্য প্রয়োজনীয় জিনিসগুলির প্রয়োজন নেই।CNAMEফাইলগুলি বা প্লেসহোল্ডারগুলির সাথে অবশ্যই আপনার রিলিজগুলি আবদ্ধ করার প্রয়োজন হয় না ।index.htmlgh-pagesnpm install, আমার কেবল এনপিএম এবং অন্য কোনও বাহ্যিক উত্সের উপর নির্ভর করা উচিত।মূলত, আপনার এনপিএম প্যাকেজটি বাইরে রাখার ইচ্ছা থাকলেও আপনার এনপিএম সংগ্রহস্থলের বাইরে না থাকলে আপনার কখনও ব্যবহার করা উচিত। এটি আইটেমের দীর্ঘ তালিকা নয়, বরং এনপিএম লোকেরা তাদের প্যাকেজে অপ্রাসঙ্গিক বস্তুতে আটকে থাকার চেয়ে কার্যকারিতা গড়ে তুলবে।
আমি ল্যান্টের সংক্ষিপ্ত এবং সিন্টেটিক উত্তর এবং স্যাম্টের বড় উত্তরের সাথে একমত :
এই উত্তরগুলিতে আমার অবদান:
.npmignore হয় কালোতালিকা প্যাকেজ ফাইল নির্বাচন অর্জন উপায়। তবে আরও ব্যবহারিক উপায়ে, আপনি আপনার প্যাকেজ.জসনের ফাইল ক্ষেত্র ব্যবহার করে আপনার প্যাকেজে অন্তর্ভুক্ত করার জন্য প্রয়োজনীয় ফাইলগুলিকে শ্বেত তালিকাতে রাখতে পারেন :
{
"files": [
"lib/",
"index.js"
]
}
আমি মনে করি এটি সহজ, ভবিষ্যতের প্রমাণ এবং আরও ভাল শব্দার্থবিজ্ঞান রয়েছে;)
npm testসমস্ত নোড_মডিউলগুলিতে একটি পুনরাবৃত্তি করলে কোনও নির্দিষ্ট পরিবেশে যদি কিছু আলাদা হয়ে থাকে তবে আপনাকে ইঙ্গিত দিতে পারে।
.npmignore। files: ["lib", "!lib/**/*.test.js"]। :)
কেবল স্পষ্ট করার জন্য, যে কোনও সময় npm install your-library, এনপিএম আপনার অন্তর্ভুক্ত ফাইলগুলি বাদে রেপোতে অন্তর্ভুক্ত সমস্ত উত্স ফাইলগুলি ডাউনলোড করবে .npmignore।
জেনে রাখুন যে আপনার গ্রন্থাগারটি ইনস্টল করছেন তাদের কেবল আপনার গ্রন্থাগার চলমান হবে, অন্য যে কোনও কিছুই প্রয়োজন হবে না।
উদাহরণস্বরূপ, যখন কোনও গ্রন্থাগার ইনস্টল করেন তখন সম্ভবত এটি আপনার .travis.ymlবা আপনার .jshintrcফাইলগুলি, এমনকি কিছু চিত্র, গ্রান্ট ফাইল, ডকুমেন্টেশন ইত্যাদির যত্ন নেয় না that
.npmignore আপনার এনপিএম প্যাকেজটি কম ফাইল থাকতে দেয় এবং দ্রুত ডাউনলোড হতে পারে
.npmignoreকরে বলার জন্য: ডাউনলোড করা বিষয়গুলিতে সরাসরি প্রভাব ফেলবে না , আপনি যখন এনএমপি প্রকাশ ও আপলোড করবেন তখন আপনার প্যাকেজে কী পড়বে তা প্রভাবিত করে । এটি পরোক্ষভাবে ডাউনলোড করার জন্য আরও ছোট ফাইল তৈরি করে।
আপনার পরীক্ষা অন্তর্ভুক্ত করবেন না। প্রায়শই পরীক্ষাগুলি আসল কোডবেজের আকারের 5x এর মতো হয়। যতক্ষণ না আপনার পরীক্ষাগুলি গিথুব ইত্যাদিতে থাকে ততক্ষণ যথেষ্ট।
তবে আপনাকে যা করা উচিত তা হ'ল আপনার এনপিএম প্যাকেজটির প্রকাশিত ফর্ম্যাটে পরীক্ষা করা । কিছু ধূমপান পরীক্ষা তৈরি করুন যা প্রকৃত কোডবেসে থাকে তবে পরীক্ষার স্যুটটির অংশ নয়।
আপনি এখানে আপনার প্যাকেজটি টার্বল্লিং করার পরে পরীক্ষার বিষয়ে পড়তে পারেন: https://github.com/ORESoftware/r2g
কীভাবে কোনও এনপিএম-এ প্রকাশ না করে `npm প্রকাশের ফলাফলটি পরীক্ষা করতে হয়?
npm install yourlibrary, উদাহরণস্বরূপ.travis.ymlএবং.jshintrc