diff --git a/packages/cli/create-o2s-app/src/scaffold/index.ts b/packages/cli/create-o2s-app/src/scaffold/index.ts index 4932e40a2..47741ed31 100644 --- a/packages/cli/create-o2s-app/src/scaffold/index.ts +++ b/packages/cli/create-o2s-app/src/scaffold/index.ts @@ -10,6 +10,7 @@ import { transformIntegrationConfigs } from './transform-integration-configs'; import { transformRootPackageJson } from './transform-package-json'; import { transformPageModel } from './transform-page-model'; import { transformRenderBlocks } from './transform-render-blocks'; +import { transformStorybookConfig } from './transform-storybook-config'; import * as fs from 'fs-extra'; import * as path from 'path'; @@ -74,6 +75,7 @@ export const scaffold = async ( transformRenderBlocks(targetDir, selectedBlocks), transformPageModel(targetDir, selectedBlocks), transformAppsPackageJson(targetDir, selectedBlocks, selectedIntegrations), + transformStorybookConfig(targetDir), ]); // Step 5: Clean up root package.json (remove workspace entries for deleted dirs) diff --git a/packages/cli/create-o2s-app/src/scaffold/transform-storybook-config.ts b/packages/cli/create-o2s-app/src/scaffold/transform-storybook-config.ts new file mode 100644 index 000000000..e2af4df98 --- /dev/null +++ b/packages/cli/create-o2s-app/src/scaffold/transform-storybook-config.ts @@ -0,0 +1,24 @@ +import * as fs from 'fs-extra'; +import * as path from 'path'; + +const FILE_PATH = '.storybook/main.ts'; + +// Regex matches lines containing '@o2s/framework' in optimizeDeps.include or resolve.alias +const FRAMEWORK_REFERENCE_REGEX = /['"]@o2s\/framework\//; + +export const transformStorybookConfig = async (projectDir: string): Promise => { + const filePath = path.join(projectDir, FILE_PATH); + + if (!(await fs.pathExists(filePath))) return; + + const content = await fs.readFile(filePath, 'utf-8'); + const lines = content.split('\n'); + + const filteredLines = lines.filter((line) => { + return !FRAMEWORK_REFERENCE_REGEX.test(line); + }); + + if (filteredLines.length === lines.length) return; + + await fs.writeFile(filePath, filteredLines.join('\n'), 'utf-8'); +};