# Knowledge — Figma AI Plugin > Копилка находок и решений по проекту. Не наступай на грабли дважды. > Пополняется по ходу разработки. Формат: проблема → решение (+ контекст/ссылка). > Hermes имеет право править и дополнять этот файл самостоятельно (см. IDEA.md). ## Сборка / окружение ### TypeScript 7.x ломает `@create-figma-plugin/build` - **Симптом:** `TypeError: Cannot read properties of undefined (reading 'getCurrentDirectory')` при `build-figma-plugin`. - **Причина:** `build-figma-plugin` ожидает `ts.sys`, которого нет в TS 7. - **Решение:** зафиксировать `typescript` на `~5.6.3` в `package.json` devDependencies. - **Ссылка:** package.json ### tsconfig: не оверрайдить `jsx` на `react-jsx` - **Симптом:** `error TS5089: Option 'jsxFactory' cannot be specified when option 'jsx' is 'react-jsx'`. - **Причина:** базовый `@create-figma-plugin/tsconfig` уже задаёт `jsx: react` + `jsxFactory: h`. - **Решение:** в проектном tsconfig только `extends` + добавляем `lib`/`types`. Не трогать `jsx`/`jsxFactory`. Preact `h` уже импортируется в `ui.tsx`. - **Ссылка:** tsconfig.json ### `Text muted` не существует — используй `Muted` - **Симптом:** `Property 'muted' does not exist on type ... Text`. - **Решение:** для приглушённого текста брать компонент `` из `@create-figma-plugin/ui`, а не проп `muted` у ``. - **Ссылка:** src/ui.tsx ### Кнопка-иконка рядом с другими IconButton — бери РОДНУЮ иконку, не инлайн-SVG - **Симптом:** иконка копирования рядом с кнопкой развернуть выглядит «другого размера»/тоньше, хотя `viewBox` один (`24×24`). - **Причина:** `IconButton` из `@create-figma-plugin/ui` оборачивает иконку в `
` (`position:absolute`, БЕЗ задания размера) — размер берётся целиком из самой SVG. Родные иконки сета (`IconExpand24`, `IconCheck24`, `IconCopySmall24` и т.п.) — **залитые** (`fill="currentColor"`). Моя инлайн-SVG была **контурной** (`stroke`, `fill="none"`, `stroke-width=2`) — на том же `24×24` viewBox контурные lucide-иконки визуально кажутся меньше и легче, чем залитые соседки. Отсюда ощущение «разные размеры». - **Правило (как делать правильно):** 1. Рядом с `IconButton` НИКОГДА не ставить текстовую `