thelounge/package.json
Tiago de Paula ca79426e6e
chore(deps): update Webpack to 5.105
It's possible for webpack to return `null` on errors, which wasn't
part of their TypeScript API until 5.101.0 (webpack/webpack#19711).

Updated workaround for socket.io libraries, which are implemented in
ESM now. This also specify the preferred import conditions to avoid
picking up debug files (see socketio/socket.io@7594aa4).
2026-02-11 12:14:12 -03:00

171 lines
5.4 KiB
JSON

{
"name": "thelounge",
"description": "The self-hosted Web IRC client",
"version": "4.4.3",
"preferGlobal": true,
"bin": {
"thelounge": "index.js"
},
"repository": {
"type": "git",
"url": "https://github.com/thelounge/thelounge.git"
},
"homepage": "https://thelounge.chat/",
"scripts": {
"build:client": "webpack",
"build:server": "tsc -p server/tsconfig.json",
"build": "run-p --aggregate-output build:client build:server",
"coverage": "run-s test:* && nyc --nycrc-path=test/.nycrc-report.json report",
"dev": "cross-env NODE_ENV=development ts-node --project server/tsconfig.json server/index.ts start --dev",
"format:prettier": "prettier --write \"**/*.*\"",
"generate:config:doc": "ts-node scripts/generate-config-doc.js",
"lint:check-eslint": "eslint-config-prettier .eslintrc.cjs",
"lint:eslint": "eslint . --report-unused-disable-directives --color",
"lint:prettier": "prettier --list-different \"**/*.*\"",
"lint:stylelint": "stylelint --color \"client/**/*.css\"",
"lint": "run-p --aggregate-output --continue-on-error lint:*",
"start": "node index start",
"test": "run-p --aggregate-output --continue-on-error lint:* test:mocha",
"test:mocha": "webpack --mode=development && cross-env NODE_ENV=test TS_NODE_PROJECT='./test/tsconfig.json' mocha --config=test/.mocharc.yml 'test/**/*.ts'",
"test:nospec": "webpack --mode=development && cross-env NODE_ENV=test TS_NODE_PROJECT='./test/tsconfig.json' mocha --config=test/.mocharc.yml",
"watch": "webpack --watch",
"githooks-install": "git config core.hooksPath scripts/git-hooks"
},
"keywords": [
"lounge",
"browser",
"web",
"chat",
"client",
"irc",
"server",
"thelounge"
],
"license": "MIT",
"engines": {
"node": ">=18.0.0"
},
"files": [
"./.thelounge_home",
"./index.js",
"./yarn.lock",
"./client/index.html.tpl",
"./dist/package.json",
"./dist/**/*.js",
"./public/**"
],
"dependencies": {
"@fastify/busboy": "^1.2.1",
"bcryptjs": "^3.0.3",
"chalk": "^4.1.2",
"cheerio": "~1.0.0",
"commander": "^13.1.0",
"content-disposition": "^1.0.1",
"express": "^4.21.2",
"file-type": "^16.5.4",
"filenamify": "^4.3.0",
"got": "^11.8.6",
"irc-framework": "^4.14.0",
"is-utf8": "^0.2.1",
"ldapjs": "^2.3.3",
"linkify-it": "^3.0.3",
"lodash": "^4.17.21",
"mime-types": "^3.0.2",
"node-forge": "^1.3.1",
"package-json": "^9.0.0",
"read": "^1.0.7",
"read-chunk": "^3.2.0",
"semver": "^7.7.4",
"socket.io": "^4.8.3",
"tlds": "^1.261.0",
"ua-parser-js": "^1.0.41",
"uuid": "^11.1.0",
"web-push": "^3.6.7",
"yarn": "^1.22.22"
},
"optionalDependencies": {
"sqlite3": "^5.1.7"
},
"devDependencies": {
"@babel/core": "^7.29.0",
"@babel/plugin-transform-runtime": "^7.29.0",
"@babel/preset-env": "^7.29.0",
"@fortawesome/fontawesome-free": "^5.15.4",
"@istanbuljs/nyc-config-typescript": "^1.0.2",
"@textcomplete/core": "^0.1.13",
"@textcomplete/textarea": "^0.1.13",
"@types/chai": "^4.3.20",
"@types/cheerio": "^0.22.35",
"@types/content-disposition": "^0.5.9",
"@types/express": "^4.17.25",
"@types/is-utf8": "^0.2.3",
"@types/ldapjs": "^2.2.5",
"@types/linkify-it": "^3.0.5",
"@types/lodash": "^4.17.23",
"@types/mime-types": "^3.0.1",
"@types/mocha": "^10.0.10",
"@types/mousetrap": "^1.6.15",
"@types/node": "^17.0.45",
"@types/node-forge": "^1.3.14",
"@types/read": "^0.0.32",
"@types/semver": "^7.7.1",
"@types/sortablejs": "^1.15.9",
"@types/ua-parser-js": "^0.7.39",
"@types/web-push": "^3.6.4",
"@types/webpack-env": "^1.18.8",
"@types/webpack-hot-middleware": "^2.25.12",
"@types/ws": "^8.18.1",
"@typescript-eslint/eslint-plugin": "^7.18.0",
"@typescript-eslint/parser": "^7.18.0",
"@vue/runtime-dom": "3.2.37",
"@vue/test-utils": "^2.4.6",
"babel-loader": "^9.2.1",
"babel-plugin-istanbul": "^7.0.1",
"babel-preset-typescript-vue3": "~2.0.17",
"chai": "^4.5.0",
"copy-webpack-plugin": "^13.0.1",
"cross-env": "^7.0.3",
"css-loader": "^7.1.3",
"cssnano": "^6.1.2",
"dayjs": "^1.11.19",
"emoji-regex": "^10.6.0",
"eslint": "^8.57.1",
"eslint-config-prettier": "^10.1.8",
"eslint-define-config": "^2.1.0",
"eslint-plugin-vue": "^9.33.0",
"fork-ts-checker-webpack-plugin": "^9.1.0",
"fuzzy": "^0.1.3",
"mini-css-extract-plugin": "^2.10.0",
"mocha": "^11.7.5",
"mousetrap": "^1.6.5",
"normalize.css": "^8.0.1",
"npm-run-all2": "^7.0.2",
"nyc": "^17.1.0",
"postcss": "^8.5.6",
"postcss-import": "^16.1.1",
"postcss-loader": "^8.2.0",
"postcss-preset-env": "^10.6.1",
"prettier": "~2.7.1",
"pretty-quick": "^3.3.1",
"primer-tooltips": "^2.0.0",
"sinon": "^21.0.1",
"socket.io-client": "^4.8.3",
"sortablejs": "^1.15.6",
"stylelint": "^14.16.1",
"stylelint-config-standard": "^25.0.0",
"ts-loader": "^9.5.4",
"ts-node": "^10.9.2",
"ts-sinon": "^2.0.2",
"typescript": "~5.4.5",
"undate": "^0.3.0",
"vue": "3.2.37",
"vue-eslint-parser": "^10.2.0",
"vue-loader": "~17.1.2",
"vue-router": "~4.5.1",
"vuex": "^4.1.0",
"webpack": "^5.105.1",
"webpack-cli": "^6.0.1",
"webpack-dev-middleware": "^7.4.5",
"webpack-hot-middleware": "^2.26.1"
}
}