Conversation
|
Bundle ReportChanges will decrease total bundle size by 8 bytes (-0.02%) ⬇️. This is within the configured threshold ✅ Detailed changes
Affected Assets, Files, and Routes:view changes for bundle: @storybook/addon-mcp-esmAssets Changed:
Files in
|
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## next #64 +/- ##
==========================================
+ Coverage 82.56% 82.63% +0.07%
==========================================
Files 15 15
Lines 843 841 -2
Branches 162 162
==========================================
- Hits 696 695 -1
+ Misses 139 138 -1
Partials 8 8 ☔ View full report in Codecov by Sentry. |
commit: |
There was a problem hiding this comment.
Pull Request Overview
This PR migrates the codebase from Prettier to oxfmt/oxlint for code formatting and linting. The key motivations are likely improved performance and TypeScript-aware linting capabilities.
Key Changes:
- Replaces Prettier with oxfmt for code formatting and oxlint for linting
- Upgrades tsdown from 0.15.9 to 0.15.12 with publint support
- Removes unused
nextparameter from middleware handlers - Adds type assertions to fix TypeScript strict checks
- Updates GitHub Actions workflows to use pinned commit hashes for better security
Reviewed Changes
Copilot reviewed 25 out of 28 changed files in this pull request and generated 7 comments.
Show a summary per file
| File | Description |
|---|---|
| package.json | Replaces Prettier with oxfmt/oxlint, adds new scripts for linting and publint |
| .oxfmtrc.json | New config file for oxfmt formatter matching previous Prettier settings |
| .vscode/settings.json | Configures VS Code to use oxc formatter |
| pnpm-workspace.yaml | Adds publint catalog entry and @swc/core to onlyBuiltDependencies |
| turbo.json | Adds publint task with build dependency |
| packages/*/package.json | Adds publint script and dependency to both packages |
| packages/addon-mcp/src/preset.ts | Removes unused next parameter from middleware |
| packages/addon-mcp/src/mcp-handler.ts | Removes unused next parameter, makes initialize handler async, adds oxlint disable comment |
| packages/addon-mcp/src/mcp-handler.test.ts | Removes unused next variable from tests, adds oxlint disable comment, fixes type assertions |
| packages/mcp/src/utils/parse-react-docgen.ts | Adds type assertion for p.key |
| packages/mcp/src/utils/parse-react-docgen.test.ts | Updates test expectations to use double quotes instead of escaped quotes |
| packages/mcp/src/utils/get-manifest.test.ts | Removes unused afterEach import |
| packages/mcp/src/tools/get-component-documentation.test.ts | Removes unused afterEach import |
| packages/addon-mcp/tsconfig.json | Removes unnecessary baseUrl config |
| apps/internal-storybook/tsconfig.json | Removes unnecessary baseUrl config |
| apps/internal-storybook/stories/components/Page.stories.ts | Removes unnecessary await keyword |
| .github/workflows/*.yml | Pins GitHub Actions to specific commit hashes for security |
| .prettierignore, packages/mcp/.prettierrc, packages/mcp/.prettierignore | Removes Prettier config files |
Files not reviewed (1)
- pnpm-lock.yaml: Language not supported
* enter prereelase mode on next branch * Handle HTML in a separate file (#56) * extract human-readable /mcp to maintainable html file * upgrade tsdown, remove json treeshaking workaround * add changeset * fix tsdown types * add changeset release branches to checks * commit releases with gh api. see https://github.com/changesets/action#inputs * Version Packages (next) (#57) Co-authored-by: storybook-app-bot[bot] <175111413+storybook-app-bot[bot]@users.noreply.github.com> * Replace Storybook canary versions with 10.1.0 prereleases (#59) * upgrade to storybook 10.1.0-alpha.2 * changesets * Version Packages (next) (#60) Co-authored-by: storybook-app-bot[bot] <175111413+storybook-app-bot[bot]@users.noreply.github.com> * Rename "examples" to "stories" in component manifest format (#61) * Initial plan * Rename "examples" to "stories" in component manifest format - Updated type definitions in types.ts files to rename Example to Story - Updated format-manifest.ts to use story terminology (story, story_name, story_description, story_code) - Updated all fixture JSON files to use "stories" instead of "examples" - Updated test files and descriptions to use "stories" terminology - Updated test snapshots to reflect the new XML output format - All tests passing, build and typecheck successful --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: Jeppe Reinhold <jeppe@reinhold.is> * Support name in manifest errors (#55) * add name to manifest errors * add fixtures with errors * add changeset * improve test reports in ci * update fixtures to use stories instead of examples * more example -> story renaming * Improve code quality and development setup (#64) * replace prettier with oxfmt * add oxlint for linting * update actions using npx actions-up * add publint * fix types * add check-everything script * add build-storybook to check all * split GH Workflows * explain lint disables * Version Packages (next) (#63) Co-authored-by: storybook-app-bot[bot] <175111413+storybook-app-bot[bot]@users.noreply.github.com> * Replace oxfmt with Prettier (#68) * replace oxfmt with prettier * typo * Update to the latest SB alpha so the internal storybook version works with the server (#71) Co-authored-by: Jeppe Reinhold <jeppe@reinhold.is> * Revert Embed demo image from storybook.js.org#21 (#75) * Evals (#69) * add initial eval setup * well, a lot happened here... * add clack * Add interactive prompts and styled output to eval CLI (#65) * Initial plan * Add interactive prompts and prettier output to eval CLI Co-authored-by: JReinhold <5678122+JReinhold@users.noreply.github.com> * Use tasks API for parallel evaluation steps Co-authored-by: JReinhold <5678122+JReinhold@users.noreply.github.com> * Apply oxfmt formatting to eval.ts --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: JReinhold <5678122+JReinhold@users.noreply.github.com> * improve terminal experience * save environment * improve terminal experience * only allow one eval at a time * add support for custom context * format * add support for eval hooks, add log about how to rerun experiments * prompt to start storybook at the end of the evaluation * add message about getting into the experiment * improve experiment dir name * take screenshots of failed stories too * cleanup * improve reshaped stories, improve test+a11y summary, improve mcp server config arg * support --[no-]storybook flag * collect experiment description and branch name * save result summary to google sheets * improve plain prompt * prompt for google sheets upload * fix google sheets upload * support "Storybook MCP" context, which starts up the docs-only @storybook/mcp server with a given component manifest * Add basic Radix eval (#66) * Add Radix eval * Add Rsuite eval (#67) --------- Co-authored-by: Jeppe Reinhold <jeppe@reinhold.is> * format * fix typechecking * add reshaped component manifest * add conversation-viewer.html with approximate token count * cleanup * add documentation, fixups * format * fix stories not having imports anymore * fix plain and radix experiments * experiments will have unique package names * more eval test fixing * more story fixes * fix typecheck and lint summary * improve conversation viewer * simplify viewer content * simplify viewer content * result visualisations is via storybook * upload to chromatic * update google sheet row order * add Chromatic link to CLI log * add note about public results * remove description arg from evals * Evals: Add Radix UI website prompt (#74) --------- Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com> Co-authored-by: JReinhold <5678122+JReinhold@users.noreply.github.com> Co-authored-by: Michael Shilman <shilman@users.noreply.github.com> * Review Kasper (#70) * Start review * Fix * More comments * Fix config files and restructure * Resolve conflicts * Fix github actions * Fix coverage * Fix type error * Fix * Fix * Dedupe * Update packages/mcp/src/index.ts Co-authored-by: Jeppe Reinhold <jeppe@chromatic.com> * Update .github/workflows/check.yml Co-authored-by: Jeppe Reinhold <jeppe@chromatic.com> * Update .github/workflows/check.yml Co-authored-by: Jeppe Reinhold <jeppe@chromatic.com> * Improve get/post handling * Dedupe vite * lock file * test perf of check-everything in CI * rename * rename * Add turbo caching * check cache invalidation * refactor * refactor * refactor * refactor * Use node version file * description * refactor * rollback * use turbo for artifacts * install node * optimize * install offline for faster symlinking * optimize * Check ci * Only upload test results on failure * Check github reporter * Fix command * Fix test * Remove check everything * test corepack enable * test corepack enable * test corepack enable * fix * Check if this is faster * Check if this is faster * no cache * rollback * Change nothing * Fix prettier * Modify changeset for MCP server GET responses Updated the changeset to handle GET responses in the MCP server. * Prettier * use docker * debug * use node 24 * Try own caching * Prune it * Don't format pnpm lock * Fix * again * use composite * change * Revert "change" This reverts commit 8031a63. * Revert "use composite" This reverts commit 7f26a54. * Revert "again" This reverts commit 7fdccdf. * Revert "Fix" This reverts commit f4dd004. * Revert "Don't format pnpm lock" This reverts commit c11c4ec. * Revert "Prune it" This reverts commit 1009ad5. * Revert "Try own caching" This reverts commit 82eb804. * Revert "use node 24" This reverts commit c63f9ee. * Revert "debug" This reverts commit d647a91. * Revert "use docker" This reverts commit 766462e. * Address feedback * Initial plan * Update README and Copilot instructions for script changes Co-authored-by: JReinhold <5678122+JReinhold@users.noreply.github.com> * Address feedback * Make it loose * Watch storybook by default * Fix command * Fix * Add pnpm to ignore * Fix dev command * Cleanup * get CI green --------- Co-authored-by: Jeppe Reinhold <jeppe@chromatic.com> Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: JReinhold <5678122+JReinhold@users.noreply.github.com> * Make `get-component-documentation` tool only accept a single component ID instead of multiple (#79) * cleanup * get-component-documentation only accepts a single component id * Fix evals (#81) * cleanup * get-component-documentation only accepts a single component id * fix versions * use vitest cli instead of node for evals * prefix experiment scripts so they are not picked up by turborepo * Add toolset property to telemetry payloads in addon-mcp (#78) * Initial plan * Add toolset property to all telemetry payloads in addon-mcp Co-authored-by: JReinhold <5678122+JReinhold@users.noreply.github.com> * add changeset --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: JReinhold <5678122+JReinhold@users.noreply.github.com> Co-authored-by: Jeppe Reinhold <jeppe@reinhold.is> Co-authored-by: Jeppe Reinhold <jeppe@chromatic.com> * remove source API and use the request instead (#54) * remove source API and use the request instead * cleanup * add changesets * add path argument to manifestProvider * cleanup * update changeset * fix serve.ts * cleanup * Fix internal stdio-based MCP server (#85) * allow undefined requests when using custom manifestProvider * changeset * add tests for internal stdio transport * cleanup * Add end-to-end tests and improve unit test quality (#84) * add e2e tests * improve e2e scripting * add tests for mcp index * add preset tests * add telemetry tests * simplify tool test mocks * simplify mcp-handler tests, improve disableTelemetry handling * add tests for manifest availability * exclude evals from coverage * cleanup * changeset * fix preset registering handlers instead of middlewares * update tests to match changes in base branch * cleanup * await sb process kill * globally mock storybook deps * clean lock file * Output in markdown instead of XML (#86) * add e2e tests * improve e2e scripting * add tests for mcp index * add preset tests * add telemetry tests * simplify tool test mocks * simplify mcp-handler tests, improve disableTelemetry handling * add tests for manifest availability * exclude evals from coverage * cleanup * changeset * fix preset registering handlers instead of middlewares * update tests to match changes in base branch * cleanup * await sb process kill * refactor formatter, splitting into markdown and xml, configurable, defaulting to markdown * globally mock storybook deps * clean lock file * fix context arg * fix tests * fix types * "Examples" -> "Stories", simplify tests * simplify tests and types * simplify * use ts-like prop type docs format * add script to clean experiments * add changeset * exit pre mode (#88) * Update reshaped flight booking eval (#87) * Update reshaped flight booking eval * format --------- Co-authored-by: Jeppe Reinhold <jeppe@reinhold.is> Co-authored-by: Jeppe Reinhold <jeppe@chromatic.com> * Version Packages (#80) Co-authored-by: storybook-app-bot[bot] <175111413+storybook-app-bot[bot]@users.noreply.github.com> --------- Co-authored-by: storybook-app-bot[bot] <175111413+storybook-app-bot[bot]@users.noreply.github.com> Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com> Co-authored-by: Tom Coleman <tom@chromatic.com> Co-authored-by: Michael Shilman <shilman@users.noreply.github.com> Co-authored-by: JReinhold <5678122+JReinhold@users.noreply.github.com> Co-authored-by: Kasper Peulen <kasperpeulen@gmail.com>
This PR is an exploration into modern tooling.
check-everythingscript to the rootpackage.jsonthat runs all the same checks that CI does.