@storybook/addon-vitest 0.0.0-pr-32795-sha-f0ac445c → 0.0.0-pr-32717-sha-b8c5e103

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,25 +1,31 @@
1
1
  import {
2
2
  PANEL_ID
3
- } from "../_browser-chunks/chunk-ULSHVN74.js";
3
+ } from "../_browser-chunks/chunk-RPDOPHZX.js";
4
+ import {
5
+ __name
6
+ } from "../_browser-chunks/chunk-JK72E6FR.js";
4
7
 
5
8
  // src/vitest-plugin/setup-file.ts
6
9
  import { afterEach, beforeAll, vi } from "vitest";
7
10
  import { Channel } from "storybook/internal/channels";
8
11
  var transport = { setHandler: vi.fn(), send: vi.fn() };
9
12
  globalThis.__STORYBOOK_ADDONS_CHANNEL__ ??= new Channel({ transport });
10
- var modifyErrorMessage = ({ task }) => {
11
- let meta = task.meta;
13
+ var modifyErrorMessage = /* @__PURE__ */ __name(({ task }) => {
14
+ const meta = task.meta;
12
15
  if (task.type === "test" && task.result?.state === "fail" && meta.storyId && task.result.errors?.[0]) {
13
- let currentError = task.result.errors[0], storyUrl = `${import.meta.env.__STORYBOOK_URL__}/?path=/story/${meta.storyId}&addonPanel=${PANEL_ID}`;
16
+ const currentError = task.result.errors[0];
17
+ const storybookUrl = import.meta.env.__STORYBOOK_URL__;
18
+ const storyUrl = `${storybookUrl}/?path=/story/${meta.storyId}&addonPanel=${PANEL_ID}`;
14
19
  currentError.message = `
15
20
  \x1B[34mClick to debug the error directly in Storybook: ${storyUrl}\x1B[39m
16
21
 
17
22
  ${currentError.message}`;
18
23
  }
19
- };
24
+ }, "modifyErrorMessage");
20
25
  beforeAll(() => {
21
- if (globalThis.globalProjectAnnotations)
26
+ if (globalThis.globalProjectAnnotations) {
22
27
  return globalThis.globalProjectAnnotations.beforeAll();
28
+ }
23
29
  });
24
30
  afterEach(modifyErrorMessage);
