@teambit/typescript 0.0.0-02c0c8ffc2ebaf66ef5cbfc2e31c48e2b4acbfc7

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 (310) hide show
  1. package/cmds/check-types.cmd.ts +76 -0
  2. package/dist/cmds/check-types.cmd.d.ts +34 -0
  3. package/dist/cmds/check-types.cmd.js +101 -0
  4. package/dist/cmds/check-types.cmd.js.map +1 -0
  5. package/dist/compiler-options.d.ts +22 -0
  6. package/dist/compiler-options.js +3 -0
  7. package/dist/compiler-options.js.map +1 -0
  8. package/dist/esm.mjs +21 -0
  9. package/dist/exceptions/index.d.ts +1 -0
  10. package/dist/exceptions/index.js +20 -0
  11. package/dist/exceptions/index.js.map +1 -0
  12. package/dist/exceptions/transformer-not-found.d.ts +8 -0
  13. package/dist/exceptions/transformer-not-found.js +26 -0
  14. package/dist/exceptions/transformer-not-found.js.map +1 -0
  15. package/dist/export-identifier.d.ts +6 -0
  16. package/dist/export-identifier.js +29 -0
  17. package/dist/export-identifier.js.map +1 -0
  18. package/dist/extractor-options.d.ts +26 -0
  19. package/dist/extractor-options.js +3 -0
  20. package/dist/extractor-options.js.map +1 -0
  21. package/dist/identifier-list.d.ts +7 -0
  22. package/dist/identifier-list.js +21 -0
  23. package/dist/identifier-list.js.map +1 -0
  24. package/dist/identifier.d.ts +11 -0
  25. package/dist/identifier.js +45 -0
  26. package/dist/identifier.js.map +1 -0
  27. package/dist/index.d.ts +9 -0
  28. package/dist/index.js +91 -0
  29. package/dist/index.js.map +1 -0
  30. package/dist/preview-1752542268171.js +7 -0
  31. package/dist/remove-types-task.d.ts +12 -0
  32. package/dist/remove-types-task.js +64 -0
  33. package/dist/remove-types-task.js.map +1 -0
  34. package/dist/schema-extractor-context.d.ts +162 -0
  35. package/dist/schema-extractor-context.js +745 -0
  36. package/dist/schema-extractor-context.js.map +1 -0
  37. package/dist/schema-transformer.d.ts +19 -0
  38. package/dist/schema-transformer.js +3 -0
  39. package/dist/schema-transformer.js.map +1 -0
  40. package/dist/schema-transformer.plugin.d.ts +9 -0
  41. package/dist/schema-transformer.plugin.js +22 -0
  42. package/dist/schema-transformer.plugin.js.map +1 -0
  43. package/dist/sourceFileTransformers/class.d.ts +2 -0
  44. package/dist/sourceFileTransformers/class.js +57 -0
  45. package/dist/sourceFileTransformers/class.js.map +1 -0
  46. package/dist/sourceFileTransformers/empty-line-encoder.d.ts +14 -0
  47. package/dist/sourceFileTransformers/empty-line-encoder.js +62 -0
  48. package/dist/sourceFileTransformers/empty-line-encoder.js.map +1 -0
  49. package/dist/sourceFileTransformers/export.d.ts +2 -0
  50. package/dist/sourceFileTransformers/export.js +58 -0
  51. package/dist/sourceFileTransformers/export.js.map +1 -0
  52. package/dist/sourceFileTransformers/expression-statement.d.ts +2 -0
  53. package/dist/sourceFileTransformers/expression-statement.js +58 -0
  54. package/dist/sourceFileTransformers/expression-statement.js.map +1 -0
  55. package/dist/sourceFileTransformers/function.d.ts +2 -0
  56. package/dist/sourceFileTransformers/function.js +119 -0
  57. package/dist/sourceFileTransformers/function.js.map +1 -0
  58. package/dist/sourceFileTransformers/import.d.ts +2 -0
  59. package/dist/sourceFileTransformers/import.js +71 -0
  60. package/dist/sourceFileTransformers/import.js.map +1 -0
  61. package/dist/sourceFileTransformers/index.d.ts +12 -0
  62. package/dist/sourceFileTransformers/index.js +137 -0
  63. package/dist/sourceFileTransformers/index.js.map +1 -0
  64. package/dist/sourceFileTransformers/interface.d.ts +2 -0
  65. package/dist/sourceFileTransformers/interface.js +50 -0
  66. package/dist/sourceFileTransformers/interface.js.map +1 -0
  67. package/dist/sourceFileTransformers/replaceName.d.ts +1 -0
  68. package/dist/sourceFileTransformers/replaceName.js +19 -0
  69. package/dist/sourceFileTransformers/replaceName.js.map +1 -0
  70. package/dist/sourceFileTransformers/transform.d.ts +12 -0
  71. package/dist/sourceFileTransformers/transform.js +76 -0
  72. package/dist/sourceFileTransformers/transform.js.map +1 -0
  73. package/dist/sourceFileTransformers/type-reference.d.ts +2 -0
  74. package/dist/sourceFileTransformers/type-reference.js +38 -0
  75. package/dist/sourceFileTransformers/type-reference.js.map +1 -0
  76. package/dist/sourceFileTransformers/typeAlias.d.ts +2 -0
  77. package/dist/sourceFileTransformers/typeAlias.js +41 -0
  78. package/dist/sourceFileTransformers/typeAlias.js.map +1 -0
  79. package/dist/sourceFileTransformers/variable.d.ts +2 -0
  80. package/dist/sourceFileTransformers/variable.js +41 -0
  81. package/dist/sourceFileTransformers/variable.js.map +1 -0
  82. package/dist/transform-source-file.spec.d.ts +1 -0
  83. package/dist/transform-source-file.spec.js +182 -0
  84. package/dist/transform-source-file.spec.js.map +1 -0
  85. package/dist/transformers/array-literal-expression.d.ts +10 -0
  86. package/dist/transformers/array-literal-expression.js +51 -0
  87. package/dist/transformers/array-literal-expression.js.map +1 -0
  88. package/dist/transformers/array-type.d.ts +10 -0
  89. package/dist/transformers/array-type.js +37 -0
  90. package/dist/transformers/array-type.js.map +1 -0
  91. package/dist/transformers/binding-element.d.ts +17 -0
  92. package/dist/transformers/binding-element.js +63 -0
  93. package/dist/transformers/binding-element.js.map +1 -0
  94. package/dist/transformers/class-declaration.d.ts +12 -0
  95. package/dist/transformers/class-declaration.js +116 -0
  96. package/dist/transformers/class-declaration.js.map +1 -0
  97. package/dist/transformers/conditional-type.d.ts +10 -0
  98. package/dist/transformers/conditional-type.js +38 -0
  99. package/dist/transformers/conditional-type.js.map +1 -0
  100. package/dist/transformers/constructor.d.ts +10 -0
  101. package/dist/transformers/constructor.js +49 -0
  102. package/dist/transformers/constructor.js.map +1 -0
  103. package/dist/transformers/decorator.d.ts +10 -0
  104. package/dist/transformers/decorator.js +54 -0
  105. package/dist/transformers/decorator.js.map +1 -0
  106. package/dist/transformers/enum-declaration.d.ts +10 -0
  107. package/dist/transformers/enum-declaration.js +60 -0
  108. package/dist/transformers/enum-declaration.js.map +1 -0
  109. package/dist/transformers/export-assignment.d.ts +14 -0
  110. package/dist/transformers/export-assignment.js +52 -0
  111. package/dist/transformers/export-assignment.js.map +1 -0
  112. package/dist/transformers/export-declaration.d.ts +10 -0
  113. package/dist/transformers/export-declaration.js +154 -0
  114. package/dist/transformers/export-declaration.js.map +1 -0
  115. package/dist/transformers/expression-statement.d.ts +10 -0
  116. package/dist/transformers/expression-statement.js +36 -0
  117. package/dist/transformers/expression-statement.js.map +1 -0
  118. package/dist/transformers/function-like.d.ts +11 -0
  119. package/dist/transformers/function-like.js +81 -0
  120. package/dist/transformers/function-like.js.map +1 -0
  121. package/dist/transformers/get-accessor.d.ts +10 -0
  122. package/dist/transformers/get-accessor.js +46 -0
  123. package/dist/transformers/get-accessor.js.map +1 -0
  124. package/dist/transformers/import-declaration.d.ts +10 -0
  125. package/dist/transformers/import-declaration.js +72 -0
  126. package/dist/transformers/import-declaration.js.map +1 -0
  127. package/dist/transformers/index-signature.d.ts +10 -0
  128. package/dist/transformers/index-signature.js +41 -0
  129. package/dist/transformers/index-signature.js.map +1 -0
  130. package/dist/transformers/index.d.ts +43 -0
  131. package/dist/transformers/index.js +566 -0
  132. package/dist/transformers/index.js.map +1 -0
  133. package/dist/transformers/indexed-access-type.d.ts +10 -0
  134. package/dist/transformers/indexed-access-type.js +36 -0
  135. package/dist/transformers/indexed-access-type.js.map +1 -0
  136. package/dist/transformers/interface-declaration.d.ts +11 -0
  137. package/dist/transformers/interface-declaration.js +86 -0
  138. package/dist/transformers/interface-declaration.js.map +1 -0
  139. package/dist/transformers/intersection-type.d.ts +10 -0
  140. package/dist/transformers/intersection-type.js +47 -0
  141. package/dist/transformers/intersection-type.js.map +1 -0
  142. package/dist/transformers/keyword-type.d.ts +13 -0
  143. package/dist/transformers/keyword-type.js +54 -0
  144. package/dist/transformers/keyword-type.js.map +1 -0
  145. package/dist/transformers/literal-type.d.ts +13 -0
  146. package/dist/transformers/literal-type.js +39 -0
  147. package/dist/transformers/literal-type.js.map +1 -0
  148. package/dist/transformers/literal-value.d.ts +11 -0
  149. package/dist/transformers/literal-value.js +35 -0
  150. package/dist/transformers/literal-value.js.map +1 -0
  151. package/dist/transformers/module-declaration.d.ts +10 -0
  152. package/dist/transformers/module-declaration.js +36 -0
  153. package/dist/transformers/module-declaration.js.map +1 -0
  154. package/dist/transformers/named-tuple.d.ts +10 -0
  155. package/dist/transformers/named-tuple.js +37 -0
  156. package/dist/transformers/named-tuple.js.map +1 -0
  157. package/dist/transformers/object-literal-expression.d.ts +9 -0
  158. package/dist/transformers/object-literal-expression.js +51 -0
  159. package/dist/transformers/object-literal-expression.js.map +1 -0
  160. package/dist/transformers/parameter.d.ts +13 -0
  161. package/dist/transformers/parameter.js +109 -0
  162. package/dist/transformers/parameter.js.map +1 -0
  163. package/dist/transformers/parenthesized-type.d.ts +10 -0
  164. package/dist/transformers/parenthesized-type.js +35 -0
  165. package/dist/transformers/parenthesized-type.js.map +1 -0
  166. package/dist/transformers/property-assignment.d.ts +9 -0
  167. package/dist/transformers/property-assignment.js +39 -0
  168. package/dist/transformers/property-assignment.js.map +1 -0
  169. package/dist/transformers/property-declaration.d.ts +11 -0
  170. package/dist/transformers/property-declaration.js +56 -0
  171. package/dist/transformers/property-declaration.js.map +1 -0
  172. package/dist/transformers/set-accessor.d.ts +10 -0
  173. package/dist/transformers/set-accessor.js +44 -0
  174. package/dist/transformers/set-accessor.js.map +1 -0
  175. package/dist/transformers/source-file-transformer.d.ts +15 -0
  176. package/dist/transformers/source-file-transformer.js +108 -0
  177. package/dist/transformers/source-file-transformer.js.map +1 -0
  178. package/dist/transformers/template-literal-type-span.d.ts +10 -0
  179. package/dist/transformers/template-literal-type-span.js +36 -0
  180. package/dist/transformers/template-literal-type-span.js.map +1 -0
  181. package/dist/transformers/template-literal-type.d.ts +10 -0
  182. package/dist/transformers/template-literal-type.js +44 -0
  183. package/dist/transformers/template-literal-type.js.map +1 -0
  184. package/dist/transformers/this-type.d.ts +10 -0
  185. package/dist/transformers/this-type.js +34 -0
  186. package/dist/transformers/this-type.js.map +1 -0
  187. package/dist/transformers/tuple-type.d.ts +10 -0
  188. package/dist/transformers/tuple-type.js +46 -0
  189. package/dist/transformers/tuple-type.js.map +1 -0
  190. package/dist/transformers/type-alias.d.ts +11 -0
  191. package/dist/transformers/type-alias.js +48 -0
  192. package/dist/transformers/type-alias.js.map +1 -0
  193. package/dist/transformers/type-literal.d.ts +14 -0
  194. package/dist/transformers/type-literal.js +48 -0
  195. package/dist/transformers/type-literal.js.map +1 -0
  196. package/dist/transformers/type-operator.d.ts +14 -0
  197. package/dist/transformers/type-operator.js +51 -0
  198. package/dist/transformers/type-operator.js.map +1 -0
  199. package/dist/transformers/type-predicate.d.ts +10 -0
  200. package/dist/transformers/type-predicate.js +37 -0
  201. package/dist/transformers/type-predicate.js.map +1 -0
  202. package/dist/transformers/type-query.d.ts +13 -0
  203. package/dist/transformers/type-query.js +41 -0
  204. package/dist/transformers/type-query.js.map +1 -0
  205. package/dist/transformers/type-reference.d.ts +17 -0
  206. package/dist/transformers/type-reference.js +58 -0
  207. package/dist/transformers/type-reference.js.map +1 -0
  208. package/dist/transformers/union-type.d.ts +10 -0
  209. package/dist/transformers/union-type.js +47 -0
  210. package/dist/transformers/union-type.js.map +1 -0
  211. package/dist/transformers/utils/jsdoc-to-doc-schema.d.ts +5 -0
  212. package/dist/transformers/utils/jsdoc-to-doc-schema.js +114 -0
  213. package/dist/transformers/utils/jsdoc-to-doc-schema.js.map +1 -0
  214. package/dist/transformers/utils/parse-type-from-quick-info.d.ts +36 -0
  215. package/dist/transformers/utils/parse-type-from-quick-info.js +111 -0
  216. package/dist/transformers/utils/parse-type-from-quick-info.js.map +1 -0
  217. package/dist/transformers/variable-declaration.d.ts +11 -0
  218. package/dist/transformers/variable-declaration.js +102 -0
  219. package/dist/transformers/variable-declaration.js.map +1 -0
  220. package/dist/transformers/variable-statement.d.ts +14 -0
  221. package/dist/transformers/variable-statement.js +67 -0
  222. package/dist/transformers/variable-statement.js.map +1 -0
  223. package/dist/tsconfig.default.json +25 -0
  224. package/dist/typescript.aspect.d.ts +2 -0
  225. package/dist/typescript.aspect.js +18 -0
  226. package/dist/typescript.aspect.js.map +1 -0
  227. package/dist/typescript.composition.d.ts +1 -0
  228. package/dist/typescript.composition.js +29 -0
  229. package/dist/typescript.composition.js.map +1 -0
  230. package/dist/typescript.docs.mdx +8 -0
  231. package/dist/typescript.extractor.d.ts +51 -0
  232. package/dist/typescript.extractor.js +254 -0
  233. package/dist/typescript.extractor.js.map +1 -0
  234. package/dist/typescript.main.runtime.d.ts +129 -0
  235. package/dist/typescript.main.runtime.js +400 -0
  236. package/dist/typescript.main.runtime.js.map +1 -0
  237. package/dist/typescript.parser.d.ts +12 -0
  238. package/dist/typescript.parser.js +141 -0
  239. package/dist/typescript.parser.js.map +1 -0
  240. package/dist/typescript.parser.spec.d.ts +1 -0
  241. package/dist/typescript.parser.spec.js +189 -0
  242. package/dist/typescript.parser.spec.js.map +1 -0
  243. package/esm.mjs +21 -0
  244. package/exceptions/index.ts +1 -0
  245. package/exceptions/transformer-not-found.ts +19 -0
  246. package/package.json +86 -0
  247. package/sourceFileTransformers/class.ts +73 -0
  248. package/sourceFileTransformers/empty-line-encoder.ts +56 -0
  249. package/sourceFileTransformers/export.ts +65 -0
  250. package/sourceFileTransformers/expression-statement.ts +48 -0
  251. package/sourceFileTransformers/function.ts +170 -0
  252. package/sourceFileTransformers/import.ts +101 -0
  253. package/sourceFileTransformers/index.ts +14 -0
  254. package/sourceFileTransformers/interface.ts +41 -0
  255. package/sourceFileTransformers/replaceName.ts +11 -0
  256. package/sourceFileTransformers/transform.ts +70 -0
  257. package/sourceFileTransformers/type-reference.ts +19 -0
  258. package/sourceFileTransformers/typeAlias.ts +25 -0
  259. package/sourceFileTransformers/variable.ts +25 -0
  260. package/transformers/array-literal-expression.ts +33 -0
  261. package/transformers/array-type.ts +21 -0
  262. package/transformers/binding-element.ts +34 -0
  263. package/transformers/class-declaration.ts +108 -0
  264. package/transformers/conditional-type.ts +23 -0
  265. package/transformers/constructor.ts +40 -0
  266. package/transformers/decorator.ts +28 -0
  267. package/transformers/enum-declaration.ts +31 -0
  268. package/transformers/export-assignment.ts +33 -0
  269. package/transformers/export-declaration.ts +182 -0
  270. package/transformers/expression-statement.ts +20 -0
  271. package/transformers/function-like.ts +70 -0
  272. package/transformers/get-accessor.ts +24 -0
  273. package/transformers/import-declaration.ts +56 -0
  274. package/transformers/index-signature.ts +25 -0
  275. package/transformers/index.ts +43 -0
  276. package/transformers/indexed-access-type.ts +21 -0
  277. package/transformers/interface-declaration.ts +66 -0
  278. package/transformers/intersection-type.ts +25 -0
  279. package/transformers/keyword-type.ts +39 -0
  280. package/transformers/literal-type.ts +23 -0
  281. package/transformers/literal-value.ts +38 -0
  282. package/transformers/module-declaration.ts +20 -0
  283. package/transformers/named-tuple.ts +22 -0
  284. package/transformers/object-literal-expression.ts +28 -0
  285. package/transformers/parameter.ts +122 -0
  286. package/transformers/parenthesized-type.ts +20 -0
  287. package/transformers/property-assignment.ts +23 -0
  288. package/transformers/property-declaration.ts +34 -0
  289. package/transformers/set-accessor.ts +25 -0
  290. package/transformers/source-file-transformer.ts +94 -0
  291. package/transformers/template-literal-type-span.ts +21 -0
  292. package/transformers/template-literal-type.ts +24 -0
  293. package/transformers/this-type.ts +19 -0
  294. package/transformers/tuple-type.ts +24 -0
  295. package/transformers/type-alias.ts +26 -0
  296. package/transformers/type-literal.ts +26 -0
  297. package/transformers/type-operator.ts +37 -0
  298. package/transformers/type-predicate.ts +22 -0
  299. package/transformers/type-query.ts +25 -0
  300. package/transformers/type-reference.ts +36 -0
  301. package/transformers/union-type.ts +25 -0
  302. package/transformers/utils/jsdoc-to-doc-schema.ts +121 -0
  303. package/transformers/utils/parse-type-from-quick-info.ts +99 -0
  304. package/transformers/variable-declaration.ts +111 -0
  305. package/transformers/variable-statement.ts +32 -0
  306. package/tsconfig.default.json +25 -0
  307. package/types/asset.d.ts +41 -0
  308. package/types/style.d.ts +42 -0
  309. package/typescript.composition.tsx +7 -0
  310. package/typescript.docs.mdx +8 -0
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.typeReferenceTransformer = typeReferenceTransformer;
7
+ function _typescript() {
8
+ const data = _interopRequireDefault(require("typescript"));
9
+ _typescript = function () {
10
+ return data;
11
+ };
12
+ return data;
13
+ }
14
+ function _replaceName() {
15
+ const data = require("./replaceName");
16
+ _replaceName = function () {
17
+ return data;
18
+ };
19
+ return data;
20
+ }
21
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
22
+ function typeReferenceTransformer(mapping) {
23
+ return context => {
24
+ const visit = node => {
25
+ if (_typescript().default.isTypeReferenceNode(node)) {
26
+ const oldName = node.typeName.getText();
27
+ const newName = (0, _replaceName().replaceName)(oldName, mapping);
28
+ if (newName) {
29
+ return _typescript().default.factory.updateTypeReferenceNode(node, _typescript().default.factory.createIdentifier(newName), node.typeArguments);
30
+ }
31
+ }
32
+ return _typescript().default.visitEachChild(node, visit, context);
33
+ };
34
+ return node => _typescript().default.visitNode(node, visit);
35
+ };
36
+ }
37
+
38
+ //# sourceMappingURL=type-reference.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_typescript","data","_interopRequireDefault","require","_replaceName","e","__esModule","default","typeReferenceTransformer","mapping","context","visit","node","ts","isTypeReferenceNode","oldName","typeName","getText","newName","replaceName","factory","updateTypeReferenceNode","createIdentifier","typeArguments","visitEachChild","visitNode"],"sources":["type-reference.ts"],"sourcesContent":["import ts from 'typescript';\nimport { replaceName } from './replaceName';\n\nexport function typeReferenceTransformer(mapping: Record<string, string>): ts.TransformerFactory<ts.SourceFile> {\n return (context) => {\n const visit: ts.Visitor = (node) => {\n if (ts.isTypeReferenceNode(node)) {\n const oldName = node.typeName.getText();\n const newName = replaceName(oldName, mapping);\n if (newName) {\n return ts.factory.updateTypeReferenceNode(node, ts.factory.createIdentifier(newName), node.typeArguments);\n }\n }\n return ts.visitEachChild(node, visit, context);\n };\n\n return (node) => ts.visitNode(node, visit) as ts.SourceFile;\n };\n}\n"],"mappings":";;;;;;AAAA,SAAAA,YAAA;EAAA,MAAAC,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAH,WAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAG,aAAA;EAAA,MAAAH,IAAA,GAAAE,OAAA;EAAAC,YAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAA4C,SAAAC,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAErC,SAASG,wBAAwBA,CAACC,OAA+B,EAAwC;EAC9G,OAAQC,OAAO,IAAK;IAClB,MAAMC,KAAiB,GAAIC,IAAI,IAAK;MAClC,IAAIC,qBAAE,CAACC,mBAAmB,CAACF,IAAI,CAAC,EAAE;QAChC,MAAMG,OAAO,GAAGH,IAAI,CAACI,QAAQ,CAACC,OAAO,CAAC,CAAC;QACvC,MAAMC,OAAO,GAAG,IAAAC,0BAAW,EAACJ,OAAO,EAAEN,OAAO,CAAC;QAC7C,IAAIS,OAAO,EAAE;UACX,OAAOL,qBAAE,CAACO,OAAO,CAACC,uBAAuB,CAACT,IAAI,EAAEC,qBAAE,CAACO,OAAO,CAACE,gBAAgB,CAACJ,OAAO,CAAC,EAAEN,IAAI,CAACW,aAAa,CAAC;QAC3G;MACF;MACA,OAAOV,qBAAE,CAACW,cAAc,CAACZ,IAAI,EAAED,KAAK,EAAED,OAAO,CAAC;IAChD,CAAC;IAED,OAAQE,IAAI,IAAKC,qBAAE,CAACY,SAAS,CAACb,IAAI,EAAED,KAAK,CAAkB;EAC7D,CAAC;AACH","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import ts from 'typescript';
2
+ export declare function typeAliasNamesTransformer(nameMapping: Record<string, string>): ts.TransformerFactory<ts.SourceFile>;
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.typeAliasNamesTransformer = typeAliasNamesTransformer;
7
+ function _typescript() {
8
+ const data = _interopRequireDefault(require("typescript"));
9
+ _typescript = function () {
10
+ return data;
11
+ };
12
+ return data;
13
+ }
14
+ function _replaceName() {
15
+ const data = require("./replaceName");
16
+ _replaceName = function () {
17
+ return data;
18
+ };
19
+ return data;
20
+ }
21
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
22
+ function typeAliasNamesTransformer(nameMapping) {
23
+ return context => {
24
+ const {
25
+ factory
26
+ } = context;
27
+ const visit = node => {
28
+ if (_typescript().default.isTypeAliasDeclaration(node)) {
29
+ const oldName = node.name.text;
30
+ const newName = (0, _replaceName().replaceName)(oldName, nameMapping);
31
+ if (newName) {
32
+ return factory.updateTypeAliasDeclaration(node, node.modifiers, factory.createIdentifier(newName), node.typeParameters, node.type);
33
+ }
34
+ }
35
+ return _typescript().default.visitEachChild(node, child => visit(child), context);
36
+ };
37
+ return node => _typescript().default.visitNode(node, visit);
38
+ };
39
+ }
40
+
41
+ //# sourceMappingURL=typeAlias.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_typescript","data","_interopRequireDefault","require","_replaceName","e","__esModule","default","typeAliasNamesTransformer","nameMapping","context","factory","visit","node","ts","isTypeAliasDeclaration","oldName","name","text","newName","replaceName","updateTypeAliasDeclaration","modifiers","createIdentifier","typeParameters","type","visitEachChild","child","visitNode"],"sources":["typeAlias.ts"],"sourcesContent":["import ts from 'typescript';\nimport { replaceName } from './replaceName';\n\nexport function typeAliasNamesTransformer(nameMapping: Record<string, string>): ts.TransformerFactory<ts.SourceFile> {\n return (context) => {\n const { factory } = context;\n const visit: ts.Visitor = (node) => {\n if (ts.isTypeAliasDeclaration(node)) {\n const oldName = node.name.text;\n const newName = replaceName(oldName, nameMapping);\n if (newName) {\n return factory.updateTypeAliasDeclaration(\n node,\n node.modifiers,\n factory.createIdentifier(newName),\n node.typeParameters,\n node.type\n );\n }\n }\n return ts.visitEachChild(node, (child) => visit(child), context);\n };\n return (node) => ts.visitNode(node, visit) as ts.SourceFile;\n };\n}\n"],"mappings":";;;;;;AAAA,SAAAA,YAAA;EAAA,MAAAC,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAH,WAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAG,aAAA;EAAA,MAAAH,IAAA,GAAAE,OAAA;EAAAC,YAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAA4C,SAAAC,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAErC,SAASG,yBAAyBA,CAACC,WAAmC,EAAwC;EACnH,OAAQC,OAAO,IAAK;IAClB,MAAM;MAAEC;IAAQ,CAAC,GAAGD,OAAO;IAC3B,MAAME,KAAiB,GAAIC,IAAI,IAAK;MAClC,IAAIC,qBAAE,CAACC,sBAAsB,CAACF,IAAI,CAAC,EAAE;QACnC,MAAMG,OAAO,GAAGH,IAAI,CAACI,IAAI,CAACC,IAAI;QAC9B,MAAMC,OAAO,GAAG,IAAAC,0BAAW,EAACJ,OAAO,EAAEP,WAAW,CAAC;QACjD,IAAIU,OAAO,EAAE;UACX,OAAOR,OAAO,CAACU,0BAA0B,CACvCR,IAAI,EACJA,IAAI,CAACS,SAAS,EACdX,OAAO,CAACY,gBAAgB,CAACJ,OAAO,CAAC,EACjCN,IAAI,CAACW,cAAc,EACnBX,IAAI,CAACY,IACP,CAAC;QACH;MACF;MACA,OAAOX,qBAAE,CAACY,cAAc,CAACb,IAAI,EAAGc,KAAK,IAAKf,KAAK,CAACe,KAAK,CAAC,EAAEjB,OAAO,CAAC;IAClE,CAAC;IACD,OAAQG,IAAI,IAAKC,qBAAE,CAACc,SAAS,CAACf,IAAI,EAAED,KAAK,CAAkB;EAC7D,CAAC;AACH","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import ts from 'typescript';
2
+ export declare function variableNamesTransformer(nameMapping: Record<string, string>): ts.TransformerFactory<ts.SourceFile>;
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.variableNamesTransformer = variableNamesTransformer;
7
+ function _typescript() {
8
+ const data = _interopRequireDefault(require("typescript"));
9
+ _typescript = function () {
10
+ return data;
11
+ };
12
+ return data;
13
+ }
14
+ function _replaceName() {
15
+ const data = require("./replaceName");
16
+ _replaceName = function () {
17
+ return data;
18
+ };
19
+ return data;
20
+ }
21
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
22
+ function variableNamesTransformer(nameMapping) {
23
+ return context => {
24
+ const {
25
+ factory
26
+ } = context;
27
+ const visit = node => {
28
+ if (_typescript().default.isVariableDeclaration(node) && node.name.kind === _typescript().default.SyntaxKind.Identifier) {
29
+ const oldName = node.name.text;
30
+ const newName = (0, _replaceName().replaceName)(oldName, nameMapping);
31
+ if (newName) {
32
+ return factory.updateVariableDeclaration(node, factory.createIdentifier(newName), node.exclamationToken, node.type, node.initializer);
33
+ }
34
+ }
35
+ return _typescript().default.visitEachChild(node, child => visit(child), context);
36
+ };
37
+ return node => _typescript().default.visitNode(node, visit);
38
+ };
39
+ }
40
+
41
+ //# sourceMappingURL=variable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_typescript","data","_interopRequireDefault","require","_replaceName","e","__esModule","default","variableNamesTransformer","nameMapping","context","factory","visit","node","ts","isVariableDeclaration","name","kind","SyntaxKind","Identifier","oldName","text","newName","replaceName","updateVariableDeclaration","createIdentifier","exclamationToken","type","initializer","visitEachChild","child","visitNode"],"sources":["variable.ts"],"sourcesContent":["import ts from 'typescript';\nimport { replaceName } from './replaceName';\n\nexport function variableNamesTransformer(nameMapping: Record<string, string>): ts.TransformerFactory<ts.SourceFile> {\n return (context) => {\n const { factory } = context;\n const visit: ts.Visitor = (node) => {\n if (ts.isVariableDeclaration(node) && node.name.kind === ts.SyntaxKind.Identifier) {\n const oldName = node.name.text;\n const newName = replaceName(oldName, nameMapping);\n if (newName) {\n return factory.updateVariableDeclaration(\n node,\n factory.createIdentifier(newName),\n node.exclamationToken,\n node.type,\n node.initializer\n );\n }\n }\n return ts.visitEachChild(node, (child) => visit(child), context);\n };\n return (node) => ts.visitNode(node, visit) as ts.SourceFile;\n };\n}\n"],"mappings":";;;;;;AAAA,SAAAA,YAAA;EAAA,MAAAC,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAH,WAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAG,aAAA;EAAA,MAAAH,IAAA,GAAAE,OAAA;EAAAC,YAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAA4C,SAAAC,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAErC,SAASG,wBAAwBA,CAACC,WAAmC,EAAwC;EAClH,OAAQC,OAAO,IAAK;IAClB,MAAM;MAAEC;IAAQ,CAAC,GAAGD,OAAO;IAC3B,MAAME,KAAiB,GAAIC,IAAI,IAAK;MAClC,IAAIC,qBAAE,CAACC,qBAAqB,CAACF,IAAI,CAAC,IAAIA,IAAI,CAACG,IAAI,CAACC,IAAI,KAAKH,qBAAE,CAACI,UAAU,CAACC,UAAU,EAAE;QACjF,MAAMC,OAAO,GAAGP,IAAI,CAACG,IAAI,CAACK,IAAI;QAC9B,MAAMC,OAAO,GAAG,IAAAC,0BAAW,EAACH,OAAO,EAAEX,WAAW,CAAC;QACjD,IAAIa,OAAO,EAAE;UACX,OAAOX,OAAO,CAACa,yBAAyB,CACtCX,IAAI,EACJF,OAAO,CAACc,gBAAgB,CAACH,OAAO,CAAC,EACjCT,IAAI,CAACa,gBAAgB,EACrBb,IAAI,CAACc,IAAI,EACTd,IAAI,CAACe,WACP,CAAC;QACH;MACF;MACA,OAAOd,qBAAE,CAACe,cAAc,CAAChB,IAAI,EAAGiB,KAAK,IAAKlB,KAAK,CAACkB,KAAK,CAAC,EAAEpB,OAAO,CAAC;IAClE,CAAC;IACD,OAAQG,IAAI,IAAKC,qBAAE,CAACiB,SAAS,CAAClB,IAAI,EAAED,KAAK,CAAkB;EAC7D,CAAC;AACH","ignoreList":[]}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,182 @@
1
+ "use strict";
2
+
3
+ function _chai() {
4
+ const data = require("chai");
5
+ _chai = function () {
6
+ return data;
7
+ };
8
+ return data;
9
+ }
10
+ function _typescript() {
11
+ const data = _interopRequireDefault(require("typescript"));
12
+ _typescript = function () {
13
+ return data;
14
+ };
15
+ return data;
16
+ }
17
+ function _sourceFileTransformers() {
18
+ const data = require("./sourceFileTransformers");
19
+ _sourceFileTransformers = function () {
20
+ return data;
21
+ };
22
+ return data;
23
+ }
24
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
25
+ function normalizeFormatting(code) {
26
+ const sourceFile = _typescript().default.createSourceFile('temp.ts', code, _typescript().default.ScriptTarget.Latest, true);
27
+ const printer = _typescript().default.createPrinter({
28
+ newLine: _typescript().default.NewLineKind.LineFeed,
29
+ removeComments: false
30
+ });
31
+ return printer.printFile(sourceFile);
32
+ }
33
+ describe('transformSourceFile', () => {
34
+ const createTransformerTest = (sourceCode, nameMapping, transformer, expectedCode) => {
35
+ it(`should correctly transform source code with ${transformer.name}`, async () => {
36
+ const result = await (0, _sourceFileTransformers().transformSourceFile)('test.ts', sourceCode, [transformer(nameMapping)]);
37
+ const normalizedResult = normalizeFormatting(result);
38
+ const normalizedExpectedCode = normalizeFormatting(expectedCode);
39
+ (0, _chai().expect)(normalizedResult).to.equal(normalizedExpectedCode);
40
+ });
41
+ };
42
+ const testCases = [{
43
+ transformer: _sourceFileTransformers().classNamesTransformer,
44
+ sourceCode: 'class TestClass {}',
45
+ nameMapping: {
46
+ TestClass: 'NewClassName'
47
+ },
48
+ expectedCode: 'class NewClassName {}'
49
+ }, {
50
+ transformer: _sourceFileTransformers().functionNamesTransformer,
51
+ sourceCode: 'function testFunction() {}',
52
+ nameMapping: {
53
+ testFunction: 'newFunctionName'
54
+ },
55
+ expectedCode: 'function newFunctionName() {}'
56
+ }, {
57
+ transformer: _sourceFileTransformers().importTransformer,
58
+ sourceCode: 'import { Test } from "./test";',
59
+ nameMapping: {
60
+ './test': './newTest'
61
+ },
62
+ expectedCode: 'import { Test } from "./newTest";'
63
+ }, {
64
+ transformer: _sourceFileTransformers().interfaceNamesTransformer,
65
+ sourceCode: 'interface TestInterface {}',
66
+ nameMapping: {
67
+ TestInterface: 'NewInterfaceName'
68
+ },
69
+ expectedCode: 'interface NewInterfaceName {}'
70
+ }, {
71
+ transformer: _sourceFileTransformers().typeAliasNamesTransformer,
72
+ sourceCode: 'type TestType = string;',
73
+ nameMapping: {
74
+ TestType: 'NewTypeName'
75
+ },
76
+ expectedCode: 'type NewTypeName = string;'
77
+ }, {
78
+ transformer: _sourceFileTransformers().variableNamesTransformer,
79
+ sourceCode: 'let testVariable = "test";',
80
+ nameMapping: {
81
+ testVariable: 'newVariableName'
82
+ },
83
+ expectedCode: 'let newVariableName = "test";'
84
+ }, {
85
+ transformer: _sourceFileTransformers().classNamesTransformer,
86
+ sourceCode: 'class TestClass { oldMethod() {} }',
87
+ nameMapping: {
88
+ TestClass: 'NewClassName',
89
+ oldMethod: 'newMethodName'
90
+ },
91
+ expectedCode: 'class NewClassName { newMethodName() {} }'
92
+ }, {
93
+ transformer: _sourceFileTransformers().classNamesTransformer,
94
+ sourceCode: 'class TestClass { oldMember: string; }',
95
+ nameMapping: {
96
+ TestClass: 'NewClassName',
97
+ oldMember: 'newMember'
98
+ },
99
+ expectedCode: 'class NewClassName { newMember: string; }'
100
+ }, {
101
+ transformer: _sourceFileTransformers().expressionStatementTransformer,
102
+ sourceCode: 'TestClass.staticMethod();',
103
+ nameMapping: {
104
+ TestClass: 'NewClassName',
105
+ staticMethod: 'newMethodName'
106
+ },
107
+ expectedCode: 'NewClassName.newMethodName();'
108
+ }, {
109
+ transformer: _sourceFileTransformers().expressionStatementTransformer,
110
+ sourceCode: 'let instance = new TestClass(); instance.method();',
111
+ nameMapping: {
112
+ TestClass: 'NewClassName',
113
+ method: 'newMethodName'
114
+ },
115
+ expectedCode: 'let instance = new NewClassName(); instance.newMethodName();'
116
+ }, {
117
+ transformer: _sourceFileTransformers().interfaceNamesTransformer,
118
+ sourceCode: 'interface TestInterface { oldMember: string; }',
119
+ nameMapping: {
120
+ TestInterface: 'NewInterfaceName',
121
+ oldMember: 'newMember'
122
+ },
123
+ expectedCode: 'interface NewInterfaceName { newMember: string; }'
124
+ }, {
125
+ transformer: _sourceFileTransformers().importTransformer,
126
+ sourceCode: 'const UI = require("@xxx/ui-library");',
127
+ nameMapping: {
128
+ '@xxx/ui-library': '@abc/ui-library'
129
+ },
130
+ expectedCode: 'const UI = require("@abc/ui-library");'
131
+ }, {
132
+ transformer: _sourceFileTransformers().exportTransformer,
133
+ sourceCode: 'export { Component } from "@xxx/ui-library";',
134
+ nameMapping: {
135
+ '@xxx/ui-library': '@abc/ui-library'
136
+ },
137
+ expectedCode: 'export { Component } from "@abc/ui-library";'
138
+ }, {
139
+ transformer: _sourceFileTransformers().exportTransformer,
140
+ sourceCode: 'export * from "@xxx/ui-library";',
141
+ nameMapping: {
142
+ '@xxx/ui-library': '@abc/ui-library'
143
+ },
144
+ expectedCode: 'export * from "@abc/ui-library";'
145
+ }, {
146
+ transformer: _sourceFileTransformers().exportTransformer,
147
+ sourceCode: 'export { default as UI } from "@xxx/ui-library";',
148
+ nameMapping: {
149
+ '@xxx/ui-library': '@abc/ui-library'
150
+ },
151
+ expectedCode: 'export { default as UI } from "@abc/ui-library";'
152
+ }];
153
+ for (const {
154
+ transformer,
155
+ sourceCode,
156
+ nameMapping,
157
+ expectedCode
158
+ } of testCases) {
159
+ createTransformerTest(sourceCode, nameMapping, transformer, expectedCode);
160
+ }
161
+ it('should return original source code if no transformations are applied', async () => {
162
+ const sourceCode = 'class TestClass {} function testFunction() {}';
163
+ const result = await (0, _sourceFileTransformers().transformSourceFile)('test.ts', sourceCode, []);
164
+ const normalizedResult = normalizeFormatting(result);
165
+ const normalizedSourceCode = normalizeFormatting(sourceCode);
166
+ (0, _chai().expect)(normalizedResult).to.equal(normalizedSourceCode);
167
+ });
168
+ it('should handle multiple transformers', async () => {
169
+ const sourceCode = 'class TestClass {} function testFunction() {}';
170
+ const expectedCode = 'class NewClassName {} function newFunctionName() {}';
171
+ const result = await (0, _sourceFileTransformers().transformSourceFile)('test.ts', sourceCode, [(0, _sourceFileTransformers().classNamesTransformer)({
172
+ TestClass: 'NewClassName'
173
+ }), (0, _sourceFileTransformers().functionNamesTransformer)({
174
+ testFunction: 'newFunctionName'
175
+ })]);
176
+ const normalizedResult = normalizeFormatting(result);
177
+ const normalizedExpectedCode = normalizeFormatting(expectedCode);
178
+ (0, _chai().expect)(normalizedResult).to.equal(normalizedExpectedCode);
179
+ });
180
+ });
181
+
182
+ //# sourceMappingURL=transform-source-file.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_chai","data","require","_typescript","_interopRequireDefault","_sourceFileTransformers","e","__esModule","default","normalizeFormatting","code","sourceFile","ts","createSourceFile","ScriptTarget","Latest","printer","createPrinter","newLine","NewLineKind","LineFeed","removeComments","printFile","describe","createTransformerTest","sourceCode","nameMapping","transformer","expectedCode","it","name","result","transformSourceFile","normalizedResult","normalizedExpectedCode","expect","to","equal","testCases","classNamesTransformer","TestClass","functionNamesTransformer","testFunction","importTransformer","interfaceNamesTransformer","TestInterface","typeAliasNamesTransformer","TestType","variableNamesTransformer","testVariable","oldMethod","oldMember","expressionStatementTransformer","staticMethod","method","exportTransformer","normalizedSourceCode"],"sources":["transform-source-file.spec.ts"],"sourcesContent":["import { expect } from 'chai';\nimport ts from 'typescript';\nimport {\n transformSourceFile,\n classNamesTransformer,\n functionNamesTransformer,\n importTransformer,\n interfaceNamesTransformer,\n typeAliasNamesTransformer,\n variableNamesTransformer,\n expressionStatementTransformer,\n exportTransformer,\n} from './sourceFileTransformers';\n\nfunction normalizeFormatting(code: string): string {\n const sourceFile = ts.createSourceFile('temp.ts', code, ts.ScriptTarget.Latest, true);\n const printer = ts.createPrinter({\n newLine: ts.NewLineKind.LineFeed,\n removeComments: false,\n });\n return printer.printFile(sourceFile);\n}\n\ndescribe('transformSourceFile', () => {\n const createTransformerTest = (\n sourceCode: string,\n nameMapping: any,\n transformer: (nameMapping: any) => ts.TransformerFactory<ts.SourceFile>,\n expectedCode: string\n ) => {\n it(`should correctly transform source code with ${transformer.name}`, async () => {\n const result = await transformSourceFile('test.ts', sourceCode, [transformer(nameMapping)]);\n const normalizedResult = normalizeFormatting(result);\n const normalizedExpectedCode = normalizeFormatting(expectedCode);\n\n expect(normalizedResult).to.equal(normalizedExpectedCode);\n });\n };\n\n const testCases = [\n {\n transformer: classNamesTransformer,\n sourceCode: 'class TestClass {}',\n nameMapping: { TestClass: 'NewClassName' },\n expectedCode: 'class NewClassName {}',\n },\n {\n transformer: functionNamesTransformer,\n sourceCode: 'function testFunction() {}',\n nameMapping: { testFunction: 'newFunctionName' },\n expectedCode: 'function newFunctionName() {}',\n },\n {\n transformer: importTransformer,\n sourceCode: 'import { Test } from \"./test\";',\n nameMapping: { './test': './newTest' },\n expectedCode: 'import { Test } from \"./newTest\";',\n },\n {\n transformer: interfaceNamesTransformer,\n sourceCode: 'interface TestInterface {}',\n nameMapping: { TestInterface: 'NewInterfaceName' },\n expectedCode: 'interface NewInterfaceName {}',\n },\n {\n transformer: typeAliasNamesTransformer,\n sourceCode: 'type TestType = string;',\n nameMapping: { TestType: 'NewTypeName' },\n expectedCode: 'type NewTypeName = string;',\n },\n {\n transformer: variableNamesTransformer,\n sourceCode: 'let testVariable = \"test\";',\n nameMapping: { testVariable: 'newVariableName' },\n expectedCode: 'let newVariableName = \"test\";',\n },\n {\n transformer: classNamesTransformer,\n sourceCode: 'class TestClass { oldMethod() {} }',\n nameMapping: { TestClass: 'NewClassName', oldMethod: 'newMethodName' },\n expectedCode: 'class NewClassName { newMethodName() {} }',\n },\n {\n transformer: classNamesTransformer,\n sourceCode: 'class TestClass { oldMember: string; }',\n nameMapping: { TestClass: 'NewClassName', oldMember: 'newMember' },\n expectedCode: 'class NewClassName { newMember: string; }',\n },\n {\n transformer: expressionStatementTransformer,\n sourceCode: 'TestClass.staticMethod();',\n nameMapping: { TestClass: 'NewClassName', staticMethod: 'newMethodName' },\n expectedCode: 'NewClassName.newMethodName();',\n },\n {\n transformer: expressionStatementTransformer,\n sourceCode: 'let instance = new TestClass(); instance.method();',\n nameMapping: { TestClass: 'NewClassName', method: 'newMethodName' },\n expectedCode: 'let instance = new NewClassName(); instance.newMethodName();',\n },\n {\n transformer: interfaceNamesTransformer,\n sourceCode: 'interface TestInterface { oldMember: string; }',\n nameMapping: { TestInterface: 'NewInterfaceName', oldMember: 'newMember' },\n expectedCode: 'interface NewInterfaceName { newMember: string; }',\n },\n {\n transformer: importTransformer,\n sourceCode: 'const UI = require(\"@xxx/ui-library\");',\n nameMapping: { '@xxx/ui-library': '@abc/ui-library' },\n expectedCode: 'const UI = require(\"@abc/ui-library\");',\n },\n {\n transformer: exportTransformer,\n sourceCode: 'export { Component } from \"@xxx/ui-library\";',\n nameMapping: { '@xxx/ui-library': '@abc/ui-library' },\n expectedCode: 'export { Component } from \"@abc/ui-library\";',\n },\n {\n transformer: exportTransformer,\n sourceCode: 'export * from \"@xxx/ui-library\";',\n nameMapping: { '@xxx/ui-library': '@abc/ui-library' },\n expectedCode: 'export * from \"@abc/ui-library\";',\n },\n {\n transformer: exportTransformer,\n sourceCode: 'export { default as UI } from \"@xxx/ui-library\";',\n nameMapping: { '@xxx/ui-library': '@abc/ui-library' },\n expectedCode: 'export { default as UI } from \"@abc/ui-library\";',\n },\n ];\n\n for (const { transformer, sourceCode, nameMapping, expectedCode } of testCases) {\n createTransformerTest(sourceCode, nameMapping, transformer, expectedCode);\n }\n\n it('should return original source code if no transformations are applied', async () => {\n const sourceCode = 'class TestClass {} function testFunction() {}';\n const result = await transformSourceFile('test.ts', sourceCode, []);\n const normalizedResult = normalizeFormatting(result);\n const normalizedSourceCode = normalizeFormatting(sourceCode);\n expect(normalizedResult).to.equal(normalizedSourceCode);\n });\n\n it('should handle multiple transformers', async () => {\n const sourceCode = 'class TestClass {} function testFunction() {}';\n const expectedCode = 'class NewClassName {} function newFunctionName() {}';\n const result = await transformSourceFile('test.ts', sourceCode, [\n classNamesTransformer({ TestClass: 'NewClassName' }),\n functionNamesTransformer({ testFunction: 'newFunctionName' }),\n ]);\n const normalizedResult = normalizeFormatting(result);\n const normalizedExpectedCode = normalizeFormatting(expectedCode);\n expect(normalizedResult).to.equal(normalizedExpectedCode);\n });\n});\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,10 @@
1
+ import { SchemaNode } from '@teambit/semantics.entities.semantic-schema';
2
+ import { ArrayLiteralExpression, Node } from 'typescript';
3
+ import type { SchemaExtractorContext } from '../schema-extractor-context';
4
+ import { SchemaTransformer } from '../schema-transformer';
5
+ import { Identifier } from '../identifier';
6
+ export declare class ArrayLiteralExpressionTransformer implements SchemaTransformer {
7
+ predicate(node: Node): boolean;
8
+ getIdentifiers(): Promise<Identifier[]>;
9
+ transform(node: ArrayLiteralExpression, context: SchemaExtractorContext): Promise<SchemaNode>;
10
+ }
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.ArrayLiteralExpressionTransformer = void 0;
7
+ function _semanticsEntities() {
8
+ const data = require("@teambit/semantics.entities.semantic-schema");
9
+ _semanticsEntities = function () {
10
+ return data;
11
+ };
12
+ return data;
13
+ }
14
+ function _pMapSeries() {
15
+ const data = _interopRequireDefault(require("p-map-series"));
16
+ _pMapSeries = function () {
17
+ return data;
18
+ };
19
+ return data;
20
+ }
21
+ function _typescript() {
22
+ const data = _interopRequireDefault(require("typescript"));
23
+ _typescript = function () {
24
+ return data;
25
+ };
26
+ return data;
27
+ }
28
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
29
+ class ArrayLiteralExpressionTransformer {
30
+ predicate(node) {
31
+ return node.kind === _typescript().default.SyntaxKind.ArrayLiteralExpression;
32
+ }
33
+ async getIdentifiers() {
34
+ return [];
35
+ }
36
+ async transform(node, context) {
37
+ const members = await (0, _pMapSeries().default)(node.elements, async element => {
38
+ const schema = await context.computeSchema(element);
39
+ if (schema instanceof _semanticsEntities().UnImplementedSchema) {
40
+ const typeRef = await context.resolveType(element, element.getText());
41
+ return typeRef;
42
+ }
43
+ return schema;
44
+ });
45
+ const location = context.getLocation(node);
46
+ return new (_semanticsEntities().ArrayLiteralExpressionSchema)(members, location);
47
+ }
48
+ }
49
+ exports.ArrayLiteralExpressionTransformer = ArrayLiteralExpressionTransformer;
50
+
51
+ //# sourceMappingURL=array-literal-expression.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_semanticsEntities","data","require","_pMapSeries","_interopRequireDefault","_typescript","e","__esModule","default","ArrayLiteralExpressionTransformer","predicate","node","kind","ts","SyntaxKind","ArrayLiteralExpression","getIdentifiers","transform","context","members","pMapSeries","elements","element","schema","computeSchema","UnImplementedSchema","typeRef","resolveType","getText","location","getLocation","ArrayLiteralExpressionSchema","exports"],"sources":["array-literal-expression.ts"],"sourcesContent":["import {\n ArrayLiteralExpressionSchema,\n SchemaNode,\n UnImplementedSchema,\n} from '@teambit/semantics.entities.semantic-schema';\nimport pMapSeries from 'p-map-series';\nimport ts, { ArrayLiteralExpression, Node } from 'typescript';\nimport type { SchemaExtractorContext } from '../schema-extractor-context';\nimport { SchemaTransformer } from '../schema-transformer';\nimport { Identifier } from '../identifier';\n\nexport class ArrayLiteralExpressionTransformer implements SchemaTransformer {\n predicate(node: Node): boolean {\n return node.kind === ts.SyntaxKind.ArrayLiteralExpression;\n }\n\n async getIdentifiers(): Promise<Identifier[]> {\n return [];\n }\n\n async transform(node: ArrayLiteralExpression, context: SchemaExtractorContext): Promise<SchemaNode> {\n const members = await pMapSeries(node.elements, async (element) => {\n const schema = await context.computeSchema(element);\n if (schema instanceof UnImplementedSchema) {\n const typeRef = await context.resolveType(element, element.getText());\n return typeRef;\n }\n return schema;\n });\n const location = context.getLocation(node);\n return new ArrayLiteralExpressionSchema(members, location);\n }\n}\n"],"mappings":";;;;;;AAAA,SAAAA,mBAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,kBAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAKA,SAAAE,YAAA;EAAA,MAAAF,IAAA,GAAAG,sBAAA,CAAAF,OAAA;EAAAC,WAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAI,YAAA;EAAA,MAAAJ,IAAA,GAAAG,sBAAA,CAAAF,OAAA;EAAAG,WAAA,YAAAA,CAAA;IAAA,OAAAJ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAA8D,SAAAG,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAKvD,MAAMG,iCAAiC,CAA8B;EAC1EC,SAASA,CAACC,IAAU,EAAW;IAC7B,OAAOA,IAAI,CAACC,IAAI,KAAKC,qBAAE,CAACC,UAAU,CAACC,sBAAsB;EAC3D;EAEA,MAAMC,cAAcA,CAAA,EAA0B;IAC5C,OAAO,EAAE;EACX;EAEA,MAAMC,SAASA,CAACN,IAA4B,EAAEO,OAA+B,EAAuB;IAClG,MAAMC,OAAO,GAAG,MAAM,IAAAC,qBAAU,EAACT,IAAI,CAACU,QAAQ,EAAE,MAAOC,OAAO,IAAK;MACjE,MAAMC,MAAM,GAAG,MAAML,OAAO,CAACM,aAAa,CAACF,OAAO,CAAC;MACnD,IAAIC,MAAM,YAAYE,wCAAmB,EAAE;QACzC,MAAMC,OAAO,GAAG,MAAMR,OAAO,CAACS,WAAW,CAACL,OAAO,EAAEA,OAAO,CAACM,OAAO,CAAC,CAAC,CAAC;QACrE,OAAOF,OAAO;MAChB;MACA,OAAOH,MAAM;IACf,CAAC,CAAC;IACF,MAAMM,QAAQ,GAAGX,OAAO,CAACY,WAAW,CAACnB,IAAI,CAAC;IAC1C,OAAO,KAAIoB,iDAA4B,EAACZ,OAAO,EAAEU,QAAQ,CAAC;EAC5D;AACF;AAACG,OAAA,CAAAvB,iCAAA,GAAAA,iCAAA","ignoreList":[]}
@@ -0,0 +1,10 @@
1
+ import { ArrayTypeNode, Node } from 'typescript';
2
+ import { TypeArraySchema } from '@teambit/semantics.entities.semantic-schema';
3
+ import { SchemaTransformer } from '../schema-transformer';
4
+ import { SchemaExtractorContext } from '../schema-extractor-context';
5
+ import { Identifier } from '../identifier';
6
+ export declare class ArrayTypeTransformer implements SchemaTransformer {
7
+ predicate(node: Node): boolean;
8
+ getIdentifiers(): Promise<Identifier[]>;
9
+ transform(node: ArrayTypeNode, context: SchemaExtractorContext): Promise<TypeArraySchema>;
10
+ }
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.ArrayTypeTransformer = void 0;
7
+ function _typescript() {
8
+ const data = _interopRequireDefault(require("typescript"));
9
+ _typescript = function () {
10
+ return data;
11
+ };
12
+ return data;
13
+ }
14
+ function _semanticsEntities() {
15
+ const data = require("@teambit/semantics.entities.semantic-schema");
16
+ _semanticsEntities = function () {
17
+ return data;
18
+ };
19
+ return data;
20
+ }
21
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
22
+ class ArrayTypeTransformer {
23
+ predicate(node) {
24
+ return node.kind === _typescript().default.SyntaxKind.ArrayType;
25
+ }
26
+ async getIdentifiers() {
27
+ return [];
28
+ }
29
+ async transform(node, context) {
30
+ const type = await context.computeSchema(node.elementType);
31
+ const location = context.getLocation(node);
32
+ return new (_semanticsEntities().TypeArraySchema)(location, type);
33
+ }
34
+ }
35
+ exports.ArrayTypeTransformer = ArrayTypeTransformer;
36
+
37
+ //# sourceMappingURL=array-type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_typescript","data","_interopRequireDefault","require","_semanticsEntities","e","__esModule","default","ArrayTypeTransformer","predicate","node","kind","ts","SyntaxKind","ArrayType","getIdentifiers","transform","context","type","computeSchema","elementType","location","getLocation","TypeArraySchema","exports"],"sources":["array-type.ts"],"sourcesContent":["import ts, { ArrayTypeNode, Node } from 'typescript';\nimport { TypeArraySchema } from '@teambit/semantics.entities.semantic-schema';\nimport { SchemaTransformer } from '../schema-transformer';\nimport { SchemaExtractorContext } from '../schema-extractor-context';\nimport { Identifier } from '../identifier';\n\nexport class ArrayTypeTransformer implements SchemaTransformer {\n predicate(node: Node) {\n return node.kind === ts.SyntaxKind.ArrayType;\n }\n\n async getIdentifiers(): Promise<Identifier[]> {\n return [];\n }\n\n async transform(node: ArrayTypeNode, context: SchemaExtractorContext) {\n const type = await context.computeSchema(node.elementType);\n const location = context.getLocation(node);\n return new TypeArraySchema(location, type);\n }\n}\n"],"mappings":";;;;;;AAAA,SAAAA,YAAA;EAAA,MAAAC,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAH,WAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAG,mBAAA;EAAA,MAAAH,IAAA,GAAAE,OAAA;EAAAC,kBAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAA8E,SAAAC,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAKvE,MAAMG,oBAAoB,CAA8B;EAC7DC,SAASA,CAACC,IAAU,EAAE;IACpB,OAAOA,IAAI,CAACC,IAAI,KAAKC,qBAAE,CAACC,UAAU,CAACC,SAAS;EAC9C;EAEA,MAAMC,cAAcA,CAAA,EAA0B;IAC5C,OAAO,EAAE;EACX;EAEA,MAAMC,SAASA,CAACN,IAAmB,EAAEO,OAA+B,EAAE;IACpE,MAAMC,IAAI,GAAG,MAAMD,OAAO,CAACE,aAAa,CAACT,IAAI,CAACU,WAAW,CAAC;IAC1D,MAAMC,QAAQ,GAAGJ,OAAO,CAACK,WAAW,CAACZ,IAAI,CAAC;IAC1C,OAAO,KAAIa,oCAAe,EAACF,QAAQ,EAAEH,IAAI,CAAC;EAC5C;AACF;AAACM,OAAA,CAAAhB,oBAAA,GAAAA,oBAAA","ignoreList":[]}
@@ -0,0 +1,17 @@
1
+ import { BindingElement, Node } from 'typescript';
2
+ import { VariableLikeSchema } from '@teambit/semantics.entities.semantic-schema';
3
+ import { SchemaTransformer } from '../schema-transformer';
4
+ import { SchemaExtractorContext } from '../schema-extractor-context';
5
+ import { Identifier } from '../identifier';
6
+ /**
7
+ * for example:
8
+ *
9
+ * const objBindingElem = { elem1: 1, elem2: 2 };
10
+ * const { elem1 } = objBindingElem;
11
+ * export { elem1 };
12
+ */
13
+ export declare class BindingElementTransformer implements SchemaTransformer {
14
+ predicate(node: Node): boolean;
15
+ getIdentifiers(node: BindingElement): Promise<Identifier[]>;
16
+ transform(node: BindingElement, context: SchemaExtractorContext): Promise<VariableLikeSchema>;
17
+ }
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.BindingElementTransformer = void 0;
7
+ function _typescript() {
8
+ const data = _interopRequireDefault(require("typescript"));
9
+ _typescript = function () {
10
+ return data;
11
+ };
12
+ return data;
13
+ }
14
+ function _semanticsEntities() {
15
+ const data = require("@teambit/semantics.entities.semantic-schema");
16
+ _semanticsEntities = function () {
17
+ return data;
18
+ };
19
+ return data;
20
+ }
21
+ function _parseTypeFromQuickInfo() {
22
+ const data = require("./utils/parse-type-from-quick-info");
23
+ _parseTypeFromQuickInfo = function () {
24
+ return data;
25
+ };
26
+ return data;
27
+ }
28
+ function _identifier() {
29
+ const data = require("../identifier");
30
+ _identifier = function () {
31
+ return data;
32
+ };
33
+ return data;
34
+ }
35
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
36
+ /**
37
+ * for example:
38
+ *
39
+ * const objBindingElem = { elem1: 1, elem2: 2 };
40
+ * const { elem1 } = objBindingElem;
41
+ * export { elem1 };
42
+ */
43
+ class BindingElementTransformer {
44
+ predicate(node) {
45
+ return node.kind === _typescript().default.SyntaxKind.BindingElement;
46
+ }
47
+ async getIdentifiers(node) {
48
+ return [new (_identifier().Identifier)(node.name.getText(), node.getSourceFile().fileName)];
49
+ }
50
+ async transform(node, context) {
51
+ const name = node.name.getText();
52
+ const info = await context.getQuickInfo(node.name);
53
+ const displaySig = info?.body?.displayString || '';
54
+ const typeStr = (0, _parseTypeFromQuickInfo().parseTypeFromQuickInfo)(info);
55
+ const type = await context.resolveType(node, typeStr);
56
+ const doc = await context.jsDocToDocSchema(node);
57
+ const defaultValue = node.initializer ? node.initializer.getText() : undefined;
58
+ return new (_semanticsEntities().VariableLikeSchema)(context.getLocation(node), name, displaySig, type, false, doc, defaultValue);
59
+ }
60
+ }
61
+ exports.BindingElementTransformer = BindingElementTransformer;
62
+
63
+ //# sourceMappingURL=binding-element.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_typescript","data","_interopRequireDefault","require","_semanticsEntities","_parseTypeFromQuickInfo","_identifier","e","__esModule","default","BindingElementTransformer","predicate","node","kind","ts","SyntaxKind","BindingElement","getIdentifiers","Identifier","name","getText","getSourceFile","fileName","transform","context","info","getQuickInfo","displaySig","body","displayString","typeStr","parseTypeFromQuickInfo","type","resolveType","doc","jsDocToDocSchema","defaultValue","initializer","undefined","VariableLikeSchema","getLocation","exports"],"sources":["binding-element.ts"],"sourcesContent":["import ts, { BindingElement, Node } from 'typescript';\nimport { VariableLikeSchema } from '@teambit/semantics.entities.semantic-schema';\nimport { SchemaTransformer } from '../schema-transformer';\nimport { SchemaExtractorContext } from '../schema-extractor-context';\nimport { parseTypeFromQuickInfo } from './utils/parse-type-from-quick-info';\nimport { Identifier } from '../identifier';\n\n/**\n * for example:\n *\n * const objBindingElem = { elem1: 1, elem2: 2 };\n * const { elem1 } = objBindingElem;\n * export { elem1 };\n */\nexport class BindingElementTransformer implements SchemaTransformer {\n predicate(node: Node) {\n return node.kind === ts.SyntaxKind.BindingElement;\n }\n\n async getIdentifiers(node: BindingElement) {\n return [new Identifier(node.name.getText(), node.getSourceFile().fileName)];\n }\n\n async transform(node: BindingElement, context: SchemaExtractorContext) {\n const name = node.name.getText();\n const info = await context.getQuickInfo(node.name);\n const displaySig = info?.body?.displayString || '';\n const typeStr = parseTypeFromQuickInfo(info);\n const type = await context.resolveType(node, typeStr);\n const doc = await context.jsDocToDocSchema(node);\n const defaultValue = node.initializer ? node.initializer.getText() : undefined;\n return new VariableLikeSchema(context.getLocation(node), name, displaySig, type, false, doc, defaultValue);\n }\n}\n"],"mappings":";;;;;;AAAA,SAAAA,YAAA;EAAA,MAAAC,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAH,WAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAG,mBAAA;EAAA,MAAAH,IAAA,GAAAE,OAAA;EAAAC,kBAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAGA,SAAAI,wBAAA;EAAA,MAAAJ,IAAA,GAAAE,OAAA;EAAAE,uBAAA,YAAAA,CAAA;IAAA,OAAAJ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAK,YAAA;EAAA,MAAAL,IAAA,GAAAE,OAAA;EAAAG,WAAA,YAAAA,CAAA;IAAA,OAAAL,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAA2C,SAAAC,uBAAAK,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAE3C;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMG,yBAAyB,CAA8B;EAClEC,SAASA,CAACC,IAAU,EAAE;IACpB,OAAOA,IAAI,CAACC,IAAI,KAAKC,qBAAE,CAACC,UAAU,CAACC,cAAc;EACnD;EAEA,MAAMC,cAAcA,CAACL,IAAoB,EAAE;IACzC,OAAO,CAAC,KAAIM,wBAAU,EAACN,IAAI,CAACO,IAAI,CAACC,OAAO,CAAC,CAAC,EAAER,IAAI,CAACS,aAAa,CAAC,CAAC,CAACC,QAAQ,CAAC,CAAC;EAC7E;EAEA,MAAMC,SAASA,CAACX,IAAoB,EAAEY,OAA+B,EAAE;IACrE,MAAML,IAAI,GAAGP,IAAI,CAACO,IAAI,CAACC,OAAO,CAAC,CAAC;IAChC,MAAMK,IAAI,GAAG,MAAMD,OAAO,CAACE,YAAY,CAACd,IAAI,CAACO,IAAI,CAAC;IAClD,MAAMQ,UAAU,GAAGF,IAAI,EAAEG,IAAI,EAAEC,aAAa,IAAI,EAAE;IAClD,MAAMC,OAAO,GAAG,IAAAC,gDAAsB,EAACN,IAAI,CAAC;IAC5C,MAAMO,IAAI,GAAG,MAAMR,OAAO,CAACS,WAAW,CAACrB,IAAI,EAAEkB,OAAO,CAAC;IACrD,MAAMI,GAAG,GAAG,MAAMV,OAAO,CAACW,gBAAgB,CAACvB,IAAI,CAAC;IAChD,MAAMwB,YAAY,GAAGxB,IAAI,CAACyB,WAAW,GAAGzB,IAAI,CAACyB,WAAW,CAACjB,OAAO,CAAC,CAAC,GAAGkB,SAAS;IAC9E,OAAO,KAAIC,uCAAkB,EAACf,OAAO,CAACgB,WAAW,CAAC5B,IAAI,CAAC,EAAEO,IAAI,EAAEQ,UAAU,EAAEK,IAAI,EAAE,KAAK,EAAEE,GAAG,EAAEE,YAAY,CAAC;EAC5G;AACF;AAACK,OAAA,CAAA/B,yBAAA,GAAAA,yBAAA","ignoreList":[]}
@@ -0,0 +1,12 @@
1
+ import { ClassSchema } from '@teambit/semantics.entities.semantic-schema';
2
+ import { Node, ClassDeclaration } from 'typescript';
3
+ import { SchemaTransformer } from '../schema-transformer';
4
+ import { SchemaExtractorContext } from '../schema-extractor-context';
5
+ import { Identifier } from '../identifier';
6
+ export declare class ClassDeclarationTransformer implements SchemaTransformer {
7
+ predicate(node: Node): boolean;
8
+ private getName;
9
+ getIdentifiers(node: ClassDeclaration): Promise<Identifier[]>;
10
+ private getExpressionWithTypeArgs;
11
+ transform(node: ClassDeclaration, context: SchemaExtractorContext): Promise<ClassSchema>;
12
+ }