/
package.json
171 lines (171 loc) · 5.67 KB
/
package.json
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
{
"private": true,
"engines": {
"node": "20",
"npm": "9 || 10"
},
"dependencies": {
"@godaddy/terminus": "^4.12.1",
"@hapi/address": "^5.1.1",
"@js-temporal/polyfill": "^0.4.4",
"@keyv/redis": "^2.8.5",
"anonymus": "^2.1.3",
"cacache": "^18.0.3",
"capital-case": "^1.0.4",
"clock-ts": "^0.1.2",
"cloudinary": "^2.2.0",
"connect-slashes": "^1.4.0",
"cookie": "^0.6.0",
"cookie-signature": "^1.2.1",
"crossref-ts": "^0.1.5",
"datacite-ts": "^0.1.4",
"doi-ts": "^0.1.9",
"express": "^4.19.2",
"fetch-fp-ts": "^0.1.6",
"fp-ts": "^2.16.6",
"fp-ts-routing": "^0.6.0",
"helmet": "^7.1.0",
"html-entities": "^2.5.2",
"http-errors": "^2.0.0",
"http-proxy-middleware": "^3.0.0",
"hyper-ts": "^0.7.9",
"hyper-ts-oauth": "^0.1.1",
"hyper-ts-routing": "^0.1.1",
"hyper-ts-session": "^0.3.0",
"io-ts": "^2.2.21",
"ioredis": "^5.4.1",
"iso-639-1": "^3.1.2",
"iso-639-3": "^2.2.0",
"katex": "^0.16.10",
"keyv": "^4.5.4",
"logger-fp-ts": "^0.2.2",
"logging-ts": "^0.3.4",
"make-fetch-happen": "^13.0.1",
"markdown-it": "^14.1.0",
"mjml": "^4.15.3",
"multer": "^1.4.5-lts.1",
"nanohtml": "^1.10.0",
"nodemailer": "^6.9.13",
"orcid-id-ts": "^0.1.2",
"rtl-detect": "^1.1.2",
"safe-stable-stringify": "^2.4.3",
"sanitize-html": "^2.13.0",
"spectacles-ts": "^1.0.7",
"striptags": "^3.2.0",
"text-clipper": "^2.2.0",
"tinyld": "^1.3.4",
"ts-pattern": "^5.1.1",
"turndown": "^7.1.3",
"uuid-ts": "^0.1.0",
"zenodo-ts": "^0.1.20"
},
"devDependencies": {
"@babel/preset-env": "^7.24.5",
"@babel/preset-typescript": "^7.24.1",
"@csstools/postcss-global-data": "^2.1.1",
"@csstools/stylelint-no-at-nest-rule": "^1.0.0",
"@fast-check/jest": "^1.8.1",
"@ibm/plex": "^6.4.1",
"@open-wc/testing": "^4.0.0",
"@playwright/test": "^1.42.1",
"@prettier/plugin-xml": "^3.4.1",
"@rollup/plugin-url": "^8.0.2",
"@tiptap/core": "^2.4.0",
"@tiptap/extension-link": "^2.4.0",
"@tiptap/extension-subscript": "^2.4.0",
"@tiptap/extension-superscript": "^2.4.0",
"@tiptap/extension-typography": "^2.4.0",
"@tiptap/starter-kit": "^2.4.0",
"@trivago/prettier-plugin-sort-imports": "^4.3.0",
"@tsconfig/node20": "^20.1.4",
"@types/cacache": "^17.0.2",
"@types/connect-slashes": "^0.0.36",
"@types/cookie": "^0.6.0",
"@types/cookie-signature": "^1.1.2",
"@types/express": "^4.17.21",
"@types/http-errors": "^2.0.4",
"@types/katex": "^0.16.7",
"@types/make-fetch-happen": "^10.0.4",
"@types/markdown-it": "^14.1.1",
"@types/mjml": "^4.7.4",
"@types/mocha": "^10.0.6",
"@types/multer": "^1.4.11",
"@types/node": "^20.8.10",
"@types/nodemailer": "^6.4.15",
"@types/rtl-detect": "^1.0.3",
"@types/sanitize-html": "^2.11.0",
"@types/turndown": "^5.0.4",
"@typescript-eslint/eslint-plugin": "^7.9.0",
"@typescript-eslint/parser": "^7.9.0",
"@web/dev-server-esbuild": "^1.0.2",
"@web/dev-server-rollup": "^0.6.3",
"@web/test-runner": "^0.18.2",
"@web/test-runner-commands": "^0.9.0",
"@web/test-runner-playwright": "^0.11.0",
"babel-loader": "^9.1.3",
"cdigit": "^3.2.1",
"cookie-signature": "^1.2.1",
"css-loader": "^7.1.1",
"css-minimizer-webpack-plugin": "^7.0.0",
"del-cli": "^5.1.0",
"dotenv": "^16.4.5",
"eslint": "^8.57.0",
"eslint-config-prettier": "^9.1.0",
"eslint-import-resolver-typescript": "^3.6.1",
"eslint-plugin-fp-ts": "^0.3.2",
"eslint-plugin-import": "^2.29.1",
"eslint-plugin-no-comments": "^1.1.10",
"eslint-plugin-wc": "^2.1.0",
"fetch-mock": "^9.11.0",
"fp-ts-contrib": "^0.1.29",
"glob": "^10.3.15",
"image-minimizer-webpack-plugin": "^4.0.0",
"imagemin": "^8.0.1",
"imagemin-svgo": "^10.0.1",
"it-all": "^1.0.6",
"jest": "^29.7.0",
"mini-css-extract-plugin": "^2.9.0",
"node-mocks-http": "^1.14.1",
"npm-run-all": "^4.1.5",
"oauth2-mock-server": "^7.1.1",
"postcss": "^8.4.38",
"postcss-font-display": "^0.3.0",
"postcss-loader": "^8.1.1",
"postcss-preset-env": "^9.5.13",
"prettier": "^3.2.5",
"prettier-plugin-sh": "^0.14.0",
"prettier-plugin-toml": "^2.0.1",
"purgecss-webpack-plugin": "^6.0.0",
"remixicon": "^4.2.0",
"stylelint": "^15.11.0",
"stylelint-config-property-sort-order-smacss": "^10.0.0",
"stylelint-config-standard": "^34.0.0",
"stylelint-use-logical-spec": "^5.0.1",
"ts-deepmerge": "^7.0.0",
"ts-jest": "^29.1.2",
"ts-node-dev": "^2.0.0",
"typescript": "^5.4.5",
"wait-on": "^7.2.0",
"webpack": "^5.91.0",
"webpack-cli": "^5.1.4",
"webpack-manifest-plugin": "^5.0.0",
"webpack-remove-empty-scripts": "^1.0.4"
},
"scripts": {
"prebuild": "del dist src/manifest.json",
"build": "run-p build:*",
"build:app": "wait-on src/manifest.json && tsc --project tsconfig.build.json",
"build:assets": "webpack build --mode production",
"format": "prettier --ignore-unknown --check '**'",
"format:fix": "npm run format -- --write",
"lint": "run-p --aggregate-output lint:*",
"lint:css": "stylelint '**/*.css'",
"lint:ts": "eslint . --max-warnings 0",
"start": "run-p start:*",
"start:app": "wait-on src/manifest.json && ts-node-dev --require dotenv/config --watch .env --transpile-only src/index.ts",
"start:assets": "webpack watch --mode development",
"test": "jest",
"test:integration": "docker run --rm --volume \"$(pwd)\"/integration/snapshots:/app/integration/snapshots --volume \"$(pwd)\"/integration-results:/app/integration-results",
"typecheck": "tsc --noEmit"
}
}