Skip to content
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鈥檒l occasionally send you account related emails.

Already on GitHub? Sign in to your account

csf-tools: support quoted properties in exported maps #26995

Open
wants to merge 1 commit into
base: next
Choose a base branch
from

Conversation

nathell
Copy link

@nathell nathell commented May 1, 2024

What I did

This PR makes it possible to use quoted properties in CSF files, e.g.,

export default { 'title': 'My Story' }

and similarly for CSF3-style named exports.

This improves interoperability with tooling that compiles to JS and only produces quoted maps. Specifically, I write my stories in ClojureScript; I was able to convince the compiler to produce exports in the format that Storybook 7+鈥檚 csf-tools can understand, but it always emits object literals with quoted properties.

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

  1. Run a sandbox for template, e.g. yarn task --task sandbox --start-from auto --template react-vite/default-ts
  2. Edit one of the stories to make its title quoted
  3. Open Storybook in your browser
  4. Ensure that the story appears with the correct title in the right-hand-side panel

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

Make it possible to use quoted properties in CSF files, e.g.,

    export default { 'title': 'My Story' }

and similarly for CSF3-style named exports. This improves
interoperability with tooling that compiles to JS and only
produces quoted maps.
Copy link

nx-cloud bot commented May 6, 2024

鈽侊笍 Nx Cloud Report

CI is running/has finished running commands for commit f7ebe4a. 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


馃煡 Failed Commands
nx run-many -t build -c production --parallel=3

Sent with 馃拰 from NxCloud.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants