Files
TREK/shared/package.json
T
Maurice 9b8626622f fix(deps): zod at 4.6.7 across the tree, jimp's copy included
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.
2026-10-23 22:06:45 +00:00

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"
}
}