@azure-tools/typespec-azure-core 0.40.0-dev.0 → 0.40.0-dev.3

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 CHANGED
@@ -25,6 +25,7 @@ linter:
25
25
  Available ruleSets:
26
26
 
27
27
  - [`@azure-tools/typespec-azure-core/all`](#@azure-tools/typespec-azure-core/all)
28
+ - [`@azure-tools/typespec-azure-core/canonical-versioning`](#@azure-tools/typespec-azure-core/canonical-versioning)
28
29
 
29
30
  ### Rules
30
31
 
@@ -32,37 +33,38 @@ Available ruleSets:
32
33
  | ------------------------------------------------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------- |
33
34
  | `@azure-tools/typespec-azure-core/operation-missing-api-version` | Operations need an api version parameter. |
34
35
  | `@azure-tools/typespec-azure-core/auth-required` | Enforce service authentication. |
35
- | `@azure-tools/typespec-azure-core/no-operation-id` | Operation ID is automatically generated by the OpenAPI emitters and should not normally be specified. |
36
36
  | `@azure-tools/typespec-azure-core/request-body-problem` | Request body should not be of raw array type. |
37
37
  | `@azure-tools/typespec-azure-core/byos` | Use the BYOS pattern recommended for Azure Services. |
38
38
  | `@azure-tools/typespec-azure-core/casing-style` | Ensure proper casing style. |
39
- | `@azure-tools/typespec-azure-core/spread-discriminated-model` | Check a model with a discriminator has not been used in composition. |
40
39
  | `@azure-tools/typespec-azure-core/composition-over-inheritance` | Check that if a model is used in an operation and has derived models that it has a discriminator or recommend to use composition via spread or `is`. |
41
- | `@azure-tools/typespec-azure-core/prefer-csv-collection-format` | It is recommended to use "csv" for collection format of parameters. |
42
40
  | `@azure-tools/typespec-azure-core/use-extensible-enum` | Enums should be extensible. |
43
41
  | `@azure-tools/typespec-azure-core/known-encoding` | Check for supported encodings. |
44
- | `@azure-tools/typespec-azure-core/use-standard-operations` | Operations should be defined using a signature from the Azure.Core namespace. |
42
+ | `@azure-tools/typespec-azure-core/long-running-polling-operation-required` | Long-running operations should have a linked polling operation. |
45
43
  | [`@azure-tools/typespec-azure-core/no-closed-literal-union`](https://azure.github.io/typespec-azure/docs/libraries/azure-core/rules/no-closed-literal-union) | Unions of literals should include the base scalar type to mark them as open enum. |
46
44
  | [`@azure-tools/typespec-azure-core/no-enum`](https://azure.github.io/typespec-azure/docs/libraries/azure-core/rules/no-enum) | Azure services should not use enums. |
47
45
  | `@azure-tools/typespec-azure-core/no-error-status-codes` | Recommend using the error response defined by Azure REST API guidelines. |
46
+ | `@azure-tools/typespec-azure-core/no-explicit-routes-resource-ops` | The @route decorator should not be used on standard resource operation signatures. |
48
47
  | `@azure-tools/typespec-azure-core/no-fixed-enum-discriminator` | Discriminator shouldn't be a fixed enum. |
48
+ | [`@azure-tools/typespec-azure-core/non-breaking-versioning`](https://azure.github.io/typespec-azure/docs/libraries/azure-core/rules/non-breaking-versioning) | Check that only backward compatible versioning change are done to a service. |
49
49
  | `@azure-tools/typespec-azure-core/no-nullable` | Use `?` for optional properties. |
50
50
  | `@azure-tools/typespec-azure-core/no-offsetdatetime` | Prefer using `utcDateTime` when representing a datetime unless an offset is necessary. |
51
- | `@azure-tools/typespec-azure-core/no-rpc-path-params` | Operations defined using RpcOperation should not have path parameters. |
52
- | `@azure-tools/typespec-azure-core/no-explicit-routes-resource-ops` | The @route decorator should not be used on standard resource operation signatures. |
53
51
  | `@azure-tools/typespec-azure-core/no-response-body` | Ensure that the body is set correctly for the response type. |
52
+ | `@azure-tools/typespec-azure-core/no-rpc-path-params` | Operations defined using RpcOperation should not have path parameters. |
53
+ | `@azure-tools/typespec-azure-core/no-operation-id` | Operation ID is automatically generated by the OpenAPI emitters and should not normally be specified. |
54
+ | `@azure-tools/typespec-azure-core/prefer-csv-collection-format` | It is recommended to use "csv" for collection format of parameters. |
54
55
  | `@azure-tools/typespec-azure-core/no-format` | Azure services should not use the `@format` decorator. |
55
56
  | `@azure-tools/typespec-azure-core/no-multiple-discriminator` | Classes should have at most one discriminator. |
56
57
  | `@azure-tools/typespec-azure-core/no-rest-library-interfaces` | Resource interfaces from the TypeSpec.Rest.Resource library are incompatible with Azure.Core. |
57
58
  | `@azure-tools/typespec-azure-core/no-unknown` | Azure services must not have properties of type `unknown`. |
58
- | `@azure-tools/typespec-azure-core/bad-record-type` | Identify bad record definitions. |
59
- | `@azure-tools/typespec-azure-core/response-schema-problem` | Warn about operations having multiple non-error response schemas. |
60
59
  | `@azure-tools/typespec-azure-core/property-name-conflict` | Avoid naming conflicts. |
61
- | `@azure-tools/typespec-azure-core/rpc-operation-request-body` | Warning for RPC body problems. |
60
+ | `@azure-tools/typespec-azure-core/bad-record-type` | Identify bad record definitions. |
62
61
  | `@azure-tools/typespec-azure-core/documentation-required` | Require documentation over enums, models, and operations. |
63
62
  | `@azure-tools/typespec-azure-core/key-visibility-required` | Key properties need to have an explicit visibility setting. |
64
- | `@azure-tools/typespec-azure-core/long-running-polling-operation-required` | Long-running operations should have a linked polling operation. |
63
+ | `@azure-tools/typespec-azure-core/response-schema-problem` | Warn about operations having multiple non-error response schemas. |
64
+ | `@azure-tools/typespec-azure-core/rpc-operation-request-body` | Warning for RPC body problems. |
65
+ | `@azure-tools/typespec-azure-core/spread-discriminated-model` | Check a model with a discriminator has not been used in composition. |
65
66
  | `@azure-tools/typespec-azure-core/use-standard-names` | Use recommended names for operations. |
67
+ | `@azure-tools/typespec-azure-core/use-standard-operations` | Operations should be defined using a signature from the Azure.Core namespace. |
66
68
 
67
69
  ## Decorators
68
70
 
@@ -167,7 +169,7 @@ Identifies an EnumMember as a long-running "Canceled" terminal state.
167
169
 
168
170
  ##### Target
169
171
 
170
- `EnumMember`
172
+ `union EnumMember | UnionVariant`
171
173
 
172
174
  ##### Parameters
173
175
 
@@ -202,7 +204,7 @@ Identifies an enum member as a long-running "Failed" terminal state.
202
204
 
203
205
  ##### Target
204
206
 
205
- `EnumMember`
207
+ `union EnumMember | UnionVariant`
206
208
 
207
209
  ##### Parameters
208
210
 
@@ -238,7 +240,7 @@ status.
238
240
 
239
241
  ##### Target
240
242
 
241
- `union Enum | ModelProperty`
243
+ `union Enum | Union | ModelProperty`
242
244
 
243
245
  ##### Parameters
244
246
 
@@ -255,7 +257,7 @@ Identifies an EnumMember as a long-running "Succeeded" terminal state.
255
257
 
256
258
  ##### Target
257
259
 
258
- `EnumMember`
260
+ `union EnumMember | UnionVariant`
259
261
 
260
262
  ##### Parameters
261
263
 
@@ -1,4 +1,4 @@
1
- import { DecoratorContext, Diagnostic, Enum, EnumMember, IntrinsicType, Model, ModelProperty, Operation, Program, Scalar, StringLiteral, Type } from "@typespec/compiler";
1
+ import { DecoratorContext, Diagnostic, Enum, EnumMember, IntrinsicType, Model, ModelProperty, Operation, Program, Scalar, StringLiteral, Type, Union, UnionVariant } from "@typespec/compiler";
2
2
  import { OperationLink } from "./lro-helpers.js";
3
3
  import { PropertyMap, ResultInfo, StatusMonitorMetadata } from "./lro-info.js";
4
4
  export declare const PollingOperationKey: string;
@@ -46,7 +46,7 @@ export interface LongRunningStates {
46
46
  canceledState: string[];
47
47
  states: string[];
48
48
  }
49
- export declare function $lroStatus(context: DecoratorContext, entity: Enum | ModelProperty): void;
49
+ export declare function $lroStatus(context: DecoratorContext, entity: Enum | Union | ModelProperty): void;
50
50
  export declare function extractLroStates(program: Program, entity: Type): [LongRunningStates | undefined, readonly Diagnostic[]];
51
51
  /**
52
52
  * Returns the `LongRunningStates` associated with `entity`.
@@ -90,21 +90,21 @@ export declare function $lroErrorResult(context: DecoratorContext, entity: Model
90
90
  export declare function getLroErrorResult(program: Program, entity: Model, useDefault?: boolean): [ModelProperty | undefined, readonly Diagnostic[]];
91
91
  export declare function $pollingOperationParameter(context: DecoratorContext, entity: ModelProperty, target?: ModelProperty | StringLiteral): void;
92
92
  export declare function getPollingOperationParameter(program: Program, entity: ModelProperty): string | ModelProperty | undefined;
93
- export declare function $lroSucceeded(context: DecoratorContext, entity: EnumMember): void;
93
+ export declare function $lroSucceeded(context: DecoratorContext, entity: EnumMember | UnionVariant): void;
94
94
  /**
95
95
  * Returns `true` if the enum member represents a "succeeded" state.
96
96
  */
97
- export declare function isLroSucceededState(program: Program, entity: EnumMember): boolean;
98
- export declare function $lroCanceled(context: DecoratorContext, entity: EnumMember): void;
97
+ export declare function isLroSucceededState(program: Program, entity: EnumMember | UnionVariant): boolean;
98
+ export declare function $lroCanceled(context: DecoratorContext, entity: EnumMember | UnionVariant): void;
99
99
  /**
100
100
  * Returns `true` if the enum member represents a "canceled" state.
101
101
  */
102
- export declare function isLroCanceledState(program: Program, entity: EnumMember): boolean;
103
- export declare function $lroFailed(context: DecoratorContext, entity: EnumMember): void;
102
+ export declare function isLroCanceledState(program: Program, entity: EnumMember | UnionVariant): boolean;
103
+ export declare function $lroFailed(context: DecoratorContext, entity: EnumMember | UnionVariant): void;
104
104
  /**
105
105
  * Returns `true` if the enum member represents a "failed" state.
106
106
  */
107
- export declare function isLroFailedState(program: Program, entity: EnumMember): boolean;
107
+ export declare function isLroFailedState(program: Program, entity: EnumMember | UnionVariant): boolean;
108
108
  /** Extra information about polling control stored with a polling link */
109
109
  export type PollingLocationInfo = StatusMonitorPollingLocationInfo;
110
110
  /** The abstract type for polling control information */
@@ -1 +1 @@
1
- {"version":3,"file":"decorators.d.ts","sourceRoot":"","sources":["../../src/decorators.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"decorators.d.ts","sourceRoot":"","sources":["../../src/decorators.ts"],"names":[],"mappings":"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"}
@@ -177,7 +177,7 @@ export function $lroStatus(context, entity) {
177
177
  context.program.reportDiagnostics(diagnostics);
178
178
  context.program.stateMap(lroStatusKey).set(entity, states);
179
179
  }
180
- function storeLroState(program, states, name, enumMember) {
180
+ function storeLroState(program, states, name, member) {
181
181
  const expectedStates = [
182
182
  ["Succeeded", isLroSucceededState, () => states.succeededState.push(name)],
183
183
  ["Failed", isLroFailedState, () => states.failedState.push(name)],
@@ -185,7 +185,7 @@ function storeLroState(program, states, name, enumMember) {
185
185
  ];
186
186
  states.states.push(name);
187
187
  for (const [knownState, stateTest, setter] of expectedStates) {
188
- if (name === knownState || (enumMember && stateTest(program, enumMember))) {
188
+ if (name === knownState || (member && stateTest(program, member))) {
189
189
  setter();
190
190
  break;
191
191
  }
@@ -211,7 +211,16 @@ export function extractLroStates(program, entity) {
211
211
  else if (entity.kind === "Union") {
212
212
  for (const variant of entity.variants.values()) {
213
213
  const option = variant.type;
214
- if (option.kind !== "String") {
214
+ if (option.kind === "Enum") {
215
+ for (const member of option.members.values()) {
216
+ storeLroState(program, result, member.name, member);
217
+ }
218
+ }
219
+ else if (option.kind === "Scalar" && option.name === "string") {
220
+ // Ignore string marking this union as open.
221
+ continue;
222
+ }
223
+ else if (option.kind !== "String") {
215
224
  diagnostics.add(createDiagnostic({
216
225
  code: "lro-status-union-non-string",
217
226
  target: option,
@@ -221,7 +230,9 @@ export function extractLroStates(program, entity) {
221
230
  }));
222
231
  return diagnostics.wrap(undefined);
223
232
  }
224
- storeLroState(program, result, option.value);
233
+ else {
234
+ storeLroState(program, result, option.value, variant);
235
+ }
225
236
  }
226
237
  }
227
238
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../src/decorators.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../src/decorators.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { Diagnostic, Union, UnionVariant } from "@typespec/compiler";
1
+ import { Diagnostic, EnumMember, Union, UnionVariant } from "@typespec/compiler";
2
2
  export interface UnionEnumBase<K extends string, T> {
3
3
  kind: K;
4
4
  /** Reference to the type used to construct this enum */
@@ -16,8 +16,8 @@ export interface UnionEnumBase<K extends string, T> {
16
16
  }
17
17
  export interface UnionEnumVariant<T> {
18
18
  value: T;
19
- /** Reference to the type used to construct this enum */
20
- variant: UnionVariant;
19
+ /** Reference to the type used to construct this enum member */
20
+ type: UnionVariant | EnumMember;
21
21
  }
22
22
  export type UnionEnum = UnionEnumBase<"string", string> | UnionEnumBase<"number", number>;
23
23
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"union-enums.d.ts","sourceRoot":"","sources":["../../../src/helpers/union-enums.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EAEV,KAAK,EACL,YAAY,EAGb,MAAM,oBAAoB,CAAC;AAG5B,MAAM,WAAW,aAAa,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC;IAChD,IAAI,EAAE,CAAC,CAAC;IACR,wDAAwD;IACxD,KAAK,EAAE,KAAK,CAAC;IACb,2BAA2B;IAC3B,OAAO,EAAE,GAAG,CAAC,MAAM,GAAG,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;IACnD,yCAAyC;IACzC,OAAO,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC7B,+HAA+H;IAC/H,gBAAgB,EAAE,GAAG,CAAC,MAAM,GAAG,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5D,2BAA2B;IAC3B,IAAI,EAAE,OAAO,CAAC;IACd,8CAA8C;IAC9C,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,gBAAgB,CAAC,CAAC;IACjC,KAAK,EAAE,CAAC,CAAC;IACT,wDAAwD;IACxD,OAAO,EAAE,YAAY,CAAC;CACvB;AAED,MAAM,MAAM,SAAS,GAAG,aAAa,CAAC,QAAQ,EAAE,MAAM,CAAC,GAAG,aAAa,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;AAE1F;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,KAAK,GAAG,CAAC,SAAS,GAAG,SAAS,EAAE,SAAS,UAAU,EAAE,CAAC,CAE3F"}
1
+ {"version":3,"file":"union-enums.d.ts","sourceRoot":"","sources":["../../../src/helpers/union-enums.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,UAAU,EAEV,KAAK,EACL,YAAY,EAGb,MAAM,oBAAoB,CAAC;AAG5B,MAAM,WAAW,aAAa,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC;IAChD,IAAI,EAAE,CAAC,CAAC;IACR,wDAAwD;IACxD,KAAK,EAAE,KAAK,CAAC;IACb,2BAA2B;IAC3B,OAAO,EAAE,GAAG,CAAC,MAAM,GAAG,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;IACnD,yCAAyC;IACzC,OAAO,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC7B,+HAA+H;IAC/H,gBAAgB,EAAE,GAAG,CAAC,MAAM,GAAG,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5D,2BAA2B;IAC3B,IAAI,EAAE,OAAO,CAAC;IACd,8CAA8C;IAC9C,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,gBAAgB,CAAC,CAAC;IACjC,KAAK,EAAE,CAAC,CAAC;IACT,+DAA+D;IAC/D,IAAI,EAAE,YAAY,GAAG,UAAU,CAAC;CACjC;AAED,MAAM,MAAM,SAAS,GAAG,aAAa,CAAC,QAAQ,EAAE,MAAM,CAAC,GAAG,aAAa,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;AAE1F;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,KAAK,GAAG,CAAC,SAAS,GAAG,SAAS,EAAE,SAAS,UAAU,EAAE,CAAC,CAE3F"}
@@ -51,6 +51,7 @@ export function getUnionAsEnum(union) {
51
51
  return getUnionAsEnumInternal(union, new Set());
52
52
  }
53
53
  function getUnionAsEnumInternal(union, visited) {
54
+ var _a;
54
55
  if (visited.has(union)) {
55
56
  return [undefined, [createDiagnostic({ code: "union-enums-circular", target: union })]];
56
57
  }
@@ -80,11 +81,11 @@ function getUnionAsEnumInternal(union, visited) {
80
81
  break;
81
82
  case "String":
82
83
  kinds.add("string");
83
- members.set(variant.name, { value: variant.type.value, variant });
84
+ members.set(variant.name, { value: variant.type.value, type: variant });
84
85
  break;
85
86
  case "Number":
86
87
  kinds.add("number");
87
- members.set(variant.name, { value: variant.type.value, variant });
88
+ members.set(variant.name, { value: variant.type.value, type: variant });
88
89
  break;
89
90
  case "Union":
90
91
  const parentUnion = diagnostics.pipe(getUnionAsEnumInternal(variant.type, visited));
@@ -101,6 +102,12 @@ function getUnionAsEnumInternal(union, visited) {
101
102
  }
102
103
  }
103
104
  break;
105
+ case "Enum":
106
+ for (const member of variant.type.members.values()) {
107
+ kinds.add(typeof member.value === "number" ? "number" : "string");
108
+ flattenedMembers.set(member.name, { value: (_a = member.value) !== null && _a !== void 0 ? _a : member.name, type: member });
109
+ }
110
+ break;
104
111
  case "Scalar":
105
112
  const scalar = variant.type;
106
113
  switch (scalar.name) {
@@ -1 +1 @@
1
- {"version":3,"file":"union-enums.js","sourceRoot":"","sources":["../../../src/helpers/union-enums.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"union-enums.js","sourceRoot":"","sources":["../../../src/helpers/union-enums.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"linter.d.ts","sourceRoot":"","sources":["../../src/linter.ts"],"names":[],"mappings":"AAoCA,eAAO,MAAM,OAAO,+CA6ElB,CAAC"}
1
+ {"version":3,"file":"linter.d.ts","sourceRoot":"","sources":["../../src/linter.ts"],"names":[],"mappings":"AA0EA,eAAO,MAAM,OAAO,+CAgDlB,CAAC"}
@@ -18,6 +18,7 @@ import { noOffsetDateTimeRule } from "./rules/no-offsetdatetime.js";
18
18
  import { operationIdRule } from "./rules/no-operation-id.js";
19
19
  import { noResponseBodyRule } from "./rules/no-response-body.js";
20
20
  import { noRpcPathParamsRule } from "./rules/no-rpc-path-params.js";
21
+ import { nonBreakingVersioningRule } from "./rules/non-breaking-versioning.js";
21
22
  import { preferCsvCollectionFormatRule } from "./rules/prefer-csv-collection-format.js";
22
23
  import { preventFormatUse } from "./rules/prevent-format.js";
23
24
  import { preventMultipleDiscriminator } from "./rules/prevent-multiple-discriminator.js";
@@ -33,42 +34,44 @@ import { rpcOperationRequestBodyRule } from "./rules/rpc-operation-request-body.
33
34
  import { spreadDiscriminatedModelRule } from "./rules/spread-discriminated-model.js";
34
35
  import { useStandardNames } from "./rules/use-standard-names.js";
35
36
  import { useStandardOperations } from "./rules/use-standard-ops.js";
37
+ const rules = [
38
+ apiVersionRule,
39
+ authRequiredRule,
40
+ bodyArrayRule,
41
+ byosRule,
42
+ casingRule,
43
+ compositionOverInheritanceRule,
44
+ extensibleEnumRule,
45
+ knownEncodingRule,
46
+ longRunningOperationsRequirePollingOperation,
47
+ noClosedLiteralUnionRule,
48
+ noEnumRule,
49
+ noErrorStatusCodesRule,
50
+ noExplicitRoutesResourceOps,
51
+ noFixedEnumDiscriminatorRule,
52
+ nonBreakingVersioningRule,
53
+ noNullableRule,
54
+ noOffsetDateTimeRule,
55
+ noResponseBodyRule,
56
+ noRpcPathParamsRule,
57
+ operationIdRule,
58
+ preferCsvCollectionFormatRule,
59
+ preventFormatUse,
60
+ preventMultipleDiscriminator,
61
+ preventRestLibraryInterfaces,
62
+ preventUnknownType,
63
+ propertyNameRule,
64
+ recordTypeRule,
65
+ requireDocumentation,
66
+ requireKeyVisibility,
67
+ responseSchemaMultiStatusCodeRule,
68
+ rpcOperationRequestBodyRule,
69
+ spreadDiscriminatedModelRule,
70
+ useStandardNames,
71
+ useStandardOperations,
72
+ ];
36
73
  export const $linter = defineLinter({
37
- rules: [
38
- apiVersionRule,
39
- authRequiredRule,
40
- operationIdRule,
41
- bodyArrayRule,
42
- byosRule,
43
- casingRule,
44
- spreadDiscriminatedModelRule,
45
- compositionOverInheritanceRule,
46
- preferCsvCollectionFormatRule,
47
- extensibleEnumRule,
48
- knownEncodingRule,
49
- useStandardOperations,
50
- noClosedLiteralUnionRule,
51
- noEnumRule,
52
- noErrorStatusCodesRule,
53
- noFixedEnumDiscriminatorRule,
54
- noNullableRule,
55
- noOffsetDateTimeRule,
56
- noRpcPathParamsRule,
57
- noExplicitRoutesResourceOps,
58
- noResponseBodyRule,
59
- preventFormatUse,
60
- preventMultipleDiscriminator,
61
- preventRestLibraryInterfaces,
62
- preventUnknownType,
63
- recordTypeRule,
64
- responseSchemaMultiStatusCodeRule,
65
- propertyNameRule,
66
- rpcOperationRequestBodyRule,
67
- requireDocumentation,
68
- requireKeyVisibility,
69
- longRunningOperationsRequirePollingOperation,
70
- useStandardNames,
71
- ],
74
+ rules,
72
75
  ruleSets: {
73
76
  all: {
74
77
  enable: {
@@ -108,6 +111,11 @@ export const $linter = defineLinter({
108
111
  },
109
112
  extends: ["@typespec/http/all"],
110
113
  },
114
+ "canonical-versioning": {
115
+ enable: {
116
+ [`@azure-tools/typespec-azure-core/${nonBreakingVersioningRule.name}`]: false,
117
+ },
118
+ },
111
119
  },
112
120
  });
113
121
  //# sourceMappingURL=linter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"linter.js","sourceRoot":"","sources":["../../src/linter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"linter.js","sourceRoot":"","sources":["../../src/linter.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"no-enum.d.ts","sourceRoot":"","sources":["../../../src/rules/no-enum.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,UAAU;;EAkBrB,CAAC"}
1
+ {"version":3,"file":"no-enum.d.ts","sourceRoot":"","sources":["../../../src/rules/no-enum.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,UAAU;;EAqBrB,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import { createRule, paramMessage } from "@typespec/compiler";
2
+ import { getVersionsForEnum } from "@typespec/versioning";
2
3
  export const noEnumRule = createRule({
3
4
  name: "no-enum",
4
5
  description: "Azure services should not use enums.",
@@ -10,6 +11,9 @@ export const noEnumRule = createRule({
10
11
  create(context) {
11
12
  return {
12
13
  enum: (en) => {
14
+ if (getVersionsForEnum(context.program, en).length > 0) {
15
+ return;
16
+ }
13
17
  context.reportDiagnostic({
14
18
  format: { enumName: en.name },
15
19
  target: en,
@@ -1 +1 @@
1
- {"version":3,"file":"no-enum.js","sourceRoot":"","sources":["../../../src/rules/no-enum.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,UAAU,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEpE,MAAM,CAAC,MAAM,UAAU,GAAG,UAAU,CAAC;IACnC,IAAI,EAAE,SAAS;IACf,WAAW,EAAE,sCAAsC;IACnD,QAAQ,EAAE,SAAS;IACnB,GAAG,EAAE,gFAAgF;IACrF,QAAQ,EAAE;QACR,OAAO,EAAE,YAAY,CAAA,6LAA6L;KACnN;IACD,MAAM,CAAC,OAAO;QACZ,OAAO;YACL,IAAI,EAAE,CAAC,EAAQ,EAAE,EAAE;gBACjB,OAAO,CAAC,gBAAgB,CAAC;oBACvB,MAAM,EAAE,EAAE,QAAQ,EAAE,EAAE,CAAC,IAAI,EAAE;oBAC7B,MAAM,EAAE,EAAE;iBACX,CAAC,CAAC;YACL,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"no-enum.js","sourceRoot":"","sources":["../../../src/rules/no-enum.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,UAAU,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,MAAM,CAAC,MAAM,UAAU,GAAG,UAAU,CAAC;IACnC,IAAI,EAAE,SAAS;IACf,WAAW,EAAE,sCAAsC;IACnD,QAAQ,EAAE,SAAS;IACnB,GAAG,EAAE,gFAAgF;IACrF,QAAQ,EAAE;QACR,OAAO,EAAE,YAAY,CAAA,6LAA6L;KACnN;IACD,MAAM,CAAC,OAAO;QACZ,OAAO;YACL,IAAI,EAAE,CAAC,EAAQ,EAAE,EAAE;gBACjB,IAAI,kBAAkB,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACvD,OAAO;gBACT,CAAC;gBACD,OAAO,CAAC,gBAAgB,CAAC;oBACvB,MAAM,EAAE,EAAE,QAAQ,EAAE,EAAE,CAAC,IAAI,EAAE;oBAC7B,MAAM,EAAE,EAAE;iBACX,CAAC,CAAC;YACL,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"}
@@ -0,0 +1,6 @@
1
+ export declare const nonBreakingVersioningRule: import("@typespec/compiler").LinterRuleDefinition<"non-breaking-versioning", {
2
+ readonly default: import("@typespec/compiler").CallableMessage<[string]>;
3
+ readonly addedRequired: "Adding required property is a breaking change.";
4
+ readonly optionalNoDefault: "Property made optional should have a default value.";
5
+ }>;
6
+ //# sourceMappingURL=non-breaking-versioning.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"non-breaking-versioning.d.ts","sourceRoot":"","sources":["../../../src/rules/non-breaking-versioning.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,yBAAyB;;;;EAyDpC,CAAC"}
@@ -0,0 +1,52 @@
1
+ import { createRule, paramMessage } from "@typespec/compiler";
2
+ import { getAddedOnVersions, getMadeOptionalOn, getRemovedOnVersions, getRenamedFromVersions, } from "@typespec/versioning";
3
+ export const nonBreakingVersioningRule = createRule({
4
+ name: "non-breaking-versioning",
5
+ description: "Check that only backward compatible versioning change are done to a service.",
6
+ severity: "warning",
7
+ url: "https://azure.github.io/typespec-azure/docs/libraries/azure-core/rules/non-breaking-versioning",
8
+ messages: {
9
+ default: paramMessage `Using ${"action"} is not backward compatible.`,
10
+ addedRequired: "Adding required property is a breaking change.",
11
+ optionalNoDefault: "Property made optional should have a default value.",
12
+ },
13
+ create(context) {
14
+ return {
15
+ model: checkBadVersioningPattern,
16
+ modelProperty: checkBadVersioningPatternForProperty,
17
+ operation: checkBadVersioningPattern,
18
+ };
19
+ function checkBadVersioningPattern(type) {
20
+ if (getRemovedOnVersions(context.program, type) !== undefined) {
21
+ reportBreakingVersioning("@removed", type);
22
+ }
23
+ if (getRenamedFromVersions(context.program, type) !== undefined) {
24
+ reportBreakingVersioning("@renamedFrom", type);
25
+ }
26
+ }
27
+ function checkBadVersioningPatternForProperty(modelProperty) {
28
+ checkBadVersioningPattern(modelProperty);
29
+ if (getAddedOnVersions(context.program, modelProperty) !== undefined &&
30
+ !modelProperty.optional) {
31
+ context.reportDiagnostic({
32
+ messageId: "addedRequired",
33
+ target: modelProperty,
34
+ });
35
+ }
36
+ if (getMadeOptionalOn(context.program, modelProperty) !== undefined &&
37
+ modelProperty.default === undefined) {
38
+ context.reportDiagnostic({
39
+ messageId: "optionalNoDefault",
40
+ target: modelProperty,
41
+ });
42
+ }
43
+ }
44
+ function reportBreakingVersioning(action, target) {
45
+ context.reportDiagnostic({
46
+ format: { action },
47
+ target,
48
+ });
49
+ }
50
+ },
51
+ });
52
+ //# sourceMappingURL=non-breaking-versioning.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"non-breaking-versioning.js","sourceRoot":"","sources":["../../../src/rules/non-breaking-versioning.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,UAAU,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACnF,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,oBAAoB,EACpB,sBAAsB,GACvB,MAAM,sBAAsB,CAAC;AAE9B,MAAM,CAAC,MAAM,yBAAyB,GAAG,UAAU,CAAC;IAClD,IAAI,EAAE,yBAAyB;IAC/B,WAAW,EAAE,8EAA8E;IAC3F,QAAQ,EAAE,SAAS;IACnB,GAAG,EAAE,gGAAgG;IACrG,QAAQ,EAAE;QACR,OAAO,EAAE,YAAY,CAAA,SAAS,QAAQ,8BAA8B;QACpE,aAAa,EAAE,gDAAgD;QAC/D,iBAAiB,EAAE,qDAAqD;KACzE;IACD,MAAM,CAAC,OAAO;QACZ,OAAO;YACL,KAAK,EAAE,yBAAyB;YAChC,aAAa,EAAE,oCAAoC;YACnD,SAAS,EAAE,yBAAyB;SACrC,CAAC;QAEF,SAAS,yBAAyB,CAAC,IAAU;YAC3C,IAAI,oBAAoB,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;gBAC9D,wBAAwB,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;YAC7C,CAAC;YACD,IAAI,sBAAsB,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;gBAChE,wBAAwB,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;YACjD,CAAC;QACH,CAAC;QAED,SAAS,oCAAoC,CAAC,aAA4B;YACxE,yBAAyB,CAAC,aAAa,CAAC,CAAC;YAEzC,IACE,kBAAkB,CAAC,OAAO,CAAC,OAAO,EAAE,aAAa,CAAC,KAAK,SAAS;gBAChE,CAAC,aAAa,CAAC,QAAQ,EACvB,CAAC;gBACD,OAAO,CAAC,gBAAgB,CAAC;oBACvB,SAAS,EAAE,eAAe;oBAC1B,MAAM,EAAE,aAAa;iBACtB,CAAC,CAAC;YACL,CAAC;YAED,IACE,iBAAiB,CAAC,OAAO,CAAC,OAAO,EAAE,aAAa,CAAC,KAAK,SAAS;gBAC/D,aAAa,CAAC,OAAO,KAAK,SAAS,EACnC,CAAC;gBACD,OAAO,CAAC,gBAAgB,CAAC;oBACvB,SAAS,EAAE,mBAAmB;oBAC9B,MAAM,EAAE,aAAa;iBACtB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,SAAS,wBAAwB,CAAC,MAAc,EAAE,MAAY;YAC5D,OAAO,CAAC,gBAAgB,CAAC;gBACvB,MAAM,EAAE,EAAE,MAAM,EAAE;gBAClB,MAAM;aACP,CAAC,CAAC;QACL,CAAC;IACH,CAAC;CACF,CAAC,CAAC"}
@@ -28,25 +28,25 @@ namespace Azure {
28
28
  * Identifies an Enum or ModelProperty as containing long-running operation
29
29
  * status.
30
30
  */
31
- extern dec lroStatus(entity: Enum | ModelProperty);
31
+ extern dec lroStatus(entity: Enum | Union | ModelProperty);
32
32
 
33
33
  /**
34
34
  * Used for custom StatusMonitor implementation.
35
35
  * Identifies an EnumMember as a long-running "Succeeded" terminal state.
36
36
  */
37
- extern dec lroSucceeded(entity: EnumMember);
37
+ extern dec lroSucceeded(entity: EnumMember | UnionVariant);
38
38
 
39
39
  /**
40
40
  * Used for custom StatusMonitor implementation.
41
41
  * Identifies an EnumMember as a long-running "Canceled" terminal state.
42
42
  */
43
- extern dec lroCanceled(entity: EnumMember);
43
+ extern dec lroCanceled(entity: EnumMember | UnionVariant);
44
44
 
45
45
  /**
46
46
  * Used for custom StatusMonitor implementation.
47
47
  * Identifies an enum member as a long-running "Failed" terminal state.
48
48
  */
49
- extern dec lroFailed(entity: EnumMember);
49
+ extern dec lroFailed(entity: EnumMember | UnionVariant);
50
50
 
51
51
  /**
52
52
  * Used for custom StatusMonitor implementation.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@azure-tools/typespec-azure-core",
3
- "version": "0.40.0-dev.0",
3
+ "version": "0.40.0-dev.3",
4
4
  "author": "Microsoft Corporation",
5
5
  "description": "TypeSpec Azure Core library",
6
6
  "homepage": "https://azure.github.io/typespec-azure",
@@ -39,28 +39,28 @@
39
39
  "!dist/test/**"
40
40
  ],
41
41
  "peerDependencies": {
42
- "@typespec/compiler": "~0.53.0 || >=0.54.0-dev <0.54.0",
42
+ "@typespec/compiler": "~0.53.1 || >=0.54.0-dev <0.54.0",
43
43
  "@typespec/http": "~0.53.0 || >=0.54.0-dev <0.54.0",
44
44
  "@typespec/rest": "~0.53.0 || >=0.54.0-dev <0.54.0"
45
45
  },
46
46
  "devDependencies": {
47
- "@typespec/compiler": "~0.53.0 || >=0.54.0-dev <0.54.0",
48
- "@typespec/http": "~0.53.0 || >=0.54.0-dev <0.54.0",
49
- "@typespec/rest": "~0.53.0 || >=0.54.0-dev <0.54.0",
47
+ "@types/node": "~18.11.19",
48
+ "@typespec/compiler": "~0.53.1 || >=0.54.0-dev <0.54.0",
50
49
  "@typespec/eslint-config-typespec": "~0.53.0 || >=0.54.0-dev <0.54.0",
51
- "@typespec/library-linter": "~0.53.0 || >=0.54.0-dev <0.54.0",
52
50
  "@typespec/eslint-plugin": "~0.53.0 || >=0.54.0-dev <0.54.0",
51
+ "@typespec/http": "~0.53.0 || >=0.54.0-dev <0.54.0",
52
+ "@typespec/library-linter": "~0.53.0 || >=0.54.0-dev <0.54.0",
53
53
  "@typespec/openapi": "~0.53.0 || >=0.54.0-dev <0.54.0",
54
- "@typespec/tspd": "~0.46.0",
54
+ "@typespec/rest": "~0.53.0 || >=0.54.0-dev <0.54.0",
55
55
  "@typespec/versioning": "~0.53.0 || >=0.54.0-dev <0.54.0",
56
- "@types/node": "~18.11.9",
57
- "eslint": "^8.55.0",
58
- "vitest": "^1.2.0",
59
- "@vitest/coverage-v8": "^1.1.0",
60
- "@vitest/ui": "~1.1.3",
61
- "c8": "~8.0.1",
62
- "rimraf": "~5.0.1",
63
- "typescript": "~5.3.3"
56
+ "@vitest/coverage-v8": "^1.2.2",
57
+ "@vitest/ui": "^1.2.2",
58
+ "c8": "^9.1.0",
59
+ "eslint": "^8.56.0",
60
+ "rimraf": "~5.0.5",
61
+ "typescript": "~5.3.3",
62
+ "vitest": "^1.2.2",
63
+ "@typespec/tspd": "~0.46.0"
64
64
  },
65
65
  "dependencies": {},
66
66
  "scripts": {