{ "name": "@bitwarden/desktop", "description": "A secure and free password manager for all of your devices.", "version": "0.0.0", "keywords": [ "bitwarden", "password", "vault", "password manager" ], "author": "Bitwarden Inc. (https://bitwarden.com)", "homepage": "https://bitwarden.com", "repository": { "type": "git", "url": "https://github.com/bitwarden/desktop" }, "license": "GPL-3.0", "scripts": { "start": "cross-env ELECTRON_IS_DEV=0 ELECTRON_NO_UPDATER=1 electron ./build", "sub:init": "git submodule update --init --recursive", "sub:update": "git submodule update --remote", "sub:pull": "git submodule foreach git pull origin master", "sub:commit": "npm run sub:pull && git commit -am \"update submodule\"", "preinstall": "npm run sub:init", "postinstall": "electron-rebuild", "symlink:win": "rm -rf ./jslib && cmd /c mklink /J .\\jslib ..\\jslib", "symlink:mac": "npm run symlink:lin", "symlink:lin": "rm -rf ./jslib && ln -s ../jslib ./jslib", "lint": "eslint . && prettier --check .", "lint:fix": "eslint . --fix", "build": "concurrently -n Main,Rend -c yellow,cyan \"npm run build:main\" \"npm run build:renderer\"", "build:dev": "concurrently -n Main,Rend -c yellow,cyan \"npm run build:main:dev\" \"npm run build:renderer:dev\"", "build:main": "cross-env NODE_ENV=production webpack --config webpack.main.js", "build:main:dev": "cross-env NODE_ENV=development webpack --config webpack.main.js", "build:renderer": "cross-env NODE_ENV=production webpack --config webpack.renderer.js", "build:renderer:dev": "cross-env NODE_ENV=development webpack --config webpack.renderer.js", "build:renderer:watch": "cross-env NODE_ENV=development webpack --config webpack.renderer.js --watch", "electron": "npm run build:main:dev && concurrently -k -n Main,Rend -c yellow,cyan \"electron --inspect=5858 ./build --watch\" \"npm run build:renderer:watch\"", "clean:dist": "rimraf ./dist/*", "clean:l10n": "git push origin --delete l10n_master", "pack:dir": "npm run clean:dist && electron-builder --dir -p never", "pack:lin": "npm run clean:dist && electron-builder --linux --x64 -p never", "pack:mac": "npm run clean:dist && electron-builder --mac --universal -p never", "pack:mac:arm64": "npm run clean:dist && electron-builder --mac --arm64 -p never", "pack:mac:mas": "npm run clean:dist && electron-builder --mac mas --universal -p never", "pack:mac:masdev": "npm run clean:dist && electron-builder --mac mas-dev --universal -p never", "pack:win": "npm run clean:dist && electron-builder --win --x64 --arm64 --ia32 -p never -c.win.certificateSubjectName=\"8bit Solutions LLC\"", "pack:win:ci": "npm run clean:dist && electron-builder --win --x64 --arm64 --ia32 -p never", "dist:dir": "npm run build && npm run pack:dir", "dist:lin": "npm run build && npm run pack:lin", "dist:mac": "npm run build && npm run pack:mac", "dist:mac:mas": "npm run build && npm run pack:mac:mas", "dist:mac:masdev": "npm run build && npm run pack:mac:masdev", "dist:win": "npm run build && npm run pack:win", "dist:win:ci": "npm run build && npm run pack:win:ci", "publish:lin": "npm run build && npm run clean:dist && electron-builder --linux --x64 -p always", "publish:mac": "npm run build && npm run clean:dist && electron-builder --mac -p always", "publish:mac:mas": "npm run dist:mac:mas && npm run upload:mas", "publish:win": "npm run build && npm run clean:dist && electron-builder --win --x64 --arm64 --ia32 -p always -c.win.certificateSubjectName=\"8bit Solutions LLC\"", "publish:win:dev": "npm run build && npm run clean:dist && electron-builder --win --x64 --arm64 --ia32 -p always", "upload:mas": "xcrun altool --upload-app --type osx --file \"$(find ./dist/mas-universal/Bitwarden*.pkg)\" --username $APPLE_ID_USERNAME --password $APPLE_ID_PASSWORD", "prettier": "prettier --write .", "prepare": "husky install" }, "build": { "extraMetadata": { "name": "bitwarden" }, "productName": "Bitwarden", "appId": "com.bitwarden.desktop", "buildDependenciesFromSource": true, "copyright": "Copyright © 2015-2022 Bitwarden Inc.", "directories": { "buildResources": "resources", "output": "dist", "app": "build" }, "afterSign": "scripts/after-sign.js", "asarUnpack": [ "**/*.node" ], "mac": { "electronUpdaterCompatibility": ">=0.0.1", "category": "public.app-category.productivity", "darkModeSupport": true, "gatekeeperAssess": false, "hardenedRuntime": true, "entitlements": "resources/entitlements.mac.plist", "entitlementsInherit": "resources/entitlements.mac.plist", "extendInfo": { "ITSAppUsesNonExemptEncryption": false, "CFBundleLocalizations": [ "en", "cs", "da", "de", "es", "et", "fi", "fr", "hr", "hu", "id", "it", "ja", "nb", "nl", "pl", "pt-BR", "pt-PT", "ro", "ru", "sk", "sv", "tr", "uk", "vi", "zh-Hans", "zh-Hant" ], "CFBundleDevelopmentRegion": "en" }, "target": [ "dmg", "zip" ] }, "win": { "electronUpdaterCompatibility": ">=0.0.1", "target": [ "portable", "nsis-web", "appx" ], "sign": "./sign.js", "extraResources": [ { "from": "node_modules/regedit/vbs", "to": "regedit/vbs", "filter": [ "**/*" ] }, { "from": "resources/native-messaging.bat", "to": "native-messaging.bat" } ] }, "linux": { "category": "Utility", "synopsis": "A secure and free password manager for all of your devices.", "target": [ "deb", "freebsd", "rpm", "AppImage", "snap" ], "desktop": { "Name": "Bitwarden", "Type": "Application", "GenericName": "Password Manager" } }, "dmg": { "icon": "dmg.icns", "contents": [ { "x": 150, "y": 185, "type": "file" }, { "x": 390, "y": 180, "type": "link", "path": "/Applications" } ], "window": { "width": 540, "height": 380 } }, "mas": { "entitlements": "resources/entitlements.mas.plist", "entitlementsInherit": "resources/entitlements.mas.inherit.plist", "hardenedRuntime": false, "minimumSystemVersion": "10.14" }, "nsisWeb": { "oneClick": false, "perMachine": false, "allowToChangeInstallationDirectory": false, "artifactName": "${productName}-Installer-${version}.${ext}", "uninstallDisplayName": "${productName}", "deleteAppDataOnUninstall": true }, "portable": { "artifactName": "${productName}-Portable-${version}.${ext}" }, "appx": { "artifactName": "${productName}-${version}-${arch}.${ext}", "backgroundColor": "#175DDC", "applicationId": "bitwardendesktop", "identityName": "8bitSolutionsLLC.bitwardendesktop", "publisher": "CN=14D52771-DE3C-4886-B8BF-825BA7690418", "publisherDisplayName": "8bit Solutions LLC", "languages": [ "en-US" ] }, "deb": { "artifactName": "${productName}-${version}-${arch}.${ext}", "depends": [ "libnotify4", "libxtst6", "libnss3", "libsecret-1-0", "libxss1" ] }, "appImage": { "artifactName": "${productName}-${version}-${arch}.${ext}" }, "rpm": { "artifactName": "${productName}-${version}-${arch}.${ext}" }, "freebsd": { "artifactName": "${productName}-${version}-${arch}.${ext}" }, "snap": { "autoStart": true, "confinement": "strict", "plugs": [ "default", "password-manager-service" ], "stagePackages": [ "default" ], "publish": [ "github" ] }, "protocols": [ { "name": "Bitwarden", "schemes": [ "bitwarden" ] } ] }, "devDependencies": { "@angular/compiler-cli": "^12.2.13", "@ngtools/webpack": "^12.2.13", "@types/node": "^16.11.12", "@types/node-ipc": "^9.1.4", "@typescript-eslint/eslint-plugin": "^5.12.1", "@typescript-eslint/parser": "^5.12.1", "clean-webpack-plugin": "^4.0.0", "concurrently": "^6.0.2", "copy-webpack-plugin": "^10.0.0", "cross-env": "^7.0.3", "css-loader": "^6.5.1", "electron-builder": "22.11.7", "electron-notarize": "^1.1.1", "electron-rebuild": "^3.2.5", "electron-reload": "^1.5.0", "eslint": "^8.9.0", "eslint-config-prettier": "^8.4.0", "eslint-import-resolver-typescript": "^2.5.0", "eslint-plugin-import": "^2.25.4", "html-loader": "^3.0.1", "html-webpack-plugin": "^5.5.0", "husky": "^7.0.4", "lint-staged": "^12.1.3", "mini-css-extract-plugin": "^2.4.5", "node-loader": "^2.0.0", "prettier": "^2.5.1", "rimraf": "^3.0.2", "sass": "^1.32.11", "sass-loader": "^12.4.0", "tapable": "^1.1.3", "ts-loader": "^9.2.5", "tsconfig-paths-webpack-plugin": "^3.5.1", "typescript": "4.3.5", "webpack": "^5.64.4", "webpack-cli": "^4.9.1", "webpack-merge": "^5.8.0" }, "dependencies": { "@angular/animations": "^12.2.13", "@angular/cdk": "^12.2.13", "@angular/common": "^12.2.13", "@angular/compiler": "^12.2.13", "@angular/core": "^12.2.13", "@angular/forms": "^12.2.13", "@angular/platform-browser": "^12.2.13", "@angular/platform-browser-dynamic": "^12.2.13", "@angular/router": "^12.2.13", "@bitwarden/jslib-angular": "file:jslib/angular", "@bitwarden/jslib-common": "file:jslib/common", "@bitwarden/jslib-electron": "file:jslib/electron", "ngx-toastr": "14.1.4", "node-ipc": "^9.1.4", "nord": "^0.2.1", "regedit": "^3.0.3", "rxjs": "^7.4.0", "sweetalert2": "^10.16.6" }, "engines": { "node": "~16", "npm": "~8" }, "lint-staged": { "./!(jslib)**": "prettier --ignore-unknown --write", "*.ts": "eslint --fix" } }