vite 5.1.0-beta.5 → 5.1.0-beta.6

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/dist/node/cli.js CHANGED
@@ -2,7 +2,7 @@ import path from 'node:path';
2
2
  import fs from 'node:fs';
3
3
  import { performance } from 'node:perf_hooks';
4
4
  import { EventEmitter } from 'events';
5
- import { z as colors, u as createLogger, r as resolveConfig } from './chunks/dep-Y86Adl1p.js';
5
+ import { c as colors, a as createLogger, r as resolveConfig } from './chunks/dep-ZX7UfftI.js';
6
6
  import { VERSION } from './constants.js';
7
7
  import 'node:fs/promises';
8
8
  import 'node:url';
@@ -32,10 +32,10 @@ import 'node:assert';
32
32
  import 'node:v8';
33
33
  import 'node:worker_threads';
34
34
  import 'node:buffer';
35
+ import 'node:events';
35
36
  import 'rollup/parseAst';
36
37
  import 'querystring';
37
38
  import 'node:readline';
38
- import 'node:events';
39
39
  import 'zlib';
40
40
  import 'buffer';
41
41
  import 'https';
@@ -757,7 +757,7 @@ cli
757
757
  filterDuplicateOptions(options);
758
758
  // output structure is preserved even after bundling so require()
759
759
  // is ok here
