-
-
Notifications
You must be signed in to change notification settings - Fork 9.8k
A11Y: Bugfix missing manager.js entry-file
#32780
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
… no longer uses the exportMap defined in package.json, and so root files are needed to have our preset loading code "see" these as managerEntries it needs to add to the list.
📝 WalkthroughWalkthroughA re-export statement has been added to the a11y manager module, exposing all exports from the built dist/manager.js file through the primary manager entry point. Changes
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~2 minutes ✨ Finishing touches
🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
🧹 Nitpick comments (1)
code/addons/a11y/manager.js (1)
1-1: Add an inline comment to document the purpose of this entry file.This re-export file exists as a workaround to make the a11y addon manager discoverable when addon paths are wrapped with
getAbsolutePath(which can bypass packageexports/exportMap). Adding a brief inline comment would clarify this intent for future maintainers.+// Re-export manager to ensure entry point is discoverable when addon paths +// are wrapped with getAbsolutePath, which may bypass package exports/exportMap. export * from './dist/manager.js';
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
code/addons/a11y/manager.js(1 hunks)
🧰 Additional context used
📓 Path-based instructions (4)
**/*.{js,jsx,json,html,ts,tsx,mjs}
📄 CodeRabbit inference engine (.github/copilot-instructions.md)
**/*.{js,jsx,json,html,ts,tsx,mjs}: Run Prettier formatting on changed files before committing
Run ESLint on changed files and fix all errors/warnings before committing (useyarn lint:js:cmd <file>)
Files:
code/addons/a11y/manager.js
**/*.{ts,tsx,js,jsx,mjs}
📄 CodeRabbit inference engine (.github/copilot-instructions.md)
Export functions from modules when they need to be unit-tested
Files:
code/addons/a11y/manager.js
code/**/*.{ts,tsx,js,jsx,mjs}
📄 CodeRabbit inference engine (.github/copilot-instructions.md)
In application code, use Storybook loggers instead of
console.*(client code:storybook/internal/client-logger; server code:storybook/internal/node-logger)
Files:
code/addons/a11y/manager.js
{code/**,scripts/**}/**/*.{ts,tsx,js,jsx,mjs}
📄 CodeRabbit inference engine (.github/copilot-instructions.md)
Do not use
console.log,console.warn, orconsole.errordirectly unless in isolated files where importing loggers would significantly increase bundle size
Files:
code/addons/a11y/manager.js
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
- GitHub Check: Core Unit Tests, windows-latest
🔇 Additional comments (1)
code/addons/a11y/manager.js (1)
1-1: dist/manager.js is a build-time artifact; verification should focus on build process execution.The file code/addons/a11y/manager.js exists and follows the established re-export pattern consistently used across all addons in the codebase (docs, themes, onboarding, vitest, pseudo-states, links). The single-line export statement is properly formatted.
However, the dist/manager.js target file is generated during the build process and does not exist in source control (expected behavior). ESLint/Prettier compliance for this file cannot be verified in the current environment since actual build/lint tooling is unavailable.
Before committing, manually verify:
- The build process successfully generates code/addons/a11y/dist/manager.js
- ESLint and Prettier have been run on the file per coding guidelines
|
View your CI Pipeline Execution ↗ for commit 4611f75
☁️ Nx Cloud last updated this comment at |
Closes #32459
What I did
When users wrap their addons-strings using
getAbsolutePath, node (sometimes?) no longer uses theexportMapdefined inpackage.jsonof out package, and so root files are needed to have our preset loading code "see" these asmanagerEntriesit needs to add to the list.I check if any other addons had their missing, but that didn't seem like the case.
Checklist for Contributors
Testing
The changes in this PR are covered in the following automated tests:
Manual testing
main.tsfiles had wrapped the addon-string withgetAbsolutePathDocumentation
MIGRATION.MD
Checklist for Maintainers
When this PR is ready for testing, make sure to add
ci:normal,ci:mergedorci:dailyGH label to it to run a specific set of sandboxes. The particular set of sandboxes can be found incode/lib/cli-storybook/src/sandbox-templates.tsMake 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/coreteam here.core team members can create a canary release here or locally with
gh workflow run --repo storybookjs/storybook publish.yml --field pr=<PR_NUMBER>Summary by CodeRabbit