Some checks failed
check / check (push) Failing after 8s
list-missing-thumbnails: iterates all files across all collections, fetches each thumbnail from the CDN, reports any that are missing or empty. Deduplicates by file ID across collections. fix-missing-thumbnails: for each missing thumbnail, downloads the original file, generates a 720px JPEG thumbnail via sharp, encrypts it with secretstream push (encryptBlob), uploads to a presigned URL, and registers the new thumbnail via PUT /files/thumbnail. New crypto: encryptBlob (secretstream push, single chunk TAG_FINAL). New ApiClient methods: getUploadURL, putFile, putJSON, updateThumbnail. New Client method: getApiClient() for modules that need raw API access. Deps: sharp 0.34.5 (image processing), @types/sharp 0.32.0.
49 lines
1.3 KiB
JSON
49 lines
1.3 KiB
JSON
{
|
|
"name": "quak",
|
|
"version": "0.0.0",
|
|
"description": "TypeScript client library and CLI for the Ente end-to-end encrypted photo service",
|
|
"license": "WTFPL",
|
|
"author": "@sneak <https://sneak.berlin>",
|
|
"homepage": "https://git.eeqj.de/sneak/quak",
|
|
"repository": {
|
|
"type": "git",
|
|
"url": "https://git.eeqj.de/sneak/quak.git"
|
|
},
|
|
"type": "module",
|
|
"main": "./dist/index.js",
|
|
"types": "./dist/index.d.ts",
|
|
"bin": {
|
|
"quak": "./dist/bin/quak.js"
|
|
},
|
|
"files": [
|
|
"dist/",
|
|
"README.md",
|
|
"LICENSE"
|
|
],
|
|
"scripts": {
|
|
"build": "tsc",
|
|
"test": "vitest run",
|
|
"lint": "eslint .",
|
|
"fmt": "prettier --write .",
|
|
"fmt-check": "prettier --check ."
|
|
},
|
|
"devDependencies": {
|
|
"@eslint/js": "9.38.0",
|
|
"@types/libsodium-wrappers-sumo": "0.8.2",
|
|
"@types/node": "22.18.13",
|
|
"@types/sharp": "0.32.0",
|
|
"eslint": "9.38.0",
|
|
"prettier": "3.8.1",
|
|
"typescript": "5.9.3",
|
|
"typescript-eslint": "8.46.2",
|
|
"vitest": "2.1.9"
|
|
},
|
|
"dependencies": {
|
|
"commander": "14.0.3",
|
|
"env-paths": "4.0.0",
|
|
"fast-srp-hap": "2.0.4",
|
|
"libsodium-wrappers-sumo": "0.8.4",
|
|
"sharp": "0.34.5"
|
|
}
|
|
}
|