Skip to content

Commit

Permalink
fix vue generators
Browse files Browse the repository at this point in the history
  • Loading branch information
yannbf committed Aug 23, 2023
1 parent 2fb57f0 commit 937473b
Show file tree
Hide file tree
Showing 4 changed files with 34 additions and 14 deletions.
5 changes: 3 additions & 2 deletions code/lib/cli/src/generators/VUE/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,10 @@ import { baseGenerator } from '../baseGenerator';
import type { Generator } from '../types';

const generator: Generator = async (packageManager, npmOptions, options) => {
const extraPackages = options.builder === CoreBuilder.Webpack5 ? ['vue-loader@^15.7.0'] : [];
await baseGenerator(packageManager, npmOptions, options, 'vue', {
extraPackages,
extraPackages: async ({ builder }) => {
return builder === CoreBuilder.Webpack5 ? ['vue-loader@^15.7.0'] : [];
},
});
};

Expand Down
10 changes: 5 additions & 5 deletions code/lib/cli/src/generators/VUE3/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,12 @@ import { baseGenerator } from '../baseGenerator';
import type { Generator } from '../types';

const generator: Generator = async (packageManager, npmOptions, options) => {
const extraPackages =
options.builder === CoreBuilder.Webpack5
? ['vue-loader@^17.0.0', '@vue/compiler-sfc@^3.2.0']
: [];
await baseGenerator(packageManager, npmOptions, options, 'vue3', {
extraPackages,
extraPackages: async ({ builder }) => {
return builder === CoreBuilder.Webpack5
? ['vue-loader@^17.0.0', '@vue/compiler-sfc@^3.2.0']
: [];
},
});
};

Expand Down
27 changes: 22 additions & 5 deletions code/lib/cli/src/generators/baseGenerator.ts
Original file line number Diff line number Diff line change
Expand Up @@ -226,19 +226,28 @@ export async function baseGenerator(
shouldApplyRequireWrapperOnPackageNames
);

const extraAddonsToInstall =
typeof extraAddonPackages === 'function'
? await extraAddonPackages({
builder: builder || builderInclude,
framework: framework || frameworkInclude,
})
: extraAddonPackages;

// added to main.js
const addons = [
'@storybook/addon-links',
'@storybook/addon-essentials',
...stripVersions(extraAddonPackages),
];
...stripVersions(extraAddonsToInstall),
].filter(Boolean);

// added to package.json
const addonPackages = [
'@storybook/addon-links',
'@storybook/addon-essentials',
'@storybook/blocks',
...extraAddonPackages,
];
...extraAddonsToInstall,
].filter(Boolean);

if (hasInteractiveStories(rendererId)) {
addons.push('@storybook/addon-interactions');
Expand Down Expand Up @@ -272,12 +281,20 @@ export async function baseGenerator(
);
}

const extraPackagesToInstall =
typeof extraPackages === 'function'
? await extraPackages({
builder: builder || builderInclude,
framework: framework || frameworkInclude,
})
: extraPackages;

const allPackages = [
'storybook',
getExternalFramework(rendererId) ? undefined : `@storybook/${rendererId}`,
...frameworkPackages,
...addonPackages,
...extraPackages,
...extraPackagesToInstall,
].filter(Boolean);

const packages = [...new Set(allPackages)].filter(
Expand Down
6 changes: 4 additions & 2 deletions code/lib/cli/src/generators/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,10 @@ export type GeneratorOptions = {
};

export interface FrameworkOptions {
extraPackages?: string[];
extraAddons?: string[];
extraPackages?:
| string[]
| ((details: { framework: string; builder: string }) => Promise<string[]>);
extraAddons?: string[] | ((details: { framework: string; builder: string }) => Promise<string[]>);
staticDir?: string;
addScripts?: boolean;
addMainFile?: boolean;
Expand Down

0 comments on commit 937473b

Please sign in to comment.