@autorest/typescript 6.0.0-beta.9 → 6.0.0-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (366) hide show
  1. package/README.md +42 -5
  2. package/dist/{src/generators/static/README.md.hbs → hlcREADME.md.hbs} +35 -3
  3. package/dist/hlcSamples.ts.hbs +49 -0
  4. package/dist/karma.conf.js.hbs +126 -0
  5. package/dist/paginateHelper.ts.hbs +208 -0
  6. package/dist/pollingHelper.ts.hbs +72 -0
  7. package/dist/rlcEnv.ts.hbs +3 -0
  8. package/dist/rlcREADME.md.hbs +71 -0
  9. package/dist/rlcRecordedClient.ts.hbs +26 -0
  10. package/dist/rlcSampleTest.spec.ts.hbs +20 -0
  11. package/dist/rlcSamples.ts.hbs +28 -0
  12. package/dist/sampleEnv.hbs +4 -0
  13. package/dist/sampleTest.ts.hbs +32 -0
  14. package/dist/samples.ts.hbs +0 -0
  15. package/dist/src/autorestSession.d.ts +17 -6
  16. package/dist/src/autorestSession.d.ts.map +1 -1
  17. package/dist/src/autorestSession.js +3 -9
  18. package/dist/src/autorestSession.js.map +1 -1
  19. package/dist/src/conflictResolver.d.ts +3 -0
  20. package/dist/src/conflictResolver.d.ts.map +1 -0
  21. package/dist/src/conflictResolver.js +43 -0
  22. package/dist/src/conflictResolver.js.map +1 -0
  23. package/dist/src/generators/LROGenerator.js +4 -4
  24. package/dist/src/generators/LROGenerator.js.map +1 -1
  25. package/dist/src/generators/clientFileGenerator.d.ts.map +1 -1
  26. package/dist/src/generators/clientFileGenerator.js +300 -46
  27. package/dist/src/generators/clientFileGenerator.js.map +1 -1
  28. package/dist/src/generators/indexGenerator.d.ts.map +1 -1
  29. package/dist/src/generators/indexGenerator.js +106 -14
  30. package/dist/src/generators/indexGenerator.js.map +1 -1
  31. package/dist/src/generators/mappersGenerator.d.ts.map +1 -1
  32. package/dist/src/generators/mappersGenerator.js +93 -19
  33. package/dist/src/generators/mappersGenerator.js.map +1 -1
  34. package/dist/src/generators/modelsGenerator.d.ts.map +1 -1
  35. package/dist/src/generators/modelsGenerator.js +80 -81
  36. package/dist/src/generators/modelsGenerator.js.map +1 -1
  37. package/dist/src/generators/operationGenerator.d.ts.map +1 -1
  38. package/dist/src/generators/operationGenerator.js +85 -96
  39. package/dist/src/generators/operationGenerator.js.map +1 -1
  40. package/dist/src/generators/operationInterfaceGenerator.js +20 -20
  41. package/dist/src/generators/operationInterfaceGenerator.js.map +1 -1
  42. package/dist/src/generators/parametersGenerator.d.ts.map +1 -1
  43. package/dist/src/generators/parametersGenerator.js +7 -8
  44. package/dist/src/generators/parametersGenerator.js.map +1 -1
  45. package/dist/src/generators/samples/hlcSampleGenerator.d.ts +13 -0
  46. package/dist/src/generators/samples/hlcSampleGenerator.d.ts.map +1 -0
  47. package/dist/src/generators/samples/hlcSampleGenerator.js +43 -0
  48. package/dist/src/generators/samples/hlcSampleGenerator.js.map +1 -0
  49. package/dist/src/generators/samples/hlcSamples.ts.hbs +49 -0
  50. package/dist/src/generators/samples/rlcSampleGenerator.d.ts +4 -0
  51. package/dist/src/generators/samples/rlcSampleGenerator.d.ts.map +1 -0
  52. package/dist/src/generators/samples/rlcSampleGenerator.js +64 -0
  53. package/dist/src/generators/samples/rlcSampleGenerator.js.map +1 -0
  54. package/dist/src/generators/samples/rlcSamples.ts.hbs +28 -0
  55. package/dist/src/generators/samples/sampleEnv.hbs +4 -0
  56. package/dist/src/generators/samples/sampleEnvGenerator.d.ts +3 -0
  57. package/dist/src/generators/samples/sampleEnvGenerator.d.ts.map +1 -0
  58. package/dist/src/generators/samples/sampleEnvGenerator.js +17 -0
  59. package/dist/src/generators/samples/sampleEnvGenerator.js.map +1 -0
  60. package/dist/src/generators/static/apiExtractorConfig.js +2 -2
  61. package/dist/src/generators/static/apiExtractorConfig.js.map +1 -1
  62. package/dist/src/generators/static/esLintConfigGenerator.d.ts +3 -0
  63. package/dist/src/generators/static/esLintConfigGenerator.d.ts.map +1 -0
  64. package/dist/src/generators/static/esLintConfigGenerator.js +26 -0
  65. package/dist/src/generators/static/esLintConfigGenerator.js.map +1 -0
  66. package/{src/generators/static/README.md.hbs → dist/src/generators/static/hlcREADME.md.hbs} +35 -3
  67. package/dist/src/generators/static/karma.conf.js.hbs +126 -0
  68. package/dist/src/generators/static/karmaConfigFileGenerator.d.ts +3 -0
  69. package/dist/src/generators/static/karmaConfigFileGenerator.d.ts.map +1 -0
  70. package/dist/src/generators/static/karmaConfigFileGenerator.js +23 -0
  71. package/dist/src/generators/static/karmaConfigFileGenerator.js.map +1 -0
  72. package/dist/src/generators/static/licenseFileGenerator.js +1 -1
  73. package/dist/src/generators/static/licenseFileGenerator.js.map +1 -1
  74. package/dist/src/generators/static/packageFileGenerator.d.ts.map +1 -1
  75. package/dist/src/generators/static/packageFileGenerator.js +255 -67
  76. package/dist/src/generators/static/packageFileGenerator.js.map +1 -1
  77. package/dist/src/generators/static/readmeFileGenerator.d.ts +2 -2
  78. package/dist/src/generators/static/readmeFileGenerator.d.ts.map +1 -1
  79. package/dist/src/generators/static/readmeFileGenerator.js +50 -23
  80. package/dist/src/generators/static/readmeFileGenerator.js.map +1 -1
  81. package/dist/src/generators/static/rlcREADME.md.hbs +71 -0
  82. package/dist/src/generators/static/rollupConfigFileGenerator.d.ts.map +1 -1
  83. package/dist/src/generators/static/rollupConfigFileGenerator.js +12 -71
  84. package/dist/src/generators/static/rollupConfigFileGenerator.js.map +1 -1
  85. package/dist/src/generators/static/tsConfigFileGenerator.d.ts.map +1 -1
  86. package/dist/src/generators/static/tsConfigFileGenerator.js +46 -18
  87. package/dist/src/generators/static/tsConfigFileGenerator.js.map +1 -1
  88. package/dist/src/generators/test/envBrowserFileGenerator.d.ts +3 -0
  89. package/dist/src/generators/test/envBrowserFileGenerator.d.ts.map +1 -0
  90. package/dist/src/generators/test/envBrowserFileGenerator.js +15 -0
  91. package/dist/src/generators/test/envBrowserFileGenerator.js.map +1 -0
  92. package/dist/src/generators/test/envFileGenerator.d.ts +3 -0
  93. package/dist/src/generators/test/envFileGenerator.d.ts.map +1 -0
  94. package/dist/src/generators/test/envFileGenerator.js +23 -0
  95. package/dist/src/generators/test/envFileGenerator.js.map +1 -0
  96. package/dist/src/generators/test/recordedClientFileGenerator.d.ts +3 -0
  97. package/dist/src/generators/test/recordedClientFileGenerator.d.ts.map +1 -0
  98. package/dist/src/generators/test/recordedClientFileGenerator.js +23 -0
  99. package/dist/src/generators/test/recordedClientFileGenerator.js.map +1 -0
  100. package/dist/src/generators/test/rlcEnv.ts.hbs +3 -0
  101. package/dist/src/generators/test/rlcRecordedClient.ts.hbs +26 -0
  102. package/dist/src/generators/test/rlcSampleTest.spec.ts.hbs +20 -0
  103. package/dist/src/generators/test/sampleTest.ts.hbs +32 -0
  104. package/dist/src/generators/test/sampleTestGenerator.d.ts +3 -0
  105. package/dist/src/generators/test/sampleTestGenerator.d.ts.map +1 -0
  106. package/dist/src/generators/test/sampleTestGenerator.js +34 -0
  107. package/dist/src/generators/test/sampleTestGenerator.js.map +1 -0
  108. package/dist/src/generators/tracingFileGenerator.d.ts.map +1 -1
  109. package/dist/src/generators/tracingFileGenerator.js +7 -21
  110. package/dist/src/generators/tracingFileGenerator.js.map +1 -1
  111. package/dist/src/generators/utils/docsUtils.js +2 -2
  112. package/dist/src/generators/utils/docsUtils.js.map +1 -1
  113. package/dist/src/generators/utils/operationsUtils.js +1 -1
  114. package/dist/src/generators/utils/operationsUtils.js.map +1 -1
  115. package/dist/src/generators/utils/pagingOperations.d.ts +5 -0
  116. package/dist/src/generators/utils/pagingOperations.d.ts.map +1 -1
  117. package/dist/src/generators/utils/pagingOperations.js +15 -15
  118. package/dist/src/generators/utils/pagingOperations.js.map +1 -1
  119. package/dist/src/generators/utils/parameterUtils.js +9 -9
  120. package/dist/src/generators/utils/parameterUtils.js.map +1 -1
  121. package/dist/src/generators/utils/responseTypeUtils.js +2 -2
  122. package/dist/src/generators/utils/responseTypeUtils.js.map +1 -1
  123. package/dist/src/generators/utils/tracingUtils.d.ts.map +1 -1
  124. package/dist/src/generators/utils/tracingUtils.js +2 -6
  125. package/dist/src/generators/utils/tracingUtils.js.map +1 -1
  126. package/dist/src/main.d.ts +2 -2
  127. package/dist/src/main.d.ts.map +1 -1
  128. package/dist/src/main.js +8 -8
  129. package/dist/src/main.js.map +1 -1
  130. package/dist/src/models/clientDetails.d.ts +10 -1
  131. package/dist/src/models/clientDetails.d.ts.map +1 -1
  132. package/dist/src/models/modelDetails.d.ts +2 -2
  133. package/dist/src/models/modelDetails.d.ts.map +1 -1
  134. package/dist/src/models/operationDetails.d.ts +1 -0
  135. package/dist/src/models/operationDetails.d.ts.map +1 -1
  136. package/dist/src/models/sampleDetails.d.ts +22 -0
  137. package/dist/src/models/sampleDetails.d.ts.map +1 -0
  138. package/dist/src/models/sampleDetails.js +3 -0
  139. package/dist/src/models/sampleDetails.js.map +1 -0
  140. package/dist/src/restLevelClient/generateClient.d.ts +1 -1
  141. package/dist/src/restLevelClient/generateClient.d.ts.map +1 -1
  142. package/dist/src/restLevelClient/generateClient.js +108 -167
  143. package/dist/src/restLevelClient/generateClient.js.map +1 -1
  144. package/dist/src/restLevelClient/generateClientDefinition.d.ts +6 -0
  145. package/dist/src/restLevelClient/generateClientDefinition.d.ts.map +1 -0
  146. package/dist/src/restLevelClient/generateClientDefinition.js +261 -0
  147. package/dist/src/restLevelClient/generateClientDefinition.js.map +1 -0
  148. package/dist/src/restLevelClient/generateIsUnexpectedHelper.d.ts +8 -0
  149. package/dist/src/restLevelClient/generateIsUnexpectedHelper.d.ts.map +1 -0
  150. package/dist/src/restLevelClient/generateIsUnexpectedHelper.js +204 -0
  151. package/dist/src/restLevelClient/generateIsUnexpectedHelper.js.map +1 -0
  152. package/dist/src/restLevelClient/generateMethodShortcuts.d.ts +8 -0
  153. package/dist/src/restLevelClient/generateMethodShortcuts.d.ts.map +1 -0
  154. package/dist/src/restLevelClient/generateMethodShortcuts.js +70 -0
  155. package/dist/src/restLevelClient/generateMethodShortcuts.js.map +1 -0
  156. package/dist/src/restLevelClient/generateObjectTypes.d.ts +3 -3
  157. package/dist/src/restLevelClient/generateObjectTypes.d.ts.map +1 -1
  158. package/dist/src/restLevelClient/generateObjectTypes.js +43 -31
  159. package/dist/src/restLevelClient/generateObjectTypes.js.map +1 -1
  160. package/dist/src/restLevelClient/generatePagingHelper.d.ts +3 -0
  161. package/dist/src/restLevelClient/generatePagingHelper.d.ts.map +1 -0
  162. package/dist/src/restLevelClient/generatePagingHelper.js +54 -0
  163. package/dist/src/restLevelClient/generatePagingHelper.js.map +1 -0
  164. package/dist/src/restLevelClient/generateParameterTypes.d.ts.map +1 -1
  165. package/dist/src/restLevelClient/generateParameterTypes.js +247 -44
  166. package/dist/src/restLevelClient/generateParameterTypes.js.map +1 -1
  167. package/dist/src/restLevelClient/generatePollingHelper.d.ts +3 -0
  168. package/dist/src/restLevelClient/generatePollingHelper.d.ts.map +1 -0
  169. package/dist/src/restLevelClient/generatePollingHelper.js +20 -0
  170. package/dist/src/restLevelClient/generatePollingHelper.js.map +1 -0
  171. package/dist/src/restLevelClient/generateResponseTypes.d.ts.map +1 -1
  172. package/dist/src/restLevelClient/generateResponseTypes.js +35 -23
  173. package/dist/src/restLevelClient/generateResponseTypes.js.map +1 -1
  174. package/dist/src/restLevelClient/generateRestLevel.d.ts.map +1 -1
  175. package/dist/src/restLevelClient/generateRestLevel.js +63 -16
  176. package/dist/src/restLevelClient/generateRestLevel.js.map +1 -1
  177. package/dist/src/restLevelClient/generateSchemaTypes.d.ts.map +1 -1
  178. package/dist/src/restLevelClient/generateSchemaTypes.js +29 -7
  179. package/dist/src/restLevelClient/generateSchemaTypes.js.map +1 -1
  180. package/dist/src/restLevelClient/generateTopLevelIndexFile.d.ts +4 -0
  181. package/dist/src/restLevelClient/generateTopLevelIndexFile.d.ts.map +1 -0
  182. package/dist/src/restLevelClient/generateTopLevelIndexFile.js +37 -0
  183. package/dist/src/restLevelClient/generateTopLevelIndexFile.js.map +1 -0
  184. package/dist/src/restLevelClient/getPropertySignature.d.ts +2 -2
  185. package/dist/src/restLevelClient/getPropertySignature.d.ts.map +1 -1
  186. package/dist/src/restLevelClient/getPropertySignature.js +10 -7
  187. package/dist/src/restLevelClient/getPropertySignature.js.map +1 -1
  188. package/dist/src/restLevelClient/helpers/hasPollingOperations.d.ts +4 -0
  189. package/dist/src/restLevelClient/helpers/hasPollingOperations.d.ts.map +1 -0
  190. package/dist/src/restLevelClient/helpers/hasPollingOperations.js +12 -0
  191. package/dist/src/restLevelClient/helpers/hasPollingOperations.js.map +1 -0
  192. package/dist/src/restLevelClient/helpers/modelHelpers.d.ts +4 -0
  193. package/dist/src/restLevelClient/helpers/modelHelpers.d.ts.map +1 -0
  194. package/dist/src/restLevelClient/helpers/modelHelpers.js +19 -0
  195. package/dist/src/restLevelClient/helpers/modelHelpers.js.map +1 -0
  196. package/dist/src/restLevelClient/helpers/operationHelpers.d.ts +10 -0
  197. package/dist/src/restLevelClient/helpers/operationHelpers.d.ts.map +1 -0
  198. package/dist/src/restLevelClient/helpers/operationHelpers.js +64 -0
  199. package/dist/src/restLevelClient/helpers/operationHelpers.js.map +1 -0
  200. package/dist/src/restLevelClient/interfaces.d.ts +33 -0
  201. package/dist/src/restLevelClient/interfaces.d.ts.map +1 -0
  202. package/dist/src/restLevelClient/interfaces.js +3 -0
  203. package/dist/src/restLevelClient/interfaces.js.map +1 -0
  204. package/dist/src/restLevelClient/mutateCodeModel.js +2 -2
  205. package/dist/src/restLevelClient/mutateCodeModel.js.map +1 -1
  206. package/dist/src/restLevelClient/operationHelpers.d.ts +4 -0
  207. package/dist/src/restLevelClient/operationHelpers.d.ts.map +1 -1
  208. package/dist/src/restLevelClient/operationHelpers.js +21 -10
  209. package/dist/src/restLevelClient/operationHelpers.js.map +1 -1
  210. package/dist/src/restLevelClient/paginateHelper.ts.hbs +208 -0
  211. package/dist/src/restLevelClient/pollingHelper.ts.hbs +72 -0
  212. package/dist/src/restLevelClient/samples/generateSamples.d.ts +23 -0
  213. package/dist/src/restLevelClient/samples/generateSamples.d.ts.map +1 -0
  214. package/dist/src/restLevelClient/samples/generateSamples.js +3 -0
  215. package/dist/src/restLevelClient/samples/generateSamples.js.map +1 -0
  216. package/dist/src/restLevelClient/samples/samples.ts.hbs +0 -0
  217. package/dist/src/restLevelClient/schemaHelpers.d.ts +8 -2
  218. package/dist/src/restLevelClient/schemaHelpers.d.ts.map +1 -1
  219. package/dist/src/restLevelClient/schemaHelpers.js +27 -12
  220. package/dist/src/restLevelClient/schemaHelpers.js.map +1 -1
  221. package/dist/src/transforms/extensions.js +10 -10
  222. package/dist/src/transforms/extensions.js.map +1 -1
  223. package/dist/src/transforms/groupTransforms.js +2 -2
  224. package/dist/src/transforms/groupTransforms.js.map +1 -1
  225. package/dist/src/transforms/mapperTransforms.d.ts.map +1 -1
  226. package/dist/src/transforms/mapperTransforms.js +29 -26
  227. package/dist/src/transforms/mapperTransforms.js.map +1 -1
  228. package/dist/src/transforms/objectTransforms.d.ts.map +1 -1
  229. package/dist/src/transforms/objectTransforms.js +42 -26
  230. package/dist/src/transforms/objectTransforms.js.map +1 -1
  231. package/dist/src/transforms/operationTransforms.d.ts.map +1 -1
  232. package/dist/src/transforms/operationTransforms.js +29 -26
  233. package/dist/src/transforms/operationTransforms.js.map +1 -1
  234. package/dist/src/transforms/optionsTransforms.js +1 -1
  235. package/dist/src/transforms/optionsTransforms.js.map +1 -1
  236. package/dist/src/transforms/parameterTransforms.d.ts.map +1 -1
  237. package/dist/src/transforms/parameterTransforms.js +43 -27
  238. package/dist/src/transforms/parameterTransforms.js.map +1 -1
  239. package/dist/src/transforms/samplesTransforms.d.ts +7 -0
  240. package/dist/src/transforms/samplesTransforms.d.ts.map +1 -0
  241. package/dist/src/transforms/samplesTransforms.js +293 -0
  242. package/dist/src/transforms/samplesTransforms.js.map +1 -0
  243. package/dist/src/transforms/transforms.d.ts +1 -2
  244. package/dist/src/transforms/transforms.d.ts.map +1 -1
  245. package/dist/src/transforms/transforms.js +26 -24
  246. package/dist/src/transforms/transforms.js.map +1 -1
  247. package/dist/src/transforms/urlTransforms.js +3 -3
  248. package/dist/src/transforms/urlTransforms.js.map +1 -1
  249. package/dist/src/typescriptGenerator.d.ts +2 -2
  250. package/dist/src/typescriptGenerator.d.ts.map +1 -1
  251. package/dist/src/typescriptGenerator.js +46 -46
  252. package/dist/src/typescriptGenerator.js.map +1 -1
  253. package/dist/src/utils/autorestOptions.d.ts +2 -2
  254. package/dist/src/utils/autorestOptions.d.ts.map +1 -1
  255. package/dist/src/utils/autorestOptions.js +141 -62
  256. package/dist/src/utils/autorestOptions.js.map +1 -1
  257. package/dist/src/utils/cloneOperation.js +2 -2
  258. package/dist/src/utils/cloneOperation.js.map +1 -1
  259. package/dist/src/utils/copyFiles.d.ts +2 -0
  260. package/dist/src/utils/copyFiles.d.ts.map +1 -0
  261. package/dist/src/utils/copyFiles.js +33 -0
  262. package/dist/src/utils/copyFiles.js.map +1 -0
  263. package/dist/src/utils/extractHeaders.js +4 -4
  264. package/dist/src/utils/extractHeaders.js.map +1 -1
  265. package/dist/src/utils/extractPaginationDetails.d.ts +5 -1
  266. package/dist/src/utils/extractPaginationDetails.d.ts.map +1 -1
  267. package/dist/src/utils/extractPaginationDetails.js +23 -10
  268. package/dist/src/utils/extractPaginationDetails.js.map +1 -1
  269. package/dist/src/utils/headersToSchema.js +1 -1
  270. package/dist/src/utils/headersToSchema.js.map +1 -1
  271. package/dist/src/utils/logger.js +1 -1
  272. package/dist/src/utils/logger.js.map +1 -1
  273. package/dist/src/utils/nameUtils.d.ts +6 -2
  274. package/dist/src/utils/nameUtils.d.ts.map +1 -1
  275. package/dist/src/utils/nameUtils.js +13 -8
  276. package/dist/src/utils/nameUtils.js.map +1 -1
  277. package/dist/src/utils/schemaHelpers.d.ts +6 -1
  278. package/dist/src/utils/schemaHelpers.d.ts.map +1 -1
  279. package/dist/src/utils/schemaHelpers.js +50 -7
  280. package/dist/src/utils/schemaHelpers.js.map +1 -1
  281. package/dist/src/utils/sortObjectSchemasHierarchically.js +1 -1
  282. package/dist/src/utils/sortObjectSchemasHierarchically.js.map +1 -1
  283. package/dist/src/utils/valueHelpers.js +1 -1
  284. package/dist/src/utils/valueHelpers.js.map +1 -1
  285. package/package.json +58 -39
  286. package/src/autorestSession.ts +25 -18
  287. package/src/conflictResolver.ts +61 -0
  288. package/src/generators/clientFileGenerator.ts +397 -36
  289. package/src/generators/indexGenerator.ts +118 -12
  290. package/src/generators/mappersGenerator.ts +108 -8
  291. package/src/generators/modelsGenerator.ts +98 -97
  292. package/src/generators/operationGenerator.ts +54 -93
  293. package/src/generators/parametersGenerator.ts +2 -3
  294. package/src/generators/samples/hlcSampleGenerator.ts +50 -0
  295. package/src/generators/samples/hlcSamples.ts.hbs +49 -0
  296. package/src/generators/samples/rlcSampleGenerator.ts +72 -0
  297. package/src/generators/samples/rlcSamples.ts.hbs +28 -0
  298. package/src/generators/samples/sampleEnv.hbs +4 -0
  299. package/src/generators/samples/sampleEnvGenerator.ts +14 -0
  300. package/src/generators/static/apiExtractorConfig.ts +2 -2
  301. package/src/generators/static/esLintConfigGenerator.ts +24 -0
  302. package/src/generators/static/hlcREADME.md.hbs +144 -0
  303. package/src/generators/static/karma.conf.js.hbs +126 -0
  304. package/src/generators/static/karmaConfigFileGenerator.ts +20 -0
  305. package/src/generators/static/packageFileGenerator.ts +292 -71
  306. package/src/generators/static/readmeFileGenerator.ts +79 -42
  307. package/src/generators/static/rlcREADME.md.hbs +71 -0
  308. package/src/generators/static/rollupConfigFileGenerator.ts +13 -71
  309. package/src/generators/static/tsConfigFileGenerator.ts +54 -19
  310. package/src/generators/test/envBrowserFileGenerator.ts +14 -0
  311. package/src/generators/test/envFileGenerator.ts +22 -0
  312. package/src/generators/test/recordedClientFileGenerator.ts +22 -0
  313. package/src/generators/test/rlcEnv.ts.hbs +3 -0
  314. package/src/generators/test/rlcRecordedClient.ts.hbs +26 -0
  315. package/src/generators/test/rlcSampleTest.spec.ts.hbs +20 -0
  316. package/src/generators/test/sampleTest.ts.hbs +32 -0
  317. package/src/generators/test/sampleTestGenerator.ts +32 -0
  318. package/src/generators/tracingFileGenerator.ts +6 -24
  319. package/src/generators/utils/pagingOperations.ts +1 -2
  320. package/src/generators/utils/tracingUtils.ts +1 -5
  321. package/src/main.ts +8 -5
  322. package/src/models/clientDetails.ts +11 -1
  323. package/src/models/modelDetails.ts +2 -2
  324. package/src/models/operationDetails.ts +1 -0
  325. package/src/models/sampleDetails.ts +22 -0
  326. package/src/restLevelClient/generateClient.ts +134 -244
  327. package/src/restLevelClient/generateClientDefinition.ts +386 -0
  328. package/src/restLevelClient/generateIsUnexpectedHelper.ts +224 -0
  329. package/src/restLevelClient/generateMethodShortcuts.ts +121 -0
  330. package/src/restLevelClient/generateObjectTypes.ts +62 -21
  331. package/src/restLevelClient/generatePagingHelper.ts +69 -0
  332. package/src/restLevelClient/generateParameterTypes.ts +377 -56
  333. package/src/restLevelClient/generatePollingHelper.ts +19 -0
  334. package/src/restLevelClient/generateResponseTypes.ts +36 -17
  335. package/src/restLevelClient/generateRestLevel.ts +63 -8
  336. package/src/restLevelClient/generateSchemaTypes.ts +43 -8
  337. package/src/restLevelClient/generateTopLevelIndexFile.ts +37 -0
  338. package/src/restLevelClient/getPropertySignature.ts +12 -4
  339. package/src/restLevelClient/helpers/hasPollingOperations.ts +15 -0
  340. package/src/restLevelClient/helpers/modelHelpers.ts +15 -0
  341. package/src/restLevelClient/helpers/operationHelpers.ts +93 -0
  342. package/src/restLevelClient/interfaces.ts +39 -0
  343. package/src/restLevelClient/operationHelpers.ts +23 -9
  344. package/src/restLevelClient/paginateHelper.ts.hbs +208 -0
  345. package/src/restLevelClient/pollingHelper.ts.hbs +72 -0
  346. package/src/restLevelClient/samples/generateSamples.ts +23 -0
  347. package/src/restLevelClient/samples/samples.ts.hbs +0 -0
  348. package/src/restLevelClient/schemaHelpers.ts +30 -8
  349. package/src/transforms/mapperTransforms.ts +11 -5
  350. package/src/transforms/objectTransforms.ts +26 -6
  351. package/src/transforms/operationTransforms.ts +6 -1
  352. package/src/transforms/parameterTransforms.ts +26 -7
  353. package/src/transforms/samplesTransforms.ts +349 -0
  354. package/src/transforms/transforms.ts +14 -9
  355. package/src/typescriptGenerator.ts +40 -53
  356. package/src/utils/autorestOptions.ts +198 -88
  357. package/src/utils/copyFiles.ts +36 -0
  358. package/src/utils/extractPaginationDetails.ts +19 -1
  359. package/src/utils/nameUtils.ts +18 -9
  360. package/src/utils/schemaHelpers.ts +51 -4
  361. package/CHANGELOG.md +0 -56
  362. package/dist/src/generators/clientContextFileGenerator.d.ts +0 -5
  363. package/dist/src/generators/clientContextFileGenerator.d.ts.map +0 -1
  364. package/dist/src/generators/clientContextFileGenerator.js +0 -263
  365. package/dist/src/generators/clientContextFileGenerator.js.map +0 -1
  366. package/src/generators/clientContextFileGenerator.ts +0 -405
