{
  "name": "nextcloud",
  "version": "1.0.0",
  "description": "Nextcloud Server",
  "private": true,
  "directories": {
    "lib": "lib",
    "test": "tests"
  },
  "scripts": {
    "build": "webpack --node-env production --progress",
    "postbuild": "npm run sass && npm run sass:icons",
    "dev": "webpack --node-env development --progress",
    "watch": "webpack --node-env development --progress --watch",
    "lint": "eslint $(for appdir in $(ls apps); do if ! $(git check-ignore -q $appdir); then printf \"$appdir \"; fi; done) core --no-error-on-unmatched-pattern",
    "lint:fix": "eslint $(for appdir in $(ls apps); do if ! $(git check-ignore -q $appdir); then printf \"$appdir \"; fi; done) core --no-error-on-unmatched-pattern --fix",
    "test": "jest",
    "test:watch": "jest --watch",
    "test:coverage": "jest --coverage",
    "test:jsunit": "karma start tests/karma.config.js --single-run",
    "sass": "sass --style compressed --load-path core/css core/css/ $(for cssdir in $(find apps -mindepth 2 -maxdepth 2 -name \"css\"); do if ! $(git check-ignore -q $cssdir); then printf \"$cssdir \"; fi; done)",
    "sass:watch": "sass --watch --load-path core/css core/css/ $(for cssdir in $(find apps -mindepth 2 -maxdepth 2 -name \"css\"); do if ! $(git check-ignore -q $cssdir); then printf \"$cssdir \"; fi; done)",
    "sass:icons": "babel-node core/src/icons.js",
    "cypress": "npm run cypress:component && npm run cypress:e2e",
    "cypress:component": "cypress run --component",
    "cypress:e2e": "cypress run --e2e",
    "cypress:gui": "cypress open",
    "cypress:version": "cypress version"
  },
  "repository": {
    "type": "git",
    "url": "https://github.com/nextcloud/server.git"
  },
  "keywords": [
    "nextcloud"
  ],
  "license": "AGPL-3.0-or-later",
  "dependencies": {
    "@chenfengyuan/vue-qrcode": "^1.0.2",
    "@mdi/js": "^7.4.47",
    "@mdi/svg": "^7.4.47",
    "@nextcloud/auth": "^2.1.0",
    "@nextcloud/axios": "^2.3.0",
    "@nextcloud/browser-storage": "^0.3.0",
    "@nextcloud/browserslist-config": "^3.0.0",
    "@nextcloud/calendar-availability-vue": "^2.2.0",
    "@nextcloud/capabilities": "^1.0.4",
    "@nextcloud/dialogs": "^5.3.0",
    "@nextcloud/event-bus": "^3.1.0",
    "@nextcloud/files": "^3.1.1",
    "@nextcloud/initial-state": "^2.0.0",
    "@nextcloud/l10n": "^2.1.0",
    "@nextcloud/logger": "^2.5.0",
    "@nextcloud/moment": "^1.3.1",
    "@nextcloud/password-confirmation": "^5.0.1",
    "@nextcloud/paths": "^2.1.0",
    "@nextcloud/router": "^3.0.0",
    "@nextcloud/sharing": "^0.1.0",
    "@nextcloud/upload": "^1.1.1",
    "@nextcloud/vue": "^8.11.2",
    "@simplewebauthn/browser": "^9.0.1",
    "@skjnldsv/sanitize-svg": "^1.0.2",
    "@vueuse/components": "^10.9.0",
    "@vueuse/core": "^10.9.0",
    "@vueuse/integrations": "^10.9.0",
    "backbone": "^1.4.1",
    "blueimp-md5": "^2.19.0",
    "browserslist-useragent-regexp": "^4.1.1",
    "camelcase": "^8.0.0",
    "cancelable-promise": "^4.3.1",
    "clipboard": "^2.0.11",
    "core-js": "^3.36.1",
    "davclient.js": "github:owncloud/davclient.js.git#0.2.2",
    "debounce": "^1.2.1",
    "dompurify": "^3.0.11",
    "escape-html": "^1.0.3",
    "focus-trap": "^7.5.4",
    "handlebars": "^4.7.7",
    "ical.js": "^1.4.0",
    "jquery": "~3.7",
    "jquery-ui": "^1.13.2",
    "jquery-ui-dist": "^1.13.2",
    "libphonenumber-js": "^1.10.60",
    "lodash": "^4.17.21",
    "marked": "^11.2.0",
    "moment": "^2.30.1",
    "moment-timezone": "^0.5.45",
    "natural-orderby": "^3.0.2",
    "nextcloud-vue-collections": "^0.12.0",
    "node-vibrant": "^3.1.6",
    "p-limit": "^4.0.0",
    "p-queue": "^7.4.1",
    "path": "^0.12.7",
    "pinia": "^2.1.7",
    "query-string": "^9.0.0",
    "regenerator-runtime": "^0.14.1",
    "select2": "3.5.1",
    "snap.js": "^2.0.9",
    "strengthify": "github:nextcloud/strengthify#0.5.9",
    "throttle-debounce": "^5.0.0",
    "underscore": "1.13.6",
    "url-search-params-polyfill": "^8.1.1",
    "v-click-outside": "^3.2.0",
    "v-tooltip": "^2.1.3",
    "vue": "^2.7.16",
    "vue-click-outside": "^1.1.0",
    "vue-cropperjs": "^4.2.0",
    "vue-frag": "^1.4.2",
    "vue-infinite-loading": "^2.4.5",
    "vue-localstorage": "^0.6.2",
    "vue-material-design-icons": "^5.0.0",
    "vue-router": "^3.6.5",
    "vuedraggable": "^2.24.3",
    "vuex": "^3.6.2",
    "vuex-router-sync": "^5.0.0",
    "webdav": "^5.4.0",
    "xml2js": "^0.6.2"
  },
  "devDependencies": {
    "@babel/node": "^7.22.10",
    "@babel/preset-typescript": "^7.24.1",
    "@cypress/vue2": "^2.1.0",
    "@cypress/webpack-preprocessor": "^6.0.1",
    "@jest/globals": "^29.7.0",
    "@nextcloud/babel-config": "^1.0.0",
    "@nextcloud/cypress": "^1.0.0-beta.7",
    "@nextcloud/eslint-config": "^v8.3.0-beta.2",
    "@nextcloud/stylelint-config": "^2.4.0",
    "@nextcloud/typings": "^1.8.0",
    "@nextcloud/webpack-vue-config": "^6.0.1",
    "@pinia/testing": "^0.1.2",
    "@simplewebauthn/types": "^9.0.1",
    "@testing-library/jest-dom": "^6.1.5",
    "@testing-library/user-event": "^14.4.3",
    "@testing-library/vue": "^5.8.3",
    "@types/dockerode": "^3.3.26",
    "@types/jest": "^29.5.2",
    "@types/wait-on": "^5.3.4",
    "@vue/test-utils": "^1.3.5",
    "@vue/tsconfig": "^0.5.1",
    "@vue/vue2-jest": "^29.2.6",
    "babel-jest": "^29.6.4",
    "babel-loader": "^9.1.0",
    "babel-loader-exclude-node-modules-except": "^1.2.1",
    "colord": "^2.9.3",
    "css-loader": "^6.8.1",
    "cypress": "^13.7.2",
    "cypress-axe": "^1.5.0",
    "cypress-if": "^1.10.5",
    "cypress-split": "^1.23.0",
    "cypress-wait-until": "^3.0.1",
    "dockerode": "^4.0.2",
    "eslint-plugin-cypress": "^2.15.1",
    "eslint-plugin-es": "^4.1.0",
    "exports-loader": "^5.0.0",
    "file-loader": "^6.2.0",
    "handlebars-loader": "^1.7.3",
    "jasmine-core": "~2.5.2",
    "jasmine-sinon": "^0.4.0",
    "jest": "^29.0.3",
    "jest-environment-jsdom": "^29.7.0",
    "jest-fetch-mock": "^3.0.3",
    "jest-location-mock": "^1.0.9",
    "jsdoc": "^4.0.2",
    "karma": "^6.4.3",
    "karma-chrome-launcher": "^3.1.1",
    "karma-coverage": "2.2.0",
    "karma-jasmine": "^1.1.2",
    "karma-jasmine-sinon": "^1.0.4",
    "karma-spec-reporter": "^0.0.36",
    "karma-viewport": "^1.0.9",
    "mime": "^4.0.1",
    "puppeteer": "^22.5.0",
    "raw-loader": "^4.0.2",
    "regextras": "^0.8.0",
    "sass": "^1.74.1",
    "sass-loader": "^13.2.2",
    "sinon": "<= 5.0.7",
    "style-loader": "^3.3.1",
    "tar": "^6.2.1",
    "ts-jest": "^29.1.1",
    "ts-loader": "^9.5.0",
    "ts-node": "^10.9.1",
    "tslib": "^2.6.2",
    "typescript": "^5.4.5",
    "vue-loader": "^15.9.8",
    "vue-template-compiler": "^2.7.16",
    "wait-on": "^7.2.0",
    "webpack": "^5.91.0",
    "webpack-cli": "^5.0.2",
    "webpack-merge": "^5.8.0",
    "workbox-webpack-plugin": "^7.0.0"
  },
  "browserslist": [
    "extends @nextcloud/browserslist-config"
  ],
  "engines": {
    "node": "^20.0.0",
    "npm": "^10.0.0"
  },
  "overrides": {
    "colors": "1.4.0"
  }
}