@analogjs/vite-plugin-angular 3.0.0-alpha.4 → 3.0.0-alpha.41

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (168) hide show
  1. package/README.md +28 -0
  2. package/migrations/migrate-setup-vitest/migrate-setup-vitest.d.ts +2 -0
  3. package/migrations/migrate-setup-vitest/migrate-setup-vitest.js +49 -0
  4. package/migrations/migrate-setup-vitest/migrate-setup-vitest.js.map +1 -0
  5. package/migrations/migration.json +7 -1
  6. package/migrations/migrations.json +9 -0
  7. package/migrations/update-3-0-0/migrate-setup-vitest.d.ts +2 -0
  8. package/migrations/update-3-0-0/migrate-setup-vitest.js +36 -0
  9. package/migrations/update-3-0-0/migrate-setup-vitest.js.map +1 -0
  10. package/package.json +25 -12
  11. package/src/index.d.ts +3 -2
  12. package/src/index.js +6 -2
  13. package/src/index.js.map +1 -1
  14. package/src/lib/angular-build-optimizer-plugin.d.ts +4 -4
  15. package/src/lib/angular-build-optimizer-plugin.js +48 -62
  16. package/src/lib/angular-build-optimizer-plugin.js.map +1 -1
  17. package/src/lib/angular-jit-plugin.d.ts +3 -3
  18. package/src/lib/angular-jit-plugin.js +42 -37
  19. package/src/lib/angular-jit-plugin.js.map +1 -1
  20. package/src/lib/angular-pending-tasks.plugin.d.ts +7 -7
  21. package/src/lib/angular-pending-tasks.plugin.js +17 -18
  22. package/src/lib/angular-pending-tasks.plugin.js.map +1 -1
  23. package/src/lib/angular-vite-plugin.d.ts +250 -40
  24. package/src/lib/angular-vite-plugin.js +2216 -964
  25. package/src/lib/angular-vite-plugin.js.map +1 -1
  26. package/src/lib/angular-vitest-plugin.d.ts +19 -15
  27. package/src/lib/angular-vitest-plugin.js +99 -114
  28. package/src/lib/angular-vitest-plugin.js.map +1 -1
  29. package/src/lib/compiler/angular-version.d.ts +19 -0
  30. package/src/lib/compiler/angular-version.js +16 -0
  31. package/src/lib/compiler/angular-version.js.map +1 -0
  32. package/src/lib/compiler/class-field-lowering.d.ts +23 -0
  33. package/src/lib/compiler/class-field-lowering.js +131 -0
  34. package/src/lib/compiler/class-field-lowering.js.map +1 -0
  35. package/src/lib/compiler/compile.d.ts +44 -0
  36. package/src/lib/compiler/compile.js +731 -0
  37. package/src/lib/compiler/compile.js.map +1 -0
  38. package/src/lib/compiler/constants.d.ts +18 -0
  39. package/src/lib/compiler/constants.js +52 -0
  40. package/src/lib/compiler/constants.js.map +1 -0
  41. package/src/lib/compiler/debug.d.ts +22 -0
  42. package/src/lib/compiler/debug.js +20 -0
  43. package/src/lib/compiler/debug.js.map +1 -0
  44. package/src/lib/compiler/defer.d.ts +47 -0
  45. package/src/lib/compiler/defer.js +138 -0
  46. package/src/lib/compiler/defer.js.map +1 -0
  47. package/src/lib/compiler/dts-reader.d.ts +35 -0
  48. package/src/lib/compiler/dts-reader.js +365 -0
  49. package/src/lib/compiler/dts-reader.js.map +1 -0
  50. package/src/lib/compiler/hmr.d.ts +16 -0
  51. package/src/lib/compiler/hmr.js +69 -0
  52. package/src/lib/compiler/hmr.js.map +1 -0
  53. package/src/lib/compiler/index.d.ts +7 -0
  54. package/src/lib/compiler/index.js +7 -0
  55. package/src/lib/compiler/jit-metadata.d.ts +14 -0
  56. package/src/lib/compiler/jit-metadata.js +146 -0
  57. package/src/lib/compiler/jit-metadata.js.map +1 -0
  58. package/src/lib/compiler/jit-transform.d.ts +24 -0
  59. package/src/lib/compiler/jit-transform.js +200 -0
  60. package/src/lib/compiler/jit-transform.js.map +1 -0
  61. package/src/lib/compiler/js-emitter.d.ts +10 -0
  62. package/src/lib/compiler/js-emitter.js +420 -0
  63. package/src/lib/compiler/js-emitter.js.map +1 -0
  64. package/src/lib/compiler/metadata.d.ts +45 -0
  65. package/src/lib/compiler/metadata.js +633 -0
  66. package/src/lib/compiler/metadata.js.map +1 -0
  67. package/src/lib/compiler/registry.d.ts +49 -0
  68. package/src/lib/compiler/registry.js +164 -0
  69. package/src/lib/compiler/registry.js.map +1 -0
  70. package/src/lib/compiler/resource-inliner.d.ts +21 -0
  71. package/src/lib/compiler/resource-inliner.js +152 -0
  72. package/src/lib/compiler/resource-inliner.js.map +1 -0
  73. package/src/lib/compiler/style-ast.d.ts +8 -0
  74. package/src/lib/compiler/style-ast.js +54 -0
  75. package/src/lib/compiler/style-ast.js.map +1 -0
  76. package/src/lib/compiler/styles.d.ts +13 -0
  77. package/src/lib/compiler/test-helpers.d.ts +7 -0
  78. package/src/lib/compiler/type-elision.d.ts +26 -0
  79. package/src/lib/compiler/type-elision.js +211 -0
  80. package/src/lib/compiler/type-elision.js.map +1 -0
  81. package/src/lib/compiler/utils.d.ts +10 -0
  82. package/src/lib/compiler/utils.js +35 -0
  83. package/src/lib/compiler/utils.js.map +1 -0
  84. package/src/lib/compiler-plugin.d.ts +11 -11
  85. package/src/lib/compiler-plugin.js +43 -44
  86. package/src/lib/compiler-plugin.js.map +1 -1
  87. package/src/lib/component-resolvers.d.ts +23 -5
  88. package/src/lib/component-resolvers.js +153 -63
  89. package/src/lib/component-resolvers.js.map +1 -1
  90. package/src/lib/fast-compile-plugin.d.ts +14 -0
  91. package/src/lib/fast-compile-plugin.js +270 -0
  92. package/src/lib/fast-compile-plugin.js.map +1 -0
  93. package/src/lib/host.d.ts +10 -8
  94. package/src/lib/host.js +113 -101
  95. package/src/lib/host.js.map +1 -1
  96. package/src/lib/live-reload-plugin.d.ts +5 -5
  97. package/src/lib/live-reload-plugin.js +61 -62
  98. package/src/lib/live-reload-plugin.js.map +1 -1
  99. package/src/lib/models.d.ts +9 -9
  100. package/src/lib/nx-folder-plugin.d.ts +5 -5
  101. package/src/lib/nx-folder-plugin.js +18 -16
  102. package/src/lib/nx-folder-plugin.js.map +1 -1
  103. package/src/lib/plugins/file-replacements.plugin.d.ts +4 -4
  104. package/src/lib/plugins/file-replacements.plugin.js +40 -62
  105. package/src/lib/plugins/file-replacements.plugin.js.map +1 -1
  106. package/src/lib/router-plugin.d.ts +1 -1
  107. package/src/lib/router-plugin.js +23 -23
  108. package/src/lib/router-plugin.js.map +1 -1
  109. package/src/lib/style-pipeline.d.ts +15 -0
  110. package/src/lib/style-pipeline.js +31 -0
  111. package/src/lib/style-pipeline.js.map +1 -0
  112. package/src/lib/style-preprocessor.d.ts +35 -0
  113. package/src/lib/style-preprocessor.js +35 -0
  114. package/src/lib/style-preprocessor.js.map +1 -0
  115. package/src/lib/stylesheet-registry.d.ts +73 -0
  116. package/src/lib/stylesheet-registry.js +168 -0
  117. package/src/lib/stylesheet-registry.js.map +1 -0
  118. package/src/lib/tools/package.json +2 -7
  119. package/src/lib/tools/src/builders/vite/vite-build.impl.js +31 -38
  120. package/src/lib/tools/src/builders/vite/vite-build.impl.js.map +1 -1
  121. package/src/lib/tools/src/builders/vite-dev-server/dev-server.impl.js +51 -62
  122. package/src/lib/tools/src/builders/vite-dev-server/dev-server.impl.js.map +1 -1
  123. package/src/lib/tools/src/index.js +0 -2
  124. package/src/lib/utils/compiler-plugin-options.d.ts +11 -11
  125. package/src/lib/utils/debug-harness.d.ts +23 -0
  126. package/src/lib/utils/debug-harness.js +88 -0
  127. package/src/lib/utils/debug-harness.js.map +1 -0
  128. package/src/lib/utils/debug-log-file.d.ts +5 -0
  129. package/src/lib/utils/debug-log-file.js +56 -0
  130. package/src/lib/utils/debug-log-file.js.map +1 -0
  131. package/src/lib/utils/debug.d.ts +28 -0
  132. package/src/lib/utils/debug.js +39 -0
  133. package/src/lib/utils/debug.js.map +1 -0
  134. package/src/lib/utils/devkit.d.ts +6 -6
  135. package/src/lib/utils/devkit.js +34 -38
  136. package/src/lib/utils/devkit.js.map +1 -1
  137. package/src/lib/utils/hmr-candidates.d.ts +28 -28
  138. package/src/lib/utils/plugin-config.d.ts +30 -0
  139. package/src/lib/utils/plugin-config.js +64 -0
  140. package/src/lib/utils/plugin-config.js.map +1 -0
  141. package/src/lib/utils/rolldown.d.ts +2 -0
  142. package/src/lib/utils/rolldown.js +12 -0
  143. package/src/lib/utils/rolldown.js.map +1 -0
  144. package/src/lib/utils/source-file-cache.d.ts +8 -15
  145. package/src/lib/utils/source-file-cache.js +35 -37
  146. package/src/lib/utils/source-file-cache.js.map +1 -1
  147. package/src/lib/utils/tailwind-reference.d.ts +12 -0
  148. package/src/lib/utils/tailwind-reference.js +99 -0
  149. package/src/lib/utils/tailwind-reference.js.map +1 -0
  150. package/src/lib/utils/virtual-ids.d.ts +8 -0
  151. package/src/lib/utils/virtual-ids.js +35 -0
  152. package/src/lib/utils/virtual-ids.js.map +1 -0
  153. package/src/lib/utils/virtual-resources.d.ts +47 -0
  154. package/src/lib/utils/virtual-resources.js +89 -0
  155. package/src/lib/utils/virtual-resources.js.map +1 -0
  156. package/src/test-setup.d.ts +2 -0
  157. package/setup-vitest.d.ts +0 -4
  158. package/setup-vitest.js +0 -215
  159. package/setup-vitest.js.map +0 -1
  160. package/src/lib/models.js +0 -1
  161. package/src/lib/models.js.map +0 -1
  162. package/src/lib/tools/README.md +0 -3
  163. package/src/lib/tools/src/index.d.ts +0 -0
  164. package/src/lib/tools/src/index.js.map +0 -1
  165. package/src/lib/utils/compiler-plugin-options.js +0 -1
  166. package/src/lib/utils/compiler-plugin-options.js.map +0 -1
  167. package/src/lib/utils/hmr-candidates.js +0 -272
  168. package/src/lib/utils/hmr-candidates.js.map +0 -1
