fix: resolve Prettier markdown code block parsing errors

- Fix syntax errors in skills markdown files (.github/skills, .opencode/skills)
- Change typescript to tsx for code blocks with JSX
- Replace ellipsis (...) in array examples with valid syntax
- Separate CSS from TypeScript into distinct code blocks
- Convert JavaScript object examples to valid JSON in docs
- Fix enum definitions with proper comma separation
This commit is contained in:
2026-01-20 21:09:29 +01:00
parent 7932fe7386
commit cd05fc8648
177 changed files with 5042 additions and 5541 deletions

View File

@@ -11,67 +11,67 @@ Use a module-level Map to cache function results when the same function is calle
**Incorrect (redundant computation):**
```typescript
```tsx
function ProjectList({ projects }: { projects: Project[] }) {
return (
<div>
{projects.map(project => {
{projects.map((project) => {
// slugify() called 100+ times for same project names
const slug = slugify(project.name)
return <ProjectCard key={project.id} slug={slug} />
const slug = slugify(project.name);
return <ProjectCard key={project.id} slug={slug} />;
})}
</div>
)
);
}
```
**Correct (cached results):**
```typescript
```tsx
// Module-level cache
const slugifyCache = new Map<string, string>()
const slugifyCache = new Map<string, string>();
function cachedSlugify(text: string): string {
if (slugifyCache.has(text)) {
return slugifyCache.get(text)!
return slugifyCache.get(text)!;
}
const result = slugify(text)
slugifyCache.set(text, result)
return result
const result = slugify(text);
slugifyCache.set(text, result);
return result;
}
function ProjectList({ projects }: { projects: Project[] }) {
return (
<div>
{projects.map(project => {
{projects.map((project) => {
// Computed only once per unique project name
const slug = cachedSlugify(project.name)
return <ProjectCard key={project.id} slug={slug} />
const slug = cachedSlugify(project.name);
return <ProjectCard key={project.id} slug={slug} />;
})}
</div>
)
);
}
```
**Simpler pattern for single-value functions:**
```typescript
let isLoggedInCache: boolean | null = null
let isLoggedInCache: boolean | null = null;
function isLoggedIn(): boolean {
if (isLoggedInCache !== null) {
return isLoggedInCache
return isLoggedInCache;
}
isLoggedInCache = document.cookie.includes('auth=')
return isLoggedInCache
isLoggedInCache = document.cookie.includes("auth=");
return isLoggedInCache;
}
// Clear cache when auth changes
function onAuthChange() {
isLoggedInCache = null
isLoggedInCache = null;
}
```