-
-
Notifications
You must be signed in to change notification settings - Fork 282
Closed
Labels
enhancementNew feature or requestNew feature or request
Description
Which scope/s are relevant/related to the feature request?
platform
Information
We've been discussing whether to pivot Analog more towards Angular tooling because the Angular team doesn't have any plans that I know of to support Vite in an "Angular as a Vite plugin" type of way, so there's always going to be friction there in the way the Angular CLI approaches tooling (no config access) vs Analog (Access to config + plugins)
Some notes:
One side:
- We get the benefits of Angular tooling + Analog DX. We can still support Vitest through a builder.
- Nitro still works either way, could be turned into a builder
- We do things "The Angular Way"
- All current features would still be supported
Other side:
- We could lose "being powered by Vite" for both build and serve, and a bit of the ecosystem and composability of plugins.
- The Analog Vite plugin for Angular would still be usable for outside ecosystems (Astro, Qwik, Playwright, Vanilla Vite + Angular app) and moved to a standalone repo.
- Have to do a bit of work to port over to esbuild plugins (to support content routes, markdown)
- Filesystem-based routing works already through an esbuild plugin
- Still needs a custom builder to enable esbuild plugins like
@analogjs/platform:application
and@analogjs/platform:dev-server
- Still lose Angular i18n support, but maybe gets closer because we're using Angular tooling
Hybrid option:
A hybrid approach could to use Angular build tooling + Vite for build/serve and keep access to the Vite config for additional customization. The Angular CLI only uses Vite for the dev server, but we could still use it for dev/prod.
Describe any alternatives/workarounds you're currently using
No response
I would be willing to submit a PR to fix this issue
- Yes
- No
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request