@depup/vite 8.2.1-depup.0 → 8.3.0-depup.0
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.
- package/README.md +4 -5
- package/bin/vite.js +17 -6
- package/changes.json +4 -8
- package/dist/client/bundledDevClient.mjs +156 -65
- package/dist/client/client.mjs +426 -392
- package/dist/node/chunks/build.js +70 -64
- package/dist/node/chunks/dist.js +36 -29
- package/dist/node/chunks/node.js +29981 -29548
- package/dist/node/chunks/postcss-import.js +23 -25
- package/dist/node/cli.js +12 -8
- package/dist/node/index.d.ts +1605 -1611
- package/dist/node/index.js +1 -1
- package/dist/node/module-runner.d.ts +14 -14
- package/dist/node/module-runner.js +201 -199
- package/package.json +23 -27
- package/types/customEvent.d.ts +2 -0
- package/types/hmrPayload.d.ts +2 -0
- package/types/internal/cssPreprocessorOptions.d.ts +2 -2
- package/types/internal/devtoolsOptions.d.ts +9 -0
package/dist/node/index.d.ts
CHANGED
|
@@ -1,88 +1,37 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
import { t as ModuleRunnerTransport } from "./chunks/moduleRunnerTransport.js";
|
|
3
|
-
import { ConnectedPayload, CustomPayload, CustomPayload as hmrPayload_CustomPayload, ErrorPayload, FullReloadPayload, HMRPayload, HotPayload, HotPayload as hmrPayload_HotPayload, PrunePayload, Update, UpdatePayload } from "#types/hmrPayload";
|
|
4
3
|
import { CustomEventMap, InferCustomEventPayload, InferCustomEventPayload as hmrPayload_InferCustomEventPayload, InvalidatePayload } from "#types/customEvent";
|
|
4
|
+
import { ConnectedPayload, CustomPayload, CustomPayload as hmrPayload_CustomPayload, ErrorPayload, FullReloadPayload, HMRPayload, HotPayload, HotPayload as hmrPayload_HotPayload, PrunePayload, Update, UpdatePayload } from "#types/hmrPayload";
|
|
5
5
|
import * as Rolldown from "rolldown";
|
|
6
6
|
import { CustomPluginOptions, ExistingRawSourceMap, FunctionPluginHooks, ImportKind, InputOption, InputOptions, LoadResult, MinimalPluginContext, ModuleFormat, ModuleInfo, ModuleType, ModuleTypeFilter, ObjectHook, OutputBundle, OutputChunk, OutputOptions, PartialResolvedId, PluginContext, PluginContextMeta, ResolveIdResult, RolldownOptions, RolldownOutput, RolldownWatcher, RollupError, RollupLog, SourceDescription, SourceMap, SourceMapInput, TransformPluginContext, VERSION as rolldownVersion, WatcherOptions } from "rolldown";
|
|
7
7
|
import { parseAst as parseAst$1, parseAstAsync as parseAstAsync$1 } from "rolldown/parseAst";
|
|
8
8
|
import * as Rollup from "#types/internal/rollupTypeCompat";
|
|
9
9
|
import { esmExternalRequirePlugin } from "rolldown/plugins";
|
|
10
10
|
import { ESTree, MinifyOptions, MinifyResult, ParseResult, ParserOptions, TransformOptions as rolldown_utils_TransformOptions, TransformResult as rolldown_utils_TransformResult, Visitor, VisitorObject, minify, minifySync, parse, parseSync } from "rolldown/utils";
|
|
11
|
+
import { DevToolsConfig, ResolvedDevToolsConfig } from "#types/internal/devtoolsOptions";
|
|
12
|
+
import { DepsOptimizerEsbuildOptions, EsbuildTarget, EsbuildTransformOptions, EsbuildTransformOptions as esbuildOptions_EsbuildTransformOptions, EsbuildTransformResult } from "#types/internal/esbuildOptions";
|
|
13
|
+
import { ChunkMetadata, CustomPluginOptionsVite } from "#types/metadata";
|
|
11
14
|
import * as http from "node:http";
|
|
12
15
|
import { Agent, ClientRequest, ClientRequestArgs, OutgoingHttpHeaders, ServerResponse } from "node:http";
|
|
13
16
|
import { Http2SecureServer } from "node:http2";
|
|
14
|
-
import * as fs from "node:fs";
|
|
15
17
|
import { EventEmitter } from "node:events";
|
|
18
|
+
import * as fs from "node:fs";
|
|
16
19
|
import { Server as HttpsServer, ServerOptions as HttpsServerOptions } from "node:https";
|
|
17
20
|
import * as net from "node:net";
|
|
18
21
|
import { Duplex, DuplexOptions, Stream } from "node:stream";
|
|
19
22
|
import { FetchFunction, FetchFunctionOptions, FetchResult, FetchResult as moduleRunner_FetchResult, ModuleEvaluator, ModuleRunner, ModuleRunnerHmr, ModuleRunnerOptions } from "vite/module-runner";
|
|
20
|
-
import { DepsOptimizerEsbuildOptions, EsbuildTarget, EsbuildTransformOptions, EsbuildTransformOptions as esbuildOptions_EsbuildTransformOptions, EsbuildTransformResult } from "#types/internal/esbuildOptions";
|
|
21
23
|
import { SecureContextOptions } from "node:tls";
|
|
22
24
|
import { URL as url_URL } from "node:url";
|
|
23
25
|
import { ZlibOptions } from "node:zlib";
|
|
24
|
-
import {
|
|
26
|
+
import { DevWatchOptions } from "rolldown/experimental";
|
|
25
27
|
import { Terser, TerserMinifyOptions } from "#types/internal/terserOptions";
|
|
26
28
|
import * as PostCSS from "postcss";
|
|
27
29
|
import { ProcessOptions, Processor, Transformer } from "postcss";
|
|
28
|
-
import { LightningCSSOptions, LightningCSSOptions as lightningcssOptions_LightningCSSOptions } from "#types/internal/lightningcssOptions";
|
|
29
30
|
import { LessPreprocessorBaseOptions, SassModernPreprocessBaseOptions, StylusPreprocessorBaseOptions } from "#types/internal/cssPreprocessorOptions";
|
|
31
|
+
import { LightningCSSOptions, LightningCSSOptions as lightningcssOptions_LightningCSSOptions } from "#types/internal/lightningcssOptions";
|
|
30
32
|
import { withFilter } from "rolldown/filter";
|
|
31
33
|
import { GeneralImportGlobOptions, ImportGlobFunction, ImportGlobOptions, KnownAsTypeMap, KnownQueryTypeMap } from "#types/importGlob";
|
|
32
34
|
//#endregion
|
|
33
|
-
//#region ../../node_modules/.pnpm/@vitejs+devtools@0.4.10_crossws@0.4.10_srvx@0.12.5_typescript@6.0.3_valibot@1.4.2_vite@packages+vite/node_modules/@vitejs/devtools/dist/cli-commands.d.ts
|
|
34
|
-
//#region src/node/cli-commands.d.ts
|
|
35
|
-
interface StartOptions {
|
|
36
|
-
root?: string;
|
|
37
|
-
config?: string;
|
|
38
|
-
host: string;
|
|
39
|
-
port?: string | number;
|
|
40
|
-
open?: boolean;
|
|
41
|
-
}
|
|
42
|
-
//#endregion
|
|
43
|
-
//#region ../../node_modules/.pnpm/@vitejs+devtools@0.4.10_crossws@0.4.10_srvx@0.12.5_typescript@6.0.3_valibot@1.4.2_vite@packages+vite/node_modules/@vitejs/devtools/dist/config.d.ts
|
|
44
|
-
//#region src/node/config.d.ts
|
|
45
|
-
interface DevToolsConfig extends Partial<StartOptions> {
|
|
46
|
-
enabled: boolean;
|
|
47
|
-
/**
|
|
48
|
-
* Vite environments to enable DevTools for. Defaults to all environments.
|
|
49
|
-
*/
|
|
50
|
-
environments?: string[];
|
|
51
|
-
/**
|
|
52
|
-
* Disable client authentication.
|
|
53
|
-
*
|
|
54
|
-
* Beware that if you disable client authentication,
|
|
55
|
-
* any browsers can connect to the devtools and access to your server and filesystem.
|
|
56
|
-
* (including other devices, if you open server `host` option to LAN or WAN)
|
|
57
|
-
*
|
|
58
|
-
* @default true
|
|
59
|
-
*/
|
|
60
|
-
clientAuth?: boolean;
|
|
61
|
-
/**
|
|
62
|
-
* Pre-configured auth tokens that are automatically trusted.
|
|
63
|
-
*
|
|
64
|
-
* Clients connecting with an auth token matching one of these
|
|
65
|
-
* will be auto-approved without a terminal prompt.
|
|
66
|
-
*/
|
|
67
|
-
clientAuthTokens?: string[];
|
|
68
|
-
/**
|
|
69
|
-
* Origins allowed to open the DevTools WebSocket connection, in addition to the built-in
|
|
70
|
-
* loopback allowlist (`localhost`, `127.0.0.1`, etc).
|
|
71
|
-
*
|
|
72
|
-
* The loopback check is a plain string match against the `Origin` header, not a DNS/hosts-file
|
|
73
|
-
* resolution — a custom dev hostname that resolves to loopback via `/etc/hosts` or a local DNS
|
|
74
|
-
* override (e.g. `dev-my-app.example.com`) is invisible to it and gets rejected. List such
|
|
75
|
-
* hostnames here explicitly.
|
|
76
|
-
*/
|
|
77
|
-
allowedOrigins?: string[];
|
|
78
|
-
}
|
|
79
|
-
interface ResolvedDevToolsConfig {
|
|
80
|
-
config: Omit<DevToolsConfig, 'enabled'> & {
|
|
81
|
-
host: string;
|
|
82
|
-
};
|
|
83
|
-
enabled: boolean;
|
|
84
|
-
}
|
|
85
|
-
//#endregion
|
|
86
35
|
//#region src/types/alias.d.ts
|
|
87
36
|
interface Alias {
|
|
88
37
|
find: string | RegExp;
|
|
@@ -114,124 +63,385 @@ type AliasOptions = readonly Alias[] | {
|
|
|
114
63
|
[find: string]: string;
|
|
115
64
|
};
|
|
116
65
|
//#endregion
|
|
117
|
-
//#region src/
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
declare class FSWatcher extends EventEmitter implements fs.FSWatcher {
|
|
124
|
-
options: WatchOptions;
|
|
125
|
-
/**
|
|
126
|
-
* Constructs a new FSWatcher instance with optional WatchOptions parameter.
|
|
127
|
-
*/
|
|
128
|
-
constructor(options?: WatchOptions);
|
|
129
|
-
/**
|
|
130
|
-
* When called, requests that the Node.js event loop not exit so long as the fs.FSWatcher is active.
|
|
131
|
-
* Calling watcher.ref() multiple times will have no effect.
|
|
132
|
-
*/
|
|
133
|
-
ref(): this;
|
|
66
|
+
//#region src/node/assetSource.d.ts
|
|
67
|
+
/**
|
|
68
|
+
* Defines which attributes of an HTML element should be treated as asset sources.
|
|
69
|
+
* Used in `html.additionalAssetSources` configuration.
|
|
70
|
+
*/
|
|
71
|
+
interface HtmlAssetSource {
|
|
134
72
|
/**
|
|
135
|
-
*
|
|
136
|
-
*
|
|
137
|
-
* Calling watcher.unref() multiple times will have no effect.
|
|
73
|
+
* Attributes that contain a single asset URL.
|
|
74
|
+
* @example ['src', 'data-src-dark']
|
|
138
75
|
*/
|
|
139
|
-
|
|
76
|
+
srcAttributes?: string[];
|
|
140
77
|
/**
|
|
141
|
-
*
|
|
142
|
-
*
|
|
78
|
+
* Attributes that contain srcset-format URLs.
|
|
79
|
+
* @example ['srcset', 'imagesrcset']
|
|
143
80
|
*/
|
|
144
|
-
|
|
81
|
+
srcsetAttributes?: string[];
|
|
145
82
|
/**
|
|
146
|
-
*
|
|
147
|
-
* string.
|
|
83
|
+
* Called before handling an attribute to determine if it should be processed.
|
|
148
84
|
*/
|
|
149
|
-
|
|
85
|
+
filter?: (data: HtmlAssetSourceFilterData) => boolean;
|
|
86
|
+
}
|
|
87
|
+
interface HtmlAssetSourceFilterData {
|
|
88
|
+
key: string;
|
|
89
|
+
value: string;
|
|
90
|
+
attributes: Record<string, string>;
|
|
91
|
+
}
|
|
92
|
+
//#endregion
|
|
93
|
+
//#region src/types/commonjs.d.ts
|
|
94
|
+
|
|
95
|
+
interface RollupCommonJSOptions {
|
|
150
96
|
/**
|
|
151
|
-
*
|
|
152
|
-
*
|
|
153
|
-
*
|
|
154
|
-
*
|
|
97
|
+
* A minimatch pattern, or array of patterns, which specifies the files in
|
|
98
|
+
* the build the plugin should operate on. By default, all files with
|
|
99
|
+
* extension `".cjs"` or those in `extensions` are included, but you can
|
|
100
|
+
* narrow this list by only including specific files. These files will be
|
|
101
|
+
* analyzed and transpiled if either the analysis does not find ES module
|
|
102
|
+
* specific statements or `transformMixedEsModules` is `true`.
|
|
103
|
+
* @default undefined
|
|
155
104
|
*/
|
|
156
|
-
|
|
157
|
-
[directory: string]: string[];
|
|
158
|
-
};
|
|
105
|
+
include?: string | RegExp | readonly (string | RegExp)[];
|
|
159
106
|
/**
|
|
160
|
-
*
|
|
107
|
+
* A minimatch pattern, or array of patterns, which specifies the files in
|
|
108
|
+
* the build the plugin should _ignore_. By default, all files with
|
|
109
|
+
* extensions other than those in `extensions` or `".cjs"` are ignored, but you
|
|
110
|
+
* can exclude additional files. See also the `include` option.
|
|
111
|
+
* @default undefined
|
|
161
112
|
*/
|
|
162
|
-
|
|
163
|
-
on(event: 'add' | 'addDir' | 'change', listener: (path: string, stats?: fs.Stats) => void): this;
|
|
164
|
-
on(event: 'all', listener: (eventName: 'add' | 'addDir' | 'change' | 'unlink' | 'unlinkDir', path: string, stats?: fs.Stats) => void): this;
|
|
113
|
+
exclude?: string | RegExp | readonly (string | RegExp)[];
|
|
165
114
|
/**
|
|
166
|
-
*
|
|
115
|
+
* For extensionless imports, search for extensions other than .js in the
|
|
116
|
+
* order specified. Note that you need to make sure that non-JavaScript files
|
|
117
|
+
* are transpiled by another plugin first.
|
|
118
|
+
* @default [ '.js' ]
|
|
167
119
|
*/
|
|
168
|
-
|
|
120
|
+
extensions?: ReadonlyArray<string>;
|
|
169
121
|
/**
|
|
170
|
-
*
|
|
122
|
+
* If true then uses of `global` won't be dealt with by this plugin
|
|
123
|
+
* @default false
|
|
171
124
|
*/
|
|
172
|
-
|
|
125
|
+
ignoreGlobal?: boolean;
|
|
173
126
|
/**
|
|
174
|
-
*
|
|
127
|
+
* If false, skips source map generation for CommonJS modules. This will
|
|
128
|
+
* improve performance.
|
|
129
|
+
* @default true
|
|
175
130
|
*/
|
|
176
|
-
|
|
177
|
-
on(event: 'unlink' | 'unlinkDir', listener: (path: string) => void): this;
|
|
178
|
-
on(event: string, listener: (...args: any[]) => void): this;
|
|
179
|
-
}
|
|
180
|
-
interface WatchOptions {
|
|
131
|
+
sourceMap?: boolean;
|
|
181
132
|
/**
|
|
182
|
-
*
|
|
183
|
-
*
|
|
184
|
-
*
|
|
133
|
+
* Some `require` calls cannot be resolved statically to be translated to
|
|
134
|
+
* imports.
|
|
135
|
+
* When this option is set to `false`, the generated code will either
|
|
136
|
+
* directly throw an error when such a call is encountered or, when
|
|
137
|
+
* `dynamicRequireTargets` is used, when such a call cannot be resolved with a
|
|
138
|
+
* configured dynamic require target.
|
|
139
|
+
* Setting this option to `true` will instead leave the `require` call in the
|
|
140
|
+
* code or use it as a fallback for `dynamicRequireTargets`.
|
|
141
|
+
* @default false
|
|
185
142
|
*/
|
|
186
|
-
|
|
143
|
+
ignoreDynamicRequires?: boolean;
|
|
187
144
|
/**
|
|
188
|
-
*
|
|
189
|
-
*
|
|
190
|
-
*
|
|
191
|
-
*
|
|
192
|
-
*
|
|
145
|
+
* Instructs the plugin whether to enable mixed module transformations. This
|
|
146
|
+
* is useful in scenarios with modules that contain a mix of ES `import`
|
|
147
|
+
* statements and CommonJS `require` expressions. Set to `true` if `require`
|
|
148
|
+
* calls should be transformed to imports in mixed modules, or `false` if the
|
|
149
|
+
* `require` expressions should survive the transformation. The latter can be
|
|
150
|
+
* important if the code contains environment detection, or you are coding
|
|
151
|
+
* for an environment with special treatment for `require` calls such as
|
|
152
|
+
* ElectronJS. See also the `ignore` option.
|
|
153
|
+
* @default false
|
|
193
154
|
*/
|
|
194
|
-
|
|
155
|
+
transformMixedEsModules?: boolean;
|
|
195
156
|
/**
|
|
196
|
-
*
|
|
197
|
-
*
|
|
157
|
+
* By default, this plugin will try to hoist `require` statements as imports
|
|
158
|
+
* to the top of each file. While this works well for many code bases and
|
|
159
|
+
* allows for very efficient ESM output, it does not perfectly capture
|
|
160
|
+
* CommonJS semantics as the order of side effects like log statements may
|
|
161
|
+
* change. But it is especially problematic when there are circular `require`
|
|
162
|
+
* calls between CommonJS modules as those often rely on the lazy execution of
|
|
163
|
+
* nested `require` calls.
|
|
164
|
+
*
|
|
165
|
+
* Setting this option to `true` will wrap all CommonJS files in functions
|
|
166
|
+
* which are executed when they are required for the first time, preserving
|
|
167
|
+
* NodeJS semantics. Note that this can have an impact on the size and
|
|
168
|
+
* performance of the generated code.
|
|
169
|
+
*
|
|
170
|
+
* The default value of `"auto"` will only wrap CommonJS files when they are
|
|
171
|
+
* part of a CommonJS dependency cycle, e.g. an index file that is required by
|
|
172
|
+
* many of its dependencies. All other CommonJS files are hoisted. This is the
|
|
173
|
+
* recommended setting for most code bases.
|
|
174
|
+
*
|
|
175
|
+
* `false` will entirely prevent wrapping and hoist all files. This may still
|
|
176
|
+
* work depending on the nature of cyclic dependencies but will often cause
|
|
177
|
+
* problems.
|
|
178
|
+
*
|
|
179
|
+
* You can also provide a minimatch pattern, or array of patterns, to only
|
|
180
|
+
* specify a subset of files which should be wrapped in functions for proper
|
|
181
|
+
* `require` semantics.
|
|
182
|
+
*
|
|
183
|
+
* `"debug"` works like `"auto"` but after bundling, it will display a warning
|
|
184
|
+
* containing a list of ids that have been wrapped which can be used as
|
|
185
|
+
* minimatch pattern for fine-tuning.
|
|
186
|
+
* @default "auto"
|
|
198
187
|
*/
|
|
199
|
-
|
|
188
|
+
strictRequires?: boolean | string | RegExp | readonly (string | RegExp)[];
|
|
200
189
|
/**
|
|
201
|
-
*
|
|
202
|
-
* the
|
|
190
|
+
* Sometimes you have to leave require statements unconverted. Pass an array
|
|
191
|
+
* containing the IDs or a `id => boolean` function.
|
|
192
|
+
* @default []
|
|
203
193
|
*/
|
|
204
|
-
|
|
194
|
+
ignore?: ReadonlyArray<string> | ((id: string) => boolean);
|
|
205
195
|
/**
|
|
206
|
-
*
|
|
207
|
-
* be
|
|
196
|
+
* In most cases, where `require` calls are inside a `try-catch` clause,
|
|
197
|
+
* they should be left unconverted as it requires an optional dependency
|
|
198
|
+
* that may or may not be installed beside the rolled up package.
|
|
199
|
+
* Due to the conversion of `require` to a static `import` - the call is
|
|
200
|
+
* hoisted to the top of the file, outside the `try-catch` clause.
|
|
201
|
+
*
|
|
202
|
+
* - `true`: Default. All `require` calls inside a `try` will be left unconverted.
|
|
203
|
+
* - `false`: All `require` calls inside a `try` will be converted as if the
|
|
204
|
+
* `try-catch` clause is not there.
|
|
205
|
+
* - `remove`: Remove all `require` calls from inside any `try` block.
|
|
206
|
+
* - `string[]`: Pass an array containing the IDs to left unconverted.
|
|
207
|
+
* - `((id: string) => boolean|'remove')`: Pass a function that controls
|
|
208
|
+
* individual IDs.
|
|
209
|
+
*
|
|
210
|
+
* @default true
|
|
208
211
|
*/
|
|
209
|
-
|
|
212
|
+
ignoreTryCatch?: boolean | 'remove' | ReadonlyArray<string> | ((id: string) => boolean | 'remove');
|
|
210
213
|
/**
|
|
211
|
-
*
|
|
212
|
-
*
|
|
214
|
+
* Controls how to render imports from external dependencies. By default,
|
|
215
|
+
* this plugin assumes that all external dependencies are CommonJS. This
|
|
216
|
+
* means they are rendered as default imports to be compatible with e.g.
|
|
217
|
+
* NodeJS where ES modules can only import a default export from a CommonJS
|
|
218
|
+
* dependency.
|
|
219
|
+
*
|
|
220
|
+
* If you set `esmExternals` to `true`, this plugin assumes that all
|
|
221
|
+
* external dependencies are ES modules and respect the
|
|
222
|
+
* `requireReturnsDefault` option. If that option is not set, they will be
|
|
223
|
+
* rendered as namespace imports.
|
|
213
224
|
*
|
|
225
|
+
* You can also supply an array of ids to be treated as ES modules, or a
|
|
226
|
+
* function that will be passed each external id to determine whether it is
|
|
227
|
+
* an ES module.
|
|
214
228
|
* @default false
|
|
215
229
|
*/
|
|
216
|
-
|
|
217
|
-
/**
|
|
218
|
-
* Whether to use fs.watchFile (backed by polling), or fs.watch. If polling leads to high CPU
|
|
219
|
-
* utilization, consider setting this to `false`. It is typically necessary to **set this to
|
|
220
|
-
* `true` to successfully watch files over a network**, and it may be necessary to successfully
|
|
221
|
-
* watch files in other non-standard situations. Setting to `true` explicitly on OS X overrides
|
|
222
|
-
* the `useFsEvents` default.
|
|
223
|
-
*/
|
|
224
|
-
usePolling?: boolean;
|
|
225
|
-
/**
|
|
226
|
-
* Whether to use the `fsevents` watching interface if available. When set to `true` explicitly
|
|
227
|
-
* and `fsevents` is available this supersedes the `usePolling` setting. When set to `false` on
|
|
228
|
-
* OS X, `usePolling: true` becomes the default.
|
|
229
|
-
*/
|
|
230
|
-
useFsEvents?: boolean;
|
|
230
|
+
esmExternals?: boolean | ReadonlyArray<string> | ((id: string) => boolean);
|
|
231
231
|
/**
|
|
232
|
-
*
|
|
233
|
-
*
|
|
234
|
-
*
|
|
232
|
+
* Controls what is returned when requiring an ES module from a CommonJS file.
|
|
233
|
+
* When using the `esmExternals` option, this will also apply to external
|
|
234
|
+
* modules. By default, this plugin will render those imports as namespace
|
|
235
|
+
* imports i.e.
|
|
236
|
+
*
|
|
237
|
+
* ```js
|
|
238
|
+
* // input
|
|
239
|
+
* const foo = require('foo');
|
|
240
|
+
*
|
|
241
|
+
* // output
|
|
242
|
+
* import * as foo from 'foo';
|
|
243
|
+
* ```
|
|
244
|
+
*
|
|
245
|
+
* However, there are some situations where this may not be desired.
|
|
246
|
+
* For these situations, you can change Rollup's behaviour either globally or
|
|
247
|
+
* per module. To change it globally, set the `requireReturnsDefault` option
|
|
248
|
+
* to one of the following values:
|
|
249
|
+
*
|
|
250
|
+
* - `false`: This is the default, requiring an ES module returns its
|
|
251
|
+
* namespace. This is the only option that will also add a marker
|
|
252
|
+
* `__esModule: true` to the namespace to support interop patterns in
|
|
253
|
+
* CommonJS modules that are transpiled ES modules.
|
|
254
|
+
* - `"namespace"`: Like `false`, requiring an ES module returns its
|
|
255
|
+
* namespace, but the plugin does not add the `__esModule` marker and thus
|
|
256
|
+
* creates more efficient code. For external dependencies when using
|
|
257
|
+
* `esmExternals: true`, no additional interop code is generated.
|
|
258
|
+
* - `"auto"`: This is complementary to how `output.exports: "auto"` works in
|
|
259
|
+
* Rollup: If a module has a default export and no named exports, requiring
|
|
260
|
+
* that module returns the default export. In all other cases, the namespace
|
|
261
|
+
* is returned. For external dependencies when using `esmExternals: true`, a
|
|
262
|
+
* corresponding interop helper is added.
|
|
263
|
+
* - `"preferred"`: If a module has a default export, requiring that module
|
|
264
|
+
* always returns the default export, no matter whether additional named
|
|
265
|
+
* exports exist. This is similar to how previous versions of this plugin
|
|
266
|
+
* worked. Again for external dependencies when using `esmExternals: true`,
|
|
267
|
+
* an interop helper is added.
|
|
268
|
+
* - `true`: This will always try to return the default export on require
|
|
269
|
+
* without checking if it actually exists. This can throw at build time if
|
|
270
|
+
* there is no default export. This is how external dependencies are handled
|
|
271
|
+
* when `esmExternals` is not used. The advantage over the other options is
|
|
272
|
+
* that, like `false`, this does not add an interop helper for external
|
|
273
|
+
* dependencies, keeping the code lean.
|
|
274
|
+
*
|
|
275
|
+
* To change this for individual modules, you can supply a function for
|
|
276
|
+
* `requireReturnsDefault` instead. This function will then be called once for
|
|
277
|
+
* each required ES module or external dependency with the corresponding id
|
|
278
|
+
* and allows you to return different values for different modules.
|
|
279
|
+
* @default false
|
|
280
|
+
*/
|
|
281
|
+
requireReturnsDefault?: boolean | 'auto' | 'preferred' | 'namespace' | ((id: string) => boolean | 'auto' | 'preferred' | 'namespace');
|
|
282
|
+
/**
|
|
283
|
+
* @default "auto"
|
|
284
|
+
*/
|
|
285
|
+
defaultIsModuleExports?: boolean | 'auto' | ((id: string) => boolean | 'auto');
|
|
286
|
+
/**
|
|
287
|
+
* Some modules contain dynamic `require` calls, or require modules that
|
|
288
|
+
* contain circular dependencies, which are not handled well by static
|
|
289
|
+
* imports. Including those modules as `dynamicRequireTargets` will simulate a
|
|
290
|
+
* CommonJS (NodeJS-like) environment for them with support for dynamic
|
|
291
|
+
* dependencies. It also enables `strictRequires` for those modules.
|
|
292
|
+
*
|
|
293
|
+
* Note: In extreme cases, this feature may result in some paths being
|
|
294
|
+
* rendered as absolute in the final bundle. The plugin tries to avoid
|
|
295
|
+
* exposing paths from the local machine, but if you are `dynamicRequirePaths`
|
|
296
|
+
* with paths that are far away from your project's folder, that may require
|
|
297
|
+
* replacing strings like `"/Users/John/Desktop/foo-project/"` -\> `"/"`.
|
|
298
|
+
*/
|
|
299
|
+
dynamicRequireTargets?: string | ReadonlyArray<string>;
|
|
300
|
+
/**
|
|
301
|
+
* To avoid long paths when using the `dynamicRequireTargets` option, you can use this option to specify a directory
|
|
302
|
+
* that is a common parent for all files that use dynamic require statements. Using a directory higher up such as `/`
|
|
303
|
+
* may lead to unnecessarily long paths in the generated code and may expose directory names on your machine like your
|
|
304
|
+
* home directory name. By default, it uses the current working directory.
|
|
305
|
+
*/
|
|
306
|
+
dynamicRequireRoot?: string;
|
|
307
|
+
}
|
|
308
|
+
//#endregion
|
|
309
|
+
//#region src/types/dynamicImportVars.d.ts
|
|
310
|
+
interface RollupDynamicImportVarsOptions {
|
|
311
|
+
/**
|
|
312
|
+
* Files to include in this plugin (default all).
|
|
313
|
+
* @default []
|
|
314
|
+
*/
|
|
315
|
+
include?: string | RegExp | (string | RegExp)[];
|
|
316
|
+
/**
|
|
317
|
+
* Files to exclude in this plugin (default none).
|
|
318
|
+
* @default []
|
|
319
|
+
*/
|
|
320
|
+
exclude?: string | RegExp | (string | RegExp)[];
|
|
321
|
+
/**
|
|
322
|
+
* @deprecated This option is no-op and will be removed in future versions.
|
|
323
|
+
*/
|
|
324
|
+
warnOnError?: boolean;
|
|
325
|
+
}
|
|
326
|
+
//#endregion
|
|
327
|
+
//#region src/types/anymatch.d.ts
|
|
328
|
+
type AnymatchFn = (testString: string) => boolean;
|
|
329
|
+
type AnymatchPattern = string | RegExp | AnymatchFn;
|
|
330
|
+
type AnymatchMatcher = AnymatchPattern | AnymatchPattern[];
|
|
331
|
+
//#endregion
|
|
332
|
+
//#region src/types/chokidar.d.ts
|
|
333
|
+
declare class FSWatcher extends EventEmitter implements fs.FSWatcher {
|
|
334
|
+
options: WatchOptions;
|
|
335
|
+
/**
|
|
336
|
+
* Constructs a new FSWatcher instance with optional WatchOptions parameter.
|
|
337
|
+
*/
|
|
338
|
+
constructor(options?: WatchOptions);
|
|
339
|
+
/**
|
|
340
|
+
* When called, requests that the Node.js event loop not exit so long as the fs.FSWatcher is active.
|
|
341
|
+
* Calling watcher.ref() multiple times will have no effect.
|
|
342
|
+
*/
|
|
343
|
+
ref(): this;
|
|
344
|
+
/**
|
|
345
|
+
* When called, the active fs.FSWatcher object will not require the Node.js event loop to remain active.
|
|
346
|
+
* If there is no other activity keeping the event loop running, the process may exit before the fs.FSWatcher object's callback is invoked.
|
|
347
|
+
* Calling watcher.unref() multiple times will have no effect.
|
|
348
|
+
*/
|
|
349
|
+
unref(): this;
|
|
350
|
+
/**
|
|
351
|
+
* Add files, directories, or glob patterns for tracking. Takes an array of strings or just one
|
|
352
|
+
* string.
|
|
353
|
+
*/
|
|
354
|
+
add(paths: string | ReadonlyArray<string>): this;
|
|
355
|
+
/**
|
|
356
|
+
* Stop watching files, directories, or glob patterns. Takes an array of strings or just one
|
|
357
|
+
* string.
|
|
358
|
+
*/
|
|
359
|
+
unwatch(paths: string | ReadonlyArray<string>): this;
|
|
360
|
+
/**
|
|
361
|
+
* Returns an object representing all the paths on the file system being watched by this
|
|
362
|
+
* `FSWatcher` instance. The object's keys are all the directories (using absolute paths unless
|
|
363
|
+
* the `cwd` option was used), and the values are arrays of the names of the items contained in
|
|
364
|
+
* each directory.
|
|
365
|
+
*/
|
|
366
|
+
getWatched(): {
|
|
367
|
+
[directory: string]: string[];
|
|
368
|
+
};
|
|
369
|
+
/**
|
|
370
|
+
* Removes all listeners from watched files.
|
|
371
|
+
*/
|
|
372
|
+
close(): Promise<void>;
|
|
373
|
+
on(event: 'add' | 'addDir' | 'change', listener: (path: string, stats?: fs.Stats) => void): this;
|
|
374
|
+
on(event: 'all', listener: (eventName: 'add' | 'addDir' | 'change' | 'unlink' | 'unlinkDir', path: string, stats?: fs.Stats) => void): this;
|
|
375
|
+
/**
|
|
376
|
+
* Error occurred
|
|
377
|
+
*/
|
|
378
|
+
on(event: 'error', listener: (error: Error) => void): this;
|
|
379
|
+
/**
|
|
380
|
+
* Exposes the native Node `fs.FSWatcher events`
|
|
381
|
+
*/
|
|
382
|
+
on(event: 'raw', listener: (eventName: string, path: string, details: any) => void): this;
|
|
383
|
+
/**
|
|
384
|
+
* Fires when the initial scan is complete
|
|
385
|
+
*/
|
|
386
|
+
on(event: 'ready', listener: () => void): this;
|
|
387
|
+
on(event: 'unlink' | 'unlinkDir', listener: (path: string) => void): this;
|
|
388
|
+
on(event: string, listener: (...args: any[]) => void): this;
|
|
389
|
+
}
|
|
390
|
+
interface WatchOptions {
|
|
391
|
+
/**
|
|
392
|
+
* Indicates whether the process should continue to run as long as files are being watched. If
|
|
393
|
+
* set to `false` when using `fsevents` to watch, no more events will be emitted after `ready`,
|
|
394
|
+
* even if the process continues to run.
|
|
395
|
+
*/
|
|
396
|
+
persistent?: boolean;
|
|
397
|
+
/**
|
|
398
|
+
* ([anymatch](https://github.com/micromatch/anymatch)-compatible definition) Defines files/paths to
|
|
399
|
+
* be ignored. The whole relative or absolute path is tested, not just filename. If a function
|
|
400
|
+
* with two arguments is provided, it gets called twice per path - once with a single argument
|
|
401
|
+
* (the path), second time with two arguments (the path and the
|
|
402
|
+
* [`fs.Stats`](https://nodejs.org/api/fs.html#fs_class_fs_stats) object of that path).
|
|
403
|
+
*/
|
|
404
|
+
ignored?: AnymatchMatcher;
|
|
405
|
+
/**
|
|
406
|
+
* If set to `false` then `add`/`addDir` events are also emitted for matching paths while
|
|
407
|
+
* instantiating the watching as chokidar discovers these file paths (before the `ready` event).
|
|
408
|
+
*/
|
|
409
|
+
ignoreInitial?: boolean;
|
|
410
|
+
/**
|
|
411
|
+
* When `false`, only the symlinks themselves will be watched for changes instead of following
|
|
412
|
+
* the link references and bubbling events through the link's path.
|
|
413
|
+
*/
|
|
414
|
+
followSymlinks?: boolean;
|
|
415
|
+
/**
|
|
416
|
+
* The base directory from which watch `paths` are to be derived. Paths emitted with events will
|
|
417
|
+
* be relative to this.
|
|
418
|
+
*/
|
|
419
|
+
cwd?: string;
|
|
420
|
+
/**
|
|
421
|
+
* If set to true then the strings passed to .watch() and .add() are treated as literal path
|
|
422
|
+
* names, even if they look like globs.
|
|
423
|
+
*
|
|
424
|
+
* @default false
|
|
425
|
+
*/
|
|
426
|
+
disableGlobbing?: boolean;
|
|
427
|
+
/**
|
|
428
|
+
* Whether to use fs.watchFile (backed by polling), or fs.watch. If polling leads to high CPU
|
|
429
|
+
* utilization, consider setting this to `false`. It is typically necessary to **set this to
|
|
430
|
+
* `true` to successfully watch files over a network**, and it may be necessary to successfully
|
|
431
|
+
* watch files in other non-standard situations. Setting to `true` explicitly on OS X overrides
|
|
432
|
+
* the `useFsEvents` default.
|
|
433
|
+
*/
|
|
434
|
+
usePolling?: boolean;
|
|
435
|
+
/**
|
|
436
|
+
* Whether to use the `fsevents` watching interface if available. When set to `true` explicitly
|
|
437
|
+
* and `fsevents` is available this supersedes the `usePolling` setting. When set to `false` on
|
|
438
|
+
* OS X, `usePolling: true` becomes the default.
|
|
439
|
+
*/
|
|
440
|
+
useFsEvents?: boolean;
|
|
441
|
+
/**
|
|
442
|
+
* If relying upon the [`fs.Stats`](https://nodejs.org/api/fs.html#fs_class_fs_stats) object that
|
|
443
|
+
* may get passed with `add`, `addDir`, and `change` events, set this to `true` to ensure it is
|
|
444
|
+
* provided even in cases where it wasn't already available from the underlying watch events.
|
|
235
445
|
*/
|
|
236
446
|
alwaysStat?: boolean;
|
|
237
447
|
/**
|
|
@@ -345,6 +555,18 @@ declare namespace Connect {
|
|
|
345
555
|
}
|
|
346
556
|
}
|
|
347
557
|
//#endregion
|
|
558
|
+
//#region src/shared/forwardConsole.d.ts
|
|
559
|
+
type ForwardConsoleLogLevel = "error" | "warn" | "info" | "log" | "debug" | (string & {});
|
|
560
|
+
interface ForwardConsoleOptions {
|
|
561
|
+
unhandledErrors?: boolean;
|
|
562
|
+
logLevels?: ForwardConsoleLogLevel[];
|
|
563
|
+
}
|
|
564
|
+
interface ResolvedForwardConsoleOptions {
|
|
565
|
+
enabled: boolean;
|
|
566
|
+
unhandledErrors: boolean;
|
|
567
|
+
logLevels: ForwardConsoleLogLevel[];
|
|
568
|
+
}
|
|
569
|
+
//#endregion
|
|
348
570
|
//#region ../../node_modules/.pnpm/http-proxy-3@1.23.3_ms@2.1.3/node_modules/http-proxy-3/dist/lib/http-proxy/index.d.ts
|
|
349
571
|
interface ProxyTargetDetailed {
|
|
350
572
|
host: string;
|
|
@@ -576,34 +798,6 @@ interface ProxyOptions extends ServerOptions$3 {
|
|
|
576
798
|
rewriteWsOrigin?: boolean | undefined;
|
|
577
799
|
}
|
|
578
800
|
//#endregion
|
|
579
|
-
//#region src/node/logger.d.ts
|
|
580
|
-
type LogType = "error" | "warn" | "info";
|
|
581
|
-
type LogLevel = LogType | "silent";
|
|
582
|
-
interface Logger {
|
|
583
|
-
info(msg: string, options?: LogOptions): void;
|
|
584
|
-
warn(msg: string, options?: LogOptions): void;
|
|
585
|
-
warnOnce(msg: string, options?: LogOptions): void;
|
|
586
|
-
error(msg: string, options?: LogErrorOptions): void;
|
|
587
|
-
clearScreen(type: LogType): void;
|
|
588
|
-
hasErrorLogged(error: Error | RollupError): boolean;
|
|
589
|
-
hasWarned: boolean;
|
|
590
|
-
}
|
|
591
|
-
interface LogOptions {
|
|
592
|
-
clear?: boolean;
|
|
593
|
-
timestamp?: boolean;
|
|
594
|
-
environment?: string;
|
|
595
|
-
}
|
|
596
|
-
interface LogErrorOptions extends LogOptions {
|
|
597
|
-
error?: Error | RollupError | null;
|
|
598
|
-
}
|
|
599
|
-
interface LoggerOptions {
|
|
600
|
-
prefix?: string;
|
|
601
|
-
allowClearScreen?: boolean;
|
|
602
|
-
customLogger?: Logger;
|
|
603
|
-
console?: Console;
|
|
604
|
-
}
|
|
605
|
-
declare function createLogger(level?: LogLevel, options?: LoggerOptions): Logger;
|
|
606
|
-
//#endregion
|
|
607
801
|
//#region src/node/http.d.ts
|
|
608
802
|
interface CommonServerOptions {
|
|
609
803
|
/**
|
|
@@ -704,120 +898,6 @@ interface CorsOptions {
|
|
|
704
898
|
}
|
|
705
899
|
type CorsOrigin = boolean | string | RegExp | (string | RegExp)[];
|
|
706
900
|
//#endregion
|
|
707
|
-
//#region src/shared/forwardConsole.d.ts
|
|
708
|
-
type ForwardConsoleLogLevel = "error" | "warn" | "info" | "log" | "debug" | (string & {});
|
|
709
|
-
interface ForwardConsoleOptions {
|
|
710
|
-
unhandledErrors?: boolean;
|
|
711
|
-
logLevels?: ForwardConsoleLogLevel[];
|
|
712
|
-
}
|
|
713
|
-
interface ResolvedForwardConsoleOptions {
|
|
714
|
-
enabled: boolean;
|
|
715
|
-
unhandledErrors: boolean;
|
|
716
|
-
logLevels: ForwardConsoleLogLevel[];
|
|
717
|
-
}
|
|
718
|
-
//#endregion
|
|
719
|
-
//#region src/node/typeUtils.d.ts
|
|
720
|
-
type RequiredExceptFor<T, K extends keyof T> = Pick<T, K> & Required<Omit<T, K>>;
|
|
721
|
-
//#endregion
|
|
722
|
-
//#region src/node/preview.d.ts
|
|
723
|
-
interface PreviewOptions extends CommonServerOptions {}
|
|
724
|
-
interface ResolvedPreviewOptions extends RequiredExceptFor<PreviewOptions, "host" | "https" | "proxy"> {}
|
|
725
|
-
interface PreviewServer {
|
|
726
|
-
/**
|
|
727
|
-
* The resolved vite config object
|
|
728
|
-
*/
|
|
729
|
-
config: ResolvedConfig;
|
|
730
|
-
/**
|
|
731
|
-
* Stop the server.
|
|
732
|
-
*/
|
|
733
|
-
close(): Promise<void>;
|
|
734
|
-
/**
|
|
735
|
-
* A connect app instance.
|
|
736
|
-
* - Can be used to attach custom middlewares to the preview server.
|
|
737
|
-
* - Can also be used as the handler function of a custom http server
|
|
738
|
-
* or as a middleware in any connect-style Node.js frameworks
|
|
739
|
-
*
|
|
740
|
-
* https://github.com/senchalabs/connect#use-middleware
|
|
741
|
-
*/
|
|
742
|
-
middlewares: Connect.Server;
|
|
743
|
-
/**
|
|
744
|
-
* native Node http server instance
|
|
745
|
-
*/
|
|
746
|
-
httpServer: HttpServer;
|
|
747
|
-
/**
|
|
748
|
-
* The resolved urls Vite prints on the CLI (URL-encoded). Returns `null`
|
|
749
|
-
* if the server is not listening on any port.
|
|
750
|
-
*/
|
|
751
|
-
resolvedUrls: ResolvedServerUrls | null;
|
|
752
|
-
/**
|
|
753
|
-
* Print server urls
|
|
754
|
-
*/
|
|
755
|
-
printUrls(): void;
|
|
756
|
-
/**
|
|
757
|
-
* Bind CLI shortcuts
|
|
758
|
-
*/
|
|
759
|
-
bindCLIShortcuts(options?: BindCLIShortcutsOptions<PreviewServer>): void;
|
|
760
|
-
}
|
|
761
|
-
type PreviewServerHook = (this: MinimalPluginContextWithoutEnvironment, server: PreviewServer) => (() => void) | void | Promise<(() => void) | void>;
|
|
762
|
-
/**
|
|
763
|
-
* Starts the Vite server in preview mode, to simulate a production deployment
|
|
764
|
-
*/
|
|
765
|
-
declare function preview(inlineConfig?: InlineConfig): Promise<PreviewServer>;
|
|
766
|
-
//#endregion
|
|
767
|
-
//#region src/node/shortcuts.d.ts
|
|
768
|
-
type BindCLIShortcutsOptions<Server = ViteDevServer | PreviewServer> = {
|
|
769
|
-
/**
|
|
770
|
-
* Print a one-line shortcuts "help" hint to the terminal
|
|
771
|
-
*/
|
|
772
|
-
print?: boolean;
|
|
773
|
-
/**
|
|
774
|
-
* Custom shortcuts to run when a key is pressed. These shortcuts take priority
|
|
775
|
-
* over the default shortcuts if they have the same keys (except the `h` key).
|
|
776
|
-
* To disable a default shortcut, define the same key but with `action: undefined`.
|
|
777
|
-
*/
|
|
778
|
-
customShortcuts?: CLIShortcut<Server>[];
|
|
779
|
-
};
|
|
780
|
-
type CLIShortcut<Server = ViteDevServer | PreviewServer> = {
|
|
781
|
-
key: string;
|
|
782
|
-
description: string;
|
|
783
|
-
action?(server: Server): void | Promise<void>;
|
|
784
|
-
};
|
|
785
|
-
//#endregion
|
|
786
|
-
//#region src/node/baseEnvironment.d.ts
|
|
787
|
-
declare class PartialEnvironment {
|
|
788
|
-
name: string;
|
|
789
|
-
getTopLevelConfig(): ResolvedConfig;
|
|
790
|
-
config: ResolvedConfig & ResolvedEnvironmentOptions;
|
|
791
|
-
logger: Logger;
|
|
792
|
-
constructor(name: string, topLevelConfig: ResolvedConfig, options?: ResolvedEnvironmentOptions);
|
|
793
|
-
}
|
|
794
|
-
declare class BaseEnvironment extends PartialEnvironment {
|
|
795
|
-
get plugins(): readonly Plugin[];
|
|
796
|
-
constructor(name: string, config: ResolvedConfig, options?: ResolvedEnvironmentOptions);
|
|
797
|
-
}
|
|
798
|
-
/**
|
|
799
|
-
* This class discourages users from inversely checking the `mode`
|
|
800
|
-
* to determine the type of environment, e.g.
|
|
801
|
-
*
|
|
802
|
-
* ```js
|
|
803
|
-
* const isDev = environment.mode !== 'build' // bad
|
|
804
|
-
* const isDev = environment.mode === 'dev' // good
|
|
805
|
-
* ```
|
|
806
|
-
*
|
|
807
|
-
* You should also not check against `"unknown"` specifically. It's
|
|
808
|
-
* a placeholder for more possible environment types.
|
|
809
|
-
*/
|
|
810
|
-
declare class UnknownEnvironment extends BaseEnvironment {
|
|
811
|
-
mode: "unknown";
|
|
812
|
-
}
|
|
813
|
-
//#endregion
|
|
814
|
-
//#region src/node/optimizer/scan.d.ts
|
|
815
|
-
declare class ScanEnvironment extends BaseEnvironment {
|
|
816
|
-
mode: "scan";
|
|
817
|
-
get pluginContainer(): EnvironmentPluginContainer;
|
|
818
|
-
init(): Promise<void>;
|
|
819
|
-
}
|
|
820
|
-
//#endregion
|
|
821
901
|
//#region src/node/optimizer/index.d.ts
|
|
822
902
|
type ExportsData = {
|
|
823
903
|
hasModuleSyntax: boolean;
|
|
@@ -1013,7 +1093,60 @@ interface DepOptimizationMetadata {
|
|
|
1013
1093
|
*
|
|
1014
1094
|
* @deprecated the optimization process runs automatically and does not need to be called
|
|
1015
1095
|
*/
|
|
1016
|
-
declare function optimizeDeps(config: ResolvedConfig, force?: boolean | undefined, asCommand?: boolean): Promise<DepOptimizationMetadata>;
|
|
1096
|
+
export declare function optimizeDeps(config: ResolvedConfig, force?: boolean | undefined, asCommand?: boolean): Promise<DepOptimizationMetadata>;
|
|
1097
|
+
//#endregion
|
|
1098
|
+
//#region src/node/server/bundledDev.d.ts
|
|
1099
|
+
type MemoryFile = {
|
|
1100
|
+
source: string | Uint8Array;
|
|
1101
|
+
etag?: string;
|
|
1102
|
+
};
|
|
1103
|
+
declare class MemoryFiles {
|
|
1104
|
+
private files;
|
|
1105
|
+
get size(): number;
|
|
1106
|
+
get(file: string): MemoryFile | undefined;
|
|
1107
|
+
set(file: string, content: MemoryFile | (() => MemoryFile)): void;
|
|
1108
|
+
has(file: string): boolean;
|
|
1109
|
+
clear(): void;
|
|
1110
|
+
}
|
|
1111
|
+
declare class BundledDev {
|
|
1112
|
+
private environment;
|
|
1113
|
+
private _devEngine;
|
|
1114
|
+
private viteRuntime?;
|
|
1115
|
+
private initialBuildCompleted;
|
|
1116
|
+
private _closed;
|
|
1117
|
+
private clients;
|
|
1118
|
+
private debouncedFullReload;
|
|
1119
|
+
private fullReloadPending;
|
|
1120
|
+
private reloadNeededClientIds;
|
|
1121
|
+
private debouncedReloadNeededFlush;
|
|
1122
|
+
private lastBuildError;
|
|
1123
|
+
memoryFiles: MemoryFiles;
|
|
1124
|
+
constructor(environment: DevEnvironment);
|
|
1125
|
+
private get devEngine();
|
|
1126
|
+
private pendingPayloadFilenames;
|
|
1127
|
+
get hasBuildOutput(): boolean;
|
|
1128
|
+
listen(): Promise<void>;
|
|
1129
|
+
private waitForInitialBuildFinish;
|
|
1130
|
+
private ensureOutputAndFlushReloadNeeded;
|
|
1131
|
+
triggerBundleRegenerationIfStale(): Promise<boolean>;
|
|
1132
|
+
triggerLazyBundling(moduleId: string | null, clientId: string | null): Promise<{
|
|
1133
|
+
code: string;
|
|
1134
|
+
filename: string;
|
|
1135
|
+
} | undefined>;
|
|
1136
|
+
/**
|
|
1137
|
+
* Called when the client reports that it evaluated a payload (the line appended
|
|
1138
|
+
* by `payloadDeliveredAck`). Only then is the payload recorded on the server's
|
|
1139
|
+
* per-client ship map, so later chunks may omit a module only if the client
|
|
1140
|
+
* already registered it.
|
|
1141
|
+
*
|
|
1142
|
+
* Note: the payload filename is unique across all clients.
|
|
1143
|
+
*/
|
|
1144
|
+
markPayloadDelivered(filename: string): void;
|
|
1145
|
+
close(): Promise<void>;
|
|
1146
|
+
private storeOutputFiles;
|
|
1147
|
+
private getRolldownOptions;
|
|
1148
|
+
private handleHmrOutput;
|
|
1149
|
+
}
|
|
1017
1150
|
//#endregion
|
|
1018
1151
|
//#region src/node/server/transformRequest.d.ts
|
|
1019
1152
|
interface TransformResult {
|
|
@@ -1306,106 +1439,214 @@ type ServerHotChannelApi = {
|
|
|
1306
1439
|
};
|
|
1307
1440
|
type ServerHotChannel = HotChannel<ServerHotChannelApi>;
|
|
1308
1441
|
type NormalizedServerHotChannel = NormalizedHotChannel<ServerHotChannelApi>;
|
|
1309
|
-
declare function createServerHotChannel(): ServerHotChannel;
|
|
1442
|
+
export declare function createServerHotChannel(): ServerHotChannel;
|
|
1310
1443
|
//#endregion
|
|
1311
|
-
//#region src/
|
|
1312
|
-
|
|
1313
|
-
|
|
1314
|
-
|
|
1315
|
-
|
|
1316
|
-
|
|
1317
|
-
|
|
1318
|
-
|
|
1319
|
-
|
|
1320
|
-
|
|
1321
|
-
|
|
1322
|
-
|
|
1323
|
-
|
|
1324
|
-
|
|
1325
|
-
|
|
1326
|
-
|
|
1327
|
-
|
|
1328
|
-
|
|
1329
|
-
|
|
1330
|
-
|
|
1331
|
-
|
|
1332
|
-
|
|
1333
|
-
|
|
1334
|
-
|
|
1335
|
-
|
|
1336
|
-
|
|
1337
|
-
|
|
1338
|
-
|
|
1339
|
-
|
|
1340
|
-
|
|
1341
|
-
|
|
1342
|
-
|
|
1343
|
-
|
|
1344
|
-
|
|
1345
|
-
|
|
1346
|
-
|
|
1347
|
-
|
|
1348
|
-
|
|
1349
|
-
|
|
1350
|
-
|
|
1351
|
-
|
|
1352
|
-
|
|
1353
|
-
|
|
1354
|
-
|
|
1355
|
-
}
|
|
1356
|
-
|
|
1357
|
-
|
|
1358
|
-
|
|
1359
|
-
|
|
1360
|
-
|
|
1361
|
-
|
|
1362
|
-
|
|
1363
|
-
|
|
1364
|
-
|
|
1365
|
-
|
|
1366
|
-
|
|
1367
|
-
|
|
1368
|
-
|
|
1369
|
-
|
|
1370
|
-
|
|
1371
|
-
|
|
1372
|
-
|
|
1373
|
-
|
|
1374
|
-
|
|
1375
|
-
|
|
1376
|
-
|
|
1377
|
-
|
|
1378
|
-
|
|
1379
|
-
|
|
1380
|
-
|
|
1381
|
-
|
|
1382
|
-
|
|
1383
|
-
|
|
1384
|
-
|
|
1385
|
-
|
|
1386
|
-
|
|
1387
|
-
|
|
1388
|
-
|
|
1389
|
-
|
|
1390
|
-
|
|
1391
|
-
|
|
1392
|
-
|
|
1393
|
-
|
|
1394
|
-
|
|
1395
|
-
|
|
1396
|
-
|
|
1397
|
-
|
|
1398
|
-
|
|
1399
|
-
|
|
1400
|
-
|
|
1401
|
-
|
|
1402
|
-
|
|
1403
|
-
|
|
1404
|
-
|
|
1405
|
-
|
|
1406
|
-
|
|
1407
|
-
|
|
1408
|
-
|
|
1444
|
+
//#region src/node/server/pluginContainer.d.ts
|
|
1445
|
+
type SkipInformation = {
|
|
1446
|
+
id: string;
|
|
1447
|
+
importer: string | undefined;
|
|
1448
|
+
plugin: Plugin;
|
|
1449
|
+
called?: boolean;
|
|
1450
|
+
};
|
|
1451
|
+
declare class EnvironmentPluginContainer<Env extends Environment = Environment> {
|
|
1452
|
+
private _pluginContextMap;
|
|
1453
|
+
private _resolvedRolldownOptions?;
|
|
1454
|
+
private _processesing;
|
|
1455
|
+
private _seenResolves;
|
|
1456
|
+
private _moduleNodeToLoadAddedImports;
|
|
1457
|
+
getSortedPluginHooks: PluginHookUtils["getSortedPluginHooks"];
|
|
1458
|
+
getSortedPlugins: PluginHookUtils["getSortedPlugins"];
|
|
1459
|
+
moduleGraph: EnvironmentModuleGraph | undefined;
|
|
1460
|
+
watchFiles: Set<string>;
|
|
1461
|
+
minimalContext: MinimalPluginContext$1<Env>;
|
|
1462
|
+
private _started;
|
|
1463
|
+
private _buildStartPromise;
|
|
1464
|
+
private _closed;
|
|
1465
|
+
private _updateModuleLoadAddedImports;
|
|
1466
|
+
private _getAddedImports;
|
|
1467
|
+
getModuleInfo(id: string): ModuleInfo | null;
|
|
1468
|
+
private handleHookPromise;
|
|
1469
|
+
get options(): InputOptions;
|
|
1470
|
+
resolveRolldownOptions(): Promise<InputOptions>;
|
|
1471
|
+
private _getPluginContext;
|
|
1472
|
+
private hookParallel;
|
|
1473
|
+
buildStart(_options?: InputOptions): Promise<void>;
|
|
1474
|
+
resolveId(rawId: string, importer?: string | undefined, options?: {
|
|
1475
|
+
kind?: ImportKind;
|
|
1476
|
+
attributes?: Record<string, string>;
|
|
1477
|
+
custom?: CustomPluginOptions;
|
|
1478
|
+
/** @deprecated use `skipCalls` instead */
|
|
1479
|
+
skip?: Set<Plugin>;
|
|
1480
|
+
skipCalls?: readonly SkipInformation[];
|
|
1481
|
+
|
|
1482
|
+
isEntry?: boolean;
|
|
1483
|
+
}): Promise<PartialResolvedId | null>;
|
|
1484
|
+
load(id: string): Promise<LoadResult | null>;
|
|
1485
|
+
transform(code: string, id: string, options?: {
|
|
1486
|
+
inMap?: SourceDescription["map"];
|
|
1487
|
+
moduleType?: string;
|
|
1488
|
+
}): Promise<{
|
|
1489
|
+
code: string;
|
|
1490
|
+
map: SourceMap | {
|
|
1491
|
+
mappings: "";
|
|
1492
|
+
} | null;
|
|
1493
|
+
moduleType?: ModuleType;
|
|
1494
|
+
}>;
|
|
1495
|
+
watchChange(id: string, change: {
|
|
1496
|
+
event: "create" | "update" | "delete";
|
|
1497
|
+
}): Promise<void>;
|
|
1498
|
+
close(): Promise<void>;
|
|
1499
|
+
}
|
|
1500
|
+
declare class BasicMinimalPluginContext<Meta = PluginContextMeta> {
|
|
1501
|
+
meta: Meta;
|
|
1502
|
+
private _logger;
|
|
1503
|
+
constructor(meta: Meta, _logger: Logger);
|
|
1504
|
+
get pluginName(): string;
|
|
1505
|
+
debug(rawLog: string | RollupLog | (() => string | RollupLog)): void;
|
|
1506
|
+
info(rawLog: string | RollupLog | (() => string | RollupLog)): void;
|
|
1507
|
+
warn(rawLog: string | RollupLog | (() => string | RollupLog)): void;
|
|
1508
|
+
error(e: string | RollupError): never;
|
|
1509
|
+
private _normalizeRawLog;
|
|
1510
|
+
}
|
|
1511
|
+
declare class MinimalPluginContext$1<T extends Environment = Environment> extends BasicMinimalPluginContext implements MinimalPluginContext {
|
|
1512
|
+
environment: T;
|
|
1513
|
+
constructor(meta: PluginContextMeta, environment: T);
|
|
1514
|
+
}
|
|
1515
|
+
declare class PluginContainer {
|
|
1516
|
+
private environments;
|
|
1517
|
+
constructor(environments: Record<string, Environment>);
|
|
1518
|
+
private _getEnvironment;
|
|
1519
|
+
private _getPluginContainer;
|
|
1520
|
+
getModuleInfo(id: string): ModuleInfo | null;
|
|
1521
|
+
get options(): InputOptions;
|
|
1522
|
+
buildStart(_options?: InputOptions): Promise<void>;
|
|
1523
|
+
watchChange(id: string, change: {
|
|
1524
|
+
event: "create" | "update" | "delete";
|
|
1525
|
+
}): Promise<void>;
|
|
1526
|
+
resolveId(rawId: string, importer?: string, options?: {
|
|
1527
|
+
attributes?: Record<string, string>;
|
|
1528
|
+
custom?: CustomPluginOptions;
|
|
1529
|
+
/** @deprecated use `skipCalls` instead */
|
|
1530
|
+
skip?: Set<Plugin>;
|
|
1531
|
+
skipCalls?: readonly SkipInformation[];
|
|
1532
|
+
ssr?: boolean;
|
|
1533
|
+
|
|
1534
|
+
isEntry?: boolean;
|
|
1535
|
+
}): Promise<PartialResolvedId | null>;
|
|
1536
|
+
load(id: string, options?: {
|
|
1537
|
+
ssr?: boolean;
|
|
1538
|
+
}): Promise<LoadResult | null>;
|
|
1539
|
+
transform(code: string, id: string, options?: {
|
|
1540
|
+
ssr?: boolean;
|
|
1541
|
+
environment?: Environment;
|
|
1542
|
+
inMap?: SourceDescription["map"];
|
|
1543
|
+
}): Promise<{
|
|
1544
|
+
code: string;
|
|
1545
|
+
map: SourceMap | {
|
|
1546
|
+
mappings: "";
|
|
1547
|
+
} | null;
|
|
1548
|
+
}>;
|
|
1549
|
+
close(): Promise<void>;
|
|
1550
|
+
}
|
|
1551
|
+
//#endregion
|
|
1552
|
+
//#region src/types/ws.d.ts
|
|
1553
|
+
// WebSocket socket.
|
|
1554
|
+
declare class WebSocket extends EventEmitter {
|
|
1555
|
+
/** The connection is not yet open. */
|
|
1556
|
+
static readonly CONNECTING: 0;
|
|
1557
|
+
/** The connection is open and ready to communicate. */
|
|
1558
|
+
static readonly OPEN: 1;
|
|
1559
|
+
/** The connection is in the process of closing. */
|
|
1560
|
+
static readonly CLOSING: 2;
|
|
1561
|
+
/** The connection is closed. */
|
|
1562
|
+
static readonly CLOSED: 3;
|
|
1563
|
+
binaryType: 'nodebuffer' | 'arraybuffer' | 'fragments';
|
|
1564
|
+
readonly bufferedAmount: number;
|
|
1565
|
+
readonly extensions: string;
|
|
1566
|
+
/** Indicates whether the websocket is paused */
|
|
1567
|
+
readonly isPaused: boolean;
|
|
1568
|
+
readonly protocol: string;
|
|
1569
|
+
/** The current state of the connection */
|
|
1570
|
+
readonly readyState: typeof WebSocket.CONNECTING | typeof WebSocket.OPEN | typeof WebSocket.CLOSING | typeof WebSocket.CLOSED;
|
|
1571
|
+
readonly url: string;
|
|
1572
|
+
/** The connection is not yet open. */
|
|
1573
|
+
readonly CONNECTING: 0;
|
|
1574
|
+
/** The connection is open and ready to communicate. */
|
|
1575
|
+
readonly OPEN: 1;
|
|
1576
|
+
/** The connection is in the process of closing. */
|
|
1577
|
+
readonly CLOSING: 2;
|
|
1578
|
+
/** The connection is closed. */
|
|
1579
|
+
readonly CLOSED: 3;
|
|
1580
|
+
onopen: ((event: WebSocket.Event) => void) | null;
|
|
1581
|
+
onerror: ((event: WebSocket.ErrorEvent) => void) | null;
|
|
1582
|
+
onclose: ((event: WebSocket.CloseEvent) => void) | null;
|
|
1583
|
+
onmessage: ((event: WebSocket.MessageEvent) => void) | null;
|
|
1584
|
+
constructor(address: null);
|
|
1585
|
+
constructor(address: string | url_URL, options?: WebSocket.ClientOptions | ClientRequestArgs);
|
|
1586
|
+
constructor(address: string | url_URL, protocols?: string | string[], options?: WebSocket.ClientOptions | ClientRequestArgs);
|
|
1587
|
+
close(code?: number, data?: string | Buffer): void;
|
|
1588
|
+
ping(data?: any, mask?: boolean, cb?: (err: Error) => void): void;
|
|
1589
|
+
pong(data?: any, mask?: boolean, cb?: (err: Error) => void): void;
|
|
1590
|
+
send(data: any, cb?: (err?: Error) => void): void;
|
|
1591
|
+
send(data: any, options: {
|
|
1592
|
+
mask?: boolean | undefined;
|
|
1593
|
+
binary?: boolean | undefined;
|
|
1594
|
+
compress?: boolean | undefined;
|
|
1595
|
+
fin?: boolean | undefined;
|
|
1596
|
+
}, cb?: (err?: Error) => void): void;
|
|
1597
|
+
terminate(): void;
|
|
1598
|
+
/**
|
|
1599
|
+
* Pause the websocket causing it to stop emitting events. Some events can still be
|
|
1600
|
+
* emitted after this is called, until all buffered data is consumed. This method
|
|
1601
|
+
* is a noop if the ready state is `CONNECTING` or `CLOSED`.
|
|
1602
|
+
*/
|
|
1603
|
+
pause(): void;
|
|
1604
|
+
/**
|
|
1605
|
+
* Make a paused socket resume emitting events. This method is a noop if the ready
|
|
1606
|
+
* state is `CONNECTING` or `CLOSED`.
|
|
1607
|
+
*/
|
|
1608
|
+
resume(): void;
|
|
1609
|
+
// HTML5 WebSocket events
|
|
1610
|
+
addEventListener(method: 'message', cb: (event: WebSocket.MessageEvent) => void, options?: WebSocket.EventListenerOptions): void;
|
|
1611
|
+
addEventListener(method: 'close', cb: (event: WebSocket.CloseEvent) => void, options?: WebSocket.EventListenerOptions): void;
|
|
1612
|
+
addEventListener(method: 'error', cb: (event: WebSocket.ErrorEvent) => void, options?: WebSocket.EventListenerOptions): void;
|
|
1613
|
+
addEventListener(method: 'open', cb: (event: WebSocket.Event) => void, options?: WebSocket.EventListenerOptions): void;
|
|
1614
|
+
removeEventListener(method: 'message', cb: (event: WebSocket.MessageEvent) => void): void;
|
|
1615
|
+
removeEventListener(method: 'close', cb: (event: WebSocket.CloseEvent) => void): void;
|
|
1616
|
+
removeEventListener(method: 'error', cb: (event: WebSocket.ErrorEvent) => void): void;
|
|
1617
|
+
removeEventListener(method: 'open', cb: (event: WebSocket.Event) => void): void;
|
|
1618
|
+
// Events
|
|
1619
|
+
on(event: 'close', listener: (this: WebSocket, code: number, reason: Buffer) => void): this;
|
|
1620
|
+
on(event: 'error', listener: (this: WebSocket, err: Error) => void): this;
|
|
1621
|
+
on(event: 'upgrade', listener: (this: WebSocket, request: http.IncomingMessage) => void): this;
|
|
1622
|
+
on(event: 'message', listener: (this: WebSocket, data: WebSocket.RawData, isBinary: boolean) => void): this;
|
|
1623
|
+
on(event: 'open', listener: (this: WebSocket) => void): this;
|
|
1624
|
+
on(event: 'ping' | 'pong', listener: (this: WebSocket, data: Buffer) => void): this;
|
|
1625
|
+
on(event: 'unexpected-response', listener: (this: WebSocket, request: ClientRequest, response: http.IncomingMessage) => void): this;
|
|
1626
|
+
on(event: string | symbol, listener: (this: WebSocket, ...args: any[]) => void): this;
|
|
1627
|
+
once(event: 'close', listener: (this: WebSocket, code: number, reason: Buffer) => void): this;
|
|
1628
|
+
once(event: 'error', listener: (this: WebSocket, err: Error) => void): this;
|
|
1629
|
+
once(event: 'upgrade', listener: (this: WebSocket, request: http.IncomingMessage) => void): this;
|
|
1630
|
+
once(event: 'message', listener: (this: WebSocket, data: WebSocket.RawData, isBinary: boolean) => void): this;
|
|
1631
|
+
once(event: 'open', listener: (this: WebSocket) => void): this;
|
|
1632
|
+
once(event: 'ping' | 'pong', listener: (this: WebSocket, data: Buffer) => void): this;
|
|
1633
|
+
once(event: 'unexpected-response', listener: (this: WebSocket, request: ClientRequest, response: http.IncomingMessage) => void): this;
|
|
1634
|
+
once(event: string | symbol, listener: (this: WebSocket, ...args: any[]) => void): this;
|
|
1635
|
+
off(event: 'close', listener: (this: WebSocket, code: number, reason: Buffer) => void): this;
|
|
1636
|
+
off(event: 'error', listener: (this: WebSocket, err: Error) => void): this;
|
|
1637
|
+
off(event: 'upgrade', listener: (this: WebSocket, request: http.IncomingMessage) => void): this;
|
|
1638
|
+
off(event: 'message', listener: (this: WebSocket, data: WebSocket.RawData, isBinary: boolean) => void): this;
|
|
1639
|
+
off(event: 'open', listener: (this: WebSocket) => void): this;
|
|
1640
|
+
off(event: 'ping' | 'pong', listener: (this: WebSocket, data: Buffer) => void): this;
|
|
1641
|
+
off(event: 'unexpected-response', listener: (this: WebSocket, request: ClientRequest, response: http.IncomingMessage) => void): this;
|
|
1642
|
+
off(event: string | symbol, listener: (this: WebSocket, ...args: any[]) => void): this;
|
|
1643
|
+
addListener(event: 'close', listener: (code: number, reason: Buffer) => void): this;
|
|
1644
|
+
addListener(event: 'error', listener: (err: Error) => void): this;
|
|
1645
|
+
addListener(event: 'upgrade', listener: (request: http.IncomingMessage) => void): this;
|
|
1646
|
+
addListener(event: 'message', listener: (data: WebSocket.RawData, isBinary: boolean) => void): this;
|
|
1647
|
+
addListener(event: 'open', listener: () => void): this;
|
|
1648
|
+
addListener(event: 'ping' | 'pong', listener: (data: Buffer) => void): this;
|
|
1649
|
+
addListener(event: 'unexpected-response', listener: (request: ClientRequest, response: http.IncomingMessage) => void): this;
|
|
1409
1650
|
addListener(event: string | symbol, listener: (...args: any[]) => void): this;
|
|
1410
1651
|
removeListener(event: 'close', listener: (code: number, reason: Buffer) => void): this;
|
|
1411
1652
|
removeListener(event: 'error', listener: (err: Error) => void): this;
|
|
@@ -1620,58 +1861,6 @@ interface WebSocketClient extends NormalizedHotChannelClient {
|
|
|
1620
1861
|
socket: WebSocket;
|
|
1621
1862
|
}
|
|
1622
1863
|
//#endregion
|
|
1623
|
-
//#region src/node/server/bundledDev.d.ts
|
|
1624
|
-
type MemoryFile = {
|
|
1625
|
-
source: string | Uint8Array;
|
|
1626
|
-
etag?: string;
|
|
1627
|
-
};
|
|
1628
|
-
declare class MemoryFiles {
|
|
1629
|
-
private files;
|
|
1630
|
-
get size(): number;
|
|
1631
|
-
get(file: string): MemoryFile | undefined;
|
|
1632
|
-
set(file: string, content: MemoryFile | (() => MemoryFile)): void;
|
|
1633
|
-
has(file: string): boolean;
|
|
1634
|
-
clear(): void;
|
|
1635
|
-
}
|
|
1636
|
-
declare class BundledDev {
|
|
1637
|
-
private environment;
|
|
1638
|
-
private _devEngine;
|
|
1639
|
-
private viteRuntime?;
|
|
1640
|
-
private initialBuildCompleted;
|
|
1641
|
-
private _closed;
|
|
1642
|
-
private clients;
|
|
1643
|
-
private debouncedFullReload;
|
|
1644
|
-
private fullReloadPending;
|
|
1645
|
-
private reloadNeededClientIds;
|
|
1646
|
-
private debouncedReloadNeededFlush;
|
|
1647
|
-
private lastBuildError;
|
|
1648
|
-
memoryFiles: MemoryFiles;
|
|
1649
|
-
constructor(environment: DevEnvironment);
|
|
1650
|
-
private get devEngine();
|
|
1651
|
-
private pendingPayloadFilenames;
|
|
1652
|
-
get hasBuildOutput(): boolean;
|
|
1653
|
-
listen(): Promise<void>;
|
|
1654
|
-
private waitForInitialBuildFinish;
|
|
1655
|
-
private ensureOutputAndFlushReloadNeeded;
|
|
1656
|
-
triggerBundleRegenerationIfStale(): Promise<boolean>;
|
|
1657
|
-
triggerLazyBundling(moduleId: string | null, clientId: string | null): Promise<{
|
|
1658
|
-
code: string;
|
|
1659
|
-
filename: string;
|
|
1660
|
-
} | undefined>;
|
|
1661
|
-
/**
|
|
1662
|
-
* Called by the serving middlewares when the response for a payload completed.
|
|
1663
|
-
* Only delivered payloads are recorded on the server's per-client ship map, so
|
|
1664
|
-
* later chunks may omit a module only if the payload carrying it was delivered.
|
|
1665
|
-
*
|
|
1666
|
-
* Note: the payload filename is unique across all clients.
|
|
1667
|
-
*/
|
|
1668
|
-
markPayloadDelivered(filename: string): void;
|
|
1669
|
-
close(): Promise<void>;
|
|
1670
|
-
private storeOutputFiles;
|
|
1671
|
-
private getRolldownOptions;
|
|
1672
|
-
private handleHmrOutput;
|
|
1673
|
-
}
|
|
1674
|
-
//#endregion
|
|
1675
1864
|
//#region src/node/server/environment.d.ts
|
|
1676
1865
|
interface DevEnvironmentContext {
|
|
1677
1866
|
hot: boolean;
|
|
@@ -1682,7 +1871,7 @@ interface DevEnvironmentContext {
|
|
|
1682
1871
|
};
|
|
1683
1872
|
depsOptimizer?: DepsOptimizer;
|
|
1684
1873
|
}
|
|
1685
|
-
declare class DevEnvironment extends BaseEnvironment {
|
|
1874
|
+
export declare class DevEnvironment extends BaseEnvironment {
|
|
1686
1875
|
mode: "dev";
|
|
1687
1876
|
moduleGraph: EnvironmentModuleGraph;
|
|
1688
1877
|
depsOptimizer?: DepsOptimizer;
|
|
@@ -1740,1369 +1929,1197 @@ declare class DevEnvironment extends BaseEnvironment {
|
|
|
1740
1929
|
waitForRequestsIdle(ignoredId?: string): Promise<void>;
|
|
1741
1930
|
}
|
|
1742
1931
|
//#endregion
|
|
1743
|
-
//#region src/
|
|
1744
|
-
|
|
1745
|
-
|
|
1746
|
-
|
|
1747
|
-
|
|
1748
|
-
|
|
1749
|
-
|
|
1750
|
-
|
|
1751
|
-
|
|
1752
|
-
|
|
1753
|
-
|
|
1754
|
-
|
|
1755
|
-
|
|
1932
|
+
//#region src/node/optimizer/scan.d.ts
|
|
1933
|
+
declare class ScanEnvironment extends BaseEnvironment {
|
|
1934
|
+
mode: "scan";
|
|
1935
|
+
get pluginContainer(): EnvironmentPluginContainer;
|
|
1936
|
+
init(): Promise<void>;
|
|
1937
|
+
}
|
|
1938
|
+
//#endregion
|
|
1939
|
+
//#region src/node/environment.d.ts
|
|
1940
|
+
type Environment = DevEnvironment | BuildEnvironment | ScanEnvironment | UnknownEnvironment;
|
|
1941
|
+
/**
|
|
1942
|
+
* Creates a function that hides the complexities of a WeakMap with an initial value
|
|
1943
|
+
* to implement object metadata. Used by plugins to implement cross hooks per
|
|
1944
|
+
* environment metadata
|
|
1945
|
+
*
|
|
1946
|
+
* @experimental
|
|
1947
|
+
*/
|
|
1948
|
+
export declare function perEnvironmentState<State>(initial: (environment: Environment) => State): (context: PluginContext) => State;
|
|
1949
|
+
//#endregion
|
|
1950
|
+
//#region src/node/plugins/html.d.ts
|
|
1951
|
+
interface HtmlTagDescriptor {
|
|
1952
|
+
tag: string;
|
|
1756
1953
|
/**
|
|
1757
|
-
*
|
|
1758
|
-
* the build the plugin should _ignore_. By default, all files with
|
|
1759
|
-
* extensions other than those in `extensions` or `".cjs"` are ignored, but you
|
|
1760
|
-
* can exclude additional files. See also the `include` option.
|
|
1761
|
-
* @default undefined
|
|
1954
|
+
* attribute values will be escaped automatically if needed
|
|
1762
1955
|
*/
|
|
1763
|
-
|
|
1956
|
+
attrs?: Record<string, string | boolean | undefined>;
|
|
1957
|
+
children?: string | HtmlTagDescriptor[];
|
|
1764
1958
|
/**
|
|
1765
|
-
*
|
|
1766
|
-
* order specified. Note that you need to make sure that non-JavaScript files
|
|
1767
|
-
* are transpiled by another plugin first.
|
|
1768
|
-
* @default [ '.js' ]
|
|
1959
|
+
* default: 'head-prepend'
|
|
1769
1960
|
*/
|
|
1770
|
-
|
|
1961
|
+
injectTo?: "head" | "body" | "head-prepend" | "body-prepend";
|
|
1962
|
+
}
|
|
1963
|
+
type IndexHtmlTransformResult = string | HtmlTagDescriptor[] | {
|
|
1964
|
+
html: string;
|
|
1965
|
+
tags: HtmlTagDescriptor[];
|
|
1966
|
+
};
|
|
1967
|
+
interface IndexHtmlTransformContext {
|
|
1771
1968
|
/**
|
|
1772
|
-
*
|
|
1773
|
-
* @default false
|
|
1969
|
+
* public path when served
|
|
1774
1970
|
*/
|
|
1775
|
-
|
|
1971
|
+
path: string;
|
|
1776
1972
|
/**
|
|
1777
|
-
*
|
|
1778
|
-
* improve performance.
|
|
1779
|
-
* @default true
|
|
1973
|
+
* filename on disk
|
|
1780
1974
|
*/
|
|
1781
|
-
|
|
1975
|
+
filename: string;
|
|
1976
|
+
server?: ViteDevServer;
|
|
1977
|
+
bundle?: OutputBundle;
|
|
1978
|
+
chunk?: OutputChunk;
|
|
1979
|
+
originalUrl?: string;
|
|
1980
|
+
}
|
|
1981
|
+
type IndexHtmlTransformHook = (this: MinimalPluginContextWithoutEnvironment, html: string, ctx: IndexHtmlTransformContext) => IndexHtmlTransformResult | void | Promise<IndexHtmlTransformResult | void>;
|
|
1982
|
+
type IndexHtmlTransform = IndexHtmlTransformHook | {
|
|
1983
|
+
order?: "pre" | "post" | null;
|
|
1984
|
+
handler: IndexHtmlTransformHook;
|
|
1985
|
+
};
|
|
1986
|
+
//#endregion
|
|
1987
|
+
//#region src/node/plugins/pluginFilter.d.ts
|
|
1988
|
+
type StringFilter<Value = string | RegExp> = Value | Array<Value> | {
|
|
1989
|
+
include?: Value | Array<Value>;
|
|
1990
|
+
exclude?: Value | Array<Value>;
|
|
1991
|
+
};
|
|
1992
|
+
//#endregion
|
|
1993
|
+
//#region src/node/shortcuts.d.ts
|
|
1994
|
+
type BindCLIShortcutsOptions<Server = ViteDevServer | PreviewServer> = {
|
|
1782
1995
|
/**
|
|
1783
|
-
*
|
|
1784
|
-
* imports.
|
|
1785
|
-
* When this option is set to `false`, the generated code will either
|
|
1786
|
-
* directly throw an error when such a call is encountered or, when
|
|
1787
|
-
* `dynamicRequireTargets` is used, when such a call cannot be resolved with a
|
|
1788
|
-
* configured dynamic require target.
|
|
1789
|
-
* Setting this option to `true` will instead leave the `require` call in the
|
|
1790
|
-
* code or use it as a fallback for `dynamicRequireTargets`.
|
|
1791
|
-
* @default false
|
|
1996
|
+
* Print a one-line shortcuts "help" hint to the terminal
|
|
1792
1997
|
*/
|
|
1793
|
-
|
|
1998
|
+
print?: boolean;
|
|
1794
1999
|
/**
|
|
1795
|
-
*
|
|
1796
|
-
*
|
|
1797
|
-
*
|
|
1798
|
-
* calls should be transformed to imports in mixed modules, or `false` if the
|
|
1799
|
-
* `require` expressions should survive the transformation. The latter can be
|
|
1800
|
-
* important if the code contains environment detection, or you are coding
|
|
1801
|
-
* for an environment with special treatment for `require` calls such as
|
|
1802
|
-
* ElectronJS. See also the `ignore` option.
|
|
1803
|
-
* @default false
|
|
2000
|
+
* Custom shortcuts to run when a key is pressed. These shortcuts take priority
|
|
2001
|
+
* over the default shortcuts if they have the same keys (except the `h` key).
|
|
2002
|
+
* To disable a default shortcut, define the same key but with `action: undefined`.
|
|
1804
2003
|
*/
|
|
1805
|
-
|
|
2004
|
+
customShortcuts?: CLIShortcut<Server>[];
|
|
2005
|
+
};
|
|
2006
|
+
type CLIShortcut<Server = ViteDevServer | PreviewServer> = {
|
|
2007
|
+
key: string;
|
|
2008
|
+
description: string;
|
|
2009
|
+
action?(server: Server): void | Promise<void>;
|
|
2010
|
+
};
|
|
2011
|
+
//#endregion
|
|
2012
|
+
//#region src/node/typeUtils.d.ts
|
|
2013
|
+
type RequiredExceptFor<T, K extends keyof T> = Pick<T, K> & Required<Omit<T, K>>;
|
|
2014
|
+
//#endregion
|
|
2015
|
+
//#region src/node/preview.d.ts
|
|
2016
|
+
interface PreviewOptions extends CommonServerOptions {}
|
|
2017
|
+
interface ResolvedPreviewOptions extends RequiredExceptFor<PreviewOptions, "host" | "https" | "proxy"> {}
|
|
2018
|
+
interface PreviewServer {
|
|
1806
2019
|
/**
|
|
1807
|
-
*
|
|
1808
|
-
* to the top of each file. While this works well for many code bases and
|
|
1809
|
-
* allows for very efficient ESM output, it does not perfectly capture
|
|
1810
|
-
* CommonJS semantics as the order of side effects like log statements may
|
|
1811
|
-
* change. But it is especially problematic when there are circular `require`
|
|
1812
|
-
* calls between CommonJS modules as those often rely on the lazy execution of
|
|
1813
|
-
* nested `require` calls.
|
|
1814
|
-
*
|
|
1815
|
-
* Setting this option to `true` will wrap all CommonJS files in functions
|
|
1816
|
-
* which are executed when they are required for the first time, preserving
|
|
1817
|
-
* NodeJS semantics. Note that this can have an impact on the size and
|
|
1818
|
-
* performance of the generated code.
|
|
1819
|
-
*
|
|
1820
|
-
* The default value of `"auto"` will only wrap CommonJS files when they are
|
|
1821
|
-
* part of a CommonJS dependency cycle, e.g. an index file that is required by
|
|
1822
|
-
* many of its dependencies. All other CommonJS files are hoisted. This is the
|
|
1823
|
-
* recommended setting for most code bases.
|
|
1824
|
-
*
|
|
1825
|
-
* `false` will entirely prevent wrapping and hoist all files. This may still
|
|
1826
|
-
* work depending on the nature of cyclic dependencies but will often cause
|
|
1827
|
-
* problems.
|
|
1828
|
-
*
|
|
1829
|
-
* You can also provide a minimatch pattern, or array of patterns, to only
|
|
1830
|
-
* specify a subset of files which should be wrapped in functions for proper
|
|
1831
|
-
* `require` semantics.
|
|
1832
|
-
*
|
|
1833
|
-
* `"debug"` works like `"auto"` but after bundling, it will display a warning
|
|
1834
|
-
* containing a list of ids that have been wrapped which can be used as
|
|
1835
|
-
* minimatch pattern for fine-tuning.
|
|
1836
|
-
* @default "auto"
|
|
2020
|
+
* The resolved vite config object
|
|
1837
2021
|
*/
|
|
1838
|
-
|
|
2022
|
+
config: ResolvedConfig;
|
|
1839
2023
|
/**
|
|
1840
|
-
*
|
|
1841
|
-
* containing the IDs or a `id => boolean` function.
|
|
1842
|
-
* @default []
|
|
2024
|
+
* Stop the server.
|
|
1843
2025
|
*/
|
|
1844
|
-
|
|
2026
|
+
close(): Promise<void>;
|
|
1845
2027
|
/**
|
|
1846
|
-
*
|
|
1847
|
-
*
|
|
1848
|
-
*
|
|
1849
|
-
*
|
|
1850
|
-
* hoisted to the top of the file, outside the `try-catch` clause.
|
|
1851
|
-
*
|
|
1852
|
-
* - `true`: Default. All `require` calls inside a `try` will be left unconverted.
|
|
1853
|
-
* - `false`: All `require` calls inside a `try` will be converted as if the
|
|
1854
|
-
* `try-catch` clause is not there.
|
|
1855
|
-
* - `remove`: Remove all `require` calls from inside any `try` block.
|
|
1856
|
-
* - `string[]`: Pass an array containing the IDs to left unconverted.
|
|
1857
|
-
* - `((id: string) => boolean|'remove')`: Pass a function that controls
|
|
1858
|
-
* individual IDs.
|
|
2028
|
+
* A connect app instance.
|
|
2029
|
+
* - Can be used to attach custom middlewares to the preview server.
|
|
2030
|
+
* - Can also be used as the handler function of a custom http server
|
|
2031
|
+
* or as a middleware in any connect-style Node.js frameworks
|
|
1859
2032
|
*
|
|
1860
|
-
*
|
|
2033
|
+
* https://github.com/senchalabs/connect#use-middleware
|
|
1861
2034
|
*/
|
|
1862
|
-
|
|
2035
|
+
middlewares: Connect.Server;
|
|
1863
2036
|
/**
|
|
1864
|
-
*
|
|
1865
|
-
* this plugin assumes that all external dependencies are CommonJS. This
|
|
1866
|
-
* means they are rendered as default imports to be compatible with e.g.
|
|
1867
|
-
* NodeJS where ES modules can only import a default export from a CommonJS
|
|
1868
|
-
* dependency.
|
|
1869
|
-
*
|
|
1870
|
-
* If you set `esmExternals` to `true`, this plugin assumes that all
|
|
1871
|
-
* external dependencies are ES modules and respect the
|
|
1872
|
-
* `requireReturnsDefault` option. If that option is not set, they will be
|
|
1873
|
-
* rendered as namespace imports.
|
|
1874
|
-
*
|
|
1875
|
-
* You can also supply an array of ids to be treated as ES modules, or a
|
|
1876
|
-
* function that will be passed each external id to determine whether it is
|
|
1877
|
-
* an ES module.
|
|
1878
|
-
* @default false
|
|
2037
|
+
* native Node http server instance
|
|
1879
2038
|
*/
|
|
1880
|
-
|
|
2039
|
+
httpServer: HttpServer;
|
|
1881
2040
|
/**
|
|
1882
|
-
*
|
|
1883
|
-
*
|
|
1884
|
-
* modules. By default, this plugin will render those imports as namespace
|
|
1885
|
-
* imports i.e.
|
|
1886
|
-
*
|
|
1887
|
-
* ```js
|
|
1888
|
-
* // input
|
|
1889
|
-
* const foo = require('foo');
|
|
1890
|
-
*
|
|
1891
|
-
* // output
|
|
1892
|
-
* import * as foo from 'foo';
|
|
1893
|
-
* ```
|
|
1894
|
-
*
|
|
1895
|
-
* However, there are some situations where this may not be desired.
|
|
1896
|
-
* For these situations, you can change Rollup's behaviour either globally or
|
|
1897
|
-
* per module. To change it globally, set the `requireReturnsDefault` option
|
|
1898
|
-
* to one of the following values:
|
|
1899
|
-
*
|
|
1900
|
-
* - `false`: This is the default, requiring an ES module returns its
|
|
1901
|
-
* namespace. This is the only option that will also add a marker
|
|
1902
|
-
* `__esModule: true` to the namespace to support interop patterns in
|
|
1903
|
-
* CommonJS modules that are transpiled ES modules.
|
|
1904
|
-
* - `"namespace"`: Like `false`, requiring an ES module returns its
|
|
1905
|
-
* namespace, but the plugin does not add the `__esModule` marker and thus
|
|
1906
|
-
* creates more efficient code. For external dependencies when using
|
|
1907
|
-
* `esmExternals: true`, no additional interop code is generated.
|
|
1908
|
-
* - `"auto"`: This is complementary to how `output.exports: "auto"` works in
|
|
1909
|
-
* Rollup: If a module has a default export and no named exports, requiring
|
|
1910
|
-
* that module returns the default export. In all other cases, the namespace
|
|
1911
|
-
* is returned. For external dependencies when using `esmExternals: true`, a
|
|
1912
|
-
* corresponding interop helper is added.
|
|
1913
|
-
* - `"preferred"`: If a module has a default export, requiring that module
|
|
1914
|
-
* always returns the default export, no matter whether additional named
|
|
1915
|
-
* exports exist. This is similar to how previous versions of this plugin
|
|
1916
|
-
* worked. Again for external dependencies when using `esmExternals: true`,
|
|
1917
|
-
* an interop helper is added.
|
|
1918
|
-
* - `true`: This will always try to return the default export on require
|
|
1919
|
-
* without checking if it actually exists. This can throw at build time if
|
|
1920
|
-
* there is no default export. This is how external dependencies are handled
|
|
1921
|
-
* when `esmExternals` is not used. The advantage over the other options is
|
|
1922
|
-
* that, like `false`, this does not add an interop helper for external
|
|
1923
|
-
* dependencies, keeping the code lean.
|
|
1924
|
-
*
|
|
1925
|
-
* To change this for individual modules, you can supply a function for
|
|
1926
|
-
* `requireReturnsDefault` instead. This function will then be called once for
|
|
1927
|
-
* each required ES module or external dependency with the corresponding id
|
|
1928
|
-
* and allows you to return different values for different modules.
|
|
1929
|
-
* @default false
|
|
2041
|
+
* The resolved urls Vite prints on the CLI (URL-encoded). Returns `null`
|
|
2042
|
+
* if the server is not listening on any port.
|
|
1930
2043
|
*/
|
|
1931
|
-
|
|
2044
|
+
resolvedUrls: ResolvedServerUrls | null;
|
|
1932
2045
|
/**
|
|
1933
|
-
*
|
|
2046
|
+
* Print server urls
|
|
1934
2047
|
*/
|
|
1935
|
-
|
|
1936
|
-
/**
|
|
1937
|
-
* Some modules contain dynamic `require` calls, or require modules that
|
|
1938
|
-
* contain circular dependencies, which are not handled well by static
|
|
1939
|
-
* imports. Including those modules as `dynamicRequireTargets` will simulate a
|
|
1940
|
-
* CommonJS (NodeJS-like) environment for them with support for dynamic
|
|
1941
|
-
* dependencies. It also enables `strictRequires` for those modules.
|
|
1942
|
-
*
|
|
1943
|
-
* Note: In extreme cases, this feature may result in some paths being
|
|
1944
|
-
* rendered as absolute in the final bundle. The plugin tries to avoid
|
|
1945
|
-
* exposing paths from the local machine, but if you are `dynamicRequirePaths`
|
|
1946
|
-
* with paths that are far away from your project's folder, that may require
|
|
1947
|
-
* replacing strings like `"/Users/John/Desktop/foo-project/"` -\> `"/"`.
|
|
1948
|
-
*/
|
|
1949
|
-
dynamicRequireTargets?: string | ReadonlyArray<string>;
|
|
2048
|
+
printUrls(): void;
|
|
1950
2049
|
/**
|
|
1951
|
-
*
|
|
1952
|
-
* that is a common parent for all files that use dynamic require statements. Using a directory higher up such as `/`
|
|
1953
|
-
* may lead to unnecessarily long paths in the generated code and may expose directory names on your machine like your
|
|
1954
|
-
* home directory name. By default, it uses the current working directory.
|
|
2050
|
+
* Bind CLI shortcuts
|
|
1955
2051
|
*/
|
|
1956
|
-
|
|
2052
|
+
bindCLIShortcuts(options?: BindCLIShortcutsOptions<PreviewServer>): void;
|
|
1957
2053
|
}
|
|
2054
|
+
type PreviewServerHook = (this: MinimalPluginContextWithoutEnvironment, server: PreviewServer) => (() => void) | void | Promise<(() => void) | void>;
|
|
2055
|
+
type ClosePreviewServerHook = (this: MinimalPluginContextWithoutEnvironment) => void | Promise<void>;
|
|
2056
|
+
/**
|
|
2057
|
+
* Starts the Vite server in preview mode, to simulate a production deployment
|
|
2058
|
+
*/
|
|
2059
|
+
export declare function preview(inlineConfig?: InlineConfig): Promise<PreviewServer>;
|
|
1958
2060
|
//#endregion
|
|
1959
|
-
//#region src/
|
|
1960
|
-
|
|
1961
|
-
|
|
1962
|
-
|
|
1963
|
-
|
|
1964
|
-
|
|
1965
|
-
|
|
1966
|
-
|
|
1967
|
-
|
|
1968
|
-
|
|
1969
|
-
|
|
1970
|
-
|
|
2061
|
+
//#region src/node/plugin.d.ts
|
|
2062
|
+
/**
|
|
2063
|
+
* Vite plugins extends the Rollup plugin interface with a few extra
|
|
2064
|
+
* vite-specific options. A valid vite plugin is also a valid Rollup plugin.
|
|
2065
|
+
* On the contrary, a Rollup plugin may or may NOT be a valid vite universal
|
|
2066
|
+
* plugin, since some Rollup features do not make sense in an unbundled
|
|
2067
|
+
* dev server context. That said, as long as a rollup plugin doesn't have strong
|
|
2068
|
+
* coupling between its bundle phase and output phase hooks then it should
|
|
2069
|
+
* just work (that means, most of them).
|
|
2070
|
+
*
|
|
2071
|
+
* By default, the plugins are run during both serve and build. When a plugin
|
|
2072
|
+
* is applied during serve, it will only run **non output plugin hooks** (see
|
|
2073
|
+
* rollup type definition of {@link rollup#PluginHooks}). You can think of the
|
|
2074
|
+
* dev server as only running `const bundle = rollup.rollup()` but never calling
|
|
2075
|
+
* `bundle.generate()`.
|
|
2076
|
+
*
|
|
2077
|
+
* A plugin that expects to have different behavior depending on serve/build can
|
|
2078
|
+
* export a factory function that receives the command being run via options.
|
|
2079
|
+
*
|
|
2080
|
+
* If a plugin should be applied only for server or build, a function format
|
|
2081
|
+
* config file can be used to conditional determine the plugins to use.
|
|
2082
|
+
*
|
|
2083
|
+
* The current environment can be accessed from the context for the all non-global
|
|
2084
|
+
* hooks (it is not available in config, configResolved, configureServer, etc).
|
|
2085
|
+
* It can be a dev, build, or scan environment.
|
|
2086
|
+
* Plugins can use this.environment.mode === 'dev' to guard for dev specific APIs.
|
|
2087
|
+
*/
|
|
2088
|
+
interface PluginContextExtension {
|
|
1971
2089
|
/**
|
|
1972
|
-
*
|
|
2090
|
+
* Vite-specific environment instance
|
|
1973
2091
|
*/
|
|
1974
|
-
|
|
2092
|
+
environment: Environment;
|
|
1975
2093
|
}
|
|
1976
|
-
|
|
1977
|
-
|
|
1978
|
-
|
|
2094
|
+
interface PluginContextMetaExtension {
|
|
2095
|
+
viteVersion: string;
|
|
2096
|
+
}
|
|
2097
|
+
interface ConfigPluginContext extends Omit<MinimalPluginContext, "meta" | "environment"> {
|
|
2098
|
+
meta: Omit<PluginContextMeta, "watchMode">;
|
|
2099
|
+
}
|
|
2100
|
+
interface MinimalPluginContextWithoutEnvironment extends Omit<MinimalPluginContext, "environment"> {}
|
|
2101
|
+
declare module "rolldown" {
|
|
2102
|
+
interface MinimalPluginContext extends PluginContextExtension {}
|
|
2103
|
+
interface PluginContextMeta extends PluginContextMetaExtension {}
|
|
2104
|
+
}
|
|
2105
|
+
/**
|
|
2106
|
+
* There are two types of plugins in Vite. App plugins and environment plugins.
|
|
2107
|
+
* Environment Plugins are defined by a constructor function that will be called
|
|
2108
|
+
* once per each environment allowing users to have completely different plugins
|
|
2109
|
+
* for each of them. The constructor gets the resolved environment after the server
|
|
2110
|
+
* and builder has already been created simplifying config access and cache
|
|
2111
|
+
* management for environment specific plugins.
|
|
2112
|
+
* Environment Plugins are closer to regular rollup plugins. They can't define
|
|
2113
|
+
* app level hooks (like config, configResolved, configureServer, etc).
|
|
2114
|
+
*/
|
|
2115
|
+
interface Plugin<A = any> extends Rolldown.Plugin<A> {
|
|
1979
2116
|
/**
|
|
1980
|
-
*
|
|
1981
|
-
*
|
|
2117
|
+
* Perform custom handling of HMR updates.
|
|
2118
|
+
* The handler receives an options containing changed filename, timestamp, a
|
|
2119
|
+
* list of modules affected by the file change, and the dev server instance.
|
|
1982
2120
|
*
|
|
1983
|
-
*
|
|
2121
|
+
* - The hook can return a filtered list of modules to narrow down the update.
|
|
2122
|
+
* e.g. for a Vue SFC, we can narrow down the part to update by comparing
|
|
2123
|
+
* the descriptors.
|
|
2124
|
+
*
|
|
2125
|
+
* - The hook can also return an empty array and then perform custom updates
|
|
2126
|
+
* by sending a custom hmr payload via environment.hot.send().
|
|
2127
|
+
*
|
|
2128
|
+
* - If the hook doesn't return a value, the hmr update will be performed as
|
|
2129
|
+
* normal.
|
|
1984
2130
|
*/
|
|
1985
|
-
|
|
1986
|
-
|
|
1987
|
-
|
|
1988
|
-
//#region src/node/plugins/resolve.d.ts
|
|
1989
|
-
interface EnvironmentResolveOptions {
|
|
2131
|
+
hotUpdate?: ObjectHook<(this: MinimalPluginContext & {
|
|
2132
|
+
environment: DevEnvironment;
|
|
2133
|
+
}, options: HotUpdateOptions) => Array<EnvironmentModuleNode> | void | Promise<Array<EnvironmentModuleNode> | void>>;
|
|
1990
2134
|
/**
|
|
1991
|
-
*
|
|
2135
|
+
* extend hooks with ssr flag
|
|
1992
2136
|
*/
|
|
1993
|
-
|
|
1994
|
-
|
|
1995
|
-
|
|
2137
|
+
resolveId?: ObjectHook<(this: PluginContext, source: string, importer: string | undefined, options: {
|
|
2138
|
+
kind?: ImportKind;
|
|
2139
|
+
custom?: CustomPluginOptions;
|
|
2140
|
+
ssr?: boolean | undefined;
|
|
2141
|
+
|
|
2142
|
+
isEntry: boolean;
|
|
2143
|
+
}) => Promise<ResolveIdResult> | ResolveIdResult, {
|
|
2144
|
+
filter?: {
|
|
2145
|
+
id?: StringFilter<RegExp>;
|
|
2146
|
+
};
|
|
2147
|
+
}>;
|
|
2148
|
+
load?: ObjectHook<(this: PluginContext, id: string, options?: {
|
|
2149
|
+
ssr?: boolean | undefined;
|
|
2150
|
+
}) => Promise<LoadResult> | LoadResult, {
|
|
2151
|
+
filter?: {
|
|
2152
|
+
id?: StringFilter;
|
|
2153
|
+
};
|
|
2154
|
+
}>;
|
|
2155
|
+
transform?: ObjectHook<(this: TransformPluginContext, code: string, id: string, options?: {
|
|
2156
|
+
moduleType: ModuleType;
|
|
2157
|
+
ssr?: boolean | undefined;
|
|
2158
|
+
}) => Promise<Rolldown.TransformResult> | Rolldown.TransformResult, {
|
|
2159
|
+
filter?: {
|
|
2160
|
+
id?: StringFilter;
|
|
2161
|
+
code?: StringFilter;
|
|
2162
|
+
moduleType?: ModuleTypeFilter;
|
|
2163
|
+
};
|
|
2164
|
+
}>;
|
|
1996
2165
|
/**
|
|
1997
|
-
*
|
|
2166
|
+
* Opt-in this plugin into the shared plugins pipeline.
|
|
2167
|
+
* For backward-compatibility, plugins are re-recreated for each environment
|
|
2168
|
+
* during `vite build --app`
|
|
2169
|
+
* We have an opt-in per plugin, and a general `builder.sharedPlugins`
|
|
2170
|
+
* In a future major, we'll flip the default to be shared by default
|
|
2171
|
+
* @experimental
|
|
1998
2172
|
*/
|
|
1999
|
-
|
|
2000
|
-
dedupe?: string[];
|
|
2173
|
+
sharedDuringBuild?: boolean;
|
|
2001
2174
|
/**
|
|
2002
|
-
*
|
|
2003
|
-
*
|
|
2175
|
+
* Opt-in this plugin into per-environment buildStart and buildEnd during dev.
|
|
2176
|
+
* For backward-compatibility, the buildStart hook is called only once during
|
|
2177
|
+
* dev, for the client environment. Plugins can opt-in to be called
|
|
2178
|
+
* per-environment, aligning with the build hook behavior.
|
|
2004
2179
|
* @experimental
|
|
2005
2180
|
*/
|
|
2006
|
-
|
|
2181
|
+
perEnvironmentStartEndDuringDev?: boolean;
|
|
2007
2182
|
/**
|
|
2008
|
-
*
|
|
2009
|
-
*
|
|
2183
|
+
* Opt-in this plugin into per-environment watchChange during dev.
|
|
2184
|
+
* For backward-compatibility, the watchChange hook is called only once during
|
|
2185
|
+
* dev, for the client environment. Plugins can opt-in to be called
|
|
2186
|
+
* per-environment, aligning with the watchChange hook behavior.
|
|
2010
2187
|
* @experimental
|
|
2011
2188
|
*/
|
|
2012
|
-
|
|
2189
|
+
perEnvironmentWatchChangeDuringDev?: boolean;
|
|
2013
2190
|
/**
|
|
2014
|
-
*
|
|
2191
|
+
* Enforce plugin invocation tier similar to webpack loaders. Hooks ordering
|
|
2192
|
+
* is still subject to the `order` property in the hook object.
|
|
2193
|
+
*
|
|
2194
|
+
* Plugin invocation order:
|
|
2195
|
+
* - alias resolution
|
|
2196
|
+
* - `enforce: 'pre'` plugins
|
|
2197
|
+
* - vite core plugins
|
|
2198
|
+
* - normal plugins
|
|
2199
|
+
* - vite build plugins
|
|
2200
|
+
* - `enforce: 'post'` plugins
|
|
2201
|
+
* - vite build post plugins
|
|
2015
2202
|
*/
|
|
2016
|
-
|
|
2017
|
-
}
|
|
2018
|
-
interface ResolveOptions extends EnvironmentResolveOptions {
|
|
2203
|
+
enforce?: "pre" | "post";
|
|
2019
2204
|
/**
|
|
2020
|
-
*
|
|
2205
|
+
* Apply the plugin only for serve or build, or on certain conditions.
|
|
2021
2206
|
*/
|
|
2022
|
-
|
|
2207
|
+
apply?: "serve" | "build" | ((this: void, config: UserConfig, env: ConfigEnv) => boolean);
|
|
2023
2208
|
/**
|
|
2024
|
-
*
|
|
2209
|
+
* Define environments where this plugin should be active
|
|
2210
|
+
* By default, the plugin is active in all environments
|
|
2211
|
+
* @experimental
|
|
2212
|
+
*/
|
|
2213
|
+
applyToEnvironment?: (environment: PartialEnvironment) => boolean | Promise<boolean> | PluginOption;
|
|
2214
|
+
/**
|
|
2215
|
+
* Modify vite config before it's resolved. The hook can either mutate the
|
|
2216
|
+
* passed-in config directly, or return a partial config object that will be
|
|
2217
|
+
* deeply merged into existing config.
|
|
2025
2218
|
*
|
|
2026
|
-
*
|
|
2219
|
+
* Note: User plugins are resolved before running this hook so injecting other
|
|
2220
|
+
* plugins inside the `config` hook will have no effect.
|
|
2027
2221
|
*/
|
|
2028
|
-
|
|
2029
|
-
}
|
|
2030
|
-
interface ResolvePluginOptions {
|
|
2031
|
-
root: string;
|
|
2032
|
-
isBuild: boolean;
|
|
2033
|
-
isProduction: boolean;
|
|
2034
|
-
packageCache?: PackageCache;
|
|
2222
|
+
config?: ObjectHook<(this: ConfigPluginContext, config: UserConfig, env: ConfigEnv) => Omit<UserConfig, "plugins"> | null | void | Promise<Omit<UserConfig, "plugins"> | null | void>>;
|
|
2035
2223
|
/**
|
|
2036
|
-
*
|
|
2037
|
-
* -
|
|
2038
|
-
*
|
|
2224
|
+
* Modify environment configs before it's resolved. The hook can either mutate the
|
|
2225
|
+
* passed-in environment config directly, or return a partial config object that will be
|
|
2226
|
+
* deeply merged into existing config.
|
|
2227
|
+
* This hook is called for each environment with a partially resolved environment config
|
|
2228
|
+
* that already accounts for the default environment config values set at the root level.
|
|
2229
|
+
* If plugins need to modify the config of a given environment, they should do it in this
|
|
2230
|
+
* hook instead of the config hook. Leaving the config hook only for modifying the root
|
|
2231
|
+
* default environment config.
|
|
2039
2232
|
*/
|
|
2040
|
-
|
|
2041
|
-
|
|
2042
|
-
|
|
2043
|
-
|
|
2044
|
-
|
|
2045
|
-
|
|
2233
|
+
configEnvironment?: ObjectHook<(this: ConfigPluginContext, name: string, config: EnvironmentOptions, env: ConfigEnv & {
|
|
2234
|
+
/**
|
|
2235
|
+
* Whether this environment is SSR environment and `ssr.target` is set to `'webworker'`.
|
|
2236
|
+
* Only intended to be used for backward compatibility.
|
|
2237
|
+
*/
|
|
2238
|
+
isSsrTargetWebworker?: boolean;
|
|
2239
|
+
}) => EnvironmentOptions | null | void | Promise<EnvironmentOptions | null | void>>;
|
|
2046
2240
|
/**
|
|
2047
|
-
*
|
|
2241
|
+
* Use this hook to read and store the final resolved vite config.
|
|
2048
2242
|
*/
|
|
2049
|
-
|
|
2050
|
-
}
|
|
2051
|
-
interface InternalResolveOptions extends Required<ResolveOptions>, ResolvePluginOptions {}
|
|
2052
|
-
//#endregion
|
|
2053
|
-
//#region src/node/packages.d.ts
|
|
2054
|
-
/** Cache for package.json resolution and package.json contents */
|
|
2055
|
-
type PackageCache = Map<string, PackageData>;
|
|
2056
|
-
interface PackageData {
|
|
2057
|
-
dir: string;
|
|
2058
|
-
hasSideEffects: (id: string) => boolean | "no-treeshake" | null;
|
|
2059
|
-
setResolvedCache: (key: string, entry: string, options: InternalResolveOptions) => void;
|
|
2060
|
-
getResolvedCache: (key: string, options: InternalResolveOptions) => string | undefined;
|
|
2061
|
-
data: {
|
|
2062
|
-
[field: string]: any;
|
|
2063
|
-
name: string;
|
|
2064
|
-
type: string;
|
|
2065
|
-
version: string;
|
|
2066
|
-
main: string;
|
|
2067
|
-
module: string;
|
|
2068
|
-
browser: string | Record<string, string | false>;
|
|
2069
|
-
exports: string | Record<string, any> | string[];
|
|
2070
|
-
imports: Record<string, any>;
|
|
2071
|
-
dependencies: Record<string, string>;
|
|
2072
|
-
};
|
|
2073
|
-
}
|
|
2074
|
-
//#endregion
|
|
2075
|
-
//#region src/node/plugins/license.d.ts
|
|
2076
|
-
interface LicenseOptions {
|
|
2243
|
+
configResolved?: ObjectHook<(this: MinimalPluginContextWithoutEnvironment, config: ResolvedConfig) => void | Promise<void>>;
|
|
2077
2244
|
/**
|
|
2078
|
-
*
|
|
2079
|
-
*
|
|
2245
|
+
* Configure the vite server. The hook receives the {@link ViteDevServer}
|
|
2246
|
+
* instance. This can also be used to store a reference to the server
|
|
2247
|
+
* for use in other hooks.
|
|
2080
2248
|
*
|
|
2081
|
-
*
|
|
2249
|
+
* The hooks will be called before internal middlewares are applied. A hook
|
|
2250
|
+
* can return a post hook that will be called after internal middlewares
|
|
2251
|
+
* are applied. Hook can be async functions and will be called in series.
|
|
2082
2252
|
*/
|
|
2083
|
-
|
|
2084
|
-
}
|
|
2085
|
-
//#endregion
|
|
2086
|
-
//#region src/node/build.d.ts
|
|
2087
|
-
interface BuildEnvironmentOptions {
|
|
2253
|
+
configureServer?: ObjectHook<ServerHook>;
|
|
2088
2254
|
/**
|
|
2089
|
-
*
|
|
2090
|
-
*
|
|
2091
|
-
*
|
|
2092
|
-
*
|
|
2093
|
-
* Default: 'baseline-widely-available' - transpile targeting browsers that
|
|
2094
|
-
* are included in the Baseline Widely Available on 2026-01-01.
|
|
2095
|
-
* (Chrome 111+, Edge 111+, Firefox 114+, Safari 16.4+).
|
|
2096
|
-
*
|
|
2097
|
-
* Another special value is 'esnext' - which only performs minimal transpiling
|
|
2098
|
-
* (for minification compat).
|
|
2255
|
+
* Configure the preview server. The hook receives the {@link PreviewServer}
|
|
2256
|
+
* instance. This can also be used to store a reference to the server
|
|
2257
|
+
* for use in other hooks.
|
|
2099
2258
|
*
|
|
2100
|
-
*
|
|
2101
|
-
*
|
|
2102
|
-
*
|
|
2103
|
-
*/
|
|
2104
|
-
target?: "baseline-widely-available" | EsbuildTarget | false;
|
|
2105
|
-
/**
|
|
2106
|
-
* whether to inject module preload polyfill.
|
|
2107
|
-
* Note: does not apply to library mode.
|
|
2108
|
-
* @default true
|
|
2109
|
-
* @deprecated use `modulePreload.polyfill` instead
|
|
2259
|
+
* The hooks are called before other middlewares are applied. A hook can
|
|
2260
|
+
* return a post hook that will be called after other middlewares are
|
|
2261
|
+
* applied. Hooks can be async functions and will be called in series.
|
|
2110
2262
|
*/
|
|
2111
|
-
|
|
2263
|
+
configurePreviewServer?: ObjectHook<PreviewServerHook>;
|
|
2112
2264
|
/**
|
|
2113
|
-
*
|
|
2114
|
-
*
|
|
2115
|
-
*
|
|
2265
|
+
* Run logic when the server is restarted or closed. The hook receives a
|
|
2266
|
+
* `reason` that is `'restart'` when the server is restarting and `'close'`
|
|
2267
|
+
* when it is closing.
|
|
2268
|
+
*
|
|
2269
|
+
* The hooks are called after the server is torn down. Hooks can be async
|
|
2270
|
+
* functions and will be called in parallel.
|
|
2116
2271
|
*/
|
|
2117
|
-
|
|
2272
|
+
closeServer?: ObjectHook<CloseServerHook>;
|
|
2118
2273
|
/**
|
|
2119
|
-
*
|
|
2120
|
-
*
|
|
2121
|
-
* @default 'dist'
|
|
2274
|
+
* Same as `closeServer` but for the preview server. The preview server never
|
|
2275
|
+
* restarts, so no `reason` is provided.
|
|
2122
2276
|
*/
|
|
2123
|
-
|
|
2277
|
+
closePreviewServer?: ObjectHook<ClosePreviewServerHook>;
|
|
2124
2278
|
/**
|
|
2125
|
-
*
|
|
2126
|
-
*
|
|
2127
|
-
*
|
|
2279
|
+
* Transform index.html.
|
|
2280
|
+
* The hook receives the following arguments:
|
|
2281
|
+
*
|
|
2282
|
+
* - html: string
|
|
2283
|
+
* - ctx: IndexHtmlTransformContext, which contains:
|
|
2284
|
+
* - path: public path when served
|
|
2285
|
+
* - filename: filename on disk
|
|
2286
|
+
* - server?: ViteDevServer (only present during serve)
|
|
2287
|
+
* - bundle?: rollup.OutputBundle (only present during build)
|
|
2288
|
+
* - chunk?: rollup.OutputChunk
|
|
2289
|
+
* - originalUrl?: string
|
|
2290
|
+
*
|
|
2291
|
+
* It can either return a transformed string, or a list of html tag
|
|
2292
|
+
* descriptors that will be injected into the `<head>` or `<body>`.
|
|
2293
|
+
*
|
|
2294
|
+
* By default the transform is applied **after** vite's internal html
|
|
2295
|
+
* transform. If you need to apply the transform before vite, use an object:
|
|
2296
|
+
* `{ order: 'pre', handler: hook }`
|
|
2128
2297
|
*/
|
|
2129
|
-
|
|
2298
|
+
transformIndexHtml?: IndexHtmlTransform;
|
|
2130
2299
|
/**
|
|
2131
|
-
*
|
|
2132
|
-
* base64 strings. If a callback is passed, a boolean can be returned to opt-in
|
|
2133
|
-
* or opt-out of inlining. If nothing is returned the default logic applies.
|
|
2300
|
+
* Build Environments
|
|
2134
2301
|
*
|
|
2135
|
-
*
|
|
2136
|
-
* @default 4096
|
|
2302
|
+
* @experimental
|
|
2137
2303
|
*/
|
|
2138
|
-
|
|
2304
|
+
buildApp?: ObjectHook<BuildAppHook>;
|
|
2139
2305
|
/**
|
|
2140
|
-
*
|
|
2141
|
-
*
|
|
2142
|
-
*
|
|
2143
|
-
*
|
|
2306
|
+
* Perform custom handling of HMR updates.
|
|
2307
|
+
* The handler receives a context containing changed filename, timestamp, a
|
|
2308
|
+
* list of modules affected by the file change, and the dev server instance.
|
|
2309
|
+
*
|
|
2310
|
+
* - The hook can return a filtered list of modules to narrow down the update.
|
|
2311
|
+
* e.g. for a Vue SFC, we can narrow down the part to update by comparing
|
|
2312
|
+
* the descriptors.
|
|
2313
|
+
*
|
|
2314
|
+
* - The hook can also return an empty array and then perform custom updates
|
|
2315
|
+
* by sending a custom hmr payload via server.ws.send().
|
|
2316
|
+
*
|
|
2317
|
+
* - If the hook doesn't return a value, the hmr update will be performed as
|
|
2318
|
+
* normal.
|
|
2144
2319
|
*/
|
|
2145
|
-
|
|
2320
|
+
handleHotUpdate?: ObjectHook<(this: MinimalPluginContextWithoutEnvironment, ctx: HmrContext) => Array<ModuleNode> | void | Promise<Array<ModuleNode> | void>>;
|
|
2146
2321
|
/**
|
|
2147
|
-
*
|
|
2148
|
-
*
|
|
2149
|
-
*
|
|
2150
|
-
* a niche browser that comes with most modern JavaScript features
|
|
2151
|
-
* but has poor CSS support, e.g. Android WeChat WebView, which
|
|
2152
|
-
* doesn't support the #RGBA syntax.
|
|
2153
|
-
* @default target
|
|
2322
|
+
* This hook is not supported by Rolldown yet. But the type is declared for compatibility.
|
|
2323
|
+
*
|
|
2324
|
+
* @deprecated This hook is **not** deprecated. It is marked as deprecated just to make it clear that this hook is currently a no-op.
|
|
2154
2325
|
*/
|
|
2155
|
-
|
|
2326
|
+
shouldTransformCachedModule?: ObjectHook<(this: PluginContext, options: {
|
|
2327
|
+
code: string;
|
|
2328
|
+
id: string;
|
|
2329
|
+
meta: CustomPluginOptions;
|
|
2330
|
+
moduleSideEffects: boolean | "no-treeshake";
|
|
2331
|
+
}) => boolean | null | void>;
|
|
2332
|
+
}
|
|
2333
|
+
type HookHandler<T> = T extends ObjectHook<infer H> ? H : T;
|
|
2334
|
+
type PluginWithRequiredHook<K extends keyof Plugin> = Plugin & { [P in K]: NonNullable<Plugin[P]>; };
|
|
2335
|
+
type Thenable<T> = T | Promise<T>;
|
|
2336
|
+
type FalsyPlugin = false | null | undefined;
|
|
2337
|
+
type PluginOption = Thenable<Plugin | {
|
|
2338
|
+
name: string;
|
|
2339
|
+
} | FalsyPlugin | PluginOption[]>;
|
|
2340
|
+
/**
|
|
2341
|
+
* @experimental
|
|
2342
|
+
*/
|
|
2343
|
+
export declare function perEnvironmentPlugin(name: string, applyToEnvironment: (environment: PartialEnvironment) => boolean | Promise<boolean> | PluginOption): Plugin;
|
|
2344
|
+
//#endregion
|
|
2345
|
+
//#region src/node/watch.d.ts
|
|
2346
|
+
/**
|
|
2347
|
+
* Watch options for the dev server. Accepts both chokidar options and Rolldown
|
|
2348
|
+
* watch options. The chokidar options are used by the chokidar watcher, while
|
|
2349
|
+
* the Rolldown options are used by the Rolldown file watcher when bundled dev
|
|
2350
|
+
* mode is enabled.
|
|
2351
|
+
*/
|
|
2352
|
+
type ServerWatchOptions = WatchOptions & Omit<DevWatchOptions, "enabled" | "skipWrite">;
|
|
2353
|
+
//#endregion
|
|
2354
|
+
//#region src/node/server/index.d.ts
|
|
2355
|
+
interface ServerOptions$1 extends CommonServerOptions {
|
|
2156
2356
|
/**
|
|
2157
|
-
*
|
|
2158
|
-
* so you can configure minification for JS and CSS separately.
|
|
2159
|
-
* @default 'lightningcss', but false if build.minify is disabled for client build
|
|
2357
|
+
* Configure HMR-specific options (port, host, path & protocol)
|
|
2160
2358
|
*/
|
|
2161
|
-
|
|
2359
|
+
hmr?: HmrOptions | boolean;
|
|
2162
2360
|
/**
|
|
2163
|
-
*
|
|
2164
|
-
*
|
|
2165
|
-
* 'hidden' works like `true` except that the corresponding sourcemap
|
|
2166
|
-
* comments in the bundled files are suppressed.
|
|
2167
|
-
* @default false
|
|
2361
|
+
* Configure WebSocket connection options.
|
|
2362
|
+
* Set to `false` to disable the WebSocket server and connection.
|
|
2168
2363
|
*/
|
|
2169
|
-
|
|
2364
|
+
ws?: WsOptions | false;
|
|
2170
2365
|
/**
|
|
2171
|
-
*
|
|
2172
|
-
*
|
|
2173
|
-
* @default 'oxc' for client build, false for SSR build
|
|
2366
|
+
* Warm-up files to transform and cache the results in advance. This improves the
|
|
2367
|
+
* initial page load during server starts and prevents transform waterfalls.
|
|
2174
2368
|
*/
|
|
2175
|
-
|
|
2369
|
+
warmup?: {
|
|
2370
|
+
/**
|
|
2371
|
+
* The files to be transformed and used on the client-side. Supports glob patterns.
|
|
2372
|
+
*/
|
|
2373
|
+
clientFiles?: string[];
|
|
2374
|
+
/**
|
|
2375
|
+
* The files to be transformed and used in SSR. Supports glob patterns.
|
|
2376
|
+
*/
|
|
2377
|
+
ssrFiles?: string[];
|
|
2378
|
+
};
|
|
2176
2379
|
/**
|
|
2177
|
-
*
|
|
2178
|
-
* https://terser.org/docs/api-reference#minify-options
|
|
2380
|
+
* File system watcher options, or null to disable FS watching.
|
|
2179
2381
|
*
|
|
2180
|
-
*
|
|
2181
|
-
*
|
|
2382
|
+
* Accepts chokidar options
|
|
2383
|
+
* (https://github.com/paulmillr/chokidar/tree/3.6.0#api), which are used by
|
|
2384
|
+
* the chokidar watcher, and Rolldown watch options, which are used by the
|
|
2385
|
+
* Rolldown file watcher when bundled dev mode is enabled.
|
|
2182
2386
|
*/
|
|
2183
|
-
|
|
2387
|
+
watch?: ServerWatchOptions | null;
|
|
2184
2388
|
/**
|
|
2185
|
-
*
|
|
2389
|
+
* Create Vite dev server to be used as a middleware in an existing server
|
|
2186
2390
|
* @default false
|
|
2187
|
-
* @experimental
|
|
2188
|
-
*/
|
|
2189
|
-
chunkImportMap?: boolean;
|
|
2190
|
-
/**
|
|
2191
|
-
* Alias to `rolldownOptions`
|
|
2192
|
-
* @deprecated Use `rolldownOptions` instead.
|
|
2193
|
-
*/
|
|
2194
|
-
rollupOptions?: RolldownOptions;
|
|
2195
|
-
/**
|
|
2196
|
-
* Will be merged with internal rolldown options.
|
|
2197
|
-
* https://rolldown.rs/reference/Interface.RolldownOptions
|
|
2198
2391
|
*/
|
|
2199
|
-
|
|
2392
|
+
middlewareMode?: boolean | {
|
|
2393
|
+
/**
|
|
2394
|
+
* Parent server instance to attach to
|
|
2395
|
+
*
|
|
2396
|
+
* This is needed to proxy WebSocket connections to the parent server.
|
|
2397
|
+
*/
|
|
2398
|
+
server: HttpServer;
|
|
2399
|
+
};
|
|
2200
2400
|
/**
|
|
2201
|
-
* Options
|
|
2202
|
-
* @deprecated This option is no-op and will be removed in future versions.
|
|
2401
|
+
* Options for files served via '/\@fs/'.
|
|
2203
2402
|
*/
|
|
2204
|
-
|
|
2403
|
+
fs?: FileSystemServeOptions;
|
|
2205
2404
|
/**
|
|
2206
|
-
*
|
|
2405
|
+
* Origin for the generated asset URLs.
|
|
2406
|
+
*
|
|
2407
|
+
* @example `http://127.0.0.1:8080`
|
|
2207
2408
|
*/
|
|
2208
|
-
|
|
2409
|
+
origin?: string;
|
|
2209
2410
|
/**
|
|
2210
|
-
*
|
|
2411
|
+
* Pre-transform known direct imports
|
|
2211
2412
|
* @default true
|
|
2212
2413
|
*/
|
|
2213
|
-
|
|
2414
|
+
preTransformRequests?: boolean;
|
|
2214
2415
|
/**
|
|
2215
|
-
*
|
|
2216
|
-
*
|
|
2416
|
+
* Whether or not to ignore-list source files in the dev server sourcemap, used to populate
|
|
2417
|
+
* the [`x_google_ignoreList` source map extension](https://developer.chrome.com/blog/devtools-better-angular-debugging/#the-x_google_ignorelist-source-map-extension).
|
|
2418
|
+
*
|
|
2419
|
+
* By default, it excludes all paths containing `node_modules`. You can pass `false` to
|
|
2420
|
+
* disable this behavior, or, for full control, a function that takes the source path and
|
|
2421
|
+
* sourcemap path and returns whether to ignore the source path.
|
|
2217
2422
|
*/
|
|
2218
|
-
|
|
2423
|
+
sourcemapIgnoreList?: false | ((sourcePath: string, sourcemapPath: string) => boolean);
|
|
2219
2424
|
/**
|
|
2220
|
-
*
|
|
2221
|
-
*
|
|
2425
|
+
* Backward compatibility. The buildStart and buildEnd hooks were called only once for
|
|
2426
|
+
* the client environment. This option enables per-environment buildStart and buildEnd hooks.
|
|
2427
|
+
* @default false
|
|
2428
|
+
* @experimental
|
|
2222
2429
|
*/
|
|
2223
|
-
|
|
2430
|
+
perEnvironmentStartEndDuringDev?: boolean;
|
|
2224
2431
|
/**
|
|
2225
|
-
*
|
|
2226
|
-
*
|
|
2432
|
+
* Backward compatibility. The watchChange hook was called only once for the client environment.
|
|
2433
|
+
* This option enables per-environment watchChange hooks.
|
|
2227
2434
|
* @default false
|
|
2435
|
+
* @experimental
|
|
2228
2436
|
*/
|
|
2229
|
-
|
|
2437
|
+
perEnvironmentWatchChangeDuringDev?: boolean;
|
|
2230
2438
|
/**
|
|
2231
|
-
*
|
|
2232
|
-
*
|
|
2233
|
-
|
|
2439
|
+
* Run HMR tasks, by default the HMR propagation is done in parallel for all environments
|
|
2440
|
+
* @experimental
|
|
2441
|
+
*/
|
|
2442
|
+
hotUpdateEnvironments?: (server: ViteDevServer, hmr: (environment: DevEnvironment) => Promise<void>) => Promise<void>;
|
|
2443
|
+
forwardConsole?: boolean | ForwardConsoleOptions;
|
|
2444
|
+
}
|
|
2445
|
+
interface ResolvedServerOptions extends Omit<RequiredExceptFor<ServerOptions$1, "host" | "https" | "proxy" | "hmr" | "ws" | "watch" | "origin" | "hotUpdateEnvironments">, "fs" | "middlewareMode" | "sourcemapIgnoreList" | "forwardConsole"> {
|
|
2446
|
+
fs: Required<FileSystemServeOptions>;
|
|
2447
|
+
middlewareMode: NonNullable<ServerOptions$1["middlewareMode"]>;
|
|
2448
|
+
sourcemapIgnoreList: Exclude<ServerOptions$1["sourcemapIgnoreList"], false | undefined>;
|
|
2449
|
+
forwardConsole: ResolvedForwardConsoleOptions;
|
|
2450
|
+
}
|
|
2451
|
+
interface FileSystemServeOptions {
|
|
2452
|
+
/**
|
|
2453
|
+
* Strictly restrict file accessing outside of allowing paths.
|
|
2234
2454
|
*
|
|
2235
|
-
*
|
|
2455
|
+
* Set to `false` to disable the warning
|
|
2236
2456
|
*
|
|
2237
|
-
*
|
|
2238
|
-
* {
|
|
2239
|
-
* "main.js": {
|
|
2240
|
-
* "file": "main.68fe3fad.js",
|
|
2241
|
-
* "css": "main.e6b63442.css",
|
|
2242
|
-
* "imports": [...],
|
|
2243
|
-
* "dynamicImports": [...]
|
|
2244
|
-
* }
|
|
2245
|
-
* }
|
|
2246
|
-
* ```
|
|
2247
|
-
* @default false
|
|
2457
|
+
* @default true
|
|
2248
2458
|
*/
|
|
2249
|
-
|
|
2459
|
+
strict?: boolean;
|
|
2250
2460
|
/**
|
|
2251
|
-
*
|
|
2252
|
-
*
|
|
2253
|
-
*
|
|
2254
|
-
*
|
|
2461
|
+
* Restrict accessing files outside the allowed directories.
|
|
2462
|
+
*
|
|
2463
|
+
* Accepts absolute path or a path relative to project root.
|
|
2464
|
+
* Will try to search up for workspace root by default.
|
|
2255
2465
|
*/
|
|
2256
|
-
|
|
2466
|
+
allow?: string[];
|
|
2257
2467
|
/**
|
|
2258
|
-
*
|
|
2259
|
-
*
|
|
2260
|
-
*
|
|
2468
|
+
* Restrict accessing files that matches the patterns.
|
|
2469
|
+
*
|
|
2470
|
+
* This will have higher priority than `allow`.
|
|
2471
|
+
* picomatch patterns are supported.
|
|
2472
|
+
*
|
|
2473
|
+
* @default ['.env', '.env.*', '*.{crt,pem,key,p12,pfx,cer,der}', '.npmrc', '.yarnrc.yml', '**\/.git/**']
|
|
2261
2474
|
*/
|
|
2262
|
-
|
|
2475
|
+
deny?: string[];
|
|
2476
|
+
}
|
|
2477
|
+
type ServerHook = (this: MinimalPluginContextWithoutEnvironment, server: ViteDevServer) => (() => void) | void | Promise<(() => void) | void>;
|
|
2478
|
+
interface CloseServerHookContext {
|
|
2263
2479
|
/**
|
|
2264
|
-
*
|
|
2265
|
-
*
|
|
2266
|
-
*
|
|
2480
|
+
* Whether the server is being restarted (e.g. a config change or
|
|
2481
|
+
* `server.restart()`) or closed (e.g. the `q` shortcut, SIGTERM, stdin
|
|
2482
|
+
* ending, or `server.close()`).
|
|
2267
2483
|
*/
|
|
2268
|
-
|
|
2484
|
+
reason: "restart" | "close";
|
|
2485
|
+
}
|
|
2486
|
+
type CloseServerHook = (this: MinimalPluginContextWithoutEnvironment, context: CloseServerHookContext) => void | Promise<void>;
|
|
2487
|
+
type HttpServer = http.Server | Http2SecureServer;
|
|
2488
|
+
interface ViteDevServer {
|
|
2269
2489
|
/**
|
|
2270
|
-
*
|
|
2271
|
-
* @default false
|
|
2490
|
+
* The resolved vite config object
|
|
2272
2491
|
*/
|
|
2273
|
-
|
|
2492
|
+
config: ResolvedConfig;
|
|
2274
2493
|
/**
|
|
2275
|
-
*
|
|
2276
|
-
*
|
|
2494
|
+
* A connect app instance.
|
|
2495
|
+
* - Can be used to attach custom middlewares to the dev server.
|
|
2496
|
+
* - Can also be used as the handler function of a custom http server
|
|
2497
|
+
* or as a middleware in any connect-style Node.js frameworks
|
|
2498
|
+
*
|
|
2499
|
+
* https://github.com/senchalabs/connect#use-middleware
|
|
2277
2500
|
*/
|
|
2278
|
-
|
|
2501
|
+
middlewares: Connect.Server;
|
|
2279
2502
|
/**
|
|
2280
|
-
*
|
|
2281
|
-
*
|
|
2282
|
-
* @default true
|
|
2503
|
+
* native Node http server instance
|
|
2504
|
+
* will be null in middleware mode
|
|
2283
2505
|
*/
|
|
2284
|
-
|
|
2506
|
+
httpServer: HttpServer | null;
|
|
2285
2507
|
/**
|
|
2286
|
-
*
|
|
2287
|
-
*
|
|
2508
|
+
* Chokidar watcher instance. If `config.server.watch` is set to `null`,
|
|
2509
|
+
* it will not watch any files and calling `add` or `unwatch` will have no effect.
|
|
2510
|
+
* https://github.com/paulmillr/chokidar/tree/3.6.0#api
|
|
2288
2511
|
*/
|
|
2289
|
-
|
|
2512
|
+
watcher: FSWatcher;
|
|
2290
2513
|
/**
|
|
2291
|
-
*
|
|
2292
|
-
* https://rollupjs.org/configuration-options/#watch
|
|
2293
|
-
* @default null
|
|
2514
|
+
* WebSocket server with `send(payload)` method
|
|
2294
2515
|
*/
|
|
2295
|
-
|
|
2516
|
+
ws: WebSocketServer;
|
|
2296
2517
|
/**
|
|
2297
|
-
*
|
|
2518
|
+
* An alias to `server.environments.client.hot`.
|
|
2519
|
+
* If you want to interact with all environments, loop over `server.environments`.
|
|
2298
2520
|
*/
|
|
2299
|
-
|
|
2300
|
-
}
|
|
2301
|
-
type BuildOptions = BuildEnvironmentOptions;
|
|
2302
|
-
interface LibraryOptions {
|
|
2521
|
+
hot: NormalizedHotChannel;
|
|
2303
2522
|
/**
|
|
2304
|
-
*
|
|
2305
|
-
* Defaults to the top-level `input` option when omitted.
|
|
2523
|
+
* Rollup plugin container that can run plugin hooks on a given file
|
|
2306
2524
|
*/
|
|
2307
|
-
|
|
2525
|
+
pluginContainer: PluginContainer;
|
|
2308
2526
|
/**
|
|
2309
|
-
*
|
|
2310
|
-
* `umd` or `iife`
|
|
2527
|
+
* Module execution environments attached to the Vite server.
|
|
2311
2528
|
*/
|
|
2312
|
-
|
|
2529
|
+
environments: Record<"client" | "ssr" | (string & {}), DevEnvironment>;
|
|
2313
2530
|
/**
|
|
2314
|
-
*
|
|
2315
|
-
*
|
|
2316
|
-
* multiple entries).
|
|
2317
|
-
* @default ['es', 'umd']
|
|
2531
|
+
* Module graph that tracks the import relationships, url to file mapping
|
|
2532
|
+
* and hmr state.
|
|
2318
2533
|
*/
|
|
2319
|
-
|
|
2534
|
+
moduleGraph: ModuleGraph;
|
|
2320
2535
|
/**
|
|
2321
|
-
* The
|
|
2322
|
-
*
|
|
2323
|
-
* format as an argument.
|
|
2536
|
+
* The resolved urls Vite prints on the CLI (URL-encoded). Returns `null`
|
|
2537
|
+
* in middleware mode or if the server is not listening on any port.
|
|
2324
2538
|
*/
|
|
2325
|
-
|
|
2539
|
+
resolvedUrls: ResolvedServerUrls | null;
|
|
2326
2540
|
/**
|
|
2327
|
-
*
|
|
2328
|
-
*
|
|
2329
|
-
* back to the name option of the project package.json.
|
|
2541
|
+
* Programmatically resolve, load and transform a URL and get the result
|
|
2542
|
+
* without going through the http request pipeline.
|
|
2330
2543
|
*/
|
|
2331
|
-
|
|
2332
|
-
}
|
|
2333
|
-
type LibraryFormats = "es" | "cjs" | "umd" | "iife";
|
|
2334
|
-
interface ModulePreloadOptions {
|
|
2544
|
+
transformRequest(url: string, options?: TransformOptions): Promise<TransformResult | null>;
|
|
2335
2545
|
/**
|
|
2336
|
-
*
|
|
2337
|
-
*
|
|
2338
|
-
*
|
|
2546
|
+
* Same as `transformRequest` but only warm up the URLs so the next request
|
|
2547
|
+
* will already be cached. The function will never throw as it handles and
|
|
2548
|
+
* reports errors internally.
|
|
2339
2549
|
*/
|
|
2340
|
-
|
|
2550
|
+
warmupRequest(url: string, options?: TransformOptions): Promise<void>;
|
|
2341
2551
|
/**
|
|
2342
|
-
*
|
|
2343
|
-
* @experimental
|
|
2552
|
+
* Apply vite built-in HTML transforms and any plugin HTML transforms.
|
|
2344
2553
|
*/
|
|
2345
|
-
|
|
2346
|
-
}
|
|
2347
|
-
interface ResolvedModulePreloadOptions {
|
|
2348
|
-
polyfill: boolean;
|
|
2349
|
-
resolveDependencies?: ResolveModulePreloadDependenciesFn;
|
|
2350
|
-
}
|
|
2351
|
-
type ResolveModulePreloadDependenciesFn = (filename: string, deps: string[], context: {
|
|
2352
|
-
hostId: string;
|
|
2353
|
-
hostType: "html" | "js";
|
|
2354
|
-
}) => string[];
|
|
2355
|
-
interface ResolvedBuildEnvironmentOptions extends Required<Omit<BuildEnvironmentOptions, "polyfillModulePreload">> {
|
|
2356
|
-
modulePreload: false | ResolvedModulePreloadOptions;
|
|
2357
|
-
}
|
|
2358
|
-
interface ResolvedBuildOptions extends Required<Omit<BuildOptions, "polyfillModulePreload">> {
|
|
2359
|
-
modulePreload: false | ResolvedModulePreloadOptions;
|
|
2360
|
-
}
|
|
2361
|
-
/**
|
|
2362
|
-
* Bundles a single environment for production.
|
|
2363
|
-
* Returns a Promise containing the build result.
|
|
2364
|
-
*/
|
|
2365
|
-
declare function build(inlineConfig?: InlineConfig): Promise<RolldownOutput | RolldownOutput[] | RolldownWatcher>;
|
|
2366
|
-
type RenderBuiltAssetUrl = (filename: string, type: {
|
|
2367
|
-
type: "asset" | "public";
|
|
2368
|
-
hostId: string;
|
|
2369
|
-
hostType: "js" | "css" | "html";
|
|
2370
|
-
ssr: boolean;
|
|
2371
|
-
}) => string | {
|
|
2372
|
-
relative?: boolean;
|
|
2373
|
-
runtime?: string;
|
|
2374
|
-
} | undefined;
|
|
2375
|
-
declare class BuildEnvironment extends BaseEnvironment {
|
|
2376
|
-
mode: "build";
|
|
2377
|
-
isBuilt: boolean;
|
|
2378
|
-
constructor(name: string, config: ResolvedConfig, setup?: {
|
|
2379
|
-
options?: EnvironmentOptions;
|
|
2380
|
-
});
|
|
2381
|
-
init(): Promise<void>;
|
|
2382
|
-
}
|
|
2383
|
-
interface ViteBuilder {
|
|
2384
|
-
environments: Record<string, BuildEnvironment>;
|
|
2385
|
-
config: ResolvedConfig;
|
|
2386
|
-
buildApp(): Promise<void>;
|
|
2387
|
-
build(environment: BuildEnvironment): Promise<RolldownOutput | RolldownOutput[] | RolldownWatcher>;
|
|
2388
|
-
runDevTools(): Promise<void>;
|
|
2389
|
-
}
|
|
2390
|
-
interface BuilderOptions {
|
|
2554
|
+
transformIndexHtml(url: string, html: string, originalUrl?: string): Promise<string>;
|
|
2391
2555
|
/**
|
|
2392
|
-
*
|
|
2393
|
-
*
|
|
2394
|
-
* @default false
|
|
2395
|
-
* @experimental
|
|
2556
|
+
* Transform module code into SSR format.
|
|
2396
2557
|
*/
|
|
2397
|
-
|
|
2558
|
+
ssrTransform(code: string, inMap: SourceMap | {
|
|
2559
|
+
mappings: "";
|
|
2560
|
+
} | null, url: string, originalCode?: string): Promise<TransformResult | null>;
|
|
2398
2561
|
/**
|
|
2399
|
-
*
|
|
2400
|
-
*
|
|
2401
|
-
* @default false
|
|
2402
|
-
* @experimental
|
|
2562
|
+
* Load a given URL as an instantiated module for SSR.
|
|
2403
2563
|
*/
|
|
2404
|
-
|
|
2405
|
-
|
|
2406
|
-
}
|
|
2407
|
-
type ResolvedBuilderOptions = Required<BuilderOptions>;
|
|
2408
|
-
/**
|
|
2409
|
-
* Creates a ViteBuilder to orchestrate building multiple environments.
|
|
2410
|
-
* @experimental
|
|
2411
|
-
*/
|
|
2412
|
-
declare function createBuilder(inlineConfig?: InlineConfig, useLegacyBuilder?: null | boolean): Promise<ViteBuilder>;
|
|
2413
|
-
type BuildAppHook = (this: MinimalPluginContextWithoutEnvironment, builder: ViteBuilder) => Promise<void>;
|
|
2414
|
-
//#endregion
|
|
2415
|
-
//#region src/node/environment.d.ts
|
|
2416
|
-
type Environment = DevEnvironment | BuildEnvironment | ScanEnvironment | UnknownEnvironment;
|
|
2417
|
-
/**
|
|
2418
|
-
* Creates a function that hides the complexities of a WeakMap with an initial value
|
|
2419
|
-
* to implement object metadata. Used by plugins to implement cross hooks per
|
|
2420
|
-
* environment metadata
|
|
2421
|
-
*
|
|
2422
|
-
* @experimental
|
|
2423
|
-
*/
|
|
2424
|
-
declare function perEnvironmentState<State>(initial: (environment: Environment) => State): (context: PluginContext) => State;
|
|
2425
|
-
//#endregion
|
|
2426
|
-
//#region src/node/server/pluginContainer.d.ts
|
|
2427
|
-
type SkipInformation = {
|
|
2428
|
-
id: string;
|
|
2429
|
-
importer: string | undefined;
|
|
2430
|
-
plugin: Plugin;
|
|
2431
|
-
called?: boolean;
|
|
2432
|
-
};
|
|
2433
|
-
declare class EnvironmentPluginContainer<Env extends Environment = Environment> {
|
|
2434
|
-
private _pluginContextMap;
|
|
2435
|
-
private _resolvedRolldownOptions?;
|
|
2436
|
-
private _processesing;
|
|
2437
|
-
private _seenResolves;
|
|
2438
|
-
private _moduleNodeToLoadAddedImports;
|
|
2439
|
-
getSortedPluginHooks: PluginHookUtils["getSortedPluginHooks"];
|
|
2440
|
-
getSortedPlugins: PluginHookUtils["getSortedPlugins"];
|
|
2441
|
-
moduleGraph: EnvironmentModuleGraph | undefined;
|
|
2442
|
-
watchFiles: Set<string>;
|
|
2443
|
-
minimalContext: MinimalPluginContext$1<Env>;
|
|
2444
|
-
private _started;
|
|
2445
|
-
private _buildStartPromise;
|
|
2446
|
-
private _closed;
|
|
2447
|
-
private _updateModuleLoadAddedImports;
|
|
2448
|
-
private _getAddedImports;
|
|
2449
|
-
getModuleInfo(id: string): ModuleInfo | null;
|
|
2450
|
-
private handleHookPromise;
|
|
2451
|
-
get options(): InputOptions;
|
|
2452
|
-
resolveRolldownOptions(): Promise<InputOptions>;
|
|
2453
|
-
private _getPluginContext;
|
|
2454
|
-
private hookParallel;
|
|
2455
|
-
buildStart(_options?: InputOptions): Promise<void>;
|
|
2456
|
-
resolveId(rawId: string, importer?: string | undefined, options?: {
|
|
2457
|
-
kind?: ImportKind;
|
|
2458
|
-
attributes?: Record<string, string>;
|
|
2459
|
-
custom?: CustomPluginOptions;
|
|
2460
|
-
/** @deprecated use `skipCalls` instead */
|
|
2461
|
-
skip?: Set<Plugin>;
|
|
2462
|
-
skipCalls?: readonly SkipInformation[];
|
|
2463
|
-
|
|
2464
|
-
isEntry?: boolean;
|
|
2465
|
-
}): Promise<PartialResolvedId | null>;
|
|
2466
|
-
load(id: string): Promise<LoadResult | null>;
|
|
2467
|
-
transform(code: string, id: string, options?: {
|
|
2468
|
-
inMap?: SourceDescription["map"];
|
|
2469
|
-
moduleType?: string;
|
|
2470
|
-
}): Promise<{
|
|
2471
|
-
code: string;
|
|
2472
|
-
map: SourceMap | {
|
|
2473
|
-
mappings: "";
|
|
2474
|
-
} | null;
|
|
2475
|
-
moduleType?: ModuleType;
|
|
2476
|
-
}>;
|
|
2477
|
-
watchChange(id: string, change: {
|
|
2478
|
-
event: "create" | "update" | "delete";
|
|
2479
|
-
}): Promise<void>;
|
|
2480
|
-
close(): Promise<void>;
|
|
2481
|
-
}
|
|
2482
|
-
declare class BasicMinimalPluginContext<Meta = PluginContextMeta> {
|
|
2483
|
-
meta: Meta;
|
|
2484
|
-
private _logger;
|
|
2485
|
-
constructor(meta: Meta, _logger: Logger);
|
|
2486
|
-
get pluginName(): string;
|
|
2487
|
-
debug(rawLog: string | RollupLog | (() => string | RollupLog)): void;
|
|
2488
|
-
info(rawLog: string | RollupLog | (() => string | RollupLog)): void;
|
|
2489
|
-
warn(rawLog: string | RollupLog | (() => string | RollupLog)): void;
|
|
2490
|
-
error(e: string | RollupError): never;
|
|
2491
|
-
private _normalizeRawLog;
|
|
2492
|
-
}
|
|
2493
|
-
declare class MinimalPluginContext$1<T extends Environment = Environment> extends BasicMinimalPluginContext implements MinimalPluginContext {
|
|
2494
|
-
environment: T;
|
|
2495
|
-
constructor(meta: PluginContextMeta, environment: T);
|
|
2496
|
-
}
|
|
2497
|
-
declare class PluginContainer {
|
|
2498
|
-
private environments;
|
|
2499
|
-
constructor(environments: Record<string, Environment>);
|
|
2500
|
-
private _getEnvironment;
|
|
2501
|
-
private _getPluginContainer;
|
|
2502
|
-
getModuleInfo(id: string): ModuleInfo | null;
|
|
2503
|
-
get options(): InputOptions;
|
|
2504
|
-
buildStart(_options?: InputOptions): Promise<void>;
|
|
2505
|
-
watchChange(id: string, change: {
|
|
2506
|
-
event: "create" | "update" | "delete";
|
|
2507
|
-
}): Promise<void>;
|
|
2508
|
-
resolveId(rawId: string, importer?: string, options?: {
|
|
2509
|
-
attributes?: Record<string, string>;
|
|
2510
|
-
custom?: CustomPluginOptions;
|
|
2511
|
-
/** @deprecated use `skipCalls` instead */
|
|
2512
|
-
skip?: Set<Plugin>;
|
|
2513
|
-
skipCalls?: readonly SkipInformation[];
|
|
2514
|
-
ssr?: boolean;
|
|
2515
|
-
|
|
2516
|
-
isEntry?: boolean;
|
|
2517
|
-
}): Promise<PartialResolvedId | null>;
|
|
2518
|
-
load(id: string, options?: {
|
|
2519
|
-
ssr?: boolean;
|
|
2520
|
-
}): Promise<LoadResult | null>;
|
|
2521
|
-
transform(code: string, id: string, options?: {
|
|
2522
|
-
ssr?: boolean;
|
|
2523
|
-
environment?: Environment;
|
|
2524
|
-
inMap?: SourceDescription["map"];
|
|
2525
|
-
}): Promise<{
|
|
2526
|
-
code: string;
|
|
2527
|
-
map: SourceMap | {
|
|
2528
|
-
mappings: "";
|
|
2529
|
-
} | null;
|
|
2530
|
-
}>;
|
|
2531
|
-
close(): Promise<void>;
|
|
2532
|
-
}
|
|
2533
|
-
//#endregion
|
|
2534
|
-
//#region src/node/server/index.d.ts
|
|
2535
|
-
interface ServerOptions$1 extends CommonServerOptions {
|
|
2564
|
+
ssrLoadModule(url: string, opts?: {
|
|
2565
|
+
fixStacktrace?: boolean;
|
|
2566
|
+
}): Promise<Record<string, any>>;
|
|
2536
2567
|
/**
|
|
2537
|
-
*
|
|
2568
|
+
* Returns a fixed version of the given stack
|
|
2538
2569
|
*/
|
|
2539
|
-
|
|
2570
|
+
ssrRewriteStacktrace(stack: string): string;
|
|
2540
2571
|
/**
|
|
2541
|
-
*
|
|
2542
|
-
* Set to `false` to disable the WebSocket server and connection.
|
|
2572
|
+
* Mutates the given SSR error by rewriting the stacktrace
|
|
2543
2573
|
*/
|
|
2544
|
-
|
|
2574
|
+
ssrFixStacktrace(e: Error): void;
|
|
2545
2575
|
/**
|
|
2546
|
-
*
|
|
2547
|
-
*
|
|
2576
|
+
* Triggers HMR for a module in the module graph. You can use the `server.moduleGraph`
|
|
2577
|
+
* API to retrieve the module to be reloaded. If `hmr` is false, this is a no-op.
|
|
2548
2578
|
*/
|
|
2549
|
-
|
|
2550
|
-
/**
|
|
2551
|
-
* The files to be transformed and used on the client-side. Supports glob patterns.
|
|
2552
|
-
*/
|
|
2553
|
-
clientFiles?: string[];
|
|
2554
|
-
/**
|
|
2555
|
-
* The files to be transformed and used in SSR. Supports glob patterns.
|
|
2556
|
-
*/
|
|
2557
|
-
ssrFiles?: string[];
|
|
2558
|
-
};
|
|
2579
|
+
reloadModule(module: ModuleNode): Promise<void>;
|
|
2559
2580
|
/**
|
|
2560
|
-
*
|
|
2561
|
-
* https://github.com/paulmillr/chokidar/tree/3.6.0#api
|
|
2581
|
+
* Start the server.
|
|
2562
2582
|
*/
|
|
2563
|
-
|
|
2583
|
+
listen(port?: number, isRestart?: boolean): Promise<ViteDevServer>;
|
|
2564
2584
|
/**
|
|
2565
|
-
*
|
|
2566
|
-
* @default false
|
|
2585
|
+
* Stop the server.
|
|
2567
2586
|
*/
|
|
2568
|
-
|
|
2569
|
-
/**
|
|
2570
|
-
* Parent server instance to attach to
|
|
2571
|
-
*
|
|
2572
|
-
* This is needed to proxy WebSocket connections to the parent server.
|
|
2573
|
-
*/
|
|
2574
|
-
server: HttpServer;
|
|
2575
|
-
};
|
|
2587
|
+
close(): Promise<void>;
|
|
2576
2588
|
/**
|
|
2577
|
-
*
|
|
2589
|
+
* Print server urls
|
|
2578
2590
|
*/
|
|
2579
|
-
|
|
2591
|
+
printUrls(): void;
|
|
2580
2592
|
/**
|
|
2581
|
-
*
|
|
2593
|
+
* Bind CLI shortcuts
|
|
2594
|
+
*/
|
|
2595
|
+
bindCLIShortcuts(options?: BindCLIShortcutsOptions<ViteDevServer>): void;
|
|
2596
|
+
/**
|
|
2597
|
+
* Restart the server.
|
|
2582
2598
|
*
|
|
2583
|
-
* @
|
|
2599
|
+
* @param forceOptimize - force the optimizer to re-bundle, same as --force cli flag
|
|
2584
2600
|
*/
|
|
2585
|
-
|
|
2601
|
+
restart(forceOptimize?: boolean): Promise<void>;
|
|
2602
|
+
/**
|
|
2603
|
+
* Open browser
|
|
2604
|
+
*/
|
|
2605
|
+
openBrowser(): void;
|
|
2606
|
+
/**
|
|
2607
|
+
* Calling `await server.waitForRequestsIdle(id)` will wait until all static imports
|
|
2608
|
+
* are processed. If called from a load or transform plugin hook, the id needs to be
|
|
2609
|
+
* passed as a parameter to avoid deadlocks. Calling this function after the first
|
|
2610
|
+
* static imports section of the module graph has been processed will resolve immediately.
|
|
2611
|
+
*/
|
|
2612
|
+
waitForRequestsIdle: (ignoredId?: string) => Promise<void>;
|
|
2613
|
+
}
|
|
2614
|
+
interface ResolvedServerUrls {
|
|
2615
|
+
local: string[];
|
|
2616
|
+
network: string[];
|
|
2617
|
+
/**
|
|
2618
|
+
* Names of the network interface that each {@link ResolvedServerUrls.network}
|
|
2619
|
+
* URL is bound to, in the same order as `network`. An entry is `undefined`
|
|
2620
|
+
* when the interface name is not known, for example when an explicit `host`
|
|
2621
|
+
* is set.
|
|
2622
|
+
*/
|
|
2623
|
+
networkInterfaceNames?: (string | undefined)[];
|
|
2624
|
+
}
|
|
2625
|
+
export declare function createServer(inlineConfig?: InlineConfig | ResolvedConfig): Promise<ViteDevServer>;
|
|
2626
|
+
//#endregion
|
|
2627
|
+
//#region src/node/logger.d.ts
|
|
2628
|
+
type LogType = "error" | "warn" | "info";
|
|
2629
|
+
type LogLevel = LogType | "silent";
|
|
2630
|
+
interface Logger {
|
|
2631
|
+
info(msg: string, options?: LogOptions): void;
|
|
2632
|
+
warn(msg: string, options?: LogOptions): void;
|
|
2633
|
+
warnOnce(msg: string, options?: LogOptions): void;
|
|
2634
|
+
error(msg: string, options?: LogErrorOptions): void;
|
|
2635
|
+
clearScreen(type: LogType): void;
|
|
2636
|
+
hasErrorLogged(error: Error | RollupError): boolean;
|
|
2637
|
+
hasWarned: boolean;
|
|
2638
|
+
}
|
|
2639
|
+
interface LogOptions {
|
|
2640
|
+
clear?: boolean;
|
|
2641
|
+
timestamp?: boolean;
|
|
2642
|
+
environment?: string;
|
|
2643
|
+
}
|
|
2644
|
+
interface LogErrorOptions extends LogOptions {
|
|
2645
|
+
error?: Error | RollupError | null;
|
|
2646
|
+
}
|
|
2647
|
+
interface LoggerOptions {
|
|
2648
|
+
prefix?: string;
|
|
2649
|
+
allowClearScreen?: boolean;
|
|
2650
|
+
customLogger?: Logger;
|
|
2651
|
+
console?: Console;
|
|
2652
|
+
}
|
|
2653
|
+
export declare function createLogger(level?: LogLevel, options?: LoggerOptions): Logger;
|
|
2654
|
+
//#endregion
|
|
2655
|
+
//#region src/node/baseEnvironment.d.ts
|
|
2656
|
+
declare class PartialEnvironment {
|
|
2657
|
+
name: string;
|
|
2658
|
+
getTopLevelConfig(): ResolvedConfig;
|
|
2659
|
+
config: ResolvedConfig & ResolvedEnvironmentOptions;
|
|
2660
|
+
logger: Logger;
|
|
2661
|
+
constructor(name: string, topLevelConfig: ResolvedConfig, options?: ResolvedEnvironmentOptions);
|
|
2662
|
+
}
|
|
2663
|
+
declare class BaseEnvironment extends PartialEnvironment {
|
|
2664
|
+
get plugins(): readonly Plugin[];
|
|
2665
|
+
constructor(name: string, config: ResolvedConfig, options?: ResolvedEnvironmentOptions);
|
|
2666
|
+
}
|
|
2667
|
+
/**
|
|
2668
|
+
* This class discourages users from inversely checking the `mode`
|
|
2669
|
+
* to determine the type of environment, e.g.
|
|
2670
|
+
*
|
|
2671
|
+
* ```js
|
|
2672
|
+
* const isDev = environment.mode !== 'build' // bad
|
|
2673
|
+
* const isDev = environment.mode === 'dev' // good
|
|
2674
|
+
* ```
|
|
2675
|
+
*
|
|
2676
|
+
* You should also not check against `"unknown"` specifically. It's
|
|
2677
|
+
* a placeholder for more possible environment types.
|
|
2678
|
+
*/
|
|
2679
|
+
declare class UnknownEnvironment extends BaseEnvironment {
|
|
2680
|
+
mode: "unknown";
|
|
2681
|
+
}
|
|
2682
|
+
//#endregion
|
|
2683
|
+
//#region src/node/plugins/resolve.d.ts
|
|
2684
|
+
interface EnvironmentResolveOptions {
|
|
2586
2685
|
/**
|
|
2587
|
-
*
|
|
2588
|
-
* @default true
|
|
2686
|
+
* @default ['browser', 'module', 'jsnext:main', 'jsnext']
|
|
2589
2687
|
*/
|
|
2590
|
-
|
|
2688
|
+
mainFields?: string[];
|
|
2689
|
+
conditions?: string[];
|
|
2690
|
+
externalConditions?: string[];
|
|
2591
2691
|
/**
|
|
2592
|
-
*
|
|
2593
|
-
* the [`x_google_ignoreList` source map extension](https://developer.chrome.com/blog/devtools-better-angular-debugging/#the-x_google_ignorelist-source-map-extension).
|
|
2594
|
-
*
|
|
2595
|
-
* By default, it excludes all paths containing `node_modules`. You can pass `false` to
|
|
2596
|
-
* disable this behavior, or, for full control, a function that takes the source path and
|
|
2597
|
-
* sourcemap path and returns whether to ignore the source path.
|
|
2692
|
+
* @default ['.mjs', '.js', '.mts', '.ts', '.jsx', '.tsx', '.json']
|
|
2598
2693
|
*/
|
|
2599
|
-
|
|
2694
|
+
extensions?: string[];
|
|
2695
|
+
dedupe?: string[];
|
|
2600
2696
|
/**
|
|
2601
|
-
*
|
|
2602
|
-
*
|
|
2603
|
-
* @default false
|
|
2697
|
+
* Prevent listed dependencies from being externalized and will get bundled in build.
|
|
2698
|
+
* Only works in server environments for now. Previously this was `ssr.noExternal`.
|
|
2604
2699
|
* @experimental
|
|
2605
2700
|
*/
|
|
2606
|
-
|
|
2701
|
+
noExternal?: string | RegExp | (string | RegExp)[] | true;
|
|
2607
2702
|
/**
|
|
2608
|
-
*
|
|
2609
|
-
*
|
|
2610
|
-
* @default false
|
|
2703
|
+
* Externalize the given dependencies and their transitive dependencies.
|
|
2704
|
+
* Only works in server environments for now. Previously this was `ssr.external`.
|
|
2611
2705
|
* @experimental
|
|
2612
2706
|
*/
|
|
2613
|
-
|
|
2707
|
+
external?: string[] | true;
|
|
2614
2708
|
/**
|
|
2615
|
-
*
|
|
2616
|
-
* @experimental
|
|
2709
|
+
* Array of strings or regular expressions that indicate what modules are builtin for the environment.
|
|
2617
2710
|
*/
|
|
2618
|
-
|
|
2619
|
-
forwardConsole?: boolean | ForwardConsoleOptions;
|
|
2620
|
-
}
|
|
2621
|
-
interface ResolvedServerOptions extends Omit<RequiredExceptFor<ServerOptions$1, "host" | "https" | "proxy" | "hmr" | "ws" | "watch" | "origin" | "hotUpdateEnvironments">, "fs" | "middlewareMode" | "sourcemapIgnoreList" | "forwardConsole"> {
|
|
2622
|
-
fs: Required<FileSystemServeOptions>;
|
|
2623
|
-
middlewareMode: NonNullable<ServerOptions$1["middlewareMode"]>;
|
|
2624
|
-
sourcemapIgnoreList: Exclude<ServerOptions$1["sourcemapIgnoreList"], false | undefined>;
|
|
2625
|
-
forwardConsole: ResolvedForwardConsoleOptions;
|
|
2711
|
+
builtins?: (string | RegExp)[];
|
|
2626
2712
|
}
|
|
2627
|
-
interface
|
|
2628
|
-
/**
|
|
2629
|
-
* Strictly restrict file accessing outside of allowing paths.
|
|
2630
|
-
*
|
|
2631
|
-
* Set to `false` to disable the warning
|
|
2632
|
-
*
|
|
2633
|
-
* @default true
|
|
2634
|
-
*/
|
|
2635
|
-
strict?: boolean;
|
|
2713
|
+
interface ResolveOptions extends EnvironmentResolveOptions {
|
|
2636
2714
|
/**
|
|
2637
|
-
*
|
|
2638
|
-
*
|
|
2639
|
-
* Accepts absolute path or a path relative to project root.
|
|
2640
|
-
* Will try to search up for workspace root by default.
|
|
2715
|
+
* @default false
|
|
2641
2716
|
*/
|
|
2642
|
-
|
|
2717
|
+
preserveSymlinks?: boolean;
|
|
2643
2718
|
/**
|
|
2644
|
-
*
|
|
2645
|
-
*
|
|
2646
|
-
* This will have higher priority than `allow`.
|
|
2647
|
-
* picomatch patterns are supported.
|
|
2719
|
+
* Enable tsconfig paths resolution
|
|
2648
2720
|
*
|
|
2649
|
-
* @default
|
|
2721
|
+
* @default false
|
|
2650
2722
|
*/
|
|
2651
|
-
|
|
2723
|
+
tsconfigPaths?: boolean;
|
|
2652
2724
|
}
|
|
2653
|
-
|
|
2654
|
-
|
|
2655
|
-
|
|
2656
|
-
|
|
2657
|
-
|
|
2658
|
-
*/
|
|
2659
|
-
config: ResolvedConfig;
|
|
2660
|
-
/**
|
|
2661
|
-
* A connect app instance.
|
|
2662
|
-
* - Can be used to attach custom middlewares to the dev server.
|
|
2663
|
-
* - Can also be used as the handler function of a custom http server
|
|
2664
|
-
* or as a middleware in any connect-style Node.js frameworks
|
|
2665
|
-
*
|
|
2666
|
-
* https://github.com/senchalabs/connect#use-middleware
|
|
2667
|
-
*/
|
|
2668
|
-
middlewares: Connect.Server;
|
|
2669
|
-
/**
|
|
2670
|
-
* native Node http server instance
|
|
2671
|
-
* will be null in middleware mode
|
|
2672
|
-
*/
|
|
2673
|
-
httpServer: HttpServer | null;
|
|
2674
|
-
/**
|
|
2675
|
-
* Chokidar watcher instance. If `config.server.watch` is set to `null`,
|
|
2676
|
-
* it will not watch any files and calling `add` or `unwatch` will have no effect.
|
|
2677
|
-
* https://github.com/paulmillr/chokidar/tree/3.6.0#api
|
|
2678
|
-
*/
|
|
2679
|
-
watcher: FSWatcher;
|
|
2725
|
+
interface ResolvePluginOptions {
|
|
2726
|
+
root: string;
|
|
2727
|
+
isBuild: boolean;
|
|
2728
|
+
isProduction: boolean;
|
|
2729
|
+
packageCache?: PackageCache;
|
|
2680
2730
|
/**
|
|
2681
|
-
*
|
|
2731
|
+
* src code mode also attempts the following:
|
|
2732
|
+
* - resolving /xxx as URLs
|
|
2733
|
+
* - resolving bare imports from optimized deps
|
|
2682
2734
|
*/
|
|
2683
|
-
|
|
2735
|
+
asSrc?: boolean;
|
|
2736
|
+
tryIndex?: boolean;
|
|
2737
|
+
tryPrefix?: string;
|
|
2738
|
+
preferRelative?: boolean;
|
|
2739
|
+
isRequire?: boolean;
|
|
2740
|
+
scan?: boolean;
|
|
2684
2741
|
/**
|
|
2685
|
-
*
|
|
2686
|
-
* If you want to interact with all environments, loop over `server.environments`.
|
|
2742
|
+
* Enable when `legacy.inconsistentCjsInterop` is true. See that option for more details.
|
|
2687
2743
|
*/
|
|
2688
|
-
|
|
2744
|
+
legacyInconsistentCjsInterop?: boolean;
|
|
2745
|
+
}
|
|
2746
|
+
interface InternalResolveOptions extends Required<ResolveOptions>, ResolvePluginOptions {}
|
|
2747
|
+
//#endregion
|
|
2748
|
+
//#region src/node/packages.d.ts
|
|
2749
|
+
/** Cache for package.json resolution and package.json contents */
|
|
2750
|
+
type PackageCache = Map<string, PackageData>;
|
|
2751
|
+
interface PackageData {
|
|
2752
|
+
dir: string;
|
|
2753
|
+
hasSideEffects: (id: string) => boolean | "no-treeshake" | null;
|
|
2754
|
+
setResolvedCache: (key: string, entry: string, options: InternalResolveOptions) => void;
|
|
2755
|
+
getResolvedCache: (key: string, options: InternalResolveOptions) => string | undefined;
|
|
2756
|
+
data: {
|
|
2757
|
+
[field: string]: any;
|
|
2758
|
+
name: string;
|
|
2759
|
+
type: string;
|
|
2760
|
+
version: string;
|
|
2761
|
+
main: string;
|
|
2762
|
+
module: string;
|
|
2763
|
+
browser: string | Record<string, string | false>;
|
|
2764
|
+
exports: string | Record<string, any> | string[];
|
|
2765
|
+
imports: Record<string, any>;
|
|
2766
|
+
dependencies: Record<string, string>;
|
|
2767
|
+
};
|
|
2768
|
+
}
|
|
2769
|
+
//#endregion
|
|
2770
|
+
//#region src/node/plugins/license.d.ts
|
|
2771
|
+
interface LicenseOptions {
|
|
2689
2772
|
/**
|
|
2690
|
-
*
|
|
2773
|
+
* The output file name of the license file relative to the output directory.
|
|
2774
|
+
* Specify a path that ends with `.json` to output the raw JSON metadata.
|
|
2775
|
+
*
|
|
2776
|
+
* @default '.vite/license.md'
|
|
2691
2777
|
*/
|
|
2692
|
-
|
|
2778
|
+
fileName: string;
|
|
2779
|
+
}
|
|
2780
|
+
//#endregion
|
|
2781
|
+
//#region src/node/plugins/terser.d.ts
|
|
2782
|
+
interface TerserOptions extends TerserMinifyOptions {
|
|
2693
2783
|
/**
|
|
2694
|
-
*
|
|
2784
|
+
* Vite-specific option to specify the max number of workers to spawn
|
|
2785
|
+
* when minifying files with terser.
|
|
2786
|
+
*
|
|
2787
|
+
* @default number of CPUs minus 1
|
|
2695
2788
|
*/
|
|
2696
|
-
|
|
2789
|
+
maxWorkers?: number;
|
|
2790
|
+
}
|
|
2791
|
+
//#endregion
|
|
2792
|
+
//#region src/node/build.d.ts
|
|
2793
|
+
interface BuildEnvironmentOptions {
|
|
2697
2794
|
/**
|
|
2698
|
-
*
|
|
2699
|
-
* and
|
|
2795
|
+
* Compatibility transform target. The transform is performed with esbuild
|
|
2796
|
+
* and the lowest supported target is es2015. Note this only handles
|
|
2797
|
+
* syntax transformation and does not cover polyfills
|
|
2798
|
+
*
|
|
2799
|
+
* Default: 'baseline-widely-available' - transpile targeting browsers that
|
|
2800
|
+
* are included in the Baseline Widely Available on 2026-01-01.
|
|
2801
|
+
* (Chrome 111+, Edge 111+, Firefox 114+, Safari 16.4+).
|
|
2802
|
+
*
|
|
2803
|
+
* Another special value is 'esnext' - which only performs minimal transpiling
|
|
2804
|
+
* (for minification compat).
|
|
2805
|
+
*
|
|
2806
|
+
* For custom targets, see https://esbuild.github.io/api/#target and
|
|
2807
|
+
* https://esbuild.github.io/content-types/#javascript for more details.
|
|
2808
|
+
* @default 'baseline-widely-available'
|
|
2700
2809
|
*/
|
|
2701
|
-
|
|
2810
|
+
target?: "baseline-widely-available" | EsbuildTarget | false;
|
|
2702
2811
|
/**
|
|
2703
|
-
*
|
|
2704
|
-
*
|
|
2812
|
+
* whether to inject module preload polyfill.
|
|
2813
|
+
* Note: does not apply to library mode.
|
|
2814
|
+
* @default true
|
|
2815
|
+
* @deprecated use `modulePreload.polyfill` instead
|
|
2705
2816
|
*/
|
|
2706
|
-
|
|
2817
|
+
polyfillModulePreload?: boolean;
|
|
2707
2818
|
/**
|
|
2708
|
-
*
|
|
2709
|
-
*
|
|
2819
|
+
* Configure module preload
|
|
2820
|
+
* Note: does not apply to library mode.
|
|
2821
|
+
* @default true
|
|
2710
2822
|
*/
|
|
2711
|
-
|
|
2823
|
+
modulePreload?: boolean | ModulePreloadOptions;
|
|
2712
2824
|
/**
|
|
2713
|
-
*
|
|
2714
|
-
*
|
|
2715
|
-
*
|
|
2825
|
+
* Directory relative from `root` where build output will be placed. If the
|
|
2826
|
+
* directory exists, it will be removed before the build.
|
|
2827
|
+
* @default 'dist'
|
|
2716
2828
|
*/
|
|
2717
|
-
|
|
2829
|
+
outDir?: string;
|
|
2718
2830
|
/**
|
|
2719
|
-
*
|
|
2831
|
+
* Directory relative from `outDir` where the built js/css/image assets will
|
|
2832
|
+
* be placed.
|
|
2833
|
+
* @default 'assets'
|
|
2720
2834
|
*/
|
|
2721
|
-
|
|
2835
|
+
assetsDir?: string;
|
|
2722
2836
|
/**
|
|
2723
|
-
*
|
|
2837
|
+
* Static asset files smaller than this number (in bytes) will be inlined as
|
|
2838
|
+
* base64 strings. If a callback is passed, a boolean can be returned to opt-in
|
|
2839
|
+
* or opt-out of inlining. If nothing is returned the default logic applies.
|
|
2840
|
+
*
|
|
2841
|
+
* Default limit is `4096` (4 KiB). Set to `0` to disable.
|
|
2842
|
+
* @default 4096
|
|
2724
2843
|
*/
|
|
2725
|
-
|
|
2726
|
-
mappings: "";
|
|
2727
|
-
} | null, url: string, originalCode?: string): Promise<TransformResult | null>;
|
|
2844
|
+
assetsInlineLimit?: number | ((filePath: string, content: Buffer) => boolean | undefined);
|
|
2728
2845
|
/**
|
|
2729
|
-
*
|
|
2846
|
+
* Whether to code-split CSS. When enabled, CSS in async chunks will be
|
|
2847
|
+
* inlined as strings in the chunk and inserted via dynamically created
|
|
2848
|
+
* style tags when the chunk is loaded.
|
|
2849
|
+
* @default true
|
|
2730
2850
|
*/
|
|
2731
|
-
|
|
2732
|
-
fixStacktrace?: boolean;
|
|
2733
|
-
}): Promise<Record<string, any>>;
|
|
2851
|
+
cssCodeSplit?: boolean;
|
|
2734
2852
|
/**
|
|
2735
|
-
*
|
|
2853
|
+
* An optional separate target for CSS minification.
|
|
2854
|
+
* As esbuild only supports configuring targets to mainstream
|
|
2855
|
+
* browsers, users may need this option when they are targeting
|
|
2856
|
+
* a niche browser that comes with most modern JavaScript features
|
|
2857
|
+
* but has poor CSS support, e.g. Android WeChat WebView, which
|
|
2858
|
+
* doesn't support the #RGBA syntax.
|
|
2859
|
+
* When `build.cssMinify` is `lightningcss` (the default), this
|
|
2860
|
+
* option takes precedence over `css.lightningcss.targets` for the
|
|
2861
|
+
* minification step.
|
|
2862
|
+
* @default target
|
|
2736
2863
|
*/
|
|
2737
|
-
|
|
2864
|
+
cssTarget?: EsbuildTarget | false;
|
|
2738
2865
|
/**
|
|
2739
|
-
*
|
|
2866
|
+
* Override CSS minification specifically instead of defaulting to `build.minify`,
|
|
2867
|
+
* so you can configure minification for JS and CSS separately.
|
|
2868
|
+
* @default 'lightningcss', but false if build.minify is disabled for client build
|
|
2740
2869
|
*/
|
|
2741
|
-
|
|
2870
|
+
cssMinify?: boolean | "lightningcss" | "esbuild";
|
|
2742
2871
|
/**
|
|
2743
|
-
*
|
|
2744
|
-
*
|
|
2872
|
+
* If `true`, a separate sourcemap file will be created. If 'inline', the
|
|
2873
|
+
* sourcemap will be appended to the resulting output file as data URI.
|
|
2874
|
+
* 'hidden' works like `true` except that the corresponding sourcemap
|
|
2875
|
+
* comments in the bundled files are suppressed.
|
|
2876
|
+
* @default false
|
|
2745
2877
|
*/
|
|
2746
|
-
|
|
2878
|
+
sourcemap?: boolean | "inline" | "hidden";
|
|
2747
2879
|
/**
|
|
2748
|
-
*
|
|
2880
|
+
* Set to `false` to disable minification, or specify the minifier to use.
|
|
2881
|
+
* Available options are 'oxc' or 'terser' or 'esbuild'.
|
|
2882
|
+
* @default 'oxc' for client build, false for SSR build
|
|
2749
2883
|
*/
|
|
2750
|
-
|
|
2884
|
+
minify?: boolean | "oxc" | "terser" | "esbuild";
|
|
2751
2885
|
/**
|
|
2752
|
-
*
|
|
2886
|
+
* Options for terser
|
|
2887
|
+
* https://terser.org/docs/api-reference#minify-options
|
|
2888
|
+
*
|
|
2889
|
+
* In addition, you can also pass a `maxWorkers: number` option to specify the
|
|
2890
|
+
* max number of workers to spawn. Defaults to the number of CPUs minus 1.
|
|
2753
2891
|
*/
|
|
2754
|
-
|
|
2892
|
+
terserOptions?: TerserOptions;
|
|
2755
2893
|
/**
|
|
2756
|
-
*
|
|
2894
|
+
* Whether to use import maps feature to optimize chunk caching efficiency.
|
|
2895
|
+
* @default false
|
|
2896
|
+
* @experimental
|
|
2757
2897
|
*/
|
|
2758
|
-
|
|
2898
|
+
chunkImportMap?: boolean;
|
|
2759
2899
|
/**
|
|
2760
|
-
*
|
|
2900
|
+
* Alias to `rolldownOptions`
|
|
2901
|
+
* @deprecated Use `rolldownOptions` instead.
|
|
2761
2902
|
*/
|
|
2762
|
-
|
|
2903
|
+
rollupOptions?: RolldownOptions;
|
|
2763
2904
|
/**
|
|
2764
|
-
*
|
|
2765
|
-
*
|
|
2766
|
-
* @param forceOptimize - force the optimizer to re-bundle, same as --force cli flag
|
|
2905
|
+
* Will be merged with internal rolldown options.
|
|
2906
|
+
* https://rolldown.rs/reference/Interface.RolldownOptions
|
|
2767
2907
|
*/
|
|
2768
|
-
|
|
2908
|
+
rolldownOptions?: RolldownOptions;
|
|
2769
2909
|
/**
|
|
2770
|
-
*
|
|
2910
|
+
* Options to pass on to `@rollup/plugin-commonjs`
|
|
2911
|
+
* @deprecated This option is no-op and will be removed in future versions.
|
|
2771
2912
|
*/
|
|
2772
|
-
|
|
2913
|
+
commonjsOptions?: RollupCommonJSOptions;
|
|
2773
2914
|
/**
|
|
2774
|
-
*
|
|
2775
|
-
* are processed. If called from a load or transform plugin hook, the id needs to be
|
|
2776
|
-
* passed as a parameter to avoid deadlocks. Calling this function after the first
|
|
2777
|
-
* static imports section of the module graph has been processed will resolve immediately.
|
|
2915
|
+
* Options to pass on to `@rollup/plugin-dynamic-import-vars`
|
|
2778
2916
|
*/
|
|
2779
|
-
|
|
2780
|
-
}
|
|
2781
|
-
interface ResolvedServerUrls {
|
|
2782
|
-
local: string[];
|
|
2783
|
-
network: string[];
|
|
2917
|
+
dynamicImportVarsOptions?: RollupDynamicImportVarsOptions;
|
|
2784
2918
|
/**
|
|
2785
|
-
*
|
|
2786
|
-
*
|
|
2787
|
-
* when the interface name is not known, for example when an explicit `host`
|
|
2788
|
-
* is set.
|
|
2919
|
+
* Whether to write bundle to disk
|
|
2920
|
+
* @default true
|
|
2789
2921
|
*/
|
|
2790
|
-
|
|
2791
|
-
}
|
|
2792
|
-
declare function createServer(inlineConfig?: InlineConfig | ResolvedConfig): Promise<ViteDevServer>;
|
|
2793
|
-
//#endregion
|
|
2794
|
-
//#region src/node/plugins/html.d.ts
|
|
2795
|
-
interface HtmlTagDescriptor {
|
|
2796
|
-
tag: string;
|
|
2922
|
+
write?: boolean;
|
|
2797
2923
|
/**
|
|
2798
|
-
*
|
|
2924
|
+
* Empty outDir on write.
|
|
2925
|
+
* @default true when outDir is a sub directory of project root
|
|
2799
2926
|
*/
|
|
2800
|
-
|
|
2801
|
-
children?: string | HtmlTagDescriptor[];
|
|
2927
|
+
emptyOutDir?: boolean | null;
|
|
2802
2928
|
/**
|
|
2803
|
-
*
|
|
2929
|
+
* Copy the public directory to outDir on write.
|
|
2930
|
+
* @default true
|
|
2804
2931
|
*/
|
|
2805
|
-
|
|
2806
|
-
}
|
|
2807
|
-
type IndexHtmlTransformResult = string | HtmlTagDescriptor[] | {
|
|
2808
|
-
html: string;
|
|
2809
|
-
tags: HtmlTagDescriptor[];
|
|
2810
|
-
};
|
|
2811
|
-
interface IndexHtmlTransformContext {
|
|
2932
|
+
copyPublicDir?: boolean;
|
|
2812
2933
|
/**
|
|
2813
|
-
*
|
|
2934
|
+
* Whether to emit a `.vite/license.md` file that includes all bundled dependencies'
|
|
2935
|
+
* licenses. Pass an object to customize the output file name.
|
|
2936
|
+
* @default false
|
|
2814
2937
|
*/
|
|
2815
|
-
|
|
2938
|
+
license?: boolean | LicenseOptions;
|
|
2816
2939
|
/**
|
|
2817
|
-
*
|
|
2940
|
+
* Whether to emit a .vite/manifest.json in the output dir to map hash-less filenames
|
|
2941
|
+
* to their hashed versions. Useful when you want to generate your own HTML
|
|
2942
|
+
* instead of using the one generated by Vite.
|
|
2943
|
+
*
|
|
2944
|
+
* Example:
|
|
2945
|
+
*
|
|
2946
|
+
* ```json
|
|
2947
|
+
* {
|
|
2948
|
+
* "main.js": {
|
|
2949
|
+
* "file": "main.68fe3fad.js",
|
|
2950
|
+
* "css": "main.e6b63442.css",
|
|
2951
|
+
* "imports": [...],
|
|
2952
|
+
* "dynamicImports": [...]
|
|
2953
|
+
* }
|
|
2954
|
+
* }
|
|
2955
|
+
* ```
|
|
2956
|
+
* @default false
|
|
2818
2957
|
*/
|
|
2819
|
-
|
|
2820
|
-
server?: ViteDevServer;
|
|
2821
|
-
bundle?: OutputBundle;
|
|
2822
|
-
chunk?: OutputChunk;
|
|
2823
|
-
originalUrl?: string;
|
|
2824
|
-
}
|
|
2825
|
-
type IndexHtmlTransformHook = (this: MinimalPluginContextWithoutEnvironment, html: string, ctx: IndexHtmlTransformContext) => IndexHtmlTransformResult | void | Promise<IndexHtmlTransformResult | void>;
|
|
2826
|
-
type IndexHtmlTransform = IndexHtmlTransformHook | {
|
|
2827
|
-
order?: "pre" | "post" | null;
|
|
2828
|
-
handler: IndexHtmlTransformHook;
|
|
2829
|
-
};
|
|
2830
|
-
//#endregion
|
|
2831
|
-
//#region src/node/plugins/pluginFilter.d.ts
|
|
2832
|
-
type StringFilter<Value = string | RegExp> = Value | Array<Value> | {
|
|
2833
|
-
include?: Value | Array<Value>;
|
|
2834
|
-
exclude?: Value | Array<Value>;
|
|
2835
|
-
};
|
|
2836
|
-
//#endregion
|
|
2837
|
-
//#region src/node/plugin.d.ts
|
|
2838
|
-
/**
|
|
2839
|
-
* Vite plugins extends the Rollup plugin interface with a few extra
|
|
2840
|
-
* vite-specific options. A valid vite plugin is also a valid Rollup plugin.
|
|
2841
|
-
* On the contrary, a Rollup plugin may or may NOT be a valid vite universal
|
|
2842
|
-
* plugin, since some Rollup features do not make sense in an unbundled
|
|
2843
|
-
* dev server context. That said, as long as a rollup plugin doesn't have strong
|
|
2844
|
-
* coupling between its bundle phase and output phase hooks then it should
|
|
2845
|
-
* just work (that means, most of them).
|
|
2846
|
-
*
|
|
2847
|
-
* By default, the plugins are run during both serve and build. When a plugin
|
|
2848
|
-
* is applied during serve, it will only run **non output plugin hooks** (see
|
|
2849
|
-
* rollup type definition of {@link rollup#PluginHooks}). You can think of the
|
|
2850
|
-
* dev server as only running `const bundle = rollup.rollup()` but never calling
|
|
2851
|
-
* `bundle.generate()`.
|
|
2852
|
-
*
|
|
2853
|
-
* A plugin that expects to have different behavior depending on serve/build can
|
|
2854
|
-
* export a factory function that receives the command being run via options.
|
|
2855
|
-
*
|
|
2856
|
-
* If a plugin should be applied only for server or build, a function format
|
|
2857
|
-
* config file can be used to conditional determine the plugins to use.
|
|
2858
|
-
*
|
|
2859
|
-
* The current environment can be accessed from the context for the all non-global
|
|
2860
|
-
* hooks (it is not available in config, configResolved, configureServer, etc).
|
|
2861
|
-
* It can be a dev, build, or scan environment.
|
|
2862
|
-
* Plugins can use this.environment.mode === 'dev' to guard for dev specific APIs.
|
|
2863
|
-
*/
|
|
2864
|
-
interface PluginContextExtension {
|
|
2958
|
+
manifest?: boolean | string;
|
|
2865
2959
|
/**
|
|
2866
|
-
*
|
|
2960
|
+
* Build in library mode. The value should be the global name of the lib in
|
|
2961
|
+
* UMD mode. This will produce esm + cjs + umd bundle formats with default
|
|
2962
|
+
* configurations that are suitable for distributing libraries.
|
|
2963
|
+
* @default false
|
|
2867
2964
|
*/
|
|
2868
|
-
|
|
2869
|
-
}
|
|
2870
|
-
interface PluginContextMetaExtension {
|
|
2871
|
-
viteVersion: string;
|
|
2872
|
-
}
|
|
2873
|
-
interface ConfigPluginContext extends Omit<MinimalPluginContext, "meta" | "environment"> {
|
|
2874
|
-
meta: Omit<PluginContextMeta, "watchMode">;
|
|
2875
|
-
}
|
|
2876
|
-
interface MinimalPluginContextWithoutEnvironment extends Omit<MinimalPluginContext, "environment"> {}
|
|
2877
|
-
declare module "rolldown" {
|
|
2878
|
-
interface MinimalPluginContext extends PluginContextExtension {}
|
|
2879
|
-
interface PluginContextMeta extends PluginContextMetaExtension {}
|
|
2880
|
-
}
|
|
2881
|
-
/**
|
|
2882
|
-
* There are two types of plugins in Vite. App plugins and environment plugins.
|
|
2883
|
-
* Environment Plugins are defined by a constructor function that will be called
|
|
2884
|
-
* once per each environment allowing users to have completely different plugins
|
|
2885
|
-
* for each of them. The constructor gets the resolved environment after the server
|
|
2886
|
-
* and builder has already been created simplifying config access and cache
|
|
2887
|
-
* management for environment specific plugins.
|
|
2888
|
-
* Environment Plugins are closer to regular rollup plugins. They can't define
|
|
2889
|
-
* app level hooks (like config, configResolved, configureServer, etc).
|
|
2890
|
-
*/
|
|
2891
|
-
interface Plugin<A = any> extends Rolldown.Plugin<A> {
|
|
2965
|
+
lib?: LibraryOptions | false;
|
|
2892
2966
|
/**
|
|
2893
|
-
*
|
|
2894
|
-
*
|
|
2895
|
-
*
|
|
2896
|
-
*
|
|
2897
|
-
* - The hook can return a filtered list of modules to narrow down the update.
|
|
2898
|
-
* e.g. for a Vue SFC, we can narrow down the part to update by comparing
|
|
2899
|
-
* the descriptors.
|
|
2900
|
-
*
|
|
2901
|
-
* - The hook can also return an empty array and then perform custom updates
|
|
2902
|
-
* by sending a custom hmr payload via environment.hot.send().
|
|
2903
|
-
*
|
|
2904
|
-
* - If the hook doesn't return a value, the hmr update will be performed as
|
|
2905
|
-
* normal.
|
|
2967
|
+
* Produce SSR oriented build. Note this requires specifying SSR entry via
|
|
2968
|
+
* `rolldownOptions.input`.
|
|
2969
|
+
* @default false
|
|
2906
2970
|
*/
|
|
2907
|
-
|
|
2908
|
-
environment: DevEnvironment;
|
|
2909
|
-
}, options: HotUpdateOptions) => Array<EnvironmentModuleNode> | void | Promise<Array<EnvironmentModuleNode> | void>>;
|
|
2971
|
+
ssr?: boolean | string;
|
|
2910
2972
|
/**
|
|
2911
|
-
*
|
|
2973
|
+
* Generate SSR manifest for determining style links and asset preload
|
|
2974
|
+
* directives in production.
|
|
2975
|
+
* @default false
|
|
2912
2976
|
*/
|
|
2913
|
-
|
|
2914
|
-
kind?: ImportKind;
|
|
2915
|
-
custom?: CustomPluginOptions;
|
|
2916
|
-
ssr?: boolean | undefined;
|
|
2917
|
-
|
|
2918
|
-
isEntry: boolean;
|
|
2919
|
-
}) => Promise<ResolveIdResult> | ResolveIdResult, {
|
|
2920
|
-
filter?: {
|
|
2921
|
-
id?: StringFilter<RegExp>;
|
|
2922
|
-
};
|
|
2923
|
-
}>;
|
|
2924
|
-
load?: ObjectHook<(this: PluginContext, id: string, options?: {
|
|
2925
|
-
ssr?: boolean | undefined;
|
|
2926
|
-
}) => Promise<LoadResult> | LoadResult, {
|
|
2927
|
-
filter?: {
|
|
2928
|
-
id?: StringFilter;
|
|
2929
|
-
};
|
|
2930
|
-
}>;
|
|
2931
|
-
transform?: ObjectHook<(this: TransformPluginContext, code: string, id: string, options?: {
|
|
2932
|
-
moduleType: ModuleType;
|
|
2933
|
-
ssr?: boolean | undefined;
|
|
2934
|
-
}) => Promise<Rolldown.TransformResult> | Rolldown.TransformResult, {
|
|
2935
|
-
filter?: {
|
|
2936
|
-
id?: StringFilter;
|
|
2937
|
-
code?: StringFilter;
|
|
2938
|
-
moduleType?: ModuleTypeFilter;
|
|
2939
|
-
};
|
|
2940
|
-
}>;
|
|
2977
|
+
ssrManifest?: boolean | string;
|
|
2941
2978
|
/**
|
|
2942
|
-
*
|
|
2943
|
-
*
|
|
2944
|
-
* during `vite build --app`
|
|
2945
|
-
* We have an opt-in per plugin, and a general `builder.sharedPlugins`
|
|
2946
|
-
* In a future major, we'll flip the default to be shared by default
|
|
2947
|
-
* @experimental
|
|
2979
|
+
* Emit assets during SSR.
|
|
2980
|
+
* @default false
|
|
2948
2981
|
*/
|
|
2949
|
-
|
|
2982
|
+
ssrEmitAssets?: boolean;
|
|
2950
2983
|
/**
|
|
2951
|
-
*
|
|
2952
|
-
*
|
|
2953
|
-
* dev, for the client environment. Plugins can opt-in to be called
|
|
2954
|
-
* per-environment, aligning with the build hook behavior.
|
|
2955
|
-
* @experimental
|
|
2984
|
+
* Emit assets during build. Frameworks can set environments.ssr.build.emitAssets
|
|
2985
|
+
* By default, it is true for the client and false for other environments.
|
|
2956
2986
|
*/
|
|
2957
|
-
|
|
2987
|
+
emitAssets?: boolean;
|
|
2958
2988
|
/**
|
|
2959
|
-
*
|
|
2960
|
-
*
|
|
2961
|
-
*
|
|
2962
|
-
* per-environment, aligning with the watchChange hook behavior.
|
|
2963
|
-
* @experimental
|
|
2989
|
+
* Set to false to disable reporting compressed chunk sizes.
|
|
2990
|
+
* Can slightly improve build speed.
|
|
2991
|
+
* @default true
|
|
2964
2992
|
*/
|
|
2965
|
-
|
|
2993
|
+
reportCompressedSize?: boolean;
|
|
2966
2994
|
/**
|
|
2967
|
-
*
|
|
2968
|
-
*
|
|
2969
|
-
*
|
|
2970
|
-
* Plugin invocation order:
|
|
2971
|
-
* - alias resolution
|
|
2972
|
-
* - `enforce: 'pre'` plugins
|
|
2973
|
-
* - vite core plugins
|
|
2974
|
-
* - normal plugins
|
|
2975
|
-
* - vite build plugins
|
|
2976
|
-
* - `enforce: 'post'` plugins
|
|
2977
|
-
* - vite build post plugins
|
|
2995
|
+
* Adjust chunk size warning limit (in kB).
|
|
2996
|
+
* @default 500
|
|
2978
2997
|
*/
|
|
2979
|
-
|
|
2998
|
+
chunkSizeWarningLimit?: number;
|
|
2980
2999
|
/**
|
|
2981
|
-
*
|
|
3000
|
+
* Rollup watch options
|
|
3001
|
+
* https://rollupjs.org/configuration-options/#watch
|
|
3002
|
+
* @default null
|
|
2982
3003
|
*/
|
|
2983
|
-
|
|
3004
|
+
watch?: WatcherOptions | null;
|
|
2984
3005
|
/**
|
|
2985
|
-
*
|
|
2986
|
-
* By default, the plugin is active in all environments
|
|
2987
|
-
* @experimental
|
|
3006
|
+
* create the Build Environment instance
|
|
2988
3007
|
*/
|
|
2989
|
-
|
|
3008
|
+
createEnvironment?: (name: string, config: ResolvedConfig) => Promise<BuildEnvironment> | BuildEnvironment;
|
|
3009
|
+
}
|
|
3010
|
+
type BuildOptions = BuildEnvironmentOptions;
|
|
3011
|
+
interface LibraryOptions {
|
|
2990
3012
|
/**
|
|
2991
|
-
*
|
|
2992
|
-
*
|
|
2993
|
-
* deeply merged into existing config.
|
|
2994
|
-
*
|
|
2995
|
-
* Note: User plugins are resolved before running this hook so injecting other
|
|
2996
|
-
* plugins inside the `config` hook will have no effect.
|
|
3013
|
+
* Path of library entry.
|
|
3014
|
+
* Defaults to the top-level `input` option when omitted.
|
|
2997
3015
|
*/
|
|
2998
|
-
|
|
3016
|
+
entry?: InputOption;
|
|
2999
3017
|
/**
|
|
3000
|
-
*
|
|
3001
|
-
*
|
|
3002
|
-
* deeply merged into existing config.
|
|
3003
|
-
* This hook is called for each environment with a partially resolved environment config
|
|
3004
|
-
* that already accounts for the default environment config values set at the root level.
|
|
3005
|
-
* If plugins need to modify the config of a given environment, they should do it in this
|
|
3006
|
-
* hook instead of the config hook. Leaving the config hook only for modifying the root
|
|
3007
|
-
* default environment config.
|
|
3018
|
+
* The name of the exposed global variable. Required when the `formats` option includes
|
|
3019
|
+
* `umd` or `iife`
|
|
3008
3020
|
*/
|
|
3009
|
-
|
|
3010
|
-
/**
|
|
3011
|
-
* Whether this environment is SSR environment and `ssr.target` is set to `'webworker'`.
|
|
3012
|
-
* Only intended to be used for backward compatibility.
|
|
3013
|
-
*/
|
|
3014
|
-
isSsrTargetWebworker?: boolean;
|
|
3015
|
-
}) => EnvironmentOptions | null | void | Promise<EnvironmentOptions | null | void>>;
|
|
3021
|
+
name?: string;
|
|
3016
3022
|
/**
|
|
3017
|
-
*
|
|
3023
|
+
* Output bundle formats. Defaults to `['es', 'umd']` for a single entry, or
|
|
3024
|
+
* `['es', 'cjs']` for multiple entries (`umd` and `iife` do not support
|
|
3025
|
+
* multiple entries).
|
|
3026
|
+
* @default ['es', 'umd']
|
|
3018
3027
|
*/
|
|
3019
|
-
|
|
3028
|
+
formats?: LibraryFormats[];
|
|
3020
3029
|
/**
|
|
3021
|
-
*
|
|
3022
|
-
*
|
|
3023
|
-
*
|
|
3024
|
-
*
|
|
3025
|
-
* The hooks will be called before internal middlewares are applied. A hook
|
|
3026
|
-
* can return a post hook that will be called after internal middlewares
|
|
3027
|
-
* are applied. Hook can be async functions and will be called in series.
|
|
3030
|
+
* The name of the package file output. The default file name is the name option
|
|
3031
|
+
* of the project package.json. It can also be defined as a function taking the
|
|
3032
|
+
* format as an argument.
|
|
3028
3033
|
*/
|
|
3029
|
-
|
|
3034
|
+
fileName?: string | ((format: ModuleFormat, entryName: string) => string);
|
|
3030
3035
|
/**
|
|
3031
|
-
*
|
|
3032
|
-
*
|
|
3033
|
-
*
|
|
3034
|
-
*
|
|
3035
|
-
* The hooks are called before other middlewares are applied. A hook can
|
|
3036
|
-
* return a post hook that will be called after other middlewares are
|
|
3037
|
-
* applied. Hooks can be async functions and will be called in series.
|
|
3036
|
+
* The name of the CSS file output if the library imports CSS. Defaults to the
|
|
3037
|
+
* same value as `build.lib.fileName` if it's set a string, otherwise it falls
|
|
3038
|
+
* back to the name option of the project package.json.
|
|
3038
3039
|
*/
|
|
3039
|
-
|
|
3040
|
+
cssFileName?: string;
|
|
3041
|
+
}
|
|
3042
|
+
type LibraryFormats = "es" | "cjs" | "umd" | "iife";
|
|
3043
|
+
interface ModulePreloadOptions {
|
|
3040
3044
|
/**
|
|
3041
|
-
*
|
|
3042
|
-
*
|
|
3043
|
-
*
|
|
3044
|
-
* - html: string
|
|
3045
|
-
* - ctx: IndexHtmlTransformContext, which contains:
|
|
3046
|
-
* - path: public path when served
|
|
3047
|
-
* - filename: filename on disk
|
|
3048
|
-
* - server?: ViteDevServer (only present during serve)
|
|
3049
|
-
* - bundle?: rollup.OutputBundle (only present during build)
|
|
3050
|
-
* - chunk?: rollup.OutputChunk
|
|
3051
|
-
* - originalUrl?: string
|
|
3052
|
-
*
|
|
3053
|
-
* It can either return a transformed string, or a list of html tag
|
|
3054
|
-
* descriptors that will be injected into the `<head>` or `<body>`.
|
|
3055
|
-
*
|
|
3056
|
-
* By default the transform is applied **after** vite's internal html
|
|
3057
|
-
* transform. If you need to apply the transform before vite, use an object:
|
|
3058
|
-
* `{ order: 'pre', handler: hook }`
|
|
3045
|
+
* Whether to inject a module preload polyfill.
|
|
3046
|
+
* Note: does not apply to library mode.
|
|
3047
|
+
* @default true
|
|
3059
3048
|
*/
|
|
3060
|
-
|
|
3049
|
+
polyfill?: boolean;
|
|
3061
3050
|
/**
|
|
3062
|
-
*
|
|
3063
|
-
*
|
|
3051
|
+
* Resolve the list of dependencies to preload for a given dynamic import
|
|
3064
3052
|
* @experimental
|
|
3065
3053
|
*/
|
|
3066
|
-
|
|
3054
|
+
resolveDependencies?: ResolveModulePreloadDependenciesFn;
|
|
3055
|
+
}
|
|
3056
|
+
interface ResolvedModulePreloadOptions {
|
|
3057
|
+
polyfill: boolean;
|
|
3058
|
+
resolveDependencies?: ResolveModulePreloadDependenciesFn;
|
|
3059
|
+
}
|
|
3060
|
+
type ResolveModulePreloadDependenciesFn = (filename: string, deps: string[], context: {
|
|
3061
|
+
hostId: string;
|
|
3062
|
+
hostType: "html" | "js";
|
|
3063
|
+
}) => string[];
|
|
3064
|
+
interface ResolvedBuildEnvironmentOptions extends Required<Omit<BuildEnvironmentOptions, "polyfillModulePreload">> {
|
|
3065
|
+
modulePreload: false | ResolvedModulePreloadOptions;
|
|
3066
|
+
}
|
|
3067
|
+
interface ResolvedBuildOptions extends Required<Omit<BuildOptions, "polyfillModulePreload">> {
|
|
3068
|
+
modulePreload: false | ResolvedModulePreloadOptions;
|
|
3069
|
+
}
|
|
3070
|
+
/**
|
|
3071
|
+
* Bundles a single environment for production.
|
|
3072
|
+
* Returns a Promise containing the build result.
|
|
3073
|
+
*/
|
|
3074
|
+
export declare function build(inlineConfig?: InlineConfig): Promise<RolldownOutput | RolldownOutput[] | RolldownWatcher>;
|
|
3075
|
+
type RenderBuiltAssetUrl = (filename: string, type: {
|
|
3076
|
+
type: "asset" | "public";
|
|
3077
|
+
hostId: string;
|
|
3078
|
+
hostType: "js" | "css" | "html";
|
|
3079
|
+
ssr: boolean;
|
|
3080
|
+
}) => string | {
|
|
3081
|
+
relative?: boolean;
|
|
3082
|
+
runtime?: string;
|
|
3083
|
+
} | undefined;
|
|
3084
|
+
export declare class BuildEnvironment extends BaseEnvironment {
|
|
3085
|
+
mode: "build";
|
|
3086
|
+
isBuilt: boolean;
|
|
3087
|
+
constructor(name: string, config: ResolvedConfig, setup?: {
|
|
3088
|
+
options?: EnvironmentOptions;
|
|
3089
|
+
});
|
|
3090
|
+
init(): Promise<void>;
|
|
3091
|
+
}
|
|
3092
|
+
interface ViteBuilder {
|
|
3093
|
+
environments: Record<string, BuildEnvironment>;
|
|
3094
|
+
config: ResolvedConfig;
|
|
3095
|
+
buildApp(): Promise<void>;
|
|
3096
|
+
build(environment: BuildEnvironment): Promise<RolldownOutput | RolldownOutput[] | RolldownWatcher>;
|
|
3097
|
+
runDevTools(): Promise<void>;
|
|
3098
|
+
}
|
|
3099
|
+
interface BuilderOptions {
|
|
3067
3100
|
/**
|
|
3068
|
-
*
|
|
3069
|
-
* The handler receives a context containing changed filename, timestamp, a
|
|
3070
|
-
* list of modules affected by the file change, and the dev server instance.
|
|
3071
|
-
*
|
|
3072
|
-
* - The hook can return a filtered list of modules to narrow down the update.
|
|
3073
|
-
* e.g. for a Vue SFC, we can narrow down the part to update by comparing
|
|
3074
|
-
* the descriptors.
|
|
3075
|
-
*
|
|
3076
|
-
* - The hook can also return an empty array and then perform custom updates
|
|
3077
|
-
* by sending a custom hmr payload via server.ws.send().
|
|
3101
|
+
* Whether to share the config instance among environments to align with the behavior of dev server.
|
|
3078
3102
|
*
|
|
3079
|
-
*
|
|
3080
|
-
*
|
|
3103
|
+
* @default false
|
|
3104
|
+
* @experimental
|
|
3081
3105
|
*/
|
|
3082
|
-
|
|
3106
|
+
sharedConfigBuild?: boolean;
|
|
3083
3107
|
/**
|
|
3084
|
-
*
|
|
3108
|
+
* Whether to share the plugin instances among environments to align with the behavior of dev server.
|
|
3085
3109
|
*
|
|
3086
|
-
* @
|
|
3110
|
+
* @default false
|
|
3111
|
+
* @experimental
|
|
3087
3112
|
*/
|
|
3088
|
-
|
|
3089
|
-
|
|
3090
|
-
id: string;
|
|
3091
|
-
meta: CustomPluginOptions;
|
|
3092
|
-
moduleSideEffects: boolean | "no-treeshake";
|
|
3093
|
-
}) => boolean | null | void>;
|
|
3113
|
+
sharedPlugins?: boolean;
|
|
3114
|
+
buildApp?: (builder: ViteBuilder) => Promise<void>;
|
|
3094
3115
|
}
|
|
3095
|
-
type
|
|
3096
|
-
type PluginWithRequiredHook<K extends keyof Plugin> = Plugin & { [P in K]: NonNullable<Plugin[P]>; };
|
|
3097
|
-
type Thenable<T> = T | Promise<T>;
|
|
3098
|
-
type FalsyPlugin = false | null | undefined;
|
|
3099
|
-
type PluginOption = Thenable<Plugin | {
|
|
3100
|
-
name: string;
|
|
3101
|
-
} | FalsyPlugin | PluginOption[]>;
|
|
3116
|
+
type ResolvedBuilderOptions = Required<BuilderOptions>;
|
|
3102
3117
|
/**
|
|
3118
|
+
* Creates a ViteBuilder to orchestrate building multiple environments.
|
|
3103
3119
|
* @experimental
|
|
3104
3120
|
*/
|
|
3105
|
-
declare function
|
|
3121
|
+
export declare function createBuilder(inlineConfig?: InlineConfig, useLegacyBuilder?: null | boolean): Promise<ViteBuilder>;
|
|
3122
|
+
type BuildAppHook = (this: MinimalPluginContextWithoutEnvironment, builder: ViteBuilder) => Promise<void>;
|
|
3106
3123
|
//#endregion
|
|
3107
3124
|
//#region src/node/idResolver.d.ts
|
|
3108
3125
|
type ResolveIdFn = (environment: PartialEnvironment, id: string, importer?: string, aliasOnly?: boolean) => Promise<string | undefined>;
|
|
@@ -3110,9 +3127,9 @@ type ResolveIdFn = (environment: PartialEnvironment, id: string, importer?: stri
|
|
|
3110
3127
|
* Create an internal resolver to be used in special scenarios, e.g.
|
|
3111
3128
|
* optimizer and handling css @imports
|
|
3112
3129
|
*/
|
|
3113
|
-
declare function createIdResolver(config: ResolvedConfig, options?: Partial<InternalResolveOptions>): ResolveIdFn;
|
|
3130
|
+
export declare function createIdResolver(config: ResolvedConfig, options?: Partial<InternalResolveOptions>): ResolveIdFn;
|
|
3114
3131
|
//#endregion
|
|
3115
|
-
//#region ../../node_modules/.pnpm/postcss-load-config@6.0.1_jiti@2.7.0_postcss@8.5.
|
|
3132
|
+
//#region ../../node_modules/.pnpm/postcss-load-config@6.0.1_jiti@2.7.0_postcss@8.5.28_tsx@4.23.13_yaml@2.9.0/node_modules/postcss-load-config/src/index.d.ts
|
|
3116
3133
|
type ConfigPlugin = Transformer | PostCSS.Plugin | Processor;
|
|
3117
3134
|
interface Config {
|
|
3118
3135
|
parser?: string | ProcessOptions['parser'] | false;
|
|
@@ -3197,8 +3214,8 @@ interface PreprocessCSSResult {
|
|
|
3197
3214
|
/**
|
|
3198
3215
|
* @experimental
|
|
3199
3216
|
*/
|
|
3200
|
-
declare function preprocessCSS(code: string, filename: string, config: ResolvedConfig): Promise<PreprocessCSSResult>;
|
|
3201
|
-
declare function formatPostcssSourceMap(rawMap: ExistingRawSourceMap, file: string): Promise<ExistingRawSourceMap>;
|
|
3217
|
+
export declare function preprocessCSS(code: string, filename: string, config: ResolvedConfig): Promise<PreprocessCSSResult>;
|
|
3218
|
+
export declare function formatPostcssSourceMap(rawMap: ExistingRawSourceMap, file: string): Promise<ExistingRawSourceMap>;
|
|
3202
3219
|
type PreprocessorAdditionalDataResult = string | {
|
|
3203
3220
|
content: string;
|
|
3204
3221
|
map?: ExistingRawSourceMap;
|
|
@@ -3227,7 +3244,7 @@ interface ESBuildOptions extends esbuildOptions_EsbuildTransformOptions {
|
|
|
3227
3244
|
type ESBuildTransformResult = Omit<EsbuildTransformResult, "map"> & {
|
|
3228
3245
|
map: SourceMap;
|
|
3229
3246
|
};
|
|
3230
|
-
declare function transformWithEsbuild(code: string, filename: string, options?: esbuildOptions_EsbuildTransformOptions, inMap?: object, config?: ResolvedConfig, watcher?: FSWatcher, ignoreEsbuildWarning?: boolean): Promise<ESBuildTransformResult>;
|
|
3247
|
+
export declare function transformWithEsbuild(code: string, filename: string, options?: esbuildOptions_EsbuildTransformOptions, inMap?: object, config?: ResolvedConfig, watcher?: FSWatcher, ignoreEsbuildWarning?: boolean): Promise<ESBuildTransformResult>;
|
|
3231
3248
|
//#endregion
|
|
3232
3249
|
//#region src/node/plugins/json.d.ts
|
|
3233
3250
|
interface JsonOptions {
|
|
@@ -3245,32 +3262,15 @@ interface JsonOptions {
|
|
|
3245
3262
|
stringify?: boolean | "auto";
|
|
3246
3263
|
}
|
|
3247
3264
|
//#endregion
|
|
3248
|
-
//#region src/node/
|
|
3249
|
-
|
|
3250
|
-
|
|
3251
|
-
|
|
3252
|
-
|
|
3253
|
-
|
|
3254
|
-
|
|
3255
|
-
* Attributes that contain a single asset URL.
|
|
3256
|
-
* @example ['src', 'data-src-dark']
|
|
3257
|
-
*/
|
|
3258
|
-
srcAttributes?: string[];
|
|
3259
|
-
/**
|
|
3260
|
-
* Attributes that contain srcset-format URLs.
|
|
3261
|
-
* @example ['srcset', 'imagesrcset']
|
|
3262
|
-
*/
|
|
3263
|
-
srcsetAttributes?: string[];
|
|
3264
|
-
/**
|
|
3265
|
-
* Called before handling an attribute to determine if it should be processed.
|
|
3266
|
-
*/
|
|
3267
|
-
filter?: (data: HtmlAssetSourceFilterData) => boolean;
|
|
3268
|
-
}
|
|
3269
|
-
interface HtmlAssetSourceFilterData {
|
|
3270
|
-
key: string;
|
|
3271
|
-
value: string;
|
|
3272
|
-
attributes: Record<string, string>;
|
|
3265
|
+
//#region src/node/plugins/oxc.d.ts
|
|
3266
|
+
interface OxcOptions extends Omit<rolldown_utils_TransformOptions, "cwd" | "sourceType" | "lang" | "sourcemap" | "helpers" | "inject" | "tsconfig" | "inputMap"> {
|
|
3267
|
+
include?: string | RegExp | ReadonlyArray<string | RegExp>;
|
|
3268
|
+
exclude?: string | RegExp | ReadonlyArray<string | RegExp>;
|
|
3269
|
+
jsxInject?: string;
|
|
3270
|
+
jsxRefreshInclude?: string | RegExp | ReadonlyArray<string | RegExp>;
|
|
3271
|
+
jsxRefreshExclude?: string | RegExp | ReadonlyArray<string | RegExp>;
|
|
3273
3272
|
}
|
|
3273
|
+
export declare function transformWithOxc(code: string, filename: string, options?: rolldown_utils_TransformOptions, inMap?: object, config?: ResolvedConfig, watcher?: FSWatcher): Promise<Omit<rolldown_utils_TransformResult, "errors">>;
|
|
3274
3274
|
//#endregion
|
|
3275
3275
|
//#region src/node/ssr/index.d.ts
|
|
3276
3276
|
type SSRTarget = "node" | "webworker";
|
|
@@ -3317,16 +3317,6 @@ interface ResolvedSSROptions extends SSROptions {
|
|
|
3317
3317
|
optimizeDeps: SsrDepOptimizationConfig;
|
|
3318
3318
|
}
|
|
3319
3319
|
//#endregion
|
|
3320
|
-
//#region src/node/plugins/oxc.d.ts
|
|
3321
|
-
interface OxcOptions extends Omit<rolldown_utils_TransformOptions, "cwd" | "sourceType" | "lang" | "sourcemap" | "helpers" | "inject" | "tsconfig" | "inputMap"> {
|
|
3322
|
-
include?: string | RegExp | ReadonlyArray<string | RegExp>;
|
|
3323
|
-
exclude?: string | RegExp | ReadonlyArray<string | RegExp>;
|
|
3324
|
-
jsxInject?: string;
|
|
3325
|
-
jsxRefreshInclude?: string | RegExp | ReadonlyArray<string | RegExp>;
|
|
3326
|
-
jsxRefreshExclude?: string | RegExp | ReadonlyArray<string | RegExp>;
|
|
3327
|
-
}
|
|
3328
|
-
declare function transformWithOxc(code: string, filename: string, options?: rolldown_utils_TransformOptions, inMap?: object, config?: ResolvedConfig, watcher?: FSWatcher): Promise<Omit<rolldown_utils_TransformResult, "errors">>;
|
|
3329
|
-
//#endregion
|
|
3330
3320
|
//#region src/node/config.d.ts
|
|
3331
3321
|
interface ConfigEnv {
|
|
3332
3322
|
/**
|
|
@@ -3355,12 +3345,12 @@ type UserConfigExport = UserConfig | Promise<UserConfig> | UserConfigFnObject |
|
|
|
3355
3345
|
* accepts a direct {@link UserConfig} object, or a function that returns it.
|
|
3356
3346
|
* The function receives a {@link ConfigEnv} object.
|
|
3357
3347
|
*/
|
|
3358
|
-
declare function defineConfig(config: UserConfig): UserConfig;
|
|
3359
|
-
declare function defineConfig(config: Promise<UserConfig>): Promise<UserConfig>;
|
|
3360
|
-
declare function defineConfig(config: UserConfigFnObject): UserConfigFnObject;
|
|
3361
|
-
declare function defineConfig(config: UserConfigFnPromise): UserConfigFnPromise;
|
|
3362
|
-
declare function defineConfig(config: UserConfigFn): UserConfigFn;
|
|
3363
|
-
declare function defineConfig(config: UserConfigExport): UserConfigExport;
|
|
3348
|
+
export declare function defineConfig(config: UserConfig): UserConfig;
|
|
3349
|
+
export declare function defineConfig(config: Promise<UserConfig>): Promise<UserConfig>;
|
|
3350
|
+
export declare function defineConfig(config: UserConfigFnObject): UserConfigFnObject;
|
|
3351
|
+
export declare function defineConfig(config: UserConfigFnPromise): UserConfigFnPromise;
|
|
3352
|
+
export declare function defineConfig(config: UserConfigFn): UserConfigFn;
|
|
3353
|
+
export declare function defineConfig(config: UserConfigExport): UserConfigExport;
|
|
3364
3354
|
interface CreateDevEnvironmentContext {
|
|
3365
3355
|
ws: WebSocketServer;
|
|
3366
3356
|
}
|
|
@@ -3491,6 +3481,11 @@ interface UserConfig extends DefaultEnvironmentOptions {
|
|
|
3491
3481
|
* @default process.cwd()
|
|
3492
3482
|
*/
|
|
3493
3483
|
root?: string;
|
|
3484
|
+
/**
|
|
3485
|
+
* Path to the TypeScript configuration file. Relative paths are resolved
|
|
3486
|
+
* from the project root.
|
|
3487
|
+
*/
|
|
3488
|
+
tsconfig?: string;
|
|
3494
3489
|
/**
|
|
3495
3490
|
* Base public path when served in development or production.
|
|
3496
3491
|
* @default '/'
|
|
@@ -3656,7 +3651,6 @@ interface UserConfig extends DefaultEnvironmentOptions {
|
|
|
3656
3651
|
appType?: AppType;
|
|
3657
3652
|
/**
|
|
3658
3653
|
* Enable devtools integration. Ensure that `@vitejs/devtools` is installed as a dependency.
|
|
3659
|
-
* This feature is currently supported only in build mode.
|
|
3660
3654
|
* @experimental
|
|
3661
3655
|
* @default false
|
|
3662
3656
|
*/
|
|
@@ -3811,7 +3805,7 @@ interface ResolvedConfig extends Readonly<Omit<UserConfig, "plugins" | "css" | "
|
|
|
3811
3805
|
/** @experimental */
|
|
3812
3806
|
builder: ResolvedBuilderOptions | undefined;
|
|
3813
3807
|
build: ResolvedBuildOptions;
|
|
3814
|
-
devtools: ResolvedDevToolsConfig;
|
|
3808
|
+
devtools: ResolvedDevToolsConfig | false;
|
|
3815
3809
|
preview: ResolvedPreviewOptions;
|
|
3816
3810
|
ssr: ResolvedSSROptions;
|
|
3817
3811
|
assetsInclude: (file: string) => boolean;
|
|
@@ -3851,16 +3845,16 @@ interface PluginHookUtils {
|
|
|
3851
3845
|
getSortedPluginHooks: <K extends keyof Plugin>(hookName: K) => NonNullable<HookHandler<Plugin[K]>>[];
|
|
3852
3846
|
}
|
|
3853
3847
|
type ResolveFn = (id: string, importer?: string, aliasOnly?: boolean, ssr?: boolean) => Promise<string | undefined>;
|
|
3854
|
-
declare function resolveConfig(inlineConfig: InlineConfig, command: "build" | "serve", defaultMode?: string, defaultNodeEnv?: string, isPreview?: boolean, patchConfig?: ((config: ResolvedConfig) => void) | undefined, patchPlugins?: ((resolvedPlugins: Plugin[]) => void) | undefined): Promise<ResolvedConfig>;
|
|
3855
|
-
declare function sortUserPlugins(plugins: (Plugin | Plugin[])[] | undefined): [Plugin[], Plugin[], Plugin[]];
|
|
3856
|
-
declare function loadConfigFromFile(configEnv: ConfigEnv, configFile?: string, configRoot?: string, logLevel?: LogLevel, customLogger?: Logger, configLoader?: "bundle" | "runner" | "native"): Promise<{
|
|
3848
|
+
export declare function resolveConfig(inlineConfig: InlineConfig, command: "build" | "serve", defaultMode?: string, defaultNodeEnv?: string, isPreview?: boolean, patchConfig?: ((config: ResolvedConfig) => void) | undefined, patchPlugins?: ((resolvedPlugins: Plugin[]) => void) | undefined): Promise<ResolvedConfig>;
|
|
3849
|
+
export declare function sortUserPlugins(plugins: (Plugin | Plugin[])[] | undefined): [Plugin[], Plugin[], Plugin[]];
|
|
3850
|
+
export declare function loadConfigFromFile(configEnv: ConfigEnv, configFile?: string, configRoot?: string, logLevel?: LogLevel, customLogger?: Logger, configLoader?: "bundle" | "runner" | "native"): Promise<{
|
|
3857
3851
|
path: string;
|
|
3858
3852
|
config: UserConfig;
|
|
3859
3853
|
dependencies: string[];
|
|
3860
3854
|
} | null>;
|
|
3861
3855
|
//#endregion
|
|
3862
3856
|
//#region src/node/server/middlewares/error.d.ts
|
|
3863
|
-
declare function buildErrorMessage(err: RollupError, args?: string[], includeStack?: boolean): string;
|
|
3857
|
+
export declare function buildErrorMessage(err: RollupError, args?: string[], includeStack?: boolean): string;
|
|
3864
3858
|
//#endregion
|
|
3865
3859
|
//#region src/node/ssr/runtime/serverModuleRunner.d.ts
|
|
3866
3860
|
/**
|
|
@@ -3878,23 +3872,23 @@ interface ServerModuleRunnerOptions extends Omit<ModuleRunnerOptions, "root" | "
|
|
|
3878
3872
|
*/
|
|
3879
3873
|
evaluator?: ModuleEvaluator;
|
|
3880
3874
|
}
|
|
3881
|
-
declare const createServerModuleRunnerTransport: (options: {
|
|
3875
|
+
export declare const createServerModuleRunnerTransport: (options: {
|
|
3882
3876
|
channel: NormalizedServerHotChannel;
|
|
3883
3877
|
}) => ModuleRunnerTransport;
|
|
3884
3878
|
/**
|
|
3885
3879
|
* Create an instance of the Vite SSR runtime that support HMR.
|
|
3886
3880
|
* @experimental
|
|
3887
3881
|
*/
|
|
3888
|
-
declare function createServerModuleRunner(environment: DevEnvironment, options?: ServerModuleRunnerOptions): ModuleRunner;
|
|
3882
|
+
export declare function createServerModuleRunner(environment: DevEnvironment, options?: ServerModuleRunnerOptions): ModuleRunner;
|
|
3889
3883
|
//#endregion
|
|
3890
3884
|
//#region src/node/server/environments/runnableEnvironment.d.ts
|
|
3891
|
-
declare function createRunnableDevEnvironment(name: string, config: ResolvedConfig, context?: RunnableDevEnvironmentContext): RunnableDevEnvironment;
|
|
3885
|
+
export declare function createRunnableDevEnvironment(name: string, config: ResolvedConfig, context?: RunnableDevEnvironmentContext): RunnableDevEnvironment;
|
|
3892
3886
|
interface RunnableDevEnvironmentContext extends Omit<DevEnvironmentContext, "hot"> {
|
|
3893
3887
|
runner?: (environment: RunnableDevEnvironment, options?: ServerModuleRunnerOptions) => ModuleRunner;
|
|
3894
3888
|
runnerOptions?: ServerModuleRunnerOptions;
|
|
3895
3889
|
hot?: boolean;
|
|
3896
3890
|
}
|
|
3897
|
-
declare function isRunnableDevEnvironment(environment: Environment): environment is RunnableDevEnvironment;
|
|
3891
|
+
export declare function isRunnableDevEnvironment(environment: Environment): environment is RunnableDevEnvironment;
|
|
3898
3892
|
declare class RunnableDevEnvironment extends DevEnvironment {
|
|
3899
3893
|
private _runner;
|
|
3900
3894
|
private _runnerFactory;
|
|
@@ -3908,8 +3902,8 @@ declare class RunnableDevEnvironment extends DevEnvironment {
|
|
|
3908
3902
|
interface FetchableDevEnvironmentContext extends DevEnvironmentContext {
|
|
3909
3903
|
handleRequest(request: Request): Promise<Response> | Response;
|
|
3910
3904
|
}
|
|
3911
|
-
declare function createFetchableDevEnvironment(name: string, config: ResolvedConfig, context: FetchableDevEnvironmentContext): FetchableDevEnvironment;
|
|
3912
|
-
declare function isFetchableDevEnvironment(environment: Environment): environment is FetchableDevEnvironment;
|
|
3905
|
+
export declare function createFetchableDevEnvironment(name: string, config: ResolvedConfig, context: FetchableDevEnvironmentContext): FetchableDevEnvironment;
|
|
3906
|
+
export declare function isFetchableDevEnvironment(environment: Environment): environment is FetchableDevEnvironment;
|
|
3913
3907
|
declare class FetchableDevEnvironment extends DevEnvironment {
|
|
3914
3908
|
private _handleRequest;
|
|
3915
3909
|
constructor(name: string, config: ResolvedConfig, context: FetchableDevEnvironmentContext);
|
|
@@ -3925,7 +3919,7 @@ interface RunnerImportResult<T> {
|
|
|
3925
3919
|
* Import any file using the default Vite environment.
|
|
3926
3920
|
* @experimental
|
|
3927
3921
|
*/
|
|
3928
|
-
declare function runnerImport<T>(moduleId: string, inlineConfig?: InlineConfig): Promise<RunnerImportResult<T>>;
|
|
3922
|
+
export declare function runnerImport<T>(moduleId: string, inlineConfig?: InlineConfig): Promise<RunnerImportResult<T>>;
|
|
3929
3923
|
//#endregion
|
|
3930
3924
|
//#region src/node/ssr/fetchModule.d.ts
|
|
3931
3925
|
interface FetchModuleOptions {
|
|
@@ -3937,7 +3931,7 @@ interface FetchModuleOptions {
|
|
|
3937
3931
|
* Fetch module information for Vite module runner.
|
|
3938
3932
|
* @experimental
|
|
3939
3933
|
*/
|
|
3940
|
-
declare function fetchModule(environment: DevEnvironment, url: string, importer?: string, options?: FetchModuleOptions): Promise<moduleRunner_FetchResult>;
|
|
3934
|
+
export declare function fetchModule(environment: DevEnvironment, url: string, importer?: string, options?: FetchModuleOptions): Promise<moduleRunner_FetchResult>;
|
|
3941
3935
|
//#endregion
|
|
3942
3936
|
//#region src/node/ssr/ssrTransform.d.ts
|
|
3943
3937
|
interface ModuleRunnerTransformOptions {
|
|
@@ -3956,21 +3950,21 @@ declare const DEFAULT_SERVER_MAIN_FIELDS: readonly string[];
|
|
|
3956
3950
|
declare const DEFAULT_CLIENT_CONDITIONS: readonly string[];
|
|
3957
3951
|
declare const DEFAULT_SERVER_CONDITIONS: readonly string[];
|
|
3958
3952
|
declare const DEFAULT_EXTERNAL_CONDITIONS: readonly string[];
|
|
3959
|
-
declare const defaultAllowedOrigins: RegExp;
|
|
3953
|
+
export declare const defaultAllowedOrigins: RegExp;
|
|
3960
3954
|
//#endregion
|
|
3961
3955
|
//#region src/node/utils.d.ts
|
|
3962
3956
|
/**
|
|
3963
3957
|
* Inlined to keep `@rollup/pluginutils` in devDependencies
|
|
3964
3958
|
*/
|
|
3965
3959
|
type FilterPattern = ReadonlyArray<string | RegExp> | string | RegExp | null;
|
|
3966
|
-
declare const createFilter: (include?: FilterPattern, exclude?: FilterPattern, options?: {
|
|
3960
|
+
export declare const createFilter: (include?: FilterPattern, exclude?: FilterPattern, options?: {
|
|
3967
3961
|
resolve?: string | false | null;
|
|
3968
3962
|
}) => (id: unknown) => boolean;
|
|
3969
|
-
declare const rollupVersion = "4.23.0";
|
|
3970
|
-
declare function normalizePath(id: string): string;
|
|
3971
|
-
declare const isCSSRequest: (request: string) => boolean;
|
|
3972
|
-
declare function mergeConfig<D extends Record<string, any>, O extends Record<string, any>>(defaults: D extends Function ? never : D, overrides: O extends Function ? never : O, isRoot?: boolean): Record<string, any>;
|
|
3973
|
-
declare function mergeAlias(a?: AliasOptions, b?: AliasOptions): AliasOptions | undefined;
|
|
3963
|
+
export declare const rollupVersion = "4.23.0";
|
|
3964
|
+
export declare function normalizePath(id: string): string;
|
|
3965
|
+
export declare const isCSSRequest: (request: string) => boolean;
|
|
3966
|
+
export declare function mergeConfig<D extends Record<string, any>, O extends Record<string, any>>(defaults: D extends Function ? never : D, overrides: O extends Function ? never : O, isRoot?: boolean): Record<string, any>;
|
|
3967
|
+
export declare function mergeAlias(a?: AliasOptions, b?: AliasOptions): AliasOptions | undefined;
|
|
3974
3968
|
//#endregion
|
|
3975
3969
|
//#region src/node/server/send.d.ts
|
|
3976
3970
|
interface SendOptions {
|
|
@@ -3981,33 +3975,33 @@ interface SendOptions {
|
|
|
3981
3975
|
mappings: "";
|
|
3982
3976
|
} | null;
|
|
3983
3977
|
}
|
|
3984
|
-
declare function send(req: http.IncomingMessage, res: ServerResponse, content: string | Buffer, type: string, options: SendOptions): void;
|
|
3978
|
+
export declare function send(req: http.IncomingMessage, res: ServerResponse, content: string | Buffer, type: string, options: SendOptions): void;
|
|
3985
3979
|
//#endregion
|
|
3986
3980
|
//#region src/node/server/searchRoot.d.ts
|
|
3987
3981
|
/**
|
|
3988
3982
|
* Search up for the nearest workspace root
|
|
3989
3983
|
*/
|
|
3990
|
-
declare function searchForWorkspaceRoot(current: string, root?: string): string;
|
|
3984
|
+
export declare function searchForWorkspaceRoot(current: string, root?: string): string;
|
|
3991
3985
|
//#endregion
|
|
3992
3986
|
//#region src/node/server/middlewares/static.d.ts
|
|
3993
3987
|
/**
|
|
3994
3988
|
* Check if the url is allowed to be served, via the `server.fs` config.
|
|
3995
3989
|
* @deprecated Use the `isFileLoadingAllowed` function instead.
|
|
3996
3990
|
*/
|
|
3997
|
-
declare function isFileServingAllowed(config: ResolvedConfig, url: string): boolean;
|
|
3998
|
-
declare function isFileServingAllowed(url: string, server: ViteDevServer): boolean;
|
|
3991
|
+
export declare function isFileServingAllowed(config: ResolvedConfig, url: string): boolean;
|
|
3992
|
+
export declare function isFileServingAllowed(url: string, server: ViteDevServer): boolean;
|
|
3999
3993
|
/**
|
|
4000
3994
|
* Warning: parameters are not validated, only works with normalized absolute paths
|
|
4001
3995
|
*/
|
|
4002
|
-
declare function isFileLoadingAllowed(config: ResolvedConfig, filePath: string): boolean;
|
|
3996
|
+
export declare function isFileLoadingAllowed(config: ResolvedConfig, filePath: string): boolean;
|
|
4003
3997
|
//#endregion
|
|
4004
3998
|
//#region src/node/env.d.ts
|
|
4005
3999
|
/**
|
|
4006
4000
|
* Load `.env` files within the `envDir` and merge them with the matching
|
|
4007
4001
|
* variables already present in `process.env`.
|
|
4008
4002
|
*/
|
|
4009
|
-
declare function loadEnv(mode: string, envDir: string | false, prefixes?: string | string[]): Record<string, string>;
|
|
4010
|
-
declare function resolveEnvPrefix({ envPrefix }: UserConfig): string[];
|
|
4003
|
+
export declare function loadEnv(mode: string, envDir: string | false, prefixes?: string | string[]): Record<string, string>;
|
|
4004
|
+
export declare function resolveEnvPrefix({ envPrefix }: UserConfig): string[];
|
|
4011
4005
|
//#endregion
|
|
4012
4006
|
//#region src/node/plugins/manifest.d.ts
|
|
4013
4007
|
type Manifest = Record<string, ManifestChunk>;
|
|
@@ -4058,9 +4052,9 @@ interface ManifestChunk {
|
|
|
4058
4052
|
//#endregion
|
|
4059
4053
|
//#region src/node/index.d.ts
|
|
4060
4054
|
/** @deprecated - use `parseSync` instead */
|
|
4061
|
-
declare const parseAst: typeof parseAst$1;
|
|
4055
|
+
export declare const parseAst: typeof parseAst$1;
|
|
4062
4056
|
/** @deprecated - use `parse` instead */
|
|
4063
|
-
declare const parseAstAsync: typeof parseAstAsync$1;
|
|
4064
|
-
declare const esbuildVersion = "0.25.0";
|
|
4057
|
+
export declare const parseAstAsync: typeof parseAstAsync$1;
|
|
4058
|
+
export declare const esbuildVersion = "0.25.0";
|
|
4065
4059
|
//#endregion
|
|
4066
|
-
export { type Alias, type AliasOptions, type AnymatchFn, type AnymatchPattern, type AppType, type BindCLIShortcutsOptions, type BuildAppHook,
|
|
4060
|
+
export { type Alias, type AliasOptions, type AnymatchFn, type AnymatchPattern, type AppType, type BindCLIShortcutsOptions, type BuildAppHook, type BuildEnvironmentOptions, type BuildOptions, type BuilderOptions, type CLIShortcut, type CSSModulesOptions, type CSSOptions, type ChunkMetadata, type CommonServerOptions, type ConfigEnv, type ConfigPluginContext, type Connect, type ConnectedPayload, type CorsOptions, type CorsOrigin, type CustomEventMap, type CustomPayload, type CustomPluginOptionsVite, type DepOptimizationConfig, type DepOptimizationMetadata, type DepOptimizationOptions, type DevEnvironmentContext, type DevEnvironmentOptions, type ESBuildOptions, type ESTree, type Environment, type EnvironmentModuleGraph, type EnvironmentModuleNode, type EnvironmentOptions, type ErrorPayload, type EsbuildTransformOptions, type ExperimentalOptions, type ExportsData, type FSWatcher, type FetchFunction, type FetchModuleOptions, type FetchResult, type FetchableDevEnvironment, type FetchableDevEnvironmentContext, type FileSystemServeOptions, type FilterPattern, type FullReloadPayload, type GeneralImportGlobOptions, type HMRPayload, type HTMLOptions, type HmrContext, type HmrOptions, type HookHandler, type HotChannel, type HotChannelClient, type HotChannelListener, type HotPayload, type HotUpdateOptions, type HtmlAssetSource, type HtmlTagDescriptor, type index_d_exports as HttpProxy, type HttpServer, type ImportGlobFunction, type ImportGlobOptions, type IndexHtmlTransform, type IndexHtmlTransformContext, type IndexHtmlTransformHook, type IndexHtmlTransformResult, type InferCustomEventPayload, type InlineConfig, type InternalResolveOptions, type InvalidatePayload, type JsonOptions, type KnownAsTypeMap, type KnownQueryTypeMap, type LegacyOptions, type LessPreprocessorOptions, type LibraryFormats, type LibraryOptions, type LightningCSSOptions, type LogErrorOptions, type LogLevel, type LogOptions, type LogType, type Logger, type LoggerOptions, type Manifest, type ManifestChunk, type MapToFunction, type AnymatchMatcher as Matcher, type MinifyOptions, type MinifyResult, type MinimalPluginContextWithoutEnvironment, type ModuleGraph, type ModuleNode, type ModulePreloadOptions, type ModuleRunnerTransformOptions, type NormalizedHotChannel, type NormalizedHotChannelClient, type NormalizedServerHotChannel, type OptimizedDepInfo, type OxcOptions, type ParseResult, type ParserOptions, type Plugin, type PluginContainer, type PluginHookUtils, type PluginOption, type Config as PostcssUserConfig, type PreprocessCSSResult, type PreviewOptions, type PreviewServer, type PreviewServerHook, type ProxyOptions, type PrunePayload, type RenderBuiltAssetUrl, type ResolveFn, type ResolveModulePreloadDependenciesFn, type ResolveOptions, type ResolvedBuildEnvironmentOptions, type ResolvedBuildOptions, type ResolvedCSSOptions, type ResolvedConfig, type ResolvedDevEnvironmentOptions, type ResolvedDevToolsConfig, type ResolvedModulePreloadOptions, type ResolvedPreviewOptions, type ResolvedSSROptions, type ResolvedServerOptions, type ResolvedServerUrls, type ResolvedUrl, type ResolvedWorkerOptions, type ResolverFunction, type ResolverObject, type Rolldown, type Rollup, type RollupCommonJSOptions, type RollupDynamicImportVarsOptions, type RunnableDevEnvironment, type RunnableDevEnvironmentContext, type SSROptions, type SSRTarget, type SassPreprocessorOptions, type SendOptions, type ServerHook, type ServerHotChannel, type ServerModuleRunnerOptions, type ServerOptions$1 as ServerOptions, type ServerWatchOptions, type SkipInformation, type SsrDepOptimizationConfig, type StylusPreprocessorOptions, type Terser, type TerserOptions, type TransformOptions, type TransformResult, type Update, type UpdatePayload, type UserConfig, type UserConfigExport, type UserConfigFn, type UserConfigFnObject, type UserConfigFnPromise, Visitor, type VisitorObject, type ViteBuilder, type ViteDevServer, type WatchOptions, type WebSocket, type WebSocketAlias, type WebSocketClient, type WebSocketCustomListener, type WebSocketServer, type WsOptions, DEFAULT_CLIENT_CONDITIONS as defaultClientConditions, DEFAULT_CLIENT_MAIN_FIELDS as defaultClientMainFields, DEFAULT_EXTERNAL_CONDITIONS as defaultExternalConditions, DEFAULT_SERVER_CONDITIONS as defaultServerConditions, DEFAULT_SERVER_MAIN_FIELDS as defaultServerMainFields, esmExternalRequirePlugin, minify, minifySync, ssrTransform as moduleRunnerTransform, parse, parseSync, rolldownVersion, VERSION as version, withFilter };
|