From 075072cd363d73fd40d51b26b63d0fc91104b0dd Mon Sep 17 00:00:00 2001 From: Untone Date: Mon, 5 Feb 2024 18:49:08 +0300 Subject: [PATCH] all-rules-with-exclusions --- biome.json | 8 ++-- .../Editor/AudioUploader/AudioUploader.tsx | 1 - .../EditorFloatingMenu/EditorFloatingMenu.tsx | 1 - src/components/Editor/Panel/Panel.tsx | 3 +- src/components/Nav/Header/Header.tsx | 2 +- src/components/Nav/Snackbar.tsx | 2 +- .../_shared/DropdownSelect/DropdownSelect.tsx | 2 +- .../_shared/InviteMembers/InviteMembers.tsx | 2 +- .../_shared/SolidSwiper/swiper.d.ts | 45 ++++++++++++++++--- src/context/session.tsx | 1 - 10 files changed, 50 insertions(+), 17 deletions(-) diff --git a/biome.json b/biome.json index 3c27a276..6861f822 100644 --- a/biome.json +++ b/biome.json @@ -32,13 +32,15 @@ "ignore": ["*.scss", "*.md", ".DS_Store", "*.svg"], "enabled": true, "rules": { - "recommended": true, + "all": true, "complexity": { - "all": true, "noForEach": "off", "useOptionalChain": "warn", "useLiteralKeys": "off" }, + "correctness": { + "useHookAtTopLevel": "off" + }, "a11y": { "useHeadingContent": "off", "useKeyWithClickEvents": "off", @@ -52,13 +54,11 @@ "noSvgWithoutTitle": "off" }, "nursery": { - "all": true, "useImportRestrictions": "off", "useImportType": "off", "useFilenamingConvention": "off" }, "style": { - "all": true, "useBlockStatements": "off", "noImplicitBoolean": "off", "useNamingConvention": "off", diff --git a/src/components/Editor/AudioUploader/AudioUploader.tsx b/src/components/Editor/AudioUploader/AudioUploader.tsx index e8eac295..336a25f1 100644 --- a/src/components/Editor/AudioUploader/AudioUploader.tsx +++ b/src/components/Editor/AudioUploader/AudioUploader.tsx @@ -1,4 +1,3 @@ -// biome-ignore lint/nursery/noNodejsModules: TODO: maybe cause problems import { Buffer } from 'node:buffer' import { clsx } from 'clsx' diff --git a/src/components/Editor/EditorFloatingMenu/EditorFloatingMenu.tsx b/src/components/Editor/EditorFloatingMenu/EditorFloatingMenu.tsx index 68f687e9..99121fec 100644 --- a/src/components/Editor/EditorFloatingMenu/EditorFloatingMenu.tsx +++ b/src/components/Editor/EditorFloatingMenu/EditorFloatingMenu.tsx @@ -28,7 +28,6 @@ const embedData = (data) => { const result: { src: string; width?: string; height?: string } = { src: '' } - // biome-ignore lint/nursery/useForOf: for (let i = 0; i < attributes.length; i++) { const attribute = attributes[i] result[attribute.name] = attribute.value diff --git a/src/components/Editor/Panel/Panel.tsx b/src/components/Editor/Panel/Panel.tsx index 8b135270..1fc98019 100644 --- a/src/components/Editor/Panel/Panel.tsx +++ b/src/components/Editor/Panel/Panel.tsx @@ -51,8 +51,9 @@ export const Panel = (props: Props) => { publishShout(form) } + const html = useEditorHTML(() => editorRef.current()) + const handleFixTypographyClick = () => { - const html = useEditorHTML(() => editorRef.current()) editorRef.current().commands.setContent(typograf.execute(html())) setIsTypographyFixed(true) } diff --git a/src/components/Nav/Header/Header.tsx b/src/components/Nav/Header/Header.tsx index c52a26c0..c0d2d466 100644 --- a/src/components/Nav/Header/Header.tsx +++ b/src/components/Nav/Header/Header.tsx @@ -135,7 +135,7 @@ export const Header = (props: Props) => { clearTimeout(timer) } - const hideSubnavigation = (event, time = 500) => { + const hideSubnavigation = (_event, time = 500) => { timer = setTimeout(() => { toggleSubnavigation(false) }, time) diff --git a/src/components/Nav/Snackbar.tsx b/src/components/Nav/Snackbar.tsx index 59bbc634..f4641d68 100644 --- a/src/components/Nav/Snackbar.tsx +++ b/src/components/Nav/Snackbar.tsx @@ -22,7 +22,7 @@ export const Snackbar = () => { setTimeout(() => done(), 300)} + onExit={(_el, done) => setTimeout(() => done(), 300)} >
diff --git a/src/components/_shared/DropdownSelect/DropdownSelect.tsx b/src/components/_shared/DropdownSelect/DropdownSelect.tsx index 73892f42..f0cddc2c 100644 --- a/src/components/_shared/DropdownSelect/DropdownSelect.tsx +++ b/src/components/_shared/DropdownSelect/DropdownSelect.tsx @@ -16,7 +16,7 @@ type Props = { } export const DropdownSelect = (props: Props) => { - const [selected, setSelected] = createSignal(props.selectItems[0]) + const [selected, _setSelected] = createSignal(props.selectItems[0]) const [isDropDownVisible, setIsDropDownVisible] = createSignal(false) const containerRef: { current: HTMLElement } = { diff --git a/src/components/_shared/InviteMembers/InviteMembers.tsx b/src/components/_shared/InviteMembers/InviteMembers.tsx index b046c0c7..0458c7a5 100644 --- a/src/components/_shared/InviteMembers/InviteMembers.tsx +++ b/src/components/_shared/InviteMembers/InviteMembers.tsx @@ -62,7 +62,7 @@ export const InviteMembers = (props: Props) => { return authors?.slice(start, end) } - const [pages, infiniteScrollLoader, { end }] = createInfiniteScroll(fetcher) + const [pages, _infiniteScrollLoader, { end }] = createInfiniteScroll(fetcher) createEffect( on( diff --git a/src/components/_shared/SolidSwiper/swiper.d.ts b/src/components/_shared/SolidSwiper/swiper.d.ts index ad197187..dbb19544 100644 --- a/src/components/_shared/SolidSwiper/swiper.d.ts +++ b/src/components/_shared/SolidSwiper/swiper.d.ts @@ -1,6 +1,43 @@ import 'solid-js' -import { AutoplayOptions, SwiperOptions } from 'swiper' -import { SwiperSlideProps } from 'swiper/react' +import { JSX, JSXElement, Ref } from 'solid-js' +import { AutoplayOptions, SlideData, Swiper, SwiperOptions } from 'swiper' + +type SwiperSlideProps = { + /** + * Slide tag + * + * @default 'div' + */ + tag?: string + + /** + * Enables additional wrapper required for zoom mode + * + * @default false + */ + zoom?: boolean + + /** + * Adds lazy preloader to the slide + * + * @default false + */ + lazy?: boolean + + /** + * Slide's index in slides array/collection + * + * @default false + */ + virtualIndex?: number + + /** + * Slide's child element or render function + * + * @default undefined + */ + children?: JSX.Element | ((slideData: SlideData) => JSX.Element) +} type Kebab = T extends `${infer F}${infer R}` ? Kebab ? '' : '-'}${Lowercase}`> @@ -27,8 +64,6 @@ type KebabObjectKeys = { type SwiperRef = HTMLElement & { swiper: Swiper; initialize: () => void } declare module 'solid-js' { - // biome-ignore lint/style/useNamingConvention: JSX is ok - // biome-ignore lint/style/noNamespace: TODO: explain why namespace JSX { interface IntrinsicElements { 'swiper-container': SwiperContainerAttributes @@ -36,7 +71,7 @@ declare module 'solid-js' { } interface SwiperContainerAttributes extends KebabObjectKeys { - ref?: RefObject + ref?: Ref children?: JSX.Element onSlideChange?: () => void onBeforeSlideChangeStart?: () => void diff --git a/src/context/session.tsx b/src/context/session.tsx index 18ae19c2..944283e6 100644 --- a/src/context/session.tsx +++ b/src/context/session.tsx @@ -70,7 +70,6 @@ export type SessionContextType = { authorizer: () => Authorizer } -// biome-ignore lint/nursery/noEmptyBlockStatements: noop const noop = () => {} const SessionContext = createContext()