{ "name": "pigallery2", "version": "1.9.6-nightly", "description": "This is a photo gallery optimised for running low resource servers (especially on raspberry pi)", "author": "Patrik J. Braun", "homepage": "https://github.com/bpatrik/PiGallery2", "license": "MIT", "main": "./src/backend/index.js", "bin": "./src/backend/index.js", "scripts": { "build": "tsc && gulp build-prod", "build-en": "tsc && gulp build-prod --languages=en", "create-release": "gulp create-release", "build-backend": "tsc", "pretest": "tsc", "test": "ng test && nyc mocha --recursive test", "test-backend": "tsc && mocha --recursive test", "coverage": "nyc report --reporter=text-lcov | coveralls", "start": "node ./src/backend/index", "run-dev": "ng build --configuration=dev", "build-stats": "ng build --stats-json", "analyze": "webpack-bundle-analyzer dist/en/stats.json", "merge-new-translation": "gulp merge-new-translation", "generate-man": "gulp generate-man", "lint": "ng lint" }, "repository": { "type": "git", "url": "git+https://github.com/bpatrik/PiGallery2.git" }, "bugs": { "url": "https://github.com/bpatrik/PiGallery2/issues" }, "dependencies": { "archiver": "5.3.1", "bcrypt": "5.1.0", "better-sqlite3": "7.6.2", "cookie-parser": "1.4.6", "cookie-session": "2.0.0", "csurf": "1.11.0", "ejs": "3.1.8", "exifreader": "4.4.0", "express": "4.18.2", "express-unless": "2.1.3", "fluent-ffmpeg": "2.1.2", "image-size": "1.0.2", "locale": "0.1.0", "node-geocoder": "4.2.0", "reflect-metadata": "0.1.13", "sharp": "0.31.2", "ts-exif-parser": "0.2.2", "ts-node-iptc": "1.0.11", "typeconfig": "2.0.37", "xml2js": "0.4.23", "typeorm": "0.3.10" }, "devDependencies": { "@angular-builders/custom-webpack": "13.1.0", "@angular-devkit/build-optimizer": "0.1302.1", "@angular-eslint/builder": "13.1.0", "@angular-eslint/eslint-plugin": "13.1.0", "@angular-eslint/eslint-plugin-template": "13.1.0", "@angular-eslint/schematics": "13.1.0", "@angular-eslint/template-parser": "13.1.0", "@angular/animations": "13.3.1", "@angular/cli": "13.3.1", "@angular/common": "13.3.1", "@angular/compiler": "13.3.1", "@angular/compiler-cli": "13.3.1", "@angular/core": "13.3.1", "@angular/forms": "13.3.1", "@angular/language-service": "13.3.1", "@angular/localize": "13.3.1", "@angular/platform-browser": "13.3.1", "@angular/platform-browser-dynamic": "13.3.1", "@angular/router": "13.3.1", "@asymmetrik/ngx-leaflet": "13.0.2", "@asymmetrik/ngx-leaflet-markercluster": "13.0.1", "@ngx-loading-bar/core": "6.0.2", "@types/archiver": "5.3.1", "@types/bcrypt": "5.0.0", "@types/bcryptjs": "2.4.2", "@types/chai": "4.3.0", "@types/cookie-parser": "1.4.2", "@types/cookie-session": "2.0.44", "@types/csurf": "1.11.2", "@types/ejs": "3.1.0", "@types/express": "4.17.13", "@types/express-jwt": "6.0.4", "@types/fluent-ffmpeg": "2.1.20", "@types/gulp": "4.0.9", "@types/gulp-zip": "4.0.2", "@types/jasmine": "4.0.1", "@types/jsonwebtoken": "8.5.8", "@types/leaflet": "1.7.9", "@types/leaflet.markercluster": "1.4.6", "@types/node": "17.0.23", "@types/node-geocoder": "3.24.4", "@types/sharp": "0.30.0", "@types/xml2js": "0.4.9", "@typescript-eslint/eslint-plugin": "5.11.0", "@typescript-eslint/parser": "5.11.0", "bootstrap": "5.1.3", "chai": "4.3.6", "chai-http": "4.3.0", "codelyzer": "6.0.2", "core-js": "3.21.1", "coveralls": "3.1.1", "deep-equal-in-any-order": "1.1.15", "ejs-loader": "0.5.0", "eslint": "7.32.0", "gulp": "4.0.2", "gulp-json-editor": "2.5.6", "gulp-typescript": "5.0.1", "gulp-zip": "5.1.0", "hammerjs": "2.0.8", "intl": "1.2.5", "jasmine-core": "4.0.1", "karma": "6.3.17", "karma-chrome-launcher": "3.1.1", "karma-coverage": "2.2.0", "karma-jasmine": "4.0.2", "karma-jasmine-html-reporter": "1.7.0", "leaflet": "1.7.1", "leaflet.markercluster": "1.5.3", "mocha": "9.2.2", "ngx-bootstrap": "8.0.0", "ngx-clipboard": "15.1.0", "ngx-cookie-service": "13.1.2", "ngx-device-detector": "3.0.0", "ngx-markdown": "13.1.0", "ngx-toastr": "14.2.2", "nyc": "15.1.0", "open-iconic": "1.1.1", "rxjs": "7.5.5", "ts-helpers": "1.1.2", "ts-node": "10.7.0", "webpack-bundle-analyzer": "4.7.0", "xlf-google-translate": "1.0.0-beta.22", "zone.js": "0.11.5" }, "optionalDependencies": { "ffmpeg-static": "5.1.0", "ffprobe-static": "3.1.0", "mysql": "2.18.1" }, "engines": { "node": ">=18 <19.0" } }