𝗧𝘆𝗽𝗲𝗦𝗰𝗿𝗶𝗽𝘁 𝟲.𝟬 𝗜𝗻𝗮𝘃𝘂𝗻𝗷𝗮 𝗠𝗮𝗺𝗯𝗼 Kwa 𝗠𝗮𝗸𝘂𝘀𝘂𝗱𝗶
TypeScript 6.0 imewasili na inabadilisha kila kitu. Toleo hili ni mabadiliko makubwa zaidi tangu toleo la 2.x. Ikiwa unategemea mipangilio ya zamani (legacy settings), ujenzi (build) wako ujao unaweza kushindwa.
Mabadiliko makuu matatu yataharibu kodi yako:
- Strict mode sasa imewashwa kwa kutoa chaguo (by default).
- Usaidizi wa ES5 na ES3 umeondolewa.
- Module resolution sasa inatumia ESNext kama chaguo la kwanza.
Kwa nini hii ni muhimu:
Strict Mode
Hapo awali, ilibidi uichague (opt in) strict mode. Sasa, imekuwa kiwango cha kawaida. Takriban 70% ya codebase itaona makosa (red builds) mara moja. Utakumbana na makosa ya sifa ambazo hazijawekwa thamani (uninitialized properties), aina za implicit any, na thamani za null ambazo hazijakaguliwa.
Kuondolewa kwa Usaidizi wa ES5
Huwezi tena kulenga ES5 au ES3 kwenye tsconfig.json yako. Chaguo jipya la kwanza ni ES2025. Ikiwa unahitaji kusaidia vivinjari (browsers) vya zamani, lazima uongeze zana tofauti kama Babel kwenye mchakato wako (pipeline).
Module Resolution Chaguo la kwanza si CommonJS tena. Sasa ni ESNext. Ikiwa mradi wako wa Node.js unategemea tabia ya CommonJS, lazima uweke mipangilio ya module waziwazi kwenye config yako.
Jinsi ya kuhama bila kuharibu mchakato wako (pipeline):
Audit your config Usiache mipangilio iende kwa bahati mbaya. Ongeza thamani waziwazi kwa
strict,target, namodulekwenyetsconfig.jsonyako kabla ya kuhuisha (upgrade).Lock your version Weka toleo lako la TypeScript kwenye
package.json. Jaribu ujenzi (build) wako wa sasa kwenye toleo ulilonalo kabla ya kuhamia 6.0.Use a feature branch Sakinisha TypeScript 6.0 kwenye branch mpya. Sasisha
targetyako kuwa ES2025 na uweke aina ya module yako kwa uwazi.Fix types incrementally Endesha compiler bila kutoa (emitting) faili ili kuona makosa yote. Lenga makosa ya
strictNullChecksnaimplicit anykwanza.Test everything Endesha seti yako nzima ya majaribio (test suite). TypeScript hukamata makosa ya aina (type errors), lakini majaribio yako hukamata makosa ya mantiki (logic errors) yanayosababishwa na ukali mpya.
TypeScript 6.0 ni hatua ya mwisho kabla ya kuandikwa upya kwa toleo la 7.0. Toleo la 7.0 litatumia kiini cha Go-native. Hii ina maana kwamba usaidizi wa mifumo ya zamani (legacy support) utatoweka kabisa.
Sasisha codebase yako sasa ili kuepuka mgogoro baadaye.
Chanzo: https://dev.to/davekurian/typescript-60-launches-strict-mode-by-default-and-drops-es5-support-n31