pompelmi 0.29.1 → 0.30.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.
@@ -21,13 +21,24 @@ export interface ThreatInfo {
21
21
  /** Detection timestamp */
22
22
  detectedAt?: Date;
23
23
  }
24
- export interface EnhancedScanReport extends ScanReport {
24
+ export interface EnhancedScanReport {
25
25
  /** Threat intelligence findings */
26
26
  threatIntel?: ThreatInfo[];
27
27
  /** File hash (SHA-256) */
28
28
  fileHash?: string;
29
29
  /** Risk score (0-100) */
30
30
  riskScore?: number;
31
+ /** Include all properties from ScanReport */
32
+ verdict: import('../types').Verdict;
33
+ matches: import('../types').YaraMatch[];
34
+ reasons?: string[];
35
+ file?: import('../types').FileInfo;
36
+ durationMs?: number;
37
+ error?: string;
38
+ ok: boolean;
39
+ truncated?: boolean;
40
+ timedOut?: boolean;
41
+ engine?: string;
31
42
  }
32
43
  /**
33
44
  * Built-in threat intelligence - known malware hashes
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pompelmi",
3
- "version": "0.29.1",
3
+ "version": "0.30.0",
4
4
  "description": "Fast, private malware scanner for Node.js file uploads. TypeScript-first library with Express, Koa, Fastify, Next.js & Nuxt/Nitro adapters. Features deep ZIP inspection, YARA integration, ZIP bomb protection, and real-time threat detection. Zero cloud dependencies - scan files in-process before they hit disk. Perfect for GDPR/HIPAA compliance.",
5
5
  "main": "./dist/pompelmi.cjs",
6
6
  "module": "./dist/pompelmi.esm.js",
@@ -14,10 +14,91 @@
14
14
  "url": "https://github.com/pompelmi/pompelmi.git"
15
15
  },
16
16
  "homepage": "https://pompelmi.github.io/pompelmi/",
17
+ "pnpm": {
18
+ "overrides": {
19
+ "process": "0.11.10",
20
+ "regjsgen": "0.8.0",
21
+ "fflate": "0.8.2",
22
+ "@tokenizer/inflate>fflate": "0.8.2",
23
+ "file-type>fflate": "0.8.2",
24
+ "regexpu-core>regjsgen": "0.8.0",
25
+ "@babel/helper-create-regexp-features-plugin>regjsgen": "0.8.0",
26
+ "vitest": "2.1.9",
27
+ "@vitest/coverage-v8": "2.1.9",
28
+ "babel-plugin-polyfill-corejs3": "^0.13.0",
29
+ "@types/cookies": "0.9.1",
30
+ "@types/koa>@types/cookies": "0.9.1",
31
+ "pompelmi": "workspace:*",
32
+ "@pompelmi/core": "workspace:*",
33
+ "katex": "0.16.21",
34
+ "react": "^19.2.0",
35
+ "react-dom": "^19.2.0",
36
+ "@types/react": "^19.2.0",
37
+ "@types/react-dom": "^19.2.0",
38
+ "esbuild@<=0.24.2": ">=0.25.0",
39
+ "devalue@<5.3.2": ">=5.3.2",
40
+ "vite@>=6.0.0 <=6.3.5": ">=6.3.6",
41
+ "katex@>=0.12.0 <=0.16.20": ">=0.16.21",
42
+ "astro@<5.14.3": ">=5.14.3",
43
+ "vite@>=6.0.0 <=6.4.0": ">=6.4.1",
44
+ "astro@>=2.16.0 <5.15.5": ">=5.15.5",
45
+ "js-yaml@<3.14.2": ">=3.14.2",
46
+ "js-yaml@>=4.0.0 <4.1.1": ">=4.1.1",
47
+ "glob@>=10.2.0 <10.5.0": ">=10.5.0",
48
+ "astro@<=5.15.6": ">=5.15.8",
49
+ "body-parser@>=2.2.0 <2.2.1": ">=2.2.1",
50
+ "astro@<5.15.9": ">=5.15.9",
51
+ "astro@<5.15.8": ">=5.15.8",
52
+ "astro@>=5.2.0 <5.15.6": ">=5.15.6",
53
+ "mdast-util-to-hast@>=13.0.0 <13.2.1": ">=13.2.1",
54
+ "next@>=16.0.0-canary.0 <16.0.7": ">=16.0.7",
55
+ "next@>=16.0.0-beta.0 <16.0.9": ">=16.0.9",
56
+ "qs@<6.14.1": ">=6.14.1",
57
+ "preact@>=10.28.0 <10.28.2": ">=10.28.2",
58
+ "devalue@>=5.1.0 <5.6.2": ">=5.6.2",
59
+ "h3@<=1.15.4": ">=1.15.5",
60
+ "koa@>=2.16.2 <2.16.3": ">=2.16.3",
61
+ "lodash-es@>=4.0.0 <=4.17.22": ">=4.17.23",
62
+ "lodash@>=4.0.0 <=4.17.22": ">=4.17.23",
63
+ "diff@>=5.0.0 <5.2.2": ">=5.2.2"
64
+ }
65
+ },
66
+ "scripts": {
67
+ "build": "rollup -c",
68
+ "prepublishOnly": "npm run build && npm run pack:strict",
69
+ "yara:node:smoke": "tsx scripts/yara-node-smoke.ts",
70
+ "yara:int:smoke": "tsx scripts/yara-integration-smoke.ts",
71
+ "dev:remote": "tsx examples/remote-yara-server.ts",
72
+ "docs:build": "hugo -s docs -D -d docs",
73
+ "predocs:deploy": "npm run docs:build",
74
+ "docs:deploy": "gh-pages -d docs -b gh-pages",
75
+ "yara:check": "node scripts/yara-quick-check-cli.mjs",
76
+ "build:core": "pnpm -r --filter '!./examples/*' --if-present build",
77
+ "preview": "npm pack --dry-run",
78
+ "typecheck": "tsc -p tsconfig.json --noEmit || tsc -p tsconfig.build.json --noEmit",
79
+ "typecheck:strict": "tsc -p tsconfig.strict.json --noEmit",
80
+ "smoke": "node scripts/smoke.mjs",
81
+ "test:e2e": "node scripts/e2e.mjs",
82
+ "repo:doctor": "pnpm install --frozen-lockfile && pnpm -r --if-present build && pnpm -r --if-present test && npm run -s preview || true && node scripts/smoke.mjs && node scripts/e2e.mjs || true",
83
+ "audit:deps": "depcheck --skip-missing true || true",
84
+ "audit:code": "knip --reporter compact || true",
85
+ "audit:exports": "ts-prune -p tsconfig.json || true",
86
+ "repo:audit": "node scripts/audit.mjs",
87
+ "pack:check": "node scripts/pack-check.mjs",
88
+ "pack:list": "pnpm -r --filter \"@pompelmi/*\" --if-present pack --json --dry-run",
89
+ "pack:strict": "node scripts/pack-check.mjs --strict",
90
+ "clean": "rimraf dist",
91
+ "mentions:find": "node scripts/find-mentions.mjs",
92
+ "mentions:render": "node scripts/render-mentions-readme.mjs",
93
+ "mentions:inject": "node scripts/inject-mentions-readme.mjs",
94
+ "mentions:update": "npm run mentions:find && npm run mentions:render && npm run mentions:inject"
95
+ },
17
96
  "license": "MIT",
18
97
  "devDependencies": {
19
98
  "@biomejs/biome": "^2.2.4",
20
- "@pompelmi/engine-heuristics": "^0.1.0",
99
+ "@pompelmi/core": "workspace:*",
100
+ "@pompelmi/engine": "workspace:*",
101
+ "@pompelmi/engine-heuristics": "workspace:^0.1.0",
21
102
  "@rollup/plugin-commonjs": "^28.0.6",
22
103
  "@rollup/plugin-node-resolve": "^16.0.1",
23
104
  "@rollup/plugin-typescript": "^12.1.4",
@@ -41,9 +122,7 @@
41
122
  "tsup": "^8",
42
123
  "tsx": "^4.20.3",
43
124
  "typescript": "^5.9.2",
44
- "vitest": "2.1.9",
45
- "@pompelmi/core": "0.26.0",
46
- "@pompelmi/engine": "0.17.0-dev.6"
125
+ "vitest": "2.1.9"
47
126
  },
48
127
  "peerDependencies": {
49
128
  "react": "^18.0.0 || ^19.0.0",
@@ -110,6 +189,7 @@
110
189
  "example": "examples"
111
190
  },
112
191
  "author": "",
192
+ "packageManager": "pnpm@9.12.0",
113
193
  "resolutions": {
114
194
  "process": "0.11.10"
115
195
  },
@@ -120,34 +200,5 @@
120
200
  "publishConfig": {
121
201
  "access": "public"
122
202
  },
123
- "types": "./dist/types/index.d.ts",
124
- "scripts": {
125
- "build": "rollup -c",
126
- "yara:node:smoke": "tsx scripts/yara-node-smoke.ts",
127
- "yara:int:smoke": "tsx scripts/yara-integration-smoke.ts",
128
- "dev:remote": "tsx examples/remote-yara-server.ts",
129
- "docs:build": "hugo -s docs -D -d docs",
130
- "predocs:deploy": "npm run docs:build",
131
- "docs:deploy": "gh-pages -d docs -b gh-pages",
132
- "yara:check": "node scripts/yara-quick-check-cli.mjs",
133
- "build:core": "pnpm -r --filter '!./examples/*' --if-present build",
134
- "preview": "npm pack --dry-run",
135
- "typecheck": "tsc -p tsconfig.json --noEmit || tsc -p tsconfig.build.json --noEmit",
136
- "typecheck:strict": "tsc -p tsconfig.strict.json --noEmit",
137
- "smoke": "node scripts/smoke.mjs",
138
- "test:e2e": "node scripts/e2e.mjs",
139
- "repo:doctor": "pnpm install --frozen-lockfile && pnpm -r --if-present build && pnpm -r --if-present test && npm run -s preview || true && node scripts/smoke.mjs && node scripts/e2e.mjs || true",
140
- "audit:deps": "depcheck --skip-missing true || true",
141
- "audit:code": "knip --reporter compact || true",
142
- "audit:exports": "ts-prune -p tsconfig.json || true",
143
- "repo:audit": "node scripts/audit.mjs",
144
- "pack:check": "node scripts/pack-check.mjs",
145
- "pack:list": "pnpm -r --filter \"@pompelmi/*\" --if-present pack --json --dry-run",
146
- "pack:strict": "node scripts/pack-check.mjs --strict",
147
- "clean": "rimraf dist",
148
- "mentions:find": "node scripts/find-mentions.mjs",
149
- "mentions:render": "node scripts/render-mentions-readme.mjs",
150
- "mentions:inject": "node scripts/inject-mentions-readme.mjs",
151
- "mentions:update": "npm run mentions:find && npm run mentions:render && npm run mentions:inject"
152
- }
153
- }
203
+ "types": "./dist/types/index.d.ts"
204
+ }