vite-plus 0.2.8 → 0.2.9

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.
Files changed (74) hide show
  1. package/AGENTS.md +7 -0
  2. package/README.md +9 -3
  3. package/binding/index.cjs +54 -54
  4. package/binding/index.d.cts +7 -3
  5. package/dist/{agent-CI79DuSy.js → agent-DQU8uS6P.js} +4 -188
  6. package/dist/bin.js +288 -278
  7. package/dist/config/bin.js +27 -15
  8. package/dist/{constants-BppDcRc1.js → constants-CG513DRa.js} +10 -2
  9. package/dist/create/bin.js +178 -204
  10. package/dist/{define-config-DPnHe1Mx.js → define-config-CV4bQG_8.js} +3 -3
  11. package/dist/{define-config-CEm_MtvJ.cjs → define-config-DyNLA_f0.cjs} +1 -1
  12. package/dist/define-config.cjs +1 -1
  13. package/dist/define-config.js +1 -1
  14. package/dist/{dist-CSQWHI6y.js → dist-BDYZP12R.js} +193 -149
  15. package/dist/dist-Dqv1-Clg.js +3 -0
  16. package/dist/{editor-CGWdbLgD.js → editor-g4PosU99.js} +188 -108
  17. package/dist/hooks/bin.d.ts +1 -0
  18. package/dist/hooks/bin.js +130 -0
  19. package/dist/hooks-pNCBWtFT.js +570 -0
  20. package/dist/index.cjs +1 -1
  21. package/dist/index.js +1 -1
  22. package/dist/{json-BU88uu6o.js → json-qlK6UH0r.js} +38 -32
  23. package/dist/migration/bin.js +15 -18
  24. package/dist/{oxlint-plugin-config-BHOzlwMw.js → oxlint-plugin-config-BEZ9IUf7.js} +1 -1
  25. package/dist/oxlint-plugin.js +1 -1
  26. package/dist/pack-bin.js +1 -1
  27. package/dist/{package-hV-77cBb.js → package-B4T8RGMG.js} +2 -2
  28. package/dist/{prompts-DYap08te.js → prompts-CHz_98bJ.js} +142 -50
  29. package/dist/{resolve-vite-config-EWXclqvV.js → resolve-vite-config-Dmeyeyj-.js} +2 -9
  30. package/dist/staged/bin.js +224 -206
  31. package/dist/{terminal-CrqqK8WT.js → terminal-Bz-ps6rJ.js} +33 -3
  32. package/dist/test/browser/providers/playwright/context.d.ts +1 -1
  33. package/dist/test/browser/providers/playwright.d.ts +6 -6
  34. package/dist/test/browser/providers/preview/context.d.ts +1 -1
  35. package/dist/test/browser/providers/preview.d.ts +4 -4
  36. package/dist/test/browser/providers/webdriverio/context.d.ts +1 -1
  37. package/dist/test/browser/providers/webdriverio.d.ts +6 -6
  38. package/dist/test/browser-playwright/context.d.ts +1 -1
  39. package/dist/test/browser-playwright.d.ts +6 -6
  40. package/dist/test/browser-preview/context.d.ts +1 -1
  41. package/dist/test/browser-preview.d.ts +4 -4
  42. package/dist/test/browser-webdriverio/context.d.ts +1 -1
  43. package/dist/test/browser-webdriverio.d.ts +6 -6
  44. package/dist/test/context.d.ts +3 -3
  45. package/dist/test/locators.d.ts +1 -1
  46. package/dist/toolchain.d.ts +25 -0
  47. package/dist/toolchain.js +194 -0
  48. package/dist/toolchain.json +193 -0
  49. package/dist/{tsconfig-CVUKLfL8.js → tsconfig-7v_BHagU.js} +3 -3
  50. package/dist/tsgolint-path.js +1 -1
  51. package/dist/version.js +4 -4
  52. package/dist/versions.d.ts +3 -3
  53. package/dist/versions.js +6 -6
  54. package/docs/guide/ci.md +37 -4
  55. package/docs/guide/commit-hooks.md +87 -14
  56. package/docs/guide/create.md +7 -4
  57. package/docs/guide/fmt.md +2 -2
  58. package/docs/guide/github-actions-cache.md +5 -1
  59. package/docs/guide/ide-integration.md +61 -2
  60. package/docs/guide/index.md +3 -1
  61. package/docs/guide/install.md +25 -0
  62. package/docs/guide/installer-env-vars.md +12 -1
  63. package/docs/guide/lint.md +3 -1
  64. package/docs/guide/migrate.md +39 -2
  65. package/docs/guide/monorepo.md +4 -4
  66. package/docs/guide/troubleshooting.md +12 -4
  67. package/docs/guide/upgrade.md +27 -4
  68. package/docs/package.json +1 -1
  69. package/docs/pnpm-workspace.yaml +7 -0
  70. package/docs/vite.config.ts +3 -0
  71. package/package.json +18 -14
  72. package/rules/vite-tools.yml +0 -7
  73. package/dist/dist-DT25H9pj.js +0 -3
  74. package/dist/{tsgolint-path-eMZT-oea.js → tsgolint-path-CbDReEOx.js} +1 -1
