Skip to content

Commit c110fd3

Browse files
committed
Switch from Webpack to Vite for Storybook
This simplifies the setup and makes it more similar to the "real" extension setup since it also uses ESBuild (which is also used by Vite).
1 parent c553b1c commit c110fd3

5 files changed

Lines changed: 1198 additions & 2564 deletions

File tree

extensions/ql-vscode/.babelrc.json

Lines changed: 0 additions & 16 deletions
This file was deleted.

extensions/ql-vscode/.storybook/main.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import type { StorybookConfig } from "@storybook/react-webpack5";
1+
import type { StorybookConfig } from "@storybook/react-vite";
22

33
const config: StorybookConfig = {
44
stories: ["../src/**/*.mdx", "../src/**/*.stories.@(js|jsx|ts|tsx)"],
@@ -10,7 +10,7 @@ const config: StorybookConfig = {
1010
"./vscode-theme-addon/preset.ts",
1111
],
1212
framework: {
13-
name: "@storybook/react-webpack5",
13+
name: "@storybook/react-vite",
1414
options: {},
1515
},
1616
docs: {

extensions/ql-vscode/.storybook/vscode-theme-addon/withTheme.ts

Lines changed: 15 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
/// <reference types="vite/client" />
2+
13
import { useEffect } from "react";
24
import type {
35
PartialStoryFn as StoryFunction,
@@ -6,31 +8,20 @@ import type {
68

79
import { VSCodeTheme } from "./theme";
810

11+
import darkThemeStyle from "../../src/stories/vscode-theme-dark.css?url";
12+
import lightThemeStyle from "../../src/stories/vscode-theme-light.css?url";
13+
import lightHighContrastThemeStyle from "../../src/stories/vscode-theme-light-high-contrast.css?url";
14+
import darkHighContrastThemeStyle from "../../src/stories/vscode-theme-dark-high-contrast.css?url";
15+
import githubLightDefaultThemeStyle from "../../src/stories/vscode-theme-github-light-default.css?url";
16+
import githubDarkDefaultThemeStyle from "../../src/stories/vscode-theme-github-dark-default.css?url";
17+
918
const themeFiles: { [key in VSCodeTheme]: string } = {
10-
[VSCodeTheme.Dark]:
11-
// eslint-disable-next-line @typescript-eslint/no-var-requires,import/no-commonjs,import/no-webpack-loader-syntax
12-
require("!file-loader?modules!../../src/stories/vscode-theme-dark.css")
13-
.default,
14-
[VSCodeTheme.Light]:
15-
// eslint-disable-next-line @typescript-eslint/no-var-requires,import/no-commonjs,import/no-webpack-loader-syntax
16-
require("!file-loader?modules!../../src/stories/vscode-theme-light.css")
17-
.default,
18-
[VSCodeTheme.LightHighContrast]:
19-
// eslint-disable-next-line @typescript-eslint/no-var-requires,import/no-commonjs,import/no-webpack-loader-syntax
20-
require("!file-loader?modules!../../src/stories/vscode-theme-light-high-contrast.css")
21-
.default,
22-
[VSCodeTheme.DarkHighContrast]:
23-
// eslint-disable-next-line @typescript-eslint/no-var-requires,import/no-commonjs,import/no-webpack-loader-syntax
24-
require("!file-loader?modules!../../src/stories/vscode-theme-dark-high-contrast.css")
25-
.default,
26-
[VSCodeTheme.GitHubLightDefault]:
27-
// eslint-disable-next-line @typescript-eslint/no-var-requires,import/no-commonjs,import/no-webpack-loader-syntax
28-
require("!file-loader?modules!../../src/stories/vscode-theme-github-light-default.css")
29-
.default,
30-
[VSCodeTheme.GitHubDarkDefault]:
31-
// eslint-disable-next-line @typescript-eslint/no-var-requires,import/no-commonjs,import/no-webpack-loader-syntax
32-
require("!file-loader?modules!../../src/stories/vscode-theme-github-dark-default.css")
33-
.default,
19+
[VSCodeTheme.Dark]: darkThemeStyle,
20+
[VSCodeTheme.Light]: lightThemeStyle,
21+
[VSCodeTheme.LightHighContrast]: lightHighContrastThemeStyle,
22+
[VSCodeTheme.DarkHighContrast]: darkHighContrastThemeStyle,
23+
[VSCodeTheme.GitHubLightDefault]: githubLightDefaultThemeStyle,
24+
[VSCodeTheme.GitHubDarkDefault]: githubDarkDefaultThemeStyle,
3425
};
3526

3627
export const withTheme = (StoryFn: StoryFunction, context: StoryContext) => {

0 commit comments

Comments
 (0)