TypeScript 6.0 ಬಂದಿದೆ

TypeScript 6.0 ಒಂದು ಪ್ರಮುಖ ಮೈಲಿಗಲ್ಲು. ಇದು JavaScript codebase ಮೇಲೆ ನಿರ್ಮಿಸಲಾದ ಅಂತಿಮ ಆವೃತ್ತಿಯಾಗಿದೆ. ಮುಂದಿನ ಆವೃತ್ತಿ, 7.0, Go-ಆಧಾರಿತ compiler ಗೆ ಬದಲಾಗಲಿದೆ.

ಈ ಬದಲಾವಣೆಯು ನಿಮ್ಮ ಪ್ರಾಜೆಕ್ಟ್‌ಗೆ ಬಹಳ ಮುಖ್ಯವಾಗಿದೆ. ನೀವು ಅಪ್‌ಗ್ರೇಡ್ ಮಾಡಲು ತುಂಬಾ ವಿಳಂಬ ಮಾಡಿದರೆ, ನೀವು ಸತತವಾಗಿ ಎರಡು ಮೈಗ್ರೇಷನ್‌ಗಳನ್ನು ಎದುರಿಸಬೇಕಾಗುತ್ತದೆ.

ನೀವು ಬಳಸಲೇಬೇಕಾದ ಹೊಸ ವೈಶಿಷ್ಟ್ಯಗಳು

• using ಕೀವರ್ಡ್: ಇದು ಡೇಟಾಬೇಸ್ ಕನೆಕ್ಷನ್‌ಗಳು ಅಥವಾ ಫೈಲ್ ಹ್ಯಾಂಡಲ್‌ಗಳಂತಹ ಸಂಪನ್ಮೂಲಗಳನ್ನು ನಿರ್ವಹಿಸುತ್ತದೆ. ಇದು ಮೆಮೊರಿಯನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಕ್ಲೀನ್ ಮಾಡುತ್ತದೆ. ಸೋರಿಕೆಯನ್ನು (leaks) ತಡೆಗಟ್ಟಲು ನೀವು ಇನ್ನು ಮುಂದೆ ಹೆಚ್ಚುವರಿ finally ಬ್ಲಾಕ್‌ಗಳ ಅಗತ್ಯವನ್ನು ಹೊಂದಿರುವುದಿಲ್ಲ.

• ಉತ್ತಮ method inference: ಫ್ಲೂಯೆಂಟ್ (fluent) APIಗಳಿಗಾಗಿ ನೀವು ಸ್ಪಷ್ಟವಾದ type annotations ಬರೆಯುವುದನ್ನು ನಿಲ್ಲಿಸಬಹುದು. TypeScript ಈಗ ನಿಮಗಾಗಿ ಸಂದರ್ಭವನ್ನು (context) ನಿರ್ವಹಿಸುತ್ತದೆ.

• Variadic tuple ಸುಧಾರಣೆಗಳು: ನೀವು ಈಗ tuple ನಲ್ಲಿ ಯಾವುದೇ ಸ್ಥಾನದಲ್ಲಿ types ಅನ್ನು spread ಮಾಡಬಹುದು. ಇದು ಸಂಕೀರ್ಣವಾದ function patterns ಬರೆಯುವುದನ್ನು ಸುಲಭಗೊಳಿಸುತ್ತದೆ.

ಕಾರ್ಯಕ್ಷಮತೆಯ ಲಾಭಗಳು

ಈ ಹೊಸ ಆವೃತ್ತಿಯು ವೇಗವಾಗಿದೆ. ದೊಡ್ಡ ಪ್ರಾಜೆಕ್ಟ್‌ಗಳು 40% ರಷ್ಟು ವೇಗವಾಗಿ rebuild ಆಗುವುದನ್ನು ಕಾಣುತ್ತವೆ. Compiler ಈಗ ಸ್ಮಾರ್ಟ್ dependency tracking ಅನ್ನು ಬಳಸುತ್ತದೆ. ಇದು ಕೇವಲ function body ಬದಲಾದಾಗ ಮಾತ್ರವಲ್ಲದೆ, signature ಬದಲಾದಾಗ ಮಾತ್ರ recompile ಮಾಡುತ್ತದೆ.

