a storybook addon that checks all of the hyperlinks in a storybook markdown file to determine if they are alive or dead
npm install storybook-deadlink-checker

!example workflow


A lightweight storybook addon that validates dead-links for storybook stories where links are created using the @storybook/addon-links package.
- Supports node v8.x and above
- Validates all anchor/internal links in the stories (eg. #my-link)
- Validates all external links in the stories (eg. https://my-link.com)
- Validates all storybook link addons in the stories (eg. LinkTo kind='\*')
``
npm i --save-dev storybook-deadlink-checker
yarn add --dev storybook-deadlink-checker
`
> :warning: Currently support CLI usage, programmatic usage is not supported yet
`
$ npx storybook-deadlink-checker [dir] [storybook-url] [fileIgnorePattern] [onlyFail]
Options:
--version Show version number [boolean]
--file, --file file path [string]
--dir, --directory directory path [string]
--url, --storybook-url storybook live or local build url [string]
--ignore, --ignore-pattern ignore pattern [string]
--onlyFail, --only-fail only show failed links [boolean] [default: false]
--help Show help [boolean]
`
``
$ npx storybook-deadlink-checker --dir="./path/to/folder"
The magic is really simple. The scrapper finds all the , Link and Link tags in the storybook stories and checks if the links are valid in the hosted/local storybook build.
To validate the story links you need to have a storybook url. You can either use the live build url or the local build url.
For local build url, you can use the following command:
`
$ npx build-storybook -o ./local-storybook-build-folder
// then validate the links
$ npx storybook-deadlink-checker --dir="./path/to/folder" --url="file:///${PWD}/local-storybook-build-folder"
`
For live build url, you can use the following command:
``
$ npx start-storybook -p 9009 --no-manager-cache -s public
$ npx storybook-deadlink-checker --dir="./path/to/folder" --url="http://localhost:9009"
``
$ npx storybook-deadlink-checker --dir="./path/to/folder" --url="http://localhost:9009" --onlyFail
```
$ npx storybook-deadlink-checker --dir="./path/to/folder" --url="http://localhost:9009" --ignore="url-pattern-1,url-pattern-2..."
you can raise any issue here
Any pull request is welcome.
If it works for you , give a Star! :star: