🚀 RS-X 2.0 is live — and it’s a major leap forward RS-X is built around a simple idea: Write expressions against your model, and let updates propagate automatically with fine-grained reactivity. It is easy to use and way more powerfull than signals or any other existing reactive framework. It paves the way for a truly reactive UI framework This is the biggest release of RS-X so far, bringing major improvements in performance, developer experience, and tooling. 🔧 What’s new in RS-X 2.0 🧠 Built-in compiler https://lnkd.in/eM_YH-n7 - Parse expressions at compile time - Optimize execution of expressions - Type-check expressions against your model → errors detected at compile time instead of runtime - Lazy loading support (configurable per expression or via groups) - Configurable preparsing & compiling (enabled by default) 💡 VS Code integration - RS-X expressions are treated as embedded JavaScript inside TypeScript - Full IntelliSense support for expressions ⚡ Performance https://lnkd.in/enANBAnA - Massive performance improvements 🛠 CLI https://lnkd.in/eVHWpMuS - Easy setup and integration with frameworks 🚀 Getting started 1) Install the CLI npm i -g @rs-x/cli 2) Verify installation rsx -v The CLI will also attempt to install the VS Code extension automatically. You can verify this in the Extensions panel by searching for “rs-x”. If needed, you can install it manually using the .vsix file. For example on Windows: C:\Users\robertsanders\AppData\Roaming\npm\node_modules@rs-x\cli\rs-x-vscode-extension-2.0.3.vsix 3) Create a new project (example) rsx project angular See other supported frameworks: https://www.rsxjs.com/ 4) Add RS-X to an existing project rsx init Curious to hear your thoughts and feedback—would love your input. 🔗 Docs: https://www.rsxjs.com 🔗 GitHub: https://lnkd.in/e93WfGWh #typescript #javascript #react #angular #signals #vue #nextjs #nodejs #rxjs #opensource #webdevelopment #performance #vscode
Robert Sanders’ Post
More Relevant Posts
-
Do you ever know exactly what type a dynamic object is, but TypeScript won’t trust you? 🤔Here is #Day21of #TypescriptBeforeAngular with SANDEEP KUMAR(#IAM5K): Type Assertions (as) (The "Manual Override") Like when you are accessing a standard DOM element (ViewChild) in Angular, and TypeScript only sees it as a generic Element, so it won’t let you use the .value or .focus() properties. If you are just using any to "silence" these errors, you are disabling your safety net and creating a massive bug trap. When you are certain about a type that the compiler cannot know yet, you need the authorized manual override: Type Assertions (as). 1️⃣ What is a Type Assertion? Sometimes, based on the context, you know more about the shape of a value than #TypeScript can ever determine. Think of a Type Assertion as a "Trust Badge" or a "Manual Override Key" that you present to the compiler. You use the as keyword to tell TypeScript: "I promise you, I know exactly what I'm doing. From this line onward, please treat this generic bucket as this specific, detailed type." // --- ☠️ The DANGEROUS way (any) --- const myElementAny: any = document.getElementById('user-email'); // No help here. If 'myElementAny' is actually null, this crashes later: console.log(myElementAny.value); // --- 🟢 The SAFE way (assertion) --- const myInput = document.getElementById('user-email') as HTMLInputElement; // Now TypeScript knows this bucket has specific input powers: myInput.value = 'hello@example.com'; // ✅ Perfect autocomplete! 2️⃣ Significance in Angular: In modern Angular (especially for state management and DOM interaction), Type Assertions are essential when you are dealing with dynamic sources, like: DOM Elements: Working with document.getElementById or ViewChild. You are sure it’s an <input>, but TS only knows it is a generic Element. API Data: Data arriving from a legacy service or a third-party library that isn’t typed yet. By using as, you are being proactive and maintaining your type safety rather than just silencing the compiler with any. It is about building components that are not just typed, but truly truly safe. 💡 Beginner Tip: Think of as as an authorization override, but use it sparingly! If you are asserting types everywhere, it is a big warning sign that your underlying data models are incomplete and need more work. Assert only when you have 100% certainty from external knowledge (like knowing you own the DOM)! 👉 Do you use Type Assertions (as) most often for DOM elements, generic API data, or external library data? Let me know👇 Connect /Follow me (SANDEEP KUMAR) so you dont miss the next one #WebDev #CodingTips #NewDeveloper #Beginner #CleanCode #TypeAssertion #DOMManipulation #PredictableState #TypeSafety #Javascript #BTech
To view or add a comment, sign in
-
-
Hi #connections, Just shipped something I've been working on: RepoMap 🗺️ Ever jumped into a mid-level or large codebase and felt completely lost? 🤔 "Which file is connected to which?" 🤔 "What's importing what?" 🤔 "Are these files even being used?" I've been there. Multiple times. And honestly, it was frustrating. So I decided to build something about it. Introducing RepoMap — A zero-setup dependency visualization tool for JavaScript/TypeScript repositories. Just paste a GitHub URL, and instantly get: 📊 Interactive Dependency Graph — See exactly how your files are connected with a beautiful, zoomable visualization 🔴 Orphan File Detection — Discover dead code and unused files that are just sitting there, adding to technical debt 🟢 Entry Point Detection — Automatically identifies where your application starts 🔗 Bidirectional Tracking — See both what a file imports AND what imports it What makes it different? Most tools either require setup, installation, or only work locally. RepoMap works directly with GitHub URLs — no cloning, no CLI commands, no configuration. Just paste and visualize. It supports: ⚛️ React / Vite ⬛ Next.js (App Router & Pages Router) 🎸 Remix 📦 Node.js / Express And intelligently handles path aliases (@/, ~/), TypeScript ESM imports, config files, test files, and even Storybook stories. The story behind it: This is a 100% vibe-coded project. 🤖 The idea came from real frustration, and I just started building — letting curiosity and creativity guide the way. No strict planning, just pure problem-solving flow. And honestly? I enjoyed every minute of it. What's next? This project is NOT done. It has SO much potential: - Support for more languages (Python, Go, etc.) - Vue, Svelte, Astro single-file component analysis - More advanced visualizations - Performance optimizations for massive repos If you want to collaborate - you're more than welcome! 🤝 Check it out, break it, give feedback, or contribute. Let's make understanding codebases easier for everyone. 🔗Project Link: [https://lnkd.in/grnTtXZn] #OpenSource #JavaScript #TypeScript #React #NextJS #DeveloperTools #WebDevelopment #VibeCoding #BuildInPublic #SideProject #linkedin #community #connections #letscode
To view or add a comment, sign in
-
Ever wondered how JavaScript handles concurrency while being single-threaded? I just published a deep dive into the Event Loop, breaking down how it works under the hood. Since this is my first article, I’m really looking forward to hearing what you think! Drop a comment with your feedback or any questions! 👇 Here is the article: https://lnkd.in/d5UWyrbE #JavaScript #WebDevelopment #SoftwareEngineering #EventLoop #CodingCommunity #Frontend #Programming
To view or add a comment, sign in
-
Injecting API URLs, feature flags, and config objects cleanly in Angular is what InjectionToken is designed for. Part 4 of my Angular Dependency Injection series is now live. #Angular #TypeScript #WebDevelopment #Frontend
To view or add a comment, sign in
-
Wrote a new blog on Map and Set in JavaScript Covering: - Why Objects and Arrays are not always enough - Limitations of traditional key-value storage - How Map enables true key flexibility - The uniqueness guarantee of Set - Map vs Object (practical differences) - Set vs Array (performance + behavior) - When to use Map and Set in real projects If you're building real-world applications, choosing the right data structure is not optional. It directly impacts performance, readability, and scalability. https://lnkd.in/gkTF3N-M Hitesh Choudhary Chai Aur Code Piyush Garg Akash Kadlag Jay Kadlag Nikhil Rathore #javascript #webdevelopment #frontend #coding #programming #softwaredevelopment #100daysofcode #learninpublic
To view or add a comment, sign in
-
#React 19 isn't asking you to learn a new framework — it's finally catching up to what developers always wanted. The new React Compiler alone can eliminate thousands of lines of manual memoization, and new #hooks like "useActionState" and "useOptimistic" turn what used to be 20+ lines of boilerplate into just a few. If you're still writing "useMemo" everywhere and managing form state manually, it's worth taking another look. The best React code in 2026 is shorter, faster, and more readable — not because we got smarter, but because the tools got better. #OpenSource #Coding #Developer #Programming #SoftwareEngineering #SoftwareDevelopment #CodeNewbie #Dev #JavaScript #TypeScript #Frontend #FrontendDevelopment #WebDevelopment https://lnkd.in/da26iEBP
To view or add a comment, sign in
-
Day 19 – Angular Dependency Injection: The Backbone of Scalable Apps Dependency Injection (DI) in Angular is a design pattern that allows you to inject services into components instead of creating them manually. 💥 Why Dependency Injection do? ✅ Promotes loose coupling ✅ Improves testability ✅ Enables reusability 👉 It’s one of the core reasons Angular is enterprise-friendly. 💥 Code Structure :- 🔹 Service.ts file import { Injectable } from '@angular/core'; @Injectable({ providedIn: 'root' }) export class UserService { getUsers() { return ['Shubham', 'Rahul']; } } 🔹 Component.ts file import { Component } from '@angular/core'; import { UserService } from './user.service'; @Component({ selector: 'app-user', template: `<p *ngFor="let user of users">{{ user }}</p>` }) export class UserComponent { users: string[] = []; constructor(private userService: UserService) { this.users = this.userService.getUsers(); } } ✅ Conclusion Dependency Injection is not just a feature… It’s the foundation of scalable and maintainable Angular applications. #Angular #DependencyInjection #FrontendDevelopment #WebDevelopment #JavaScript #TypeScript #AngularDeveloper #Programming #Coding #SoftwareEngineering #Developers #Architecture #CleanCode #Frontend #Tech
To view or add a comment, sign in
-
-
When the Compiler Owns Re-renders, You Own the Architecture In 2026, React finished its transition from UI library to automatic performance engine. The biggest shift for dev teams? We’ve stopped doing manual optimization by default. If you’re still spending hours chasing stray re-renders or micromanaging useMemo dependency arrays, you’re doing work your build step now handles for you. The React Compiler — formerly “React Forget” — changed what makes a React developer valuable. We used to be hired for our ability to memoize everything to save milliseconds. That’s now a compile-time concern. What’s actually different in 2026 React: 1. Auto-Memoization The compiler understands the Rules of React better than most of us. It automatically skips re-renders of static UI. No memo, useCallback, or dependency arrays needed unless you’re handling truly dynamic cases. 2. Zero-Bundle Components by Default React Server Components are the default pattern. Heavy dependencies like markdown parsers, charting libraries, and CMS SDKs can live entirely on the server. Result: 0 KB shipped to the client. Smaller bundles, faster TTI. 3. Unified Actions The “Loading... Loading... Loading...” UX cascade is gone. useActionState and useFormStatus give us native pending, error, and success states. Forms and mutations finally feel like first-class citizens. The new “Senior” differentiator: Server vs Client Boundaries It’s no longer about knowing every hook. It’s about knowing where your code should run. Deciding what stays on the server, what requires client interactivity, and how to compose them effectively — that’s the architecture work compilers can’t automate. The skill shift we’re seeing: From micro-optimizing renders → designing data flow and boundaries From “memoize everything” → “trust the compiler, override only with data” There’s a real trust gap right now. Many teams still reach for useMemo out of habit. The better approach: run your app with the compiler, profile it, and optimize only what the data shows you need to. Question for engineering leaders and ICs: What helped your team finally trust the compiler? Or what’s still holding you back from removing manual memoization? Let’s discuss in the comments. #ReactJS #JavaScript #WebDevelopment #FrontendDevelopment #TypeScript #ReactCompiler #ServerComponents #SoftwareArchitecture #WebPerformance #EngineeringLeadership
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