@runtyped/type-compiler 1.0.20-alpha.2 → 1.0.20-alpha.4
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/README.md +3 -0
- package/dist/compiler-debug.js.map +1 -0
- package/dist/index.js.map +1 -0
- package/dist/{cjs/install-transformer.d.ts → install-transformer.d.ts} +1 -1
- package/dist/install-transformer.js +121 -0
- package/dist/install-transformer.js.map +1 -0
- package/dist/{esm/src → src}/compiler.js +71 -55
- package/dist/src/compiler.js.map +1 -0
- package/dist/src/config.js.map +1 -0
- package/dist/src/debug.js.map +1 -0
- package/dist/{esm/src → src}/loader.js +10 -10
- package/dist/src/loader.js.map +1 -0
- package/dist/src/plugin.js.map +1 -0
- package/dist/{esm/src → src}/reflection-ast.js +1 -0
- package/dist/src/reflection-ast.js.map +1 -0
- package/dist/{esm/src → src}/resolver.js +3 -0
- package/dist/src/resolver.js.map +1 -0
- package/dist/src/ts-types.js.map +1 -0
- package/install-transformer.ts +113 -53
- package/package.json +10 -11
- package/{deepkit-compiler-debug.js → runtyped-compiler-debug.js} +1 -1
- package/runtyped-type-install.js +5 -0
- package/src/compiler.ts +3 -2
- package/tsconfig.json +2 -2
- package/deepkit-type-install.js +0 -5
- package/dist/cjs/compiler-debug.js +0 -28
- package/dist/cjs/compiler-debug.js.map +0 -1
- package/dist/cjs/index.js +0 -36
- package/dist/cjs/index.js.map +0 -1
- package/dist/cjs/install-transformer.js +0 -77
- package/dist/cjs/install-transformer.js.map +0 -1
- package/dist/cjs/src/compiler.js +0 -2506
- package/dist/cjs/src/compiler.js.map +0 -1
- package/dist/cjs/src/config.js +0 -248
- package/dist/cjs/src/config.js.map +0 -1
- package/dist/cjs/src/debug.js +0 -26
- package/dist/cjs/src/debug.js.map +0 -1
- package/dist/cjs/src/loader.js +0 -55
- package/dist/cjs/src/loader.js.map +0 -1
- package/dist/cjs/src/plugin.js +0 -46
- package/dist/cjs/src/plugin.js.map +0 -1
- package/dist/cjs/src/reflection-ast.js +0 -335
- package/dist/cjs/src/reflection-ast.js.map +0 -1
- package/dist/cjs/src/resolver.js +0 -88
- package/dist/cjs/src/resolver.js.map +0 -1
- package/dist/cjs/src/ts-types.js +0 -6
- package/dist/cjs/src/ts-types.js.map +0 -1
- package/dist/esm/compiler-debug.d.ts +0 -1
- package/dist/esm/compiler-debug.js.map +0 -1
- package/dist/esm/index.d.ts +0 -7
- package/dist/esm/index.js.map +0 -1
- package/dist/esm/install-transformer.d.ts +0 -7
- package/dist/esm/install-transformer.js +0 -75
- package/dist/esm/install-transformer.js.map +0 -1
- package/dist/esm/src/compiler.d.ts +0 -313
- package/dist/esm/src/compiler.js.map +0 -1
- package/dist/esm/src/config.d.ts +0 -83
- package/dist/esm/src/config.js.map +0 -1
- package/dist/esm/src/debug.d.ts +0 -9
- package/dist/esm/src/debug.js.map +0 -1
- package/dist/esm/src/loader.d.ts +0 -18
- package/dist/esm/src/loader.js.map +0 -1
- package/dist/esm/src/plugin.d.ts +0 -14
- package/dist/esm/src/plugin.js.map +0 -1
- package/dist/esm/src/reflection-ast.d.ts +0 -46
- package/dist/esm/src/reflection-ast.js.map +0 -1
- package/dist/esm/src/resolver.d.ts +0 -27
- package/dist/esm/src/resolver.js.map +0 -1
- package/dist/esm/src/ts-types.d.ts +0 -17
- package/dist/esm/src/ts-types.js.map +0 -1
- package/tsconfig.esm.json +0 -16
- /package/dist/{cjs/compiler-debug.d.ts → compiler-debug.d.ts} +0 -0
- /package/dist/{esm/compiler-debug.js → compiler-debug.js} +0 -0
- /package/dist/{cjs/index.d.ts → index.d.ts} +0 -0
- /package/dist/{esm/index.js → index.js} +0 -0
- /package/dist/{cjs/src → src}/compiler.d.ts +0 -0
- /package/dist/{cjs/src → src}/config.d.ts +0 -0
- /package/dist/{esm/src → src}/config.js +0 -0
- /package/dist/{cjs/src → src}/debug.d.ts +0 -0
- /package/dist/{esm/src → src}/debug.js +0 -0
- /package/dist/{cjs/src → src}/loader.d.ts +0 -0
- /package/dist/{cjs/src → src}/plugin.d.ts +0 -0
- /package/dist/{esm/src → src}/plugin.js +0 -0
- /package/dist/{cjs/src → src}/reflection-ast.d.ts +0 -0
- /package/dist/{cjs/src → src}/resolver.d.ts +0 -0
- /package/dist/{cjs/src → src}/ts-types.d.ts +0 -0
- /package/dist/{esm/src → src}/ts-types.js +0 -0
|
@@ -1,335 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/*
|
|
3
|
-
* Runtyped Framework
|
|
4
|
-
* Copyright (c) Deepkit UG, Marc J. Schmidt
|
|
5
|
-
* Copyright (c) Jacopo Scazzosi
|
|
6
|
-
*
|
|
7
|
-
* This program is free software: you can redistribute it and/or modify
|
|
8
|
-
* it under the terms of the MIT License.
|
|
9
|
-
*
|
|
10
|
-
* You should have received a copy of the MIT License along with this program.
|
|
11
|
-
*/
|
|
12
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
13
|
-
if (k2 === undefined) k2 = k;
|
|
14
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
15
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
16
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
17
|
-
}
|
|
18
|
-
Object.defineProperty(o, k2, desc);
|
|
19
|
-
}) : (function(o, m, k, k2) {
|
|
20
|
-
if (k2 === undefined) k2 = k;
|
|
21
|
-
o[k2] = m[k];
|
|
22
|
-
}));
|
|
23
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
24
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
25
|
-
}) : function(o, v) {
|
|
26
|
-
o["default"] = v;
|
|
27
|
-
});
|
|
28
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
29
|
-
var ownKeys = function(o) {
|
|
30
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
31
|
-
var ar = [];
|
|
32
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
33
|
-
return ar;
|
|
34
|
-
};
|
|
35
|
-
return ownKeys(o);
|
|
36
|
-
};
|
|
37
|
-
return function (mod) {
|
|
38
|
-
if (mod && mod.__esModule) return mod;
|
|
39
|
-
var result = {};
|
|
40
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
41
|
-
__setModuleDefault(result, mod);
|
|
42
|
-
return result;
|
|
43
|
-
};
|
|
44
|
-
})();
|
|
45
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
46
|
-
exports.NodeConverter = void 0;
|
|
47
|
-
exports.getIdentifierName = getIdentifierName;
|
|
48
|
-
exports.getEscapedText = getEscapedText;
|
|
49
|
-
exports.findSourceFile = findSourceFile;
|
|
50
|
-
exports.joinQualifiedName = joinQualifiedName;
|
|
51
|
-
exports.getCommentOfNode = getCommentOfNode;
|
|
52
|
-
exports.parseJSDocAttributeFromText = parseJSDocAttributeFromText;
|
|
53
|
-
exports.extractJSDocAttribute = extractJSDocAttribute;
|
|
54
|
-
exports.getPropertyName = getPropertyName;
|
|
55
|
-
exports.getNameAsString = getNameAsString;
|
|
56
|
-
exports.hasModifier = hasModifier;
|
|
57
|
-
exports.isNodeWithLocals = isNodeWithLocals;
|
|
58
|
-
exports.getGlobalsOfSourceFile = getGlobalsOfSourceFile;
|
|
59
|
-
exports.ensureImportIsEmitted = ensureImportIsEmitted;
|
|
60
|
-
exports.serializeEntityNameAsExpression = serializeEntityNameAsExpression;
|
|
61
|
-
const typescript_1 = __importStar(require("typescript"));
|
|
62
|
-
const ts_clone_node_1 = require("@marcj/ts-clone-node");
|
|
63
|
-
const { isArrowFunction, isComputedPropertyName, isIdentifier, isNamedImports, isNumericLiteral, isPrivateIdentifier, isStringLiteral, isStringLiteralLike, setOriginalNode, getLeadingCommentRanges, isNoSubstitutionTemplateLiteral, NodeFlags, SyntaxKind, } = typescript_1.default;
|
|
64
|
-
function is__String(value) {
|
|
65
|
-
return typeof value === 'string';
|
|
66
|
-
}
|
|
67
|
-
function getIdentifierName(node) {
|
|
68
|
-
if (is__String(node))
|
|
69
|
-
return node;
|
|
70
|
-
if (isIdentifier(node) || isPrivateIdentifier(node)) {
|
|
71
|
-
return typescript_1.default.unescapeLeadingUnderscores(node.escapedText);
|
|
72
|
-
}
|
|
73
|
-
if (isStringLiteral(node))
|
|
74
|
-
return node.text;
|
|
75
|
-
return '';
|
|
76
|
-
}
|
|
77
|
-
function getEscapedText(node) {
|
|
78
|
-
if (is__String(node))
|
|
79
|
-
return node;
|
|
80
|
-
if (isIdentifier(node) || isPrivateIdentifier(node))
|
|
81
|
-
return node.escapedText;
|
|
82
|
-
return getIdentifierName(node);
|
|
83
|
-
}
|
|
84
|
-
function findSourceFile(node) {
|
|
85
|
-
if (node.kind === SyntaxKind.SourceFile)
|
|
86
|
-
return node;
|
|
87
|
-
let current = node.parent;
|
|
88
|
-
while (current && current.kind !== SyntaxKind.SourceFile) {
|
|
89
|
-
current = current.parent;
|
|
90
|
-
}
|
|
91
|
-
return current;
|
|
92
|
-
}
|
|
93
|
-
function joinQualifiedName(name) {
|
|
94
|
-
if (isIdentifier(name))
|
|
95
|
-
return getIdentifierName(name);
|
|
96
|
-
return joinQualifiedName(name.left) + '_' + getIdentifierName(name.right);
|
|
97
|
-
}
|
|
98
|
-
function getCommentOfNode(sourceFile, node) {
|
|
99
|
-
const comment = getLeadingCommentRanges(sourceFile.text, node.pos);
|
|
100
|
-
if (!comment)
|
|
101
|
-
return;
|
|
102
|
-
return comment.map(v => sourceFile.text.substring(v.pos, v.end)).join('\n');
|
|
103
|
-
}
|
|
104
|
-
function parseJSDocAttributeFromText(comment, attribute) {
|
|
105
|
-
// no regex
|
|
106
|
-
const index = comment.indexOf('@' + attribute + ' ');
|
|
107
|
-
if (index === -1) {
|
|
108
|
-
let start = 0;
|
|
109
|
-
while (true) {
|
|
110
|
-
const withoutContent = comment.indexOf('@' + attribute, start);
|
|
111
|
-
if (withoutContent === -1)
|
|
112
|
-
return undefined;
|
|
113
|
-
//make sure next character is space or end of comment
|
|
114
|
-
const nextCharacter = comment[withoutContent + attribute.length + 1];
|
|
115
|
-
if (!nextCharacter || nextCharacter === ' ' || nextCharacter === '\n' || nextCharacter === '\r' || nextCharacter === '\t') {
|
|
116
|
-
return '';
|
|
117
|
-
}
|
|
118
|
-
start = withoutContent + attribute.length + 1;
|
|
119
|
-
}
|
|
120
|
-
return undefined;
|
|
121
|
-
}
|
|
122
|
-
const start = index + attribute.length + 2;
|
|
123
|
-
// end is either next attribute @ or end of comment.
|
|
124
|
-
const nextAttribute = comment.indexOf('@', start);
|
|
125
|
-
const endOfComment = comment.indexOf('*/', start);
|
|
126
|
-
const end = nextAttribute === -1 ? endOfComment : Math.min(nextAttribute, endOfComment);
|
|
127
|
-
const content = comment.substring(start, end).trim();
|
|
128
|
-
// make sure multiline comments are supported, and each line is trimmed and `\s\s\s\*` removed
|
|
129
|
-
return content.split('\n').map(v => {
|
|
130
|
-
const indexOfStar = v.indexOf('*');
|
|
131
|
-
if (indexOfStar === -1)
|
|
132
|
-
return v.trim();
|
|
133
|
-
return v.substring(indexOfStar + 1).trim();
|
|
134
|
-
}).join('\n');
|
|
135
|
-
}
|
|
136
|
-
function extractJSDocAttribute(sourceFile, node, attribute) {
|
|
137
|
-
// in TypeScript 5.3 they made JSDoc parsing optional and disabled by default.
|
|
138
|
-
// we need to read the comments manually and then parse @{attribute} {value} manually.
|
|
139
|
-
// we need reference to SourceFile, since Node.getSourceFile() although available in types,
|
|
140
|
-
// is not available at runtime sometimes (works in tests, but fails with tsc).
|
|
141
|
-
if (!node)
|
|
142
|
-
return undefined;
|
|
143
|
-
const comment = getCommentOfNode(sourceFile, node);
|
|
144
|
-
if (!comment)
|
|
145
|
-
return undefined;
|
|
146
|
-
return parseJSDocAttributeFromText(comment, attribute);
|
|
147
|
-
}
|
|
148
|
-
function getPropertyName(f, node) {
|
|
149
|
-
if (!node)
|
|
150
|
-
return '';
|
|
151
|
-
if (isIdentifier(node))
|
|
152
|
-
return getIdentifierName(node);
|
|
153
|
-
if (isStringLiteral(node))
|
|
154
|
-
return node.text;
|
|
155
|
-
if (isNumericLiteral(node))
|
|
156
|
-
return +node.text;
|
|
157
|
-
if (isNoSubstitutionTemplateLiteral(node))
|
|
158
|
-
return node.text;
|
|
159
|
-
if (isComputedPropertyName(node)) {
|
|
160
|
-
return f.createArrowFunction(undefined, undefined, [], undefined, undefined, node.expression);
|
|
161
|
-
}
|
|
162
|
-
if (isPrivateIdentifier(node))
|
|
163
|
-
return getIdentifierName(node);
|
|
164
|
-
return '';
|
|
165
|
-
}
|
|
166
|
-
function getNameAsString(node) {
|
|
167
|
-
if (!node)
|
|
168
|
-
return '';
|
|
169
|
-
if (isIdentifier(node))
|
|
170
|
-
return getIdentifierName(node);
|
|
171
|
-
if (isStringLiteral(node))
|
|
172
|
-
return node.text;
|
|
173
|
-
if (isNumericLiteral(node))
|
|
174
|
-
return node.text;
|
|
175
|
-
if ((0, typescript_1.isBigIntLiteral)(node))
|
|
176
|
-
return node.text;
|
|
177
|
-
if (isNoSubstitutionTemplateLiteral(node))
|
|
178
|
-
return node.text;
|
|
179
|
-
if (isComputedPropertyName(node)) {
|
|
180
|
-
if (isStringLiteralLike(node) || isNumericLiteral(node))
|
|
181
|
-
return node.text;
|
|
182
|
-
return '';
|
|
183
|
-
}
|
|
184
|
-
if (isPrivateIdentifier(node))
|
|
185
|
-
return getIdentifierName(node);
|
|
186
|
-
return joinQualifiedName(node);
|
|
187
|
-
}
|
|
188
|
-
function hasModifier(node, modifier) {
|
|
189
|
-
if (!node.modifiers)
|
|
190
|
-
return false;
|
|
191
|
-
return node.modifiers.some(v => v.kind === modifier);
|
|
192
|
-
}
|
|
193
|
-
const cloneHook = (node, payload) => {
|
|
194
|
-
if (isIdentifier(node)) {
|
|
195
|
-
//ts-clone-node wants to read `node.text` which does not exist. we hook into it and provide the correct value.
|
|
196
|
-
return {
|
|
197
|
-
text: () => {
|
|
198
|
-
return getIdentifierName(node);
|
|
199
|
-
},
|
|
200
|
-
};
|
|
201
|
-
}
|
|
202
|
-
return;
|
|
203
|
-
};
|
|
204
|
-
class NodeConverter {
|
|
205
|
-
constructor(f) {
|
|
206
|
-
this.f = f;
|
|
207
|
-
}
|
|
208
|
-
toExpression(node) {
|
|
209
|
-
if (node === undefined)
|
|
210
|
-
return this.f.createIdentifier('undefined');
|
|
211
|
-
if (Array.isArray(node)) {
|
|
212
|
-
return this.f.createArrayLiteralExpression(this.f.createNodeArray(node.map(v => this.toExpression(v))));
|
|
213
|
-
}
|
|
214
|
-
if ('string' === typeof node)
|
|
215
|
-
return this.f.createStringLiteral(node, true);
|
|
216
|
-
if ('number' === typeof node)
|
|
217
|
-
return this.f.createNumericLiteral(node);
|
|
218
|
-
if ('bigint' === typeof node)
|
|
219
|
-
return this.f.createBigIntLiteral(String(node));
|
|
220
|
-
if ('boolean' === typeof node)
|
|
221
|
-
return node ? this.f.createTrue() : this.f.createFalse();
|
|
222
|
-
if (node.pos === -1 && node.end === -1 && node.parent === undefined) {
|
|
223
|
-
if (isArrowFunction(node)) {
|
|
224
|
-
if (node.body.pos === -1 && node.body.end === -1 && node.body.parent === undefined)
|
|
225
|
-
return node;
|
|
226
|
-
return this.f.createArrowFunction(node.modifiers, node.typeParameters, node.parameters, node.type, node.equalsGreaterThanToken, this.toExpression(node.body));
|
|
227
|
-
}
|
|
228
|
-
return node;
|
|
229
|
-
}
|
|
230
|
-
switch (node.kind) {
|
|
231
|
-
case SyntaxKind.Identifier:
|
|
232
|
-
return finish(node, this.f.createIdentifier(getIdentifierName(node)));
|
|
233
|
-
case SyntaxKind.StringLiteral:
|
|
234
|
-
return finish(node, this.f.createStringLiteral(node.text));
|
|
235
|
-
case SyntaxKind.NumericLiteral:
|
|
236
|
-
return finish(node, this.f.createNumericLiteral(node.text));
|
|
237
|
-
case SyntaxKind.BigIntLiteral:
|
|
238
|
-
return finish(node, this.f.createBigIntLiteral(node.text));
|
|
239
|
-
case SyntaxKind.TrueKeyword:
|
|
240
|
-
return finish(node, this.f.createTrue());
|
|
241
|
-
case SyntaxKind.FalseKeyword:
|
|
242
|
-
return finish(node, this.f.createFalse());
|
|
243
|
-
}
|
|
244
|
-
//todo: ts-node-clone broke with ts 4.8,
|
|
245
|
-
// => TypeError: Cannot read properties of undefined (reading 'emitNode')
|
|
246
|
-
// which is probably due a broken node clone. We need to figure out which node it is
|
|
247
|
-
// and see what the issue is. since ts-node-clone is not really maintained anymore,
|
|
248
|
-
// we need to fork it
|
|
249
|
-
try {
|
|
250
|
-
return (0, ts_clone_node_1.cloneNode)(node, {
|
|
251
|
-
preserveComments: false,
|
|
252
|
-
factory: this.f,
|
|
253
|
-
setOriginalNodes: true,
|
|
254
|
-
preserveSymbols: true,
|
|
255
|
-
setParents: true,
|
|
256
|
-
hook: cloneHook,
|
|
257
|
-
});
|
|
258
|
-
}
|
|
259
|
-
catch (error) {
|
|
260
|
-
console.error('could not clone node', node);
|
|
261
|
-
throw error;
|
|
262
|
-
}
|
|
263
|
-
}
|
|
264
|
-
}
|
|
265
|
-
exports.NodeConverter = NodeConverter;
|
|
266
|
-
function isExternalOrCommonJsModule(file) {
|
|
267
|
-
//both attributes are internal and not yet public
|
|
268
|
-
return (file.externalModuleIndicator || file.commonJsModuleIndicator) !== undefined;
|
|
269
|
-
}
|
|
270
|
-
function isNodeWithLocals(node) {
|
|
271
|
-
return 'locals' in node;
|
|
272
|
-
}
|
|
273
|
-
//logic copied from typescript
|
|
274
|
-
function getGlobalsOfSourceFile(file) {
|
|
275
|
-
if (file.redirectInfo)
|
|
276
|
-
return;
|
|
277
|
-
if (!isNodeWithLocals(file))
|
|
278
|
-
return;
|
|
279
|
-
if (!isExternalOrCommonJsModule(file))
|
|
280
|
-
return file.locals;
|
|
281
|
-
if (file.jsGlobalAugmentations)
|
|
282
|
-
return file.jsGlobalAugmentations;
|
|
283
|
-
if (file.symbol && file.symbol.globalExports)
|
|
284
|
-
return file.symbol.globalExports;
|
|
285
|
-
}
|
|
286
|
-
/**
|
|
287
|
-
* For imports that can removed (like a class import only used as type only, like `p: Model[]`) we have
|
|
288
|
-
* to modify the import so TS does not remove it.
|
|
289
|
-
*/
|
|
290
|
-
function ensureImportIsEmitted(importDeclaration, specifierName) {
|
|
291
|
-
if (specifierName && importDeclaration.importClause && importDeclaration.importClause.namedBindings) {
|
|
292
|
-
// const binding = importDeclaration.importClause.namedBindings;
|
|
293
|
-
if (isNamedImports(importDeclaration.importClause.namedBindings)) {
|
|
294
|
-
for (const element of importDeclaration.importClause.namedBindings.elements) {
|
|
295
|
-
if (element.name.escapedText === specifierName.escapedText) {
|
|
296
|
-
element.flags |= NodeFlags.Synthesized;
|
|
297
|
-
return;
|
|
298
|
-
}
|
|
299
|
-
}
|
|
300
|
-
}
|
|
301
|
-
}
|
|
302
|
-
importDeclaration.flags |= NodeFlags.Synthesized;
|
|
303
|
-
}
|
|
304
|
-
/**
|
|
305
|
-
* Serializes an entity name as an expression for decorator type metadata.
|
|
306
|
-
*
|
|
307
|
-
* @param node The entity name to serialize.
|
|
308
|
-
*/
|
|
309
|
-
function serializeEntityNameAsExpression(f, node) {
|
|
310
|
-
switch (node.kind) {
|
|
311
|
-
case SyntaxKind.Identifier:
|
|
312
|
-
return finish(node, f.createIdentifier(getIdentifierName(node)));
|
|
313
|
-
case SyntaxKind.QualifiedName:
|
|
314
|
-
return finish(node, serializeQualifiedNameAsExpression(f, node));
|
|
315
|
-
}
|
|
316
|
-
return node;
|
|
317
|
-
}
|
|
318
|
-
/**
|
|
319
|
-
* Serializes an qualified name as an expression for decorator type metadata.
|
|
320
|
-
*
|
|
321
|
-
* @param node The qualified name to serialize.
|
|
322
|
-
* @param useFallback A value indicating whether to use logical operators to test for the
|
|
323
|
-
* qualified name at runtime.
|
|
324
|
-
*/
|
|
325
|
-
function serializeQualifiedNameAsExpression(f, node) {
|
|
326
|
-
return f.createPropertyAccessExpression(serializeEntityNameAsExpression(f, node.left), node.right);
|
|
327
|
-
}
|
|
328
|
-
function finish(oldNode, newNode) {
|
|
329
|
-
setOriginalNode(newNode, oldNode);
|
|
330
|
-
newNode._original = newNode.original;
|
|
331
|
-
newNode._symbol = oldNode._symbol ?? oldNode.symbol;
|
|
332
|
-
newNode.symbol = newNode._symbol;
|
|
333
|
-
return newNode;
|
|
334
|
-
}
|
|
335
|
-
//# sourceMappingURL=reflection-ast.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"reflection-ast.js","sourceRoot":"","sources":["../../../src/reflection-ast.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/src/resolver.js
DELETED
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.Resolver = void 0;
|
|
7
|
-
exports.patternMatch = patternMatch;
|
|
8
|
-
const micromatch_1 = __importDefault(require("micromatch"));
|
|
9
|
-
const typescript_1 = __importDefault(require("typescript"));
|
|
10
|
-
const { createSourceFile, resolveModuleName, isStringLiteral, JSDocParsingMode, ScriptTarget } = typescript_1.default;
|
|
11
|
-
function patternMatch(path, patterns, base) {
|
|
12
|
-
const include = patterns.filter(pattern => pattern[0] !== '!');
|
|
13
|
-
const exclude = patterns.filter(pattern => pattern[0] === '!').map(pattern => pattern.substring(1));
|
|
14
|
-
return micromatch_1.default.isMatch(path, include, {
|
|
15
|
-
ignore: exclude,
|
|
16
|
-
});
|
|
17
|
-
}
|
|
18
|
-
/**
|
|
19
|
-
* A utility to resolve a module path and its declaration.
|
|
20
|
-
*
|
|
21
|
-
* It automatically reads a SourceFile, binds and caches it.
|
|
22
|
-
*/
|
|
23
|
-
class Resolver {
|
|
24
|
-
constructor(compilerOptions, host, sourceFiles) {
|
|
25
|
-
this.compilerOptions = compilerOptions;
|
|
26
|
-
this.host = host;
|
|
27
|
-
this.sourceFiles = sourceFiles;
|
|
28
|
-
}
|
|
29
|
-
resolve(from, importOrExportNode) {
|
|
30
|
-
const moduleSpecifier = importOrExportNode.moduleSpecifier;
|
|
31
|
-
if (!moduleSpecifier)
|
|
32
|
-
return;
|
|
33
|
-
if (!isStringLiteral(moduleSpecifier))
|
|
34
|
-
return;
|
|
35
|
-
return this.resolveSourceFile(from, moduleSpecifier);
|
|
36
|
-
}
|
|
37
|
-
resolveImpl(modulePath, sourceFile) {
|
|
38
|
-
if (this.host.resolveModuleNameLiterals !== undefined) {
|
|
39
|
-
const results = this.host.resolveModuleNameLiterals([modulePath], sourceFile.fileName,
|
|
40
|
-
/*reusedNames*/ undefined, this.compilerOptions, sourceFile, undefined);
|
|
41
|
-
if (results[0])
|
|
42
|
-
return results[0].resolvedModule;
|
|
43
|
-
return;
|
|
44
|
-
}
|
|
45
|
-
if (this.host.resolveModuleNames !== undefined) {
|
|
46
|
-
return this.host.resolveModuleNames([modulePath.text], sourceFile.fileName,
|
|
47
|
-
/*reusedNames*/ undefined,
|
|
48
|
-
/*redirectedReference*/ undefined, this.compilerOptions)[0];
|
|
49
|
-
}
|
|
50
|
-
const result = resolveModuleName(modulePath.text, sourceFile.fileName, this.compilerOptions, this.host);
|
|
51
|
-
return result.resolvedModule;
|
|
52
|
-
}
|
|
53
|
-
/**
|
|
54
|
-
* Tries to resolve the .ts/d.ts file path for a given module path.
|
|
55
|
-
* Scans relative paths. Looks into package.json "types" and "exports" (with new 4.7 support)
|
|
56
|
-
*
|
|
57
|
-
* @param sourceFile the SourceFile of the file that contains the import. modulePath is relative to that.
|
|
58
|
-
* @param modulePath the x in 'from x'.
|
|
59
|
-
*/
|
|
60
|
-
resolveSourceFile(sourceFile, modulePath) {
|
|
61
|
-
const result = this.resolveImpl(modulePath, sourceFile);
|
|
62
|
-
if (!result)
|
|
63
|
-
return;
|
|
64
|
-
// only .ts, .tsx and .d.ts files are supported
|
|
65
|
-
if (!result.resolvedFileName.endsWith('.ts')
|
|
66
|
-
&& !result.resolvedFileName.endsWith('.tsx')
|
|
67
|
-
&& !result.resolvedFileName.endsWith('.d.ts')) {
|
|
68
|
-
return;
|
|
69
|
-
}
|
|
70
|
-
const fileName = result.resolvedFileName;
|
|
71
|
-
if (this.sourceFiles[fileName])
|
|
72
|
-
return this.sourceFiles[fileName];
|
|
73
|
-
const source = this.host.readFile(result.resolvedFileName);
|
|
74
|
-
if (!source)
|
|
75
|
-
return;
|
|
76
|
-
const moduleSourceFile = (this.sourceFiles[fileName] = createSourceFile(fileName, source, {
|
|
77
|
-
languageVersion: this.compilerOptions.target || ScriptTarget.ES2018,
|
|
78
|
-
// JSDocParsingMode is not available in TS < 5.3
|
|
79
|
-
jsDocParsingMode: JSDocParsingMode ? JSDocParsingMode.ParseNone : undefined,
|
|
80
|
-
}, true));
|
|
81
|
-
this.sourceFiles[fileName] = moduleSourceFile;
|
|
82
|
-
//@ts-ignore
|
|
83
|
-
typescript_1.default.bindSourceFile(moduleSourceFile, this.compilerOptions);
|
|
84
|
-
return moduleSourceFile;
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
exports.Resolver = Resolver;
|
|
88
|
-
//# sourceMappingURL=resolver.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"resolver.js","sourceRoot":"","sources":["../../../src/resolver.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/src/ts-types.js
DELETED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
//Contains types and makes certain properties available that are currently marked as @internal and thus not part of the public TS API.
|
|
3
|
-
//Certain interfaces do not contain all properties/methods from all internal TS types, because we add only those we actually use.
|
|
4
|
-
//This helps to identity which types are actually needed and maybe can be brought up to the TS team as candidates to make them public.
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
//# sourceMappingURL=ts-types.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ts-types.js","sourceRoot":"","sources":["../../../src/ts-types.ts"],"names":[],"mappings":";AAAA,sIAAsI;AACtI,iIAAiI;AACjI,sIAAsI"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"compiler-debug.js","sourceRoot":"","sources":["../../compiler-debug.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAOlC,SAAS,cAAc,CAAC,IAAc;IAClC,MAAM,MAAM,GAAc;QACtB,IAAI,EAAE,EAAE;KACX,CAAC;IAEF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACnC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,IAAI,GAAG,KAAK,UAAU,EAAE,CAAC;YACrB,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC5B,CAAC,EAAE,CAAC;QACR,CAAC;aAAM,CAAC;YACJ,MAAM,CAAC,IAAI,GAAG,GAAG,CAAC;QACtB,CAAC;IACL,CAAC;IAED,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAInD,MAAM,WAAW,GAAG,WAAW,CAAC;IAC5B,QAAQ,EAAE,IAAI,CAAC,MAAM;CACxB,CAAC,CAAC;AAEH,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AAC7C,MAAM,WAAW,GAAG,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;AAEjD,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC"}
|
package/dist/esm/index.d.ts
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import type { Program } from 'typescript';
|
|
2
|
-
export * from './src/compiler.js';
|
|
3
|
-
export * from './src/loader.js';
|
|
4
|
-
export default function myTransformerPlugin(program: Program, opts: {}): {
|
|
5
|
-
before: import("typescript").CustomTransformerFactory;
|
|
6
|
-
afterDeclarations: import("typescript").CustomTransformerFactory;
|
|
7
|
-
};
|
package/dist/esm/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,sBAAsB,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGxE,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAEhC,MAAM,CAAC,OAAO,UAAU,mBAAmB,CAAC,OAAgB,EAAE,IAAQ;IAClE,OAAO;QACH,MAAM,EAAE,WAAW;QACnB,iBAAiB,EAAE,sBAAsB;KAC5C,CAAC;AACN,CAAC"}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
/**
|
|
3
|
-
* This script installs the deepkit/type transformer (that extracts automatically types and adds the correct @t decorator) to the typescript node_modules.
|
|
4
|
-
*
|
|
5
|
-
* The critical section that needs adjustment is in the `function getScriptTransformers` in `node_modules/typescript/lib/tsc.js`.
|
|
6
|
-
*/
|
|
7
|
-
export {};
|
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
/**
|
|
3
|
-
* This script installs the deepkit/type transformer (that extracts automatically types and adds the correct @t decorator) to the typescript node_modules.
|
|
4
|
-
*
|
|
5
|
-
* The critical section that needs adjustment is in the `function getScriptTransformers` in `node_modules/typescript/lib/tsc.js`.
|
|
6
|
-
*/
|
|
7
|
-
import { dirname, join, relative } from 'path';
|
|
8
|
-
import { existsSync, readFileSync, writeFileSync } from 'fs';
|
|
9
|
-
let to = process.argv[2] || process.cwd();
|
|
10
|
-
function getPatchId(id) {
|
|
11
|
-
return 'deepkit_type_patch_' + id;
|
|
12
|
-
}
|
|
13
|
-
function getCode(deepkitDistPath, varName, id) {
|
|
14
|
-
return `
|
|
15
|
-
//${getPatchId(id)}
|
|
16
|
-
try {
|
|
17
|
-
var typeTransformer;
|
|
18
|
-
try {
|
|
19
|
-
typeTransformer = require('@runtyped/type-compiler');
|
|
20
|
-
} catch (error) {
|
|
21
|
-
typeTransformer = require(${JSON.stringify(deepkitDistPath)});
|
|
22
|
-
}
|
|
23
|
-
if (typeTransformer) {
|
|
24
|
-
if (!customTransformers) ${varName} = {};
|
|
25
|
-
if (!${varName}.before) ${varName}.before = [];
|
|
26
|
-
let alreadyPatched = false;
|
|
27
|
-
for (let fn of ${varName}.before) {
|
|
28
|
-
if (fn && fn.name === 'deepkitTransformer') alreadyPatched = true;
|
|
29
|
-
}
|
|
30
|
-
if (!alreadyPatched) {
|
|
31
|
-
if (!${varName}.before.includes(typeTransformer.transformer)) ${varName}.before.push(typeTransformer.transformer);
|
|
32
|
-
|
|
33
|
-
if (!${varName}.afterDeclarations) ${varName}.afterDeclarations = [];
|
|
34
|
-
if (!${varName}.afterDeclarations.includes(typeTransformer.declarationTransformer)) {
|
|
35
|
-
${varName}.afterDeclarations.push(typeTransformer.declarationTransformer);
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
} catch (e) {
|
|
40
|
-
}
|
|
41
|
-
//${getPatchId(id)}-end
|
|
42
|
-
`;
|
|
43
|
-
}
|
|
44
|
-
function isPatched(code, id) {
|
|
45
|
-
return code.includes(getPatchId(id));
|
|
46
|
-
}
|
|
47
|
-
function patchGetTransformers(deepkitDistPath, code) {
|
|
48
|
-
const id = 'patchGetTransformers';
|
|
49
|
-
if (isPatched(code, id))
|
|
50
|
-
return '';
|
|
51
|
-
const find = /function getTransformers\([^)]+\)\s*{/;
|
|
52
|
-
if (!code.match(find))
|
|
53
|
-
return '';
|
|
54
|
-
code = code.replace(find, function (a) {
|
|
55
|
-
return a + '\n ' + getCode(deepkitDistPath, 'customTransformers', id);
|
|
56
|
-
});
|
|
57
|
-
return code;
|
|
58
|
-
}
|
|
59
|
-
if (to + '/dist/cjs' === __dirname) {
|
|
60
|
-
to = join(to, '..'); //we exclude type-compiler/node_modules
|
|
61
|
-
}
|
|
62
|
-
const typeScriptPath = dirname(require.resolve('typescript', { paths: [to] }));
|
|
63
|
-
const deepkitDistPath = relative(typeScriptPath, __dirname);
|
|
64
|
-
const paths = ['tsc.js', '_tsc.js', 'typescript.js'];
|
|
65
|
-
for (const fileName of paths) {
|
|
66
|
-
const file = join(typeScriptPath, fileName);
|
|
67
|
-
if (!existsSync(file))
|
|
68
|
-
continue;
|
|
69
|
-
const content = patchGetTransformers(deepkitDistPath, readFileSync(file, 'utf8'));
|
|
70
|
-
if (!content)
|
|
71
|
-
continue;
|
|
72
|
-
writeFileSync(file, content);
|
|
73
|
-
console.log('Deepkit Type: Injected TypeScript transformer at', file);
|
|
74
|
-
}
|
|
75
|
-
//# sourceMappingURL=install-transformer.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"install-transformer.js","sourceRoot":"","sources":["../../install-transformer.ts"],"names":[],"mappings":";AAEA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;AAE7D,IAAI,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;AAE1C,SAAS,UAAU,CAAC,EAAU;IAC1B,OAAO,qBAAqB,GAAG,EAAE,CAAC;AACtC,CAAC;AAED,SAAS,OAAO,CAAC,eAAuB,EAAE,OAAe,EAAE,EAAU;IACjE,OAAO;YACC,UAAU,CAAC,EAAE,CAAC;;;;;;4CAMkB,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC;;;2CAGhC,OAAO;uBAC3B,OAAO,YAAY,OAAO;;iCAEhB,OAAO;;;;2BAIb,OAAO,kDAAkD,OAAO;;2BAEhE,OAAO,uBAAuB,OAAO;2BACrC,OAAO;0BACR,OAAO;;;;;;YAMrB,UAAU,CAAC,EAAE,CAAC;KACrB,CAAC;AACN,CAAC;AAED,SAAS,SAAS,CAAC,IAAY,EAAE,EAAU;IACvC,OAAO,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC;AACzC,CAAC;AAED,SAAS,oBAAoB,CAAC,eAAuB,EAAE,IAAY;IAC/D,MAAM,EAAE,GAAG,sBAAsB,CAAC;IAClC,IAAI,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC;QAAE,OAAO,EAAE,CAAC;IAEnC,MAAM,IAAI,GAAG,uCAAuC,CAAC;IACrD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;QAAE,OAAO,EAAE,CAAC;IAEjC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,UAAU,CAAC;QACjC,OAAO,CAAC,GAAG,QAAQ,GAAG,OAAO,CAAC,eAAe,EAAE,oBAAoB,EAAE,EAAE,CAAC,CAAC;IAC7E,CAAC,CAAC,CAAC;IAEH,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,IAAI,EAAE,GAAG,WAAW,KAAK,SAAS,EAAE,CAAC;IACjC,EAAE,GAAG,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,uCAAuC;AAChE,CAAC;AAED,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAC/E,MAAM,eAAe,GAAG,QAAQ,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;AAE5D,MAAM,KAAK,GAAG,CAAC,QAAQ,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC;AAErD,KAAK,MAAM,QAAQ,IAAI,KAAK,EAAE,CAAC;IAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;IAC5C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,SAAS;IAChC,MAAM,OAAO,GAAG,oBAAoB,CAAC,eAAe,EAAE,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;IAClF,IAAI,CAAC,OAAO;QAAE,SAAS;IACvB,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC7B,OAAO,CAAC,GAAG,CAAC,kDAAkD,EAAE,IAAI,CAAC,CAAC;AAC1E,CAAC"}
|