@quobix/vacuum 0.2.6 → 0.3.0
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 +36 -47
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -39,6 +39,24 @@ yarn global add @quobix/vacuum
|
|
|
39
39
|
curl -fsSL https://quobix.com/scripts/install_vacuum.sh | sh
|
|
40
40
|
```
|
|
41
41
|
|
|
42
|
+
## Install using [Docker](https://hub.docker.com/r/dshanley/vacuum)
|
|
43
|
+
|
|
44
|
+
The image is available at: https://hub.docker.com/r/dshanley/vacuum
|
|
45
|
+
|
|
46
|
+
```
|
|
47
|
+
docker pull dshanley/vacuum
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
To run, mount the current working dir to the container and use a relative path to your spec, like so
|
|
51
|
+
|
|
52
|
+
```
|
|
53
|
+
docker run --rm -v $PWD:/work:ro dshanley/vacuum lint <your-openapi-spec.yaml>
|
|
54
|
+
```
|
|
55
|
+
Alternatively, you can pull it from
|
|
56
|
+
[Github packages](https://github.com/daveshanley/vacuum/pkgs/container/vacuum).
|
|
57
|
+
To do that, replace `dshanley/vacuum` with `ghcr.io/daveshanley/vacuum` in the above commands.
|
|
58
|
+
|
|
59
|
+
|
|
42
60
|
---
|
|
43
61
|
|
|
44
62
|
|
|
@@ -62,7 +80,16 @@ come say hi!
|
|
|
62
80
|
## Documentation
|
|
63
81
|
|
|
64
82
|
---
|
|
65
|
-
🔥 **New in** `
|
|
83
|
+
🔥 **New in** `v0.3.0+` 🔥 : [Custom JavaScript Functions](https://quobix.com/vacuum/api/custom-javascript-functions/) are now available out of the box.
|
|
84
|
+
|
|
85
|
+
Write custom functions in JavaScript and use them in any ruleset. No need
|
|
86
|
+
to compile golang code to extend vacuum anymore!
|
|
87
|
+
|
|
88
|
+
[Learn more about building custom JavaScript functions](https://quobix.com/vacuum/api/custom-javascript-functions/).
|
|
89
|
+
|
|
90
|
+
|
|
91
|
+
---
|
|
92
|
+
**New in** `v0.2.0+`: [OWASP API rules](https://quobix.com/vacuum/rules/owasp/) are now available out of the box.
|
|
66
93
|
|
|
67
94
|
[Learn more about enabling OWASP API rules](https://quobix.com/vacuum/rulesets/owasp/).
|
|
68
95
|
|
|
@@ -76,6 +103,7 @@ See all the documentation at https://quobix.com/vacuum
|
|
|
76
103
|
- [About vacuum](https://quobix.com/vacuum/about/)
|
|
77
104
|
- [Why should you care?](https://quobix.com/vacuum/why/)
|
|
78
105
|
- [Concepts](https://quobix.com/vacuum/concepts/)
|
|
106
|
+
- [FAQ](https://quobix.com/vacuum/faq/)
|
|
79
107
|
- [CLI Commands](https://quobix.com/vacuum/commands/)
|
|
80
108
|
- [lint](https://quobix.com/vacuum/commands/lint/)
|
|
81
109
|
- [vacuum report](https://quobix.com/vacuum/commands/report/)
|
|
@@ -86,6 +114,9 @@ See all the documentation at https://quobix.com/vacuum
|
|
|
86
114
|
- [Using The Index](https://quobix.com/vacuum/api/spec-index/)
|
|
87
115
|
- [RuleResultSet](https://quobix.com/vacuum/api/rule-resultset/)
|
|
88
116
|
- [Loading a RuleSet](https://quobix.com/vacuum/api/loading-ruleset/)
|
|
117
|
+
- [Linting Non-OpenAPI Files](https://quobix.com/vacuum/api/non-openapi/)
|
|
118
|
+
- [Custom Golang Functions](https://quobix.com/vacuum/api/custom-functions/)
|
|
119
|
+
- [Custom JavaScript Functions](https://quobix.com/vacuum/api/custom-javascript-functions/)
|
|
89
120
|
- [Rules](https://quobix.com/vacuum/rules/)
|
|
90
121
|
- [Examples](https://quobix.com/vacuum/rules/examples/)
|
|
91
122
|
- [Tags](https://quobix.com/vacuum/rules/tags/)
|
|
@@ -99,6 +130,7 @@ See all the documentation at https://quobix.com/vacuum
|
|
|
99
130
|
- [Functions](https://quobix.com/vacuum/functions/)
|
|
100
131
|
- [Core Functions](https://quobix.com/vacuum/functions/core/)
|
|
101
132
|
- [OpenAPI Functions](https://quobix.com/vacuum/functions/openapi/)
|
|
133
|
+
- [OWASP Functions](https://quobix.com/vacuum/functions/owasp/)
|
|
102
134
|
- [Understanding RuleSets](https://quobix.com/vacuum/rulesets/understanding/)
|
|
103
135
|
- [All Rules](https://quobix.com/vacuum/rulesets/all/)
|
|
104
136
|
- [No Rules](https://quobix.com/vacuum/rulesets/no-rules/)
|
|
@@ -138,49 +170,6 @@ No external dependencies, the HTML report will run completely offline.
|
|
|
138
170
|
|
|
139
171
|
You can use either **YAML** or **JSON**, vacuum supports both formats.
|
|
140
172
|
|
|
141
|
-
AsyncAPI support is coming soon!
|
|
142
|
-
|
|
143
|
-
## Check out the code
|
|
144
|
-
|
|
145
|
-
```
|
|
146
|
-
git clone https://github.com/daveshanley/vacuum.git
|
|
147
|
-
```
|
|
148
|
-
### Change directory into `vacuum`
|
|
149
|
-
|
|
150
|
-
```
|
|
151
|
-
cd vacuum
|
|
152
|
-
```
|
|
153
|
-
|
|
154
|
-
## Build the code
|
|
155
|
-
|
|
156
|
-
```
|
|
157
|
-
go build vacuum.go
|
|
158
|
-
```
|
|
159
|
-
|
|
160
|
-
## Run the code
|
|
161
|
-
|
|
162
|
-
```
|
|
163
|
-
./vacuum lint <your-openapi-spec.yaml>
|
|
164
|
-
```
|
|
165
|
-
|
|
166
|
-
## Running vacuum via Docker
|
|
167
|
-
|
|
168
|
-
vacuum is available as a container, you can pull the image from [Docker Hub](https://hub.docker.com/r/dshanley/vacuum)
|
|
169
|
-
|
|
170
|
-
```
|
|
171
|
-
docker pull dshanley/vacuum
|
|
172
|
-
```
|
|
173
|
-
|
|
174
|
-
To run, mount the current working dir to the container and use a relative path to your spec, like so
|
|
175
|
-
|
|
176
|
-
```
|
|
177
|
-
docker run --rm -v $PWD:/work:ro dshanley/vacuum lint <your-openapi-spec.yaml>
|
|
178
|
-
```
|
|
179
|
-
|
|
180
|
-
Alternatively, you can pull it from
|
|
181
|
-
[Github packages](https://github.com/daveshanley/vacuum/pkgs/container/vacuum).
|
|
182
|
-
To do that, replace `dshanley/vacuum` with `ghcr.io/daveshanley/vacuum` in the above commands.
|
|
183
|
-
|
|
184
173
|
## Using vacuum with pre-commit
|
|
185
174
|
|
|
186
175
|
Vacuum can be used with [pre-commit](https://pre-commit.com).
|
|
@@ -246,6 +235,7 @@ The options here are:
|
|
|
246
235
|
- `security`
|
|
247
236
|
- `tags`
|
|
248
237
|
- `validation`
|
|
238
|
+
- `owasp`
|
|
249
239
|
|
|
250
240
|
## Generate a Spectral compatible report
|
|
251
241
|
|
|
@@ -288,10 +278,10 @@ if you're interested in seeing how things are progressing, it's available.
|
|
|
288
278
|
```
|
|
289
279
|
|
|
290
280
|
---
|
|
291
|
-
## Supply your own Spectral ruleset
|
|
281
|
+
## Supply your own Spectral compatible ruleset
|
|
292
282
|
|
|
293
283
|
If you're already using Spectral and you have your own [custom ruleset](https://meta.stoplight.io/docs/spectral/e5b9616d6d50c-custom-rulesets#custom-rulesets),
|
|
294
|
-
then you can use it with
|
|
284
|
+
then you can use it with vacuum!
|
|
295
285
|
|
|
296
286
|
The `lint`, `dashboard` and `spectral-report` commands all accept a `-r` or `--ruleset` flag, defining the path to your ruleset file.
|
|
297
287
|
|
|
@@ -324,6 +314,5 @@ The `lint`, `dashboard` and `spectral-report` commands all accept a `-r` or `--r
|
|
|
324
314
|
|
|
325
315
|
---
|
|
326
316
|
|
|
327
|
-
Let me know what you think.
|
|
328
317
|
|
|
329
318
|
> Logo gopher is modified, originally from [egonelbre](https://github.com/egonelbre/gophers)
|