Analog's .analog file format emerged following community feedback about the earlier .ng naming. Jeremy Elbourn appeared as a guest on the AngularAir podcast. Manfred Steyer wrote about Domain-Driven Design, while Tomasz Ducin covered Angular Query.

.ng to .analog

The Analog project, a meta-framework built on top of Angular, has dropped its .ng file format. This format was a functional, template-centric alternative for authoring components.

Why the removal? Community-driven features inherently face different reception than those sanctioned by Angular itself.

The .ng format sparked notable disagreement, particularly around whether the direction should lean functional or preserve class-based patterns.

A major sticking point was the naming: "ng" led many to believe the format would be adopted directly by the Angular core team.

It's simpler to tweak a label than rethink the whole concept. Thus, Analog dropped *.ng files and relaunched them as *.analog.

GitHub logo fix(vite-plugin-angular): remove experimental support for .ng files #869

brandonroberts avatar
brandonroberts shared this on

Pull Request Checklist

Make sure your PR satisfies each of these requirements:

Category of Change

What type of modification does this PR bring?

  • [x] Bugfix
  • [ ] Enhancement
  • [ ] Code style adjustments (formatting, local variables)
  • [ ] Refactor (no behavior or API changes)
  • [ ] Build system updates
  • [ ] Continuous integration updates
  • [ ] Documentation revisions
  • [ ] Miscellaneous... specify:

Targeted package

  • [x] vite-plugin-angular
  • [ ] vite-plugin-nitro
  • [ ] astro-angular
  • [ ] create-analog
  • [ ] router
  • [ ] platform
  • [ ] content
  • [ ] nx-plugin
  • [ ] trpc

Current behavior

Analog activated preliminary support for .ng files

Closes #

New behavior

Handling of .ng files is discontinued

Does this PR constitute a breaking change?

  • [ ] Affirmative
  • [x] Negative

Additional context

Originally, this represented a preliminary effort toward an alternative approach for crafting Angular components and directives. Even with numerous clarifications, the .ng extension is heavily misinterpreted as belonging to an official Angular team initiative meant to supersede class-based components in Angular.

[optional] Which animation most accurately represents this PR or its emotional impact?

Episode 24/04: .ng & .analog, DDD with Manfred Steyer, Angular Query Tomasz Ducin — figure 3

GitHub logo feat(vite-plugin-angular): enable `.analog` support #870

nartc avatar
nartc posted on

PR Checklist

Make sure your PR meets the criteria listed below:

PR Type

What type of change does this PR bring in?

  • [ ] Bugfix
  • [x] Feature
  • [ ] Code style update (formatting, local variables)
  • [ ] Refactoring (no functional changes, no api changes)
  • [ ] Build related changes
  • [ ] CI related changes
  • [ ] Documentation content changes
  • [ ] Other... Please describe:

Which package are you modifying?

  • [x] vite-plugin-angular
  • [ ] vite-plugin-nitro
  • [ ] astro-angular
  • [ ] create-analog
  • [ ] router
  • [ ] platform
  • [ ] content
  • [ ] nx-plugin
  • [ ] trpc

What is the new behavior?

With the supportAnalogFormat flag placed under vite.experimental, this PR brings support for the .analog file extension.

This change supersedes the existing .ng file extension support. The .analog format provides a clearer (and deliberate) separation. Its feature parity is nearly identical to .ng, with a few notable exceptions:

  • templateUrl now works with external HTML files
  • styleUrl and styleUrls now work with external style file(s)
  • <style> tags (for inline styles) are now mapped to the styles property in the Component metadata rather than being prepended to the <template> content
    • Multiple <style> tags are not guaranteed to work. For multiple stylesheets, use styleUrls instead

Does this PR introduce a breaking change?

  • [ ] Yes
  • [x] No

Other information

[optional] What gif best describes this PR or how it makes you feel?

Episode 24/04: .ng & .analog, DDD with Manfred Steyer, Angular Query Tomasz Ducin — figure 6

A+ Show S6 E21 | Could .ng be the new authoring format for Angular? | Brandon Roberts & Chau Tran

Lara, Ankita, and Jay host this episode with two special guests: Brandon Roberts, the mind behind Analog, and Chau Tran, a top-tier nerd sniper. Together, they dive into a fresh way of writing Angular components that relies on a Vite plugin — a setup that simplifies crafting single file components and directives with minimal fuss. Details on the guests: BlueSky:https://bsky.app/profile/nartc.bsky.social https://bsky.app/profile/brandonroberts.dev X:https://twitter.com/Nartc1410 https://twitter.com/brandontroberts LinkedIn: https://www.linkedin.com/in/chauntran

favicon spreaker.com

Jeremy Elbourn at AngularAir

The Angular Air Podcast featured Jeremy Elbourn, Angular's tech lead, as its guest. In his view, Signals' primary advantage isn't performance boosts or zoneless setups, but rather the enhanced developer experience it delivers.

He also believes that un-deprecating ng-deep, a dedicated CSS selector, and reintroducing it under a fresh name such as ng-global would be a sensible move.

Episode 24/04: .ng & .analog, DDD with Manfred Steyer, Angular Query Tomasz Ducin — figure 8

The evolution of Angular over time featuring Jeremy Elbourn - YouTube

Jeremy’s handle: jelbourn@hachyderm.io/@jelbourn🎈Angular Air is brought to you by Kendo UI—explore their 100+ components now at kendoui.com. To keep up with ou...

favicon

Manfred Steyer on DDD

A piece on domain-driven design comes from Manfred Steyer, where he walks through its evolution, clarifying that DDD extends beyond design patterns or debates like functional versus object-oriented styles.

More emphasis should go to the strategic side, with the ubiquitous language taking a key position in that perspective.

He points to a wealth of resources in his text, covering books, articles, and presentations.

Episode 24/04: .ng & .analog, DDD with Manfred Steyer, Angular Query Tomasz Ducin — figure 10

The Core of Domain-Driven Design - ANGULARarchitects

favicon

Tomasz Ducin on Angular Query

In a recent piece, Tomasz Ducin delved into Angular Query, frequently referred to as Tan Query. He describes it as a library for managing state, focused specifically on keeping data in sync with a backend. The article walks through the underlying mental model and the key ideas that support it.

Given that Angular Query remains at an early stage, Tomas has hinted that further writings from him on this subject are on the way.