Skip to content

Commit

Permalink
Merge branch 'next' into tech/improve-version-range-webpack
Browse files Browse the repository at this point in the history
  • Loading branch information
ndelangen committed Mar 31, 2022
2 parents 5ba27cc + 1bad325 commit b5edf10
Show file tree
Hide file tree
Showing 4 changed files with 23 additions and 6 deletions.
2 changes: 1 addition & 1 deletion RELEASES.md
Original file line number Diff line number Diff line change
Expand Up @@ -114,5 +114,5 @@ in a patch release.
#### How does my PR get merged?

- For PATCH PR's, any maintainer can review, test, approve, and merge it.
- For MINOR/MAJOR PR's, once a maintainer reviews, tests, and approves it, s/he should clear it with the other maintainers before merging it into the release branch.
- For MINOR/MAJOR PR's, once a maintainer reviews, tests, and approves it, they should clear it with the other maintainers before merging it into the release branch.
- Once a release date has been set and we cut off merging, we'll create a temporary branch to hold that release so that it doesn't block merging to `next`.
19 changes: 18 additions & 1 deletion lib/cli/src/generators/baseGenerator.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import fse from 'fs-extra';
import dedent from 'ts-dedent';
import { getStorybookBabelDependencies } from '@storybook/core-common';
import { NpmOptions } from '../NpmOptions';
import { SupportedLanguage, SupportedFrameworks, Builder, CoreBuilder } from '../project_types';
Expand Down Expand Up @@ -51,6 +52,8 @@ const builderDependencies = (builder: Builder) => {
return [];
case CoreBuilder.Webpack5:
return ['@storybook/builder-webpack5', '@storybook/manager-webpack5'];
case CoreBuilder.Vite:
return ['@storybook/builder-vite'];
default:
return [builder];
}
Expand Down Expand Up @@ -121,11 +124,15 @@ export async function baseGenerator(

const versionedPackages = await packageManager.getVersionedPackages(...packages);

const coreBuilders = [CoreBuilder.Webpack4, CoreBuilder.Webpack5, CoreBuilder.Vite] as string[];
const expandedBuilder = coreBuilders.includes(builder)
? `@storybook/builder-${builder}`
: builder;
const mainOptions =
builder !== CoreBuilder.Webpack4
? {
core: {
builder,
builder: expandedBuilder,
},
...extraMain,
}
Expand All @@ -141,6 +148,16 @@ export async function baseGenerator(
copyComponents(framework, language);
}

// FIXME: temporary workaround for https://github.com/storybookjs/storybook/issues/17516
if (expandedBuilder === '@storybook/builder-vite') {
const previewHead = dedent`
<script>
window.global = window;
</script>
`;
await fse.writeFile(`.storybook/preview-head.html`, previewHead, { encoding: 'utf8' });
}

const babelDependencies = addBabel ? await getBabelDependencies(packageManager, packageJson) : [];
if (isNewFolder) {
babelDependencies.push(...getStorybookBabelDependencies());
Expand Down
1 change: 1 addition & 0 deletions lib/cli/src/project_types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,7 @@ export const SUPPORTED_FRAMEWORKS: SupportedFrameworks[] = [
export enum CoreBuilder {
Webpack4 = 'webpack4',
Webpack5 = 'webpack5',
Vite = 'vite',
}

// The `& {}` bit allows for auto-complete, see: https://github.com/microsoft/TypeScript/issues/29729
Expand Down
7 changes: 3 additions & 4 deletions lib/core-server/src/utils/get-manager-builder.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,9 @@ export async function getManagerBuilder(configDir: Options['configDir']) {
// - Everything else builds with `manager-webpack4`
//
// Unlike preview builders, manager building is not pluggable!
const builderPackage =
builderName === 'webpack5'
? require.resolve('@storybook/manager-webpack5', { paths: [main] })
: '@storybook/manager-webpack4';
const builderPackage = ['webpack5', '@storybook/builder-webpack5'].includes(builderName)
? require.resolve('@storybook/manager-webpack5', { paths: [main] })
: '@storybook/manager-webpack4';

const managerBuilder = await import(builderPackage);
return managerBuilder;
Expand Down

0 comments on commit b5edf10

Please sign in to comment.