Skip to content

Commit a1c1c51

Browse files
authored
fix: prefer use stroybook/internal/node-logger as logger (#4235)
1 parent 90c6a40 commit a1c1c51

File tree

2 files changed

+22
-1
lines changed

2 files changed

+22
-1
lines changed

.changeset/dry-colts-cough.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'@module-federation/storybook-addon': patch
3+
---
4+
5+
prefer use `stroybook/internal/node-logger` as logger

packages/storybook-addon/src/lib/storybook-addon.ts

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,24 @@ import {
77
type Configuration,
88
type WebpackPluginInstance,
99
} from 'webpack';
10-
import { logger } from '@storybook/node-logger';
1110
import { normalizeStories } from '@storybook/core/common';
1211
import withModuleFederation from '../utils/with-module-federation.js';
1312
import { correctImportPath } from '../utils/correctImportPath.js';
1413

14+
// TODO: Only reserve `storybook/internal/node-logger` in next major release.
15+
// Dynamic import for logger to support multiple Storybook versions
16+
async function getLogger() {
17+
try {
18+
// Try high version first (since Storybook 9)
19+
const mod = await import('storybook/internal/node-logger');
20+
return mod.logger;
21+
} catch {
22+
// Fallback to low version
23+
const mod = await import('@storybook/node-logger');
24+
return mod.logger;
25+
}
26+
}
27+
1528
import type { moduleFederationPlugin } from '@module-federation/sdk';
1629
import type { ModuleFederationConfig } from '@nx/webpack';
1730

@@ -38,6 +51,9 @@ export const webpack = async (
3851
const { moduleFederationConfig, presets, nxModuleFederationConfig } = options;
3952
const context = webpackContext || process.cwd();
4053

54+
// Get logger instance (supports multiple Storybook versions)
55+
const logger = await getLogger();
56+
4157
// Detect webpack version. More about storybook webpack config https://storybook.js.org/docs/react/addons/writing-presets#webpack
4258
const webpackVersion = await presets.apply('webpackVersion');
4359
logger.info(`=> [MF] Webpack ${webpackVersion} version detected`);

0 commit comments

Comments
 (0)