ಮಾರ್ಚ್ 2026 ರಲ್ಲಿ Vite 8 ಬಿಡುಗಡೆಯಾಗಲಿದೆ. ಇದು Rolldown ಎಂಬ Rust-ಆಧಾರಿತ ಬಂಡಲರ್ ಮತ್ತು Oxc ಎಂಬ ಹೊಸ ಪಾರ್ಸರ್/ಮಿನಿಫೈಯರ್ ಅನ್ನು ಒಳಗೊಂಡಿದ್ದು, ಅನೇಕ ನೈಜ ಪ್ರೊಜೆಕ್ಟ್ಗಳ ಫ್ರಂಟ್-ಎಂಡ್ ಬಿಲ್ಡ್ ಸಮಯವನ್ನು ಹತ್ತು ಪಟ್ಟು ಕಡಿಮೆ ಮಾಡುತ್ತದೆ. ಹಿಂದೆ 46 ಸೆಕೆಂಡುಗಳು ತೆಗೆದುಕೊಳ್ಳುತ್ತಿದ್ದ ಪರೀಕ್ಷೆಯಲ್ಲಿ, ಈಗ ಅದೇ ಕೋಡ್ 6 ಸೆಕೆಂಡುಗಳಲ್ಲಿ ಕಾಂಪೈಲ್ ಆಗುತ್ತದೆ. ಈ ಬದಲಾವಣೆಯು ಪ್ರತಿ ಡೆವಲಪರ್ನ ದಿನದ ಕೆಲಸದಿಂದ ಹಲವಾರು ನಿಮಿಷಗಳನ್ನು ಉಳಿಸಬಹುದು.
ವೇಗ ಏಕೆ ಮುಖ್ಯ
ಫ್ರಂಟ್-ಎಂಡ್ ತಂಡಗಳು ತಮ್ಮ ಸ್ಪ್ರಿಂಟ್ನ ಬಹುಪಾಲು ಸಮಯವನ್ನು ರೀಬಿಲ್ಡ್ಗಳು (rebuilds) ಮತ್ತು ಹಾಟ್-ಮಾಡ್ಯೂಲ್ ರಿಪ್ಲೇಸ್ಮೆಂಟ್ (hot-module replacement) ಗಾಗಿ ಕಳೆಯುತ್ತವೆ. ಒಮ್ಮೆ ಅರ್ಧ ನಿಮಿಷ ತೆಗೆದುಕೊಳ್ಳುತ್ತಿದ್ದ ಬಿಲ್ಡ್ ಒಂದು ನಿಮಿಷಕ್ಕೆ ವಿಸ್ತರಿಸಿದಾಗ, ಫೀಡ್ಬ್ಯಾಕ್ ಲೂಪ್ಗಳು ನಿಧಾನವಾಗುತ್ತವೆ ಮತ್ತು ಶಿಪ್ಪಿಂಗ್ ಪ್ರಕ್ರಿಯೆಯೂ ವಿಳಂಬವಾಗುತ್ತದೆ. ಹತ್ತು ಪಟ್ಟು ಕಡಿತವು ನೇರವಾಗಿ ವೇಗವಾದ ಇಟರೇಶನ್ (iteration), ಕಟ್ಟುನಿಟ್ಟಾದ ಟೆಸ್ಟಿಂಗ್ ಮತ್ತು ಮುಂಚಿತವಾದ ರಿಲೀಸ್ಗಳಿಗೆ ದಾರಿ ಮಾಡಿಕೊಡುತ್ತದೆ. ದೊಡ್ಡ ಕೋಡ್ಬೇಸ್ಗಳ ವಿಷಯಕ್ಕೆ ಬಂದರೆ—ಅಂದರೆ ಹತ್ತಾರು ಸಾವಿರ ಮಾಡ್ಯೂಲ್ಗಳು—ಉಳಿತ ಸಮಯವನ್ನು ವಾರಕ್ಕೆ ಹಲವಾರು ಗಂಟೆಗಳ ರೂಪದಲ್ಲಿ ಅಳೆಯಬಹುದು.
Vite 8 ರಲ್ಲಿ ಹೊಸದೇನು
- Rolldown – Rollup ಅನ್ನು ಬದಲಿಸುವ Rust-ಬರಹದ ಬಂಡಲರ್. Rust ನೇಟಿವ್ ಕೋಡ್ಗೆ ಕಾಂಪೈಲ್ ಆಗುವುದರಿಂದ, ಬಂಡಲಿಂಗ್ ಹಂತವು JavaScript-ಆಧಾರಿತ ಪರ್ಯಾಯಗಳಿಗಿಂತ ಹೆಚ್ಚು ವೇಗವಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ.
- Oxc – esbuild ಅನ್ನು ಬದಲಿಸುವ ಪಾರ್ಸರ್ ಮತ್ತು ಮಿನಿಫೈಯರ್. ಇದು ಕೂಡ ನೇಟಿವ್ ಬೈನರಿಯಾಗಿ ಬರುವುದರಿಂದ, JavaScript ಪಾರ್ಸಿಂಗ್ನ ಹೊರೆ (overhead) ಕಡಿಮೆಯಾಗುತ್ತದೆ.
- Native TypeScript path support – ಹೆಚ್ಚುವರಿ
vite-tsconfig-pathsಪ್ಲಗಿನ್ನ ಅಗತ್ಯವಿರುವುದಿಲ್ಲ; ಕನ್ಫಿಗರೇಶನ್ನಲ್ಲಿresolve.tsconfigPaths: trueಎಂದು ಸೆಟ್ ಮಾಡುವುದು ಸಾಕಾಗುತ್ತದೆ. - Full Bundle Mode – ಡೆವ್ ಸರ್ವರ್ (dev server) ಚಲಾಯಿಸುವಾಗಲೂ ಡೆವಲಪರ್ಗಳು ಪ್ರೊಡಕ್ಷನ್-ಶೈಲಿಯ ಬಂಡಲ್ ಅನ್ನು ಬಳಸಬಹುದು. ಈ ಮೋಡ್ ಡೆವ್-ಸರ್ವರ್ ಸ್ಟಾರ್ಟ್-ಅಪ್ ಸಮಯವನ್ನು ಮೂರು ಪಟ್ಟು ಕಡಿಮೆ ಮಾಡುತ್ತದೆ ಮತ್ತು ಫುಲ್ ಪೇಜ್ ರಿಲೋಡ್ಗಳನ್ನು ಸುಮಾರು 40% ವೇಗಗೊಳಿಸುತ್ತದೆ.
ಈ ಎಲ್ಲಾ ಅಂಶಗಳು ಒಂದೇ Rust toolchain ಮೇಲೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತವೆ, ಇದು ಡೆವಲಪ್ಮೆಂಟ್ ಮತ್ತು ಪ್ರೊಡಕ್ಷನ್ ನಡುವಿನ ವ್ಯತ್ಯಾಸವನ್ನು ಕಡಿಮೆ ಮಾಡುತ್ತದೆ. ಡೆವ್ ಸರ್ವರ್ ಅನ್ನು ಚಲಾಯಿಸುವ ಅದೇ ಕಾಂಪೈಲ್ಡ್ ಔಟ್ಪುಟ್ ಈಗ ಪ್ರೊಡಕ್ಷನ್ ಬಂಡಲ್ ಅನ್ನು ಪ್ರತಿಬಿಂಬಿಸುತ್ತದೆ, ಇದರಿಂದ "works on my machine" ಎಂಬ ಅನಿರೀಕ್ಷಿತ ಸಮಸ್ಯೆಗಳು ಕಡಿಮೆಯಾಗುತ್ತವೆ.
ಅಪ್ಗ್ರೇಡ್ ಮಾಡುವುದು ಹೇಗೆ
- Node version – Vite 8 ಗೆ Node 20.0.0 ಅಥವಾ ಅದಕ್ಕಿಂತ ಹೊಸ ವರ್ಷ ಬೇಕು.
- Vite package –
npm install vite@latest @vitejs/plugin-react@latestಎಂಬ ಕಮಾಂಡ್ ರನ್ ಮಾಡಿ. - Plugin cleanup –
vite-tsconfig-pathsಅನ್ನು ತೆಗೆದುಹಾಕಿ; ಅದರ ಬದಲಿಗೆresolve.tsconfigPaths: trueಬಳಸಿ. - Babel swap – ಅಪ್ಡೇಟ್ ಮಾಡಲಾದ
@vitejs/plugin-reactಈಗ Babel ಗೆ ಪರ್ಯಾಯವಾಗಿ ಸಣ್ಣ ಮತ್ತು ವೇಗವಾದ Oxc ಅನ್ನು ಬಳಸುತ್ತದೆ.
ನಿಮಗೆ Full Bundle Mode ಬೇಕಿದ್ದರೆ, ನಿಮ್ಮ ಡೆವ್ ಕನ್ಫಿಗರೇಶನ್ಗೆ ಈ ಫ್ಲಾಗ್ ಅನ್ನು ಸೇರಿಸಿ:
export default defineConfig({
dev: {
bundleMode: true,
},
});
Rolldown ಕಾಂಪ್ಯಾಟಿಬಿಲಿಟಿ ಲೇಯರ್ ಹೆಚ್ಚಿನ Rollup ಆಯ್ಕೆಗಳನ್ನು ಪ್ರತಿಬಿಂಬಿಸುತ್ತದೆ, ಆದ್ದರಿಂದ ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ಕನ್ಫಿಗರೇಶನ್ ಫೈಲ್ಗಳು ಸಾಮಾನ್ಯವಾಗಿ ಅಪ್ಗ್ರೇಡ್ ನಂತರವೂ ಬದಲಾಗದೆ ಉಳಿಯುತ್ತವೆ. ಈ ಹಂತಗಳ ನಂತರ ಯಶಸ್ವಿ ಬಿಲ್ಡ್ ಆಗುವುದು ಮೈಗ್ರೇಷನ್ ಪೂರ್ಣಗೊಂಡಿದೆ ಎಂಬುದರ ಸಂಕೇತವಾಗಿದೆ.
ದೊಡ್ಡ ಪ್ರಾಜೆಕ್ಟ್ಗಳ ಮೇಲೆ ಪರಿಣಾಮ
ಮೊನೊರೆಪೊಗಳು (monorepos) ಅಥವಾ ವ್ಯಾಪಕವಾದ ಥರ್ಡ್-ಪಾರ್ಟಿ ಲೈಬ್ರರಿಗಳನ್ನು ಹೊಂದಿರುವ ಅಪ್ಲಿಕೇಶನ್ಗಳಲ್ಲಿ, ಡೆವ್ ಸರ್ವರ್ ಹೆಚ್ಚಾಗಿ bottleneck ಆಗುತ್ತದೆ. Full Bundle Mode ನ ಮೂರು ಪಟ್ಟು ವೇಗದ ಸ್ಟಾರ್ಟ್-ಅಪ್ ಎಂದರೆ ಹೊಸ ಕಂಟ್ರಿಬ್ಯೂಟರ್ಗಳು ಅಲ್ಪ ಸಮಯದಲ್ಲಿ ಸ್ಥಳೀಯ ಪರಿಸರವನ್ನು (local environment) ಸಿದ್ಧಪಡಿಸಿಕೊಳ್ಳಬಹುದು ಎಂದರ್ಥ. 40% ವೇಗವಾದ ಫುಲ್ ರಿಲೋಡ್ಗಳು, ಬದಲಾವಣೆಗಳು ಅನೇಕ ಮಾಡ್ಯೂಲ್ಗಳನ್ನು ಒಳಗೊಂಡಿದ್ದರೂ ಸಹ "refresh-and-test" ಲೂಪ್ ಅನ್ನು ವೇಗವಾಗಿರಿಸುತ್ತವೆ.
ಬಂಡಲರ್ ಮತ್ತು ಪಾರ್ಸರ್ ನೇಟಿವ್ ಬೈನರಿಗಳಾಗಿರುವುದರಿಂದ, ಸಂಪೂರ್ಣ JavaScript ಸ್ಟ್ಯಾಕ್ ಗೆ ಹೋಲಿಸಿದರೆ ಆರಂಭಿಕ ಇನ್ಸ್ಟಾಲ್ ಗಾತ್ರ ಹೆಚ್ಚಾಗುತ್ತದೆ. ಡಿಸ್ಕ್ ಸ್ಪೇಸ್ ಮಿತಿಯಿರುವ CI ರನ್ನರ್ಗಳಿಗೆ ಸ್ವಲ್ಪ ಹೆಚ್ಚಿನ ಸ್ಟೋರೇಜ್ ಅಗತ್ಯವಿರಬಹುದು. ಹೆಚ್ಚುವರಿಯಾಗಿ, JavaScript ಇಂಟರ್ನಲ್ಸ್ ಮೇಲೆ ಅವಲಂಬಿತವಾಗಿರುವ ಕೆಲವು ವಿಶಿಷ್ಟ Rollup ಪ್ಲಗಿನ್ಗಳು ಅಸಮರ್ಪಕತೆಗಳನ್ನು (incompatibilities) ತೋರಿಸಬಹುದು, ಆದ್ದರಿಂದ ಅಪ್ಗ್ರೇಡ್ ನಂತರ ಸಂಕ್ಷಿಪ್ತ ಆಡಿಟ್ ಅಗತ್ಯವಿರಬಹುದು.
ಮುಂದೆ ಗಮನಿಸಬೇಕಾದವುಗಳು
- Community tooling – ಪ್ಲಗಿನ್ ಲೇಖಕರು Rust-ಕಾಂಪ್ಯಾಟಿಬಲ್ ವರ್ಷನ್ಗಳನ್ನು ಪ್ರಕಟಿಸಲು ಪ್ರಾರಂಭಿಸಿದ್ದಾರೆ. ಪರಿಸರ ವ್ಯವಸ್ಥೆಯ (ecosystem) ಮೇಲೆ ಕಣ್ಣಿಡುವುದು ಅನಿರೀಕ್ಷಿತ ಸಮಸ್ಯೆಗಳನ್ನು ತಪ್ಪಿಸಲು ಸಹಾಯ ಮಾಡುತ್ತದೆ.
- Performance metrics – ಆರಂಭಿಕ ಬಳಕೆದಾರರು ಬೆಂಚ್ಮಾರ್ಕ್ ಸೂಟ್ಗಳನ್ನು ಪೋಸ್ಟ್ ಮಾಡುತ್ತಿದ್ದಾರೆ. ಆ ಅಂಕಿಅಂಶಗಳನ್ನು ನಿಮ್ಮ ರೆಪೊದೊಂದಿಗೆ ಹೋಲಿಸುವುದರಿಂದ, ಜಾಹೀರಾತು ಮಾಡಲಾದ ಹತ್ತುದಿಂದ ಮೂವತ್ತು ಪಟ್ಟು ಲಾಭವು ನಿಮ್ಮ ನಿರ್ದಿಷ್ಟ ಕೆಲಸದ ಮೇಲೆ ಅನ್ವಯವಾಗುತ್ತದೆಯೇ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಬಹುದು.
- Future Vite releases – ಬಂಡಲಿಂಗ್ಗಿಂತಲೂ ಹೆಚ್ಚಿನ ಮಟ್ಟದ Rust ಇಂಟಿಗ್ರೇಶನ್ ಬಗ್ಗೆ ತಂಡವು ಸೂಚನೆ ನೀಡಿದೆ, ಇದು ಡೆವ್ ಮತ್ತು ಪ್ರೊಡಕ್ಷನ್ ನಡುವಿನ ಅಂತರವನ್ನು ಮತ್ತಷ್ಟು ಕಡಿಮೆ ಮಾಡಬಹುದು.
ಸಾರಾಂಶ
Vite 8 ನ Rust-ಆಧಾರಿತ ಕೋರ್, ಫ್ರಂಟ್-ಎಂಡ್ ಡೆವಲಪ್ಮೆಂಟ್ನ ದೈನಂದಿನ ಲಯವನ್ನು ಬದಲಿಸುವಂತಹ ಗಮನಾರ್ಹ ವೇಗವನ್ನು ನೀಡುತ್ತದೆ. ನಿಧಾನಗತಿಯ ರೀಬಿಲ್ಡ್ಗಳೊಂದಿಗೆ ಹೋರಾಡುತ್ತಿರುವ ತಂಡಗಳಿಗೆ, ಅಪ್ಗ್ರೇಡ್ ಮಾಡುವುದು ಸರಳವಾಗಿದೆ ಮತ್ತು ಇದರ ಕಾರ್ಯಕ್ಷಮತೆಯ ಲಾಭ ತಕ್ಷಣವೇ ಸಿಗುತ್ತದೆ. ದೊಡ್ಡ ಬೈನರಿಗಳು ಮತ್ತು ಸಂಕ್ಷಿಪ್ತ ಪ್ಲಗಿನ್ ಆಡಿಟ್ನಂತಹ ಸಣ್ಣ ಮೌಲ್ಯದ ಬದಲಾವಣೆಗಳು, ಪ್ರತಿ ಬಿಲ್ಡ್ನಲ್ಲಿ ಉಳಿತಾಯವಾಗುವ ಸಮಯಕ್ಕೆ ಹೋಲಿಸಿದರೆ ಬಹಳ ಕಡಿಮೆ. ನಿಮ್ಮ ಪ್ರಾಜೆಕ್ಟ್ನ ಬಿಲ್ಡ್ ಸಮಯ ಇನ್ನೂ ವಿಳಂಬವಾಗುತ್ತಿದೆ ಎನಿಸಿದರೆ, Vite 8 ಗೆ ಬದಲಾಗುವುದು ನಿಮ್ಮ ಕೆಲಸದ ಪ್ರಕ್ರಿಯೆಯನ್ನು ಸುಗಮಗೊಳಿಸುವ ಒಂದು ಪ್ರಾಯೋಗಿಕ ಮಾರ್ಗವಾಗಿದೆ.
