@autorest/typescript 6.0.0-beta.7 → 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 (437) hide show
  1. package/README.md +42 -5
  2. package/dist/{src/generators/static/README.md.hbs → hlcREADME.md.hbs} +41 -5
  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 +18 -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.d.ts.map +1 -1
  24. package/dist/src/generators/LROGenerator.js +5 -13
  25. package/dist/src/generators/LROGenerator.js.map +1 -1
  26. package/dist/src/generators/clientFileGenerator.d.ts.map +1 -1
  27. package/dist/src/generators/clientFileGenerator.js +303 -61
  28. package/dist/src/generators/clientFileGenerator.js.map +1 -1
  29. package/dist/src/generators/indexGenerator.d.ts +1 -1
  30. package/dist/src/generators/indexGenerator.d.ts.map +1 -1
  31. package/dist/src/generators/indexGenerator.js +143 -11
  32. package/dist/src/generators/indexGenerator.js.map +1 -1
  33. package/dist/src/generators/mappersGenerator.d.ts.map +1 -1
  34. package/dist/src/generators/mappersGenerator.js +93 -19
  35. package/dist/src/generators/mappersGenerator.js.map +1 -1
  36. package/dist/src/generators/modelsGenerator.d.ts.map +1 -1
  37. package/dist/src/generators/modelsGenerator.js +81 -82
  38. package/dist/src/generators/modelsGenerator.js.map +1 -1
  39. package/dist/src/generators/operationGenerator.d.ts.map +1 -1
  40. package/dist/src/generators/operationGenerator.js +92 -125
  41. package/dist/src/generators/operationGenerator.js.map +1 -1
  42. package/dist/src/generators/operationInterfaceGenerator.js +20 -20
  43. package/dist/src/generators/operationInterfaceGenerator.js.map +1 -1
  44. package/dist/src/generators/parametersGenerator.d.ts.map +1 -1
  45. package/dist/src/generators/parametersGenerator.js +7 -8
  46. package/dist/src/generators/parametersGenerator.js.map +1 -1
  47. package/dist/src/generators/samples/hlcSampleGenerator.d.ts +13 -0
  48. package/dist/src/generators/samples/hlcSampleGenerator.d.ts.map +1 -0
  49. package/dist/src/generators/samples/hlcSampleGenerator.js +43 -0
  50. package/dist/src/generators/samples/hlcSampleGenerator.js.map +1 -0
  51. package/dist/src/generators/samples/hlcSamples.ts.hbs +49 -0
  52. package/dist/src/generators/samples/rlcSampleGenerator.d.ts +4 -0
  53. package/dist/src/generators/samples/rlcSampleGenerator.d.ts.map +1 -0
  54. package/dist/src/generators/samples/rlcSampleGenerator.js +64 -0
  55. package/dist/src/generators/samples/rlcSampleGenerator.js.map +1 -0
  56. package/dist/src/generators/samples/rlcSamples.ts.hbs +28 -0
  57. package/dist/src/generators/samples/sampleEnv.hbs +4 -0
  58. package/dist/src/generators/samples/sampleEnvGenerator.d.ts +3 -0
  59. package/dist/src/generators/samples/sampleEnvGenerator.d.ts.map +1 -0
  60. package/dist/src/generators/samples/sampleEnvGenerator.js +17 -0
  61. package/dist/src/generators/samples/sampleEnvGenerator.js.map +1 -0
  62. package/dist/src/generators/static/apiExtractorConfig.js +3 -3
  63. package/dist/src/generators/static/apiExtractorConfig.js.map +1 -1
  64. package/dist/src/generators/static/esLintConfigGenerator.d.ts +3 -0
  65. package/dist/src/generators/static/esLintConfigGenerator.d.ts.map +1 -0
  66. package/dist/src/generators/static/esLintConfigGenerator.js +26 -0
  67. package/dist/src/generators/static/esLintConfigGenerator.js.map +1 -0
  68. package/{src/generators/static/README.md.hbs → dist/src/generators/static/hlcREADME.md.hbs} +41 -5
  69. package/dist/src/generators/static/karma.conf.js.hbs +126 -0
  70. package/dist/src/generators/static/karmaConfigFileGenerator.d.ts +3 -0
  71. package/dist/src/generators/static/karmaConfigFileGenerator.d.ts.map +1 -0
  72. package/dist/src/generators/static/karmaConfigFileGenerator.js +23 -0
  73. package/dist/src/generators/static/karmaConfigFileGenerator.js.map +1 -0
  74. package/dist/src/generators/static/licenseFileGenerator.js +1 -1
  75. package/dist/src/generators/static/licenseFileGenerator.js.map +1 -1
  76. package/dist/src/generators/static/packageFileGenerator.d.ts.map +1 -1
  77. package/dist/src/generators/static/packageFileGenerator.js +267 -79
  78. package/dist/src/generators/static/packageFileGenerator.js.map +1 -1
  79. package/dist/src/generators/static/readmeFileGenerator.d.ts +2 -2
  80. package/dist/src/generators/static/readmeFileGenerator.d.ts.map +1 -1
  81. package/dist/src/generators/static/readmeFileGenerator.js +54 -26
  82. package/dist/src/generators/static/readmeFileGenerator.js.map +1 -1
  83. package/dist/src/generators/static/rlcREADME.md.hbs +71 -0
  84. package/dist/src/generators/static/rollupConfigFileGenerator.d.ts.map +1 -1
  85. package/dist/src/generators/static/rollupConfigFileGenerator.js +12 -71
  86. package/dist/src/generators/static/rollupConfigFileGenerator.js.map +1 -1
  87. package/dist/src/generators/static/tsConfigFileGenerator.d.ts.map +1 -1
  88. package/dist/src/generators/static/tsConfigFileGenerator.js +47 -20
  89. package/dist/src/generators/static/tsConfigFileGenerator.js.map +1 -1
  90. package/dist/src/generators/test/envBrowserFileGenerator.d.ts +3 -0
  91. package/dist/src/generators/test/envBrowserFileGenerator.d.ts.map +1 -0
  92. package/dist/src/generators/test/envBrowserFileGenerator.js +15 -0
  93. package/dist/src/generators/test/envBrowserFileGenerator.js.map +1 -0
  94. package/dist/src/generators/test/envFileGenerator.d.ts +3 -0
  95. package/dist/src/generators/test/envFileGenerator.d.ts.map +1 -0
  96. package/dist/src/generators/test/envFileGenerator.js +23 -0
  97. package/dist/src/generators/test/envFileGenerator.js.map +1 -0
  98. package/dist/src/generators/test/recordedClientFileGenerator.d.ts +3 -0
  99. package/dist/src/generators/test/recordedClientFileGenerator.d.ts.map +1 -0
  100. package/dist/src/generators/test/recordedClientFileGenerator.js +23 -0
  101. package/dist/src/generators/test/recordedClientFileGenerator.js.map +1 -0
  102. package/dist/src/generators/test/rlcEnv.ts.hbs +3 -0
  103. package/dist/src/generators/test/rlcRecordedClient.ts.hbs +26 -0
  104. package/dist/src/generators/test/rlcSampleTest.spec.ts.hbs +20 -0
  105. package/dist/src/generators/test/sampleTest.ts.hbs +32 -0
  106. package/dist/src/generators/test/sampleTestGenerator.d.ts +3 -0
  107. package/dist/src/generators/test/sampleTestGenerator.d.ts.map +1 -0
  108. package/dist/src/generators/test/sampleTestGenerator.js +34 -0
  109. package/dist/src/generators/test/sampleTestGenerator.js.map +1 -0
  110. package/dist/src/generators/tracingFileGenerator.d.ts.map +1 -1
  111. package/dist/src/generators/tracingFileGenerator.js +7 -21
  112. package/dist/src/generators/tracingFileGenerator.js.map +1 -1
  113. package/dist/src/generators/utils/docsUtils.js +2 -2
  114. package/dist/src/generators/utils/docsUtils.js.map +1 -1
  115. package/dist/src/generators/utils/operationsUtils.js +1 -1
  116. package/dist/src/generators/utils/operationsUtils.js.map +1 -1
  117. package/dist/src/generators/utils/pagingOperations.d.ts +5 -0
  118. package/dist/src/generators/utils/pagingOperations.d.ts.map +1 -1
  119. package/dist/src/generators/utils/pagingOperations.js +15 -15
  120. package/dist/src/generators/utils/pagingOperations.js.map +1 -1
  121. package/dist/src/generators/utils/parameterUtils.js +9 -9
  122. package/dist/src/generators/utils/parameterUtils.js.map +1 -1
  123. package/dist/src/generators/utils/responseTypeUtils.js +2 -2
  124. package/dist/src/generators/utils/responseTypeUtils.js.map +1 -1
  125. package/dist/src/generators/utils/tracingUtils.d.ts.map +1 -1
  126. package/dist/src/generators/utils/tracingUtils.js +2 -6
  127. package/dist/src/generators/utils/tracingUtils.js.map +1 -1
  128. package/dist/src/lroImpl.d.ts +16 -0
  129. package/dist/src/lroImpl.d.ts.map +1 -0
  130. package/dist/src/lroImpl.js +45 -0
  131. package/dist/src/lroImpl.js.map +1 -0
  132. package/dist/src/main.d.ts +2 -2
  133. package/dist/src/main.d.ts.map +1 -1
  134. package/dist/src/main.js +8 -8
  135. package/dist/src/main.js.map +1 -1
  136. package/dist/src/models/clientDetails.d.ts +10 -1
  137. package/dist/src/models/clientDetails.d.ts.map +1 -1
  138. package/dist/src/models/modelDetails.d.ts +2 -2
  139. package/dist/src/models/modelDetails.d.ts.map +1 -1
  140. package/dist/src/models/operationDetails.d.ts +1 -0
  141. package/dist/src/models/operationDetails.d.ts.map +1 -1
  142. package/dist/src/models/sampleDetails.d.ts +22 -0
  143. package/dist/src/models/sampleDetails.d.ts.map +1 -0
  144. package/dist/src/models/sampleDetails.js +3 -0
  145. package/dist/src/models/sampleDetails.js.map +1 -0
  146. package/dist/src/restLevelClient/generateClient.d.ts +1 -1
  147. package/dist/src/restLevelClient/generateClient.d.ts.map +1 -1
  148. package/dist/src/restLevelClient/generateClient.js +108 -167
  149. package/dist/src/restLevelClient/generateClient.js.map +1 -1
  150. package/dist/src/restLevelClient/generateClientDefinition.d.ts +6 -0
  151. package/dist/src/restLevelClient/generateClientDefinition.d.ts.map +1 -0
  152. package/dist/src/restLevelClient/generateClientDefinition.js +261 -0
  153. package/dist/src/restLevelClient/generateClientDefinition.js.map +1 -0
  154. package/dist/src/restLevelClient/generateIsUnexpectedHelper.d.ts +8 -0
  155. package/dist/src/restLevelClient/generateIsUnexpectedHelper.d.ts.map +1 -0
  156. package/dist/src/restLevelClient/generateIsUnexpectedHelper.js +204 -0
  157. package/dist/src/restLevelClient/generateIsUnexpectedHelper.js.map +1 -0
  158. package/dist/src/restLevelClient/generateMethodShortcuts.d.ts +8 -0
  159. package/dist/src/restLevelClient/generateMethodShortcuts.d.ts.map +1 -0
  160. package/dist/src/restLevelClient/generateMethodShortcuts.js +70 -0
  161. package/dist/src/restLevelClient/generateMethodShortcuts.js.map +1 -0
  162. package/dist/src/restLevelClient/generateObjectTypes.d.ts +3 -3
  163. package/dist/src/restLevelClient/generateObjectTypes.d.ts.map +1 -1
  164. package/dist/src/restLevelClient/generateObjectTypes.js +43 -31
  165. package/dist/src/restLevelClient/generateObjectTypes.js.map +1 -1
  166. package/dist/src/restLevelClient/generatePagingHelper.d.ts +3 -0
  167. package/dist/src/restLevelClient/generatePagingHelper.d.ts.map +1 -0
  168. package/dist/src/restLevelClient/generatePagingHelper.js +54 -0
  169. package/dist/src/restLevelClient/generatePagingHelper.js.map +1 -0
  170. package/dist/src/restLevelClient/generateParameterTypes.d.ts.map +1 -1
  171. package/dist/src/restLevelClient/generateParameterTypes.js +247 -43
  172. package/dist/src/restLevelClient/generateParameterTypes.js.map +1 -1
  173. package/dist/src/restLevelClient/generatePollingHelper.d.ts +3 -0
  174. package/dist/src/restLevelClient/generatePollingHelper.d.ts.map +1 -0
  175. package/dist/src/restLevelClient/generatePollingHelper.js +20 -0
  176. package/dist/src/restLevelClient/generatePollingHelper.js.map +1 -0
  177. package/dist/src/restLevelClient/generateResponseTypes.d.ts.map +1 -1
  178. package/dist/src/restLevelClient/generateResponseTypes.js +45 -29
  179. package/dist/src/restLevelClient/generateResponseTypes.js.map +1 -1
  180. package/dist/src/restLevelClient/generateRestLevel.d.ts.map +1 -1
  181. package/dist/src/restLevelClient/generateRestLevel.js +64 -15
  182. package/dist/src/restLevelClient/generateRestLevel.js.map +1 -1
  183. package/dist/src/restLevelClient/generateSchemaTypes.d.ts.map +1 -1
  184. package/dist/src/restLevelClient/generateSchemaTypes.js +29 -7
  185. package/dist/src/restLevelClient/generateSchemaTypes.js.map +1 -1
  186. package/dist/src/restLevelClient/generateTopLevelIndexFile.d.ts +4 -0
  187. package/dist/src/restLevelClient/generateTopLevelIndexFile.d.ts.map +1 -0
  188. package/dist/src/restLevelClient/generateTopLevelIndexFile.js +37 -0
  189. package/dist/src/restLevelClient/generateTopLevelIndexFile.js.map +1 -0
  190. package/dist/src/restLevelClient/getPropertySignature.d.ts +3 -2
  191. package/dist/src/restLevelClient/getPropertySignature.d.ts.map +1 -1
  192. package/dist/src/restLevelClient/getPropertySignature.js +23 -7
  193. package/dist/src/restLevelClient/getPropertySignature.js.map +1 -1
  194. package/dist/src/restLevelClient/helpers/hasPollingOperations.d.ts +4 -0
  195. package/dist/src/restLevelClient/helpers/hasPollingOperations.d.ts.map +1 -0
  196. package/dist/src/restLevelClient/helpers/hasPollingOperations.js +12 -0
  197. package/dist/src/restLevelClient/helpers/hasPollingOperations.js.map +1 -0
  198. package/dist/src/restLevelClient/helpers/modelHelpers.d.ts +4 -0
  199. package/dist/src/restLevelClient/helpers/modelHelpers.d.ts.map +1 -0
  200. package/dist/src/restLevelClient/helpers/modelHelpers.js +19 -0
  201. package/dist/src/restLevelClient/helpers/modelHelpers.js.map +1 -0
  202. package/dist/src/restLevelClient/helpers/operationHelpers.d.ts +10 -0
  203. package/dist/src/restLevelClient/helpers/operationHelpers.d.ts.map +1 -0
  204. package/dist/src/restLevelClient/helpers/operationHelpers.js +64 -0
  205. package/dist/src/restLevelClient/helpers/operationHelpers.js.map +1 -0
  206. package/dist/src/restLevelClient/interfaces.d.ts +33 -0
  207. package/dist/src/restLevelClient/interfaces.d.ts.map +1 -0
  208. package/dist/src/restLevelClient/interfaces.js +3 -0
  209. package/dist/src/restLevelClient/interfaces.js.map +1 -0
  210. package/dist/src/restLevelClient/mutateCodeModel.js +2 -2
  211. package/dist/src/restLevelClient/mutateCodeModel.js.map +1 -1
  212. package/dist/src/restLevelClient/operationHelpers.d.ts +4 -0
  213. package/dist/src/restLevelClient/operationHelpers.d.ts.map +1 -1
  214. package/dist/src/restLevelClient/operationHelpers.js +21 -10
  215. package/dist/src/restLevelClient/operationHelpers.js.map +1 -1
  216. package/dist/src/restLevelClient/paginateHelper.ts.hbs +208 -0
  217. package/dist/src/restLevelClient/pollingHelper.ts.hbs +72 -0
  218. package/dist/src/restLevelClient/samples/generateSamples.d.ts +23 -0
  219. package/dist/src/restLevelClient/samples/generateSamples.d.ts.map +1 -0
  220. package/dist/src/restLevelClient/samples/generateSamples.js +3 -0
  221. package/dist/src/restLevelClient/samples/generateSamples.js.map +1 -0
  222. package/dist/src/restLevelClient/samples/samples.ts.hbs +0 -0
  223. package/dist/src/restLevelClient/schemaHelpers.d.ts +12 -2
  224. package/dist/src/restLevelClient/schemaHelpers.d.ts.map +1 -1
  225. package/dist/src/restLevelClient/schemaHelpers.js +48 -14
  226. package/dist/src/restLevelClient/schemaHelpers.js.map +1 -1
  227. package/dist/src/transforms/extensions.js +10 -10
  228. package/dist/src/transforms/extensions.js.map +1 -1
  229. package/dist/src/transforms/groupTransforms.js +2 -2
  230. package/dist/src/transforms/groupTransforms.js.map +1 -1
  231. package/dist/src/transforms/mapperTransforms.d.ts +1 -1
  232. package/dist/src/transforms/mapperTransforms.d.ts.map +1 -1
  233. package/dist/src/transforms/mapperTransforms.js +30 -27
  234. package/dist/src/transforms/mapperTransforms.js.map +1 -1
  235. package/dist/src/transforms/objectTransforms.d.ts.map +1 -1
  236. package/dist/src/transforms/objectTransforms.js +42 -26
  237. package/dist/src/transforms/objectTransforms.js.map +1 -1
  238. package/dist/src/transforms/operationTransforms.d.ts.map +1 -1
  239. package/dist/src/transforms/operationTransforms.js +29 -26
  240. package/dist/src/transforms/operationTransforms.js.map +1 -1
  241. package/dist/src/transforms/optionsTransforms.js +1 -1
  242. package/dist/src/transforms/optionsTransforms.js.map +1 -1
  243. package/dist/src/transforms/parameterTransforms.d.ts.map +1 -1
  244. package/dist/src/transforms/parameterTransforms.js +43 -27
  245. package/dist/src/transforms/parameterTransforms.js.map +1 -1
  246. package/dist/src/transforms/samplesTransforms.d.ts +7 -0
  247. package/dist/src/transforms/samplesTransforms.d.ts.map +1 -0
  248. package/dist/src/transforms/samplesTransforms.js +293 -0
  249. package/dist/src/transforms/samplesTransforms.js.map +1 -0
  250. package/dist/src/transforms/transforms.d.ts +1 -2
  251. package/dist/src/transforms/transforms.d.ts.map +1 -1
  252. package/dist/src/transforms/transforms.js +26 -24
  253. package/dist/src/transforms/transforms.js.map +1 -1
  254. package/dist/src/transforms/urlTransforms.js +3 -3
  255. package/dist/src/transforms/urlTransforms.js.map +1 -1
  256. package/dist/src/typescriptGenerator.d.ts +2 -2
  257. package/dist/src/typescriptGenerator.d.ts.map +1 -1
  258. package/dist/src/typescriptGenerator.js +46 -40
  259. package/dist/src/typescriptGenerator.js.map +1 -1
  260. package/dist/src/utils/autorestOptions.d.ts +2 -2
  261. package/dist/src/utils/autorestOptions.d.ts.map +1 -1
  262. package/dist/src/utils/autorestOptions.js +148 -61
  263. package/dist/src/utils/autorestOptions.js.map +1 -1
  264. package/dist/src/utils/cloneOperation.js +2 -2
  265. package/dist/src/utils/cloneOperation.js.map +1 -1
  266. package/dist/src/utils/copyFiles.d.ts +2 -0
  267. package/dist/src/utils/copyFiles.d.ts.map +1 -0
  268. package/dist/src/utils/copyFiles.js +33 -0
  269. package/dist/src/utils/copyFiles.js.map +1 -0
  270. package/dist/src/utils/extractHeaders.js +4 -4
  271. package/dist/src/utils/extractHeaders.js.map +1 -1
  272. package/dist/src/utils/extractPaginationDetails.d.ts +5 -1
  273. package/dist/src/utils/extractPaginationDetails.d.ts.map +1 -1
  274. package/dist/src/utils/extractPaginationDetails.js +23 -10
  275. package/dist/src/utils/extractPaginationDetails.js.map +1 -1
  276. package/dist/src/utils/headersToSchema.js +1 -1
  277. package/dist/src/utils/headersToSchema.js.map +1 -1
  278. package/dist/src/utils/logger.js +1 -1
  279. package/dist/src/utils/logger.js.map +1 -1
  280. package/dist/src/utils/nameUtils.d.ts +6 -2
  281. package/dist/src/utils/nameUtils.d.ts.map +1 -1
  282. package/dist/src/utils/nameUtils.js +13 -8
  283. package/dist/src/utils/nameUtils.js.map +1 -1
  284. package/dist/src/utils/schemaHelpers.d.ts +6 -1
  285. package/dist/src/utils/schemaHelpers.d.ts.map +1 -1
  286. package/dist/src/utils/schemaHelpers.js +50 -7
  287. package/dist/src/utils/schemaHelpers.js.map +1 -1
  288. package/dist/src/utils/sortObjectSchemasHierarchically.js +1 -1
  289. package/dist/src/utils/sortObjectSchemasHierarchically.js.map +1 -1
  290. package/dist/src/utils/valueHelpers.d.ts.map +1 -1
  291. package/dist/src/utils/valueHelpers.js +2 -1
  292. package/dist/src/utils/valueHelpers.js.map +1 -1
  293. package/package.json +59 -39
  294. package/src/autorestSession.ts +26 -18
  295. package/src/conflictResolver.ts +61 -0
  296. package/src/generators/LROGenerator.ts +2 -16
  297. package/src/generators/clientFileGenerator.ts +400 -50
  298. package/src/generators/indexGenerator.ts +166 -14
  299. package/src/generators/mappersGenerator.ts +108 -8
  300. package/src/generators/modelsGenerator.ts +101 -98
  301. package/src/generators/operationGenerator.ts +63 -122
  302. package/src/generators/parametersGenerator.ts +2 -3
  303. package/src/generators/samples/hlcSampleGenerator.ts +50 -0
  304. package/src/generators/samples/hlcSamples.ts.hbs +49 -0
  305. package/src/generators/samples/rlcSampleGenerator.ts +72 -0
  306. package/src/generators/samples/rlcSamples.ts.hbs +28 -0
  307. package/src/generators/samples/sampleEnv.hbs +4 -0
  308. package/src/generators/samples/sampleEnvGenerator.ts +14 -0
  309. package/src/generators/static/apiExtractorConfig.ts +3 -3
  310. package/src/generators/static/esLintConfigGenerator.ts +24 -0
  311. package/src/generators/static/hlcREADME.md.hbs +144 -0
  312. package/src/generators/static/karma.conf.js.hbs +126 -0
  313. package/src/generators/static/karmaConfigFileGenerator.ts +20 -0
  314. package/src/generators/static/packageFileGenerator.ts +305 -82
  315. package/src/generators/static/readmeFileGenerator.ts +85 -42
  316. package/src/generators/static/rlcREADME.md.hbs +71 -0
  317. package/src/generators/static/rollupConfigFileGenerator.ts +13 -71
  318. package/src/generators/static/tsConfigFileGenerator.ts +55 -21
  319. package/src/generators/test/envBrowserFileGenerator.ts +14 -0
  320. package/src/generators/test/envFileGenerator.ts +22 -0
  321. package/src/generators/test/recordedClientFileGenerator.ts +22 -0
  322. package/src/generators/test/rlcEnv.ts.hbs +3 -0
  323. package/src/generators/test/rlcRecordedClient.ts.hbs +26 -0
  324. package/src/generators/test/rlcSampleTest.spec.ts.hbs +20 -0
  325. package/src/generators/test/sampleTest.ts.hbs +32 -0
  326. package/src/generators/test/sampleTestGenerator.ts +32 -0
  327. package/src/generators/tracingFileGenerator.ts +6 -24
  328. package/src/generators/utils/pagingOperations.ts +1 -2
  329. package/src/generators/utils/tracingUtils.ts +1 -5
  330. package/src/lroImpl.ts +26 -0
  331. package/src/main.ts +8 -5
  332. package/src/models/clientDetails.ts +11 -1
  333. package/src/models/modelDetails.ts +2 -2
  334. package/src/models/operationDetails.ts +1 -0
  335. package/src/models/sampleDetails.ts +22 -0
  336. package/src/restLevelClient/generateClient.ts +134 -244
  337. package/src/restLevelClient/generateClientDefinition.ts +386 -0
  338. package/src/restLevelClient/generateIsUnexpectedHelper.ts +224 -0
  339. package/src/restLevelClient/generateMethodShortcuts.ts +121 -0
  340. package/src/restLevelClient/generateObjectTypes.ts +62 -21
  341. package/src/restLevelClient/generatePagingHelper.ts +69 -0
  342. package/src/restLevelClient/generateParameterTypes.ts +377 -55
  343. package/src/restLevelClient/generatePollingHelper.ts +19 -0
  344. package/src/restLevelClient/generateResponseTypes.ts +53 -22
  345. package/src/restLevelClient/generateRestLevel.ts +65 -8
  346. package/src/restLevelClient/generateSchemaTypes.ts +43 -8
  347. package/src/restLevelClient/generateTopLevelIndexFile.ts +37 -0
  348. package/src/restLevelClient/getPropertySignature.ts +31 -6
  349. package/src/restLevelClient/helpers/hasPollingOperations.ts +15 -0
  350. package/src/restLevelClient/helpers/modelHelpers.ts +15 -0
  351. package/src/restLevelClient/helpers/operationHelpers.ts +93 -0
  352. package/src/restLevelClient/interfaces.ts +39 -0
  353. package/src/restLevelClient/operationHelpers.ts +23 -9
  354. package/src/restLevelClient/paginateHelper.ts.hbs +208 -0
  355. package/src/restLevelClient/pollingHelper.ts.hbs +72 -0
  356. package/src/restLevelClient/samples/generateSamples.ts +23 -0
  357. package/src/restLevelClient/samples/samples.ts.hbs +0 -0
  358. package/src/restLevelClient/schemaHelpers.ts +51 -9
  359. package/src/transforms/mapperTransforms.ts +12 -6
  360. package/src/transforms/objectTransforms.ts +26 -6
  361. package/src/transforms/operationTransforms.ts +6 -1
  362. package/src/transforms/parameterTransforms.ts +26 -7
  363. package/src/transforms/samplesTransforms.ts +349 -0
  364. package/src/transforms/transforms.ts +14 -9
  365. package/src/typescriptGenerator.ts +41 -45
  366. package/src/utils/autorestOptions.ts +203 -86
  367. package/src/utils/copyFiles.ts +36 -0
  368. package/src/utils/extractPaginationDetails.ts +19 -1
  369. package/src/utils/nameUtils.ts +18 -9
  370. package/src/utils/schemaHelpers.ts +51 -4
  371. package/src/utils/valueHelpers.ts +1 -0
  372. package/CHANGELOG.md +0 -44
  373. package/dist/src/coreClientLro.d.ts +0 -26
  374. package/dist/src/coreClientLro.d.ts.map +0 -1
  375. package/dist/src/coreClientLro.js +0 -207
  376. package/dist/src/coreClientLro.js.map +0 -1
  377. package/dist/src/coreHttpLro.d.ts +0 -26
  378. package/dist/src/coreHttpLro.d.ts.map +0 -1
  379. package/dist/src/coreHttpLro.js +0 -186
  380. package/dist/src/coreHttpLro.js.map +0 -1
  381. package/dist/src/generators/clientContextFileGenerator.d.ts +0 -5
  382. package/dist/src/generators/clientContextFileGenerator.d.ts.map +0 -1
  383. package/dist/src/generators/clientContextFileGenerator.js +0 -263
  384. package/dist/src/generators/clientContextFileGenerator.js.map +0 -1
  385. package/dist/src/lro/azureAsyncPolling.d.ts +0 -3
  386. package/dist/src/lro/azureAsyncPolling.d.ts.map +0 -1
  387. package/dist/src/lro/azureAsyncPolling.js +0 -71
  388. package/dist/src/lro/azureAsyncPolling.js.map +0 -1
  389. package/dist/src/lro/bodyPolling.d.ts +0 -8
  390. package/dist/src/lro/bodyPolling.d.ts.map +0 -1
  391. package/dist/src/lro/bodyPolling.js +0 -34
  392. package/dist/src/lro/bodyPolling.js.map +0 -1
  393. package/dist/src/lro/index.d.ts +0 -4
  394. package/dist/src/lro/index.d.ts.map +0 -1
  395. package/dist/src/lro/index.js +0 -10
  396. package/dist/src/lro/index.js.map +0 -1
  397. package/dist/src/lro/locationPolling.d.ts +0 -3
  398. package/dist/src/lro/locationPolling.d.ts.map +0 -1
  399. package/dist/src/lro/locationPolling.js +0 -18
  400. package/dist/src/lro/locationPolling.js.map +0 -1
  401. package/dist/src/lro/lroEngine.d.ts +0 -14
  402. package/dist/src/lro/lroEngine.d.ts.map +0 -1
  403. package/dist/src/lro/lroEngine.js +0 -38
  404. package/dist/src/lro/lroEngine.js.map +0 -1
  405. package/dist/src/lro/models.d.ts +0 -138
  406. package/dist/src/lro/models.d.ts.map +0 -1
  407. package/dist/src/lro/models.js +0 -12
  408. package/dist/src/lro/models.js.map +0 -1
  409. package/dist/src/lro/operation.d.ts +0 -36
  410. package/dist/src/lro/operation.d.ts.map +0 -1
  411. package/dist/src/lro/operation.js +0 -89
  412. package/dist/src/lro/operation.js.map +0 -1
  413. package/dist/src/lro/passthrough.d.ts +0 -3
  414. package/dist/src/lro/passthrough.d.ts.map +0 -1
  415. package/dist/src/lro/passthrough.js +0 -14
  416. package/dist/src/lro/passthrough.js.map +0 -1
  417. package/dist/src/lro/requestUtils.d.ts +0 -16
  418. package/dist/src/lro/requestUtils.d.ts.map +0 -1
  419. package/dist/src/lro/requestUtils.js +0 -76
  420. package/dist/src/lro/requestUtils.js.map +0 -1
  421. package/dist/src/lro/stateMachine.d.ts +0 -18
  422. package/dist/src/lro/stateMachine.d.ts.map +0 -1
  423. package/dist/src/lro/stateMachine.js +0 -90
  424. package/dist/src/lro/stateMachine.js.map +0 -1
  425. package/src/coreClientLro.ts +0 -315
  426. package/src/coreHttpLro.ts +0 -268
  427. package/src/generators/clientContextFileGenerator.ts +0 -405
  428. package/src/lro/azureAsyncPolling.ts +0 -82
  429. package/src/lro/bodyPolling.ts +0 -34
  430. package/src/lro/index.ts +0 -18
  431. package/src/lro/locationPolling.ts +0 -20
  432. package/src/lro/lroEngine.ts +0 -53
  433. package/src/lro/models.ts +0 -165
  434. package/src/lro/operation.ts +0 -112
  435. package/src/lro/passthrough.ts +0 -15
  436. package/src/lro/requestUtils.ts +0 -94
  437. package/src/lro/stateMachine.ts +0 -108
