fix(storybook): check storybook is installed and not on v7 already (#16402)
This commit is contained in:
parent
4446bf749a
commit
2e979628b3
@ -3,8 +3,8 @@ import * as build from '@storybook/core-server';
|
|||||||
import { CLIOptions } from '@storybook/types'; // TODO(katerina): Remove when Storybook 7
|
import { CLIOptions } from '@storybook/types'; // TODO(katerina): Remove when Storybook 7
|
||||||
import 'dotenv/config';
|
import 'dotenv/config';
|
||||||
import {
|
import {
|
||||||
isStorybookV7,
|
|
||||||
storybookConfigExistsCheck,
|
storybookConfigExistsCheck,
|
||||||
|
storybookMajorVersion,
|
||||||
} from '../../utils/utilities';
|
} from '../../utils/utilities';
|
||||||
import { CommonNxStorybookConfig } from '../../utils/models';
|
import { CommonNxStorybookConfig } from '../../utils/models';
|
||||||
import {
|
import {
|
||||||
@ -18,7 +18,7 @@ export default async function buildStorybookExecutor(
|
|||||||
context: ExecutorContext
|
context: ExecutorContext
|
||||||
) {
|
) {
|
||||||
storybookConfigExistsCheck(options.configDir, context.projectName);
|
storybookConfigExistsCheck(options.configDir, context.projectName);
|
||||||
const storybook7 = isStorybookV7();
|
const storybook7 = storybookMajorVersion() === 7;
|
||||||
if (storybook7) {
|
if (storybook7) {
|
||||||
const buildOptions: CLIOptions = options;
|
const buildOptions: CLIOptions = options;
|
||||||
logger.info(`NX Storybook builder starting ...`);
|
logger.info(`NX Storybook builder starting ...`);
|
||||||
|
|||||||
@ -2,8 +2,8 @@ import { ExecutorContext } from '@nx/devkit';
|
|||||||
import * as build from '@storybook/core-server';
|
import * as build from '@storybook/core-server';
|
||||||
import 'dotenv/config';
|
import 'dotenv/config';
|
||||||
import {
|
import {
|
||||||
isStorybookV7,
|
|
||||||
storybookConfigExistsCheck,
|
storybookConfigExistsCheck,
|
||||||
|
storybookMajorVersion,
|
||||||
} from '../../utils/utilities';
|
} from '../../utils/utilities';
|
||||||
import {
|
import {
|
||||||
getStorybookFrameworkPath,
|
getStorybookFrameworkPath,
|
||||||
@ -20,7 +20,7 @@ export default async function* storybookExecutor(
|
|||||||
success: boolean;
|
success: boolean;
|
||||||
info?: { port: number; baseUrl?: string };
|
info?: { port: number; baseUrl?: string };
|
||||||
}> {
|
}> {
|
||||||
const storybook7 = isStorybookV7();
|
const storybook7 = storybookMajorVersion() === 7;
|
||||||
storybookConfigExistsCheck(options.configDir, context.projectName);
|
storybookConfigExistsCheck(options.configDir, context.projectName);
|
||||||
if (storybook7) {
|
if (storybook7) {
|
||||||
const buildOptions: CLIOptions = options;
|
const buildOptions: CLIOptions = options;
|
||||||
|
|||||||
@ -1,8 +1,14 @@
|
|||||||
import { Tree } from '@nx/devkit';
|
import { Tree } from '@nx/devkit';
|
||||||
import { output } from 'nx/src/utils/output';
|
import { output } from 'nx/src/utils/output';
|
||||||
import migrate7Generator from '../../generators/migrate-7/migrate-7';
|
import migrate7Generator from '../../generators/migrate-7/migrate-7';
|
||||||
|
import { storybookMajorVersion } from '../../utils/utilities';
|
||||||
|
|
||||||
export default async function changeStorybookTargets(tree: Tree) {
|
export default async function changeStorybookTargets(tree: Tree) {
|
||||||
|
const storybookVersion = storybookMajorVersion();
|
||||||
|
if (!storybookVersion || storybookVersion === 7) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
output.log({
|
output.log({
|
||||||
title: 'Migrating Storybook to v7',
|
title: 'Migrating Storybook to v7',
|
||||||
bodyLines: [
|
bodyLines: [
|
||||||
|
|||||||
@ -4,7 +4,7 @@ import { storybookVersion } from './versions';
|
|||||||
import { statSync } from 'fs';
|
import { statSync } from 'fs';
|
||||||
import { findNodes } from '@nx/js';
|
import { findNodes } from '@nx/js';
|
||||||
import ts = require('typescript');
|
import ts = require('typescript');
|
||||||
import { gte, lt, major } from 'semver';
|
import { major } from 'semver';
|
||||||
import { join } from 'path';
|
import { join } from 'path';
|
||||||
|
|
||||||
export const Constants = {
|
export const Constants = {
|
||||||
@ -51,15 +51,7 @@ type Framework = {
|
|||||||
uiFramework: Constants['uiFrameworks'][keyof Constants['uiFrameworks']];
|
uiFramework: Constants['uiFrameworks'][keyof Constants['uiFrameworks']];
|
||||||
};
|
};
|
||||||
|
|
||||||
export function isStorybookV7() {
|
export function storybookMajorVersion(): number | undefined {
|
||||||
const storybookPackageVersion = require(join(
|
|
||||||
'@storybook/core-server',
|
|
||||||
'package.json'
|
|
||||||
)).version;
|
|
||||||
return gte(storybookPackageVersion, '7.0.0-alpha.0');
|
|
||||||
}
|
|
||||||
|
|
||||||
export function storybookMajorVersion() {
|
|
||||||
try {
|
try {
|
||||||
const storybookPackageVersion = require(join(
|
const storybookPackageVersion = require(join(
|
||||||
'@storybook/core-server',
|
'@storybook/core-server',
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user