@runtyped/type-compiler 1.0.20-alpha.3 → 1.0.20-alpha.5

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 (88) hide show
  1. package/README.md +3 -0
  2. package/compiler-debug.ts +2 -0
  3. package/dist/compiler-debug.d.ts +2 -0
  4. package/dist/{esm/compiler-debug.js → compiler-debug.js} +1 -0
  5. package/dist/compiler-debug.js.map +1 -0
  6. package/dist/index.js.map +1 -0
  7. package/dist/{cjs/install-transformer.d.ts → install-transformer.d.ts} +1 -1
  8. package/dist/install-transformer.js +121 -0
  9. package/dist/install-transformer.js.map +1 -0
  10. package/dist/{esm/src → src}/compiler.js +71 -55
  11. package/dist/src/compiler.js.map +1 -0
  12. package/dist/src/config.js.map +1 -0
  13. package/dist/src/debug.js.map +1 -0
  14. package/dist/{esm/src → src}/loader.js +10 -10
  15. package/dist/src/loader.js.map +1 -0
  16. package/dist/src/plugin.js.map +1 -0
  17. package/dist/{esm/src → src}/reflection-ast.js +1 -0
  18. package/dist/src/reflection-ast.js.map +1 -0
  19. package/dist/{esm/src → src}/resolver.js +3 -0
  20. package/dist/src/resolver.js.map +1 -0
  21. package/dist/src/ts-types.js.map +1 -0
  22. package/install-transformer.ts +113 -53
  23. package/package.json +10 -11
  24. package/src/compiler.ts +3 -2
  25. package/tsconfig.json +2 -2
  26. package/deepkit-compiler-debug.js +0 -5
  27. package/deepkit-type-install.js +0 -5
  28. package/dist/cjs/compiler-debug.d.ts +0 -1
  29. package/dist/cjs/compiler-debug.js +0 -28
  30. package/dist/cjs/compiler-debug.js.map +0 -1
  31. package/dist/cjs/index.js +0 -36
  32. package/dist/cjs/index.js.map +0 -1
  33. package/dist/cjs/install-transformer.js +0 -77
  34. package/dist/cjs/install-transformer.js.map +0 -1
  35. package/dist/cjs/src/compiler.js +0 -2506
  36. package/dist/cjs/src/compiler.js.map +0 -1
  37. package/dist/cjs/src/config.js +0 -248
  38. package/dist/cjs/src/config.js.map +0 -1
  39. package/dist/cjs/src/debug.js +0 -26
  40. package/dist/cjs/src/debug.js.map +0 -1
  41. package/dist/cjs/src/loader.js +0 -55
  42. package/dist/cjs/src/loader.js.map +0 -1
  43. package/dist/cjs/src/plugin.js +0 -46
  44. package/dist/cjs/src/plugin.js.map +0 -1
  45. package/dist/cjs/src/reflection-ast.js +0 -335
  46. package/dist/cjs/src/reflection-ast.js.map +0 -1
  47. package/dist/cjs/src/resolver.js +0 -88
  48. package/dist/cjs/src/resolver.js.map +0 -1
  49. package/dist/cjs/src/ts-types.js +0 -6
  50. package/dist/cjs/src/ts-types.js.map +0 -1
  51. package/dist/esm/compiler-debug.d.ts +0 -1
  52. package/dist/esm/compiler-debug.js.map +0 -1
  53. package/dist/esm/index.d.ts +0 -7
  54. package/dist/esm/index.js.map +0 -1
  55. package/dist/esm/install-transformer.d.ts +0 -7
  56. package/dist/esm/install-transformer.js +0 -75
  57. package/dist/esm/install-transformer.js.map +0 -1
  58. package/dist/esm/src/compiler.d.ts +0 -313
  59. package/dist/esm/src/compiler.js.map +0 -1
  60. package/dist/esm/src/config.d.ts +0 -83
  61. package/dist/esm/src/config.js.map +0 -1
  62. package/dist/esm/src/debug.d.ts +0 -9
  63. package/dist/esm/src/debug.js.map +0 -1
  64. package/dist/esm/src/loader.d.ts +0 -18
  65. package/dist/esm/src/loader.js.map +0 -1
  66. package/dist/esm/src/plugin.d.ts +0 -14
  67. package/dist/esm/src/plugin.js.map +0 -1
  68. package/dist/esm/src/reflection-ast.d.ts +0 -46
  69. package/dist/esm/src/reflection-ast.js.map +0 -1
  70. package/dist/esm/src/resolver.d.ts +0 -27
  71. package/dist/esm/src/resolver.js.map +0 -1
  72. package/dist/esm/src/ts-types.d.ts +0 -17
  73. package/dist/esm/src/ts-types.js.map +0 -1
  74. package/tsconfig.esm.json +0 -16
  75. /package/dist/{cjs/index.d.ts → index.d.ts} +0 -0
  76. /package/dist/{esm/index.js → index.js} +0 -0
  77. /package/dist/{cjs/src → src}/compiler.d.ts +0 -0
  78. /package/dist/{cjs/src → src}/config.d.ts +0 -0
  79. /package/dist/{esm/src → src}/config.js +0 -0
  80. /package/dist/{cjs/src → src}/debug.d.ts +0 -0
  81. /package/dist/{esm/src → src}/debug.js +0 -0
  82. /package/dist/{cjs/src → src}/loader.d.ts +0 -0
  83. /package/dist/{cjs/src → src}/plugin.d.ts +0 -0
  84. /package/dist/{esm/src → src}/plugin.js +0 -0
  85. /package/dist/{cjs/src → src}/reflection-ast.d.ts +0 -0
  86. /package/dist/{cjs/src → src}/resolver.d.ts +0 -0
  87. /package/dist/{cjs/src → src}/ts-types.d.ts +0 -0
  88. /package/dist/{esm/src → src}/ts-types.js +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/loader.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../src/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAAE,GAAG,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,sBAAsB,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAapE,MAAM,UAAU,WAAW,CAAC,UAAmB,EAAE;IAC7C,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,OAAO,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,EAAE,OAAO,CAAC,OAAO,IAAI,iBAAiB,CAAC,CAAC;IAE9G,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI;QACzC,MAAM,EAAE,CAAC,WAAW,CAAC;QACrB,KAAK,EAAE,CAAC,sBAAsB,CAAC;KAClC,CAAC;IAEF,MAAM,cAAc,GAAG,OAAO,CAAC,QAAQ,IAAI,GAAG,EAAE,GAAG,gBAAgB,CAAC;IAEpE,MAAM,QAAQ,GAAG,EAAE,CAAC,cAAc,CAAC,cAAc,EAAE,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAExF,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAAC,QAAQ,CAAC,KAAK,EAAE;YAChD,oBAAoB,EAAE,CAAC,QAAgB,EAAE,EAAE,CAAC,QAAQ;YACpD,mBAAmB,EAAE,EAAE,CAAC,GAAG,CAAC,mBAAmB;YAC/C,UAAU,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO;SACnC,CAAC,CAAC,CAAC;IACR,CAAC;IAED,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC;QAClC,QAAQ,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM;QAChC,QAAQ,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM;QAC9B,cAAc;KACjB,EAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC;IAEnD,OAAO,SAAS,SAAS,CAAC,IAAY,EAAE,QAAgB;QACpD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;YAAE,OAAO;QAE9B,MAAM,WAAW,GAAG,EAAE,CAAC,eAAe,CAAC,IAAI,EAAE;YACzC,eAAe;YACf,QAAQ;YACR,YAAY;YACZ,YAAY;SACf,CAAC,CAAC;QAEH,OAAO;YACH,IAAI,EAAE,WAAW,CAAC,UAAU;YAC5B,GAAG,EAAE,WAAW,CAAC,aAAa;SACjC,CAAC;IACN,CAAC,CAAC;AACN,CAAC"}
