{
  "name": "lemmy-ui",
  "description": "An isomorphic UI for lemmy",
  "version": "0.19.6-beta.14",
  "author": "Dessalines <tyhou13@gmx.com>",
  "license": "AGPL-3.0",
  "scripts": {
    "analyze": "webpack --mode=none",
    "build:dev": "webpack --env COMMIT_HASH=$(git rev-parse --short HEAD) --mode=development",
    "build:prod": "webpack --env COMMIT_HASH=$(git rev-parse --short HEAD) --mode=production",
    "clean": "pnpm rimraf dist",
    "dev": "node generate_translations.js && pnpm build:dev --watch",
    "lint": "pnpm translations:generate && tsc --noEmit && pnpm eslint --report-unused-disable-directives && pnpm prettier --check \"src/**/*.{ts,tsx,js,mjs,css,scss}\"",
    "prebuild:dev": "pnpm clean && node generate_translations.js",
    "prebuild:prod": "pnpm clean && node generate_translations.js",
    "prepare": "husky",
    "themes:build": "sass src/assets/css/themes/:src/assets/css/themes",
    "themes:watch": "sass --watch src/assets/css/themes/:src/assets/css/themes",
    "translations:generate": "node generate_translations.js",
    "translations:init": "git submodule init && pnpm translations:update",
    "translations:update": "git submodule update --remote --recursive"
  },
  "repository": "https://github.com/LemmyNet/lemmy-ui",
  "engines": {
    "node": ">=8.9.0"
  },
  "dependencies": {
    "@babel/plugin-proposal-decorators": "^7.24.7",
    "@babel/plugin-transform-class-properties": "^7.25.4",
    "@babel/plugin-transform-runtime": "^7.25.4",
    "@babel/plugin-transform-typescript": "^7.25.2",
    "@babel/preset-env": "^7.25.4",
    "@babel/preset-typescript": "^7.24.7",
    "@babel/runtime": "^7.25.4",
    "@emoji-mart/data": "^1.2.1",
    "autosize": "^6.0.1",
    "babel-loader": "^9.1.3",
    "babel-plugin-inferno": "^6.7.1",
    "bootstrap": "^5.3.3",
    "check-password-strength": "^2.0.10",
    "classnames": "^2.5.1",
    "clean-webpack-plugin": "^4.0.0",
    "cookie": "^1.0.0",
    "cookie-parser": "^1.4.6",
    "copy-webpack-plugin": "^12.0.2",
    "css-loader": "^7.1.2",
    "date-fns": "^4.0.0",
    "emoji-mart": "^5.6.0",
    "emoji-short-name": "^2.0.0",
    "express": "~4.21.0",
    "highlight.js": "^11.10.0",
    "history": "^5.3.0",
    "html-to-text": "^9.0.5",
    "i18next": "^23.14.0",
    "inferno": "^8.2.3",
    "inferno-create-element": "^8.2.3",
    "inferno-helmet": "^5.2.1",
    "inferno-hydrate": "^8.2.3",
    "inferno-i18next-dess": "0.0.2",
    "inferno-router": "^8.2.3",
    "inferno-server": "^8.2.3",
    "jwt-decode": "^4.0.0",
    "lemmy-js-client": "0.20.0-alpha.17",
    "lodash.isequal": "^4.5.0",
    "markdown-it": "^14.1.0",
    "markdown-it-bidi": "^0.2.0",
    "markdown-it-container": "^4.0.0",
    "markdown-it-emoji": "^3.0.0",
    "markdown-it-footnote": "^4.0.0",
    "markdown-it-highlightjs": "^4.1.0",
    "markdown-it-html5-embed": "^1.0.0",
    "markdown-it-ruby": "^1.0.0",
    "markdown-it-sub": "^2.0.0",
    "markdown-it-sup": "^2.0.0",
    "mini-css-extract-plugin": "^2.9.1",
    "qreator": "^9.3.0",
    "register-service-worker": "^1.7.2",
    "run-node-webpack-plugin": "^1.3.0",
    "rxjs": "^7.8.1",
    "sanitize-html": "^2.13.0",
    "sass": "^1.77.8",
    "sass-loader": "^16.0.1",
    "serialize-javascript": "^6.0.2",
    "service-worker-webpack": "^1.0.0",
    "sharp": "0.33.5",
    "tippy.js": "^6.3.7",
    "toastify-js": "^1.12.0",
    "tributejs": "^5.1.3",
    "webpack": "^5.94.0",
    "webpack-cli": "^6.0.0",
    "webpack-node-externals": "^3.0.0"
  },
  "devDependencies": {
    "@babel/core": "^7.25.2",
    "@eslint/js": "^9.9.1",
    "@types/autosize": "^4.0.3",
    "@types/bootstrap": "^5.2.10",
    "@types/cookie": "^1.0.0",
    "@types/cookie-parser": "^1.4.7",
    "@types/express": "^4.17.21",
    "@types/html-to-text": "^9.0.4",
    "@types/lodash.isequal": "^4.5.8",
    "@types/markdown-it": "^14.1.2",
    "@types/markdown-it-container": "^2.0.10",
    "@types/node": "^22.5.0",
    "@types/path-browserify": "^1.0.3",
    "@types/sanitize-html": "^2.13.0",
    "@types/serialize-javascript": "^5.0.4",
    "@types/toastify-js": "^1.12.3",
    "@typescript-eslint/eslint-plugin": "^8.3.0",
    "@typescript-eslint/parser": "^8.3.0",
    "eslint": "^9.9.1",
    "eslint-config-prettier": "^9.1.0",
    "eslint-plugin-inferno": "^7.34.0",
    "eslint-plugin-jsx-a11y": "^6.9.0",
    "eslint-plugin-prettier": "^5.2.1",
    "globals": "^15.9.0",
    "husky": "^9.1.5",
    "import-sort-style-module": "^6.0.0",
    "lint-staged": "^15.2.9",
    "prettier": "^3.4.2",
    "prettier-plugin-import-sort": "^0.0.7",
    "prettier-plugin-organize-imports": "^4.0.0",
    "prettier-plugin-packagejson": "^2.5.2",
    "qs": "^6.13.0",
    "rimraf": "^6.0.1",
    "sortpack": "^2.4.0",
    "style-loader": "^4.0.0",
    "terser": "^5.31.6",
    "typescript": "^5.5.4",
    "typescript-eslint": "^8.3.0",
    "typescript-language-server": "^4.3.3",
    "webpack-bundle-analyzer": "^4.10.2",
    "webpack-dev-server": "5.2.0"
  },
  "lint-staged": {
    "*.{css, scss}": [
      "prettier --write"
    ],
    "*.{ts,tsx,js}": [
      "prettier --write",
      "eslint --fix"
    ],
    "package.json": [
      "sortpack"
    ]
  },
  "packageManager": "pnpm@9.15.2+sha512.93e57b0126f0df74ce6bff29680394c0ba54ec47246b9cf321f0121d8d9bb03f750a705f24edc3c1180853afd7c2c3b94196d0a3d53d3e069d9e2793ef11f321",
  "engineStrict": true,
  "importSort": {
    ".js, .jsx, .ts, .tsx": {
      "style": "module",
      "parser": "typescript"
    }
  }
}