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.

33 lines (32 loc) 1.53 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.migrate10Generator = migrate10Generator; const devkit_1 = require("@nx/devkit"); const output_1 = require("nx/src/utils/output"); const calling_storybook_cli_1 = require("./calling-storybook-cli"); const path_1 = require("path"); const fs_1 = require("fs"); async function migrate10Generator(tree, schema) { const packageJson = (0, devkit_1.readJson)(tree, 'package.json'); if (!(0, calling_storybook_cli_1.checkStorybookInstalled)(packageJson)) { output_1.output.error({ title: 'No Storybook packages installed', bodyLines: [ `🚨 Nx did not find any Storybook packages installed in your workspace.`, `So no migration is necessary.`, ], }); return; } (0, calling_storybook_cli_1.callUpgrade)(schema); const pathToAiInstructions = (0, path_1.join)(__dirname, 'files', 'ai-instructions-for-cjs-esm.md'); if (!(0, fs_1.existsSync)(pathToAiInstructions)) { return; } const contents = (0, fs_1.readFileSync)(pathToAiInstructions); tree.write('tools/ai-migrations/MIGRATE_STORYBOOK_10.md', contents); devkit_1.logger.log(`Storybook 10 requires Storybook Configs to use ESM. We created 'tools/ai-migrations/MIGRATE_STORYBOOK_10.md' with instructions for an AI Agent to convert CJS Storybook Configs to ESM in your workspace.`); await (0, devkit_1.formatFiles)(tree); } exports.default = migrate10Generator;