@vaadin/hilla-generator-utils 24.5.0-alpha7 → 24.5.0-alpha8
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.
|
@@ -5,32 +5,38 @@ export declare class NamedImportManager extends StatementRecordManager<ImportDec
|
|
|
5
5
|
#private;
|
|
6
6
|
constructor(collator: Intl.Collator);
|
|
7
7
|
add(path: string, specifier: string, isType?: boolean, uniqueId?: Identifier): Identifier;
|
|
8
|
+
remove(path: string, specifier: string): void;
|
|
8
9
|
clear(): void;
|
|
9
10
|
getIdentifier(path: string, specifier: string): Identifier | undefined;
|
|
10
|
-
|
|
11
|
+
iter(): IterableIterator<readonly [path: string, specifier: string, id: Identifier, isType: boolean]>;
|
|
11
12
|
isType(path: string, specifier: string): boolean | undefined;
|
|
12
13
|
paths(): IterableIterator<string>;
|
|
13
14
|
specifiers(): IterableIterator<readonly [path: string, specifier: string]>;
|
|
14
15
|
statementRecords(): IterableIterator<StatementRecord<ImportDeclaration>>;
|
|
16
|
+
[Symbol.iterator](): IterableIterator<readonly [path: string, specifier: string, id: Identifier, isType: boolean]>;
|
|
15
17
|
}
|
|
16
18
|
export declare class NamespaceImportManager extends StatementRecordManager<ImportDeclaration> {
|
|
17
19
|
#private;
|
|
18
20
|
add(path: string, name: string, uniqueId?: Identifier): Identifier;
|
|
19
21
|
clear(): void;
|
|
20
22
|
getIdentifier(path: string): Identifier | undefined;
|
|
21
|
-
|
|
23
|
+
iter(): IterableIterator<readonly [path: string, id: Identifier]>;
|
|
22
24
|
paths(): IterableIterator<string>;
|
|
23
25
|
statementRecords(): IterableIterator<StatementRecord<ImportDeclaration>>;
|
|
26
|
+
remove(path: string): void;
|
|
27
|
+
[Symbol.iterator](): IterableIterator<readonly [path: string, id: Identifier]>;
|
|
24
28
|
}
|
|
25
29
|
export declare class DefaultImportManager extends StatementRecordManager<ImportDeclaration> {
|
|
26
30
|
#private;
|
|
27
31
|
add(path: string, name: string, isType?: boolean, uniqueId?: Identifier): Identifier;
|
|
28
32
|
getIdentifier(path: string): Identifier | undefined;
|
|
33
|
+
remove(path: string): void;
|
|
29
34
|
clear(): void;
|
|
30
|
-
|
|
35
|
+
iter(): IterableIterator<readonly [path: string, id: Identifier, isType: boolean]>;
|
|
31
36
|
isType(path: string): boolean | undefined;
|
|
32
37
|
paths(): IterableIterator<string>;
|
|
33
38
|
statementRecords(): IterableIterator<StatementRecord<ImportDeclaration>>;
|
|
39
|
+
[Symbol.iterator](): IterableIterator<readonly [path: string, id: Identifier, isType: boolean]>;
|
|
34
40
|
}
|
|
35
41
|
export default class ImportManager implements CodeConvertable<readonly Statement[]> {
|
|
36
42
|
#private;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ImportManager.d.ts","sourceRoot":"","sources":["../src/dependencies/ImportManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,KAAK,UAAU,EAAE,KAAK,iBAAiB,EAAE,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AAEzF,OAAO,KAAK,eAAe,MAAM,sBAAsB,CAAC;AACxD,OAAO,sBAAsB,EAAE,EAAE,KAAK,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAG3F,qBAAa,kBAAmB,SAAQ,sBAAsB,CAAC,iBAAiB,CAAC;;gBAInE,QAAQ,EAAE,IAAI,CAAC,QAAQ;IAKnC,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,UAAU,GAAG,UAAU;
|
|
1
|
+
{"version":3,"file":"ImportManager.d.ts","sourceRoot":"","sources":["../src/dependencies/ImportManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,18 +18,23 @@ class NamedImportManager extends StatementRecordManager {
|
|
|
18
18
|
}
|
|
19
19
|
return record.id;
|
|
20
20
|
}
|
|
21
|
+
remove(path, specifier) {
|
|
22
|
+
const specifiers = this.#map.get(path);
|
|
23
|
+
if (specifiers) {
|
|
24
|
+
specifiers.delete(specifier);
|
|
25
|
+
if (specifiers.size === 0) {
|
|
26
|
+
this.#map.delete(path);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}
|
|
21
30
|
clear() {
|
|
22
31
|
this.#map.clear();
|
|
23
32
|
}
|
|
24
33
|
getIdentifier(path, specifier) {
|
|
25
34
|
return this.#map.get(path)?.get(specifier)?.id;
|
|
26
35
|
}
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
for (const [specifier, { id, isType }] of specifiers) {
|
|
30
|
-
yield [path, specifier, id, isType];
|
|
31
|
-
}
|
|
32
|
-
}
|
|
36
|
+
iter() {
|
|
37
|
+
return this[Symbol.iterator]();
|
|
33
38
|
}
|
|
34
39
|
isType(path, specifier) {
|
|
35
40
|
return this.#map.get(path)?.get(specifier)?.isType;
|
|
@@ -67,6 +72,13 @@ class NamedImportManager extends StatementRecordManager {
|
|
|
67
72
|
];
|
|
68
73
|
}
|
|
69
74
|
}
|
|
75
|
+
*[Symbol.iterator]() {
|
|
76
|
+
for (const [path, specifiers] of this.#map) {
|
|
77
|
+
for (const [specifier, { id, isType }] of specifiers) {
|
|
78
|
+
yield [path, specifier, id, isType];
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}
|
|
70
82
|
}
|
|
71
83
|
class NamespaceImportManager extends StatementRecordManager {
|
|
72
84
|
#map = /* @__PURE__ */ new Map();
|
|
@@ -81,10 +93,8 @@ class NamespaceImportManager extends StatementRecordManager {
|
|
|
81
93
|
getIdentifier(path) {
|
|
82
94
|
return this.#map.get(path);
|
|
83
95
|
}
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
yield id;
|
|
87
|
-
}
|
|
96
|
+
iter() {
|
|
97
|
+
return this[Symbol.iterator]();
|
|
88
98
|
}
|
|
89
99
|
paths() {
|
|
90
100
|
return this.#map.keys();
|
|
@@ -101,6 +111,14 @@ class NamespaceImportManager extends StatementRecordManager {
|
|
|
101
111
|
];
|
|
102
112
|
}
|
|
103
113
|
}
|
|
114
|
+
remove(path) {
|
|
115
|
+
this.#map.delete(path);
|
|
116
|
+
}
|
|
117
|
+
*[Symbol.iterator]() {
|
|
118
|
+
for (const [path, id] of this.#map) {
|
|
119
|
+
yield [path, id];
|
|
120
|
+
}
|
|
121
|
+
}
|
|
104
122
|
}
|
|
105
123
|
class DefaultImportManager extends StatementRecordManager {
|
|
106
124
|
#map = /* @__PURE__ */ new Map();
|
|
@@ -112,13 +130,16 @@ class DefaultImportManager extends StatementRecordManager {
|
|
|
112
130
|
getIdentifier(path) {
|
|
113
131
|
return this.#map.get(path)?.id;
|
|
114
132
|
}
|
|
133
|
+
remove(path) {
|
|
134
|
+
if (this.#map.has(path)) {
|
|
135
|
+
this.#map.delete(path);
|
|
136
|
+
}
|
|
137
|
+
}
|
|
115
138
|
clear() {
|
|
116
139
|
this.#map.clear();
|
|
117
140
|
}
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
yield [id, isType];
|
|
121
|
-
}
|
|
141
|
+
iter() {
|
|
142
|
+
return this[Symbol.iterator]();
|
|
122
143
|
}
|
|
123
144
|
isType(path) {
|
|
124
145
|
return this.#map.get(path)?.isType;
|
|
@@ -138,6 +159,11 @@ class DefaultImportManager extends StatementRecordManager {
|
|
|
138
159
|
];
|
|
139
160
|
}
|
|
140
161
|
}
|
|
162
|
+
*[Symbol.iterator]() {
|
|
163
|
+
for (const [path, { id, isType }] of this.#map) {
|
|
164
|
+
yield [path, id, isType];
|
|
165
|
+
}
|
|
166
|
+
}
|
|
141
167
|
}
|
|
142
168
|
class ImportManager {
|
|
143
169
|
default;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/dependencies/ImportManager.ts"],
|
|
4
|
-
"sourcesContent": ["import ts, { type Identifier, type ImportDeclaration, type Statement } from 'typescript';\nimport createFullyUniqueIdentifier from '../createFullyUniqueIdentifier.js';\nimport type CodeConvertable from './CodeConvertable.js';\nimport StatementRecordManager, { type StatementRecord } from './StatementRecordManager.js';\nimport { createDependencyRecord, type DependencyRecord } from './utils.js';\n\nexport class NamedImportManager extends StatementRecordManager<ImportDeclaration> {\n readonly #collator: Intl.Collator;\n readonly #map = new Map<string, Map<string, DependencyRecord>>();\n\n constructor(collator: Intl.Collator) {\n super(collator);\n this.#collator = collator;\n }\n\n add(path: string, specifier: string, isType?: boolean, uniqueId?: Identifier): Identifier {\n const record = createDependencyRecord(uniqueId ?? createFullyUniqueIdentifier(specifier), isType);\n\n if (this.#map.has(path)) {\n this.#map.get(path)!.set(specifier, record);\n } else {\n this.#map.set(path, new Map([[specifier, record]]));\n }\n\n return record.id;\n }\n\n override clear(): void {\n this.#map.clear();\n }\n\n getIdentifier(path: string, specifier: string): Identifier | undefined {\n return this.#map.get(path)?.get(specifier)?.id;\n }\n\n
|
|
5
|
-
"mappings": "AAAA,OAAO,YAAqE;AAC5E,OAAO,iCAAiC;AAExC,OAAO,gCAAsD;AAC7D,SAAS,8BAAqD;AAEvD,MAAM,2BAA2B,uBAA0C;AAAA,EACvE;AAAA,EACA,OAAO,oBAAI,IAA2C;AAAA,EAE/D,YAAY,UAAyB;AACnC,UAAM,QAAQ;AACd,SAAK,YAAY;AAAA,EACnB;AAAA,EAEA,IAAI,MAAc,WAAmB,QAAkB,UAAmC;AACxF,UAAM,SAAS,uBAAuB,YAAY,4BAA4B,SAAS,GAAG,MAAM;AAEhG,QAAI,KAAK,KAAK,IAAI,IAAI,GAAG;AACvB,WAAK,KAAK,IAAI,IAAI,EAAG,IAAI,WAAW,MAAM;AAAA,IAC5C,OAAO;AACL,WAAK,KAAK,IAAI,MAAM,oBAAI,IAAI,CAAC,CAAC,WAAW,MAAM,CAAC,CAAC,CAAC;AAAA,IACpD;AAEA,WAAO,OAAO;AAAA,EAChB;AAAA,EAES,QAAc;AACrB,SAAK,KAAK,MAAM;AAAA,EAClB;AAAA,EAEA,cAAc,MAAc,WAA2C;AACrE,WAAO,KAAK,KAAK,IAAI,IAAI,GAAG,IAAI,SAAS,GAAG;AAAA,EAC9C;AAAA,EAEA,
|
|
4
|
+
"sourcesContent": ["import ts, { type Identifier, type ImportDeclaration, type Statement } from 'typescript';\nimport createFullyUniqueIdentifier from '../createFullyUniqueIdentifier.js';\nimport type CodeConvertable from './CodeConvertable.js';\nimport StatementRecordManager, { type StatementRecord } from './StatementRecordManager.js';\nimport { createDependencyRecord, type DependencyRecord } from './utils.js';\n\nexport class NamedImportManager extends StatementRecordManager<ImportDeclaration> {\n readonly #collator: Intl.Collator;\n readonly #map = new Map<string, Map<string, DependencyRecord>>();\n\n constructor(collator: Intl.Collator) {\n super(collator);\n this.#collator = collator;\n }\n\n add(path: string, specifier: string, isType?: boolean, uniqueId?: Identifier): Identifier {\n const record = createDependencyRecord(uniqueId ?? createFullyUniqueIdentifier(specifier), isType);\n\n if (this.#map.has(path)) {\n this.#map.get(path)!.set(specifier, record);\n } else {\n this.#map.set(path, new Map([[specifier, record]]));\n }\n\n return record.id;\n }\n\n remove(path: string, specifier: string): void {\n const specifiers = this.#map.get(path);\n\n if (specifiers) {\n specifiers.delete(specifier);\n\n if (specifiers.size === 0) {\n this.#map.delete(path);\n }\n }\n }\n\n override clear(): void {\n this.#map.clear();\n }\n\n getIdentifier(path: string, specifier: string): Identifier | undefined {\n return this.#map.get(path)?.get(specifier)?.id;\n }\n\n iter(): IterableIterator<readonly [path: string, specifier: string, id: Identifier, isType: boolean]> {\n return this[Symbol.iterator]();\n }\n\n isType(path: string, specifier: string): boolean | undefined {\n return this.#map.get(path)?.get(specifier)?.isType;\n }\n\n paths(): IterableIterator<string> {\n return this.#map.keys();\n }\n\n *specifiers(): IterableIterator<readonly [path: string, specifier: string]> {\n for (const [path, specifiers] of this.#map) {\n for (const specifier of specifiers.keys()) {\n yield [path, specifier];\n }\n }\n }\n\n override *statementRecords(): IterableIterator<StatementRecord<ImportDeclaration>> {\n for (const [path, specifiers] of this.#map) {\n const names = [...specifiers.keys()];\n // eslint-disable-next-line @typescript-eslint/unbound-method\n names.sort(this.#collator.compare);\n\n yield [\n path,\n ts.factory.createImportDeclaration(\n undefined,\n ts.factory.createImportClause(\n false,\n undefined,\n ts.factory.createNamedImports(\n names.map((name) => {\n const { id, isType } = specifiers.get(name)!;\n return ts.factory.createImportSpecifier(isType, ts.factory.createIdentifier(name), id);\n }),\n ),\n ),\n ts.factory.createStringLiteral(path),\n ),\n ];\n }\n }\n\n *[Symbol.iterator](): IterableIterator<readonly [path: string, specifier: string, id: Identifier, isType: boolean]> {\n for (const [path, specifiers] of this.#map) {\n for (const [specifier, { id, isType }] of specifiers) {\n yield [path, specifier, id, isType];\n }\n }\n }\n}\n\nexport class NamespaceImportManager extends StatementRecordManager<ImportDeclaration> {\n readonly #map = new Map<string, Identifier>();\n\n add(path: string, name: string, uniqueId?: Identifier): Identifier {\n const id = uniqueId ?? createFullyUniqueIdentifier(name);\n this.#map.set(path, id);\n return id;\n }\n\n override clear(): void {\n this.#map.clear();\n }\n\n getIdentifier(path: string): Identifier | undefined {\n return this.#map.get(path);\n }\n\n iter(): IterableIterator<readonly [path: string, id: Identifier]> {\n return this[Symbol.iterator]();\n }\n\n paths(): IterableIterator<string> {\n return this.#map.keys();\n }\n\n override *statementRecords(): IterableIterator<StatementRecord<ImportDeclaration>> {\n for (const [path, id] of this.#map) {\n yield [\n path,\n ts.factory.createImportDeclaration(\n undefined,\n ts.factory.createImportClause(false, undefined, ts.factory.createNamespaceImport(id)),\n ts.factory.createStringLiteral(path),\n ),\n ];\n }\n }\n\n remove(path: string): void {\n this.#map.delete(path);\n }\n\n *[Symbol.iterator](): IterableIterator<readonly [path: string, id: Identifier]> {\n for (const [path, id] of this.#map) {\n yield [path, id];\n }\n }\n}\n\nexport class DefaultImportManager extends StatementRecordManager<ImportDeclaration> {\n readonly #map = new Map<string, DependencyRecord>();\n\n add(path: string, name: string, isType?: boolean, uniqueId?: Identifier): Identifier {\n const id = uniqueId ?? createFullyUniqueIdentifier(name);\n this.#map.set(path, createDependencyRecord(id, isType));\n return id;\n }\n\n getIdentifier(path: string): Identifier | undefined {\n return this.#map.get(path)?.id;\n }\n\n remove(path: string): void {\n if (this.#map.has(path)) {\n this.#map.delete(path);\n }\n }\n\n override clear(): void {\n this.#map.clear();\n }\n\n iter(): IterableIterator<readonly [path: string, id: Identifier, isType: boolean]> {\n return this[Symbol.iterator]();\n }\n\n isType(path: string): boolean | undefined {\n return this.#map.get(path)?.isType;\n }\n\n paths(): IterableIterator<string> {\n return this.#map.keys();\n }\n\n override *statementRecords(): IterableIterator<StatementRecord<ImportDeclaration>> {\n for (const [path, { id, isType }] of this.#map) {\n yield [\n path,\n ts.factory.createImportDeclaration(\n undefined,\n ts.factory.createImportClause(isType, id, undefined),\n ts.factory.createStringLiteral(path),\n ),\n ];\n }\n }\n\n *[Symbol.iterator](): IterableIterator<readonly [path: string, id: Identifier, isType: boolean]> {\n for (const [path, { id, isType }] of this.#map) {\n yield [path, id, isType];\n }\n }\n}\n\nexport default class ImportManager implements CodeConvertable<readonly Statement[]> {\n readonly default: DefaultImportManager;\n readonly named: NamedImportManager;\n readonly namespace: NamespaceImportManager;\n\n readonly #collator: Intl.Collator;\n\n constructor(collator: Intl.Collator) {\n this.default = new DefaultImportManager(collator);\n this.named = new NamedImportManager(collator);\n this.namespace = new NamespaceImportManager(collator);\n this.#collator = collator;\n }\n\n toCode(): readonly Statement[] {\n const records = [\n ...this.default.statementRecords(),\n ...this.named.statementRecords(),\n ...this.namespace.statementRecords(),\n ];\n records.sort(StatementRecordManager.createComparator(this.#collator));\n\n return records.map(([, statement]) => statement);\n }\n\n fromCode(source: ts.SourceFile): void {\n this.default.clear();\n this.named.clear();\n this.namespace.clear();\n\n const imports = source.statements.filter((statement): statement is ImportDeclaration =>\n ts.isImportDeclaration(statement),\n );\n\n for (const { importClause, moduleSpecifier } of imports) {\n if (!importClause) {\n // eslint-disable-next-line no-continue\n continue;\n }\n\n const { name, namedBindings } = importClause;\n const path = (moduleSpecifier as ts.StringLiteral).text;\n\n if (namedBindings) {\n if (ts.isNamespaceImport(namedBindings)) {\n this.namespace.add(path, namedBindings.name.text, namedBindings.name);\n } else {\n for (const { isTypeOnly, name: specifier } of namedBindings.elements) {\n this.named.add(path, specifier.text, isTypeOnly, specifier);\n }\n }\n } else if (name) {\n this.default.add(path, name.text, importClause.isTypeOnly, name);\n }\n }\n }\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vaadin/hilla-generator-utils",
|
|
3
|
-
"version": "24.5.0-
|
|
3
|
+
"version": "24.5.0-alpha8",
|
|
4
4
|
"description": "A set of utils for developing Hilla generator plugins",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"type": "module",
|
|
@@ -69,6 +69,7 @@
|
|
|
69
69
|
"@types/sinon-chai": "^3.2.10",
|
|
70
70
|
"c8": "^10.1.2",
|
|
71
71
|
"chai": "^4.3.10",
|
|
72
|
+
"chai-like": "^1.1.1",
|
|
72
73
|
"concurrently": "^8.2.1",
|
|
73
74
|
"copyfiles": "^2.4.1",
|
|
74
75
|
"mocha": "^10.2.0",
|