मोनोरेपो में वृद्धिशील बिल्ड और कैश
वृद्धिशील संकलन और Turborepo से बिल्ड समय को अनुकूलित करें
मोनोरेपो में वृद्धिशील बिल्ड और कैश, CoddyKit पर TypeScript Academy का एक निःशुल्क पाठ है। यह 4 में से 4वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह TypeScript Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। TypeScript Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
क्रमिक निर्माण क्यों महत्वपूर्ण हैं
बड़े मोनोरेपो में हर बदलाव पर हर पैकेज का पुनर्निर्माण धीमा होता है। क्रमिक निर्माण यह पता लगाते हैं कि क्या बदला है और केवल प्रभावित पैकेजों को फिर से संकलित करते हैं।
# Without incremental: all 20 packages rebuild every time
# With incremental: only 2 changed packages rebuildTypeScript क्रमिक मोड
पिछली निर्माण-अवस्था को तेज़ी से दोबारा चलाने के लिए कैश करने वाली .tsbuildinfo फ़ाइल बनाने हेतु tsconfig में "incremental": true सक्षम करें।
{
"compilerOptions": {
"incremental": true,
"tsBuildInfoFile": "./.tsbuildinfo"
}
}परियोजना संदर्भों के लिए tsc --build
परियोजना संदर्भ वाले कार्यक्षेत्रों के लिए tsc --build स्वभावतः क्रमिक होता है—यह समय-मुहरों को ट्रैक करता है और अद्यतन पैकेजों को छोड़ देता है।
# First build: all packages compiled
tsc --build
# Second build: only changed packages compiled
tsc --build
# [12:00:01 PM] Project 'packages/core' is up to dateTurborepo कैशिंग
Turborepo कार्यों के आउटपुट, जैसे dist/, को कैश करता है और अपरिवर्तित इनपुट होने पर उन्हें कैश से पुनर्स्थापित करता है—रिमोट कैश के माध्यम से पूरी टीम में।
// turbo.json
{
"pipeline": {
"build": {
"dependsOn": ["^build"],
"outputs": ["dist/**", ".tsbuildinfo"]
}
}
}Turborepo के साथ रिमोट कैशिंग
निर्माण कैश को सतत एकीकरण मशीनों और टीम सदस्यों के बीच साझा करें, ताकि किसी को वह चीज़ फिर से न बनानी पड़े जिसे कोई और पहले ही बना चुका है।
# Link to Vercel remote cache
npx turbo login
npx turbo linkNx गणना कैश
Nx परियोजना निर्भरता ग्राफ़ के आधार पर प्रभावित परियोजनाओं का सूक्ष्म विश्लेषण करके इसी तरह की कैशिंग सुविधा देता है।
# Nx: only test affected projects
npx nx affected --target=test --base=mainकैश के इनपुट और आउटपुट
सही कैशिंग के लिए अपने निर्माण उपकरण के विन्यास में सभी इनपुट, जैसे स्रोत फ़ाइलें और पर्यावरण चर, तथा आउटपुट, जैसे dist निर्देशिकाएँ और tsbuildinfo, घोषित करें।
// turbo.json with inputs
{
"pipeline": {
"build": {
"inputs": ["src/**", "tsconfig.json"],
"outputs": ["dist/**"]
}
}
}कैश अमान्य करना
इनपुट बदलने पर कैश अमान्य हो जाते हैं। अनावश्यक पुनर्निर्माण से बचने के लिए अस्थिर फ़ाइलों, जैसे लॉग या समय-मुहरों, को इनपुट में शामिल न करें।
# Force rebuild even if cached
turbo run build --forceसतत एकीकरण
सतत एकीकरण (GitHub Actions, CircleCI) को रिमोट कैश से जोड़ें, ताकि PR निर्माण पिछले निर्माण अवशेषों का पुनः उपयोग करके तेज़ हों।
# .github/workflows/ci.yml
- name: Build
run: npx turbo build
env:
TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }}
TURBO_TEAM: my-teamकेवल क्रमिक प्रकार-जाँच
तेज़, केवल-प्रकार-जाँच वाले सतत एकीकरण चरणों के लिए tsc --noEmit --incremental का उपयोग करें। यह आउटपुट निर्माण छोड़ देता है, फिर भी कैशिंग का लाभ देता है।
npx tsc --noEmit --incremental
# Quick type check with .tsbuildinfo cacheपुनरावलोकन: क्रमिक निर्माण
मोनोरेपो में क्रमिक निर्माण, हर बदलाव पर संकलन-कार्य को न्यूनतम करने के लिए TypeScript के tsBuildInfo और tsc --build को Turborepo या Nx कैशिंग के साथ मिलाकर उपयोग करते हैं।
त्वरित जाँच
क्रमिक निर्माण सक्षम करने के लिए TypeScript कौन-सी फ़ाइल बनाता है?
आपने क्या सीखा
क्रमिक निर्माण अपरिवर्तित पैकेजों को छोड़ने के लिए TypeScript की .tsbuildinfo फ़ाइल और tsc --build का उपयोग करते हैं। Turborepo और Nx पूरे मोनोरेपो में रिमोट कैशिंग और केवल प्रभावित परियोजनाओं के विश्लेषण से इसे और विस्तृत करते हैं।
एआई शिक्षक के साथ TypeScript सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 101
- पाठ
- 352
अक्सर पूछे जाने वाले प्रश्न
क्या “मोनोरेपो में वृद्धिशील बिल्ड और कैश” पाठ निःशुल्क है?
हाँ—“मोनोरेपो में वृद्धिशील बिल्ड और कैश” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और TypeScript Academy पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। TypeScript Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“मोनोरेपो में वृद्धिशील बिल्ड और कैश” में मैं क्या सीखूँगा?
वृद्धिशील संकलन और Turborepo से बिल्ड समय को अनुकूलित करें आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ TypeScript Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या TypeScript Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर TypeScript Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 4वाँ पाठ है।
“मोनोरेपो में वृद्धिशील बिल्ड और कैश” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस TypeScript Academy पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर TypeScript Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- TypeScript प्रोजेक्ट रेफ़रेंस समझाए गए
- TypeScript के साथ pnpm वर्कस्पेस
- साझा प्रकार पैकेज की रणनीति
- मोनोरेपो में वृद्धिशील बिल्ड और कैश