@storybook/addon-styling-webpack
Version:
A base addon for configuring popular styling tools in Webpack
45 lines (42 loc) • 1.24 kB
JavaScript
import { spawn } from 'child_process';
// src/postinstall.ts
var spawnAsync = (cmd, args, options) => {
return new Promise((resolve, reject) => {
const process2 = spawn(cmd, args, options);
process2.on("close", (code) => {
if (code === 0) {
resolve();
} else {
reject(new Error(`Process exited with code ${code}`));
}
});
process2.on("error", (err) => {
reject(err);
});
});
};
var PACKAGE_MANAGER_TO_COMMAND = {
npm: ["npx"],
pnpm: ["pnpm", "dlx"],
yarn1: ["npx"],
yarn2: ["yarn", "dlx"]
};
var selectPackageManagerCommand = (packageManager) => PACKAGE_MANAGER_TO_COMMAND[packageManager];
var spawnPackageManagerScript = async (packageManager, args) => {
const [command, ...baseArgs] = selectPackageManagerCommand(packageManager);
await spawnAsync(command, [...baseArgs, ...args], {
stdio: "inherit",
cwd: process.cwd(),
shell: true
});
};
var automigrate = async ({ packageManager = "npm" }) => {
try {
await spawnPackageManagerScript(packageManager, ["@storybook/auto-config", "styling"]);
} catch (e) {
console.error(e);
process.exit(1);
}
};
var postinstall_default = automigrate;
export { postinstall_default as default };