diff --git a/.vitepress/constants.ts b/.vitepress/constants.ts index ff8eeaf6e..bec4e3597 100644 --- a/.vitepress/constants.ts +++ b/.vitepress/constants.ts @@ -14,7 +14,7 @@ export const commitRef = process.env.CF_PAGES }">${process.env.CF_PAGES_COMMIT_SHA.slice(0, 8)}` : 'dev' -export const feedback = `Made with ❤️` +export const feedback = `Made with ❤` export const search: DefaultTheme.Config['search'] = { options: { @@ -22,6 +22,7 @@ export const search: DefaultTheme.Config['search'] = { options: { tokenize: (text) => text.split(/[\n\r #%*,=/:;?[\]{}()&]+/u), // simplified charset: removed [-_.@] and non-english chars (diacritics etc.) processTerm: (term, fieldName) => { + // biome-ignore lint/style/noParameterAssign: h term = term .trim() .toLowerCase() diff --git a/.vitepress/hooks/rss.ts b/.vitepress/hooks/rss.ts index ad98b006d..81e4ca9f5 100644 --- a/.vitepress/hooks/rss.ts +++ b/.vitepress/hooks/rss.ts @@ -13,12 +13,12 @@ export async function generateFeed(config: SiteConfig): Promise { const feed: Feed = new Feed({ id: meta.hostname, link: meta.hostname, - title: `FMHY blog`, + title: 'FMHY blog', description: meta.description, language: 'en-US', image: 'https://github.com/fmhy.png', favicon: `${meta.hostname}/favicon.ico`, - copyright: `Copyright (c) 2023-present FMHY` + copyright: 'Copyright (c) 2023-present FMHY' }) const posts: ContentData[] = await createContentLoader('posts/*.md', { diff --git a/.vitepress/markdown/base64.ts b/.vitepress/markdown/base64.ts index e7106c7c4..5fb9b66f8 100644 --- a/.vitepress/markdown/base64.ts +++ b/.vitepress/markdown/base64.ts @@ -1,4 +1,4 @@ -import { type MarkdownRenderer } from 'vitepress' +import type { MarkdownRenderer } from 'vitepress' // FIXME: tasky: possibly write less horror jank? export function base64DecodePlugin(md: MarkdownRenderer) { @@ -7,7 +7,7 @@ export function base64DecodePlugin(md: MarkdownRenderer) { // Save the original rule for backticks const defaultRender = md.renderer.rules.code_inline || - function (tokens, idx, options, env, self) { + function (tokens, idx, options, _env, self) { return self.renderToken(tokens, idx, options) } diff --git a/.vitepress/markdown/toggleStarred.ts b/.vitepress/markdown/toggleStarred.ts index bef8e1655..7f2945cbb 100644 --- a/.vitepress/markdown/toggleStarred.ts +++ b/.vitepress/markdown/toggleStarred.ts @@ -11,8 +11,7 @@ export function toggleStarredPlugin(md: MarkdownRenderer) { contentToken.content.startsWith(':star:') ) { return `
  • ` - } else { - return self.renderToken(tokens, index, options) } + return self.renderToken(tokens, index, options) } } diff --git a/.vitepress/middleware/cors.ts b/.vitepress/middleware/cors.ts index ff667ab18..4e8af9dd1 100644 --- a/.vitepress/middleware/cors.ts +++ b/.vitepress/middleware/cors.ts @@ -1,6 +1,11 @@ import { corsEventHandler } from 'nitro-cors' -export default corsEventHandler((_event) => {}, { - origin: '*', - methods: '*' -}) +export default corsEventHandler( + (_event) => { + /** no-op */ + }, + { + origin: '*', + methods: '*' + } +) diff --git a/.vitepress/theme/index.ts b/.vitepress/theme/index.ts index f3760e891..00c6798b9 100644 --- a/.vitepress/theme/index.ts +++ b/.vitepress/theme/index.ts @@ -1,4 +1,4 @@ -import { type Theme } from 'vitepress' +import type { Theme } from 'vitepress' import DefaultTheme from 'vitepress/theme' import Layout from './Layout.vue' import Post from './PostLayout.vue' diff --git a/.vitepress/utils.ts b/.vitepress/utils.ts index dc8a2a788..37799b4b6 100644 --- a/.vitepress/utils.ts +++ b/.vitepress/utils.ts @@ -4,6 +4,7 @@ export function groupBy( ): Record { return arr.reduce( (groups, item) => { + // biome-ignore lint/suspicious/noAssignInExpressions: ;(groups[key(item)] ||= []).push(item) return groups }, diff --git a/biome.json b/biome.json index 6e5283568..d2f27848a 100644 --- a/biome.json +++ b/biome.json @@ -1,51 +1,31 @@ { "$schema": "https://biomejs.dev/schemas/1.8.3/schema.json", "extends": ["@taskylizard/biome-config"], + "files": { + "ignore": [".vitepress/**/*.vue", ".vitepress/vue-shim.d.ts"] + }, "formatter": { "enabled": false }, + "javascript": { + "globals": [ + "defineNitroConfig", + "eventHandler", + "useRuntimeConfig", + "readValidatedBody", + "defineEventHandler" + ] + }, "linter": { "rules": { "style": { - "noDefaultExport": "off", - "useNamingConvention": { - "level": "error", + "useFilenamingConvention": { + "level": "info", "options": { - "strictCase": false, - "conventions": [ - { - "selector": { - "kind": "typeParameter" - }, - "formats": ["PascalCase"] - }, - { - "selector": { - "kind": "any" - }, - "match": "[ab_]|(.{2,})" - }, - { - "selector": { - "kind": "objectLiteralMember" - }, - "match": ".*" - }, - { - "selector": { - "kind": "typeMember" - }, - "match": ".*" - }, - { - "selector": { - "kind": "variable" - }, - "match": ".*" - } - ] + "filenameCases": ["camelCase", "PascalCase"] } - } + }, + "noDefaultExport": "off" } } }