UNPKG

@nx/storybook

Version:

The Nx Plugin for Storybook contains executors and generators for allowing your workspace to use the powerful Storybook integration testing & documenting capabilities.

94 lines (93 loc) 4.2 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.servePostTargetTransformer = servePostTargetTransformer; const devkit_1 = require("@nx/devkit"); const plugin_migration_utils_1 = require("@nx/devkit/src/generators/plugin-migrations/plugin-migration-utils"); const utils_1 = require("./utils"); function servePostTargetTransformer(migrationLogs) { return (target, tree, projectDetails, inferredTargetConfiguration) => { let defaultConfigDir = (0, utils_1.getConfigFilePath)(tree, (0, devkit_1.joinPathFragments)(projectDetails.root, '.storybook')); if (target.options) { if (target.options.configDir) { defaultConfigDir = target.options.configDir; } handlePropertiesFromTargetOptions(tree, target.options, projectDetails.projectName, projectDetails.root, migrationLogs); } if (target.configurations) { for (const configurationName in target.configurations) { const configuration = target.configurations[configurationName]; if (configuration.configDir && configuration.configDir !== defaultConfigDir) { (0, utils_1.ensureViteConfigPathIsRelative)(tree, (0, utils_1.getConfigFilePath)(tree, configuration.configDir), projectDetails.projectName, projectDetails.root, '@nx/storybook:storybook', migrationLogs); } handlePropertiesFromTargetOptions(tree, configuration, projectDetails.projectName, projectDetails.root, migrationLogs); } if (Object.keys(target.configurations).length === 0) { if ('defaultConfiguration' in target) { delete target.defaultConfiguration; } delete target.configurations; } if ('defaultConfiguration' in target && !target.configurations[target.defaultConfiguration]) { delete target.defaultConfiguration; } } (0, utils_1.ensureViteConfigPathIsRelative)(tree, (0, utils_1.getConfigFilePath)(tree, defaultConfigDir), projectDetails.projectName, projectDetails.root, '@nx/storybook:storybook', migrationLogs); return target; }; } function handlePropertiesFromTargetOptions(tree, options, projectName, projectRoot, migrationLogs) { if ('configDir' in options) { options.configDir = (0, plugin_migration_utils_1.toProjectRelativePath)(options.configDir, projectRoot); } if (options.outputDir) { options.outputDir = (0, plugin_migration_utils_1.toProjectRelativePath)(options.outputDir, projectRoot); } if ('uiFramework' in options) { delete options.uiFramework; } if ('staticDir' in options) { migrationLogs.addLog({ project: projectName, executorName: '@nx/storybook:storybook', log: 'Could not migrate `staticDir`. Update your `main.ts` file to add `staticDirs`.', }); delete options.staticDir; } if ('open' in options) { if (!options.open) { options['args'] ??= []; options['args'].push('--no-open'); } delete options.open; } if ('no-open' in options) { if (options['no-open']) { options['args'] ??= []; options['args'].push('--no-open'); } delete options['no-open']; } if ('quiet' in options) { if (options['quiet']) { options['args'] ??= []; options['args'].push('--quiet'); } delete options.quiet; } if ('docsMode' in options) { options.docs = options.docsMode; delete options.docsMode; } const storybookPropMappings = (0, utils_1.getInstalledPackageVersionInfo)(tree, 'storybook')?.major === 8 ? utils_1.STORYBOOK_PROP_MAPPINGS.v8 : utils_1.STORYBOOK_PROP_MAPPINGS.v7; for (const [prevKey, newKey] of Object.entries(storybookPropMappings)) { if (prevKey in options) { let prevValue = options[prevKey]; delete options[prevKey]; options[newKey] = prevValue; } } }