The Weekly Dev's Brew #7 ☕

The Weekly Dev's Brew #7 ☕

TLDR: This week in dev land: Angular embraces a selectorless future that promises smaller runtimes, RedwoodSDK pivots to "personal software," ECMAScript considers adopting TypeScript's beloved enums, Astro 5.6 brings environment variables to Cloudflare, and those coffee tariffs? They're just the bitter finish on an already-pricy bean.

Angular Team Quietly Pushes the Selectorless Button

Angular is making a fundamental architectural shift that might actually matter. The recently merged PR #60724 introduces "selectorless" template parsing – a feature that strikes at the core of how Angular components and directives are connected to DOM elements.

What makes this interesting? Instead of the classic selector-based matching we've been using since AngularJS crawled out of the primordial web soup, we get a more explicit, import-based approach:

html
Copy
<!-- Old selector-based way -->
<my-button>Click me</my-button>

<!-- New selectorless way -->
<MatButton:a href="/admin" @HasRipple @Tooltip(message="Admin area" [disabled]="!hasPermissions")>
  Admin
</MatButton:a>

According to Minko Gechev's explanation, this isn't just syntactic sugar – it's an architectural shift that enables locality and single-file compilation. The component's template will only match what you've explicitly imported, removing the need for that awkward "double import" in both TypeScript and component metadata.

But the real win? Stripping out selector matching at runtime means a smaller, faster framework. Performance improvements that don't require you to rewrite your entire codebase? Revolutionary concept.

The PR discussion states the syntax isn't finalized, but the underlying architecture change is moving forward. An official RFC will follow, but this PR enables the Angular team to start early experimentation.

RedwoodJS Rebrands to Redwood GraphQL, Launches RedwoodSDK

The RedwoodJS team is splitting their framework into two distinct paths: Redwood GraphQL (the existing framework) and RedwoodSDK (a new framework for "personal software").

What's "personal software," you ask? According to their announcement, it's about "enabling people to build, own, and distribute their own software without the constraints of traditional SaaS." If that sounds vague, it's because it is. The team promises more details in the coming weeks, but the gist seems to be: serverless infrastructure, AI-driven development tools, and open ecosystems.

For current RedwoodJS users, this means:

  • Your existing RedwoodJS app is now called "Redwood GraphQL"

  • It will continue to receive security patches and critical updates

  • Third-party integrations will be progressively unbundled

  • Community ownership will be encouraged

Reading between the lines: they're putting the current framework in maintenance mode while they chase the shiny new thing. A tale as old as JavaScript frameworks.

ECMAScript Enums Finally Brewing?

TypeScript's enum feature might finally be coming to vanilla JavaScript. Ron Buckton's proposal for ECMAScript enums has reached Stage 0, with a completely reworked implementation that TypeScript is willing to adopt (or that expands upon TypeScript's existing functionality).

For the uninitiated, enums provide a finite domain of constant values, useful for choices, discriminants, and bitwise flags. The proposal includes support for Number, String, Symbol, and BigInt values:

javascript
Copy
enum Numbers {
  zero = 0,
  one = 1,
  two = 2
}

enum PlayState {
  idle = "idle",
  running = "running",
  paused = "paused"
}

// Self-references work too
enum Levels {
  beginner = 1,
  intermediate = beginner * 3,
  advanced = intermediate * 2
}

Unlike TypeScript, this proposal doesn't include auto-initialization (where enum members get sequential values automatically). This decision was made to avoid versioning issues when adding new members to existing enums.

The proposal includes a Symbol.iterator method that yields a [key, value] entry for each enum member, which would replace TypeScript's reverse mapping functionality. This is actually a more consistent approach that works with all enum types, not just numeric ones.

Quick Sips ☕

  • Astro 5.6 lands with global astro:env on Cloudflare, experimental session support, and finer control over prefetching. They've also introduced a new eagerness option for prefetch that lets you suggest how aggressively the browser should load your links.

  • Ember 6.3 adds support for <template> authoring-format Glimmer components in routes, following RFC #1046. It's a replacement for the ember-route-template addon.

  • Anime.js 4.0 drops as a complete rewrite with a modular, ESM-first API and new features like WAAPI integrations, draggable elements, and a new spring system.

  • RxJS-lite aka. TanStack Pacer enters alpha, bringing debouncing, throttling, rate limiting, and queuing utilities with promise support and framework adapters.

  • React Conf 2025 dates announced - October 7-8 in Henderson, Nevada with a free livestream option. Ticket lottery begins April 25th.

Model Context Protocol Security Alert

AI researcher Elena Cross warns that MCP (Model Context Protocol), the standard behind how LLMs like Claude and GPT integrate with tools, has serious security issues. Her article, "The 'S' in MCP Stands for Security," (spoiler: there is no S) highlights vulnerabilities like command injection, tool poisoning attacks, and cross-server tool shadowing.

The key problems include no authentication standard, no context encryption, and no way to verify tool integrity. If you're integrating AI agents with arbitrary MCP servers, you might want to add some security checks before your API keys take an unplanned vacation.

Coffee Fact of the Week ☕

Coffee prices have doubled in the past 12 months even before Trump's new tariffs hit the industry. Jeff Taylor, President of Bird Rock Coffee, notes that the C-Market (commodity pricing for coffee) has jumped from $2.30 to as high as $4.65 in the past nine months. Brazilian coffee will see an additional 10% increase (about 30-40 cents per pound) due to tariffs. Local shops are running thin inventory and may need to adjust prices on paper goods as well due to 30% tariffs on imports from China and Vietnam. So the next time you complain about your $6 pour-over, remember you're drinking liquid gold during a coffee crisis.

See you next week! Happy coding & brewing! ☕

JOIN THE BREW CREW

Don't miss the next episode and stay up to date completely for free