4 "description": "An isomorphic UI for lemmy",
5 "repository": "https://github.com/LemmyNet/lemmy-ui",
7 "author": "Dessalines <tyhou13@gmx.com>",
9 "prebuild:dev": "yarn clean && node generate_translations.js",
10 "build:dev": "webpack --mode=development",
11 "prebuild:prod": "yarn clean && node generate_translations.js",
12 "build:prod": "webpack --mode=production",
13 "clean": "yarn run rimraf dist",
15 "lint": "node generate_translations.js && tsc --noEmit && eslint --report-unused-disable-directives --ext .js,.ts,.tsx src && prettier --check 'src/**/*.tsx'",
16 "prepare": "husky install",
17 "start": "yarn build:dev --watch"
29 "@babel/plugin-proposal-decorators": "^7.21.0",
30 "@babel/plugin-transform-runtime": "^7.21.0",
31 "@babel/plugin-transform-typescript": "^7.21.0",
32 "@babel/preset-env": "7.20.2",
33 "@babel/preset-typescript": "^7.21.0",
34 "@babel/runtime": "^7.21.0",
35 "@emoji-mart/data": "^1.1.0",
37 "babel-loader": "^9.1.2",
38 "babel-plugin-inferno": "^6.6.0",
39 "check-password-strength": "^2.0.7",
40 "choices.js": "^10.2.0",
41 "classnames": "^2.3.1",
42 "clean-webpack-plugin": "^4.0.0",
43 "copy-webpack-plugin": "^11.0.0",
44 "css-loader": "^6.7.3",
45 "emoji-mart": "^5.4.0",
46 "emoji-short-name": "^2.0.0",
48 "html-to-text": "^9.0.4",
49 "i18next": "^22.4.10",
51 "inferno-create-element": "^8.0.6",
52 "inferno-helmet": "^5.2.1",
53 "inferno-hydrate": "^8.0.6",
54 "inferno-i18next-dess": "0.0.2",
55 "inferno-router": "^8.0.6",
56 "inferno-server": "^8.0.6",
57 "isomorphic-cookie": "^1.2.4",
58 "jwt-decode": "^3.1.2",
59 "lemmy-js-client": "0.17.2-rc.5",
60 "markdown-it": "^13.0.1",
61 "markdown-it-container": "^3.0.0",
62 "markdown-it-emoji": "^2.0.2",
63 "markdown-it-footnote": "^3.0.3",
64 "markdown-it-html5-embed": "^1.0.0",
65 "markdown-it-sub": "^1.0.0",
66 "markdown-it-sup": "^1.0.0",
67 "mini-css-extract-plugin": "^2.7.2",
69 "node-fetch": "^2.6.1",
70 "register-service-worker": "^1.7.2",
71 "run-node-webpack-plugin": "^1.3.0",
73 "sanitize-html": "^2.10.0",
75 "sass-loader": "^13.2.0",
76 "serialize-javascript": "^6.0.1",
78 "toastify-js": "^1.12.0",
79 "tributejs": "^5.1.3",
81 "webpack-cli": "^5.0.1",
82 "webpack-node-externals": "^3.0.0",
83 "websocket-ts": "^1.1.1"
86 "@babel/core": "^7.21.0",
87 "@types/autosize": "^4.0.0",
88 "@types/express": "^4.17.17",
89 "@types/html-to-text": "^9.0.0",
90 "@types/markdown-it": "^12.2.3",
91 "@types/markdown-it-container": "^2.0.5",
92 "@types/node": "^18.14.0",
93 "@types/node-fetch": "^2.6.2",
94 "@types/sanitize-html": "^2.8.0",
95 "@types/serialize-javascript": "^5.0.1",
96 "@types/toastify-js": "^1.11.1",
97 "@typescript-eslint/eslint-plugin": "^5.53.0",
98 "@typescript-eslint/parser": "^5.53.0",
99 "bootstrap": "^5.2.3",
100 "bootswatch": "^5.2.3",
102 "eslint-plugin-inferno": "^7.32.1",
103 "eslint-plugin-prettier": "^4.2.1",
105 "import-sort-style-module": "^6.0.0",
106 "lint-staged": "^13.1.2",
107 "prettier": "^2.8.4",
108 "prettier-plugin-import-sort": "^0.0.7",
109 "prettier-plugin-organize-imports": "^3.2.2",
110 "prettier-plugin-packagejson": "^2.4.3",
112 "sortpack": "^2.3.3",
113 "style-loader": "^3.3.1",
115 "typescript": "^4.9.5",
116 "webpack-dev-server": "4.11.1"
121 "engineStrict": true,
123 ".js, .jsx, .ts, .tsx": {
125 "parser": "typescript"