diff --git a/code/lib/cli-storybook/src/link.ts b/code/lib/cli-storybook/src/link.ts index 55a89d1a380..078c78f9411 100644 --- a/code/lib/cli-storybook/src/link.ts +++ b/code/lib/cli-storybook/src/link.ts @@ -86,10 +86,6 @@ export const link = async ({ target, local, start }: LinkOptions) => { reproDir = join(reprosDir, reproName); } - const reproPackageJson = JSON.parse( - await readFile(join(reproDir, 'package.json'), { encoding: 'utf8' }) - ); - const version = spawnSync('yarn', ['--version'], { cwd: reproDir, stdio: 'pipe', @@ -109,6 +105,10 @@ export const link = async ({ target, local, start }: LinkOptions) => { logger.info(`Installing ${reproName}`); + const reproPackageJson = JSON.parse( + await readFile(join(reproDir, 'package.json'), { encoding: 'utf8' }) + ); + if (!reproPackageJson.devDependencies?.vite) { reproPackageJson.devDependencies = { ...reproPackageJson.devDependencies, diff --git a/scripts/tasks/sandbox.ts b/scripts/tasks/sandbox.ts index 06d9d8e0418..c9ae7fea847 100644 --- a/scripts/tasks/sandbox.ts +++ b/scripts/tasks/sandbox.ts @@ -1,3 +1,5 @@ +import path from 'node:path'; + import dirSize from 'fast-folder-size'; // eslint-disable-next-line depend/ban-dependencies import { pathExists, remove } from 'fs-extra'; @@ -49,7 +51,8 @@ export const sandbox: Task = { options.link = false; } - if (await this.ready(details, options)) { + + if (!(await this.ready(details, options))) { logger.info('🗑 Removing old sandbox dir'); await remove(details.sandboxDir); } @@ -151,6 +154,7 @@ export const sandbox: Task = { const packageManager = JsPackageManagerFactory.getPackageManager({}, details.sandboxDir); + await remove(path.join(details.sandboxDir, 'node_modules')); await packageManager.installDependencies(); logger.info(`✅ Storybook sandbox created at ${details.sandboxDir}`);