𝗧𝘆𝗽𝗲𝗦𝗰𝗿𝗶𝗽𝘁 𝟲.𝟬 𝗜𝗻𝗮𝘃𝘂𝗻𝗷𝗮 𝗠𝗮𝗺𝗯𝗼 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:

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):

  1. Audit your config Usiache mipangilio iende kwa bahati mbaya. Ongeza thamani waziwazi kwa strict, target, na module kwenye tsconfig.json yako kabla ya kuhuisha (upgrade).

  2. 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.

  3. Use a feature branch Sakinisha TypeScript 6.0 kwenye branch mpya. Sasisha target yako kuwa ES2025 na uweke aina ya module yako kwa uwazi.

  4. Fix types incrementally Endesha compiler bila kutoa (emitting) faili ili kuona makosa yote. Lenga makosa ya strictNullChecks na implicit any kwanza.

  5. 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