{ "name": "photoprism", "version": "1.0.0", "description": "Single-page Web app frontend for PhotoPrism", "author": "Michael Mayer", "private": true, "scripts": { "watch": "webpack --watch", "build": "webpack --optimize-minimize", "lint": "eslint --cache src/ *.js", "fmt": "eslint --cache --fix src/ *.js", "test": "karma start", "upgrade": "npm --depth 10 update && npm audit fix", "acceptance": "testcafe \"chromium:headless --disable-dev-shm-usage\" --selector-timeout 5000 -S -s tests/screenshots tests/acceptance", "acceptance-firefox": "testcafe firefox:headless --selector-timeout 5000 -S -s tests/screenshots tests/acceptance", "acceptance-local": "testcafe chrome --selector-timeout 5000 -S -s tests/screenshots tests/acceptance", "gettext-extract": "gettext-extract --output src/resources/translations.pot $(find src/ -type f -name '*.vue')", "gettext-compile": "gettext-compile --output src/resources/translations.json src/resources/*.po" }, "dependencies": { "@babel/cli": "^7.8.4", "@babel/core": "^7.9.6", "@babel/plugin-transform-runtime": "^7.9.6", "@babel/polyfill": "^7.8.7", "@babel/preset-env": "^7.9.6", "@babel/register": "^7.9.0", "@babel/runtime": "^7.9.6", "@fortawesome/fontawesome-free": "^5.13.0", "acorn": "6.4.1", "ajv": "^6.12.2", "autoprefixer": "^9.7.6", "axios": "^0.19.2", "axios-mock-adapter": "^1.18.1", "babel-eslint": "^10.1.0", "babel-loader": "^8.1.0", "babel-plugin-istanbul": "^6.0.0", "browserslist": "^4.12.0", "chai": "^4.2.0", "chalk": "^4.0.0", "chart.js": "^2.9.3", "chrome-finder": "^1.0.7", "clean-webpack-plugin": "^3.0.0", "connect-history-api-fallback": "^1.3.0", "copy-webpack-plugin": "^5.1.1", "core-js": "^3.6.5", "cross-env": "^7.0.2", "crypto-random-string": "^3.2.0", "css-loader": "^2.1.1", "cssnano": "^4.1.10", "easygettext": "^2.12.0", "eslint": "^6.8.0", "eslint-config-standard": "^14.1.1", "eslint-formatter-pretty": "^3.0.1", "eslint-friendly-formatter": "^4.0.1", "eslint-loader": "^3.0.4", "eslint-plugin-html": "^6.0.2", "eslint-plugin-import": "^2.20.2", "eslint-plugin-node": "^11.1.0", "eslint-plugin-promise": "^4.2.1", "eslint-plugin-standard": "^4.0.1", "eventsource-polyfill": "^0.9.6", "file-loader": "^3.0.1", "friendly-errors-webpack-plugin": "^1.7.0", "html-webpack-plugin": "^3.2.0", "http-proxy-middleware": "^0.19.1", "i18n-iso-countries": "^5.2.0", "inject-loader": "^4.0.1", "karma": "^5.0.4", "karma-chrome-launcher": "^3.1.0", "karma-coverage-istanbul-reporter": "^2.1.1", "karma-htmlfile-reporter": "^0.3.8", "karma-mocha": "^2.0.1", "karma-verbose-reporter": "^0.0.6", "karma-webpack": "^4.0.2", "luxon": "^1.23.0", "mapbox-gl": "^1.10.0", "material-design-icons-iconfont": "^5.0.1", "mini-css-extract-plugin": "^0.7.0", "minimist": ">=1.2.5", "mocha": "^6.2.3", "moment-timezone": "^0.5.28", "optimize-css-assets-webpack-plugin": "^5.0.3", "ora": "^3.4.0", "photoswipe": "^4.1.3", "pluralize": "^8.0.0", "postcss": "^7.0.27", "postcss-browser-reporter": "^0.6.0", "postcss-import": "^12.0.1", "postcss-loader": "^3.0.0", "postcss-preset-env": "^6.7.0", "postcss-reporter": "^6.0.1", "postcss-url": "^8.0.0", "pubsub-js": "^1.8.0", "puppeteer-core": "^2.1.1", "regenerator-runtime": "^0.13.5", "resolve-url-loader": "^3.1.1", "sass-loader": "^7.3.1", "sinon": "^9.0.2", "sockette": "^2.0.6", "style-loader": "^0.23.1", "sugarss": "^2.0.0", "svg-url-loader": "^5.0.0", "tar": "^5.0.5", "truncate": "^2.1.0", "url-loader": "^1.1.2", "vue": "^2.6.11", "vue-fullscreen": "^2.1.6", "vue-gettext": "^2.1.8", "vue-infinite-scroll": "^2.0.2", "vue-loader": "^14.2.4", "vue-luxon": "^0.7.3", "vue-router": "^3.1.6", "vue-style-loader": "^4.1.2", "vue-template-compiler": "^2.6.11", "vue2-filters": "^0.9.1", "vuelidate": "^0.7.5", "vuetify": "^1.5.24", "webpack": "^4.43.0", "webpack-bundle-analyzer": "^3.7.0", "webpack-cli": "^3.3.11", "webpack-hot-middleware": "^2.25.0", "webpack-md5-hash": "0.0.6", "webpack-merge": "^4.2.2" }, "engines": { "node": ">= 8.0.0", "npm": ">= 6.0.0", "yarn": "please use npm" }, "browserslist": [ "> 1%", "not ie <= 9", "last 3 versions" ] }