TypeScript 6.0 නව --noEmit විකල්පය නිසා, සංවර්ධකයින්ට දැන් තේරුම්ගත හැකි වෙනස්කමක් ඇතිවී තිබේ – තර්ක පරීක්ෂණය සහ කේත නිරූපණය වෙන වෙනම කළ හැකිවීම.
සාමාන්ය CI පද්ධතියේ, tsc නියෝගය TypeScript කේතය JavaScript වෙත පරිවර්තනය කර, පසුපස webpack හෝ Rollup මගින් බන්ඩ් කරයි. මේ ක්රමය සමාන්යයෙන් 2‑4 මිනිත්තු ගත කරයි, ඒ අතර තර්ක පරීක්ෂණය ඉතිරි වේගවත් මෙවලම්වලට බාධා වේ.
--noEmit ක්රියාත්මක කළ විට, tsc තර්ක පරීක්ෂණය පමණක් කරයි, කිසිදු ගොනුවක් ලියන්නේ නැත. ඒ නිසා ඔබේ CI පද්ධතිය esbuild හෝ swc වැනි වේගවත් ට්රාන්ස්පයිලර් සමඟ සමකාලීනව ක්රියා කර ගත හැක. ප්රතිඵලය 60‑80% වේගවත් බිල්ඩ් එකක්, තර්ක ආරක්ෂාව අඩුවන්නේ නැත.
ශ්රී ලංකාවට ඇති වැදගත්කම
ශ්රී ලංකාවේ තාක්ෂණික ශිෂ්යත්වය හා සමාගම් සඳහා මේ වෙනස ගැඹුරු ප්රතිඵලයක් දෙනු ඇත:
- වේගවත් CI/CD: තර්ක පරීක්ෂණය සහ ට්රාන්ස්පයිලර් එකම වේලාවෙදී ක්රියා කර, නිකුත් කිරීමේ කාලය අඩු වේ. මෙය ස්ථාපිත වෙළඳපොළට වේගවත් ප්රතිචාරයක් ලබා දෙයි.
- වැඩි නිෂ්පාදන කාර්යක්ෂමතාව: සංවර්ධකයින්ට
tsc --noEmitපරීක්ෂණය පරීක්ෂා කරන අතර, esbuild වැනි මෙවලම් තත්කාලික JavaScript උත්පාදනය කරයි. එමනිසා කේත ලිවීමේදී බාධාවක් නොමැතිව වැඩ කළ හැක. - ලයිබ්රරී නිර්මාණය සරලව: npm වෙත ප්රකාශන කරන ලයිබ්රරී සඳහා .d.ts ගොනු අවශ්යයි, ඒ සඳහා තවමත්
tscභාවිතා කරයි, නමුත් යෙදුම් කේතයට එය අවශ්ය නැත.
අදාලව, TypeScript 6.0 හි moduleResolution: "bundler" සැකසුමත්, බන්ඩ්ලර් විසින් ආයාත නිරූපණය කළ හැකි බව නිර්දේශ කරයි. මෙය සංවර්ධකයින්ට වැරදි import ගැටලු වලින් මුක්ති ලබා දේ.
ඉදිරියට, සංස්ථා මට්ටමේ CI පද්ධතියක් tsc --noEmit සමඟ esbuild හෝ swc එකතු කර, තර්ක දෝෂ හඳුනා ගැනීමේ වේගය ඉහළ ගෙන යා හැක. මෙය නිෂ්පාදන කේතයේ TypeScript කම්පයිලරය භාවිතා නොකර, පූර්ණයෙන්ම බන්ඩ්ලර් මත රඳා සිටීමේ අලුත් පරිකථනයකි.
සාරාංශයෙන්, TypeScript 6.0 නව --noEmit විකල්පය CI පද්ධතිවල කාර්යක්ෂමතාවය ඉහළ ගෙන යාමට, ශ්රී ලංකාවේ තාක්ෂණික ආරම්භකයන්ට වේගවත්, විශ්වාසනීය නිෂ්පාදන පරිසරයක් සපයයි.