@azure-tools/typespec-azure-resource-manager 0.46.0-dev.1 → 0.46.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
@@ -30,7 +30,7 @@ Available ruleSets:
30
30
 
31
31
  | Name | Description |
32
32
  | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
33
- | [`@azure-tools/typespec-azure-resource-manager/arm-no-record`](https://azure.github.io/typespec-azure/docs/libraries/azure-resource-manager/rules/no-record) | Don't use Record types for ARM resources. |
33
+ | [`@azure-tools/typespec-azure-resource-manager/arm-no-record`](https://azure.github.io/typespec-azure/docs/libraries/azure-resource-manager/rules/arm-no-record) | Don't use Record types for ARM resources. |
34
34
  | `@azure-tools/typespec-azure-resource-manager/arm-common-types-version` | Specify the ARM common-types version using @armCommonTypesVersion. |
35
35
  | [`@azure-tools/typespec-azure-resource-manager/arm-delete-operation-response-codes`](https://azure.github.io/typespec-azure/docs/libraries/azure-resource-manager/rules/delete-operation-response-codes) | Ensure delete operations have the appropriate status codes. |
36
36
  | [`@azure-tools/typespec-azure-resource-manager/arm-put-operation-response-codes`](https://azure.github.io/typespec-azure/docs/libraries/azure-resource-manager/rules/put-operation-response-codes) | Ensure put operations have the appropriate status codes. |
@@ -1 +1 @@
1
- {"version":3,"file":"namespace.d.ts","sourceRoot":"","sources":["../../src/namespace.ts"],"names":[],"mappings":"AACA,OAAO,EAKL,KAAK,EAEL,SAAS,EAET,OAAO,EAGR,MAAM,oBAAoB,CAAC;AAI5B,OAAO,EACL,4BAA4B,EAC5B,6BAA6B,EAC7B,4BAA4B,EAC7B,MAAM,4CAA4C,CAAC;AA8BpD;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,EAAE,4BAalC,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,GAAG,OAAO,CAErF;AASD;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,EAAE,4BAalC,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,SAAS,GACnB,SAAS,EAAE,GAAG,SAAS,CAEzB;AAQD;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,EAAE,6BAyHnC,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,SAAS,GAAG,KAAK,GACxB,MAAM,GAAG,SAAS,CAiBpB"}
1
+ {"version":3,"file":"namespace.d.ts","sourceRoot":"","sources":["../../src/namespace.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,EAEL,SAAS,EAET,OAAO,EAGR,MAAM,oBAAoB,CAAC;AAI5B,OAAO,EACL,4BAA4B,EAC5B,6BAA6B,EAC7B,4BAA4B,EAC7B,MAAM,4CAA4C,CAAC;AA8BpD;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,EAAE,4BASlC,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,GAAG,OAAO,CAErF;AASD;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,EAAE,4BAalC,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,SAAS,GACnB,SAAS,EAAE,GAAG,SAAS,CAEzB;AAQD;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,EAAE,6BAqHnC,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,SAAS,GAAG,KAAK,GACxB,MAAM,GAAG,SAAS,CAiBpB"}
@@ -1,4 +1,3 @@
1
- import { __unsupported_enable_checkStandardOperations } from "@azure-tools/typespec-azure-core";
2
1
  import { addService, getNamespaceFullName, } from "@typespec/compiler";
3
2
  import * as http from "@typespec/http";
4
3
  import { getAuthentication, setAuthentication, setRouteOptionsForNamespace } from "@typespec/http";
@@ -27,9 +26,6 @@ function setArmCommonTypesVersionIfDoesnotExist(context, entity, commonTypeVersi
27
26
  */
28
27
  export const $armLibraryNamespace = (context, entity) => {
29
28
  const { program } = context;
30
- // HACK HACK HACK: Disable the linter rule that raises `use-standard-operations`
31
- // until Azure.Core-compatible operations are implemented for Azure.ResourceManager
32
- __unsupported_enable_checkStandardOperations(false);
33
29
  program.stateMap(ArmStateKeys.armLibraryNamespaces).set(entity, true);
34
30
  setArmCommonTypesVersionIfDoesnotExist(context, entity, "v3");
35
31
  };
@@ -90,9 +86,6 @@ export const $armProviderNamespace = (context, entity, armProviderNamespace) =>
90
86
  });
91
87
  return;
92
88
  }
93
- // HACK HACK HACK: Disable the linter rule that raises `use-standard-operations`
94
- // until Azure.Core-compatible operations are implemented for Azure.ResourceManager
95
- __unsupported_enable_checkStandardOperations(false);
96
89
  // armProviderNamespace will set the service namespace if it's not done already
97
90
  if (!override) {
98
91
  addService(program, entity);
@@ -1 +1 @@
1
- {"version":3,"file":"namespace.js","sourceRoot":"","sources":["../../src/namespace.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"namespace.js","sourceRoot":"","sources":["../../src/namespace.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"arm-no-record.d.ts","sourceRoot":"","sources":["../../../src/rules/arm-no-record.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,eAAe;;;;EA4C1B,CAAC"}
1
+ {"version":3,"file":"arm-no-record.d.ts","sourceRoot":"","sources":["../../../src/rules/arm-no-record.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,eAAe;;;;EAsC1B,CAAC"}
@@ -1,46 +1,37 @@
1
- import { createRule } from "@typespec/compiler";
2
- import { getArmResources } from "../resource.js";
1
+ import { createRule, } from "@typespec/compiler";
3
2
  export const armNoRecordRule = createRule({
4
3
  name: "arm-no-record",
5
4
  severity: "warning",
6
5
  description: "Don't use Record types for ARM resources.",
7
- url: "https://azure.github.io/typespec-azure/docs/libraries/azure-resource-manager/rules/no-record",
6
+ url: "https://azure.github.io/typespec-azure/docs/libraries/azure-resource-manager/rules/arm-no-record",
8
7
  messages: {
9
8
  default: "Model properties or operation parameters should not be of type Record. ARM requires Resource provider teams to define types explicitly.",
10
9
  extends: "Models should not extend type Record. ARM requires Resource provider teams to define types explicitly.",
11
10
  is: "Models should not equate to type Record. ARM requires Resource provider teams to define types explicitly.",
12
11
  },
13
12
  create(context) {
13
+ function checkModel(model) {
14
+ if (model.baseModel !== undefined) {
15
+ checkNoRecord(model.baseModel, model, "extends");
16
+ }
17
+ else if (model.sourceModel !== undefined) {
18
+ checkNoRecord(model.sourceModel, model, "is");
19
+ }
20
+ }
21
+ function checkNoRecord(type, target, kind) {
22
+ if (type.kind === "Model" && type.name === "Record") {
23
+ context.reportDiagnostic({
24
+ code: "arm-no-record",
25
+ target: target,
26
+ messageId: kind || "default",
27
+ });
28
+ }
29
+ }
14
30
  return {
15
- root: (_) => {
16
- function checkModel(model, target, kind) {
17
- if (model.name === "Record") {
18
- context.reportDiagnostic({
19
- code: "arm-no-record",
20
- target: target,
21
- messageId: kind || "default",
22
- });
23
- }
24
- else if (model.baseModel !== undefined) {
25
- checkModel(model.baseModel, model, "extends");
26
- }
27
- else if (model.sourceModel !== undefined) {
28
- checkModel(model.sourceModel, model, "is");
29
- }
30
- if (model?.properties !== undefined) {
31
- for (const prop of model.properties.values()) {
32
- if (prop.type.kind === "Model") {
33
- checkModel(prop.type, prop);
34
- }
35
- }
36
- }
37
- }
38
- // ensure only ARM resources and models they touch are checked
39
- const resources = getArmResources(context.program);
40
- for (const resource of resources) {
41
- checkModel(resource.typespecType, resource.typespecType);
42
- }
43
- },
31
+ operation: (op) => checkNoRecord(op.returnType, op),
32
+ model: (type) => checkModel(type),
33
+ modelProperty: (prop) => checkNoRecord(prop.type, prop),
34
+ unionVariant: (variant) => checkNoRecord(variant.type, variant),
44
35
  };
45
36
  },
46
37
  });
@@ -1 +1 @@
1
- {"version":3,"file":"arm-no-record.js","sourceRoot":"","sources":["../../../src/rules/arm-no-record.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiD,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAC/F,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEjD,MAAM,CAAC,MAAM,eAAe,GAAG,UAAU,CAAC;IACxC,IAAI,EAAE,eAAe;IACrB,QAAQ,EAAE,SAAS;IACnB,WAAW,EAAE,2CAA2C;IACxD,GAAG,EAAE,8FAA8F;IACnG,QAAQ,EAAE;QACR,OAAO,EACL,yIAAyI;QAC3I,OAAO,EACL,wGAAwG;QAC1G,EAAE,EAAE,2GAA2G;KAChH;IACD,MAAM,CAAC,OAAO;QACZ,OAAO;YACL,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE;gBACV,SAAS,UAAU,CAAC,KAAY,EAAE,MAAwB,EAAE,IAAuB;oBACjF,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;wBAC5B,OAAO,CAAC,gBAAgB,CAAC;4BACvB,IAAI,EAAE,eAAe;4BACrB,MAAM,EAAE,MAAM;4BACd,SAAS,EAAE,IAAI,IAAI,SAAS;yBAC7B,CAAC,CAAC;oBACL,CAAC;yBAAM,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;wBACzC,UAAU,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;oBAChD,CAAC;yBAAM,IAAI,KAAK,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;wBAC3C,UAAU,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;oBAC7C,CAAC;oBACD,IAAI,KAAK,EAAE,UAAU,KAAK,SAAS,EAAE,CAAC;wBACpC,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC;4BAC7C,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gCAC/B,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;4BAC9B,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC;gBAED,8DAA8D;gBAC9D,MAAM,SAAS,GAAG,eAAe,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;gBACnD,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;oBACjC,UAAU,CAAC,QAAQ,CAAC,YAAY,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC;gBAC3D,CAAC;YACH,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"arm-no-record.js","sourceRoot":"","sources":["../../../src/rules/arm-no-record.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,UAAU,GACX,MAAM,oBAAoB,CAAC;AAE5B,MAAM,CAAC,MAAM,eAAe,GAAG,UAAU,CAAC;IACxC,IAAI,EAAE,eAAe;IACrB,QAAQ,EAAE,SAAS;IACnB,WAAW,EAAE,2CAA2C;IACxD,GAAG,EAAE,kGAAkG;IACvG,QAAQ,EAAE;QACR,OAAO,EACL,yIAAyI;QAC3I,OAAO,EACL,wGAAwG;QAC1G,EAAE,EAAE,2GAA2G;KAChH;IACD,MAAM,CAAC,OAAO;QACZ,SAAS,UAAU,CAAC,KAAY;YAC9B,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;gBAClC,aAAa,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;YACnD,CAAC;iBAAM,IAAI,KAAK,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;gBAC3C,aAAa,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;YAChD,CAAC;QACH,CAAC;QAED,SAAS,aAAa,CAAC,IAAU,EAAE,MAAwB,EAAE,IAAuB;YAClF,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACpD,OAAO,CAAC,gBAAgB,CAAC;oBACvB,IAAI,EAAE,eAAe;oBACrB,MAAM,EAAE,MAAM;oBACd,SAAS,EAAE,IAAI,IAAI,SAAS;iBAC7B,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,OAAO;YACL,SAAS,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC;YACnD,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC;YACjC,aAAa,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC;YACvD,YAAY,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC;SAChE,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@azure-tools/typespec-azure-resource-manager",
3
- "version": "0.46.0-dev.1",
3
+ "version": "0.46.0-dev.3",
4
4
  "author": "Microsoft Corporation",
5
5
  "description": "TypeSpec Azure Resource Manager library",
6
6
  "homepage": "https://azure.github.io/typespec-azure",
@@ -44,21 +44,21 @@
44
44
  },
45
45
  "peerDependencies": {
46
46
  "@azure-tools/typespec-azure-core": "~0.45.0 || >=0.46.0-dev <0.46.0",
47
- "@typespec/compiler": "~0.59.0 || >=0.60.0-dev <0.60.0",
48
- "@typespec/http": "~0.59.0 || >=0.60.0-dev <0.60.0",
47
+ "@typespec/compiler": "~0.59.1 || >=0.60.0-dev <0.60.0",
48
+ "@typespec/http": "~0.59.1 || >=0.60.0-dev <0.60.0",
49
49
  "@typespec/openapi": "~0.59.0 || >=0.60.0-dev <0.60.0",
50
- "@typespec/rest": "~0.59.0 || >=0.60.0-dev <0.60.0",
50
+ "@typespec/rest": "~0.59.1 || >=0.60.0-dev <0.60.0",
51
51
  "@typespec/versioning": "~0.59.0 || >=0.60.0-dev <0.60.0"
52
52
  },
53
53
  "devDependencies": {
54
54
  "@azure-tools/typespec-azure-core": "~0.45.0 || >=0.46.0-dev <0.46.0",
55
55
  "@types/node": "~18.11.19",
56
56
  "@types/pluralize": "^0.0.33",
57
- "@typespec/compiler": "~0.59.0 || >=0.60.0-dev <0.60.0",
58
- "@typespec/http": "~0.59.0 || >=0.60.0-dev <0.60.0",
57
+ "@typespec/compiler": "~0.59.1 || >=0.60.0-dev <0.60.0",
58
+ "@typespec/http": "~0.59.1 || >=0.60.0-dev <0.60.0",
59
59
  "@typespec/library-linter": "~0.59.0 || >=0.60.0-dev <0.60.0",
60
60
  "@typespec/openapi": "~0.59.0 || >=0.60.0-dev <0.60.0",
61
- "@typespec/rest": "~0.59.0 || >=0.60.0-dev <0.60.0",
61
+ "@typespec/rest": "~0.59.1 || >=0.60.0-dev <0.60.0",
62
62
  "@typespec/versioning": "~0.59.0 || >=0.60.0-dev <0.60.0",
63
63
  "@vitest/coverage-v8": "^2.0.4",
64
64
  "@vitest/ui": "^2.0.4",