@nx/storybook
Version:
35 lines (34 loc) • 1.39 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.default = storybookExecutor;
const devkit_1 = require("@nx/devkit");
const utilities_1 = require("../../utils/utilities");
async function* storybookExecutor(options, context) {
const storybookMajor = (0, utilities_1.storybookMajorVersion)();
if (storybookMajor > 0 && storybookMajor <= 6) {
throw (0, utilities_1.pleaseUpgrade)();
}
else if (storybookMajor === 7) {
devkit_1.logger.warn(`Support for Storybook 7 is deprecated. Please upgrade to Storybook 8. See https://nx.dev/nx-api/storybook/generators/migrate-8 for more details.`);
}
(0, utilities_1.storybookConfigExistsCheck)(options.configDir, context.projectName);
const buildOptions = options;
const result = await runInstance(buildOptions);
yield {
success: true,
info: {
port: result?.['port'],
baseUrl: `${options.https ? 'https' : 'http'}://${options.host ?? 'localhost'}:${result?.['port']}`,
},
};
await new Promise(() => { });
}
async function runInstance(options) {
const storybookCore = await Promise.resolve().then(() => require('@storybook/core-server'));
const env = process.env.NODE_ENV ?? 'development';
process.env.NODE_ENV = env;
return storybookCore.build({
...options,
mode: 'dev',
});
}