initialize-timezone-at-module-scope
Hält die Initialisierung von @rdlabo/workers-timezone an einer eindeutigen Stelle auf Modulebene.
initializeTimezone() konfiguriert eine Modulinstanz und darf nicht in eine Anfrage, einen Mandanten, Callback oder Klassenlebenszyklus verschoben werden. Die Regel folgt benannten Imports, Aliasen und Namespace-Imports aus @rdlabo/workers-timezone.
Einzelheiten der Regel
Folgende Stellen sind zulässig:
- Eine direkte Ausdrucksanweisung auf Modulebene
- Ein direkter Variableninitialisierer auf Modulebene
- Ein exportierter Variableninitialisierer auf Modulebene
Funktionen, Anfragehandler, IIFEs, Kontrollflussblöcke, statische Klassenblöcke, verschachtelte Ausdrücke und Default-Exporte werden gemeldet. Eine Datei darf die Initialisierung vollständig weglassen. Die Regel verlangt lediglich, dass eine vorhandene Initialisierung höchstens eine zulässige Stelle hat. Enthält eine Datei mehrere ansonsten gültige Initialisierungsstellen, wird jede davon gemeldet.
ESLint analysiert jeweils eine Datei. Die Regel garantiert höchstens eine eindeutige Stelle pro Datei, nicht eine Stelle für die gesamte Anwendung.
Inkorrekt
import { initializeTimezone } from '@rdlabo/workers-timezone';
export default {
fetch() {
initializeTimezone({ timeZone: 'Asia/Tokyo' });
},
};
Korrekt
import { initializeTimezone } from '@rdlabo/workers-timezone';
export const timezone = initializeTimezone({ timeZone: 'Asia/Tokyo' });