{ "name": "keeweb", "version": "2.0.0", "description": "Free cross-platform password manager compatible with KeePass", "main": "Gruntfile.js", "private": true, "homepage": "https://keeweb.info", "repository": { "type": "git", "url": "https://github.com/keeweb/keeweb" }, "dependencies": { "@babel/core": "^7.14.5", "@babel/plugin-external-helpers": "^7.14.5", "@babel/plugin-proposal-class-properties": "^7.14.5", "@babel/plugin-proposal-optional-chaining": "^7.14.5", "@babel/plugin-transform-react-jsx": "^7.14.5", "@babel/preset-env": "^7.14.5", "@babel/preset-typescript": "^7.14.5", "@fortawesome/fontawesome-free": "^5.15.3", "@keeweb/keeweb-native-messaging-host": "https://github.com/keeweb/keeweb-connect/releases/download/0.3.5/keeweb-native-messaging-host.tgz", "@keeweb/keeweb-native-modules": "https://github.com/keeweb/keeweb-native-modules/releases/download/0.11.6/keeweb-native-modules.tgz", "@peculiar/webcrypto": "^1.1.7", "@types/chai": "^4.2.18", "@types/dompurify": "^2.2.2", "@types/jsdom": "^16.2.11", "@types/lodash": "^4.14.170", "@types/lodash.debounce": "^4.0.6", "@types/marked": "^2.0.3", "@types/mocha": "^8.2.2", "@typescript-eslint/eslint-plugin": "^4.26.1", "@typescript-eslint/parser": "^4.26.1", "adm-zip": "^0.5.5", "argon2-browser": "1.18.0", "autoprefixer": "^10.2.6", "babel-cli": "^6.26.0", "babel-eslint": "^10.1.0", "babel-loader": "8.2.2", "baron": "3.0.3", "base64-inline-loader": "^1.1.1", "base64-loader": "1.0.0", "bourbon": "^7.0.0", "chai": "^4.3.4", "copy-webpack-plugin": "^9.0.0", "cross-env": "^7.0.3", "css-loader": "^5.2.6", "dompurify": "^2.2.9", "electron": "^13.1.2", "electron-builder": "^22.11.7", "electron-evil-feature-patcher": "^1.2.1", "electron-notarize": "^1.0.0", "electron-osx-sign": "^0.5.0", "eslint": "^7.28.0", "eslint-config-preact": "^1.1.4", "eslint-config-prettier": "^8.3.0", "eslint-config-standard": "^16.0.3", "eslint-plugin-babel": "^5.3.1", "eslint-plugin-import": "^2.23.4", "eslint-plugin-node": "^11.1.0", "eslint-plugin-prettier": "^3.4.0", "eslint-plugin-promise": "5.1.0", "eslint-plugin-standard": "4.1.0", "exports-loader": "3.0.0", "form-data": "^4.0.0", "fs-extra": "^10.0.0", "grunt": "1.4.1", "grunt-chmod": "^1.1.1", "grunt-contrib-clean": "2.0.0", "grunt-contrib-compress": "github:keeweb/grunt-contrib-compress#08966cd", "grunt-contrib-copy": "1.0.0", "grunt-contrib-deb": "github:keeweb/grunt-contrib-deb#e9b6e9f", "grunt-contrib-htmlmin": "3.1.0", "grunt-contrib-watch": "1.1.0", "grunt-electron": "12.0.0", "grunt-eslint": "23.0.0", "grunt-inline-alt": "github:keeweb/grunt-inline-alt#ec9f6ad", "grunt-string-replace": "1.3.1", "grunt-webpack": "4.0.3", "html-minifier": "4.0.0", "ignore-loader": "^0.1.2", "jsdom": "^16.6.0", "json-loader": "^0.5.7", "jsqrcode": "github:antelle/jsqrcode#0.1.3", "kdbxweb": "^2.1.0", "load-grunt-tasks": "5.1.0", "lodash": "^4.17.21", "lodash.debounce": "^4.0.8", "marked": "^2.0.7", "mini-css-extract-plugin": "^1.6.0", "mocha": "^9.0.0", "node-fetch": "^2.6.1", "normalize.css": "8.0.1", "optimize-css-assets-webpack-plugin": "^6.0.0", "pikaday": "1.8.2", "pkcs11-smartcard-sign": "^1.0.1", "postcss": "^8.3.2", "postcss-loader": "^6.1.0", "preact": "^10.5.13", "prettier": "^2.3.1", "raw-loader": "^4.0.2", "run-remote-task": "^0.5.0", "sass": "^1.34.1", "sass-loader": "^12.1.0", "stats-webpack-plugin": "0.7.0", "string-replace-loader": "^3.0.2", "strip-sourcemap-loader": "0.0.1", "sumchecker": "^3.0.1", "svg2ttf": "^6.0.0", "svgicons2svgfont": "^10.0.3", "terser-webpack-plugin": "^5.1.3", "time-grunt": "2.0.0", "tiny-typed-emitter": "^2.0.3", "ts-loader": "^9.2.3", "ts-node": "^10.0.0", "tsconfig-paths": "^3.9.0", "tweetnacl": "^1.0.3", "typescript": "^4.3.2", "url-loader": "^4.1.1", "wawoff2": "^2.0.0", "webpack": "^5.38.1", "webpack-bundle-analyzer": "^4.4.2", "webpack-cli": "^4.7.2", "webpack-dev-server": "^3.11.2" }, "optionalDependencies": { "grunt-appdmg": "github:keeweb/grunt-appdmg#874ad83", "keytar": "^7.7.0" }, "scripts": { "start": "grunt", "test": "cross-env TS_NODE_PROJECT=tsconfig.tests.json mocha --require ts-node/register,tsconfig-paths/register,test/init.ts --recursive --reporter spec 'test/**/*.spec.ts'", "lint": "npm run eslint && npm run tsc", "eslint": "grunt eslint", "tsc": "tsc --noemit", "build-beta": "grunt --beta && cp dist/index.html ../keeweb-beta/index.html && cd ../keeweb-beta && git add index.html && git commit -a -m 'beta' && git push origin master", "electron": "cross-env KEEWEB_IS_PORTABLE=0 ELECTRON_DISABLE_SECURITY_WARNINGS=1 KEEWEB_EMULATE_HARDWARE_ENCRYPTION=persistent KEEWEB_HTML_PATH=http://localhost:8085 electron desktop --no-sandbox", "dev": "webpack serve --config build/webpack.config.dev.js --port 8085 --content-base tmp --content-base app/content", "dev-desktop-macos": "grunt dev-desktop-darwin --skip-sign", "dev-desktop-macos-signed": "grunt dev-desktop-darwin-signed", "dev-desktop-windows": "grunt dev-desktop-win32 --skip-sign", "dev-desktop-linux": "grunt dev-desktop-linux --skip-sign", "babel-helpers": "babel-external-helpers -l 'slicedToArray,toConsumableArray,defineProperty,typeof' -t global > app/lib/babel-helpers.js", "bump-version": "node util/bump-version.js", "copy-languages": "util/copy-languages.sh", "extract-release-notes": "node util/extract-release-notes.js", "generate-locale": "node util/generate-locale.js", "prettier": "util/prettier.sh" }, "author": { "name": "Antelle", "email": "antelle.net@gmail.com", "url": "https://antelle.net" }, "engines": { "node": ">=10.0" }, "license": "MIT", "readme": "README.md", "browserslist": [ "last 2 Firefox versions", "last 2 Chrome versions", "last 2 Safari version", "last 2 iOS versions", "last 2 Edge versions", "last 1 Opera version", "last 1 ChromeAndroid version", "Electron > 6.0.1" ] }