thelounge/package.json
Nachtalb 14d76f8023
Add proper filename to the content-disposition header
By default we take the slug given in the request, if this is not set we try to give a filename from known types.
If we still have no filename we fallback to the previous method of setting no filename.

If the filename is non ascii we will only create the encoded "filename*" and not the ascii only "filename". This is to prevent other applications to save a file like "?????.png" if the filename contains non ascii chars.

For the browsers nothing will really change comapred to the behaviour before this change as good fallbacks if no content-disposition filename is set. But that is not the case for all application, thus it makes sense to include the proper way to set the filename.
2021-04-11 15:41:21 +02:00

130 lines
3.6 KiB
JSON

{
"name": "thelounge",
"description": "The self-hosted Web IRC client",
"version": "4.3.0-pre.1",
"preferGlobal": true,
"bin": {
"thelounge": "index.js"
},
"repository": {
"type": "git",
"url": "https://github.com/thelounge/thelounge.git"
},
"homepage": "https://thelounge.chat/",
"scripts": {
"build": "webpack",
"coverage": "run-s test:* && nyc --nycrc-path=test/.nycrc-report.json report",
"dev": "node index start --dev",
"format:prettier": "prettier --write \"**/*.*\"",
"lint:check-eslint": "eslint --print-config .eslintrc.yml | eslint-config-prettier-check",
"lint:eslint": "eslint . --ext .js,.vue --report-unused-disable-directives --color",
"lint:prettier": "prettier --list-different \"**/*.*\"",
"lint:stylelint": "stylelint --color \"client/**/*.css\"",
"start": "node index start",
"test": "run-p --aggregate-output --continue-on-error lint:* test:*",
"test:mocha": "webpack --config webpack.config-test.js && nyc --nycrc-path=test/.nycrc-mocha.json mocha --colors --config=test/.mocharc.yml",
"watch": "webpack --watch"
},
"keywords": [
"lounge",
"browser",
"web",
"chat",
"client",
"irc",
"server",
"thelounge"
],
"license": "MIT",
"engines": {
"node": ">=10.15.0"
},
"dependencies": {
"bcryptjs": "2.4.3",
"busboy": "0.3.1",
"chalk": "4.1.0",
"cheerio": "1.0.0-rc.5",
"commander": "7.2.0",
"content-disposition": "0.5.3",
"express": "4.17.1",
"file-type": "16.2.0",
"filenamify": "4.2.0",
"got": "11.8.1",
"irc-framework": "4.9.0",
"is-utf8": "0.2.1",
"ldapjs": "2.2.3",
"linkify-it": "3.0.2",
"lodash": "4.17.20",
"mime-types": "2.1.28",
"node-forge": "0.10.0",
"package-json": "6.5.0",
"read": "1.0.7",
"read-chunk": "3.2.0",
"semver": "7.3.4",
"socket.io": "3.1.2",
"tlds": "1.216.0",
"ua-parser-js": "0.7.23",
"uuid": "8.3.2",
"web-push": "3.4.4",
"yarn": "1.22.10"
},
"optionalDependencies": {
"sqlite3": "5.0.2"
},
"devDependencies": {
"@babel/core": "7.13.14",
"@babel/preset-env": "7.13.12",
"@fortawesome/fontawesome-free": "5.15.3",
"@vue/server-test-utils": "1.1.3",
"@vue/test-utils": "1.1.3",
"babel-loader": "8.2.2",
"babel-plugin-istanbul": "6.0.0",
"chai": "4.3.4",
"copy-webpack-plugin": "7.0.0",
"css-loader": "5.1.1",
"cssnano": "4.1.10",
"dayjs": "1.10.4",
"emoji-regex": "9.2.1",
"eslint": "7.23.0",
"eslint-config-prettier": "6.15.0",
"eslint-plugin-vue": "7.5.0",
"fuzzy": "0.1.3",
"husky": "4.3.5",
"mini-css-extract-plugin": "1.3.6",
"mocha": "8.2.1",
"mousetrap": "1.6.5",
"normalize.css": "8.0.1",
"npm-run-all": "4.1.5",
"nyc": "15.1.0",
"postcss": "8.2.5",
"postcss-import": "14.0.0",
"postcss-loader": "5.0.0",
"postcss-preset-env": "6.7.0",
"prettier": "2.2.1",
"pretty-quick": "3.1.0",
"primer-tooltips": "2.0.0",
"sinon": "9.2.4",
"socket.io-client": "3.1.1",
"stylelint": "13.9.0",
"stylelint-config-standard": "20.0.0",
"textcomplete": "0.18.2",
"undate": "0.3.0",
"vue": "2.6.12",
"vue-loader": "15.9.6",
"vue-router": "3.5.1",
"vue-server-renderer": "2.6.12",
"vue-template-compiler": "2.6.12",
"vuedraggable": "2.24.3",
"vuex": "3.6.2",
"webpack": "5.21.2",
"webpack-cli": "4.5.0",
"webpack-dev-middleware": "4.1.0",
"webpack-hot-middleware": "2.25.0"
},
"husky": {
"hooks": {
"pre-commit": "pretty-quick --staged"
}
}
}