{ "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", "lint": "eslint --cache src/ *.js", "fmt": "eslint --cache --fix src/ *.js .eslintrc.js", "test": "karma start", "upgrade": "npm --depth 10 update && npm audit fix", "acceptance": "testcafe $npm_config_first --test-grep $npm_config_second --test-meta mode=$npm_config_third --config-file ./testcaferc.json $npm_config_fourth", "acceptance-short": "testcafe $npm_config_first --test-grep $npm_config_second --test-meta mode=$npm_config_third,type=short --config-file ./testcaferc.json $npm_config_fourth", "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 -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.17.10", "@babel/core": "^7.18.5", "@babel/eslint-parser": "^7.18.2", "@babel/plugin-proposal-class-properties": "^7.17.12", "@babel/plugin-proposal-object-rest-spread": "^7.18.0", "@babel/plugin-transform-runtime": "^7.18.2", "@babel/preset-env": "^7.18.2", "@babel/register": "^7.17.7", "@babel/runtime": "^7.18.3", "@lcdp/offline-plugin": "^5.1.1", "@vvo/tzdb": "^6.51.0", "axios": "^0.27.2", "axios-mock-adapter": "^1.21.1", "babel-loader": "^8.2.5", "babel-plugin-istanbul": "^6.1.1", "browserslist": "^4.20.4", "chai": "^4.3.6", "cheerio": "1.0.0-rc.10", "chrome-finder": "^1.0.7", "core-js": "^3.23.1", "cross-env": "^7.0.3", "css-loader": "^6.7.1", "cssnano": "^5.1.11", "easygettext": "^2.17.0", "eslint": "^8.17.0", "eslint-config-prettier": "^8.5.0", "eslint-config-standard": "^17.0.0", "eslint-formatter-pretty": "^4.1.0", "eslint-plugin-html": "^6.2.0", "eslint-plugin-import": "^2.25.4", "eslint-plugin-node": "^11.1.0", "eslint-plugin-prettier-vue": "^4.1.0", "eslint-plugin-promise": "^6.0.0", "eslint-plugin-vue": "^9.0.1", "eslint-webpack-plugin": "^3.1.1", "eventsource-polyfill": "^0.9.6", "file-loader": "^6.2.0", "file-saver": "^2.0.5", "hls.js": "^1.1.5", "i": "^0.3.7", "karma": "^6.4.0", "karma-chrome-launcher": "^3.1.1", "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": "^2.4.0", "maplibre-gl": "^2.1.9", "memoize-one": "^6.0.0", "mini-css-extract-plugin": "^2.6.1", "minimist": ">=1.2.5", "mocha": "^10.0.0", "node-storage-shim": "^2.0.1", "photoswipe": "^4.1.3", "postcss": "^8.4.14", "postcss-import": "^14.1.0", "postcss-loader": "^7.0.0", "postcss-preset-env": "^7.7.1", "postcss-reporter": "^7.0.5", "postcss-url": "^10.1.3", "prettier": "^2.7.0", "pubsub-js": "^1.9.4", "regenerator-runtime": "^0.13.9", "resolve-url-loader": "^5.0.0", "sass": "^1.52.3", "sass-loader": "^13.0.0", "server": "^1.0.37", "sockette": "^2.0.6", "style-loader": "^3.3.1", "svg-url-loader": "^7.1.1", "tar": "^6.1.11", "url-loader": "^4.1.1", "util": "^0.12.4", "vue": "^2.6.14", "vue-fullscreen": "^2.5.2", "vue-gettext": "^2.1.12", "vue-infinite-scroll": "^2.0.2", "vue-loader": "^15.9.8", "vue-loader-plugin": "^1.3.0", "vue-luxon": "^0.10.0", "vue-router": "^3.5.2", "vue-style-loader": "^4.1.3", "vue-template-compiler": "^2.6.14", "vue2-filters": "^0.14.0", "vuetify": "^1.5.24", "webpack": "^5.73.0", "webpack-bundle-analyzer": "^4.5.0", "webpack-cli": "^4.10.0", "webpack-hot-middleware": "^2.25.1", "webpack-manifest-plugin": "^5.0.0", "webpack-md5-hash": "^0.0.6", "webpack-merge": "^5.8.0" }, "engines": { "node": ">= 14.0.0", "npm": ">= 8.0.0", "yarn": "please use npm" }, "browserslist": ">0.25% and last 2 years" }