ಗಮನಿಸಬೇಕಾದ Breaking Changes

• Namespace merging: ನೀವು classes ಗಳೊಂದಿಗೆ namespaces ಅನ್ನು ವಿಲೀನಗೊಳಿಸುವಾಗ (merging) ಸ್ಪಷ್ಟವಾದ exports ಬಳಸಲೇಬೇಕು.

• ಕಟ್ಟುನಿಟ್ಟಾದ index signatures: ನೀವು ಇನ್ನು ಮುಂದೆ ಆಬ್ಜೆಕ್ಟ್‌ನಲ್ಲಿನ ಯಾವುದೇ properties ಅನ್ನು ಪ್ರವೇಶಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ. ಒಂದು property ಇಲ್ಲದಿದ್ದರೂ ಅದು ಇದೆ ಎಂದು ಭಾವಿಸುವುದರಿಂದ ಉಂಟಾಗುವ ಬಗ್‌ಗಳನ್ನು (bugs) ಇದು ತಡೆಯುತ್ತದೆ.

• Strict mode defaults: noUncheckedIndexedAccess ಫ್ಲಾಗ್ ಈಗ ಡಿಫಾಲ್ಟ್ ಆಗಿ ಆನ್ ಆಗಿದೆ. Array ಎಲಿಮೆಂಟ್‌ಗಳು null ಅಥವಾ undefined ಆಗಿವೆಯೇ ಎಂದು ನೀವು ಪರಿಶೀಲಿಸಬೇಕು.

ಮೈಗ್ರೇಷನ್ ತಂತ್ರ (Migration Strategy)

ಹೆಚ್ಚಿನ ಎರೆರ್‌ಗಳು (errors) ಕಂಡುಬಂದಲ್ಲಿ ಗಾಬರಿಯಾಗಬೇಡಿ. ಈ ಹಂತಗಳನ್ನು ಅನುಸರಿಸಿ:

  1. ಮೊದಲು ಎಲ್ಲಾ ಎರೆರ್‌ಗಳನ್ನು ನೋಡಲು noEmit ಫ್ಲಾಗ್‌ನೊಂದಿಗೆ compiler ಅನ್ನು ರನ್ ಮಾಡಿ.
  2. index signatures ಮತ್ತು null ಚೆಕ್‌ಗಳನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಸರಿಪಡಿಸಲು ಅಧಿಕೃತ codemods ಬಳಸಿ.
  3. Namespace ಸಮಸ್ಯೆಗಳನ್ನು ಮ್ಯಾನುಯಲ್ ಆಗಿ ಸರಿಪಡಿಸಿ.
  4. ನಿಮ್ಮ node_modules ಅನ್ನು ಪರಿಶೀಲಿಸಿ. ಕೆಲವು ಲೈಬ್ರರಿಗಳು ಇನ್ನೂ 6.0 ಅನ್ನು ಬೆಂಬಲಿಸದೇ ಇರಬಹುದು.

7.0 ರಲ್ಲಿ Go compiler ಗೆ ಬದಲಾಗುವುದರಿಂದ 10x ವೇಗವಾದ type checking ಲಭ್ಯವಾಗಲಿದೆ. ನಿಮ್ಮ codebase ಅನ್ನು ಭವಿಷ್ಯಕ್ಕಾಗಿ ಸಿದ್ಧಪಡಿಸಲು ಈಗಲೇ 6.0 ಗೆ ಬದಲಾಗಲು ಪ್ರಾರಂಭಿಸಿ.

ಮೂಲ (Source): https://dev.to/jsmanifest/typescript-60-released-the-last-javascript-based-version-new-features-breaking-changes-and-48a0