@azure-tools/typespec-azure-core 0.37.0-dev.1 → 0.37.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 +55 -0
- package/dist/src/lib.d.ts.map +1 -1
- package/dist/src/lib.js +3 -0
- package/dist/src/lib.js.map +1 -1
- package/dist/src/rules/no-enum.d.ts +4 -0
- package/dist/src/rules/no-enum.d.ts.map +1 -0
- package/dist/src/rules/no-enum.js +21 -0
- package/dist/src/rules/no-enum.js.map +1 -0
- package/package.json +2 -1
package/README.md
CHANGED
|
@@ -8,6 +8,61 @@ TypeSpec Azure Core library
|
|
|
8
8
|
npm install @azure-tools/typespec-azure-core
|
|
9
9
|
```
|
|
10
10
|
|
|
11
|
+
## Linter
|
|
12
|
+
|
|
13
|
+
### Usage
|
|
14
|
+
|
|
15
|
+
Add the following in `tspconfig.yaml`:
|
|
16
|
+
|
|
17
|
+
```yaml
|
|
18
|
+
linter:
|
|
19
|
+
extends:
|
|
20
|
+
- "@azure-tools/typespec-azure-core/all"
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
### RuleSets
|
|
24
|
+
|
|
25
|
+
Available ruleSets:
|
|
26
|
+
|
|
27
|
+
- [`@azure-tools/typespec-azure-core/all`](#@azure-tools/typespec-azure-core/all)
|
|
28
|
+
|
|
29
|
+
### Rules
|
|
30
|
+
|
|
31
|
+
| Name | Description |
|
|
32
|
+
| ---------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
33
|
+
| `@azure-tools/typespec-azure-core/operation-missing-api-version` | Operations need an api version parameter. |
|
|
34
|
+
| `@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
|
+
| `@azure-tools/typespec-azure-core/request-body-problem` | Request body should not be of raw array type. |
|
|
37
|
+
| `@azure-tools/typespec-azure-core/byos` | Use the BYOS pattern recommended for Azure Services. |
|
|
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
|
+
| `@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
|
+
| `@azure-tools/typespec-azure-core/use-extensible-enum` | Enums should be extensible. |
|
|
43
|
+
| `@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. |
|
|
45
|
+
| [`@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. |
|
|
46
|
+
| `@azure-tools/typespec-azure-core/no-error-status-codes` | Recommend using the error response defined by Azure REST API guidelines. |
|
|
47
|
+
| `@azure-tools/typespec-azure-core/no-fixed-enum-discriminator` | Discriminator shouldn't be a fixed enum. |
|
|
48
|
+
| `@azure-tools/typespec-azure-core/no-nullable` | Use `?` for optional properties. |
|
|
49
|
+
| `@azure-tools/typespec-azure-core/no-offsetdatetime` | Prefer using `utcDateTime` when representing a datetime unless an offset is necessary. |
|
|
50
|
+
| `@azure-tools/typespec-azure-core/no-rpc-path-params` | Operations defined using RpcOperation should not have path parameters. |
|
|
51
|
+
| `@azure-tools/typespec-azure-core/no-explicit-routes-resource-ops` | The @route decorator should not be used on standard resource operation signatures. |
|
|
52
|
+
| `@azure-tools/typespec-azure-core/no-response-body` | Ensure that the body is set correctly for the response type. |
|
|
53
|
+
| `@azure-tools/typespec-azure-core/no-format` | Azure services should not use the `@format` decorator. |
|
|
54
|
+
| `@azure-tools/typespec-azure-core/no-multiple-discriminator` | Classes should have at most one discriminator. |
|
|
55
|
+
| `@azure-tools/typespec-azure-core/no-rest-library-interfaces` | Resource interfaces from the TypeSpec.Rest.Resource library are incompatible with Azure.Core. |
|
|
56
|
+
| `@azure-tools/typespec-azure-core/no-unknown` | Azure services must not have properties of type `unknown`. |
|
|
57
|
+
| `@azure-tools/typespec-azure-core/bad-record-type` | Identify bad record definitions. |
|
|
58
|
+
| `@azure-tools/typespec-azure-core/response-schema-problem` | Warn about operations having multiple non-error response schemas. |
|
|
59
|
+
| `@azure-tools/typespec-azure-core/property-name-conflict` | Avoid naming conflicts. |
|
|
60
|
+
| `@azure-tools/typespec-azure-core/rpc-operation-request-body` | Warning for RPC body problems. |
|
|
61
|
+
| `@azure-tools/typespec-azure-core/documentation-required` | Require documentation over enums, models, and operations. |
|
|
62
|
+
| `@azure-tools/typespec-azure-core/key-visibility-required` | Key properties need to have an explicit visibility setting. |
|
|
63
|
+
| `@azure-tools/typespec-azure-core/long-running-polling-operation-required` | Long-running operations should have a linked polling operation. |
|
|
64
|
+
| `@azure-tools/typespec-azure-core/use-standard-names` | Use recommended names for operations. |
|
|
65
|
+
|
|
11
66
|
## Decorators
|
|
12
67
|
|
|
13
68
|
### Azure.Core
|
package/dist/src/lib.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../../src/lib.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../../src/lib.ts"],"names":[],"mappings":"AAmCA,eAAO,MAAM,SAAS,eAAe,CAAC;AAEtC,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uBAqRf,CAAC;AAEH,eAAO,MAAQ,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAAE,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sDAAE,iBAAiB,0BAAS,CAAC"}
|
package/dist/src/lib.js
CHANGED
|
@@ -8,6 +8,7 @@ import { extensibleEnumRule } from "./rules/extensible-enums.js";
|
|
|
8
8
|
import { friendlyNameRule } from "./rules/friendly-name.js";
|
|
9
9
|
import { knownEncodingRule } from "./rules/known-encoding.js";
|
|
10
10
|
import { longRunningOperationsRequirePollingOperation } from "./rules/lro-polling-operation.js";
|
|
11
|
+
import { noEnumRule } from "./rules/no-enum.js";
|
|
11
12
|
import { noErrorStatusCodesRule } from "./rules/no-error-status-codes.js";
|
|
12
13
|
import { noExplicitRoutesResourceOps } from "./rules/no-explicit-routes-resource-ops.js";
|
|
13
14
|
import { noFixedEnumDiscriminatorRule } from "./rules/no-fixed-enum-discriminator.js";
|
|
@@ -238,6 +239,7 @@ export const $lib = createTypeSpecLibrary({
|
|
|
238
239
|
extensibleEnumRule,
|
|
239
240
|
knownEncodingRule,
|
|
240
241
|
useStandardOperations,
|
|
242
|
+
noEnumRule,
|
|
241
243
|
noErrorStatusCodesRule,
|
|
242
244
|
noFixedEnumDiscriminatorRule,
|
|
243
245
|
noNullableRule,
|
|
@@ -293,6 +295,7 @@ export const $lib = createTypeSpecLibrary({
|
|
|
293
295
|
[`@azure-tools/typespec-azure-core/${longRunningOperationsRequirePollingOperation.name}`]: true,
|
|
294
296
|
[`@azure-tools/typespec-azure-core/${useStandardNames.name}`]: true,
|
|
295
297
|
[`@azure-tools/typespec-azure-core/${friendlyNameRule.name}`]: true,
|
|
298
|
+
[`@azure-tools/typespec-azure-core/${noEnumRule.name}`]: false,
|
|
296
299
|
},
|
|
297
300
|
extends: ["@typespec/http/all"],
|
|
298
301
|
},
|
package/dist/src/lib.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lib.js","sourceRoot":"","sources":["../../src/lib.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"lib.js","sourceRoot":"","sources":["../../src/lib.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"no-enum.d.ts","sourceRoot":"","sources":["../../../src/rules/no-enum.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,UAAU;;EAkBrB,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { createRule, paramMessage } from "@typespec/compiler";
|
|
2
|
+
export const noEnumRule = createRule({
|
|
3
|
+
name: "no-enum",
|
|
4
|
+
description: "Azure services should not use enums.",
|
|
5
|
+
severity: "warning",
|
|
6
|
+
url: "https://azure.github.io/typespec-azure/docs/libraries/azure-core/rules/no-enum",
|
|
7
|
+
messages: {
|
|
8
|
+
default: paramMessage `Azure services should not use the enum keyword. Extensible enums should be defined as unions with "string" as an accepted variant (ex: \`union Choice { Yes: "yes", No: "no", string };\`).`,
|
|
9
|
+
},
|
|
10
|
+
create(context) {
|
|
11
|
+
return {
|
|
12
|
+
enum: (en) => {
|
|
13
|
+
context.reportDiagnostic({
|
|
14
|
+
format: { enumName: en.name },
|
|
15
|
+
target: en,
|
|
16
|
+
});
|
|
17
|
+
},
|
|
18
|
+
};
|
|
19
|
+
},
|
|
20
|
+
});
|
|
21
|
+
//# sourceMappingURL=no-enum.js.map
|
|
@@ -0,0 +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"}
|
package/package.json
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@azure-tools/typespec-azure-core",
|
|
3
|
-
"version": "0.37.0-dev.
|
|
3
|
+
"version": "0.37.0-dev.3",
|
|
4
4
|
"author": "Microsoft Corporation",
|
|
5
5
|
"description": "TypeSpec Azure Core library",
|
|
6
6
|
"homepage": "https://azure.github.io/typespec-azure",
|
|
7
|
+
"docusaurusWebsite": "https://azure.github.io/typespec-azure/docs",
|
|
7
8
|
"readme": "https://github.com/Azure/typespec-azure/blob/main/packages/typespec-azure-core/README.md",
|
|
8
9
|
"license": "MIT",
|
|
9
10
|
"repository": {
|