@azure-tools/typespec-azure-resource-manager 0.34.0-dev.3 → 0.34.0-dev.5
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/dist/src/index.d.ts +1 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +1 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/lib.d.ts +89 -516
- package/dist/src/lib.d.ts.map +1 -1
- package/dist/src/lib.js +78 -171
- package/dist/src/lib.js.map +1 -1
- package/dist/src/namespace.d.ts.map +1 -1
- package/dist/src/namespace.js +15 -15
- package/dist/src/namespace.js.map +1 -1
- package/dist/src/operations.d.ts.map +1 -1
- package/dist/src/operations.js +6 -7
- package/dist/src/operations.js.map +1 -1
- package/dist/src/private.decorators.d.ts.map +1 -1
- package/dist/src/private.decorators.js +7 -8
- package/dist/src/private.decorators.js.map +1 -1
- package/dist/src/resource.d.ts.map +1 -1
- package/dist/src/resource.js +12 -12
- package/dist/src/resource.js.map +1 -1
- package/dist/src/rules/arm-resource-action-no-segment.d.ts +3 -1
- package/dist/src/rules/arm-resource-action-no-segment.d.ts.map +1 -1
- package/dist/src/rules/arm-resource-action-no-segment.js +9 -6
- package/dist/src/rules/arm-resource-action-no-segment.js.map +1 -1
- package/dist/src/rules/arm-resource-duplicate-property.d.ts +4 -0
- package/dist/src/rules/arm-resource-duplicate-property.d.ts.map +1 -0
- package/dist/src/rules/arm-resource-duplicate-property.js +43 -0
- package/dist/src/rules/arm-resource-duplicate-property.js.map +1 -0
- package/dist/src/rules/arm-resource-interfaces.d.ts +4 -0
- package/dist/src/rules/arm-resource-interfaces.d.ts.map +1 -0
- package/dist/src/rules/arm-resource-interfaces.js +26 -0
- package/dist/src/rules/arm-resource-interfaces.js.map +1 -0
- package/dist/src/rules/arm-resource-invalid-action-verb.d.ts +4 -0
- package/dist/src/rules/arm-resource-invalid-action-verb.d.ts.map +1 -0
- package/dist/src/rules/arm-resource-invalid-action-verb.js +28 -0
- package/dist/src/rules/arm-resource-invalid-action-verb.js.map +1 -0
- package/dist/src/rules/arm-resource-invalid-envelope-property.d.ts +4 -0
- package/dist/src/rules/arm-resource-invalid-envelope-property.d.ts.map +1 -0
- package/dist/src/rules/{arm-resource-properties.js → arm-resource-invalid-envelope-property.js} +13 -23
- package/dist/src/rules/arm-resource-invalid-envelope-property.js.map +1 -0
- package/dist/src/rules/arm-resource-invalid-version-format.d.ts +4 -1
- package/dist/src/rules/arm-resource-invalid-version-format.d.ts.map +1 -1
- package/dist/src/rules/arm-resource-invalid-version-format.js +12 -9
- package/dist/src/rules/arm-resource-invalid-version-format.js.map +1 -1
- package/dist/src/rules/arm-resource-key-invalid-chars.d.ts +4 -0
- package/dist/src/rules/arm-resource-key-invalid-chars.d.ts.map +1 -0
- package/dist/src/rules/arm-resource-key-invalid-chars.js +30 -0
- package/dist/src/rules/arm-resource-key-invalid-chars.js.map +1 -0
- package/dist/src/rules/arm-resource-operation-response.d.ts +4 -0
- package/dist/src/rules/arm-resource-operation-response.d.ts.map +1 -0
- package/dist/src/rules/{arm-resource-operations.js → arm-resource-operation-response.js} +24 -22
- package/dist/src/rules/arm-resource-operation-response.js.map +1 -0
- package/dist/src/rules/arm-resource-patch.d.ts +6 -0
- package/dist/src/rules/arm-resource-patch.d.ts.map +1 -0
- package/dist/src/rules/arm-resource-patch.js +108 -0
- package/dist/src/rules/arm-resource-patch.js.map +1 -0
- package/dist/src/rules/arm-resource-path-invalid-chars.d.ts +4 -0
- package/dist/src/rules/arm-resource-path-invalid-chars.d.ts.map +1 -0
- package/dist/src/rules/arm-resource-path-invalid-chars.js +37 -0
- package/dist/src/rules/arm-resource-path-invalid-chars.js.map +1 -0
- package/dist/src/rules/arm-resource-provisioning-state-rule.d.ts +4 -1
- package/dist/src/rules/arm-resource-provisioning-state-rule.d.ts.map +1 -1
- package/dist/src/rules/arm-resource-provisioning-state-rule.js +13 -11
- package/dist/src/rules/arm-resource-provisioning-state-rule.js.map +1 -1
- package/dist/src/rules/beyond-nesting-levels.d.ts +3 -1
- package/dist/src/rules/beyond-nesting-levels.d.ts.map +1 -1
- package/dist/src/rules/beyond-nesting-levels.js +10 -7
- package/dist/src/rules/beyond-nesting-levels.js.map +1 -1
- package/dist/src/rules/core-operations.d.ts +5 -1
- package/dist/src/rules/core-operations.d.ts.map +1 -1
- package/dist/src/rules/core-operations.js +19 -121
- package/dist/src/rules/core-operations.js.map +1 -1
- package/dist/src/rules/delete-operation.d.ts +3 -1
- package/dist/src/rules/delete-operation.d.ts.map +1 -1
- package/dist/src/rules/delete-operation.js +10 -7
- package/dist/src/rules/delete-operation.js.map +1 -1
- package/dist/src/rules/envelope-properties.d.ts +3 -1
- package/dist/src/rules/envelope-properties.d.ts.map +1 -1
- package/dist/src/rules/envelope-properties.js +12 -31
- package/dist/src/rules/envelope-properties.js.map +1 -1
- package/dist/src/rules/list-operation.d.ts +3 -1
- package/dist/src/rules/list-operation.d.ts.map +1 -1
- package/dist/src/rules/list-operation.js +9 -6
- package/dist/src/rules/list-operation.js.map +1 -1
- package/dist/src/rules/no-response-body.d.ts +3 -1
- package/dist/src/rules/no-response-body.d.ts.map +1 -1
- package/dist/src/rules/no-response-body.js +10 -7
- package/dist/src/rules/no-response-body.js.map +1 -1
- package/dist/src/rules/operations-interface-missing.d.ts +3 -1
- package/dist/src/rules/operations-interface-missing.d.ts.map +1 -1
- package/dist/src/rules/operations-interface-missing.js +12 -10
- package/dist/src/rules/operations-interface-missing.js.map +1 -1
- package/dist/src/rules/patch-envelope-properties.d.ts +4 -0
- package/dist/src/rules/patch-envelope-properties.d.ts.map +1 -0
- package/dist/src/rules/patch-envelope-properties.js +44 -0
- package/dist/src/rules/patch-envelope-properties.js.map +1 -0
- package/dist/src/rules/resource-name.d.ts +4 -1
- package/dist/src/rules/resource-name.d.ts.map +1 -1
- package/dist/src/rules/resource-name.js +14 -11
- package/dist/src/rules/resource-name.js.map +1 -1
- package/dist/src/rules/retry-after.d.ts +3 -1
- package/dist/src/rules/retry-after.d.ts.map +1 -1
- package/dist/src/rules/retry-after.js +10 -7
- package/dist/src/rules/retry-after.js.map +1 -1
- package/dist/src/rules/unsupported-types.d.ts +3 -1
- package/dist/src/rules/unsupported-types.d.ts.map +1 -1
- package/dist/src/rules/unsupported-types.js +9 -6
- package/dist/src/rules/unsupported-types.js.map +1 -1
- package/dist/src/rules/utils.d.ts +3 -1
- package/dist/src/rules/utils.d.ts.map +1 -1
- package/dist/src/rules/utils.js +18 -0
- package/dist/src/rules/utils.js.map +1 -1
- package/dist/src/state.d.ts +13 -0
- package/dist/src/state.d.ts.map +1 -0
- package/dist/src/state.js +20 -0
- package/dist/src/state.js.map +1 -0
- package/package.json +2 -4
- package/dist/src/linter.d.ts +0 -3
- package/dist/src/linter.d.ts.map +0 -1
- package/dist/src/linter.js +0 -42
- package/dist/src/linter.js.map +0 -1
- package/dist/src/rules/arm-resource-invalid-chars.d.ts +0 -2
- package/dist/src/rules/arm-resource-invalid-chars.d.ts.map +0 -1
- package/dist/src/rules/arm-resource-invalid-chars.js +0 -61
- package/dist/src/rules/arm-resource-invalid-chars.js.map +0 -1
- package/dist/src/rules/arm-resource-operations.d.ts +0 -2
- package/dist/src/rules/arm-resource-operations.d.ts.map +0 -1
- package/dist/src/rules/arm-resource-operations.js.map +0 -1
- package/dist/src/rules/arm-resource-properties.d.ts +0 -2
- package/dist/src/rules/arm-resource-properties.d.ts.map +0 -1
- package/dist/src/rules/arm-resource-properties.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"private.decorators.js","sourceRoot":"","sources":["../../src/private.decorators.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAC;AACzD,OAAO,EACL,WAAW,EASX,UAAU,EACV,WAAW,GACZ,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"private.decorators.js","sourceRoot":"","sources":["../../src/private.decorators.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resource.d.ts","sourceRoot":"","sources":["../../src/resource.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,gBAAgB,EAEhB,SAAS,EAET,KAAK,EACL,SAAS,EACT,OAAO,EAER,MAAM,oBAAoB,CAAC;AAI5B,OAAO,EAAE,qBAAqB,EAA6B,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"resource.d.ts","sourceRoot":"","sources":["../../src/resource.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,gBAAgB,EAEhB,SAAS,EAET,KAAK,EACL,SAAS,EACT,OAAO,EAER,MAAM,oBAAoB,CAAC;AAI5B,OAAO,EAAE,qBAAqB,EAA6B,MAAM,iBAAiB,CAAC;AAInF,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,OAAO,GAAG,WAAW,CAAC;AAEhE;;;;GAIG;AACH,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,eAAe,CAAC;IACtB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,KAAK,CAAC;CACrB;AAED,MAAM,WAAW,kBAAmB,SAAQ,sBAAsB;IAChE,UAAU,EAAE,qBAAqB,CAAC;CACnC;AAaD;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,kBAAkB,EAAE,CAmBtE;AAED,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAEzD,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,OAAO,EAChB,YAAY,EAAE,KAAK,GAClB,kBAAkB,GAAG,SAAS,CAgBhC;AAED,wBAAgB,kBAAkB,CAAC,YAAY,EAAE,KAAK,GAAG,eAAe,GAAG,SAAS,CAanF;AAED;;;;;;;;;GASG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,SAAS,GAAG,IAAI,CAUhG;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CACxB,OAAO,EAAE,gBAAgB,EACzB,YAAY,EAAE,KAAK,EACnB,QAAQ,GAAE,MAAkB,GAC3B,IAAI,CAEN;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,KAAK,GAAG,OAAO,CAElF;AAED,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,KAAK,GAAG,MAAM,GAAG,SAAS,CAEjG;AAED,oBAAY,gBAAgB;IAC1B,MAAM,WAAW;IACjB,YAAY,iBAAiB;IAC7B,QAAQ,aAAa;IACrB,aAAa,kBAAkB;IAC/B,SAAS,cAAc;CACxB;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,KAAK,QAEvE;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,KAAK,QAE7E;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,KAAK,QAEzE;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,KAAK,QAE9E;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,KAAK,QAE1E;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,SAAS,QAQjF;AAkCD,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,GAAG,gBAAgB,CAcvF;AAED,wBAAgB,uBAAuB,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,gBAAgB,CAsBnF"}
|
package/dist/src/resource.js
CHANGED
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
import { $tag, getTags, isGlobalNamespace, } from "@typespec/compiler";
|
|
2
2
|
import { $autoRoute, getParentResource, getSegment } from "@typespec/rest";
|
|
3
|
-
import {
|
|
3
|
+
import { reportDiagnostic } from "./lib.js";
|
|
4
4
|
import { getArmProviderNamespace, isArmLibraryNamespace } from "./namespace.js";
|
|
5
5
|
import { resolveResourceOperations } from "./operations.js";
|
|
6
6
|
import { getArmResource, listArmResources } from "./private.decorators.js";
|
|
7
|
-
|
|
8
|
-
const armSingletonResourcesKey = createStateSymbol("armSingletonResources");
|
|
7
|
+
import { ArmStateKeys } from "./state.js";
|
|
9
8
|
function resolveArmResourceDetails(program, resource) {
|
|
10
9
|
// Combine fully-resolved operation details with the base details we already have
|
|
11
10
|
return {
|
|
@@ -22,10 +21,10 @@ function resolveArmResourceDetails(program, resource) {
|
|
|
22
21
|
*/
|
|
23
22
|
export function getArmResources(program) {
|
|
24
23
|
// Have we cached the resolved resource details already?
|
|
25
|
-
const cachedResources = program.stateMap(
|
|
24
|
+
const cachedResources = program.stateMap(ArmStateKeys.armResourcesCached);
|
|
26
25
|
if (cachedResources.size > 0) {
|
|
27
26
|
// Return the cached resource details
|
|
28
|
-
return Array.from(program.stateMap(
|
|
27
|
+
return Array.from(program.stateMap(ArmStateKeys.armResourcesCached).values());
|
|
29
28
|
}
|
|
30
29
|
// We haven't generated the full resource details yet
|
|
31
30
|
const resources = [];
|
|
@@ -91,13 +90,13 @@ export function $armResourceOperations(context, interfaceType) {
|
|
|
91
90
|
* lists.
|
|
92
91
|
*/
|
|
93
92
|
export function $singleton(context, resourceType, keyValue = "default") {
|
|
94
|
-
context.program.stateMap(
|
|
93
|
+
context.program.stateMap(ArmStateKeys.armSingletonResources).set(resourceType, keyValue);
|
|
95
94
|
}
|
|
96
95
|
export function isSingletonResource(program, resourceType) {
|
|
97
|
-
return program.stateMap(
|
|
96
|
+
return program.stateMap(ArmStateKeys.armSingletonResources).has(resourceType);
|
|
98
97
|
}
|
|
99
98
|
export function getSingletonResourceKey(program, resourceType) {
|
|
100
|
-
return program.stateMap(
|
|
99
|
+
return program.stateMap(ArmStateKeys.armSingletonResources).get(resourceType);
|
|
101
100
|
}
|
|
102
101
|
export var ResourceBaseType;
|
|
103
102
|
(function (ResourceBaseType) {
|
|
@@ -107,7 +106,6 @@ export var ResourceBaseType;
|
|
|
107
106
|
ResourceBaseType["ResourceGroup"] = "ResourceGroup";
|
|
108
107
|
ResourceBaseType["Extension"] = "Extension";
|
|
109
108
|
})(ResourceBaseType || (ResourceBaseType = {}));
|
|
110
|
-
const resourceBaseTypeKey = createStateSymbol("resourceBaseTypeKey");
|
|
111
109
|
export function $tenantResource(context, entity) {
|
|
112
110
|
setResourceBaseType(context.program, entity, "Tenant");
|
|
113
111
|
}
|
|
@@ -151,13 +149,13 @@ function getServiceNamespace(program, type) {
|
|
|
151
149
|
}
|
|
152
150
|
}
|
|
153
151
|
function setResourceBaseType(program, resource, type) {
|
|
154
|
-
if (program.stateMap(
|
|
152
|
+
if (program.stateMap(ArmStateKeys.resourceBaseType).has(resource)) {
|
|
155
153
|
reportDiagnostic(program, {
|
|
156
154
|
code: "arm-resource-duplicate-base-parameter",
|
|
157
155
|
target: resource,
|
|
158
156
|
});
|
|
159
157
|
}
|
|
160
|
-
program.stateMap(
|
|
158
|
+
program.stateMap(ArmStateKeys.resourceBaseType).set(resource, type);
|
|
161
159
|
}
|
|
162
160
|
export function getResourceBaseType(program, resource) {
|
|
163
161
|
const parentTracker = new Set();
|
|
@@ -169,7 +167,9 @@ export function getResourceBaseType(program, resource) {
|
|
|
169
167
|
resource = parent;
|
|
170
168
|
parent = getParentResource(program, resource);
|
|
171
169
|
}
|
|
172
|
-
const keyValue = program
|
|
170
|
+
const keyValue = program
|
|
171
|
+
.stateMap(ArmStateKeys.resourceBaseType)
|
|
172
|
+
.get(resource);
|
|
173
173
|
return resolveResourceBaseType(keyValue);
|
|
174
174
|
}
|
|
175
175
|
export function resolveResourceBaseType(type) {
|
package/dist/src/resource.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resource.js","sourceRoot":"","sources":["../../src/resource.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,IAAI,EAEJ,OAAO,EAEP,iBAAiB,GAKlB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC3E,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"resource.js","sourceRoot":"","sources":["../../src/resource.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,4 @@
|
|
|
1
|
-
export declare const armResourceActionNoSegmentRule: import("@typespec/
|
|
1
|
+
export declare const armResourceActionNoSegmentRule: import("@typespec/compiler").LinterRuleDefinition<"arm-resource-action-no-segment", {
|
|
2
|
+
readonly default: "`@armResourceAction` should not be used with `@segment`. Instead, use `@action(...)` if you need to rename the action, or omit.";
|
|
3
|
+
}>;
|
|
2
4
|
//# sourceMappingURL=arm-resource-action-no-segment.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"arm-resource-action-no-segment.d.ts","sourceRoot":"","sources":["../../../src/rules/arm-resource-action-no-segment.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"arm-resource-action-no-segment.d.ts","sourceRoot":"","sources":["../../../src/rules/arm-resource-action-no-segment.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,8BAA8B;;EAwBzC,CAAC"}
|
|
@@ -1,20 +1,23 @@
|
|
|
1
|
-
import { createRule } from "@typespec/
|
|
2
|
-
import { reportDiagnostic } from "../lib.js";
|
|
1
|
+
import { createRule } from "@typespec/compiler";
|
|
3
2
|
import { isInternalTypeSpec } from "./utils.js";
|
|
4
3
|
export const armResourceActionNoSegmentRule = createRule({
|
|
5
4
|
name: "arm-resource-action-no-segment",
|
|
6
|
-
|
|
5
|
+
severity: "warning",
|
|
6
|
+
description: "`@armResourceAction` should not be used with `@segment`.",
|
|
7
|
+
messages: {
|
|
8
|
+
default: "`@armResourceAction` should not be used with `@segment`. Instead, use `@action(...)` if you need to rename the action, or omit.",
|
|
9
|
+
},
|
|
10
|
+
create(context) {
|
|
7
11
|
return {
|
|
8
12
|
operation: (operation) => {
|
|
9
13
|
var _a;
|
|
10
|
-
if (isInternalTypeSpec(program, operation)) {
|
|
14
|
+
if (isInternalTypeSpec(context.program, operation)) {
|
|
11
15
|
return;
|
|
12
16
|
}
|
|
13
17
|
const armResourceActionDec = getDecorator(operation, "armResourceAction");
|
|
14
18
|
const segmentDec = getDecorator(operation, "segment");
|
|
15
19
|
if (armResourceActionDec && segmentDec) {
|
|
16
|
-
reportDiagnostic(
|
|
17
|
-
code: "arm-resource-action-no-segment",
|
|
20
|
+
context.reportDiagnostic({
|
|
18
21
|
target: (_a = segmentDec.node) !== null && _a !== void 0 ? _a : operation,
|
|
19
22
|
});
|
|
20
23
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"arm-resource-action-no-segment.js","sourceRoot":"","sources":["../../../src/rules/arm-resource-action-no-segment.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"arm-resource-action-no-segment.js","sourceRoot":"","sources":["../../../src/rules/arm-resource-action-no-segment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmC,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACjF,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAEhD,MAAM,CAAC,MAAM,8BAA8B,GAAG,UAAU,CAAC;IACvD,IAAI,EAAE,gCAAgC;IACtC,QAAQ,EAAE,SAAS;IACnB,WAAW,EAAE,0DAA0D;IACvE,QAAQ,EAAE;QACR,OAAO,EACL,iIAAiI;KACpI;IACD,MAAM,CAAC,OAAO;QACZ,OAAO;YACL,SAAS,EAAE,CAAC,SAAoB,EAAE,EAAE;;gBAClC,IAAI,kBAAkB,CAAC,OAAO,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE;oBAClD,OAAO;iBACR;gBACD,MAAM,oBAAoB,GAAG,YAAY,CAAC,SAAS,EAAE,mBAAmB,CAAC,CAAC;gBAC1E,MAAM,UAAU,GAAG,YAAY,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;gBACtD,IAAI,oBAAoB,IAAI,UAAU,EAAE;oBACtC,OAAO,CAAC,gBAAgB,CAAC;wBACvB,MAAM,EAAE,MAAA,UAAU,CAAC,IAAI,mCAAI,SAAS;qBACrC,CAAC,CAAC;iBACJ;YACH,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC;AAEH,SAAS,YAAY,CAAC,IAAe,EAAE,IAAY;IACjD,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,IAAI,EAAE,KAAK,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACjF,IAAI,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC;IAC7D,OAAO,SAAS,CAAC;AACnB,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export declare const armResourceDuplicatePropertiesRule: import("@typespec/compiler").LinterRuleDefinition<"arm-resource-duplicate-property", {
|
|
2
|
+
readonly default: import("@typespec/compiler").CallableMessage<[string]>;
|
|
3
|
+
}>;
|
|
4
|
+
//# sourceMappingURL=arm-resource-duplicate-property.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"arm-resource-duplicate-property.d.ts","sourceRoot":"","sources":["../../../src/rules/arm-resource-duplicate-property.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,kCAAkC;;EAuC7C,CAAC"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { createRule, getProperty, paramMessage } from "@typespec/compiler";
|
|
2
|
+
import { getArmResource } from "../resource.js";
|
|
3
|
+
export const armResourceDuplicatePropertiesRule = createRule({
|
|
4
|
+
name: "arm-resource-duplicate-property",
|
|
5
|
+
severity: "warning",
|
|
6
|
+
description: "Warn about duplicate properties in resources.",
|
|
7
|
+
messages: {
|
|
8
|
+
default: paramMessage `Duplicate property "${"propertyName"}" found in the resource envelope and resource properties. Please do not duplicate envelope properties in resource properties.`,
|
|
9
|
+
},
|
|
10
|
+
create(context) {
|
|
11
|
+
return {
|
|
12
|
+
model: (model) => {
|
|
13
|
+
var _a;
|
|
14
|
+
const resourceModel = getArmResource(context.program, model);
|
|
15
|
+
if (resourceModel !== undefined) {
|
|
16
|
+
const resourceProperties = (_a = getProperty(model, "properties")) === null || _a === void 0 ? void 0 : _a.type;
|
|
17
|
+
for (const property of getProperties(model)) {
|
|
18
|
+
if (resourceProperties !== undefined && resourceProperties.kind === "Model") {
|
|
19
|
+
const targetProperty = getProperty(resourceProperties, property.name);
|
|
20
|
+
if (targetProperty !== undefined) {
|
|
21
|
+
context.reportDiagnostic({
|
|
22
|
+
format: { propertyName: property.name },
|
|
23
|
+
target: targetProperty,
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
},
|
|
30
|
+
};
|
|
31
|
+
function getProperties(model) {
|
|
32
|
+
const result = [];
|
|
33
|
+
let current = model;
|
|
34
|
+
while (current !== undefined) {
|
|
35
|
+
if (current.properties.size > 0)
|
|
36
|
+
result.push(...current.properties.values());
|
|
37
|
+
current = current.baseModel;
|
|
38
|
+
}
|
|
39
|
+
return result;
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
});
|
|
43
|
+
//# sourceMappingURL=arm-resource-duplicate-property.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"arm-resource-duplicate-property.js","sourceRoot":"","sources":["../../../src/rules/arm-resource-duplicate-property.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEjG,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhD,MAAM,CAAC,MAAM,kCAAkC,GAAG,UAAU,CAAC;IAC3D,IAAI,EAAE,iCAAiC;IACvC,QAAQ,EAAE,SAAS;IACnB,WAAW,EAAE,+CAA+C;IAC5D,QAAQ,EAAE;QACR,OAAO,EAAE,YAAY,CAAA,uBAAuB,cAAc,gIAAgI;KAC3L;IACD,MAAM,CAAC,OAAO;QACZ,OAAO;YACL,KAAK,EAAE,CAAC,KAAY,EAAE,EAAE;;gBACtB,MAAM,aAAa,GAAG,cAAc,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;gBAC7D,IAAI,aAAa,KAAK,SAAS,EAAE;oBAC/B,MAAM,kBAAkB,GAAG,MAAA,WAAW,CAAC,KAAK,EAAE,YAAY,CAAC,0CAAE,IAAI,CAAC;oBAClE,KAAK,MAAM,QAAQ,IAAI,aAAa,CAAC,KAAK,CAAC,EAAE;wBAC3C,IAAI,kBAAkB,KAAK,SAAS,IAAI,kBAAkB,CAAC,IAAI,KAAK,OAAO,EAAE;4BAC3E,MAAM,cAAc,GAAG,WAAW,CAAC,kBAAkB,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;4BACtE,IAAI,cAAc,KAAK,SAAS,EAAE;gCAChC,OAAO,CAAC,gBAAgB,CAAC;oCACvB,MAAM,EAAE,EAAE,YAAY,EAAE,QAAQ,CAAC,IAAI,EAAE;oCACvC,MAAM,EAAE,cAAc;iCACvB,CAAC,CAAC;6BACJ;yBACF;qBACF;iBACF;YACH,CAAC;SACF,CAAC;QAEF,SAAS,aAAa,CAAC,KAAY;YACjC,MAAM,MAAM,GAAoB,EAAE,CAAC;YACnC,IAAI,OAAO,GAAsB,KAAK,CAAC;YACvC,OAAO,OAAO,KAAK,SAAS,EAAE;gBAC5B,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC;oBAAE,MAAM,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;gBAC7E,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC;aAC7B;YAED,OAAO,MAAM,CAAC;QAChB,CAAC;IACH,CAAC;CACF,CAAC,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export declare const interfacesRule: import("@typespec/compiler").LinterRuleDefinition<"arm-resource-interface-requires-decorator", {
|
|
2
|
+
readonly default: "Each resource interface must have an @armResourceOperations decorator.";
|
|
3
|
+
}>;
|
|
4
|
+
//# sourceMappingURL=arm-resource-interfaces.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"arm-resource-interfaces.d.ts","sourceRoot":"","sources":["../../../src/rules/arm-resource-interfaces.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,cAAc;;EAyBzB,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { createRule } from "@typespec/compiler";
|
|
2
|
+
import { isArmOperationsListInterface } from "../private.decorators.js";
|
|
3
|
+
import { isInternalTypeSpec } from "./utils.js";
|
|
4
|
+
export const interfacesRule = createRule({
|
|
5
|
+
name: "arm-resource-interface-requires-decorator",
|
|
6
|
+
severity: "warning",
|
|
7
|
+
description: "Each resource interface must have an @armResourceOperations decorator.",
|
|
8
|
+
messages: {
|
|
9
|
+
default: "Each resource interface must have an @armResourceOperations decorator.",
|
|
10
|
+
},
|
|
11
|
+
create(context) {
|
|
12
|
+
return {
|
|
13
|
+
interface: (interfaceContext) => {
|
|
14
|
+
if (!isInternalTypeSpec(context.program, interfaceContext) &&
|
|
15
|
+
!isArmOperationsListInterface(context.program, interfaceContext)) {
|
|
16
|
+
if (!interfaceContext.decorators.some((d) => d.decorator.name === "$armResourceOperations")) {
|
|
17
|
+
context.reportDiagnostic({
|
|
18
|
+
target: interfaceContext,
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
},
|
|
23
|
+
};
|
|
24
|
+
},
|
|
25
|
+
});
|
|
26
|
+
//# sourceMappingURL=arm-resource-interfaces.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"arm-resource-interfaces.js","sourceRoot":"","sources":["../../../src/rules/arm-resource-interfaces.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAE3D,OAAO,EAAE,4BAA4B,EAAE,MAAM,0BAA0B,CAAC;AACxE,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAEhD,MAAM,CAAC,MAAM,cAAc,GAAG,UAAU,CAAC;IACvC,IAAI,EAAE,2CAA2C;IACjD,QAAQ,EAAE,SAAS;IACnB,WAAW,EAAE,wEAAwE;IACrF,QAAQ,EAAE;QACR,OAAO,EAAE,wEAAwE;KAClF;IACD,MAAM,CAAC,OAAO;QACZ,OAAO;YACL,SAAS,EAAE,CAAC,gBAA2B,EAAE,EAAE;gBACzC,IACE,CAAC,kBAAkB,CAAC,OAAO,CAAC,OAAO,EAAE,gBAAgB,CAAC;oBACtD,CAAC,4BAA4B,CAAC,OAAO,CAAC,OAAO,EAAE,gBAAgB,CAAC,EAChE;oBACA,IACE,CAAC,gBAAgB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,KAAK,wBAAwB,CAAC,EACvF;wBACA,OAAO,CAAC,gBAAgB,CAAC;4BACvB,MAAM,EAAE,gBAAgB;yBACzB,CAAC,CAAC;qBACJ;iBACF;YACH,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"arm-resource-invalid-action-verb.d.ts","sourceRoot":"","sources":["../../../src/rules/arm-resource-invalid-action-verb.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,qBAAqB;;EAsBhC,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { createRule } from "@typespec/compiler";
|
|
2
|
+
import { getOperationVerb } from "@typespec/http";
|
|
3
|
+
import { getActionDetails } from "@typespec/rest";
|
|
4
|
+
import { isInternalTypeSpec } from "./utils.js";
|
|
5
|
+
export const invalidActionVerbRule = createRule({
|
|
6
|
+
name: "arm-resource-invalid-action-verb",
|
|
7
|
+
severity: "warning",
|
|
8
|
+
description: "Actions must be HTTP Post operations.",
|
|
9
|
+
messages: {
|
|
10
|
+
default: "Actions must be HTTP Post operations.",
|
|
11
|
+
},
|
|
12
|
+
create(context) {
|
|
13
|
+
return {
|
|
14
|
+
operation: (operation) => {
|
|
15
|
+
if (!isInternalTypeSpec(context.program, operation)) {
|
|
16
|
+
const actionType = getActionDetails(context.program, operation);
|
|
17
|
+
const verb = getOperationVerb(context.program, operation);
|
|
18
|
+
if (actionType !== undefined && verb !== "post") {
|
|
19
|
+
context.reportDiagnostic({
|
|
20
|
+
target: operation,
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
},
|
|
25
|
+
};
|
|
26
|
+
},
|
|
27
|
+
});
|
|
28
|
+
//# sourceMappingURL=arm-resource-invalid-action-verb.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"arm-resource-invalid-action-verb.js","sourceRoot":"","sources":["../../../src/rules/arm-resource-invalid-action-verb.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAElD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAEhD,MAAM,CAAC,MAAM,qBAAqB,GAAG,UAAU,CAAC;IAC9C,IAAI,EAAE,kCAAkC;IACxC,QAAQ,EAAE,SAAS;IACnB,WAAW,EAAE,uCAAuC;IACpD,QAAQ,EAAE;QACR,OAAO,EAAE,uCAAuC;KACjD;IACD,MAAM,CAAC,OAAO;QACZ,OAAO;YACL,SAAS,EAAE,CAAC,SAAoB,EAAE,EAAE;gBAClC,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE;oBACnD,MAAM,UAAU,GAAG,gBAAgB,CAAC,OAAO,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;oBAChE,MAAM,IAAI,GAAG,gBAAgB,CAAC,OAAO,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;oBAC1D,IAAI,UAAU,KAAK,SAAS,IAAI,IAAI,KAAK,MAAM,EAAE;wBAC/C,OAAO,CAAC,gBAAgB,CAAC;4BACvB,MAAM,EAAE,SAAS;yBAClB,CAAC,CAAC;qBACJ;iBACF;YACH,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export declare const armResourceEnvelopeProperties: import("@typespec/compiler").LinterRuleDefinition<"arm-resource-invalid-envelope-property", {
|
|
2
|
+
readonly default: import("@typespec/compiler").CallableMessage<[string]>;
|
|
3
|
+
}>;
|
|
4
|
+
//# sourceMappingURL=arm-resource-invalid-envelope-property.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"arm-resource-invalid-envelope-property.d.ts","sourceRoot":"","sources":["../../../src/rules/arm-resource-invalid-envelope-property.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,6BAA6B;;EA2CxC,CAAC"}
|
package/dist/src/rules/{arm-resource-properties.js → arm-resource-invalid-envelope-property.js}
RENAMED
|
@@ -1,41 +1,31 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { createRule } from "@typespec/lint";
|
|
3
|
-
import { reportDiagnostic } from "../lib.js";
|
|
1
|
+
import { createRule, paramMessage } from "@typespec/compiler";
|
|
4
2
|
import { getArmResource } from "../resource.js";
|
|
5
3
|
import { getNamespaceName, getSourceModel } from "./utils.js";
|
|
6
|
-
export const
|
|
7
|
-
name: "arm-resource-
|
|
8
|
-
|
|
4
|
+
export const armResourceEnvelopeProperties = createRule({
|
|
5
|
+
name: "arm-resource-invalid-envelope-property",
|
|
6
|
+
severity: "warning",
|
|
7
|
+
description: "Check for invalid resource envelope properties.",
|
|
8
|
+
messages: {
|
|
9
|
+
default: paramMessage `Property "${"propertyName"}" is not valid in the resource envelope. Please remove this property, or add it to the resource-specific property bag.`,
|
|
10
|
+
},
|
|
11
|
+
create(context) {
|
|
9
12
|
return {
|
|
10
13
|
model: (model) => {
|
|
11
|
-
|
|
12
|
-
const resourceModel = getArmResource(program, model);
|
|
14
|
+
const resourceModel = getArmResource(context.program, model);
|
|
13
15
|
if (resourceModel !== undefined) {
|
|
14
|
-
const resourceProperties = (_a = getProperty(model, "properties")) === null || _a === void 0 ? void 0 : _a.type;
|
|
15
16
|
for (const property of getProperties(model)) {
|
|
16
17
|
if (property.name !== "name") {
|
|
17
18
|
const sourceModel = getSourceModel(property);
|
|
18
|
-
const sourceNamespace = getNamespaceName(program, sourceModel);
|
|
19
|
+
const sourceNamespace = getNamespaceName(context.program, sourceModel);
|
|
19
20
|
if (sourceModel === undefined ||
|
|
20
21
|
sourceNamespace === undefined ||
|
|
21
22
|
!sourceNamespace.startsWith("Azure.ResourceManager")) {
|
|
22
|
-
reportDiagnostic(
|
|
23
|
-
code: "arm-resource-invalid-envelope-property",
|
|
23
|
+
context.reportDiagnostic({
|
|
24
24
|
format: { propertyName: property.name },
|
|
25
25
|
target: property,
|
|
26
26
|
});
|
|
27
27
|
}
|
|
28
28
|
}
|
|
29
|
-
if (resourceProperties !== undefined && resourceProperties.kind === "Model") {
|
|
30
|
-
const targetProperty = getProperty(resourceProperties, property.name);
|
|
31
|
-
if (targetProperty !== undefined) {
|
|
32
|
-
reportDiagnostic(program, {
|
|
33
|
-
code: "arm-resource-duplicate-property",
|
|
34
|
-
format: { propertyName: property.name },
|
|
35
|
-
target: targetProperty,
|
|
36
|
-
});
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
29
|
}
|
|
40
30
|
}
|
|
41
31
|
},
|
|
@@ -52,4 +42,4 @@ export const armResourceProperties = createRule({
|
|
|
52
42
|
}
|
|
53
43
|
},
|
|
54
44
|
});
|
|
55
|
-
//# sourceMappingURL=arm-resource-
|
|
45
|
+
//# sourceMappingURL=arm-resource-invalid-envelope-property.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"arm-resource-invalid-envelope-property.js","sourceRoot":"","sources":["../../../src/rules/arm-resource-invalid-envelope-property.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,UAAU,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEpF,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE9D,MAAM,CAAC,MAAM,6BAA6B,GAAG,UAAU,CAAC;IACtD,IAAI,EAAE,wCAAwC;IAC9C,QAAQ,EAAE,SAAS;IACnB,WAAW,EAAE,iDAAiD;IAC9D,QAAQ,EAAE;QACR,OAAO,EAAE,YAAY,CAAA,aAAa,cAAc,yHAAyH;KAC1K;IACD,MAAM,CAAC,OAAO;QACZ,OAAO;YACL,KAAK,EAAE,CAAC,KAAY,EAAE,EAAE;gBACtB,MAAM,aAAa,GAAG,cAAc,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;gBAC7D,IAAI,aAAa,KAAK,SAAS,EAAE;oBAC/B,KAAK,MAAM,QAAQ,IAAI,aAAa,CAAC,KAAK,CAAC,EAAE;wBAC3C,IAAI,QAAQ,CAAC,IAAI,KAAK,MAAM,EAAE;4BAC5B,MAAM,WAAW,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;4BAC7C,MAAM,eAAe,GAAG,gBAAgB,CAAC,OAAO,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;4BACvE,IACE,WAAW,KAAK,SAAS;gCACzB,eAAe,KAAK,SAAS;gCAC7B,CAAC,eAAe,CAAC,UAAU,CAAC,uBAAuB,CAAC,EACpD;gCACA,OAAO,CAAC,gBAAgB,CAAC;oCACvB,MAAM,EAAE,EAAE,YAAY,EAAE,QAAQ,CAAC,IAAI,EAAE;oCACvC,MAAM,EAAE,QAAQ;iCACjB,CAAC,CAAC;6BACJ;yBACF;qBACF;iBACF;YACH,CAAC;SACF,CAAC;QAEF,SAAS,aAAa,CAAC,KAAY;YACjC,MAAM,MAAM,GAAoB,EAAE,CAAC;YACnC,IAAI,OAAO,GAAsB,KAAK,CAAC;YACvC,OAAO,OAAO,KAAK,SAAS,EAAE;gBAC5B,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC;oBAAE,MAAM,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;gBAC7E,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC;aAC7B;YAED,OAAO,MAAM,CAAC;QAChB,CAAC;IACH,CAAC;CACF,CAAC,CAAC"}
|
|
@@ -1,2 +1,5 @@
|
|
|
1
|
-
export declare const armResourceInvalidVersionFormatRule: import("@typespec/
|
|
1
|
+
export declare const armResourceInvalidVersionFormatRule: import("@typespec/compiler").LinterRuleDefinition<"arm-resource-invalid-version-format", {
|
|
2
|
+
readonly default: import("@typespec/compiler").CallableMessage<[string]>;
|
|
3
|
+
readonly invalidType: import("@typespec/compiler").CallableMessage<[]>;
|
|
4
|
+
}>;
|
|
2
5
|
//# sourceMappingURL=arm-resource-invalid-version-format.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"arm-resource-invalid-version-format.d.ts","sourceRoot":"","sources":["../../../src/rules/arm-resource-invalid-version-format.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"arm-resource-invalid-version-format.d.ts","sourceRoot":"","sources":["../../../src/rules/arm-resource-invalid-version-format.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,mCAAmC;;;EAkD9C,CAAC"}
|
|
@@ -1,26 +1,30 @@
|
|
|
1
|
-
import { createRule } from "@typespec/
|
|
1
|
+
import { createRule, paramMessage } from "@typespec/compiler";
|
|
2
2
|
import { getVersion } from "@typespec/versioning";
|
|
3
|
-
import { reportDiagnostic } from "../lib.js";
|
|
4
3
|
import { isInternalTypeSpec } from "./utils.js";
|
|
5
4
|
export const armResourceInvalidVersionFormatRule = createRule({
|
|
6
5
|
name: "arm-resource-invalid-version-format",
|
|
7
|
-
|
|
6
|
+
severity: "warning",
|
|
7
|
+
description: "Check for valid versions.",
|
|
8
|
+
messages: {
|
|
9
|
+
default: paramMessage `The version '${"version"}' is invalid. Versions for arm resources must be of the form "YYYY-MM-DD" and may have a suffix, like "-preview" or a versioned suffix, "-alpha.1".`,
|
|
10
|
+
invalidType: paramMessage `The versions for Azure Resource Manager Services must use strings of the form "YYYY-MM-DD[-suffix]."`,
|
|
11
|
+
},
|
|
12
|
+
create(context) {
|
|
8
13
|
return {
|
|
9
14
|
namespace: (namespace) => {
|
|
10
15
|
var _a;
|
|
11
16
|
// validate format of versions
|
|
12
|
-
if (isInternalTypeSpec(program, namespace)) {
|
|
17
|
+
if (isInternalTypeSpec(context.program, namespace)) {
|
|
13
18
|
return;
|
|
14
19
|
}
|
|
15
|
-
const map = getVersion(program, namespace);
|
|
20
|
+
const map = getVersion(context.program, namespace);
|
|
16
21
|
if (map !== undefined) {
|
|
17
22
|
for (const version of map.getVersions()) {
|
|
18
23
|
const versionValue = (_a = version.enumMember.value) !== null && _a !== void 0 ? _a : version.enumMember.name;
|
|
19
24
|
switch (typeof versionValue) {
|
|
20
25
|
case "number":
|
|
21
26
|
case "undefined":
|
|
22
|
-
reportDiagnostic(
|
|
23
|
-
code: "arm-resource-invalid-version-format",
|
|
27
|
+
context.reportDiagnostic({
|
|
24
28
|
messageId: "invalidType",
|
|
25
29
|
format: { version: versionValue },
|
|
26
30
|
target: version.enumMember,
|
|
@@ -31,8 +35,7 @@ export const armResourceInvalidVersionFormatRule = createRule({
|
|
|
31
35
|
if (versionMatch === undefined ||
|
|
32
36
|
versionMatch === null ||
|
|
33
37
|
versionMatch.length < 1) {
|
|
34
|
-
reportDiagnostic(
|
|
35
|
-
code: "arm-resource-invalid-version-format",
|
|
38
|
+
context.reportDiagnostic({
|
|
36
39
|
format: { version: versionValue },
|
|
37
40
|
target: version.enumMember,
|
|
38
41
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"arm-resource-invalid-version-format.js","sourceRoot":"","sources":["../../../src/rules/arm-resource-invalid-version-format.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"arm-resource-invalid-version-format.js","sourceRoot":"","sources":["../../../src/rules/arm-resource-invalid-version-format.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,UAAU,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEzE,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAEhD,MAAM,CAAC,MAAM,mCAAmC,GAAG,UAAU,CAAC;IAC5D,IAAI,EAAE,qCAAqC;IAC3C,QAAQ,EAAE,SAAS;IACnB,WAAW,EAAE,2BAA2B;IACxC,QAAQ,EAAE;QACR,OAAO,EAAE,YAAY,CAAA,gBAAgB,SAAS,sJAAsJ;QACpM,WAAW,EAAE,YAAY,CAAA,sGAAsG;KAChI;IACD,MAAM,CAAC,OAAO;QACZ,OAAO;YACL,SAAS,EAAE,CAAC,SAAoB,EAAE,EAAE;;gBAClC,8BAA8B;gBAC9B,IAAI,kBAAkB,CAAC,OAAO,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE;oBAClD,OAAO;iBACR;gBAED,MAAM,GAAG,GAAG,UAAU,CAAC,OAAO,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;gBACnD,IAAI,GAAG,KAAK,SAAS,EAAE;oBACrB,KAAK,MAAM,OAAO,IAAI,GAAG,CAAC,WAAW,EAAE,EAAE;wBACvC,MAAM,YAAY,GAAG,MAAA,OAAO,CAAC,UAAU,CAAC,KAAK,mCAAI,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;wBACzE,QAAQ,OAAO,YAAY,EAAE;4BAC3B,KAAK,QAAQ,CAAC;4BACd,KAAK,WAAW;gCACd,OAAO,CAAC,gBAAgB,CAAC;oCACvB,SAAS,EAAE,aAAa;oCACxB,MAAM,EAAE,EAAE,OAAO,EAAE,YAAY,EAAE;oCACjC,MAAM,EAAE,OAAO,CAAC,UAAU;iCAC3B,CAAC,CAAC;gCACH,MAAM;4BACR,KAAK,QAAQ;gCACX,MAAM,YAAY,GAAG,YAAY,CAAC,KAAK,CACrC,4CAA4C,CAC7C,CAAC;gCACF,IACE,YAAY,KAAK,SAAS;oCAC1B,YAAY,KAAK,IAAI;oCACrB,YAAY,CAAC,MAAM,GAAG,CAAC,EACvB;oCACA,OAAO,CAAC,gBAAgB,CAAC;wCACvB,MAAM,EAAE,EAAE,OAAO,EAAE,YAAY,EAAE;wCACjC,MAAM,EAAE,OAAO,CAAC,UAAU;qCAC3B,CAAC,CAAC;iCACJ;gCACD,MAAM;yBACT;qBACF;iBACF;YACH,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export declare const armResourceKeyInvalidCharsRule: import("@typespec/compiler").LinterRuleDefinition<"arm-resource-key-invalid-chars", {
|
|
2
|
+
readonly default: import("@typespec/compiler").CallableMessage<[string]>;
|
|
3
|
+
}>;
|
|
4
|
+
//# sourceMappingURL=arm-resource-key-invalid-chars.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"arm-resource-key-invalid-chars.d.ts","sourceRoot":"","sources":["../../../src/rules/arm-resource-key-invalid-chars.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,8BAA8B;;EA4BzC,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { createRule, getKeyName, paramMessage } from "@typespec/compiler";
|
|
2
|
+
import { getDecoratorParam, isInternalTypeSpec, isResource, isValidKey } from "./utils.js";
|
|
3
|
+
export const armResourceKeyInvalidCharsRule = createRule({
|
|
4
|
+
name: "arm-resource-key-invalid-chars",
|
|
5
|
+
severity: "warning",
|
|
6
|
+
description: "Arm resource key must contain only alphanumeric characters.",
|
|
7
|
+
messages: {
|
|
8
|
+
default: paramMessage `'${"key"}' is an invalid path parameter name. Parameters must consist of alphanumeric characters starting with a lower case letter.`,
|
|
9
|
+
},
|
|
10
|
+
create(context) {
|
|
11
|
+
return {
|
|
12
|
+
model: (model) => {
|
|
13
|
+
var _a, _b;
|
|
14
|
+
if (!isInternalTypeSpec(context.program, model) &&
|
|
15
|
+
isResource(model) &&
|
|
16
|
+
model.properties.has("name")) {
|
|
17
|
+
const nameProperty = model.properties.get("name");
|
|
18
|
+
const key = getKeyName(context.program, nameProperty);
|
|
19
|
+
if (key !== undefined && !isValidKey(key)) {
|
|
20
|
+
context.reportDiagnostic({
|
|
21
|
+
format: { key: key },
|
|
22
|
+
target: (_b = (_a = getDecoratorParam(nameProperty, "key")) === null || _a === void 0 ? void 0 : _a.node) !== null && _b !== void 0 ? _b : nameProperty,
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
};
|
|
28
|
+
},
|
|
29
|
+
});
|
|
30
|
+
//# sourceMappingURL=arm-resource-key-invalid-chars.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"arm-resource-key-invalid-chars.js","sourceRoot":"","sources":["../../../src/rules/arm-resource-key-invalid-chars.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEhG,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE3F,MAAM,CAAC,MAAM,8BAA8B,GAAG,UAAU,CAAC;IACvD,IAAI,EAAE,gCAAgC;IACtC,QAAQ,EAAE,SAAS;IACnB,WAAW,EAAE,6DAA6D;IAC1E,QAAQ,EAAE;QACR,OAAO,EAAE,YAAY,CAAA,IAAI,KAAK,4HAA4H;KAC3J;IACD,MAAM,CAAC,OAAO;QACZ,OAAO;YACL,KAAK,EAAE,CAAC,KAAY,EAAE,EAAE;;gBACtB,IACE,CAAC,kBAAkB,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC;oBAC3C,UAAU,CAAC,KAAK,CAAC;oBACjB,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,EAC5B;oBACA,MAAM,YAAY,GAAkB,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAE,CAAC;oBAClE,MAAM,GAAG,GAAG,UAAU,CAAC,OAAO,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;oBAEtD,IAAI,GAAG,KAAK,SAAS,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;wBACzC,OAAO,CAAC,gBAAgB,CAAC;4BACvB,MAAM,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE;4BACpB,MAAM,EAAE,MAAA,MAAA,iBAAiB,CAAC,YAAY,EAAE,KAAK,CAAC,0CAAE,IAAI,mCAAI,YAAY;yBACrE,CAAC,CAAC;qBACJ;iBACF;YACH,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export declare const armResourceOperationsRule: import("@typespec/compiler").LinterRuleDefinition<"arm-resource-operation-response", {
|
|
2
|
+
readonly default: "[RPC 008]: PUT, GET, PATCH & LIST must return the same resource schema.";
|
|
3
|
+
}>;
|
|
4
|
+
//# sourceMappingURL=arm-resource-operation-response.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"arm-resource-operation-response.d.ts","sourceRoot":"","sources":["../../../src/rules/arm-resource-operation-response.ts"],"names":[],"mappings":"AAcA,eAAO,MAAM,yBAAyB;;EA6BpC,CAAC"}
|