pompelmi 0.3.1 → 0.3.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.
Files changed (2) hide show
  1. package/README.md +47 -22
  2. package/package.json +1 -1
package/README.md CHANGED
@@ -280,22 +280,39 @@ 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
+
286
+
283
287
  ### Upload scanning flow
288
+ <p align="center">
289
+ <img alt="Upload scanning flow diagram" src="https://mermaid.ink/img/eyJjb2RlIjogImZsb3djaGFydCBURFxuICBBW1wiQ2xpZW50IHVwbG9hZHMgZmlsZShzKVwiXSAtLT4gQltcIldlYiBBcHAgUm91dGVcIl1cbiAgQiAtLT4gQ3tcIlByZS1maWx0ZXJzPGJyLz4oZXh0LCBzaXplLCBNSU1FKVwifVxuICBDIC0tIGZhaWwgLS0+IFhbXCJIVFRQIDR4eFwiXVxuICBDIC0tIHBhc3MgLS0+IER7XCJJcyBaSVA/XCJ9XG4gIEQgLS0geWVzIC0tPiBFW1wiSXRlcmF0ZSBlbnRyaWVzPGJyLz4obGltaXRzICYgc2NhbilcIl1cbiAgRSAtLT4gRntcIlZlcmRpY3Q/XCJ9XG4gIEQgLS0gbm8gLS0+IEZ7XCJTY2FuIGJ5dGVzXCJ9XG4gIEYgLS0gbWFsaWNpb3VzL3N1c3BpY2lvdXMgLS0+IFlbXCJIVFRQIDQyMiBibG9ja2VkXCJdXG4gIEYgLS0gY2xlYW4gLS0+IFpbXCJIVFRQIDIwMCBvayArIHJlc3VsdHNcIl0iLCAibWVybWFpZCI6IHsidGhlbWUiOiAiZGVmYXVsdCJ9fQ==?bgColor=white" />
290
+ </p>
291
+
292
+ <details>
293
+ <summary>Mermaid source</summary>
284
294
 
285
295
  ```mermaid
286
296
  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]
297
+ A["Client uploads file(s)"] --> B["Web App Route"]
298
+ B --> C{"Pre-filters<br/>(ext, size, MIME)"}
299
+ C -- fail --> X["HTTP 4xx"]
300
+ C -- pass --> D{"Is ZIP?"}
301
+ D -- yes --> E["Iterate entries<br/>(limits & scan)"]
302
+ E --> F{"Verdict?"}
303
+ D -- no --> F{"Scan bytes"}
304
+ F -- malicious/suspicious --> Y["HTTP 422 blocked"]
305
+ F -- clean --> Z["HTTP 200 ok + results"]
296
306
  ```
307
+ </details>
297
308
 
298
309
  ### Sequence (App ↔ pompelmi ↔ YARA)
310
+ <p align="center">
311
+ <img alt="App ↔ pompelmi ↔ YARA sequence diagram" src="https://mermaid.ink/img/eyJjb2RlIjogInNlcXVlbmNlRGlhZ3JhbVxuICBwYXJ0aWNpcGFudCBVIGFzIFVzZXJcbiAgcGFydGljaXBhbnQgQSBhcyBBcHAgUm91dGUgKC91cGxvYWQpXG4gIHBhcnRpY2lwYW50IFAgYXMgcG9tcGVsbWkgKGFkYXB0ZXIpXG4gIHBhcnRpY2lwYW50IFkgYXMgWUFSQSBlbmdpbmVcblxuICBVLT4+QTogUE9TVCBtdWx0aXBhcnQvZm9ybS1kYXRhXG4gIEEtPj5QOiBndWFyZChmaWxlcywgcG9saWNpZXMpXG4gIFAtPj5QOiBNSU1FIHNuaWZmICsgc2l6ZSArIGV4dCBjaGVja3NcbiAgYWx0IFpJUCBhcmNoaXZlXG4gICAgUC0+PlA6IHVucGFjayBlbnRyaWVzIHdpdGggbGltaXRzXG4gIGVuZFxuICBQLT4+WTogc2NhbihieXRlcylcbiAgWS0tPj5QOiBtYXRjaGVzW11cbiAgUC0tPj5BOiB2ZXJkaWN0IChjbGVhbi9zdXNwaWNpb3VzL21hbGljaW91cylcbiAgQS0tPj5VOiAyMDAgb3IgNHh4LzQyMiB3aXRoIHJlYXNvbiIsICJtZXJtYWlkIjogeyJ0aGVtZSI6ICJkZWZhdWx0In19?bgColor=white" />
312
+ </p>
313
+
314
+ <details>
315
+ <summary>Mermaid source</summary>
299
316
 
