{ "name": "photoprism", "version": "1.0.0", "description": "AI-Powered Photos App", "author": "PhotoPrism UG", "license": "AGPL-3.0", "private": true, "scripts": { "watch": "webpack --watch", "build": "webpack --node-env=production", "trace": "webpack --stats-children", "debug": "webpack --stats-error-details", "lint": "eslint --cache src/ *.js", "fmt": "eslint --cache --fix src/ *.js .eslintrc.js", "test": "karma start", "upgrade": "npm --depth 10 update && npm audit fix", "testcafe": "testcafe", "acceptance-local": "testcafe chromium --selector-timeout 5000 -S -s tests/acceptance/screenshots tests/acceptance", "gettext-extract": "gettext-extract --output src/locales/translations.pot $(find ${SRC:-src} -type f \\( -iname \\*.vue -o -iname \\*.js \\) -not -path src/common/vm.js)", "gettext-compile": "gettext-compile --output src/locales/translations.json src/locales/*.po" }, "dependencies": { "@babel/cli": "^7.21.5", "@babel/core": "^7.21.8", "@babel/eslint-parser": "^7.21.8", "@babel/plugin-proposal-class-properties": "^7.18.6", "@babel/plugin-proposal-object-rest-spread": "^7.20.7", "@babel/plugin-transform-runtime": "^7.21.4", "@babel/preset-env": "^7.21.5", "@babel/register": "^7.21.0", "@babel/runtime": "^7.21.5", "@lcdp/offline-plugin": "^5.1.1", "@vvo/tzdb": "^6.107.0", "axios": "^1.4.0", "axios-mock-adapter": "^1.21.4", "babel-loader": "^9.1.2", "babel-plugin-istanbul": "^6.1.1", "browserslist": "^4.21.5", "chai": "^4.3.7", "cheerio": "1.0.0-rc.10", "chrome-finder": "^1.0.7", "core-js": "^3.30.2", "cross-env": "^7.0.3", "css-loader": "^6.7.3", "cssnano": "^5.1.14", "easygettext": "^2.17.0", "eslint": "^8.40.0", "eslint-config-prettier": "^8.8.0", "eslint-config-standard": "^17.0.0", "eslint-formatter-pretty": "^5.0.0", "eslint-plugin-html": "^7.1.0", "eslint-plugin-import": "^2.27.5", "eslint-plugin-node": "^11.1.0", "eslint-plugin-prettier-vue": "^4.2.0", "eslint-plugin-promise": "^6.1.1", "eslint-plugin-vue": "^9.13.0", "eslint-webpack-plugin": "^4.0.1", "eventsource-polyfill": "^0.9.6", "file-loader": "^6.2.0", "file-saver": "^2.0.5", "hls.js": "^1.2.9", "i": "^0.3.7", "karma": "^6.4.2", "karma-chrome-launcher": "^3.2.0", "karma-coverage-istanbul-reporter": "^3.0.3", "karma-htmlfile-reporter": "^0.3.8", "karma-mocha": "^2.0.1", "karma-verbose-reporter": "^0.0.8", "karma-webpack": "^5.0.0", "luxon": "^3.3.0", "maplibre-gl": "^2.4.0", "memoize-one": "^6.0.0", "mini-css-extract-plugin": "^2.7.2", "minimist": ">=1.2.5", "mocha": "^10.2.0", "node-storage-shim": "^2.0.1", "photoswipe": "^4.1.3", "postcss": "^8.4.20", "postcss-import": "^15.1.0", "postcss-loader": "^7.0.2", "postcss-preset-env": "^7.8.3", "postcss-reporter": "^7.0.5", "postcss-url": "^10.1.3", "prettier": "^2.8.8", "pubsub-js": "^1.9.4", "regenerator-runtime": "^0.13.11", "resolve-url-loader": "^5.0.0", "sass": "^1.62.1", "sass-loader": "^13.2.0", "server": "^1.0.38", "sockette": "^2.0.6", "style-loader": "^3.3.1", "svg-url-loader": "^8.0.0", "tar": "^6.1.13", "url-loader": "^4.1.1", "util": "^0.12.5", "vue": "^2.7.14", "vue-fullscreen": "^2.6.1", "vue-gettext": "^2.1.12", "vue-infinite-scroll": "^2.0.2", "vue-loader": "^15.10.1", "vue-loader-plugin": "^1.3.0", "vue-luxon": "^0.10.0", "vue-router": "^3.6.5", "vue-style-loader": "^4.1.3", "vue-template-compiler": "^2.7.13", "vue2-filters": "^0.14.0", "vuetify": "^1.5.24", "webpack": "^5.83.0", "webpack-bundle-analyzer": "^4.8.0", "webpack-cli": "^5.1.1", "webpack-hot-middleware": "^2.25.3", "webpack-manifest-plugin": "^5.0.0", "webpack-md5-hash": "^0.0.6", "webpack-merge": "^5.8.0" }, "engines": { "node": ">= 16.0.0", "npm": ">= 8.0.0", "yarn": "please use npm" }, "browserslist": ">0.25% and last 2 years" }