@storybook/addon-vitest 10.1.0-alpha.9 → 10.1.0-beta.1

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,31 +1,25 @@
1
1
  import {
2
2
  PANEL_ID
3
- } from "../_browser-chunks/chunk-CAYLRBRX.js";
4
- import {
5
- __name
6
- } from "../_browser-chunks/chunk-JK72E6FR.js";
3
+ } from "../_browser-chunks/chunk-TJXI7EIW.js";
7
4
 
8
5
  // src/vitest-plugin/setup-file.ts
9
6
  import { afterEach, beforeAll, vi } from "vitest";
10
7
  import { Channel } from "storybook/internal/channels";
11
8
  var transport = { setHandler: vi.fn(), send: vi.fn() };
12
9
  globalThis.__STORYBOOK_ADDONS_CHANNEL__ ??= new Channel({ transport });
13
- var modifyErrorMessage = /* @__PURE__ */ __name(({ task }) => {
14
- const meta = task.meta;
10
+ var modifyErrorMessage = ({ task }) => {
11
+ let meta = task.meta;
15
12
  if (task.type === "test" && task.result?.state === "fail" && meta.storyId && task.result.errors?.[0]) {
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}`;
13
+ let currentError = task.result.errors[0], storyUrl = `${import.meta.env.__STORYBOOK_URL__}/?path=/story/${meta.storyId}&addonPanel=${PANEL_ID}`;
19
14
  currentError.message = `
20
15
  \x1B[34mClick to debug the error directly in Storybook: ${storyUrl}\x1B[39m
21
16
 
22
17
  ${currentError.message}`;
23
18
  }
24
- }, "modifyErrorMessage");
19
+ };
25
20
  beforeAll(() => {
26
- if (globalThis.globalProjectAnnotations) {
21
+ if (globalThis.globalProjectAnnotations)
27
22
  return globalThis.globalProjectAnnotations.beforeAll();
28
- }
29
23
  });
30
24
  afterEach(modifyErrorMessage);
31
25
  export {
@@ -1,7 +1,3 @@
1
- import {
2
- __name
3
- } from "../_browser-chunks/chunk-JK72E6FR.js";
4
-
5
1
  // src/vitest-plugin/test-utils.ts
6
2
  import { getStoryChildren, isStory } from "storybook/internal/csf";
7
3
  import { server } from "@vitest/browser/context";
@@ -13,95 +9,59 @@ import { MINIMAL_VIEWPORTS } from "storybook/viewport";
13
9
  var DEFAULT_VIEWPORT_DIMENSIONS = {
14
10
  width: 1200,
15
11
  height: 900
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)) {
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))
24
14
  return Number.parseInt(value, 10);
25
- } else if (percentagePattern.test(value)) {
26
- const percentageValue = parseFloat(value) / 100;
15
+ if (percentagePattern.test(value)) {
16
+ let percentageValue = parseFloat(value) / 100;
27
17
  return Math.round(DEFAULT_VIEWPORT_DIMENSIONS[dimension] * percentageValue);
28
18
  } else if (vwPattern.test(value)) {
29
- const vwValue = parseFloat(value) / 100;
19
+ let vwValue = parseFloat(value) / 100;
30
20
  return Math.round(DEFAULT_VIEWPORT_DIMENSIONS.width * vwValue);
31
21
  } else if (vhPattern.test(value)) {
32
- const vhValue = parseFloat(value) / 100;
22
+ let vhValue = parseFloat(value) / 100;
33
23
  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;
37
24
  } else {
25
+ if (emRemPattern.test(value))
26
+ return Number.parseInt(value, 10) * 16;
38
27
  throw new UnsupportedViewportDimensionError({ dimension, value });
39
28
  }
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(() => ({
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(() => ({
52
33
  page: null
53
34
  }));
54
- if (!page || !globalThis.__vitest_browser__) {
35
+ if (!page || !globalThis.__vitest_browser__)
55
36
  return;
56
- }
57
- const options = {
37
+ let options = {
58
38
  ...MINIMAL_VIEWPORTS,
59
39
  ...viewportsParam.viewports,
60
40
  ...viewportsParam.options
61
- };
62
- let viewportWidth = DEFAULT_VIEWPORT_DIMENSIONS.width;
63
- let viewportHeight = DEFAULT_VIEWPORT_DIMENSIONS.height;
41
+ }, viewportWidth = DEFAULT_VIEWPORT_DIMENSIONS.width, viewportHeight = DEFAULT_VIEWPORT_DIMENSIONS.height;
64
42
  if (defaultViewport && defaultViewport in options) {
65
- const { styles } = options[defaultViewport];
43
+ let { styles } = options[defaultViewport];
66
44
  if (styles?.width && styles?.height) {
67
- const { width, height } = styles;
68
- viewportWidth = parseDimension(width, "width");
69
- viewportHeight = parseDimension(height, "height");
45
+ let { width, height } = styles;
46
+ viewportWidth = parseDimension(width, "width"), viewportHeight = parseDimension(height, "height");
70
47
  }
71
48
  }
72
49
  await page.viewport(viewportWidth, viewportHeight);
73
- }, "setViewport");
50
+ };
74
51
 
75
52
  // src/vitest-plugin/test-utils.ts
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");
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
+ };
105
65
  export {
106
66
  convertToFilePath,
107
67
  testStory
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@storybook/addon-vitest",
3
- "version": "10.1.0-alpha.9",
3
+ "version": "10.1.0-beta.1",
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": "^1.6.0",
77
- "prompts": "^2.4.0",
78
- "ts-dedent": "^2.2.0"
76
+ "@storybook/icons": "^2.0.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": "^10.1.0-alpha.9",
106
+ "storybook": "^10.1.0-beta.1",
111
107
  "vitest": "^3.0.0 || ^4.0.0"
112
108
  },
113
109
  "peerDependenciesMeta": {
@@ -1,77 +0,0 @@
1
- // ../../core/src/component-testing/constants.ts
2
- var ADDON_ID = "storybook/interactions";
3
- var PANEL_ID = `${ADDON_ID}/panel`;
4
- var DOCUMENTATION_LINK = "writing-tests/integrations/vitest-addon";
5
- var DOCUMENTATION_DISCREPANCY_LINK = `${DOCUMENTATION_LINK}#what-happens-when-there-are-different-test-results-in-multiple-environments`;
6
-
7
- // ../a11y/src/constants.ts
8
- var ADDON_ID2 = "storybook/a11y";
9
- var PANEL_ID2 = `${ADDON_ID2}/panel`;
10
- var UI_STATE_ID = `${ADDON_ID2}/ui`;
11
- var RESULT = `${ADDON_ID2}/result`;
12
- var REQUEST = `${ADDON_ID2}/request`;
13
- var RUNNING = `${ADDON_ID2}/running`;
14
- var ERROR = `${ADDON_ID2}/error`;
15
- var MANUAL = `${ADDON_ID2}/manual`;
16
- var SELECT = `${ADDON_ID2}/select`;
17
- var DOCUMENTATION_LINK2 = "writing-tests/accessibility-testing";
18
- var DOCUMENTATION_DISCREPANCY_LINK2 = `${DOCUMENTATION_LINK2}#why-are-my-tests-failing-in-different-environments`;
19
-
20
- // src/constants.ts
21
- var ADDON_ID3 = "storybook/test";
22
- var TEST_PROVIDER_ID = `${ADDON_ID3}/test-provider`;
23
- var DOCUMENTATION_LINK3 = "writing-tests/integrations/vitest-addon";
24
- var DOCUMENTATION_FATAL_ERROR_LINK = `${DOCUMENTATION_LINK3}#what-happens-if-vitest-itself-has-an-error`;
25
- var storeOptions = {
26
- id: ADDON_ID3,
27
- initialState: {
28
- config: {
29
- coverage: false,
30
- a11y: false
31
- },
32
- watching: false,
33
- cancelling: false,
34
- fatalError: void 0,
35
- indexUrl: void 0,
36
- previewAnnotations: [],
37
- currentRun: {
38
- triggeredBy: void 0,
39
- config: {
40
- coverage: false,
41
- a11y: false
42
- },
43
- componentTestCount: {
44
- success: 0,
45
- error: 0
46
- },
47
- a11yCount: {
48
- success: 0,
49
- warning: 0,
50
- error: 0
51
- },
52
- storyIds: void 0,
53
- totalTestCount: void 0,
54
- startedAt: void 0,
55
- finishedAt: void 0,
56
- unhandledErrors: [],
57
- coverageSummary: void 0
58
- }
59
- }
60
- };
61
- var FULL_RUN_TRIGGERS = ["global", "run-all"];
62
- var STORE_CHANNEL_EVENT_NAME = `UNIVERSAL_STORE:${storeOptions.id}`;
63
- var STATUS_TYPE_ID_COMPONENT_TEST = "storybook/component-test";
64
- var STATUS_TYPE_ID_A11Y = "storybook/a11y";
65
-
66
- export {
67
- PANEL_ID,
68
- ADDON_ID2 as ADDON_ID,
69
- PANEL_ID2,
70
- ADDON_ID3 as ADDON_ID2,
71
- TEST_PROVIDER_ID,
72
- DOCUMENTATION_FATAL_ERROR_LINK,
73
- storeOptions,
74
- FULL_RUN_TRIGGERS,
75
- STATUS_TYPE_ID_COMPONENT_TEST,
76
- STATUS_TYPE_ID_A11Y
77
- };
@@ -1,6 +0,0 @@
1
- var __defProp = Object.defineProperty;
2
- var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
-
4
- export {
5
- __name
6
- };
@@ -1,105 +0,0 @@
1
- import CJS_COMPAT_NODE_URL_6xsmo987rp5 from 'node:url';
2
- import CJS_COMPAT_NODE_PATH_6xsmo987rp5 from 'node:path';
3
- import CJS_COMPAT_NODE_MODULE_6xsmo987rp5 from "node:module";
4
-
5
- var __filename = CJS_COMPAT_NODE_URL_6xsmo987rp5.fileURLToPath(import.meta.url);
6
- var __dirname = CJS_COMPAT_NODE_PATH_6xsmo987rp5.dirname(__filename);
7
- var require = CJS_COMPAT_NODE_MODULE_6xsmo987rp5.createRequire(import.meta.url);
8
-
9
- // ------------------------------------------------------------
10
- // end of CJS compatibility banner, injected by Storybook's esbuild configuration
11
- // ------------------------------------------------------------
12
-
13
- // ../../core/src/component-testing/constants.ts
14
- var ADDON_ID = "storybook/interactions";
15
- var PANEL_ID = `${ADDON_ID}/panel`;
16
- var DOCUMENTATION_LINK = "writing-tests/integrations/vitest-addon";
17
- var DOCUMENTATION_DISCREPANCY_LINK = `${DOCUMENTATION_LINK}#what-happens-when-there-are-different-test-results-in-multiple-environments`;
18
-
19
- // ../a11y/src/constants.ts
20
- var ADDON_ID2 = "storybook/a11y";
21
- var PANEL_ID2 = `${ADDON_ID2}/panel`;
22
- var UI_STATE_ID = `${ADDON_ID2}/ui`;
23
- var RESULT = `${ADDON_ID2}/result`;
24
- var REQUEST = `${ADDON_ID2}/request`;
25
- var RUNNING = `${ADDON_ID2}/running`;
26
- var ERROR = `${ADDON_ID2}/error`;
27
- var MANUAL = `${ADDON_ID2}/manual`;
28
- var SELECT = `${ADDON_ID2}/select`;
29
- var DOCUMENTATION_LINK2 = "writing-tests/accessibility-testing";
30
- var DOCUMENTATION_DISCREPANCY_LINK2 = `${DOCUMENTATION_LINK2}#why-are-my-tests-failing-in-different-environments`;
31
-
32
- // src/constants.ts
33
- var ADDON_ID3 = "storybook/test";
34
- var TEST_PROVIDER_ID = `${ADDON_ID3}/test-provider`;
35
- var STORYBOOK_ADDON_TEST_CHANNEL = "STORYBOOK_ADDON_TEST_CHANNEL";
36
- var DOCUMENTATION_LINK3 = "writing-tests/integrations/vitest-addon";
37
- var DOCUMENTATION_FATAL_ERROR_LINK = `${DOCUMENTATION_LINK3}#what-happens-if-vitest-itself-has-an-error`;
38
- var COVERAGE_DIRECTORY = "coverage";
39
- var SUPPORTED_FRAMEWORKS = [
40
- "@storybook/nextjs",
41
- "@storybook/nextjs-vite",
42
- "@storybook/react-vite",
43
- "@storybook/preact-vite",
44
- "@storybook/svelte-vite",
45
- "@storybook/vue3-vite",
46
- "@storybook/html-vite",
47
- "@storybook/web-components-vite",
48
- "@storybook/sveltekit",
49
- "@storybook/react-native-web-vite"
50
- ];
51
- var storeOptions = {
52
- id: ADDON_ID3,
53
- initialState: {
54
- config: {
55
- coverage: false,
56
- a11y: false
57
- },
58
- watching: false,
59
- cancelling: false,
60
- fatalError: void 0,
61
- indexUrl: void 0,
62
- previewAnnotations: [],
63
- currentRun: {
64
- triggeredBy: void 0,
65
- config: {
66
- coverage: false,
67
- a11y: false
68
- },
69
- componentTestCount: {
70
- success: 0,
71
- error: 0
72
- },
73
- a11yCount: {
74
- success: 0,
75
- warning: 0,
76
- error: 0
77
- },
78
- storyIds: void 0,
79
- totalTestCount: void 0,
80
- startedAt: void 0,
81
- finishedAt: void 0,
82
- unhandledErrors: [],
83
- coverageSummary: void 0
84
- }
85
- }
86
- };
87
- var STORE_CHANNEL_EVENT_NAME = `UNIVERSAL_STORE:${storeOptions.id}`;
88
- var STATUS_STORE_CHANNEL_EVENT_NAME = "UNIVERSAL_STORE:storybook/status";
89
- var TEST_PROVIDER_STORE_CHANNEL_EVENT_NAME = "UNIVERSAL_STORE:storybook/test-provider";
90
- var STATUS_TYPE_ID_COMPONENT_TEST = "storybook/component-test";
91
- var STATUS_TYPE_ID_A11Y = "storybook/a11y";
92
-
93
- export {
94
- ADDON_ID3 as ADDON_ID,
95
- STORYBOOK_ADDON_TEST_CHANNEL,
96
- DOCUMENTATION_LINK3 as DOCUMENTATION_LINK,
97
- COVERAGE_DIRECTORY,
98
- SUPPORTED_FRAMEWORKS,
99
- storeOptions,
100
- STORE_CHANNEL_EVENT_NAME,
101
- STATUS_STORE_CHANNEL_EVENT_NAME,
102
- TEST_PROVIDER_STORE_CHANNEL_EVENT_NAME,
103
- STATUS_TYPE_ID_COMPONENT_TEST,
104
- STATUS_TYPE_ID_A11Y
105
- };
@@ -1,37 +0,0 @@
1
- import CJS_COMPAT_NODE_URL_6xsmo987rp5 from 'node:url';
2
- import CJS_COMPAT_NODE_PATH_6xsmo987rp5 from 'node:path';
3
- import CJS_COMPAT_NODE_MODULE_6xsmo987rp5 from "node:module";
4
-
5
- var __filename = CJS_COMPAT_NODE_URL_6xsmo987rp5.fileURLToPath(import.meta.url);
6
- var __dirname = CJS_COMPAT_NODE_PATH_6xsmo987rp5.dirname(__filename);
7
- var require = CJS_COMPAT_NODE_MODULE_6xsmo987rp5.createRequire(import.meta.url);
8
-
9
- // ------------------------------------------------------------
10
- // end of CJS compatibility banner, injected by Storybook's esbuild configuration
11
- // ------------------------------------------------------------
12
- import {
13
- ADDON_ID
14
- } from "./chunk-4TORVAZH.js";
15
- import {
16
- require_picocolors
17
- } from "./chunk-WMX7UISE.js";
18
- import {
19
- __name,
20
- __toESM
21
- } from "./chunk-W5CYX7PP.js";
22
-
23
- // src/logger.ts
24
- var import_picocolors = __toESM(require_picocolors(), 1);
25
- var log = /* @__PURE__ */ __name((message) => {
26
- console.log(`${import_picocolors.default.magenta(ADDON_ID)}: ${message.toString().trim()}`);
27
- }, "log");
28
-
29
- // ../../node_modules/es-toolkit/dist/function/noop.mjs
30
- function noop() {
31
- }
32
- __name(noop, "noop");
33
-
34
- export {
35
- noop,
36
- log
37
- };
@@ -1,98 +0,0 @@
1
- import CJS_COMPAT_NODE_URL_6xsmo987rp5 from 'node:url';
2
- import CJS_COMPAT_NODE_PATH_6xsmo987rp5 from 'node:path';
3
- import CJS_COMPAT_NODE_MODULE_6xsmo987rp5 from "node:module";
4
-
5
- var __filename = CJS_COMPAT_NODE_URL_6xsmo987rp5.fileURLToPath(import.meta.url);
6
- var __dirname = CJS_COMPAT_NODE_PATH_6xsmo987rp5.dirname(__filename);
7
- var require = CJS_COMPAT_NODE_MODULE_6xsmo987rp5.createRequire(import.meta.url);
8
-
9
- // ------------------------------------------------------------
10
- // end of CJS compatibility banner, injected by Storybook's esbuild configuration
11
- // ------------------------------------------------------------
12
- import {
13
- __name
14
- } from "./chunk-W5CYX7PP.js";
15
-
16
- // src/utils.ts
17
- function getAddonNames(mainConfig) {
18
- const addons = mainConfig.addons || [];
19
- const addonList = addons.map((addon) => {
20
- let name = "";
21
- if (typeof addon === "string") {
22
- name = addon;
23
- } else if (typeof addon === "object") {
24
- name = addon.name;
25
- }
26
- return name;
27
- });
28
- return addonList.filter((item) => item != null);
29
- }
30
- __name(getAddonNames, "getAddonNames");
31
- function errorToErrorLike(error) {
32
- return {
33
- message: error.message,
34
- name: error.name,
35
- // avoid duplicating the error message in the stack trace
36
- stack: error.stack?.replace(error.message, ""),
37
- cause: error.cause && error.cause instanceof Error ? errorToErrorLike(error.cause) : void 0
38
- };
39
- }
40
- __name(errorToErrorLike, "errorToErrorLike");
41
-
42
- // ../../node_modules/empathic/find.mjs
43
- import { join as join2 } from "node:path";
44
- import { existsSync, statSync } from "node:fs";
45
-
46
- // ../../node_modules/empathic/walk.mjs
47
- import { dirname } from "node:path";
48
-
49
- // ../../node_modules/empathic/resolve.mjs
50
- import { isAbsolute, join, resolve } from "node:path";
51
- function absolute(input, root) {
52
- return isAbsolute(input) ? input : resolve(root || ".", input);
53
- }
54
- __name(absolute, "absolute");
55
-
56
- // ../../node_modules/empathic/walk.mjs
57
- function up(base, options) {
58
- let { last, cwd } = options || {};
59
- let tmp = absolute(base, cwd);
60
- let root = absolute(last || "/", cwd);
61
- let prev, arr = [];
62
- while (prev !== root) {
63
- arr.push(tmp);
64
- tmp = dirname(prev = tmp);
65
- if (tmp === prev) break;
66
- }
67
- return arr;
68
- }
69
- __name(up, "up");
70
-
71
- // ../../node_modules/empathic/find.mjs
72
- function up2(name, options) {
73
- let dir, tmp;
74
- let start = options && options.cwd || "";
75
- for (dir of up(start, options)) {
76
- tmp = join2(dir, name);
77
- if (existsSync(tmp)) return tmp;
78
- }
79
- }
80
- __name(up2, "up");
81
- function any(names, options) {
82
- let dir, start = options && options.cwd || "";
83
- let j = 0, len = names.length, tmp;
84
- for (dir of up(start, options)) {
85
- for (j = 0; j < len; j++) {
86
- tmp = join2(dir, names[j]);
87
- if (existsSync(tmp)) return tmp;
88
- }
89
- }
90
- }
91
- __name(any, "any");
92
-
93
- export {
94
- getAddonNames,
95
- errorToErrorLike,
96
- up2 as up,
97
- any
98
- };