UNPKG

storybook

Version:

Storybook: Develop, document, and test UI components in isolation

41 lines (36 loc) 1.45 kB
import CJS_COMPAT_NODE_URL_3za304dh1il from 'node:url'; import CJS_COMPAT_NODE_PATH_3za304dh1il from 'node:path'; import CJS_COMPAT_NODE_MODULE_3za304dh1il from "node:module"; var __filename = CJS_COMPAT_NODE_URL_3za304dh1il.fileURLToPath(import.meta.url); var __dirname = CJS_COMPAT_NODE_PATH_3za304dh1il.dirname(__filename); var require = CJS_COMPAT_NODE_MODULE_3za304dh1il.createRequire(import.meta.url); // ------------------------------------------------------------ // end of CJS compatibility banner, injected by Storybook's esbuild configuration // ------------------------------------------------------------ // src/shared/utils/get-monorepo-type.ts import { existsSync, readFileSync } from "node:fs"; import { join } from "node:path"; import { getProjectRoot } from "storybook/internal/common"; var monorepoConfigs = { Nx: "nx.json", Turborepo: "turbo.json", Lerna: "lerna.json", Rush: "rush.json", Lage: "lage.config.json" }, getMonorepoType = () => { let monorepoType = Object.keys(monorepoConfigs).find((monorepo) => { let configFile = join(getProjectRoot(), monorepoConfigs[monorepo]); return existsSync(configFile); }); if (monorepoType) return monorepoType; if (!existsSync(join(getProjectRoot(), "package.json"))) return; if (JSON.parse( readFileSync(join(getProjectRoot(), "package.json"), { encoding: "utf8" }) )?.workspaces) return "Workspaces"; }; export { getMonorepoType };