summaryrefslogtreecommitdiffstats
path: root/package.json
blob: 224fd0ad114652a9f0b9b987ccf7f807a12fee22 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
{
  "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": {
      "^@/(.*)$": "<rootDir>/src/$1",
      "^Components/(.*)$": "<rootDir>/src/components/$1",
      "^.+\\.(css|less|svg)$": "<rootDir>/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": [
      "<rootDir>/src/**/*.{js,vue,ts}",
      "!**/node_modules/**"
    ],
    "coverageReporters": [
      "json",
      "text",
      "html",
      "lcov",
      "clover"
    ]
  }
}