25
31
  export {
@@ -1,3 +1,7 @@
1
+ import {
2
+ __name
3
+ } from "../_browser-chunks/chunk-JK72E6FR.js";
4
+
1
5
  // src/vitest-plugin/test-utils.ts
2
6
  import { getStoryChildren, isStory } from "storybook/internal/csf";
3
7
  import { server } from "@vitest/browser/context";
@@ -9,59 +13,95 @@ import { MINIMAL_VIEWPORTS } from "storybook/viewport";
9
13
  var DEFAULT_VIEWPORT_DIMENSIONS = {
10
14
  width: 1200,
11
15
  height: 900
12
- }, validPixelOrNumber = /^\d+(px)?$/, percentagePattern = /^(\d+(\.\d+)?%)$/, vwPattern = /^(\d+(\.\d+)?vw)$/, vhPattern = /^(\d+(\.\d+)?vh)$/, emRemPattern = /^(\d+)(em|rem)$/, parseDimension = (value, dimension) => {
13
- if (validPixelOrNumber.test(value))
16
+ };
17
+ var validPixelOrNumber = /^\d+(px)?$/;
18
+ var percentagePattern = /^(\d+(\.\d+)?%)$/;
19
+ var vwPattern = /^(\d+(\.\d+)?vw)$/;
20
+ var vhPattern = /^(\d+(\.\d+)?vh)$/;
21
+ var emRemPattern = /^(\d+)(em|rem)$/;
22
+ var parseDimension = /* @__PURE__ */ __name((value, dimension) => {
23
+ if (validPixelOrNumber.test(value)) {
14
24
  return Number.parseInt(value, 10);
15
- if (percentagePattern.test(value)) {
16
- let percentageValue = parseFloat(value) / 100;
25
+ } else if (percentagePattern.test(value)) {
26
+ const percentageValue = parseFloat(value) / 100;
17
27
  return Math.round(DEFAULT_VIEWPORT_DIMENSIONS[dimension] * percentageValue);
18
28
  } else if (vwPattern.test(value)) {
19
- let vwValue = parseFloat(value) / 100;
29
+ const vwValue = parseFloat(value) / 100;
20
30
  return Math.round(DEFAULT_VIEWPORT_DIMENSIONS.width * vwValue);
21
31
  } else if (vhPattern.test(value)) {
22
- let vhValue = parseFloat(value) / 100;
32
+ const vhValue = parseFloat(value) / 100;
23
33
  return Math.round(DEFAULT_VIEWPORT_DIMENSIONS.height * vhValue);
34
+ } else if (emRemPattern.test(value)) {
35
+ const emRemValue = Number.parseInt(value, 10);
36
+ return emRemValue * 16;
24
37
  } else {
25
- if (emRemPattern.test(value))
26
- return Number.parseInt(value, 10) * 16;
27
38
  throw new UnsupportedViewportDimensionError({ dimension, value });
28
39
  }
29
- }, setViewport = async (parameters = {}, globals = {}) => {
30
- let defaultViewport, viewportsParam = parameters.viewport ?? {}, viewportsGlobal = globals.viewport ?? {}, isDisabled = viewportsParam.disable || viewportsParam.disabled;
31
- viewportsGlobal.value && !isDisabled ? defaultViewport = viewportsGlobal.value : isDisabled || (defaultViewport = viewportsParam.defaultViewport);
32
- let { page } = await import("@vitest/browser/context").catch(() => ({
40
+ }, "parseDimension");
41
+ var setViewport = /* @__PURE__ */ __name(async (parameters = {}, globals = {}) => {
42
+ let defaultViewport;
43
+ const viewportsParam = parameters.viewport ?? {};
44
+ const viewportsGlobal = globals.viewport ?? {};
45
+ const isDisabled = viewportsParam.disable || viewportsParam.disabled;
46
+ if (viewportsGlobal.value && !isDisabled) {
47
+ defaultViewport = viewportsGlobal.value;
48
+ } else if (!isDisabled) {
49
+ defaultViewport = viewportsParam.defaultViewport;
50
+ }
51
+ const { page } = await import("@vitest/browser/context").catch(() => ({
33
52
  page: null
34
53
  }));
35
- if (!page || !globalThis.__vitest_browser__)
54
+ if (!page || !globalThis.__vitest_browser__) {
36
55
  return;
37
- let options = {
56
+ }
57
+ const options = {
38
58
  ...MINIMAL_VIEWPORTS,
39
59
  ...viewportsParam.viewports,
40
60
  ...viewportsParam.options
41
- }, viewportWidth = DEFAULT_VIEWPORT_DIMENSIONS.width, viewportHeight = DEFAULT_VIEWPORT_DIMENSIONS.height;
61
+ };
62
+ let viewportWidth = DEFAULT_VIEWPORT_DIMENSIONS.width;
63
+ let viewportHeight = DEFAULT_VIEWPORT_DIMENSIONS.height;
42
64
  if (defaultViewport && defaultViewport in options) {
43
- let { styles } = options[defaultViewport];
65
+ const { styles } = options[defaultViewport];
44
66
  if (styles?.width && styles?.height) {
45
- let { width, height } = styles;
46
- viewportWidth = parseDimension(width, "width"), viewportHeight = parseDimension(height, "height");
67
+ const { width, height } = styles;
68
+ viewportWidth = parseDimension(width, "width");
69
+ viewportHeight = parseDimension(height, "height");
47
70
  }
48
71
  }
49
72
  await page.viewport(viewportWidth, viewportHeight);
50
- };
73
+ }, "setViewport");
51
74
 
52
75
  // src/vitest-plugin/test-utils.ts
53
- var { getInitialGlobals } = server.commands, convertToFilePath = (url) => url.replace(/^file:\/\//, "").replace(/^\/+([a-zA-Z]:)/, "$1").replace(/%20/g, " "), testStory = (exportName, story, meta, skipTags, storyId, testName) => async (context) => {
54
- let annotations = getCsfFactoryAnnotations(story, meta), test = isStory(story) && testName ? getStoryChildren(story).find((child) => child.input.name === testName) : void 0, storyAnnotations = test ? test.input : annotations.story, composedStory = composeStory(
55
- storyAnnotations,
56
- annotations.meta,
57
- { initialGlobals: await getInitialGlobals?.() ?? {} },
58
- annotations.preview ?? globalThis.globalProjectAnnotations,
59
- exportName
60
- );
61
- (composedStory === void 0 || skipTags?.some((tag) => composedStory.tags.includes(tag))) && context.skip(), context.story = composedStory;
62
- let _task = context.task;
63
- _task.meta.storyId = storyId, await setViewport(composedStory.parameters, composedStory.globals), await composedStory.run(void 0), _task.meta.reports = composedStory.reporting.reports;
64
- };
76
+ var { getInitialGlobals } = server.commands;
77
+ var convertToFilePath = /* @__PURE__ */ __name((url) => {
78
+ const path = url.replace(/^file:\/\//, "");
79
+ const normalizedPath = path.replace(/^\/+([a-zA-Z]:)/, "$1");
80
+ return normalizedPath.replace(/%20/g, " ");
81
+ }, "convertToFilePath");
82
+ var testStory = /* @__PURE__ */ __name((exportName, story, meta, skipTags, storyId, testName) => {
83
+ return async (context) => {
84
+ const annotations = getCsfFactoryAnnotations(story, meta);
85
+ const test = isStory(story) && testName ? getStoryChildren(story).find((child) => child.input.name === testName) : void 0;
86
+ const storyAnnotations = test ? test.input : annotations.story;
87
+ const composedStory = composeStory(
88
+ storyAnnotations,
89
+ annotations.meta,
90
+ { initialGlobals: await getInitialGlobals?.() ?? {} },
91
+ annotations.preview ?? globalThis.globalProjectAnnotations,
92
+ exportName
93
+ );
94
+ if (composedStory === void 0 || skipTags?.some((tag) => composedStory.tags.includes(tag))) {
95
+ context.skip();
96
+ }
97
+ context.story = composedStory;
98
+ const _task = context.task;
99
+ _task.meta.storyId = storyId;
100
+ await setViewport(composedStory.parameters, composedStory.globals);
101
+ await composedStory.run(void 0);
102
+ _task.meta.reports = composedStory.reporting.reports;
103
+ };
104
+ }, "testStory");
65
105
  export {
66
106
  convertToFilePath,
67
107
  testStory
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@storybook/addon-vitest",
3
- "version": "0.0.0-pr-32795-sha-f0ac445c",
3
+ "version": "0.0.0-pr-32717-sha-b8c5e103",
4
4
  "description": "Storybook Vitest addon: Blazing fast component testing using stories",
5
5
  "keywords": [
6
6
  "storybook",
@@ -73,9 +73,7 @@
73
73
  },
74
74
  "dependencies": {
75
75
  "@storybook/global": "^5.0.0",
76
- "@storybook/icons": "^2.0.0",
77
- "prompts": "^2.4.0",
78
- "ts-dedent": "^2.2.0"
76
+ "@storybook/icons": "^1.6.0"
79
77
  },
80
78
  "devDependencies": {
81
79
  "@types/istanbul-lib-report": "^3.0.3",
@@ -84,10 +82,8 @@
84
82
  "@types/semver": "^7",
85
83
  "@vitest/browser-playwright": "^4.0.1",
86
84
  "@vitest/runner": "^4.0.1",
87
- "boxen": "^8.0.1",
88
85
  "empathic": "^2.0.0",
89
86
  "es-toolkit": "^1.36.0",
90
- "execa": "^8.0.1",
91
87
  "istanbul-lib-report": "^3.0.1",
92
88
  "micromatch": "^4.0.8",
93
89
  "pathe": "^1.1.2",
@@ -107,7 +103,7 @@
107
103
  "@vitest/browser": "^3.0.0 || ^4.0.0",
108
104
  "@vitest/browser-playwright": "^4.0.0",
109
105
  "@vitest/runner": "^3.0.0 || ^4.0.0",
110
- "storybook": "^0.0.0-pr-32795-sha-f0ac445c",
106
+ "storybook": "^0.0.0-pr-32717-sha-b8c5e103",
111
107
  "vitest": "^3.0.0 || ^4.0.0"
112
108
  },
113
109
  "peerDependenciesMeta": {
@@ -1,60 +0,0 @@
1
- // ../../core/src/component-testing/constants.ts
2
- var ADDON_ID = "storybook/interactions", PANEL_ID = `${ADDON_ID}/panel`, DOCUMENTATION_LINK = "writing-tests/integrations/vitest-addon", DOCUMENTATION_DISCREPANCY_LINK = `${DOCUMENTATION_LINK}#what-happens-when-there-are-different-test-results-in-multiple-environments`;
3
-
4
- // ../a11y/src/constants.ts
5
- var ADDON_ID2 = "storybook/a11y", PANEL_ID2 = `${ADDON_ID2}/panel`;
6
- var UI_STATE_ID = `${ADDON_ID2}/ui`, RESULT = `${ADDON_ID2}/result`, REQUEST = `${ADDON_ID2}/request`, RUNNING = `${ADDON_ID2}/running`, ERROR = `${ADDON_ID2}/error`, MANUAL = `${ADDON_ID2}/manual`, SELECT = `${ADDON_ID2}/select`, DOCUMENTATION_LINK2 = "writing-tests/accessibility-testing", DOCUMENTATION_DISCREPANCY_LINK2 = `${DOCUMENTATION_LINK2}#why-are-my-tests-failing-in-different-environments`;
7
-
8
- // src/constants.ts
9
- var ADDON_ID3 = "storybook/test", TEST_PROVIDER_ID = `${ADDON_ID3}/test-provider`;
10
- var DOCUMENTATION_LINK3 = "writing-tests/integrations/vitest-addon", DOCUMENTATION_FATAL_ERROR_LINK = `${DOCUMENTATION_LINK3}#what-happens-if-vitest-itself-has-an-error`;
11
- var storeOptions = {
12
- id: ADDON_ID3,
13
- initialState: {
14
- config: {
15
- coverage: !1,
16
- a11y: !1
17
- },
18
- watching: !1,
19
- cancelling: !1,
20
- fatalError: void 0,
21
- indexUrl: void 0,
22
- previewAnnotations: [],
23
- currentRun: {
24
- triggeredBy: void 0,
25
- config: {
26
- coverage: !1,
27
- a11y: !1
28
- },
29
- componentTestCount: {
30
- success: 0,
31
- error: 0
32
- },
33
- a11yCount: {
34
- success: 0,
35
- warning: 0,
36
- error: 0
37
- },
38
- storyIds: void 0,
39
- totalTestCount: void 0,
40
- startedAt: void 0,
41
- finishedAt: void 0,
42
- unhandledErrors: [],
43
- coverageSummary: void 0
44
- }
45
- }
46
- }, FULL_RUN_TRIGGERS = ["global", "run-all"], STORE_CHANNEL_EVENT_NAME = `UNIVERSAL_STORE:${storeOptions.id}`;
47
- var STATUS_TYPE_ID_COMPONENT_TEST = "storybook/component-test", STATUS_TYPE_ID_A11Y = "storybook/a11y";
48
-
49
- export {
50
- PANEL_ID,
51
- ADDON_ID2 as ADDON_ID,
52
- PANEL_ID2,
53
- ADDON_ID3 as ADDON_ID2,
54
- TEST_PROVIDER_ID,
55
- DOCUMENTATION_FATAL_ERROR_LINK,
56
- storeOptions,
57
- FULL_RUN_TRIGGERS,
58
- STATUS_TYPE_ID_COMPONENT_TEST,
59
- STATUS_TYPE_ID_A11Y
60
- };