npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

storybook-addon-vue-mdx

v1.0.4

Published

Use Vue components inside MDX files, as if they were React components.

Downloads

3,211

Readme

Storybook Addon Vue support for MDX

Use Vue components inside MDX files, as if they were React components.

Limitations

This addon is in its early stages, the following limitations apply:

  • Only works with Vue 3 and Storybook 8 (for Storybook 7, use v0.1.5)
  • Components must be locally imported into MDX files
  • Provide/Inject has not been tested yet but should work
  • Customisation APIs may change in the future

There is also a known bug when running Storybook locally. Sometimes, the first page load of a MDX page with Vue components can crash because Storybook does not properly execute the code defined in beforeVueAppMount. This is probably due to how Storybook parses and runs the preview file, but the bug does not occur at all in production builds. You can work around this bug by refreshing the browser tab once, and it will successfully run on the second load.

Installation

yarn add -D storybook-addon-vue-mdx

In your .storybook/main.js file, add the following:

export default {
  addons: ['storybook-addon-vue-mdx'],
}

Usage

In a Sample.mdx file, import the component you need, and use it using Vue JSX syntax:

import MyComponent from 'path-to-components/MyComponent.vue'

<MyComponent>bla bla</MyComponent>

The Vue JSX syntax is documented by Vue. Pay particular attention to the syntax for passing slots.

Customising the Vue app context

This addon uses veaury to render Vue components in a React JSX context. In particular, the addon calls applyPureVueInReact. You may pass options to this function by defining globals in your .storybook/preview.js file, like so:

const globals = {
  vueMdx: {
    beforeVueAppMount(app) {
      app.use(myCustomPlugin)
    },
  },
}

export default {
  globals,
}

You may also directly import and use Veaury's applyVueInReact as per Veaury's own documentation.

Development scripts

  • yarn start runs babel in watch mode and starts Storybook
  • yarn build builds and packages the addon code
  • yarn pack:local makes a local tarball to be used as a NPM dependency elsewhere

Bug reports

Before reporting a bug, please thoroughly check Veaury's documentation and list of issues for matching issues.

To report a bug, please use GitHub issues on this repository, making sure to include a working Minimal Working Example. For instance, you could use storybook.new to bootstrap a reproduction environment.

Migrating to a later Storybook version

If you want to migrate the addon to support the latest version of Storyboook, you can check out the addon migration guide.