Upgrade eslint config (#439)

This commit is contained in:
KoalaSat 2023-03-16 15:36:48 +00:00 committed by GitHub
commit 7b40508955
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
21 changed files with 214 additions and 171 deletions

View File

@ -20,6 +20,8 @@ import DatabaseModule from '../../lib/Native/DatabaseModule'
import { addMutedUsersList, removeMutedUsersList } from '../../Functions/RelayFunctions/Lists'
import { getRelayMetadata } from '../../Functions/DatabaseFunctions/RelayMetadatas'
import { getUserRelays } from '../../Functions/DatabaseFunctions/NotesRelays'
import { lightningInvoice } from '../../Functions/ServicesFunctions/ZapInvoice'
import LnPreview from '../LnPreview'
interface ProfileActionsProps {
user: User
@ -33,7 +35,7 @@ export const ProfileActions: React.FC<ProfileActionsProps> = ({
onActionDone = () => {},
}) => {
const theme = useTheme()
const { database } = React.useContext(AppContext)
const { database, longPressZap } = React.useContext(AppContext)
const { publicKey, privateKey, mutedUsers, reloadLists } = React.useContext(UserContext)
const { relayPool, addRelayItem, lastEventId, sendEvent, relays } =
React.useContext(RelayPoolContext)
@ -47,6 +49,7 @@ export const ProfileActions: React.FC<ProfileActionsProps> = ({
const bottomSheetMuteRef = React.useRef<RBSheet>(null)
const [userRelays, setUserRelays] = React.useState<string[]>()
const [openLn, setOpenLn] = React.useState<boolean>(false)
const [zapInvoice, setZapInvoice] = React.useState<string>()
React.useEffect(() => {
loadUser()
@ -208,6 +211,25 @@ export const ProfileActions: React.FC<ProfileActionsProps> = ({
)
}
const generateZapInvoice: () => void = () => {
const lud = user?.ln_address && user?.ln_address !== '' ? user?.ln_address : user?.lnurl
if (lud && lud !== '' && longPressZap && database && privateKey && publicKey && user?.id) {
lightningInvoice(
database,
lud,
longPressZap,
privateKey,
publicKey,
user?.id,
true,
user?.zap_pubkey,
).then((invoice) => {
if (invoice) setZapInvoice(invoice)
})
}
}
return (
<View style={styles.container}>
<View style={styles.mainLayout}>
@ -241,6 +263,7 @@ export const ProfileActions: React.FC<ProfileActionsProps> = ({
icon='lightning-bolt'
size={28}
onPress={() => setOpenLn(true)}
onLongPress={longPressZap ? generateZapInvoice : undefined}
disabled={
!user.lnurl && user.lnurl !== '' && !user?.ln_address && user.ln_address !== ''
}
@ -368,6 +391,7 @@ export const ProfileActions: React.FC<ProfileActionsProps> = ({
</View>
</RBSheet>
<LnPayment setOpen={setOpenLn} open={openLn} user={user} />
{zapInvoice && <LnPreview invoice={zapInvoice} setInvoice={setZapInvoice} />}
{showNotification && (
<Snackbar
style={styles.snackbar}

View File

@ -22,7 +22,7 @@ export const getRawUserConversation: (
WHERE pubkey = ?
ORDER BY created_at DESC
`
const resultSet = await db.execute(notesQuery, [pubKey])
const resultSet = db.execute(notesQuery, [pubKey])
const items: object[] = getItems(resultSet)
const notes: Event[] = items.map((object) => evetDatabaseToEntity(object))
@ -64,7 +64,7 @@ export const getGroupedDirectMessages: (
notesQuery += `ORDER BY created_at ${order} `
if (limit) notesQuery += `LIMIT ${limit}`
const resultSet = await db.execute(notesQuery)
const resultSet = db.execute(notesQuery)
const items: object[] = getItems(resultSet)
const notes: DirectMessage[] = items.map((object) => databaseToEntity(object))
@ -91,7 +91,7 @@ export const getDirectMessages: (
notesQuery += `LIMIT ${limit}`
}
const resultSet = await db.execute(notesQuery)
const resultSet = db.execute(notesQuery)
const items: object[] = getItems(resultSet)
const notes: DirectMessage[] = items.map((object) => databaseToEntity(object))
@ -112,7 +112,7 @@ export const getUserLastDirectMessages: (
LIMIT 1
`
const resultSet = await db.execute(messageQuery, [userId])
const resultSet = db.execute(messageQuery, [userId])
const items: object[] = getItems(resultSet)
if (items.length) {
const notes: DirectMessage = databaseToEntity(items[0])

View File

@ -35,7 +35,7 @@ export const getGroups: (db: QuickSQLiteConnection) => Promise<Group[]> = async
nostros_group_meta
WHERE (deleted = NULL OR deleted = 0)
`
const resultSet = await db.execute(groupsQuery)
const resultSet = db.execute(groupsQuery)
const items: object[] = getItems(resultSet)
const notes: Group[] = items.map((object) => databaseToGroup(object))
@ -54,7 +54,7 @@ export const getGroup: (db: QuickSQLiteConnection, groupId: string) => Promise<G
WHERE
id = ?
`
const resultSet = await db.execute(groupsQuery, [groupId])
const resultSet = db.execute(groupsQuery, [groupId])
const items: object[] = getItems(resultSet)
const group: Group = databaseToGroup(items[0])
@ -92,7 +92,7 @@ export const getGroupMessages: (
notesQuery += `LIMIT ${limit}`
}
const resultSet = await db.execute(notesQuery)
const resultSet = db.execute(notesQuery)
const items: object[] = getItems(resultSet)
const messages: GroupMessage[] = items.map((object) => databaseToGroupMessage(object))
@ -174,7 +174,7 @@ export const getRawUserGroupMessages: (
WHERE pubkey = ?
ORDER BY created_at DESC
`
const resultSet = await db.execute(notesQuery, [pubKey])
const resultSet = db.execute(notesQuery, [pubKey])
const items: object[] = getItems(resultSet)
const groupMessages: Event[] = items.map((object) => databaseToGroupMessage(object))
@ -189,7 +189,7 @@ export const getRawUserGroups: (
WHERE pubkey = ?
ORDER BY created_at DESC
`
const resultSet = await db.execute(notesQuery, [pubKey])
const resultSet = db.execute(notesQuery, [pubKey])
const items: object[] = getItems(resultSet)
const groups: Event[] = items.map((object) => databaseToGroup(object))

View File

@ -19,7 +19,7 @@ export const getList: (
if (tag) {
notesQuery += ' AND list_tag = ?'
}
const resultSet = await db.execute(notesQuery, [kind, pubKey, tag])
const resultSet = db.execute(notesQuery, [kind, pubKey, tag])
const items: object[] = getItems(resultSet)
const relays: List[] = items.map((object) => databaseToEntity(object))
return relays[0]
@ -31,7 +31,7 @@ export const getRawLists: (db: QuickSQLiteConnection, pubKey: string) => Promise
) => {
const notesQuery = 'SELECT * FROM nostros_lists WHERE pubkey = ?'
const resultSet = await db.execute(notesQuery, [pubKey])
const resultSet = db.execute(notesQuery, [pubKey])
const items: object[] = getItems(resultSet)
const lists: Event[] = items.map((object) => evetDatabaseToEntity(object))

View File

@ -64,7 +64,7 @@ export const getMainNotes: (
ORDER BY created_at DESC
LIMIT ${limit}
`
const resultSet = await db.execute(notesQuery)
const resultSet = db.execute(notesQuery)
const items: object[] = getItems(resultSet)
const notes: Note[] = items.map((object) => databaseToEntity(object))
@ -98,7 +98,7 @@ export const getReplyNotes: (
LIMIT ${limit}
`
const resultSet = await db.execute(notesQuery)
const resultSet = db.execute(notesQuery)
const items: object[] = getItems(resultSet)
const notes: Note[] = items.map((object) => databaseToEntity(object))
@ -137,7 +137,7 @@ export const getNoteRelays: (
WHERE note_id = "${noteId}"
ORDER BY relay_url
`
const resultSet = await db.execute(relaysQuery)
const resultSet = db.execute(relaysQuery)
const items: object[] = getItems(resultSet)
const relays: NoteRelay[] = items.map((object) => noteRelayDatabaseToEntity(object))
@ -165,7 +165,7 @@ export const getMentionNotes: (
notesQuery += `ORDER BY created_at DESC`
const resultSet = await db.execute(notesQuery)
const resultSet = db.execute(notesQuery)
const items: object[] = getItems(resultSet)
const notes: Note[] = items.map((object) => databaseToEntity(object))
@ -191,7 +191,7 @@ export const getReactedNotes: (
LIMIT ${limit}
`
const resultSet = await db.execute(notesQuery)
const resultSet = db.execute(notesQuery)
const items: object[] = getItems(resultSet)
const notes: Note[] = items.map((object) => databaseToEntity(object))
@ -216,7 +216,7 @@ export const getRepostedNotes: (
LIMIT ${limit}
`
const resultSet = await db.execute(notesQuery)
const resultSet = db.execute(notesQuery)
const items: object[] = getItems(resultSet)
const notes: Note[] = items.map((object) => databaseToEntity(object))
@ -312,7 +312,7 @@ export const getLastReply: (
LIMIT 1
`
const resultSet = await db.execute(replyQuery)
const resultSet = db.execute(replyQuery)
const item: object = getItems(resultSet)[0]
const reaction: Note = databaseToEntity(item)
@ -327,7 +327,7 @@ export const getRawUserNotes: (
WHERE pubkey = ?
ORDER BY created_at DESC
`
const resultSet = await db.execute(notesQuery, [pubKey])
const resultSet = db.execute(notesQuery, [pubKey])
const items: object[] = getItems(resultSet)
const notes: Event[] = items.map((object) => evetDatabaseToEntity(object))
@ -394,7 +394,7 @@ export const getNotes: (
notesQuery += `LIMIT ${limit}`
}
const resultSet = await db.execute(notesQuery)
const resultSet = db.execute(notesQuery)
const items: object[] = getItems(resultSet)
const notes: Note[] = items.map((object) => databaseToEntity(object))

View File

@ -20,7 +20,7 @@ export const getRawUserReactions: (
WHERE pubkey = ?
ORDER BY created_at DESC
`
const resultSet = await db.execute(notesQuery, [pubKey])
const resultSet = db.execute(notesQuery, [pubKey])
const items: object[] = getItems(resultSet)
const notes: Event[] = items.map((object) => evetDatabaseToEntity(object))
@ -57,7 +57,7 @@ export const getReactions: (
`
}
const resultSet = await db.execute(reactionsQuery)
const resultSet = db.execute(reactionsQuery)
const items: object[] = getItems(resultSet)
const reactions: Reaction[] = items.map((object) => databaseToEntity(object))
@ -82,7 +82,7 @@ export const getLastReaction: (
LIMIT 1
`
const resultSet = await db.execute(reactionsQuery)
const resultSet = db.execute(reactionsQuery)
const item: object = getItems(resultSet)[0]
const reaction: Reaction = databaseToEntity(item)

View File

@ -28,7 +28,7 @@ export const getUser: (pubkey: string, db: QuickSQLiteConnection) => Promise<Use
db,
) => {
const userQuery = `SELECT * FROM nostros_users WHERE id = '${pubkey}';`
const resultSet = await db.execute(userQuery)
const resultSet = db.execute(userQuery)
if (resultSet.rows && resultSet.rows?.length > 0) {
const items: object[] = getItems(resultSet)

View File

@ -56,7 +56,7 @@ export const getMostZapedNotes: (
ORDER BY total DESC
LIMIT ${limit}
`
const resultSet = await db.execute(zapsQuery)
const resultSet = db.execute(zapsQuery)
const items: object[] = getItems(resultSet)
const zaps: Zap[] = items.map((object) => databaseToEntity(object))
@ -79,7 +79,7 @@ export const getMostZapedNotesContacts: (
GROUP BY nostros_zaps.zapped_event_id
ORDER BY total DESC
`
const resultSet = await db.execute(zapsQuery)
const resultSet = db.execute(zapsQuery)
const items: object[] = getItems(resultSet)
const zaps: Zap[] = items.map((object) => databaseToEntity(object))
@ -100,7 +100,7 @@ export const getUserZaps: (
AND created_at > ${limitDate}
`
const resultSet = await db.execute(groupsQuery)
const resultSet = db.execute(groupsQuery)
const items: object[] = getItems(resultSet)
const zaps: Zap[] = items.map((object) => databaseToEntity(object))
@ -138,7 +138,7 @@ export const getZaps: (
LIMIT ${filters.limit}
`
}
const resultSet = await db.execute(groupsQuery)
const resultSet = db.execute(groupsQuery)
const items: object[] = getItems(resultSet)
const zaps: Zap[] = items.map((object) => databaseToEntity(object))

View File

@ -41,7 +41,7 @@ export const relayToColor: (string: string) => string = (string) => {
return relayColors[Math.abs(hash) % (relayColors.length - 1)]
}
export const pickRandomItems = <T extends unknown>(arr: T[], n: number): T[] => {
export const pickRandomItems = <T>(arr: T[], n: number): T[] => {
const shuffled = Array.from(arr).sort(() => 0.5 - Math.random())
return shuffled.slice(0, n)
}

View File

@ -4,7 +4,7 @@ import { FlatList, StyleSheet } from 'react-native'
import { Button, Divider, List, Switch, Text, TextInput, useTheme } from 'react-native-paper'
import SInfo from 'react-native-sensitive-info'
import RBSheet from 'react-native-raw-bottom-sheet'
import { AppContext, Config } from '../../Contexts/AppContext'
import { AppContext, type Config } from '../../Contexts/AppContext'
import { imageHostingServices } from '../../Constants/Services'
export const ConfigPage: React.FC = () => {

View File

@ -1,93 +1,113 @@
import * as React from 'react';
import { useTranslation } from 'react-i18next';
import { ScrollView, Text, View, StyleSheet, LayoutAnimation, Platform, UIManager } from 'react-native';
import { List, Searchbar, Divider, useTheme } from 'react-native-paper';
import * as React from 'react'
import { useTranslation } from 'react-i18next'
import {
Text,
View,
StyleSheet,
LayoutAnimation,
Platform,
UIManager,
type ListRenderItem,
FlatList,
} from 'react-native'
import { List, Searchbar, useTheme } from 'react-native-paper'
if (Platform.OS === 'android' && UIManager.setLayoutAnimationEnabledExperimental) {
UIManager.setLayoutAnimationEnabledExperimental(true);
UIManager.setLayoutAnimationEnabledExperimental(true)
}
interface FAQItem {
id: number;
question: string;
answer: string;
id: number
question: string
answer: string
group: string
}
const FAQ: React.FC<{ faq: FAQItem; expanded: boolean; onPress: () => void }> = ({ faq, expanded, onPress }) => {
const theme = useTheme();
const FAQ: React.FC<{ item: FAQItem }> = ({ item }) => {
const [expanded, setExpanded] = React.useState<boolean>(false)
return (
<List.Accordion title={faq.question} expanded={expanded} onPress={onPress}>
<Text numberOfLines={expanded ? undefined : 3} style={[styles.container, { color: theme.colors.onBackground }]}>
{faq.answer}
</Text>
<List.Accordion
title={item.question}
expanded={expanded}
onPress={() => {
LayoutAnimation.configureNext(LayoutAnimation.Presets.easeInEaseOut)
setExpanded((prev) => !prev)
}}
>
<Text numberOfLines={expanded ? undefined : 3}>{item.answer}</Text>
</List.Accordion>
);
};
const FAQList: React.FC<{ faqs: FAQItem[]; search: string }> = ({ faqs, search }) => {
const [expandedId, setExpandedId] = React.useState<number | null>(null);
const handlePress = (id: number) => {
LayoutAnimation.configureNext(LayoutAnimation.Presets.easeInEaseOut);
setExpandedId(expandedId === id ? null : id);
};
const filteredFaqs = faqs.filter((faq) => faq.question.toLowerCase().includes(search.toLowerCase()));
const groupedFaqs = filteredFaqs.reduce<{ [key: string]: FAQItem[] }>((groups, faq) => {
const firstLetter = faq.question[0].toUpperCase();
if (!groups[firstLetter]) {
groups[firstLetter] = [];
)
}
const FaqPage: React.FC = () => {
const [search, setSearch] = React.useState('')
const { t } = useTranslation('common')
const theme = useTheme()
const faqs: FAQItem[] = React.useMemo(
() =>
[
// {
// id: 1,
// question: t('faq.note_broadcasting.question'),
// answer: t('faq.note_broadcasting.answer'),
// group: '',
// },
{
id: 2,
question: t('faq.notes_colouring.question'),
answer: t('faq.notes_colouring.answer'),
group: '',
},
{
id: 3,
question: t('faq.resilient_login.question'),
answer: t('faq.resilient_login.answer'),
group: '',
},
]
.map((item) => {
item.group = item.question[0].toLowerCase()
return item
})
.sort((a, b) => (a.group < b.group ? -1 : 1)),
[],
)
const [visibleFaqs, setVisibleFaqs] = React.useState<FAQItem[]>(faqs)
React.useEffect(() => {
if (search !== '') {
const searchLower = search.toLowerCase()
setVisibleFaqs(faqs.filter((item) => item.question.toLowerCase().includes(searchLower)))
} else {
setVisibleFaqs(faqs)
}
}, [search])
const renderItem: ListRenderItem<FAQItem> = ({ item, index }) => {
return (
<>
{(index === 0 || visibleFaqs[index - 1].group !== item.group) && (
<List.Subheader>{item.group.toUpperCase()}</List.Subheader>
)}
<FAQ item={item} />
</>
)
}
groups[firstLetter].push(faq);
return groups;
}, {});
return (
<ScrollView>
{Object.entries(groupedFaqs).map(([letter, faqs]) => (
<View key={letter}>
<List.Subheader>{letter}</List.Subheader>
{faqs.map((faq) => (
<FAQ key={faq.id} faq={faq} expanded={faq.id === expandedId} onPress={() => handlePress(faq.id)} />
))}
<Divider />
<View style={[styles.container, { backgroundColor: theme.colors.background }]}>
<Searchbar placeholder={t('faq.searchLabel') ?? ''} value={search} onChangeText={setSearch} />
<FlatList data={visibleFaqs} renderItem={renderItem} style={styles.list} />
</View>
))}
</ScrollView>
);
};
interface FaqPageProps {}
const FaqPage: React.FC<FaqPageProps> = () => {
const [search, setSearch] = React.useState('');
const { t } = useTranslation('common');
const theme = useTheme();
const faqs: FAQItem[] = [
{ id: 1, question: t('faq.note_broadcasting.question'), answer: t('faq.note_broadcasting.answer') },
{ id: 2, question: t('faq.notes_colouring.question'), answer: t('faq.notes_colouring.answer') },
{ id: 3, question: t('faq.resilient_login.question'), answer: t('faq.resilient_login.answer') },
];
return (
<View style={{ flex: 1, backgroundColor: theme.colors.background }}>
<Searchbar
placeholder={t('faq.searchLabel')}
value={search}
onChangeText={setSearch}
/>
<FAQList faqs={faqs} search={search} />
</View>
);
};
)
}
const styles = StyleSheet.create({
container: {
padding: 16,
flex: 1,
},
});
})
export default FaqPage;
export default FaqPage

View File

@ -123,7 +123,7 @@ export const HomeNavigator: React.FC = () => {
<Appbar.Action
icon='menu'
isLeading
onPress={() => (navigation as any as DrawerNavigationProp<{}>).openDrawer()}
onPress={() => (navigation as any as DrawerNavigationProp<any>).openDrawer()}
/>
) : null}
<Appbar.Content

View File

@ -73,12 +73,12 @@ export const HomeNavigator: React.FC = () => {
const leftAction: () => JSX.Element = () => {
if (back && route.name !== 'ProfileLoad') {
return <Appbar.BackAction onPress={() => navigation.goBack()} />
} else if ((navigation as any as DrawerNavigationProp<{}>).openDrawer) {
} else if ((navigation as any as DrawerNavigationProp<any>).openDrawer) {
return (
<Appbar.Action
icon='menu'
isLeading
onPress={() => (navigation as any as DrawerNavigationProp<{}>).openDrawer()}
onPress={() => (navigation as any as DrawerNavigationProp<any>).openDrawer()}
/>
)
} else {

View File

@ -1,12 +1,12 @@
import React, { useCallback, useContext, useEffect, useState } from 'react'
import {
NativeScrollEvent,
NativeSyntheticEvent,
type NativeScrollEvent,
type NativeSyntheticEvent,
RefreshControl,
StyleSheet,
View,
} from 'react-native'
import { AppContext, Config } from '../../../Contexts/AppContext'
import { AppContext, type Config } from '../../../Contexts/AppContext'
import SInfo from 'react-native-sensitive-info'
import { getMentionNotes, getNotes, type Note } from '../../../Functions/DatabaseFunctions/Notes'
import { RelayPoolContext } from '../../../Contexts/RelayPoolContext'
@ -20,11 +20,11 @@ import { useFocusEffect } from '@react-navigation/native'
import { format, formatRelative, fromUnixTime, getUnixTime } from 'date-fns'
import { FlashList, type ListRenderItem } from '@shopify/flash-list'
import { getETags } from '../../../Functions/RelayFunctions/Events'
import { getReactions, Reaction } from '../../../Functions/DatabaseFunctions/Reactions'
import { getUsers, User } from '../../../Functions/DatabaseFunctions/Users'
import { getReactions, type Reaction } from '../../../Functions/DatabaseFunctions/Reactions'
import { getUsers, type User } from '../../../Functions/DatabaseFunctions/Users'
import { username } from '../../../Functions/RelayFunctions/Users'
import { TouchableWithoutFeedback } from 'react-native-gesture-handler'
import { getUserZaps, Zap } from '../../../Functions/DatabaseFunctions/Zaps'
import { getUserZaps, type Zap } from '../../../Functions/DatabaseFunctions/Zaps'
import { handleInfinityScroll } from '../../../Functions/NativeFunctions'
export const NotificationsFeed: React.FC = () => {

View File

@ -11,7 +11,7 @@ import { getUsers, type User } from '../../../Functions/DatabaseFunctions/Users'
import { relayToColor } from '../../../Functions/NativeFunctions'
import {
getAllRelayMetadata,
RelayMetadata,
type RelayMetadata,
} from '../../../Functions/DatabaseFunctions/RelayMetadatas'
import { getContactsRelays } from '../../../Functions/RelayFunctions/Metadata'

View File

@ -33,7 +33,7 @@ import { getUnixTime } from 'date-fns'
import { getAllRelayMetadata } from '../../Functions/DatabaseFunctions/RelayMetadatas'
import { getContactsRelays } from '../../Functions/RelayFunctions/Metadata'
import { AppContext } from '../../Contexts/AppContext'
import { getUsers, User } from '../../Functions/DatabaseFunctions/Users'
import { getUsers, type User } from '../../Functions/DatabaseFunctions/Users'
export const RelaysPage: React.FC = () => {
const defaultRelayInput = React.useMemo(() => 'wss://', [])

View File

@ -1,5 +1,5 @@
import { useFocusEffect } from '@react-navigation/native'
import { FlashList, ListRenderItem } from '@shopify/flash-list'
import { FlashList, type ListRenderItem } from '@shopify/flash-list'
import { t } from 'i18next'
import debounce from 'lodash.debounce'
import { Kind } from 'nostr-tools'
@ -12,8 +12,8 @@ import NoteCard from '../../Components/NoteCard'
import ProfileData from '../../Components/ProfileData'
import { AppContext } from '../../Contexts/AppContext'
import { RelayPoolContext } from '../../Contexts/RelayPoolContext'
import { getNotes, Note } from '../../Functions/DatabaseFunctions/Notes'
import { getUsers, User } from '../../Functions/DatabaseFunctions/Users'
import { getNotes, type Note } from '../../Functions/DatabaseFunctions/Notes'
import { getUsers, type User } from '../../Functions/DatabaseFunctions/Users'
import { validNip21 } from '../../Functions/NativeFunctions'
import { navigate } from '../../lib/Navigation'
import { getNpub } from '../../lib/nostr/Nip19'

View File

@ -1,7 +1,6 @@
import { Buffer } from 'buffer'
import { generateSecureRandom } from 'react-native-securerandom'
import * as secp256k1 from '@noble/secp256k1'
// @ts-expect-error
import aes from 'browserify-cipher'
export const encrypt: (privkey: string, pubkey: string, text: string) => Promise<string> = async (

View File

@ -86,7 +86,7 @@
"babel-jest": "^29.4.3",
"eslint": "^8.36.0",
"eslint-config-prettier": "^8.6.0",
"eslint-config-standard-with-typescript": "^24.0.0",
"eslint-config-standard-with-typescript": "^34.0.1",
"eslint-import-resolver-typescript": "^3.5.3",
"eslint-plugin-i18next": "^6.0.0-6",
"eslint-plugin-import": "^2.27.5",

View File

@ -1914,16 +1914,6 @@
semver "^7.3.7"
tsutils "^3.21.0"
"@typescript-eslint/parser@^5.0.0":
version "5.41.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.41.0.tgz#0414a6405007e463dc527b459af1f19430382d67"
integrity sha512-HQVfix4+RL5YRWZboMD1pUfFN8MpRH4laziWkkAzyO1fvNOY/uinZcvo3QiFJVS/siNHupV8E5+xSwQZrl6PZA==
dependencies:
"@typescript-eslint/scope-manager" "5.41.0"
"@typescript-eslint/types" "5.41.0"
"@typescript-eslint/typescript-estree" "5.41.0"
debug "^4.3.4"
"@typescript-eslint/parser@^5.30.5":
version "5.42.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.42.0.tgz#be0ffbe279e1320e3d15e2ef0ad19262f59e9240"
@ -1934,13 +1924,15 @@
"@typescript-eslint/typescript-estree" "5.42.0"
debug "^4.3.4"
"@typescript-eslint/scope-manager@5.41.0":
version "5.41.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.41.0.tgz#28e3a41d626288d0628be14cf9de8d49fc30fadf"
integrity sha512-xOxPJCnuktUkY2xoEZBKXO5DBCugFzjrVndKdUnyQr3+9aDWZReKq9MhaoVnbL+maVwWJu/N0SEtrtEUNb62QQ==
"@typescript-eslint/parser@^5.43.0":
version "5.55.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.55.0.tgz#8c96a0b6529708ace1dcfa60f5e6aec0f5ed2262"
integrity sha512-ppvmeF7hvdhUUZWSd2EEWfzcFkjJzgNQzVST22nzg958CR+sphy8A6K7LXQZd6V75m1VKjp+J4g/PCEfSCmzhw==
dependencies:
"@typescript-eslint/types" "5.41.0"
"@typescript-eslint/visitor-keys" "5.41.0"
"@typescript-eslint/scope-manager" "5.55.0"
"@typescript-eslint/types" "5.55.0"
"@typescript-eslint/typescript-estree" "5.55.0"
debug "^4.3.4"
"@typescript-eslint/scope-manager@5.42.0":
version "5.42.0"
@ -1958,6 +1950,14 @@
"@typescript-eslint/types" "5.43.0"
"@typescript-eslint/visitor-keys" "5.43.0"
"@typescript-eslint/scope-manager@5.55.0":
version "5.55.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.55.0.tgz#e863bab4d4183ddce79967fe10ceb6c829791210"
integrity sha512-OK+cIO1ZGhJYNCL//a3ROpsd83psf4dUJ4j7pdNVzd5DmIk+ffkuUIX2vcZQbEW/IR41DYsfJTB19tpCboxQuw==
dependencies:
"@typescript-eslint/types" "5.55.0"
"@typescript-eslint/visitor-keys" "5.55.0"
"@typescript-eslint/type-utils@5.42.0":
version "5.42.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.42.0.tgz#4206d7192d4fe903ddf99d09b41d4ac31b0b7dca"
@ -1978,11 +1978,6 @@
debug "^4.3.4"
tsutils "^3.21.0"
"@typescript-eslint/types@5.41.0":
version "5.41.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.41.0.tgz#6800abebc4e6abaf24cdf220fb4ce28f4ab09a85"
integrity sha512-5BejraMXMC+2UjefDvrH0Fo/eLwZRV6859SXRg+FgbhA0R0l6lDqDGAQYhKbXhPN2ofk2kY5sgGyLNL907UXpA==
"@typescript-eslint/types@5.42.0":
version "5.42.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.42.0.tgz#5aeff9b5eced48f27d5b8139339bf1ef805bad7a"
@ -1993,18 +1988,10 @@
resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.43.0.tgz#e4ddd7846fcbc074325293515fa98e844d8d2578"
integrity sha512-jpsbcD0x6AUvV7tyOlyvon0aUsQpF8W+7TpJntfCUWU1qaIKu2K34pMwQKSzQH8ORgUrGYY6pVIh1Pi8TNeteg==
"@typescript-eslint/typescript-estree@5.41.0":
version "5.41.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.41.0.tgz#bf5c6b3138adbdc73ba4871d060ae12c59366c61"
integrity sha512-SlzFYRwFSvswzDSQ/zPkIWcHv8O5y42YUskko9c4ki+fV6HATsTODUPbRbcGDFYP86gaJL5xohUEytvyNNcXWg==
dependencies:
"@typescript-eslint/types" "5.41.0"
"@typescript-eslint/visitor-keys" "5.41.0"
debug "^4.3.4"
globby "^11.1.0"
is-glob "^4.0.3"
semver "^7.3.7"
tsutils "^3.21.0"
"@typescript-eslint/types@5.55.0":
version "5.55.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.55.0.tgz#9830f8d3bcbecf59d12f821e5bc6960baaed41fd"
integrity sha512-M4iRh4AG1ChrOL6Y+mETEKGeDnT7Sparn6fhZ5LtVJF1909D5O4uqK+C5NPbLmpfZ0XIIxCdwzKiijpZUOvOug==
"@typescript-eslint/typescript-estree@5.42.0":
version "5.42.0"
@ -2032,6 +2019,19 @@
semver "^7.3.7"
tsutils "^3.21.0"
"@typescript-eslint/typescript-estree@5.55.0":
version "5.55.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.55.0.tgz#8db7c8e47ecc03d49b05362b8db6f1345ee7b575"
integrity sha512-I7X4A9ovA8gdpWMpr7b1BN9eEbvlEtWhQvpxp/yogt48fy9Lj3iE3ild/1H3jKBBIYj5YYJmS2+9ystVhC7eaQ==
dependencies:
"@typescript-eslint/types" "5.55.0"
"@typescript-eslint/visitor-keys" "5.55.0"
debug "^4.3.4"
globby "^11.1.0"
is-glob "^4.0.3"
semver "^7.3.7"
tsutils "^3.21.0"
"@typescript-eslint/utils@5.42.0", "@typescript-eslint/utils@^5.10.0":
version "5.42.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.42.0.tgz#f06bd43b9a9a06ed8f29600273240e84a53f2f15"
@ -2060,14 +2060,6 @@
eslint-utils "^3.0.0"
semver "^7.3.7"
"@typescript-eslint/visitor-keys@5.41.0":
version "5.41.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.41.0.tgz#d3510712bc07d5540160ed3c0f8f213b73e3bcd9"
integrity sha512-vilqeHj267v8uzzakbm13HkPMl7cbYpKVjgFWZPIOHIJHZtinvypUhJ5xBXfWYg4eFKqztbMMpOgFpT9Gfx4fw==
dependencies:
"@typescript-eslint/types" "5.41.0"
eslint-visitor-keys "^3.3.0"
"@typescript-eslint/visitor-keys@5.42.0":
version "5.42.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.42.0.tgz#ee8d62d486f41cfe646632fab790fbf0c1db5bb0"
@ -2084,6 +2076,14 @@
"@typescript-eslint/types" "5.43.0"
eslint-visitor-keys "^3.3.0"
"@typescript-eslint/visitor-keys@5.55.0":
version "5.55.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.55.0.tgz#01ad414fca8367706d76cdb94adf788dc5b664a2"
integrity sha512-q2dlHHwWgirKh1D3acnuApXG+VNXpEY5/AwRxDVuEQpxWaB0jCDe0jFMVMALJ3ebSfuOVE8/rMS+9ZOYGg1GWw==
dependencies:
"@typescript-eslint/types" "5.55.0"
eslint-visitor-keys "^3.3.0"
abort-controller@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/abort-controller/-/abort-controller-3.0.0.tgz#eaf54d53b62bae4138e809ca225c8439a6efb392"
@ -3681,12 +3681,12 @@ eslint-config-prettier@^8.6.0:
resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.6.0.tgz#dec1d29ab728f4fa63061774e1672ac4e363d207"
integrity sha512-bAF0eLpLVqP5oEVUFKpMA+NnRFICwn9X8B5jrR9FcqnYBuPbqWEjTEspPWMj5ye6czoSLDweCzSo3Ko7gGrZaA==
eslint-config-standard-with-typescript@^24.0.0:
version "24.0.0"
resolved "https://registry.yarnpkg.com/eslint-config-standard-with-typescript/-/eslint-config-standard-with-typescript-24.0.0.tgz#30e83b580380fd71477bf80bcb5405e8a46f555f"
integrity sha512-vEnGXZ5aiR1enl9652iIP4nTpY3GPcNEwuhrsPbKO3Ce3D6T3yCqZdkUPk8nJetfdL/yO0DLsHg2d/l9iECIdg==
eslint-config-standard-with-typescript@^34.0.1:
version "34.0.1"
resolved "https://registry.yarnpkg.com/eslint-config-standard-with-typescript/-/eslint-config-standard-with-typescript-34.0.1.tgz#4cf797c7f54b2eb1683c7e990b45a257ed4a9992"
integrity sha512-J7WvZeLtd0Vr9F+v4dZbqJCLD16cbIy4U+alJMq4MiXdpipdBM3U5NkXaGUjePc4sb1ZE01U9g6VuTBpHHz1fg==
dependencies:
"@typescript-eslint/parser" "^5.0.0"
"@typescript-eslint/parser" "^5.43.0"
eslint-config-standard "17.0.0"
eslint-config-standard@17.0.0: