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;
 |