{
  "name": "pigallery2",
  "version": "2.0.3-edge",
  "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 --exclude test/cypress/**/*.js",
    "test-backend": "tsc && mocha --recursive test --exclude test/cypress/**/*.js",
    "coverage": "nyc report --reporter=lcov",
    "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",
    "start-e2e-server": "node ./test/folder-reset test/e2e && node ./src/backend/index --config-path=test/e2e/config.json --Database-dbFolder=test/e2e --Server-port=8080",
    "cypress:open": "cypress open",
    "cypress:run": "cypress run",
    "build-extension-interface": "tsc -p extension/ext-interface.tsconfig.json && tsc -p extension/ext-enums.tsconfig.json"
  },
  "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": "8.2.0",
    "cookie-parser": "1.4.6",
    "cookie-session": "2.0.0",
    "csurf": "1.11.0",
    "ejs": "3.1.8",
    "exifr": "7.1.3",
    "express": "4.18.2",
    "express-unless": "2.1.3",
    "fluent-ffmpeg": "2.1.2",
    "image-size": "1.1.1",
    "locale": "0.1.0",
    "node-geocoder": "4.2.0",
    "nodemailer": "6.9.4",
    "reflect-metadata": "0.1.13",
    "sharp": "0.31.3",
    "ts-node-iptc": "1.0.11",
    "typeconfig": "2.3.1",
    "typeorm": "0.3.12",
    "xml2js": "0.6.2"
  },
  "devDependencies": {
    "@angular-builders/custom-webpack": "15.0.0",
    "@angular-eslint/builder": "15.2.1",
    "@angular-eslint/eslint-plugin": "15.2.1",
    "@angular-eslint/eslint-plugin-template": "15.2.1",
    "@angular-eslint/schematics": "15.2.1",
    "@angular-eslint/template-parser": "15.2.1",
    "@angular/animations": "15.2.2",
    "@angular/cli": "15.2.2",
    "@angular/common": "15.2.2",
    "@angular/compiler": "15.2.2",
    "@angular/compiler-cli": "15.2.2",
    "@angular/core": "15.2.2",
    "@angular/forms": "15.2.2",
    "@angular/language-service": "15.2.2",
    "@angular/localize": "15.2.2",
    "@angular/platform-browser": "15.2.2",
    "@angular/platform-browser-dynamic": "15.2.2",
    "@angular/router": "15.2.2",
    "@asymmetrik/ngx-leaflet": "15.0.1",
    "@asymmetrik/ngx-leaflet-markercluster": "15.0.0",
    "@ng-icons/core": "24.0.0",
    "@ng-icons/ionicons": "24.0.0",
    "@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.4",
    "@types/cookie-parser": "1.4.3",
    "@types/cookie-session": "2.0.44",
    "@types/csurf": "1.11.2",
    "@types/ejs": "3.1.2",
    "@types/express": "4.17.17",
    "@types/express-jwt": "6.0.4",
    "@types/fluent-ffmpeg": "2.1.21",
    "@types/gulp": "4.0.10",
    "@types/gulp-sourcemaps": "^0.0.38",
    "@types/gulp-zip": "4.0.2",
    "@types/jasmine": "4.3.1",
    "@types/jsonwebtoken": "9.0.1",
    "@types/leaflet": "1.9.1",
    "@types/leaflet.markercluster": "1.5.1",
    "@types/node": "18.15.0",
    "@types/node-geocoder": "4.2.0",
    "@types/nodemailer": "6.4.9",
    "@types/sharp": "0.31.1",
    "@types/xml2js": "0.4.11",
    "@typescript-eslint/eslint-plugin": "5.54.1",
    "@typescript-eslint/parser": "5.54.1",
    "bootstrap": "5.3.1",
    "chai": "4.3.7",
    "chai-http": "4.3.0",
    "codelyzer": "6.0.2",
    "core-js": "3.29.0",
    "coveralls": "3.1.1",
    "cypress": "13.1.0",
    "deep-equal-in-any-order": "2.0.5",
    "ejs-loader": "0.5.0",
    "eslint": "8.36.0",
    "gulp": "4.0.2",
    "gulp-json-editor": "2.5.6",
    "gulp-sourcemaps": "3.0.0",
    "gulp-typescript": "5.0.1",
    "gulp-zip": "5.1.0",
    "hammerjs": "2.0.8",
    "intl": "1.2.5",
    "jasmine-core": "4.5.0",
    "karma": "6.4.1",
    "karma-chrome-launcher": "3.1.1",
    "karma-coverage": "2.2.0",
    "karma-jasmine": "5.1.0",
    "karma-jasmine-html-reporter": "2.0.0",
    "leaflet": "1.9.3",
    "leaflet.markercluster": "1.5.3",
    "mocha": "10.2.0",
    "ngx-bootstrap": "10.3.0",
    "ngx-clipboard": "15.1.0",
    "ngx-cookie-service": "15.0.0",
    "ngx-device-detector": "5.0.1",
    "ngx-markdown": "15.1.2",
    "ngx-toastr": "15.2.2",
    "nyc": "15.1.0",
    "rxjs": "7.8.0",
    "ts-helpers": "1.1.2",
    "ts-node": "10.9.1",
    "webpack-bundle-analyzer": "4.8.0",
    "xlf-google-translate": "1.0.0-beta.23",
    "zone.js": "0.12.0"
  },
  "optionalDependencies": {
    "ffmpeg-static": "5.1.0",
    "ffprobe-static": "3.1.0",
    "mysql": "2.18.1"
  },
  "engines": {
    "node": ">=18 <19.0"
  }
}