@autorest/typescript 6.0.0-beta.15 → 6.0.0-beta.18

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 (245) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/README.md +37 -3
  3. package/dist/src/autorestSession.d.ts +12 -4
  4. package/dist/src/autorestSession.d.ts.map +1 -1
  5. package/dist/src/autorestSession.js +3 -9
  6. package/dist/src/autorestSession.js.map +1 -1
  7. package/dist/src/conflictResolver.d.ts.map +1 -1
  8. package/dist/src/conflictResolver.js.map +1 -1
  9. package/dist/src/generators/clientFileGenerator.d.ts.map +1 -1
  10. package/dist/src/generators/clientFileGenerator.js +181 -31
  11. package/dist/src/generators/clientFileGenerator.js.map +1 -1
  12. package/dist/src/generators/indexGenerator.d.ts.map +1 -1
  13. package/dist/src/generators/indexGenerator.js +70 -9
  14. package/dist/src/generators/indexGenerator.js.map +1 -1
  15. package/dist/src/generators/modelsGenerator.d.ts.map +1 -1
  16. package/dist/src/generators/modelsGenerator.js +21 -3
  17. package/dist/src/generators/modelsGenerator.js.map +1 -1
  18. package/dist/src/generators/operationGenerator.d.ts.map +1 -1
  19. package/dist/src/generators/operationGenerator.js +10 -8
  20. package/dist/src/generators/operationGenerator.js.map +1 -1
  21. package/dist/src/generators/samples/sampleEnv.hbs +4 -0
  22. package/dist/src/generators/samples/sampleEnvGenerator.d.ts +3 -0
  23. package/dist/src/generators/samples/sampleEnvGenerator.d.ts.map +1 -0
  24. package/dist/src/generators/samples/sampleEnvGenerator.js +17 -0
  25. package/dist/src/generators/samples/sampleEnvGenerator.js.map +1 -0
  26. package/dist/src/generators/samples/sampleGenerator.d.ts +13 -0
  27. package/dist/src/generators/samples/sampleGenerator.d.ts.map +1 -0
  28. package/dist/src/generators/samples/sampleGenerator.js +43 -0
  29. package/dist/src/generators/samples/sampleGenerator.js.map +1 -0
  30. package/dist/src/generators/static/apiExtractorConfig.js +2 -2
  31. package/dist/src/generators/static/apiExtractorConfig.js.map +1 -1
  32. package/dist/src/generators/static/esLintConfigGenerator.d.ts +3 -0
  33. package/dist/src/generators/static/esLintConfigGenerator.d.ts.map +1 -0
  34. package/dist/src/generators/static/esLintConfigGenerator.js +26 -0
  35. package/dist/src/generators/static/esLintConfigGenerator.js.map +1 -0
  36. package/dist/src/generators/static/{README.md.hbs → hlcREADME.md.hbs} +19 -0
  37. package/dist/src/generators/static/karma.conf.js.hbs +141 -0
  38. package/dist/src/generators/static/karmaConfigFileGenerator.d.ts +3 -0
  39. package/dist/src/generators/static/karmaConfigFileGenerator.d.ts.map +1 -0
  40. package/dist/src/generators/static/karmaConfigFileGenerator.js +23 -0
  41. package/dist/src/generators/static/karmaConfigFileGenerator.js.map +1 -0
  42. package/dist/src/generators/static/packageFileGenerator.d.ts.map +1 -1
  43. package/dist/src/generators/static/packageFileGenerator.js +171 -46
  44. package/dist/src/generators/static/packageFileGenerator.js.map +1 -1
  45. package/dist/src/generators/static/readmeFileGenerator.d.ts +2 -2
  46. package/dist/src/generators/static/readmeFileGenerator.d.ts.map +1 -1
  47. package/dist/src/generators/static/readmeFileGenerator.js +31 -17
  48. package/dist/src/generators/static/readmeFileGenerator.js.map +1 -1
  49. package/dist/src/generators/static/rlcREADME.md.hbs +71 -0
  50. package/dist/src/generators/static/rollupConfigFileGenerator.d.ts.map +1 -1
  51. package/dist/src/generators/static/rollupConfigFileGenerator.js +12 -71
  52. package/dist/src/generators/static/rollupConfigFileGenerator.js.map +1 -1
  53. package/dist/src/generators/static/samples.ts.hbs +49 -0
  54. package/dist/src/generators/static/tsConfigFileGenerator.d.ts.map +1 -1
  55. package/dist/src/generators/static/tsConfigFileGenerator.js +40 -18
  56. package/dist/src/generators/static/tsConfigFileGenerator.js.map +1 -1
  57. package/dist/src/generators/test/envBrowserFileGenerator.d.ts +3 -0
  58. package/dist/src/generators/test/envBrowserFileGenerator.d.ts.map +1 -0
  59. package/dist/src/generators/test/envBrowserFileGenerator.js +15 -0
  60. package/dist/src/generators/test/envBrowserFileGenerator.js.map +1 -0
  61. package/dist/src/generators/test/envFileGenerator.d.ts +3 -0
  62. package/dist/src/generators/test/envFileGenerator.d.ts.map +1 -0
  63. package/dist/src/generators/test/envFileGenerator.js +23 -0
  64. package/dist/src/generators/test/envFileGenerator.js.map +1 -0
  65. package/dist/src/generators/test/recordedClientFileGenerator.d.ts +3 -0
  66. package/dist/src/generators/test/recordedClientFileGenerator.d.ts.map +1 -0
  67. package/dist/src/generators/test/recordedClientFileGenerator.js +23 -0
  68. package/dist/src/generators/test/recordedClientFileGenerator.js.map +1 -0
  69. package/dist/src/generators/test/rlcEnv.ts.hbs +3 -0
  70. package/dist/src/generators/test/rlcRecordedClient.ts.hbs +35 -0
  71. package/dist/src/generators/test/rlcSampleTest.spec.ts.hbs +19 -0
  72. package/dist/src/generators/{static → test}/sampleTest.ts.hbs +0 -0
  73. package/dist/src/generators/test/sampleTestGenerator.d.ts.map +1 -1
  74. package/dist/src/generators/test/sampleTestGenerator.js +23 -7
  75. package/dist/src/generators/test/sampleTestGenerator.js.map +1 -1
  76. package/dist/src/generators/utils/pagingOperations.d.ts +5 -0
  77. package/dist/src/generators/utils/pagingOperations.d.ts.map +1 -1
  78. package/dist/src/generators/utils/pagingOperations.js +2 -1
  79. package/dist/src/generators/utils/pagingOperations.js.map +1 -1
  80. package/dist/src/main.d.ts +2 -2
  81. package/dist/src/main.d.ts.map +1 -1
  82. package/dist/src/main.js +3 -3
  83. package/dist/src/main.js.map +1 -1
  84. package/dist/src/models/clientDetails.d.ts +7 -0
  85. package/dist/src/models/clientDetails.d.ts.map +1 -1
  86. package/dist/src/models/modelDetails.d.ts +2 -2
  87. package/dist/src/models/modelDetails.d.ts.map +1 -1
  88. package/dist/src/models/operationDetails.d.ts +1 -0
  89. package/dist/src/models/operationDetails.d.ts.map +1 -1
  90. package/dist/src/models/sampleDetails.d.ts +22 -0
  91. package/dist/src/models/sampleDetails.d.ts.map +1 -0
  92. package/dist/src/models/sampleDetails.js +3 -0
  93. package/dist/src/models/sampleDetails.js.map +1 -0
  94. package/dist/src/restLevelClient/generateClient.d.ts +1 -1
  95. package/dist/src/restLevelClient/generateClient.d.ts.map +1 -1
  96. package/dist/src/restLevelClient/generateClient.js +81 -168
  97. package/dist/src/restLevelClient/generateClient.js.map +1 -1
  98. package/dist/src/restLevelClient/generateClientDefinition.d.ts +6 -0
  99. package/dist/src/restLevelClient/generateClientDefinition.d.ts.map +1 -0
  100. package/dist/src/restLevelClient/generateClientDefinition.js +231 -0
  101. package/dist/src/restLevelClient/generateClientDefinition.js.map +1 -0
  102. package/dist/src/restLevelClient/generateMethodShortcuts.d.ts +8 -0
  103. package/dist/src/restLevelClient/generateMethodShortcuts.d.ts.map +1 -0
  104. package/dist/src/restLevelClient/generateMethodShortcuts.js +70 -0
  105. package/dist/src/restLevelClient/generateMethodShortcuts.js.map +1 -0
  106. package/dist/src/restLevelClient/generateObjectTypes.d.ts.map +1 -1
  107. package/dist/src/restLevelClient/generateObjectTypes.js.map +1 -1
  108. package/dist/src/restLevelClient/generatePagingHelper.d.ts.map +1 -1
  109. package/dist/src/restLevelClient/generatePagingHelper.js +2 -1
  110. package/dist/src/restLevelClient/generatePagingHelper.js.map +1 -1
  111. package/dist/src/restLevelClient/generateParameterTypes.d.ts.map +1 -1
  112. package/dist/src/restLevelClient/generateParameterTypes.js +104 -18
  113. package/dist/src/restLevelClient/generateParameterTypes.js.map +1 -1
  114. package/dist/src/restLevelClient/generatePollingHelper.d.ts.map +1 -1
  115. package/dist/src/restLevelClient/generatePollingHelper.js +3 -1
  116. package/dist/src/restLevelClient/generatePollingHelper.js.map +1 -1
  117. package/dist/src/restLevelClient/generateResponseTypes.d.ts.map +1 -1
  118. package/dist/src/restLevelClient/generateResponseTypes.js +4 -1
  119. package/dist/src/restLevelClient/generateResponseTypes.js.map +1 -1
  120. package/dist/src/restLevelClient/generateRestLevel.d.ts.map +1 -1
  121. package/dist/src/restLevelClient/generateRestLevel.js +31 -4
  122. package/dist/src/restLevelClient/generateRestLevel.js.map +1 -1
  123. package/dist/src/restLevelClient/generateSchemaTypes.d.ts.map +1 -1
  124. package/dist/src/restLevelClient/generateSchemaTypes.js +5 -2
  125. package/dist/src/restLevelClient/generateSchemaTypes.js.map +1 -1
  126. package/dist/src/restLevelClient/generateTopLevelIndexFile.d.ts +4 -0
  127. package/dist/src/restLevelClient/generateTopLevelIndexFile.d.ts.map +1 -0
  128. package/dist/src/restLevelClient/generateTopLevelIndexFile.js +37 -0
  129. package/dist/src/restLevelClient/generateTopLevelIndexFile.js.map +1 -0
  130. package/dist/src/restLevelClient/helpers/operationHelpers.d.ts +10 -0
  131. package/dist/src/restLevelClient/helpers/operationHelpers.d.ts.map +1 -0
  132. package/dist/src/restLevelClient/helpers/operationHelpers.js +64 -0
  133. package/dist/src/restLevelClient/helpers/operationHelpers.js.map +1 -0
  134. package/dist/src/restLevelClient/interfaces.d.ts +24 -0
  135. package/dist/src/restLevelClient/interfaces.d.ts.map +1 -0
  136. package/dist/src/restLevelClient/interfaces.js +3 -0
  137. package/dist/src/restLevelClient/interfaces.js.map +1 -0
  138. package/dist/src/restLevelClient/operationHelpers.d.ts.map +1 -1
  139. package/dist/src/restLevelClient/operationHelpers.js +4 -1
  140. package/dist/src/restLevelClient/operationHelpers.js.map +1 -1
  141. package/dist/src/restLevelClient/schemaHelpers.d.ts.map +1 -1
  142. package/dist/src/restLevelClient/schemaHelpers.js +10 -2
  143. package/dist/src/restLevelClient/schemaHelpers.js.map +1 -1
  144. package/dist/src/transforms/mapperTransforms.js +1 -1
  145. package/dist/src/transforms/mapperTransforms.js.map +1 -1
  146. package/dist/src/transforms/objectTransforms.js +1 -1
  147. package/dist/src/transforms/objectTransforms.js.map +1 -1
  148. package/dist/src/transforms/operationTransforms.d.ts.map +1 -1
  149. package/dist/src/transforms/operationTransforms.js +1 -0
  150. package/dist/src/transforms/operationTransforms.js.map +1 -1
  151. package/dist/src/transforms/parameterTransforms.d.ts.map +1 -1
  152. package/dist/src/transforms/parameterTransforms.js +20 -4
  153. package/dist/src/transforms/parameterTransforms.js.map +1 -1
  154. package/dist/src/transforms/samplesTransforms.d.ts +7 -0
  155. package/dist/src/transforms/samplesTransforms.d.ts.map +1 -0
  156. package/dist/src/transforms/samplesTransforms.js +283 -0
  157. package/dist/src/transforms/samplesTransforms.js.map +1 -0
  158. package/dist/src/transforms/transforms.d.ts +1 -2
  159. package/dist/src/transforms/transforms.d.ts.map +1 -1
  160. package/dist/src/transforms/transforms.js +5 -4
  161. package/dist/src/transforms/transforms.js.map +1 -1
  162. package/dist/src/typescriptGenerator.d.ts +2 -2
  163. package/dist/src/typescriptGenerator.d.ts.map +1 -1
  164. package/dist/src/typescriptGenerator.js +19 -8
  165. package/dist/src/typescriptGenerator.js.map +1 -1
  166. package/dist/src/utils/autorestOptions.d.ts +2 -2
  167. package/dist/src/utils/autorestOptions.d.ts.map +1 -1
  168. package/dist/src/utils/autorestOptions.js +107 -30
  169. package/dist/src/utils/autorestOptions.js.map +1 -1
  170. package/dist/src/utils/nameUtils.d.ts +6 -2
  171. package/dist/src/utils/nameUtils.d.ts.map +1 -1
  172. package/dist/src/utils/nameUtils.js +9 -5
  173. package/dist/src/utils/nameUtils.js.map +1 -1
  174. package/dist/src/utils/schemaHelpers.js +8 -3
  175. package/dist/src/utils/schemaHelpers.js.map +1 -1
  176. package/package.json +26 -10
  177. package/src/autorestSession.ts +20 -16
  178. package/src/conflictResolver.ts +0 -1
  179. package/src/generators/clientFileGenerator.ts +264 -33
  180. package/src/generators/indexGenerator.ts +78 -9
  181. package/src/generators/modelsGenerator.ts +22 -2
  182. package/src/generators/operationGenerator.ts +11 -9
  183. package/src/generators/samples/sampleEnv.hbs +4 -0
  184. package/src/generators/samples/sampleEnvGenerator.ts +14 -0
  185. package/src/generators/samples/sampleGenerator.ts +50 -0
  186. package/src/generators/static/apiExtractorConfig.ts +2 -2
  187. package/src/generators/static/esLintConfigGenerator.ts +24 -0
  188. package/src/generators/static/{README.md.hbs → hlcREADME.md.hbs} +19 -0
  189. package/src/generators/static/karma.conf.js.hbs +141 -0
  190. package/src/generators/static/karmaConfigFileGenerator.ts +20 -0
  191. package/src/generators/static/packageFileGenerator.ts +183 -46
  192. package/src/generators/static/readmeFileGenerator.ts +57 -34
  193. package/src/generators/static/rlcREADME.md.hbs +71 -0
  194. package/src/generators/static/rollupConfigFileGenerator.ts +13 -71
  195. package/src/generators/static/samples.ts.hbs +49 -0
  196. package/src/generators/static/tsConfigFileGenerator.ts +47 -20
  197. package/src/generators/test/envBrowserFileGenerator.ts +14 -0
  198. package/src/generators/test/envFileGenerator.ts +22 -0
  199. package/src/generators/test/recordedClientFileGenerator.ts +22 -0
  200. package/src/generators/test/rlcEnv.ts.hbs +3 -0
  201. package/src/generators/test/rlcRecordedClient.ts.hbs +35 -0
  202. package/src/generators/test/rlcSampleTest.spec.ts.hbs +19 -0
  203. package/src/generators/{static → test}/sampleTest.ts.hbs +0 -0
  204. package/src/generators/test/sampleTestGenerator.ts +23 -8
  205. package/src/generators/utils/pagingOperations.ts +1 -1
  206. package/src/main.ts +8 -5
  207. package/src/models/clientDetails.ts +8 -0
  208. package/src/models/modelDetails.ts +2 -2
  209. package/src/models/operationDetails.ts +1 -0
  210. package/src/models/sampleDetails.ts +22 -0
  211. package/src/restLevelClient/generateClient.ts +101 -260
  212. package/src/restLevelClient/generateClientDefinition.ts +343 -0
  213. package/src/restLevelClient/generateMethodShortcuts.ts +121 -0
  214. package/src/restLevelClient/generateObjectTypes.ts +1 -3
  215. package/src/restLevelClient/generatePagingHelper.ts +3 -2
  216. package/src/restLevelClient/generateParameterTypes.ts +155 -25
  217. package/src/restLevelClient/generatePollingHelper.ts +3 -3
  218. package/src/restLevelClient/generateResponseTypes.ts +4 -1
  219. package/src/restLevelClient/generateRestLevel.ts +36 -8
  220. package/src/restLevelClient/generateSchemaTypes.ts +5 -3
  221. package/src/restLevelClient/generateTopLevelIndexFile.ts +37 -0
  222. package/src/restLevelClient/helpers/operationHelpers.ts +93 -0
  223. package/src/restLevelClient/interfaces.ts +26 -0
  224. package/src/restLevelClient/operationHelpers.ts +8 -2
  225. package/src/restLevelClient/schemaHelpers.ts +10 -3
  226. package/src/transforms/mapperTransforms.ts +1 -1
  227. package/src/transforms/objectTransforms.ts +1 -1
  228. package/src/transforms/operationTransforms.ts +1 -0
  229. package/src/transforms/parameterTransforms.ts +20 -4
  230. package/src/transforms/samplesTransforms.ts +300 -0
  231. package/src/transforms/transforms.ts +6 -6
  232. package/src/typescriptGenerator.ts +20 -11
  233. package/src/utils/autorestOptions.ts +170 -59
  234. package/src/utils/nameUtils.ts +16 -8
  235. package/src/utils/schemaHelpers.ts +2 -2
  236. package/dist/src/generators/clientContextFileGenerator.d.ts +0 -5
  237. package/dist/src/generators/clientContextFileGenerator.d.ts.map +0 -1
  238. package/dist/src/generators/clientContextFileGenerator.js +0 -263
  239. package/dist/src/generators/clientContextFileGenerator.js.map +0 -1
  240. package/dist/src/restLevelClient/helpers/getOperationParameters.d.ts +0 -6
  241. package/dist/src/restLevelClient/helpers/getOperationParameters.d.ts.map +0 -1
  242. package/dist/src/restLevelClient/helpers/getOperationParameters.js +0 -29
  243. package/dist/src/restLevelClient/helpers/getOperationParameters.js.map +0 -1
  244. package/src/generators/clientContextFileGenerator.ts +0 -405
  245. package/src/restLevelClient/helpers/getOperationParameters.ts +0 -37
