1{
2 "name": "lemmy-ui",
3 "description": "An isomorphic UI for lemmy",
4 "version": "0.17.2",
5 "author": "Dessalines <tyhou13@gmx.com>",
6 "license": "AGPL-3.0",
7 "scripts": {
8 "build:dev": "webpack --mode=development",
9 "build:prod": "webpack --mode=production",
10 "clean": "yarn run rimraf dist",
11 "dev": "yarn start",
12 "lint": "node generate_translations.js && tsc --noEmit && eslint --report-unused-disable-directives --ext .js,.ts,.tsx src && prettier --check 'src/**/*.tsx'",
13 "prebuild:dev": "yarn clean && node generate_translations.js",
14 "prebuild:prod": "yarn clean && node generate_translations.js",
15 "prepare": "husky install",
16 "start": "yarn build:dev --watch"
17 },
18 "repository": "https://github.com/LemmyNet/lemmy-ui",
19 "dependencies": {
20 "@babel/plugin-proposal-decorators": "^7.21.0",
21 "@babel/plugin-transform-runtime": "^7.21.0",
22 "@babel/plugin-transform-typescript": "^7.21.0",
23 "@babel/preset-env": "7.20.2",
24 "@babel/preset-typescript": "^7.21.0",
25 "@babel/runtime": "^7.21.0",
26 "autosize": "^6.0.1",
27 "babel-loader": "^9.1.2",
28 "babel-plugin-inferno": "^6.6.0",
29 "check-password-strength": "^2.0.7",
30 "choices.js": "^10.2.0",
31 "classnames": "^2.3.1",
32 "clean-webpack-plugin": "^4.0.0",
33 "copy-webpack-plugin": "^11.0.0",
34 "css-loader": "^6.7.3",
35 "emoji-short-name": "^2.0.0",
36 "express": "~4.18.2",
37 "html-to-text": "^9.0.4",
38 "i18next": "^22.4.10",
39 "inferno": "^8.0.6",
40 "inferno-create-element": "^8.0.6",
41 "inferno-helmet": "^5.2.1",
42 "inferno-hydrate": "^8.0.6",
43 "inferno-i18next-dess": "0.0.2",
44 "inferno-router": "^8.0.6",
45 "inferno-server": "^8.0.6",
46 "isomorphic-cookie": "^1.2.4",
47 "jwt-decode": "^3.1.2",
48 "lemmy-js-client": "0.17.2-rc.1",
49 "markdown-it": "^13.0.1",
50 "markdown-it-container": "^3.0.0",
51 "markdown-it-footnote": "^3.0.3",
52 "markdown-it-html5-embed": "^1.0.0",
53 "markdown-it-sub": "^1.0.0",
54 "markdown-it-sup": "^1.0.0",
55 "mini-css-extract-plugin": "^2.7.2",
56 "moment": "^2.29.4",
57 "node-fetch": "^2.6.1",
58 "register-service-worker": "^1.7.2",
59 "run-node-webpack-plugin": "^1.3.0",
60 "rxjs": "^7.8.0",
61 "sanitize-html": "^2.10.0",
62 "sass": "^1.58.3",
63 "sass-loader": "^13.2.0",
64 "serialize-javascript": "^6.0.1",
65 "tippy.js": "^6.3.7",
66 "toastify-js": "^1.12.0",
67 "tributejs": "^5.1.3",
68 "webpack": "5.75.0",
69 "webpack-cli": "^5.0.1",
70 "webpack-node-externals": "^3.0.0",
71 "websocket-ts": "^1.1.1"
72 },
73 "devDependencies": {
74 "@babel/core": "^7.21.0",
75 "@types/autosize": "^4.0.0",
76 "@types/express": "^4.17.17",
77 "@types/html-to-text": "^9.0.0",
78 "@types/markdown-it": "^12.2.3",
79 "@types/markdown-it-container": "^2.0.5",
80 "@types/node": "^18.14.0",
81 "@types/node-fetch": "^2.6.2",
82 "@types/sanitize-html": "^2.8.0",
83 "@types/serialize-javascript": "^5.0.1",
84 "@types/toastify-js": "^1.11.1",
85 "@typescript-eslint/eslint-plugin": "^5.53.0",
86 "@typescript-eslint/parser": "^5.53.0",
87 "bootstrap": "^5.2.3",
88 "bootswatch": "^5.2.3",
89 "eslint": "^8.34.0",
90 "eslint-plugin-inferno": "^7.32.1",
91 "eslint-plugin-prettier": "^4.2.1",
92 "husky": "^8.0.3",
93 "import-sort-style-module": "^6.0.0",
94 "lint-staged": "^13.1.2",
95 "prettier": "^2.8.4",
96 "prettier-plugin-import-sort": "^0.0.7",
97 "prettier-plugin-organize-imports": "^3.2.2",
98 "prettier-plugin-packagejson": "^2.4.3",
99 "rimraf": "^4.1.2",
100 "sortpack": "^2.3.3",
101 "style-loader": "^3.3.1",
102 "terser": "^5.16.4",
103 "typescript": "^4.9.5",
104 "webpack-dev-server": "4.11.1"
105 },
106 "engines": {
107 "node": ">=8.9.0"
108 },
109 "engineStrict": true,
110 "lint-staged": {
111 "*.{ts,tsx,js}": [
112 "prettier --write",
113 "eslint --fix"
114 ],
115 "package.json": [
116 "sortpack"
117 ]
118 },
119 "importSort": {
120 ".js, .jsx, .ts, .tsx": {
121 "style": "module",
122 "parser": "typescript"
123 }
124 }
125}