vite 5.2.6 → 5.2.8

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.
@@ -9998,7 +9998,7 @@ function makeUrl(scheme, user, host, port, path, query, hash) {
9998
9998
  type: 7 /* Absolute */,
9999
9999
  };
10000
10000
  }
10001
- function parseUrl$2(input) {
10001
+ function parseUrl$3(input) {
10002
10002
  if (isSchemeRelativeUrl(input)) {
10003
10003
  const url = parseAbsoluteUrl('http:' + input);
10004
10004
  url.scheme = '';
@@ -10112,10 +10112,10 @@ function normalizePath$4(url, type) {
10112
10112
  function resolve$2(input, base) {
10113
10113
  if (!input && !base)
10114
10114
  return '';
10115
- const url = parseUrl$2(input);
10115
+ const url = parseUrl$3(input);
10116
10116
  let inputType = url.type;
10117
10117
  if (base && inputType !== 7 /* Absolute */) {
10118
- const baseUrl = parseUrl$2(base);
10118
+ const baseUrl = parseUrl$3(base);
10119
10119
  const baseType = baseUrl.type;
10120
10120
  switch (inputType) {
10121
10121
  case 1 /* Empty */:
@@ -10354,6 +10354,14 @@ class TraceMap {
10354
10354
  function cast$2(map) {
10355
10355
  return map;
10356
10356
  }
10357
+ /**
10358
+ * Returns the encoded (VLQ string) form of the SourceMap's mappings field.
10359
+ */
10360
+ function encodedMappings(map) {
10361
+ var _a;
10362
+ var _b;
10363
+ return ((_a = (_b = cast$2(map))._encoded) !== null && _a !== void 0 ? _a : (_b._encoded = encode$1(cast$2(map)._decoded)));
10364
+ }
10357
10365
  /**
10358
10366
  * Returns the decoded (array of lines of segments) form of the SourceMap's mappings field.
10359
10367
  */
@@ -10402,6 +10410,32 @@ function originalPositionFor$1(map, needle) {
10402
10410
  const { names, resolvedSources } = map;
10403
10411
  return OMapping(resolvedSources[segment[SOURCES_INDEX$1]], segment[SOURCE_LINE$1] + 1, segment[SOURCE_COLUMN$1], segment.length === 5 ? names[segment[NAMES_INDEX$1]] : null);
10404
10412
  }
10413
+ /**
10414
+ * Returns a sourcemap object (with decoded mappings) suitable for passing to a library that expects
10415
+ * a sourcemap, or to JSON.stringify.
10416
+ */
10417
+ function decodedMap(map) {
10418
+ return clone(map, decodedMappings(map));
10419
+ }
10420
+ /**
10421
+ * Returns a sourcemap object (with encoded mappings) suitable for passing to a library that expects
10422
+ * a sourcemap, or to JSON.stringify.
10423
+ */
10424
+ function encodedMap(map) {
10425
+ return clone(map, encodedMappings(map));
10426
+ }
10427
+ function clone(map, mappings) {
10428
+ return {
10429
+ version: map.version,
10430
+ file: map.file,
10431
+ names: map.names,
10432
+ sourceRoot: map.sourceRoot,
10433
+ sources: map.sources,
10434
+ sourcesContent: map.sourcesContent,
10435
+ mappings,
10436
+ ignoreList: map.ignoreList || map.x_google_ignoreList,
10437
+ };
10438
+ }
10405
10439
  function OMapping(source, line, column, name) {
10406
10440
  return { source, line, column, name };
10407
10441
  }
@@ -16319,8 +16353,8 @@ function dataURIPlugin() {
16319
16353
  };
16320
16354
  }
16321
16355
 
16322
- /* es-module-lexer 1.4.1 */
16323
- const A=1===new Uint8Array(new Uint16Array([1]).buffer)[0];function parse$e(E,g="@"){if(!C)return init.then((()=>parse$e(E)));const I=E.length+1,k=(C.__heap_base.value||C.__heap_base)+4*I-C.memory.buffer.byteLength;k>0&&C.memory.grow(Math.ceil(k/65536));const K=C.sa(I-1);if((A?B:Q)(E,new Uint16Array(C.memory.buffer,K,I)),!C.parse())throw Object.assign(new Error(`Parse error ${g}:${E.slice(0,C.e()).split("\n").length}:${C.e()-E.lastIndexOf("\n",C.e()-1)}`),{idx:C.e()});const o=[],D=[];for(;C.ri();){const A=C.is(),Q=C.ie(),B=C.ai(),g=C.id(),I=C.ss(),k=C.se();let K;C.ip()&&(K=w(E.slice(-1===g?A-1:A,-1===g?Q+1:Q))),o.push({n:K,s:A,e:Q,ss:I,se:k,d:g,a:B});}for(;C.re();){const A=C.es(),Q=C.ee(),B=C.els(),g=C.ele(),I=E.slice(A,Q),k=I[0],K=B<0?void 0:E.slice(B,g),o=K?K[0]:"";D.push({s:A,e:Q,ls:B,le:g,n:'"'===k||"'"===k?w(I):I,ln:'"'===o||"'"===o?w(K):K});}function w(A){try{return (0, eval)(A)}catch(A){}}return [o,D,!!C.f(),!!C.ms()]}function Q(A,Q){const B=A.length;let C=0;for(;C<B;){const B=A.charCodeAt(C);Q[C++]=(255&B)<<8|B>>>8;}}function B(A,Q){const B=A.length;let C=0;for(;C<B;)Q[C]=A.charCodeAt(C++);}let C;const init=WebAssembly.compile((E="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","undefined"!=typeof Buffer?Buffer.from(E,"base64"):Uint8Array.from(atob(E),(A=>A.charCodeAt(0))))).then(WebAssembly.instantiate).then((({exports:A})=>{C=A;}));var E;
16356
+ /* es-module-lexer 1.5.0 */
16357
+ var ImportType;!function(A){A[A.Static=1]="Static",A[A.Dynamic=2]="Dynamic",A[A.ImportMeta=3]="ImportMeta",A[A.StaticSourcePhase=4]="StaticSourcePhase",A[A.DynamicSourcePhase=5]="DynamicSourcePhase";}(ImportType||(ImportType={}));const A=1===new Uint8Array(new Uint16Array([1]).buffer)[0];function parse$e(E,g="@"){if(!C)return init.then((()=>parse$e(E)));const I=E.length+1,w=(C.__heap_base.value||C.__heap_base)+4*I-C.memory.buffer.byteLength;w>0&&C.memory.grow(Math.ceil(w/65536));const D=C.sa(I-1);if((A?B:Q)(E,new Uint16Array(C.memory.buffer,D,I)),!C.parse())throw Object.assign(new Error(`Parse error ${g}:${E.slice(0,C.e()).split("\n").length}:${C.e()-E.lastIndexOf("\n",C.e()-1)}`),{idx:C.e()});const o=[],K=[];for(;C.ri();){const A=C.is(),Q=C.ie(),B=C.it(),g=C.ai(),I=C.id(),w=C.ss(),D=C.se();let K;C.ip()&&(K=k(E.slice(-1===I?A-1:A,-1===I?Q+1:Q))),o.push({n:K,t:B,s:A,e:Q,ss:w,se:D,d:I,a:g});}for(;C.re();){const A=C.es(),Q=C.ee(),B=C.els(),g=C.ele(),I=E.slice(A,Q),w=I[0],D=B<0?void 0:E.slice(B,g),o=D?D[0]:"";K.push({s:A,e:Q,ls:B,le:g,n:'"'===w||"'"===w?k(I):I,ln:'"'===o||"'"===o?k(D):D});}function k(A){try{return (0, eval)(A)}catch(A){}}return [o,K,!!C.f(),!!C.ms()]}function Q(A,Q){const B=A.length;let C=0;for(;C<B;){const B=A.charCodeAt(C);Q[C++]=(255&B)<<8|B>>>8;}}function B(A,Q){const B=A.length;let C=0;for(;C<B;)Q[C]=A.charCodeAt(C++);}let C;const init=WebAssembly.compile((E="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","undefined"!=typeof Buffer?Buffer.from(E,"base64"):Uint8Array.from(atob(E),(A=>A.charCodeAt(0))))).then(WebAssembly.instantiate).then((({exports:A})=>{C=A;}));var E;
16324
16358
 
16325
16359
  var convertSourceMap$1 = {};
16326
16360
 
@@ -16584,7 +16618,7 @@ async function injectSourcesContent(map, file, logger) {
16584
16618
  const sourcesContentPromises = [];
16585
16619
  for (let index = 0; index < map.sources.length; index++) {
16586
16620
  const sourcePath = map.sources[index];
16587
- if (!sourcesContent[index] &&
16621
+ if (sourcesContent[index] == null &&
16588
16622
  sourcePath &&
16589
16623
  !virtualSourceRE.test(sourcePath)) {
16590
16624
  sourcesContentPromises.push((async () => {
@@ -19258,10 +19292,10 @@ var string$2 = {};
19258
19292
 
19259
19293
  Object.defineProperty(string$2, "__esModule", { value: true });
19260
19294
  string$2.isEmpty = string$2.isString = void 0;
19261
- function isString(input) {
19295
+ function isString$1(input) {
19262
19296
  return typeof input === 'string';
19263
19297
  }
19264
- string$2.isString = isString;
19298
+ string$2.isString = isString$1;
19265
19299
  function isEmpty$1(input) {
19266
19300
  return input === '';
19267
19301
  }
@@ -29291,7 +29325,7 @@ var postcssrc = /*@__PURE__*/getDefaultExportFromCjs(src$1);
29291
29325
 
29292
29326
  // Copyright 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023 Simon Lydell
29293
29327
  // License: MIT.
29294
- var Identifier, JSXIdentifier, JSXPunctuator, JSXString, JSXText, KeywordsWithExpressionAfter, KeywordsWithNoLineTerminatorAfter, LineTerminatorSequence, MultiLineComment, Newline, NumericLiteral, Punctuator, RegularExpressionLiteral, SingleLineComment, StringLiteral, Template, TokensNotPrecedingObjectLiteral, TokensPrecedingExpression, WhiteSpace;
29328
+ var HashbangComment, Identifier, JSXIdentifier, JSXPunctuator, JSXString, JSXText, KeywordsWithExpressionAfter, KeywordsWithNoLineTerminatorAfter, LineTerminatorSequence, MultiLineComment, Newline, NumericLiteral, Punctuator, RegularExpressionLiteral, SingleLineComment, StringLiteral, Template, TokensNotPrecedingObjectLiteral, TokensPrecedingExpression, WhiteSpace;
29295
29329
  RegularExpressionLiteral = /\/(?![*\/])(?:\[(?:[^\]\\\n\r\u2028\u2029]+|\\.)*\]|[^\/\\\n\r\u2028\u2029]+|\\.)*(\/[$_\u200C\u200D\p{ID_Continue}]*|\\)?/yu;
29296
29330
  Punctuator = /--|\+\+|=>|\.{3}|\??\.(?!\d)|(?:&&|\|\||\?\?|[+\-%&|^]|\*{1,2}|<{1,2}|>{1,3}|!=?|={1,2}|\/(?![\/*]))=?|[?~,:;[\](){}]/y;
29297
29331
  Identifier = /(\x23?)(?=[$_\p{ID_Start}\\])(?:[$_\u200C\u200D\p{ID_Continue}]+|\\u[\da-fA-F]{4}|\\u\{[\da-fA-F]+\})+/yu;
@@ -29302,6 +29336,7 @@ WhiteSpace = /[\t\v\f\ufeff\p{Zs}]+/yu;
29302
29336
  LineTerminatorSequence = /\r?\n|[\r\u2028\u2029]/y;
29303
29337
  MultiLineComment = /\/\*(?:[^*]+|\*(?!\/))*(\*\/)?/y;
29304
29338
  SingleLineComment = /\/\/.*/y;
29339
+ HashbangComment = /^#!.*/;
29305
29340
  JSXPunctuator = /[<>.:={}]|\/(?![\/*])/y;
29306
29341
  JSXIdentifier = /[$_\p{ID_Start}][$_\u200C\u200D\p{ID_Continue}-]*/yu;
29307
29342
  JSXString = /(['"])(?:[^'"]+|(?!\1)['"])*(\1)?/y;
@@ -29322,6 +29357,13 @@ var jsTokens_1 = function*(input, {jsx = false} = {}) {
29322
29357
  braces = [];
29323
29358
  parenNesting = 0;
29324
29359
  postfixIncDec = false;
29360
+ if (match = HashbangComment.exec(input)) {
29361
+ yield ({
29362
+ type: "HashbangComment",
29363
+ value: match[0]
29364
+ });
29365
+ lastIndex = match[0].length;
29366
+ }
29325
29367
  while (lastIndex < length) {
29326
29368
  mode = stack[stack.length - 1];
29327
29369
  switch (mode.tag) {
@@ -29697,6 +29739,10 @@ function stripLiteralJsTokens(code, options) {
29697
29739
  continue;
29698
29740
  }
29699
29741
  if (token.type === "StringLiteral") {
29742
+ if (!token.closed) {
29743
+ result += token.value;
29744
+ continue;
29745
+ }
29700
29746
  const body = token.value.slice(1, -1);
29701
29747
  if (filter(body)) {
29702
29748
  result += token.value[0] + FILL.repeat(body.length) + token.value[token.value.length - 1];
@@ -31185,7 +31231,10 @@ function injectNonceAttributeTagHook(config) {
31185
31231
  (node.nodeName === 'link' &&
31186
31232
  node.attrs.some((attr) => attr.name === 'rel' &&
31187
31233
  parseRelAttr(attr.value).some((a) => processRelType.has(a))))) {
31188
- s.appendRight(node.sourceCodeLocation.startTag.endOffset - 1, ` nonce="${nonce}"`);
31234
+ // if the closing of the start tag includes a `/`, the offset should be 2 so the nonce
31235
+ // is appended prior to the `/`
31236
+ const appendOffset = html[node.sourceCodeLocation.startTag.endOffset - 2] === '/' ? 2 : 1;
31237
+ s.appendRight(node.sourceCodeLocation.startTag.endOffset - appendOffset, ` nonce="${nonce}"`);
31189
31238
  }
31190
31239
  });
31191
31240
  return s.toString();
@@ -32293,8 +32342,8 @@ function createCachedImport(imp) {
32293
32342
  return cached;
32294
32343
  };
32295
32344
  }
32296
- const importPostcssImport = createCachedImport(() => import('./dep-yOtoFZYM.js').then(function (n) { return n.i; }));
32297
- const importPostcssModules = createCachedImport(() => import('./dep-Cb3N489L.js').then(function (n) { return n.i; }));
32345
+ const importPostcssImport = createCachedImport(() => import('./dep-D6I3Q2TL.js').then(function (n) { return n.i; }));
32346
+ const importPostcssModules = createCachedImport(() => import('./dep-2j8ZV8Rx.js').then(function (n) { return n.i; }));
32298
32347
  const importPostcss = createCachedImport(() => import('postcss'));
32299
32348
  const preprocessorWorkerControllerCache = new WeakMap();
32300
32349
  let alwaysFakeWorkerWorkerControllerCache;
@@ -33190,12 +33239,13 @@ async function compileLightningCSS(id, src, config, urlReplacer) {
33190
33239
  switch (dep.type) {
33191
33240
  case 'url':
33192
33241
  if (skipUrlReplacer(dep.url)) {
33193
- css = css.replace(dep.placeholder, dep.url);
33242
+ css = css.replace(dep.placeholder, () => dep.url);
33194
33243
  break;
33195
33244
  }
33196
33245
  deps.add(dep.url);
33197
33246
  if (urlReplacer) {
33198
- css = css.replace(dep.placeholder, await urlReplacer(dep.url, id));
33247
+ const replaceUrl = await urlReplacer(dep.url, id);
33248
+ css = css.replace(dep.placeholder, () => replaceUrl);
33199
33249
  }
33200
33250
  break;
33201
33251
  default:
@@ -42286,7 +42336,7 @@ var debug$e = srcExports('finalhandler');
42286
42336
  var encodeUrl = encodeurl;
42287
42337
  var escapeHtml = escapeHtml_1;
42288
42338
  var onFinished = onFinishedExports;
42289
- var parseUrl$1 = parseurlExports;
42339
+ var parseUrl$2 = parseurlExports;
42290
42340
  var statuses = statuses$1;
42291
42341
  var unpipe = unpipe_1;
42292
42342
 
@@ -42490,7 +42540,7 @@ function getErrorStatusCode (err) {
42490
42540
 
42491
42541
  function getResourceName (req) {
42492
42542
  try {
42493
- return parseUrl$1.original(req).pathname
42543
+ return parseUrl$2.original(req).pathname
42494
42544
  } catch (e) {
42495
42545
  return 'resource'
42496
42546
  }
@@ -42649,7 +42699,7 @@ var EventEmitter$3 = require$$0$5.EventEmitter;
42649
42699
  var finalhandler = finalhandler_1;
42650
42700
  var http$4 = require$$1;
42651
42701
  var merge = utilsMergeExports;
42652
- var parseUrl = parseurlExports;
42702
+ var parseUrl$1 = parseurlExports;
42653
42703
 
42654
42704
  /**
42655
42705
  * Module exports.
@@ -42784,7 +42834,7 @@ proto.handle = function handle(req, res, out) {
42784
42834
  }
42785
42835
 
42786
42836
  // route data
42787
- var path = parseUrl(req).pathname || '/';
42837
+ var path = parseUrl$1(req).pathname || '/';
42788
42838
  var route = layer.route;
42789
42839
 
42790
42840
  // skip this layer if the route doesn't match
@@ -49063,6 +49113,23 @@ async function replaceDefine(code, id, define, config) {
49063
49113
  sourcefile: id,
49064
49114
  sourcemap: config.command === 'build' ? !!config.build.sourcemap : true,
49065
49115
  });
49116
+ // remove esbuild's <define:...> source entries
49117
+ // since they would confuse source map remapping/collapsing which expects a single source
49118
+ if (result.map.includes('<define:')) {
49119
+ const originalMap = new TraceMap(result.map);
49120
+ if (originalMap.sources.length >= 2) {
49121
+ const sourceIndex = originalMap.sources.indexOf(id);
49122
+ const decoded = decodedMap(originalMap);
49123
+ decoded.sources = [id];
49124
+ decoded.mappings = decoded.mappings.map((segments) => segments.filter((segment) => {
49125
+ // modify and filter
49126
+ const index = segment[1];
49127
+ segment[1] = 0;
49128
+ return index === sourceIndex;
49129
+ }));
49130
+ result.map = JSON.stringify(encodedMap(new TraceMap(decoded)));
49131
+ }
49132
+ }
49066
49133
  for (const marker in replacementMarkers) {
49067
49134
  result.code = result.code.replaceAll(marker, replacementMarkers[marker]);
49068
49135
  }
@@ -51428,12 +51495,10 @@ function esbuildScanPlugin(config, container, depImports, missing, entries) {
51428
51495
  // Avoid matching the content of the comment
51429
51496
  raw = raw.replace(commentRE, '<!---->');
51430
51497
  const isHtml = p.endsWith('.html');
51431
- scriptRE.lastIndex = 0;
51432
51498
  let js = '';
51433
51499
  let scriptId = 0;
51434
- let match;
51435
- while ((match = scriptRE.exec(raw))) {
51436
- const [, openTag, content] = match;
51500
+ const matches = raw.matchAll(scriptRE);
51501
+ for (const [, openTag, content] of matches) {
51437
51502
  const typeMatch = openTag.match(typeRE);
51438
51503
  const type = typeMatch && (typeMatch[1] || typeMatch[2] || typeMatch[3]);
51439
51504
  const langMatch = openTag.match(langRE);
@@ -54644,7 +54709,7 @@ function walk(root, { onIdentifier, onImportMeta, onDynamicImport }) {
54644
54709
  identifiers.push([node, parentStack.slice(0)]);
54645
54710
  }
54646
54711
  }
54647
- else if (isFunction(node)) {
54712
+ else if (isFunction$1(node)) {
54648
54713
  // If it is a function declaration, it could be shadowing an import
54649
54714
  // Add its name to the scope so it won't get replaced
54650
54715
  if (node.type === 'FunctionDeclaration') {
@@ -54724,7 +54789,7 @@ function isRefIdentifier(id, parent, parentStack) {
54724
54789
  parent.id === id)) {
54725
54790
  return false;
54726
54791
  }
54727
- if (isFunction(parent)) {
54792
+ if (isFunction$1(parent)) {
54728
54793
  // function declaration/expression id
54729
54794
  if (parent.id === id) {
54730
54795
  return false;
@@ -54769,7 +54834,7 @@ function isRefIdentifier(id, parent, parentStack) {
54769
54834
  const isStaticProperty = (node) => node && node.type === 'Property' && !node.computed;
54770
54835
  const isStaticPropertyKey = (node, parent) => isStaticProperty(parent) && parent.key === node;
54771
54836
  const functionNodeTypeRE = /Function(?:Expression|Declaration)$|Method$/;
54772
- function isFunction(node) {
54837
+ function isFunction$1(node) {
54773
54838
  return functionNodeTypeRE.test(node.type);
54774
54839
  }
54775
54840
  const blockNodeTypeRE = /^BlockStatement$|^For(?:In|Of)?Statement$/;
@@ -54777,7 +54842,7 @@ function isBlock(node) {
54777
54842
  return blockNodeTypeRE.test(node.type);
54778
54843
  }
54779
54844
  function findParentScope(parentStack, isVar = false) {
54780
- return parentStack.find(isVar ? isFunction : isBlock);
54845
+ return parentStack.find(isVar ? isFunction$1 : isBlock);
54781
54846
  }
54782
54847
  function isInDestructuringAssignment(parent, parentStack) {
54783
54848
  if (parent &&
@@ -62050,6 +62115,30 @@ var Writable = require$$0$7.Writable;
62050
62115
  var assert = require$$5;
62051
62116
  var debug$5 = debug_1;
62052
62117
 
62118
+ // Whether to use the native URL object or the legacy url module
62119
+ var useNativeURL = false;
62120
+ try {
62121
+ assert(new URL$1());
62122
+ }
62123
+ catch (error) {
62124
+ useNativeURL = error.code === "ERR_INVALID_URL";
62125
+ }
62126
+
62127
+ // URL fields to preserve in copy operations
62128
+ var preservedUrlFields = [
62129
+ "auth",
62130
+ "host",
62131
+ "hostname",
62132
+ "href",
62133
+ "path",
62134
+ "pathname",
62135
+ "port",
62136
+ "protocol",
62137
+ "query",
62138
+ "search",
62139
+ "hash",
62140
+ ];
62141
+
62053
62142
  // Create handlers that pass events from native requests
62054
62143
  var events = ["abort", "aborted", "connect", "error", "socket", "timeout"];
62055
62144
  var eventHandlers = Object.create(null);
@@ -62060,13 +62149,19 @@ events.forEach(function (event) {
62060
62149
  });
62061
62150
 
62062
62151
  // Error types with codes
62152
+ var InvalidUrlError = createErrorType(
62153
+ "ERR_INVALID_URL",
62154
+ "Invalid URL",
62155
+ TypeError
62156
+ );
62063
62157
  var RedirectionError = createErrorType(
62064
62158
  "ERR_FR_REDIRECTION_FAILURE",
62065
62159
  "Redirected request failed"
62066
62160
  );
62067
62161
  var TooManyRedirectsError = createErrorType(
62068
62162
  "ERR_FR_TOO_MANY_REDIRECTS",
62069
- "Maximum number of redirects exceeded"
62163
+ "Maximum number of redirects exceeded",
62164
+ RedirectionError
62070
62165
  );
62071
62166
  var MaxBodyLengthExceededError = createErrorType(
62072
62167
  "ERR_FR_MAX_BODY_LENGTH_EXCEEDED",
@@ -62077,6 +62172,9 @@ var WriteAfterEndError = createErrorType(
62077
62172
  "write after end"
62078
62173
  );
62079
62174
 
62175
+ // istanbul ignore next
62176
+ var destroy = Writable.prototype.destroy || noop;
62177
+
62080
62178
  // An HTTP(S) request that can be redirected
62081
62179
  function RedirectableRequest(options, responseCallback) {
62082
62180
  // Initialize the request
@@ -62098,7 +62196,13 @@ function RedirectableRequest(options, responseCallback) {
62098
62196
  // React to responses of native requests
62099
62197
  var self = this;
62100
62198
  this._onNativeResponse = function (response) {
62101
- self._processResponse(response);
62199
+ try {
62200
+ self._processResponse(response);
62201
+ }
62202
+ catch (cause) {
62203
+ self.emit("error", cause instanceof RedirectionError ?
62204
+ cause : new RedirectionError({ cause: cause }));
62205
+ }
62102
62206
  };
62103
62207
 
62104
62208
  // Perform the first request
@@ -62107,10 +62211,17 @@ function RedirectableRequest(options, responseCallback) {
62107
62211
  RedirectableRequest.prototype = Object.create(Writable.prototype);
62108
62212
 
62109
62213
  RedirectableRequest.prototype.abort = function () {
62110
- abortRequest(this._currentRequest);
62214
+ destroyRequest(this._currentRequest);
62215
+ this._currentRequest.abort();
62111
62216
  this.emit("abort");
62112
62217
  };
62113
62218
 
62219
+ RedirectableRequest.prototype.destroy = function (error) {
62220
+ destroyRequest(this._currentRequest, error);
62221
+ destroy.call(this, error);
62222
+ return this;
62223
+ };
62224
+
62114
62225
  // Writes buffered data to the current native request
62115
62226
  RedirectableRequest.prototype.write = function (data, encoding, callback) {
62116
62227
  // Writing is not allowed if end has been called
@@ -62119,10 +62230,10 @@ RedirectableRequest.prototype.write = function (data, encoding, callback) {
62119
62230
  }
62120
62231
 
62121
62232
  // Validate input and shift parameters if necessary
62122
- if (!(typeof data === "string" || typeof data === "object" && ("length" in data))) {
62233
+ if (!isString(data) && !isBuffer(data)) {
62123
62234
  throw new TypeError("data should be a string, Buffer or Uint8Array");
62124
62235
  }
62125
- if (typeof encoding === "function") {
62236
+ if (isFunction(encoding)) {
62126
62237
  callback = encoding;
62127
62238
  encoding = null;
62128
62239
  }
@@ -62151,11 +62262,11 @@ RedirectableRequest.prototype.write = function (data, encoding, callback) {
62151
62262
  // Ends the current native request
62152
62263
  RedirectableRequest.prototype.end = function (data, encoding, callback) {
62153
62264
  // Shift parameters if necessary
62154
- if (typeof data === "function") {
62265
+ if (isFunction(data)) {
62155
62266
  callback = data;
62156
62267
  data = encoding = null;
62157
62268
  }
62158
- else if (typeof encoding === "function") {
62269
+ else if (isFunction(encoding)) {
62159
62270
  callback = encoding;
62160
62271
  encoding = null;
62161
62272
  }
@@ -62223,6 +62334,7 @@ RedirectableRequest.prototype.setTimeout = function (msecs, callback) {
62223
62334
  self.removeListener("abort", clearTimer);
62224
62335
  self.removeListener("error", clearTimer);
62225
62336
  self.removeListener("response", clearTimer);
62337
+ self.removeListener("close", clearTimer);
62226
62338
  if (callback) {
62227
62339
  self.removeListener("timeout", callback);
62228
62340
  }
@@ -62249,6 +62361,7 @@ RedirectableRequest.prototype.setTimeout = function (msecs, callback) {
62249
62361
  this.on("abort", clearTimer);
62250
62362
  this.on("error", clearTimer);
62251
62363
  this.on("response", clearTimer);
62364
+ this.on("close", clearTimer);
62252
62365
 
62253
62366
  return this;
62254
62367
  };
@@ -62307,8 +62420,7 @@ RedirectableRequest.prototype._performRequest = function () {
62307
62420
  var protocol = this._options.protocol;
62308
62421
  var nativeProtocol = this._options.nativeProtocols[protocol];
62309
62422
  if (!nativeProtocol) {
62310
- this.emit("error", new TypeError("Unsupported protocol " + protocol));
62311
- return;
62423
+ throw new TypeError("Unsupported protocol " + protocol);
62312
62424
  }
62313
62425
 
62314
62426
  // If specified, use the agent corresponding to the protocol
@@ -62318,21 +62430,26 @@ RedirectableRequest.prototype._performRequest = function () {
62318
62430
  this._options.agent = this._options.agents[scheme];
62319
62431
  }
62320
62432
 
62321
- // Create the native request
62433
+ // Create the native request and set up its event handlers
62322
62434
  var request = this._currentRequest =
62323
62435
  nativeProtocol.request(this._options, this._onNativeResponse);
62324
- this._currentUrl = url.format(this._options);
62325
-
62326
- // Set up event handlers
62327
62436
  request._redirectable = this;
62328
- for (var e = 0; e < events.length; e++) {
62329
- request.on(events[e], eventHandlers[events[e]]);
62437
+ for (var event of events) {
62438
+ request.on(event, eventHandlers[event]);
62330
62439
  }
62331
62440
 
62441
+ // RFC7230§5.3.1: When making a request directly to an origin server, […]
62442
+ // a client MUST send only the absolute path […] as the request-target.
62443
+ this._currentUrl = /^\//.test(this._options.path) ?
62444
+ url.format(this._options) :
62445
+ // When making a request to a proxy, […]
62446
+ // a client MUST send the target URI in absolute-form […].
62447
+ this._options.path;
62448
+
62332
62449
  // End a redirected request
62333
62450
  // (The first request must be ended explicitly with RedirectableRequest#end)
62334
62451
  if (this._isRedirect) {
62335
- // Write the request entity and end.
62452
+ // Write the request entity and end
62336
62453
  var i = 0;
62337
62454
  var self = this;
62338
62455
  var buffers = this._requestBodyBuffers;
@@ -62395,15 +62512,14 @@ RedirectableRequest.prototype._processResponse = function (response) {
62395
62512
  }
62396
62513
 
62397
62514
  // The response is a redirect, so abort the current request
62398
- abortRequest(this._currentRequest);
62515
+ destroyRequest(this._currentRequest);
62399
62516
  // Discard the remainder of the response to avoid waiting for data
62400
62517
  response.destroy();
62401
62518
 
62402
62519
  // RFC7231§6.4: A client SHOULD detect and intervene
62403
62520
  // in cyclical redirections (i.e., "infinite" redirection loops).
62404
62521
  if (++this._redirectCount > this._options.maxRedirects) {
62405
- this.emit("error", new TooManyRedirectsError());
62406
- return;
62522
+ throw new TooManyRedirectsError();
62407
62523
  }
62408
62524
 
62409
62525
  // Store the request headers if applicable
@@ -62437,38 +62553,28 @@ RedirectableRequest.prototype._processResponse = function (response) {
62437
62553
  var currentHostHeader = removeMatchingHeaders(/^host$/i, this._options.headers);
62438
62554
 
62439
62555
  // If the redirect is relative, carry over the host of the last request
62440
- var currentUrlParts = url.parse(this._currentUrl);
62556
+ var currentUrlParts = parseUrl(this._currentUrl);
62441
62557
  var currentHost = currentHostHeader || currentUrlParts.host;
62442
62558
  var currentUrl = /^\w+:/.test(location) ? this._currentUrl :
62443
62559
  url.format(Object.assign(currentUrlParts, { host: currentHost }));
62444
62560
 
62445
- // Determine the URL of the redirection
62446
- var redirectUrl;
62447
- try {
62448
- redirectUrl = url.resolve(currentUrl, location);
62449
- }
62450
- catch (cause) {
62451
- this.emit("error", new RedirectionError(cause));
62452
- return;
62453
- }
62454
-
62455
62561
  // Create the redirected request
62456
- debug$5("redirecting to", redirectUrl);
62562
+ var redirectUrl = resolveUrl(location, currentUrl);
62563
+ debug$5("redirecting to", redirectUrl.href);
62457
62564
  this._isRedirect = true;
62458
- var redirectUrlParts = url.parse(redirectUrl);
62459
- Object.assign(this._options, redirectUrlParts);
62565
+ spreadUrlObject(redirectUrl, this._options);
62460
62566
 
62461
62567
  // Drop confidential headers when redirecting to a less secure protocol
62462
62568
  // or to a different domain that is not a superdomain
62463
- if (redirectUrlParts.protocol !== currentUrlParts.protocol &&
62464
- redirectUrlParts.protocol !== "https:" ||
62465
- redirectUrlParts.host !== currentHost &&
62466
- !isSubdomain(redirectUrlParts.host, currentHost)) {
62467
- removeMatchingHeaders(/^(?:authorization|cookie)$/i, this._options.headers);
62569
+ if (redirectUrl.protocol !== currentUrlParts.protocol &&
62570
+ redirectUrl.protocol !== "https:" ||
62571
+ redirectUrl.host !== currentHost &&
62572
+ !isSubdomain(redirectUrl.host, currentHost)) {
62573
+ removeMatchingHeaders(/^(?:(?:proxy-)?authorization|cookie)$/i, this._options.headers);
62468
62574
  }
62469
62575
 
62470
62576
  // Evaluate the beforeRedirect callback
62471
- if (typeof beforeRedirect === "function") {
62577
+ if (isFunction(beforeRedirect)) {
62472
62578
  var responseDetails = {
62473
62579
  headers: response.headers,
62474
62580
  statusCode: statusCode,
@@ -62478,23 +62584,12 @@ RedirectableRequest.prototype._processResponse = function (response) {
62478
62584
  method: method,
62479
62585
  headers: requestHeaders,
62480
62586
  };
62481
- try {
62482
- beforeRedirect(this._options, responseDetails, requestDetails);
62483
- }
62484
- catch (err) {
62485
- this.emit("error", err);
62486
- return;
62487
- }
62587
+ beforeRedirect(this._options, responseDetails, requestDetails);
62488
62588
  this._sanitizeOptions(this._options);
62489
62589
  }
62490
62590
 
62491
62591
  // Perform the redirected request
62492
- try {
62493
- this._performRequest();
62494
- }
62495
- catch (cause) {
62496
- this.emit("error", new RedirectionError(cause));
62497
- }
62592
+ this._performRequest();
62498
62593
  };
62499
62594
 
62500
62595
  // Wraps the key/value object of protocols with redirect functionality
@@ -62514,26 +62609,19 @@ function wrap(protocols) {
62514
62609
 
62515
62610
  // Executes a request, following redirects
62516
62611
  function request(input, options, callback) {
62517
- // Parse parameters
62518
- if (typeof input === "string") {
62519
- var urlStr = input;
62520
- try {
62521
- input = urlToOptions(new URL$1(urlStr));
62522
- }
62523
- catch (err) {
62524
- /* istanbul ignore next */
62525
- input = url.parse(urlStr);
62526
- }
62612
+ // Parse parameters, ensuring that input is an object
62613
+ if (isURL(input)) {
62614
+ input = spreadUrlObject(input);
62527
62615
  }
62528
- else if (URL$1 && (input instanceof URL$1)) {
62529
- input = urlToOptions(input);
62616
+ else if (isString(input)) {
62617
+ input = spreadUrlObject(parseUrl(input));
62530
62618
  }
62531
62619
  else {
62532
62620
  callback = options;
62533
- options = input;
62621
+ options = validateUrl(input);
62534
62622
  input = { protocol: protocol };
62535
62623
  }
62536
- if (typeof options === "function") {
62624
+ if (isFunction(options)) {
62537
62625
  callback = options;
62538
62626
  options = null;
62539
62627
  }
@@ -62544,6 +62632,9 @@ function wrap(protocols) {
62544
62632
  maxBodyLength: exports.maxBodyLength,
62545
62633
  }, input, options);
62546
62634
  options.nativeProtocols = nativeProtocols;
62635
+ if (!isString(options.host) && !isString(options.hostname)) {
62636
+ options.hostname = "::1";
62637
+ }
62547
62638
 
62548
62639
  assert.equal(options.protocol, protocol, "protocol mismatch");
62549
62640
  debug$5("options", options);
@@ -62566,27 +62657,57 @@ function wrap(protocols) {
62566
62657
  return exports;
62567
62658
  }
62568
62659
 
62569
- /* istanbul ignore next */
62570
62660
  function noop() { /* empty */ }
62571
62661
 
62572
- // from https://github.com/nodejs/node/blob/master/lib/internal/url.js
62573
- function urlToOptions(urlObject) {
62574
- var options = {
62575
- protocol: urlObject.protocol,
62576
- hostname: urlObject.hostname.startsWith("[") ?
62577
- /* istanbul ignore next */
62578
- urlObject.hostname.slice(1, -1) :
62579
- urlObject.hostname,
62580
- hash: urlObject.hash,
62581
- search: urlObject.search,
62582
- pathname: urlObject.pathname,
62583
- path: urlObject.pathname + urlObject.search,
62584
- href: urlObject.href,
62585
- };
62586
- if (urlObject.port !== "") {
62587
- options.port = Number(urlObject.port);
62662
+ function parseUrl(input) {
62663
+ var parsed;
62664
+ /* istanbul ignore else */
62665
+ if (useNativeURL) {
62666
+ parsed = new URL$1(input);
62667
+ }
62668
+ else {
62669
+ // Ensure the URL is valid and absolute
62670
+ parsed = validateUrl(url.parse(input));
62671
+ if (!isString(parsed.protocol)) {
62672
+ throw new InvalidUrlError({ input });
62673
+ }
62674
+ }
62675
+ return parsed;
62676
+ }
62677
+
62678
+ function resolveUrl(relative, base) {
62679
+ /* istanbul ignore next */
62680
+ return useNativeURL ? new URL$1(relative, base) : parseUrl(url.resolve(base, relative));
62681
+ }
62682
+
62683
+ function validateUrl(input) {
62684
+ if (/^\[/.test(input.hostname) && !/^\[[:0-9a-f]+\]$/i.test(input.hostname)) {
62685
+ throw new InvalidUrlError({ input: input.href || input });
62686
+ }
62687
+ if (/^\[/.test(input.host) && !/^\[[:0-9a-f]+\](:\d+)?$/i.test(input.host)) {
62688
+ throw new InvalidUrlError({ input: input.href || input });
62689
+ }
62690
+ return input;
62691
+ }
62692
+
62693
+ function spreadUrlObject(urlObject, target) {
62694
+ var spread = target || {};
62695
+ for (var key of preservedUrlFields) {
62696
+ spread[key] = urlObject[key];
62588
62697
  }
62589
- return options;
62698
+
62699
+ // Fix IPv6 hostname
62700
+ if (spread.hostname.startsWith("[")) {
62701
+ spread.hostname = spread.hostname.slice(1, -1);
62702
+ }
62703
+ // Ensure port is a number
62704
+ if (spread.port !== "") {
62705
+ spread.port = Number(spread.port);
62706
+ }
62707
+ // Concatenate path
62708
+ spread.path = spread.search ? spread.pathname + spread.search : spread.pathname;
62709
+
62710
+ return spread;
62590
62711
  }
62591
62712
 
62592
62713
  function removeMatchingHeaders(regex, headers) {
@@ -62601,37 +62722,60 @@ function removeMatchingHeaders(regex, headers) {
62601
62722
  undefined : String(lastValue).trim();
62602
62723
  }
62603
62724
 
62604
- function createErrorType(code, defaultMessage) {
62605
- function CustomError(cause) {
62725
+ function createErrorType(code, message, baseClass) {
62726
+ // Create constructor
62727
+ function CustomError(properties) {
62606
62728
  Error.captureStackTrace(this, this.constructor);
62607
- if (!cause) {
62608
- this.message = defaultMessage;
62609
- }
62610
- else {
62611
- this.message = defaultMessage + ": " + cause.message;
62612
- this.cause = cause;
62613
- }
62729
+ Object.assign(this, properties || {});
62730
+ this.code = code;
62731
+ this.message = this.cause ? message + ": " + this.cause.message : message;
62614
62732
  }
62615
- CustomError.prototype = new Error();
62616
- CustomError.prototype.constructor = CustomError;
62617
- CustomError.prototype.name = "Error [" + code + "]";
62618
- CustomError.prototype.code = code;
62733
+
62734
+ // Attach constructor and set default properties
62735
+ CustomError.prototype = new (baseClass || Error)();
62736
+ Object.defineProperties(CustomError.prototype, {
62737
+ constructor: {
62738
+ value: CustomError,
62739
+ enumerable: false,
62740
+ },
62741
+ name: {
62742
+ value: "Error [" + code + "]",
62743
+ enumerable: false,
62744
+ },
62745
+ });
62619
62746
  return CustomError;
62620
62747
  }
62621
62748
 
62622
- function abortRequest(request) {
62623
- for (var e = 0; e < events.length; e++) {
62624
- request.removeListener(events[e], eventHandlers[events[e]]);
62749
+ function destroyRequest(request, error) {
62750
+ for (var event of events) {
62751
+ request.removeListener(event, eventHandlers[event]);
62625
62752
  }
62626
62753
  request.on("error", noop);
62627
- request.abort();
62754
+ request.destroy(error);
62628
62755
  }
62629
62756
 
62630
62757
  function isSubdomain(subdomain, domain) {
62631
- const dot = subdomain.length - domain.length - 1;
62758
+ assert(isString(subdomain) && isString(domain));
62759
+ var dot = subdomain.length - domain.length - 1;
62632
62760
  return dot > 0 && subdomain[dot] === "." && subdomain.endsWith(domain);
62633
62761
  }
62634
62762
 
62763
+ function isString(value) {
62764
+ return typeof value === "string" || value instanceof String;
62765
+ }
62766
+
62767
+ function isFunction(value) {
62768
+ return typeof value === "function";
62769
+ }
62770
+
62771
+ function isBuffer(value) {
62772
+ return typeof value === "object" && ("length" in value);
62773
+ }
62774
+
62775
+ function isURL(value) {
62776
+ return URL$1 && value instanceof URL$1;
62777
+ }
62778
+
62635
62779
  // Exports
62636
62780
  followRedirects$1.exports = wrap({ http: http$1, https: https$1 });
62637
62781
  followRedirects$1.exports.wrap = wrap;
@@ -64055,6 +64199,13 @@ class ModuleNode {
64055
64199
  ssrModule = null;
64056
64200
  ssrError = null;
64057
64201
  lastHMRTimestamp = 0;
64202
+ /**
64203
+ * `import.meta.hot.invalidate` is called by the client.
64204
+ * If there's multiple clients, multiple `invalidate` request is received.
64205
+ * This property is used to dedupe those request to avoid multiple updates happening.
64206
+ * @internal
64207
+ */
64208
+ lastHMRInvalidationReceived = false;
64058
64209
  lastInvalidationTimestamp = 0;
64059
64210
  /**
64060
64211
  * If the module only needs to update its imports timestamp (e.g. within an HMR chain),
@@ -64112,6 +64263,8 @@ class ModuleGraph {
64112
64263
  * @internal
64113
64264
  */
64114
64265
  _ssrUnresolvedUrlToModuleMap = new Map();
64266
+ /** @internal */
64267
+ _hasResolveFailedErrorModules = new Set();
64115
64268
  constructor(resolveId) {
64116
64269
  this.resolveId = resolveId;
64117
64270
  }
@@ -64140,6 +64293,16 @@ class ModuleGraph {
64140
64293
  });
64141
64294
  }
64142
64295
  }
64296
+ onFileDelete(file) {
64297
+ const mods = this.getModulesByFile(file);
64298
+ if (mods) {
64299
+ mods.forEach((mod) => {
64300
+ mod.importedModules.forEach((importedMod) => {
64301
+ importedMod.importers.delete(mod);
64302
+ });
64303
+ });
64304
+ }
64305
+ }
64143
64306
  invalidateModule(mod, seen = new Set(), timestamp = Date.now(), isHmr = false,
64144
64307
  /** @internal */
64145
64308
  softInvalidate = false) {
@@ -64167,6 +64330,7 @@ class ModuleGraph {
64167
64330
  seen.add(mod);
64168
64331
  if (isHmr) {
64169
64332
  mod.lastHMRTimestamp = timestamp;
64333
+ mod.lastHMRInvalidationReceived = false;
64170
64334
  }
64171
64335
  else {
64172
64336
  // Save the timestamp for this invalidation, so we can avoid caching the result of possible already started
@@ -64192,6 +64356,7 @@ class ModuleGraph {
64192
64356
  this.invalidateModule(importer, seen, timestamp, isHmr, shouldSoftInvalidateImporter);
64193
64357
  }
64194
64358
  });
64359
+ this._hasResolveFailedErrorModules.delete(mod);
64195
64360
  }
64196
64361
  invalidateAll() {
64197
64362
  const timestamp = Date.now();
@@ -64737,10 +64902,10 @@ async function _createServer(inlineConfig = {}, options) {
64737
64902
  }
64738
64903
  }
64739
64904
  const publicFiles = await initPublicFilesPromise;
64740
- const onHMRUpdate = async (file, configOnly) => {
64905
+ const onHMRUpdate = async (type, file) => {
64741
64906
  if (serverConfig.hmr !== false) {
64742
64907
  try {
64743
- await handleHMRUpdate(file, server, configOnly);
64908
+ await handleHMRUpdate(type, file, server);
64744
64909
  }
64745
64910
  catch (err) {
64746
64911
  hot.send({
@@ -64769,15 +64934,16 @@ async function _createServer(inlineConfig = {}, options) {
64769
64934
  }
64770
64935
  }
64771
64936
  }
64772
- await handleFileAddUnlink(file, server, isUnlink);
64773
- await onHMRUpdate(file, true);
64937
+ if (isUnlink)
64938
+ moduleGraph.onFileDelete(file);
64939
+ await onHMRUpdate(isUnlink ? 'delete' : 'create', file);
64774
64940
  };
64775
64941
  watcher.on('change', async (file) => {
64776
64942
  file = normalizePath$3(file);
64777
64943
  await container.watchChange(file, { event: 'update' });
64778
64944
  // invalidate module graph cache on file change
64779
64945
  moduleGraph.onFileChange(file);
64780
- await onHMRUpdate(file, false);
64946
+ await onHMRUpdate('update', file);
64781
64947
  });
64782
64948
  getFsUtils(config).initWatcher?.(watcher);
64783
64949
  watcher.on('add', (file) => {
@@ -64788,7 +64954,11 @@ async function _createServer(inlineConfig = {}, options) {
64788
64954
  });
64789
64955
  hot.on('vite:invalidate', async ({ path, message }) => {
64790
64956
  const mod = moduleGraph.urlToModuleMap.get(path);
64791
- if (mod && mod.isSelfAccepting && mod.lastHMRTimestamp > 0) {
64957
+ if (mod &&
64958
+ mod.isSelfAccepting &&
64959
+ mod.lastHMRTimestamp > 0 &&
64960
+ !mod.lastHMRInvalidationReceived) {
64961
+ mod.lastHMRInvalidationReceived = true;
64792
64962
  config.logger.info(colors$1.yellow(`hmr invalidate `) +
64793
64963
  colors$1.dim(path) +
64794
64964
  (message ? ` ${message}` : ''), { timestamp: true });
@@ -65169,7 +65339,7 @@ function getShortName(file, root) {
65169
65339
  ? path$o.posix.relative(root, file)
65170
65340
  : file;
65171
65341
  }
65172
- async function handleHMRUpdate(file, server, configOnly) {
65342
+ async function handleHMRUpdate(type, file, server) {
65173
65343
  const { hot, config, moduleGraph } = server;
65174
65344
  const shortFile = getShortName(file, config.root);
65175
65345
  const isConfig = file === config.configFile;
@@ -65188,9 +65358,6 @@ async function handleHMRUpdate(file, server, configOnly) {
65188
65358
  }
65189
65359
  return;
65190
65360
  }
65191
- if (configOnly) {
65192
- return;
65193
- }
65194
65361
  debugHmr?.(`[file change] ${colors$1.dim(shortFile)}`);
65195
65362
  // (dev only) the client itself cannot be hot updated.
65196
65363
  if (file.startsWith(withTrailingSlash(normalizedClientDir))) {
@@ -65201,20 +65368,32 @@ async function handleHMRUpdate(file, server, configOnly) {
65201
65368
  });
65202
65369
  return;
65203
65370
  }
65204
- const mods = moduleGraph.getModulesByFile(file);
65371
+ const mods = new Set(moduleGraph.getModulesByFile(file));
65372
+ if (type === 'create') {
65373
+ for (const mod of moduleGraph._hasResolveFailedErrorModules) {
65374
+ mods.add(mod);
65375
+ }
65376
+ }
65377
+ if (type === 'create' || type === 'delete') {
65378
+ for (const mod of getAffectedGlobModules(file, server)) {
65379
+ mods.add(mod);
65380
+ }
65381
+ }
65205
65382
  // check if any plugin wants to perform custom HMR handling
65206
65383
  const timestamp = Date.now();
65207
65384
  const hmrContext = {
65208
65385
  file,
65209
65386
  timestamp,
65210
- modules: mods ? [...mods] : [],
65387
+ modules: [...mods],
65211
65388
  read: () => readModifiedFile(file),
65212
65389
  server,
65213
65390
  };
65214
- for (const hook of config.getSortedPluginHooks('handleHotUpdate')) {
65215
- const filteredModules = await hook(hmrContext);
65216
- if (filteredModules) {
65217
- hmrContext.modules = filteredModules;
65391
+ if (type === 'update') {
65392
+ for (const hook of config.getSortedPluginHooks('handleHotUpdate')) {
65393
+ const filteredModules = await hook(hmrContext);
65394
+ if (filteredModules) {
65395
+ hmrContext.modules = filteredModules;
65396
+ }
65218
65397
  }
65219
65398
  }
65220
65399
  if (!hmrContext.modules.length) {
@@ -65307,20 +65486,6 @@ function populateSSRImporters(module, timestamp, seen = new Set()) {
65307
65486
  function getSSRInvalidatedImporters(module) {
65308
65487
  return [...populateSSRImporters(module, module.lastHMRTimestamp)].map((m) => m.file);
65309
65488
  }
65310
- async function handleFileAddUnlink(file, server, isUnlink) {
65311
- const modules = [...(server.moduleGraph.getModulesByFile(file) || [])];
65312
- if (isUnlink) {
65313
- for (const deletedMod of modules) {
65314
- deletedMod.importedModules.forEach((importedMod) => {
65315
- importedMod.importers.delete(deletedMod);
65316
- });
65317
- }
65318
- }
65319
- modules.push(...getAffectedGlobModules(file, server));
65320
- if (modules.length > 0) {
65321
- updateModules(getShortName(file, server.config.root), unique(modules), Date.now(), server);
65322
- }
65323
- }
65324
65489
  function areAllImportsAccepted(importedBindings, acceptedExports) {
65325
65490
  for (const binding of importedBindings) {
65326
65491
  if (!acceptedExports.has(binding)) {
@@ -65479,6 +65644,7 @@ function handlePrunedModules(mods, { hot }) {
65479
65644
  const t = Date.now();
65480
65645
  mods.forEach((mod) => {
65481
65646
  mod.lastHMRTimestamp = t;
65647
+ mod.lastHMRInvalidationReceived = false;
65482
65648
  debugHmr?.(`[dispose] ${colors$1.dim(mod.file)}`);
65483
65649
  });
65484
65650
  hot.send({
@@ -65922,6 +66088,7 @@ function importAnalysisPlugin(config) {
65922
66088
  }
65923
66089
  // fix#9534, prevent the importerModuleNode being stopped from propagating updates
65924
66090
  importerModule.isSelfAccepting = false;
66091
+ moduleGraph._hasResolveFailedErrorModules.add(importerModule);
65925
66092
  return this.error(`Failed to resolve import "${url}" from "${normalizePath$3(path$o.relative(process.cwd(), importerFile))}". Does the file exist?`, pos);
65926
66093
  }
65927
66094
  if (isExternalUrl(resolved.id)) {
@@ -66779,27 +66946,31 @@ function buildImportAnalysisPlugin(config) {
66779
66946
  ? addFileDep(toRelativePath(d, file))
66780
66947
  : addFileDep(d));
66781
66948
  }
66782
- s.update(markerStartPos, markerStartPos + preloadMarker.length + 2, `__vite__mapDeps([${renderedDeps.join(',')}])`);
66949
+ s.update(markerStartPos, markerStartPos + preloadMarker.length + 2, renderedDeps.length > 0
66950
+ ? `__vite__mapDeps([${renderedDeps.join(',')}])`
66951
+ : `[]`);
66783
66952
  rewroteMarkerStartPos.add(markerStartPos);
66784
66953
  }
66785
66954
  }
66786
66955
  }
66787
- const fileDepsCode = `[${fileDeps
66788
- .map((fileDep) => fileDep.runtime ? fileDep.url : JSON.stringify(fileDep.url))
66789
- .join(',')}]`;
66790
- const mapDepsCode = `\
66956
+ if (fileDeps.length > 0) {
66957
+ const fileDepsCode = `[${fileDeps
66958
+ .map((fileDep) => fileDep.runtime ? fileDep.url : JSON.stringify(fileDep.url))
66959
+ .join(',')}]`;
66960
+ const mapDepsCode = `\
66791
66961
  function __vite__mapDeps(indexes) {
66792
66962
  if (!__vite__mapDeps.viteFileDeps) {
66793
66963
  __vite__mapDeps.viteFileDeps = ${fileDepsCode}
66794
66964
  }
66795
66965
  return indexes.map((i) => __vite__mapDeps.viteFileDeps[i])
66796
66966
  }\n`;
66797
- // inject extra code at the top or next line of hashbang
66798
- if (code.startsWith('#!')) {
66799
- s.prependLeft(code.indexOf('\n') + 1, mapDepsCode);
66800
- }
66801
- else {
66802
- s.prepend(mapDepsCode);
66967
+ // inject extra code at the top or next line of hashbang
66968
+ if (code.startsWith('#!')) {
66969
+ s.prependLeft(code.indexOf('\n') + 1, mapDepsCode);
66970
+ }
66971
+ else {
66972
+ s.prepend(mapDepsCode);
66973
+ }
66803
66974
  }
66804
66975
  // there may still be markers due to inlined dynamic imports, remove
66805
66976
  // all the markers regardless