From nobody Mon Jul 31 07:21:46 2023 X-Original-To: dev-commits-ports-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RDqS927HCz4ptFh; Mon, 31 Jul 2023 07:21:47 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RDqRt6Wxlz3M6b; Mon, 31 Jul 2023 07:21:46 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690788107; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=P3/iAmwykGCKxOFufghPxbsYgypjC+D60v2VCH96gAg=; b=hYO+Z6+OWM7ecMeC6XsG0xUENmiT2l/w41BRRnL928Shg4yqPGPfoRCD7RTcR23HVmqyQ0 hNQkAuQ5IyJvdAtsFM7LJtyr19UZMZOXhzXazf+fdwqCvhEyUaA+Qvgm2xEzv+h5VY3RTR 8cQpkowkmZ5boiiZXCmdOT9lb51bPri4uN5RfasChrRgBeOTFyBdGtJ1XyAdak8cykA442 cptwFsJTTSufrJGaECp+LAGsjrC4evccSf/2hJsPRM8k+39NENyo32eH50Va0xDSuXuRLt CpNZmC3ORoI5/8S4jaCCMIekZB9xTCBRwkg5izKKgazLUtYcw7dUSHGxggUYgA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1690788107; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=P3/iAmwykGCKxOFufghPxbsYgypjC+D60v2VCH96gAg=; b=UIto7e5GoFQHGkvh6x/cbDzJ92O3NBfUh76kqV7WHNMu1DzXV6r+/mj+3pm2Z+0bJWv/5Z 6T7iQ18OE0mKMl52bEtMEAl6mqPWSu2fx8zYmTL/XM2Y1zni9Zc0cxO9be5z5Bwa+0T+2d Y7YEqcrRibXsu8Rn2LIjyUKBWpyAH3Mbe5dyGdzQNhfFPowo0bQHug8FtfndWwL113ZpmB AlwCT1x8gAGNttY9q082wYgJrb8B/Dc0Fq9yfmV1euVVcAAtS6IniKvYVKgEIMnkP56NZf E5jfqE3xhKxXFWc7cG6D8qEfhMrsk0D+23RzD5h9YF5puP/TXHpB0RbENdfjVg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690788107; a=rsa-sha256; cv=none; b=YGcA1OsO+mtqH6k0QtsJjSqFlRbLtMtSxlQtEKg3LUFueO1QF17mHyUFacd28BrapDGdoS 1R3qUxFz3Bifc1x4M4dmYTYuybKR6pM4elBU6s199AxJIIiF9qU8SM+AMlCBjjnNWecnay kmZ+UmtAYtEJc8EDJgbAzlFMtx7Lq1otKpneHN7XCn+SjXhx/Mu5efoM2vt1dpEBowIp+O kNS86bQHwsjrCBEM+LVeLxLq6BqzEGl6EsrHchYD9iTjgBUJ5HSIjgicJHizuPcumO0HhR Bv9UGj6QY8DE6Lf9GyJXFQHSWOAS5pCAJbYoLZcratvYOWNh+ebHZZ/SZc4Ltg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RDqRt5Y0wzn7W; Mon, 31 Jul 2023 07:21:46 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 36V7Lk3r045206; Mon, 31 Jul 2023 07:21:46 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36V7LkP6045205; Mon, 31 Jul 2023 07:21:46 GMT (envelope-from git) Date: Mon, 31 Jul 2023 07:21:46 GMT Message-Id: <202307310721.36V7LkP6045205@gitrepo.freebsd.org> To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org From: Hiroki Tagato Subject: git: d2062f378a53 - main - security/bitwarden-cli: add port: Bitwarden client command-line interface List-Id: Commit messages for all branches of the ports repository List-Archive: https://lists.freebsd.org/archives/dev-commits-ports-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-ports-all@freebsd.org X-BeenThere: dev-commits-ports-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: tagattie X-Git-Repository: ports X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: d2062f378a53d324aa503c8a1f1b3150d519b4cd Auto-Submitted: auto-generated The branch main has been updated by tagattie: URL: https://cgit.FreeBSD.org/ports/commit/?id=d2062f378a53d324aa503c8a1f1b3150d519b4cd commit d2062f378a53d324aa503c8a1f1b3150d519b4cd Author: Hiroki Tagato AuthorDate: 2023-07-31 07:11:13 +0000 Commit: Hiroki Tagato CommitDate: 2023-07-31 07:21:29 +0000 security/bitwarden-cli: add port: Bitwarden client command-line interface The Bitwarden CLI is a powerful, full-featured command-line interface (CLI) tool to access and manage a Bitwarden vault. The CLI is written with TypeScript and Node.js and can be run on Windows, macOS, and Linux distributions. WWW: https://bitwarden.com Requested by: 000.fbsd@quip.cz (via ports) Tested by: 000.fbsd@quip.cz --- security/Makefile | 1 + security/bitwarden-cli/Makefile | 132 + security/bitwarden-cli/distinfo | 7 + .../files/packagejsons/apps/browser/package.json | 25 + .../files/packagejsons/apps/cli/package.json | 77 + .../apps/desktop/desktop_native/package.json | 31 + .../files/packagejsons/apps/desktop/package.json | 58 + .../files/packagejsons/apps/web/package.json | 29 + .../files/packagejsons/libs/angular/package.json | 20 + .../files/packagejsons/libs/common/package.json | 20 + .../packagejsons/libs/components/package.json | 18 + .../files/packagejsons/libs/exporter/package.json | 23 + .../files/packagejsons/libs/importer/package.json | 24 + .../files/packagejsons/libs/node/package.json | 23 + .../files/packagejsons/package-lock.json | 36091 +++++++++++++++++++ .../bitwarden-cli/files/packagejsons/package.json | 221 + ...platform_services_cli-platform-utils.service.ts | 20 + security/bitwarden-cli/pkg-descr | 4 + 18 files changed, 36824 insertions(+) diff --git a/security/Makefile b/security/Makefile index dfc527001195..6dedaf06810f 100644 --- a/security/Makefile +++ b/security/Makefile @@ -53,6 +53,7 @@ SUBDIR += belier SUBDIR += bfbtester SUBDIR += binwalk + SUBDIR += bitwarden-cli SUBDIR += boringssl SUBDIR += botan2 SUBDIR += bruteblock diff --git a/security/bitwarden-cli/Makefile b/security/bitwarden-cli/Makefile new file mode 100644 index 000000000000..37f08ddfd0ed --- /dev/null +++ b/security/bitwarden-cli/Makefile @@ -0,0 +1,132 @@ +PORTNAME= bitwarden-cli +DISTVERSIONPREFIX= cli-v +DISTVERSION= 2023.7.0 +CATEGORIES= security +MASTER_SITES= https://nodejs.org/dist/v${PKG_NODE_VER}/:node +DISTFILES= node-v${PKG_NODE_VER}${EXTRACT_SUFX}:node \ + ${PREFETCH_FILE}:prefetch + +MAINTAINER= tagattie@FreeBSD.org +COMMENT= Bitwarden client command-line interface +WWW= https://bitwarden.com + +LICENSE= BITWARDEN GPLv3 +LICENSE_COMB= multi +LICENSE_NAME_BITWARDEN= BITWARDEN LICENSE AGREEMENT +LICENSE_FILE_BITWARDEN= ${WRKSRC}/LICENSE_BITWARDEN.txt +LICENSE_FILE_GPLv3= ${WRKSRC}/LICENSE_GPL.txt +LICENSE_PERMS_BITWARDEN=none + +ONLY_FOR_ARCHS= aarch64 amd64 + +FETCH_DEPENDS= npm:www/npm${NODEJS_SUFFIX} +BUILD_DEPENDS= npm:www/npm${NODEJS_SUFFIX} +LIB_DEPENDS= libbrotlidec.so:archivers/brotli \ + libicui18n.so:devel/icu \ + libuv.so:devel/libuv \ + libcares.so:dns/c-ares \ + libnghttp2.so:www/libnghttp2 +RUN_DEPENDS= xdg-open:devel/xdg-utils \ + ca_root_nss>0:security/ca_root_nss +TEST_DEPENDS= npm:www/npm${NODEJS_SUFFIX} + +USES= gmake localbase:ldflags nodejs:18,build pkgconfig \ + python:build ssl + +USE_GITHUB= yes +GH_ACCOUNT= bitwarden +GH_PROJECT= clients + +BUILD_WRKSRC= ${WRKSRC}/apps/cli + +PLIST_FILES= bin/bw \ + share/zsh/site-functions/_bw + +PORTDOCS= CONTRIBUTING.md README.md SECURITY.md + +OPTIONS_DEFINE= DOCS + +PREFETCH_FILE= ${PKGNAME}-node-modules${EXTRACT_SUFX} +PREFETCH_TIMESTAMP= 1690268784 +PKG_NODE_VER= 18.15.0 +PKG_FETCH_VER= 3.5 +PKG_NODE_CONFIGURE_ARGS=--openssl-use-def-ca-store \ + --shared-brotli \ + --shared-cares \ + --shared-libuv \ + --shared-nghttp2 \ + --shared-openssl \ + --shared-zlib \ + --with-intl=system-icu +NODE_ARCH= ${ARCH:S/aarch64/arm64/:S/amd64/x64/:S/i386/ia32/} + +pre-fetch: + if [ ! -f ${DISTDIR}/${PREFETCH_FILE} ]; then \ + ${MKDIR} ${WRKDIR}/node-modules-cache; \ + ${CP} -R ${FILESDIR}/packagejsons/* ${WRKDIR}/node-modules-cache; \ + cd ${WRKDIR}/node-modules-cache && \ + ${SETENV} HOME=${WRKDIR} npm ci --ignore-scripts --no-progress; \ + ${FIND} ${WRKDIR}/node-modules-cache -depth 1 -print | \ + ${GREP} -v node_modules | ${XARGS} ${RM} -r; \ + ${FIND} ${WRKDIR}/node-modules-cache -type d -exec ${CHMOD} 755 {} ';'; \ + cd ${WRKDIR}/node-modules-cache && \ + ${MTREE_CMD} -cbnSp node_modules | ${MTREE_CMD} -C | ${SED} \ + -e 's:time=[0-9.]*:time=${PREFETCH_TIMESTAMP}.000000000:' \ + -e 's:\([gu]id\)=[0-9]*:\1=0:g' \ + -e 's:flags=.*:flags=none:' \ + -e 's:^\.:./node_modules:' > node-modules-cache.mtree; \ + ${TAR} -cz --options 'gzip:!timestamp' \ + -f ${DISTDIR}/${PREFETCH_FILE} \ + @node-modules-cache.mtree; \ + ${RM} -r ${WRKDIR}; \ + fi + +post-extract: + ${MV} ${WRKDIR}/node_modules ${WRKSRC} + +post-patch: + # apply FreeBSD patches for node + for p in ${.CURDIR:H:H}/www/node${NODEJS_VERSION}/files/patch-*; do \ + ${PATCH} -s -p0 -d ${WRKDIR}/node-v${PKG_NODE_VER} < $${p}; \ + done + # apply node patch from pkg-fetch + ${PATCH} -s -p1 -d ${WRKDIR}/node-v${PKG_NODE_VER} < \ + ${WRKSRC}/node_modules/pkg-fetch/patches/node.v${PKG_NODE_VER}.cpp.patch + +pre-build: + cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} npm run postinstall + # build patched node for pkg + cd ${WRKDIR}/node-v${PKG_NODE_VER} && \ + ${SETENV} ${CONFIGURE_ENV} CC=${CC} CXX=${CXX} ./configure ${PKG_NODE_CONFIGURE_ARGS} && \ + ${SETENV} ${MAKE_ENV} ${MAKE_CMD} -j ${MAKE_JOBS_NUMBER} + ${MKDIR} ${WRKDIR}/.pkg-cache/v${PKG_FETCH_VER} + ${MV} ${WRKDIR}/node-v${PKG_NODE_VER}/out/Release/node \ + ${WRKDIR}/.pkg-cache/v${PKG_FETCH_VER}/built-v${PKG_NODE_VER}-freebsd-${NODE_ARCH} + ${STRIP_CMD} ${WRKDIR}/.pkg-cache/v${PKG_FETCH_VER}/built-v${PKG_NODE_VER}-freebsd-${NODE_ARCH} + # rebuild node modules against patched node + cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ELECTRON_SKIP_BINARY_DOWNLOAD=1 \ + npm rebuild --nodedir=${WRKDIR}/node-v${PKG_NODE_VER} --verbose + +do-build: + cd ${BUILD_WRKSRC} && ${SETENV} ${MAKE_ENV} \ + npm run build:prod + cd ${BUILD_WRKSRC} && ${SETENV} ${MAKE_ENV} \ + npx pkg . --targets node${NODEJS_VERSION}-freebsd-${NODE_ARCH} --output ./dist/bw + cd ${BUILD_WRKSRC} && ${SETENV} ${MAKE_ENV} \ + ./dist/bw completion --shell zsh > _bw + +do-install: + # don't strip executable since it causes error + ${INSTALL_KLD} ${BUILD_WRKSRC}/dist/bw ${STAGEDIR}${PREFIX}/bin + @${MKDIR} ${STAGEDIR}${PREFIX}/share/zsh/site-functions + ${INSTALL_DATA} ${BUILD_WRKSRC}/_bw \ + ${STAGEDIR}${PREFIX}/share/zsh/site-functions/_bw + +do-install-DOCS-on: + ${MKDIR} ${STAGEDIR}${DOCSDIR} + ${INSTALL_MAN} ${PORTDOCS:S|^|${WRKSRC}/|} ${STAGEDIR}${DOCSDIR} + +do-test: + cd ${BUILD_WRKSRC} && ${SETENV} ${TEST_ENV} npm run test + +.include diff --git a/security/bitwarden-cli/distinfo b/security/bitwarden-cli/distinfo new file mode 100644 index 000000000000..5c55f95045ca --- /dev/null +++ b/security/bitwarden-cli/distinfo @@ -0,0 +1,7 @@ +TIMESTAMP = 1690273877 +SHA256 (node-v18.15.0.tar.gz) = d65c4c3ef3c8815bccda9502081a29458c7c80797db0763f8752f270a824ac2b +SIZE (node-v18.15.0.tar.gz) = 85359314 +SHA256 (bitwarden-cli-2023.7.0-node-modules.tar.gz) = 797598d351cc1c47f49334eb753d8ab5e81da902c4bc7bc2f917fe7794afe283 +SIZE (bitwarden-cli-2023.7.0-node-modules.tar.gz) = 226744723 +SHA256 (bitwarden-clients-cli-v2023.7.0_GH0.tar.gz) = 293484f386707bd5c1014402a3c2fbbe9ad14e1c17f2a6b53676bdf0ad110868 +SIZE (bitwarden-clients-cli-v2023.7.0_GH0.tar.gz) = 18982338 diff --git a/security/bitwarden-cli/files/packagejsons/apps/browser/package.json b/security/bitwarden-cli/files/packagejsons/apps/browser/package.json new file mode 100644 index 000000000000..5e1ad9bfd8da --- /dev/null +++ b/security/bitwarden-cli/files/packagejsons/apps/browser/package.json @@ -0,0 +1,25 @@ +{ + "name": "@bitwarden/browser", + "version": "2023.7.1", + "scripts": { + "build": "webpack", + "build:mv3": "cross-env MANIFEST_VERSION=3 webpack", + "build:watch": "webpack --watch", + "build:watch:mv3": "cross-env MANIFEST_VERSION=3 webpack --watch", + "build:watch:autofill": "cross-env AUTOFILL_VERSION=2 webpack --watch", + "build:prod": "cross-env NODE_ENV=production webpack", + "build:prod:watch": "cross-env NODE_ENV=production webpack --watch", + "dist": "npm run build:prod && gulp dist", + "dist:mv3": "cross-env MANIFEST_VERSION=3 npm run build:prod && cross-env MANIFEST_VERSION=3 gulp dist", + "dist:chrome": "npm run build:prod && gulp dist:chrome", + "dist:firefox": "npm run build:prod && gulp dist:firefox", + "dist:opera": "npm run build:prod && gulp dist:opera", + "dist:safari": "npm run build:prod && gulp dist:safari", + "dist:safari:mas": "npm run build:prod && gulp dist:safari:mas", + "dist:safari:masdev": "npm run build:prod && gulp dist:safari:masdev", + "dist:safari:dmg": "npm run build:prod && gulp dist:safari:dmg", + "test": "jest", + "test:watch": "jest --watch", + "test:watch:all": "jest --watchAll" + } +} diff --git a/security/bitwarden-cli/files/packagejsons/apps/cli/package.json b/security/bitwarden-cli/files/packagejsons/apps/cli/package.json new file mode 100644 index 000000000000..7c6e50e22a27 --- /dev/null +++ b/security/bitwarden-cli/files/packagejsons/apps/cli/package.json @@ -0,0 +1,77 @@ +{ + "name": "@bitwarden/cli", + "description": "A secure and free password manager for all of your devices.", + "version": "2023.7.0", + "keywords": [ + "bitwarden", + "password", + "vault", + "password manager", + "cli" + ], + "author": "Bitwarden Inc. (https://bitwarden.com)", + "homepage": "https://bitwarden.com", + "repository": { + "type": "git", + "url": "https://github.com/bitwarden/clients" + }, + "license": "GPL-3.0-only", + "scripts": { + "clean": "rimraf dist", + "build": "webpack", + "build:debug": "npm run build && node --inspect ./build/bw.js", + "build:watch": "webpack --watch", + "build:prod": "cross-env NODE_ENV=production webpack", + "build:prod:watch": "cross-env NODE_ENV=production webpack --watch", + "package": "npm run package:win && npm run package:mac && npm run package:lin", + "package:win": "pkg . --targets win-x64 --output ./dist/windows/bw.exe", + "package:mac": "pkg . --targets macos-x64 --output ./dist/macos/bw", + "package:lin": "pkg . --targets linux-x64 --output ./dist/linux/bw", + "debug": "node --inspect ./build/bw.js", + "dist": "npm run build:prod && npm run clean && npm run package", + "dist:win": "npm run build:prod && npm run clean && npm run package:win", + "dist:mac": "npm run build:prod && npm run clean && npm run package:mac", + "dist:lin": "npm run build:prod && npm run clean && npm run package:lin", + "publish:npm": "npm run build:prod && npm publish --access public", + "test": "jest", + "test:watch": "jest --watch", + "test:watch:all": "jest --watchAll" + }, + "bin": { + "bw": "build/bw.js" + }, + "pkg": { + "assets": [ + "./build/**/*", + "../../node_modules/argon2/**/*" + ] + }, + "dependencies": { + "@koa/multer": "3.0.2", + "@koa/router": "12.0.0", + "argon2": "0.30.3", + "big-integer": "1.6.51", + "browser-hrtime": "1.1.8", + "chalk": "4.1.2", + "commander": "7.2.0", + "form-data": "4.0.0", + "https-proxy-agent": "5.0.1", + "inquirer": "8.2.5", + "jsdom": "22.1.0", + "jszip": "3.10.1", + "koa": "2.14.2", + "koa-bodyparser": "4.4.0", + "koa-json": "2.0.2", + "lowdb": "1.0.0", + "lunr": "2.3.9", + "multer": "1.4.5-lts.1", + "node-fetch": "2.6.11", + "node-forge": "1.3.1", + "open": "8.4.2", + "papaparse": "5.4.1", + "proper-lockfile": "4.1.2", + "rxjs": "7.8.1", + "tldts": "6.0.5", + "zxcvbn": "4.4.2" + } +} diff --git a/security/bitwarden-cli/files/packagejsons/apps/desktop/desktop_native/package.json b/security/bitwarden-cli/files/packagejsons/apps/desktop/desktop_native/package.json new file mode 100644 index 000000000000..fe37602768e3 --- /dev/null +++ b/security/bitwarden-cli/files/packagejsons/apps/desktop/desktop_native/package.json @@ -0,0 +1,31 @@ +{ + "name": "@bitwarden/desktop-native", + "version": "0.1.0", + "description": "", + "scripts": { + "build": "napi build --release --platform --js false", + "build:debug": "napi build --platform --js false", + "build:cross-platform": "node build.js", + "test": "cargo test" + }, + "author": "", + "license": "GPL-3.0", + "devDependencies": { + "@napi-rs/cli": "2.16.1" + }, + "napi": { + "name": "desktop_native", + "triples": { + "defaults": true, + "additional": [ + "x86_64-unknown-linux-musl", + "aarch64-unknown-linux-gnu", + "i686-pc-windows-msvc", + "armv7-unknown-linux-gnueabihf", + "aarch64-apple-darwin", + "aarch64-unknown-linux-musl", + "aarch64-pc-windows-msvc" + ] + } + } +} diff --git a/security/bitwarden-cli/files/packagejsons/apps/desktop/package.json b/security/bitwarden-cli/files/packagejsons/apps/desktop/package.json new file mode 100644 index 000000000000..fa2ba4c22daf --- /dev/null +++ b/security/bitwarden-cli/files/packagejsons/apps/desktop/package.json @@ -0,0 +1,58 @@ +{ + "name": "@bitwarden/desktop", + "description": "A secure and free password manager for all of your devices.", + "version": "2023.7.0", + "keywords": [ + "bitwarden", + "password", + "vault", + "password manager" + ], + "author": "Bitwarden Inc. (https://bitwarden.com)", + "homepage": "https://bitwarden.com", + "repository": { + "type": "git", + "url": "git+https://github.com/bitwarden/clients.git" + }, + "license": "GPL-3.0", + "scripts": { + "postinstall": "electron-rebuild", + "start": "cross-env ELECTRON_IS_DEV=0 ELECTRON_NO_UPDATER=1 electron ./build", + "build-native": "cargo build --manifest-path=./desktop_native/Cargo.toml", + "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": "npm run build-native && cross-env NODE_ENV=development webpack --config webpack.main.js", + "build:main:watch": "npm run build-native && cross-env NODE_ENV=development webpack --config webpack.main.js --watch", + "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": "node ./scripts/start.js", + "electron:ignore": "node ./scripts/start.js --ignore-certificate-errors", + "clean:dist": "rimraf ./dist", + "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", + "test": "jest", + "test:watch": "jest --watch", + "test:watch:all": "jest --watchAll" + } +} diff --git a/security/bitwarden-cli/files/packagejsons/apps/web/package.json b/security/bitwarden-cli/files/packagejsons/apps/web/package.json new file mode 100644 index 000000000000..e2ec49d7327a --- /dev/null +++ b/security/bitwarden-cli/files/packagejsons/apps/web/package.json @@ -0,0 +1,29 @@ +{ + "name": "@bitwarden/web-vault", + "version": "2023.7.0", + "scripts": { + "build:oss": "webpack", + "build:bit": "webpack -c ../../bitwarden_license/bit-web/webpack.config.js", + "build:oss:watch": "webpack serve", + "build:bit:watch": "webpack serve -c ../../bitwarden_license/bit-web/webpack.config.js", + "build:bit:dev": "cross-env ENV=development npm run build:bit", + "build:bit:dev:analyze": "cross-env LOGGING=false webpack -c ../../bitwarden_license/bit-web/webpack.config.js --profile --json > stats.json && npx webpack-bundle-analyzer stats.json build/", + "build:bit:dev:watch": "cross-env ENV=development npm run build:bit:watch", + "build:bit:qa": "cross-env NODE_ENV=production ENV=qa npm run build:bit", + "build:bit:euprd": "cross-env NODE_ENV=production ENV=euprd npm run build:bit", + "build:bit:euqa": "cross-env NODE_ENV=production ENV=euqa npm run build:bit", + "build:bit:cloud": "cross-env NODE_ENV=production ENV=cloud npm run build:bit", + "build:oss:selfhost:watch": "cross-env ENV=selfhosted npm run build:oss:watch", + "build:bit:selfhost:watch": "cross-env ENV=selfhosted npm run build:bit:watch", + "build:oss:selfhost:prod": "cross-env ENV=selfhosted NODE_ENV=production npm run build:oss", + "build:bit:selfhost:prod": "cross-env ENV=selfhosted NODE_ENV=production npm run build:bit", + "build:bit:ee": "cross-env NODE_ENV=production ENV=ee npm run build:bit", + "clean:l10n": "git push origin --delete l10n_master", + "dist:bit:cloud": "npm run build:bit:cloud", + "dist:oss:selfhost": "npm run build:oss:selfhost:prod", + "dist:bit:selfhost": "npm run build:bit:selfhost:prod", + "test": "jest", + "test:watch": "jest --watch", + "test:watch:all": "jest --watchAll" + } +} diff --git a/security/bitwarden-cli/files/packagejsons/libs/angular/package.json b/security/bitwarden-cli/files/packagejsons/libs/angular/package.json new file mode 100644 index 000000000000..322c8c826a2f --- /dev/null +++ b/security/bitwarden-cli/files/packagejsons/libs/angular/package.json @@ -0,0 +1,20 @@ +{ + "name": "@bitwarden/angular", + "version": "0.0.0", + "description": "Common code used across Bitwarden JavaScript projects.", + "keywords": [ + "bitwarden" + ], + "author": "Bitwarden Inc.", + "homepage": "https://bitwarden.com", + "repository": { + "type": "git", + "url": "https://github.com/bitwarden/jslib" + }, + "license": "GPL-3.0", + "scripts": { + "clean": "rimraf dist", + "build": "npm run clean && tsc", + "build:watch": "npm run clean && tsc -watch" + } +} diff --git a/security/bitwarden-cli/files/packagejsons/libs/common/package.json b/security/bitwarden-cli/files/packagejsons/libs/common/package.json new file mode 100644 index 000000000000..5e0f5ae20c6d --- /dev/null +++ b/security/bitwarden-cli/files/packagejsons/libs/common/package.json @@ -0,0 +1,20 @@ +{ + "name": "@bitwarden/common", + "version": "0.0.0", + "description": "Common code used across Bitwarden JavaScript projects.", + "keywords": [ + "bitwarden" + ], + "author": "Bitwarden Inc.", + "homepage": "https://bitwarden.com", + "repository": { + "type": "git", + "url": "https://github.com/bitwarden/jslib" + }, + "license": "GPL-3.0", + "scripts": { + "clean": "rimraf dist", + "build": "npm run clean && tsc", + "build:watch": "npm run clean && tsc -watch" + } +} diff --git a/security/bitwarden-cli/files/packagejsons/libs/components/package.json b/security/bitwarden-cli/files/packagejsons/libs/components/package.json new file mode 100644 index 000000000000..168c727a3e5c --- /dev/null +++ b/security/bitwarden-cli/files/packagejsons/libs/components/package.json @@ -0,0 +1,18 @@ +{ + "name": "@bitwarden/components", + "version": "0.0.0", + "sideEffects": false, + "scripts": { + "ng": "ng", + "start": "ng serve", + "build": "ng build", + "watch": "ng build --watch --configuration development", + "test": "jest", + "test:watch": "jest --watch", + "docs:json": "compodoc -p ./tsconfig.json -e json -d .", + "storybook": "npm run docs:json && start-storybook -p 6006", + "build-storybook": "npm run docs:json && build-storybook", + "chromatic": "chromatic --exit-zero-on-changes" + }, + "private": true +} diff --git a/security/bitwarden-cli/files/packagejsons/libs/exporter/package.json b/security/bitwarden-cli/files/packagejsons/libs/exporter/package.json new file mode 100644 index 000000000000..e3c3427ca39b --- /dev/null +++ b/security/bitwarden-cli/files/packagejsons/libs/exporter/package.json @@ -0,0 +1,23 @@ +{ + "name": "@bitwarden/exporter", + "version": "0.0.0", + "description": "Home for all Bitwarden exporters.", + "keywords": [ + "bitwarden" + ], + "author": "Bitwarden Inc.", + "homepage": "https://bitwarden.com", + "repository": { + "type": "git", + "url": "https://github.com/bitwarden/clients" + }, + "license": "GPL-3.0", + "scripts": { + "clean": "rimraf dist", + "build": "npm run clean && tsc", + "build:watch": "npm run clean && tsc -watch" + }, + "dependencies": { + "@bitwarden/common": "file:../common" + } +} diff --git a/security/bitwarden-cli/files/packagejsons/libs/importer/package.json b/security/bitwarden-cli/files/packagejsons/libs/importer/package.json new file mode 100644 index 000000000000..d510f1589e88 --- /dev/null +++ b/security/bitwarden-cli/files/packagejsons/libs/importer/package.json @@ -0,0 +1,24 @@ +{ + "name": "@bitwarden/importer", + "version": "0.0.0", + "description": "Home for all Bitwarden importers.", + "keywords": [ + "bitwarden" + ], + "author": "Bitwarden Inc.", + "homepage": "https://bitwarden.com", + "repository": { + "type": "git", + "url": "https://github.com/bitwarden/clients" + }, + "license": "GPL-3.0", + "scripts": { + "clean": "rimraf dist", + "build": "npm run clean && tsc", + "build:watch": "npm run clean && tsc -watch" + }, + "dependencies": { + "@bitwarden/common": "file:../common", + "@bitwarden/exporter": "file:../exporter" + } +} diff --git a/security/bitwarden-cli/files/packagejsons/libs/node/package.json b/security/bitwarden-cli/files/packagejsons/libs/node/package.json new file mode 100644 index 000000000000..cbc7ec2c0570 --- /dev/null +++ b/security/bitwarden-cli/files/packagejsons/libs/node/package.json @@ -0,0 +1,23 @@ +{ + "name": "@bitwarden/node", + "version": "0.0.0", + "description": "Common code used across Bitwarden JavaScript projects.", + "keywords": [ + "bitwarden" + ], + "author": "Bitwarden Inc.", + "homepage": "https://bitwarden.com", + "repository": { + "type": "git", + "url": "https://github.com/bitwarden/jslib" + }, + "license": "GPL-3.0", + "scripts": { + "clean": "rimraf dist", + "build": "npm run clean && tsc", + "build:watch": "npm run clean && tsc -watch" + }, + "dependencies": { + "@bitwarden/common": "file:../common" + } +} diff --git a/security/bitwarden-cli/files/packagejsons/package-lock.json b/security/bitwarden-cli/files/packagejsons/package-lock.json new file mode 100644 index 000000000000..f73df896664f --- /dev/null +++ b/security/bitwarden-cli/files/packagejsons/package-lock.json @@ -0,0 +1,36091 @@ +{ + "name": "@bitwarden/clients", + "version": "0.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "@bitwarden/clients", + "version": "0.0.0", + "hasInstallScript": true, + "license": "GPL-3.0", + "workspaces": [ + "apps/*", + "apps/desktop/desktop_native", + "libs/*" + ], + "dependencies": { + "@angular/animations": "15.2.9", + "@angular/cdk": "15.2.9", + "@angular/common": "15.2.9", + "@angular/compiler": "15.2.9", + "@angular/core": "15.2.9", + "@angular/forms": "15.2.9", + "@angular/platform-browser": "15.2.9", + "@angular/platform-browser-dynamic": "15.2.9", + "@angular/router": "15.2.9", + "@koa/multer": "3.0.2", + "@koa/router": "12.0.0", + "@microsoft/signalr": "6.0.16", + "@microsoft/signalr-protocol-msgpack": "6.0.16", + "@ng-select/ng-select": "10.0.4", + "argon2": "0.30.3", + "argon2-browser": "1.18.0", + "big-integer": "1.6.51", + "bootstrap": "4.6.0", + "braintree-web-drop-in": "1.38.0", + "bufferutil": "4.0.7", + "chalk": "4.1.2", + "commander": "7.2.0", + "core-js": "3.30.2", + "date-input-polyfill": "2.14.0", + "duo_web_sdk": "github:duosecurity/duo_web_sdk", + "form-data": "4.0.0", + "https-proxy-agent": "5.0.1", + "inquirer": "8.2.5", + "jquery": "3.7.0", + "jsdom": "22.1.0", + "jszip": "3.10.1", + "koa": "2.14.2", + "koa-bodyparser": "4.4.0", + "koa-json": "2.0.2", + "lowdb": "1.0.0", + "lunr": "2.3.9", + "multer": "1.4.5-lts.1", + "ngx-infinite-scroll": "15.0.0", + "ngx-toastr": "16.2.0", + "node-fetch": "2.6.11", + "node-forge": "1.3.1", + "nord": "0.2.1", + "open": "8.4.2", + "papaparse": "5.4.1", + "patch-package": "6.5.1", + "popper.js": "1.16.1", + "proper-lockfile": "4.1.2", + "qrious": "4.0.2", + "rxjs": "7.8.1", + "sweetalert2": "10.16.11", + "tldts": "6.0.5", + "utf-8-validate": "5.0.10", + "zone.js": "0.12.0", + "zxcvbn": "4.4.2" + }, + "devDependencies": { + "@angular-devkit/build-angular": "15.2.8", + "@angular-eslint/eslint-plugin": "15.2.1", + "@angular-eslint/eslint-plugin-template": "15.2.1", + "@angular-eslint/template-parser": "15.2.1", + "@angular/cli": "15.2.8", + "@angular/compiler-cli": "15.2.9", + "@angular/elements": "15.2.9", + "@compodoc/compodoc": "1.1.21", + "@electron/notarize": "1.2.3", + "@electron/rebuild": "3.2.13", + "@fluffy-spoon/substitute": "1.208.0", + "@ngtools/webpack": "15.2.8", + "@storybook/addon-a11y": "7.0.18", + "@storybook/addon-actions": "7.0.18", + "@storybook/addon-essentials": "7.0.18", + "@storybook/addon-links": "7.0.18", + "@storybook/angular": "7.0.18", + "@types/argon2-browser": "1.18.1", + "@types/chrome": "0.0.237", + "@types/duo_web_sdk": "2.7.1", + "@types/firefox-webext-browser": "111.0.1", + "@types/inquirer": "8.2.6", + "@types/jest": "29.5.2", + "@types/jquery": "3.5.16", + "@types/jsdom": "21.1.1", + "@types/koa": "2.13.6", + "@types/koa__multer": "2.0.4", + "@types/koa__router": "12.0.0", + "@types/koa-bodyparser": "4.3.7", + "@types/koa-json": "2.0.20", + "@types/lowdb": "1.0.11", + "@types/lunr": "2.3.4", + "@types/node": "18.16.16", + "@types/node-fetch": "2.6.4", + "@types/node-forge": "1.3.2", + "@types/node-ipc": "9.2.0", + "@types/papaparse": "5.3.7", + "@types/proper-lockfile": "4.1.2", + "@types/react": "16.14.42", + "@types/retry": "0.12.2", + "@types/zxcvbn": "4.4.1", + "@typescript-eslint/eslint-plugin": "5.59.8", + "@typescript-eslint/parser": "5.59.8", + "autoprefixer": "10.4.14", + "base64-loader": "1.0.0", + "buffer": "6.0.3", + "chromatic": "6.18.0", + "clean-webpack-plugin": "4.0.0", + "concurrently": "8.1.0", + "copy-webpack-plugin": "11.0.0", + "cross-env": "7.0.3", + "css-loader": "6.8.1", + "del": "6.1.1", + "electron": "24.1.1", + "electron-builder": "^23.6.0", + "electron-log": "4.4.8", + "electron-reload": "2.0.0-alpha.1", + "electron-store": "8.1.0", + "electron-updater": "5.3.0", + "eslint": "8.42.0", + "eslint-config-prettier": "8.8.0", + "eslint-import-resolver-typescript": "3.5.5", + "eslint-plugin-import": "2.27.5", + "eslint-plugin-rxjs": "5.0.3", + "eslint-plugin-rxjs-angular": "2.0.1", + "eslint-plugin-tailwindcss": "3.12.1", + "gulp": "4.0.2", + "gulp-filter": "7.0.0", + "gulp-if": "3.0.0", + "gulp-json-editor": "2.5.6", + "gulp-replace": "1.1.4", + "gulp-zip": "5.1.0", + "html-loader": "4.2.0", + "html-webpack-injector": "1.1.4", + "html-webpack-plugin": "5.5.1", + "husky": "8.0.3", + "jest-junit": "16.0.0", + "jest-mock-extended": "3.0.4", + "jest-preset-angular": "13.1.1", + "lint-staged": "13.2.2", + "mini-css-extract-plugin": "2.7.6", + "node-ipc": "9.2.1", + "pkg": "vercel/pkg", + "postcss": "8.4.24", + "postcss-loader": "7.3.2", + "prettier": "2.8.8", + "prettier-plugin-tailwindcss": "0.3.0", + "process": "0.11.10", + "react": "18.2.0", + "react-dom": "18.2.0", + "regedit": "^3.0.3", + "remark-gfm": "3.0.1", + "rimraf": "5.0.1", + "sass": "1.62.1", + "sass-loader": "13.3.1", + "storybook": "7.0.18", + "style-loader": "3.3.3", + "tailwindcss": "3.3.2", + "ts-jest": "29.1.0", + "ts-loader": "9.4.3", + "tsconfig-paths-webpack-plugin": "4.0.1", + "type-fest": "2.19.0", + "typescript": "4.9.5", + "url": "0.11.0", + "util": "0.12.5", + "wait-on": "7.0.1", + "webpack": "5.85.0", + "webpack-cli": "5.1.3", + "webpack-dev-server": "4.15.0", + "webpack-node-externals": "3.0.0" + }, + "engines": { + "node": "~18", + "npm": "~9" + } + }, + "apps/browser": { + "name": "@bitwarden/browser", + "version": "2023.7.1" + }, + "apps/cli": { + "name": "@bitwarden/cli", + "version": "2023.7.0", + "license": "GPL-3.0-only", + "dependencies": { + "@koa/multer": "3.0.2", + "@koa/router": "12.0.0", + "argon2": "0.30.3", + "big-integer": "1.6.51", + "browser-hrtime": "1.1.8", + "chalk": "4.1.2", + "commander": "7.2.0", + "form-data": "4.0.0", + "https-proxy-agent": "5.0.1", + "inquirer": "8.2.5", + "jsdom": "22.1.0", + "jszip": "3.10.1", + "koa": "2.14.2", + "koa-bodyparser": "4.4.0", + "koa-json": "2.0.2", + "lowdb": "1.0.0", + "lunr": "2.3.9", + "multer": "1.4.5-lts.1", + "node-fetch": "2.6.11", + "node-forge": "1.3.1", + "open": "8.4.2", + "papaparse": "5.4.1", + "proper-lockfile": "4.1.2", + "rxjs": "7.8.1", + "tldts": "6.0.5", + "zxcvbn": "4.4.2" + }, + "bin": { + "bw": "build/bw.js" + } + }, + "apps/desktop": { + "name": "@bitwarden/desktop", + "version": "2023.7.0", + "hasInstallScript": true, + "license": "GPL-3.0" + }, + "apps/desktop/desktop_native": { + "name": "@bitwarden/desktop-native", + "version": "0.1.0", + "license": "GPL-3.0", + "devDependencies": { + "@napi-rs/cli": "2.16.1" + } + }, + "apps/web": { + "name": "@bitwarden/web-vault", + "version": "2023.7.0" + }, + "libs/angular": { + "name": "@bitwarden/angular", + "version": "0.0.0", + "license": "GPL-3.0" + }, + "libs/common": { + "name": "@bitwarden/common", + "version": "0.0.0", + "license": "GPL-3.0" + }, + "libs/components": { + "name": "@bitwarden/components", + "version": "0.0.0" + }, + "libs/exporter": { + "name": "@bitwarden/exporter", + "version": "0.0.0", + "license": "GPL-3.0", + "dependencies": { + "@bitwarden/common": "file:../common" + } + }, + "libs/importer": { + "name": "@bitwarden/importer", + "version": "0.0.0", + "license": "GPL-3.0", + "dependencies": { + "@bitwarden/common": "file:../common", + "@bitwarden/exporter": "file:../exporter" + } + }, + "libs/node": { + "name": "@bitwarden/node", + "version": "0.0.0", + "license": "GPL-3.0", + "dependencies": { + "@bitwarden/common": "file:../common" + } + }, + "node_modules/@aduh95/viz.js": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@aduh95/viz.js/-/viz.js-3.4.0.tgz", + "integrity": "sha512-KI2nVf9JdwWCXqK6RVf+9/096G7VWN4Z84mnynlyZKao2xQENW8WNEjLmvdlxS5X8PNWXFC1zqwm7tveOXw/4A==", + "dev": true + }, + "node_modules/@alloc/quick-lru": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", + "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", + "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", + "dependencies": { + "@jridgewell/gen-mapping": "^0.1.0", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@angular-devkit/architect": { + "version": "0.1600.3", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1600.3.tgz", + "integrity": "sha512-XEncYhrQDwHjDBWqSv9oeufzsYQNHVP+ftD0LWtqL4TvOwsJ5ShWEqkjXIfG9FiaIUtmd6X2BBXutbib/yALxA==", + "dev": true, + "peer": true, + "dependencies": { + "@angular-devkit/core": "16.0.3", + "rxjs": "7.8.1" + }, + "engines": { + "node": "^16.14.0 || >=18.10.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + } + }, + "node_modules/@angular-devkit/build-angular": { + "version": "15.2.8", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-15.2.8.tgz", + "integrity": "sha512-TGDnXhhOG6h6TOrWWzfnkha7wYBOXi7iJc1o1w1VKCayE3T6TZZdF847aK66vL9KG7AKYVdGhWEGw2WBHUBUpg==", + "dev": true, + "dependencies": { + "@ampproject/remapping": "2.2.0", + "@angular-devkit/architect": "0.1502.8", + "@angular-devkit/build-webpack": "0.1502.8", + "@angular-devkit/core": "15.2.8", + "@babel/core": "7.20.12", + "@babel/generator": "7.20.14", + "@babel/helper-annotate-as-pure": "7.18.6", + "@babel/helper-split-export-declaration": "7.18.6", + "@babel/plugin-proposal-async-generator-functions": "7.20.7", + "@babel/plugin-transform-async-to-generator": "7.20.7", + "@babel/plugin-transform-runtime": "7.19.6", + "@babel/preset-env": "7.20.2", + "@babel/runtime": "7.20.13", + "@babel/template": "7.20.7", + "@discoveryjs/json-ext": "0.5.7", + "@ngtools/webpack": "15.2.8", + "ansi-colors": "4.1.3", + "autoprefixer": "10.4.13", + "babel-loader": "9.1.2", + "babel-plugin-istanbul": "6.1.1", + "browserslist": "4.21.5", + "cacache": "17.0.4", + "chokidar": "3.5.3", + "copy-webpack-plugin": "11.0.0", *** 35992 LINES SKIPPED ***