@autorest/typescript 6.0.0-beta.9 → 6.0.0-rc.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +42 -5
- package/dist/{src/generators/static/README.md.hbs → hlcREADME.md.hbs} +35 -3
- package/dist/hlcSamples.ts.hbs +49 -0
- package/dist/karma.conf.js.hbs +126 -0
- package/dist/paginateHelper.ts.hbs +208 -0
- package/dist/pollingHelper.ts.hbs +72 -0
- package/dist/rlcEnv.ts.hbs +3 -0
- package/dist/rlcREADME.md.hbs +71 -0
- package/dist/rlcRecordedClient.ts.hbs +26 -0
- package/dist/rlcSampleTest.spec.ts.hbs +20 -0
- package/dist/rlcSamples.ts.hbs +28 -0
- package/dist/sampleEnv.hbs +4 -0
- package/dist/sampleTest.ts.hbs +32 -0
- package/dist/samples.ts.hbs +0 -0
- package/dist/src/autorestSession.d.ts +17 -6
- package/dist/src/autorestSession.d.ts.map +1 -1
- package/dist/src/autorestSession.js +3 -9
- package/dist/src/autorestSession.js.map +1 -1
- package/dist/src/conflictResolver.d.ts +3 -0
- package/dist/src/conflictResolver.d.ts.map +1 -0
- package/dist/src/conflictResolver.js +43 -0
- package/dist/src/conflictResolver.js.map +1 -0
- package/dist/src/generators/LROGenerator.js +4 -4
- package/dist/src/generators/LROGenerator.js.map +1 -1
- package/dist/src/generators/clientFileGenerator.d.ts.map +1 -1
- package/dist/src/generators/clientFileGenerator.js +300 -46
- package/dist/src/generators/clientFileGenerator.js.map +1 -1
- package/dist/src/generators/indexGenerator.d.ts.map +1 -1
- package/dist/src/generators/indexGenerator.js +106 -14
- package/dist/src/generators/indexGenerator.js.map +1 -1
- package/dist/src/generators/mappersGenerator.d.ts.map +1 -1
- package/dist/src/generators/mappersGenerator.js +93 -19
- package/dist/src/generators/mappersGenerator.js.map +1 -1
- package/dist/src/generators/modelsGenerator.d.ts.map +1 -1
- package/dist/src/generators/modelsGenerator.js +80 -81
- package/dist/src/generators/modelsGenerator.js.map +1 -1
- package/dist/src/generators/operationGenerator.d.ts.map +1 -1
- package/dist/src/generators/operationGenerator.js +85 -96
- package/dist/src/generators/operationGenerator.js.map +1 -1
- package/dist/src/generators/operationInterfaceGenerator.js +20 -20
- package/dist/src/generators/operationInterfaceGenerator.js.map +1 -1
- package/dist/src/generators/parametersGenerator.d.ts.map +1 -1
- package/dist/src/generators/parametersGenerator.js +7 -8
- package/dist/src/generators/parametersGenerator.js.map +1 -1
- package/dist/src/generators/samples/hlcSampleGenerator.d.ts +13 -0
- package/dist/src/generators/samples/hlcSampleGenerator.d.ts.map +1 -0
- package/dist/src/generators/samples/hlcSampleGenerator.js +43 -0
- package/dist/src/generators/samples/hlcSampleGenerator.js.map +1 -0
- package/dist/src/generators/samples/hlcSamples.ts.hbs +49 -0
- package/dist/src/generators/samples/rlcSampleGenerator.d.ts +4 -0
- package/dist/src/generators/samples/rlcSampleGenerator.d.ts.map +1 -0
- package/dist/src/generators/samples/rlcSampleGenerator.js +64 -0
- package/dist/src/generators/samples/rlcSampleGenerator.js.map +1 -0
- package/dist/src/generators/samples/rlcSamples.ts.hbs +28 -0
- package/dist/src/generators/samples/sampleEnv.hbs +4 -0
- package/dist/src/generators/samples/sampleEnvGenerator.d.ts +3 -0
- package/dist/src/generators/samples/sampleEnvGenerator.d.ts.map +1 -0
- package/dist/src/generators/samples/sampleEnvGenerator.js +17 -0
- package/dist/src/generators/samples/sampleEnvGenerator.js.map +1 -0
- package/dist/src/generators/static/apiExtractorConfig.js +2 -2
- package/dist/src/generators/static/apiExtractorConfig.js.map +1 -1
- package/dist/src/generators/static/esLintConfigGenerator.d.ts +3 -0
- package/dist/src/generators/static/esLintConfigGenerator.d.ts.map +1 -0
- package/dist/src/generators/static/esLintConfigGenerator.js +26 -0
- package/dist/src/generators/static/esLintConfigGenerator.js.map +1 -0
- package/{src/generators/static/README.md.hbs → dist/src/generators/static/hlcREADME.md.hbs} +35 -3
- package/dist/src/generators/static/karma.conf.js.hbs +126 -0
- package/dist/src/generators/static/karmaConfigFileGenerator.d.ts +3 -0
- package/dist/src/generators/static/karmaConfigFileGenerator.d.ts.map +1 -0
- package/dist/src/generators/static/karmaConfigFileGenerator.js +23 -0
- package/dist/src/generators/static/karmaConfigFileGenerator.js.map +1 -0
- package/dist/src/generators/static/licenseFileGenerator.js +1 -1
- package/dist/src/generators/static/licenseFileGenerator.js.map +1 -1
- package/dist/src/generators/static/packageFileGenerator.d.ts.map +1 -1
- package/dist/src/generators/static/packageFileGenerator.js +255 -67
- package/dist/src/generators/static/packageFileGenerator.js.map +1 -1
- package/dist/src/generators/static/readmeFileGenerator.d.ts +2 -2
- package/dist/src/generators/static/readmeFileGenerator.d.ts.map +1 -1
- package/dist/src/generators/static/readmeFileGenerator.js +50 -23
- package/dist/src/generators/static/readmeFileGenerator.js.map +1 -1
- package/dist/src/generators/static/rlcREADME.md.hbs +71 -0
- package/dist/src/generators/static/rollupConfigFileGenerator.d.ts.map +1 -1
- package/dist/src/generators/static/rollupConfigFileGenerator.js +12 -71
- package/dist/src/generators/static/rollupConfigFileGenerator.js.map +1 -1
- package/dist/src/generators/static/tsConfigFileGenerator.d.ts.map +1 -1
- package/dist/src/generators/static/tsConfigFileGenerator.js +46 -18
- package/dist/src/generators/static/tsConfigFileGenerator.js.map +1 -1
- package/dist/src/generators/test/envBrowserFileGenerator.d.ts +3 -0
- package/dist/src/generators/test/envBrowserFileGenerator.d.ts.map +1 -0
- package/dist/src/generators/test/envBrowserFileGenerator.js +15 -0
- package/dist/src/generators/test/envBrowserFileGenerator.js.map +1 -0
- package/dist/src/generators/test/envFileGenerator.d.ts +3 -0
- package/dist/src/generators/test/envFileGenerator.d.ts.map +1 -0
- package/dist/src/generators/test/envFileGenerator.js +23 -0
- package/dist/src/generators/test/envFileGenerator.js.map +1 -0
- package/dist/src/generators/test/recordedClientFileGenerator.d.ts +3 -0
- package/dist/src/generators/test/recordedClientFileGenerator.d.ts.map +1 -0
- package/dist/src/generators/test/recordedClientFileGenerator.js +23 -0
- package/dist/src/generators/test/recordedClientFileGenerator.js.map +1 -0
- package/dist/src/generators/test/rlcEnv.ts.hbs +3 -0
- package/dist/src/generators/test/rlcRecordedClient.ts.hbs +26 -0
- package/dist/src/generators/test/rlcSampleTest.spec.ts.hbs +20 -0
- package/dist/src/generators/test/sampleTest.ts.hbs +32 -0
- package/dist/src/generators/test/sampleTestGenerator.d.ts +3 -0
- package/dist/src/generators/test/sampleTestGenerator.d.ts.map +1 -0
- package/dist/src/generators/test/sampleTestGenerator.js +34 -0
- package/dist/src/generators/test/sampleTestGenerator.js.map +1 -0
- package/dist/src/generators/tracingFileGenerator.d.ts.map +1 -1
- package/dist/src/generators/tracingFileGenerator.js +7 -21
- package/dist/src/generators/tracingFileGenerator.js.map +1 -1
- package/dist/src/generators/utils/docsUtils.js +2 -2
- package/dist/src/generators/utils/docsUtils.js.map +1 -1
- package/dist/src/generators/utils/operationsUtils.js +1 -1
- package/dist/src/generators/utils/operationsUtils.js.map +1 -1
- package/dist/src/generators/utils/pagingOperations.d.ts +5 -0
- package/dist/src/generators/utils/pagingOperations.d.ts.map +1 -1
- package/dist/src/generators/utils/pagingOperations.js +15 -15
- package/dist/src/generators/utils/pagingOperations.js.map +1 -1
- package/dist/src/generators/utils/parameterUtils.js +9 -9
- package/dist/src/generators/utils/parameterUtils.js.map +1 -1
- package/dist/src/generators/utils/responseTypeUtils.js +2 -2
- package/dist/src/generators/utils/responseTypeUtils.js.map +1 -1
- package/dist/src/generators/utils/tracingUtils.d.ts.map +1 -1
- package/dist/src/generators/utils/tracingUtils.js +2 -6
- package/dist/src/generators/utils/tracingUtils.js.map +1 -1
- package/dist/src/main.d.ts +2 -2
- package/dist/src/main.d.ts.map +1 -1
- package/dist/src/main.js +8 -8
- package/dist/src/main.js.map +1 -1
- package/dist/src/models/clientDetails.d.ts +10 -1
- package/dist/src/models/clientDetails.d.ts.map +1 -1
- package/dist/src/models/modelDetails.d.ts +2 -2
- package/dist/src/models/modelDetails.d.ts.map +1 -1
- package/dist/src/models/operationDetails.d.ts +1 -0
- package/dist/src/models/operationDetails.d.ts.map +1 -1
- package/dist/src/models/sampleDetails.d.ts +22 -0
- package/dist/src/models/sampleDetails.d.ts.map +1 -0
- package/dist/src/models/sampleDetails.js +3 -0
- package/dist/src/models/sampleDetails.js.map +1 -0
- package/dist/src/restLevelClient/generateClient.d.ts +1 -1
- package/dist/src/restLevelClient/generateClient.d.ts.map +1 -1
- package/dist/src/restLevelClient/generateClient.js +108 -167
- package/dist/src/restLevelClient/generateClient.js.map +1 -1
- package/dist/src/restLevelClient/generateClientDefinition.d.ts +6 -0
- package/dist/src/restLevelClient/generateClientDefinition.d.ts.map +1 -0
- package/dist/src/restLevelClient/generateClientDefinition.js +261 -0
- package/dist/src/restLevelClient/generateClientDefinition.js.map +1 -0
- package/dist/src/restLevelClient/generateIsUnexpectedHelper.d.ts +8 -0
- package/dist/src/restLevelClient/generateIsUnexpectedHelper.d.ts.map +1 -0
- package/dist/src/restLevelClient/generateIsUnexpectedHelper.js +204 -0
- package/dist/src/restLevelClient/generateIsUnexpectedHelper.js.map +1 -0
- package/dist/src/restLevelClient/generateMethodShortcuts.d.ts +8 -0
- package/dist/src/restLevelClient/generateMethodShortcuts.d.ts.map +1 -0
- package/dist/src/restLevelClient/generateMethodShortcuts.js +70 -0
- package/dist/src/restLevelClient/generateMethodShortcuts.js.map +1 -0
- package/dist/src/restLevelClient/generateObjectTypes.d.ts +3 -3
- package/dist/src/restLevelClient/generateObjectTypes.d.ts.map +1 -1
- package/dist/src/restLevelClient/generateObjectTypes.js +43 -31
- package/dist/src/restLevelClient/generateObjectTypes.js.map +1 -1
- package/dist/src/restLevelClient/generatePagingHelper.d.ts +3 -0
- package/dist/src/restLevelClient/generatePagingHelper.d.ts.map +1 -0
- package/dist/src/restLevelClient/generatePagingHelper.js +54 -0
- package/dist/src/restLevelClient/generatePagingHelper.js.map +1 -0
- package/dist/src/restLevelClient/generateParameterTypes.d.ts.map +1 -1
- package/dist/src/restLevelClient/generateParameterTypes.js +247 -44
- package/dist/src/restLevelClient/generateParameterTypes.js.map +1 -1
- package/dist/src/restLevelClient/generatePollingHelper.d.ts +3 -0
- package/dist/src/restLevelClient/generatePollingHelper.d.ts.map +1 -0
- package/dist/src/restLevelClient/generatePollingHelper.js +20 -0
- package/dist/src/restLevelClient/generatePollingHelper.js.map +1 -0
- package/dist/src/restLevelClient/generateResponseTypes.d.ts.map +1 -1
- package/dist/src/restLevelClient/generateResponseTypes.js +35 -23
- package/dist/src/restLevelClient/generateResponseTypes.js.map +1 -1
- package/dist/src/restLevelClient/generateRestLevel.d.ts.map +1 -1
- package/dist/src/restLevelClient/generateRestLevel.js +63 -16
- package/dist/src/restLevelClient/generateRestLevel.js.map +1 -1
- package/dist/src/restLevelClient/generateSchemaTypes.d.ts.map +1 -1
- package/dist/src/restLevelClient/generateSchemaTypes.js +29 -7
- package/dist/src/restLevelClient/generateSchemaTypes.js.map +1 -1
- package/dist/src/restLevelClient/generateTopLevelIndexFile.d.ts +4 -0
- package/dist/src/restLevelClient/generateTopLevelIndexFile.d.ts.map +1 -0
- package/dist/src/restLevelClient/generateTopLevelIndexFile.js +37 -0
- package/dist/src/restLevelClient/generateTopLevelIndexFile.js.map +1 -0
- package/dist/src/restLevelClient/getPropertySignature.d.ts +2 -2
- package/dist/src/restLevelClient/getPropertySignature.d.ts.map +1 -1
- package/dist/src/restLevelClient/getPropertySignature.js +10 -7
- package/dist/src/restLevelClient/getPropertySignature.js.map +1 -1
- package/dist/src/restLevelClient/helpers/hasPollingOperations.d.ts +4 -0
- package/dist/src/restLevelClient/helpers/hasPollingOperations.d.ts.map +1 -0
- package/dist/src/restLevelClient/helpers/hasPollingOperations.js +12 -0
- package/dist/src/restLevelClient/helpers/hasPollingOperations.js.map +1 -0
- package/dist/src/restLevelClient/helpers/modelHelpers.d.ts +4 -0
- package/dist/src/restLevelClient/helpers/modelHelpers.d.ts.map +1 -0
- package/dist/src/restLevelClient/helpers/modelHelpers.js +19 -0
- package/dist/src/restLevelClient/helpers/modelHelpers.js.map +1 -0
- package/dist/src/restLevelClient/helpers/operationHelpers.d.ts +10 -0
- package/dist/src/restLevelClient/helpers/operationHelpers.d.ts.map +1 -0
- package/dist/src/restLevelClient/helpers/operationHelpers.js +64 -0
- package/dist/src/restLevelClient/helpers/operationHelpers.js.map +1 -0
- package/dist/src/restLevelClient/interfaces.d.ts +33 -0
- package/dist/src/restLevelClient/interfaces.d.ts.map +1 -0
- package/dist/src/restLevelClient/interfaces.js +3 -0
- package/dist/src/restLevelClient/interfaces.js.map +1 -0
- package/dist/src/restLevelClient/mutateCodeModel.js +2 -2
- package/dist/src/restLevelClient/mutateCodeModel.js.map +1 -1
- package/dist/src/restLevelClient/operationHelpers.d.ts +4 -0
- package/dist/src/restLevelClient/operationHelpers.d.ts.map +1 -1
- package/dist/src/restLevelClient/operationHelpers.js +21 -10
- package/dist/src/restLevelClient/operationHelpers.js.map +1 -1
- package/dist/src/restLevelClient/paginateHelper.ts.hbs +208 -0
- package/dist/src/restLevelClient/pollingHelper.ts.hbs +72 -0
- package/dist/src/restLevelClient/samples/generateSamples.d.ts +23 -0
- package/dist/src/restLevelClient/samples/generateSamples.d.ts.map +1 -0
- package/dist/src/restLevelClient/samples/generateSamples.js +3 -0
- package/dist/src/restLevelClient/samples/generateSamples.js.map +1 -0
- package/dist/src/restLevelClient/samples/samples.ts.hbs +0 -0
- package/dist/src/restLevelClient/schemaHelpers.d.ts +8 -2
- package/dist/src/restLevelClient/schemaHelpers.d.ts.map +1 -1
- package/dist/src/restLevelClient/schemaHelpers.js +27 -12
- package/dist/src/restLevelClient/schemaHelpers.js.map +1 -1
- package/dist/src/transforms/extensions.js +10 -10
- package/dist/src/transforms/extensions.js.map +1 -1
- package/dist/src/transforms/groupTransforms.js +2 -2
- package/dist/src/transforms/groupTransforms.js.map +1 -1
- package/dist/src/transforms/mapperTransforms.d.ts.map +1 -1
- package/dist/src/transforms/mapperTransforms.js +29 -26
- package/dist/src/transforms/mapperTransforms.js.map +1 -1
- package/dist/src/transforms/objectTransforms.d.ts.map +1 -1
- package/dist/src/transforms/objectTransforms.js +42 -26
- package/dist/src/transforms/objectTransforms.js.map +1 -1
- package/dist/src/transforms/operationTransforms.d.ts.map +1 -1
- package/dist/src/transforms/operationTransforms.js +29 -26
- package/dist/src/transforms/operationTransforms.js.map +1 -1
- package/dist/src/transforms/optionsTransforms.js +1 -1
- package/dist/src/transforms/optionsTransforms.js.map +1 -1
- package/dist/src/transforms/parameterTransforms.d.ts.map +1 -1
- package/dist/src/transforms/parameterTransforms.js +43 -27
- package/dist/src/transforms/parameterTransforms.js.map +1 -1
- package/dist/src/transforms/samplesTransforms.d.ts +7 -0
- package/dist/src/transforms/samplesTransforms.d.ts.map +1 -0
- package/dist/src/transforms/samplesTransforms.js +293 -0
- package/dist/src/transforms/samplesTransforms.js.map +1 -0
- package/dist/src/transforms/transforms.d.ts +1 -2
- package/dist/src/transforms/transforms.d.ts.map +1 -1
- package/dist/src/transforms/transforms.js +26 -24
- package/dist/src/transforms/transforms.js.map +1 -1
- package/dist/src/transforms/urlTransforms.js +3 -3
- package/dist/src/transforms/urlTransforms.js.map +1 -1
- package/dist/src/typescriptGenerator.d.ts +2 -2
- package/dist/src/typescriptGenerator.d.ts.map +1 -1
- package/dist/src/typescriptGenerator.js +46 -46
- package/dist/src/typescriptGenerator.js.map +1 -1
- package/dist/src/utils/autorestOptions.d.ts +2 -2
- package/dist/src/utils/autorestOptions.d.ts.map +1 -1
- package/dist/src/utils/autorestOptions.js +141 -62
- package/dist/src/utils/autorestOptions.js.map +1 -1
- package/dist/src/utils/cloneOperation.js +2 -2
- package/dist/src/utils/cloneOperation.js.map +1 -1
- package/dist/src/utils/copyFiles.d.ts +2 -0
- package/dist/src/utils/copyFiles.d.ts.map +1 -0
- package/dist/src/utils/copyFiles.js +33 -0
- package/dist/src/utils/copyFiles.js.map +1 -0
- package/dist/src/utils/extractHeaders.js +4 -4
- package/dist/src/utils/extractHeaders.js.map +1 -1
- package/dist/src/utils/extractPaginationDetails.d.ts +5 -1
- package/dist/src/utils/extractPaginationDetails.d.ts.map +1 -1
- package/dist/src/utils/extractPaginationDetails.js +23 -10
- package/dist/src/utils/extractPaginationDetails.js.map +1 -1
- package/dist/src/utils/headersToSchema.js +1 -1
- package/dist/src/utils/headersToSchema.js.map +1 -1
- package/dist/src/utils/logger.js +1 -1
- package/dist/src/utils/logger.js.map +1 -1
- package/dist/src/utils/nameUtils.d.ts +6 -2
- package/dist/src/utils/nameUtils.d.ts.map +1 -1
- package/dist/src/utils/nameUtils.js +13 -8
- package/dist/src/utils/nameUtils.js.map +1 -1
- package/dist/src/utils/schemaHelpers.d.ts +6 -1
- package/dist/src/utils/schemaHelpers.d.ts.map +1 -1
- package/dist/src/utils/schemaHelpers.js +50 -7
- package/dist/src/utils/schemaHelpers.js.map +1 -1
- package/dist/src/utils/sortObjectSchemasHierarchically.js +1 -1
- package/dist/src/utils/sortObjectSchemasHierarchically.js.map +1 -1
- package/dist/src/utils/valueHelpers.js +1 -1
- package/dist/src/utils/valueHelpers.js.map +1 -1
- package/package.json +58 -39
- package/src/autorestSession.ts +25 -18
- package/src/conflictResolver.ts +61 -0
- package/src/generators/clientFileGenerator.ts +397 -36
- package/src/generators/indexGenerator.ts +118 -12
- package/src/generators/mappersGenerator.ts +108 -8
- package/src/generators/modelsGenerator.ts +98 -97
- package/src/generators/operationGenerator.ts +54 -93
- package/src/generators/parametersGenerator.ts +2 -3
- package/src/generators/samples/hlcSampleGenerator.ts +50 -0
- package/src/generators/samples/hlcSamples.ts.hbs +49 -0
- package/src/generators/samples/rlcSampleGenerator.ts +72 -0
- package/src/generators/samples/rlcSamples.ts.hbs +28 -0
- package/src/generators/samples/sampleEnv.hbs +4 -0
- package/src/generators/samples/sampleEnvGenerator.ts +14 -0
- package/src/generators/static/apiExtractorConfig.ts +2 -2
- package/src/generators/static/esLintConfigGenerator.ts +24 -0
- package/src/generators/static/hlcREADME.md.hbs +144 -0
- package/src/generators/static/karma.conf.js.hbs +126 -0
- package/src/generators/static/karmaConfigFileGenerator.ts +20 -0
- package/src/generators/static/packageFileGenerator.ts +292 -71
- package/src/generators/static/readmeFileGenerator.ts +79 -42
- package/src/generators/static/rlcREADME.md.hbs +71 -0
- package/src/generators/static/rollupConfigFileGenerator.ts +13 -71
- package/src/generators/static/tsConfigFileGenerator.ts +54 -19
- package/src/generators/test/envBrowserFileGenerator.ts +14 -0
- package/src/generators/test/envFileGenerator.ts +22 -0
- package/src/generators/test/recordedClientFileGenerator.ts +22 -0
- package/src/generators/test/rlcEnv.ts.hbs +3 -0
- package/src/generators/test/rlcRecordedClient.ts.hbs +26 -0
- package/src/generators/test/rlcSampleTest.spec.ts.hbs +20 -0
- package/src/generators/test/sampleTest.ts.hbs +32 -0
- package/src/generators/test/sampleTestGenerator.ts +32 -0
- package/src/generators/tracingFileGenerator.ts +6 -24
- package/src/generators/utils/pagingOperations.ts +1 -2
- package/src/generators/utils/tracingUtils.ts +1 -5
- package/src/main.ts +8 -5
- package/src/models/clientDetails.ts +11 -1
- package/src/models/modelDetails.ts +2 -2
- package/src/models/operationDetails.ts +1 -0
- package/src/models/sampleDetails.ts +22 -0
- package/src/restLevelClient/generateClient.ts +134 -244
- package/src/restLevelClient/generateClientDefinition.ts +386 -0
- package/src/restLevelClient/generateIsUnexpectedHelper.ts +224 -0
- package/src/restLevelClient/generateMethodShortcuts.ts +121 -0
- package/src/restLevelClient/generateObjectTypes.ts +62 -21
- package/src/restLevelClient/generatePagingHelper.ts +69 -0
- package/src/restLevelClient/generateParameterTypes.ts +377 -56
- package/src/restLevelClient/generatePollingHelper.ts +19 -0
- package/src/restLevelClient/generateResponseTypes.ts +36 -17
- package/src/restLevelClient/generateRestLevel.ts +63 -8
- package/src/restLevelClient/generateSchemaTypes.ts +43 -8
- package/src/restLevelClient/generateTopLevelIndexFile.ts +37 -0
- package/src/restLevelClient/getPropertySignature.ts +12 -4
- package/src/restLevelClient/helpers/hasPollingOperations.ts +15 -0
- package/src/restLevelClient/helpers/modelHelpers.ts +15 -0
- package/src/restLevelClient/helpers/operationHelpers.ts +93 -0
- package/src/restLevelClient/interfaces.ts +39 -0
- package/src/restLevelClient/operationHelpers.ts +23 -9
- package/src/restLevelClient/paginateHelper.ts.hbs +208 -0
- package/src/restLevelClient/pollingHelper.ts.hbs +72 -0
- package/src/restLevelClient/samples/generateSamples.ts +23 -0
- package/src/restLevelClient/samples/samples.ts.hbs +0 -0
- package/src/restLevelClient/schemaHelpers.ts +30 -8
- package/src/transforms/mapperTransforms.ts +11 -5
- package/src/transforms/objectTransforms.ts +26 -6
- package/src/transforms/operationTransforms.ts +6 -1
- package/src/transforms/parameterTransforms.ts +26 -7
- package/src/transforms/samplesTransforms.ts +349 -0
- package/src/transforms/transforms.ts +14 -9
- package/src/typescriptGenerator.ts +40 -53
- package/src/utils/autorestOptions.ts +198 -88
- package/src/utils/copyFiles.ts +36 -0
- package/src/utils/extractPaginationDetails.ts +19 -1
- package/src/utils/nameUtils.ts +18 -9
- package/src/utils/schemaHelpers.ts +51 -4
- package/CHANGELOG.md +0 -56
- package/dist/src/generators/clientContextFileGenerator.d.ts +0 -5
- package/dist/src/generators/clientContextFileGenerator.d.ts.map +0 -1
- package/dist/src/generators/clientContextFileGenerator.js +0 -263
- package/dist/src/generators/clientContextFileGenerator.js.map +0 -1
- package/src/generators/clientContextFileGenerator.ts +0 -405
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { Project } from "ts-morph";
|
|
2
|
-
import {
|
|
3
|
-
export declare function generateReadmeFile(
|
|
2
|
+
import { CodeModel } from "@autorest/codemodel";
|
|
3
|
+
export declare function generateReadmeFile(codeModel: CodeModel, project: Project): void;
|
|
4
4
|
//# sourceMappingURL=readmeFileGenerator.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"readmeFileGenerator.d.ts","sourceRoot":"","sources":["../../../../src/generators/static/readmeFileGenerator.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"readmeFileGenerator.d.ts","sourceRoot":"","sources":["../../../../src/generators/static/readmeFileGenerator.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAKnC,OAAO,EAAE,SAAS,EAAmB,MAAM,qBAAqB,CAAC;AA8JjE,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,QAkBxE"}
|
|
@@ -7,15 +7,20 @@ const hbs = require("handlebars");
|
|
|
7
7
|
const fs = require("fs");
|
|
8
8
|
const path = require("path");
|
|
9
9
|
const autorestSession_1 = require("../../autorestSession");
|
|
10
|
+
const languageHelpers_1 = require("../../utils/languageHelpers");
|
|
11
|
+
const nameUtils_1 = require("../../utils/nameUtils");
|
|
12
|
+
const schemaHelpers_1 = require("../../utils/schemaHelpers");
|
|
10
13
|
/**
|
|
11
14
|
* Returns meta data information about the service, the package, and the client.
|
|
12
|
-
* @param
|
|
13
|
-
* @param packageDetails - the package details
|
|
15
|
+
* @param codeModel - include the client details
|
|
14
16
|
* @returns inferred metadata about the service, the package, and the client
|
|
15
17
|
*/
|
|
16
|
-
function createMetadata(
|
|
17
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j
|
|
18
|
-
const
|
|
18
|
+
function createMetadata(codeModel) {
|
|
19
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
|
|
20
|
+
const { packageDetails, azureOutputDirectory, azureArm, isTestPackage, productDocLink, dependencyInfo, multiClient, batch } = (0, autorestSession_1.getAutorestOptions)();
|
|
21
|
+
const { addCredentials } = (0, schemaHelpers_1.getSecurityInfoFromModel)(codeModel.security);
|
|
22
|
+
const azureHuh = (packageDetails === null || packageDetails === void 0 ? void 0 : packageDetails.scopeName) === "azure" ||
|
|
23
|
+
(packageDetails === null || packageDetails === void 0 ? void 0 : packageDetails.scopeName) === "azure-rest";
|
|
19
24
|
const repoURL = azureHuh
|
|
20
25
|
? "https://github.com/Azure/azure-sdk-for-js"
|
|
21
26
|
: undefined;
|
|
@@ -26,23 +31,29 @@ function createMetadata(packageDetails, clientDetails, azureOutputDirectory, add
|
|
|
26
31
|
const names = relativePackageSourcePath === null || relativePackageSourcePath === void 0 ? void 0 : relativePackageSourcePath.split("/").slice(1);
|
|
27
32
|
const packageParentDirectoryName = names === null || names === void 0 ? void 0 : names[0];
|
|
28
33
|
const packageDirectoryName = names === null || names === void 0 ? void 0 : names[1];
|
|
29
|
-
const
|
|
30
|
-
const
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
34
|
+
const clientPackageName = packageDetails === null || packageDetails === void 0 ? void 0 : packageDetails.name;
|
|
35
|
+
const { clientClassName, serviceTitle } = getClientAndServiceName(codeModel.language, codeModel.info);
|
|
36
|
+
let simpleServiceName = batch && batch.length > 1
|
|
37
|
+
? (0, nameUtils_1.normalizeName)(packageDetails.nameWithoutScope, nameUtils_1.NameType.Class)
|
|
38
|
+
: (0, nameUtils_1.normalizeName)(serviceTitle, nameUtils_1.NameType.Class);
|
|
39
|
+
simpleServiceName =
|
|
40
|
+
/**
|
|
41
|
+
* It is a required convention in Azure swaggers for their titles to end with
|
|
42
|
+
* "Client".
|
|
43
|
+
*/
|
|
44
|
+
(_h = (_f = (_d = (_b = (_a = serviceTitle.match(/(.*) Client/)) === null || _a === void 0 ? void 0 : _a[1]) !== null && _b !== void 0 ? _b :
|
|
45
|
+
/** I noticed management-plane swaggers do not use spaces in their titles */
|
|
46
|
+
(_c = serviceTitle.match(/(.*)Client/)) === null || _c === void 0 ? void 0 : _c[1]) !== null && _d !== void 0 ? _d : (_e = clientClassName.match(/(.*)Client/)) === null || _e === void 0 ? void 0 : _e[1]) !== null && _f !== void 0 ? _f : (_g = serviceTitle.match(/(.*) Service/)) === null || _g === void 0 ? void 0 : _g[1]) !== null && _h !== void 0 ? _h : simpleServiceName;
|
|
40
47
|
const serviceName = azureHuh
|
|
41
48
|
? simpleServiceName.startsWith("Azure")
|
|
42
49
|
? simpleServiceName
|
|
43
50
|
: `Azure ${simpleServiceName}`
|
|
44
51
|
: simpleServiceName;
|
|
45
52
|
const identityPackageURL = repoURL && `${repoURL}/tree/main/sdk/identity/identity`;
|
|
53
|
+
var apiRefUrlQueryParameter = "";
|
|
54
|
+
if (packageDetails === null || packageDetails === void 0 ? void 0 : packageDetails.version.includes("beta")) {
|
|
55
|
+
apiRefUrlQueryParameter = "?view=azure-node-preview";
|
|
56
|
+
}
|
|
46
57
|
return {
|
|
47
58
|
serviceName: serviceName,
|
|
48
59
|
clientPackageName: clientPackageName,
|
|
@@ -60,25 +71,33 @@ function createMetadata(packageDetails, clientDetails, azureOutputDirectory, add
|
|
|
60
71
|
`https://azure-sdk-impressions.azurewebsites.net/api/impressions/azure-sdk-for-js%2Fsdk%2F${packageParentDirectoryName}%2F${packageDirectoryName}%2FREADME.png`
|
|
61
72
|
: undefined,
|
|
62
73
|
clientDescriptiveName: `${serviceName} client`,
|
|
63
|
-
description: (
|
|
74
|
+
description: (_j = codeModel.info) === null || _j === void 0 ? void 0 : _j.description,
|
|
64
75
|
apiRefURL: azureHuh
|
|
65
|
-
? `https://docs.microsoft.com/javascript/api/${clientPackageName}`
|
|
76
|
+
? `https://docs.microsoft.com/javascript/api/${clientPackageName}${apiRefUrlQueryParameter}`
|
|
66
77
|
: undefined,
|
|
67
78
|
packageNPMURL: `https://www.npmjs.com/package/${clientPackageName}`,
|
|
68
79
|
contributingGuideURL: repoURL && `${repoURL}/blob/main/CONTRIBUTING.md`,
|
|
69
80
|
projectName: azureHuh ? "Microsoft Azure SDK for JavaScript" : undefined,
|
|
70
81
|
addCredentials,
|
|
71
82
|
identityPackageURL,
|
|
72
|
-
isReleasablePackage: !isTestPackage
|
|
83
|
+
isReleasablePackage: !isTestPackage,
|
|
84
|
+
azureArm: azureArm,
|
|
85
|
+
serviceDocURL: productDocLink,
|
|
86
|
+
dependencyDescription: dependencyInfo === null || dependencyInfo === void 0 ? void 0 : dependencyInfo.description,
|
|
87
|
+
dependencyLink: dependencyInfo === null || dependencyInfo === void 0 ? void 0 : dependencyInfo.link,
|
|
88
|
+
hasMultiClients: multiClient && batch && batch.length > 1
|
|
73
89
|
};
|
|
74
90
|
}
|
|
75
|
-
function generateReadmeFile(
|
|
76
|
-
const {
|
|
91
|
+
function generateReadmeFile(codeModel, project) {
|
|
92
|
+
const { generateMetadata, restLevelClient } = (0, autorestSession_1.getAutorestOptions)();
|
|
77
93
|
if (!generateMetadata) {
|
|
78
94
|
return;
|
|
79
95
|
}
|
|
80
|
-
const metadata = createMetadata(
|
|
81
|
-
const
|
|
96
|
+
const metadata = createMetadata(codeModel);
|
|
97
|
+
const templateFile = !restLevelClient
|
|
98
|
+
? "hlcREADME.md.hbs"
|
|
99
|
+
: "rlcREADME.md.hbs";
|
|
100
|
+
const file = fs.readFileSync(path.join(__dirname, templateFile), {
|
|
82
101
|
encoding: "utf-8"
|
|
83
102
|
});
|
|
84
103
|
const readmeFileContents = hbs.compile(file, { noEscape: true });
|
|
@@ -87,4 +106,12 @@ function generateReadmeFile(clientDetails, project) {
|
|
|
87
106
|
});
|
|
88
107
|
}
|
|
89
108
|
exports.generateReadmeFile = generateReadmeFile;
|
|
109
|
+
function getClientAndServiceName(codeModelLanguage, codeModelInfo) {
|
|
110
|
+
var _a;
|
|
111
|
+
const { name: clientName } = (0, languageHelpers_1.getLanguageMetadata)(codeModelLanguage);
|
|
112
|
+
const className = (0, nameUtils_1.normalizeName)(clientName, nameUtils_1.NameType.Class, true /** shouldGuard */);
|
|
113
|
+
const clientClassName = className;
|
|
114
|
+
const serviceTitle = (_a = codeModelInfo === null || codeModelInfo === void 0 ? void 0 : codeModelInfo.title) !== null && _a !== void 0 ? _a : clientClassName;
|
|
115
|
+
return { clientClassName, serviceTitle };
|
|
116
|
+
}
|
|
90
117
|
//# sourceMappingURL=readmeFileGenerator.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"readmeFileGenerator.js","sourceRoot":"","sources":["../../../../src/generators/static/readmeFileGenerator.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;AAGlC,kCAAkC;AAClC,yBAAyB;AACzB,6BAA6B;
|
|
1
|
+
{"version":3,"file":"readmeFileGenerator.js","sourceRoot":"","sources":["../../../../src/generators/static/readmeFileGenerator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
# {{ clientDescriptiveName }} library for JavaScript
|
|
2
|
+
|
|
3
|
+
{{ description }}
|
|
4
|
+
|
|
5
|
+
**Please rely heavily on {{#if serviceDocURL}}[the service's documentation]({{ serviceDocURL }}) and {{/if}}our [REST client docs](https://github.com/Azure/azure-sdk-for-js/blob/main/documentation/rest-clients.md) to use this library**
|
|
6
|
+
|
|
7
|
+
Key links:
|
|
8
|
+
|
|
9
|
+
{{#if packageSourceURL}}
|
|
10
|
+
- [Source code]({{ packageSourceURL }})
|
|
11
|
+
{{/if}}
|
|
12
|
+
{{#if packageNPMURL}}
|
|
13
|
+
- [Package (NPM)]({{ packageNPMURL }})
|
|
14
|
+
{{/if}}
|
|
15
|
+
{{#if apiRefURL}}
|
|
16
|
+
- [API reference documentation]({{ apiRefURL }})
|
|
17
|
+
{{/if}}
|
|
18
|
+
{{#if serviceDocURL}}
|
|
19
|
+
- [Product documentation]({{ serviceDocURL }})
|
|
20
|
+
{{/if}}
|
|
21
|
+
{{#if samplesURL}}
|
|
22
|
+
- [Samples]({{ samplesURL }})
|
|
23
|
+
{{/if}}
|
|
24
|
+
|
|
25
|
+
## Getting started
|
|
26
|
+
|
|
27
|
+
### Currently supported environments
|
|
28
|
+
|
|
29
|
+
- Node.js version 14.x.x or higher
|
|
30
|
+
|
|
31
|
+
### Prerequisites
|
|
32
|
+
|
|
33
|
+
- You must have an [Azure subscription](https://azure.microsoft.com/free/){{#if dependencyLink}} and follow [these]({{ dependencyLink }}) instructions{{/if}} to use this package.
|
|
34
|
+
|
|
35
|
+
### Install the `{{ clientPackageName }}` package
|
|
36
|
+
|
|
37
|
+
Install the {{ clientDescriptiveName }} REST client library for JavaScript with `npm`:
|
|
38
|
+
|
|
39
|
+
```bash
|
|
40
|
+
npm install {{ clientPackageName }}
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
### Create and authenticate a `{{ clientClassName }}`
|
|
44
|
+
|
|
45
|
+
To use an [Azure Active Directory (AAD) token credential](https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/identity/identity/samples/AzureIdentityExamples.md#authenticating-with-a-pre-fetched-access-token),
|
|
46
|
+
provide an instance of the desired credential type obtained from the
|
|
47
|
+
[@azure/identity](https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/identity/identity#credentials) library.
|
|
48
|
+
|
|
49
|
+
To authenticate with AAD, you must first `npm` install [`@azure/identity`](https://www.npmjs.com/package/@azure/identity) {{#if dependencyLink}}and
|
|
50
|
+
[{{dependencyDescription }}]({{ dependencyLink }}){{/if}}
|
|
51
|
+
|
|
52
|
+
After setup, you can choose which type of [credential](https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/identity/identity#credentials) from `@azure/identity` to use.
|
|
53
|
+
As an example, [DefaultAzureCredential](https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/identity/identity#defaultazurecredential)
|
|
54
|
+
can be used to authenticate the client.
|
|
55
|
+
|
|
56
|
+
Set the values of the client ID, tenant ID, and client secret of the AAD application as environment variables:
|
|
57
|
+
AZURE_CLIENT_ID, AZURE_TENANT_ID, AZURE_CLIENT_SECRET
|
|
58
|
+
|
|
59
|
+
## Troubleshooting
|
|
60
|
+
|
|
61
|
+
### Logging
|
|
62
|
+
|
|
63
|
+
Enabling logging may help uncover useful information about failures. In order to see a log of HTTP requests and responses, set the `AZURE_LOG_LEVEL` environment variable to `info`. Alternatively, logging can be enabled at runtime by calling `setLogLevel` in the `@azure/logger`:
|
|
64
|
+
|
|
65
|
+
```javascript
|
|
66
|
+
import { setLogLevel } from "@azure/logger";
|
|
67
|
+
|
|
68
|
+
setLogLevel("info");
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
For more detailed instructions on how to enable logs, you can look at the [@azure/logger package docs](https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/core/logger).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rollupConfigFileGenerator.d.ts","sourceRoot":"","sources":["../../../../src/generators/static/rollupConfigFileGenerator.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAGnC,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,
|
|
1
|
+
{"version":3,"file":"rollupConfigFileGenerator.d.ts","sourceRoot":"","sources":["../../../../src/generators/static/rollupConfigFileGenerator.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAGnC,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,QAyIpD"}
|
|
@@ -5,10 +5,14 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
5
5
|
exports.generateRollupConfig = void 0;
|
|
6
6
|
const autorestSession_1 = require("../../autorestSession");
|
|
7
7
|
function generateRollupConfig(project) {
|
|
8
|
-
const { generateMetadata } = autorestSession_1.getAutorestOptions();
|
|
8
|
+
const { generateMetadata, restLevelClient, azureSdkForJs } = (0, autorestSession_1.getAutorestOptions)();
|
|
9
9
|
if (!generateMetadata) {
|
|
10
10
|
return;
|
|
11
11
|
}
|
|
12
|
+
// when it's generating rlc codes, only generate rollup config in codegen test
|
|
13
|
+
if (restLevelClient && azureSdkForJs) {
|
|
14
|
+
return;
|
|
15
|
+
}
|
|
12
16
|
const rollupFile = project.createSourceFile("rollup.config.js", undefined, {
|
|
13
17
|
overwrite: true
|
|
14
18
|
});
|
|
@@ -20,62 +24,14 @@ function generateRollupConfig(project) {
|
|
|
20
24
|
|
|
21
25
|
import nodeBuiltins from "builtin-modules";
|
|
22
26
|
|
|
23
|
-
/**
|
|
24
|
-
* Gets the proper configuration needed for rollup's commonJS plugin for @opentelemetry/api.
|
|
25
|
-
*
|
|
26
|
-
* NOTE: this manual configuration is only needed because OpenTelemetry uses an
|
|
27
|
-
* __exportStar downleveled helper function to declare its exports which confuses
|
|
28
|
-
* rollup's automatic discovery mechanism.
|
|
29
|
-
*
|
|
30
|
-
* @returns an object reference that can be \`...\`'d into your cjs() configuration.
|
|
31
|
-
*/
|
|
32
|
-
export function openTelemetryCommonJs() {
|
|
33
|
-
const namedExports = {};
|
|
34
|
-
|
|
35
|
-
for (const key of [
|
|
36
|
-
"@opentelemetry/api",
|
|
37
|
-
"@azure/core-tracing/node_modules/@opentelemetry/api"
|
|
38
|
-
]) {
|
|
39
|
-
namedExports[key] = [
|
|
40
|
-
"SpanKind",
|
|
41
|
-
"TraceFlags",
|
|
42
|
-
"getSpan",
|
|
43
|
-
"setSpan",
|
|
44
|
-
"SpanStatusCode",
|
|
45
|
-
"getSpanContext",
|
|
46
|
-
"setSpanContext"
|
|
47
|
-
];
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
const releasedOpenTelemetryVersions = ["0.10.2", "1.0.0-rc.0"];
|
|
51
|
-
|
|
52
|
-
for (const version of releasedOpenTelemetryVersions) {
|
|
53
|
-
namedExports[
|
|
54
|
-
// working around a limitation in the rollup common.js plugin - it's not able to resolve these modules so the named exports listed above will not get applied. We have to drill down to the actual path.
|
|
55
|
-
\`../../../common/temp/node_modules/.pnpm/@opentelemetry/api@\${version}/node_modules/@opentelemetry/api/build/src/index.js\`
|
|
56
|
-
] = [
|
|
57
|
-
"SpanKind",
|
|
58
|
-
"TraceFlags",
|
|
59
|
-
"getSpan",
|
|
60
|
-
"setSpan",
|
|
61
|
-
"StatusCode",
|
|
62
|
-
"CanonicalCode",
|
|
63
|
-
"getSpanContext",
|
|
64
|
-
"setSpanContext"
|
|
65
|
-
];
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
return namedExports;
|
|
69
|
-
}
|
|
70
|
-
|
|
71
27
|
// #region Warning Handler
|
|
72
28
|
|
|
73
29
|
/**
|
|
74
|
-
* A function that can determine whether a
|
|
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
|
|
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
|
|
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
|
-
|
|
95
|
-
|
|
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()
|
|
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,
|
|
1
|
+
{"version":3,"file":"rollupConfigFileGenerator.js","sourceRoot":"","sources":["../../../../src/generators/static/rollupConfigFileGenerator.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;AAGlC,2DAA2D;AAE3D,SAAgB,oBAAoB,CAAC,OAAgB;IACnD,MAAM,EAAE,gBAAgB,EAAE,eAAe,EAAE,aAAa,EAAE,GAAG,IAAA,oCAAkB,GAAE,CAAC;IAElF,IAAI,CAAC,gBAAgB,EAAE;QACrB,OAAO;KACR;IAED,8EAA8E;IAC9E,IAAI,eAAe,IAAI,aAAa,EAAE;QACpC,OAAO;KACR;IAED,MAAM,UAAU,GAAG,OAAO,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,SAAS,EAAE;QACzE,SAAS,EAAE,IAAI;KAChB,CAAC,CAAC;IAEH,UAAU,CAAC,aAAa,CACtB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0DAsHsD,CACvD,CAAC;AACJ,CAAC;AAzID,oDAyIC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tsConfigFileGenerator.d.ts","sourceRoot":"","sources":["../../../../src/generators/static/tsConfigFileGenerator.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"tsConfigFileGenerator.d.ts","sourceRoot":"","sources":["../../../../src/generators/static/tsConfigFileGenerator.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AA4DnC,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,QAgChD"}
|
|
@@ -23,30 +23,58 @@ const highLevelTsConfig = {
|
|
|
23
23
|
include: ["./src/**/*.ts"],
|
|
24
24
|
exclude: ["node_modules"]
|
|
25
25
|
};
|
|
26
|
-
const
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
declaration: true,
|
|
32
|
-
declarationMap: true,
|
|
33
|
-
outDir: "./dist-esm"
|
|
26
|
+
const restLevelTsConfigInAzureSdkForJs = {
|
|
27
|
+
"extends": "../../../tsconfig.package",
|
|
28
|
+
"compilerOptions": {
|
|
29
|
+
"outDir": "./dist-esm",
|
|
30
|
+
"declarationDir": "./types",
|
|
34
31
|
},
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
"
|
|
40
|
-
"
|
|
41
|
-
"
|
|
42
|
-
"
|
|
43
|
-
|
|
32
|
+
"include": ["src/**/*.ts"]
|
|
33
|
+
};
|
|
34
|
+
const restLevelTsConfigNotInAzureSdkForJs = {
|
|
35
|
+
"compilerOptions": {
|
|
36
|
+
"target": "ES2017",
|
|
37
|
+
"module": "es6",
|
|
38
|
+
"lib": [],
|
|
39
|
+
"declaration": true,
|
|
40
|
+
"declarationMap": true,
|
|
41
|
+
"inlineSources": true,
|
|
42
|
+
"sourceMap": true,
|
|
43
|
+
"importHelpers": true,
|
|
44
|
+
"strict": true,
|
|
45
|
+
"alwaysStrict": true,
|
|
46
|
+
"noUnusedLocals": true,
|
|
47
|
+
"noUnusedParameters": true,
|
|
48
|
+
"noImplicitReturns": true,
|
|
49
|
+
"noFallthroughCasesInSwitch": true,
|
|
50
|
+
"forceConsistentCasingInFileNames": true,
|
|
51
|
+
"moduleResolution": "node",
|
|
52
|
+
"allowSyntheticDefaultImports": true,
|
|
53
|
+
"esModuleInterop": true,
|
|
54
|
+
"outDir": "./dist-esm",
|
|
55
|
+
"declarationDir": "./types"
|
|
56
|
+
},
|
|
57
|
+
"include": ["./src/**/*.ts"]
|
|
44
58
|
};
|
|
45
59
|
function generateTsConfig(project) {
|
|
46
|
-
const { generateMetadata, restLevelClient } = autorestSession_1.getAutorestOptions();
|
|
60
|
+
const { generateMetadata, restLevelClient, generateTest, packageDetails, generateSample, azureSdkForJs } = (0, autorestSession_1.getAutorestOptions)();
|
|
47
61
|
if (!generateMetadata) {
|
|
48
62
|
return;
|
|
49
63
|
}
|
|
64
|
+
const clientPackageName = packageDetails.name;
|
|
65
|
+
const restLevelTsConfig = azureSdkForJs ? restLevelTsConfigInAzureSdkForJs : restLevelTsConfigNotInAzureSdkForJs;
|
|
66
|
+
if (generateTest) {
|
|
67
|
+
highLevelTsConfig.include.push("./test/**/*.ts");
|
|
68
|
+
restLevelTsConfig.include.push("./test/**/*.ts");
|
|
69
|
+
}
|
|
70
|
+
if (generateSample) {
|
|
71
|
+
highLevelTsConfig.include.push("samples-dev/**/*.ts");
|
|
72
|
+
highLevelTsConfig.compilerOptions["paths"] = {};
|
|
73
|
+
highLevelTsConfig.compilerOptions["paths"][clientPackageName] = ["./src/index"];
|
|
74
|
+
restLevelTsConfig.include.push("samples-dev/**/*.ts");
|
|
75
|
+
restLevelTsConfig.compilerOptions["paths"] = {};
|
|
76
|
+
restLevelTsConfig.compilerOptions["paths"][clientPackageName] = ["./src/index"];
|
|
77
|
+
}
|
|
50
78
|
const tsConfigContents = restLevelClient
|
|
51
79
|
? restLevelTsConfig
|
|
52
80
|
: highLevelTsConfig;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tsConfigFileGenerator.js","sourceRoot":"","sources":["../../../../src/generators/static/tsConfigFileGenerator.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;AAGlC,2DAA2D;AAE3D,MAAM,iBAAiB,
|
|
1
|
+
{"version":3,"file":"tsConfigFileGenerator.js","sourceRoot":"","sources":["../../../../src/generators/static/tsConfigFileGenerator.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;AAGlC,2DAA2D;AAE3D,MAAM,iBAAiB,GAAwB;IAC7C,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,GAAwB;IAC5D,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,GAAwB;IAC/D,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,IAAA,oCAAkB,GAAE,CAAC;IAEhI,IAAI,CAAC,gBAAgB,EAAE;QACrB,OAAO;KACR;IAED,MAAM,iBAAiB,GAAG,cAAc,CAAC,IAAI,CAAC;IAE9C,MAAM,iBAAiB,GAAG,aAAa,CAAC,CAAC,CAAC,gCAAgC,CAAC,CAAC,CAAC,mCAAmC,CAAC;IAEjH,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;QAChF,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;AAhCD,4CAgCC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"envBrowserFileGenerator.d.ts","sourceRoot":"","sources":["../../../../src/generators/test/envBrowserFileGenerator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAGnC,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,OAAO,QASjB"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.generateEnvBrowserFile = void 0;
|
|
4
|
+
const autorestSession_1 = require("../../autorestSession");
|
|
5
|
+
function generateEnvBrowserFile(project) {
|
|
6
|
+
const { generateTest, restLevelClient } = (0, autorestSession_1.getAutorestOptions)();
|
|
7
|
+
if (!generateTest || !restLevelClient) {
|
|
8
|
+
return;
|
|
9
|
+
}
|
|
10
|
+
project.createSourceFile("test/public/utils/env.browser.ts", "", {
|
|
11
|
+
overwrite: true
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
exports.generateEnvBrowserFile = generateEnvBrowserFile;
|
|
15
|
+
//# sourceMappingURL=envBrowserFileGenerator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"envBrowserFileGenerator.js","sourceRoot":"","sources":["../../../../src/generators/test/envBrowserFileGenerator.ts"],"names":[],"mappings":";;;AACA,2DAA2D;AAE3D,SAAgB,sBAAsB,CACpC,OAAgB;IAEhB,MAAM,EAAE,YAAY,EAAE,eAAe,EAAE,GAAG,IAAA,oCAAkB,GAAE,CAAC;IAC/D,IAAI,CAAC,YAAY,IAAI,CAAC,eAAe,EAAE;QACrC,OAAO;KACR;IACD,OAAO,CAAC,gBAAgB,CAAC,kCAAkC,EAAE,EAAE,EAAE;QAC/D,SAAS,EAAE,IAAI;KAChB,CAAC,CAAC;AACL,CAAC;AAVD,wDAUC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"envFileGenerator.d.ts","sourceRoot":"","sources":["../../../../src/generators/test/envFileGenerator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAMnC,wBAAgB,eAAe,CAC3B,OAAO,EAAE,OAAO,QAcjB"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.generateEnvFile = void 0;
|
|
4
|
+
const path = require("path");
|
|
5
|
+
const fs = require("fs");
|
|
6
|
+
const hbs = require("handlebars");
|
|
7
|
+
const autorestSession_1 = require("../../autorestSession");
|
|
8
|
+
function generateEnvFile(project) {
|
|
9
|
+
const { generateTest, restLevelClient } = (0, autorestSession_1.getAutorestOptions)();
|
|
10
|
+
if (!generateTest || !restLevelClient) {
|
|
11
|
+
return;
|
|
12
|
+
}
|
|
13
|
+
const metadata = {};
|
|
14
|
+
const file = fs.readFileSync(path.join(__dirname, "rlcEnv.ts.hbs"), {
|
|
15
|
+
encoding: "utf-8"
|
|
16
|
+
});
|
|
17
|
+
const envFileContents = hbs.compile(file, { noEscape: true });
|
|
18
|
+
project.createSourceFile("test/public/utils/env.ts", envFileContents(metadata), {
|
|
19
|
+
overwrite: true
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
exports.generateEnvFile = generateEnvFile;
|
|
23
|
+
//# sourceMappingURL=envFileGenerator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"envFileGenerator.js","sourceRoot":"","sources":["../../../../src/generators/test/envFileGenerator.ts"],"names":[],"mappings":";;;AACA,6BAA6B;AAC7B,yBAAyB;AACzB,kCAAkC;AAClC,2DAA2D;AAE3D,SAAgB,eAAe,CAC3B,OAAgB;IAEhB,MAAM,EAAE,YAAY,EAAE,eAAe,EAAE,GAAG,IAAA,oCAAkB,GAAE,CAAC;IAC/D,IAAI,CAAC,YAAY,IAAI,CAAC,eAAe,EAAE;QACrC,OAAO;KACR;IACD,MAAM,QAAQ,GAAG,EAAE,CAAA;IACnB,MAAM,IAAI,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,EAAE;QAClE,QAAQ,EAAE,OAAO;KAClB,CAAC,CAAC;IACH,MAAM,eAAe,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9D,OAAO,CAAC,gBAAgB,CAAC,0BAA0B,EAAE,eAAe,CAAC,QAAQ,CAAC,EAAE;QAC9E,SAAS,EAAE,IAAI;KAChB,CAAC,CAAC;AACL,CAAC;AAfH,0CAeG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"recordedClientFileGenerator.d.ts","sourceRoot":"","sources":["../../../../src/generators/test/recordedClientFileGenerator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAMnC,wBAAgB,0BAA0B,CACtC,OAAO,EAAE,OAAO,QAcjB"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.generateRecordedClientFile = void 0;
|
|
4
|
+
const path = require("path");
|
|
5
|
+
const fs = require("fs");
|
|
6
|
+
const hbs = require("handlebars");
|
|
7
|
+
const autorestSession_1 = require("../../autorestSession");
|
|
8
|
+
function generateRecordedClientFile(project) {
|
|
9
|
+
const { generateTest, restLevelClient } = (0, autorestSession_1.getAutorestOptions)();
|
|
10
|
+
if (!generateTest || !restLevelClient) {
|
|
11
|
+
return;
|
|
12
|
+
}
|
|
13
|
+
const metadata = {};
|
|
14
|
+
const file = fs.readFileSync(path.join(__dirname, "rlcRecordedClient.ts.hbs"), {
|
|
15
|
+
encoding: "utf-8"
|
|
16
|
+
});
|
|
17
|
+
const recordedClientFileContents = hbs.compile(file, { noEscape: true });
|
|
18
|
+
project.createSourceFile("test/public/utils/recordedClient.ts", recordedClientFileContents(metadata), {
|
|
19
|
+
overwrite: true
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
exports.generateRecordedClientFile = generateRecordedClientFile;
|
|
23
|
+
//# sourceMappingURL=recordedClientFileGenerator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"recordedClientFileGenerator.js","sourceRoot":"","sources":["../../../../src/generators/test/recordedClientFileGenerator.ts"],"names":[],"mappings":";;;AACA,6BAA6B;AAC7B,yBAAyB;AACzB,kCAAkC;AAClC,2DAA2D;AAE3D,SAAgB,0BAA0B,CACtC,OAAgB;IAEhB,MAAM,EAAE,YAAY,EAAE,eAAe,EAAE,GAAG,IAAA,oCAAkB,GAAE,CAAC;IAC/D,IAAI,CAAC,YAAY,IAAI,CAAC,eAAe,EAAE;QACrC,OAAO;KACR;IACD,MAAM,QAAQ,GAAG,EAAE,CAAA;IACnB,MAAM,IAAI,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,0BAA0B,CAAC,EAAE;QAC7E,QAAQ,EAAE,OAAO;KAClB,CAAC,CAAC;IACH,MAAM,0BAA0B,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IACzE,OAAO,CAAC,gBAAgB,CAAC,qCAAqC,EAAE,0BAA0B,CAAC,QAAQ,CAAC,EAAE;QACpG,SAAS,EAAE,IAAI;KAChB,CAAC,CAAC;AACL,CAAC;AAfH,gEAeG"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { Context } from "mocha";
|
|
2
|
+
import { Recorder, RecorderStartOptions } from "@azure-tools/test-recorder";
|
|
3
|
+
import "./env";
|
|
4
|
+
|
|
5
|
+
const envSetupForPlayback: Record<string, string> = {
|
|
6
|
+
ENDPOINT: "https://endpoint",
|
|
7
|
+
AZURE_CLIENT_ID: "azure_client_id",
|
|
8
|
+
AZURE_CLIENT_SECRET: "azure_client_secret",
|
|
9
|
+
AZURE_TENANT_ID: "88888888-8888-8888-8888-888888888888",
|
|
10
|
+
SUBSCRIPTION_ID: "azure_subscription_id"
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
const recorderEnvSetup: RecorderStartOptions = {
|
|
14
|
+
envSetupForPlayback
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* creates the recorder and reads the environment variables from the `.env` file.
|
|
19
|
+
* Should be called first in the test suite to make sure environment variables are
|
|
20
|
+
* read before they are being used.
|
|
21
|
+
*/
|
|
22
|
+
export async function createRecorder(context: Context): Promise<Recorder> {
|
|
23
|
+
const recorder = new Recorder(context.currentTest);
|
|
24
|
+
await recorder.start(recorderEnvSetup);
|
|
25
|
+
return recorder;
|
|
26
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { Recorder } from "@azure-tools/test-recorder";
|
|
2
|
+
import { assert } from "chai";
|
|
3
|
+
import { createRecorder } from "./utils/recordedClient";
|
|
4
|
+
import { Context } from "mocha";
|
|
5
|
+
|
|
6
|
+
describe("My test", () => {
|
|
7
|
+
let recorder: Recorder;
|
|
8
|
+
|
|
9
|
+
beforeEach(async function(this: Context) {
|
|
10
|
+
recorder = await createRecorder(this);
|
|
11
|
+
});
|
|
12
|
+
|
|
13
|
+
afterEach(async function() {
|
|
14
|
+
await recorder.stop();
|
|
15
|
+
});
|
|
16
|
+
|
|
17
|
+
it("sample test", async function() {
|
|
18
|
+
assert.equal(1, 1);
|
|
19
|
+
});
|
|
20
|
+
});
|