@storybook/addon-themes
Version:
Storybook Themes addon: Switch between themes from the toolbar
33 lines (29 loc) • 1.43 kB
JavaScript
import CJS_COMPAT_NODE_URL_lys08foovg from 'node:url';
import CJS_COMPAT_NODE_PATH_lys08foovg from 'node:path';
import CJS_COMPAT_NODE_MODULE_lys08foovg from "node:module";
var __filename = CJS_COMPAT_NODE_URL_lys08foovg.fileURLToPath(import.meta.url);
var __dirname = CJS_COMPAT_NODE_PATH_lys08foovg.dirname(__filename);
var require = CJS_COMPAT_NODE_MODULE_lys08foovg.createRequire(import.meta.url);
// ------------------------------------------------------------
// end of CJS compatibility banner, injected by Storybook's esbuild configuration
// ------------------------------------------------------------
// src/postinstall.ts
import { PackageManagerName } from "storybook/internal/common";
import { spawnSync } from "child_process";
var PACKAGE_MANAGER_TO_COMMAND = {
[PackageManagerName.NPM]: "npx",
[PackageManagerName.PNPM]: "pnpm dlx",
[PackageManagerName.YARN1]: "npx",
[PackageManagerName.YARN2]: "yarn dlx",
[PackageManagerName.BUN]: "bunx"
}, selectPackageManagerCommand = (packageManager) => PACKAGE_MANAGER_TO_COMMAND[packageManager];
async function postinstall({ packageManager = PackageManagerName.NPM }) {
let commandString = selectPackageManagerCommand(packageManager), [command, ...commandArgs] = commandString.split(" ");
spawnSync(command, [...commandArgs, "@storybook/auto-config", "themes"], {
stdio: "inherit",
cwd: process.cwd()
});
}
export {
postinstall as default
};