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.
fix(vite-plugin-angular): remove experimental support for .ng files
#869
Pull Request Checklist
Make sure your PR satisfies each of these requirements:
- [x] The commit message adheres to our standards: https://github.com/analogjs/analog/blob/main/CONTRIBUTING.md#-commit-message-guidelines
- [ ] Additional tests are included for the modifications (relevant for bug fixes or new features)
- [ ] Documentation is updated or created (relevant for bug fixes or new features)
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?
feat(vite-plugin-angular): enable `.analog` support
#870
PR Checklist
Make sure your PR meets the criteria listed below:
- [x] The commit message follows our guidelines: https://github.com/analogjs/analog/blob/main/CONTRIBUTING.md#-commit-message-guidelines
- [x] Tests for the changes have been added (for bug fixes / features)
- [ ] Docs have been added / updated (for bug fixes / features)
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:
-
templateUrlnow works with external HTML files -
styleUrlandstyleUrlsnow work with external style file(s) -
<style>tags (for inline styles) are now mapped to thestylesproperty in the Component metadata rather than being prepended to the<template>content- Multiple
<style>tags are not guaranteed to work. For multiple stylesheets, usestyleUrlsinstead
- Multiple
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?
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
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.
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...
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.
The Core of Domain-Driven Design - ANGULARarchitects
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.

