𝗧𝘆𝗽𝗲𝗦𝗰𝗿𝗶𝗽𝘁 𝟲.𝟬 𝗕𝗿𝗲𝗮𝗸𝘀 𝗕𝘆 𝗗𝗲𝘀𝗶𝗴𝗻
TypeScript 6.0 வந்துவிட்டது, இது அனைத்தையும் மாற்றியமைக்கிறது. பதிப்பு 2.x-க்குப் பிறகு இந்த வெளியீடு மிக முக்கியமான மாற்றமாகும். நீங்கள் பழைய (legacy) அமைப்புகளைச் சார்ந்திருந்தால், உங்கள் அடுத்த build தோல்வியடைய வாய்ப்புள்ளது.
உங்கள் குறியீட்டை (code) பாதிக்கும் மூன்று முக்கிய மாற்றங்கள்:
- Strict mode இப்போது இயல்பாகவே (default) செயல்படும்.
- ES5 மற்றும் ES3 ஆதரவு நீக்கப்பட்டுவிட்டது.
- Module resolution இப்போது இயல்பாகவே ESNext-ஐக் கொள்ளும்.
இது ஏன் முக்கியமானது:
Strict Mode இதற்கு முன்பு, நீங்கள் தானாகவே strict mode-ஐத் தேர்ந்தெடுக்க வேண்டும். இப்போது, அதுவே தரநிலையாக (standard) உள்ளது. சுமார் 70% codebases உடனடியாக 'red builds' நிலையைச் சந்திக்கும். தொடக்கப்படாத properties, implicit any types மற்றும் சரிபார்க்கப்படாத null values ஆகியவற்றிற்காக நீங்கள் பிழைகளைச் சந்திக்க நேரிடும்.
ES5 Support நீக்கம் உங்கள் tsconfig.json-இல் இனி ES5 அல்லது ES3-ஐ இலக்காகக் கொள்ள முடியாது. புதிய இயல்புநிலை (default) ES2025 ஆகும். நீங்கள் பழைய உலாவிகளை (browsers) ஆதரிக்க வேண்டுமென்றால், உங்கள் pipeline-இல் Babel போன்ற ஒரு தனி கருவியைச் சேர்க்க வேண்டும்.
Module Resolution இயல்புநிலை இனி CommonJS அல்ல. அது இப்போது ESNext. உங்கள் Node.js திட்டம் implicit CommonJS செயல்பாட்டைச் சார்ந்திருந்தால், உங்கள் config-இல் module அமைப்பைத் தெளிவாக (explicitly) குறிப்பிட வேண்டும்.
உங்கள் pipeline பாதிக்கப்படாமல் எவ்வாறு மாற்றுவது (migrate):
உங்கள் config-ஐ ஆய்வு செய்யுங்கள் அமைப்புகளைத் தற்செயலாக விடாதீர்கள். மேம்படுத்துவதற்கு (upgrade) முன் உங்கள் tsconfig.json-இல் strict, target மற்றும் module ஆகியவற்றிற்குத் தெளிவான மதிப்புகளைச் சேர்க்கவும்.
உங்கள் பதிப்பைப் பூட்டுங்கள் உங்கள் package.json-இல் TypeScript பதிப்பைக் குறிப்பிட்டுக் கொள்ளுங்கள் (pin). 6.0-க்கு மாறுவதற்கு முன், உங்கள் தற்போதைய பதிப்பில் உங்கள் build-ஐச் சோதித்துப் பாருங்கள்.
ஒரு feature branch-ஐப் பயன்படுத்துங்கள் ஒரு புதிய branch-இல் TypeScript 6.0-ஐ நிறுவுங்கள். உங்கள் target-ஐ ES2025 ஆக மாற்றி, module வகையைத் தெளிவாக அமைக்கவும்.
பிழைகளைத் படிப்படியாகச் சரிசெய்யுங்கள் அனைத்துப் பிழைகளையும் காண, கோப்புகளை உருவாக்காமல் (without emitting files) compiler-ஐ இயக்கவும். முதலில் strictNullChecks மற்றும் implicit any பிழைகளில் கவனம் செலுத்துங்கள்.
அனைத்தையும் சோதியுங்கள் உங்கள் முழு test suite-ஐயும் இயக்கவும். TypeScript வகை பிழைகளைக் (type errors) கண்டறியும், ஆனால் புதிய கண்டிப்பான விதிகளால் ஏற்படும் தர்க்கப் பிழைகளை (logic errors) உங்கள் சோதனைகள் (tests) கண்டறியும்.
TypeScript 6.0 என்பது பதிப்பு 7.0-க்கான மறுசீரமைப்பிற்கு முந்தைய இறுதிப் படியாகும். பதிப்பு 7.0 ஒரு Go-native core-ஐப் பயன்படுத்தும். இதன் பொருள் பழைய பதிப்புகளுக்கான ஆதரவு (legacy support) முற்றிலும் மறைந்துவிடும்.
பிற்காலத்தில் சிக்கல்களைத் தவிர்க்க, இப்போதே உங்கள் codebase-ஐ நவீனப்படுத்துங்கள்.
ஆதாரம்: https://dev.to/davekurian/typescript-60-launches-strict-mode-by-default-and-drops-es5-support-n31