@@ -1,4 +1,4 @@
1
1
  import { Project } from "ts-morph";
2
- import { ClientDetails } from "../../models/clientDetails";
3
- export declare function generateReadmeFile(clientDetails: ClientDetails, project: Project): void;
2
+ import { CodeModel } from "@autorest/codemodel";
3
+ export declare function generateReadmeFile(codeModel: CodeModel, project: Project): void;
4
4
  //# sourceMappingURL=readmeFileGenerator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"readmeFileGenerator.d.ts","sourceRoot":"","sources":["../../../../src/generators/static/readmeFileGenerator.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAInC,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AA2H3D,wBAAgB,kBAAkB,CAChC,aAAa,EAAE,aAAa,EAC5B,OAAO,EAAE,OAAO,QA8BjB"}
1
+ {"version":3,"file":"readmeFileGenerator.d.ts","sourceRoot":"","sources":["../../../../src/generators/static/readmeFileGenerator.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAKnC,OAAO,EAAE,SAAS,EAAmB,MAAM,qBAAqB,CAAC;AA8JjE,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,QAkBxE"}
@@ -7,15 +7,20 @@ const hbs = require("handlebars");
7
7
  const fs = require("fs");
8
8
  const path = require("path");
9
9
  const autorestSession_1 = require("../../autorestSession");
10
+ const languageHelpers_1 = require("../../utils/languageHelpers");
11
+ const nameUtils_1 = require("../../utils/nameUtils");
12
+ const schemaHelpers_1 = require("../../utils/schemaHelpers");
10
13
  /**
11
14
  * Returns meta data information about the service, the package, and the client.
12
- * @param clientDetails - the client details
13
- * @param packageDetails - the package details
15
+ * @param codeModel - include the client details
14
16
  * @returns inferred metadata about the service, the package, and the client
15
17
  */
16
- function createMetadata(packageDetails, clientDetails, azureOutputDirectory, addCredentials, azureArm, isTestPackage) {
17
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
18
- const azureHuh = packageDetails.scopeName === "azure";
18
+ function createMetadata(codeModel) {
19
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j;
20
+ const { packageDetails, azureOutputDirectory, azureArm, isTestPackage, productDocLink, dependencyInfo, multiClient, batch } = (0, autorestSession_1.getAutorestOptions)();
21
+ const { addCredentials } = (0, schemaHelpers_1.getSecurityInfoFromModel)(codeModel.security);
22
+ const azureHuh = (packageDetails === null || packageDetails === void 0 ? void 0 : packageDetails.scopeName) === "azure" ||
23
+ (packageDetails === null || packageDetails === void 0 ? void 0 : packageDetails.scopeName) === "azure-rest";
19
24
  const repoURL = azureHuh
20
25
  ? "https://github.com/Azure/azure-sdk-for-js"
21
26
  : undefined;
@@ -26,23 +31,29 @@ function createMetadata(packageDetails, clientDetails, azureOutputDirectory, add
26
31
  const names = relativePackageSourcePath === null || relativePackageSourcePath === void 0 ? void 0 : relativePackageSourcePath.split("/").slice(1);
27
32
  const packageParentDirectoryName = names === null || names === void 0 ? void 0 : names[0];
28
33
  const packageDirectoryName = names === null || names === void 0 ? void 0 : names[1];
29
- const clientClassName = clientDetails.name;
30
- const clientPackageName = packageDetails.name;
31
- const serviceTitle = (_b = (_a = clientDetails.info) === null || _a === void 0 ? void 0 : _a.title) !== null && _b !== void 0 ? _b : clientClassName;
32
- const simpleServiceName =
33
- /**
34
- * It is a required convention in Azure swaggers for their titles to end with
35
- * "Client".
36
- */
37
- (_k = (_h = (_f = (_d = (_c = serviceTitle.match(/(.*) Client/)) === null || _c === void 0 ? void 0 : _c[1]) !== null && _d !== void 0 ? _d :
38
- /** I noticed management-plane swaggers do not use spaces in their titles */
39
- (_e = serviceTitle.match(/(.*)Client/)) === null || _e === void 0 ? void 0 : _e[1]) !== null && _f !== void 0 ? _f : (_g = clientClassName.match(/(.*)Client/)) === null || _g === void 0 ? void 0 : _g[1]) !== null && _h !== void 0 ? _h : (_j = serviceTitle.match(/(.*) Service/)) === null || _j === void 0 ? void 0 : _j[1]) !== null && _k !== void 0 ? _k : "Service";
34
+ const clientPackageName = packageDetails === null || packageDetails === void 0 ? void 0 : packageDetails.name;
35
+ const { clientClassName, serviceTitle } = getClientAndServiceName(codeModel.language, codeModel.info);
36
+ let simpleServiceName = batch && batch.length > 1
37
+ ? (0, nameUtils_1.normalizeName)(packageDetails.nameWithoutScope, nameUtils_1.NameType.Class)
38
+ : (0, nameUtils_1.normalizeName)(serviceTitle, nameUtils_1.NameType.Class);
39
+ simpleServiceName =
40
+ /**
41
+ * It is a required convention in Azure swaggers for their titles to end with
42
+ * "Client".
43
+ */
44
+ (_h = (_f = (_d = (_b = (_a = serviceTitle.match(/(.*) Client/)) === null || _a === void 0 ? void 0 : _a[1]) !== null && _b !== void 0 ? _b :
45
+ /** I noticed management-plane swaggers do not use spaces in their titles */
46
+ (_c = serviceTitle.match(/(.*)Client/)) === null || _c === void 0 ? void 0 : _c[1]) !== null && _d !== void 0 ? _d : (_e = clientClassName.match(/(.*)Client/)) === null || _e === void 0 ? void 0 : _e[1]) !== null && _f !== void 0 ? _f : (_g = serviceTitle.match(/(.*) Service/)) === null || _g === void 0 ? void 0 : _g[1]) !== null && _h !== void 0 ? _h : simpleServiceName;
40
47
  const serviceName = azureHuh
41
48
  ? simpleServiceName.startsWith("Azure")
42
49
  ? simpleServiceName
43
50
  : `Azure ${simpleServiceName}`
44
51
  : simpleServiceName;
45
52
  const identityPackageURL = repoURL && `${repoURL}/tree/main/sdk/identity/identity`;
53
+ var apiRefUrlQueryParameter = "";
54
+ if (packageDetails === null || packageDetails === void 0 ? void 0 : packageDetails.version.includes("beta")) {
55
+ apiRefUrlQueryParameter = "?view=azure-node-preview";
56
+ }
46
57
  return {
47
58
  serviceName: serviceName,
48
59
  clientPackageName: clientPackageName,
@@ -60,25 +71,33 @@ function createMetadata(packageDetails, clientDetails, azureOutputDirectory, add
60
71
  `https://azure-sdk-impressions.azurewebsites.net/api/impressions/azure-sdk-for-js%2Fsdk%2F${packageParentDirectoryName}%2F${packageDirectoryName}%2FREADME.png`
61
72
  : undefined,
62
73
  clientDescriptiveName: `${serviceName} client`,
63
- description: (_l = clientDetails.info) === null || _l === void 0 ? void 0 : _l.description,
74
+ description: (_j = codeModel.info) === null || _j === void 0 ? void 0 : _j.description,
64
75
  apiRefURL: azureHuh
65
- ? `https://docs.microsoft.com/javascript/api/${clientPackageName}`
76
+ ? `https://docs.microsoft.com/javascript/api/${clientPackageName}${apiRefUrlQueryParameter}`
66
77
  : undefined,
67
78
  packageNPMURL: `https://www.npmjs.com/package/${clientPackageName}`,
68
79
  contributingGuideURL: repoURL && `${repoURL}/blob/main/CONTRIBUTING.md`,
69
80
  projectName: azureHuh ? "Microsoft Azure SDK for JavaScript" : undefined,
70
81
  addCredentials,
71
82
  identityPackageURL,
72
- isReleasablePackage: !isTestPackage
83
+ isReleasablePackage: !isTestPackage,
84
+ azureArm: azureArm,
85
+ serviceDocURL: productDocLink,
86
+ dependencyDescription: dependencyInfo === null || dependencyInfo === void 0 ? void 0 : dependencyInfo.description,
87
+ dependencyLink: dependencyInfo === null || dependencyInfo === void 0 ? void 0 : dependencyInfo.link,
88
+ hasMultiClients: multiClient && batch && batch.length > 1
73
89
  };
74
90
  }
75
- function generateReadmeFile(clientDetails, project) {
76
- const { packageDetails, azureOutputDirectory, generateMetadata, addCredentials, azureArm, isTestPackage } = autorestSession_1.getAutorestOptions();
91
+ function generateReadmeFile(codeModel, project) {
92
+ const { generateMetadata, restLevelClient } = (0, autorestSession_1.getAutorestOptions)();
77
93
  if (!generateMetadata) {
78
94
  return;
79
95
  }
80
- const metadata = createMetadata(packageDetails, clientDetails, azureOutputDirectory, addCredentials, azureArm, isTestPackage);
81
- const file = fs.readFileSync(path.join(__dirname, "README.md.hbs"), {
96
+ const metadata = createMetadata(codeModel);
97
+ const templateFile = !restLevelClient
98
+ ? "hlcREADME.md.hbs"
99
+ : "rlcREADME.md.hbs";
100
+ const file = fs.readFileSync(path.join(__dirname, templateFile), {
82
101
  encoding: "utf-8"
83
102
  });
84
103
  const readmeFileContents = hbs.compile(file, { noEscape: true });
@@ -87,4 +106,12 @@ function generateReadmeFile(clientDetails, project) {
87
106
  });
88
107
  }
89
108
  exports.generateReadmeFile = generateReadmeFile;
109
+ function getClientAndServiceName(codeModelLanguage, codeModelInfo) {
110
+ var _a;
111
+ const { name: clientName } = (0, languageHelpers_1.getLanguageMetadata)(codeModelLanguage);
112
+ const className = (0, nameUtils_1.normalizeName)(clientName, nameUtils_1.NameType.Class, true /** shouldGuard */);
113
+ const clientClassName = className;
114
+ const serviceTitle = (_a = codeModelInfo === null || codeModelInfo === void 0 ? void 0 : codeModelInfo.title) !== null && _a !== void 0 ? _a : clientClassName;
115
+ return { clientClassName, serviceTitle };
116
+ }
90
117
  //# sourceMappingURL=readmeFileGenerator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"readmeFileGenerator.js","sourceRoot":"","sources":["../../../../src/generators/static/readmeFileGenerator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"readmeFileGenerator.js","sourceRoot":"","sources":["../../../../src/generators/static/readmeFileGenerator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,71 @@
1
+ # {{ clientDescriptiveName }} library for JavaScript
2
+
3
+ {{ description }}
4
+
5
+ **Please rely heavily on {{#if serviceDocURL}}[the service's documentation]({{ serviceDocURL }}) and {{/if}}our [REST client docs](https://github.com/Azure/azure-sdk-for-js/blob/main/documentation/rest-clients.md) to use this library**
6
+
7
+ Key links:
8
+
9
+ {{#if packageSourceURL}}
10
+ - [Source code]({{ packageSourceURL }})
11
+ {{/if}}
12
+ {{#if packageNPMURL}}
13
+ - [Package (NPM)]({{ packageNPMURL }})
14
+ {{/if}}
15
+ {{#if apiRefURL}}
16
+ - [API reference documentation]({{ apiRefURL }})
17
+ {{/if}}
18
+ {{#if serviceDocURL}}
19
+ - [Product documentation]({{ serviceDocURL }})
20
+ {{/if}}
21
+ {{#if samplesURL}}
22
+ - [Samples]({{ samplesURL }})
23
+ {{/if}}
24
+
25
+ ## Getting started
26
+
27
+ ### Currently supported environments
28
+
29
+ - Node.js version 14.x.x or higher
30
+
31
+ ### Prerequisites
32
+
33
+ - You must have an [Azure subscription](https://azure.microsoft.com/free/){{#if dependencyLink}} and follow [these]({{ dependencyLink }}) instructions{{/if}} to use this package.
34
+
35
+ ### Install the `{{ clientPackageName }}` package
36
+
37
+ Install the {{ clientDescriptiveName }} REST client library for JavaScript with `npm`:
38
+
39
+ ```bash
40
+ npm install {{ clientPackageName }}
41
+ ```
42
+
43
+ ### Create and authenticate a `{{ clientClassName }}`
44
+
45
+ To use an [Azure Active Directory (AAD) token credential](https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/identity/identity/samples/AzureIdentityExamples.md#authenticating-with-a-pre-fetched-access-token),
46
+ provide an instance of the desired credential type obtained from the
47
+ [@azure/identity](https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/identity/identity#credentials) library.
48
+
49
+ To authenticate with AAD, you must first `npm` install [`@azure/identity`](https://www.npmjs.com/package/@azure/identity) {{#if dependencyLink}}and
50
+ [{{dependencyDescription }}]({{ dependencyLink }}){{/if}}
51
+
52
+ After setup, you can choose which type of [credential](https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/identity/identity#credentials) from `@azure/identity` to use.
53
+ As an example, [DefaultAzureCredential](https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/identity/identity#defaultazurecredential)
54
+ can be used to authenticate the client.
55
+
56
+ Set the values of the client ID, tenant ID, and client secret of the AAD application as environment variables:
57
+ AZURE_CLIENT_ID, AZURE_TENANT_ID, AZURE_CLIENT_SECRET
58
+
59
+ ## Troubleshooting
60
+
61
+ ### Logging
62
+
63
+ Enabling logging may help uncover useful information about failures. In order to see a log of HTTP requests and responses, set the `AZURE_LOG_LEVEL` environment variable to `info`. Alternatively, logging can be enabled at runtime by calling `setLogLevel` in the `@azure/logger`:
64
+
65
+ ```javascript
66
+ import { setLogLevel } from "@azure/logger";
67
+
68
+ setLogLevel("info");
69
+ ```
70
+
71
+ For more detailed instructions on how to enable logs, you can look at the [@azure/logger package docs](https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/core/logger).
@@ -1 +1 @@
1
- {"version":3,"file":"rollupConfigFileGenerator.d.ts","sourceRoot":"","sources":["../../../../src/generators/static/rollupConfigFileGenerator.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAGnC,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,QAmMpD"}
1
+ {"version":3,"file":"rollupConfigFileGenerator.d.ts","sourceRoot":"","sources":["../../../../src/generators/static/rollupConfigFileGenerator.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAGnC,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,QAyIpD"}
@@ -5,10 +5,14 @@ Object.defineProperty(exports, "__esModule", { value: true });
5
5
  exports.generateRollupConfig = void 0;
6
6
  const autorestSession_1 = require("../../autorestSession");
7
7
  function generateRollupConfig(project) {
8
- const { generateMetadata } = autorestSession_1.getAutorestOptions();
8
+ const { generateMetadata, restLevelClient, azureSdkForJs } = (0, autorestSession_1.getAutorestOptions)();
9
9
  if (!generateMetadata) {
10
10
  return;
11
11
  }
12
+ // when it's generating rlc codes, only generate rollup config in codegen test
13
+ if (restLevelClient && azureSdkForJs) {
14
+ return;
15
+ }
12
16
  const rollupFile = project.createSourceFile("rollup.config.js", undefined, {
13
17
  overwrite: true
14
18
  });
@@ -20,62 +24,14 @@ function generateRollupConfig(project) {
20
24
 
21
25
  import nodeBuiltins from "builtin-modules";
22
26
 
23
- /**
24
- * Gets the proper configuration needed for rollup's commonJS plugin for @opentelemetry/api.
25
- *
26
- * NOTE: this manual configuration is only needed because OpenTelemetry uses an
27
- * __exportStar downleveled helper function to declare its exports which confuses
28
- * rollup's automatic discovery mechanism.
29
- *
30
- * @returns an object reference that can be \`...\`'d into your cjs() configuration.
31
- */
32
- export function openTelemetryCommonJs() {
33
- const namedExports = {};
34
-
35
- for (const key of [
36
- "@opentelemetry/api",
37
- "@azure/core-tracing/node_modules/@opentelemetry/api"
38
- ]) {
39
- namedExports[key] = [
40
- "SpanKind",
41
- "TraceFlags",
42
- "getSpan",
43
- "setSpan",
44
- "SpanStatusCode",
45
- "getSpanContext",
46
- "setSpanContext"
47
- ];
48
- }
49
-
50
- const releasedOpenTelemetryVersions = ["0.10.2", "1.0.0-rc.0"];
51
-
52
- for (const version of releasedOpenTelemetryVersions) {
53
- namedExports[
54
- // working around a limitation in the rollup common.js plugin - it's not able to resolve these modules so the named exports listed above will not get applied. We have to drill down to the actual path.
55
- \`../../../common/temp/node_modules/.pnpm/@opentelemetry/api@\${version}/node_modules/@opentelemetry/api/build/src/index.js\`
56
- ] = [
57
- "SpanKind",
58
- "TraceFlags",
59
- "getSpan",
60
- "setSpan",
61
- "StatusCode",
62
- "CanonicalCode",
63
- "getSpanContext",
64
- "setSpanContext"
65
- ];
66
- }
67
-
68
- return namedExports;
69
- }
70
-
71
27
  // #region Warning Handler
72
28
 
73
29
  /**
74
- * A function that can determine whether a rollupwarning should be ignored. If
30
+ * A function that can determine whether a rollup warning should be ignored. If
75
31
  * the function returns \`true\`, then the warning will not be displayed.
76
32
  */
77
33
 
78
- function ignoreNiseSinonEvalWarnings(warning) {
34
+ function ignoreNiseSinonEval(warning) {
79
35
  return (
80
36
  warning.code === "EVAL" &&
81
37
  (warning.id && ((warning.id.includes("node_modules/nise")) ||
@@ -83,7 +39,7 @@ function generateRollupConfig(project) {
83
39
  );
84
40
  }
85
41
 
86
- function ignoreChaiCircularDependencyWarnings(warning) {
42
+ function ignoreChaiCircularDependency(warning) {
87
43
  return (
88
44
  warning.code === "CIRCULAR_DEPENDENCY" &&
89
45
  (warning.importer && warning.importer.includes("node_modules/chai") === true)
@@ -91,8 +47,8 @@ function generateRollupConfig(project) {
91
47
  }
92
48
 
93
49
  const warningInhibitors = [
94
- ignoreChaiCircularDependencyWarnings,
95
- ignoreNiseSinonEvalWarnings
50
+ ignoreChaiCircularDependency,
51
+ ignoreNiseSinonEval
96
52
  ];
97
53
 
98
54
  /**
@@ -127,22 +83,7 @@ function generateRollupConfig(project) {
127
83
  nodeResolve({
128
84
  mainFields: ["module", "browser"]
129
85
  }),
130
- cjs({
131
- namedExports: {
132
- // Chai's strange internal architecture makes it impossible to statically
133
- // analyze its exports.
134
- chai: [
135
- "version",
136
- "use",
137
- "util",
138
- "config",
139
- "expect",
140
- "should",
141
- "assert"
142
- ],
143
- ...openTelemetryCommonJs()
144
- }
145
- }),
86
+ cjs(),
146
87
  json(),
147
88
  sourcemaps()
148
89
  //viz({ filename: "dist-test/browser-stats.html", sourcemap: true })
@@ -181,7 +122,7 @@ function generateRollupConfig(project) {
181
122
  ],
182
123
  output: { file: "dist/index.js", format: "cjs", sourcemap: true },
183
124
  preserveSymlinks: false,
184
- plugins: [sourcemaps(), nodeResolve(), cjs()]
125
+ plugins: [sourcemaps(), nodeResolve()]
185
126
  };
186
127
 
187
128
  const config = [baseConfig];
@@ -1 +1 @@
1
- {"version":3,"file":"rollupConfigFileGenerator.js","sourceRoot":"","sources":["../../../../src/generators/static/rollupConfigFileGenerator.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;AAGlC,2DAA2D;AAE3D,SAAgB,oBAAoB,CAAC,OAAgB;IACnD,MAAM,EAAE,gBAAgB,EAAE,GAAG,oCAAkB,EAAE,CAAC;IAElD,IAAI,CAAC,gBAAgB,EAAE;QACrB,OAAO;KACR;IAED,MAAM,UAAU,GAAG,OAAO,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,SAAS,EAAE;QACzE,SAAS,EAAE,IAAI;KAChB,CAAC,CAAC;IAEH,UAAU,CAAC,aAAa,CACtB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0DAqLsD,CACvD,CAAC;AACJ,CAAC;AAnMD,oDAmMC"}
1
+ {"version":3,"file":"rollupConfigFileGenerator.js","sourceRoot":"","sources":["../../../../src/generators/static/rollupConfigFileGenerator.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;AAGlC,2DAA2D;AAE3D,SAAgB,oBAAoB,CAAC,OAAgB;IACnD,MAAM,EAAE,gBAAgB,EAAE,eAAe,EAAE,aAAa,EAAE,GAAG,IAAA,oCAAkB,GAAE,CAAC;IAElF,IAAI,CAAC,gBAAgB,EAAE;QACrB,OAAO;KACR;IAED,8EAA8E;IAC9E,IAAI,eAAe,IAAI,aAAa,EAAE;QACpC,OAAO;KACR;IAED,MAAM,UAAU,GAAG,OAAO,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,SAAS,EAAE;QACzE,SAAS,EAAE,IAAI;KAChB,CAAC,CAAC;IAEH,UAAU,CAAC,aAAa,CACtB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0DAsHsD,CACvD,CAAC;AACJ,CAAC;AAzID,oDAyIC"}
@@ -1 +1 @@
1
- {"version":3,"file":"tsConfigFileGenerator.d.ts","sourceRoot":"","sources":["../../../../src/generators/static/tsConfigFileGenerator.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AA2CnC,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,QAchD"}
1
+ {"version":3,"file":"tsConfigFileGenerator.d.ts","sourceRoot":"","sources":["../../../../src/generators/static/tsConfigFileGenerator.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AA4DnC,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,QAgChD"}
@@ -23,30 +23,58 @@ const highLevelTsConfig = {
23
23
  include: ["./src/**/*.ts"],
24
24
  exclude: ["node_modules"]
25
25
  };
26
- const restLevelTsConfig = {
27
- compilerOptions: {
28
- module: "es6",
29
- target: "es2015",
30
- moduleResolution: "node",
31
- declaration: true,
32
- declarationMap: true,
33
- outDir: "./dist-esm"
26
+ const restLevelTsConfigInAzureSdkForJs = {
27
+ "extends": "../../../tsconfig.package",
28
+ "compilerOptions": {
29
+ "outDir": "./dist-esm",
30
+ "declarationDir": "./types",
34
31
  },
35
- exclude: [
36
- "node_modules",
37
- "types",
38
- "temp",
39
- "browser",
40
- "dist",
41
- "dist-esm",
42
- "./samples/**/*.ts"
43
- ]
32
+ "include": ["src/**/*.ts"]
33
+ };
34
+ const restLevelTsConfigNotInAzureSdkForJs = {
35
+ "compilerOptions": {
36
+ "target": "ES2017",
37
+ "module": "es6",
38
+ "lib": [],
39
+ "declaration": true,
40
+ "declarationMap": true,
41
+ "inlineSources": true,
42
+ "sourceMap": true,
43
+ "importHelpers": true,
44
+ "strict": true,
45
+ "alwaysStrict": true,
46
+ "noUnusedLocals": true,
47
+ "noUnusedParameters": true,
48
+ "noImplicitReturns": true,
49
+ "noFallthroughCasesInSwitch": true,
50
+ "forceConsistentCasingInFileNames": true,
51
+ "moduleResolution": "node",
52
+ "allowSyntheticDefaultImports": true,
53
+ "esModuleInterop": true,
54
+ "outDir": "./dist-esm",
55
+ "declarationDir": "./types"
56
+ },
57
+ "include": ["./src/**/*.ts"]
44
58
  };
45
59
  function generateTsConfig(project) {
46
- const { generateMetadata, restLevelClient } = autorestSession_1.getAutorestOptions();
60
+ const { generateMetadata, restLevelClient, generateTest, packageDetails, generateSample, azureSdkForJs } = (0, autorestSession_1.getAutorestOptions)();
47
61
  if (!generateMetadata) {
48
62
  return;
49
63
  }
64
+ const clientPackageName = packageDetails.name;
65
+ const restLevelTsConfig = azureSdkForJs ? restLevelTsConfigInAzureSdkForJs : restLevelTsConfigNotInAzureSdkForJs;
66
+ if (generateTest) {
67
+ highLevelTsConfig.include.push("./test/**/*.ts");
68
+ restLevelTsConfig.include.push("./test/**/*.ts");
69
+ }
70
+ if (generateSample) {
71
+ highLevelTsConfig.include.push("samples-dev/**/*.ts");
72
+ highLevelTsConfig.compilerOptions["paths"] = {};
73
+ highLevelTsConfig.compilerOptions["paths"][clientPackageName] = ["./src/index"];
74
+ restLevelTsConfig.include.push("samples-dev/**/*.ts");
75
+ restLevelTsConfig.compilerOptions["paths"] = {};
76
+ restLevelTsConfig.compilerOptions["paths"][clientPackageName] = ["./src/index"];
77
+ }
50
78
  const tsConfigContents = restLevelClient
51
79
  ? restLevelTsConfig
52
80
  : highLevelTsConfig;
@@ -1 +1 @@
1
- {"version":3,"file":"tsConfigFileGenerator.js","sourceRoot":"","sources":["../../../../src/generators/static/tsConfigFileGenerator.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;AAGlC,2DAA2D;AAE3D,MAAM,iBAAiB,GAAG;IACxB,eAAe,EAAE;QACf,MAAM,EAAE,KAAK;QACb,gBAAgB,EAAE,MAAM;QACxB,MAAM,EAAE,IAAI;QACZ,MAAM,EAAE,KAAK;QACb,SAAS,EAAE,IAAI;QACf,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,IAAI;QACrB,4BAA4B,EAAE,IAAI;QAClC,gCAAgC,EAAE,IAAI;QACtC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;QACnB,WAAW,EAAE,IAAI;QACjB,MAAM,EAAE,YAAY;QACpB,aAAa,EAAE,IAAI;KACpB;IACD,OAAO,EAAE,CAAC,eAAe,CAAC;IAC1B,OAAO,EAAE,CAAC,cAAc,CAAC;CAC1B,CAAC;AAEF,MAAM,iBAAiB,GAAG;IACxB,eAAe,EAAE;QACf,MAAM,EAAE,KAAK;QACb,MAAM,EAAE,QAAQ;QAChB,gBAAgB,EAAE,MAAM;QACxB,WAAW,EAAE,IAAI;QACjB,cAAc,EAAE,IAAI;QACpB,MAAM,EAAE,YAAY;KACrB;IACD,OAAO,EAAE;QACP,cAAc;QACd,OAAO;QACP,MAAM;QACN,SAAS;QACT,MAAM;QACN,UAAU;QACV,mBAAmB;KACpB;CACF,CAAC;AAEF,SAAgB,gBAAgB,CAAC,OAAgB;IAC/C,MAAM,EAAE,gBAAgB,EAAE,eAAe,EAAE,GAAG,oCAAkB,EAAE,CAAC;IAEnE,IAAI,CAAC,gBAAgB,EAAE;QACrB,OAAO;KACR;IAED,MAAM,gBAAgB,GAAG,eAAe;QACtC,CAAC,CAAC,iBAAiB;QACnB,CAAC,CAAC,iBAAiB,CAAC;IAEtB,OAAO,CAAC,gBAAgB,CAAC,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,EAAE;QAC1E,SAAS,EAAE,IAAI;KAChB,CAAC,CAAC;AACL,CAAC;AAdD,4CAcC"}
1
+ {"version":3,"file":"tsConfigFileGenerator.js","sourceRoot":"","sources":["../../../../src/generators/static/tsConfigFileGenerator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Project } from "ts-morph";
2
+ export declare function generateEnvBrowserFile(project: Project): void;
3
+ //# sourceMappingURL=envBrowserFileGenerator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"envBrowserFileGenerator.d.ts","sourceRoot":"","sources":["../../../../src/generators/test/envBrowserFileGenerator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAGnC,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,OAAO,QASjB"}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.generateEnvBrowserFile = void 0;
4
+ const autorestSession_1 = require("../../autorestSession");
5
+ function generateEnvBrowserFile(project) {
6
+ const { generateTest, restLevelClient } = (0, autorestSession_1.getAutorestOptions)();
7
+ if (!generateTest || !restLevelClient) {
8
+ return;
9
+ }
10
+ project.createSourceFile("test/public/utils/env.browser.ts", "", {
11
+ overwrite: true
12
+ });
13
+ }
14
+ exports.generateEnvBrowserFile = generateEnvBrowserFile;
15
+ //# sourceMappingURL=envBrowserFileGenerator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"envBrowserFileGenerator.js","sourceRoot":"","sources":["../../../../src/generators/test/envBrowserFileGenerator.ts"],"names":[],"mappings":";;;AACA,2DAA2D;AAE3D,SAAgB,sBAAsB,CACpC,OAAgB;IAEhB,MAAM,EAAE,YAAY,EAAE,eAAe,EAAE,GAAG,IAAA,oCAAkB,GAAE,CAAC;IAC/D,IAAI,CAAC,YAAY,IAAI,CAAC,eAAe,EAAE;QACrC,OAAO;KACR;IACD,OAAO,CAAC,gBAAgB,CAAC,kCAAkC,EAAE,EAAE,EAAE;QAC/D,SAAS,EAAE,IAAI;KAChB,CAAC,CAAC;AACL,CAAC;AAVD,wDAUC"}
@@ -0,0 +1,3 @@
1
+ import { Project } from "ts-morph";
2
+ export declare function generateEnvFile(project: Project): void;
3
+ //# sourceMappingURL=envFileGenerator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"envFileGenerator.d.ts","sourceRoot":"","sources":["../../../../src/generators/test/envFileGenerator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAMnC,wBAAgB,eAAe,CAC3B,OAAO,EAAE,OAAO,QAcjB"}
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.generateEnvFile = void 0;
4
+ const path = require("path");
5
+ const fs = require("fs");
6
+ const hbs = require("handlebars");
7
+ const autorestSession_1 = require("../../autorestSession");
8
+ function generateEnvFile(project) {
9
+ const { generateTest, restLevelClient } = (0, autorestSession_1.getAutorestOptions)();
10
+ if (!generateTest || !restLevelClient) {
11
+ return;
12
+ }
13
+ const metadata = {};
14
+ const file = fs.readFileSync(path.join(__dirname, "rlcEnv.ts.hbs"), {
15
+ encoding: "utf-8"
16
+ });
17
+ const envFileContents = hbs.compile(file, { noEscape: true });
18
+ project.createSourceFile("test/public/utils/env.ts", envFileContents(metadata), {
19
+ overwrite: true
20
+ });
21
+ }
22
+ exports.generateEnvFile = generateEnvFile;
23
+ //# sourceMappingURL=envFileGenerator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"envFileGenerator.js","sourceRoot":"","sources":["../../../../src/generators/test/envFileGenerator.ts"],"names":[],"mappings":";;;AACA,6BAA6B;AAC7B,yBAAyB;AACzB,kCAAkC;AAClC,2DAA2D;AAE3D,SAAgB,eAAe,CAC3B,OAAgB;IAEhB,MAAM,EAAE,YAAY,EAAE,eAAe,EAAE,GAAG,IAAA,oCAAkB,GAAE,CAAC;IAC/D,IAAI,CAAC,YAAY,IAAI,CAAC,eAAe,EAAE;QACrC,OAAO;KACR;IACD,MAAM,QAAQ,GAAG,EAAE,CAAA;IACnB,MAAM,IAAI,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,EAAE;QAClE,QAAQ,EAAE,OAAO;KAClB,CAAC,CAAC;IACH,MAAM,eAAe,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9D,OAAO,CAAC,gBAAgB,CAAC,0BAA0B,EAAE,eAAe,CAAC,QAAQ,CAAC,EAAE;QAC9E,SAAS,EAAE,IAAI;KAChB,CAAC,CAAC;AACL,CAAC;AAfH,0CAeG"}
@@ -0,0 +1,3 @@
1
+ import { Project } from "ts-morph";
2
+ export declare function generateRecordedClientFile(project: Project): void;
3
+ //# sourceMappingURL=recordedClientFileGenerator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recordedClientFileGenerator.d.ts","sourceRoot":"","sources":["../../../../src/generators/test/recordedClientFileGenerator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAMnC,wBAAgB,0BAA0B,CACtC,OAAO,EAAE,OAAO,QAcjB"}
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.generateRecordedClientFile = void 0;
4
+ const path = require("path");
5
+ const fs = require("fs");
6
+ const hbs = require("handlebars");
7
+ const autorestSession_1 = require("../../autorestSession");
8
+ function generateRecordedClientFile(project) {
9
+ const { generateTest, restLevelClient } = (0, autorestSession_1.getAutorestOptions)();
10
+ if (!generateTest || !restLevelClient) {
11
+ return;
12
+ }
13
+ const metadata = {};
14
+ const file = fs.readFileSync(path.join(__dirname, "rlcRecordedClient.ts.hbs"), {
15
+ encoding: "utf-8"
16
+ });
17
+ const recordedClientFileContents = hbs.compile(file, { noEscape: true });
18
+ project.createSourceFile("test/public/utils/recordedClient.ts", recordedClientFileContents(metadata), {
19
+ overwrite: true
20
+ });
21
+ }
22
+ exports.generateRecordedClientFile = generateRecordedClientFile;
23
+ //# sourceMappingURL=recordedClientFileGenerator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recordedClientFileGenerator.js","sourceRoot":"","sources":["../../../../src/generators/test/recordedClientFileGenerator.ts"],"names":[],"mappings":";;;AACA,6BAA6B;AAC7B,yBAAyB;AACzB,kCAAkC;AAClC,2DAA2D;AAE3D,SAAgB,0BAA0B,CACtC,OAAgB;IAEhB,MAAM,EAAE,YAAY,EAAE,eAAe,EAAE,GAAG,IAAA,oCAAkB,GAAE,CAAC;IAC/D,IAAI,CAAC,YAAY,IAAI,CAAC,eAAe,EAAE;QACrC,OAAO;KACR;IACD,MAAM,QAAQ,GAAG,EAAE,CAAA;IACnB,MAAM,IAAI,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,0BAA0B,CAAC,EAAE;QAC7E,QAAQ,EAAE,OAAO;KAClB,CAAC,CAAC;IACH,MAAM,0BAA0B,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IACzE,OAAO,CAAC,gBAAgB,CAAC,qCAAqC,EAAE,0BAA0B,CAAC,QAAQ,CAAC,EAAE;QACpG,SAAS,EAAE,IAAI;KAChB,CAAC,CAAC;AACL,CAAC;AAfH,gEAeG"}
@@ -0,0 +1,3 @@
1
+ import * as dotenv from "dotenv";
2
+
3
+ dotenv.config();
@@ -0,0 +1,26 @@
1
+ import { Context } from "mocha";
2
+ import { Recorder, RecorderStartOptions } from "@azure-tools/test-recorder";
3
+ import "./env";
4
+
5
+ const envSetupForPlayback: Record<string, string> = {
6
+ ENDPOINT: "https://endpoint",
7
+ AZURE_CLIENT_ID: "azure_client_id",
8
+ AZURE_CLIENT_SECRET: "azure_client_secret",
9
+ AZURE_TENANT_ID: "88888888-8888-8888-8888-888888888888",
10
+ SUBSCRIPTION_ID: "azure_subscription_id"
11
+ };
12
+
13
+ const recorderEnvSetup: RecorderStartOptions = {
14
+ envSetupForPlayback
15
+ };
16
+
17
+ /**
18
+ * creates the recorder and reads the environment variables from the `.env` file.
19
+ * Should be called first in the test suite to make sure environment variables are
20
+ * read before they are being used.
21
+ */
22
+ export async function createRecorder(context: Context): Promise<Recorder> {
23
+ const recorder = new Recorder(context.currentTest);
24
+ await recorder.start(recorderEnvSetup);
25
+ return recorder;
26
+ }
@@ -0,0 +1,20 @@
1
+ import { Recorder } from "@azure-tools/test-recorder";
2
+ import { assert } from "chai";
3
+ import { createRecorder } from "./utils/recordedClient";
4
+ import { Context } from "mocha";
5
+
6
+ describe("My test", () => {
7
+ let recorder: Recorder;
8
+
9
+ beforeEach(async function(this: Context) {
10
+ recorder = await createRecorder(this);
11
+ });
12
+
13
+ afterEach(async function() {
14
+ await recorder.stop();
15
+ });
16
+
17
+ it("sample test", async function() {
18
+ assert.equal(1, 1);
19
+ });
20
+ });