• बिना बंडलर के TypeScript लाइब्रेरी को आसानी से ESM/CJS में build करने वाला CLI टूल
  • Zod के इन-हाउस बिल्ड टूल के रूप में शुरू होकर, अब सभी TypeScript लाइब्रेरी के लिए एक सामान्य-purpose सार्वजनिक टूल के रूप में उपलब्ध
  • tsc (TypeScript compiler) का उपयोग करके extension rewrite, dual module build, exports auto-generate जैसे फीचर्स के साथ बिना बंडलर के भी production-grade build सपोर्ट देता है
  • तेज़ deployment और CI/CD automation के लिए उपयुक्त, और यदि library-type package (ESM/CJS का simultaneous publish) बनाना हो तो इसे तेज़ी से recommend किया जा सकता है
  • type declarations/exports/bin automation से maintenance/ deployment mistakes से बचाव में मदद मिलती है

प्रमुख विशेषताएँ और मुख्य फीचर्स

  • ड्युअल मॉड्यूल बिल्ड: ESM(.js) और CJS(.cjs) फाइलें एक साथ जनरेट होती हैं
  • बंडलर या अलग config की जरूरत नहीं: webpack, esbuild, rollup आदि के बिना चलता है, केवल package.json और tsconfig.json की ही आवश्यकता होती है
  • Entrypoint का declarative management: package.json#/zshy में entrypoint, subpath, wildcard आदि सीधे specify करें
  • exports ऑटो जनरेशन: बिल्ड के बाद package.json का "exports" फील्ड अपने-आप अपडेट हो जाता है
  • फाइल स्ट्रक्चर पर आज़ादी: src/out structure निश्चित नहीं होती, import extension भी फ्रीली इस्तेमाल कर सकते हैं
  • asset handling: JS के अलावा अन्य फाइलें भी स्वतः कॉपी होती हैं
  • .tsx support: tsconfig के अनुसार .js/.cjs/.mjs आदि में ट्रांसफॉर्म करती है
  • CLI support: bin entrypoint सेट करने पर package.json#/bin auto-generate होता है
  • धीमा हो सकता है: tsc के type check और transform पर फोकस होने से build speed से ज्यादा reliability/accuracy पर ध्यान रहता है

मुख्य ऑपरेशन का सिद्धांत और अलग पहचान

  • TypeScript Compiler API के जरिए extensions (.js/.cjs/.mjs) तथा import path का automatic rewrite होता है
  • entrypoint प्रति ESM/CJS फाइल, type declarations (.d.ts/.d.cts) साथ में generate होते हैं
  • CLI के लिए bin entrypoint support: zshy package.json#/bin में path स्वतः लिखता है, और shebang support भी करता है
  • फाइल स्ट्रक्चर स्वतंत्र, केवल tsconfig का outDir सेट करना पर्याप्त है
  • package.json#/exports build के समय auto-generate और overwrite किए जाते हैं

उन्नत फीचर्स और कम्पैटिबिलिटी

  • wildcard/subpath support: ./plugins/* जैसे path declare कर सकते हैं, वास्तविक src डायरेक्टरी के सभी subpath पर auto build होता है
  • tsconfig.json के अधिकांश options का पालन (कुछ module संबंधित options को CJS/ESM build में override किया जाता है)
  • import बिना extension वाले code की भी अनुमति (from "./utils" आदि), build में extension खुद ठीक हो जाता है
  • React Native/legacy environments भी flat build mode से support हो सकते हैं (build output पैकेज रूट पर, बिना exports के index.js से एक्सेस)
  • custom exports condition (sourceDialects) सपोर्ट: source condition आदि अतिरिक्त रूप से specify कर सकते हैं

प्रतिस्पर्धी टूल्स की तुलना में फायदे

  • tshy/tsup/tsdown आदि से अलग, अलग directory/ package stub बनाए बिना सभी build outputs को एक ही outDir में organize करता है
  • TypeScript official API का उपयोग, जिससे Node.js/ESM/CJS/TS के latest standard flow के साथ compatibility maximize होती है
  • अतिरिक्त config, bundler की जरूरत बिना केवल एक command से library-grade TypeScript package publish करना संभव

अभी कोई टिप्पणी नहीं है.

अभी कोई टिप्पणी नहीं है.