@zuplo/lint-linux-x64 7.13.3 → 7.13.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.
@@ -0,0 +1,353 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://cdn.zuplo.com/schemas/zuplo-lint.json",
4
+ "title": "Zuplo Lint Config",
5
+ "description": "Configuration for zuplo lint (zuplo.lint.jsonc). Set \"version\": 2 to use vacuum and Spectral rulesets, rule objects, and overrides.",
6
+ "type": "object",
7
+ "properties": {
8
+ "$schema": {
9
+ "description": "The JSON schema for this file. Use https://cdn.zuplo.com/schemas/zuplo-lint.json.",
10
+ "type": "string"
11
+ },
12
+ "version": {
13
+ "description": "The config format version. A file without a version is version 1.",
14
+ "type": "integer",
15
+ "enum": [1, 2]
16
+ },
17
+ "extends": {
18
+ "description": "Rulesets to start from, applied left to right. Version 1 accepts only the Zuplo presets.",
19
+ "type": "array",
20
+ "items": {
21
+ "$ref": "#/$defs/extendsEntry"
22
+ }
23
+ },
24
+ "rules": {
25
+ "description": "Rule settings, keyed by rule ID: a severity, or (version 2) an object that scopes or defines a rule.",
26
+ "type": "object",
27
+ "additionalProperties": {
28
+ "anyOf": [
29
+ {
30
+ "$ref": "#/$defs/severity"
31
+ },
32
+ {
33
+ "$ref": "#/$defs/ruleObject"
34
+ }
35
+ ]
36
+ }
37
+ },
38
+ "overrides": {
39
+ "description": "Change rule severities for some API paths or spec files. Later entries win. Version 2 only.",
40
+ "type": "array",
41
+ "items": {
42
+ "$ref": "#/$defs/override"
43
+ }
44
+ },
45
+ "requiredPolicies": {
46
+ "description": "Policies every route must include. Replaces the defaults from zuplo:strict and zuplo:security.",
47
+ "type": "array",
48
+ "items": {
49
+ "$ref": "#/$defs/requiredPolicy"
50
+ }
51
+ },
52
+ "breakingChanges": {
53
+ "description": "Compare OpenAPI files with a Git branch, tag, or commit and report breaking changes.",
54
+ "type": "object",
55
+ "properties": {
56
+ "enabled": {
57
+ "description": "Turns detection on.",
58
+ "type": "boolean",
59
+ "default": false
60
+ },
61
+ "baseline": {
62
+ "description": "The branch, tag, or commit SHA to compare against, such as origin/main.",
63
+ "type": "string",
64
+ "default": "main"
65
+ },
66
+ "severity": {
67
+ "description": "Severity of each breaking change.",
68
+ "enum": ["error", "warn"],
69
+ "default": "error"
70
+ }
71
+ }
72
+ },
73
+ "failOn": {
74
+ "description": "The lowest severity that fails the run.",
75
+ "enum": ["error", "warn", "none"],
76
+ "default": "error"
77
+ },
78
+ "ignorePaths": {
79
+ "description": "API paths whose route results are dropped for every rule. Each starts with / and may end in /**.",
80
+ "type": "array",
81
+ "items": {
82
+ "type": "string"
83
+ }
84
+ },
85
+ "include": {
86
+ "description": "OpenAPI files to lint, relative to the project directory. Defaults to every .oas.json file in config/.",
87
+ "type": "array",
88
+ "items": {
89
+ "type": "string",
90
+ "pattern": "\\.oas\\.json$"
91
+ }
92
+ }
93
+ },
94
+ "allOf": [
95
+ {
96
+ "if": {
97
+ "properties": {
98
+ "version": {
99
+ "const": 2
100
+ }
101
+ },
102
+ "required": ["version"]
103
+ },
104
+ "then": {
105
+ "properties": {
106
+ "breakingChanges": {
107
+ "additionalProperties": false
108
+ },
109
+ "ignorePaths": {
110
+ "items": {
111
+ "$ref": "#/$defs/pathPattern"
112
+ }
113
+ },
114
+ "requiredPolicies": {
115
+ "items": {
116
+ "properties": {
117
+ "id": true,
118
+ "policyTypes": true,
119
+ "direction": true,
120
+ "severity": true,
121
+ "message": true
122
+ },
123
+ "additionalProperties": false
124
+ }
125
+ }
126
+ }
127
+ },
128
+ "else": {
129
+ "properties": {
130
+ "extends": {
131
+ "items": {
132
+ "$ref": "#/$defs/zuploPreset"
133
+ }
134
+ },
135
+ "rules": {
136
+ "additionalProperties": {
137
+ "enum": ["error", "warn", "off"]
138
+ }
139
+ },
140
+ "overrides": false
141
+ },
142
+ "additionalProperties": true
143
+ }
144
+ }
145
+ ],
146
+ "unevaluatedProperties": false,
147
+ "$defs": {
148
+ "severity": {
149
+ "description": "error and warn can fail a run; info and hint are reported but never fail it.",
150
+ "enum": ["error", "warn", "info", "hint", "off"]
151
+ },
152
+ "zuploPreset": {
153
+ "enum": ["zuplo:recommended", "zuplo:strict", "zuplo:security"]
154
+ },
155
+ "builtinRuleset": {
156
+ "enum": ["vacuum:oas", "spectral:oas", "vacuum:owasp", "spectral:owasp"]
157
+ },
158
+ "extendsEntry": {
159
+ "anyOf": [
160
+ {
161
+ "description": "A Zuplo preset, a vacuum/Spectral built-in ruleset, or a local .json/.jsonc ruleset file relative to this file.",
162
+ "anyOf": [
163
+ {
164
+ "$ref": "#/$defs/zuploPreset"
165
+ },
166
+ {
167
+ "$ref": "#/$defs/builtinRuleset"
168
+ },
169
+ {
170
+ "type": "string",
171
+ "pattern": "\\.jsonc?$"
172
+ }
173
+ ]
174
+ },
175
+ {
176
+ "description": "A built-in ruleset with a mode, as in Spectral: [\"spectral:owasp\", \"all\"].",
177
+ "type": "array",
178
+ "prefixItems": [
179
+ {
180
+ "$ref": "#/$defs/builtinRuleset"
181
+ },
182
+ {
183
+ "enum": ["recommended", "all", "off"]
184
+ }
185
+ ],
186
+ "minItems": 2,
187
+ "maxItems": 2
188
+ }
189
+ ]
190
+ },
191
+ "pathPattern": {
192
+ "description": "An API path as written in the OpenAPI file (/users/{id}), or a prefix ending in /** (/internal/**).",
193
+ "type": "string",
194
+ "pattern": "^/"
195
+ },
196
+ "ruleObject": {
197
+ "type": "object",
198
+ "properties": {
199
+ "severity": {
200
+ "$ref": "#/$defs/severity"
201
+ },
202
+ "paths": {
203
+ "description": "Only report this rule on these API paths.",
204
+ "type": "array",
205
+ "items": {
206
+ "$ref": "#/$defs/pathPattern"
207
+ }
208
+ },
209
+ "excludePaths": {
210
+ "description": "Don't report this rule on these API paths.",
211
+ "type": "array",
212
+ "items": {
213
+ "$ref": "#/$defs/pathPattern"
214
+ }
215
+ },
216
+ "description": {
217
+ "description": "Custom rules: what the rule checks.",
218
+ "type": "string"
219
+ },
220
+ "message": {
221
+ "description": "Custom rules: the message reported for each result.",
222
+ "type": "string"
223
+ },
224
+ "given": {
225
+ "description": "Custom rules: the JSONPath expression (or expressions) selecting what to check. Rules calling a zuplo: function use \"$\".",
226
+ "anyOf": [
227
+ {
228
+ "type": "string"
229
+ },
230
+ {
231
+ "type": "array",
232
+ "items": {
233
+ "type": "string"
234
+ }
235
+ }
236
+ ]
237
+ },
238
+ "then": {
239
+ "description": "Custom rules: the function (or functions) to run on what given selects.",
240
+ "anyOf": [
241
+ {
242
+ "$ref": "#/$defs/ruleAction"
243
+ },
244
+ {
245
+ "type": "array",
246
+ "items": {
247
+ "$ref": "#/$defs/ruleAction"
248
+ }
249
+ }
250
+ ]
251
+ },
252
+ "formats": {
253
+ "description": "Custom rules: document formats the rule applies to, such as oas3.",
254
+ "type": "array",
255
+ "items": {
256
+ "type": "string"
257
+ }
258
+ }
259
+ },
260
+ "additionalProperties": false,
261
+ "dependentRequired": {
262
+ "given": ["then"],
263
+ "then": ["given"]
264
+ }
265
+ },
266
+ "ruleAction": {
267
+ "type": "object",
268
+ "properties": {
269
+ "field": {
270
+ "description": "The property of each selected value to check.",
271
+ "type": "string"
272
+ },
273
+ "function": {
274
+ "description": "A vacuum/Spectral function (truthy, pattern, schema, ...) or a Zuplo function (zuplo:requirePolicy, zuplo:noUndefinedPolicies, zuplo:noEmptyInboundPolicies, zuplo:requireRouteLabel, zuplo:requireCorsPolicy).",
275
+ "type": "string"
276
+ },
277
+ "functionOptions": {
278
+ "description": "Options for the function. zuplo:requirePolicy takes policyTypes and direction.",
279
+ "type": "object"
280
+ }
281
+ },
282
+ "required": ["function"],
283
+ "additionalProperties": false
284
+ },
285
+ "override": {
286
+ "type": "object",
287
+ "properties": {
288
+ "paths": {
289
+ "description": "API paths the override applies to.",
290
+ "type": "array",
291
+ "items": {
292
+ "$ref": "#/$defs/pathPattern"
293
+ }
294
+ },
295
+ "files": {
296
+ "description": "Spec files the override applies to, as glob patterns relative to the project directory, such as config/legacy.oas.json.",
297
+ "type": "array",
298
+ "items": {
299
+ "type": "string"
300
+ }
301
+ },
302
+ "rules": {
303
+ "description": "Rule severities to apply, keyed by rule ID.",
304
+ "type": "object",
305
+ "additionalProperties": {
306
+ "$ref": "#/$defs/severity"
307
+ },
308
+ "minProperties": 1
309
+ }
310
+ },
311
+ "required": ["rules"],
312
+ "anyOf": [
313
+ {
314
+ "required": ["paths"]
315
+ },
316
+ {
317
+ "required": ["files"]
318
+ }
319
+ ],
320
+ "additionalProperties": false
321
+ },
322
+ "requiredPolicy": {
323
+ "type": "object",
324
+ "properties": {
325
+ "id": {
326
+ "description": "A name for the requirement.",
327
+ "type": "string"
328
+ },
329
+ "policyTypes": {
330
+ "description": "Policy types that satisfy the requirement. \"api-key\" matches api-key-inbound.",
331
+ "type": "array",
332
+ "items": {
333
+ "type": "string"
334
+ },
335
+ "minItems": 1
336
+ },
337
+ "direction": {
338
+ "enum": ["inbound", "outbound"],
339
+ "default": "inbound"
340
+ },
341
+ "severity": {
342
+ "enum": ["error", "warn"],
343
+ "default": "error"
344
+ },
345
+ "message": {
346
+ "description": "The message to report; the route's method and path are appended.",
347
+ "type": "string"
348
+ }
349
+ },
350
+ "required": ["policyTypes"]
351
+ }
352
+ }
353
+ }
package/bin/version.txt CHANGED
@@ -1 +1 @@
1
- 7.13.3
1
+ 7.13.5
package/bin/zuplo-lint CHANGED
@@ -1,4 +1,4 @@
1
1
  [diffend] Oversized file quarantined before diffing.
2
2
  name: package/bin/zuplo-lint
3
- size: 56598688 bytes
4
- sha256: 657d20c1bab36c860f89674a4211a03d5b6979df9b0993e8421ee305ae3e1309
3
+ size: 61194400 bytes
4
+ sha256: c7d3aa55d7842c9a111ff348229d166fc03e42351db3402619fcfbb4f9a95e6b
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zuplo/lint-linux-x64",
3
- "version": "7.13.3",
3
+ "version": "7.13.5",
4
4
  "description": "The linux-x64 binary for zuplo-lint, the Zuplo API linter.",
5
5
  "repository": "https://github.com/zuplo/zuplo",
6
6
  "author": "Zuplo, Inc.",