
web: Fix issues surrounding markdown rendering. - Fix issue where Mermaid diagrams do not render. - Fix link colors in dark mode. - Fix anchored links triggering router. - Fix issue where links occasionally link to missing page.
82 lines
2.8 KiB
TypeScript
82 lines
2.8 KiB
TypeScript
import replace from "@rollup/plugin-replace";
|
|
import type { StorybookConfig } from "@storybook/web-components-vite";
|
|
import { cwd } from "process";
|
|
import modify from "rollup-plugin-modify";
|
|
import postcssLit from "rollup-plugin-postcss-lit";
|
|
import tsconfigPaths from "vite-tsconfig-paths";
|
|
|
|
export const isProdBuild = process.env.NODE_ENV === "production";
|
|
export const apiBasePath = process.env.AK_API_BASE_PATH || "";
|
|
|
|
const importInlinePatterns = [
|
|
'import AKGlobal from "(\\.\\./)*common/styles/authentik\\.css',
|
|
'import AKGlobal from "@goauthentik/common/styles/authentik\\.css',
|
|
'import PF.+ from "@patternfly/patternfly/\\S+\\.css',
|
|
'import ThemeDark from "@goauthentik/common/styles/theme-dark\\.css',
|
|
'import OneDark from "@goauthentik/common/styles/one-dark\\.css',
|
|
'import styles from "\\./LibraryPageImpl\\.css',
|
|
];
|
|
|
|
const importInlineRegexp = new RegExp(importInlinePatterns.map((a) => `(${a})`).join("|"));
|
|
|
|
const config: StorybookConfig = {
|
|
stories: ["../src/**/*.mdx", "../src/**/*.stories.@(js|jsx|ts|tsx)"],
|
|
addons: [
|
|
"@storybook/addon-controls",
|
|
"@storybook/addon-links",
|
|
"@storybook/addon-essentials",
|
|
"storybook-addon-mock",
|
|
],
|
|
staticDirs: [
|
|
{
|
|
from: "../node_modules/@patternfly/patternfly/patternfly-base.css",
|
|
to: "@patternfly/patternfly/patternfly-base.css",
|
|
},
|
|
{
|
|
from: "../src/common/styles/authentik.css",
|
|
to: "@goauthentik/common/styles/authentik.css",
|
|
},
|
|
{
|
|
from: "../src/common/styles/theme-dark.css",
|
|
to: "@goauthentik/common/styles/theme-dark.css",
|
|
},
|
|
{
|
|
from: "../src/common/styles/one-dark.css",
|
|
to: "@goauthentik/common/styles/one-dark.css",
|
|
},
|
|
],
|
|
framework: {
|
|
name: "@storybook/web-components-vite",
|
|
options: {},
|
|
},
|
|
docs: {
|
|
autodocs: "tag",
|
|
},
|
|
async viteFinal(config) {
|
|
return {
|
|
...config,
|
|
plugins: [
|
|
modify({
|
|
find: importInlineRegexp,
|
|
replace: (match: RegExpMatchArray) => {
|
|
return `${match}?inline`;
|
|
},
|
|
}),
|
|
replace({
|
|
"process.env.NODE_ENV": JSON.stringify(
|
|
isProdBuild ? "production" : "development",
|
|
),
|
|
"process.env.CWD": JSON.stringify(cwd()),
|
|
"process.env.AK_API_BASE_PATH": JSON.stringify(apiBasePath),
|
|
"preventAssignment": true,
|
|
}),
|
|
...config.plugins,
|
|
postcssLit(),
|
|
tsconfigPaths(),
|
|
],
|
|
};
|
|
},
|
|
};
|
|
|
|
export default config;
|