@nx/storybook
Version:
33 lines (32 loc) • 1.53 kB
JavaScript
;
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;