@@ -1,48 +1,258 @@
1
- import { NgtscProgram } from '@angular/compiler-cli';
2
- import * as ts from 'typescript';
3
- import { Plugin } from 'vite';
4
- import { FileReplacement } from './plugins/file-replacements.plugin.js';
1
+ import { NgtscProgram } from "@angular/compiler-cli";
2
+ import * as ts from "typescript";
3
+ import { ModuleNode, Plugin, ViteDevServer } from "vite";
4
+ import type { StylePreprocessor } from "./style-preprocessor.js";
5
+ import { type DebugOption } from "./utils/debug.js";
6
+ import { FileReplacement } from "./plugins/file-replacements.plugin.js";
7
+ import { AnalogStylesheetRegistry } from "./stylesheet-registry.js";
8
+ import { AngularStylePipelineOptions } from "./style-pipeline.js";
5
9
  export declare enum DiagnosticModes {
6
- None = 0,
7
- Option = 1,
8
- Syntactic = 2,
9
- Semantic = 4,
10
- All = 7
10
+ None = 0,
11
+ Option = 1,
12
+ Syntactic = 2,
13
+ Semantic = 4,
14
+ All = 7
11
15
  }
12
16
  export interface PluginOptions {
13
- tsconfig?: string | (() => string);
14
- workspaceRoot?: string;
15
- inlineStylesExtension?: string;
16
- jit?: boolean;
17
- advanced?: {
18
- /**
19
- * Custom TypeScript transformers that are run before Angular compilation
20
- */
21
- tsTransformers?: ts.CustomTransformers;
22
- };
23
- supportedBrowsers?: string[];
24
- transformFilter?: (code: string, id: string) => boolean;
25
- /**
26
- * Additional files to include in compilation
27
- */
28
- include?: string[];
29
- additionalContentDirs?: string[];
30
- liveReload?: boolean;
31
- disableTypeChecking?: boolean;
32
- fileReplacements?: FileReplacement[];
33
- experimental?: {
34
- useAngularCompilationAPI?: boolean;
35
- };
17
+ tsconfig?: string | (() => string);
18
+ workspaceRoot?: string;
19
+ inlineStylesExtension?: string;
20
+ jit?: boolean;
21
+ advanced?: {
22
+ /**
23
+ * Custom TypeScript transformers that are run before Angular compilation
24
+ */
25
+ tsTransformers?: ts.CustomTransformers;
26
+ };
27
+ supportedBrowsers?: string[];
28
+ transformFilter?: (code: string, id: string) => boolean;
29
+ /**
30
+ * Additional files to include in compilation
31
+ */
32
+ include?: string[];
33
+ additionalContentDirs?: string[];
34
+ /**
35
+ * Enables Analog's Angular live-reload/HMR pipeline during development/watch mode.
36
+ *
37
+ * This is separate from Vite's `server.hmr` option, which configures the
38
+ * HMR client transport.
39
+ *
40
+ * Defaults to `true` for watch mode. Set to `false` to disable Angular
41
+ * reload updates while keeping other stylesheet externalization behavior
42
+ * available when needed.
43
+ */
44
+ liveReload?: boolean;
45
+ disableTypeChecking?: boolean;
46
+ fileReplacements?: FileReplacement[];
47
+ /**
48
+ * Opt into the fast compile path. Skips Angular's template type-checking
49
+ * and routes compilation through an internal single-pass transform.
50
+ * Defaults to `false`.
51
+ */
52
+ fastCompile?: boolean;
53
+ /**
54
+ * Compilation output mode used when `fastCompile` is enabled.
55
+ * - `'full'` (default): Emit final Ivy definitions for application builds.
56
+ * - `'partial'`: Emit partial declarations for library publishing.
57
+ */
58
+ fastCompileMode?: "full" | "partial";
59
+ experimental?: {
60
+ useAngularCompilationAPI?: boolean;
61
+ };
62
+ /**
63
+ * Enable debug logging for specific scopes.
64
+ *
65
+ * - `true` → enables all `analog:angular:*` scopes
66
+ * - `string[]` → enables listed namespaces (e.g. `['analog:angular:tailwind']`)
67
+ * - `{ scopes?, mode? }` → object form with optional `mode: 'build' | 'dev'`
68
+ * to restrict output to a specific Vite command (omit for both)
69
+ *
70
+ * Also responds to the `DEBUG` env var (Node.js) or `localStorage.debug`
71
+ * (browser), using the `obug` convention.
72
+ */
73
+ debug?: DebugOption;
74
+ /**
75
+ * Optional preprocessor that transforms component CSS before it enters Vite's
76
+ * preprocessCSS pipeline. Runs on every component stylesheet (both external
77
+ * `.component.css` files and inline `styles: [...]` blocks).
78
+ *
79
+ * @param code - Raw CSS content of the component stylesheet
80
+ * @param filename - Resolved file path of the stylesheet (or containing .ts file for inline styles)
81
+ * @returns Transformed CSS string, or the original code if no transformation is needed
82
+ */
83
+ stylePreprocessor?: StylePreprocessor;
84
+ /**
85
+ * Experimental Angular stylesheet-resource hooks for community-maintained
86
+ * style-pipeline plugins.
87
+ *
88
+ * These hooks run inside the Angular resource pipeline, which is the seam a
89
+ * standalone Vite plugin cannot own on its own.
90
+ */
91
+ stylePipeline?: AngularStylePipelineOptions;
92
+ /**
93
+ * First-class Tailwind CSS v4 integration for Angular component styles.
94
+ *
95
+ * Angular's compiler processes component CSS through Vite's `preprocessCSS()`,
96
+ * which runs `@tailwindcss/vite` — but each component stylesheet is processed
97
+ * in isolation without access to the root Tailwind configuration (prefix, @theme,
98
+ * @custom-variant, @plugin definitions). This causes errors like:
99
+ *
100
+ * "Cannot apply utility class `sa:grid` because the `sa` variant does not exist"
101
+ *
102
+ * The `tailwindCss` option solves this by auto-injecting a `@reference` directive
103
+ * into every component CSS file that uses Tailwind utilities, pointing it to the
104
+ * root Tailwind stylesheet so `@tailwindcss/vite` can resolve the full configuration.
105
+ *
106
+ * @example Basic usage — reference a root Tailwind CSS file:
107
+ * ```ts
108
+ * import { resolve } from 'node:path';
109
+ *
110
+ * angular({
111
+ * tailwindCss: {
112
+ * rootStylesheet: resolve(__dirname, 'src/styles/tailwind.css'),
113
+ * },
114
+ * })
115
+ * ```
116
+ *
117
+ * @example With prefix detection — only inject for files using specific prefixes:
118
+ * ```ts
119
+ * angular({
120
+ * tailwindCss: {
121
+ * rootStylesheet: resolve(__dirname, 'src/styles/tailwind.css'),
122
+ * // Only inject @reference into files that use these prefixed classes
123
+ * prefixes: ['sa:', 'tw:'],
124
+ * },
125
+ * })
126
+ * ```
127
+ *
128
+ * @example AnalogJS platform — passed through the `vite` option:
129
+ * ```ts
130
+ * analog({
131
+ * vite: {
132
+ * tailwindCss: {
133
+ * rootStylesheet: resolve(__dirname, '../../../libs/meritos/tailwind.config.css'),
134
+ * },
135
+ * },
136
+ * })
137
+ * ```
138
+ */
139
+ tailwindCss?: {
140
+ /**
141
+ * Absolute path to the root Tailwind CSS file that contains `@import "tailwindcss"`,
142
+ * `@theme`, `@custom-variant`, and `@plugin` definitions.
143
+ *
144
+ * A `@reference` directive pointing to this file will be auto-injected into
145
+ * component CSS files that use Tailwind utilities.
146
+ */
147
+ rootStylesheet: string;
148
+ /**
149
+ * Optional list of class prefixes to detect (e.g. `['sa:', 'tw:']`).
150
+ * When provided, `@reference` is only injected into component CSS files that
151
+ * contain at least one of these prefixes. When omitted, `@reference` is injected
152
+ * into all component CSS files that contain `@apply` or `@` directives.
153
+ *
154
+ * @default undefined — inject into all component CSS files with `@apply`
155
+ */
156
+ prefixes?: string[];
157
+ };
36
158
  }
