mirror of
https://github.com/monkeytypegame/monkeytype.git
synced 2025-09-04 13:46:34 +08:00
chore: bump eslint typescript plugin (@miodec) (#6915)
This commit is contained in:
parent
cb68421d72
commit
e4c0c28150
28 changed files with 345 additions and 172 deletions
|
@ -4,3 +4,4 @@ docker
|
|||
backend/scripts
|
||||
backend/private
|
||||
**/vitest.config.ts
|
||||
node_modules
|
|
@ -226,7 +226,7 @@ export async function update(
|
|||
//update speedStats
|
||||
const boundaries = [...Array(32).keys()].map((it) => it * 10);
|
||||
const statsKey = `${language}_${mode}_${mode2}`;
|
||||
const src = await db.collection(lbCollectionName);
|
||||
const src = db.collection(lbCollectionName);
|
||||
const histogram = src.aggregate(
|
||||
[
|
||||
{
|
||||
|
|
|
@ -187,6 +187,7 @@ export async function approve(
|
|||
if (compareTwoStrings(old.text, quote.text) > 0.8) {
|
||||
throw new MonkeyError(409, "Duplicate quote");
|
||||
}
|
||||
return true;
|
||||
});
|
||||
let maxid = 0;
|
||||
quoteObject.quotes.map(function (q) {
|
||||
|
|
|
@ -316,7 +316,7 @@ BannerEvent.subscribe(() => {
|
|||
updateVerticalMargin();
|
||||
});
|
||||
|
||||
$(document).ready(() => {
|
||||
$(() => {
|
||||
updateBreakpoint(true);
|
||||
updateBreakpoint2();
|
||||
});
|
||||
|
|
|
@ -72,10 +72,7 @@ function updateUI(): void {
|
|||
if (Config.keymapMode === "next" && Config.mode !== "zen") {
|
||||
if (!Config.language.startsWith("korean")) {
|
||||
void KeymapEvent.highlight(
|
||||
TestWords.words
|
||||
.getCurrent()
|
||||
.charAt(TestInput.input.current.length)
|
||||
.toString()
|
||||
TestWords.words.getCurrent().charAt(TestInput.input.current.length)
|
||||
);
|
||||
} else {
|
||||
//word [가다]
|
||||
|
@ -1194,10 +1191,7 @@ $(document).on("keydown", async (event) => {
|
|||
|
||||
if (
|
||||
Config.layout !== "default" &&
|
||||
!(
|
||||
event.ctrlKey ||
|
||||
(event.altKey && window.navigator.platform.search("Linux") > -1)
|
||||
)
|
||||
!(event.ctrlKey || (event.altKey && Misc.isLinux()))
|
||||
) {
|
||||
const char: string | null = await LayoutEmulator.getCharFromEvent(event);
|
||||
if (char !== null) {
|
||||
|
@ -1217,6 +1211,8 @@ $("#wordsInput").on("keydown", (event) => {
|
|||
"spacing debug keydown STOPPED - repeat",
|
||||
event.key,
|
||||
event.code,
|
||||
//ignore for logging
|
||||
// eslint-disable-next-line @typescript-eslint/no-deprecated
|
||||
event.which
|
||||
);
|
||||
return;
|
||||
|
@ -1236,7 +1232,7 @@ $("#wordsInput").on("keydown", (event) => {
|
|||
const now = performance.now();
|
||||
setTimeout(() => {
|
||||
const eventCode =
|
||||
event.code === "" || event.which === 231 ? "NoCode" : event.code;
|
||||
event.code === "" || event.key === "Unidentified" ? "NoCode" : event.code;
|
||||
TestInput.recordKeydownTime(now, eventCode);
|
||||
}, 0);
|
||||
});
|
||||
|
@ -1247,6 +1243,8 @@ $("#wordsInput").on("keyup", (event) => {
|
|||
"spacing debug keydown STOPPED - repeat",
|
||||
event.key,
|
||||
event.code,
|
||||
//ignore for logging
|
||||
// eslint-disable-next-line @typescript-eslint/no-deprecated
|
||||
event.which
|
||||
);
|
||||
return;
|
||||
|
@ -1265,7 +1263,7 @@ $("#wordsInput").on("keyup", (event) => {
|
|||
const now = performance.now();
|
||||
setTimeout(() => {
|
||||
const eventCode =
|
||||
event.code === "" || event.which === 231 ? "NoCode" : event.code;
|
||||
event.code === "" || event.key === "Unidentified" ? "NoCode" : event.code;
|
||||
TestInput.recordKeyupTime(now, eventCode);
|
||||
}, 0);
|
||||
});
|
||||
|
|
|
@ -171,7 +171,8 @@ export async function navigate(
|
|||
Notifications.add("No quit funbox is active. Please finish the test.", 0, {
|
||||
important: true,
|
||||
});
|
||||
event?.preventDefault();
|
||||
//todo: figure out if this was ever used
|
||||
// event?.preventDefault();
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
|
@ -697,7 +697,7 @@ function selectBeforeChangeFn(
|
|||
group: ResultFiltersGroup,
|
||||
selectedOptions: Option[],
|
||||
oldSelectedOptions: Option[]
|
||||
): void | boolean {
|
||||
): boolean {
|
||||
const includesAllNow = selectedOptions.some(
|
||||
(option) => option.value === "all"
|
||||
);
|
||||
|
@ -819,7 +819,7 @@ export async function appendButtons(
|
|||
closeOnSelect: false,
|
||||
},
|
||||
events: {
|
||||
beforeChange: (selectedOptions, oldSelectedOptions): void | boolean => {
|
||||
beforeChange: (selectedOptions, oldSelectedOptions): boolean => {
|
||||
return selectBeforeChangeFn(
|
||||
"language",
|
||||
selectedOptions,
|
||||
|
@ -851,7 +851,7 @@ export async function appendButtons(
|
|||
closeOnSelect: false,
|
||||
},
|
||||
events: {
|
||||
beforeChange: (selectedOptions, oldSelectedOptions): void | boolean => {
|
||||
beforeChange: (selectedOptions, oldSelectedOptions): boolean => {
|
||||
return selectBeforeChangeFn(
|
||||
"funbox",
|
||||
selectedOptions,
|
||||
|
@ -889,10 +889,7 @@ export async function appendButtons(
|
|||
closeOnSelect: false,
|
||||
},
|
||||
events: {
|
||||
beforeChange: (
|
||||
selectedOptions,
|
||||
oldSelectedOptions
|
||||
): void | boolean => {
|
||||
beforeChange: (selectedOptions, oldSelectedOptions): boolean => {
|
||||
return selectBeforeChangeFn(
|
||||
"tags",
|
||||
selectedOptions,
|
||||
|
|
|
@ -477,7 +477,7 @@ export async function refresh(): Promise<void> {
|
|||
}
|
||||
}
|
||||
|
||||
const isMacLike = /Mac|iPod|iPhone|iPad/.test(navigator.platform);
|
||||
const isMacLike = Misc.isMacLike();
|
||||
const symbolsPattern = /^[^\p{L}\p{N}]{1}$/u;
|
||||
type KeymapLegendStates = [letters: 0 | 1 | 2 | 3, symbols: 0 | 1 | 2 | 3];
|
||||
let keymapLegendStates: KeymapLegendStates = [0, 0];
|
||||
|
|
|
@ -172,7 +172,7 @@ export async function createUserWithEmailAndPassword(
|
|||
}
|
||||
|
||||
export async function getIdToken(): Promise<string | null> {
|
||||
const user = await getAuthenticatedUser();
|
||||
const user = getAuthenticatedUser();
|
||||
if (user === null) return null;
|
||||
return firebaseGetIdToken(user);
|
||||
}
|
||||
|
|
|
@ -555,21 +555,21 @@ async function setup(modalEl: HTMLElement): Promise<void> {
|
|||
});
|
||||
modalEl.querySelector(".button.wordfilter")?.addEventListener("click", () => {
|
||||
void WordFilterPopup.show({
|
||||
modalChain: modal as AnimatedModal<unknown, unknown>,
|
||||
modalChain: modal as AnimatedModal,
|
||||
});
|
||||
});
|
||||
modalEl
|
||||
.querySelector(".button.showSavedTexts")
|
||||
?.addEventListener("click", () => {
|
||||
void SavedTextsPopup.show({
|
||||
modalChain: modal as AnimatedModal<unknown, unknown>,
|
||||
modalChain: modal as AnimatedModal,
|
||||
});
|
||||
});
|
||||
modalEl
|
||||
.querySelector(".button.saveCustomText")
|
||||
?.addEventListener("click", () => {
|
||||
void SaveCustomTextPopup.show({
|
||||
modalChain: modal as AnimatedModal<unknown, unknown>,
|
||||
modalChain: modal as AnimatedModal,
|
||||
modalChainData: { text: cleanUpText() },
|
||||
});
|
||||
});
|
||||
|
|
|
@ -199,10 +199,7 @@ async function updateProfile(): Promise<void> {
|
|||
hide();
|
||||
}
|
||||
|
||||
function addValidation(
|
||||
element: JQuery<HTMLElement>,
|
||||
schema: Zod.Schema
|
||||
): InputIndicator {
|
||||
function addValidation(element: JQuery, schema: Zod.Schema): InputIndicator {
|
||||
const indicator = new InputIndicator(element, {
|
||||
valid: {
|
||||
icon: "fa-check",
|
||||
|
|
|
@ -55,7 +55,7 @@ async function fill(): Promise<void> {
|
|||
return;
|
||||
}
|
||||
showPopup("deleteCustomText", [name], {
|
||||
modalChain: modal as AnimatedModal<unknown, unknown>,
|
||||
modalChain: modal as AnimatedModal,
|
||||
});
|
||||
});
|
||||
|
||||
|
@ -70,7 +70,7 @@ async function fill(): Promise<void> {
|
|||
return;
|
||||
}
|
||||
showPopup("deleteCustomTextLong", [name], {
|
||||
modalChain: modal as AnimatedModal<unknown, unknown>,
|
||||
modalChain: modal as AnimatedModal,
|
||||
});
|
||||
}
|
||||
);
|
||||
|
@ -86,7 +86,7 @@ async function fill(): Promise<void> {
|
|||
return;
|
||||
}
|
||||
showPopup("resetProgressCustomTextLong", [name], {
|
||||
modalChain: modal as AnimatedModal<unknown, unknown>,
|
||||
modalChain: modal as AnimatedModal,
|
||||
});
|
||||
}
|
||||
);
|
||||
|
|
|
@ -1022,8 +1022,8 @@ function convertRuleOption(rule: string): string[] {
|
|||
}
|
||||
|
||||
async function updateValidDailyLeaderboards(): Promise<void> {
|
||||
const dailyRulesConfig = await ServerConfiguration.get()?.dailyLeaderboards
|
||||
.validModeRules;
|
||||
const dailyRulesConfig =
|
||||
ServerConfiguration.get()?.dailyLeaderboards.validModeRules;
|
||||
|
||||
if (dailyRulesConfig === undefined) {
|
||||
throw new Error(
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
import Config from "../config";
|
||||
import * as Misc from "../utils/misc";
|
||||
|
||||
const el = document.querySelector("#capsWarning") as HTMLElement;
|
||||
const isMacOs = navigator.platform.startsWith("Mac");
|
||||
|
||||
export let capsState = false;
|
||||
|
||||
|
@ -39,5 +39,5 @@ function update(event: JQuery.KeyDownEvent | JQuery.KeyUpEvent): void {
|
|||
$(document).on("keyup", update);
|
||||
|
||||
$(document).on("keydown", (event) => {
|
||||
if (isMacOs) update(event);
|
||||
if (Misc.isMac()) update(event);
|
||||
});
|
||||
|
|
|
@ -386,10 +386,7 @@ const list: Partial<Record<FunboxName, FunboxFunctions>> = {
|
|||
}
|
||||
setTimeout(() => {
|
||||
void KeymapEvent.highlight(
|
||||
TestWords.words
|
||||
.getCurrent()
|
||||
.charAt(TestInput.input.current.length)
|
||||
.toString()
|
||||
TestWords.words.getCurrent().charAt(TestInput.input.current.length)
|
||||
);
|
||||
}, 1);
|
||||
}
|
||||
|
@ -407,7 +404,6 @@ const list: Partial<Record<FunboxName, FunboxFunctions>> = {
|
|||
TestInput.input.current.length,
|
||||
TestInput.input.current.length + 1
|
||||
)
|
||||
.toString()
|
||||
);
|
||||
}, 1);
|
||||
},
|
||||
|
|
|
@ -43,6 +43,8 @@ const accents: Accents = [
|
|||
];
|
||||
|
||||
const accentsMap = new Map<string, string>(
|
||||
// ignoring for now but this might need a different approach
|
||||
// eslint-disable-next-line @typescript-eslint/no-misused-spread
|
||||
accents.flatMap((rule) => [...rule[0]].map((accent) => [accent, rule[1]]))
|
||||
);
|
||||
|
||||
|
@ -72,6 +74,8 @@ export function replaceAccents(
|
|||
): string {
|
||||
if (!word) return word;
|
||||
const uppercased = word.toUpperCase();
|
||||
// ignoring for now but this might need a different approach
|
||||
// eslint-disable-next-line @typescript-eslint/no-misused-spread
|
||||
const cases = [...word].map((it, i) => it === uppercased[i]);
|
||||
const newWordArray: string[] = [];
|
||||
|
||||
|
|
|
@ -169,17 +169,17 @@ export function restart(options = {} as RestartOptions): void {
|
|||
Notifications.add("No quit funbox is active. Please finish the test.", 0, {
|
||||
important: true,
|
||||
});
|
||||
event?.preventDefault();
|
||||
options.event?.preventDefault();
|
||||
return;
|
||||
}
|
||||
|
||||
if (TestUI.testRestarting || TestUI.resultCalculating) {
|
||||
event?.preventDefault();
|
||||
options.event?.preventDefault();
|
||||
return;
|
||||
}
|
||||
if (ActivePage.get() === "test") {
|
||||
if (!ManualRestart.get()) {
|
||||
if (Config.mode !== "zen") event?.preventDefault();
|
||||
if (Config.mode !== "zen") options.event?.preventDefault();
|
||||
if (
|
||||
!canQuickRestart(
|
||||
Config.mode,
|
||||
|
@ -354,7 +354,7 @@ export function restart(options = {} as RestartOptions): void {
|
|||
TestState.setTestInitSuccess(true);
|
||||
const initResult = await init();
|
||||
|
||||
if (initResult === null) {
|
||||
if (!initResult) {
|
||||
TestUI.setTestRestarting(false);
|
||||
return;
|
||||
}
|
||||
|
@ -405,7 +405,8 @@ export function restart(options = {} as RestartOptions): void {
|
|||
let lastInitError: Error | null = null;
|
||||
let rememberLazyMode: boolean;
|
||||
let testReinitCount = 0;
|
||||
export async function init(): Promise<void | null> {
|
||||
|
||||
export async function init(): Promise<boolean> {
|
||||
console.debug("Initializing test");
|
||||
testReinitCount++;
|
||||
if (testReinitCount > 3) {
|
||||
|
@ -426,7 +427,7 @@ export async function init(): Promise<void | null> {
|
|||
// important: true,
|
||||
// }
|
||||
// );
|
||||
return null;
|
||||
return false;
|
||||
}
|
||||
|
||||
MonkeyPower.reset();
|
||||
|
@ -561,6 +562,8 @@ export async function init(): Promise<void | null> {
|
|||
|
||||
if (Config.keymapMode === "next" && Config.mode !== "zen") {
|
||||
void KeymapEvent.highlight(
|
||||
// ignoring for now but this might need a different approach
|
||||
// eslint-disable-next-line @typescript-eslint/no-misused-spread
|
||||
Arrays.nthElementFromArray([...TestWords.words.getCurrent()], 0) as string
|
||||
);
|
||||
}
|
||||
|
@ -573,6 +576,7 @@ export async function init(): Promise<void | null> {
|
|||
"Test initialized with section indexes",
|
||||
generatedSectionIndexes
|
||||
);
|
||||
return true;
|
||||
}
|
||||
|
||||
export function areAllTestWordsGenerated(): boolean {
|
||||
|
@ -603,9 +607,12 @@ export async function addWord(): Promise<void> {
|
|||
}
|
||||
|
||||
let bound = 100; // how many extra words to aim for AFTER the current word
|
||||
const funboxToPush = getActiveFunboxes()
|
||||
.find((f) => f.properties?.find((fp) => fp.startsWith("toPush")))
|
||||
?.properties?.find((fp) => fp.startsWith("toPush:"));
|
||||
|
||||
const funboxToPush =
|
||||
getActiveFunboxes()
|
||||
.flatMap((fb) => fb.properties ?? [])
|
||||
.find((prop) => prop.startsWith("toPush:")) ?? "";
|
||||
|
||||
const toPushCount = funboxToPush?.split(":")[1];
|
||||
if (toPushCount !== undefined) bound = +toPushCount - 1;
|
||||
|
||||
|
@ -1561,6 +1568,8 @@ ConfigEvent.subscribe((eventKey, eventValue, nosave) => {
|
|||
setTimeout(() => {
|
||||
void KeymapEvent.highlight(
|
||||
Arrays.nthElementFromArray(
|
||||
// ignoring for now but this might need a different approach
|
||||
// eslint-disable-next-line @typescript-eslint/no-misused-spread
|
||||
[...TestWords.words.getCurrent()],
|
||||
0
|
||||
) as string
|
||||
|
|
|
@ -540,7 +540,7 @@ export async function centerActiveLine(): Promise<void> {
|
|||
return;
|
||||
}
|
||||
|
||||
const { resolve, promise } = Misc.promiseWithResolvers<void>();
|
||||
const { resolve, promise } = Misc.promiseWithResolvers();
|
||||
centeringActiveLine = promise;
|
||||
|
||||
const wordElements = document.querySelectorAll<HTMLElement>("#words .word");
|
||||
|
@ -1128,7 +1128,7 @@ export async function lineJump(
|
|||
currentTop: number,
|
||||
force = false
|
||||
): Promise<void> {
|
||||
const { resolve, promise } = Misc.promiseWithResolvers<void>();
|
||||
const { resolve, promise } = Misc.promiseWithResolvers();
|
||||
|
||||
//last word of the line
|
||||
if (currentTestLine > 0 || force) {
|
||||
|
|
|
@ -14,7 +14,7 @@ class Words {
|
|||
|
||||
get(i?: undefined, raw?: boolean): string[];
|
||||
get(i: number, raw?: boolean): string;
|
||||
get(i?: number | undefined, raw = false): string | string[] | undefined {
|
||||
get(i?: number, raw = false): string | string[] | undefined {
|
||||
if (i === undefined) {
|
||||
return this.list;
|
||||
} else {
|
||||
|
|
|
@ -391,16 +391,11 @@ function applyLazyModeToWord(word: string, language: LanguageObject): string {
|
|||
}
|
||||
|
||||
export function getWordOrder(): FunboxWordOrder {
|
||||
const wordOrder =
|
||||
getActiveFunboxes()
|
||||
.find((f) => f.properties?.find((fp) => fp.startsWith("wordOrder")))
|
||||
?.properties?.find((fp) => fp.startsWith("wordOrder")) ?? "";
|
||||
const wordOrderProperty = getActiveFunboxes()
|
||||
.flatMap((fb) => fb.properties ?? [])
|
||||
.find((prop) => prop.startsWith("wordOrder:"));
|
||||
|
||||
if (!wordOrder) {
|
||||
return "normal";
|
||||
} else {
|
||||
return wordOrder.split(":")[1] as FunboxWordOrder;
|
||||
}
|
||||
return (wordOrderProperty?.split(":")[1] as FunboxWordOrder) ?? "normal";
|
||||
}
|
||||
|
||||
export function getLimit(): number {
|
||||
|
@ -418,8 +413,8 @@ export function getLimit(): number {
|
|||
|
||||
const funboxToPush =
|
||||
getActiveFunboxes()
|
||||
.find((f) => f.properties?.find((fp) => fp.startsWith("toPush")))
|
||||
?.properties?.find((fp) => fp.startsWith("toPush:")) ?? "";
|
||||
.flatMap((fb) => fb.properties ?? [])
|
||||
.find((prop) => prop.startsWith("toPush:")) ?? "";
|
||||
|
||||
if (Config.showAllLines) {
|
||||
if (Config.mode === "custom") {
|
||||
|
|
|
@ -87,7 +87,8 @@ window.addEventListener("beforeunload", (event) => {
|
|||
} else {
|
||||
if (TestState.isActive) {
|
||||
event.preventDefault();
|
||||
// Chrome requires returnValue to be set.
|
||||
// Included for legacy support, e.g. Chrome/Edge < 119
|
||||
// eslint-disable-next-line @typescript-eslint/no-deprecated
|
||||
event.returnValue = "";
|
||||
}
|
||||
}
|
||||
|
|
|
@ -38,12 +38,12 @@ export function smooth(
|
|||
* This function mutates the input array.
|
||||
* @param elements
|
||||
*/
|
||||
export function shuffle<T>(elements: T[]): void {
|
||||
export function shuffle(elements: unknown[]): void {
|
||||
for (let i = elements.length - 1; i > 0; --i) {
|
||||
const j = randomIntFromRange(0, i);
|
||||
const temp = elements[j];
|
||||
elements[j] = elements[i] as T;
|
||||
elements[i] = temp as T;
|
||||
elements[j] = elements[i];
|
||||
elements[i] = temp;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -720,4 +720,27 @@ export function debounceUntilResolved<TArgs extends unknown[], TResult>(
|
|||
export function triggerResize(): void {
|
||||
$(window).trigger("resize");
|
||||
}
|
||||
|
||||
function isPlatform(searchTerm: string | RegExp): boolean {
|
||||
// eslint-disable-next-line @typescript-eslint/no-deprecated
|
||||
const platform = navigator.platform;
|
||||
if (typeof searchTerm === "string") {
|
||||
return platform.includes(searchTerm);
|
||||
} else {
|
||||
return searchTerm.test(platform);
|
||||
}
|
||||
}
|
||||
|
||||
export function isLinux(): boolean {
|
||||
return isPlatform("Linux");
|
||||
}
|
||||
|
||||
export function isMac(): boolean {
|
||||
return isPlatform("Mac");
|
||||
}
|
||||
|
||||
export function isMacLike(): boolean {
|
||||
return isPlatform(/Mac|iPod|iPhone|iPad/);
|
||||
}
|
||||
|
||||
// DO NOT ALTER GLOBAL OBJECTSONSTRUCTOR, IT WILL BREAK RESULT HASHES
|
||||
|
|
|
@ -16,6 +16,8 @@ export type GetConfigurationResponse = z.infer<
|
|||
typeof GetConfigurationResponseSchema
|
||||
>;
|
||||
|
||||
// marked as deprecated but zod team might reconsider according to https://github.com/colinhacks/zod/issues/2854#issuecomment-3100623150
|
||||
// eslint-disable-next-line @typescript-eslint/no-deprecated
|
||||
export const PartialConfigurationSchema = ConfigurationSchema.deepPartial();
|
||||
export type PartialConfiguration = z.infer<typeof PartialConfigurationSchema>;
|
||||
|
||||
|
|
|
@ -91,17 +91,45 @@ module.exports = {
|
|||
"plugin:oxlint/recommended",
|
||||
],
|
||||
rules: {
|
||||
//strict type checked
|
||||
"@typescript-eslint/require-await": "off",
|
||||
//not using
|
||||
"@typescript-eslint/non-nullable-type-assertion-style": "off",
|
||||
"import/namespace": "off",
|
||||
"@typescript-eslint/no-unnecessary-condition": "off",
|
||||
"@typescript-eslint/switch-exhaustiveness-check": "off",
|
||||
"@typescript-eslint/no-this-alias": "off",
|
||||
"@typescript-eslint/unbound-method": "off",
|
||||
"@typescript-eslint/await-thenable": "off",
|
||||
//unnecessary, might aswell keep template strings in case a string might be added in the future
|
||||
"@typescript-eslint/no-unnecessary-template-expression": "off",
|
||||
"@typescript-eslint/prefer-promise-reject-errors": "off",
|
||||
"@typescript-eslint/no-unnecessary-type-arguments": "off",
|
||||
"@typescript-eslint/restrict-template-expressions": "off",
|
||||
"@typescript-eslint/no-redundant-type-constituents": "off",
|
||||
"@typescript-eslint/restrict-plus-operands": "off",
|
||||
|
||||
//todo: consider some of these?
|
||||
//936, no options on this one. super strict, it doesnt allow casting to a narrower type
|
||||
"@typescript-eslint/no-unsafe-type-assertion": "off",
|
||||
//224 errors, very easy to fix.
|
||||
// adds unnecessary promise overhead and pushing the function to the microtask queue, creating a delay
|
||||
// all though performance impact probably minimal
|
||||
// anything that needs to be absolutely as fast as possible should not be async (if not using await)
|
||||
"@typescript-eslint/require-await": "off",
|
||||
//388, when allowing numbers only 27, when also allowing arrays 12
|
||||
// could be nice to avoid some weird things showing up in templated strings
|
||||
"@typescript-eslint/restrict-template-expressions": [
|
||||
"off",
|
||||
{
|
||||
allowNumber: true,
|
||||
allowArray: true,
|
||||
},
|
||||
],
|
||||
//only 4 but i don't really understand this rule
|
||||
"@typescript-eslint/no-redundant-type-constituents": "off",
|
||||
//162, 31 when allowing numbers and strings, kinda related to restrict-template-expressions
|
||||
"@typescript-eslint/restrict-plus-operands": [
|
||||
"off",
|
||||
{
|
||||
allowNumberAndString: true,
|
||||
},
|
||||
],
|
||||
|
||||
//using
|
||||
"@typescript-eslint/no-unsafe-member-access": "error",
|
||||
"@typescript-eslint/no-unsafe-call": "error",
|
||||
"@typescript-eslint/no-unsafe-argument": "error",
|
||||
|
@ -111,7 +139,6 @@ module.exports = {
|
|||
"error",
|
||||
{ ignoreArrowShorthand: true },
|
||||
],
|
||||
"@typescript-eslint/no-this-alias": "off",
|
||||
"@typescript-eslint/no-misused-promises": [
|
||||
"error",
|
||||
{
|
||||
|
@ -124,10 +151,26 @@ module.exports = {
|
|||
"error",
|
||||
{ allowNullableBoolean: true },
|
||||
],
|
||||
"@typescript-eslint/non-nullable-type-assertion-style": "off",
|
||||
"@typescript-eslint/no-unnecessary-condition": "off",
|
||||
"@typescript-eslint/no-invalid-void-type": "off",
|
||||
"import/namespace": "off",
|
||||
"@typescript-eslint/no-invalid-void-type": "error",
|
||||
"@typescript-eslint/no-array-delete": "error",
|
||||
"@typescript-eslint/no-base-to-string": "error",
|
||||
"@typescript-eslint/no-duplicate-type-constituents": "error",
|
||||
"@typescript-eslint/no-for-in-array": "error",
|
||||
"@typescript-eslint/no-implied-eval": "error",
|
||||
"@typescript-eslint/no-meaningless-void-operator": "error",
|
||||
"@typescript-eslint/no-mixed-enums": "error",
|
||||
"@typescript-eslint/no-unnecessary-boolean-literal-compare": "error",
|
||||
"@typescript-eslint/no-unsafe-enum-comparison": "error",
|
||||
"@typescript-eslint/no-unsafe-return": "error",
|
||||
"@typescript-eslint/no-unsafe-unary-minus": "error",
|
||||
"@typescript-eslint/prefer-reduce-type-parameter": "error",
|
||||
"@typescript-eslint/prefer-return-this-type": "error",
|
||||
"@typescript-eslint/related-getter-setter-pairs": "error",
|
||||
"@typescript-eslint/require-array-sort-compare": "error",
|
||||
"@typescript-eslint/return-await": "error",
|
||||
"@typescript-eslint/use-unknown-in-catch-callback-variable": "error",
|
||||
"@typescript-eslint/await-thenable": "error",
|
||||
"@typescript-eslint/no-unnecessary-type-arguments": "error",
|
||||
|
||||
//handled by oxlint
|
||||
"@typescript-eslint/no-non-null-assertion": "off",
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
"name": "@monkeytype/eslint-config",
|
||||
"private": true,
|
||||
"devDependencies": {
|
||||
"@typescript-eslint/eslint-plugin": "8.0.1",
|
||||
"@typescript-eslint/eslint-plugin": "8.41.0",
|
||||
"@typescript-eslint/parser": "8.2.0",
|
||||
"eslint-config-prettier": "9.1.0",
|
||||
"eslint-import-resolver-typescript": "3.6.1",
|
||||
|
|
|
@ -38,8 +38,9 @@ export function checkCompatibility(
|
|||
f.frontendFunctions?.includes("withWords")
|
||||
).length <= 1;
|
||||
const oneWordOrderMax =
|
||||
funboxesToCheck.filter((f) =>
|
||||
f.properties?.find((fp) => fp.startsWith("wordOrder"))
|
||||
funboxesToCheck.filter(
|
||||
(f) =>
|
||||
f.properties?.find((fp) => fp.startsWith("wordOrder")) !== undefined
|
||||
).length <= 1;
|
||||
const layoutUsability =
|
||||
funboxesToCheck.filter((f) =>
|
||||
|
@ -49,8 +50,11 @@ export function checkCompatibility(
|
|||
f.properties?.find((fp) => fp === "ignoresLayout" || fp === "usesLayout")
|
||||
).length === 0;
|
||||
const oneNospaceOrToPushMax =
|
||||
funboxesToCheck.filter((f) =>
|
||||
f.properties?.find((fp) => fp === "nospace" || fp.startsWith("toPush"))
|
||||
funboxesToCheck.filter(
|
||||
(f) =>
|
||||
f.properties?.find(
|
||||
(fp) => fp === "nospace" || fp.startsWith("toPush")
|
||||
) !== undefined
|
||||
).length <= 1;
|
||||
const oneChangesWordsVisibilityMax =
|
||||
funboxesToCheck.filter((f) =>
|
||||
|
@ -98,7 +102,7 @@ export function checkCompatibility(
|
|||
const oneToPushOrPullSectionMax =
|
||||
funboxesToCheck.filter(
|
||||
(f) =>
|
||||
(f.properties?.find((fp) => fp.startsWith("toPush:")) ?? "") ||
|
||||
f.properties?.find((fp) => fp.startsWith("toPush:")) !== undefined ||
|
||||
f.frontendFunctions?.includes("pullSection")
|
||||
).length <= 1;
|
||||
const onePunctuateWordMax =
|
||||
|
|
273
pnpm-lock.yaml
generated
273
pnpm-lock.yaml
generated
|
@ -537,8 +537,8 @@ importers:
|
|||
packages/eslint-config:
|
||||
devDependencies:
|
||||
'@typescript-eslint/eslint-plugin':
|
||||
specifier: 8.0.1
|
||||
version: 8.0.1(@typescript-eslint/parser@8.2.0(eslint@8.57.1)(typescript@5.5.4))(eslint@8.57.1)(typescript@5.5.4)
|
||||
specifier: 8.41.0
|
||||
version: 8.41.0(@typescript-eslint/parser@8.2.0(eslint@8.57.1)(typescript@5.5.4))(eslint@8.57.1)(typescript@5.5.4)
|
||||
'@typescript-eslint/parser':
|
||||
specifier: 8.2.0
|
||||
version: 8.2.0(eslint@8.57.1)(typescript@5.5.4)
|
||||
|
@ -1717,10 +1717,20 @@ packages:
|
|||
peerDependencies:
|
||||
eslint: ^6.0.0 || ^7.0.0 || >=8.0.0
|
||||
|
||||
'@eslint-community/eslint-utils@4.7.0':
|
||||
resolution: {integrity: sha512-dyybb3AcajC7uha6CvhdVRJqaKyn7w2YKqKyAN37NKYgZT36w+iRb0Dymmc5qEJ549c/S31cMMSFd75bteCpCw==}
|
||||
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
||||
peerDependencies:
|
||||
eslint: ^6.0.0 || ^7.0.0 || >=8.0.0
|
||||
|
||||
'@eslint-community/regexpp@4.11.0':
|
||||
resolution: {integrity: sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A==}
|
||||
engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
|
||||
|
||||
'@eslint-community/regexpp@4.12.1':
|
||||
resolution: {integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==}
|
||||
engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
|
||||
|
||||
'@eslint/eslintrc@2.1.4':
|
||||
resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==}
|
||||
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
||||
|
@ -3159,16 +3169,13 @@ packages:
|
|||
'@types/whatwg-url@11.0.5':
|
||||
resolution: {integrity: sha512-coYR071JRaHa+xoEvvYqvnIHaVqaYrLPbsufM9BF63HkwI5Lgmy2QR8Q5K/lYDYo5AK82wOvSOS0UsLTpTG7uQ==}
|
||||
|
||||
'@typescript-eslint/eslint-plugin@8.0.1':
|
||||
resolution: {integrity: sha512-5g3Y7GDFsJAnY4Yhvk8sZtFfV6YNF2caLzjrRPUBzewjPCaj0yokePB4LJSobyCzGMzjZZYFbwuzbfDHlimXbQ==}
|
||||
'@typescript-eslint/eslint-plugin@8.41.0':
|
||||
resolution: {integrity: sha512-8fz6oa6wEKZrhXWro/S3n2eRJqlRcIa6SlDh59FXJ5Wp5XRZ8B9ixpJDcjadHq47hMx0u+HW6SNa6LjJQ6NLtw==}
|
||||
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
||||
peerDependencies:
|
||||
'@typescript-eslint/parser': ^8.0.0 || ^8.0.0-alpha.0
|
||||
'@typescript-eslint/parser': ^8.41.0
|
||||
eslint: ^8.57.0 || ^9.0.0
|
||||
typescript: '*'
|
||||
peerDependenciesMeta:
|
||||
typescript:
|
||||
optional: true
|
||||
typescript: '>=4.8.4 <6.0.0'
|
||||
|
||||
'@typescript-eslint/parser@8.2.0':
|
||||
resolution: {integrity: sha512-j3Di+o0lHgPrb7FxL3fdEy6LJ/j2NE8u+AP/5cQ9SKb+JLH6V6UHDqJ+e0hXBkHP1wn1YDFjYCS9LBQsZDlDEg==}
|
||||
|
@ -3180,35 +3187,45 @@ packages:
|
|||
typescript:
|
||||
optional: true
|
||||
|
||||
'@typescript-eslint/scope-manager@8.0.1':
|
||||
resolution: {integrity: sha512-NpixInP5dm7uukMiRyiHjRKkom5RIFA4dfiHvalanD2cF0CLUuQqxfg8PtEUo9yqJI2bBhF+pcSafqnG3UBnRQ==}
|
||||
'@typescript-eslint/project-service@8.41.0':
|
||||
resolution: {integrity: sha512-b8V9SdGBQzQdjJ/IO3eDifGpDBJfvrNTp2QD9P2BeqWTGrRibgfgIlBSw6z3b6R7dPzg752tOs4u/7yCLxksSQ==}
|
||||
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
||||
peerDependencies:
|
||||
typescript: '>=4.8.4 <6.0.0'
|
||||
|
||||
'@typescript-eslint/scope-manager@8.2.0':
|
||||
resolution: {integrity: sha512-OFn80B38yD6WwpoHU2Tz/fTz7CgFqInllBoC3WP+/jLbTb4gGPTy9HBSTsbDWkMdN55XlVU0mMDYAtgvlUspGw==}
|
||||
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
||||
|
||||
'@typescript-eslint/type-utils@8.0.1':
|
||||
resolution: {integrity: sha512-+/UT25MWvXeDX9YaHv1IS6KI1fiuTto43WprE7pgSMswHbn1Jm9GEM4Txp+X74ifOWV8emu2AWcbLhpJAvD5Ng==}
|
||||
'@typescript-eslint/scope-manager@8.41.0':
|
||||
resolution: {integrity: sha512-n6m05bXn/Cd6DZDGyrpXrELCPVaTnLdPToyhBoFkLIMznRUQUEQdSp96s/pcWSQdqOhrgR1mzJ+yItK7T+WPMQ==}
|
||||
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
||||
|
||||
'@typescript-eslint/tsconfig-utils@8.41.0':
|
||||
resolution: {integrity: sha512-TDhxYFPUYRFxFhuU5hTIJk+auzM/wKvWgoNYOPcOf6i4ReYlOoYN8q1dV5kOTjNQNJgzWN3TUUQMtlLOcUgdUw==}
|
||||
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
||||
peerDependencies:
|
||||
typescript: '*'
|
||||
peerDependenciesMeta:
|
||||
typescript:
|
||||
optional: true
|
||||
typescript: '>=4.8.4 <6.0.0'
|
||||
|
||||
'@typescript-eslint/type-utils@8.41.0':
|
||||
resolution: {integrity: sha512-63qt1h91vg3KsjVVonFJWjgSK7pZHSQFKH6uwqxAH9bBrsyRhO6ONoKyXxyVBzG1lJnFAJcKAcxLS54N1ee1OQ==}
|
||||
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
||||
peerDependencies:
|
||||
eslint: ^8.57.0 || ^9.0.0
|
||||
typescript: '>=4.8.4 <6.0.0'
|
||||
|
||||
'@typescript-eslint/types@7.18.0':
|
||||
resolution: {integrity: sha512-iZqi+Ds1y4EDYUtlOOC+aUmxnE9xS/yCigkjA7XpTKV6nCBd3Hp/PRGGmdwnfkV2ThMyYldP1wRpm/id99spTQ==}
|
||||
engines: {node: ^18.18.0 || >=20.0.0}
|
||||
|
||||
'@typescript-eslint/types@8.0.1':
|
||||
resolution: {integrity: sha512-PpqTVT3yCA/bIgJ12czBuE3iBlM3g4inRSC5J0QOdQFAn07TYrYEQBBKgXH1lQpglup+Zy6c1fxuwTk4MTNKIw==}
|
||||
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
||||
|
||||
'@typescript-eslint/types@8.2.0':
|
||||
resolution: {integrity: sha512-6a9QSK396YqmiBKPkJtxsgZZZVjYQ6wQ/TlI0C65z7vInaETuC6HAHD98AGLC8DyIPqHytvNuS8bBVvNLKyqvQ==}
|
||||
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
||||
|
||||
'@typescript-eslint/types@8.41.0':
|
||||
resolution: {integrity: sha512-9EwxsWdVqh42afLbHP90n2VdHaWU/oWgbH2P0CfcNfdKL7CuKpwMQGjwev56vWu9cSKU7FWSu6r9zck6CVfnag==}
|
||||
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
||||
|
||||
'@typescript-eslint/typescript-estree@7.18.0':
|
||||
resolution: {integrity: sha512-aP1v/BSPnnyhMHts8cf1qQ6Q1IFwwRvAQGRvBFkWlo3/lH29OXA3Pts+c10nxRxIBrDnoMqzhgdwVe5f2D6OzA==}
|
||||
engines: {node: ^18.18.0 || >=20.0.0}
|
||||
|
@ -3218,15 +3235,6 @@ packages:
|
|||
typescript:
|
||||
optional: true
|
||||
|
||||
'@typescript-eslint/typescript-estree@8.0.1':
|
||||
resolution: {integrity: sha512-8V9hriRvZQXPWU3bbiUV4Epo7EvgM6RTs+sUmxp5G//dBGy402S7Fx0W0QkB2fb4obCF8SInoUzvTYtc3bkb5w==}
|
||||
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
||||
peerDependencies:
|
||||
typescript: '*'
|
||||
peerDependenciesMeta:
|
||||
typescript:
|
||||
optional: true
|
||||
|
||||
'@typescript-eslint/typescript-estree@8.2.0':
|
||||
resolution: {integrity: sha512-kiG4EDUT4dImplOsbh47B1QnNmXSoUqOjWDvCJw/o8LgfD0yr7k2uy54D5Wm0j4t71Ge1NkynGhpWdS0dEIAUA==}
|
||||
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
||||
|
@ -3236,24 +3244,31 @@ packages:
|
|||
typescript:
|
||||
optional: true
|
||||
|
||||
'@typescript-eslint/utils@8.0.1':
|
||||
resolution: {integrity: sha512-CBFR0G0sCt0+fzfnKaciu9IBsKvEKYwN9UZ+eeogK1fYHg4Qxk1yf/wLQkLXlq8wbU2dFlgAesxt8Gi76E8RTA==}
|
||||
'@typescript-eslint/typescript-estree@8.41.0':
|
||||
resolution: {integrity: sha512-D43UwUYJmGhuwHfY7MtNKRZMmfd8+p/eNSfFe6tH5mbVDto+VQCayeAt35rOx3Cs6wxD16DQtIKw/YXxt5E0UQ==}
|
||||
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
||||
peerDependencies:
|
||||
typescript: '>=4.8.4 <6.0.0'
|
||||
|
||||
'@typescript-eslint/utils@8.41.0':
|
||||
resolution: {integrity: sha512-udbCVstxZ5jiPIXrdH+BZWnPatjlYwJuJkDA4Tbo3WyYLh8NvB+h/bKeSZHDOFKfphsZYJQqaFtLeXEqurQn1A==}
|
||||
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
||||
peerDependencies:
|
||||
eslint: ^8.57.0 || ^9.0.0
|
||||
typescript: '>=4.8.4 <6.0.0'
|
||||
|
||||
'@typescript-eslint/visitor-keys@7.18.0':
|
||||
resolution: {integrity: sha512-cDF0/Gf81QpY3xYyJKDV14Zwdmid5+uuENhjH2EqFaF0ni+yAyq/LzMaIJdhNJXZI7uLzwIlA+V7oWoyn6Curg==}
|
||||
engines: {node: ^18.18.0 || >=20.0.0}
|
||||
|
||||
'@typescript-eslint/visitor-keys@8.0.1':
|
||||
resolution: {integrity: sha512-W5E+o0UfUcK5EgchLZsyVWqARmsM7v54/qEq6PY3YI5arkgmCzHiuk0zKSJJbm71V0xdRna4BGomkCTXz2/LkQ==}
|
||||
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
||||
|
||||
'@typescript-eslint/visitor-keys@8.2.0':
|
||||
resolution: {integrity: sha512-sbgsPMW9yLvS7IhCi8IpuK1oBmtbWUNP+hBdwl/I9nzqVsszGnNGti5r9dUtF5RLivHUFFIdRvLiTsPhzSyJ3Q==}
|
||||
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
||||
|
||||
'@typescript-eslint/visitor-keys@8.41.0':
|
||||
resolution: {integrity: sha512-+GeGMebMCy0elMNg67LRNoVnUFPIm37iu5CmHESVx56/9Jsfdpsvbv605DQ81Pi/x11IdKUsS5nzgTYbCQU9fg==}
|
||||
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
||||
|
||||
'@ungap/structured-clone@1.2.0':
|
||||
resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==}
|
||||
|
||||
|
@ -4931,6 +4946,10 @@ packages:
|
|||
resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==}
|
||||
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
||||
|
||||
eslint-visitor-keys@4.2.1:
|
||||
resolution: {integrity: sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==}
|
||||
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
||||
|
||||
eslint-watch@8.0.0:
|
||||
resolution: {integrity: sha512-piws/uE4gkZdz1pwkaEFx+kSWvoGnVX8IegFRrE1NUvlXjtU0rg7KhT1QDj/NzhAwbiLEfdRHWz5q738R4zDKA==}
|
||||
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
||||
|
@ -5059,6 +5078,10 @@ packages:
|
|||
resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==}
|
||||
engines: {node: '>=8.6.0'}
|
||||
|
||||
fast-glob@3.3.3:
|
||||
resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==}
|
||||
engines: {node: '>=8.6.0'}
|
||||
|
||||
fast-json-stable-stringify@2.1.0:
|
||||
resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==}
|
||||
|
||||
|
@ -5701,6 +5724,14 @@ packages:
|
|||
resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==}
|
||||
engines: {node: '>= 4'}
|
||||
|
||||
ignore@5.3.2:
|
||||
resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==}
|
||||
engines: {node: '>= 4'}
|
||||
|
||||
ignore@7.0.5:
|
||||
resolution: {integrity: sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==}
|
||||
engines: {node: '>= 4'}
|
||||
|
||||
immutable@4.3.7:
|
||||
resolution: {integrity: sha512-1hqclzwYwjRDFLjcFxOM5AYkkG0rpFPpr1RLPMEuGczoS7YA8gLhy8SWXYRAA/XwfEHpfo3cw5JGioS32fnMRw==}
|
||||
|
||||
|
@ -6667,6 +6698,10 @@ packages:
|
|||
resolution: {integrity: sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==}
|
||||
engines: {node: '>=8.6'}
|
||||
|
||||
micromatch@4.0.8:
|
||||
resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==}
|
||||
engines: {node: '>=8.6'}
|
||||
|
||||
mime-db@1.52.0:
|
||||
resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==}
|
||||
engines: {node: '>= 0.6'}
|
||||
|
@ -8176,6 +8211,11 @@ packages:
|
|||
engines: {node: '>=10'}
|
||||
hasBin: true
|
||||
|
||||
semver@7.7.2:
|
||||
resolution: {integrity: sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==}
|
||||
engines: {node: '>=10'}
|
||||
hasBin: true
|
||||
|
||||
send@0.18.0:
|
||||
resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==}
|
||||
engines: {node: '>= 0.8.0'}
|
||||
|
@ -8624,7 +8664,7 @@ packages:
|
|||
superagent@7.1.6:
|
||||
resolution: {integrity: sha512-gZkVCQR1gy/oUXr+kxJMLDjla434KmSOKbx5iGD30Ql+AkJQ/YlPKECJy2nhqOsHLjGHzoDTXNSjhnvWhzKk7g==}
|
||||
engines: {node: '>=6.4.0 <13 || >=14'}
|
||||
deprecated: Please upgrade to superagent v10.2.2+, see release notes at https://github.com/forwardemail/superagent/releases/tag/v10.2.2 - maintenance is supported by Forward Email @ https://forwardemail.net
|
||||
deprecated: Please upgrade to v9.0.0+ as we have fixed a public vulnerability with formidable dependency. Note that v9.0.0+ requires Node.js v14.18.0+. See https://github.com/ladjs/superagent/pull/1800 for insight. This project is supported and maintained by the team at Forward Email @ https://forwardemail.net
|
||||
|
||||
superstatic@9.0.3:
|
||||
resolution: {integrity: sha512-e/tmW0bsnQ/33ivK6y3CapJT0Ovy4pk/ohNPGhIAGU2oasoNLRQ1cv6enua09NU9w6Y0H/fBu07cjzuiWvLXxw==}
|
||||
|
@ -8858,6 +8898,18 @@ packages:
|
|||
peerDependencies:
|
||||
typescript: '>=4.2.0'
|
||||
|
||||
ts-api-utils@1.4.3:
|
||||
resolution: {integrity: sha512-i3eMG77UTMD0hZhgRS562pv83RC6ukSAC2GMNWc+9dieh/+jDM5u5YG+NHX6VNDRHQcHwmsTHctP9LhbC3WxVw==}
|
||||
engines: {node: '>=16'}
|
||||
peerDependencies:
|
||||
typescript: '>=4.2.0'
|
||||
|
||||
ts-api-utils@2.1.0:
|
||||
resolution: {integrity: sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==}
|
||||
engines: {node: '>=18.12'}
|
||||
peerDependencies:
|
||||
typescript: '>=4.8.4'
|
||||
|
||||
ts-deepmerge@6.2.1:
|
||||
resolution: {integrity: sha512-8CYSLazCyj0DJDpPIxOFzJG46r93uh6EynYjuey+bxcLltBeqZL7DMfaE5ZPzZNFlav7wx+2TDa/mBl8gkTYzw==}
|
||||
engines: {node: '>=14.13.1'}
|
||||
|
@ -10829,8 +10881,15 @@ snapshots:
|
|||
eslint: 8.57.1
|
||||
eslint-visitor-keys: 3.4.3
|
||||
|
||||
'@eslint-community/eslint-utils@4.7.0(eslint@8.57.1)':
|
||||
dependencies:
|
||||
eslint: 8.57.1
|
||||
eslint-visitor-keys: 3.4.3
|
||||
|
||||
'@eslint-community/regexpp@4.11.0': {}
|
||||
|
||||
'@eslint-community/regexpp@4.12.1': {}
|
||||
|
||||
'@eslint/eslintrc@2.1.4':
|
||||
dependencies:
|
||||
ajv: 6.12.6
|
||||
|
@ -12529,20 +12588,19 @@ snapshots:
|
|||
dependencies:
|
||||
'@types/webidl-conversions': 7.0.3
|
||||
|
||||
'@typescript-eslint/eslint-plugin@8.0.1(@typescript-eslint/parser@8.2.0(eslint@8.57.1)(typescript@5.5.4))(eslint@8.57.1)(typescript@5.5.4)':
|
||||
'@typescript-eslint/eslint-plugin@8.41.0(@typescript-eslint/parser@8.2.0(eslint@8.57.1)(typescript@5.5.4))(eslint@8.57.1)(typescript@5.5.4)':
|
||||
dependencies:
|
||||
'@eslint-community/regexpp': 4.11.0
|
||||
'@eslint-community/regexpp': 4.12.1
|
||||
'@typescript-eslint/parser': 8.2.0(eslint@8.57.1)(typescript@5.5.4)
|
||||
'@typescript-eslint/scope-manager': 8.0.1
|
||||
'@typescript-eslint/type-utils': 8.0.1(eslint@8.57.1)(typescript@5.5.4)
|
||||
'@typescript-eslint/utils': 8.0.1(eslint@8.57.1)(typescript@5.5.4)
|
||||
'@typescript-eslint/visitor-keys': 8.0.1
|
||||
'@typescript-eslint/scope-manager': 8.41.0
|
||||
'@typescript-eslint/type-utils': 8.41.0(eslint@8.57.1)(typescript@5.5.4)
|
||||
'@typescript-eslint/utils': 8.41.0(eslint@8.57.1)(typescript@5.5.4)
|
||||
'@typescript-eslint/visitor-keys': 8.41.0
|
||||
eslint: 8.57.1
|
||||
graphemer: 1.4.0
|
||||
ignore: 5.3.1
|
||||
ignore: 7.0.5
|
||||
natural-compare: 1.4.0
|
||||
ts-api-utils: 1.3.0(typescript@5.5.4)
|
||||
optionalDependencies:
|
||||
ts-api-utils: 2.1.0(typescript@5.5.4)
|
||||
typescript: 5.5.4
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
@ -12560,34 +12618,47 @@ snapshots:
|
|||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
'@typescript-eslint/scope-manager@8.0.1':
|
||||
'@typescript-eslint/project-service@8.41.0(typescript@5.5.4)':
|
||||
dependencies:
|
||||
'@typescript-eslint/types': 8.0.1
|
||||
'@typescript-eslint/visitor-keys': 8.0.1
|
||||
'@typescript-eslint/tsconfig-utils': 8.41.0(typescript@5.5.4)
|
||||
'@typescript-eslint/types': 8.41.0
|
||||
debug: 4.4.1
|
||||
typescript: 5.5.4
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
'@typescript-eslint/scope-manager@8.2.0':
|
||||
dependencies:
|
||||
'@typescript-eslint/types': 8.2.0
|
||||
'@typescript-eslint/visitor-keys': 8.2.0
|
||||
|
||||
'@typescript-eslint/type-utils@8.0.1(eslint@8.57.1)(typescript@5.5.4)':
|
||||
'@typescript-eslint/scope-manager@8.41.0':
|
||||
dependencies:
|
||||
'@typescript-eslint/typescript-estree': 8.0.1(typescript@5.5.4)
|
||||
'@typescript-eslint/utils': 8.0.1(eslint@8.57.1)(typescript@5.5.4)
|
||||
'@typescript-eslint/types': 8.41.0
|
||||
'@typescript-eslint/visitor-keys': 8.41.0
|
||||
|
||||
'@typescript-eslint/tsconfig-utils@8.41.0(typescript@5.5.4)':
|
||||
dependencies:
|
||||
typescript: 5.5.4
|
||||
|
||||
'@typescript-eslint/type-utils@8.41.0(eslint@8.57.1)(typescript@5.5.4)':
|
||||
dependencies:
|
||||
'@typescript-eslint/types': 8.41.0
|
||||
'@typescript-eslint/typescript-estree': 8.41.0(typescript@5.5.4)
|
||||
'@typescript-eslint/utils': 8.41.0(eslint@8.57.1)(typescript@5.5.4)
|
||||
debug: 4.4.1
|
||||
ts-api-utils: 1.3.0(typescript@5.5.4)
|
||||
optionalDependencies:
|
||||
eslint: 8.57.1
|
||||
ts-api-utils: 2.1.0(typescript@5.5.4)
|
||||
typescript: 5.5.4
|
||||
transitivePeerDependencies:
|
||||
- eslint
|
||||
- supports-color
|
||||
|
||||
'@typescript-eslint/types@7.18.0': {}
|
||||
|
||||
'@typescript-eslint/types@8.0.1': {}
|
||||
|
||||
'@typescript-eslint/types@8.2.0': {}
|
||||
|
||||
'@typescript-eslint/types@8.41.0': {}
|
||||
|
||||
'@typescript-eslint/typescript-estree@7.18.0(typescript@5.5.4)':
|
||||
dependencies:
|
||||
'@typescript-eslint/types': 7.18.0
|
||||
|
@ -12597,22 +12668,7 @@ snapshots:
|
|||
is-glob: 4.0.3
|
||||
minimatch: 9.0.5
|
||||
semver: 7.6.3
|
||||
ts-api-utils: 1.3.0(typescript@5.5.4)
|
||||
optionalDependencies:
|
||||
typescript: 5.5.4
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
'@typescript-eslint/typescript-estree@8.0.1(typescript@5.5.4)':
|
||||
dependencies:
|
||||
'@typescript-eslint/types': 8.0.1
|
||||
'@typescript-eslint/visitor-keys': 8.0.1
|
||||
debug: 4.4.1
|
||||
globby: 11.1.0
|
||||
is-glob: 4.0.3
|
||||
minimatch: 9.0.5
|
||||
semver: 7.6.3
|
||||
ts-api-utils: 1.3.0(typescript@5.5.4)
|
||||
ts-api-utils: 1.4.3(typescript@5.5.4)
|
||||
optionalDependencies:
|
||||
typescript: 5.5.4
|
||||
transitivePeerDependencies:
|
||||
|
@ -12633,32 +12689,48 @@ snapshots:
|
|||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
'@typescript-eslint/utils@8.0.1(eslint@8.57.1)(typescript@5.5.4)':
|
||||
'@typescript-eslint/typescript-estree@8.41.0(typescript@5.5.4)':
|
||||
dependencies:
|
||||
'@eslint-community/eslint-utils': 4.4.0(eslint@8.57.1)
|
||||
'@typescript-eslint/scope-manager': 8.0.1
|
||||
'@typescript-eslint/types': 8.0.1
|
||||
'@typescript-eslint/typescript-estree': 8.0.1(typescript@5.5.4)
|
||||
eslint: 8.57.1
|
||||
'@typescript-eslint/project-service': 8.41.0(typescript@5.5.4)
|
||||
'@typescript-eslint/tsconfig-utils': 8.41.0(typescript@5.5.4)
|
||||
'@typescript-eslint/types': 8.41.0
|
||||
'@typescript-eslint/visitor-keys': 8.41.0
|
||||
debug: 4.4.1
|
||||
fast-glob: 3.3.3
|
||||
is-glob: 4.0.3
|
||||
minimatch: 9.0.5
|
||||
semver: 7.7.2
|
||||
ts-api-utils: 2.1.0(typescript@5.5.4)
|
||||
typescript: 5.5.4
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
'@typescript-eslint/utils@8.41.0(eslint@8.57.1)(typescript@5.5.4)':
|
||||
dependencies:
|
||||
'@eslint-community/eslint-utils': 4.7.0(eslint@8.57.1)
|
||||
'@typescript-eslint/scope-manager': 8.41.0
|
||||
'@typescript-eslint/types': 8.41.0
|
||||
'@typescript-eslint/typescript-estree': 8.41.0(typescript@5.5.4)
|
||||
eslint: 8.57.1
|
||||
typescript: 5.5.4
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
- typescript
|
||||
|
||||
'@typescript-eslint/visitor-keys@7.18.0':
|
||||
dependencies:
|
||||
'@typescript-eslint/types': 7.18.0
|
||||
eslint-visitor-keys: 3.4.3
|
||||
|
||||
'@typescript-eslint/visitor-keys@8.0.1':
|
||||
dependencies:
|
||||
'@typescript-eslint/types': 8.0.1
|
||||
eslint-visitor-keys: 3.4.3
|
||||
|
||||
'@typescript-eslint/visitor-keys@8.2.0':
|
||||
dependencies:
|
||||
'@typescript-eslint/types': 8.2.0
|
||||
eslint-visitor-keys: 3.4.3
|
||||
|
||||
'@typescript-eslint/visitor-keys@8.41.0':
|
||||
dependencies:
|
||||
'@typescript-eslint/types': 8.41.0
|
||||
eslint-visitor-keys: 4.2.1
|
||||
|
||||
'@ungap/structured-clone@1.2.0': {}
|
||||
|
||||
'@vitest/coverage-v8@3.2.4(vitest@3.2.4(@types/node@20.14.11)(happy-dom@15.10.2)(sass@1.70.0)(terser@5.43.1)(tsx@4.16.2)(yaml@2.5.0))':
|
||||
|
@ -14649,6 +14721,8 @@ snapshots:
|
|||
|
||||
eslint-visitor-keys@3.4.3: {}
|
||||
|
||||
eslint-visitor-keys@4.2.1: {}
|
||||
|
||||
eslint-watch@8.0.0(eslint@8.57.1):
|
||||
dependencies:
|
||||
chokidar: 3.6.0
|
||||
|
@ -14901,6 +14975,14 @@ snapshots:
|
|||
merge2: 1.4.1
|
||||
micromatch: 4.0.7
|
||||
|
||||
fast-glob@3.3.3:
|
||||
dependencies:
|
||||
'@nodelib/fs.stat': 2.0.5
|
||||
'@nodelib/fs.walk': 1.2.8
|
||||
glob-parent: 5.1.2
|
||||
merge2: 1.4.1
|
||||
micromatch: 4.0.8
|
||||
|
||||
fast-json-stable-stringify@2.1.0: {}
|
||||
|
||||
fast-json-stringify@2.7.13:
|
||||
|
@ -15544,7 +15626,7 @@ snapshots:
|
|||
array-union: 2.1.0
|
||||
dir-glob: 3.0.1
|
||||
fast-glob: 3.3.2
|
||||
ignore: 5.3.1
|
||||
ignore: 5.3.2
|
||||
merge2: 1.4.1
|
||||
slash: 3.0.0
|
||||
|
||||
|
@ -15811,6 +15893,10 @@ snapshots:
|
|||
|
||||
ignore@5.3.1: {}
|
||||
|
||||
ignore@5.3.2: {}
|
||||
|
||||
ignore@7.0.5: {}
|
||||
|
||||
immutable@4.3.7: {}
|
||||
|
||||
import-fresh@3.3.0:
|
||||
|
@ -16798,6 +16884,11 @@ snapshots:
|
|||
braces: 3.0.3
|
||||
picomatch: 2.3.1
|
||||
|
||||
micromatch@4.0.8:
|
||||
dependencies:
|
||||
braces: 3.0.3
|
||||
picomatch: 2.3.1
|
||||
|
||||
mime-db@1.52.0: {}
|
||||
|
||||
mime-db@1.53.0: {}
|
||||
|
@ -18588,6 +18679,8 @@ snapshots:
|
|||
|
||||
semver@7.6.3: {}
|
||||
|
||||
semver@7.7.2: {}
|
||||
|
||||
send@0.18.0:
|
||||
dependencies:
|
||||
debug: 2.6.9
|
||||
|
@ -19474,6 +19567,14 @@ snapshots:
|
|||
dependencies:
|
||||
typescript: 5.5.4
|
||||
|
||||
ts-api-utils@1.4.3(typescript@5.5.4):
|
||||
dependencies:
|
||||
typescript: 5.5.4
|
||||
|
||||
ts-api-utils@2.1.0(typescript@5.5.4):
|
||||
dependencies:
|
||||
typescript: 5.5.4
|
||||
|
||||
ts-deepmerge@6.2.1: {}
|
||||
|
||||
ts-graphviz@2.1.2:
|
||||
|
|
Loading…
Add table
Reference in a new issue