{
    "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.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.7"
    },
    "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.13",
        "@types/bcryptjs": "2.4.6",
        "@types/chai": "4.3.5",
        "@types/cheerio": "0.22.35",
        "@types/content-disposition": "0.5.8",
        "@types/express": "4.17.13",
        "@types/is-utf8": "0.2.3",
        "@types/ldapjs": "2.2.2",
        "@types/linkify-it": "3.0.5",
        "@types/lodash": "4.14.202",
        "@types/mime-types": "2.1.1",
        "@types/mocha": "9.1.1",
        "@types/mousetrap": "1.6.15",
        "@types/node": "17.0.45",
        "@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",
        "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.31",
        "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"
    }
}