300
317
  ```mermaid
301
318
  sequenceDiagram
@@ -315,21 +332,28 @@ sequenceDiagram
315
332
  P-->>A: verdict (clean/suspicious/malicious)
316
333
  A-->>U: 200 or 4xx/422 with reason
317
334
  ```
335
+ </details>
318
336
 
319
337
  ### Components (monorepo)
338
+ <p align="center">
339
+ <img alt="Monorepo components diagram" src="https://mermaid.ink/img/eyJjb2RlIjogImZsb3djaGFydCBMUlxuICBzdWJncmFwaCBSZXBvXG4gICAgY29yZVtcInBvbXBlbG1pIChjb3JlKVwiXVxuICAgIGV4cHJlc3NbXCJAcG9tcGVsbWkvZXhwcmVzcy1taWRkbGV3YXJlXCJdXG4gICAga29hW1wiQHBvbXBlbG1pL2tvYS1taWRkbGV3YXJlXCJdXG4gICAgbmV4dFtcIkBwb21wZWxtaS9uZXh0LXVwbG9hZFwiXVxuICAgIGZhc3RpZnkoKFwiZmFzdGlmeS1wbHVnaW4gwrcgcGxhbm5lZFwiKSlcbiAgICBuZXN0KChcIm5lc3RqcyDCtyBwbGFubmVkXCIpKVxuICAgIHJlbWl4KChcInJlbWl4IMK3IHBsYW5uZWRcIikpXG4gICAgaGFwaSgoXCJoYXBpLXBsdWdpbiDCtyBwbGFubmVkXCIpKVxuICAgIHN2ZWx0ZSgoXCJzdmVsdGVraXQgwrcgcGxhbm5lZFwiKSlcbiAgZW5kXG4gIGNvcmUgLS0+IGV4cHJlc3NcbiAgY29yZSAtLT4ga29hXG4gIGNvcmUgLS0+IG5leHRcbiAgY29yZSAtLi0+IGZhc3RpZnlcbiAgY29yZSAtLi0+IG5lc3RcbiAgY29yZSAtLi0+IHJlbWl4XG4gIGNvcmUgLS4tPiBoYXBpXG4gIGNvcmUgLS4tPiBzdmVsdGUiLCAibWVybWFpZCI6IHsidGhlbWUiOiAiZGVmYXVsdCJ9fQ==?bgColor=white" />
340
+ </p>
341
+
342
+ <details>
343
+ <summary>Mermaid source</summary>
320
344
 
321
345
  ```mermaid
322
- graph LR
346
+ flowchart LR
323
347
  subgraph Repo
324
- core[pompelmi (core)]
325
- express[@pompelmi/express-middleware]
326
- koa[@pompelmi/koa-middleware]
327
- next[@pompelmi/next-upload]
328
- fastify[(fastify-plugin · planned)]
329
- nest[(nestjs · planned)]
330
- remix[(remix · planned)]
331
- hapi[(hapi-plugin · planned)]
332
- svelte[(sveltekit · planned)]
348
+ core["pompelmi (core)"]
349
+ express["@pompelmi/express-middleware"]
350
+ koa["@pompelmi/koa-middleware"]
351
+ next["@pompelmi/next-upload"]
352
+ fastify(("fastify-plugin · planned"))
353
+ nest(("nestjs · planned"))
354
+ remix(("remix · planned"))
355
+ hapi(("hapi-plugin · planned"))
356
+ svelte(("sveltekit · planned"))
333
357
  end
334
358
  core --> express
335
359
  core --> koa
@@ -340,6 +364,7 @@ graph LR
340
364
  core -.-> hapi
341
365
  core -.-> svelte
342
366
  ```
367
+ </details>
343
368
 
344
369
  ---
345
370
 
@@ -430,12 +455,12 @@ PRs and issues are welcome!
430
455
 
431
456
  ## Versioning
432
457
 
433
- Channel: **`0.2.0‑alpha.x`**
434
- Expect minor API changes before a stable `0.2.0`.
458
+ Channel: **`0.3.3`**
459
+ Expect minor API changes before a stable `0.3.3`.
435
460
 
436
461
  Suggested publish:
437
462
  ```bash
438
- npm version 0.2.0-alpha.0
463
+ npm version 0.3.3
439
464
  npm publish --tag next
440
465
  ```
441
466
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pompelmi",
3
- "version": "0.3.1",
3
+ "version": "0.3.3",
4
4
  "description": "Prototipo di scanner di file lato cliente",
5
5
  "main": "dist/pompelmi.cjs.js",
6
6
  "module": "dist/pompelmi.esm.js",