From 12ad54167be8902739d5fa4af81e05d250131411 Mon Sep 17 00:00:00 2001
From: adilallo <39313955+adilallo@users.noreply.github.com>
Date: Thu, 21 Aug 2025 11:33:36 -0600
Subject: [PATCH] More storybook updates for github pages
---
.gitignore | 4 ----
.storybook/main.github.js | 35 +++++++++++++++++++++++++++++++++++
.storybook/main.js | 4 ++++
.storybook/main.local.js | 31 +++++++++++++++++++++++++++++++
.storybook/preview.github.js | 16 ++++++++++++++++
.storybook/preview.local.js | 16 ++++++++++++++++
6 files changed, 102 insertions(+), 4 deletions(-)
create mode 100644 .storybook/main.github.js
create mode 100644 .storybook/main.local.js
create mode 100644 .storybook/preview.github.js
create mode 100644 .storybook/preview.local.js
diff --git a/.gitignore b/.gitignore
index f9dae20..9cf2b15 100644
--- a/.gitignore
+++ b/.gitignore
@@ -46,7 +46,3 @@ storybook-static
# storybook config files (to avoid git changes when switching between local and production)
.storybook/main.js
.storybook/preview.js
-.storybook/main.local.js
-.storybook/preview.local.js
-.storybook/main.github.js
-.storybook/preview.github.js
diff --git a/.storybook/main.github.js b/.storybook/main.github.js
new file mode 100644
index 0000000..7afbb5d
--- /dev/null
+++ b/.storybook/main.github.js
@@ -0,0 +1,35 @@
+/** @type { import('@storybook/nextjs-vite').StorybookConfig } */
+const config = {
+ stories: [
+ "../stories/**/*.mdx",
+ "../stories/**/*.stories.@(js|jsx|mjs|ts|tsx)",
+ ],
+ addons: [
+ "@chromatic-com/storybook",
+ "@storybook/addon-docs",
+ "@storybook/addon-onboarding",
+ "@storybook/addon-a11y",
+ "@storybook/addon-vitest",
+ ],
+ framework: {
+ name: "@storybook/nextjs-vite",
+ options: {},
+ },
+ staticDirs: ["../public"],
+ managerHead: (head) => `${head}`,
+ previewHead: (head) => `${head}`,
+ async viteFinal(cfg) {
+ // IMPORTANT: Set base path for GitHub Pages sub-path hosting
+ cfg.base = "/communityrulestorybook/";
+ // Ensure esbuild treats .js as JSX during dep pre-bundling
+ cfg.optimizeDeps ??= {};
+ cfg.optimizeDeps.esbuildOptions ??= {};
+ cfg.optimizeDeps.esbuildOptions.loader = {
+ ...(cfg.optimizeDeps.esbuildOptions.loader || {}),
+ ".js": "jsx",
+ ".ts": "tsx",
+ };
+ return cfg;
+ },
+};
+export default config;
diff --git a/.storybook/main.js b/.storybook/main.js
index 6e3993d..7afbb5d 100644
--- a/.storybook/main.js
+++ b/.storybook/main.js
@@ -16,7 +16,11 @@ const config = {
options: {},
},
staticDirs: ["../public"],
+ managerHead: (head) => `${head}`,
+ previewHead: (head) => `${head}`,
async viteFinal(cfg) {
+ // IMPORTANT: Set base path for GitHub Pages sub-path hosting
+ cfg.base = "/communityrulestorybook/";
// Ensure esbuild treats .js as JSX during dep pre-bundling
cfg.optimizeDeps ??= {};
cfg.optimizeDeps.esbuildOptions ??= {};
diff --git a/.storybook/main.local.js b/.storybook/main.local.js
new file mode 100644
index 0000000..6e3993d
--- /dev/null
+++ b/.storybook/main.local.js
@@ -0,0 +1,31 @@
+/** @type { import('@storybook/nextjs-vite').StorybookConfig } */
+const config = {
+ stories: [
+ "../stories/**/*.mdx",
+ "../stories/**/*.stories.@(js|jsx|mjs|ts|tsx)",
+ ],
+ addons: [
+ "@chromatic-com/storybook",
+ "@storybook/addon-docs",
+ "@storybook/addon-onboarding",
+ "@storybook/addon-a11y",
+ "@storybook/addon-vitest",
+ ],
+ framework: {
+ name: "@storybook/nextjs-vite",
+ options: {},
+ },
+ staticDirs: ["../public"],
+ async viteFinal(cfg) {
+ // Ensure esbuild treats .js as JSX during dep pre-bundling
+ cfg.optimizeDeps ??= {};
+ cfg.optimizeDeps.esbuildOptions ??= {};
+ cfg.optimizeDeps.esbuildOptions.loader = {
+ ...(cfg.optimizeDeps.esbuildOptions.loader || {}),
+ ".js": "jsx",
+ ".ts": "tsx",
+ };
+ return cfg;
+ },
+};
+export default config;
diff --git a/.storybook/preview.github.js b/.storybook/preview.github.js
new file mode 100644
index 0000000..1fd25df
--- /dev/null
+++ b/.storybook/preview.github.js
@@ -0,0 +1,16 @@
+import "../app/globals.css";
+
+/** @type { import('@storybook/react').Preview } */
+const preview = {
+ parameters: {
+ actions: { argTypesRegex: "^on[A-Z].*" },
+ controls: {
+ matchers: {
+ color: /(background|color)$/i,
+ date: /Date$/i,
+ },
+ },
+ },
+};
+
+export default preview;
diff --git a/.storybook/preview.local.js b/.storybook/preview.local.js
new file mode 100644
index 0000000..1fd25df
--- /dev/null
+++ b/.storybook/preview.local.js
@@ -0,0 +1,16 @@
+import "../app/globals.css";
+
+/** @type { import('@storybook/react').Preview } */
+const preview = {
+ parameters: {
+ actions: { argTypesRegex: "^on[A-Z].*" },
+ controls: {
+ matchers: {
+ color: /(background|color)$/i,
+ date: /Date$/i,
+ },
+ },
+ },
+};
+
+export default preview;