mirror of
https://github.com/bitwarden/browser.git
synced 2024-11-22 11:45:59 +01:00
[SM-329] Merge libs/electron into desktop (#3989)
This commit is contained in:
parent
8e4e770ca3
commit
0a73290714
@ -86,7 +86,7 @@
|
|||||||
"error",
|
"error",
|
||||||
{
|
{
|
||||||
"zones": [
|
"zones": [
|
||||||
// Do not allow angular/node/electron code to be imported into common
|
// Do not allow angular/node code to be imported into common
|
||||||
{
|
{
|
||||||
"target": "./libs/common/**/*",
|
"target": "./libs/common/**/*",
|
||||||
"from": "./libs/angular/**/*"
|
"from": "./libs/angular/**/*"
|
||||||
@ -94,10 +94,6 @@
|
|||||||
{
|
{
|
||||||
"target": "./libs/common/**/*",
|
"target": "./libs/common/**/*",
|
||||||
"from": "./libs/node/**/*"
|
"from": "./libs/node/**/*"
|
||||||
},
|
|
||||||
{
|
|
||||||
"target": "./libs/common/**/*",
|
|
||||||
"from": "./libs/electron/**/*"
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
@ -131,12 +127,6 @@
|
|||||||
"rules": {
|
"rules": {
|
||||||
"no-restricted-imports": ["error", { "patterns": ["@bitwarden/node/*", "src/**/*"] }]
|
"no-restricted-imports": ["error", { "patterns": ["@bitwarden/node/*", "src/**/*"] }]
|
||||||
}
|
}
|
||||||
},
|
|
||||||
{
|
|
||||||
"files": ["libs/electron/src/**/*.ts"],
|
|
||||||
"rules": {
|
|
||||||
"no-restricted-imports": ["error", { "patterns": ["@bitwarden/electron/*", "src/**/*"] }]
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
10
.github/whitelist-capital-letters.txt
vendored
10
.github/whitelist-capital-letters.txt
vendored
@ -152,16 +152,6 @@
|
|||||||
./libs/common/src/services/bitwardenFileUpload.service.ts
|
./libs/common/src/services/bitwardenFileUpload.service.ts
|
||||||
./libs/common/src/services/webCryptoFunction.service.ts
|
./libs/common/src/services/webCryptoFunction.service.ts
|
||||||
./libs/common/src/interfaces/IEncrypted.ts
|
./libs/common/src/interfaces/IEncrypted.ts
|
||||||
./libs/electron/spec/services/electronLog.service.spec.ts
|
|
||||||
./libs/electron/src/baseMenu.ts
|
|
||||||
./libs/electron/src/services/electronLog.service.ts
|
|
||||||
./libs/electron/src/services/electronStorage.service.ts
|
|
||||||
./libs/electron/src/services/electronRendererMessaging.service.ts
|
|
||||||
./libs/electron/src/services/electronMainMessaging.service.ts
|
|
||||||
./libs/electron/src/services/electronPlatformUtils.service.ts
|
|
||||||
./libs/electron/src/services/electronRendererStorage.service.ts
|
|
||||||
./libs/electron/src/services/electronCrypto.service.ts
|
|
||||||
./libs/electron/src/services/electronRendererSecureStorage.service.ts
|
|
||||||
./README.md
|
./README.md
|
||||||
./LICENSE_BITWARDEN.txt
|
./LICENSE_BITWARDEN.txt
|
||||||
./CONTRIBUTING.md
|
./CONTRIBUTING.md
|
||||||
|
@ -7,7 +7,8 @@ import { EnvironmentService } from "@bitwarden/common/abstractions/environment.s
|
|||||||
import { I18nService } from "@bitwarden/common/abstractions/i18n.service";
|
import { I18nService } from "@bitwarden/common/abstractions/i18n.service";
|
||||||
import { PlatformUtilsService } from "@bitwarden/common/abstractions/platformUtils.service";
|
import { PlatformUtilsService } from "@bitwarden/common/abstractions/platformUtils.service";
|
||||||
import { Utils } from "@bitwarden/common/misc/utils";
|
import { Utils } from "@bitwarden/common/misc/utils";
|
||||||
import { getCookie } from "@bitwarden/electron/utils";
|
|
||||||
|
import { getCookie } from "../../utils";
|
||||||
|
|
||||||
const BroadcasterSubscriptionId = "AccessibilityCookieComponent";
|
const BroadcasterSubscriptionId = "AccessibilityCookieComponent";
|
||||||
|
|
||||||
|
@ -14,9 +14,9 @@ import { DeviceType } from "@bitwarden/common/enums/deviceType";
|
|||||||
import { StorageLocation } from "@bitwarden/common/enums/storageLocation";
|
import { StorageLocation } from "@bitwarden/common/enums/storageLocation";
|
||||||
import { ThemeType } from "@bitwarden/common/enums/themeType";
|
import { ThemeType } from "@bitwarden/common/enums/themeType";
|
||||||
import { Utils } from "@bitwarden/common/misc/utils";
|
import { Utils } from "@bitwarden/common/misc/utils";
|
||||||
import { isWindowsStore } from "@bitwarden/electron/utils";
|
|
||||||
|
|
||||||
import { flagEnabled } from "../../flags";
|
import { flagEnabled } from "../../flags";
|
||||||
|
import { isWindowsStore } from "../../utils";
|
||||||
import { SetPinComponent } from "../components/set-pin.component";
|
import { SetPinComponent } from "../components/set-pin.component";
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
import { enableProdMode } from "@angular/core";
|
import { enableProdMode } from "@angular/core";
|
||||||
import { platformBrowserDynamic } from "@angular/platform-browser-dynamic";
|
import { platformBrowserDynamic } from "@angular/platform-browser-dynamic";
|
||||||
|
|
||||||
import { isDev } from "@bitwarden/electron/utils";
|
import { isDev } from "../utils";
|
||||||
|
|
||||||
// tslint:disable-next-line
|
// tslint:disable-next-line
|
||||||
require("../scss/styles.scss");
|
require("../scss/styles.scss");
|
||||||
|
@ -10,8 +10,8 @@ import { PolicyService } from "@bitwarden/common/abstractions/policy/policy.serv
|
|||||||
import { SearchService } from "@bitwarden/common/abstractions/search.service";
|
import { SearchService } from "@bitwarden/common/abstractions/search.service";
|
||||||
import { SendService } from "@bitwarden/common/abstractions/send.service";
|
import { SendService } from "@bitwarden/common/abstractions/send.service";
|
||||||
import { SendView } from "@bitwarden/common/models/view/send.view";
|
import { SendView } from "@bitwarden/common/models/view/send.view";
|
||||||
import { invokeMenu, RendererMenuItem } from "@bitwarden/electron/utils";
|
|
||||||
|
|
||||||
|
import { invokeMenu, RendererMenuItem } from "../../utils";
|
||||||
import { SearchBarService } from "../layout/search/search-bar.service";
|
import { SearchBarService } from "../layout/search/search-bar.service";
|
||||||
|
|
||||||
import { AddEditComponent } from "./add-edit.component";
|
import { AddEditComponent } from "./add-edit.component";
|
||||||
|
@ -39,14 +39,14 @@ import { GlobalState } from "@bitwarden/common/models/domain/global-state";
|
|||||||
import { LoginService } from "@bitwarden/common/services/login.service";
|
import { LoginService } from "@bitwarden/common/services/login.service";
|
||||||
import { MemoryStorageService } from "@bitwarden/common/services/memoryStorage.service";
|
import { MemoryStorageService } from "@bitwarden/common/services/memoryStorage.service";
|
||||||
import { SystemService } from "@bitwarden/common/services/system.service";
|
import { SystemService } from "@bitwarden/common/services/system.service";
|
||||||
import { ElectronCryptoService } from "@bitwarden/electron/services/electronCrypto.service";
|
|
||||||
import { ElectronLogService } from "@bitwarden/electron/services/electronLog.service";
|
|
||||||
import { ElectronPlatformUtilsService } from "@bitwarden/electron/services/electronPlatformUtils.service";
|
|
||||||
import { ElectronRendererMessagingService } from "@bitwarden/electron/services/electronRendererMessaging.service";
|
|
||||||
import { ElectronRendererSecureStorageService } from "@bitwarden/electron/services/electronRendererSecureStorage.service";
|
|
||||||
import { ElectronRendererStorageService } from "@bitwarden/electron/services/electronRendererStorage.service";
|
|
||||||
|
|
||||||
import { Account } from "../../models/account";
|
import { Account } from "../../models/account";
|
||||||
|
import { ElectronCryptoService } from "../../services/electron-crypto.service";
|
||||||
|
import { ElectronLogService } from "../../services/electron-log.service";
|
||||||
|
import { ElectronPlatformUtilsService } from "../../services/electron-platform-utils.service";
|
||||||
|
import { ElectronRendererMessagingService } from "../../services/electron-renderer-messaging.service";
|
||||||
|
import { ElectronRendererSecureStorageService } from "../../services/electron-renderer-secure-storage.service";
|
||||||
|
import { ElectronRendererStorageService } from "../../services/electron-renderer-storage.service";
|
||||||
import { EncryptedMessageHandlerService } from "../../services/encrypted-message-handler.service";
|
import { EncryptedMessageHandlerService } from "../../services/encrypted-message-handler.service";
|
||||||
import { I18nService } from "../../services/i18n.service";
|
import { I18nService } from "../../services/i18n.service";
|
||||||
import { NativeMessageHandlerService } from "../../services/native-message-handler.service";
|
import { NativeMessageHandlerService } from "../../services/native-message-handler.service";
|
||||||
|
@ -27,8 +27,8 @@ import { CipherType } from "@bitwarden/common/enums/cipherType";
|
|||||||
import { EventType } from "@bitwarden/common/enums/eventType";
|
import { EventType } from "@bitwarden/common/enums/eventType";
|
||||||
import { CipherView } from "@bitwarden/common/models/view/cipher.view";
|
import { CipherView } from "@bitwarden/common/models/view/cipher.view";
|
||||||
import { FolderView } from "@bitwarden/common/models/view/folder.view";
|
import { FolderView } from "@bitwarden/common/models/view/folder.view";
|
||||||
import { invokeMenu, RendererMenuItem } from "@bitwarden/electron/utils";
|
|
||||||
|
|
||||||
|
import { invokeMenu, RendererMenuItem } from "../../utils";
|
||||||
import { SearchBarService } from "../layout/search/search-bar.service";
|
import { SearchBarService } from "../layout/search/search-bar.service";
|
||||||
|
|
||||||
import { AddEditComponent } from "./add-edit.component";
|
import { AddEditComponent } from "./add-edit.component";
|
||||||
|
@ -6,12 +6,6 @@ import { StateFactory } from "@bitwarden/common/factories/stateFactory";
|
|||||||
import { GlobalState } from "@bitwarden/common/models/domain/global-state";
|
import { GlobalState } from "@bitwarden/common/models/domain/global-state";
|
||||||
import { MemoryStorageService } from "@bitwarden/common/services/memoryStorage.service";
|
import { MemoryStorageService } from "@bitwarden/common/services/memoryStorage.service";
|
||||||
import { StateService } from "@bitwarden/common/services/state.service";
|
import { StateService } from "@bitwarden/common/services/state.service";
|
||||||
import { ElectronLogService } from "@bitwarden/electron/services/electronLog.service";
|
|
||||||
import { ElectronMainMessagingService } from "@bitwarden/electron/services/electronMainMessaging.service";
|
|
||||||
import { ElectronStorageService } from "@bitwarden/electron/services/electronStorage.service";
|
|
||||||
import { TrayMain } from "@bitwarden/electron/tray.main";
|
|
||||||
import { UpdaterMain } from "@bitwarden/electron/updater.main";
|
|
||||||
import { WindowMain } from "@bitwarden/electron/window.main";
|
|
||||||
|
|
||||||
import { BiometricMain } from "./main/biometric/biometric.main";
|
import { BiometricMain } from "./main/biometric/biometric.main";
|
||||||
import { DesktopCredentialStorageListener } from "./main/desktop-credential-storage-listener";
|
import { DesktopCredentialStorageListener } from "./main/desktop-credential-storage-listener";
|
||||||
@ -19,7 +13,13 @@ import { MenuMain } from "./main/menu/menu.main";
|
|||||||
import { MessagingMain } from "./main/messaging.main";
|
import { MessagingMain } from "./main/messaging.main";
|
||||||
import { NativeMessagingMain } from "./main/native-messaging.main";
|
import { NativeMessagingMain } from "./main/native-messaging.main";
|
||||||
import { PowerMonitorMain } from "./main/power-monitor.main";
|
import { PowerMonitorMain } from "./main/power-monitor.main";
|
||||||
|
import { TrayMain } from "./main/tray.main";
|
||||||
|
import { UpdaterMain } from "./main/updater.main";
|
||||||
|
import { WindowMain } from "./main/window.main";
|
||||||
import { Account } from "./models/account";
|
import { Account } from "./models/account";
|
||||||
|
import { ElectronLogService } from "./services/electron-log.service";
|
||||||
|
import { ElectronMainMessagingService } from "./services/electron-main-messaging.service";
|
||||||
|
import { ElectronStorageService } from "./services/electron-storage.service";
|
||||||
import { I18nService } from "./services/i18n.service";
|
import { I18nService } from "./services/i18n.service";
|
||||||
|
|
||||||
export class Main {
|
export class Main {
|
||||||
@ -105,15 +105,7 @@ export class Main {
|
|||||||
(win) => this.trayMain.setupWindowListeners(win)
|
(win) => this.trayMain.setupWindowListeners(win)
|
||||||
);
|
);
|
||||||
this.messagingMain = new MessagingMain(this, this.stateService);
|
this.messagingMain = new MessagingMain(this, this.stateService);
|
||||||
this.updaterMain = new UpdaterMain(
|
this.updaterMain = new UpdaterMain(this.i18nService, this.windowMain, "bitwarden");
|
||||||
this.i18nService,
|
|
||||||
this.windowMain,
|
|
||||||
"clients",
|
|
||||||
null,
|
|
||||||
null,
|
|
||||||
null,
|
|
||||||
"bitwarden"
|
|
||||||
);
|
|
||||||
this.menuMain = new MenuMain(this);
|
this.menuMain = new MenuMain(this);
|
||||||
this.powerMonitorMain = new PowerMonitorMain(this);
|
this.powerMonitorMain = new PowerMonitorMain(this);
|
||||||
this.trayMain = new TrayMain(this.windowMain, this.i18nService, this.stateService);
|
this.trayMain = new TrayMain(this.windowMain, this.i18nService, this.stateService);
|
||||||
|
@ -4,7 +4,8 @@ import { I18nService } from "@bitwarden/common/abstractions/i18n.service";
|
|||||||
import { LogService } from "@bitwarden/common/abstractions/log.service";
|
import { LogService } from "@bitwarden/common/abstractions/log.service";
|
||||||
import { StateService } from "@bitwarden/common/abstractions/state.service";
|
import { StateService } from "@bitwarden/common/abstractions/state.service";
|
||||||
import { biometrics } from "@bitwarden/desktop-native";
|
import { biometrics } from "@bitwarden/desktop-native";
|
||||||
import { WindowMain } from "@bitwarden/electron/window.main";
|
|
||||||
|
import { WindowMain } from "../window.main";
|
||||||
|
|
||||||
import { BiometricMain } from "./biometric.main";
|
import { BiometricMain } from "./biometric.main";
|
||||||
|
|
||||||
|
@ -1,8 +1,9 @@
|
|||||||
import { BrowserWindow, clipboard, dialog, MenuItemConstructorOptions } from "electron";
|
import { BrowserWindow, clipboard, dialog, MenuItemConstructorOptions } from "electron";
|
||||||
|
|
||||||
import { I18nService } from "@bitwarden/common/abstractions/i18n.service";
|
import { I18nService } from "@bitwarden/common/abstractions/i18n.service";
|
||||||
import { UpdaterMain } from "@bitwarden/electron/updater.main";
|
|
||||||
import { isMacAppStore, isSnapStore, isWindowsStore } from "@bitwarden/electron/utils";
|
import { isMacAppStore, isSnapStore, isWindowsStore } from "../../utils";
|
||||||
|
import { UpdaterMain } from "../updater.main";
|
||||||
|
|
||||||
import { IMenubarMenu } from "./menubar";
|
import { IMenubarMenu } from "./menubar";
|
||||||
|
|
||||||
|
@ -2,7 +2,8 @@ import { BrowserWindow, dialog, MenuItemConstructorOptions, shell } from "electr
|
|||||||
|
|
||||||
import { I18nService } from "@bitwarden/common/abstractions/i18n.service";
|
import { I18nService } from "@bitwarden/common/abstractions/i18n.service";
|
||||||
import { MessagingService } from "@bitwarden/common/abstractions/messaging.service";
|
import { MessagingService } from "@bitwarden/common/abstractions/messaging.service";
|
||||||
import { isMacAppStore, isWindowsStore } from "@bitwarden/electron/utils";
|
|
||||||
|
import { isMacAppStore, isWindowsStore } from "../../utils";
|
||||||
|
|
||||||
import { IMenubarMenu } from "./menubar";
|
import { IMenubarMenu } from "./menubar";
|
||||||
|
|
||||||
|
@ -2,8 +2,9 @@ import { BrowserWindow, MenuItemConstructorOptions } from "electron";
|
|||||||
|
|
||||||
import { I18nService } from "@bitwarden/common/abstractions/i18n.service";
|
import { I18nService } from "@bitwarden/common/abstractions/i18n.service";
|
||||||
import { MessagingService } from "@bitwarden/common/abstractions/messaging.service";
|
import { MessagingService } from "@bitwarden/common/abstractions/messaging.service";
|
||||||
import { UpdaterMain } from "@bitwarden/electron/updater.main";
|
|
||||||
import { isMac } from "@bitwarden/electron/utils";
|
import { isMac } from "../../utils";
|
||||||
|
import { UpdaterMain } from "../updater.main";
|
||||||
|
|
||||||
import { FirstMenu } from "./menu.first";
|
import { FirstMenu } from "./menu.first";
|
||||||
import { MenuAccount } from "./menu.updater";
|
import { MenuAccount } from "./menu.updater";
|
||||||
|
@ -2,8 +2,9 @@ import { BrowserWindow, MenuItemConstructorOptions } from "electron";
|
|||||||
|
|
||||||
import { I18nService } from "@bitwarden/common/abstractions/i18n.service";
|
import { I18nService } from "@bitwarden/common/abstractions/i18n.service";
|
||||||
import { MessagingService } from "@bitwarden/common/abstractions/messaging.service";
|
import { MessagingService } from "@bitwarden/common/abstractions/messaging.service";
|
||||||
import { UpdaterMain } from "@bitwarden/electron/updater.main";
|
|
||||||
import { isMac, isMacAppStore } from "@bitwarden/electron/utils";
|
import { isMac, isMacAppStore } from "../../utils";
|
||||||
|
import { UpdaterMain } from "../updater.main";
|
||||||
|
|
||||||
import { FirstMenu } from "./menu.first";
|
import { FirstMenu } from "./menu.first";
|
||||||
import { MenuAccount } from "./menu.updater";
|
import { MenuAccount } from "./menu.updater";
|
||||||
|
@ -2,8 +2,9 @@ import { BrowserWindow, dialog, MenuItem, MenuItemConstructorOptions } from "ele
|
|||||||
|
|
||||||
import { I18nService } from "@bitwarden/common/abstractions/i18n.service";
|
import { I18nService } from "@bitwarden/common/abstractions/i18n.service";
|
||||||
import { MessagingService } from "@bitwarden/common/abstractions/messaging.service";
|
import { MessagingService } from "@bitwarden/common/abstractions/messaging.service";
|
||||||
import { UpdaterMain } from "@bitwarden/electron/updater.main";
|
|
||||||
import { isMacAppStore, isSnapStore, isWindowsStore } from "@bitwarden/electron/utils";
|
import { isMacAppStore, isSnapStore, isWindowsStore } from "../../utils";
|
||||||
|
import { UpdaterMain } from "../updater.main";
|
||||||
|
|
||||||
import { MenuAccount } from "./menu.updater";
|
import { MenuAccount } from "./menu.updater";
|
||||||
|
|
||||||
|
@ -1,7 +1,8 @@
|
|||||||
import { shell, MenuItemConstructorOptions } from "electron";
|
import { shell, MenuItemConstructorOptions } from "electron";
|
||||||
|
|
||||||
import { I18nService } from "@bitwarden/common/abstractions/i18n.service";
|
import { I18nService } from "@bitwarden/common/abstractions/i18n.service";
|
||||||
import { isMacAppStore, isWindowsStore } from "@bitwarden/electron/utils";
|
|
||||||
|
import { isMacAppStore, isWindowsStore } from "../../utils";
|
||||||
|
|
||||||
import { AboutMenu } from "./menu.about";
|
import { AboutMenu } from "./menu.about";
|
||||||
import { IMenubarMenu } from "./menubar";
|
import { IMenubarMenu } from "./menubar";
|
||||||
|
@ -1,17 +1,22 @@
|
|||||||
import { app, Menu } from "electron";
|
import { app, Menu } from "electron";
|
||||||
|
|
||||||
import { BaseMenu } from "@bitwarden/electron/baseMenu";
|
import { I18nService } from "@bitwarden/common/abstractions/i18n.service";
|
||||||
|
|
||||||
import { Main } from "../../main";
|
import { Main } from "../../main";
|
||||||
|
import { WindowMain } from "../window.main";
|
||||||
|
|
||||||
import { MenuUpdateRequest } from "./menu.updater";
|
import { MenuUpdateRequest } from "./menu.updater";
|
||||||
import { Menubar } from "./menubar";
|
import { Menubar } from "./menubar";
|
||||||
|
|
||||||
const cloudWebVaultUrl = "https://vault.bitwarden.com";
|
const cloudWebVaultUrl = "https://vault.bitwarden.com";
|
||||||
|
|
||||||
export class MenuMain extends BaseMenu {
|
export class MenuMain {
|
||||||
|
private i18nService: I18nService;
|
||||||
|
private windowMain: WindowMain;
|
||||||
|
|
||||||
constructor(private main: Main) {
|
constructor(private main: Main) {
|
||||||
super(main.i18nService, main.windowMain);
|
this.i18nService = main.i18nService;
|
||||||
|
this.windowMain = main.windowMain;
|
||||||
}
|
}
|
||||||
|
|
||||||
async init() {
|
async init() {
|
||||||
@ -49,4 +54,84 @@ export class MenuMain extends BaseMenu {
|
|||||||
}
|
}
|
||||||
return webVaultUrl;
|
return webVaultUrl;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private initContextMenu() {
|
||||||
|
if (this.windowMain.win == null) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
const selectionMenu = Menu.buildFromTemplate([
|
||||||
|
{
|
||||||
|
label: this.i18nService.t("copy"),
|
||||||
|
role: "copy",
|
||||||
|
},
|
||||||
|
{ type: "separator" },
|
||||||
|
{
|
||||||
|
label: this.i18nService.t("selectAll"),
|
||||||
|
role: "selectAll",
|
||||||
|
},
|
||||||
|
]);
|
||||||
|
|
||||||
|
const inputMenu = Menu.buildFromTemplate([
|
||||||
|
{
|
||||||
|
label: this.i18nService.t("undo"),
|
||||||
|
role: "undo",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: this.i18nService.t("redo"),
|
||||||
|
role: "redo",
|
||||||
|
},
|
||||||
|
{ type: "separator" },
|
||||||
|
{
|
||||||
|
label: this.i18nService.t("cut"),
|
||||||
|
role: "cut",
|
||||||
|
enabled: false,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: this.i18nService.t("copy"),
|
||||||
|
role: "copy",
|
||||||
|
enabled: false,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: this.i18nService.t("paste"),
|
||||||
|
role: "paste",
|
||||||
|
},
|
||||||
|
{ type: "separator" },
|
||||||
|
{
|
||||||
|
label: this.i18nService.t("selectAll"),
|
||||||
|
role: "selectAll",
|
||||||
|
},
|
||||||
|
]);
|
||||||
|
|
||||||
|
const inputSelectionMenu = Menu.buildFromTemplate([
|
||||||
|
{
|
||||||
|
label: this.i18nService.t("cut"),
|
||||||
|
role: "cut",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: this.i18nService.t("copy"),
|
||||||
|
role: "copy",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: this.i18nService.t("paste"),
|
||||||
|
role: "paste",
|
||||||
|
},
|
||||||
|
{ type: "separator" },
|
||||||
|
{
|
||||||
|
label: this.i18nService.t("selectAll"),
|
||||||
|
role: "selectAll",
|
||||||
|
},
|
||||||
|
]);
|
||||||
|
|
||||||
|
this.windowMain.win.webContents.on("context-menu", (e, props) => {
|
||||||
|
const selected = props.selectionText && props.selectionText.trim() !== "";
|
||||||
|
if (props.isEditable && selected) {
|
||||||
|
inputSelectionMenu.popup({ window: this.windowMain.win });
|
||||||
|
} else if (props.isEditable) {
|
||||||
|
inputMenu.popup({ window: this.windowMain.win });
|
||||||
|
} else if (selected) {
|
||||||
|
selectionMenu.popup({ window: this.windowMain.win });
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -2,8 +2,9 @@ import { MenuItemConstructorOptions } from "electron";
|
|||||||
|
|
||||||
import { I18nService } from "@bitwarden/common/abstractions/i18n.service";
|
import { I18nService } from "@bitwarden/common/abstractions/i18n.service";
|
||||||
import { MessagingService } from "@bitwarden/common/abstractions/messaging.service";
|
import { MessagingService } from "@bitwarden/common/abstractions/messaging.service";
|
||||||
import { isMac } from "@bitwarden/electron/utils";
|
|
||||||
import { WindowMain } from "@bitwarden/electron/window.main";
|
import { isMac } from "../../utils";
|
||||||
|
import { WindowMain } from "../window.main";
|
||||||
|
|
||||||
import { IMenubarMenu } from "./menubar";
|
import { IMenubarMenu } from "./menubar";
|
||||||
|
|
||||||
|
@ -2,9 +2,10 @@ import { Menu, MenuItemConstructorOptions } from "electron";
|
|||||||
|
|
||||||
import { I18nService } from "@bitwarden/common/abstractions/i18n.service";
|
import { I18nService } from "@bitwarden/common/abstractions/i18n.service";
|
||||||
import { MessagingService } from "@bitwarden/common/abstractions/messaging.service";
|
import { MessagingService } from "@bitwarden/common/abstractions/messaging.service";
|
||||||
import { UpdaterMain } from "@bitwarden/electron/updater.main";
|
|
||||||
import { isMac } from "@bitwarden/electron/utils";
|
import { isMac } from "../../utils";
|
||||||
import { WindowMain } from "@bitwarden/electron/window.main";
|
import { UpdaterMain } from "../updater.main";
|
||||||
|
import { WindowMain } from "../window.main";
|
||||||
|
|
||||||
import { AboutMenu } from "./menu.about";
|
import { AboutMenu } from "./menu.about";
|
||||||
import { AccountMenu } from "./menu.account";
|
import { AccountMenu } from "./menu.account";
|
||||||
|
@ -8,7 +8,8 @@ import { ipcMain } from "electron";
|
|||||||
import * as ipc from "node-ipc";
|
import * as ipc from "node-ipc";
|
||||||
|
|
||||||
import { LogService } from "@bitwarden/common/abstractions/log.service";
|
import { LogService } from "@bitwarden/common/abstractions/log.service";
|
||||||
import { WindowMain } from "@bitwarden/electron/window.main";
|
|
||||||
|
import { WindowMain } from "./window.main";
|
||||||
|
|
||||||
export class NativeMessagingMain {
|
export class NativeMessagingMain {
|
||||||
private connected: Socket[] = [];
|
private connected: Socket[] = [];
|
||||||
|
@ -1,8 +1,7 @@
|
|||||||
import { powerMonitor } from "electron";
|
import { powerMonitor } from "electron";
|
||||||
|
|
||||||
import { isSnapStore } from "@bitwarden/electron/utils";
|
|
||||||
|
|
||||||
import { Main } from "../main";
|
import { Main } from "../main";
|
||||||
|
import { isSnapStore } from "../utils";
|
||||||
|
|
||||||
// tslint:disable-next-line
|
// tslint:disable-next-line
|
||||||
const IdleLockSeconds = 5 * 60; // 5 minutes
|
const IdleLockSeconds = 5 * 60; // 5 minutes
|
||||||
|
@ -4,10 +4,11 @@ import { autoUpdater } from "electron-updater";
|
|||||||
|
|
||||||
import { I18nService } from "@bitwarden/common/abstractions/i18n.service";
|
import { I18nService } from "@bitwarden/common/abstractions/i18n.service";
|
||||||
|
|
||||||
import { isAppImage, isDev, isMacAppStore, isWindowsPortable, isWindowsStore } from "./utils";
|
import { isAppImage, isDev, isMacAppStore, isWindowsPortable, isWindowsStore } from "../utils";
|
||||||
|
|
||||||
import { WindowMain } from "./window.main";
|
import { WindowMain } from "./window.main";
|
||||||
|
|
||||||
const UpdaterCheckInitalDelay = 5 * 1000; // 5 seconds
|
const UpdaterCheckInitialDelay = 5 * 1000; // 5 seconds
|
||||||
const UpdaterCheckInterval = 12 * 60 * 60 * 1000; // 12 hours
|
const UpdaterCheckInterval = 12 * 60 * 60 * 1000; // 12 hours
|
||||||
|
|
||||||
export class UpdaterMain {
|
export class UpdaterMain {
|
||||||
@ -18,10 +19,6 @@ export class UpdaterMain {
|
|||||||
constructor(
|
constructor(
|
||||||
private i18nService: I18nService,
|
private i18nService: I18nService,
|
||||||
private windowMain: WindowMain,
|
private windowMain: WindowMain,
|
||||||
private gitHubProject: string,
|
|
||||||
private onCheckingForUpdate: () => void = null,
|
|
||||||
private onReset: () => void = null,
|
|
||||||
private onUpdateDownloaded: () => void = null,
|
|
||||||
private projectName: string
|
private projectName: string
|
||||||
) {
|
) {
|
||||||
autoUpdater.logger = log;
|
autoUpdater.logger = log;
|
||||||
@ -36,13 +33,10 @@ export class UpdaterMain {
|
|||||||
}
|
}
|
||||||
|
|
||||||
async init() {
|
async init() {
|
||||||
global.setTimeout(async () => await this.checkForUpdate(), UpdaterCheckInitalDelay);
|
global.setTimeout(async () => await this.checkForUpdate(), UpdaterCheckInitialDelay);
|
||||||
global.setInterval(async () => await this.checkForUpdate(), UpdaterCheckInterval);
|
global.setInterval(async () => await this.checkForUpdate(), UpdaterCheckInterval);
|
||||||
|
|
||||||
autoUpdater.on("checking-for-update", () => {
|
autoUpdater.on("checking-for-update", () => {
|
||||||
if (this.onCheckingForUpdate != null) {
|
|
||||||
this.onCheckingForUpdate();
|
|
||||||
}
|
|
||||||
this.doingUpdateCheck = true;
|
this.doingUpdateCheck = true;
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -87,10 +81,6 @@ export class UpdaterMain {
|
|||||||
});
|
});
|
||||||
|
|
||||||
autoUpdater.on("update-downloaded", async (info) => {
|
autoUpdater.on("update-downloaded", async (info) => {
|
||||||
if (this.onUpdateDownloaded != null) {
|
|
||||||
this.onUpdateDownloaded();
|
|
||||||
}
|
|
||||||
|
|
||||||
if (this.windowMain.win == null) {
|
if (this.windowMain.win == null) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -132,7 +122,7 @@ export class UpdaterMain {
|
|||||||
|
|
||||||
if (!this.canUpdate) {
|
if (!this.canUpdate) {
|
||||||
if (withFeedback) {
|
if (withFeedback) {
|
||||||
shell.openExternal("https://github.com/bitwarden/" + this.gitHubProject + "/releases");
|
shell.openExternal("https://github.com/bitwarden/clients/releases");
|
||||||
}
|
}
|
||||||
|
|
||||||
return;
|
return;
|
||||||
@ -147,9 +137,6 @@ export class UpdaterMain {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private reset() {
|
private reset() {
|
||||||
if (this.onReset != null) {
|
|
||||||
this.onReset();
|
|
||||||
}
|
|
||||||
autoUpdater.autoDownload = true;
|
autoUpdater.autoDownload = true;
|
||||||
this.doingUpdateCheck = false;
|
this.doingUpdateCheck = false;
|
||||||
}
|
}
|
@ -6,7 +6,7 @@ import { app, BrowserWindow, screen } from "electron";
|
|||||||
import { LogService } from "@bitwarden/common/abstractions/log.service";
|
import { LogService } from "@bitwarden/common/abstractions/log.service";
|
||||||
import { StateService } from "@bitwarden/common/abstractions/state.service";
|
import { StateService } from "@bitwarden/common/abstractions/state.service";
|
||||||
|
|
||||||
import { cleanUserAgent, isDev, isMacAppStore, isSnapStore } from "./utils";
|
import { cleanUserAgent, isDev, isMacAppStore, isSnapStore } from "../utils";
|
||||||
|
|
||||||
const mainWindowSizeKey = "mainWindowSize";
|
const mainWindowSizeKey = "mainWindowSize";
|
||||||
const WindowEventHandlingDelay = 100;
|
const WindowEventHandlingDelay = 100;
|
@ -1,4 +1,4 @@
|
|||||||
import { ElectronLogService } from "@bitwarden/electron/services/electronLog.service";
|
import { ElectronLogService } from "./electron-log.service";
|
||||||
|
|
||||||
describe("ElectronLogService", () => {
|
describe("ElectronLogService", () => {
|
||||||
it("sets dev based on electron method", () => {
|
it("sets dev based on electron method", () => {
|
@ -3,8 +3,8 @@ import { app, dialog, ipcMain, Menu, MenuItem, nativeTheme, session } from "elec
|
|||||||
import { MessagingService } from "@bitwarden/common/abstractions/messaging.service";
|
import { MessagingService } from "@bitwarden/common/abstractions/messaging.service";
|
||||||
import { ThemeType } from "@bitwarden/common/enums/themeType";
|
import { ThemeType } from "@bitwarden/common/enums/themeType";
|
||||||
|
|
||||||
|
import { WindowMain } from "../main/window.main";
|
||||||
import { RendererMenuItem } from "../utils";
|
import { RendererMenuItem } from "../utils";
|
||||||
import { WindowMain } from "../window.main";
|
|
||||||
|
|
||||||
export class ElectronMainMessagingService implements MessagingService {
|
export class ElectronMainMessagingService implements MessagingService {
|
||||||
constructor(private windowMain: WindowMain, private onMessage: (message: any) => void) {
|
constructor(private windowMain: WindowMain, private onMessage: (message: any) => void) {
|
@ -1,4 +1,4 @@
|
|||||||
import { cleanUserAgent } from "@bitwarden/electron/utils";
|
import { cleanUserAgent } from "./utils";
|
||||||
|
|
||||||
const expectedUserAgent = `Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/${process.versions.chrome} Safari/537.36`;
|
const expectedUserAgent = `Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/${process.versions.chrome} Safari/537.36`;
|
||||||
|
|
@ -11,8 +11,7 @@
|
|||||||
"baseUrl": ".",
|
"baseUrl": ".",
|
||||||
"paths": {
|
"paths": {
|
||||||
"@bitwarden/common/*": ["../../libs/common/src/*"],
|
"@bitwarden/common/*": ["../../libs/common/src/*"],
|
||||||
"@bitwarden/angular/*": ["../../libs/angular/src/*"],
|
"@bitwarden/angular/*": ["../../libs/angular/src/*"]
|
||||||
"@bitwarden/electron/*": ["../../libs/electron/src/*"]
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"angularCompilerOptions": {
|
"angularCompilerOptions": {
|
||||||
|
@ -19,7 +19,6 @@ module.exports = {
|
|||||||
"<rootDir>/libs/angular/jest.config.js",
|
"<rootDir>/libs/angular/jest.config.js",
|
||||||
"<rootDir>/libs/common/jest.config.js",
|
"<rootDir>/libs/common/jest.config.js",
|
||||||
"<rootDir>/libs/components/jest.config.js",
|
"<rootDir>/libs/components/jest.config.js",
|
||||||
"<rootDir>/libs/electron/jest.config.js",
|
|
||||||
"<rootDir>/libs/node/jest.config.js",
|
"<rootDir>/libs/node/jest.config.js",
|
||||||
],
|
],
|
||||||
|
|
||||||
|
@ -1,14 +0,0 @@
|
|||||||
const { pathsToModuleNameMapper } = require("ts-jest");
|
|
||||||
|
|
||||||
const { compilerOptions } = require("../shared/tsconfig.libs");
|
|
||||||
|
|
||||||
const sharedConfig = require("../../libs/shared/jest.config.base");
|
|
||||||
|
|
||||||
module.exports = {
|
|
||||||
...sharedConfig,
|
|
||||||
preset: "ts-jest",
|
|
||||||
testEnvironment: "jsdom",
|
|
||||||
moduleNameMapper: pathsToModuleNameMapper(compilerOptions?.paths || {}, {
|
|
||||||
prefix: "<rootDir>/",
|
|
||||||
}),
|
|
||||||
};
|
|
@ -1,23 +0,0 @@
|
|||||||
{
|
|
||||||
"name": "@bitwarden/electron",
|
|
||||||
"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"
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,225 +0,0 @@
|
|||||||
import { Menu, MenuItemConstructorOptions } from "electron";
|
|
||||||
|
|
||||||
import { I18nService } from "@bitwarden/common/abstractions/i18n.service";
|
|
||||||
|
|
||||||
import { WindowMain } from "./window.main";
|
|
||||||
|
|
||||||
export class BaseMenu {
|
|
||||||
protected editMenuItemOptions: MenuItemConstructorOptions;
|
|
||||||
protected viewSubMenuItemOptions: MenuItemConstructorOptions[];
|
|
||||||
protected windowMenuItemOptions: MenuItemConstructorOptions;
|
|
||||||
protected macAppMenuItemOptions: MenuItemConstructorOptions[];
|
|
||||||
protected macWindowSubmenuOptions: MenuItemConstructorOptions[];
|
|
||||||
|
|
||||||
constructor(protected i18nService: I18nService, protected windowMain: WindowMain) {}
|
|
||||||
|
|
||||||
protected initProperties() {
|
|
||||||
this.editMenuItemOptions = {
|
|
||||||
label: this.i18nService.t("edit"),
|
|
||||||
submenu: [
|
|
||||||
{
|
|
||||||
label: this.i18nService.t("undo"),
|
|
||||||
role: "undo",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: this.i18nService.t("redo"),
|
|
||||||
role: "redo",
|
|
||||||
},
|
|
||||||
{ type: "separator" },
|
|
||||||
{
|
|
||||||
label: this.i18nService.t("cut"),
|
|
||||||
role: "cut",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: this.i18nService.t("copy"),
|
|
||||||
role: "copy",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: this.i18nService.t("paste"),
|
|
||||||
role: "paste",
|
|
||||||
},
|
|
||||||
{ type: "separator" },
|
|
||||||
{
|
|
||||||
label: this.i18nService.t("selectAll"),
|
|
||||||
role: "selectAll",
|
|
||||||
},
|
|
||||||
],
|
|
||||||
};
|
|
||||||
|
|
||||||
this.viewSubMenuItemOptions = [
|
|
||||||
{
|
|
||||||
label: this.i18nService.t("zoomIn"),
|
|
||||||
role: "zoomIn",
|
|
||||||
accelerator: "CmdOrCtrl+=",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: this.i18nService.t("zoomOut"),
|
|
||||||
role: "zoomOut",
|
|
||||||
accelerator: "CmdOrCtrl+-",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: this.i18nService.t("resetZoom"),
|
|
||||||
role: "resetZoom",
|
|
||||||
accelerator: "CmdOrCtrl+0",
|
|
||||||
},
|
|
||||||
{ type: "separator" },
|
|
||||||
{
|
|
||||||
label: this.i18nService.t("toggleFullScreen"),
|
|
||||||
role: "togglefullscreen",
|
|
||||||
},
|
|
||||||
{ type: "separator" },
|
|
||||||
{
|
|
||||||
label: this.i18nService.t("reload"),
|
|
||||||
role: "forceReload",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: this.i18nService.t("toggleDevTools"),
|
|
||||||
role: "toggleDevTools",
|
|
||||||
accelerator: "F12",
|
|
||||||
},
|
|
||||||
];
|
|
||||||
|
|
||||||
this.windowMenuItemOptions = {
|
|
||||||
label: this.i18nService.t("window"),
|
|
||||||
role: "window",
|
|
||||||
submenu: [
|
|
||||||
{
|
|
||||||
label: this.i18nService.t("minimize"),
|
|
||||||
role: "minimize",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: this.i18nService.t("close"),
|
|
||||||
role: "close",
|
|
||||||
},
|
|
||||||
],
|
|
||||||
};
|
|
||||||
|
|
||||||
if (process.platform === "darwin") {
|
|
||||||
this.macAppMenuItemOptions = [
|
|
||||||
{
|
|
||||||
label: this.i18nService.t("services"),
|
|
||||||
role: "services",
|
|
||||||
submenu: [],
|
|
||||||
},
|
|
||||||
{ type: "separator" },
|
|
||||||
{
|
|
||||||
label: this.i18nService.t("hideBitwarden"),
|
|
||||||
role: "hide",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: this.i18nService.t("hideOthers"),
|
|
||||||
role: "hideOthers",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: this.i18nService.t("showAll"),
|
|
||||||
role: "unhide",
|
|
||||||
},
|
|
||||||
{ type: "separator" },
|
|
||||||
{
|
|
||||||
label: this.i18nService.t("quitBitwarden"),
|
|
||||||
role: "quit",
|
|
||||||
},
|
|
||||||
];
|
|
||||||
|
|
||||||
this.macWindowSubmenuOptions = [
|
|
||||||
{
|
|
||||||
label: this.i18nService.t("minimize"),
|
|
||||||
role: "minimize",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: this.i18nService.t("zoom"),
|
|
||||||
role: "zoom",
|
|
||||||
},
|
|
||||||
{ type: "separator" },
|
|
||||||
{
|
|
||||||
label: this.i18nService.t("bringAllToFront"),
|
|
||||||
role: "front",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: this.i18nService.t("close"),
|
|
||||||
role: "close",
|
|
||||||
},
|
|
||||||
];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
protected initContextMenu() {
|
|
||||||
if (this.windowMain.win == null) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
const selectionMenu = Menu.buildFromTemplate([
|
|
||||||
{
|
|
||||||
label: this.i18nService.t("copy"),
|
|
||||||
role: "copy",
|
|
||||||
},
|
|
||||||
{ type: "separator" },
|
|
||||||
{
|
|
||||||
label: this.i18nService.t("selectAll"),
|
|
||||||
role: "selectAll",
|
|
||||||
},
|
|
||||||
]);
|
|
||||||
|
|
||||||
const inputMenu = Menu.buildFromTemplate([
|
|
||||||
{
|
|
||||||
label: this.i18nService.t("undo"),
|
|
||||||
role: "undo",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: this.i18nService.t("redo"),
|
|
||||||
role: "redo",
|
|
||||||
},
|
|
||||||
{ type: "separator" },
|
|
||||||
{
|
|
||||||
label: this.i18nService.t("cut"),
|
|
||||||
role: "cut",
|
|
||||||
enabled: false,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: this.i18nService.t("copy"),
|
|
||||||
role: "copy",
|
|
||||||
enabled: false,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: this.i18nService.t("paste"),
|
|
||||||
role: "paste",
|
|
||||||
},
|
|
||||||
{ type: "separator" },
|
|
||||||
{
|
|
||||||
label: this.i18nService.t("selectAll"),
|
|
||||||
role: "selectAll",
|
|
||||||
},
|
|
||||||
]);
|
|
||||||
|
|
||||||
const inputSelectionMenu = Menu.buildFromTemplate([
|
|
||||||
{
|
|
||||||
label: this.i18nService.t("cut"),
|
|
||||||
role: "cut",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: this.i18nService.t("copy"),
|
|
||||||
role: "copy",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: this.i18nService.t("paste"),
|
|
||||||
role: "paste",
|
|
||||||
},
|
|
||||||
{ type: "separator" },
|
|
||||||
{
|
|
||||||
label: this.i18nService.t("selectAll"),
|
|
||||||
role: "selectAll",
|
|
||||||
},
|
|
||||||
]);
|
|
||||||
|
|
||||||
this.windowMain.win.webContents.on("context-menu", (e, props) => {
|
|
||||||
const selected = props.selectionText && props.selectionText.trim() !== "";
|
|
||||||
if (props.isEditable && selected) {
|
|
||||||
inputSelectionMenu.popup({ window: this.windowMain.win });
|
|
||||||
} else if (props.isEditable) {
|
|
||||||
inputMenu.popup({ window: this.windowMain.win });
|
|
||||||
} else if (selected) {
|
|
||||||
selectionMenu.popup({ window: this.windowMain.win });
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
0
libs/electron/src/globals.d.ts
vendored
0
libs/electron/src/globals.d.ts
vendored
@ -1,5 +0,0 @@
|
|||||||
{
|
|
||||||
"extends": "../shared/tsconfig.libs",
|
|
||||||
"include": ["src", "spec"],
|
|
||||||
"exclude": ["node_modules", "dist"]
|
|
||||||
}
|
|
@ -1,3 +0,0 @@
|
|||||||
{
|
|
||||||
"extends": "./tsconfig.json"
|
|
||||||
}
|
|
@ -4,7 +4,6 @@
|
|||||||
"paths": {
|
"paths": {
|
||||||
"@bitwarden/common/*": ["../common/src/*"],
|
"@bitwarden/common/*": ["../common/src/*"],
|
||||||
"@bitwarden/angular/*": ["../angular/src/*"],
|
"@bitwarden/angular/*": ["../angular/src/*"],
|
||||||
"@bitwarden/electron/*": ["../electron/src/*"],
|
|
||||||
"@bitwarden/node/*": ["../node/src/*"]
|
"@bitwarden/node/*": ["../node/src/*"]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
18
package-lock.json
generated
18
package-lock.json
generated
@ -246,14 +246,6 @@
|
|||||||
"name": "@bitwarden/components",
|
"name": "@bitwarden/components",
|
||||||
"version": "0.0.0"
|
"version": "0.0.0"
|
||||||
},
|
},
|
||||||
"libs/electron": {
|
|
||||||
"name": "@bitwarden/electron",
|
|
||||||
"version": "0.0.0",
|
|
||||||
"license": "GPL-3.0",
|
|
||||||
"dependencies": {
|
|
||||||
"@bitwarden/common": "file:../common"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"libs/node": {
|
"libs/node": {
|
||||||
"name": "@bitwarden/node",
|
"name": "@bitwarden/node",
|
||||||
"version": "0.0.0",
|
"version": "0.0.0",
|
||||||
@ -3092,10 +3084,6 @@
|
|||||||
"resolved": "apps/desktop/desktop_native",
|
"resolved": "apps/desktop/desktop_native",
|
||||||
"link": true
|
"link": true
|
||||||
},
|
},
|
||||||
"node_modules/@bitwarden/electron": {
|
|
||||||
"resolved": "libs/electron",
|
|
||||||
"link": true
|
|
||||||
},
|
|
||||||
"node_modules/@bitwarden/node": {
|
"node_modules/@bitwarden/node": {
|
||||||
"resolved": "libs/node",
|
"resolved": "libs/node",
|
||||||
"link": true
|
"link": true
|
||||||
@ -45193,12 +45181,6 @@
|
|||||||
"@napi-rs/cli": "^2.6.2"
|
"@napi-rs/cli": "^2.6.2"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@bitwarden/electron": {
|
|
||||||
"version": "file:libs/electron",
|
|
||||||
"requires": {
|
|
||||||
"@bitwarden/common": "file:../common"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"@bitwarden/node": {
|
"@bitwarden/node": {
|
||||||
"version": "file:libs/node",
|
"version": "file:libs/node",
|
||||||
"requires": {
|
"requires": {
|
||||||
|
@ -17,7 +17,6 @@
|
|||||||
"paths": {
|
"paths": {
|
||||||
"@bitwarden/common/*": ["./libs/common/src/*"],
|
"@bitwarden/common/*": ["./libs/common/src/*"],
|
||||||
"@bitwarden/angular/*": ["./libs/angular/src/*"],
|
"@bitwarden/angular/*": ["./libs/angular/src/*"],
|
||||||
"@bitwarden/electron/*": ["./libs/electron/src/*"],
|
|
||||||
"@bitwarden/node/*": ["./libs/node/src/*"],
|
"@bitwarden/node/*": ["./libs/node/src/*"],
|
||||||
"@bitwarden/components": ["./libs/components/src"]
|
"@bitwarden/components": ["./libs/components/src"]
|
||||||
},
|
},
|
||||||
|
@ -17,7 +17,6 @@
|
|||||||
"paths": {
|
"paths": {
|
||||||
"@bitwarden/common/*": ["./libs/common/src/*"],
|
"@bitwarden/common/*": ["./libs/common/src/*"],
|
||||||
"@bitwarden/angular/*": ["./libs/angular/src/*"],
|
"@bitwarden/angular/*": ["./libs/angular/src/*"],
|
||||||
"@bitwarden/electron/*": ["./libs/electron/src/*"],
|
|
||||||
"@bitwarden/node/*": ["./libs/node/src/*"],
|
"@bitwarden/node/*": ["./libs/node/src/*"],
|
||||||
"@bitwarden/components": ["./libs/components/src"]
|
"@bitwarden/components": ["./libs/components/src"]
|
||||||
},
|
},
|
||||||
|
Loading…
Reference in New Issue
Block a user