From e4d647c75b4949051b0a04c26c73c55d8becddd7 Mon Sep 17 00:00:00 2001 From: modelsbridgeaicom-ship-it <290653746+modelsbridgeaicom-ship-it@users.noreply.github.com> Date: Mon, 8 Jun 2026 01:33:14 +0800 Subject: [PATCH] fix: load Storybook ESLint plugin optionally --- eslint.config.js | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/eslint.config.js b/eslint.config.js index 98dd0d7..96070e4 100644 --- a/eslint.config.js +++ b/eslint.config.js @@ -1,9 +1,24 @@ // For more info, see https://github.com/storybookjs/eslint-plugin-storybook#configuration-flat-config-format -import storybook from "eslint-plugin-storybook"; - import eslintPluginAstro from "eslint-plugin-astro"; import tseslint from "typescript-eslint"; +async function loadStorybookConfig() { + try { + const storybook = await import("eslint-plugin-storybook"); + return storybook.default.configs["flat/recommended"]; + } catch (error) { + if ( + error?.code === "ERR_MODULE_NOT_FOUND" && + error?.message?.includes("eslint-plugin-storybook") + ) { + return []; + } + throw error; + } +} + +const storybookConfig = await loadStorybookConfig(); + export default [ { ignores: [ @@ -24,5 +39,5 @@ export default [ "@typescript-eslint/no-explicit-any": "off", }, }, - ...storybook.configs["flat/recommended"], + ...storybookConfig, ];