{ "name": "thelounge", "description": "The self-hosted Web IRC client", "version": "4.4.1", "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 \"**/*.*\"", "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:*", "test:mocha": "cross-env NODE_ENV=test webpack --mode=development && cross-env NODE_ENV=test TS_NODE_PROJECT='./test/tsconfig.json' nyc --nycrc-path=test/.nycrc-mocha.json mocha --require ts-node/register --colors --config=test/.mocharc.yml", "watch": "webpack --watch" }, "keywords": [ "lounge", "browser", "web", "chat", "client", "irc", "server", "thelounge" ], "license": "MIT", "engines": { "node": ">=16.0.0" }, "files": [ "./.thelounge_home", "./index.js", "./yarn.lock", "./client/index.html.tpl", "./dist/package.json", "./dist/**/*.js", "./public/**" ], "dependencies": { "@fastify/busboy": "1.0.0", "bcryptjs": "2.4.3", "chalk": "4.1.2", "cheerio": "1.0.0-rc.12", "commander": "9.0.0", "content-disposition": "0.5.4", "express": "4.17.3", "file-type": "16.5.4", "filenamify": "4.3.0", "got": "11.8.5", "irc-framework": "4.13.1", "is-utf8": "0.2.1", "ldapjs": "2.3.1", "linkify-it": "3.0.3", "lodash": "4.17.21", "mime-types": "2.1.34", "node-forge": "1.3.0", "package-json": "7.0.0", "read": "1.0.7", "read-chunk": "3.2.0", "semver": "7.5.2", "socket.io": "4.6.1", "tlds": "1.228.0", "ua-parser-js": "1.0.33", "uuid": "8.3.2", "web-push": "3.4.5", "yarn": "1.22.17" }, "optionalDependencies": { "sqlite3": "5.1.6" }, "devDependencies": { "@babel/core": "7.17.10", "@babel/plugin-transform-runtime": "7.18.2", "@babel/preset-env": "7.17.10", "@fortawesome/fontawesome-free": "5.15.4", "@istanbuljs/nyc-config-typescript": "1.0.2", "@textcomplete/core": "0.1.10", "@textcomplete/textarea": "0.1.12", "@types/bcryptjs": "2.4.2", "@types/chai": "4.3.5", "@types/cheerio": "0.22.31", "@types/content-disposition": "0.5.5", "@types/express": "4.17.13", "@types/is-utf8": "0.2.1", "@types/ldapjs": "2.2.2", "@types/linkify-it": "3.0.3", "@types/lodash": "4.14.195", "@types/mime-types": "2.1.1", "@types/mocha": "9.1.1", "@types/mousetrap": "1.6.11", "@types/node": "17.0.31", "@types/read": "0.0.29", "@types/semver": "7.3.9", "@types/sortablejs": "1.13.0", "@types/sqlite3": "3.1.8", "@types/ua-parser-js": "0.7.36", "@types/uuid": "8.3.4", "@types/web-push": "3.3.2", "@types/webpack-env": "1.16.4", "@types/webpack-hot-middleware": "2.25.6", "@types/ws": "8.5.4", "@typescript-eslint/eslint-plugin": "5.22.0", "@typescript-eslint/parser": "5.22.0", "@vue/runtime-dom": "3.2.33", "@vue/test-utils": "2.4.0", "babel-loader": "8.2.5", "babel-plugin-istanbul": "6.1.1", "babel-preset-typescript-vue3": "2.0.17", "chai": "4.3.7", "copy-webpack-plugin": "10.2.4", "cross-env": "7.0.3", "css-loader": "6.5.1", "cssnano": "5.0.17", "dayjs": "1.10.8", "emoji-regex": "10.2.1", "eslint": "8.16.0", "eslint-config-prettier": "8.3.0", "eslint-define-config": "1.5.1", "eslint-plugin-vue": "9.0.1", "fork-ts-checker-webpack-plugin": "7.2.13", "fuzzy": "0.1.3", "husky": "4.3.8", "mini-css-extract-plugin": "2.5.3", "mocha": "9.2.2", "mousetrap": "1.6.5", "normalize.css": "8.0.1", "npm-run-all": "4.1.5", "nyc": "15.1.0", "postcss": "8.4.26", "postcss-import": "14.0.2", "postcss-loader": "6.2.1", "postcss-preset-env": "7.3.0", "prettier": "2.5.1", "pretty-quick": "3.1.3", "primer-tooltips": "2.0.0", "sinon": "13.0.2", "socket.io-client": "4.5.0", "sortablejs": "1.15.0", "stylelint": "14.3.0", "stylelint-config-standard": "24.0.0", "ts-loader": "9.3.0", "ts-node": "10.7.0", "ts-sinon": "2.0.2", "typescript": "4.7.2", "undate": "0.3.0", "vue": "3.2.35", "vue-eslint-parser": "8.3.0", "vue-loader": "17.0.1", "vue-router": "4.0.15", "vuex": "4.0.2", "webpack": "5.76.0", "webpack-cli": "4.9.2", "webpack-dev-middleware": "5.3.3", "webpack-hot-middleware": "2.25.4" }, "husky": { "hooks": { "pre-commit": "pretty-quick --staged" } } }