𝗡𝗼𝗱𝗲.𝗷𝘀 𝟮𝟰 𝗡𝗮𝘁𝗶𝘃𝗲 𝗧𝘆𝗽𝗲𝗦𝗰𝗿𝗶𝗽𝘁
Node.js 24 तुम्ही TypeScript वापरण्याची पद्धत बदलत आहे. आता तुम्ही कोणत्याही build step शिवाय production मध्ये .ts फाईल्स रन करू शकता.
हे runtime लोड वेळेत type annotations काढून टाकते. ते TypeScript ला annotated JavaScript म्हणून मानते आणि ते थेट कार्यान्वित (execute) करते. यामुळे transpilation किंवा bundling ची गरज उरत नाही.
हे का महत्त्वाचे आहे:
- तुम्हाला फक्त एकाच source of truth ची गरज आहे.
- तुम्ही dist directories व्यवस्थापित करण्याची गुंतागुंत कमी करता.
- तुमचे development environment अगदी production सारखेच असते.
हे कसे कार्य करते: module loader मूळ मजकूर (source text) मध्ये हस्तक्षेप करतो. तो interfaces, type annotations आणि type-only imports काढून टाकतो. उरलेले logic मानक V8 engine वर चालते. रूपांतरित केलेला कोड module cache मध्ये राहतो, त्यामुळे प्रत्येक module load साठी हे फक्त एकदाच घडते.
तुम्हाला माहित असणाऱ्या मर्यादा: हे तुमच्या build pipeline साठी पूर्णपणे पर्याय नाही. काही विशिष्ट कामांसाठी तुम्हाला अजूनही टूल्सची गरज पडेल.
- No type checking: हे runtime त्रुटी (errors) तपासत नाही. बग्स पकडण्यासाठी तुम्हाला तुमच्या CI pipeline मध्ये
tsc --noEmitचालवावे लागेल. - No path aliases: हे tsconfig.json path mappings ला सपोर्ट करत नाही.
- No decorators: प्रगत (Advanced) transformations साठी अजूनही esbuild सारख्या bundler ची आवश्यकता आहे.
- No runtime safety: काढून टाकलेले types एक्झिक्यूशनच्या वेळी कोणतीही सुरक्षा प्रदान करत नाहीत. डेटा व्हॅलिडेशनसाठी Zod सारख्या लायब्ररी वापरा.
याचा वापर कधी करावा: साध्या dependency graphs असलेल्या microservices साठी Native TypeScript उत्तम आहे. हे moving parts कमी करून deployment velocity वाढवते.
पारंपारिक builds कधी वापरावेत: जर तुम्हाला aggressive optimization, tree shaking किंवा minification हवे असेल, तर तुमचे सध्याचे pipeline कायम ठेवा. गुंतागुंतीच्या build requirements असलेल्या मोठ्या ॲप्लिकेशन्सना optimized JavaScript bundles कडून अधिक फायदा होईल.
हे कसे सेट करावे: तुमचे stack traces वाचनीय ठेवण्यासाठी, source maps flag वापरा.
Example command:
node --enable-source-maps src/server.ts
यामुळे तुम्ही तुमच्या मूळ TypeScript line numbers वापरून त्रुटी (errors) debug करू शकता.