760
- const { createServer } = await import('./chunks/dep-Y86Adl1p.js').then(function (n) { return n.D; });
760
+ const { createServer } = await import('./chunks/dep-ZX7UfftI.js').then(function (n) { return n.E; });
761
761
  try {
762
762
  const server = await createServer({
763
763
  root,
@@ -837,7 +837,7 @@ cli
837
837
  .option('-w, --watch', `[boolean] rebuilds when modules have changed on disk`)
838
838
  .action(async (root, options) => {
839
839
  filterDuplicateOptions(options);
840
- const { build } = await import('./chunks/dep-Y86Adl1p.js').then(function (n) { return n.E; });
840
+ const { build } = await import('./chunks/dep-ZX7UfftI.js').then(function (n) { return n.F; });
841
841
  const buildOptions = cleanOptions(options);
842
842
  try {
843
843
  await build({
@@ -865,7 +865,7 @@ cli
865
865
  .option('--force', `[boolean] force the optimizer to ignore the cache and re-bundle`)
866
866
  .action(async (root, options) => {
867
867
  filterDuplicateOptions(options);
868
- const { optimizeDeps } = await import('./chunks/dep-Y86Adl1p.js').then(function (n) { return n.C; });
868
+ const { optimizeDeps } = await import('./chunks/dep-ZX7UfftI.js').then(function (n) { return n.D; });
869
869
  try {
870
870
  const config = await resolveConfig({
871
871
  root,
@@ -891,7 +891,7 @@ cli
891
891
  .option('--outDir <dir>', `[string] output directory (default: dist)`)
892
892
  .action(async (root, options) => {
893
893
  filterDuplicateOptions(options);
894
- const { preview } = await import('./chunks/dep-Y86Adl1p.js').then(function (n) { return n.F; });
894
+ const { preview } = await import('./chunks/dep-ZX7UfftI.js').then(function (n) { return n.G; });
895
895
  try {
896
896
  const server = await preview({
897
897
  root,
@@ -15,6 +15,8 @@ import * as url from 'node:url';
15
15
  import { URL } from 'node:url';
16
16
  import * as stream from 'node:stream';
17
17
  import { Duplex, DuplexOptions } from 'node:stream';
18
+ import { F as FetchResult, V as ViteRuntimeOptions, H as HMRLogger, a as ViteModuleRunner, b as ViteRuntime, c as HMRRuntimeConnection } from './types.d-jgA8ss1A.js';
19
+ export { d as FetchFunction } from './types.d-jgA8ss1A.js';
18
20
  import { SecureContextOptions } from 'node:tls';
19
21
  import { ZlibOptions } from 'node:zlib';
20
22
  import { HMRPayload, CustomPayload } from '../../types/hmrPayload.js';
@@ -26,6 +28,7 @@ export { TransformOptions as EsbuildTransformOptions, version as esbuildVersion
26
28
  import * as PostCSS from 'postcss';
27
29
  export { GeneralImportGlobOptions, ImportGlobFunction, ImportGlobOptions, KnownAsTypeMap } from '../../types/importGlob.js';
28
30
  export { ChunkMetadata } from '../../types/metadata.js';
31
+ import '../../types/hot.js';
29
32
 
30
33
  interface Alias {
31
34
  find: string | RegExp
@@ -72,6 +75,19 @@ declare class FSWatcher extends EventEmitter implements fs.FSWatcher {
72
75
  */
73
76
  constructor(options?: WatchOptions)
74
77
 
78
+ /**
79
+ * When called, requests that the Node.js event loop not exit so long as the fs.FSWatcher is active.
80
+ * Calling watcher.ref() multiple times will have no effect.
81
+ */
82
+ ref(): this
83
+
84
+ /**
85
+ * When called, the active fs.FSWatcher object will not require the Node.js event loop to remain active.
86
+ * If there is no other activity keeping the event loop running, the process may exit before the fs.FSWatcher object's callback is invoked.
87
+ * Calling watcher.unref() multiple times will have no effect.
88
+ */
89
+ unref(): this
90
+
75
91
  /**
76
92
  * Add files, directories, or glob patterns for tracking. Takes an array of strings or just one
77
93
  * string.
@@ -1487,6 +1503,12 @@ interface HMRBroadcaster extends Omit<HMRChannel, 'close' | 'name'> {
1487
1503
  addChannel(connection: HMRChannel): HMRBroadcaster;
1488
1504
  close(): Promise<unknown[]>;
1489
1505
  }
1506
+ interface ServerHMRChannel extends HMRChannel {
1507
+ api: {
1508
+ innerEmitter: EventEmitter;
1509
+ outsideEmitter: EventEmitter;
1510
+ };
1511
+ }
1490
1512
 
1491
1513
  type WebSocketCustomListener<T> = (data: T, client: WebSocketClient) => void;
1492
1514
  interface WebSocketServer extends HMRChannel {
@@ -1709,6 +1731,11 @@ interface ViteDevServer {
1709
1731
  ssrLoadModule(url: string, opts?: {
1710
1732
  fixStacktrace?: boolean;
1711
1733
  }): Promise<Record<string, any>>;
1734
+ /**
1735
+ * Fetch information about the module for Vite SSR runtime.
1736
+ * @experimental
1737
+ */
1738
+ ssrFetchModule(id: string, importer?: string): Promise<FetchResult>;
1712
1739
  /**
1713
1740
  * Returns a fixed version of the given stack
1714
1741
  */
@@ -3367,6 +3394,16 @@ declare function loadConfigFromFile(configEnv: ConfigEnv, configFile?: string, c
3367
3394
 
3368
3395
  declare function buildErrorMessage(err: RollupError, args?: string[], includeStack?: boolean): string;
3369
3396
 
3397
+ interface FetchModuleOptions {
3398
+ inlineSourceMap?: boolean;
3399
+ processSourceMap?<T extends NonNullable<TransformResult['map']>>(map: T): T;
3400
+ }
3401
+ /**
3402
+ * Fetch module information for Vite runtime.
3403
+ * @experimental
3404
+ */
3405
+ declare function fetchModule(server: ViteDevServer, url: string, importer?: string, options?: FetchModuleOptions): Promise<FetchResult>;
3406
+
3370
3407
  declare const VERSION: string;
3371
3408
 
3372
3409
  declare const isCSSRequest: (request: string) => boolean;
@@ -3427,4 +3464,40 @@ interface ManifestChunk {
3427
3464
  dynamicImports?: string[];
3428
3465
  }
3429
3466
 
3430
- export { type Alias, type AliasOptions, type AnymatchFn, type AnymatchPattern, type AppType, type AwaitWriteFinishOptions, type BindCLIShortcutsOptions, type BuildOptions, type CLIShortcut, type CSSModulesOptions, type CSSOptions, type CommonServerOptions, type ConfigEnv, Connect, type CorsOptions, type CorsOrigin, type DepOptimizationConfig, type DepOptimizationMetadata, type DepOptimizationOptions, type ESBuildOptions, type ESBuildTransformResult, type ExperimentalOptions, type ExportsData, FSWatcher, type FileSystemServeOptions, type FilterPattern, type HmrContext, type HmrOptions, type HookHandler, type HtmlTagDescriptor, HttpProxy, type IndexHtmlTransform, type IndexHtmlTransformContext, type IndexHtmlTransformHook, type IndexHtmlTransformResult, type InlineConfig, type InternalResolveOptions, type JsonOptions, type LegacyOptions, 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, ModuleGraph, ModuleNode, type ModulePreloadOptions, type OptimizedDepInfo, type Plugin, type PluginContainer, type PluginHookUtils, type PluginOption, type PreprocessCSSResult, type PreviewOptions, type PreviewServer, type PreviewServerHook, type ProxyOptions, type RenderBuiltAssetUrl, type ResolveFn, type ResolveModulePreloadDependenciesFn, type ResolveOptions, type ResolvedBuildOptions, type ResolvedCSSOptions, type ResolvedConfig, type ResolvedModulePreloadOptions, type ResolvedPreviewOptions, type ResolvedSSROptions, type ResolvedServerOptions, type ResolvedServerUrls, type ResolvedUrl, type ResolvedWorkerOptions, type ResolverFunction, type ResolverObject, type RollupCommonJSOptions, type RollupDynamicImportVarsOptions, type SSROptions, type SSRTarget, type SendOptions, type ServerHook, type ServerOptions, SplitVendorChunkCache, type SsrDepOptimizationOptions, Terser, type TerserOptions, type TransformOptions, type TransformResult, type UserConfig, type UserConfigExport, type UserConfigFn, type UserConfigFnObject, type UserConfigFnPromise, type ViteDevServer, type WatchOptions, WebSocket, WebSocketAlias, type WebSocketClient, type WebSocketCustomListener, WebSocketServer, build, buildErrorMessage, createFilter, createLogger, createServer, defineConfig, formatPostcssSourceMap, isCSSRequest, isFileServingAllowed, loadConfigFromFile, loadEnv, mergeAlias, mergeConfig, normalizePath, optimizeDeps, preprocessCSS, preview, resolveConfig, resolveEnvPrefix, rollupVersion, searchForWorkspaceRoot, send, sortUserPlugins, splitVendorChunk, splitVendorChunkPlugin, transformWithEsbuild, VERSION as version };
3467
+ /**
3468
+ * @experimental
3469
+ */
3470
+ interface MainThreadRuntimeOptions extends Omit<ViteRuntimeOptions, 'root' | 'fetchModule' | 'hmr'> {
3471
+ /**
3472
+ * Disable HMR or configure HMR logger.
3473
+ */
3474
+ hmr?: false | {
3475
+ logger?: false | HMRLogger;
3476
+ };
3477
+ /**
3478
+ * Provide a custom module runner. This controls how the code is executed.
3479
+ */
3480
+ runner?: ViteModuleRunner;
3481
+ }
3482
+ /**
3483
+ * Create an instance of the Vite SSR runtime that support HMR.
3484
+ * @experimental
3485
+ */
3486
+ declare function createViteRuntime(server: ViteDevServer, options?: MainThreadRuntimeOptions): Promise<ViteRuntime>;
3487
+
3488
+ /**
3489
+ * The connector class to establish HMR communication between the server and the Vite runtime.
3490
+ * @experimental
3491
+ */
3492
+ declare class ServerHMRConnector implements HMRRuntimeConnection {
3493
+ private handlers;
3494
+ private hmrChannel;
3495
+ private hmrClient;
3496
+ private connected;
3497
+ constructor(server: ViteDevServer);
3498
+ isReady(): boolean;
3499
+ send(message: string): void;
3500
+ onUpdate(handler: (payload: HMRPayload) => void): void;
3501
+ }
3502
+
3503
+ export { type Alias, type AliasOptions, type AnymatchFn, type AnymatchPattern, type AppType, type AwaitWriteFinishOptions, type BindCLIShortcutsOptions, type BuildOptions, type CLIShortcut, type CSSModulesOptions, type CSSOptions, type CommonServerOptions, type ConfigEnv, Connect, type CorsOptions, type CorsOrigin, type DepOptimizationConfig, type DepOptimizationMetadata, type DepOptimizationOptions, type ESBuildOptions, type ESBuildTransformResult, type ExperimentalOptions, type ExportsData, FSWatcher, type FetchModuleOptions, type FileSystemServeOptions, type FilterPattern, type HMRBroadcaster, type HMRBroadcasterClient, type HMRChannel, type HmrContext, type HmrOptions, type HookHandler, type HtmlTagDescriptor, HttpProxy, type IndexHtmlTransform, type IndexHtmlTransformContext, type IndexHtmlTransformHook, type IndexHtmlTransformResult, type InlineConfig, type InternalResolveOptions, type JsonOptions, type LegacyOptions, type LibraryFormats, type LibraryOptions, type LightningCSSOptions, type LogErrorOptions, type LogLevel, type LogOptions, type LogType, type Logger, type LoggerOptions, type MainThreadRuntimeOptions, type Manifest, type ManifestChunk, type MapToFunction, type AnymatchMatcher as Matcher, ModuleGraph, ModuleNode, type ModulePreloadOptions, type OptimizedDepInfo, type Plugin, type PluginContainer, type PluginHookUtils, type PluginOption, type PreprocessCSSResult, type PreviewOptions, type PreviewServer, type PreviewServerHook, type ProxyOptions, type RenderBuiltAssetUrl, type ResolveFn, type ResolveModulePreloadDependenciesFn, type ResolveOptions, type ResolvedBuildOptions, type ResolvedCSSOptions, type ResolvedConfig, type ResolvedModulePreloadOptions, type ResolvedPreviewOptions, type ResolvedSSROptions, type ResolvedServerOptions, type ResolvedServerUrls, type ResolvedUrl, type ResolvedWorkerOptions, type ResolverFunction, type ResolverObject, type RollupCommonJSOptions, type RollupDynamicImportVarsOptions, type SSROptions, type SSRTarget, type SendOptions, type ServerHMRChannel, ServerHMRConnector, type ServerHook, type ServerOptions, SplitVendorChunkCache, type SsrDepOptimizationOptions, Terser, type TerserOptions, type TransformOptions, type TransformResult, type UserConfig, type UserConfigExport, type UserConfigFn, type UserConfigFnObject, type UserConfigFnPromise, type ViteDevServer, type WatchOptions, WebSocket, WebSocketAlias, type WebSocketClient, type WebSocketCustomListener, WebSocketServer, build, buildErrorMessage, createFilter, createLogger, createServer, createViteRuntime, defineConfig, fetchModule, formatPostcssSourceMap, isCSSRequest, isFileServingAllowed, loadConfigFromFile, loadEnv, mergeAlias, mergeConfig, normalizePath, optimizeDeps, preprocessCSS, preview, resolveConfig, resolveEnvPrefix, rollupVersion, searchForWorkspaceRoot, send, sortUserPlugins, splitVendorChunk, splitVendorChunkPlugin, transformWithEsbuild, VERSION as version };
@@ -1,9 +1,10 @@
1
1
  export { parseAst, parseAstAsync } from 'rollup/parseAst';
2
- import { i as isInNodeModules, a as arraify } from './chunks/dep-Y86Adl1p.js';
3
- export { b as build, g as buildErrorMessage, j as createFilter, u as createLogger, c as createServer, d as defineConfig, f as formatPostcssSourceMap, w as isFileServingAllowed, l as loadConfigFromFile, x as loadEnv, h as mergeAlias, m as mergeConfig, n as normalizePath, o as optimizeDeps, e as preprocessCSS, p as preview, r as resolveConfig, y as resolveEnvPrefix, k as rollupVersion, v as searchForWorkspaceRoot, q as send, s as sortUserPlugins, t as transformWithEsbuild } from './chunks/dep-Y86Adl1p.js';
2
+ import { i as isInNodeModules, b as arraify } from './chunks/dep-ZX7UfftI.js';
3
+ export { f as build, j as buildErrorMessage, u as createFilter, a as createLogger, e as createServer, d as defineConfig, k as fetchModule, g as formatPostcssSourceMap, y as isFileServingAllowed, l as loadConfigFromFile, z as loadEnv, q as mergeAlias, m as mergeConfig, n as normalizePath, o as optimizeDeps, h as preprocessCSS, p as preview, r as resolveConfig, A as resolveEnvPrefix, v as rollupVersion, x as searchForWorkspaceRoot, w as send, s as sortUserPlugins, t as transformWithEsbuild } from './chunks/dep-ZX7UfftI.js';
4
4
  export { VERSION as version } from './constants.js';
5
5
  export { version as esbuildVersion } from 'esbuild';
6
- import 'node:fs';
6
+ import { existsSync, readFileSync } from 'node:fs';
7
+ import { ViteRuntime, ESModulesRunner } from './runtime.js';
7
8
  import 'node:fs/promises';
8
9
  import 'node:path';
9
10
  import 'node:url';
@@ -34,9 +35,9 @@ import 'node:assert';
34
35
  import 'node:v8';
35
36
  import 'node:worker_threads';
36
37
  import 'node:buffer';
38
+ import 'node:events';
37
39
  import 'querystring';
38
40
  import 'node:readline';
39
- import 'node:events';
40
41
  import 'zlib';
41
42
  import 'buffer';
42
43
  import 'https';
@@ -155,4 +156,108 @@ function splitVendorChunkPlugin() {
155
156
  };
156
157
  }
157
158
 
158
- export { isCSSRequest, splitVendorChunk, splitVendorChunkPlugin };
159
+ class ServerHMRBroadcasterClient {
160
+ hmrChannel;
161
+ constructor(hmrChannel) {
162
+ this.hmrChannel = hmrChannel;
163
+ }
164
+ send(...args) {
165
+ let payload;
166
+ if (typeof args[0] === 'string') {
167
+ payload = {
168
+ type: 'custom',
169
+ event: args[0],
170
+ data: args[1],
171
+ };
172
+ }
173
+ else {
174
+ payload = args[0];
175
+ }
176
+ if (payload.type !== 'custom') {
177
+ throw new Error('Cannot send non-custom events from the client to the server.');
178
+ }
179
+ this.hmrChannel.send(payload);
180
+ }
181
+ }
182
+ /**
183
+ * The connector class to establish HMR communication between the server and the Vite runtime.
184
+ * @experimental
185
+ */
186
+ class ServerHMRConnector {
187
+ handlers = [];
188
+ hmrChannel;
189
+ hmrClient;
190
+ connected = false;
191
+ constructor(server) {
192
+ const hmrChannel = server.hot?.channels.find((c) => c.name === 'ssr');
193
+ if (!hmrChannel) {
194
+ throw new Error("Your version of Vite doesn't support HMR during SSR. Please, use Vite 5.1 or higher.");
195
+ }
196
+ this.hmrClient = new ServerHMRBroadcasterClient(hmrChannel);
197
+ hmrChannel.api.outsideEmitter.on('send', (payload) => {
198
+ this.handlers.forEach((listener) => listener(payload));
199
+ });
200
+ this.hmrChannel = hmrChannel;
201
+ }
202
+ isReady() {
203
+ return this.connected;
204
+ }
205
+ send(message) {
206
+ const payload = JSON.parse(message);
207
+ this.hmrChannel.api.innerEmitter.emit(payload.event, payload.data, this.hmrClient);
208
+ }
209
+ onUpdate(handler) {
210
+ this.handlers.push(handler);
211
+ handler({ type: 'connected' });
212
+ this.connected = true;
213
+ }
214
+ }
215
+
216
+ function createHMROptions(server, options) {
217
+ if (server.config.server.hmr === false || options.hmr === false) {
218
+ return false;
219
+ }
220
+ const connection = new ServerHMRConnector(server);
221
+ return {
222
+ connection,
223
+ logger: options.hmr?.logger,
224
+ };
225
+ }
226
+ const prepareStackTrace = {
227
+ retrieveFile(id) {
228
+ if (existsSync(id)) {
229
+ return readFileSync(id, 'utf-8');
230
+ }
231
+ },
232
+ };
233
+ function resolveSourceMapOptions(options) {
234
+ if (options.sourcemapInterceptor != null) {
235
+ if (options.sourcemapInterceptor === 'prepareStackTrace') {
236
+ return prepareStackTrace;
237
+ }
238
+ if (typeof options.sourcemapInterceptor === 'object') {
239
+ return { ...prepareStackTrace, ...options.sourcemapInterceptor };
240
+ }
241
+ return options.sourcemapInterceptor;
242
+ }
243
+ if (typeof process !== 'undefined' && 'setSourceMapsEnabled' in process) {
244
+ return 'node';
245
+ }
246
+ return prepareStackTrace;
247
+ }
248
+ /**
249
+ * Create an instance of the Vite SSR runtime that support HMR.
250
+ * @experimental
251
+ */
252
+ async function createViteRuntime(server, options = {}) {
253
+ const hmr = createHMROptions(server, options);
254
+ return new ViteRuntime({
255
+ ...options,
256
+ root: server.config.root,
257
+ fetchModule: server.ssrFetchModule,
258
+ hmr,
259
+ sourcemapInterceptor: resolveSourceMapOptions(options),
260
+ }, options.runner || new ESModulesRunner());
261
+ }
262
+
263
+ export { ServerHMRConnector, createViteRuntime, isCSSRequest, splitVendorChunk, splitVendorChunkPlugin };
@@ -0,0 +1,12 @@
1
+ import { a as ViteModuleRunner, e as ViteRuntimeModuleContext } from './types.d-jgA8ss1A.js';
2
+ export { d as FetchFunction, F as FetchResult, f as HMRConnection, H as HMRLogger, c as HMRRuntimeConnection, g as ModuleCache, M as ModuleCacheMap, R as ResolvedResult, S as SSRImportMetadata, b as ViteRuntime, h as ViteRuntimeImportMeta, V as ViteRuntimeOptions, s as ssrDynamicImportKey, i as ssrExportAllKey, j as ssrImportKey, k as ssrImportMetaKey, l as ssrModuleExportsKey } from './types.d-jgA8ss1A.js';
3
+ import '../../types/hot.js';
4
+ import '../../types/hmrPayload.js';
5
+ import '../../types/customEvent.js';
6
+
7
+ declare class ESModulesRunner implements ViteModuleRunner {
8
+ runViteModule(context: ViteRuntimeModuleContext, code: string): Promise<any>;
9
+ runExternalModule(filepath: string): Promise<any>;
10
+ }
11
+
12
+ export { ESModulesRunner, ViteModuleRunner, ViteRuntimeModuleContext };