159
+ export declare function normalizeIncludeGlob(workspaceRoot: string, glob: string): string;
160
+ export declare function evictDeletedFileMetadata(file: string, { removeActiveGraphMetadata, removeStyleOwnerMetadata, classNamesMap, fileTransformMap }: {
161
+ removeActiveGraphMetadata: (file: string) => void;
162
+ removeStyleOwnerMetadata: (file: string) => void;
163
+ classNamesMap: Map<string, string>;
164
+ fileTransformMap: Map<string, string>;
165
+ }): void;
166
+ export declare function injectViteIgnoreForHmrMetadata(code: string): string;
167
+ export declare function isIgnoredHmrFile(file: string): boolean;
168
+ /**
169
+ * Builds a resolved stylePreprocessor function from plugin options.
170
+ *
171
+ * When `tailwindCss` is configured, creates an injector that prepends
172
+ * `@reference "<rootStylesheet>"` into component CSS that uses Tailwind
173
+ * utilities. Uses absolute paths because Angular's externalRuntimeStyles
174
+ * serves component CSS as virtual modules (hash-based IDs) with no
175
+ * meaningful directory — relative paths can't resolve from a hash.
176
+ *
177
+ * If both `tailwindCss` and `stylePreprocessor` are provided, they are
178
+ * chained: Tailwind reference injection runs first, then the user's
179
+ * custom preprocessor.
180
+ */
181
+ export declare function buildStylePreprocessor(options?: PluginOptions): StylePreprocessor | undefined;
37
182
  export declare function angular(options?: PluginOptions): Plugin[];
38
- export declare function getFileMetadata(program: ts.BuilderProgram, angularCompiler?: NgtscProgram['compiler'], liveReload?: boolean, disableTypeChecking?: boolean): (file: string) => {
39
- errors?: string[];
40
- warnings?: (string | ts.DiagnosticMessageChain)[];
41
- hmrUpdateCode?: string | null;
42
- hmrEligible?: boolean;
183
+ export declare function createFsWatcherCacheInvalidator(invalidateFsCaches: () => void, invalidateTsconfigCaches: () => void, performCompilation: () => Promise<void>): () => Promise<void>;
184
+ /**
185
+ * Convert Analog/Angular CLI-style file replacements into the flat record
186
+ * expected by `AngularHostOptions.fileReplacements`.
187
+ *
188
+ * Only browser replacements (`{ replace, with }`) are converted. SSR-only
189
+ * replacements (`{ replace, ssr }`) are left for the Vite runtime plugin to
190
+ * handle — they should not be baked into the Angular compilation host because
191
+ * that would apply them to both browser and server builds.
192
+ *
193
+ * Relative paths are resolved against `workspaceRoot` so that the host
194
+ * receives the same absolute paths it would get from the Angular CLI.
195
+ */
196
+ export declare function toAngularCompilationFileReplacements(replacements: FileReplacement[], workspaceRoot: string): Record<string, string> | undefined;
197
+ /**
198
+ * Map Angular's `templateUpdates` (keyed by `encodedFilePath@ClassName`)
199
+ * back to absolute file paths with their associated HMR code and component
200
+ * class name.
201
+ *
202
+ * Angular's private Compilation API emits template update keys in the form
203
+ * `encodeURIComponent(relativePath + '@' + className)`. We decode and resolve
204
+ * them so the caller can look up updates by the same normalized absolute path
205
+ * used elsewhere in the plugin (`outputFiles`, `classNames`, etc.).
206
+ */
207
+ export declare function mapTemplateUpdatesToFiles(templateUpdates: ReadonlyMap<string, string> | undefined): Map<string, {
208
+ className: string;
209
+ code: string;
210
+ }>;
211
+ /**
212
+ * Returns every live Vite module that can legitimately represent a changed
213
+ * Angular resource file.
214
+ *
215
+ * For normal files, `getModulesByFile()` is enough. For Angular component
216
+ * stylesheets, it is not: the browser often holds virtual hashed requests
217
+ * (`/abc123.css?direct&ngcomp=...` and `/abc123.css?ngcomp=...`) that are no
218
+ * longer discoverable from the original source path alone. We therefore merge:
219
+ * - watcher event modules
220
+ * - module-graph modules by source file
221
+ * - registry-tracked live request ids resolved back through the module graph
222
+ */
223
+ export declare function getModulesForChangedFile(server: ViteDevServer, file: string, eventModules?: readonly ModuleNode[], stylesheetRegistry?: AnalogStylesheetRegistry): Promise<ModuleNode[]>;
224
+ export declare function isModuleForChangedResource(mod: ModuleNode, changedFile: string, stylesheetRegistry?: AnalogStylesheetRegistry): boolean;
225
+ /**
226
+ * Refreshes any already-served stylesheet records that map back to a changed
227
+ * source file.
228
+ *
229
+ * This is the critical bridge for externalized Angular component styles during
230
+ * HMR. Angular's resource watcher can notice that `/src/...component.css`
231
+ * changed before Angular recompilation has had a chance to repopulate the
232
+ * stylesheet registry. If we emit a CSS update against the existing virtual
233
+ * stylesheet id without first refreshing the registry content, the browser gets
234
+ * a hot update containing stale CSS. By rewriting the existing served records
235
+ * from disk up front, HMR always pushes the latest source content.
236
+ */
237
+ export declare function refreshStylesheetRegistryForFile(file: string, stylesheetRegistry?: AnalogStylesheetRegistry, stylePreprocessor?: StylePreprocessor): void;
238
+ export declare function findComponentStylesheetWrapperModules(server: ViteDevServer, changedFile: string, directModule: ModuleNode, fileModules: ModuleNode[], stylesheetRegistry?: AnalogStylesheetRegistry): Promise<ModuleNode[]>;
239
+ interface TemplateClassBindingIssue {
240
+ line: number;
241
+ column: number;
242
+ snippet: string;
243
+ }
244
+ export declare function findStaticClassAndBoundClassConflicts(template: string): TemplateClassBindingIssue[];
245
+ export declare function findBoundClassAndNgClassConflicts(template: string): TemplateClassBindingIssue[];
246
+ export declare function findTemplateOwnerModules(server: ViteDevServer, resourceFile: string): ModuleNode[];
247
+ export declare function getFileMetadata(program: ts.BuilderProgram, angularCompiler?: NgtscProgram["compiler"], hmrEnabled?: boolean, disableTypeChecking?: boolean): (file: string) => {
248
+ errors?: string[];
249
+ warnings?: (string | ts.DiagnosticMessageChain)[];
250
+ hmrUpdateCode?: string | null;
251
+ hmrEligible?: boolean;
43
252
  };
44
253
  /**
45
- * Checks for vitest run from the command line
46
- * @returns boolean
47
- */
254
+ * Checks for vitest run from the command line
255
+ * @returns boolean
256
+ */
48
257
  export declare function isTestWatchMode(args?: string[]): boolean;
258
+ export {};