@@ -152,6 +152,7 @@ const cloneHook = (node, payload) => {
152
152
  return;
153
153
  };
154
154
  export class NodeConverter {
155
+ f;
155
156
  constructor(f) {
156
157
  this.f = f;
157
158
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reflection-ast.js","sourceRoot":"","sources":["../../src/reflection-ast.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,9 @@ export function patternMatch(path, patterns, base) {
14
14
  * It automatically reads a SourceFile, binds and caches it.
15
15
  */
16
16
  export class Resolver {
17
+ compilerOptions;
18
+ host;
19
+ sourceFiles;
17
20
  constructor(compilerOptions, host, sourceFiles) {
18
21
  this.compilerOptions = compilerOptions;
19
22
  this.host = host;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolver.js","sourceRoot":"","sources":["../../src/resolver.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,YAAY,CAAC;AAWpC,OAAO,EAAE,MAAM,YAAY,CAAC;AAE5B,MAAM,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,eAAe,EAAE,gBAAgB,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC;AAEpG,MAAM,UAAU,YAAY,CAAC,IAAY,EAAE,QAAkB,EAAE,IAAa;IACxE,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;IAE/D,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IAEpG,OAAO,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE;QACrC,MAAM,EAAE,OAAO;KAClB,CAAC,CAAC;AACP,CAAC;AAED;;;;GAIG;AACH,MAAM,OAAO,QAAQ;IAEN;IACA;IACG;IAHd,YACW,eAAgC,EAChC,IAAkB,EACf,WAA+C;QAFlD,oBAAe,GAAf,eAAe,CAAiB;QAChC,SAAI,GAAJ,IAAI,CAAc;QACf,gBAAW,GAAX,WAAW,CAAoC;IAC1D,CAAC;IAEJ,OAAO,CAAC,IAAgB,EAAE,kBAA0E;QAChG,MAAM,eAAe,GAA2B,kBAAkB,CAAC,eAAe,CAAC;QACnF,IAAI,CAAC,eAAe;YAAE,OAAO;QAC7B,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC;YAAE,OAAO;QAE9C,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;IACzD,CAAC;IAES,WAAW,CAAC,UAAyB,EAAE,UAAsB;QACnE,IAAI,IAAI,CAAC,IAAI,CAAC,yBAAyB,KAAK,SAAS,EAAE,CAAC;YACpD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,yBAAyB,CAC/C,CAAC,UAAU,CAAC,EACZ,UAAU,CAAC,QAAQ;YACnB,eAAe,CAAC,SAAS,EACzB,IAAI,CAAC,eAAe,EACpB,UAAU,EACV,SAAS,CACZ,CAAC;YACF,IAAI,OAAO,CAAC,CAAC,CAAC;gBAAE,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC;YACjD,OAAO;QACX,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,CAAC,kBAAkB,KAAK,SAAS,EAAE,CAAC;YAC7C,OAAO,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAC/B,CAAC,UAAU,CAAC,IAAI,CAAC,EACjB,UAAU,CAAC,QAAQ;YACnB,eAAe,CAAC,SAAS;YACzB,uBAAuB,CAAC,SAAS,EACjC,IAAI,CAAC,eAAe,CACvB,CAAC,CAAC,CAAC,CAAC;QACT,CAAC;QACD,MAAM,MAAM,GAAG,iBAAiB,CAAC,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACxG,OAAO,MAAM,CAAC,cAAc,CAAC;IACjC,CAAC;IAED;;;;;;OAMG;IACH,iBAAiB,CAAC,UAAsB,EAAE,UAAyB;QAC/D,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QACxD,IAAI,CAAC,MAAM;YAAE,OAAO;QAEpB,+CAA+C;QAC/C,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,QAAQ,CAAC,KAAK,CAAC;eACrC,CAAC,MAAM,CAAC,gBAAgB,CAAC,QAAQ,CAAC,MAAM,CAAC;eACzC,CAAC,MAAM,CAAC,gBAAgB,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YAChD,OAAO;QACX,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,CAAC,gBAAgB,CAAC;QACzC,IAAI,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC;YAAE,OAAO,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAElE,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;QAC3D,IAAI,CAAC,MAAM;YAAE,OAAO;QACpB,MAAM,gBAAgB,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,gBAAgB,CACnE,QAAQ,EACR,MAAM,EACN;YACI,eAAe,EAAE,IAAI,CAAC,eAAe,CAAC,MAAM,IAAI,YAAY,CAAC,MAAM;YACnE,gDAAgD;YAChD,gBAAgB,EAAE,gBAAgB,CAAC,CAAC,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;SAC9E,EACD,IAAI,CACP,CAAC,CAAC;QAEH,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,gBAAgB,CAAC;QAE9C,YAAY;QACZ,EAAE,CAAC,cAAc,CAAC,gBAAgB,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;QAE1D,OAAO,gBAAgB,CAAC;IAC5B,CAAC;CACJ"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ts-types.js","sourceRoot":"","sources":["../../src/ts-types.ts"],"names":[],"mappings":"AAAA,sIAAsI;AACtI,iIAAiI;AACjI,sIAAsI"}
@@ -1,84 +1,144 @@
1
1
  #!/usr/bin/env node
2
2
 
3
3
  /**
4
- * This script installs the deepkit/type transformer (that extracts automatically types and adds the correct @t decorator) to the typescript node_modules.
4
+ * This script installs the @runtyped/type-compiler transformer (that extracts automatically types and adds the correct @t decorator) to the typescript node_modules.
5
5
  *
6
6
  * The critical section that needs adjustment is in the `function getScriptTransformers` in `node_modules/typescript/lib/tsc.js`.
7
7
  */
8
8
 
9
9
  import { dirname, join, relative } from 'path';
10
10
  import { existsSync, readFileSync, writeFileSync } from 'fs';
11
+ import { createRequire } from 'node:module';
12
+
13
+ const require = createRequire(import.meta.url);
14
+ const __dirname = import.meta.dirname;
11
15
 
12
16
  let to = process.argv[2] || process.cwd();
13
17
 
18
+ console.log(`
19
+
20
+ ================ @runtyped/type-compiler ================
21
+
22
+ This script patches the TypeScript compiler by adding the
23
+ @runtyped/type-compiler transformer, which extracts types
24
+ and adds the correct @t decorator.
25
+
26
+ `);
27
+
14
28
  function getPatchId(id: string): string {
15
- return 'deepkit_type_patch_' + id;
29
+ return 'runtyped_patch_' + id;
16
30
  }
17
31
 
18
- function getCode(deepkitDistPath: string, varName: string, id: string): string {
19
- return `
20
- //${getPatchId(id)}
21
- try {
22
- var typeTransformer;
23
- try {
24
- typeTransformer = require('@runtyped/type-compiler');
25
- } catch (error) {
26
- typeTransformer = require(${JSON.stringify(deepkitDistPath)});
27
- }
28
- if (typeTransformer) {
29
- if (!customTransformers) ${varName} = {};
30
- if (!${varName}.before) ${varName}.before = [];
31
- let alreadyPatched = false;
32
- for (let fn of ${varName}.before) {
33
- if (fn && fn.name === 'deepkitTransformer') alreadyPatched = true;
34
- }
35
- if (!alreadyPatched) {
36
- if (!${varName}.before.includes(typeTransformer.transformer)) ${varName}.before.push(typeTransformer.transformer);
37
-
38
- if (!${varName}.afterDeclarations) ${varName}.afterDeclarations = [];
39
- if (!${varName}.afterDeclarations.includes(typeTransformer.declarationTransformer)) {
40
- ${varName}.afterDeclarations.push(typeTransformer.declarationTransformer);
41
- }
42
- }
43
- }
44
- } catch (e) {
32
+ function getCode(runtypedDistPath: string, id: string): string {
33
+ const patchCode = `
34
+ //${getPatchId(id)}
35
+ let runtypedTypeTransformer;
36
+ try {
37
+ runtypedTypeTransformer = require('@runtyped/type-compiler');
38
+ } catch (error) {
39
+ try {
40
+ runtypedTypeTransformer = require(${JSON.stringify(runtypedDistPath)});
41
+ } catch (error) { }
42
+ }
43
+ if (runtypedTypeTransformer) {
44
+ if (!customTransformers) customTransformers = {};
45
+ if (!customTransformers.before) customTransformers.before = [];
46
+ let alreadyPatched = false;
47
+ for (let fn of customTransformers.before) {
48
+ if (fn && fn.name === 'runtypedTypeTransformer') {
49
+ alreadyPatched = true;
50
+ break;
51
+ }
52
+ }
53
+ if (!alreadyPatched) {
54
+ if (!customTransformers.before.includes(runtypedTypeTransformer.transformer)) {
55
+ customTransformers.before.push(runtypedTypeTransformer.transformer);
56
+ }
57
+ if (!customTransformers.afterDeclarations) {
58
+ customTransformers.afterDeclarations = [];
59
+ }
60
+ if (!customTransformers.afterDeclarations.includes(runtypedTypeTransformer.declarationTransformer)) {
61
+ customTransformers.afterDeclarations.push(runtypedTypeTransformer.declarationTransformer);
45
62
  }
46
- //${getPatchId(id)}-end
47
- `;
63
+ }
64
+ } else {
65
+ console.error(\`
66
+ ==================== @runtyped/type-compiler ====================
67
+
68
+ WARNING: failed to require() @runtyped/type-compiler.
69
+
70
+ The TypeScript compiler has been correctly patched but the patch
71
+ itself is unable to load the transformer module from the expected
72
+ path. Please report this issue to the Runtyped team.
73
+ =================================================================
74
+ \`);
75
+ }
76
+ //${getPatchId(id)}-end
77
+ `;
78
+ return patchCode;
48
79
  }
49
80
 
50
81
  function isPatched(code: string, id: string) {
51
82
  return code.includes(getPatchId(id));
52
83
  }
53
84
 
54
- function patchGetTransformers(deepkitDistPath: string, code: string): string {
55
- const id = 'patchGetTransformers';
56
- if (isPatched(code, id)) return '';
85
+ // if (to + '/dist/cjs' === __dirname) {
86
+ // to = join(to, '..'); //we exclude type-compiler/node_modules
87
+ // }
57
88
 
58
- const find = /function getTransformers\([^)]+\)\s*{/;
59
- if (!code.match(find)) return '';
89
+ const typeScriptPath = dirname(require.resolve('typescript', { paths: [to] }));
90
+ const runtypedDistPath = relative(typeScriptPath, __dirname);
60
91
 
61
- code = code.replace(find, function (a) {
62
- return a + '\n ' + getCode(deepkitDistPath, 'customTransformers', id);
63
- });
92
+ const paths = ['tsc.js', '_tsc.js', 'typescript.js'];
64
93
 
65
- return code;
66
- }
94
+ let patched_count = 0;
95
+
96
+ for (const fileName of paths) {
97
+
98
+ const file = join(typeScriptPath, fileName);
99
+
100
+ if (!existsSync(file)) {
101
+ console.log(' Runtyped: skipping file %s (does not exist)', file);
102
+ continue;
103
+ }
104
+
105
+ let code = readFileSync(file, 'utf8');
106
+
107
+ const id = 'patchGetTransformers';
108
+ if (isPatched(code, id)) {
109
+ patched_count += 1;
110
+ console.log(' Runtyped: skipping file %s (already patched)', file);
111
+ continue;
112
+ }
113
+
114
+ const find = /function getTransformers\([^)]+\)\s*{/;
115
+
116
+ if (!code.match(find)) {
117
+ console.log(' Runtyped: skipping file %s (no getTransformers function found)', file);
118
+ continue;
119
+ }
120
+
121
+ code = code.replace(find, function (a) {
122
+ const patchCode = getCode(runtypedDistPath, id);
123
+ return a + '\n ' + patchCode;
124
+ });
125
+
126
+ writeFileSync(file, code);
127
+ patched_count += 1;
128
+ console.log(' Runtyped: injected TypeScript transformer at', file);
67
129
 
68
- if (to + '/dist/cjs' === __dirname) {
69
- to = join(to, '..'); //we exclude type-compiler/node_modules
70
130
  }
71
131
 
72
- const typeScriptPath = dirname(require.resolve('typescript', { paths: [to] }));
73
- const deepkitDistPath = relative(typeScriptPath, __dirname);
132
+ if (patched_count === 0) {
133
+ console.error(`
74
134
 
75
- const paths = ['tsc.js', '_tsc.js', 'typescript.js'];
135
+ Runtyped: WARNING: no files patched. Please report this issue.
76
136
 
77
- for (const fileName of paths) {
78
- const file = join(typeScriptPath, fileName);
79
- if (!existsSync(file)) continue;
80
- const content = patchGetTransformers(deepkitDistPath, readFileSync(file, 'utf8'));
81
- if (!content) continue;
82
- writeFileSync(file, content);
83
- console.log('Deepkit Type: Injected TypeScript transformer at', file);
137
+ `)
84
138
  }
139
+
140
+ console.log(`
141
+
142
+ =========================================================
143
+
144
+ `);
package/package.json CHANGED
@@ -1,21 +1,19 @@
1
1
  {
2
2
  "name": "@runtyped/type-compiler",
3
- "version": "1.0.20-alpha.3",
3
+ "version": "1.0.20-alpha.5",
4
4
  "description": "@runtyped/type compiler/Typescript transformer",
5
- "type": "commonjs",
6
- "main": "./dist/cjs/index.js",
7
- "module": "./dist/esm/index.js",
5
+ "type": "module",
6
+ "main": "./dist/index.js",
8
7
  "bin": {
9
- "runtyped-compiler-debug": "deepkit-compiler-debug.js",
10
- "runtyped-type-install": "deepkit-type-install.js"
8
+ "runtyped-compiler-debug": "./dist/compiler-debug.js",
9
+ "runtyped-type-install": "./dist/install-transformer.js"
11
10
  },
12
11
  "sideEffects": false,
13
12
  "publishConfig": {
14
13
  "access": "public"
15
14
  },
16
15
  "scripts": {
17
- "build": "echo '{\"type\": \"module\"}' > ./dist/esm/package.json",
18
- "install": "rm -rf node_modules/typescript && node ./deepkit-type-install.js || exit 0"
16
+ "install": "rm -rf node_modules/typescript && node ./runtyped-type-install.js || exit 0"
19
17
  },
20
18
  "repository": {
21
19
  "type": "git",
@@ -30,11 +28,11 @@
30
28
  "typescript": "*"
31
29
  },
32
30
  "devDependencies": {
33
- "@runtyped/expect": "1.0.20-alpha.3",
31
+ "@runtyped/expect": "1.0.20-alpha.5",
34
32
  "@types/micromatch": "^4.0.10"
35
33
  },
36
34
  "dependencies": {
37
- "@runtyped/type-spec": "1.0.20-alpha.3",
35
+ "@runtyped/type-spec": "1.0.20-alpha.5",
38
36
  "@marcj/ts-clone-node": "^2.2.0",
39
37
  "@rollup/pluginutils": "^5.3.0",
40
38
  "@typescript/vfs": "1.6.4",
@@ -42,5 +40,6 @@
42
40
  "lz-string": "^1.5.0",
43
41
  "micromatch": "^4.0.8",
44
42
  "strip-json-comments": "^5.0.3"
45
- }
43
+ },
44
+ "keywords": ["validation", "reflection", "runtime", "types", "runtyped", "compiler", "transform", "typescript"]
46
45
  }
package/src/compiler.ts CHANGED
@@ -1417,7 +1417,8 @@ export class ReflectionTransformer implements CustomTransformer {
1417
1417
  for (const member of narrowed.members) {
1418
1418
  const name = getNameAsString(member.name);
1419
1419
  if (name) {
1420
- const has = members.some(v => getNameAsString(v.name) === name);
1420
+ const isStatic = hasModifier(member, SyntaxKind.StaticKeyword);
1421
+ const has = members.some(v => getNameAsString(v.name) === name && hasModifier(v, SyntaxKind.StaticKeyword) === isStatic);
1421
1422
  if (has) continue;
1422
1423
  }
1423
1424
  members.push(member);
@@ -2989,7 +2990,7 @@ export class DeclarationTransformer extends ReflectionTransformer {
2989
2990
  let loaded = false;
2990
2991
  const cache = new Cache;
2991
2992
 
2992
- export const transformer: CustomTransformerFactory = function runtypedTransformer(context) {
2993
+ export const transformer: CustomTransformerFactory = function runtypedTypeTransformer(context) {
2993
2994
  if (!loaded) {
2994
2995
  debug('@runtyped/type transformer loaded\n');
2995
2996
  loaded = true;
package/tsconfig.json CHANGED
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "extends": "../../tsconfig.base.json",
3
3
  "compilerOptions": {
4
- "outDir": "./dist/cjs",
4
+ "outDir": "./dist",
5
5
  "types": [
6
6
  "lz-string",
7
7
  "micromatch",
8
8
  "node"
9
9
  ],
10
- "tsBuildInfoFile": ".cjs.tsbuildinfo"
10
+ "tsBuildInfoFile": ".tsbuildinfo"
11
11
  },
12
12
  "include": [
13
13
  "src",
@@ -1,5 +0,0 @@
1
- #!/usr/bin/env node
2
-
3
- try {
4
- require('./dist/cjs/compiler-debug.js');
5
- } catch (error) {}
@@ -1,5 +0,0 @@
1
- #!/usr/bin/env node
2
-
3
- try {
4
- require('./dist/cjs/install-transformer.js');
5
- } catch (error) {}
@@ -1 +0,0 @@
1
- export {};
@@ -1,28 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const plugin_js_1 = require("./src/plugin.js");
4
- const fs_1 = require("fs");
5
- function parseArguments(args) {
6
- const result = {
7
- file: '',
8
- };
9
- for (let i = 0; i < args.length; i++) {
10
- const arg = args[i];
11
- if (arg === '--config') {
12
- result.config = args[i + 1];
13
- i++;
14
- }
15
- else {
16
- result.file = arg;
17
- }
18
- }
19
- return result;
20
- }
21
- const args = parseArguments(process.argv.slice(2));
22
- const transformer = (0, plugin_js_1.deepkitType)({
23
- tsConfig: args.config,
24
- });
25
- const code = (0, fs_1.readFileSync)(args.file, 'utf8');
26
- const transformed = transformer(code, args.file);
27
- console.log(transformed?.code);
28
- //# sourceMappingURL=compiler-debug.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"compiler-debug.js","sourceRoot":"","sources":["../../compiler-debug.ts"],"names":[],"mappings":";;AAAA,+CAA8C;AAC9C,2BAAkC;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,IAAA,uBAAW,EAAC;IAC5B,QAAQ,EAAE,IAAI,CAAC,MAAM;CACxB,CAAC,CAAC;AAEH,MAAM,IAAI,GAAG,IAAA,iBAAY,EAAC,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/cjs/index.js DELETED
@@ -1,36 +0,0 @@
1
- "use strict";
2
- /*
3
- * Runtyped Framework
4
- * Copyright (C) 2021 Deepkit UG, Marc J. Schmidt
5
- *
6
- * This program is free software: you can redistribute it and/or modify
7
- * it under the terms of the MIT License.
8
- *
9
- * You should have received a copy of the MIT License along with this program.
10
- */
11
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
12
- if (k2 === undefined) k2 = k;
13
- var desc = Object.getOwnPropertyDescriptor(m, k);
14
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
15
- desc = { enumerable: true, get: function() { return m[k]; } };
16
- }
17
- Object.defineProperty(o, k2, desc);
18
- }) : (function(o, m, k, k2) {
19
- if (k2 === undefined) k2 = k;
20
- o[k2] = m[k];
21
- }));
22
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
23
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
24
- };
25
- Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.default = myTransformerPlugin;
27
- const compiler_js_1 = require("./src/compiler.js");
28
- __exportStar(require("./src/compiler.js"), exports);
29
- __exportStar(require("./src/loader.js"), exports);
30
- function myTransformerPlugin(program, opts) {
31
- return {
32
- before: compiler_js_1.transformer,
33
- afterDeclarations: compiler_js_1.declarationTransformer,
34
- };
35
- }
36
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../index.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;;;;;;;;;;;;;;AAQH,sCAKC;AAXD,mDAAwE;AAGxE,oDAAkC;AAClC,kDAAgC;AAEhC,SAAwB,mBAAmB,CAAC,OAAgB,EAAE,IAAQ;IAClE,OAAO;QACH,MAAM,EAAE,yBAAW;QACnB,iBAAiB,EAAE,oCAAsB;KAC5C,CAAC;AACN,CAAC"}
@@ -1,77 +0,0 @@
1
- #!/usr/bin/env node
2
- "use strict";
3
- /**
4
- * This script installs the deepkit/type transformer (that extracts automatically types and adds the correct @t decorator) to the typescript node_modules.
5
- *
6
- * The critical section that needs adjustment is in the `function getScriptTransformers` in `node_modules/typescript/lib/tsc.js`.
7
- */
8
- Object.defineProperty(exports, "__esModule", { value: true });
9
- const path_1 = require("path");
10
- const fs_1 = require("fs");
11
- let to = process.argv[2] || process.cwd();
12
- function getPatchId(id) {
13
- return 'deepkit_type_patch_' + id;
14
- }
15
- function getCode(deepkitDistPath, varName, id) {
16
- return `
17
- //${getPatchId(id)}
18
- try {
19
- var typeTransformer;
20
- try {
21
- typeTransformer = require('@runtyped/type-compiler');
22
- } catch (error) {
23
- typeTransformer = require(${JSON.stringify(deepkitDistPath)});
24
- }
25
- if (typeTransformer) {
26
- if (!customTransformers) ${varName} = {};
27
- if (!${varName}.before) ${varName}.before = [];
28
- let alreadyPatched = false;
29
- for (let fn of ${varName}.before) {
30
- if (fn && fn.name === 'deepkitTransformer') alreadyPatched = true;
31
- }
32
- if (!alreadyPatched) {
33
- if (!${varName}.before.includes(typeTransformer.transformer)) ${varName}.before.push(typeTransformer.transformer);
34
-
35
- if (!${varName}.afterDeclarations) ${varName}.afterDeclarations = [];
36
- if (!${varName}.afterDeclarations.includes(typeTransformer.declarationTransformer)) {
37
- ${varName}.afterDeclarations.push(typeTransformer.declarationTransformer);
38
- }
39
- }
40
- }
41
- } catch (e) {
42
- }
43
- //${getPatchId(id)}-end
44
- `;
45
- }
46
- function isPatched(code, id) {
47
- return code.includes(getPatchId(id));
48
- }
49
- function patchGetTransformers(deepkitDistPath, code) {
50
- const id = 'patchGetTransformers';
51
- if (isPatched(code, id))
52
- return '';
53
- const find = /function getTransformers\([^)]+\)\s*{/;
54
- if (!code.match(find))
55
- return '';
56
- code = code.replace(find, function (a) {
57
- return a + '\n ' + getCode(deepkitDistPath, 'customTransformers', id);
58
- });
59
- return code;
60
- }
61
- if (to + '/dist/cjs' === __dirname) {
62
- to = (0, path_1.join)(to, '..'); //we exclude type-compiler/node_modules
63
- }
64
- const typeScriptPath = (0, path_1.dirname)(require.resolve('typescript', { paths: [to] }));
65
- const deepkitDistPath = (0, path_1.relative)(typeScriptPath, __dirname);
66
- const paths = ['tsc.js', '_tsc.js', 'typescript.js'];
67
- for (const fileName of paths) {
68
- const file = (0, path_1.join)(typeScriptPath, fileName);
69
- if (!(0, fs_1.existsSync)(file))
70
- continue;
71
- const content = patchGetTransformers(deepkitDistPath, (0, fs_1.readFileSync)(file, 'utf8'));
72
- if (!content)
73
- continue;
74
- (0, fs_1.writeFileSync)(file, content);
75
- console.log('Deepkit Type: Injected TypeScript transformer at', file);
76
- }
77
- //# 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,+BAA+C;AAC/C,2BAA6D;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,IAAA,WAAI,EAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,uCAAuC;AAChE,CAAC;AAED,MAAM,cAAc,GAAG,IAAA,cAAO,EAAC,OAAO,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAC/E,MAAM,eAAe,GAAG,IAAA,eAAQ,EAAC,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,IAAA,WAAI,EAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;IAC5C,IAAI,CAAC,IAAA,eAAU,EAAC,IAAI,CAAC;QAAE,SAAS;IAChC,MAAM,OAAO,GAAG,oBAAoB,CAAC,eAAe,EAAE,IAAA,iBAAY,EAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;IAClF,IAAI,CAAC,OAAO;QAAE,SAAS;IACvB,IAAA,kBAAa,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC7B,OAAO,CAAC,GAAG,CAAC,kDAAkD,EAAE,IAAI,CAAC,CAAC;AAC1E,CAAC"}