Skip to content

feat(storybook-addons): add new approach to include addons#10030

Merged
EldarMuhamethanov merged 1 commit into
masterfrom
e.muhamethanov/storybook-addons/add-new-type-including-addons
Jul 6, 2026
Merged

feat(storybook-addons): add new approach to include addons#10030
EldarMuhamethanov merged 1 commit into
masterfrom
e.muhamethanov/storybook-addons/add-new-type-including-addons

Conversation

@EldarMuhamethanov

Copy link
Copy Markdown
Contributor
  • Unit-тесты
  • e2e-тесты
  • Дизайн-ревью
  • Документация фичи
  • Release notes

Описание

Добавлен комбинированный подход подключения аддонов: пресет в main.ts для авторегистрации + setConfig в manager.ts для кастомизации. Ранее такой подход не поддерживался — при попытке использовать пресет и setConfig одновременно сборщик Vite создавал два экземпляра config.ts (через absolute-путь из preset и через package import из manager.ts), каждый со своим const config. Вызов setConfig() мутировал один объект, а UI-компонент читал из другого (неизменённого).

Для решения проблемы конфиг всех аддонов теперь хранится на window.__VKUI_*_CONFIG__ — гарантируется единый экземпляр при любом пути импорта.

Изменения

  • Добавлен комбинированный подход подключения (пресет в main.ts + setConfig в manager.ts) для всех аддонов — ранее такой подход не поддерживался
  • Конфиг всех аддонов хранится на window.__VKUI_*_CONFIG__ через ??= — гарантирует единый экземпляр при любом пути импорта
  • Добавлены экспорты setSourceButtonConfig, setColorSchemeConfig, setLiveCodeEditorConfig из index.ts
  • Добавлена авторегистрация для source-button (создан auto-register.ts, обновлён preset.js, конфиг стал Partial<SourceButtonConfig>)
  • Добавлены универсальные дефолтные значения для source-button (getUrl, label, title)
  • Вынесены localStorage-функции из StorybookTheme.tsx в storage.ts — разорвана циклическая зависимость config.ts ↔ StorybookTheme.tsx
  • Обновлены README всех 4 аддонов — добавлен «Вариант 3: Комбинированный (пресет + кастомизация)»

Release notes

@codecov

codecov Bot commented Jul 6, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 95.23%. Comparing base (d6ea6a9) to head (b7249f5).
⚠️ Report is 4 commits behind head on master.

Additional details and impacted files
@@           Coverage Diff           @@
##           master   #10030   +/-   ##
=======================================
  Coverage   95.22%   95.23%           
=======================================
  Files         462      462           
  Lines       12518    12518           
  Branches     4479     4479           
=======================================
+ Hits        11920    11921    +1     
+ Misses        598      597    -1     
Flag Coverage Δ
unittests 95.23% <ø> (+<0.01%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@github-actions

github-actions Bot commented Jul 6, 2026

Copy link
Copy Markdown
Contributor

✅ Изменений в собранных файлах нет

Commit b7249f5

@github-actions

github-actions Bot commented Jul 6, 2026

Copy link
Copy Markdown
Contributor

👀 Docs deployed

📦 Package ❌

yarn add @vkontakte/vkui@

Commit b7249f5

@EldarMuhamethanov EldarMuhamethanov merged commit b9be952 into master Jul 6, 2026
21 checks passed
@EldarMuhamethanov EldarMuhamethanov deleted the e.muhamethanov/storybook-addons/add-new-type-including-addons branch July 6, 2026 15:13
@github-project-automation github-project-automation Bot moved this to ✅ Done in VKUI Jul 6, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Status: ✅ Done

Development

Successfully merging this pull request may close these issues.

2 participants