@analogjs/angular-compiler 2.5.0-beta.1

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 (54) hide show
  1. package/COMPILER.md +474 -0
  2. package/README.md +5 -0
  3. package/package.json +51 -0
  4. package/src/index.d.ts +5 -0
  5. package/src/index.js +6 -0
  6. package/src/index.js.map +1 -0
  7. package/src/lib/ast-translator.d.ts +40 -0
  8. package/src/lib/ast-translator.js +243 -0
  9. package/src/lib/ast-translator.js.map +1 -0
  10. package/src/lib/compile.d.ts +24 -0
  11. package/src/lib/compile.js +630 -0
  12. package/src/lib/compile.js.map +1 -0
  13. package/src/lib/defer.d.ts +23 -0
  14. package/src/lib/defer.js +158 -0
  15. package/src/lib/defer.js.map +1 -0
  16. package/src/lib/dts-reader.d.ts +25 -0
  17. package/src/lib/dts-reader.js +326 -0
  18. package/src/lib/dts-reader.js.map +1 -0
  19. package/src/lib/hmr.d.ts +12 -0
  20. package/src/lib/hmr.js +49 -0
  21. package/src/lib/hmr.js.map +1 -0
  22. package/src/lib/index.d.ts +5 -0
  23. package/src/lib/index.js +6 -0
  24. package/src/lib/index.js.map +1 -0
  25. package/src/lib/jit-metadata.d.ts +11 -0
  26. package/src/lib/jit-metadata.js +201 -0
  27. package/src/lib/jit-metadata.js.map +1 -0
  28. package/src/lib/jit-transform.d.ts +21 -0
  29. package/src/lib/jit-transform.js +207 -0
  30. package/src/lib/jit-transform.js.map +1 -0
  31. package/src/lib/js-emitter.d.ts +8 -0
  32. package/src/lib/js-emitter.js +317 -0
  33. package/src/lib/js-emitter.js.map +1 -0
  34. package/src/lib/metadata.d.ts +36 -0
  35. package/src/lib/metadata.js +465 -0
  36. package/src/lib/metadata.js.map +1 -0
  37. package/src/lib/registry.d.ts +32 -0
  38. package/src/lib/registry.js +177 -0
  39. package/src/lib/registry.js.map +1 -0
  40. package/src/lib/resource-inliner.d.ts +17 -0
  41. package/src/lib/resource-inliner.js +109 -0
  42. package/src/lib/resource-inliner.js.map +1 -0
  43. package/src/lib/style-ast.d.ts +8 -0
  44. package/src/lib/style-ast.js +110 -0
  45. package/src/lib/style-ast.js.map +1 -0
  46. package/src/lib/styles.d.ts +13 -0
  47. package/src/lib/styles.js +60 -0
  48. package/src/lib/styles.js.map +1 -0
  49. package/src/lib/utils.d.ts +8 -0
  50. package/src/lib/utils.js +71 -0
  51. package/src/lib/utils.js.map +1 -0
  52. package/vite.config.d.ts +2 -0
  53. package/vite.config.js +19 -0
  54. package/vite.config.js.map +1 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compile.js","sourceRoot":"","sources":["../../../../../packages/angular-compiler/src/lib/compile.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ import * as ts from 'typescript';
2
+ import { ComponentRegistry } from './registry.js';
3
+ /** Recursively collect all DeferredBlock nodes from a template AST. */
4
+ export declare function collectDeferBlocks(nodes: any[]): any[];
5
+ /** Collect element tag names from template AST nodes recursively. */
6
+ export declare function collectElementNames(nodes: any[]): Set<string>;
7
+ /** Build import path map: className → modulePath from source file imports. */
8
+ export declare function buildImportMap(sf: ts.SourceFile): Map<string, string>;
9
+ /**
10
+ * Build defer block dependency map with dynamic import() expressions.
11
+ *
12
+ * For each defer block, identifies which imported components are only used
13
+ * inside defer blocks (not in the eager template), and generates dynamic
14
+ * import expressions for lazy loading.
15
+ *
16
+ * Returns:
17
+ * - blocks: Map<DeferredBlock, Expression | null> for compileComponentFromMetadata
18
+ * - deferredImports: Set<string> of class names that should be removed from static imports
19
+ */
20
+ export declare function buildDeferDependencyMap(parsedTemplate: any, sourceFile: ts.SourceFile, registry: ComponentRegistry | undefined, localSelectors: Map<string, string>): {
21
+ blocks: Map<any, any>;
22
+ deferredImports: Set<string>;
23
+ };
@@ -0,0 +1,158 @@
1
+ import * as ts from 'typescript';
2
+ import * as o from '@angular/compiler';
3
+ /** Recursively collect all DeferredBlock nodes from a template AST. */
4
+ export function collectDeferBlocks(nodes) {
5
+ const result = [];
6
+ function walk(node) {
7
+ if (!node)
8
+ return;
9
+ if (node.constructor?.name === 'DeferredBlock') {
10
+ result.push(node);
11
+ }
12
+ // Walk all possible child structures across block types:
13
+ // Element/Template: children
14
+ // IfBlock: branches (each has children)
15
+ // ForLoopBlock: children, empty (has children)
16
+ // SwitchBlock: cases (each has children)
17
+ // DeferredBlock: children, placeholder/loading/error (each has children)
18
+ if (Array.isArray(node.children))
19
+ node.children.forEach(walk);
20
+ if (Array.isArray(node.branches))
21
+ node.branches.forEach(walk);
22
+ if (Array.isArray(node.cases))
23
+ node.cases.forEach(walk);
24
+ if (node.empty?.children)
25
+ node.empty.children.forEach(walk);
26
+ if (node.placeholder?.children)
27
+ node.placeholder.children.forEach(walk);
28
+ if (node.loading?.children)
29
+ node.loading.children.forEach(walk);
30
+ if (node.error?.children)
31
+ node.error.children.forEach(walk);
32
+ }
33
+ nodes.forEach(walk);
34
+ return result;
35
+ }
36
+ /** Collect element tag names from template AST nodes recursively. */
37
+ export function collectElementNames(nodes) {
38
+ const result = new Set();
39
+ function walk(node) {
40
+ if (!node)
41
+ return;
42
+ if (node.constructor?.name === 'Element')
43
+ result.add(node.name);
44
+ if (Array.isArray(node.children))
45
+ node.children.forEach(walk);
46
+ if (Array.isArray(node.branches))
47
+ node.branches.forEach(walk);
48
+ if (Array.isArray(node.cases))
49
+ node.cases.forEach(walk);
50
+ if (node.empty?.children)
51
+ node.empty.children.forEach(walk);
52
+ }
53
+ nodes.forEach(walk);
54
+ return result;
55
+ }
56
+ /** Build import path map: className → modulePath from source file imports. */
57
+ export function buildImportMap(sf) {
58
+ const result = new Map();
59
+ for (const stmt of sf.statements) {
60
+ if (!ts.isImportDeclaration(stmt) || !stmt.importClause)
61
+ continue;
62
+ const modulePath = stmt.moduleSpecifier.text;
63
+ const clause = stmt.importClause;
64
+ if (clause.name)
65
+ result.set(clause.name.text, modulePath);
66
+ if (clause.namedBindings && ts.isNamedImports(clause.namedBindings)) {
67
+ for (const el of clause.namedBindings.elements) {
68
+ result.set(el.name.text, modulePath);
69
+ }
70
+ }
71
+ }
72
+ return result;
73
+ }
74
+ /**
75
+ * Build defer block dependency map with dynamic import() expressions.
76
+ *
77
+ * For each defer block, identifies which imported components are only used
78
+ * inside defer blocks (not in the eager template), and generates dynamic
79
+ * import expressions for lazy loading.
80
+ *
81
+ * Returns:
82
+ * - blocks: Map<DeferredBlock, Expression | null> for compileComponentFromMetadata
83
+ * - deferredImports: Set<string> of class names that should be removed from static imports
84
+ */
85
+ export function buildDeferDependencyMap(parsedTemplate, sourceFile, registry, localSelectors) {
86
+ const deferBlocks = collectDeferBlocks(parsedTemplate.nodes);
87
+ if (deferBlocks.length === 0) {
88
+ return { blocks: new Map(), deferredImports: new Set() };
89
+ }
90
+ // Collect all element names in eager (non-defer) template parts
91
+ const allElements = collectElementNames(parsedTemplate.nodes);
92
+ const deferElements = new Set();
93
+ for (const block of deferBlocks) {
94
+ const elements = collectElementNames(block.children || []);
95
+ for (const el of elements)
96
+ deferElements.add(el);
97
+ }
98
+ // Eager elements = all elements minus those only in defer blocks
99
+ // (An element is eager if it appears anywhere outside defer blocks too)
100
+ // Simple approach: collect elements from non-defer top-level nodes
101
+ const eagerElements = new Set();
102
+ for (const node of parsedTemplate.nodes) {
103
+ if (node.constructor?.name !== 'DeferredBlock') {
104
+ const names = collectElementNames([node]);
105
+ for (const n of names)
106
+ eagerElements.add(n);
107
+ }
108
+ }
109
+ // Build selector → className map from registry + local selectors
110
+ const selectorToClass = new Map();
111
+ if (registry) {
112
+ for (const [className, entry] of registry) {
113
+ if (entry.selector)
114
+ selectorToClass.set(entry.selector, className);
115
+ }
116
+ }
117
+ for (const [className, selector] of localSelectors) {
118
+ selectorToClass.set(selector, className);
119
+ }
120
+ // Build className → importPath map
121
+ const importMap = buildImportMap(sourceFile);
122
+ // Find defer-only component class names
123
+ const deferredImports = new Set();
124
+ const deferOnlyElements = new Set();
125
+ for (const el of deferElements) {
126
+ if (!eagerElements.has(el))
127
+ deferOnlyElements.add(el);
128
+ }
129
+ for (const el of deferOnlyElements) {
130
+ const className = selectorToClass.get(el);
131
+ if (className && importMap.has(className)) {
132
+ deferredImports.add(className);
133
+ }
134
+ }
135
+ // Build the blocks map with dependency functions
136
+ const blocks = new Map();
137
+ for (const block of deferBlocks) {
138
+ const blockElements = collectElementNames(block.children || []);
139
+ const blockDeps = [];
140
+ for (const el of blockElements) {
141
+ const className = selectorToClass.get(el);
142
+ if (className && deferredImports.has(className)) {
143
+ const modulePath = importMap.get(className);
144
+ // () => import('./path').then(m => m.ClassName)
145
+ blockDeps.push(new o.ArrowFunctionExpr([], new o.DynamicImportExpr(new o.LiteralExpr(modulePath))));
146
+ }
147
+ }
148
+ if (blockDeps.length > 0) {
149
+ // () => [import('./a').then(...), import('./b').then(...)]
150
+ blocks.set(block, new o.ArrowFunctionExpr([], new o.LiteralArrayExpr(blockDeps)));
151
+ }
152
+ else {
153
+ blocks.set(block, null);
154
+ }
155
+ }
156
+ return { blocks, deferredImports };
157
+ }
158
+ //# sourceMappingURL=defer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defer.js","sourceRoot":"","sources":["../../../../../packages/angular-compiler/src/lib/defer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import { RegistryEntry } from './registry.js';
2
+ /**
3
+ * Scan a single .d.ts file and extract Angular directive/component/pipe
4
+ * metadata from the static ɵdir / ɵcmp / ɵpipe type declarations.
5
+ *
6
+ * This mirrors what ngtsc's DtsMetadataReader does: it reads the type
7
+ * parameters of ɵɵDirectiveDeclaration / ɵɵComponentDeclaration /
8
+ * ɵɵPipeDeclaration to discover selectors, inputs, and outputs for
9
+ * pre-compiled Angular packages.
10
+ */
11
+ export declare function scanDtsFile(code: string, fileName: string): RegistryEntry[];
12
+ /**
13
+ * Resolve a package's directory in node_modules, scan all its .d.ts files,
14
+ * and return RegistryEntry[] for every Angular declaration found.
15
+ *
16
+ * @param packageName e.g. "@angular/router"
17
+ * @param basePath project root (where node_modules lives)
18
+ */
19
+ export declare function scanPackageDts(packageName: string, basePath: string): RegistryEntry[];
20
+ /**
21
+ * Parse a source file with OXC and return the set of bare-specifier package
22
+ * names it imports (e.g. "@angular/router", "rxjs"). Relative imports are
23
+ * skipped.
24
+ */
25
+ export declare function collectImportedPackages(code: string, fileName: string): Set<string>;
@@ -0,0 +1,326 @@
1
+ import { parseSync } from 'oxc-parser';
2
+ import * as fs from 'node:fs';
3
+ import * as path from 'node:path';
4
+ /**
5
+ * Scan a single .d.ts file and extract Angular directive/component/pipe
6
+ * metadata from the static ɵdir / ɵcmp / ɵpipe type declarations.
7
+ *
8
+ * This mirrors what ngtsc's DtsMetadataReader does: it reads the type
9
+ * parameters of ɵɵDirectiveDeclaration / ɵɵComponentDeclaration /
10
+ * ɵɵPipeDeclaration to discover selectors, inputs, and outputs for
11
+ * pre-compiled Angular packages.
12
+ */
13
+ export function scanDtsFile(code, fileName) {
14
+ // Fast pre-filter — skip files that can't contain Angular declarations
15
+ if (!code.includes('DirectiveDeclaration') &&
16
+ !code.includes('ComponentDeclaration') &&
17
+ !code.includes('PipeDeclaration') &&
18
+ !code.includes('NgModuleDeclaration'))
19
+ return [];
20
+ const { program } = parseSync(fileName, code);
21
+ const entries = [];
22
+ visitStatements(program.body, fileName, entries);
23
+ return entries;
24
+ }
25
+ /**
26
+ * Resolve a package's directory in node_modules, scan all its .d.ts files,
27
+ * and return RegistryEntry[] for every Angular declaration found.
28
+ *
29
+ * @param packageName e.g. "@angular/router"
30
+ * @param basePath project root (where node_modules lives)
31
+ */
32
+ export function scanPackageDts(packageName, basePath) {
33
+ // Walk up from basePath to find the nearest node_modules containing the package.
34
+ // This handles monorepos where node_modules is at the workspace root,
35
+ // not in the project subdirectory.
36
+ let pkgDir = '';
37
+ let searchBase = basePath;
38
+ while (searchBase !== path.dirname(searchBase)) {
39
+ const candidate = path.join(searchBase, 'node_modules', packageName);
40
+ if (fs.existsSync(candidate)) {
41
+ pkgDir = candidate;
42
+ break;
43
+ }
44
+ searchBase = path.dirname(searchBase);
45
+ }
46
+ if (!pkgDir)
47
+ return [];
48
+ // Check for a "types" directory first (Angular packages use this),
49
+ // then fall back to the package root.
50
+ const typesDir = path.join(pkgDir, 'types');
51
+ const searchDir = fs.existsSync(typesDir) ? typesDir : pkgDir;
52
+ const dtsFiles = collectDtsFiles(searchDir);
53
+ const entries = [];
54
+ for (const file of dtsFiles) {
55
+ try {
56
+ const code = fs.readFileSync(file, 'utf-8');
57
+ entries.push(...scanDtsFile(code, file));
58
+ }
59
+ catch {
60
+ // Skip unreadable files
61
+ }
62
+ }
63
+ return entries;
64
+ }
65
+ /**
66
+ * Parse a source file with OXC and return the set of bare-specifier package
67
+ * names it imports (e.g. "@angular/router", "rxjs"). Relative imports are
68
+ * skipped.
69
+ */
70
+ export function collectImportedPackages(code, fileName) {
71
+ const packages = new Set();
72
+ const { program } = parseSync(fileName, code);
73
+ for (const stmt of program.body) {
74
+ if (stmt.type !== 'ImportDeclaration')
75
+ continue;
76
+ const specifier = stmt.source?.value;
77
+ if (!specifier || specifier.startsWith('.'))
78
+ continue;
79
+ const parts = specifier.split('/');
80
+ packages.add(specifier.startsWith('@') ? parts.slice(0, 2).join('/') : parts[0]);
81
+ }
82
+ return packages;
83
+ }
84
+ // ---------------------------------------------------------------------------
85
+ // Internal helpers
86
+ // ---------------------------------------------------------------------------
87
+ function visitStatements(stmts, fileName, entries) {
88
+ for (const stmt of stmts) {
89
+ // Unwrap exports: `export declare class ...` / `export default class ...`
90
+ const decl = stmt.type === 'ExportNamedDeclaration' ||
91
+ stmt.type === 'ExportDefaultDeclaration'
92
+ ? stmt.declaration
93
+ : stmt;
94
+ if (!decl)
95
+ continue;
96
+ // Recurse into `declare module "..." { ... }` blocks
97
+ if (decl.type === 'TSModuleDeclaration' && decl.body?.body) {
98
+ visitStatements(decl.body.body, fileName, entries);
99
+ continue;
100
+ }
101
+ if (decl.type !== 'ClassDeclaration' || !decl.id?.name)
102
+ continue;
103
+ const className = decl.id.name;
104
+ const members = decl.body?.body || [];
105
+ for (const member of members) {
106
+ if (member.type !== 'PropertyDefinition' || !member.static)
107
+ continue;
108
+ const propName = member.key?.name;
109
+ // Read the type annotation: e.g. `i0.ɵɵDirectiveDeclaration<...>`
110
+ const typeRef = member.typeAnnotation?.typeAnnotation;
111
+ if (!typeRef || typeRef.type !== 'TSTypeReference')
112
+ continue;
113
+ const typeName = qualifiedName(typeRef.typeName);
114
+ const typeParams = typeRef.typeArguments?.params;
115
+ if ((propName === 'ɵdir' || propName === 'ɵcmp') &&
116
+ (typeName.includes('DirectiveDeclaration') ||
117
+ typeName.includes('ComponentDeclaration')) &&
118
+ typeParams &&
119
+ typeParams.length >= 5) {
120
+ const selector = literalString(typeParams[1]);
121
+ if (!selector)
122
+ continue;
123
+ const inputs = extractInputs(typeParams[3]);
124
+ const outputs = extractOutputs(typeParams[4]);
125
+ entries.push({
126
+ selector: selector.split(',')[0].trim(),
127
+ kind: propName === 'ɵcmp' ? 'component' : 'directive',
128
+ fileName,
129
+ className,
130
+ ...(Object.keys(inputs).length > 0 ? { inputs } : {}),
131
+ ...(Object.keys(outputs).length > 0 ? { outputs } : {}),
132
+ });
133
+ }
134
+ else if (propName === 'ɵpipe' &&
135
+ typeName.includes('PipeDeclaration') &&
136
+ typeParams &&
137
+ typeParams.length >= 2) {
138
+ const pipeName = literalString(typeParams[1]);
139
+ if (!pipeName)
140
+ continue;
141
+ entries.push({
142
+ selector: pipeName,
143
+ kind: 'pipe',
144
+ pipeName,
145
+ fileName,
146
+ className,
147
+ });
148
+ }
149
+ else if (propName === 'ɵmod' &&
150
+ typeName.includes('NgModuleDeclaration') &&
151
+ typeParams &&
152
+ typeParams.length >= 4) {
153
+ // ɵɵNgModuleDeclaration<Module, Declarations, Imports, Exports>
154
+ // Extract exported class names from the 4th type param (index 3).
155
+ const exportsParam = typeParams[3];
156
+ const exportedNames = [];
157
+ if (exportsParam?.type === 'TSTupleType' && exportsParam.elementTypes) {
158
+ for (const el of exportsParam.elementTypes) {
159
+ if (el.type === 'TSTypeQuery' &&
160
+ el.exprName?.type === 'Identifier') {
161
+ exportedNames.push(el.exprName.name);
162
+ }
163
+ else if (el.type === 'TSTypeQuery' &&
164
+ el.exprName?.type === 'TSQualifiedName') {
165
+ // e.g. typeof i2.BidiModule → extract "BidiModule"
166
+ const right = el.exprName.right;
167
+ if (right?.type === 'Identifier') {
168
+ exportedNames.push(right.name);
169
+ }
170
+ }
171
+ }
172
+ }
173
+ entries.push({
174
+ selector: className,
175
+ kind: 'ngmodule',
176
+ exports: exportedNames,
177
+ fileName,
178
+ className,
179
+ });
180
+ }
181
+ }
182
+ }
183
+ }
184
+ /**
185
+ * Extract inputs from the type-argument at position [3].
186
+ *
187
+ * Handles two formats:
188
+ * v16+: { "prop": { "alias": "binding"; "required": false; "isSignal"?: true } }
189
+ * pre-v16: { "prop": "binding" }
190
+ */
191
+ function extractInputs(node) {
192
+ const inputs = {};
193
+ if (node?.type !== 'TSTypeLiteral')
194
+ return inputs;
195
+ for (const member of node.members) {
196
+ if (member.type !== 'TSPropertySignature')
197
+ continue;
198
+ const propName = keyName(member.key);
199
+ const innerType = member.typeAnnotation?.typeAnnotation;
200
+ if (!propName || !innerType)
201
+ continue;
202
+ if (innerType.type === 'TSTypeLiteral') {
203
+ // v16+ object format
204
+ let alias = propName;
205
+ let required = false;
206
+ let isSignal = false;
207
+ for (const inner of innerType.members) {
208
+ if (inner.type !== 'TSPropertySignature')
209
+ continue;
210
+ const key = keyName(inner.key);
211
+ const val = inner.typeAnnotation?.typeAnnotation;
212
+ if (!key || !val)
213
+ continue;
214
+ if (key === 'alias') {
215
+ alias = literalString(val) ?? propName;
216
+ }
217
+ else if (key === 'required') {
218
+ required = literalBoolean(val) === true;
219
+ }
220
+ else if (key === 'isSignal') {
221
+ isSignal = literalBoolean(val) === true;
222
+ }
223
+ }
224
+ inputs[propName] = {
225
+ classPropertyName: propName,
226
+ bindingPropertyName: alias,
227
+ isSignal,
228
+ required,
229
+ };
230
+ }
231
+ else {
232
+ // pre-v16 string format
233
+ const alias = literalString(innerType);
234
+ if (alias) {
235
+ inputs[propName] = {
236
+ classPropertyName: propName,
237
+ bindingPropertyName: alias,
238
+ isSignal: false,
239
+ required: false,
240
+ };
241
+ }
242
+ }
243
+ }
244
+ return inputs;
245
+ }
246
+ /**
247
+ * Extract outputs from the type-argument at position [4].
248
+ * Format: { "propName": "eventName" }
249
+ */
250
+ function extractOutputs(node) {
251
+ const outputs = {};
252
+ if (node?.type !== 'TSTypeLiteral')
253
+ return outputs;
254
+ for (const member of node.members) {
255
+ if (member.type !== 'TSPropertySignature')
256
+ continue;
257
+ const propName = keyName(member.key);
258
+ const val = member.typeAnnotation?.typeAnnotation;
259
+ if (!propName || !val)
260
+ continue;
261
+ const value = literalString(val);
262
+ if (value)
263
+ outputs[propName] = value;
264
+ }
265
+ return outputs;
266
+ }
267
+ /** Get the string name from a property key (Identifier or Literal). */
268
+ function keyName(key) {
269
+ if (!key)
270
+ return undefined;
271
+ if (key.type === 'Identifier')
272
+ return key.name;
273
+ if (key.type === 'Literal' && typeof key.value === 'string')
274
+ return key.value;
275
+ return undefined;
276
+ }
277
+ /** Build a dotted name from an Identifier or TSQualifiedName. */
278
+ function qualifiedName(node) {
279
+ if (!node)
280
+ return '';
281
+ if (node.type === 'Identifier')
282
+ return node.name;
283
+ if (node.type === 'TSQualifiedName')
284
+ return qualifiedName(node.left) + '.' + qualifiedName(node.right);
285
+ return '';
286
+ }
287
+ /** Extract a string value from a TSLiteralType node. */
288
+ function literalString(node) {
289
+ if (node?.type === 'TSLiteralType' &&
290
+ node.literal?.type === 'Literal' &&
291
+ typeof node.literal.value === 'string') {
292
+ return node.literal.value;
293
+ }
294
+ return undefined;
295
+ }
296
+ /** Extract a boolean value from a TSLiteralType node. */
297
+ function literalBoolean(node) {
298
+ if (node?.type === 'TSLiteralType' &&
299
+ node.literal?.type === 'Literal' &&
300
+ typeof node.literal.value === 'boolean') {
301
+ return node.literal.value;
302
+ }
303
+ return undefined;
304
+ }
305
+ /** Recursively collect all .d.ts files under a directory. */
306
+ function collectDtsFiles(dir) {
307
+ const results = [];
308
+ let entries;
309
+ try {
310
+ entries = fs.readdirSync(dir, { withFileTypes: true });
311
+ }
312
+ catch {
313
+ return results;
314
+ }
315
+ for (const entry of entries) {
316
+ const full = path.join(dir, entry.name);
317
+ if (entry.isDirectory() && entry.name !== 'node_modules') {
318
+ results.push(...collectDtsFiles(full));
319
+ }
320
+ else if (entry.isFile() && entry.name.endsWith('.d.ts')) {
321
+ results.push(full);
322
+ }
323
+ }
324
+ return results;
325
+ }
326
+ //# sourceMappingURL=dts-reader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dts-reader.js","sourceRoot":"","sources":["../../../../../packages/angular-compiler/src/lib/dts-reader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAGlC;;;;;;;;GAQG;AACH,MAAM,UAAU,WAAW,CAAC,IAAY,EAAE,QAAgB;IACxD,uEAAuE;IACvE,IACE,CAAC,IAAI,CAAC,QAAQ,CAAC,sBAAsB,CAAC;QACtC,CAAC,IAAI,CAAC,QAAQ,CAAC,sBAAsB,CAAC;QACtC,CAAC,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC;QACjC,CAAC,IAAI,CAAC,QAAQ,CAAC,qBAAqB,CAAC;QAErC,OAAO,EAAE,CAAC;IAEZ,MAAM,EAAE,OAAO,EAAE,GAAG,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC9C,MAAM,OAAO,GAAoB,EAAE,CAAC;IAEpC,eAAe,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;IACjD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,cAAc,CAC5B,WAAmB,EACnB,QAAgB;IAEhB,iFAAiF;IACjF,sEAAsE;IACtE,mCAAmC;IACnC,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,UAAU,GAAG,QAAQ,CAAC;IAC1B,OAAO,UAAU,KAAK,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/C,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,cAAc,EAAE,WAAW,CAAC,CAAC;QACrE,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC7B,MAAM,GAAG,SAAS,CAAC;YACnB,MAAM;QACR,CAAC;QACD,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IACxC,CAAC;IACD,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,CAAC;IAEvB,mEAAmE;IACnE,sCAAsC;IACtC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC5C,MAAM,SAAS,GAAG,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC;IAE9D,MAAM,QAAQ,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;IAC5C,MAAM,OAAO,GAAoB,EAAE,CAAC;IAEpC,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;QAC5B,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAC5C,OAAO,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;QAC3C,CAAC;QAAC,MAAM,CAAC;YACP,wBAAwB;QAC1B,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,uBAAuB,CACrC,IAAY,EACZ,QAAgB;IAEhB,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;IACnC,MAAM,EAAE,OAAO,EAAE,GAAG,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAE9C,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QAChC,IAAI,IAAI,CAAC,IAAI,KAAK,mBAAmB;YAAE,SAAS;QAChD,MAAM,SAAS,GAAW,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC;QAC7C,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,SAAS;QAEtD,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACnC,QAAQ,CAAC,GAAG,CACV,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CACnE,CAAC;IACJ,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,8EAA8E;AAC9E,mBAAmB;AACnB,8EAA8E;AAE9E,SAAS,eAAe,CACtB,KAAY,EACZ,QAAgB,EAChB,OAAwB;IAExB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,0EAA0E;QAC1E,MAAM,IAAI,GACR,IAAI,CAAC,IAAI,KAAK,wBAAwB;YACtC,IAAI,CAAC,IAAI,KAAK,0BAA0B;YACtC,CAAC,CAAC,IAAI,CAAC,WAAW;YAClB,CAAC,CAAC,IAAI,CAAC;QAEX,IAAI,CAAC,IAAI;YAAE,SAAS;QAEpB,qDAAqD;QACrD,IAAI,IAAI,CAAC,IAAI,KAAK,qBAAqB,IAAI,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC;YAC3D,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;YACnD,SAAS;QACX,CAAC;QAED,IAAI,IAAI,CAAC,IAAI,KAAK,kBAAkB,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI;YAAE,SAAS;QACjE,MAAM,SAAS,GAAW,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC;QACvC,MAAM,OAAO,GAAU,IAAI,CAAC,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC;QAE7C,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,IAAI,MAAM,CAAC,IAAI,KAAK,oBAAoB,IAAI,CAAC,MAAM,CAAC,MAAM;gBAAE,SAAS;YACrE,MAAM,QAAQ,GAAuB,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC;YAEtD,kEAAkE;YAClE,MAAM,OAAO,GAAG,MAAM,CAAC,cAAc,EAAE,cAAc,CAAC;YACtD,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,KAAK,iBAAiB;gBAAE,SAAS;YAE7D,MAAM,QAAQ,GAAG,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YACjD,MAAM,UAAU,GAAsB,OAAO,CAAC,aAAa,EAAE,MAAM,CAAC;YAEpE,IACE,CAAC,QAAQ,KAAK,MAAM,IAAI,QAAQ,KAAK,MAAM,CAAC;gBAC5C,CAAC,QAAQ,CAAC,QAAQ,CAAC,sBAAsB,CAAC;oBACxC,QAAQ,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC;gBAC5C,UAAU;gBACV,UAAU,CAAC,MAAM,IAAI,CAAC,EACtB,CAAC;gBACD,MAAM,QAAQ,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC9C,IAAI,CAAC,QAAQ;oBAAE,SAAS;gBAExB,MAAM,MAAM,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC5C,MAAM,OAAO,GAAG,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;gBAE9C,OAAO,CAAC,IAAI,CAAC;oBACX,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;oBACvC,IAAI,EAAE,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW;oBACrD,QAAQ;oBACR,SAAS;oBACT,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACrD,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACxD,CAAC,CAAC;YACL,CAAC;iBAAM,IACL,QAAQ,KAAK,OAAO;gBACpB,QAAQ,CAAC,QAAQ,CAAC,iBAAiB,CAAC;gBACpC,UAAU;gBACV,UAAU,CAAC,MAAM,IAAI,CAAC,EACtB,CAAC;gBACD,MAAM,QAAQ,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC9C,IAAI,CAAC,QAAQ;oBAAE,SAAS;gBAExB,OAAO,CAAC,IAAI,CAAC;oBACX,QAAQ,EAAE,QAAQ;oBAClB,IAAI,EAAE,MAAM;oBACZ,QAAQ;oBACR,QAAQ;oBACR,SAAS;iBACV,CAAC,CAAC;YACL,CAAC;iBAAM,IACL,QAAQ,KAAK,MAAM;gBACnB,QAAQ,CAAC,QAAQ,CAAC,qBAAqB,CAAC;gBACxC,UAAU;gBACV,UAAU,CAAC,MAAM,IAAI,CAAC,EACtB,CAAC;gBACD,gEAAgE;gBAChE,kEAAkE;gBAClE,MAAM,YAAY,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;gBACnC,MAAM,aAAa,GAAa,EAAE,CAAC;gBACnC,IAAI,YAAY,EAAE,IAAI,KAAK,aAAa,IAAI,YAAY,CAAC,YAAY,EAAE,CAAC;oBACtE,KAAK,MAAM,EAAE,IAAI,YAAY,CAAC,YAAY,EAAE,CAAC;wBAC3C,IACE,EAAE,CAAC,IAAI,KAAK,aAAa;4BACzB,EAAE,CAAC,QAAQ,EAAE,IAAI,KAAK,YAAY,EAClC,CAAC;4BACD,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;wBACvC,CAAC;6BAAM,IACL,EAAE,CAAC,IAAI,KAAK,aAAa;4BACzB,EAAE,CAAC,QAAQ,EAAE,IAAI,KAAK,iBAAiB,EACvC,CAAC;4BACD,mDAAmD;4BACnD,MAAM,KAAK,GAAG,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC;4BAChC,IAAI,KAAK,EAAE,IAAI,KAAK,YAAY,EAAE,CAAC;gCACjC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;4BACjC,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC;gBACD,OAAO,CAAC,IAAI,CAAC;oBACX,QAAQ,EAAE,SAAS;oBACnB,IAAI,EAAE,UAAU;oBAChB,OAAO,EAAE,aAAa;oBACtB,QAAQ;oBACR,SAAS;iBACV,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,SAAS,aAAa,CAAC,IAAS;IAC9B,MAAM,MAAM,GAAkC,EAAE,CAAC;IACjD,IAAI,IAAI,EAAE,IAAI,KAAK,eAAe;QAAE,OAAO,MAAM,CAAC;IAElD,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QAClC,IAAI,MAAM,CAAC,IAAI,KAAK,qBAAqB;YAAE,SAAS;QACpD,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACrC,MAAM,SAAS,GAAG,MAAM,CAAC,cAAc,EAAE,cAAc,CAAC;QACxD,IAAI,CAAC,QAAQ,IAAI,CAAC,SAAS;YAAE,SAAS;QAEtC,IAAI,SAAS,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;YACvC,qBAAqB;YACrB,IAAI,KAAK,GAAG,QAAQ,CAAC;YACrB,IAAI,QAAQ,GAAG,KAAK,CAAC;YACrB,IAAI,QAAQ,GAAG,KAAK,CAAC;YAErB,KAAK,MAAM,KAAK,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC;gBACtC,IAAI,KAAK,CAAC,IAAI,KAAK,qBAAqB;oBAAE,SAAS;gBACnD,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC/B,MAAM,GAAG,GAAG,KAAK,CAAC,cAAc,EAAE,cAAc,CAAC;gBACjD,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG;oBAAE,SAAS;gBAE3B,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;oBACpB,KAAK,GAAG,aAAa,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC;gBACzC,CAAC;qBAAM,IAAI,GAAG,KAAK,UAAU,EAAE,CAAC;oBAC9B,QAAQ,GAAG,cAAc,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC;gBAC1C,CAAC;qBAAM,IAAI,GAAG,KAAK,UAAU,EAAE,CAAC;oBAC9B,QAAQ,GAAG,cAAc,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC;gBAC1C,CAAC;YACH,CAAC;YAED,MAAM,CAAC,QAAQ,CAAC,GAAG;gBACjB,iBAAiB,EAAE,QAAQ;gBAC3B,mBAAmB,EAAE,KAAK;gBAC1B,QAAQ;gBACR,QAAQ;aACT,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,wBAAwB;YACxB,MAAM,KAAK,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;YACvC,IAAI,KAAK,EAAE,CAAC;gBACV,MAAM,CAAC,QAAQ,CAAC,GAAG;oBACjB,iBAAiB,EAAE,QAAQ;oBAC3B,mBAAmB,EAAE,KAAK;oBAC1B,QAAQ,EAAE,KAAK;oBACf,QAAQ,EAAE,KAAK;iBAChB,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;GAGG;AACH,SAAS,cAAc,CAAC,IAAS;IAC/B,MAAM,OAAO,GAA2B,EAAE,CAAC;IAC3C,IAAI,IAAI,EAAE,IAAI,KAAK,eAAe;QAAE,OAAO,OAAO,CAAC;IAEnD,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QAClC,IAAI,MAAM,CAAC,IAAI,KAAK,qBAAqB;YAAE,SAAS;QACpD,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACrC,MAAM,GAAG,GAAG,MAAM,CAAC,cAAc,EAAE,cAAc,CAAC;QAClD,IAAI,CAAC,QAAQ,IAAI,CAAC,GAAG;YAAE,SAAS;QAEhC,MAAM,KAAK,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;QACjC,IAAI,KAAK;YAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC;IACvC,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,uEAAuE;AACvE,SAAS,OAAO,CAAC,GAAQ;IACvB,IAAI,CAAC,GAAG;QAAE,OAAO,SAAS,CAAC;IAC3B,IAAI,GAAG,CAAC,IAAI,KAAK,YAAY;QAAE,OAAO,GAAG,CAAC,IAAI,CAAC;IAC/C,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS,IAAI,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ;QAAE,OAAO,GAAG,CAAC,KAAK,CAAC;IAC9E,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,iEAAiE;AACjE,SAAS,aAAa,CAAC,IAAS;IAC9B,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,CAAC;IACrB,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY;QAAE,OAAO,IAAI,CAAC,IAAI,CAAC;IACjD,IAAI,IAAI,CAAC,IAAI,KAAK,iBAAiB;QACjC,OAAO,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACpE,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,wDAAwD;AACxD,SAAS,aAAa,CAAC,IAAS;IAC9B,IACE,IAAI,EAAE,IAAI,KAAK,eAAe;QAC9B,IAAI,CAAC,OAAO,EAAE,IAAI,KAAK,SAAS;QAChC,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,KAAK,QAAQ,EACtC,CAAC;QACD,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;IAC5B,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,yDAAyD;AACzD,SAAS,cAAc,CAAC,IAAS;IAC/B,IACE,IAAI,EAAE,IAAI,KAAK,eAAe;QAC9B,IAAI,CAAC,OAAO,EAAE,IAAI,KAAK,SAAS;QAChC,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,KAAK,SAAS,EACvC,CAAC;QACD,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;IAC5B,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,6DAA6D;AAC7D,SAAS,eAAe,CAAC,GAAW;IAClC,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,IAAI,OAAoB,CAAC;IACzB,IAAI,CAAC;QACH,OAAO,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IACzD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,KAAK,CAAC,WAAW,EAAE,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;YACzD,OAAO,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;QACzC,CAAC;aAAM,IAAI,KAAK,CAAC,MAAM,EAAE,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YAC1D,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -0,0 +1,12 @@
1
+ import type { RegistryEntry } from './registry.js';
2
+ /**
3
+ * Generate HMR code using Angular's ɵɵreplaceMetadata.
4
+ *
5
+ * The applyMetadata callback re-defines ɵcmp and ɵfac on the old class
6
+ * by copying from the newly compiled class in the hot-updated module.
7
+ * ɵɵreplaceMetadata then merges the old/new definitions and recreates
8
+ * matching LViews in the component tree.
9
+ *
10
+ * Falls back to page reload if ɵɵreplaceMetadata throws.
11
+ */
12
+ export declare function generateHmrCode(components: RegistryEntry[]): string;