Files
Art-gallery/package.json
T
Danila Khodjaef 99b8559607 Speed up timeline load with portrait thumbs, bootstrap API, and caching.
Add catalog bootstrap endpoint, portrait thumbnail pipeline, lazy queued timeline images, gzip compression, and 3D texture throttling with code-split VirtualGallery.
2026-07-06 14:27:29 +03:00

71 lines
3.6 KiB
JSON

{
"name": "gallery",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"migrate": "node server/migrate.js",
"migrate:thumbnails": "node -e \"require('./server/db').query(require('fs').readFileSync('./db/migrate-thumbnails.sql','utf8')).then(()=>{console.log('OK');process.exit(0);}).catch(e=>{console.error(e);process.exit(1);})\"",
"seed": "node scripts/seed-wikipedia.js",
"fetch-images": "node scripts/fetch-missing-images.js",
"search-missing-paintings": "node scripts/fetch-missing-images.js",
"fetch-artist-images": "node scripts/fetch-artist-images.js",
"fetch-artist-bios": "node scripts/fetch-artist-bios.js",
"sync-image-paths": "node scripts/sync-image-paths.js",
"regenerate-thumbnails": "node scripts/regenerate-thumbnails.js",
"regenerate-portrait-thumbs": "node scripts/regenerate-portrait-thumbs.js",
"audit-painting-images": "node scripts/audit-painting-images.js",
"expand-catalog": "node scripts/expand-paintings.js",
"update-influences": "node scripts/update-influences.js",
"migrate:influence-sources": "node scripts/migrate-influence-sources.js",
"migrate:checkup-flags": "node scripts/migrate-checkup-flags.js",
"migrate:artist-checkup-flags": "node scripts/migrate-artist-checkup-flags.js",
"migrate:painting-annotations": "node scripts/migrate-painting-annotations.js",
"migrate:artist-palette": "node scripts/migrate-artist-palette.js",
"import-painter-palette": "node scripts/import-painter-palette.js",
"analyze-painter-palette": "node scripts/analyze-painter-palette.js",
"export-paintings": "node scripts/export-paintings-csv.js",
"update-painting-annotations": "node scripts/update-painting-annotations.js",
"find-duplicates": "node scripts/find-duplicate-paintings.js",
"audit-influence-duplicates": "node scripts/audit-influence-duplicates.js",
"discover-influences": "node scripts/update-influences.js --discover-only",
"build": "npm run build --prefix client",
"start": "node server/index.js",
"start:prod": "npm run build && node server/index.js",
"server": "node server/index.js",
"dev:web": "node scripts/dev-web.js",
"dev:server": "nodemon server/index.js",
"dev:client": "npm run dev --prefix client",
"docker:publish": "powershell -NoProfile -ExecutionPolicy Bypass -File infra/docker/build-push-lan.ps1",
"docker:publish:push-only": "powershell -NoProfile -ExecutionPolicy Bypass -File infra/docker/build-push-lan.ps1 -SkipBuild",
"db:split-databases": "node scripts/split-dev-prod-databases.js",
"db:sync-from-prod": "node scripts/sync-prod-to-dev.js",
"db:backup": "node scripts/backup-db-data.js",
"db:backup:prod": "node scripts/backup-db-data.js --prod",
"db:restore": "node scripts/restore-db-data.js",
"db:restore:prod": "node scripts/restore-db-data.js --prod",
"images:sync-to-prod": "powershell -NoProfile -ExecutionPolicy Bypass -File infra/scripts/sync-images-to-prod.ps1",
"images:sync-from-prod": "powershell -NoProfile -ExecutionPolicy Bypass -File infra/scripts/sync-images-from-prod.ps1",
"dev": "node server/index.js",
"setup": "node server/migrate.js && node scripts/seed-wikipedia.js"
},
"keywords": [],
"author": "",
"license": "ISC",
"type": "commonjs",
"dependencies": {
"bcryptjs": "^3.0.3",
"connect-pg-simple": "^10.0.0",
"compression": "^1.8.1",
"cors": "^2.8.6",
"dotenv": "^17.4.2",
"express": "^5.2.1",
"express-session": "^1.19.0",
"pg": "^8.21.0",
"sharp": "^0.35.1"
},
"devDependencies": {
"nodemon": "^3.1.14"
}
}