From 1066ada7a49cb1fd6953af1f78b38d7c4d16456d Mon Sep 17 00:00:00 2001 From: Steve Dodier-Lazaro Date: Thu, 17 Oct 2024 22:34:59 +0200 Subject: [PATCH] docs(readme): Implement first readme draft --- README.md | 475 +++++++++++++++++++++++++++++++++--- static/addon-example.avif | Bin 0 -> 35098 bytes static/addon-example.png | Bin 0 -> 25003 bytes static/badge-beta.png | Bin 0 -> 5165 bytes static/badge-code-only.png | Bin 0 -> 5637 bytes static/badge-danger.png | Bin 0 -> 5326 bytes static/badge-deprecated.png | Bin 0 -> 5723 bytes static/badge-new.png | Bin 0 -> 5104 bytes static/badge-outdated.png | Bin 0 -> 5584 bytes static/badge-static.png | Bin 0 -> 5312 bytes static/badge-version.png | Bin 0 -> 5148 bytes 11 files changed, 437 insertions(+), 38 deletions(-) create mode 100644 static/addon-example.avif create mode 100644 static/addon-example.png create mode 100644 static/badge-beta.png create mode 100644 static/badge-code-only.png create mode 100644 static/badge-danger.png create mode 100644 static/badge-deprecated.png create mode 100644 static/badge-new.png create mode 100644 static/badge-outdated.png create mode 100644 static/badge-static.png create mode 100644 static/badge-version.png diff --git a/README.md b/README.md index 99fd067..8bb70b2 100644 --- a/README.md +++ b/README.md @@ -1,76 +1,475 @@ -# Storybook Addon Vue support for MDX +
+ + + Example of the addon in use, showing badges next to component entries in the sidebar. + -Use Vue components inside MDX files, as if they were React components. +

Storybook Addon - Tag Badges

+ +

+ This addon displays badges in the sidebar and toolbar of the Storybook UI, next to component, docs or story entries, based on the tags defined in your content. Badges can be customised to support your team's workflows. +

+ +

+ Status: Stable + commit activity + last commit + open issues + CodeQL status + CI status + code coverage + contributors + code of conduct: contributor covenant 2.1 + license + forks + stars + sponsor this project +

