Skip to content

Telemetry: Add nodeLinker to telemetry#32072

Merged
valentinpalkovic merged 3 commits into
nextfrom
valentin/add-node-linker-to-telemetry
Jul 18, 2025
Merged

Telemetry: Add nodeLinker to telemetry#32072
valentinpalkovic merged 3 commits into
nextfrom
valentin/add-node-linker-to-telemetry

Conversation

@valentinpalkovic
Copy link
Copy Markdown
Contributor

@valentinpalkovic valentinpalkovic commented Jul 18, 2025

Closes #

What I did

Added nodeLinker to telemetry

Checklist for Contributors

Testing

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

  • stories
  • unit tests
  • integration tests
  • end-to-end tests

Manual testing

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

Documentation

  • Add or update documentation reflecting your changes
  • If you are deprecating/removing a feature, make sure to update
    MIGRATION.MD

Checklist for Maintainers

  • When this PR is ready for testing, make sure to add ci:normal, ci:merged or ci:daily GH label to it to run a specific set of sandboxes. The particular set of sandboxes can be found in code/lib/cli-storybook/src/sandbox-templates.ts

  • Make sure this PR contains one of the labels below:

    Available labels
    • bug: Internal changes that fixes incorrect behavior.
    • maintenance: User-facing maintenance tasks.
    • dependencies: Upgrading (sometimes downgrading) dependencies.
    • build: Internal-facing build tooling & test updates. Will not show up in release changelog.
    • cleanup: Minor cleanup style change. Will not show up in release changelog.
    • documentation: Documentation only changes. Will not show up in release changelog.
    • feature request: Introducing a new feature.
    • BREAKING CHANGE: Changes that break compatibility in some way with current major version.
    • other: Changes that don't fit in the above categories.

🦋 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>

Greptile Summary

This PR enhances Storybook's telemetry system by adding information about the package manager's node module linking strategy (nodeLinker). The changes include:

  1. Adding a new nodeLinker field to the packageManager metadata type
  2. Creating a new module get-package-manager-info.ts to handle package manager detection
  3. Implementing detection of nodeLinker configuration for Yarn and pnpm

This data will help the Storybook team better understand how users configure their development environments, which can inform future compatibility decisions and features.

Confidence score: 4/5

  1. This PR is safe to merge as it only adds telemetry data collection
  2. The score is 4 because while the implementation is solid, there's no test coverage added
  3. Files that need attention:
    • get-package-manager-info.ts: Consider adding error handling and tests

3 files reviewed, 2 comments
Edit PR Review Bot Settings | Greptile

@valentinpalkovic valentinpalkovic self-assigned this Jul 18, 2025
@valentinpalkovic valentinpalkovic added maintenance User-facing maintenance tasks telemetry ci:normal labels Jul 18, 2025
Copy link
Copy Markdown
Contributor

@greptile-apps greptile-apps Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewing changes made in this pull request

return undefined;
}

let nodeLinker: 'node_modules' | 'pnp' | 'pnpm' | 'isolated' | 'hoisted' = 'node_modules';
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

style: Consider extracting these nodeLinker types to a shared type definition for better maintainability

Comment thread code/core/src/telemetry/get-package-manager-info.ts
@nx-cloud
Copy link
Copy Markdown

nx-cloud Bot commented Jul 18, 2025

View your CI Pipeline Execution ↗ for commit ec50290

Command Status Duration Result
nx run-many -t build --parallel=3 ✅ Succeeded 1m 19s View ↗

☁️ Nx Cloud last updated this comment at 2025-07-18 09:58:17 UTC

Comment thread code/core/src/telemetry/get-package-manager-info.ts
@storybook-app-bot
Copy link
Copy Markdown

storybook-app-bot Bot commented Jul 18, 2025

Package Benchmarks

Commit: ec50290, ran on 18 July 2025 at 09:41:07 UTC

The following packages have significant changes to their size or dependencies:

storybook

Before After Difference
Dependency count 51 51 0
Self size 31.75 MB 31.77 MB 🚨 +20 KB 🚨
Dependency size 17.43 MB 17.43 MB 0 B
Bundle Size Analyzer Link Link

sb

Before After Difference
Dependency count 52 52 0
Self size 1 KB 1 KB 0 B
Dependency size 49.18 MB 49.20 MB 🚨 +20 KB 🚨
Bundle Size Analyzer Link Link

@storybook/cli

Before After Difference
Dependency count 217 217 0
Self size 582 KB 582 KB 0 B
Dependency size 93.66 MB 93.68 MB 🚨 +22 KB 🚨
Bundle Size Analyzer Link Link

@storybook/codemod

Before After Difference
Dependency count 186 186 0
Self size 31 KB 31 KB 0 B
Dependency size 77.75 MB 77.77 MB 🚨 +20 KB 🚨
Bundle Size Analyzer Link Link

@valentinpalkovic valentinpalkovic added the patch:yes Bugfix & documentation PR that need to be picked to main branch label Jul 18, 2025
@valentinpalkovic valentinpalkovic merged commit f7c3e91 into next Jul 18, 2025
55 of 58 checks passed
@valentinpalkovic valentinpalkovic deleted the valentin/add-node-linker-to-telemetry branch July 18, 2025 10:39
yannbf pushed a commit that referenced this pull request Jul 22, 2025
…o-telemetry

Telemetry: Add nodeLinker to telemetry
(cherry picked from commit f7c3e91)
@github-actions github-actions Bot mentioned this pull request Jul 22, 2025
8 tasks
@github-actions github-actions Bot added the patch:done Patch/release PRs already cherry-picked to main/release branch label Jul 22, 2025
@ndelangen ndelangen removed the patch:yes Bugfix & documentation PR that need to be picked to main branch label Oct 28, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci:normal maintenance User-facing maintenance tasks patch:done Patch/release PRs already cherry-picked to main/release branch telemetry

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants