Skip to content

Commit

Permalink
build(deps): add storybook
Browse files Browse the repository at this point in the history
chore: add storybook + stories for most components

chore: add remaining stories

add storybook add-ons plugin

formatting

add lint-staged

update README

ignore stories for eslint

ignore stories for eslint

ignore for storybook directory

don't ignore stories

update glob pattern again

exclude stories and mdx files from eslint by reviewdog
  • Loading branch information
kahboom committed Apr 23, 2024
1 parent 47b4e69 commit ad32ad0
Show file tree
Hide file tree
Showing 43 changed files with 30,886 additions and 8,735 deletions.
2 changes: 1 addition & 1 deletion .eslintrc.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
"plugin:react-hooks/recommended",
"prettier"
],
"ignorePatterns": ["**/*.stories.tsx"],
"ignorePatterns": ["src/stories/**", "**/*.stories.(ts,tsx)", "**/*.mdx"],
"plugins": ["react-hooks"],
"overrides": [
// Only use Testing Library lint rules in test files
Expand Down
4 changes: 4 additions & 0 deletions .github/workflows/reviewdog.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,10 @@ name: 🐶 reviewdog
on:
pull_request:
branches: ["main"]
paths-ignore:
- "src/stories/**"
- "*stories.{js,jsx,ts,tsx}"
- "**/*.mdx"

jobs:
eslint:
Expand Down
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -28,3 +28,5 @@ yarn-error.log*
**/.vscode/

**/.DS_Store

*storybook.log
4 changes: 4 additions & 0 deletions .husky/pre-commit
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
#!/bin/sh
. "$(dirname "$0")/_/husky.sh"

npx lint-staged
1 change: 0 additions & 1 deletion .prettierignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@
build*
node_modules*
.next*
**/generated/**
LICENSE
.gitignore
.tekton
33 changes: 33 additions & 0 deletions .storybook/main.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
import type { StorybookConfig } from "@storybook/nextjs";
import path from "path";

const config: StorybookConfig = {
stories: ["../src/**/*.mdx", "../src/**/*.stories.@(js|jsx|mjs|ts|tsx)"],
addons: [
"@storybook/addon-links",
"@storybook/addon-essentials",
"@storybook/addon-interactions",
],
framework: {
name: "@storybook/nextjs",
options: {},
},
docs: {
autodocs: "tag",
},
webpackFinal: async config => {
if (config.resolve) {
config.resolve.alias = {
...config.resolve.alias,
"@": path.resolve(__dirname, "../src"),
react: path.resolve("./node_modules/react"),
"react-dom": path.resolve("./node_modules/react-dom"),
"./src/modules/x509/decode": require.resolve(
"../src/modules/x509/decode",
),
};
}
return config;
},
};
export default config;
21 changes: 21 additions & 0 deletions .storybook/preview.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
import "@patternfly/patternfly/patternfly.css";
import "@patternfly/patternfly/utilities/Accessibility/accessibility.css";
import "@patternfly/patternfly/utilities/Display/display.css";
import "@patternfly/patternfly/utilities/Flex/flex.css";
import "@patternfly/patternfly/utilities/Sizing/sizing.css";
import "@patternfly/patternfly/utilities/Spacing/spacing.css";
import type { Preview } from "@storybook/react";

const preview: Preview = {
parameters: {
actions: { argTypesRegex: "^on[A-Z].*" },
controls: {
matchers: {
color: /(background|color)$/i,
date: /Date$/,
},
},
},
};

export default preview;
10 changes: 10 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,16 @@ Launches the test runner in the interactive watch mode.

Tests are co-located and live as closely to corresponding code as possible.

## Stories

We use [Storybook](https://storybook.js.org/) for [Component Driven Development](https://www.componentdriven.org/) (CDD) where possible. Storybook makes it easy to keep presentational components isolated. You can learn more about how to create a story for your UI component [here](https://storybook.js.org/docs/react/writing-stories/introduction).

To run Storybook locally: `npm run storybook`

```bash
npm run storybook
```

## Deploy

The app is based on [Next.JS](https://nextjs.org/) and is automatically built & deployed to GitHub Pages when pushing to the `main` branch.
Expand Down
Loading

0 comments on commit ad32ad0

Please sign in to comment.