Skip to content

refactor(vite-plugin-angular): fold @analogjs/angular-compiler into vite-plugin-angular#2299

Merged
brandonroberts merged 13 commits into
betafrom
refactor/fold-angular-compiler-into-vpa
Apr 16, 2026
Merged

refactor(vite-plugin-angular): fold @analogjs/angular-compiler into vite-plugin-angular#2299
brandonroberts merged 13 commits into
betafrom
refactor/fold-angular-compiler-into-vpa

Conversation

@brandonroberts
Copy link
Copy Markdown
Member

@brandonroberts brandonroberts commented Apr 16, 2026

PR Checklist

Folds the @analogjs/angular-compiler package into @analogjs/vite-plugin-angular as an internal implementation detail behind a new public fastCompile flag. The compiler stops being a standalone published package — users opt into it via one knob on the vite plugin.

Closes #

Affected scope

  • Primary scope: vite-plugin-angular
  • Secondary scopes: platform (deps-plugin reads fastCompile; new top-level fastCompile / fastCompileMode passthroughs), ci (workflows retargeted), docs (standalone overview replaced with a fastCompile section in the vpa README)

Recommended merge strategy for maintainer [optional]

  • Squash merge
  • Rebase merge
  • Other

Commit preservation note [optional]

The commits are split by concern — code move + package removal, option rename, CI retarget, docs, then a series of naming consistency passes (plugin function, error prefix, DEBUG namespace, option name, internal state), plus the platform-level passthrough. Each commit stands alone and compiles, which makes git bisect and targeted revert useful if something regresses. Squashing loses that structure without any corresponding benefit since everything here is one scope area (vite-plugin-angular + its direct platform passthrough).

What is the new behavior?

User-facing

  • New: fastCompile?: boolean (top-level on both vite-plugin-angular and @analogjs/platform) — opts into the single-pass compile path that skips Angular's template type-checking.
  • New: fastCompileMode?: 'full' | 'partial' (top-level on both) — chooses between application ('full') and library ('partial') Ivy output when fastCompile is enabled.
  • Renamed: experimental.useAnalogCompilerfastCompile.
  • Renamed: experimental.analogCompilationModefastCompileMode.
  • DEBUG namespace: DEBUG=analog-compiler*DEBUG=analog-fast-compile*.
  • Error prefix: thrown/logged messages now use [fast-compile] instead of [angular-compiler].
  • Package @analogjs/angular-compiler is no longer published. All of its code now lives at packages/vite-plugin-angular/src/lib/compiler/ as internal modules with no public export path.

Internal

  • Compiler sources moved to packages/vite-plugin-angular/src/lib/compiler/ (flat, tests co-located, __fixtures__/ preserved).
  • Vite plugin function renamed analogCompilerPluginfastCompilePlugin; file analog-compiler-plugin.tsfast-compile-plugin.ts.
  • .github/workflows/angular-compiler-compat.yml renamed to compiler-compat.yml, path filters and test commands retargeted. conformance.yml paths updated and the now-unused nx build angular-compiler step dropped.
  • magic-string, obug, oxc-parser moved from transitive to direct dependencies of vite-plugin-angular.
  • Scope references removed across ng-update packageGroups (6 packages), release.config.cjs, tools/publish.sh, tsconfig.base.json, .github/pr-scope-map.json, commitlint.config.cjs, issue templates, .coderabbit.yaml, AGENTS.md, CONTRIBUTING.md.
  • Platform Options gains top-level fastCompile / fastCompileMode; the deps-plugin bundler-exclusion gating reads either location.

Test plan

  • pnpm exec vitest run packages/vite-plugin-angular/src/lib/compiler/ — 602 passed, 2 skipped (conformance soft-failures pre-exist)
  • pnpm exec vitest run packages/vite-plugin-angular/src/lib/angular-vite-plugin.spec.ts — 37 passed
  • pnpm install regenerates the lockfile cleanly; no residual @analogjs/angular-compiler references
  • CI compiler-compat.yml and conformance.yml need to pass on the PR