@@ -7,15 +7,17 @@ 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");
10
12
  /**
11
13
  * Returns meta data information about the service, the package, and the client.
12
- * @param clientDetails - the client details
13
- * @param packageDetails - the package details
14
+ * @param codeModel - include the client details
14
15
  * @returns inferred metadata about the service, the package, and the client
15
16
  */
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";
17
+ function createMetadata(codeModelLanguage, codeModelInfo) {
18
+ var _a, _b, _c, _d, _e, _f, _g, _h;
19
+ const { packageDetails, azureOutputDirectory, addCredentials, azureArm, isTestPackage, productDocLink, dependencyInfo, multiClient, batch } = autorestSession_1.getAutorestOptions();
20
+ const azureHuh = (packageDetails === null || packageDetails === void 0 ? void 0 : packageDetails.scopeName) === "azure" || (packageDetails === null || packageDetails === void 0 ? void 0 : packageDetails.scopeName) === "azure-rest";
19
21
  const repoURL = azureHuh
20
22
  ? "https://github.com/Azure/azure-sdk-for-js"
21
23
  : undefined;
@@ -26,17 +28,16 @@ function createMetadata(packageDetails, clientDetails, azureOutputDirectory, add
26
28
  const names = relativePackageSourcePath === null || relativePackageSourcePath === void 0 ? void 0 : relativePackageSourcePath.split("/").slice(1);
27
29
  const packageParentDirectoryName = names === null || names === void 0 ? void 0 : names[0];
28
30
  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;
31
+ const clientPackageName = packageDetails === null || packageDetails === void 0 ? void 0 : packageDetails.name;
32
+ const { clientClassName, serviceTitle } = getClientAndServiceName(codeModelLanguage, codeModelInfo);
32
33
  const simpleServiceName =
33
34
  /**
34
35
  * It is a required convention in Azure swaggers for their titles to end with
35
36
  * "Client".
36
37
  */
37
- (_k = (_h = (_f = (_d = (_c = serviceTitle.match(/(.*) Client/)) === null || _c === void 0 ? void 0 : _c[1]) !== null && _d !== void 0 ? _d :
38
+ (_h = (_f = (_d = (_b = (_a = serviceTitle.match(/(.*) Client/)) === null || _a === void 0 ? void 0 : _a[1]) !== null && _b !== void 0 ? _b :
38
39
  /** 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";
40
+ (_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 : "Service";
40
41
  const serviceName = azureHuh
41
42
  ? simpleServiceName.startsWith("Azure")
42
43
  ? simpleServiceName
@@ -44,7 +45,7 @@ function createMetadata(packageDetails, clientDetails, azureOutputDirectory, add
44
45
  : simpleServiceName;
45
46
  const identityPackageURL = repoURL && `${repoURL}/tree/main/sdk/identity/identity`;
46
47
  var apiRefUrlQueryParameter = "";
47
- if (packageDetails.version.includes("beta")) {
48
+ if (packageDetails === null || packageDetails === void 0 ? void 0 : packageDetails.version.includes("beta")) {
48
49
  apiRefUrlQueryParameter = "?view=azure-node-preview";
49
50
  }
50
51
  return {
@@ -64,7 +65,7 @@ function createMetadata(packageDetails, clientDetails, azureOutputDirectory, add
64
65
  `https://azure-sdk-impressions.azurewebsites.net/api/impressions/azure-sdk-for-js%2Fsdk%2F${packageParentDirectoryName}%2F${packageDirectoryName}%2FREADME.png`
65
66
  : undefined,
66
67
  clientDescriptiveName: `${serviceName} client`,
67
- description: (_l = clientDetails.info) === null || _l === void 0 ? void 0 : _l.description,
68
+ description: codeModelInfo === null || codeModelInfo === void 0 ? void 0 : codeModelInfo.description,
68
69
  apiRefURL: azureHuh
69
70
  ? `https://docs.microsoft.com/javascript/api/${clientPackageName}${apiRefUrlQueryParameter}`
70
71
  : undefined,
@@ -74,16 +75,21 @@ function createMetadata(packageDetails, clientDetails, azureOutputDirectory, add
74
75
  addCredentials,
75
76
  identityPackageURL,
76
77
  isReleasablePackage: !isTestPackage,
77
- azureArm: azureArm
78
+ azureArm: azureArm,
79
+ serviceDocURL: productDocLink,
80
+ dependencyDescription: dependencyInfo === null || dependencyInfo === void 0 ? void 0 : dependencyInfo.description,
81
+ dependencyLink: dependencyInfo === null || dependencyInfo === void 0 ? void 0 : dependencyInfo.link,
82
+ hasMultiClients: multiClient && batch && batch.length > 1
78
83
  };
79
84
  }
80
- function generateReadmeFile(clientDetails, project) {
81
- const { packageDetails, azureOutputDirectory, generateMetadata, addCredentials, azureArm, isTestPackage } = autorestSession_1.getAutorestOptions();
85
+ function generateReadmeFile(codeModelLanguage, codeModelInfo, project) {
86
+ const { generateMetadata, restLevelClient, } = autorestSession_1.getAutorestOptions();
82
87
  if (!generateMetadata) {
83
88
  return;
84
89
  }
85
- const metadata = createMetadata(packageDetails, clientDetails, azureOutputDirectory, addCredentials, azureArm, isTestPackage);
86
- const file = fs.readFileSync(path.join(__dirname, "README.md.hbs"), {
90
+ const metadata = createMetadata(codeModelLanguage, codeModelInfo);
91
+ const templateFile = !restLevelClient ? "hlcREADME.md.hbs" : "rlcREADME.md.hbs";
92
+ const file = fs.readFileSync(path.join(__dirname, templateFile), {
87
93
  encoding: "utf-8"
88
94
  });
89
95
  const readmeFileContents = hbs.compile(file, { noEscape: true });
@@ -92,4 +98,12 @@ function generateReadmeFile(clientDetails, project) {
92
98
  });
93
99
  }
94
100
  exports.generateReadmeFile = generateReadmeFile;
101
+ function getClientAndServiceName(codeModelLanguage, codeModelInfo) {
102
+ var _a;
103
+ const { name: clientName } = languageHelpers_1.getLanguageMetadata(codeModelLanguage);
104
+ const className = nameUtils_1.normalizeName(clientName, nameUtils_1.NameType.Class, true /** shouldGuard */);
105
+ const clientClassName = className;
106
+ const serviceTitle = (_a = codeModelInfo === null || codeModelInfo === void 0 ? void 0 : codeModelInfo.title) !== null && _a !== void 0 ? _a : clientClassName;
107
+ return { clientClassName, serviceTitle };
108
+ }
95
109
  //# 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://docs.microsoft.com/en-us/azure/cognitive-services/authentication?tabs=powershell#authenticate-with-an-authentication-token){{#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://docs.microsoft.com/en-us/azure/cognitive-services/authentication?tabs=powershell#authenticate-with-an-authentication-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 } = 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,oCAAkB,EAAE,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"}
@@ -0,0 +1,49 @@
1
+
2
+ // Copyright (c) Microsoft Corporation.
3
+ // Licensed under the MIT License.
4
+ import {
5
+ {{#if importedTypes.length }}
6
+ {{#each importedTypes}}
7
+ {{this}},
8
+ {{/each}}
9
+ {{/if}}
10
+ {{clientClassName}},
11
+ } from "{{clientPackageName}}";
12
+ import { DefaultAzureCredential } from "@azure/identity";
13
+
14
+ {{#each samples}}
15
+ /**
16
+ * This sample demonstrates how to {{this.operationDescription}}
17
+ *
18
+ * @summary {{this.operationDescription}}
19
+ * x-ms-original-file: {{this.originalFileLocation}}
20
+ */
21
+ async function {{this.sampleFunctionName}}() {
22
+ {{#each this.clientParamAssignments}}
23
+ {{this}}
24
+ {{/each}}
25
+ {{#each this.methodParamAssignments}}
26
+ {{this}}
27
+ {{/each}}
28
+ const credential = new DefaultAzureCredential();
29
+ const client = new {{this.clientClassName}}({{this.clientParameterNames}});
30
+ {{#if this.isPaging}}
31
+ const resArray = new Array();
32
+ for await (let item of client{{#unless this.isTopLevel}}.{{this.operationGroupName}}{{/unless}}.{{this.operationName}}({{this.methodParameterNames}})){
33
+ resArray.push(item);
34
+ }
35
+ console.log(resArray);
36
+ {{else}}
37
+ const result = await client
38
+ {{#unless this.isTopLevel}}
39
+ .{{this.operationGroupName}}
40
+ {{/unless}}
41
+ .{{this.operationName}}({{this.methodParameterNames}});
42
+ console.log(result);
43
+
44
+ {{/if}}
45
+ }
46
+
47
+ {{this.sampleFunctionName}}().catch(console.error);
48
+
49
+ {{/each}}
@@ -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;AA4CnC,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,QAkBhD"}
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,QA6BhD"}
@@ -23,32 +23,54 @@ 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",
31
+ },
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"
34
56
  },
35
- exclude: [
36
- "node_modules",
37
- "types",
38
- "temp",
39
- "browser",
40
- "dist",
41
- "dist-esm",
42
- "./samples/**/*.ts"
43
- ]
57
+ "include": ["./src/**/*.ts"]
44
58
  };
45
59
  function generateTsConfig(project) {
46
- const { generateMetadata, restLevelClient, generateTest } = autorestSession_1.getAutorestOptions();
60
+ const { generateMetadata, restLevelClient, generateTest, packageDetails, generateSample, azureSdkForJs } = autorestSession_1.getAutorestOptions();
47
61
  if (!generateMetadata) {
48
62
  return;
49
63
  }
64
+ const clientPackageName = packageDetails.name;
65
+ const restLevelTsConfig = azureSdkForJs ? restLevelTsConfigInAzureSdkForJs : restLevelTsConfigNotInAzureSdkForJs;
50
66
  if (generateTest) {
51
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"];
52
74
  }
53
75
  const tsConfigContents = restLevelClient
54
76
  ? restLevelTsConfig
@@ -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;AAGF,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,YAAY,EAAE,GAAG,oCAAkB,EAAE,CAAC;IAEjF,IAAI,CAAC,gBAAgB,EAAE;QACrB,OAAO;KACR;IAED,IAAI,YAAY,EAAE;QAChB,iBAAiB,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;KAClD;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;AAlBD,4CAkBC"}
1
+ {"version":3,"file":"tsConfigFileGenerator.js","sourceRoot":"","sources":["../../../../src/generators/static/tsConfigFileGenerator.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;AAGlC,2DAA2D;AAE3D,MAAM,iBAAiB,GAAyB;IAC9C,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;AAGF,MAAM,gCAAgC,GAAG;IACvC,SAAS,EAAE,2BAA2B;IACtC,iBAAiB,EAAE;QACjB,QAAQ,EAAE,YAAY;QACtB,gBAAgB,EAAE,SAAS;KAC5B;IACD,SAAS,EAAE,CAAC,aAAa,CAAC;CAC3B,CAAC;AAEF,MAAM,mCAAmC,GAAE;IACzC,iBAAiB,EAAE;QACjB,QAAQ,EAAE,QAAQ;QAClB,QAAQ,EAAE,KAAK;QACf,KAAK,EAAE,EAAE;QACT,aAAa,EAAE,IAAI;QACnB,gBAAgB,EAAE,IAAI;QACtB,eAAe,EAAE,IAAI;QACrB,WAAW,EAAE,IAAI;QACjB,eAAe,EAAE,IAAI;QACrB,QAAQ,EAAE,IAAI;QACd,cAAc,EAAE,IAAI;QACpB,gBAAgB,EAAE,IAAI;QACtB,oBAAoB,EAAE,IAAI;QAC1B,mBAAmB,EAAE,IAAI;QACzB,4BAA4B,EAAE,IAAI;QAClC,kCAAkC,EAAE,IAAI;QACxC,kBAAkB,EAAE,MAAM;QAC1B,8BAA8B,EAAE,IAAI;QACpC,iBAAiB,EAAE,IAAI;QACvB,QAAQ,EAAE,YAAY;QACtB,gBAAgB,EAAE,SAAS;KAC5B;IACD,SAAS,EAAE,CAAC,eAAe,CAAC;CAC7B,CAAA;AAGD,SAAgB,gBAAgB,CAAC,OAAgB;IAC/C,MAAM,EAAE,gBAAgB,EAAE,eAAe,EAAE,YAAY,EAAE,cAAc,EAAE,cAAc,EAAE,aAAa,EAAE,GAAG,oCAAkB,EAAE,CAAC;IAEhI,IAAI,CAAC,gBAAgB,EAAE;QACrB,OAAO;KACR;IAED,MAAM,iBAAiB,GAAG,cAAc,CAAC,IAAI,CAAC;IAE9C,MAAM,iBAAiB,GAAG,aAAa,CAAA,CAAC,CAAC,gCAAgC,CAAC,CAAC,CAAC,mCAAmC,CAAC;IAEhH,IAAI,YAAY,EAAE;QAChB,iBAAiB,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACjD,iBAAiB,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;KAClD;IAED,IAAI,cAAc,EAAE;QAClB,iBAAiB,CAAC,OAAO,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QACtD,iBAAiB,CAAC,eAAe,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;QAChD,iBAAiB,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,iBAAiB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;KACjF;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;AA7BD,4CA6BC"}
@@ -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 } = 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,oCAAkB,EAAE,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 } = 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,oCAAkB,EAAE,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 } = 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,oCAAkB,EAAE,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,35 @@
1
+ import { Context } from "mocha";
2
+ import { record, RecorderEnvironmentSetup, Recorder } from "@azure-tools/test-recorder";
3
+ import "./env";
4
+
5
+ const recorderEnvSetup: RecorderEnvironmentSetup = {
6
+ replaceableVariables: {
7
+ ENDPOINT: "https://endpoint",
8
+ AZURE_CLIENT_ID: "azure_client_id",
9
+ AZURE_CLIENT_SECRET: "azure_client_secret",
10
+ AZURE_TENANT_ID: "88888888-8888-8888-8888-888888888888",
11
+ SUBSCRIPTION_ID: "azure_subscription_id"
12
+ },
13
+ customizationsOnRecordings: [
14
+ (recording: any): any =>
15
+ recording.replace(/"access_token":"[^"]*"/g, `"access_token":"access_token"`),
16
+ // If we put ENDPOINT in replaceableVariables above, it will not capture
17
+ // the endpoint string used with nock, which will be expanded to
18
+ // https://<endpoint>:443/ and therefore will not match, so we have to do
19
+ // this instead.
20
+ (recording: string): string => {
21
+ const replaced = recording.replace("endpoint:443", "endpoint");
22
+ return replaced;
23
+ },
24
+ ],
25
+ queryParametersToSkip: []
26
+ };
27
+
28
+ /**
29
+ * creates the recorder and reads the environment variables from the `.env` file.
30
+ * Should be called first in the test suite to make sure environment variables are
31
+ * read before they are being used.
32
+ */
33
+ export function createRecorder(context: Context): Recorder {
34
+ return record(context, recorderEnvSetup);
35
+ }