@azure-tools/rlc-common 0.23.0 → 0.24.0
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/.rush/temp/operation/build/state.json +1 -1
- package/.rush/temp/package-deps_build.json +12 -12
- package/CHANGELOG.md +10 -0
- package/dist/buildClient.js +4 -4
- package/dist/buildClient.js.map +1 -1
- package/dist/buildLogger.js +2 -2
- package/dist/buildLogger.js.map +1 -1
- package/dist/buildObjectTypes.js +10 -7
- package/dist/buildObjectTypes.js.map +1 -1
- package/dist/helpers/importsUtil.js +13 -13
- package/dist/helpers/importsUtil.js.map +1 -1
- package/dist/interfaces.js.map +1 -1
- package/dist/metadata/buildESLintConfig.js +2 -3
- package/dist/metadata/buildESLintConfig.js.map +1 -1
- package/dist/metadata/buildPackageFile.js +2 -2
- package/dist/metadata/buildPackageFile.js.map +1 -1
- package/dist/metadata/buildReadmeFile.js +4 -4
- package/dist/metadata/buildReadmeFile.js.map +1 -1
- package/dist/metadata/buildRollupConfig.js +3 -3
- package/dist/metadata/buildRollupConfig.js.map +1 -1
- package/dist/package.json +1 -1
- package/dist-esm/buildClient.js +4 -4
- package/dist-esm/buildClient.js.map +1 -1
- package/dist-esm/buildLogger.js +2 -2
- package/dist-esm/buildLogger.js.map +1 -1
- package/dist-esm/buildObjectTypes.js +8 -5
- package/dist-esm/buildObjectTypes.js.map +1 -1
- package/dist-esm/helpers/importsUtil.js +13 -13
- package/dist-esm/helpers/importsUtil.js.map +1 -1
- package/dist-esm/interfaces.js.map +1 -1
- package/dist-esm/metadata/buildESLintConfig.js +1 -2
- package/dist-esm/metadata/buildESLintConfig.js.map +1 -1
- package/dist-esm/metadata/buildPackageFile.js +2 -2
- package/dist-esm/metadata/buildPackageFile.js.map +1 -1
- package/dist-esm/metadata/buildReadmeFile.js +4 -4
- package/dist-esm/metadata/buildReadmeFile.js.map +1 -1
- package/dist-esm/metadata/buildRollupConfig.js +2 -2
- package/dist-esm/metadata/buildRollupConfig.js.map +1 -1
- package/dist-esm/package.json +1 -1
- package/package.json +1 -1
- package/src/buildClient.ts +4 -4
- package/src/buildLogger.ts +2 -2
- package/src/buildObjectTypes.ts +16 -5
- package/src/helpers/importsUtil.ts +13 -13
- package/src/interfaces.ts +6 -1
- package/src/metadata/buildESLintConfig.ts +1 -2
- package/src/metadata/buildPackageFile.ts +2 -2
- package/src/metadata/buildReadmeFile.ts +4 -4
- package/src/metadata/buildRollupConfig.ts +4 -2
- package/test/helpers/importsUtil.spec.ts +4 -4
- package/types/helpers/importsUtil.d.ts +3 -3
- package/types/interfaces.d.ts +5 -1
|
@@ -4,7 +4,7 @@ import { RLCModel } from "../interfaces.js";
|
|
|
4
4
|
import hbs from "handlebars";
|
|
5
5
|
import { NameType, normalizeName } from "../helpers/nameUtils.js";
|
|
6
6
|
|
|
7
|
-
const
|
|
7
|
+
const azureReadmeTemplate = `# {{ clientDescriptiveName }} library for JavaScript
|
|
8
8
|
|
|
9
9
|
{{ description }}
|
|
10
10
|
|
|
@@ -162,9 +162,9 @@ interface Metadata {
|
|
|
162
162
|
export function buildReadmeFile(model: RLCModel) {
|
|
163
163
|
const metadata = createMetadata(model) ?? {};
|
|
164
164
|
const readmeFileContents = hbs.compile(
|
|
165
|
-
model.options?.
|
|
166
|
-
?
|
|
167
|
-
:
|
|
165
|
+
model.options?.flavor === "azure"
|
|
166
|
+
? azureReadmeTemplate
|
|
167
|
+
: nonBrandedReadmeTemplate,
|
|
168
168
|
{ noEscape: true }
|
|
169
169
|
);
|
|
170
170
|
return {
|
|
@@ -6,9 +6,11 @@ import { RLCModel } from "../interfaces.js";
|
|
|
6
6
|
|
|
7
7
|
export function buildRollupConfig(model: RLCModel) {
|
|
8
8
|
const azureSdkForJs = Boolean(model.options?.azureSdkForJs);
|
|
9
|
-
const isBranded = model.options?.branded ?? true;
|
|
10
9
|
// Only generate the file when it is not in sdk repo
|
|
11
|
-
if (
|
|
10
|
+
if (
|
|
11
|
+
model.options?.flavor === "azure" &&
|
|
12
|
+
(azureSdkForJs === true || azureSdkForJs === undefined)
|
|
13
|
+
) {
|
|
12
14
|
return;
|
|
13
15
|
}
|
|
14
16
|
|
|
@@ -7,7 +7,7 @@ import {
|
|
|
7
7
|
|
|
8
8
|
describe("#buildRuntimeImports", () => {
|
|
9
9
|
it("should return the correct import set for branded scope", () => {
|
|
10
|
-
const imports = buildRuntimeImports(
|
|
10
|
+
const imports = buildRuntimeImports("azure");
|
|
11
11
|
expect(imports.commonFallback).to.be.undefined;
|
|
12
12
|
expect(imports.restClient).to.deep.equal({
|
|
13
13
|
type: "restClient",
|
|
@@ -17,7 +17,7 @@ describe("#buildRuntimeImports", () => {
|
|
|
17
17
|
});
|
|
18
18
|
|
|
19
19
|
it("should return the correct import set for non-branded scope", () => {
|
|
20
|
-
const imports = buildRuntimeImports(
|
|
20
|
+
const imports = buildRuntimeImports(undefined);
|
|
21
21
|
expect(imports.commonFallback).to.deep.equal({
|
|
22
22
|
type: "commonFallback",
|
|
23
23
|
specifier: "@typespec/ts-http-runtime",
|
|
@@ -41,7 +41,7 @@ describe("#getImportSpecifier", () => {
|
|
|
41
41
|
});
|
|
42
42
|
|
|
43
43
|
describe("#branded", () => {
|
|
44
|
-
const branded = buildRuntimeImports(
|
|
44
|
+
const branded = buildRuntimeImports("azure");
|
|
45
45
|
it("should return the correct import specifier for core auth", () => {
|
|
46
46
|
expect(getImportSpecifier("coreAuth", branded)).to.equal(
|
|
47
47
|
"@azure/core-auth"
|
|
@@ -54,7 +54,7 @@ describe("#getImportSpecifier", () => {
|
|
|
54
54
|
});
|
|
55
55
|
|
|
56
56
|
describe("#non-branded", () => {
|
|
57
|
-
const nonBranded = buildRuntimeImports(
|
|
57
|
+
const nonBranded = buildRuntimeImports(undefined);
|
|
58
58
|
it("should return the correct import specifier for core auth", () => {
|
|
59
59
|
expect(getImportSpecifier("coreAuth", nonBranded)).to.equal(
|
|
60
60
|
"@typespec/ts-http-runtime"
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { SourceFile } from "ts-morph";
|
|
2
|
-
import { ImportType, Imports } from "../interfaces.js";
|
|
2
|
+
import { ImportType, Imports, PackageFlavor } from "../interfaces.js";
|
|
3
3
|
/**
|
|
4
4
|
* Build the common imports for generated SDK
|
|
5
|
-
* @param
|
|
5
|
+
* @param flavor flavor of SDK to generate, if any. When set to "azure", Azure Core packages will be used. When unset, the generic `ts-http-runtime` package will be used.
|
|
6
6
|
* @returns
|
|
7
7
|
*/
|
|
8
|
-
export declare function buildRuntimeImports(
|
|
8
|
+
export declare function buildRuntimeImports(flavor?: PackageFlavor): Imports;
|
|
9
9
|
/**
|
|
10
10
|
* Initialize the inner imports for parameter and response, the import set would be used for referred models
|
|
11
11
|
* @returns
|
package/types/interfaces.d.ts
CHANGED
|
@@ -143,6 +143,10 @@ export interface OperationLroDetail {
|
|
|
143
143
|
*/
|
|
144
144
|
precedence?: number;
|
|
145
145
|
}
|
|
146
|
+
/**
|
|
147
|
+
* Flavor of the package to generate. If "azure", an Azure-branded package should be generated. If left undefined, a package without Azure branding will be generated.
|
|
148
|
+
*/
|
|
149
|
+
export type PackageFlavor = "azure" | undefined;
|
|
146
150
|
export interface RLCOptions {
|
|
147
151
|
includeShortcuts?: boolean;
|
|
148
152
|
multiClient?: boolean;
|
|
@@ -184,7 +188,7 @@ export interface RLCOptions {
|
|
|
184
188
|
sourceFrom?: "TypeSpec" | "Swagger";
|
|
185
189
|
isModularLibrary?: boolean;
|
|
186
190
|
enableOperationGroup?: boolean;
|
|
187
|
-
|
|
191
|
+
flavor?: PackageFlavor;
|
|
188
192
|
enableModelNamespace?: boolean;
|
|
189
193
|
hierarchyClient?: boolean;
|
|
190
194
|
}
|