The JavaScript toolchain is getting a full Rust rewrite, one piece at a time. Oxc is doing the most ambitious version. Oxc (The JavaScript Oxidation Compiler) is a collection of high-performance tools for JavaScript and TypeScript, all written in Rust and designed to share the same parser and AST: → Parser: fastest JS/TS parser available, 3–5x faster than SWC → Linter (oxlint): replaces ESLint, runs in parallel, 50–100x faster → Resolver: module resolution for bundlers → Transformer: replaces Babel for most transforms → Minifier: in progress, targeting terser replacement The key design decision: all tools share one AST. Parse once, lint + transform + analyze in the same pass. No redundant parsing across your build pipeline. oxlint is already production-ready and ships as a standalone binary. You can run it alongside ESLint today, it's designed to catch the 90% of rules that matter in milliseconds, letting you keep complex custom ESLint rules only where needed. Vite 6 integrated Oxc's resolver. Rolldown (the Rust Rollup rewrite) uses Oxc's parser. The whole bundler ecosystem is converging on it. 🔗 npx oxlint@latest 📂 https://lnkd.in/d3yxBVUC 📖 https://oxc.rs #JavaScript #TypeScript #Rust #Oxc #OpenSource
Rust Rewrite of JavaScript Toolchain Underway with Oxc
More Relevant Posts
-
TypeScript's type system is the one I've enjoyed working with since day one. Not because it's the safest or the most strict. It's neither, actually. `any` breaks every guarantee, the compiler trusts your type assertions blindly, some rules it just doesn't enforce. But it lets me do something I haven't seen elsewhere: take a type, iterate over its keys, remap values, filter by condition, drop fields — all at the type level, before a single line runs. Less annotation, more like a query language for shapes. Most type systems tell you what things are. TypeScript also lets you express how one type becomes another. And it was built on top of JavaScript — a language where any value can be anything at runtime. The type system had to be flexible enough to describe that mess. Turns out, that's what made it powerful. The type system built for the messiest language ended up being the most interesting one to work with. What’s your favorite type-level trick in your language? #TypeScript #Programming #SoftwareEngineering #DeveloperExperience #JavaScript
To view or add a comment, sign in
-
-
In 2026, JavaScript tooling is no longer written in JavaScript. Vite's bundler is Rust. TypeScript's compiler is being rewritten in Go. Biome (the linter replacing ESLint) is Rust. Tailwind's engine is Rust. Your test runner (Vitest) is the only tool still in JS -- and it runs on Vite's Rust infrastructure. The tools that build your JavaScript have left JavaScript behind. Here's the full landscape -- what's winning, what's dying, and what just shipped. Which tool switch made the biggest difference in your workflow this year? Strengthen your JavaScript fundamentals for interviews: https://lnkd.in/gmBgzHDi #JavaScript #FrontEnd #WebDevelopment #Vite #TypeScript #GreatFrontEnd
To view or add a comment, sign in
-
-
This landscape graphic perfectly separates the layers of a modern frontend application. It's a great visual checklist to ensure you are using the fastest tools available for bundling, type checking, and testing. Awesome compilation.
In 2026, JavaScript tooling is no longer written in JavaScript. Vite's bundler is Rust. TypeScript's compiler is being rewritten in Go. Biome (the linter replacing ESLint) is Rust. Tailwind's engine is Rust. Your test runner (Vitest) is the only tool still in JS -- and it runs on Vite's Rust infrastructure. The tools that build your JavaScript have left JavaScript behind. Here's the full landscape -- what's winning, what's dying, and what just shipped. Which tool switch made the biggest difference in your workflow this year? Strengthen your JavaScript fundamentals for interviews: https://lnkd.in/gmBgzHDi #JavaScript #FrontEnd #WebDevelopment #Vite #TypeScript #GreatFrontEnd
To view or add a comment, sign in
-
-
You don’t need 5 lines to extract values from an object. If you’re still doing that, you’re writing bad JavaScript. There’s a cleaner way: 👉 Destructuring Less repetition. Cleaner code. Easier to read. Once you start using it, going back feels wrong. 🔗 Read here: https://lnkd.in/dw9j7a6t What should I cover next — Spread/Rest or Promises? #javascript #webdevelopment #coding
To view or add a comment, sign in
-
-
🚀 Understanding var, let, and const in JavaScript While learning JavaScript, one of the most important concepts I revisited is the difference between var, let, and const. It may look basic, but it plays a huge role in writing clean and bug-free code. 🔹 var - Function scoped - Can be re-declared and re-assigned - Can cause unexpected bugs due to scope leakage 🔹 let - Block scoped - Cannot be re-declared - Can be re-assigned 🔹 const - Block scoped - Cannot be re-declared or re-assigned - Must be initialized at the time of declaration 💡 One key takeaway: Use const by default, let when values need to change, and avoid var in modern JavaScript. Small concepts like these build a strong foundation for writing better and more predictable code. #JavaScript #WebDevelopment #Frontend #Coding #Learning #MERNStack #100DaysOfCode
To view or add a comment, sign in
-
-
🚀 Just Published: Map and Set in JavaScript https://lnkd.in/g-nAm7SZ Understanding Map and Set helps you write more efficient and cleaner JavaScript code. In this article, I covered: ✅ What Map is and how it stores key-value pairs ✅ What Set is and how it ensures unique values ✅ Difference between Map and Object ✅ Difference between Set and Array ✅ When to use Map and Set in real-world scenarios 💡 Learn how Map solves limitations of traditional objects and how Set automatically removes duplicates. If you're preparing for interviews or improving your JS fundamentals, this is a must-read! 🙏 Thanks to amazing mentors and community 🙌 Hitesh Choudhary Sir, Piyush Garg Sir, Akash Kadlag Sir, Suraj Kumar Jha Sir, Chai Aur Code #JavaScript #WebDevelopment #Coding #Frontend #FullStack #Programming #Developers #TechCommunity
To view or add a comment, sign in
-
-
🚀 JavaScript Event Loop Explained in a Simple Way JavaScript is a single-threaded language, but it still handles asynchronous tasks like API calls, timers, and events very efficiently. This is possible because of something called the Event Loop. Here’s a simple breakdown: 👉 When JavaScript runs code, it first executes everything in the Call Stack (synchronous code). 👉 If it encounters asynchronous tasks (like setTimeout, fetch requests, etc.), they are sent to the Web APIs. 👉 Once those tasks are completed, their callbacks go to the Callback Queue or Microtask Queue. 👉 The Event Loop continuously checks: “If the Call Stack is empty, push tasks from the queues into the Call Stack.” That’s how JavaScript handles async operations without blocking the main thread. 💡 Key takeaway: Even though JavaScript looks synchronous, the Event Loop makes asynchronous behavior possible. Still learning and exploring more core concepts like this every day. #JavaScript #WebDevelopment #Programming #FrontendDevelopment #100DaysOfCode
To view or add a comment, sign in
-
🔧 Most JavaScript developers write code. Few understand what happens afterward. The V8 engine doesn’t just “run” your JavaScript — it compiles it into machine code at runtime. And that changes how you should think about writing JS. Here’s what’s happening under the hood: 1️⃣ Parsing & AST Generation Your code is converted into an Abstract Syntax Tree (AST). This is where syntax errors are caught. 2️⃣ Ignition (Bytecode Interpreter) The AST is turned into bytecode and execution starts immediately — fast startup, no delay. 3️⃣ TurboFan (Optimizing Compiler) Frequently called (“hot”) functions get optimized into highly efficient machine code. 4️⃣ Hidden Classes Objects with the same structure share hidden classes → faster property access in V8. 5️⃣ Deoptimization (Bailouts) If assumptions break (like changing types), optimized code is discarded and execution falls back to bytecode. 💡 Practical Takeaways: → Keep object structure consistent → Avoid adding properties later → Keep argument types consistent → Write predictable (monomorphic) functions You don’t need to micro-optimize everything — but understanding V8 gives you an edge. 💬 What’s the most underrated JavaScript concept you’ve learned? Drop it in the comments 👇 #JavaScript #WebDevelopment #Frontend #Programming #V8 #Performance #CodingTips
To view or add a comment, sign in
-
-
🚀 Just published a new JavaScript article! 🔗 https://lnkd.in/g9Y4ku83 Understanding Spread vs Rest Operators made simple 👇 In this blog, I’ve explained: ✔️ How the spread operator expands values ✔️ How the rest operator collects values ✔️ Clear differences between them ✔️ Usage with arrays and objects ✔️ Practical real-world examples If you’re learning JavaScript or preparing for interviews, this will help you build strong fundamentals 💡 Thanks to amazing mentors and community 🙌 Hitesh Choudhary Sir, Piyush Garg Sir, Akash Kadlag Sir Suraj Kumar Jha Sir Chai Aur Code #JavaScript #WebDevelopment #Coding #Developers #FullStack #LearnToCode
To view or add a comment, sign in
-
-
Unpopular opinion: JavaScript and even TypeScript are often praised for developer speed, but rarely criticized enough for long-term complexity. JavaScript was built for a different era—small browser scripts, not massive enterprise systems. Yet today it powers everything from frontends to backends. The result is a language carrying decades of legacy quirks, inconsistent patterns, and too much tolerance for messy code. Then TypeScript arrived—not as a clean replacement, but as an extra layer to manage JavaScript’s weaknesses. It improves safety, but also adds more tooling, config files, generics confusion, build steps, and type gymnastics that many teams spend hours maintaining. Now developers often manage: • package chaos • transpilers • bundlers • lint rules • framework churn • dependency issues • complex typings • runtime surprises despite static types That is not simplicity. That is an ecosystem compensating for weak foundations. Meanwhile languages like Java focused earlier on: • strong structure • maintainability • clear contracts • stability • large-team scalability Fast development is attractive. But maintainable systems, predictable behavior, and lower long-term cost matter more. Sometimes the “modern stack” is just extra layers solving problems other languages solved years ago. #JavaScript #TypeScript #Java #SoftwareEngineering #Programming #WebDevelopment #BackendDevelopment #FrontendDevelopment #CodeQuality #Maintainability #TechDebt #CleanCode #DeveloperLife #ProgrammingOpinion #SoftwareArchitecture #Coding #Developers #TechDiscussion #EnterpriseSoftware #SystemDesign
To view or add a comment, sign in
More from this author
Explore content categories
- Career
- Productivity
- Finance
- Soft Skills & Emotional Intelligence
- Project Management
- Education
- Technology
- Leadership
- Ecommerce
- User Experience
- Recruitment & HR
- Customer Experience
- Real Estate
- Marketing
- Sales
- Retail & Merchandising
- Science
- Supply Chain Management
- Future Of Work
- Consulting
- Writing
- Economics
- Artificial Intelligence
- Employee Experience
- Workplace Trends
- Fundraising
- Networking
- Corporate Social Responsibility
- Negotiation
- Communication
- Engineering
- Hospitality & Tourism
- Business Strategy
- Change Management
- Organizational Culture
- Design
- Innovation
- Event Planning
- Training & Development