storybookjs / storybook

Storybook is the industry standard workshop for building, documenting, and testing UI components in isolation
https://storybook.js.org
MIT License
84.68k stars 9.32k forks source link

CLI: Don't add `@storybook/addon-links` by default #29177

Closed tobiasdiez closed 1 month ago

tobiasdiez commented 1 month ago

Closes https://github.com/storybookjs/storybook/issues/29073

What I did

The link addon is installed by default when initializing storybook using the cli. Thus, I think, it make sense to make it part of "@storybook/essential-addons". One less package whose version has to be synchronized with the main storybook version and makes manual installation a bit simpler as well.

But maybe there was a reason why it was not essential...sorry if I might reopen an old discussion, this was not my intention.

Checklist for Contributors

Testing

The changes in this PR are covered in the following automated tests:

Manual testing

This section is mandatory for all contributions. If you believe no manual test is necessary, please state so explicitly. Thanks!

Documentation

Checklist for Maintainers

🦋 Canary release

This PR does not have a canary release associated. You can request a canary release of this pull request by mentioning the @storybookjs/core team here.

_core team members can create a canary release here or locally with gh workflow run --repo storybookjs/storybook canary-release-pr.yml --field pr=<PR_NUMBER>_

name before after diff z %
createSize 0 B 0 B 0 B - -
generateSize 77.5 MB 77.5 MB 0 B 3.74 0%
initSize 162 MB 162 MB -19.6 kB 0.27 0%
diffSize 85 MB 84.9 MB -19.6 kB -0.56 0%
buildSize 7.57 MB 7.57 MB -2.11 kB -1.14 0%
buildSbAddonsSize 1.66 MB 1.66 MB -957 B -1.06 -0.1%
buildSbCommonSize 195 kB 195 kB 0 B - 0%
buildSbManagerSize 2.34 MB 2.34 MB 0 B - 0%
buildSbPreviewSize 352 kB 352 kB 0 B - 0%
buildStaticSize 0 B 0 B 0 B - -
buildPrebuildSize 4.55 MB 4.55 MB -957 B -1.06 0%
buildPreviewSize 3.02 MB 3.02 MB -1.15 kB -1.22 0%
testBuildSize 0 B 0 B 0 B - -
testBuildSbAddonsSize 0 B 0 B 0 B - -
testBuildSbCommonSize 0 B 0 B 0 B - -
testBuildSbManagerSize 0 B 0 B 0 B - -
testBuildSbPreviewSize 0 B 0 B 0 B - -
testBuildStaticSize 0 B 0 B 0 B - -
testBuildPrebuildSize 0 B 0 B 0 B - -
testBuildPreviewSize 0 B 0 B 0 B - -
name before after diff z %
createTime 17.5s 23.4s 5.9s 1.08 25.4%
generateTime 22.8s 21.4s -1s -377ms 0.82 -6.4%
initTime 14.6s 15.5s 910ms -0.47 5.9%
buildTime 9.9s 11.1s 1.1s -0.11 10.7%
testBuildTime 0ms 0ms 0ms - -
devPreviewResponsive 6.6s 6s -536ms -1.65 🔰-8.8%
devManagerResponsive 4.4s 4s -333ms -1.33 🔰-8.2%
devManagerHeaderVisible 782ms 662ms -120ms -1.88 🔰-18.1%
devManagerIndexVisible 817ms 693ms -124ms -1.83 🔰-17.9%
devStoryVisibleUncached 1.3s 1s -321ms -1.78 🔰-31.8%
devStoryVisible 816ms 694ms -122ms -1.81 🔰-17.6%
devAutodocsVisible 632ms 656ms 24ms -1.04 3.7%
devMDXVisible 666ms 579ms -87ms -1.96 🔰-15%
buildManagerHeaderVisible 716ms 635ms -81ms -1.64 🔰-12.8%
buildManagerIndexVisible 722ms 641ms -81ms -1.68 🔰-12.6%
buildStoryVisible 782ms 670ms -112ms -1.78 🔰-16.7%
buildAutodocsVisible 664ms 596ms -68ms -1.44 🔰-11.4%
buildMDXVisible 652ms 576ms -76ms -1.48 🔰-13.2%

Greptile Summary

This PR marks the link addon as essential by incorporating it into the @storybook/addon-essentials package. Key changes include:

These changes streamline Storybook setup by including the link addon by default, reducing manual configuration and version synchronization needs.

nx-cloud[bot] commented 1 month ago

☁️ Nx Cloud Report

CI is running/has finished running commands for commit dab6fd95fe6965d119e7c35a41d0f589c3f60367. As they complete they will appear below. Click to see the status, the terminal output, and the build insights.

📂 See all runs for this CI Pipeline Execution


✅ Successfully ran 1 target - [`nx run-many -t build --parallel=3`](https://cloud.nx.app/runs/r99KQjQMpz?utm_source=pull-request&utm_medium=comment)

Sent with 💌 from NxCloud.

JReinhold commented 1 month ago

Thanks for this! You're actually touching upon something that we've discussed recently, except you're taking it in the opposite direction 😅

addon-links is very rarely used, so we've decided to take it out of default templates completely, see https://github.com/storybookjs/storybook/issues/29073

If you change up this PR to remove it from default addons and not add it to addon-essentials that would be fantastic! ❤️

tobiasdiez commented 1 month ago

Removing it from the default generator is an option as well 😄 I've done just that now.

It may be the case that it now has be added to the sandbox. Not sure how/where to do this best though.

JReinhold commented 1 month ago

Nice!

It may be the case that it now has be added to the sandbox. Not sure how/where to do this best though.

I think you can add it by concating 'link' to the addons array in this for loop:

https://github.com/storybookjs/storybook/blob/next/scripts/tasks/sandbox-parts.ts/#L178

tobiasdiez commented 1 month ago

@JReinhold Thanks, but it seems this is actually not required (at least the test pass).

@jonniebigodes Thanks for the review!

JReinhold commented 1 month ago

@JReinhold Thanks, but it seems this is actually not required (at least the test pass).

I see. 🤔 This might be because we add resolutions for it too.