1
0
mirror of https://github.com/bitwarden/browser synced 2026-02-05 03:03:26 +00:00

move all of libs/common/src/tools/log into @bitwarden/logging

This commit is contained in:
John Harrington
2025-10-07 08:37:29 -07:00
parent dac8100bc6
commit fd47c98b8e
25 changed files with 134 additions and 108 deletions

View File

@@ -171,7 +171,6 @@ import { ApiService } from "@bitwarden/common/services/api.service";
import { AuditService } from "@bitwarden/common/services/audit.service";
import { EventCollectionService } from "@bitwarden/common/services/event/event-collection.service";
import { EventUploadService } from "@bitwarden/common/services/event/event-upload.service";
import { enableLogForTypes } from "@bitwarden/common/tools/log";
import {
PasswordStrengthService,
PasswordStrengthServiceAbstraction,
@@ -232,6 +231,7 @@ import {
KdfConfigService,
KeyService as KeyServiceAbstraction,
} from "@bitwarden/key-management";
import { enableLogForTypes } from "@bitwarden/logging";
import { BackgroundSyncService } from "@bitwarden/platform/background-sync";
import {
ActiveUserStateProvider,

View File

@@ -7,10 +7,6 @@ import { ReplaySubject, Subject, firstValueFrom, map, switchMap, takeUntil } fro
import { JslibModule } from "@bitwarden/angular/jslib.module";
import { Account, AccountService } from "@bitwarden/common/auth/abstractions/account.service";
import { LogService } from "@bitwarden/common/platform/abstractions/log.service";
import {
disabledSemanticLoggerProvider,
ifEnabledSemanticLoggerProvider,
} from "@bitwarden/common/tools/log";
import { UserId } from "@bitwarden/common/types/guid";
import { ButtonModule, DialogService } from "@bitwarden/components";
import {
@@ -18,7 +14,11 @@ import {
EmptyCredentialHistoryComponent,
} from "@bitwarden/generator-components";
import { GeneratorHistoryService } from "@bitwarden/generator-history";
import { SemanticLogger } from "@bitwarden/logging";
import {
disabledSemanticLoggerProvider,
ifEnabledSemanticLoggerProvider,
SemanticLogger,
} from "@bitwarden/logging";
import { PopOutComponent } from "../../../platform/popup/components/pop-out.component";
import { PopupFooterComponent } from "../../../platform/popup/layout/popup-footer.component";

View File

@@ -114,7 +114,6 @@ import { DefaultSyncService } from "@bitwarden/common/platform/sync/internal";
import { AuditService } from "@bitwarden/common/services/audit.service";
import { EventCollectionService } from "@bitwarden/common/services/event/event-collection.service";
import { EventUploadService } from "@bitwarden/common/services/event/event-upload.service";
import { enableLogForTypes } from "@bitwarden/common/tools/log";
import {
PasswordStrengthService,
PasswordStrengthServiceAbstraction,
@@ -155,6 +154,7 @@ import {
BiometricStateService,
DefaultBiometricStateService,
} from "@bitwarden/key-management";
import { enableLogForTypes } from "@bitwarden/logging";
import { NodeCryptoFunctionService } from "@bitwarden/node/services/node-crypto-function.service";
import {
ActiveUserStateProvider,

View File

@@ -1,13 +1,14 @@
import { mock } from "jest-mock-extended";
import { BehaviorSubject, firstValueFrom } from "rxjs";
import { disabledSemanticLoggerProvider } from "@bitwarden/logging";
import { FakeAccountService, FakeStateProvider, awaitAsync } from "../../../spec";
import { Account } from "../../auth/abstractions/account.service";
import { EXTENSION_DISK, UserKeyDefinition } from "../../platform/state";
import { UserId } from "../../types/guid";
import { LegacyEncryptorProvider } from "../cryptography/legacy-encryptor-provider";
import { UserEncryptor } from "../cryptography/user-encryptor.abstraction";
import { disabledSemanticLoggerProvider } from "../log";
import { UserStateSubjectDependencyProvider } from "../state/user-state-subject-dependency-provider";
import { Site } from "./data";

View File

@@ -1,2 +0,0 @@
export * from "./factory";
export * from "./disabled-logger";

View File

@@ -1,12 +0,0 @@
import { LogService } from "../../platform/abstractions/log.service";
// show our GRIT - these functions implement generalized logging
// controls and should return DISABLED_LOGGER in production.
export function warnLoggingEnabled(logService: LogService, method: string, context?: any) {
logService.warning({
method,
context,
provider: "tools/log",
message: "Semantic logging enabled. 🦟 Please report this bug if you see it 🦟",
});
}

View File

@@ -1,5 +1,7 @@
import { mock, MockProxy } from "jest-mock-extended";
import { disabledSemanticLoggerProvider } from "@bitwarden/logging";
import { PolicyService } from "../admin-console/abstractions/policy/policy.service.abstraction";
import { ConfigService } from "../platform/abstractions/config/config.service";
import { LogService } from "../platform/abstractions/log.service";
@@ -9,7 +11,6 @@ import { StateProvider } from "../platform/state";
import { LegacyEncryptorProvider } from "./cryptography/legacy-encryptor-provider";
import { ExtensionRegistry } from "./extension/extension-registry.abstraction";
import { ExtensionService } from "./extension/extension.service";
import { disabledSemanticLoggerProvider } from "./log";
import { createSystemServiceProvider } from "./providers";
describe("SystemServiceProvider", () => {

View File

@@ -1,6 +1,11 @@
import { SemVer } from "semver";
import { LogService, LogProvider } from "@bitwarden/logging";
import {
disabledSemanticLoggerProvider,
enableLogForTypes,
LogProvider,
LogService,
} from "@bitwarden/logging";
import { BitwardenClient } from "@bitwarden/sdk-internal";
import { StateProvider } from "@bitwarden/state";
@@ -14,7 +19,6 @@ import { EnvService } from "./abstractions/env.service";
import { LegacyEncryptorProvider } from "./cryptography/legacy-encryptor-provider";
import { ExtensionRegistry } from "./extension/extension-registry.abstraction";
import { ExtensionService } from "./extension/extension.service";
import { disabledSemanticLoggerProvider, enableLogForTypes } from "./log";
export { EnvService } from "./abstractions/env.service";

View File

@@ -2,6 +2,8 @@
// @ts-strict-ignore
import { BehaviorSubject, of, Subject } from "rxjs";
import { disabledSemanticLoggerProvider } from "@bitwarden/logging";
import {
awaitAsync,
FakeAccountService,
@@ -13,7 +15,6 @@ import { GENERATOR_DISK, UserKeyDefinition } from "../../platform/state";
import { UserId } from "../../types/guid";
import { LegacyEncryptorProvider } from "../cryptography/legacy-encryptor-provider";
import { UserEncryptor } from "../cryptography/user-encryptor.abstraction";
import { disabledSemanticLoggerProvider } from "../log";
import { PrivateClassifier } from "../private-classifier";
import { StateConstraints } from "../types";

View File

@@ -17,12 +17,12 @@ import { KeyServiceLegacyEncryptorProvider } from "@bitwarden/common/tools/crypt
import { LegacyEncryptorProvider } from "@bitwarden/common/tools/cryptography/legacy-encryptor-provider";
import { ExtensionRegistry } from "@bitwarden/common/tools/extension/extension-registry.abstraction";
import { buildExtensionRegistry } from "@bitwarden/common/tools/extension/factory";
import { disabledSemanticLoggerProvider, enableLogForTypes } from "@bitwarden/common/tools/log";
import { DefaultEnvService, EnvService } from "@bitwarden/common/tools/providers";
import { CipherService } from "@bitwarden/common/vault/abstractions/cipher.service";
import { FolderService } from "@bitwarden/common/vault/abstractions/folder/folder.service.abstraction";
import { RestrictedItemTypesService } from "@bitwarden/common/vault/services/restricted-item-types.service";
import { KeyService } from "@bitwarden/key-management";
import { disabledSemanticLoggerProvider, enableLogForTypes } from "@bitwarden/logging";
import {
ImportApiService,

View File

@@ -1,9 +1,8 @@
import { mock } from "jest-mock-extended";
import { LogService } from "../../platform/abstractions/log.service";
import { LogLevelType } from "../../platform/enums";
import { DefaultSemanticLogger } from "./default-semantic-logger";
import { LogLevel } from "./log-level";
import { LogService } from "./log.service";
const logger = mock<LogService>();
@@ -18,7 +17,7 @@ describe("DefaultSemanticLogger", () => {
log.debug("this is a debug message");
expect(logger.write).toHaveBeenCalledWith(LogLevelType.Debug, {
expect(logger.write).toHaveBeenCalledWith(LogLevel.Debug, {
"@timestamp": 0,
message: "this is a debug message",
level: "debug",
@@ -30,19 +29,19 @@ describe("DefaultSemanticLogger", () => {
log.debug({ example: "this is content" });
expect(logger.write).toHaveBeenCalledWith(LogLevelType.Debug, {
expect(logger.write).toHaveBeenCalledWith(LogLevel.Debug, {
"@timestamp": 0,
content: { example: "this is content" },
level: "debug",
});
});
it("writes structural content to console.log with a message", () => {
it("writes structural content and message to console.log", () => {
const log = new DefaultSemanticLogger(logger, {}, () => 0);
log.info({ example: "this is content" }, "this is a message");
expect(logger.write).toHaveBeenCalledWith(LogLevelType.Info, {
expect(logger.write).toHaveBeenCalledWith(LogLevel.Info, {
"@timestamp": 0,
content: { example: "this is content" },
message: "this is a message",
@@ -57,7 +56,7 @@ describe("DefaultSemanticLogger", () => {
log.info("this is an info message");
expect(logger.write).toHaveBeenCalledWith(LogLevelType.Info, {
expect(logger.write).toHaveBeenCalledWith(LogLevel.Info, {
"@timestamp": 0,
message: "this is an info message",
level: "information",
@@ -69,19 +68,19 @@ describe("DefaultSemanticLogger", () => {
log.info({ example: "this is content" });
expect(logger.write).toHaveBeenCalledWith(LogLevelType.Info, {
expect(logger.write).toHaveBeenCalledWith(LogLevel.Info, {
"@timestamp": 0,
content: { example: "this is content" },
level: "information",
});
});
it("writes structural content to console.log with a message", () => {
it("writes structural content and message to console.log", () => {
const log = new DefaultSemanticLogger(logger, {}, () => 0);
log.info({ example: "this is content" }, "this is a message");
expect(logger.write).toHaveBeenCalledWith(LogLevelType.Info, {
expect(logger.write).toHaveBeenCalledWith(LogLevel.Info, {
"@timestamp": 0,
content: { example: "this is content" },
message: "this is a message",
@@ -96,7 +95,7 @@ describe("DefaultSemanticLogger", () => {
log.warn("this is a warning message");
expect(logger.write).toHaveBeenCalledWith(LogLevelType.Warning, {
expect(logger.write).toHaveBeenCalledWith(LogLevel.Warning, {
"@timestamp": 0,
message: "this is a warning message",
level: "warning",
@@ -108,19 +107,19 @@ describe("DefaultSemanticLogger", () => {
log.warn({ example: "this is content" });
expect(logger.write).toHaveBeenCalledWith(LogLevelType.Warning, {
expect(logger.write).toHaveBeenCalledWith(LogLevel.Warning, {
"@timestamp": 0,
content: { example: "this is content" },
level: "warning",
});
});
it("writes structural content to console.warn with a message", () => {
it("writes structural content and message to console.warn", () => {
const log = new DefaultSemanticLogger(logger, {}, () => 0);
log.warn({ example: "this is content" }, "this is a message");
expect(logger.write).toHaveBeenCalledWith(LogLevelType.Warning, {
expect(logger.write).toHaveBeenCalledWith(LogLevel.Warning, {
"@timestamp": 0,
content: { example: "this is content" },
message: "this is a message",
@@ -135,7 +134,7 @@ describe("DefaultSemanticLogger", () => {
log.error("this is an error message");
expect(logger.write).toHaveBeenCalledWith(LogLevelType.Error, {
expect(logger.write).toHaveBeenCalledWith(LogLevel.Error, {
"@timestamp": 0,
message: "this is an error message",
level: "error",
@@ -147,19 +146,19 @@ describe("DefaultSemanticLogger", () => {
log.error({ example: "this is content" });
expect(logger.write).toHaveBeenCalledWith(LogLevelType.Error, {
expect(logger.write).toHaveBeenCalledWith(LogLevel.Error, {
"@timestamp": 0,
content: { example: "this is content" },
level: "error",
});
});
it("writes structural content to console.error with a message", () => {
it("writes structural content and message to console.error", () => {
const log = new DefaultSemanticLogger(logger, {}, () => 0);
log.error({ example: "this is content" }, "this is a message");
expect(logger.write).toHaveBeenCalledWith(LogLevelType.Error, {
expect(logger.write).toHaveBeenCalledWith(LogLevel.Error, {
"@timestamp": 0,
content: { example: "this is content" },
message: "this is a message",
@@ -169,26 +168,26 @@ describe("DefaultSemanticLogger", () => {
});
describe("panic", () => {
it("writes structural log messages to console.error before throwing the message", () => {
it("writes structural log messages without content to console.error before throwing", () => {
const log = new DefaultSemanticLogger(logger, {}, () => 0);
expect(() => log.panic("this is an error message")).toThrow("this is an error message");
expect(logger.write).toHaveBeenCalledWith(LogLevelType.Error, {
expect(logger.write).toHaveBeenCalledWith(LogLevel.Error, {
"@timestamp": 0,
message: "this is an error message",
level: "error",
});
});
it("writes structural log messages to console.error with a message before throwing the message", () => {
it("writes structural error message with structured content to console.error before throwing", () => {
const log = new DefaultSemanticLogger(logger, {}, () => 0);
expect(() => log.panic({ example: "this is content" }, "this is an error message")).toThrow(
"this is an error message",
);
expect(logger.write).toHaveBeenCalledWith(LogLevelType.Error, {
expect(logger.write).toHaveBeenCalledWith(LogLevel.Error, {
"@timestamp": 0,
content: { example: "this is content" },
message: "this is an error message",
@@ -196,14 +195,14 @@ describe("DefaultSemanticLogger", () => {
});
});
it("writes structural log messages to console.error with a content before throwing the message", () => {
it("writes structural error message with unstructured content to console.error before throwing", () => {
const log = new DefaultSemanticLogger(logger, {}, () => 0);
expect(() => log.panic("this is content", "this is an error message")).toThrow(
"this is an error message",
);
expect(logger.write).toHaveBeenCalledWith(LogLevelType.Error, {
expect(logger.write).toHaveBeenCalledWith(LogLevel.Error, {
"@timestamp": 0,
content: "this is content",
message: "this is an error message",

View File

@@ -1,9 +1,8 @@
import { Jsonify } from "type-fest";
import { SemanticLogger } from "@bitwarden/logging";
import { LogService } from "../../platform/abstractions/log.service";
import { LogLevelType } from "../../platform/enums";
import { LogLevel } from "./log-level";
import { LogService } from "./log.service";
import { SemanticLogger } from "./semantic-logger.abstraction";
/** Sends semantic logs to the console.
* @remarks the behavior of this logger is based on `LogService`; it
@@ -26,29 +25,29 @@ export class DefaultSemanticLogger<Context extends object> implements SemanticLo
readonly context: object;
debug<T>(content: Jsonify<T>, message?: string): void {
this.log(content, LogLevelType.Debug, message);
this.log(content, LogLevel.Debug, message);
}
info<T>(content: Jsonify<T>, message?: string): void {
this.log(content, LogLevelType.Info, message);
this.log(content, LogLevel.Info, message);
}
warn<T>(content: Jsonify<T>, message?: string): void {
this.log(content, LogLevelType.Warning, message);
this.log(content, LogLevel.Warning, message);
}
error<T>(content: Jsonify<T>, message?: string): void {
this.log(content, LogLevelType.Error, message);
this.log(content, LogLevel.Error, message);
}
panic<T>(content: Jsonify<T>, message?: string): never {
this.log(content, LogLevelType.Error, message);
this.log(content, LogLevel.Error, message);
const panicMessage =
message ?? (typeof content === "string" ? content : "a fatal error occurred");
throw new Error(panicMessage);
}
private log<T>(content: Jsonify<T>, level: LogLevelType, message?: string) {
private log<T>(content: Jsonify<T>, level: LogLevel, message?: string) {
const log = {
...this.context,
message,
@@ -66,15 +65,15 @@ export class DefaultSemanticLogger<Context extends object> implements SemanticLo
}
}
function stringifyLevel(level: LogLevelType) {
function stringifyLevel(level: LogLevel) {
switch (level) {
case LogLevelType.Debug:
case LogLevel.Debug:
return "debug";
case LogLevelType.Info:
case LogLevel.Info:
return "information";
case LogLevelType.Warning:
case LogLevel.Warning:
return "warning";
case LogLevelType.Error:
case LogLevel.Error:
return "error";
default:
return `${level}`;

View File

@@ -1,8 +1,8 @@
import { Jsonify } from "type-fest";
import { SemanticLogger } from "@bitwarden/logging";
import { deepFreeze } from "@bitwarden/common/tools/util";
import { deepFreeze } from "../util";
import { SemanticLogger } from "./semantic-logger.abstraction";
/** All disabled loggers emitted by this module are `===` to this logger. */
export const DISABLED_LOGGER: SemanticLogger = deepFreeze({

View File

@@ -1,12 +1,10 @@
import { Jsonify } from "type-fest";
import { SemanticLogger, LogProvider } from "@bitwarden/logging";
import { LogService } from "../../platform/abstractions/log.service";
import { DefaultSemanticLogger } from "./default-semantic-logger";
import { DISABLED_LOGGER } from "./disabled-logger";
import { warnLoggingEnabled } from "./util";
import { LogService } from "./log.service";
import { LogProvider, SemanticLogger } from "./index";
/** Instantiates a semantic logger that emits nothing when a message
* is logged.
@@ -86,3 +84,14 @@ export function ifEnabledSemanticLoggerProvider<Context extends object>(
return DISABLED_LOGGER;
}
}
// show our GRIT - these functions implement generalized logging
// controls and should return DISABLED_LOGGER in production.
function warnLoggingEnabled(logService: LogService, method: string, context?: any) {
logService.warning({
method,
context,
provider: "tools/log",
message: "Semantic logging enabled. 🦟 Please report this bug if you see it 🦟",
});
}

View File

@@ -6,6 +6,13 @@ export { LogService } from "./log.service";
export { LogLevel } from "./log-level";
export { ConsoleLogService } from "./console-log.service";
export { SemanticLogger } from "./semantic-logger.abstraction";
export { DISABLED_LOGGER } from "./disabled-logger";
export {
disabledSemanticLoggerProvider,
consoleSemanticLoggerProvider,
enableLogForTypes,
ifEnabledSemanticLoggerProvider,
} from "./factory";
/**
* Creates a semantic logger with a fixed context that is included in all log messages.

View File

@@ -16,6 +16,26 @@ describe("logging module", () => {
it("should export ConsoleLogService", () => {
expect(lib.ConsoleLogService).toBeDefined();
});
it("should export DISABLED_LOGGER", () => {
expect(lib.DISABLED_LOGGER).toBeDefined();
});
it("should export disabledSemanticLoggerProvider", () => {
expect(lib.disabledSemanticLoggerProvider).toBeDefined();
});
it("should export consoleSemanticLoggerProvider", () => {
expect(lib.consoleSemanticLoggerProvider).toBeDefined();
});
it("should export enableLogForTypes", () => {
expect(lib.enableLogForTypes).toBeDefined();
});
it("should export ifEnabledSemanticLoggerProvider", () => {
expect(lib.ifEnabledSemanticLoggerProvider).toBeDefined();
});
});
describe("SemanticLogger", () => {

View File

@@ -15,14 +15,14 @@ import {
import { JslibModule } from "@bitwarden/angular/jslib.module";
import { Account, AccountService } from "@bitwarden/common/auth/abstractions/account.service";
import { LogService } from "@bitwarden/common/platform/abstractions/log.service";
import {
disabledSemanticLoggerProvider,
ifEnabledSemanticLoggerProvider,
} from "@bitwarden/common/tools/log";
import { UserId } from "@bitwarden/common/types/guid";
import { ButtonModule, DialogModule, DialogService } from "@bitwarden/components";
import { GeneratorHistoryService } from "@bitwarden/generator-history";
import { SemanticLogger } from "@bitwarden/logging";
import {
disabledSemanticLoggerProvider,
ifEnabledSemanticLoggerProvider,
SemanticLogger,
} from "@bitwarden/logging";
import { CredentialGeneratorHistoryComponent as CredentialGeneratorHistoryToolsComponent } from "./credential-generator-history.component";
import { EmptyCredentialHistoryComponent } from "./empty-credential-history.component";

View File

@@ -8,10 +8,6 @@ import { JslibModule } from "@bitwarden/angular/jslib.module";
import { Account } from "@bitwarden/common/auth/abstractions/account.service";
import { I18nService } from "@bitwarden/common/platform/abstractions/i18n.service";
import { LogService } from "@bitwarden/common/platform/abstractions/log.service";
import {
disabledSemanticLoggerProvider,
ifEnabledSemanticLoggerProvider,
} from "@bitwarden/common/tools/log";
import { UserId } from "@bitwarden/common/types/guid";
import {
ColorPasswordModule,
@@ -21,7 +17,11 @@ import {
} from "@bitwarden/components";
import { AlgorithmsByType, CredentialGeneratorService } from "@bitwarden/generator-core";
import { GeneratedCredential, GeneratorHistoryService } from "@bitwarden/generator-history";
import { SemanticLogger } from "@bitwarden/logging";
import {
disabledSemanticLoggerProvider,
ifEnabledSemanticLoggerProvider,
SemanticLogger,
} from "@bitwarden/logging";
import { GeneratorModule } from "./generator.module";
import { translate } from "./util";

View File

@@ -31,10 +31,6 @@ import { Account, AccountService } from "@bitwarden/common/auth/abstractions/acc
import { I18nService } from "@bitwarden/common/platform/abstractions/i18n.service";
import { LogService } from "@bitwarden/common/platform/abstractions/log.service";
import { VendorId } from "@bitwarden/common/tools/extension";
import {
disabledSemanticLoggerProvider,
ifEnabledSemanticLoggerProvider,
} from "@bitwarden/common/tools/log";
import { UserId } from "@bitwarden/common/types/guid";
import { ToastService, Option } from "@bitwarden/components";
import {
@@ -54,7 +50,11 @@ import {
Type,
} from "@bitwarden/generator-core";
import { GeneratorHistoryService } from "@bitwarden/generator-history";
import { SemanticLogger } from "@bitwarden/logging";
import {
disabledSemanticLoggerProvider,
ifEnabledSemanticLoggerProvider,
SemanticLogger,
} from "@bitwarden/logging";
import { translate } from "./util";

View File

@@ -23,7 +23,6 @@ import { DefaultFields, DefaultSites, Extension } from "@bitwarden/common/tools/
import { RuntimeExtensionRegistry } from "@bitwarden/common/tools/extension/runtime-extension-registry";
import { VendorExtensions, Vendors } from "@bitwarden/common/tools/extension/vendor";
import { RestClient } from "@bitwarden/common/tools/integration/rpc";
import { disabledSemanticLoggerProvider, enableLogForTypes } from "@bitwarden/common/tools/log";
import { DefaultEnvService, EnvService } from "@bitwarden/common/tools/providers";
import { UserStateSubjectDependencyProvider } from "@bitwarden/common/tools/state/user-state-subject-dependency-provider";
import {
@@ -35,7 +34,7 @@ import {
DefaultCredentialGeneratorService,
} from "@bitwarden/generator-core";
import { KeyService } from "@bitwarden/key-management";
import { LogProvider } from "@bitwarden/logging";
import { disabledSemanticLoggerProvider, enableLogForTypes, LogProvider } from "@bitwarden/logging";
export const RANDOMIZER = new SafeInjectionToken<Randomizer>("Randomizer");
const GENERATOR_SERVICE_PROVIDER = new SafeInjectionToken<providers.CredentialGeneratorProviders>(

View File

@@ -15,16 +15,16 @@ import { skip, takeUntil, Subject, map, withLatestFrom, ReplaySubject, tap } fro
import { Account } from "@bitwarden/common/auth/abstractions/account.service";
import { I18nService } from "@bitwarden/common/platform/abstractions/i18n.service";
import { LogService } from "@bitwarden/common/platform/abstractions/log.service";
import {
disabledSemanticLoggerProvider,
ifEnabledSemanticLoggerProvider,
} from "@bitwarden/common/tools/log";
import {
CredentialGeneratorService,
PassphraseGenerationOptions,
BuiltIn,
} from "@bitwarden/generator-core";
import { SemanticLogger } from "@bitwarden/logging";
import {
disabledSemanticLoggerProvider,
ifEnabledSemanticLoggerProvider,
SemanticLogger,
} from "@bitwarden/logging";
const Controls = Object.freeze({
numWords: "numWords",

View File

@@ -27,10 +27,6 @@ import {
import { Account, AccountService } from "@bitwarden/common/auth/abstractions/account.service";
import { I18nService } from "@bitwarden/common/platform/abstractions/i18n.service";
import { LogService } from "@bitwarden/common/platform/abstractions/log.service";
import {
disabledSemanticLoggerProvider,
ifEnabledSemanticLoggerProvider,
} from "@bitwarden/common/tools/log";
import { UserId } from "@bitwarden/common/types/guid";
import { ToastService, Option } from "@bitwarden/components";
import {
@@ -48,7 +44,11 @@ import {
Profile,
} from "@bitwarden/generator-core";
import { GeneratorHistoryService } from "@bitwarden/generator-history";
import { SemanticLogger } from "@bitwarden/logging";
import {
disabledSemanticLoggerProvider,
ifEnabledSemanticLoggerProvider,
SemanticLogger,
} from "@bitwarden/logging";
import { toAlgorithmInfo, translate } from "./util";

View File

@@ -32,10 +32,6 @@ import { Account, AccountService } from "@bitwarden/common/auth/abstractions/acc
import { I18nService } from "@bitwarden/common/platform/abstractions/i18n.service";
import { LogService } from "@bitwarden/common/platform/abstractions/log.service";
import { VendorId } from "@bitwarden/common/tools/extension";
import {
disabledSemanticLoggerProvider,
ifEnabledSemanticLoggerProvider,
} from "@bitwarden/common/tools/log";
import { UserId } from "@bitwarden/common/types/guid";
import { ToastService, Option } from "@bitwarden/components";
import {
@@ -54,7 +50,11 @@ import {
Algorithm,
} from "@bitwarden/generator-core";
import { GeneratorHistoryService } from "@bitwarden/generator-history";
import { SemanticLogger } from "@bitwarden/logging";
import {
disabledSemanticLoggerProvider,
ifEnabledSemanticLoggerProvider,
SemanticLogger,
} from "@bitwarden/logging";
import { toAlgorithmInfo, translate } from "./util";

View File

@@ -16,11 +16,11 @@ import {
} from "@bitwarden/common/tools/extension";
import { ExtensionService } from "@bitwarden/common/tools/extension/extension.service";
import { Bitwarden } from "@bitwarden/common/tools/extension/vendor/bitwarden";
import { disabledSemanticLoggerProvider } from "@bitwarden/common/tools/log";
import { UserStateSubject } from "@bitwarden/common/tools/state/user-state-subject";
import { UserStateSubjectDependencyProvider } from "@bitwarden/common/tools/state/user-state-subject-dependency-provider";
import { deepFreeze } from "@bitwarden/common/tools/util";
import { UserId } from "@bitwarden/common/types/guid";
import { disabledSemanticLoggerProvider } from "@bitwarden/logging";
import { FakeAccountService, FakeStateProvider } from "../../../../../common/spec";
import { Algorithm, AlgorithmsByType, CredentialAlgorithm, Type, Types } from "../metadata";

View File

@@ -8,12 +8,12 @@ import { Account } from "@bitwarden/common/auth/abstractions/account.service";
import { GENERATOR_DISK, UserKeyDefinition } from "@bitwarden/common/platform/state";
import { LegacyEncryptorProvider } from "@bitwarden/common/tools/cryptography/legacy-encryptor-provider";
import { UserEncryptor } from "@bitwarden/common/tools/cryptography/user-encryptor.abstraction";
import { disabledSemanticLoggerProvider } from "@bitwarden/common/tools/log";
import { PrivateClassifier } from "@bitwarden/common/tools/private-classifier";
import { IdentityConstraint } from "@bitwarden/common/tools/state/identity-state-constraint";
import { UserStateSubjectDependencyProvider } from "@bitwarden/common/tools/state/user-state-subject-dependency-provider";
import { StateConstraints } from "@bitwarden/common/tools/types";
import { OrganizationId, PolicyId, UserId } from "@bitwarden/common/types/guid";
import { disabledSemanticLoggerProvider } from "@bitwarden/logging";
import { FakeStateProvider, FakeAccountService, awaitAsync } from "../../../../../common/spec";
import { CoreProfileMetadata, ProfileContext } from "../metadata/profile-metadata";