𝗧𝘆𝗽𝗲𝗦𝗰𝗿𝗶𝗽𝘁 𝟲.𝟬 𝗕𝗿𝗲𝗮𝗸𝘀 𝗕𝘆 𝗗𝗲𝘀𝗶𝗴𝗻
TypeScript 6.0 ಈಗ ಬಂದಿದೆ ಮತ್ತು ಇದು ಎಲ್ಲವನ್ನೂ ಬದಲಾಯಿಸುತ್ತದೆ. ಈ ಬಿಡುಗಡೆಯು version 2.x ನಂತರದ ಅತ್ಯಂತ ಮಹತ್ವದ ಬದಲಾವಣೆಯಾಗಿದೆ. ನೀವು ಹಳೆಯ (legacy) ಸೆಟ್ಟಿಂಗ್ಗಳ ಮೇಲೆ ಅವಲಂಬಿತರಾಗಿದ್ದರೆ, ನಿಮ್ಮ ಮುಂದಿನ ಬಿಲ್ಡ್ ವಿಫಲವಾಗುವ ಸಾಧ್ಯತೆಯಿದೆ.
ನಿಮ್ಮ ಕೋಡ್ ಅನ್ನು ಅಡ್ಡಿಪಡಿಸುವ ಮೂರು ಪ್ರಮುಖ ಬದಲಾವಣೆಗಳು ಇಲ್ಲಿವೆ:
- Strict mode ಈಗ ಡಿಫಾಲ್ಟ್ ಆಗಿ ಆನ್ ಆಗಿದೆ.
- ES5 ಮತ್ತು ES3 ಬೆಂಬಲವನ್ನು ತೆಗೆದುಹಾಕಲಾಗಿದೆ.
- Module resolution ಈಗ ESNext ಗೆ ಡಿಫಾಲ್ಟ್ ಆಗಿದೆ.
ಇದು ಏಕೆ ಮುಖ್ಯ:
Strict Mode ಈ ಮೊದಲು, ನೀವು strict mode ಅನ್ನು ಸ್ವತಃ ಆರಿಸಿಕೊಳ್ಳಬೇಕಿತ್ತು. ಈಗ, ಇದು ಪ್ರಮಾಣಿತವಾಗಿದೆ (standard). ಸುಮಾರು 70% ಕೋಡ್ಬೇಸ್ಗಳು ತಕ್ಷಣವೇ 'red builds' ಅನ್ನು ಕಾಣಬಹುದು. ಅನ್ಇನಿಶಿಯಲೈಸ್ಡ್ ಪ್ರಾಪರ್ಟೀಸ್ (uninitialized properties), ಇಂಪ್ಲಿಸಿಟ್ 'any' ಟೈಪ್ಗಳು ಮತ್ತು ಅನ್ಚೆಕ್ ಮಾಡದ null ಮೌಲ್ಯಗಳಿಗಾಗಿ ನೀವು ಎರ್ರರ್ಗಳನ್ನು ಎದುರಿಸಬೇಕಾಗುತ್ತದೆ.
ES5 Support Removal ನೀವು ಇನ್ನು ಮುಂದೆ ನಿಮ್ಮ tsconfig.json ನಲ್ಲಿ ES5 ಅಥವಾ ES3 ಅನ್ನು ಟಾರ್ಗೆಟ್ ಮಾಡಲು ಸಾಧ್ಯವಿಲ್ಲ. ಹೊಸ ಡಿಫಾಲ್ಟ್ ES2025 ಆಗಿದೆ. ನೀವು ಹಳೆಯ ಬ್ರೌಸರ್ಗಳಿಗೆ ಬೆಂಬಲ ನೀಡಬೇಕಿದ್ದರೆ, ನಿಮ್ಮ ಪೈಪ್ಲೈನ್ಗೆ Babel ನಂತಹ ಪ್ರತ್ಯೇಕ ಪರಿಕರವನ್ನು (tool) ಸೇರಿಸಲೇಬೇಕು.
Module Resolution ಡಿಫಾಲ್ಟ್ ಈಗ CommonJS ಅಲ್ಲ. ಇದು ಈಗ ESNext ಆಗಿದೆ. ನಿಮ್ಮ Node.js ಪ್ರಾಜೆಕ್ಟ್ ಇಂಪ್ಲಿಸಿಟ್ CommonJS ವರ್ತನೆಯನ್ನು ಅವಲಂಬಿಸಿದ್ದರೆ, ನೀವು ನಿಮ್ಮ ಕಾನ್ಫಿಗರೇಶನ್ನಲ್ಲಿ module ಸೆಟ್ಟಿಂಗ್ ಅನ್ನು ಸ್ಪಷ್ಟವಾಗಿ (explicitly) ಹೊಂದಿಸಬೇಕಾಗುತ್ತದೆ.
ನಿಮ್ಮ ಪೈಪ್ಲೈನ್ ಅಡಚಣೆಯಾಗದಂತೆ ಹೇಗೆ ಮೈಗ್ರೇಟ್ ಮಾಡುವುದು:
ನಿಮ್ಮ ಕಾನ್ಫಿಗರೇಶನ್ ಅನ್ನು ಆಡಿಟ್ ಮಾಡಿ ಸೆಟ್ಟಿಂಗ್ಗಳನ್ನು ಅನಿಶ್ಚಿತತೆಗೆ ಬಿಡಬೇಡಿ. ಅಪ್ಗ್ರೇಡ್ ಮಾಡುವ ಮೊದಲು ನಿಮ್ಮ tsconfig.json ನಲ್ಲಿ strict, target, ಮತ್ತು module ಗಾಗಿ ಸ್ಪಷ್ಟವಾದ ಮೌಲ್ಯಗಳನ್ನು ಸೇರಿಸಿ.
ನಿಮ್ಮ ವರ್ಷನ್ ಅನ್ನು ಲಾಕ್ ಮಾಡಿ ನಿಮ್ಮ package.json ನಲ್ಲಿ TypeScript ವರ್ಷನ್ ಅನ್ನು ಫಿಕ್ಸ್ ಮಾಡಿ. 6.0 ಗೆ ಹೋಗುವ ಮೊದಲು ನಿಮ್ಮ ಪ್ರಸ್ತುತ ಬಿಲ್ಡ್ ಅನ್ನು ಈಗಿರುವ ವರ್ಷನ್ನಲ್ಲಿ ಪರೀಕ್ಷಿಸಿ.
ಫೀಚರ್ ಬ್ರಾಂಚ್ ಬಳಸಿ ಹೊಸ ಬ್ರಾಂಚ್ನಲ್ಲಿ TypeScript 6.0 ಅನ್ನು ಇನ್ಸ್ಟಾಲ್ ಮಾಡಿ. ನಿಮ್ಮ target ಅನ್ನು ES2025 ಗೆ ಅಪ್ಡೇಟ್ ಮಾಡಿ ಮತ್ತು ನಿಮ್ಮ module ಪ್ರಕಾರವನ್ನು ಸ್ಪಷ್ಟವಾಗಿ ಸೆಟ್ ಮಾಡಿ.
ಟೈಪ್ಗಳನ್ನು ಹಂತ ಹಂತವಾಗಿ ಸರಿಪಡಿಸಿ ಎಲ್ಲಾ ಎರ್ರರ್ಗಳನ್ನು ನೋಡಲು ಫೈಲ್ಗಳನ್ನು ಎಮಿಟ್ (emit) ಮಾಡದೆ ಕಾಂಪೈಲರ್ ಅನ್ನು ರನ್ ಮಾಡಿ. ಮೊದಲು strictNullChecks ಮತ್ತು ಇಂಪ್ಲಿಸಿಟ್ 'any' ಎರ್ರರ್ಗಳ ಮೇಲೆ ಗಮನ ಹರಿಸಿ.
ಎಲ್ಲವನ್ನೂ ಪರೀಕ್ಷಿಸಿ ನಿಮ್ಮ ಪೂರ್ಣ ಟೆಸ್ಟ್ ಸೂಟ್ ಅನ್ನು ರನ್ ಮಾಡಿ. TypeScript ಟೈಪ್ ಎರ್ರರ್ಗಳನ್ನು ಹಿಡಿಯುತ್ತದೆ, ಆದರೆ ನಿಮ್ಮ ಟೆಸ್ಟ್ಗಳು ಹೊಸ ಕಟ್ಟುನಿಟ್ಟಿನ ನಿಯಮಗಳಿಂದ ಉಂಟಾಗುವ ಲಾಜಿಕ್ ಎರ್ರರ್ಗಳನ್ನು ಹಿಡಿಯುತ್ತವೆ.
TypeScript 6.0 ಎಂಬುದು version 7.0 ರ ಬೃಹತ್ ಬದಲಾವಣೆಯ (rewrite) ಮೊದಲಿಗಿನ ಅಂತಿಮ ಹಂತವಾಗಿದೆ. Version 7.0 ಒಂದು Go-native ಕೋರ್ ಅನ್ನು ಬಳಸುತ್ತದೆ. ಇದರರ್ಥ ಹಳೆಯ (legacy) ಬೆಂಬಲವು ಸಂಪೂರ್ಣವಾಗಿ ಮಾಯವಾಗುತ್ತದೆ.
ನಂತರದ ಬಿಕ್ಕಟ್ಟನ್ನು ತಪ್ಪಿಸಲು ಈಗಲೇ ನಿಮ್ಮ ಕೋಡ್ಬೇಸ್ ಅನ್ನು ಆಧುನೀಕರಿಸಿ.
ಮೂಲ: https://dev.to/davekurian/typescript-60-launches-strict-mode-by-default-and-drops-es5-support-n31