{ "name": "nextcloud-news", "description": "An RSS/Atom feed reader", "main": "js/nextcloud-news-main.js", "scripts": { "prebuild": "npm ci", "build": "NODE_ENV=production webpack --progress --config webpack.js", "dev": "NODE_ENV=development webpack --progress --config webpack.js", "watch": "NODE_ENV=development webpack --progress --watch --config webpack.js", "lint": "eslint --ext .js,.vue,.ts src", "lint:fix": "eslint --ext .js,.vue,.ts src --fix", "stylelint": "stylelint **/*.css **/*.scss **/*.vue", "stylelint:fix": "stylelint **/*.css **/*.scss **/*.vue --fix", "test": "jest --verbose", "serve": "webpack --node-env development serve --progress", "sass": "sass css", "sass:watch": "sass --watch css" }, "repository": { "type": "git", "url": "https://github.com/nextcloud/news" }, "keywords": [ "rss", "atom", "feed", "reader", "nextcloud", "app" ], "author": "Benjamin Brahmer", "license": "AGPL-3.0", "bugs": { "url": "https://github.com/nextcloud/news/issues" }, "engines": { "node": "^20.0.0", "npm": "^10.0.0" }, "resolutions": { "natives": "1.1.3" }, "private": true, "homepage": "https://github.com/nextcloud/news", "dependencies": { "@nextcloud/auth": "^2.0.0", "@nextcloud/axios": "^2.4.0", "@nextcloud/dialogs": "^4.2.2", "@nextcloud/initial-state": "^2.0.0", "@nextcloud/l10n": "^2.2.0", "@nextcloud/moment": "^1.3.1", "@nextcloud/password-confirmation": "^4.1.0", "@nextcloud/router": "^2.0.0", "@nextcloud/vue": "^7.8.0", "@vue/vue2-jest": "^29.2.6", "lodash": "^4.17.21", "vue": "^2.7.16", "vue-router": "^3.5.3", "vuex": "^3.6.2" }, "browserslist": [ "extends @nextcloud/browserslist-config" ], "devDependencies": { "@babel/core": "^7.23.7", "@babel/plugin-syntax-dynamic-import": "^7.8.3", "@babel/preset-env": "^7.23.8", "@babel/preset-typescript": "^7.23.3", "@nextcloud/babel-config": "^1.0.0", "@nextcloud/browserslist-config": "^3.0.0", "@nextcloud/eslint-config": "^8.0.0", "@nextcloud/eslint-plugin": "^2.0.0", "@nextcloud/password-confirmation": "^4.1.0", "@nextcloud/stylelint-config": "^2.1.2", "@nextcloud/webpack-vue-config": "^5.1.0", "@types/jest": "^29.5.11", "@types/lodash": "^4.14.202", "@types/webpack-env": "^1.18.4", "@typescript-eslint/eslint-plugin": "^5.27.1", "@typescript-eslint/parser": "^5.27.1", "@vue/eslint-config-standard": "^8.0.1", "@vue/eslint-config-typescript": "^11.0.3", "@vue/test-utils": "^1.3.0", "axios": "^1.6.5", "babel-core": "^7.0.0-0", "babel-loader": "^9.0.0", "babel-plugin-dynamic-import-node": "^2.3.3", "debounce": "^2.0.0", "emoji-mart-vue-fast": "^15.0.0", "eslint": "^8.56.0", "eslint-config-standard": "^17.0.0", "eslint-import-resolver-webpack": "^0.13.8", "eslint-plugin-import": "^2.29.1", "eslint-plugin-jsdoc": "^39.2.1", "eslint-plugin-node": "^11.1.0", "eslint-plugin-promise": "^6.0.0", "eslint-plugin-standard": "^5.0.0", "eslint-plugin-vue": "^9.20.1", "eslint-webpack-plugin": "^4.0.1", "focus-trap": "^7.5.4", "hammerjs": "^2.0.8", "ical.js": "^1.5.0", "jest": "^29.7.0", "jest-environment-jsdom": "^29.7.0", "jest-serializer-vue": "^3.1.0", "jsesc": "^3.0.2", "md5": "^2.3.0", "node-gettext": "^3.0.0", "node-polyfill-webpack-plugin": "^2.0.1", "regenerator-runtime": "^0.14.1", "regenerator-transform": "^0.15.2", "regexpu-core": "^6.0.0", "splitpanes": "^3.1.5", "string-length": "^6.0.0", "striptags": "^3.2.0", "stylelint": "^15.11.0", "stylelint-config-recommended-scss": "^12.0.0", "stylelint-config-recommended-vue": "^1.4.0", "stylelint-webpack-plugin": "^4.1.1", "terser-webpack-plugin": "^5.3.10", "tributejs": "^5.1.3", "ts-jest": "^29.0.3", "ts-loader": "^9.5.1", "typescript": "^4.7.2", "v-click-outside": "^3.2.0", "vue-color": "^2.8.1", "vue-eslint-parser": "^9.4.2", "vue-loader": "^15.10.1", "vue-material-design-icons": "^5.1.2", "vue-multiselect": "^2.1.8", "vue-template-compiler": "^2.7.16", "vue2-datepicker": "^3.11.0", "webpack": "^5.89.0", "webpack-cli": "^5.0.0", "webpack-merge": "^5.10.0" }, "jest": { "preset": "ts-jest", "moduleFileExtensions": [ "js", "vue", "ts" ], "moduleNameMapper": { "^@/(.*)$": "/src/$1", "^Components/(.*)$": "/src/components/$1", "^.+\\.(css|less|svg)$": "/tests/javascript/helpers/CSSStub.js" }, "testEnvironment": "jsdom", "transform": { ".*\\.(vue)$": "@vue/vue2-jest", "^.+\\.ts?$": "ts-jest" }, "transformIgnorePatterns": [ "/node_modules/(?!(@nextcloud)|(vue-material-design-icons))", "/node_modules/@nextcloud/password-confirmation" ], "snapshotSerializers": [ "jest-serializer-vue" ], "setupFilesAfterEnv": [ "./tests/javascript/unit/setup.ts" ], "coverageDirectory": "./coverage/", "collectCoverage": false, "collectCoverageFrom": [ "/src/**/*.{js,vue,ts}", "!**/node_modules/**" ], "coverageReporters": [ "json", "text", "html", "lcov", "clover" ] } }