{ "name": "nextcloud", "version": "1.0.0", "private": true, "description": "Nextcloud Server", "keywords": [ "nextcloud" ], "repository": { "type": "git", "url": "https://github.com/nextcloud/server.git" }, "license": "AGPL-3.0-or-later", "author": "Nextcloud GmbH and Nextcloud contributors", "directories": { "lib": "lib", "test": "tests" }, "scripts": { "build": "webpack --node-env production --progress", "postbuild": "build/npm-post-build.sh", "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", "dev": "webpack --node-env development --progress", "lint": "eslint --suppressions-location build/eslint-baseline.json", "lint:fix": "eslint --suppressions-location build/eslint-baseline.json --fix", "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:icons": "babel-node core/src/icons.cjs", "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)", "stylelint": "stylelint $(for appdir in $(ls apps); do if ! $(git check-ignore -q \"apps/$appdir\"); then printf \"'apps/$appdir/**/*.{scss,vue}' \"; fi; done) 'core/**/*.{scss,vue}'", "stylelint:fix": "npm run stylelint -- --fix", "test": "vitest run", "test:coverage": "vitest run --coverage --reporter=default --reporter=junit --outputFile=test-report.junit.xml", "test:jsunit": "karma start tests/karma.config.js --single-run", "test:update-snapshots": "vitest run --update", "test:watch": "vitest watch", "watch": "webpack --node-env development --progress --watch" }, "browserslist": [ "extends @nextcloud/browserslist-config" ], "overrides": { "colors": "1.4.0" }, "dependencies": { "@chenfengyuan/vue-qrcode": "^1.0.2", "@mdi/js": "^7.4.47", "@mdi/svg": "^7.4.47", "@nextcloud/auth": "^2.5.2", "@nextcloud/axios": "^2.5.1", "@nextcloud/browser-storage": "^0.4.0", "@nextcloud/browserslist-config": "^3.0.1", "@nextcloud/calendar-availability-vue": "^2.2.10", "@nextcloud/capabilities": "^1.2.0", "@nextcloud/dialogs": "^6.3.2", "@nextcloud/event-bus": "^3.3.2", "@nextcloud/files": "^3.12.0", "@nextcloud/initial-state": "^3.0.0", "@nextcloud/l10n": "^3.4.0", "@nextcloud/logger": "^3.0.2", "@nextcloud/moment": "^1.3.5", "@nextcloud/password-confirmation": "^5.3.1", "@nextcloud/paths": "^2.2.1", "@nextcloud/router": "^3.0.1", "@nextcloud/sharing": "^0.3.0", "@nextcloud/upload": "^1.11.0", "@nextcloud/vue": "^8.31.0", "@simplewebauthn/browser": "^13.2.0", "@vue/web-component-wrapper": "^1.3.0", "@vueuse/components": "^11.3.0", "@vueuse/core": "^11.3.0", "@vueuse/integrations": "^11.3.0", "backbone": "^1.6.1", "blurhash": "^2.0.5", "browserslist-useragent-regexp": "^4.1.3", "camelcase": "^8.0.0", "cancelable-promise": "^4.3.1", "clipboard": "^2.0.11", "color": "^5.0.2", "core-js": "^3.45.0", "crypto-browserify": "^3.12.1", "davclient.js": "nextcloud-deps/davclient.js#59d7777d7fe290c5f1fd74a58e7eb529b63e153d", "debounce": "^2.2.0", "dompurify": "^3.2.7", "escape-html": "^1.0.3", "focus-trap": "^7.6.5", "handlebars": "^4.7.8", "is-svg": "^6.1.0", "jquery": "~3.7", "jquery-ui": "1.14.1", "jquery-ui-dist": "^1.13.3", "libphonenumber-js": "^1.12.23", "lodash": "^4.17.21", "marked": "^16.3.0", "moment": "^2.30.1", "moment-timezone": "^0.6.0", "p-limit": "^7.1.1", "p-queue": "^8.1.0", "path": "^0.12.7", "pinia": "^2.3.1", "query-string": "^9.3.1", "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.2", "underscore": "1.13.7", "url-search-params-polyfill": "^8.2.5", "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.3", "vue-infinite-loading": "^2.4.5", "vue-localstorage": "^0.6.2", "vue-material-design-icons": "^5.3.1", "vue-router": "^3.6.5", "vuedraggable": "^2.24.3", "vuex": "^3.6.2", "vuex-router-sync": "^5.0.0", "webdav": "^5.8.0" }, "devDependencies": { "@babel/node": "^7.28.0", "@babel/plugin-transform-private-methods": "^7.27.1", "@babel/preset-typescript": "^7.27.1", "@codecov/webpack-plugin": "^1.9.1", "@cypress/vue2": "^2.1.1", "@cypress/webpack-preprocessor": "^7.0.0", "@nextcloud/babel-config": "^1.2.0", "@nextcloud/cypress": "^1.0.0-beta.15", "@nextcloud/eslint-config": "^9.0.0-rc.5", "@nextcloud/stylelint-config": "^3.1.0", "@nextcloud/typings": "^1.9.1", "@nextcloud/webpack-vue-config": "^6.3.0", "@pinia/testing": "^0.1.7", "@testing-library/cypress": "^10.1.0", "@testing-library/jest-dom": "^6.6.4", "@testing-library/user-event": "^14.6.1", "@testing-library/vue": "^5.8.3", "@types/dockerode": "^3.3.44", "@types/wait-on": "^5.3.4", "@vitejs/plugin-vue2": "^2.3.3", "@vitest/coverage-v8": "^3.2.4", "@vue/test-utils": "^1.3.5", "@vue/tsconfig": "^0.5.1", "@zip.js/zip.js": "^2.8.6", "babel-loader-exclude-node-modules-except": "^1.2.1", "babel-plugin-module-resolver": "^5.0.2", "colord": "^2.9.3", "cypress": "^13.17.0", "cypress-axe": "^1.7.0", "cypress-delete-downloads-folder": "^0.0.6", "cypress-if": "^1.13.2", "cypress-split": "^1.24.23", "cypress-wait-until": "^3.0.2", "dockerode": "^4.0.8", "eslint": "^9.36.0", "eslint-plugin-cypress": "^5.1.1", "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", "jsdom": "^27.0.0", "karma": "^6.4.4", "karma-chrome-launcher": "^3.2.0", "karma-coverage": "2.2.1", "karma-jasmine": "^1.1.2", "karma-jasmine-sinon": "^1.0.4", "karma-spec-reporter": "^0.0.36", "karma-viewport": "^1.0.9", "mime": "^4.1.0", "msw": "^2.11.3", "puppeteer": "^24.22.3", "raw-loader": "^4.0.2", "regextras": "^0.8.0", "sass": "^1.93.2", "sinon": "<= 5.0.7", "stylelint": "^16.24.0", "stylelint-use-logical": "^2.1.2", "tar": "^7.5.1", "ts-node": "^10.9.2", "tslib": "^2.8.1", "typescript": "^5.9.2", "vitest": "^3.2.4", "vue-loader": "^15.11.1", "vue-template-compiler": "^2.7.16", "wait-on": "^8.0.4", "webpack": "^5.101.2", "webpack-cli": "^6.0.1", "webpack-merge": "^6.0.1", "workbox-webpack-plugin": "^7.3.0" }, "engines": { "node": "^22.0.0", "npm": "^10.5.0" } }