diff --git a/code/addons/interactions/src/preview.ts b/code/addons/interactions/src/preview.ts
index 3c653ff51710..972126421393 100644
--- a/code/addons/interactions/src/preview.ts
+++ b/code/addons/interactions/src/preview.ts
@@ -1,6 +1,7 @@
///
import { addons } from '@storybook/preview-api';
+import { global } from '@storybook/global';
import { FORCE_REMOUNT, STORY_RENDER_PHASE_CHANGED } from '@storybook/core-events';
import type {
Renderer,
diff --git a/code/lib/builder-vite/input/iframe.html b/code/lib/builder-vite/input/iframe.html
index 465dfdb5198f..1c24f67f98a8 100644
--- a/code/lib/builder-vite/input/iframe.html
+++ b/code/lib/builder-vite/input/iframe.html
@@ -26,6 +26,7 @@
// We do this so that "module && module.hot" etc. in Storybook source code
// doesn't fail (it will simply be disabled)
window.module = undefined;
+ window.global = window;
diff --git a/code/lib/cli/src/generators/baseGenerator.ts b/code/lib/cli/src/generators/baseGenerator.ts
index a6c7cb0d5558..b8dc544f6277 100644
--- a/code/lib/cli/src/generators/baseGenerator.ts
+++ b/code/lib/cli/src/generators/baseGenerator.ts
@@ -258,28 +258,6 @@ export async function baseGenerator(
await configurePreview({ frameworkPreviewParts, storybookConfigFolder, language, rendererId });
- // FIXME: temporary workaround for https://github.com/storybookjs/storybook/issues/17516
- // Vite workaround regex for internal and external frameworks as f.e:
- // Internal: @storybook/xxxxx-vite
- // External: storybook-xxxxx-vite
- if (
- frameworkPackages.find(
- (pkg) =>
- pkg.match(/^(@storybook\/|storybook).*-vite$/) ||
- pkg === '@storybook/sveltekit' ||
- pkg === ''
- )
- ) {
- const previewHead = dedent`
-
- `;
- await fse.writeFile(`${storybookConfigFolder}/preview-head.html`, previewHead, {
- encoding: 'utf8',
- });
- }
-
const babelDependencies =
addBabel && builder !== CoreBuilder.Vite
? await getBabelDependencies(packageManager, packageJson)