lemmy-ui/package.json
matc-pub 201e5fcd53
Lazy loading less common languages for syntax highlighting (#2388)
* Use fewer syntax highlighter languages.

Reduces client.js size by about 250kB (800kB uncompressed)

Common languages:
bash, c, cpp, csharp, css, diff, go, graphql, ini, java, javascript,
json, kotlin, less, lua, makefile, markdown, objectivec, perl,
php-template, php, plaintext, python-repl, python, r, ruby, rust, scss,
shell, sql, swift, typescript, vbnet, wasm, xml, yaml

Additionally enabled languages:
dockerfile, pgsql

* Configurable syntax highlighter languages

Allows to individually enable languages.

* Lazy load syntax highlighter languages

Allows to enable additional languages that will not be autodetected.

* Include highlight.js in dynamic import check
2024-03-14 08:31:07 -04:00

151 lines
5 KiB
JSON

{
"name": "lemmy-ui",
"description": "An isomorphic UI for lemmy",
"version": "0.19.3",
"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": "pnpm build:dev --watch",
"lint": "pnpm translations:generate && tsc --noEmit && eslint --report-unused-disable-directives --ext .js,.ts,.tsx \"src/**\" && prettier --check \"src/**/*.{ts,tsx,js,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.23.9",
"@babel/plugin-transform-class-properties": "^7.23.3",
"@babel/plugin-transform-runtime": "^7.23.9",
"@babel/plugin-transform-typescript": "^7.23.6",
"@babel/preset-env": "^7.23.9",
"@babel/preset-typescript": "^7.23.3",
"@babel/runtime": "^7.23.9",
"@emoji-mart/data": "^1.1.2",
"@shortcm/qr-image": "^9.0.4",
"autosize": "^6.0.1",
"babel-loader": "^9.1.3",
"babel-plugin-inferno": "^6.7.1",
"bootstrap": "^5.3.3",
"check-password-strength": "^2.0.7",
"classnames": "^2.5.1",
"clean-webpack-plugin": "^4.0.0",
"cookie": "^0.6.0",
"copy-webpack-plugin": "^12.0.2",
"css-loader": "^6.10.0",
"date-fns": "^3.3.1",
"emoji-mart": "^5.5.2",
"emoji-short-name": "^2.0.0",
"express": "~4.18.2",
"highlight.js": "^11.9.0",
"history": "^5.3.0",
"html-to-text": "^9.0.5",
"i18next": "^23.10.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.19.4-alpha.4",
"lodash.isequal": "^4.5.0",
"markdown-it": "^14.0.0",
"markdown-it-bidi": "^0.1.0",
"markdown-it-container": "^4.0.0",
"markdown-it-emoji": "^3.0.0",
"markdown-it-footnote": "^4.0.0",
"markdown-it-highlightjs": "^4.0.1",
"markdown-it-html5-embed": "^1.0.0",
"markdown-it-ruby": "^0.1.1",
"markdown-it-sub": "^2.0.0",
"markdown-it-sup": "^2.0.0",
"mini-css-extract-plugin": "^2.8.0",
"register-service-worker": "^1.7.2",
"run-node-webpack-plugin": "^1.3.0",
"rxjs": "^7.8.1",
"sanitize-html": "^2.12.1",
"sass": "^1.71.1",
"sass-loader": "^14.1.1",
"serialize-javascript": "^6.0.2",
"service-worker-webpack": "^1.0.0",
"sharp": "0.33.2",
"tippy.js": "^6.3.7",
"toastify-js": "^1.12.0",
"tributejs": "^5.1.3",
"webpack": "^5.90.3",
"webpack-cli": "^5.1.4",
"webpack-node-externals": "^3.0.0"
},
"devDependencies": {
"@babel/core": "^7.23.9",
"@types/autosize": "^4.0.3",
"@types/bootstrap": "^5.2.10",
"@types/cookie": "^0.6.0",
"@types/express": "^4.17.21",
"@types/html-to-text": "^9.0.4",
"@types/lodash.isequal": "^4.5.8",
"@types/markdown-it": "^13.0.7",
"@types/markdown-it-container": "^2.0.9",
"@types/node": "^20.11.20",
"@types/path-browserify": "^1.0.2",
"@types/sanitize-html": "^2.11.0",
"@types/serialize-javascript": "^5.0.4",
"@types/toastify-js": "^1.12.3",
"@typescript-eslint/eslint-plugin": "^7.1.0",
"@typescript-eslint/parser": "^7.1.0",
"eslint": "^8.57.0",
"eslint-plugin-inferno": "^7.33.3",
"eslint-plugin-jsx-a11y": "^6.8.0",
"eslint-plugin-prettier": "^5.1.3",
"husky": "^9.0.11",
"import-sort-style-module": "^6.0.0",
"lint-staged": "^15.2.2",
"prettier": "^3.2.5",
"prettier-plugin-import-sort": "^0.0.7",
"prettier-plugin-organize-imports": "^3.2.4",
"prettier-plugin-packagejson": "^2.4.12",
"qs": "^6.11.2",
"rimraf": "^5.0.5",
"sortpack": "^2.4.0",
"style-loader": "^3.3.4",
"terser": "^5.28.1",
"typescript": "^5.3.3",
"typescript-language-server": "^4.3.3",
"webpack-bundle-analyzer": "^4.10.1",
"webpack-dev-server": "5.0.2"
},
"lint-staged": {
"*.{css, scss}": [
"prettier --write"
],
"*.{ts,tsx,js}": [
"prettier --write",
"eslint --fix"
],
"package.json": [
"sortpack"
]
},
"packageManager": "pnpm@8.14.3",
"engineStrict": true,
"importSort": {
".js, .jsx, .ts, .tsx": {
"style": "module",
"parser": "typescript"
}
}
}