+
-## Limitations +--- -This addon is in its early stages, the following limitations apply: +## ๐Ÿ“” Table of Contents -- 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. +- [Table of Contents](#-table-of-contents) +- [Which badge addon should I use?](#-which-badge-addon-should-i-use) +- [Installation](#-installation) +- [Default Config](#-default-config) +- [Usage](#-usage) +- [Customise Badge Config](#๏ธ-customise-badge-config) +- [Limitations](#-limitations) +- [Contributing](#-contributing) +- [Support](#-support) +- [Contact](#๏ธ-contact) +- [Acknowledgments](#-acknowledgments) -## Installation +## ๐Ÿค” Which badge addon should I use? + +A few other projects have been written to display badges in Storybook. This addon is a rewrite of [storybook-addon-badges](https://storybook.js.org/addons/@geometricpanda/storybook-addon-badges) from [Jim Drury](https://github.com/geometricpanda), focused on exploiting Storybook [tags](https://storybook.js.org/docs/writing-stories/tags). We use tags as a data source to display badges, rather than dedicated [story parameters](https://storybook.js.org/docs/writing-stories/parameters), as tags are becoming more prevalent in Storybook and have a strong role overlap with badges. + +This architectural choice opens up new possibilities, but also prevents some features from the original addon from working. The table below summarises the differences between both addons. + +| | storybook-addon-tag-badges | [storybook-addon-badges](https://storybook.js.org/addons/@geometricpanda/storybook-addon-badges) | +| --------------------------: | -------------------------- | ------------------------------------------------------------------------------------------------ | +| Show badges in toolbar | โœ… | โœ… | +| Show badges in sidebar | โœ… | โš ๏ธ _only for current story_ | +| Define badges based on tags | โœ… | โŒ | +| Per-story customisation | โŒ | โœ… | +| Tooltip support | โš ๏ธ _only in toolbar_ | โœ… | +| Storybook >= 8.4 | โœ… | โœ… | +| Storybook < 8.3 | โŒ | โœ… | + +## ๐Ÿ“ฆ Installation + +```sh +yarn add -D storybook-addon-tag-badges +``` ```sh -yarn add -D storybook-addon-vue-mdx +npm install -D storybook-addon-tag-badges ``` -In your `.storybook/main.js` file, add the following: +```sh +pnpm install -D storybook-addon-tag-badges +``` -```js +In your `.storybook/main.ts` file, add the following: + +```ts export default { - addons: ['storybook-addon-vue-mdx'], + addons: ['storybook-addon-tag-badges'], } ``` -## Usage +## ๐Ÿ Default Config + +This addon comes with a default config, allowing you to get started immediately by adding tags to your content. + +### Preconfigured Badges + +| Preview | Tag patterns | Suggested use | +| ---------------------------------: | ------------------------------------- | ------------------------------------------------------------------------------------------------------------------ | +| ![](./static/badge-new.png) | `new` | Recently added components or props/features | +| ![](./static/badge-beta.png) | `alpha`, `beta`, `rc`, `experimental` | Warn that a component or prop is not stable yet | +| ![](./static/badge-deprecated.png) | `deprecated` | Components or props that should be avoided in new code | +| ![](./static/badge-outdated.png) | `outdated` | Components with design changes that weren't yet implemented, which can incur extra development costs to your users | +| ![](./static/badge-danger.png) | `danger` | Components that require particular attention when configuring them (e.g. for with security concerns) | +| ![](./static/badge-code-only.png) | `code-only` | Components that only exist in code, and not in design | +| ![](./static/badge-version.png) | `version:*` | Per-component versioning | + +### Display Logic -In a `Sample.mdx` file, import the component you need, and use it using Vue JSX syntax: +By default, all tags are always displayed on the toolbar, but they're only displayed for component entries in the sidebar. -```mdx -import MyComponent from 'path-to-components/MyComponent.vue' +Besides, the addon is limited to one badge per entry in the sidebar. Badges placed first in the configuration will be displayed in priority. For example, the `new` badge will be displayed before the `code-only` badge. -bla bla +## ๐Ÿ‘€ Usage + +To display preconfigured badges, add the relevant tags to your components, stories, or docs entries. + +### Component Badges + +To set badges for a component (and its child stories), define `tags` in the component's meta: + +```ts +// src/components/Button.stories.ts +import type { Meta, StoryObj } from '@storybook/react' +import { Button } from './Button' + +const meta: Meta = { + title: 'Example/Button', + component: Button, + tags: ['autodocs', 'version:1.0.0', 'new'], +} +``` + +### Story Badges + +To add badges to a specific story, add `tags` to the story object itself: + +```ts +// src/components/Button.stories.ts +export const Tertiary: StoryObj = { + args: { + variant: 'tertiary', + size: 'md', + }, + tags: ['experimental'], +} ``` -The Vue JSX syntax is [documented by Vue](https://vuejs.org/guide/extras/render-function.html#jsx-tsx). Pay particular attention to [the syntax for passing slots](https://vuejs.org/guide/extras/render-function.html#passing-slots). +### Docs Badges -## Customising the Vue app context +To set badges for a docs entry, pass a `tags` array to the [`docs` parameter](https://storybook.js.org/docs/writing-stories/parameters): -This addon uses [veaury](https://github.com/devilwjp/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: +```ts +// src/components/Button.stories.ts +import type { Meta, StoryObj } from '@storybook/react' +import { Button } from './Button' -```js -const globals = { - vueMdx: { - beforeVueAppMount(app) { - app.use(myCustomPlugin) +const meta: Meta = { + title: 'Example/Button', + component: Button, + parameters: { + docs: { + tags: ['outdated'], }, }, } +``` -export default { - globals, -} +## ๐Ÿ› ๏ธ Customise Badge Config + +In your manager file, you may redefine the config object used to map tags to badges. Each tag is only rendered once, with the first badge configuration it matches; therefore, make sure to place your overrides to the config first if you also want to keep the default config in place. + +```ts +// .storybook/manager.ts +import { addons } from '@storybook/manager-api' +import { + defaultConfig, + type TagBadgeParameters, +} from 'storybook-addon-tag-badges' + +addons.setConfig({ + tagBadges: [ + { + tags: 'frog', + badge: { + text: 'Frog ๐Ÿธ', + bgColor: '#001c13', + fgColor: '#e0eb0b', + tooltip: 'This component can catch flies!', + }, + display: { + sidebar: ['component'], + toolbar: true, + }, + }, + // Place the default config after your custom matchers. + ...defaultConfig, + ] satisfies TagBadgeParameters, +}) +``` + +--- + +--- + +--- + +--- + +--- + +--- + +--- + +### Display + +The `display` property in the badge configuration controls where and for what type of content the badges are rendered. It has two sub-properties: + +- `sidebar`: Controls the display of badges in the sidebar. +- `toolbar`: Controls the display of badges in the toolbar. + +Each of these can be set to: + +- `true`: Displays for any type of item. +- `false`: Never displays. +- A string or array of strings: Each string represents a type of HashEntry for which the badge will be shown (e.g., 'docs', 'story', 'component'). + +Example: + +```ts +// .storybook/manager.ts +import { addons } from '@storybook/manager-api' +import { + defaultConfig, + type TagBadgeParameters, +} from 'storybook-addon-tag-badges' + +addons.setConfig({ + tagBadges: [ + { + tags: 'custom-badge', + badge: { + text: 'Custom', + bgColor: '#ff0000', + fgColor: '#ffffff', + }, + display: { + sidebar: ['component', 'story'], + toolbar: true, + }, + }, + ...defaultConfig, + ] satisfies TagBadgeParameters, +}) +``` + +This configuration would display the 'Custom' badge in the sidebar for components and stories, and in the toolbar for all types of content when the 'custom-badge' tag is present. + +### Tag + +The `tags` property in the badge configuration defines the string, RegExp, or tag structures to match against for this badge config to be used. It can be a single pattern or an array of patterns. + +A tag pattern can be: + +- A string: Exact match for the tag. +- A RegExp: For more complex matching patterns. +- An object with `prefix` and/or `suffix` properties: To match only the beginning or end of a tag. + +Examples: + +```ts +// .storybook/manager.ts +import { addons } from '@storybook/manager-api' +import { + defaultConfig, + type TagBadgeParameters, +} from 'storybook-addon-tag-badges' + +addons.setConfig({ + tagBadges: [ + // String match + { + tags: 'new-feature', + badge: { text: 'New Feature' }, + }, + // RegExp match + { + tags: /^version:\d+\.\d+\.\d+$/, + badge: ({ tag }) => ({ text: tag.split(':')[1] }), + }, + // Prefix/suffix match + { + tags: { prefix: 'status:' }, + badge: ({ tag }) => ({ text: tag.split(':')[1] }), + }, + // Array of patterns + { + tags: ['beta', { suffix: '-test' }, /^v\d+/], + badge: { text: 'Testing', bgColor: '#ffff00' }, + }, + ...defaultConfig, + ] satisfies TagBadgeParameters, +}) +``` + +### Badge + +The `badge` property defines the appearance and content of the badge to display. It can be either a static object or a function that dynamically generates the badge based on the matched content and tag. + +Static badge object: + +```ts +// .storybook/manager.ts +import { addons } from '@storybook/manager-api' +import { + defaultConfig, + type TagBadgeParameters, +} from 'storybook-addon-tag-badges' + +addons.setConfig({ + tagBadges: [ + { + tags: 'important', + badge: { + text: 'Important', + bgColor: '#ff0000', + fgColor: '#ffffff', + borderColor: '#000000', + tooltip: 'This is an important component', + }, + }, + ...defaultConfig, + ] satisfies TagBadgeParameters, +}) ``` -You may also directly import and use Veaury's `applyVueInReact` as per Veaury's [own documentation](https://github.com/devilwjp/veaury). +#### Dynamic Badge Functions + +Dynamic badge functions allow you to customize the badge based on the current entry and matched tag. This is particularly useful for creating badges that adapt to specific tag content or entry properties. + +The function receives an object with the following properties: + +- `entry`: The current HashEntry (component, story, etc.). +- `getTagParts`, `getTagPrefix`, `getTagSuffix`: Utility functions to extract parts of the tag. +- `tag`: The matched tag string. + +Example of a dynamic badge function: + +```ts +// .storybook/manager.ts +import { addons } from '@storybook/manager-api' +import { + defaultConfig, + type TagBadgeParameters, +} from 'storybook-addon-tag-badges' + +addons.setConfig({ + tagBadges: [ + { + tags: /^version:/, + badge: ({ entry, getTagSuffix, tag }) => { + const version = getTagSuffix(tag, 'version:') + return { + text: `v${version}`, + bgColor: entry.type === 'story' ? '#e0f0ff' : '#f0e0ff', + tooltip: `Version ${version} - ${entry.name}`, + } + }, + }, + ...defaultConfig, + ] satisfies TagBadgeParameters, +}) +``` + +This function creates a version badge that changes color based on whether it's applied to a story or another type of entry, and includes the entry name in the tooltip. + +--- + +--- + +--- + +--- + +--- -## 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 +## ๐ŸŒ Limitations -Before reporting a bug, please thoroughly check Veaury's documentation and list of issues for matching issues. +### Per-Story Config -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](https://new-storybook.netlify.app/) to bootstrap a reproduction environment. +This addon does not support changing the badge config for a specific story, and never will. This is because parts of the Storybook UI, like the sidebar, are rendered in a context where story data is not loaded. Storybook has stopped preloading all story data in v7, to improve performance. + +As a result, we need to create sidebar tags without access to story-specific data. This addon uses the [core addon API](https://storybook.js.org/docs/addons/addons-api#core-addon-api) to read your configuration, and so the way to customise the rendering of a specific badge is to use [dynamic badge functions](<(#dynamic-badge-functions)>). Those functions can exploit a story's ID, title, or tag content to customise the rendered badge, as examples below will show. + +### Component tags + +In Storybook, your MDX and CSF files are converted to `docs`, `component`, `group` and `story` entries to render the sidebar, each with their own semantics. `docs` and `story` entries directly inherit the tags defined in `parameters.docs.tags` and in the [CSF `meta`](https://storybook.js.org/docs/api/csf#default-export), respectively. + +For `component` entries, tags are computed indirectly: they are the intersection of tags present on all of the component's stories. For example, for a component that defines the tag `version:1.2.0` in its `meta`, and has one story that defines an additional tag `deprecated`, the component entry will only have the `version:1.2.0` tag defined. + +In particular, if a component `meta` defines two tags `outdated` and `version:1.1.0`, but one story explicitly removes the tag `outdated` (by adding `!outdated`), then the component entry will only have tag `version:1.1.0`. + +## ๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿ’ป Contributing + +### Code of Conduct + +Please read the [Code of Conduct](https://github.com/Sidnioulz/storybook-addon-tag-badges/blob/main/CODE_OF_CONDUCT.md) first. + +### Developer Certificate of Origin + +To ensure that contributors are legally allowed to share the content they contribute under the license terms of this project, contributors must adhere to the [Developer Certificate of Origin](https://developercertificate.org/) (DCO). All contributions made must be signed to satisfy the DCO. This is handled by a Pull Request check. + +> By signing your commits, you attest to the following: +> +> 1. The contribution was created in whole or in part by you and you have the right to submit it under the open source license indicated in the file; or +> 2. The contribution is based upon previous work that, to the best of your knowledge, is covered under an appropriate open source license and you have the right under that license to submit that work with modifications, whether created in whole or in part by you, under the same open source license (unless you are permitted to submit under a different license), as indicated in the file; or +> 3. The contribution was provided directly to you by some other person who certified 1., 2. or 3. and you have not modified it. +> 4. You understand and agree that this project and the contribution are public and that a record of the contribution (including all personal information you submit with it, including your sign-off) is maintained indefinitely and may be redistributed consistent with this project or the open source license(s) involved. + +### Getting Started + +This project uses PNPM as a package manager, and Turbo as a monorepo provider. + +- See the [installation instructions for PNPM](https://pnpm.io/installation) +- Run `pnpm i` + +### Useful commands + +- `pnpm start` starts the local Storybook +- `pnpm build` builds and packages the addon code +- `pnpm pack:local` makes a local tarball to be used as a NPM dependency elsewhere +- `pnpm test` runs unit tests ### 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](https://storybook.js.org/docs/addons/addon-migration-guide). + +### Release System + +> [!CAUTION] +> TODO + +## ๐Ÿ†˜ Support + +Please [open an issue](https://github.com/Sidnioulz/storybook-addon-tag-badges/issues/new) for bug reports or code suggestions. Make sure to include a working Minimal Working Example for bug reports. You may use [storybook.new](https://new-storybook.netlify.app/) to bootstrap a reproduction environment. + +## โœ‰๏ธ Contact + +Steve Dodier-Lazaro ยท `@Frog` on the [Storybook Discord](https://discord.gg/storybook) - [LinkedIn](https://www.linkedin.com/in/stevedodierlazaro/) + +Project Link: [https://github.com/Sidnioulz/storybook-addon-tag-badges](https://github.com/Sidnioulz/storybook-addon-tag-badges) + +## ๐Ÿ’› Acknowledgments + +### Thanks + +- [Jim Drury](https://github.com/geometricpanda) for his groundbreaking working on the original Badges Addon; I am a mere copy-cat +- [Michael Shilman](https://github.com/shilman) for his help with addon internals and his feedback +- All the contributors to the [Storybook addon kit](https://github.com/storybookjs/addon-kit) + +### Built With + +[![Dependabot](https://img.shields.io/badge/Dependabot-025E8C?logo=dependabot&logoColor=white)](https://github.com/dependabot) +[![ESLint](https://img.shields.io/badge/ESLint-4b32c3?logo=eslint&logoColor=white)](https://eslint.org/) +[![GitHub](https://img.shields.io/badge/GitHub-0d1117?logo=github&logoColor=white)](https://github.com/solutions/ci-cd) +[![Prettier](https://img.shields.io/badge/Prettier-f8bc45?logo=prettier&logoColor=black)](https://prettier.io/) +[![Storybook](https://cdn.jsdelivr.net/gh/storybookjs/brand@main/badge/badge-storybook.svg)](https://storybook.js.org/) +[![tsup](https://img.shields.io/badge/tsup-fde047)](https://tsup.egoist.dev/) +[![TypeScript](https://img.shields.io/badge/TypeScript-3178c6?logo=typescript&logoColor=white)](https://www.typescriptlang.org/) +[![Vitest](https://img.shields.io/badge/Vitest-acd268?logo=vitest&logoColor=black)](https://https://vitest.dev/) diff --git a/static/addon-example.avif b/static/addon-example.avif new file mode 100644 index 0000000000000000000000000000000000000000..32d4c9a9e55e2c71a41c6969a6d61636be073460 GIT binary patch literal 35098 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 literal 0 HcmV?d00001 diff --git a/static/badge-code-only.png b/static/badge-code-only.png new file mode 100644 index 0000000000000000000000000000000000000000..cabc259a32222b1bbcbf10e913a9aeb445f356fd GIT binary patch literal 5637 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 literal 0 HcmV?d00001 diff --git a/static/badge-new.png b/static/badge-new.png new file mode 100644 index 0000000000000000000000000000000000000000..08075f2af3687fb116f507c29e509b50b34b863f GIT binary patch literal 5104 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 literal 0 HcmV?d00001 diff --git a/static/badge-outdated.png b/static/badge-outdated.png new file mode 100644 index 0000000000000000000000000000000000000000..f84bf0d35c3609e3f0f683be7668530643982d71 GIT binary patch literal 5584 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 literal 0 HcmV?d00001 diff --git a/static/badge-static.png b/static/badge-static.png new file mode 100644 index 0000000000000000000000000000000000000000..e691b43284388edd134d023daeae2a3dbe34e957 GIT binary patch literal 5312 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 literal 0 HcmV?d00001 diff --git a/static/badge-version.png b/static/badge-version.png new file mode 100644 index 0000000000000000000000000000000000000000..59f1746cefa462648fb205cb401164baadede1b1 GIT binary patch literal 5148 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 HFHipum(*+E literal 0 HcmV?d00001