Does this PR introduce a breaking change?

  • Yes
  • No

The compiler and every option renamed here (experimental.useAnalogCompiler, experimental.analogCompilationMode) lived in pre-1.0 beta under the experimental.* namespace and were never in a stable release, so the project doesn't treat these renames as breaking. Users still on the old option names should rename as follows:

  angular({
-   experimental: {
-     useAnalogCompiler: true,
-     analogCompilationMode: 'partial',
-   },
+   fastCompile: true,
+   fastCompileMode: 'partial',
  })

External consumers of the published @analogjs/angular-compiler package (if any exist at the beta tag) should migrate to using vite-plugin-angular directly with fastCompile: true — the compiler is no longer intended as a standalone API.

Other information

The compiler was already integrated into vite-plugin-angular via experimental.useAnalogCompiler; this PR doesn't change the compilation path itself, only the packaging and public surface around it. The rename trio (fastCompile / fastCompileMode / internal naming) brings every user-visible touchpoint — option names, error prefix, DEBUG namespace — onto one consistent label.

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Refactor

    • Consolidated Angular compiler functionality into @analogjs/vite-plugin-angular under a new "fast compile" mode.
    • Removed standalone @analogjs/angular-compiler package.
    • Replaced useAnalogCompiler/analogCompilationMode configuration with fastCompile/fastCompileMode options.
    • Updated all related CI workflows, documentation, and internal references.
  • Chores

    • Updated configuration files and package.json manifests across affected packages.

brandonroberts and others added 11 commits April 16, 2026 12:53
…ite-plugin-angular

Move compiler sources from packages/angular-compiler/src/lib/ to
packages/vite-plugin-angular/src/lib/compiler/ and consume them via an
internal barrel instead of the published package. The compiler is no
longer a standalone public package — it becomes an implementation
detail behind the vite plugin.

Removes:
- @analogjs/angular-compiler dependency from vite-plugin-angular
- packages/angular-compiler/ directory
- ng-update packageGroup entries across 6 packages
- release.config.cjs and tools/publish.sh entries
- tsconfig.base.json path mapping
- Scope references in pr-scope-map, commitlint, issue templates,
  coderabbit, AGENTS.md, CONTRIBUTING.md

Adds magic-string, obug, and oxc-parser as direct dependencies of
vite-plugin-angular (previously transitive via the old package).
Moves COMPILER.md alongside the code and relocates
scripts/setup-conformance.sh to packages/vite-plugin-angular/scripts/.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…to fastCompile

Graduate the option out of the experimental block to a top-level
boolean. Hard rename — the flag was never in a stable release and lived
under experimental, so no deprecation alias is provided.

analogCompilationMode stays inside experimental as an advanced escape
hatch for library vs application output mode. Default remains false so
existing behavior is preserved on upgrade.

Updates the single repo consumer (analog-app's vite config) and the
deps-plugin gating in @analogjs/platform to read the new flag.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Rename angular-compiler-compat.yml to compiler-compat.yml and retarget
path filters, vitest paths, auto-issue template fields, and header
comments to packages/vite-plugin-angular/src/lib/compiler/. Update
conformance.yml to run the compiler suite from its new location and drop
the standalone angular-compiler build step — vitest runs against source,
so no build is needed.

Update the COMPILER.md code comment reference in angular-version.ts to
the new workflow filename.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…ection

Delete the standalone Analog Compiler docs page. The compiler is no
longer a public package, so surfacing it as its own docs entry is
misleading. Add a concise fastCompile section to the vite-plugin-angular
README (which feeds the docs site) covering what the flag does, how to
enable it, and the required ngc type-check step.

Rewrite the COMPILER.md header so it reads as internal maintainer lore:
the install/programmatic-API sections referenced a package that no
longer exists, so those are replaced with a short note pointing at
fastCompile. Path and workflow references throughout the file are
updated to the new locations.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…pilePlugin

Rename the internal plugin function, file, interface, and plugin name
string to match the public fastCompile flag. Keeps internal naming in
lockstep with the user-facing option so the implementation detail
reads consistently.

- analog-compiler-plugin.ts → fast-compile-plugin.ts
- analogCompilerPlugin() → fastCompilePlugin()
- AnalogCompilerPluginOptions → FastCompilePluginOptions
- initAnalogCompiler / handleAnalogCompilerTransform → initFastCompile /
  handleFastCompileTransform
- Vite plugin name "@analogjs/vite-plugin-angular-compiler" →
  "@analogjs/vite-plugin-angular-fast-compile"

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
… to [fast-compile]

User-facing error and warning messages emitted by the compiler now use
the [fast-compile] prefix to match the public flag name. The error
shape and thrown Error behavior are unchanged — only the label string
is updated, along with the test that asserts on it.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…compile

The obug root namespace used for structured compiler logging becomes
analog-fast-compile (was analog-compiler) to match the public flag
name. Updates the debug factory, CI workflow env var and issue
template, and code comments that reference the DEBUG= invocation.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…ode to fastCompileMode

Consistency rename for the advanced escape hatch that chooses between
full (application) and partial (library) Ivy output. Stays under
experimental — only the option name changes. Hard rename, no alias,
for the same reasons as fastCompile: it was never in a stable release
and lived under experimental.*.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…compile plugin state

Rename the private local state variables inside fastCompilePlugin to
match the file's new name:

- analogRegistry → registry
- analogResourceToSource → resourceToSource
- analogProjectRoot → projectRoot

These are private closure variables with no external reference — the
prefix was a holdover from when the plugin and its state belonged to
a separately-published package. Also simplify the now-redundant
registry: registry property to shorthand and refresh the "Analog
compiler state" comment.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Hoist fastCompileMode to the top level of PluginOptions alongside
fastCompile. The option is read directly when fastCompile is enabled,
so there's no reason to keep it nested one level deeper than its
sibling flag. experimental now only carries useAngularCompilationAPI.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…o 'fast-compile path'

Final cosmetic sweep — stale references to the old "Analog compiler"
concept in code comments and a line in COMPILER.md. The code doesn't
know itself as the analog compiler anymore; it's the fast-compile path
inside vite-plugin-angular.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@netlify
Copy link
Copy Markdown

netlify Bot commented Apr 16, 2026

Deploy Preview for analog-blog ready!

Name Link
🔨 Latest commit 565a3aa
🔍 Latest deploy log https://app.netlify.com/projects/analog-blog/deploys/69e129542e679700085ba1c4
😎 Deploy Preview https://deploy-preview-2299--analog-blog.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@netlify
Copy link
Copy Markdown

netlify Bot commented Apr 16, 2026

Deploy Preview for analog-docs ready!

Name Link
🔨 Latest commit 565a3aa
🔍 Latest deploy log https://app.netlify.com/projects/analog-docs/deploys/69e129542e679700085ba1c0
😎 Deploy Preview https://deploy-preview-2299--analog-docs.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@netlify
Copy link
Copy Markdown

netlify Bot commented Apr 16, 2026

Deploy Preview for analog-app ready!

Name Link
🔨 Latest commit 565a3aa
🔍 Latest deploy log https://app.netlify.com/projects/analog-app/deploys/69e1295497b8c1000a44fa5f
😎 Deploy Preview https://deploy-preview-2299--analog-app.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@github-actions github-actions Bot added scope:angular-compiler Changes in @analogjs/angular-compiler scope:astro-angular Changes in @analogjs/astro-angular scope:ci GitHub workflow changes scope:content Changes in @analogjs/content scope:docs Documentation changes scope:platform Changes in @analogjs/platform scope:repo Repository metadata and tooling scope:router Changes in @analogjs/router scope:vite-plugin-angular Changes in @analogjs/vite-plugin-angular scope:vite-plugin-nitro Changes in @analogjs/vite-plugin-nitro labels Apr 16, 2026
@github-actions
Copy link
Copy Markdown

This PR touches multiple package scopes: angular-compiler, astro-angular, content, platform, router, vite-plugin-angular, vite-plugin-nitro.

Please confirm the changes are closely related. Squash merge is highly preferred. If you recommend a non-squash merge, add a brief note explaining why the commit boundaries matter and why this PR should bypass focused changes per package.

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Apr 16, 2026

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: a6a5f44b-8938-4333-a56e-d800c3fbb13b

📥 Commits

Reviewing files that changed from the base of the PR and between 6ca4986 and 565a3aa.

📒 Files selected for processing (1)
  • .github/workflows/conformance.yml
🚧 Files skipped from review as they are similar to previous changes (1)
  • .github/workflows/conformance.yml

📝 Walkthrough

Walkthrough

Deprecated the standalone @analogjs/angular-compiler package and migrated its functionality into @analogjs/vite-plugin-angular as a new fast-compile path. Removed package artifacts, retargeted CI/workflows/docs, added fastCompile/fastCompileMode options, renamed plugin interfaces/entrypoints, and updated references across the monorepo.

Changes

Cohort / File(s) Summary
Removed package: angular-compiler
packages/angular-compiler/package.json, packages/angular-compiler/project.json, packages/angular-compiler/README.md, packages/angular-compiler/src/index.ts, packages/angular-compiler/tsconfig*.json, packages/angular-compiler/vite.config.ts
Entire standalone @analogjs/angular-compiler package and its build/test config removed. Public re-exports and package manifest deleted.
vite-plugin-angular — compiler & plugin
packages/vite-plugin-angular/src/lib/angular-vite-plugin.ts, .../fast-compile-plugin.ts, .../compiler/*, .../compiler/index.ts, .../compiler/COMPILER.md, .../compiler/*.spec.ts
Integrated compiler into plugin as "fast-compile": added fastCompile/fastCompileMode options, renamed plugin entrypoints/types, swapped analog-compiler imports to internal compiler, updated exports (added collectRelativeReExports, generateHmrCode), and changed debug/message prefixes.
Platform & options surface
packages/platform/src/lib/options.ts, packages/platform/src/lib/deps-plugin.ts, packages/platform/src/lib/platform-plugin.ts
Added fastCompile/fastCompileMode to public Options, replaced usage of useAnalogCompiler with fastCompile in deps and plugin wiring.
Monorepo references & packaging
tsconfig.base.json, release.config.cjs, tools/publish.sh, commitlint.config.cjs
Removed tsconfig path mappings, release/publish steps, and commit-scope enum entries referencing angular-compiler.
CI / Conformance workflows & scripts
.github/workflows/compiler-compat.yml, .github/workflows/conformance.yml, packages/vite-plugin-angular/scripts/setup-conformance.sh
Retargeted CI triggers and test commands from packages/angular-compiler to packages/vite-plugin-angular/src/lib/compiler/; updated debug env patterns and issue templates/strings.
Documentation & contributor guidance
apps/docs-app/docs/packages/angular-compiler/overview.md (removed), packages/vite-plugin-angular/README.md, AGENTS.md, CONTRIBUTING.md
Removed standalone compiler docs; added Fast Compile Mode docs to vite-plugin-angular README; removed angular-compiler scope/rows from contributor mappings.
ng-update packageGroup edits
packages/astro-angular/package.json, packages/content/package.json, packages/platform/package.json, packages/router/package.json, packages/vite-plugin-nitro/package.json, packages/vite-plugin-angular/package.json
Removed @analogjs/angular-compiler from ng-update.packageGroup arrays; updated vite-plugin-angular runtime deps to remove external angular-compiler and add compiler-related deps.
Minor message/comment changes
packages/vite-plugin-angular/src/lib/compiler/compile.ts, js-emitter.ts, styles.ts, debug.ts, component.spec.ts, metadata-emit.spec.ts, virtual-resources.ts, angular-version.ts
Consistent renaming of debug namespaces and log/error prefixes from analog-compileranalog-fast-compile / [fast-compile]; updated comments and test descriptions to match new naming.

Sequence Diagram(s)

sequenceDiagram
  autonumber
  participant Vite as Vite (dev server / build)
  participant Plugin as vite-plugin-angular
  participant Fast as fast-compile module
  participant TS as TypeScript/ngc (type-check step, external)
  participant HMR as Vite HMR runtime

  rect rgba(200,200,255,0.5)
  Vite->>Plugin: load plugin (options include fastCompile?)
  Plugin->>Fast: initialize fast-compile (buildStart / scan)
  Fast-->>Plugin: registry, virtual modules
  end

  rect rgba(200,255,200,0.5)
  Vite->>Plugin: transform(file)
  Plugin->>Fast: handleFastCompileTransform(file)
  Fast-->>Plugin: compiled code + HMR info
  Plugin->>Vite: return transformed code (and HMR updates)
  end

  rect rgba(255,200,200,0.5)
  Note over Plugin,TS: If fastCompile enabled, type-checking is recommended as a separate step
  Plugin->>TS: (optional) developer runs `ngc --noEmit` as separate script
  end
Loading

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~70 minutes

Possibly related issues

Possibly related PRs

"I hopped through files with a twitchy delight,
Merged compiler into plugin by moonlit byte.
Fast-compile I sing, with fewer type frights,
Logs now say fast—no more package flights.
🐇✨"

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The PR title accurately describes the main change: folding the standalone @analogjs/angular-compiler package into @analogjs/vite-plugin-angular as an internal implementation. It is concise, specific, and clearly conveys the primary refactoring objective.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch refactor/fold-angular-compiler-into-vpa

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

brandonroberts and others added 2 commits April 16, 2026 13:18
…lugin-angular

Surface fastCompile and fastCompileMode at the top level of the
platform Options so users can enable the fast-compile path without
nesting a vite block. Matches the existing passthrough convention for
jit, inlineStylesExtension, liveReload, and friends — the platform
top-level value is the default and vite.fastCompile / vite.fastCompileMode
still win when both are set.

Also teach deps-plugin.ts to honor the platform-level fastCompile flag
so the TS/JS bundler exclusions get disabled correctly regardless of
which location the user sets it at.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Mirror the path filter from compiler-compat.yml so conformance fires
the same way: on PRs or pushes to beta that touch the compiler source
tree, package.json, or this workflow file. Stops the 7-way Angular
matrix from running on every unrelated PR.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🧹 Nitpick comments (1)
packages/vite-plugin-angular/README.md (1)

51-72: Nice fast-compile docs; consider making the conformance metric time-scoped.

The section is clear and actionable. Optional tweak: at Line 71, annotate the ~91% figure with a date/CI reference so it doesn’t become stale.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@packages/vite-plugin-angular/README.md` around lines 51 - 72, Update the
loose conformance metric in the Fast Compile Mode docs so it is time-scoped:
change the sentence that states "The fast compile path currently passes ~91% of
Angular's conformance suite." (referencing the fastCompile section/README
content) to include a date and/or CI reference (e.g., "as of YYYY-MM-DD" or
"based on CI run `#1234`") and, if available, a link or note pointing to the test
run or benchmark so readers know when and where the ~91% measurement came from.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@packages/platform/src/lib/deps-plugin.ts`:
- Around line 18-20: fastCompile currently uses top-level options.fastCompile
before nested options.vite.fastCompile (using A || B), causing nested vite
settings to be ignored; update the assignment so options.vite.fastCompile takes
precedence by checking it first (use options?.vite?.fastCompile ??
options?.fastCompile as the resolution strategy) and apply the same change to
the other similar occurrences in this file where fastCompile is derived so
nested vite options override top-level ones.

---

Nitpick comments:
In `@packages/vite-plugin-angular/README.md`:
- Around line 51-72: Update the loose conformance metric in the Fast Compile
Mode docs so it is time-scoped: change the sentence that states "The fast
compile path currently passes ~91% of Angular's conformance suite." (referencing
the fastCompile section/README content) to include a date and/or CI reference
(e.g., "as of YYYY-MM-DD" or "based on CI run `#1234`") and, if available, a link
or note pointing to the test run or benchmark so readers know when and where the
~91% measurement came from.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 0bced432-5991-4e62-b0cf-09a3d72bdde8

📥 Commits

Reviewing files that changed from the base of the PR and between 7066c0d and 6ca4986.

⛔ Files ignored due to path filters (3)
  • .coderabbit.yaml is excluded by none and included by none
  • .github/ISSUE_TEMPLATE/01-bug-report.yml is excluded by none and included by none
  • .github/ISSUE_TEMPLATE/02-feature-request.yml is excluded by none and included by none
📒 Files selected for processing (81)
  • .github/pr-scope-map.json
  • .github/workflows/compiler-compat.yml
  • .github/workflows/conformance.yml
  • AGENTS.md
  • CONTRIBUTING.md
  • apps/analog-app/vite.config.ts
  • apps/docs-app/docs/packages/angular-compiler/overview.md
  • commitlint.config.cjs
  • packages/angular-compiler/README.md
  • packages/angular-compiler/package.json
  • packages/angular-compiler/project.json
  • packages/angular-compiler/src/index.ts
  • packages/angular-compiler/src/test-setup.ts
  • packages/angular-compiler/tsconfig.json
  • packages/angular-compiler/tsconfig.lib.json
  • packages/angular-compiler/tsconfig.spec.json
  • packages/angular-compiler/vite.config.ts
  • packages/astro-angular/package.json
  • packages/content/package.json
  • packages/platform/package.json
  • packages/platform/src/lib/deps-plugin.ts
  • packages/platform/src/lib/options.ts
  • packages/platform/src/lib/platform-plugin.ts
  • packages/router/package.json
  • packages/vite-plugin-angular/README.md
  • packages/vite-plugin-angular/package.json
  • packages/vite-plugin-angular/scripts/setup-conformance.sh
  • packages/vite-plugin-angular/src/lib/angular-vite-plugin.ts
  • packages/vite-plugin-angular/src/lib/compiler/COMPILER.md
  • packages/vite-plugin-angular/src/lib/compiler/__fixtures__/test.component.css
  • packages/vite-plugin-angular/src/lib/compiler/__fixtures__/test.component.html
  • packages/vite-plugin-angular/src/lib/compiler/__fixtures__/test.component.scss
  • packages/vite-plugin-angular/src/lib/compiler/angular-version.ts
  • packages/vite-plugin-angular/src/lib/compiler/class-field-lowering.spec.ts
  • packages/vite-plugin-angular/src/lib/compiler/class-field-lowering.ts
  • packages/vite-plugin-angular/src/lib/compiler/compile.spec.ts
  • packages/vite-plugin-angular/src/lib/compiler/compile.ts
  • packages/vite-plugin-angular/src/lib/compiler/component.spec.ts
  • packages/vite-plugin-angular/src/lib/compiler/conformance.spec.ts
  • packages/vite-plugin-angular/src/lib/compiler/constants.ts
  • packages/vite-plugin-angular/src/lib/compiler/constructor-di.spec.ts
  • packages/vite-plugin-angular/src/lib/compiler/cross-file-resolution.spec.ts
  • packages/vite-plugin-angular/src/lib/compiler/debug.ts
  • packages/vite-plugin-angular/src/lib/compiler/decorator-fields.spec.ts
  • packages/vite-plugin-angular/src/lib/compiler/defer.ts
  • packages/vite-plugin-angular/src/lib/compiler/directive.spec.ts
  • packages/vite-plugin-angular/src/lib/compiler/dts-reader.spec.ts
  • packages/vite-plugin-angular/src/lib/compiler/dts-reader.ts
  • packages/vite-plugin-angular/src/lib/compiler/error-handling.spec.ts
  • packages/vite-plugin-angular/src/lib/compiler/hmr.spec.ts
  • packages/vite-plugin-angular/src/lib/compiler/hmr.ts
  • packages/vite-plugin-angular/src/lib/compiler/i18n.spec.ts
  • packages/vite-plugin-angular/src/lib/compiler/index.ts
  • packages/vite-plugin-angular/src/lib/compiler/injectable.spec.ts
  • packages/vite-plugin-angular/src/lib/compiler/integration.spec.ts
  • packages/vite-plugin-angular/src/lib/compiler/jit-integration.spec.ts
  • packages/vite-plugin-angular/src/lib/compiler/jit-metadata.ts
  • packages/vite-plugin-angular/src/lib/compiler/jit-transform.spec.ts
  • packages/vite-plugin-angular/src/lib/compiler/jit-transform.ts
  • packages/vite-plugin-angular/src/lib/compiler/js-emitter.spec.ts
  • packages/vite-plugin-angular/src/lib/compiler/js-emitter.ts
  • packages/vite-plugin-angular/src/lib/compiler/metadata-emit.spec.ts
  • packages/vite-plugin-angular/src/lib/compiler/metadata.ts
  • packages/vite-plugin-angular/src/lib/compiler/ngmodule.spec.ts
  • packages/vite-plugin-angular/src/lib/compiler/partial.spec.ts
  • packages/vite-plugin-angular/src/lib/compiler/pipe.spec.ts
  • packages/vite-plugin-angular/src/lib/compiler/registry.spec.ts
  • packages/vite-plugin-angular/src/lib/compiler/registry.ts
  • packages/vite-plugin-angular/src/lib/compiler/resource-inliner.ts
  • packages/vite-plugin-angular/src/lib/compiler/style-ast.ts
  • packages/vite-plugin-angular/src/lib/compiler/styles.ts
  • packages/vite-plugin-angular/src/lib/compiler/test-helpers.ts
  • packages/vite-plugin-angular/src/lib/compiler/type-elision.spec.ts
  • packages/vite-plugin-angular/src/lib/compiler/type-elision.ts
  • packages/vite-plugin-angular/src/lib/compiler/utils.ts
  • packages/vite-plugin-angular/src/lib/fast-compile-plugin.ts
  • packages/vite-plugin-angular/src/lib/utils/virtual-resources.ts
  • packages/vite-plugin-nitro/package.json
  • release.config.cjs
  • tools/publish.sh
  • tsconfig.base.json
💤 Files with no reviewable changes (16)
  • CONTRIBUTING.md
  • packages/angular-compiler/README.md
  • AGENTS.md
  • tools/publish.sh
  • .github/pr-scope-map.json
  • apps/docs-app/docs/packages/angular-compiler/overview.md
  • commitlint.config.cjs
  • packages/angular-compiler/tsconfig.spec.json
  • packages/angular-compiler/tsconfig.json
  • packages/angular-compiler/tsconfig.lib.json
  • tsconfig.base.json
  • packages/angular-compiler/vite.config.ts
  • packages/angular-compiler/project.json
  • packages/angular-compiler/package.json
  • release.config.cjs
  • packages/angular-compiler/src/index.ts

Comment thread packages/platform/src/lib/deps-plugin.ts
@brandonroberts brandonroberts merged commit 3062f0f into beta Apr 16, 2026
34 checks passed
@brandonroberts brandonroberts deleted the refactor/fold-angular-compiler-into-vpa branch April 16, 2026 18:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

scope:angular-compiler Changes in @analogjs/angular-compiler scope:astro-angular Changes in @analogjs/astro-angular scope:ci GitHub workflow changes scope:content Changes in @analogjs/content scope:docs Documentation changes scope:platform Changes in @analogjs/platform scope:repo Repository metadata and tooling scope:router Changes in @analogjs/router scope:vite-plugin-angular Changes in @analogjs/vite-plugin-angular scope:vite-plugin-nitro Changes in @analogjs/vite-plugin-nitro

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant