@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.
- package/COMPILER.md +474 -0
- package/README.md +5 -0
- package/package.json +51 -0
- package/src/index.d.ts +5 -0
- package/src/index.js +6 -0
- package/src/index.js.map +1 -0
- package/src/lib/ast-translator.d.ts +40 -0
- package/src/lib/ast-translator.js +243 -0
- package/src/lib/ast-translator.js.map +1 -0
- package/src/lib/compile.d.ts +24 -0
- package/src/lib/compile.js +630 -0
- package/src/lib/compile.js.map +1 -0
- package/src/lib/defer.d.ts +23 -0
- package/src/lib/defer.js +158 -0
- package/src/lib/defer.js.map +1 -0
- package/src/lib/dts-reader.d.ts +25 -0
- package/src/lib/dts-reader.js +326 -0
- package/src/lib/dts-reader.js.map +1 -0
- package/src/lib/hmr.d.ts +12 -0
- package/src/lib/hmr.js +49 -0
- package/src/lib/hmr.js.map +1 -0
- package/src/lib/index.d.ts +5 -0
- package/src/lib/index.js +6 -0
- package/src/lib/index.js.map +1 -0
- package/src/lib/jit-metadata.d.ts +11 -0
- package/src/lib/jit-metadata.js +201 -0
- package/src/lib/jit-metadata.js.map +1 -0
- package/src/lib/jit-transform.d.ts +21 -0
- package/src/lib/jit-transform.js +207 -0
- package/src/lib/jit-transform.js.map +1 -0
- package/src/lib/js-emitter.d.ts +8 -0
- package/src/lib/js-emitter.js +317 -0
- package/src/lib/js-emitter.js.map +1 -0
- package/src/lib/metadata.d.ts +36 -0
- package/src/lib/metadata.js +465 -0
- package/src/lib/metadata.js.map +1 -0
- package/src/lib/registry.d.ts +32 -0
- package/src/lib/registry.js +177 -0
- package/src/lib/registry.js.map +1 -0
- package/src/lib/resource-inliner.d.ts +17 -0
- package/src/lib/resource-inliner.js +109 -0
- package/src/lib/resource-inliner.js.map +1 -0
- package/src/lib/style-ast.d.ts +8 -0
- package/src/lib/style-ast.js +110 -0
- package/src/lib/style-ast.js.map +1 -0
- package/src/lib/styles.d.ts +13 -0
- package/src/lib/styles.js +60 -0
- package/src/lib/styles.js.map +1 -0
- package/src/lib/utils.d.ts +8 -0
- package/src/lib/utils.js +71 -0
- package/src/lib/utils.js.map +1 -0
- package/vite.config.d.ts +2 -0
- package/vite.config.js +19 -0
- 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
|
+
};
|
package/src/lib/defer.js
ADDED
|
@@ -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"}
|
package/src/lib/hmr.d.ts
ADDED
|
@@ -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;
|