{ "name": "@bitwarden/directory-connector", "productName": "Bitwarden Directory Connector", "description": "Sync your user directory to your Bitwarden organization.", "version": "2025.1.1", "keywords": [ "bitwarden", "password", "vault", "password manager" ], "author": "Bitwarden Inc. (https://bitwarden.com)", "homepage": "https://bitwarden.com", "repository": { "type": "git", "url": "https://github.com/bitwarden/directory-connector" }, "license": "GPL-3.0", "main": "main.js", "scripts": { "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", "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", "rebuild": "electron-rebuild", "reset": "rimraf --glob ./node_modules/keytar/* && npm install", "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:main": "webpack --config webpack.main.js", "build:renderer": "webpack --config webpack.renderer.js", "build:renderer:watch": "webpack --config webpack.renderer.js --watch", "build:dist": "npm run reset && npm run rebuild && npm run build", "build:cli": "webpack --config webpack.cli.js", "build:cli:watch": "webpack --config webpack.cli.js --watch", "build:cli:prod": "cross-env NODE_ENV=production webpack --config webpack.cli.js", "build:cli:prod:watch": "cross-env NODE_ENV=production webpack --config webpack.cli.js --watch", "electron": "npm run build:main && concurrently -k -n Main,Rend -c yellow,cyan \"electron --inspect=5858 ./build --watch\" \"npm run build:renderer:watch\"", "electron:ignore": "npm run build:main && concurrently -k -n Main,Rend -c yellow,cyan \"electron --inspect=5858 --ignore-certificate-errors ./build --watch\" \"npm run build:renderer:watch\"", "clean:dist": "rimraf --glob ./dist/*", "clean:dist:cli": "rimraf --glob ./dist-cli/*", "pack:lin": "npm run clean:dist && electron-builder --linux --x64 -p never", "pack:mac": "npm run clean:dist && electron-builder --mac -p never", "pack:win": "npm run clean:dist && electron-builder --win --x64 --ia32 -p never -c.win.certificateSubjectName=\"8bit Solutions LLC\"", "pack:win:ci": "npm run clean:dist && electron-builder --win --x64 --ia32 -p never", "pack:cli": "npm run pack:cli:win | npm run pack:cli:mac | npm run pack:cli:lin", "pack:cli:win": "pkg ./src-cli --targets win-x64 --output ./dist-cli/windows/bwdc.exe", "pack:cli:mac": "pkg ./src-cli --targets macos-x64 --output ./dist-cli/macos/bwdc", "pack:cli:lin": "pkg ./src-cli --targets linux-x64 --output ./dist-cli/linux/bwdc", "dist:lin": "npm run build:dist && npm run pack:lin", "dist:mac": "npm run build:dist && npm run pack:mac", "dist:win": "npm run build:dist && npm run pack:win", "dist:win:ci": "npm run build && npm run pack:win:ci", "dist:cli": "npm run build:cli:prod && npm run clean:dist:cli && npm run pack:cli", "dist:cli:win": "npm run build:cli:prod && npm run clean:dist:cli && npm run pack:cli:win", "dist:cli:mac": "npm run build:cli:prod && npm run clean:dist:cli && npm run pack:cli:mac", "dist:cli:lin": "npm run build:cli:prod && npm run clean:dist:cli && npm run pack:cli:lin", "publish:lin": "npm run build:dist && npm run clean:dist && electron-builder --linux --x64 -p always", "publish:mac": "npm run build:dist && npm run clean:dist && electron-builder --mac -p always", "publish:win": "npm run build:dist && npm run clean:dist && electron-builder --win --x64 --ia32 -p always -c.win.certificateSubjectName=\"8bit Solutions LLC\"", "prettier": "prettier --write .", "prepare": "husky install", "test": "jest --testPathIgnorePatterns=.integration.spec.ts", "test:watch": "jest --watch --testPathIgnorePatterns=.integration.spec.ts", "test:watch:all": "jest --watchAll --testPathIgnorePatterns=.integration.spec.ts", "test:integration": "jest .integration.spec.ts", "test:integration:watch": "jest .integration.spec.ts --watch", "test:integration:setup": "sh ./openldap/mkcert.sh && docker compose up -d", "test:types": "npx tsc --noEmit" }, "devDependencies": { "@angular-devkit/build-angular": "17.3.11", "@angular-eslint/eslint-plugin-template": "17.5.3", "@angular-eslint/template-parser": "17.5.3", "@angular/compiler-cli": "17.3.12", "@electron/notarize": "2.5.0", "@electron/rebuild": "3.7.1", "@fluffy-spoon/substitute": "1.208.0", "@microsoft/microsoft-graph-types": "2.40.0", "@ngtools/webpack": "17.3.11", "@types/inquirer": "8.2.10", "@types/jest": "29.5.14", "@types/lowdb": "1.0.15", "@types/node": "22.13.1", "@types/node-fetch": "2.6.12", "@types/node-forge": "1.3.11", "@types/proper-lockfile": "4.1.4", "@types/tldjs": "2.3.4", "@typescript-eslint/eslint-plugin": "8.23.0", "@typescript-eslint/parser": "8.23.0", "clean-webpack-plugin": "4.0.0", "concurrently": "9.1.2", "copy-webpack-plugin": "12.0.2", "cross-env": "7.0.3", "css-loader": "7.1.2", "dotenv": "16.4.7", "electron": "34.1.1", "electron-builder": "24.13.3", "electron-log": "5.2.4", "electron-reload": "2.0.0-alpha.1", "electron-store": "8.2.0", "electron-updater": "6.3.9", "eslint": "8.57.1", "eslint-config-prettier": "10.0.1", "eslint-import-resolver-typescript": "3.7.0", "eslint-plugin-import": "2.31.0", "eslint-plugin-rxjs": "5.0.3", "eslint-plugin-rxjs-angular": "2.0.1", "form-data": "4.0.1", "html-loader": "5.1.0", "html-webpack-plugin": "5.6.3", "husky": "9.1.7", "jest": "29.7.0", "jest-junit": "16.0.0", "jest-mock-extended": "3.0.7", "jest-preset-angular": "14.5.0", "lint-staged": "15.4.1", "mini-css-extract-plugin": "2.9.2", "node-abi": "3.74.0", "node-forge": "1.3.1", "node-loader": "2.1.0", "pkg": "5.8.1", "prettier": "3.4.2", "rimraf": "6.0.1", "rxjs": "7.8.1", "sass": "1.79.4", "sass-loader": "16.0.4", "ts-jest": "29.2.5", "ts-loader": "9.5.2", "tsconfig-paths-webpack-plugin": "4.2.0", "type-fest": "4.32.0", "typescript": "5.4.5", "webpack": "5.97.1", "webpack-cli": "6.0.1", "webpack-merge": "6.0.1", "webpack-node-externals": "3.0.0", "zone.js": "0.14.10" }, "dependencies": { "@angular/animations": "17.3.12", "@angular/cdk": "17.3.10", "@angular/common": "17.3.12", "@angular/compiler": "17.3.12", "@angular/core": "17.3.12", "@angular/forms": "17.3.12", "@angular/platform-browser": "17.3.12", "@angular/platform-browser-dynamic": "17.3.12", "@angular/router": "17.3.12", "@microsoft/microsoft-graph-client": "3.0.7", "big-integer": "1.6.52", "bootstrap": "5.3.3", "browser-hrtime": "1.1.8", "chalk": "4.1.2", "commander": "13.1.0", "core-js": "3.40.0", "form-data": "4.0.1", "google-auth-library": "7.14.1", "googleapis": "73.0.0", "https-proxy-agent": "7.0.6", "inquirer": "8.2.6", "keytar": "7.9.0", "ldapts": "7.3.1", "lowdb": "1.0.0", "ngx-toastr": "19.0.0", "node-fetch": "2.7.0", "proper-lockfile": "4.1.2", "rxjs": "7.8.1", "tldjs": "2.3.1", "zone.js": "0.14.10" }, "engines": { "node": "~22.13.0", "npm": "~10" }, "lint-staged": { "./!(jslib)**": "prettier --ignore-unknown --write", "*.ts": "eslint --fix" } }