pompelmi 0.3.1 → 0.3.2
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 +22 -19
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -280,19 +280,22 @@ The adapters share the same behavior and defaults:
|
|
|
280
280
|
|
|
281
281
|
## Architecture & UML
|
|
282
282
|
|
|
283
|
+
> **Note:** Diagrams are embedded as images via mermaid.ink so they render on GitHub, npm, and other Markdown viewers. The Mermaid source is included below each image.
|
|
284
|
+
> **Tip:** To avoid parser issues across renderers, labels use quotes inside node shapes (e.g., `A["text"]`, `C{"text"}`) when they include parentheses, slashes, or other symbols.
|
|
285
|
+
|
|
283
286
|
### Upload scanning flow
|
|
284
287
|
|
|
285
288
|
```mermaid
|
|
286
289
|
flowchart TD
|
|
287
|
-
A[Client uploads file(s)] --> B[Web App Route]
|
|
288
|
-
B --> C{Pre-filters<br/>(ext, size, MIME)}
|
|
289
|
-
C -- fail --> X[HTTP 4xx]
|
|
290
|
-
C -- pass --> D{Is ZIP?}
|
|
291
|
-
D -- yes --> E[Iterate entries<br/>(limits & scan)]
|
|
292
|
-
E --> F{Verdict?}
|
|
293
|
-
D -- no --> F{Scan bytes}
|
|
294
|
-
F -- malicious/suspicious --> Y[HTTP 422 blocked]
|
|
295
|
-
F -- clean --> Z[HTTP 200 ok + results]
|
|
290
|
+
A["Client uploads file(s)"] --> B["Web App Route"]
|
|
291
|
+
B --> C{"Pre-filters<br/>(ext, size, MIME)"}
|
|
292
|
+
C -- fail --> X["HTTP 4xx"]
|
|
293
|
+
C -- pass --> D{"Is ZIP?"}
|
|
294
|
+
D -- yes --> E["Iterate entries<br/>(limits & scan)"]
|
|
295
|
+
E --> F{"Verdict?"}
|
|
296
|
+
D -- no --> F{"Scan bytes"}
|
|
297
|
+
F -- malicious/suspicious --> Y["HTTP 422 blocked"]
|
|
298
|
+
F -- clean --> Z["HTTP 200 ok + results"]
|
|
296
299
|
```
|
|
297
300
|
|
|
298
301
|
### Sequence (App ↔ pompelmi ↔ YARA)
|
|
@@ -319,17 +322,17 @@ sequenceDiagram
|
|
|
319
322
|
### Components (monorepo)
|
|
320
323
|
|
|
321
324
|
```mermaid
|
|
322
|
-
|
|
325
|
+
flowchart LR
|
|
323
326
|
subgraph Repo
|
|
324
|
-
core[pompelmi (core)]
|
|
325
|
-
express[@pompelmi/express-middleware]
|
|
326
|
-
koa[@pompelmi/koa-middleware]
|
|
327
|
-
next[@pompelmi/next-upload]
|
|
328
|
-
fastify
|
|
329
|
-
nest
|
|
330
|
-
remix
|
|
331
|
-
hapi
|
|
332
|
-
svelte
|
|
327
|
+
core["pompelmi (core)"]
|
|
328
|
+
express["@pompelmi/express-middleware"]
|
|
329
|
+
koa["@pompelmi/koa-middleware"]
|
|
330
|
+
next["@pompelmi/next-upload"]
|
|
331
|
+
fastify(("fastify-plugin · planned"))
|
|
332
|
+
nest(("nestjs · planned"))
|
|
333
|
+
remix(("remix · planned"))
|
|
334
|
+
hapi(("hapi-plugin · planned"))
|
|
335
|
+
svelte(("sveltekit · planned"))
|
|
333
336
|
end
|
|
334
337
|
core --> express
|
|
335
338
|
core --> koa
|