mirror of
https://github.com/mauriceboe/TREK.git
synced 2026-10-24 16:03:02 +00:00
9b8626622f
Zod before 4.6.6 can exhaust memory while it validates an oversized constrained collection (GHSA-mrhx-c7xc-m3w5), and every request body and tool call goes through it. The workspaces ask for 4.6.7 and the root holds it as a floor for the whole tree, so jimp, which pins zod 3 and has no release on 4, resolves to the same copy. Its option schemas use only object, number, tuple, literal, union, nativeEnum, boolean, string, instanceof and array, all of which zod 4 keeps; resize, scaleToFit, crop, cover, contain, blit, composite, rotate, flip, quantize and the jpeg and png encoders run on it.
122 lines
3.4 KiB
JSON
122 lines
3.4 KiB
JSON
{
|
|
"name": "@trek/shared",
|
|
"version": "4.3.4",
|
|
"engines": {
|
|
"node": "^22.22.2 || ^24.15.0 || >=26.0.0"
|
|
},
|
|
"private": true,
|
|
"description": "Shared API contracts (Zod schemas) — single source of truth for TREK server and client.",
|
|
"type": "module",
|
|
"main": "./dist/index.cjs",
|
|
"module": "./dist/index.mjs",
|
|
"types": "./dist/index.d.cts",
|
|
"exports": {
|
|
".": {
|
|
"import": {
|
|
"types": "./dist/index.d.mts",
|
|
"default": "./dist/index.mjs"
|
|
},
|
|
"require": {
|
|
"types": "./dist/index.d.cts",
|
|
"default": "./dist/index.cjs"
|
|
}
|
|
},
|
|
"./i18n": {
|
|
"import": {
|
|
"types": "./dist/i18n/index.d.mts",
|
|
"default": "./dist/i18n/index.mjs"
|
|
},
|
|
"require": {
|
|
"types": "./dist/i18n/index.d.cts",
|
|
"default": "./dist/i18n/index.cjs"
|
|
}
|
|
},
|
|
"./i18n/*": {
|
|
"import": {
|
|
"types": "./dist/i18n/*/index.d.mts",
|
|
"default": "./dist/i18n/*/index.mjs"
|
|
},
|
|
"require": {
|
|
"types": "./dist/i18n/*/index.d.cts",
|
|
"default": "./dist/i18n/*/index.cjs"
|
|
}
|
|
},
|
|
"./roadtrip": {
|
|
"import": {
|
|
"types": "./dist/roadtrip/planning.d.mts",
|
|
"default": "./dist/roadtrip/planning.mjs"
|
|
},
|
|
"require": {
|
|
"types": "./dist/roadtrip/planning.d.cts",
|
|
"default": "./dist/roadtrip/planning.cjs"
|
|
}
|
|
},
|
|
"./stickers": {
|
|
"import": {
|
|
"types": "./dist/book/stickers/index.d.mts",
|
|
"default": "./dist/book/stickers/index.mjs"
|
|
},
|
|
"require": {
|
|
"types": "./dist/book/stickers/index.d.cts",
|
|
"default": "./dist/book/stickers/index.cjs"
|
|
}
|
|
},
|
|
"./sanitize": {
|
|
"import": {
|
|
"types": "./dist/sanitize/sanitize.d.mts",
|
|
"default": "./dist/sanitize/sanitize.mjs"
|
|
},
|
|
"require": {
|
|
"types": "./dist/sanitize/sanitize.d.cts",
|
|
"default": "./dist/sanitize/sanitize.cjs"
|
|
}
|
|
}
|
|
},
|
|
"typesVersions": {
|
|
"*": {
|
|
"i18n": [
|
|
"./dist/i18n/index.d.cts"
|
|
],
|
|
"i18n/*": [
|
|
"./dist/i18n/*/index.d.cts"
|
|
]
|
|
}
|
|
},
|
|
"scripts": {
|
|
"build": "tsdown",
|
|
"build:watch": "tsdown --watch --no-clean",
|
|
"test": "vitest run",
|
|
"test:watch": "vitest",
|
|
"test:coverage": "vitest run --coverage",
|
|
"typecheck": "tsc --noEmit",
|
|
"format": "prettier --write \"src/**/*.ts\"",
|
|
"format:check": "prettier --check \"src/**/*.ts\"",
|
|
"lint": "eslint \"src/**/*.ts\"",
|
|
"lint:fix": "eslint --fix \"src/**/*.ts\"",
|
|
"lint:format": "node scripts/format-lint.mjs",
|
|
"i18n:parity": "node scripts/i18n-parity.mjs",
|
|
"i18n:parity:strict": "node scripts/i18n-parity.mjs --strict",
|
|
"contracts:open": "node scripts/open-request-schemas.mjs",
|
|
"i18n:untranslated": "node scripts/i18n-untranslated.mjs",
|
|
"i18n:untranslated:update": "node scripts/i18n-untranslated.mjs --update"
|
|
},
|
|
"dependencies": {
|
|
"isomorphic-dompurify": "^3.23.0",
|
|
"zod": "^4.6.7"
|
|
},
|
|
"devDependencies": {
|
|
"@eslint/js": "^10.0.1",
|
|
"@trivago/prettier-plugin-sort-imports": "^6.0.2",
|
|
"@vitest/coverage-v8": "^4.1.11",
|
|
"eslint": "^10.11.0",
|
|
"eslint-config-flat-gitignore": "^2.4.0",
|
|
"eslint-config-prettier": "^10.1.8",
|
|
"prettier": "3.9.8",
|
|
"prettier-plugin-organize-imports": "^4.3.0",
|
|
"tsdown": "^0.23.0",
|
|
"typescript": "^6.0.3",
|
|
"typescript-eslint": "^8.70.0",
|
|
"vitest": "^4.1.11"
|
|
}
|
|
}
|