@azure-tools/typespec-azure-core 0.68.0-dev.2 → 0.68.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
@@ -69,6 +69,7 @@ Available ruleSets:
69
69
  | [`@azure-tools/typespec-azure-core/no-private-usage`](https://azure.github.io/typespec-azure/docs/libraries/azure-core/rules/no-private-usage) | Verify that elements inside Private namespace are not referenced. |
70
70
  | [`@azure-tools/typespec-azure-core/no-legacy-usage`](https://azure.github.io/typespec-azure/docs/libraries/azure-core/rules/no-legacy-usage) | Linter warning against using elements from the Legacy namespace |
71
71
  | [`@azure-tools/typespec-azure-core/no-query-explode`](https://azure.github.io/typespec-azure/docs/libraries/azure-core/rules/no-query-explode) | It is recommended to serialize query parameter without explode: true |
72
+ | [`@azure-tools/typespec-azure-core/no-route-parameter-name-mismatch`](https://azure.github.io/typespec-azure/docs/libraries/azure-core/rules/no-route-parameter-name-mismatch) | Ensure that operations with the same path use consistent path parameter names. |
72
73
 
73
74
  ## Decorators
74
75
 
@@ -1 +1 @@
1
- {"version":3,"file":"linter.d.ts","sourceRoot":"","sources":["../../src/linter.ts"],"names":[],"mappings":"AAqFA,eAAO,MAAM,OAAO,+CASlB,CAAC"}
1
+ {"version":3,"file":"linter.d.ts","sourceRoot":"","sources":["../../src/linter.ts"],"names":[],"mappings":"AAuFA,eAAO,MAAM,OAAO,+CASlB,CAAC"}
@@ -22,6 +22,7 @@ import { noOpenAPIRule } from "./rules/no-openapi.js";
22
22
  import { noPrivateUsage } from "./rules/no-private-usage.js";
23
23
  import { noQueryExplodeRule } from "./rules/no-query-explode.js";
24
24
  import { noResponseBodyRule } from "./rules/no-response-body.js";
25
+ import { noRouteParameterNameMismatchRule } from "./rules/no-route-parameter-name-mismatch.js";
25
26
  import { noRpcPathParamsRule } from "./rules/no-rpc-path-params.js";
26
27
  import { noStringDiscriminatorRule } from "./rules/no-string-discriminator.js";
27
28
  import { noUnnamedUnionRule } from "./rules/no-unnamed-union.js";
@@ -80,6 +81,7 @@ const rules = [
80
81
  noPrivateUsage,
81
82
  noLegacyUsage,
82
83
  noQueryExplodeRule,
84
+ noRouteParameterNameMismatchRule,
83
85
  ];
84
86
  export const $linter = defineLinter({
85
87
  rules,
@@ -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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"}
@@ -0,0 +1,4 @@
1
+ export declare const noRouteParameterNameMismatchRule: import("@typespec/compiler").LinterRuleDefinition<"no-route-parameter-name-mismatch", {
2
+ readonly default: import("@typespec/compiler").CallableMessage<["operationName", "path", "paramName", "expected", "existingOperationName", "existingPath"]>;
3
+ }>;
4
+ //# sourceMappingURL=no-route-parameter-name-mismatch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"no-route-parameter-name-mismatch.d.ts","sourceRoot":"","sources":["../../../src/rules/no-route-parameter-name-mismatch.ts"],"names":[],"mappings":"AAiCA,eAAO,MAAM,gCAAgC;;EAgF3C,CAAC"}
@@ -0,0 +1,86 @@
1
+ import { createRule, getNamespaceFullName, ignoreDiagnostics, paramMessage, } from "@typespec/compiler";
2
+ import { getHttpOperation } from "@typespec/http";
3
+ import { isExcludedCoreType, isTemplatedInterfaceOperation } from "./utils.js";
4
+ function getFullyQualifiedOperationName(operation) {
5
+ const parts = [];
6
+ if (operation.namespace) {
7
+ parts.push(getNamespaceFullName(operation.namespace));
8
+ }
9
+ if (operation.interface) {
10
+ parts.push(operation.interface.name);
11
+ }
12
+ parts.push(operation.name);
13
+ return parts.join(".");
14
+ }
15
+ export const noRouteParameterNameMismatchRule = createRule({
16
+ name: "no-route-parameter-name-mismatch",
17
+ description: "Ensure that operations with the same path use consistent path parameter names.",
18
+ severity: "warning",
19
+ url: "https://azure.github.io/typespec-azure/docs/libraries/azure-core/rules/no-route-parameter-name-mismatch",
20
+ messages: {
21
+ default: paramMessage `Operation "${"operationName"}" path "${"path"}" has inconsistent parameter name "${"paramName"}" which should be "${"expected"}" to match operation "${"existingOperationName"}" with path "${"existingPath"}"`,
22
+ },
23
+ create(context) {
24
+ // Map from normalized path (params replaced with {}) to first operation seen
25
+ const pathMap = new Map();
26
+ return {
27
+ operation: (operation) => {
28
+ if (isExcludedCoreType(context.program, operation))
29
+ return;
30
+ if (isTemplatedInterfaceOperation(operation))
31
+ return;
32
+ const httpOp = ignoreDiagnostics(getHttpOperation(context.program, operation));
33
+ // Get path parameters
34
+ const pathParams = httpOp.parameters.parameters.filter((p) => p.type === "path");
35
+ const path = httpOp.path;
36
+ // Normalize path by replacing {paramName} with {}
37
+ const normalizedPath = path.replace(/\{[^}]+\}/g, "{}");
38
+ // Skip paths that have no static segments (only parameters and separators),
39
+ // since these are too generic to meaningfully compare parameter names.
40
+ // Also skip paths where two path variables occur in a row with no static
41
+ // segment between them, since it is difficult to reason about such paths.
42
+ if (normalizedPath.replace(/[{}/]/g, "") === "" || normalizedPath.includes("{}/{}")) {
43
+ return;
44
+ }
45
+ // Extract parameter names in order from the path
46
+ // Note: httpOp.path is the legacy path which strips URI template operators,
47
+ // but we defensively strip any leading +/. /; /# characters for robustness
48
+ const paramNames = [...path.matchAll(/\{([^}]+)\}/g)].map((m) => m[1].replace(/^[+.;#/]/, ""));
49
+ // Build params info with allowReserved status
50
+ const params = paramNames.map((name) => {
51
+ const httpParam = pathParams.find((p) => p.name === name);
52
+ return { name, allowReserved: httpParam?.allowReserved ?? false };
53
+ });
54
+ const existing = pathMap.get(normalizedPath);
55
+ if (existing) {
56
+ // Compare parameter names at each position
57
+ for (let i = 0; i < params.length && i < existing.params.length; i++) {
58
+ // Stop comparison when only one parameter uses allowReserved, since
59
+ // parameters with differing allowReserved settings should not be matched
60
+ // and the rest of the parameters are irrelevant
61
+ if (params[i].allowReserved !== existing.params[i].allowReserved) {
62
+ break;
63
+ }
64
+ if (params[i].name !== existing.params[i].name) {
65
+ context.reportDiagnostic({
66
+ format: {
67
+ operationName: getFullyQualifiedOperationName(operation),
68
+ path,
69
+ paramName: params[i].name,
70
+ expected: existing.params[i].name,
71
+ existingOperationName: getFullyQualifiedOperationName(existing.operation),
72
+ existingPath: existing.path,
73
+ },
74
+ target: operation,
75
+ });
76
+ }
77
+ }
78
+ }
79
+ else {
80
+ pathMap.set(normalizedPath, { path, operation, params });
81
+ }
82
+ },
83
+ };
84
+ },
85
+ });
86
+ //# sourceMappingURL=no-route-parameter-name-mismatch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"no-route-parameter-name-mismatch.js","sourceRoot":"","sources":["../../../src/rules/no-route-parameter-name-mismatch.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@azure-tools/typespec-azure-core",
3
- "version": "0.68.0-dev.2",
3
+ "version": "0.68.0-dev.3",
4
4
  "author": "Microsoft Corporation",
5
5
  "description": "TypeSpec Azure Core library",
6
6
  "homepage": "https://azure.github.io/typespec-azure",
@@ -52,7 +52,7 @@
52
52
  "@typespec/rest": "^0.81.0 || >=0.82.0-dev <0.82.0"
53
53
  },
54
54
  "devDependencies": {
55
- "@types/node": "~25.5.0",
55
+ "@types/node": "^25.5.2",
56
56
  "@typespec/compiler": "^1.11.0",
57
57
  "@typespec/http": "^1.11.0",
58
58
  "@typespec/library-linter": "^0.81.0 || >=0.82.0-dev <0.82.0",
@@ -60,11 +60,11 @@
60
60
  "@typespec/rest": "^0.81.0 || >=0.82.0-dev <0.82.0",
61
61
  "@typespec/tspd": "^0.74.1 || >=0.75.0-dev <0.75.0",
62
62
  "@typespec/versioning": "^0.81.0 || >=0.82.0-dev <0.82.0",
63
- "@vitest/coverage-v8": "^4.1.0",
64
- "@vitest/ui": "^4.1.0",
65
- "rimraf": "~6.1.3",
66
- "typescript": "~5.9.3",
67
- "vitest": "^4.1.0"
63
+ "@vitest/coverage-v8": "^4.1.3",
64
+ "@vitest/ui": "^4.1.3",
65
+ "rimraf": "^6.1.3",
66
+ "typescript": "~6.0.2",
67
+ "vitest": "^4.1.3"
68
68
  },
69
69
  "dependencies": {},
70
70
  "scripts": {