fix lint errors about use of console and new() cache

This commit is contained in:
Hazelnoot 2025-10-02 14:05:59 -04:00
parent 6c2206ab72
commit deff0c0f49
5 changed files with 34 additions and 16 deletions

View file

@ -33,21 +33,21 @@ const themeColor = chalk.hex('#86b300');
function greet() { function greet() {
if (!envOption.quiet) { if (!envOption.quiet) {
//#region Misskey logo //#region Misskey logo
console.log(themeColor(' _____ _ _ ')); logger.info(themeColor(' _____ _ _ '));
console.log(themeColor('/ ___| | | | ')); logger.info(themeColor('/ ___| | | | '));
console.log(themeColor('\\ `--.| |__ __ _ _ __| | _____ _ _ ')); logger.info(themeColor('\\ `--.| |__ __ _ _ __| | _____ _ _ '));
console.log(themeColor(' `--. \\ \'_ \\ / _` | \'__| |/ / _ \\ | | |')); logger.info(themeColor(' `--. \\ \'_ \\ / _` | \'__| |/ / _ \\ | | |'));
console.log(themeColor('/\\__/ / | | | (_| | | | < __/ |_| |')); logger.info(themeColor('/\\__/ / | | | (_| | | | < __/ |_| |'));
console.log(themeColor('\\____/|_| |_|\\__,_|_| |_|\\_\\___|\\__, |')); logger.info(themeColor('\\____/|_| |_|\\__,_|_| |_|\\_\\___|\\__, |'));
console.log(themeColor(' __/ |')); logger.info(themeColor(' __/ |'));
console.log(themeColor(' |___/ ')); logger.info(themeColor(' |___/ '));
//#endregion //#endregion
console.log(' Sharkey is an open-source decentralized microblogging platform.'); logger.info(' Sharkey is an open-source decentralized microblogging platform.');
console.log(chalk.rgb(255, 136, 0)(' If you like Sharkey, please donate to support development. https://opencollective.com/sharkey')); logger.info(chalk.rgb(255, 136, 0)(' If you like Sharkey, please donate to support development. https://opencollective.com/sharkey'));
console.log(''); logger.info('');
console.log(chalkTemplate`--- ${os.hostname()} {gray (PID: ${process.pid.toString()})} ---`); logger.info(chalkTemplate`--- ${os.hostname()} {gray (PID: ${process.pid.toString()})} ---`);
} }
bootLogger.info('Welcome to Sharkey!'); bootLogger.info('Welcome to Sharkey!');

View file

@ -19,6 +19,9 @@ import { DI } from '@/di-symbols.js';
import { TimeService } from '@/core/TimeService.js'; import { TimeService } from '@/core/TimeService.js';
import { InternalEventService } from '@/core/InternalEventService.js'; import { InternalEventService } from '@/core/InternalEventService.js';
// This is the one place that's *supposed* to new() up caches.
/* eslint-disable no-restricted-syntax */
export type ManagedMemoryKVCache<T> = Managed<MemoryKVCache<T>>; export type ManagedMemoryKVCache<T> = Managed<MemoryKVCache<T>>;
export type ManagedMemorySingleCache<T> = Managed<MemorySingleCache<T>>; export type ManagedMemorySingleCache<T> = Managed<MemorySingleCache<T>>;
export type ManagedRedisKVCache<T> = Managed<RedisKVCache<T>>; export type ManagedRedisKVCache<T> = Managed<RedisKVCache<T>>;

View file

@ -75,6 +75,8 @@ export class QuantumKVCache<T> implements Iterable<readonly [key: string, value:
services: QuantumCacheServices, services: QuantumCacheServices,
opts: QuantumKVOpts<T>, opts: QuantumKVOpts<T>,
) { ) {
// OK: we forward all management calls to the inner cache.
// eslint-disable-next-line no-restricted-syntax
this.memoryCache = new MemoryKVCache(opts.lifetime, services); this.memoryCache = new MemoryKVCache(opts.lifetime, services);
this.fetcher = opts.fetcher; this.fetcher = opts.fetcher;
this.bulkFetcher = opts.bulkFetcher; this.bulkFetcher = opts.bulkFetcher;

View file

@ -37,6 +37,8 @@ export class RedisKVCache<T> {
) { ) {
this.redisClient = services.redisClient; this.redisClient = services.redisClient;
this.lifetime = opts.lifetime; this.lifetime = opts.lifetime;
// OK: we forward all management calls to the inner cache.
// eslint-disable-next-line no-restricted-syntax
this.memoryCache = new MemoryKVCache(opts.memoryCacheLifetime, services); this.memoryCache = new MemoryKVCache(opts.memoryCacheLifetime, services);
this.fetcher = opts.fetcher ?? (() => { throw new Error('fetch not supported - use get/set directly'); }); this.fetcher = opts.fetcher ?? (() => { throw new Error('fetch not supported - use get/set directly'); });
this.toRedisConverter = opts.toRedisConverter ?? ((value) => JSON.stringify(value)); this.toRedisConverter = opts.toRedisConverter ?? ((value) => JSON.stringify(value));
@ -150,6 +152,8 @@ export class RedisSingleCache<T> {
) { ) {
this.redisClient = services.redisClient; this.redisClient = services.redisClient;
this.lifetime = opts.lifetime; this.lifetime = opts.lifetime;
// OK: we forward all management calls to the inner cache.
// eslint-disable-next-line no-restricted-syntax
this.memoryCache = new MemorySingleCache(opts.memoryCacheLifetime, services); this.memoryCache = new MemorySingleCache(opts.memoryCacheLifetime, services);
this.fetcher = opts.fetcher ?? (() => { throw new Error('fetch not supported - use get/set directly'); }); this.fetcher = opts.fetcher ?? (() => { throw new Error('fetch not supported - use get/set directly'); });
@ -198,7 +202,7 @@ export class RedisSingleCache<T> {
@bindThis @bindThis
public clear(): void { public clear(): void {
this.memoryCache.delete(); this.memoryCache.clear();
} }
/** /**
@ -233,6 +237,7 @@ export class RedisSingleCache<T> {
@bindThis @bindThis
public dispose(): void { public dispose(): void {
this.clear(); this.clear();
this.memoryCache.dispose();
} }
} }

View file

@ -3,10 +3,18 @@
* SPDX-License-Identifier: AGPL-3.0-only * SPDX-License-Identifier: AGPL-3.0-only
*/ */
import { LoggerService } from '@/core/LoggerService.js';
import type Logger from '@/logger.js';
export class I18n<T extends Record<string, any>> { export class I18n<T extends Record<string, any>> {
private readonly logger: Logger;
public locale: T; public locale: T;
constructor(locale: T) { constructor(
loggerService: LoggerService,
locale: T,
) {
this.logger = loggerService.getLogger('i18n');
this.locale = locale; this.locale = locale;
//#region BIND //#region BIND
@ -26,8 +34,8 @@ export class I18n<T extends Record<string, any>> {
} }
} }
return str; return str;
} catch (e) { } catch {
console.warn(`missing localization '${key}'`); this.logger.warn(`missing localization '${key}'`);
return key; return key;
} }
} }