@@ -1,6 +1,7 @@
1
1
  import { shouldPrintVitePlusHeader, vitePlusHeader } from "../binding/index.js";
2
2
  import { stripVTControlCharacters, styleText } from "node:util";
3
3
  //#region src/utils/help.ts
4
+ const HELP_RIGHT_MARGIN = 4;
4
5
  function toLines(value) {
5
6
  if (!value) return [];
6
7
  return Array.isArray(value) ? [...value] : [value];
@@ -12,12 +13,35 @@ function padVisible(value, width) {
12
13
  const padding = Math.max(0, width - visibleLength(value));
13
14
  return `${value}${" ".repeat(padding)}`;
14
15
  }
16
+ function contentWidth() {
17
+ const terminalWidth = process.stdout.columns;
18
+ return Number.isFinite(terminalWidth) ? Math.max(0, terminalWidth - HELP_RIGHT_MARGIN) : Infinity;
19
+ }
20
+ function wrapLine(line, width) {
21
+ if (!Number.isFinite(width) || width <= 0 || visibleLength(line) <= width) return [line];
22
+ const content = line.trim();
23
+ if (!content) return [line];
24
+ const indent = line.slice(0, line.length - line.trimStart().length);
25
+ const output = [];
26
+ let current = indent;
27
+ for (const [, whitespace, word] of content.matchAll(/(\s*)(\S+)/gu)) {
28
+ const candidate = `${current}${current === indent ? "" : whitespace}${word}`;
29
+ if (current === indent || visibleLength(candidate) <= width) current = candidate;
30
+ else {
31
+ output.push(current);
32
+ current = `${indent}${word}`;
33
+ }
34
+ }
35
+ output.push(current);
36
+ return output;
37
+ }
15
38
  function renderRows(rows) {
16
39
  if (rows.length === 0) return [];
17
40
  const labelWidth = Math.max(...rows.map((row) => visibleLength(row.label)));
41
+ const descriptionWidth = contentWidth() - labelWidth - 4;
18
42
  const output = [];
19
43
  for (const row of rows) {
20
- const descriptionLines = toLines(row.description);
44
+ const descriptionLines = toLines(row.description).flatMap((line) => wrapLine(line, descriptionWidth));
21
45
  if (descriptionLines.length === 0) {
22
46
  output.push(` ${row.label}`);
23
47
  continue;
@@ -54,7 +78,7 @@ function renderCliDoc(doc, options = {}) {
54
78
  if (output.length > 0) output.push("");
55
79
  output.push(heading(section.title, color));
56
80
  const lines = toLines(section.lines);
57
- if (lines.length > 0) output.push(...lines.map((line) => renderMutedCommentSuffix(line, color)));
81
+ if (lines.length > 0) output.push(...lines.flatMap((line) => wrapLine(renderMutedCommentSuffix(line, color), contentWidth())));
58
82
  if (section.rows && section.rows.length > 0) output.push(...renderRows(section.rows));
59
83
  }
60
84
  if (doc.documentationUrl) {
@@ -88,6 +112,12 @@ function muted(text) {
88
112
  function success(text) {
89
113
  return styleText("green", text);
90
114
  }
115
+ function formatDuration(durationMs) {
116
+ if (durationMs < 1e3) return `${Math.max(1, durationMs)}ms`;
117
+ const durationSeconds = durationMs / 1e3;
118
+ if (durationSeconds < 10) return `${durationSeconds.toFixed(1)}s`;
119
+ return `${Math.round(durationSeconds)}s`;
120
+ }
91
121
  function warnMsg(msg) {
92
122
  console.error(styleText(["yellow", "bold"], "warn:"), msg);
93
123
  }
@@ -95,4 +125,4 @@ function errorMsg(msg) {
95
125
  console.error(styleText(["red", "bold"], "error:"), msg);
96
126
  }
97
127
  //#endregion
98
- export { printHeader as a, renderCliDoc as c, muted as i, errorMsg as n, success as o, log as r, warnMsg as s, accent as t };
128
+ export { muted as a, warnMsg as c, log as i, renderCliDoc as l, errorMsg as n, printHeader as o, formatDuration as r, success as s, accent as t };
@@ -1 +1 @@
1
- export * from '../../../_at-vitest-browser/context'
1
+ export * from '../../../_at-vitest-browser/context.js'
@@ -1,8 +1,8 @@
1
- import { CustomComparatorsRegistry } from '../../_at-vitest-browser';
2
- export { defineBrowserCommand } from '../../_at-vitest-browser';
1
+ import { CustomComparatorsRegistry } from '../../_at-vitest-browser.js';
2
+ export { defineBrowserCommand } from '../../_at-vitest-browser.js';
3
3
  import { Page, Frame, FrameLocator, BrowserContext, CDPSession, Browser, LaunchOptions, ConnectOptions, BrowserContextOptions } from 'playwright';
4
- import { ScreenshotMatcherOptions, ScreenshotComparatorRegistry, Locator } from '../../browser';
5
- import { BrowserProvider, BrowserModuleMocker, TestProject, CDPSession as CDPSession$1, BrowserProviderOption } from '../../node';
4
+ import { ScreenshotMatcherOptions, ScreenshotComparatorRegistry, Locator } from '../../browser.js';
5
+ import { BrowserProvider, BrowserModuleMocker, TestProject, CDPSession as CDPSession$1, BrowserProviderOption } from '../../node.js';
6
6
 
7
7
  declare const playwrightBrowsers: readonly ["firefox", "webkit", "chromium"];
8
8
  type PlaywrightBrowser = (typeof playwrightBrowsers)[number];
@@ -82,7 +82,7 @@ declare class PlaywrightBrowserProvider implements BrowserProvider {
82
82
  getCDPSession(sessionid: string): Promise<CDPSession$1>;
83
83
  close(): Promise<void>;
84
84
  }
85
- declare module '../../node' {
85
+ declare module '../../node.js' {
86
86
  interface BrowserCommandContext {
87
87
  page: Page;
88
88
  frame(): Promise<Frame>;
@@ -105,7 +105,7 @@ type PWDragAndDropOptions = NonNullable<Parameters<Page["dragAndDrop"]>[2]>;
105
105
  type PWSetInputFiles = NonNullable<Parameters<Page["setInputFiles"]>[2]>;
106
106
  type PWCDPSession = Pick<CDPSession, "send" | "on" | "off" | "once">;
107
107
 
108
- declare module '../../browser' {
108
+ declare module '../../browser.js' {
109
109
  interface UserEventHoverOptions extends PWHoverOptions {}
110
110
  interface UserEventClickOptions extends PWClickOptions {}
111
111
  interface UserEventDoubleClickOptions extends PWDoubleClickOptions {}
@@ -1 +1 @@
1
- export * from '../../../_at-vitest-browser/context'
1
+ export * from '../../../_at-vitest-browser/context.js'
@@ -1,6 +1,6 @@
1
- import { SelectorOptions } from '../../browser';
2
- import { BrowserProvider, TestProject, BrowserProviderOption } from '../../node';
3
- export { defineBrowserCommand } from '../../_at-vitest-browser';
1
+ import { SelectorOptions } from '../../browser.js';
2
+ import { BrowserProvider, TestProject, BrowserProviderOption } from '../../node.js';
3
+ export { defineBrowserCommand } from '../../_at-vitest-browser.js';
4
4
 
5
5
  declare function preview(): BrowserProviderOption;
6
6
  declare class PreviewBrowserProvider implements BrowserProvider {
@@ -16,7 +16,7 @@ declare class PreviewBrowserProvider implements BrowserProvider {
16
16
  openPage(_sessionId: string, url: string): Promise<void>;
17
17
  close(): Promise<void>;
18
18
  }
19
- declare module '../../browser' {
19
+ declare module '../../browser.js' {
20
20
  interface UserEventClickOptions extends SelectorOptions {}
21
21
  interface UserEventHoverOptions extends SelectorOptions {}
22
22
  interface UserEventFillOptions extends SelectorOptions {}
@@ -1 +1 @@
1
- export * from '../../../_at-vitest-browser/context'
1
+ export * from '../../../_at-vitest-browser/context.js'
@@ -1,7 +1,7 @@
1
- import { CustomComparatorsRegistry } from '../../_at-vitest-browser';
2
- export { defineBrowserCommand } from '../../_at-vitest-browser';
3
- import { SelectorOptions, ScreenshotMatcherOptions, ScreenshotComparatorRegistry } from '../../browser';
4
- import { BrowserProvider, TestProject, CDPSession, BrowserProviderOption } from '../../node';
1
+ import { CustomComparatorsRegistry } from '../../_at-vitest-browser.js';
2
+ export { defineBrowserCommand } from '../../_at-vitest-browser.js';
3
+ import { SelectorOptions, ScreenshotMatcherOptions, ScreenshotComparatorRegistry } from '../../browser.js';
4
+ import { BrowserProvider, TestProject, CDPSession, BrowserProviderOption } from '../../node.js';
5
5
  import { ClickOptions, MoveToOptions, DragAndDropOptions, remote } from 'webdriverio';
6
6
 
7
7
  declare const webdriverBrowsers: readonly ["firefox", "chrome", "edge", "safari"];
@@ -38,7 +38,7 @@ declare class WebdriverBrowserProvider implements BrowserProvider {
38
38
  close(): Promise<void>;
39
39
  getCDPSession(_sessionId: string): Promise<CDPSession>;
40
40
  }
41
- declare module '../../browser' {
41
+ declare module '../../browser.js' {
42
42
  interface UserEventClickOptions extends Partial<ClickOptions>, SelectorOptions {}
43
43
  interface UserEventHoverOptions extends MoveToOptions, SelectorOptions {}
44
44
  interface UserEventDragAndDropOptions extends DragAndDropOptions {
@@ -61,7 +61,7 @@ interface WebdriverCDPSession {
61
61
  once: (event: string, listener: (...args: unknown[]) => void) => void;
62
62
  off: (event: string, listener: (...args: unknown[]) => void) => void;
63
63
  }
64
- declare module '../../node' {
64
+ declare module '../../node.js' {
65
65
  interface BrowserCommandContext {
66
66
  browser: WebdriverIO.Browser;
67
67
  }
@@ -1 +1 @@
1
- export * from '../_at-vitest-browser/context'
1
+ export * from '../_at-vitest-browser/context.js'
@@ -1,8 +1,8 @@
1
- import { CustomComparatorsRegistry } from './_at-vitest-browser';
2
- export { defineBrowserCommand } from './_at-vitest-browser';
1
+ import { CustomComparatorsRegistry } from './_at-vitest-browser.js';
2
+ export { defineBrowserCommand } from './_at-vitest-browser.js';
3
3
  import { Page, Frame, FrameLocator, BrowserContext, CDPSession, Browser, LaunchOptions, ConnectOptions, BrowserContextOptions } from 'playwright';
4
- import { ScreenshotMatcherOptions, ScreenshotComparatorRegistry, Locator } from './browser';
5
- import { BrowserProvider, BrowserModuleMocker, TestProject, CDPSession as CDPSession$1, BrowserProviderOption } from './node';
4
+ import { ScreenshotMatcherOptions, ScreenshotComparatorRegistry, Locator } from './browser.js';
5
+ import { BrowserProvider, BrowserModuleMocker, TestProject, CDPSession as CDPSession$1, BrowserProviderOption } from './node.js';
6
6
 
7
7
  declare const playwrightBrowsers: readonly ["firefox", "webkit", "chromium"];
8
8
  type PlaywrightBrowser = (typeof playwrightBrowsers)[number];
@@ -82,7 +82,7 @@ declare class PlaywrightBrowserProvider implements BrowserProvider {
82
82
  getCDPSession(sessionid: string): Promise<CDPSession$1>;
83
83
  close(): Promise<void>;
84
84
  }
85
- declare module './node' {
85
+ declare module './node.js' {
86
86
  interface BrowserCommandContext {
87
87
  page: Page;
88
88
  frame(): Promise<Frame>;
@@ -105,7 +105,7 @@ type PWDragAndDropOptions = NonNullable<Parameters<Page["dragAndDrop"]>[2]>;
105
105
  type PWSetInputFiles = NonNullable<Parameters<Page["setInputFiles"]>[2]>;
106
106
  type PWCDPSession = Pick<CDPSession, "send" | "on" | "off" | "once">;
107
107
 
108
- declare module './browser' {
108
+ declare module './browser.js' {
109
109
  interface UserEventHoverOptions extends PWHoverOptions {}
110
110
  interface UserEventClickOptions extends PWClickOptions {}
111
111
  interface UserEventDoubleClickOptions extends PWDoubleClickOptions {}
@@ -1 +1 @@
1
- export * from '../_at-vitest-browser/context'
1
+ export * from '../_at-vitest-browser/context.js'
@@ -1,6 +1,6 @@
1
- import { SelectorOptions } from './browser';
2
- import { BrowserProvider, TestProject, BrowserProviderOption } from './node';
3
- export { defineBrowserCommand } from './_at-vitest-browser';
1
+ import { SelectorOptions } from './browser.js';
2
+ import { BrowserProvider, TestProject, BrowserProviderOption } from './node.js';
3
+ export { defineBrowserCommand } from './_at-vitest-browser.js';
4
4
 
5
5
  declare function preview(): BrowserProviderOption;
6
6
  declare class PreviewBrowserProvider implements BrowserProvider {
@@ -16,7 +16,7 @@ declare class PreviewBrowserProvider implements BrowserProvider {
16
16
  openPage(_sessionId: string, url: string): Promise<void>;
17
17
  close(): Promise<void>;
18
18
  }
19
- declare module './browser' {
19
+ declare module './browser.js' {
20
20
  interface UserEventClickOptions extends SelectorOptions {}
21
21
  interface UserEventHoverOptions extends SelectorOptions {}
22
22
  interface UserEventFillOptions extends SelectorOptions {}
@@ -1 +1 @@
1
- export * from '../_at-vitest-browser/context'
1
+ export * from '../_at-vitest-browser/context.js'
@@ -1,7 +1,7 @@
1
- import { CustomComparatorsRegistry } from './_at-vitest-browser';
2
- export { defineBrowserCommand } from './_at-vitest-browser';
3
- import { SelectorOptions, ScreenshotMatcherOptions, ScreenshotComparatorRegistry } from './browser';
4
- import { BrowserProvider, TestProject, CDPSession, BrowserProviderOption } from './node';
1
+ import { CustomComparatorsRegistry } from './_at-vitest-browser.js';
2
+ export { defineBrowserCommand } from './_at-vitest-browser.js';
3
+ import { SelectorOptions, ScreenshotMatcherOptions, ScreenshotComparatorRegistry } from './browser.js';
4
+ import { BrowserProvider, TestProject, CDPSession, BrowserProviderOption } from './node.js';
5
5
  import { ClickOptions, MoveToOptions, DragAndDropOptions, remote } from 'webdriverio';
6
6
 
7
7
  declare const webdriverBrowsers: readonly ["firefox", "chrome", "edge", "safari"];
@@ -38,7 +38,7 @@ declare class WebdriverBrowserProvider implements BrowserProvider {
38
38
  close(): Promise<void>;
39
39
  getCDPSession(_sessionId: string): Promise<CDPSession>;
40
40
  }
41
- declare module './browser' {
41
+ declare module './browser.js' {
42
42
  interface UserEventClickOptions extends Partial<ClickOptions>, SelectorOptions {}
43
43
  interface UserEventHoverOptions extends MoveToOptions, SelectorOptions {}
44
44
  interface UserEventDragAndDropOptions extends DragAndDropOptions {
@@ -61,7 +61,7 @@ interface WebdriverCDPSession {
61
61
  once: (event: string, listener: (...args: unknown[]) => void) => void;
62
62
  off: (event: string, listener: (...args: unknown[]) => void) => void;
63
63
  }
64
- declare module './node' {
64
+ declare module './node.js' {
65
65
  interface BrowserCommandContext {
66
66
  browser: WebdriverIO.Browser;
67
67
  }
@@ -1,5 +1,5 @@
1
1
  import { SerializedConfig } from 'vitest'
2
- import { StringifyOptions, CDPSession, BrowserCommands } from './internal/browser'
2
+ import { StringifyOptions, CDPSession, BrowserCommands } from './internal/browser.js'
3
3
  import { ARIARole } from './aria-role.js'
4
4
  import {} from './matchers.js'
5
5
 
@@ -877,9 +877,9 @@ export interface BrowserLocators {
877
877
  *
878
878
  * @example
879
879
  * ```ts
880
- * import { locators } from './browser'
880
+ * import { locators } from './browser.js'
881
881
  *
882
- * declare module './browser' {
882
+ * declare module './browser.js' {
883
883
  * interface LocatorSelectors {
884
884
  * getByCSS(css: string): Locator
885
885
  * }
@@ -1,4 +1,4 @@
1
- import { UserEventClickOptions, UserEventWheelOptions, UserEventClearOptions, UserEventHoverOptions, UserEventFillOptions, UserEventUploadOptions, UserEventDragAndDropOptions, UserEventSelectOptions, LocatorScreenshotOptions, MarkOptions, LocatorByRoleOptions, LocatorOptions, SelectorOptions } from './browser';
1
+ import { UserEventClickOptions, UserEventWheelOptions, UserEventClearOptions, UserEventHoverOptions, UserEventFillOptions, UserEventUploadOptions, UserEventDragAndDropOptions, UserEventSelectOptions, LocatorScreenshotOptions, MarkOptions, LocatorByRoleOptions, LocatorOptions, SelectorOptions } from './browser.js';
2
2
 
3
3
  //#region src/cssParser.d.ts
4
4
  type ClauseCombinator = '' | '>' | '+' | '~' | '>=';
@@ -0,0 +1,25 @@
1
+ export type ToolchainNodeKind = 'package' | 'tool' | 'engine';
2
+ export type ToolchainDelivery = 'dependency' | 'bundled' | 'compiled';
3
+ export type ToolchainRelationship = 'depends-on' | 'bundles' | 'uses' | 'compiles';
4
+ export interface ToolchainNode {
5
+ readonly id: string;
6
+ readonly name: string;
7
+ readonly version?: string;
8
+ readonly revision?: string;
9
+ readonly builtAt?: string;
10
+ readonly kind: ToolchainNodeKind;
11
+ readonly delivery: readonly ToolchainDelivery[];
12
+ readonly aliases: readonly string[];
13
+ }
14
+ export interface ToolchainEdge {
15
+ readonly from: string;
16
+ readonly to: string;
17
+ readonly relationship: ToolchainRelationship;
18
+ }
19
+ export interface ToolchainManifest {
20
+ readonly schemaVersion: 1;
21
+ readonly nodes: readonly ToolchainNode[];
22
+ readonly edges: readonly ToolchainEdge[];
23
+ }
24
+ export declare const toolchain: ToolchainManifest;
25
+ export default toolchain;
@@ -0,0 +1,194 @@
1
+ export const toolchain = {
2
+ "schemaVersion": 1,
3
+ "nodes": [
4
+ {
5
+ "id": "vite-plus",
6
+ "name": "vite-plus",
7
+ "version": "0.2.9",
8
+ "kind": "package",
9
+ "delivery": [
10
+ "dependency"
11
+ ],
12
+ "aliases": []
13
+ },
14
+ {
15
+ "id": "vite-plus-core",
16
+ "name": "@voidzero-dev/vite-plus-core",
17
+ "version": "0.2.9",
18
+ "kind": "package",
19
+ "delivery": [
20
+ "dependency"
21
+ ],
22
+ "aliases": [
23
+ "vite-plus-core"
24
+ ]
25
+ },
26
+ {
27
+ "id": "vite",
28
+ "name": "vite",
29
+ "version": "8.2.1",
30
+ "kind": "tool",
31
+ "delivery": [
32
+ "bundled"
33
+ ],
34
+ "aliases": []
35
+ },
36
+ {
37
+ "id": "rolldown",
38
+ "name": "rolldown",
39
+ "version": "1.2.3",
40
+ "kind": "tool",
41
+ "delivery": [
42
+ "bundled",
43
+ "compiled"
44
+ ],
45
+ "aliases": []
46
+ },
47
+ {
48
+ "id": "vitest",
49
+ "name": "vitest",
50
+ "version": "4.1.10",
51
+ "kind": "tool",
52
+ "delivery": [
53
+ "dependency"
54
+ ],
55
+ "aliases": []
56
+ },
57
+ {
58
+ "id": "oxlint",
59
+ "name": "oxlint",
60
+ "version": "1.77.0",
61
+ "kind": "tool",
62
+ "delivery": [
63
+ "dependency"
64
+ ],
65
+ "aliases": []
66
+ },
67
+ {
68
+ "id": "oxfmt",
69
+ "name": "oxfmt",
70
+ "version": "0.62.0",
71
+ "kind": "tool",
72
+ "delivery": [
73
+ "dependency"
74
+ ],
75
+ "aliases": []
76
+ },
77
+ {
78
+ "id": "oxlint-tsgolint",
79
+ "name": "oxlint-tsgolint",
80
+ "version": "7.0.2001",
81
+ "kind": "tool",
82
+ "delivery": [
83
+ "dependency"
84
+ ],
85
+ "aliases": [
86
+ "tsgolint"
87
+ ]
88
+ },
89
+ {
90
+ "id": "tsdown",
91
+ "name": "tsdown",
92
+ "version": "0.22.14",
93
+ "kind": "tool",
94
+ "delivery": [
95
+ "bundled"
96
+ ],
97
+ "aliases": []
98
+ },
99
+ {
100
+ "id": "vite-task",
101
+ "name": "vite-task",
102
+ "revision": "d05b1dcdbaabaa69643ee0b89cebe3cd390957e9",
103
+ "builtAt": "2026-08-12T02:51:52Z",
104
+ "kind": "tool",
105
+ "delivery": [
106
+ "compiled"
107
+ ],
108
+ "aliases": []
109
+ },
110
+ {
111
+ "id": "oxc",
112
+ "name": "oxc",
113
+ "version": "0.143.0",
114
+ "kind": "engine",
115
+ "delivery": [
116
+ "compiled"
117
+ ],
118
+ "aliases": []
119
+ },
120
+ {
121
+ "id": "oxc-resolver",
122
+ "name": "oxc-resolver",
123
+ "version": "11.24.2",
124
+ "kind": "engine",
125
+ "delivery": [
126
+ "compiled"
127
+ ],
128
+ "aliases": []
129
+ }
130
+ ],
131
+ "edges": [
132
+ {
133
+ "from": "vite-plus",
134
+ "to": "vite-plus-core",
135
+ "relationship": "depends-on"
136
+ },
137
+ {
138
+ "from": "vite-plus-core",
139
+ "to": "vite",
140
+ "relationship": "bundles"
141
+ },
142
+ {
143
+ "from": "vite",
144
+ "to": "rolldown",
145
+ "relationship": "uses"
146
+ },
147
+ {
148
+ "from": "vite-plus-core",
149
+ "to": "rolldown",
150
+ "relationship": "bundles"
151
+ },
152
+ {
153
+ "from": "rolldown",
154
+ "to": "oxc",
155
+ "relationship": "compiles"
156
+ },
157
+ {
158
+ "from": "rolldown",
159
+ "to": "oxc-resolver",
160
+ "relationship": "compiles"
161
+ },
162
+ {
163
+ "from": "vite-plus-core",
164
+ "to": "tsdown",
165
+ "relationship": "bundles"
166
+ },
167
+ {
168
+ "from": "vite-plus",
169
+ "to": "vitest",
170
+ "relationship": "depends-on"
171
+ },
172
+ {
173
+ "from": "vite-plus",
174
+ "to": "oxlint",
175
+ "relationship": "depends-on"
176
+ },
177
+ {
178
+ "from": "vite-plus",
179
+ "to": "oxlint-tsgolint",
180
+ "relationship": "depends-on"
181
+ },
182
+ {
183
+ "from": "vite-plus",
184
+ "to": "oxfmt",
185
+ "relationship": "depends-on"
186
+ },
187
+ {
188
+ "from": "vite-plus",
189
+ "to": "vite-task",
190
+ "relationship": "compiles"
191
+ }
192
+ ]
193
+ };
194
+ export default toolchain;