@@ -4,7 +4,12 @@
4
4
  import { Project } from "ts-morph";
5
5
  import { ClientDetails } from "../../models/clientDetails";
6
6
  import { PackageDetails } from "../../models/packageDetails";
7
- import { getAutorestOptions } from "../../autorestSession";
7
+ import { getAutorestOptions, getSession } from "../../autorestSession";
8
+ import { hasPagingOperations } from "../../utils/extractPaginationDetails";
9
+ import { hasPollingOperations } from "../../restLevelClient/helpers/hasPollingOperations";
10
+ import { NameType, normalizeName } from "../../utils/nameUtils";
11
+ import { TestCodeModel } from "@autorest/testmodeler/dist/src/core/model";
12
+ import { getSecurityInfoFromModel } from "../../utils/schemaHelpers";
8
13
 
9
14
  export function generatePackageJson(
10
15
  project: Project,
@@ -46,64 +51,225 @@ export function generatePackageJson(
46
51
  * or High Level Client
47
52
  */
48
53
  function restLevelPackage(packageDetails: PackageDetails) {
49
- const { azureArm } = getAutorestOptions();
50
- return {
54
+ const {
55
+ azureArm,
56
+ generateTest,
57
+ generateSample,
58
+ azureOutputDirectory,
59
+ azureSdkForJs
60
+ } = getAutorestOptions();
61
+ const { model } = getSession();
62
+ const clientPackageName = packageDetails.name;
63
+ let apiRefUrlQueryParameter: string = "";
64
+ if (packageDetails.version.includes("beta")) {
65
+ apiRefUrlQueryParameter = "?view=azure-node-preview";
66
+ }
67
+ const description = packageDetails.description;
68
+ const hasPaging = hasPagingOperations(model);
69
+ const hasLRO = hasPollingOperations(model);
70
+ const packageInfo: Record<string, any> = {
51
71
  name: `${packageDetails.name}`,
52
- "sdk-type": `${azureArm ? "mgmt" : "client"}`,
72
+ "sdk-type": "client",
73
+ author: "Microsoft Corporation",
53
74
  version: `${packageDetails.version}`,
54
75
  description: `${packageDetails.description}`,
55
- main: "esm/index.js",
56
- types: "esm/index.d.ts",
76
+ keywords: ["node", "azure", "cloud", "typescript", "browser", "isomorphic"],
77
+ license: "MIT",
78
+ main: "dist/index.js",
79
+ module: generateTest ? "./dist-esm/src/index.js" : "./dist-esm/index.js",
80
+ types: `./types/${packageDetails.nameWithoutScope}.d.ts`,
81
+ homepage: `https://github.com/Azure/azure-sdk-for-js/tree/main/${azureOutputDirectory}/README.md`,
82
+ repository: "github:Azure/azure-sdk-for-js",
83
+ bugs: {
84
+ url: "https://github.com/Azure/azure-sdk-for-js/issues"
85
+ },
86
+ files: [
87
+ "dist/",
88
+ generateTest ? "dist-esm/src/" : "dist-esm/",
89
+ `types/${packageDetails.nameWithoutScope}.d.ts`,
90
+ "README.md",
91
+ "LICENSE",
92
+ "review/*"
93
+ ],
94
+ "//metadata": {
95
+ constantPaths: [
96
+ {
97
+ path: "swagger/README.md",
98
+ prefix: "package-version"
99
+ }
100
+ ]
101
+ },
102
+ engines: {
103
+ node: ">=12.0.0"
104
+ },
57
105
  scripts: {
58
- test: 'echo "Error: no test specified" && exit 1',
59
- build: "tsc --build && npm run extract-api",
60
- "extract-api": "mkdirp ./review && api-extractor run --local",
61
- pack: "npm pack 2>&1",
62
- lint: "echo skipped",
63
- audit: "echo skipped",
64
- clean: "echo skipped",
65
- "build:node": "echo skipped",
66
- "build:browser": "echo skipped",
67
- "build:test": "echo skipped",
106
+ audit:
107
+ "node ../../../common/scripts/rush-audit.js && rimraf node_modules package-lock.json && npm i --package-lock-only 2>&1 && npm audit",
108
+ "build:browser": "echo skipped.",
109
+ "build:node": "echo skipped.",
68
110
  "build:samples": "echo skipped.",
69
- "check-format": "echo skipped",
111
+ "build:test": "echo skipped.",
112
+ "build:debug": "echo skipped.",
113
+ "check-format":
114
+ 'prettier --list-different --config ../../../.prettierrc.json --ignore-path ../../../.prettierignore "src/**/*.ts" "test/**/*.ts" "samples-dev/**/*.ts" "*.{js,json}"',
115
+ clean:
116
+ "rimraf dist dist-browser dist-esm test-dist temp types *.tgz *.log",
70
117
  "execute:samples": "echo skipped",
71
- format: "echo skipped",
72
- prebuild: "echo skipped",
73
- "test:node": "echo skipped",
74
- "test:browser": "echo skipped",
75
- "unit-test": "echo skipped",
76
- "unit-test:node": "echo skipped",
77
- "unit-test:browser": "echo skipped",
118
+ "extract-api":
119
+ "rimraf review && mkdirp ./review && api-extractor run --local",
120
+ format:
121
+ 'prettier --write --config ../../../.prettierrc.json --ignore-path ../../../.prettierignore "src/**/*.ts" "test/**/*.ts" "samples-dev/**/*.ts" "*.{js,json}"',
122
+ "generate:client":
123
+ "autorest --typescript swagger/README.md && npm run format",
78
124
  "integration-test:browser": "echo skipped",
79
125
  "integration-test:node": "echo skipped",
80
126
  "integration-test": "echo skipped",
81
- docs: "echo skipped"
82
- },
83
- keywords: [],
84
- author: "",
85
- license: "ISC",
86
- engines: {
87
- node: ">=12.0.0"
127
+ "lint:fix":
128
+ "eslint package.json api-extractor.json src test --ext .ts --fix --fix-type [problem,suggestion]",
129
+ lint: "eslint package.json api-extractor.json src test --ext .ts",
130
+ pack: "npm pack 2>&1",
131
+ "test:browser": "echo skipped",
132
+ "test:node": "echo skipped",
133
+ test: 'echo "Error: no test specified" && exit 1',
134
+ "unit-test": "echo skipped",
135
+ "unit-test:node": "echo skipped",
136
+ "unit-test:browser": "echo skipped"
88
137
  },
138
+ sideEffects: false,
139
+ autoPublish: false,
89
140
  dependencies: {
90
- "@azure-rest/core-client": "1.0.0-beta.4",
91
141
  "@azure/core-auth": "^1.3.0",
92
- "@azure/core-rest-pipeline": "^1.0.4"
142
+ "@azure-rest/core-client": "1.0.0-beta.10",
143
+ "@azure/core-rest-pipeline": "^1.8.0",
144
+ "@azure/logger": "^1.0.0",
145
+ tslib: "^2.2.0",
146
+ ...(hasPaging && {
147
+ "@azure/core-paging": "^1.2.0"
148
+ }),
149
+ ...(hasLRO && {
150
+ "@azure/core-lro": "^2.2.0"
151
+ })
93
152
  },
94
153
  devDependencies: {
154
+ "@microsoft/api-extractor": "7.18.11",
95
155
  autorest: "latest",
96
- "@microsoft/api-extractor": "^7.13.2",
97
- "@types/node": "^14.14.22",
156
+ "@types/node": "^12.0.0",
98
157
  dotenv: "^8.2.0",
99
- prettier: "^2.2.1",
100
- "ts-node": "^9.1.1",
101
- typescript: "~4.2.4",
102
- mkdirp: "^1.0.4"
103
- },
104
- sideEffects: false,
105
- autoPublish: true
158
+ eslint: "^7.15.0",
159
+ mkdirp: "^1.0.4",
160
+ prettier: "2.2.1",
161
+ rimraf: "^3.0.0",
162
+ "source-map-support": "^0.5.9",
163
+ typescript: "~4.2.0"
164
+ }
106
165
  };
166
+
167
+ if (azureSdkForJs) {
168
+ packageInfo.scripts["build"] =
169
+ "npm run clean && tsc -p . && dev-tool run bundle && mkdirp ./review && api-extractor run --local";
170
+ packageInfo.scripts["build:debug"] =
171
+ "tsc -p . && dev-tool run bundle && api-extractor run --local";
172
+ packageInfo.scripts["build:browser"] = "tsc -p . && dev-tool run bundle";
173
+ packageInfo.scripts["build:node"] = "tsc -p . && dev-tool run bundle";
174
+ packageInfo.devDependencies["@azure/dev-tool"] = "^1.0.0";
175
+ packageInfo.devDependencies["@azure/eslint-plugin-azure-sdk"] = "^3.0.0";
176
+ } else {
177
+ packageInfo.scripts["build"] =
178
+ "npm run clean && tsc && rollup -c 2>&1 && npm run minify && mkdirp ./review && npm run extract-api";
179
+ packageInfo.scripts[
180
+ "minify"
181
+ ] = `uglifyjs -c -m --comments --source-map "content='./dist/index.js.map'" -o ./dist/index.min.js ./dist/index.js`;
182
+ packageInfo.devDependencies["@rollup/plugin-commonjs"] = "^21.0.1";
183
+ packageInfo.devDependencies["@rollup/plugin-json"] = "^4.1.0";
184
+ packageInfo.devDependencies["@rollup/plugin-multi-entry"] = "^4.1.0";
185
+ packageInfo.devDependencies["@rollup/plugin-node-resolve"] = "^13.1.3";
186
+ packageInfo.devDependencies["rollup"] = "^2.66.1";
187
+ packageInfo.devDependencies["rollup-plugin-sourcemaps"] = "^0.6.3";
188
+ packageInfo.devDependencies["uglify-js"] = "^3.4.9";
189
+ }
190
+
191
+ if (generateTest) {
192
+ packageInfo.module = `./dist-esm/src/index.js`;
193
+ packageInfo.devDependencies["@azure-tools/test-credential"] = "^1.0.0";
194
+ packageInfo.devDependencies["@azure/identity"] = "^2.0.1";
195
+ packageInfo.devDependencies["@azure-tools/test-recorder"] = "^2.0.0";
196
+ packageInfo.devDependencies["mocha"] = "^7.1.1";
197
+ packageInfo.devDependencies["mocha-junit-reporter"] = "^1.18.0";
198
+ packageInfo.devDependencies["cross-env"] = "^7.0.2";
199
+ packageInfo.devDependencies["@types/chai"] = "^4.2.8";
200
+ packageInfo.devDependencies["chai"] = "^4.2.0";
201
+ packageInfo.devDependencies["cross-env"] = "^7.0.2";
202
+ packageInfo.devDependencies["karma-chrome-launcher"] = "^3.0.0";
203
+ packageInfo.devDependencies["karma-coverage"] = "^2.0.0";
204
+ packageInfo.devDependencies["karma-edge-launcher"] = "^0.4.2";
205
+ packageInfo.devDependencies["karma-env-preprocessor"] = "^0.1.1";
206
+ packageInfo.devDependencies["karma-firefox-launcher"] = "^1.1.0";
207
+ packageInfo.devDependencies["karma-ie-launcher"] = "^1.0.0";
208
+ packageInfo.devDependencies["karma-junit-reporter"] = "^2.0.1";
209
+ packageInfo.devDependencies["karma-mocha-reporter"] = "^2.2.5";
210
+ packageInfo.devDependencies["karma-mocha"] = "^2.0.1";
211
+ packageInfo.devDependencies["karma-source-map-support"] = "~1.4.0";
212
+ packageInfo.devDependencies["karma-sourcemap-loader"] = "^0.3.8";
213
+ packageInfo.devDependencies["karma"] = "^6.2.0";
214
+ packageInfo.devDependencies["nyc"] = "^14.0.0";
215
+ packageInfo.devDependencies["source-map-support"] = "^0.5.9";
216
+ packageInfo.scripts["test"] =
217
+ "npm run clean && npm run build:test && npm run unit-test";
218
+ packageInfo.scripts["test:node"] =
219
+ "npm run clean && npm run build:test && npm run unit-test:node";
220
+ packageInfo.scripts["test:browser"] =
221
+ "npm run clean && npm run build:test && npm run unit-test:browser";
222
+ packageInfo.scripts["build:browser"] =
223
+ "tsc -p . && cross-env ONLY_BROWSER=true rollup -c 2>&1";
224
+ packageInfo.scripts["build:node"] =
225
+ "tsc -p . && cross-env ONLY_NODE=true rollup -c 2>&1";
226
+ packageInfo.scripts["build:test"] = "tsc -p . && rollup -c 2>&1";
227
+ packageInfo.scripts["unit-test"] =
228
+ "npm run unit-test:node && npm run unit-test:browser";
229
+ packageInfo.scripts["unit-test:node"] =
230
+ 'mocha -r esm --require ts-node/register --reporter ../../../common/tools/mocha-multi-reporter.js --timeout 1200000 --full-trace "test/{,!(browser)/**/}*.spec.ts"';
231
+ packageInfo.scripts["unit-test:browser"] = "karma start --single-run";
232
+ packageInfo.scripts["integration-test:browser"] =
233
+ "karma start --single-run";
234
+ packageInfo.scripts["integration-test:node"] =
235
+ 'nyc mocha -r esm --require source-map-support/register --reporter ../../../common/tools/mocha-multi-reporter.js --timeout 5000000 --full-trace "dist-esm/test/{,!(browser)/**/}*.spec.js"';
236
+ packageInfo.scripts["integration-test"] =
237
+ "npm run integration-test:node && npm run integration-test:browser";
238
+ if (azureSdkForJs) {
239
+ packageInfo.scripts["build:test"] = "tsc -p . && dev-tool run bundle";
240
+ packageInfo.scripts["integration-test:browser"] =
241
+ "dev-tool run test:browser";
242
+ packageInfo.scripts["unit-test:browser"] = "dev-tool run test:browser";
243
+ packageInfo.scripts["unit-test:node"] =
244
+ "dev-tool run test:node-ts-input -- --timeout 1200000 --exclude 'test/**/browser/*.spec.ts' 'test/**/*.spec.ts'";
245
+ packageInfo.scripts["integration-test:node"] =
246
+ "dev-tool run test:node-js-input -- --timeout 5000000 'dist-esm/test/**/*.spec.js'";
247
+ }
248
+
249
+ packageInfo["browser"] = {
250
+ "./dist-esm/test/public/utils/env.js":
251
+ "./dist-esm/test/public/utils/env.browser.js"
252
+ };
253
+ }
254
+
255
+ if (
256
+ generateSample &&
257
+ (model as TestCodeModel)?.testModel?.mockTest?.exampleGroups &&
258
+ (model as TestCodeModel).testModel!.mockTest!.exampleGroups.length > 0
259
+ ) {
260
+ packageInfo["//sampleConfiguration"] = {
261
+ productName: description,
262
+ productSlugs: ["azure"],
263
+ disableDocsMs: true,
264
+ apiRefLink: `https://docs.microsoft.com/javascript/api/${clientPackageName}${apiRefUrlQueryParameter}`
265
+ };
266
+ if (azureSdkForJs) {
267
+ packageInfo.scripts["execute:samples"] =
268
+ "dev-tool samples run samples-dev";
269
+ }
270
+ }
271
+
272
+ return packageInfo;
107
273
  }
108
274
 
109
275
  /**
@@ -120,15 +286,25 @@ function regularAutorestPackage(
120
286
  tracingInfo,
121
287
  disablePagingAsyncIterators,
122
288
  azureArm,
123
- addCredentials
289
+ azureOutputDirectory,
290
+ generateTest,
291
+ generateSample,
292
+ coreHttpCompatMode,
293
+ azureSdkForJs
124
294
  } = getAutorestOptions();
125
- const hasLro = clientDetails.operationGroups.some(og =>
126
- og.operations.some(o => o.isLro)
127
- );
295
+ const { model } = getSession();
296
+ const { addCredentials } = getSecurityInfoFromModel(model.security);
297
+ const hasLro = hasPollingOperations(model);
128
298
  const hasAsyncIterators =
129
299
  !disablePagingAsyncIterators && clientDetails.options.hasPaging;
300
+ const clientPackageName = packageDetails.name;
301
+ let apiRefUrlQueryParameter: string = "";
302
+ if (packageDetails.version.includes("beta")) {
303
+ apiRefUrlQueryParameter = "?view=azure-node-preview";
304
+ }
305
+ const description = packageDetails.description;
130
306
 
131
- return {
307
+ const packageInfo: Record<string, any> = {
132
308
  name: packageDetails.name,
133
309
  "sdk-type": `${azureArm ? "mgmt" : "client"}`,
134
310
  author: "Microsoft Corporation",
@@ -140,42 +316,42 @@ function regularAutorestPackage(
140
316
  node: ">=12.0.0"
141
317
  },
142
318
  dependencies: {
143
- ...(hasLro && { "@azure/core-lro": "^1.0.5" }),
319
+ ...(hasLro && { "@azure/core-lro": "^2.2.0" }),
144
320
  ...(hasLro && { "@azure/abort-controller": "^1.0.0" }),
145
- ...(hasAsyncIterators && { "@azure/core-paging": "^1.1.1" }),
146
- ...(!useCoreV2 && { "@azure/core-http": "^1.2.4" }),
147
- ...(useCoreV2 && { "@azure/core-client": "^1.2.2" }),
321
+ ...(hasAsyncIterators && { "@azure/core-paging": "^1.2.0" }),
322
+ ...(!useCoreV2 && { "@azure/core-http": "^2.0.0" }),
323
+ ...(useCoreV2 && { "@azure/core-client": "^1.5.0" }),
148
324
  ...(useCoreV2 && addCredentials && { "@azure/core-auth": "^1.3.0" }),
325
+ ...(useCoreV2 &&
326
+ coreHttpCompatMode && { "@azure/core-http-compat": "^1.2.0" }),
149
327
  ...(useCoreV2 && {
150
- "@azure/core-rest-pipeline": "^1.1.1"
328
+ "@azure/core-rest-pipeline": "^1.8.0"
151
329
  }),
152
330
  ...(tracingInfo && {
153
- "@azure/core-tracing": "1.0.0-preview.11",
154
- "@opentelemetry/api": "^0.10.2"
331
+ "@azure/core-tracing": "^1.0.0"
155
332
  }),
156
-
157
- tslib: "^1.9.3"
333
+ tslib: "^2.2.0"
158
334
  },
159
335
  keywords: ["node", "azure", "typescript", "browser", "isomorphic"],
160
336
  license: "MIT",
161
337
  main: `./dist/index.js`,
162
- module: `./esm/index.js`,
163
- types: `./esm/index.d.ts`,
338
+ module: `./dist-esm/index.js`,
339
+ types: `./types/${packageDetails.nameWithoutScope}.d.ts`,
164
340
  devDependencies: {
165
- "@microsoft/api-extractor": "7.9.10",
166
- "@rollup/plugin-commonjs": "11.0.2",
167
- "@rollup/plugin-json": "^4.0.0",
168
- "@rollup/plugin-multi-entry": "^3.0.0",
169
- "@rollup/plugin-node-resolve": "^8.0.0",
341
+ "@microsoft/api-extractor": "7.18.11",
342
+ "@rollup/plugin-commonjs": "^21.0.1",
343
+ "@rollup/plugin-json": "^4.1.0",
344
+ "@rollup/plugin-multi-entry": "^4.1.0",
345
+ "@rollup/plugin-node-resolve": "^13.1.3",
170
346
  mkdirp: "^1.0.4",
171
- rollup: "^1.16.3",
172
- "rollup-plugin-sourcemaps": "^0.4.2",
173
- "rollup-plugin-node-resolve": "^3.4.0",
174
- typescript: "^3.1.1",
175
- "uglify-js": "^3.4.9"
347
+ rollup: "^2.66.1",
348
+ "rollup-plugin-sourcemaps": "^0.6.3",
349
+ typescript: "~4.2.0",
350
+ "uglify-js": "^3.4.9",
351
+ rimraf: "^3.0.0"
176
352
  },
177
353
  // TODO: Calculate the SDK path for the package
178
- homepage: `https://github.com/Azure/azure-sdk-for-js`,
354
+ homepage: `https://github.com/Azure/azure-sdk-for-js/tree/main/${azureOutputDirectory}`,
179
355
  repository: {
180
356
  type: "git",
181
357
  url: "https://github.com/Azure/azure-sdk-for-js.git"
@@ -188,28 +364,30 @@ function regularAutorestPackage(
188
364
  "dist/**/*.js.map",
189
365
  "dist/**/*.d.ts",
190
366
  "dist/**/*.d.ts.map",
191
- "esm/**/*.js",
192
- "esm/**/*.js.map",
193
- "esm/**/*.d.ts",
194
- "esm/**/*.d.ts.map",
367
+ "dist-esm/**/*.js",
368
+ "dist-esm/**/*.js.map",
369
+ "dist-esm/**/*.d.ts",
370
+ "dist-esm/**/*.d.ts.map",
195
371
  `${srcPath}/**/*.ts`,
196
372
  "README.md",
197
373
  "LICENSE",
198
374
  "rollup.config.js",
199
375
  "tsconfig.json",
200
376
  "review/*",
201
- "CHANGELOG.md"
377
+ "CHANGELOG.md",
378
+ "types/*"
202
379
  ],
203
380
  scripts: {
204
381
  build:
205
- "tsc && rollup -c rollup.config.js && npm run minify && mkdirp ./review && npm run extract-api",
382
+ "npm run clean && tsc && rollup -c 2>&1 && npm run minify && mkdirp ./review && npm run extract-api",
206
383
  minify: `uglifyjs -c -m --comments --source-map "content='./dist/index.js.map'" -o ./dist/index.min.js ./dist/index.js`,
207
- prepack: "npm install && npm run build",
384
+ prepack: "npm run build",
208
385
  pack: "npm pack 2>&1",
209
- "extract-api": "mkdirp ./review && api-extractor run --local",
386
+ "extract-api": "api-extractor run --local",
210
387
  lint: "echo skipped",
211
388
  audit: "echo skipped",
212
- clean: "echo skipped",
389
+ clean:
390
+ "rimraf dist dist-browser dist-esm test-dist temp types *.tgz *.log",
213
391
  "build:node": "echo skipped",
214
392
  "build:browser": "echo skipped",
215
393
  "build:test": "echo skipped",
@@ -218,18 +396,63 @@ function regularAutorestPackage(
218
396
  "execute:samples": "echo skipped",
219
397
  format: "echo skipped",
220
398
  test: "echo skipped",
221
- prebuild: "echo skipped",
222
399
  "test:node": "echo skipped",
223
400
  "test:browser": "echo skipped",
224
401
  "unit-test": "echo skipped",
225
402
  "unit-test:node": "echo skipped",
226
403
  "unit-test:browser": "echo skipped",
227
- "integration-test:browser": "echo skipped",
228
- "integration-test:node": "echo skipped",
229
404
  "integration-test": "echo skipped",
230
- docs: "echo skipped"
405
+ "integration-test:node": "echo skipped",
406
+ "integration-test:browser": "echo skipped"
231
407
  },
232
408
  sideEffects: false,
409
+ "//metadata": {
410
+ constantPaths: [
411
+ {
412
+ path: `src/${normalizeName(clientDetails.name, NameType.File)}.ts`,
413
+ prefix: "packageDetails"
414
+ }
415
+ ]
416
+ },
233
417
  autoPublish: true
234
418
  };
419
+ if (generateTest) {
420
+ packageInfo.module = `./dist-esm/src/index.js`;
421
+ packageInfo.devDependencies["@azure/identity"] = "^2.0.1";
422
+ packageInfo.devDependencies["@azure-tools/test-recorder"] = "^2.0.0";
423
+ packageInfo.devDependencies["@azure-tools/test-credential"] = "^1.0.0";
424
+ packageInfo.devDependencies["mocha"] = "^7.1.1";
425
+ packageInfo.devDependencies["@types/chai"] = "^4.2.8";
426
+ packageInfo.devDependencies["chai"] = "^4.2.0";
427
+ packageInfo.devDependencies["cross-env"] = "^7.0.2";
428
+ packageInfo.scripts["test"] = "npm run integration-test";
429
+ packageInfo.scripts["unit-test"] =
430
+ "npm run unit-test:node && npm run unit-test:browser";
431
+ packageInfo.scripts["unit-test:node"] =
432
+ "cross-env TEST_MODE=playback npm run integration-test:node";
433
+ packageInfo.scripts["integration-test"] =
434
+ "npm run integration-test:node && npm run integration-test:browser";
435
+
436
+ if (azureSdkForJs) {
437
+ packageInfo.devDependencies["@azure/dev-tool"] = "^1.0.0";
438
+ packageInfo.scripts["integration-test:node"] =
439
+ "dev-tool run test:node-ts-input -- --timeout 1200000 'test/*.ts'";
440
+ } else {
441
+ packageInfo.scripts["integration-test:node"] =
442
+ "mocha -r esm --require ts-node/register --timeout 1200000 --full-trace test/*.ts --reporter ../../../common/tools/mocha-multi-reporter.js";
443
+ }
444
+ }
445
+ if (
446
+ generateSample &&
447
+ clientDetails.samples &&
448
+ clientDetails.samples.length > 0
449
+ ) {
450
+ packageInfo["//sampleConfiguration"] = {
451
+ productName: description,
452
+ productSlugs: ["azure"],
453
+ disableDocsMs: true,
454
+ apiRefLink: `https://docs.microsoft.com/javascript/api/${clientPackageName}${apiRefUrlQueryParameter}`
455
+ };
456
+ }
457
+ return packageInfo;
235
458
  }