vite 3.2.0-beta.4 → 3.2.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.
@@ -16,10 +16,10 @@ import assert$2 from 'assert';
16
16
  import require$$0$6, { format as format$3, inspect as inspect$1 } from 'util';
17
17
  import require$$3$1 from 'net';
18
18
  import require$$0$9, { pathToFileURL as pathToFileURL$1 } from 'url';
19
- import require$$1$2 from 'http';
19
+ import require$$1$1 from 'http';
20
20
  import require$$0$7 from 'stream';
21
- import require$$1 from 'os';
22
- import require$$2 from 'child_process';
21
+ import require$$2 from 'os';
22
+ import require$$2$1 from 'child_process';
23
23
  import os$3 from 'node:os';
24
24
  import { createHash as createHash$2 } from 'node:crypto';
25
25
  import { promises } from 'node:dns';
@@ -28,9 +28,9 @@ import { CLIENT_ENTRY, OPTIMIZABLE_ENTRY_RE, DEFAULT_EXTENSIONS as DEFAULT_EXTEN
28
28
  import require$$5 from 'crypto';
29
29
  import { Buffer as Buffer$1 } from 'node:buffer';
30
30
  import require$$0$8, { createRequire as createRequire$2 } from 'module';
31
- import require$$1$1 from 'worker_threads';
31
+ import require$$1 from 'worker_threads';
32
32
  import require$$0$a from 'zlib';
33
- import require$$1$3 from 'https';
33
+ import require$$1$2 from 'https';
34
34
  import require$$4 from 'tls';
35
35
  import { STATUS_CODES } from 'node:http';
36
36
  import { createServer as createServer$2 } from 'node:https';
@@ -13629,10 +13629,7 @@ function removeDirectQuery(url) {
13629
13629
  function injectQuery(url, queryToInject) {
13630
13630
  // encode percents for consistent behavior with pathToFileURL
13631
13631
  // see #2614 for details
13632
- let resolvedUrl = new URL$3(url.replace(/%/g, '%25'), 'relative:///');
13633
- if (resolvedUrl.protocol !== 'relative:') {
13634
- resolvedUrl = pathToFileURL(url);
13635
- }
13632
+ const resolvedUrl = new URL$3(url.replace(/%/g, '%25'), 'relative:///');
13636
13633
  const { search, hash } = resolvedUrl;
13637
13634
  let pathname = cleanUrl(url);
13638
13635
  pathname = isWindows$4 ? slash$1(pathname) : pathname;
@@ -15466,8 +15463,8 @@ var __importDefault = (commonjsGlobal && commonjsGlobal.__importDefault) || func
15466
15463
  };
15467
15464
  Object.defineProperty(dist$1, "__esModule", { value: true });
15468
15465
  var Worker_1 = dist$1.Worker = void 0;
15469
- const os_1 = __importDefault(require$$1);
15470
- const worker_threads_1 = require$$1$1;
15466
+ const os_1 = __importDefault(require$$2);
15467
+ const worker_threads_1 = require$$1;
15471
15468
  class Worker {
15472
15469
  constructor(fn, options = {}) {
15473
15470
  this.code = genWorkerCode(fn);
@@ -15888,7 +15885,7 @@ var isGlob$2 = function isGlob(str, options) {
15888
15885
 
15889
15886
  var isGlob$1 = isGlob$2;
15890
15887
  var pathPosixDirname = require$$0$4.posix.dirname;
15891
- var isWin32 = require$$1.platform() === 'win32';
15888
+ var isWin32 = require$$2.platform() === 'win32';
15892
15889
 
15893
15890
  var slash = '/';
15894
15891
  var backslash = /\\/g;
@@ -20023,7 +20020,7 @@ var settings = {};
20023
20020
  Object.defineProperty(exports, "__esModule", { value: true });
20024
20021
  exports.DEFAULT_FILE_SYSTEM_ADAPTER = void 0;
20025
20022
  const fs = require$$0__default;
20026
- const os = require$$1;
20023
+ const os = require$$2;
20027
20024
  /**
20028
20025
  * The `os.cpus` method can return zero. We expect the number of cores to be greater than zero.
20029
20026
  * https://github.com/nodejs/node/blob/7faeddf23a98c53896f8b574a6e66589e8fb1eb8/lib/os.js#L106-L107
@@ -20153,7 +20150,7 @@ var dist = {};
20153
20150
  exports.lilconfigSync = exports.lilconfig = exports.defaultLoaders = void 0;
20154
20151
  const path = require$$0$4;
20155
20152
  const fs = require$$0__default;
20156
- const os = require$$1;
20153
+ const os = require$$2;
20157
20154
  const fsReadFileAsync = fs.promises.readFile;
20158
20155
  function getDefaultSearchPlaces(name) {
20159
20156
  return [
@@ -34664,7 +34661,7 @@ pp.readWord = function() {
34664
34661
 
34665
34662
  // Acorn is a tiny, fast JavaScript parser written in JavaScript.
34666
34663
 
34667
- var version = "8.8.0";
34664
+ var version = "8.8.1";
34668
34665
 
34669
34666
  Parser.acorn = {
34670
34667
  Parser: Parser,
@@ -35584,8 +35581,8 @@ async function urlToBuiltUrl(url, importer, config, pluginContext) {
35584
35581
  true);
35585
35582
  }
35586
35583
 
35587
- /* es-module-lexer 1.0.5 */
35588
- const A=1===new Uint8Array(new Uint16Array([1]).buffer)[0];function parse$b(E,g="@"){if(!C)return init.then((()=>parse$b(E)));const I=E.length+1,o=(C.__heap_base.value||C.__heap_base)+4*I-C.memory.buffer.byteLength;o>0&&C.memory.grow(Math.ceil(o/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 k=[],D=[];for(;C.ri();){const A=C.is(),Q=C.ie(),B=C.ai(),g=C.id(),I=C.ss(),o=C.se();let K;C.ip()&&(K=w(E.slice(-1===g?A-1:A,-1===g?Q+1:Q))),k.push({n:K,s:A,e:Q,ss:I,se:o,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),o=I[0],K=B<0?void 0:E.slice(B,g),k=K?K[0]:"";D.push({s:A,e:Q,ls:B,le:g,n:'"'===o||"'"===o?w(I):I,ln:'"'===k||"'"===k?w(K):K});}function w(A){try{return (0, eval)(A)}catch(A){}}return [k,D,!!C.f()]}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="AGFzbQEAAAABKghgAX8Bf2AEf39/fwBgAAF/YAAAYAF/AGADf39/AX9gAn9/AX9gAn9/AAMtLAABAQICAgICAgICAgICAgICAgIAAwMDBAQAAAADAAAAAAMDBQYAAAcABgIFBAUBcAEBAQUDAQABBg8CfwFBsPIAC38AQbDyAAsHcBMGbWVtb3J5AgACc2EAAAFlAAMCaXMABAJpZQAFAnNzAAYCc2UABwJhaQAIAmlkAAkCaXAACgJlcwALAmVlAAwDZWxzAA0DZWxlAA4CcmkADwJyZQAQAWYAEQVwYXJzZQASC19faGVhcF9iYXNlAwEK6TosaAEBf0EAIAA2AvgJQQAoAtQJIgEgAEEBdGoiAEEAOwEAQQAgAEECaiIANgL8CUEAIAA2AoAKQQBBADYC2AlBAEEANgLoCUEAQQA2AuAJQQBBADYC3AlBAEEANgLwCUEAQQA2AuQJIAELnwEBA39BACgC6AkhBEEAQQAoAoAKIgU2AugJQQAgBDYC7AlBACAFQSBqNgKACiAEQRxqQdgJIAQbIAU2AgBBACgCzAkhBEEAKALICSEGIAUgATYCACAFIAA2AgggBSACIAJBAmpBACAGIANGGyAEIANGGzYCDCAFIAM2AhQgBUEANgIQIAUgAjYCBCAFQQA2AhwgBUEAKALICSADRjoAGAtWAQF/QQAoAvAJIgRBEGpB3AkgBBtBACgCgAoiBDYCAEEAIAQ2AvAJQQAgBEEUajYCgAogBEEANgIQIAQgAzYCDCAEIAI2AgggBCABNgIEIAQgADYCAAsIAEEAKAKECgsVAEEAKALgCSgCAEEAKALUCWtBAXULHgEBf0EAKALgCSgCBCIAQQAoAtQJa0EBdUF/IAAbCxUAQQAoAuAJKAIIQQAoAtQJa0EBdQseAQF/QQAoAuAJKAIMIgBBACgC1AlrQQF1QX8gABsLHgEBf0EAKALgCSgCECIAQQAoAtQJa0EBdUF/IAAbCzsBAX8CQEEAKALgCSgCFCIAQQAoAsgJRw0AQX8PCwJAIABBACgCzAlHDQBBfg8LIABBACgC1AlrQQF1CwsAQQAoAuAJLQAYCxUAQQAoAuQJKAIAQQAoAtQJa0EBdQsVAEEAKALkCSgCBEEAKALUCWtBAXULHgEBf0EAKALkCSgCCCIAQQAoAtQJa0EBdUF/IAAbCx4BAX9BACgC5AkoAgwiAEEAKALUCWtBAXVBfyAAGwslAQF/QQBBACgC4AkiAEEcakHYCSAAGygCACIANgLgCSAAQQBHCyUBAX9BAEEAKALkCSIAQRBqQdwJIAAbKAIAIgA2AuQJIABBAEcLCABBAC0AiAoL5gwBBn8jAEGA0ABrIgAkAEEAQQE6AIgKQQBBACgC0Ak2ApAKQQBBACgC1AlBfmoiATYCpApBACABQQAoAvgJQQF0aiICNgKoCkEAQQA7AYoKQQBBADsBjApBAEEAOgCUCkEAQQA2AoQKQQBBADoA9AlBACAAQYAQajYCmApBACAANgKcCkEAQQA6AKAKAkACQAJAAkADQEEAIAFBAmoiAzYCpAogASACTw0BAkAgAy8BACICQXdqQQVJDQACQAJAAkACQAJAIAJBm39qDgUBCAgIAgALIAJBIEYNBCACQS9GDQMgAkE7Rg0CDAcLQQAvAYwKDQEgAxATRQ0BIAFBBGpBgghBChArDQEQFEEALQCICg0BQQBBACgCpAoiATYCkAoMBwsgAxATRQ0AIAFBBGpBjAhBChArDQAQFQtBAEEAKAKkCjYCkAoMAQsCQCABLwEEIgNBKkYNACADQS9HDQQQFgwBC0EBEBcLQQAoAqgKIQJBACgCpAohAQwACwtBACECIAMhAUEALQD0CQ0CDAELQQAgATYCpApBAEEAOgCICgsDQEEAIAFBAmoiAzYCpAoCQAJAAkACQAJAAkACQAJAAkAgAUEAKAKoCk8NACADLwEAIgJBd2pBBUkNCAJAAkACQAJAAkACQAJAAkACQAJAIAJBYGoOChIRBhEREREFAQIACwJAAkACQAJAIAJBoH9qDgoLFBQDFAEUFBQCAAsgAkGFf2oOAwUTBgkLQQAvAYwKDRIgAxATRQ0SIAFBBGpBgghBChArDRIQFAwSCyADEBNFDREgAUEEakGMCEEKECsNERAVDBELIAMQE0UNECABKQAEQuyAhIOwjsA5Ug0QIAEvAQwiA0F3aiIBQRdLDQ5BASABdEGfgIAEcUUNDgwPC0EAQQAvAYwKIgFBAWo7AYwKQQAoApgKIAFBA3RqIgFBATYCACABQQAoApAKNgIEDA8LQQAvAYwKIgJFDQtBACACQX9qIgQ7AYwKQQAvAYoKIgJFDQ4gAkECdEEAKAKcCmpBfGooAgAiBSgCFEEAKAKYCiAEQf//A3FBA3RqKAIERw0OAkAgBSgCBA0AIAUgAzYCBAtBACACQX9qOwGKCiAFIAFBBGo2AgwMDgsCQEEAKAKQCiIBLwEAQSlHDQBBACgC6AkiA0UNACADKAIEIAFHDQBBAEEAKALsCSIDNgLoCQJAIANFDQAgA0EANgIcDAELQQBBADYC2AkLQQBBAC8BjAoiA0EBajsBjApBACgCmAogA0EDdGoiA0EGQQJBAC0AoAobNgIAIAMgATYCBEEAQQA6AKAKDA0LQQAvAYwKIgFFDQlBACABQX9qIgE7AYwKQQAoApgKIAFB//8DcUEDdGooAgBBBEYNBAwMC0EnEBgMCwtBIhAYDAoLIAJBL0cNCQJAAkAgAS8BBCIBQSpGDQAgAUEvRw0BEBYMDAtBARAXDAsLAkACQEEAKAKQCiIBLwEAIgMQGUUNAAJAAkAgA0FVag4EAAgBAwgLIAFBfmovAQBBK0YNBgwHCyABQX5qLwEAQS1GDQUMBgsCQCADQf0ARg0AIANBKUcNBUEAKAKYCkEALwGMCkEDdGooAgQQGkUNBQwGC0EAKAKYCkEALwGMCkEDdGoiAigCBBAbDQUgAigCAEEGRg0FDAQLIAFBfmovAQBBUGpB//8DcUEKSQ0DDAQLQQAoApgKQQAvAYwKIgFBA3QiA2pBACgCkAo2AgRBACABQQFqOwGMCkEAKAKYCiADakEDNgIACxAcDAcLQQAtAPQJQQAvAYoKQQAvAYwKcnJFIQIMCQsgARAdDQAgA0UNACADQS9GQQAtAJQKQQBHcQ0AIAFBfmohAUEAKALUCSECAkADQCABQQJqIgQgAk0NAUEAIAE2ApAKIAEvAQAhAyABQX5qIgQhASADEB5FDQALIARBAmohBAtBASEFIANB//8DcRAfRQ0BIARBfmohAQJAA0AgAUECaiIDIAJNDQFBACABNgKQCiABLwEAIQMgAUF+aiIEIQEgAxAfDQALIARBAmohAwsgAxAgRQ0BECFBAEEAOgCUCgwFCxAhQQAhBQtBACAFOgCUCgwDCxAiQQAhAgwFCyADQaABRw0BC0EAQQE6AKAKC0EAQQAoAqQKNgKQCgtBACgCpAohAQwACwsgAEGA0ABqJAAgAgsdAAJAQQAoAtQJIABHDQBBAQ8LIABBfmovAQAQHgv8CQEGf0EAQQAoAqQKIgBBDGoiATYCpApBACgC8AkhAkEBECYhAwJAAkACQAJAAkACQAJAQQAoAqQKIgQgAUcNACADECVFDQELAkACQAJAAkAgA0EqRg0AIANB+wBHDQFBACAEQQJqNgKkCkEBECYhBEEAKAKkCiEBA0ACQAJAIARB//8DcSIDQSJGDQAgA0EnRg0AIAMQKBpBACgCpAohAwwBCyADEBhBAEEAKAKkCkECaiIDNgKkCgtBARAmGgJAIAEgAxApIgRBLEcNAEEAQQAoAqQKQQJqNgKkCkEBECYhBAtBACgCpAohAyAEQf0ARg0DIAMgAUYNCiADIQEgA0EAKAKoCk0NAAwKCwtBACAEQQJqNgKkCkEBECYaQQAoAqQKIgMgAxApGgwCC0EAQQA6AIgKAkACQAJAAkACQAJAIANBn39qDgwCCAQBCAMICAgICAUACyADQfYARg0EDAcLQQAgBEEOaiIDNgKkCkHhACEBAkBBARAmIgJB4QBHDQBBACgCpAoiAhATRQ0LIAIpAAJC84Dkg+CNwDFSDQsgAi8BChAfRQ0LQQAgAkEKajYCpApBABAmIQILQeYAIQEgAkHmAEcNCUEAKAKkCiICEBNFDQogAkECakGkCEEOECsNCiACLwEQIgVBd2oiAEEXSw0HQQEgAHRBn4CABHFFDQcMCAtBACAEQQpqNgKkCkEBECYaQQAoAqQKIQQLQQAgBEEQajYCpAoCQEEBECYiBEEqRw0AQQBBACgCpApBAmo2AqQKQQEQJiEEC0EAKAKkCiEDIAQQKBogA0EAKAKkCiIEIAMgBBACQQBBACgCpApBfmo2AqQKDwsCQCAEKQACQuyAhIOwjsA5Ug0AIAQvAQoQHkUNAEEAIARBCmo2AqQKQQEQJiEEQQAoAqQKIQMgBBAoGiADQQAoAqQKIgQgAyAEEAJBAEEAKAKkCkF+ajYCpAoPC0EAIARBBGoiBDYCpAoLQQAgBEEEaiIDNgKkCkEAQQA6AIgKAkADQEEAIANBAmo2AqQKQQEQJiEEQQAoAqQKIQMgBBAoQSByQfsARg0BQQAoAqQKIgQgA0YNBCADIAQgAyAEEAJBARAmQSxHDQFBACgCpAohAwwACwtBAEEAKAKkCkF+ajYCpAoPC0EAIANBAmo2AqQKC0EBECYhBEEAKAKkCiEDAkAgBEHmAEcNACADQQJqQZ4IQQYQKw0AQQAgA0EIajYCpAogAEEBECYQJyACQRBqQdwJIAIbIQMDQCADKAIAIgNFDQIgA0IANwIIIANBEGohAwwACwtBACADQX5qNgKkCgsPCwJAIAVBWGoOAwEDAQALIAVBoAFHDQILQQAgAkEQajYCpAoCQEEBECYiAkEqRw0AQQBBACgCpApBAmo2AqQKQQEQJiECCyACQShHDQAgBCADQQBBABACQQAgAzYCpAoPCyACIQEgAkHjAEcNAAJAQQAoAqQKIgIQE0UNACACKQACQuyAhIOwjsA5Ug0AAkACQCACLwEKIgBBd2oiAUEXSw0AQQEgAXRBn4CABHENAQsgAEGgAUYNAEHjACEBIABB+wBHDQILQQAgAkEKajYCpApBARAmIgFB+wBHDQEgBCADQQBBABACQQAgAzYCpAoPC0HjACEBC0EAKAKkCiECIAEQKBogBCADIAJBACgCpAoQAkEAIAM2AqQKDwsQIgu+BgEEf0EAQQAoAqQKIgBBDGoiATYCpAoCQAJAAkACQAJAAkACQAJAAkACQEEBECYiAkFZag4IBAIBBAEBAQMACyACQSJGDQMgAkH7AEYNBAtBACgCpAogAUcNAkEAIABBCmo2AqQKDwtBACgCmApBAC8BjAoiAkEDdGoiAUEAKAKkCjYCBEEAIAJBAWo7AYwKIAFBBTYCAEEAKAKQCi8BAEEuRg0DQQBBACgCpAoiAUECajYCpApBARAmIQIgAEEAKAKkCkEAIAEQAUEAQQAvAYoKIgFBAWo7AYoKQQAoApwKIAFBAnRqQQAoAugJNgIAAkAgAkEiRg0AIAJBJ0YNAEEAQQAoAqQKQX5qNgKkCg8LIAIQGEEAQQAoAqQKQQJqIgI2AqQKAkACQAJAQQEQJkFXag4EAQICAAILQQBBACgCpApBAmo2AqQKQQEQJhpBACgC6AkiASACNgIEIAFBAToAGCABQQAoAqQKIgI2AhBBACACQX5qNgKkCg8LQQAoAugJIgEgAjYCBCABQQE6ABhBAEEALwGMCkF/ajsBjAogAUEAKAKkCkECajYCDEEAQQAvAYoKQX9qOwGKCg8LQQBBACgCpApBfmo2AqQKDwtBAEEAKAKkCkECajYCpApBARAmQe0ARw0CQQAoAqQKIgJBAmpBlghBBhArDQJBACgCkAovAQBBLkYNAiAAIAAgAkEIakEAKALMCRABDwtBAC8BjAoNAkEAKAKkCiECQQAoAqgKIQMDQCACIANPDQUCQAJAIAIvAQAiAUEnRg0AIAFBIkcNAQsgACABECcPC0EAIAJBAmoiAjYCpAoMAAsLQQAoAqQKIQJBAC8BjAoNAgJAA0ACQAJAAkAgAkEAKAKoCk8NAEEBECYiAkEiRg0BIAJBJ0YNASACQf0ARw0CQQBBACgCpApBAmo2AqQKC0EBECYaQQAoAqQKIgIpAABC5oDIg/CNwDZSDQdBACACQQhqNgKkCkEBECYiAkEiRg0DIAJBJ0YNAwwHCyACEBgLQQBBACgCpApBAmoiAjYCpAoMAAsLIAAgAhAnCw8LQQBBACgCpApBfmo2AqQKDwtBACACQX5qNgKkCg8LECILRwEDf0EAKAKkCkECaiEAQQAoAqgKIQECQANAIAAiAkF+aiABTw0BIAJBAmohACACLwEAQXZqDgQBAAABAAsLQQAgAjYCpAoLmAEBA39BAEEAKAKkCiIBQQJqNgKkCiABQQZqIQFBACgCqAohAgNAAkACQAJAIAFBfGogAk8NACABQX5qLwEAIQMCQAJAIAANACADQSpGDQEgA0F2ag4EAgQEAgQLIANBKkcNAwsgAS8BAEEvRw0CQQAgAUF+ajYCpAoMAQsgAUF+aiEBC0EAIAE2AqQKDwsgAUECaiEBDAALC4gBAQR/QQAoAqQKIQFBACgCqAohAgJAAkADQCABIgNBAmohASADIAJPDQEgAS8BACIEIABGDQICQCAEQdwARg0AIARBdmoOBAIBAQIBCyADQQRqIQEgAy8BBEENRw0AIANBBmogASADLwEGQQpGGyEBDAALC0EAIAE2AqQKECIPC0EAIAE2AqQKC2wBAX8CQAJAIABBX2oiAUEFSw0AQQEgAXRBMXENAQsgAEFGakH//wNxQQZJDQAgAEEpRyAAQVhqQf//A3FBB0lxDQACQCAAQaV/ag4EAQAAAQALIABB/QBHIABBhX9qQf//A3FBBElxDwtBAQsuAQF/QQEhAQJAIABBmAlBBRAjDQAgAEGiCUEDECMNACAAQagJQQIQIyEBCyABC4MBAQJ/QQEhAQJAAkACQAJAAkACQCAALwEAIgJBRWoOBAUEBAEACwJAIAJBm39qDgQDBAQCAAsgAkEpRg0EIAJB+QBHDQMgAEF+akG0CUEGECMPCyAAQX5qLwEAQT1GDwsgAEF+akGsCUEEECMPCyAAQX5qQcAJQQMQIw8LQQAhAQsgAQveAQEEf0EAKAKkCiEAQQAoAqgKIQECQAJAAkADQCAAIgJBAmohACACIAFPDQECQAJAAkAgAC8BACIDQaR/ag4FAgMDAwEACyADQSRHDQIgAi8BBEH7AEcNAkEAIAJBBGoiADYCpApBAEEALwGMCiICQQFqOwGMCkEAKAKYCiACQQN0aiICQQQ2AgAgAiAANgIEDwtBACAANgKkCkEAQQAvAYwKQX9qIgA7AYwKQQAoApgKIABB//8DcUEDdGooAgBBA0cNAwwECyACQQRqIQAMAAsLQQAgADYCpAoLECILC7QDAQJ/QQAhAQJAAkACQAJAAkACQAJAAkACQAJAIAAvAQBBnH9qDhQAAQIJCQkJAwkJBAUJCQYJBwkJCAkLAkACQCAAQX5qLwEAQZd/ag4EAAoKAQoLIABBfGpBvAhBAhAjDwsgAEF8akHACEEDECMPCwJAAkACQCAAQX5qLwEAQY1/ag4DAAECCgsCQCAAQXxqLwEAIgJB4QBGDQAgAkHsAEcNCiAAQXpqQeUAECQPCyAAQXpqQeMAECQPCyAAQXxqQcYIQQQQIw8LIABBfGpBzghBBhAjDwsgAEF+ai8BAEHvAEcNBiAAQXxqLwEAQeUARw0GAkAgAEF6ai8BACICQfAARg0AIAJB4wBHDQcgAEF4akHaCEEGECMPCyAAQXhqQeYIQQIQIw8LIABBfmpB6ghBBBAjDwtBASEBIABBfmoiAEHpABAkDQQgAEHyCEEFECMPCyAAQX5qQeQAECQPCyAAQX5qQfwIQQcQIw8LIABBfmpBiglBBBAjDwsCQCAAQX5qLwEAIgJB7wBGDQAgAkHlAEcNASAAQXxqQe4AECQPCyAAQXxqQZIJQQMQIyEBCyABCzQBAX9BASEBAkAgAEF3akH//wNxQQVJDQAgAEGAAXJBoAFGDQAgAEEuRyAAECVxIQELIAELMAEBfwJAAkAgAEF3aiIBQRdLDQBBASABdEGNgIAEcQ0BCyAAQaABRg0AQQAPC0EBC04BAn9BACEBAkACQCAALwEAIgJB5QBGDQAgAkHrAEcNASAAQX5qQeoIQQQQIw8LIABBfmovAQBB9QBHDQAgAEF8akHOCEEGECMhAQsgAQtwAQJ/AkACQANAQQBBACgCpAoiAEECaiIBNgKkCiAAQQAoAqgKTw0BAkACQAJAIAEvAQAiAUGlf2oOAgECAAsCQCABQXZqDgQEAwMEAAsgAUEvRw0CDAQLECoaDAELQQAgAEEEajYCpAoMAAsLECILCzUBAX9BAEEBOgD0CUEAKAKkCiEAQQBBACgCqApBAmo2AqQKQQAgAEEAKALUCWtBAXU2AoQKC0kBA39BACEDAkAgACACQQF0IgJrIgRBAmoiAEEAKALUCSIFSQ0AIAAgASACECsNAAJAIAAgBUcNAEEBDwsgBC8BABAeIQMLIAMLPQECf0EAIQICQEEAKALUCSIDIABLDQAgAC8BACABRw0AAkAgAyAARw0AQQEPCyAAQX5qLwEAEB4hAgsgAgtoAQJ/QQEhAQJAAkAgAEFfaiICQQVLDQBBASACdEExcQ0BCyAAQfj/A3FBKEYNACAAQUZqQf//A3FBBkkNAAJAIABBpX9qIgJBA0sNACACQQFHDQELIABBhX9qQf//A3FBBEkhAQsgAQucAQEDf0EAKAKkCiEBAkADQAJAAkAgAS8BACICQS9HDQACQCABLwECIgFBKkYNACABQS9HDQQQFgwCCyAAEBcMAQsCQAJAIABFDQAgAkF3aiIBQRdLDQFBASABdEGfgIAEcUUNAQwCCyACEB9FDQMMAQsgAkGgAUcNAgtBAEEAKAKkCiIDQQJqIgE2AqQKIANBACgCqApJDQALCyACC8IDAQF/AkAgAUEiRg0AIAFBJ0YNABAiDwtBACgCpAohAiABEBggACACQQJqQQAoAqQKQQAoAsgJEAFBAEEAKAKkCkECajYCpApBABAmIQBBACgCpAohAQJAAkAgAEHhAEcNACABQQJqQbIIQQoQK0UNAQtBACABQX5qNgKkCg8LQQAgAUEMajYCpAoCQEEBECZB+wBGDQBBACABNgKkCg8LQQAoAqQKIgIhAANAQQAgAEECajYCpAoCQAJAAkBBARAmIgBBIkYNACAAQSdHDQFBJxAYQQBBACgCpApBAmo2AqQKQQEQJiEADAILQSIQGEEAQQAoAqQKQQJqNgKkCkEBECYhAAwBCyAAECghAAsCQCAAQTpGDQBBACABNgKkCg8LQQBBACgCpApBAmo2AqQKAkBBARAmIgBBIkYNACAAQSdGDQBBACABNgKkCg8LIAAQGEEAQQAoAqQKQQJqNgKkCgJAAkBBARAmIgBBLEYNACAAQf0ARg0BQQAgATYCpAoPC0EAQQAoAqQKQQJqNgKkCkEBECZB/QBGDQBBACgCpAohAAwBCwtBACgC6AkiASACNgIQIAFBACgCpApBAmo2AgwLbQECfwJAAkADQAJAIABB//8DcSIBQXdqIgJBF0sNAEEBIAJ0QZ+AgARxDQILIAFBoAFGDQEgACECIAEQJQ0CQQAhAkEAQQAoAqQKIgBBAmo2AqQKIAAvAQIiAA0ADAILCyAAIQILIAJB//8DcQurAQEEfwJAAkBBACgCpAoiAi8BACIDQeEARg0AIAEhBCAAIQUMAQtBACACQQRqNgKkCkEBECYhAkEAKAKkCiEFAkACQCACQSJGDQAgAkEnRg0AIAIQKBpBACgCpAohBAwBCyACEBhBAEEAKAKkCkECaiIENgKkCgtBARAmIQNBACgCpAohAgsCQCACIAVGDQAgBSAEQQAgACAAIAFGIgIbQQAgASACGxACCyADC3IBBH9BACgCpAohAEEAKAKoCiEBAkACQANAIABBAmohAiAAIAFPDQECQAJAIAIvAQAiA0Gkf2oOAgEEAAsgAiEAIANBdmoOBAIBAQIBCyAAQQRqIQAMAAsLQQAgAjYCpAoQIkEADwtBACACNgKkCkHdAAtJAQN/QQAhAwJAIAJFDQACQANAIAAtAAAiBCABLQAAIgVHDQEgAUEBaiEBIABBAWohACACQX9qIgINAAwCCwsgBCAFayEDCyADCwvkAQIAQYAIC8YBAAB4AHAAbwByAHQAbQBwAG8AcgB0AGUAdABhAGYAcgBvAG0AdQBuAGMAdABpAG8AbgBzAHMAZQByAHQAdgBvAHkAaQBlAGQAZQBsAGUAYwBvAG4AdABpAG4AaQBuAHMAdABhAG4AdAB5AGIAcgBlAGEAcgBlAHQAdQByAGQAZQBiAHUAZwBnAGUAYQB3AGEAaQB0AGgAcgB3AGgAaQBsAGUAZgBvAHIAaQBmAGMAYQB0AGMAZgBpAG4AYQBsAGwAZQBsAHMAAEHICQsQAQAAAAIAAAAABAAAMDkAAA==","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;
35584
+ /* es-module-lexer 1.1.0 */
35585
+ const A=1===new Uint8Array(new Uint16Array([1]).buffer)[0];function parse$b(E,g="@"){if(!C)return init.then((()=>parse$b(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()]}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;
35589
35586
 
35590
35587
  /**
35591
35588
  * @param {object} exports
@@ -39761,6 +39758,8 @@ function importAnalysisPlugin(config) {
39761
39758
  if (ssr) {
39762
39759
  return [url, url];
39763
39760
  }
39761
+ // fix#9534, prevent the importerModuleNode being stopped from propagating updates
39762
+ importerModule.isSelfAccepting = false;
39764
39763
  return this.error(`Failed to resolve import "${url}" from "${path$n.relative(process.cwd(), importerFile)}". Does the file exist?`, pos);
39765
39764
  }
39766
39765
  const isRelative = url.startsWith('.');
@@ -46181,7 +46180,6 @@ function cssPlugin(config) {
46181
46180
  tryIndex: false,
46182
46181
  extensions: []
46183
46182
  });
46184
- const atImportResolvers = createCSSResolvers(config);
46185
46183
  return {
46186
46184
  name: 'vite:css',
46187
46185
  configureServer(_server) {
@@ -46214,9 +46212,13 @@ function cssPlugin(config) {
46214
46212
  if (resolved) {
46215
46213
  return fileToUrl(resolved, config, this);
46216
46214
  }
46215
+ if (config.command === 'build') {
46216
+ // #9800 If we cannot resolve the css url, leave a warning.
46217
+ config.logger.warnOnce(`\n${url} referenced in ${id} didn't resolve at build time, it will remain unchanged to be resolved at runtime`);
46218
+ }
46217
46219
  return url;
46218
46220
  };
46219
- const { code: css, modules, deps, map } = await compileCSS(id, raw, config, urlReplacer, atImportResolvers);
46221
+ const { code: css, modules, deps, map } = await compileCSS(id, raw, config, urlReplacer);
46220
46222
  if (modules) {
46221
46223
  moduleCache.set(id, modules);
46222
46224
  }
@@ -46597,7 +46599,8 @@ function createCSSResolvers(config) {
46597
46599
  function getCssResolversKeys(resolvers) {
46598
46600
  return Object.keys(resolvers);
46599
46601
  }
46600
- async function compileCSS(id, code, config, urlReplacer, atImportResolvers, server) {
46602
+ const configToAtImportResolvers = new WeakMap();
46603
+ async function compileCSS(id, code, config, urlReplacer) {
46601
46604
  const { modules: modulesOptions, preprocessorOptions, devSourcemap } = config.css || {};
46602
46605
  const isModule = modulesOptions !== false && cssModuleRE.test(id);
46603
46606
  // although at serve time it can work without processing, we do need to
@@ -46617,6 +46620,11 @@ async function compileCSS(id, code, config, urlReplacer, atImportResolvers, serv
46617
46620
  let preprocessorMap;
46618
46621
  let modules;
46619
46622
  const deps = new Set();
46623
+ let atImportResolvers = configToAtImportResolvers.get(config);
46624
+ if (!atImportResolvers) {
46625
+ atImportResolvers = createCSSResolvers(config);
46626
+ configToAtImportResolvers.set(config, atImportResolvers);
46627
+ }
46620
46628
  // 2. pre-processors: sass etc.
46621
46629
  if (isPreProcessor(lang)) {
46622
46630
  const preProcessor = preProcessors[lang];
@@ -46683,12 +46691,14 @@ async function compileCSS(id, code, config, urlReplacer, atImportResolvers, serv
46683
46691
  }
46684
46692
  }));
46685
46693
  }
46686
- postcssPlugins.push(UrlRewritePostcssPlugin({
46687
- replacer: urlReplacer,
46688
- logger: config.logger
46689
- }));
46694
+ if (urlReplacer) {
46695
+ postcssPlugins.push(UrlRewritePostcssPlugin({
46696
+ replacer: urlReplacer,
46697
+ logger: config.logger
46698
+ }));
46699
+ }
46690
46700
  if (isModule) {
46691
- postcssPlugins.unshift((await import('./dep-06c4efef.js').then(function (n) { return n.i; })).default({
46701
+ postcssPlugins.unshift((await import('./dep-1180cbc3.js').then(function (n) { return n.i; })).default({
46692
46702
  ...modulesOptions,
46693
46703
  getJSON(cssFileName, _modules, outputFileName) {
46694
46704
  modules = _modules;
@@ -46798,6 +46808,12 @@ async function compileCSS(id, code, config, urlReplacer, atImportResolvers, serv
46798
46808
  deps
46799
46809
  };
46800
46810
  }
46811
+ /**
46812
+ * @experimental
46813
+ */
46814
+ async function preprocessCSS(code, filename, config) {
46815
+ return await compileCSS(filename, code, config);
46816
+ }
46801
46817
  async function formatPostcssSourceMap(rawMap, file) {
46802
46818
  const inputFileDir = path$n.dirname(file);
46803
46819
  const sources = rawMap.sources.map((source) => {
@@ -47658,7 +47674,348 @@ function completeSystemWrapPlugin() {
47658
47674
  };
47659
47675
  }
47660
47676
 
47661
- function resolveBuildOptions(raw, isBuild, logger) {
47677
+ const alias = {
47678
+ js: 'application/javascript',
47679
+ css: 'text/css',
47680
+ html: 'text/html',
47681
+ json: 'application/json'
47682
+ };
47683
+ function send$1(req, res, content, type, options) {
47684
+ const { etag = etag_1(content, { weak: true }), cacheControl = 'no-cache', headers, map } = options;
47685
+ if (res.writableEnded) {
47686
+ return;
47687
+ }
47688
+ if (req.headers['if-none-match'] === etag) {
47689
+ res.statusCode = 304;
47690
+ res.end();
47691
+ return;
47692
+ }
47693
+ res.setHeader('Content-Type', alias[type] || type);
47694
+ res.setHeader('Cache-Control', cacheControl);
47695
+ res.setHeader('Etag', etag);
47696
+ if (headers) {
47697
+ for (const name in headers) {
47698
+ res.setHeader(name, headers[name]);
47699
+ }
47700
+ }
47701
+ // inject source map reference
47702
+ if (map && map.mappings) {
47703
+ if (type === 'js' || type === 'css') {
47704
+ content = getCodeWithSourcemap(type, content.toString(), map);
47705
+ }
47706
+ }
47707
+ res.statusCode = 200;
47708
+ res.end(content);
47709
+ return;
47710
+ }
47711
+
47712
+ // https://github.com/vitejs/vite/issues/2820#issuecomment-812495079
47713
+ const ROOT_FILES = [
47714
+ // '.git',
47715
+ // https://pnpm.js.org/workspaces/
47716
+ 'pnpm-workspace.yaml',
47717
+ // https://rushjs.io/pages/advanced/config_files/
47718
+ // 'rush.json',
47719
+ // https://nx.dev/latest/react/getting-started/nx-setup
47720
+ // 'workspace.json',
47721
+ // 'nx.json',
47722
+ // https://github.com/lerna/lerna#lernajson
47723
+ 'lerna.json'
47724
+ ];
47725
+ // npm: https://docs.npmjs.com/cli/v7/using-npm/workspaces#installing-workspaces
47726
+ // yarn: https://classic.yarnpkg.com/en/docs/workspaces/#toc-how-to-use-it
47727
+ function hasWorkspacePackageJSON(root) {
47728
+ const path = join$2(root, 'package.json');
47729
+ if (!isFileReadable(path)) {
47730
+ return false;
47731
+ }
47732
+ const content = JSON.parse(fs$l.readFileSync(path, 'utf-8')) || {};
47733
+ return !!content.workspaces;
47734
+ }
47735
+ function hasRootFile(root) {
47736
+ return ROOT_FILES.some((file) => fs$l.existsSync(join$2(root, file)));
47737
+ }
47738
+ function hasPackageJSON(root) {
47739
+ const path = join$2(root, 'package.json');
47740
+ return fs$l.existsSync(path);
47741
+ }
47742
+ /**
47743
+ * Search up for the nearest `package.json`
47744
+ */
47745
+ function searchForPackageRoot(current, root = current) {
47746
+ if (hasPackageJSON(current))
47747
+ return current;
47748
+ const dir = dirname$2(current);
47749
+ // reach the fs root
47750
+ if (!dir || dir === current)
47751
+ return root;
47752
+ return searchForPackageRoot(dir, root);
47753
+ }
47754
+ /**
47755
+ * Search up for the nearest workspace root
47756
+ */
47757
+ function searchForWorkspaceRoot(current, root = searchForPackageRoot(current)) {
47758
+ if (hasRootFile(current))
47759
+ return current;
47760
+ if (hasWorkspacePackageJSON(current))
47761
+ return current;
47762
+ const dir = dirname$2(current);
47763
+ // reach the fs root
47764
+ if (!dir || dir === current)
47765
+ return root;
47766
+ return searchForWorkspaceRoot(dir, root);
47767
+ }
47768
+
47769
+ var main$1 = {exports: {}};
47770
+
47771
+ const fs$9 = require$$0__default;
47772
+ const path$9 = require$$0$4;
47773
+ const os$2 = require$$2;
47774
+
47775
+ function log (message) {
47776
+ console.log(`[dotenv][DEBUG] ${message}`);
47777
+ }
47778
+
47779
+ const NEWLINE = '\n';
47780
+ const RE_INI_KEY_VAL = /^\s*([\w.-]+)\s*=\s*("[^"]*"|'[^']*'|.*?)(\s+#.*)?$/;
47781
+ const RE_NEWLINES = /\\n/g;
47782
+ const NEWLINES_MATCH = /\r\n|\n|\r/;
47783
+
47784
+ // Parses src into an Object
47785
+ function parse$8 (src, options) {
47786
+ const debug = Boolean(options && options.debug);
47787
+ const multiline = Boolean(options && options.multiline);
47788
+ const obj = {};
47789
+
47790
+ // convert Buffers before splitting into lines and processing
47791
+ const lines = src.toString().split(NEWLINES_MATCH);
47792
+
47793
+ for (let idx = 0; idx < lines.length; idx++) {
47794
+ let line = lines[idx];
47795
+
47796
+ // matching "KEY' and 'VAL' in 'KEY=VAL'
47797
+ const keyValueArr = line.match(RE_INI_KEY_VAL);
47798
+ // matched?
47799
+ if (keyValueArr != null) {
47800
+ const key = keyValueArr[1];
47801
+ // default undefined or missing values to empty string
47802
+ let val = (keyValueArr[2] || '');
47803
+ let end = val.length - 1;
47804
+ const isDoubleQuoted = val[0] === '"' && val[end] === '"';
47805
+ const isSingleQuoted = val[0] === "'" && val[end] === "'";
47806
+
47807
+ const isMultilineDoubleQuoted = val[0] === '"' && val[end] !== '"';
47808
+ const isMultilineSingleQuoted = val[0] === "'" && val[end] !== "'";
47809
+
47810
+ // if parsing line breaks and the value starts with a quote
47811
+ if (multiline && (isMultilineDoubleQuoted || isMultilineSingleQuoted)) {
47812
+ const quoteChar = isMultilineDoubleQuoted ? '"' : "'";
47813
+
47814
+ val = val.substring(1);
47815
+
47816
+ while (idx++ < lines.length - 1) {
47817
+ line = lines[idx];
47818
+ end = line.length - 1;
47819
+ if (line[end] === quoteChar) {
47820
+ val += NEWLINE + line.substring(0, end);
47821
+ break
47822
+ }
47823
+ val += NEWLINE + line;
47824
+ }
47825
+ // if single or double quoted, remove quotes
47826
+ } else if (isSingleQuoted || isDoubleQuoted) {
47827
+ val = val.substring(1, end);
47828
+
47829
+ // if double quoted, expand newlines
47830
+ if (isDoubleQuoted) {
47831
+ val = val.replace(RE_NEWLINES, NEWLINE);
47832
+ }
47833
+ } else {
47834
+ // remove surrounding whitespace
47835
+ val = val.trim();
47836
+ }
47837
+
47838
+ obj[key] = val;
47839
+ } else if (debug) {
47840
+ const trimmedLine = line.trim();
47841
+
47842
+ // ignore empty and commented lines
47843
+ if (trimmedLine.length && trimmedLine[0] !== '#') {
47844
+ log(`Failed to match key and value when parsing line ${idx + 1}: ${line}`);
47845
+ }
47846
+ }
47847
+ }
47848
+
47849
+ return obj
47850
+ }
47851
+
47852
+ function resolveHome (envPath) {
47853
+ return envPath[0] === '~' ? path$9.join(os$2.homedir(), envPath.slice(1)) : envPath
47854
+ }
47855
+
47856
+ // Populates process.env from .env file
47857
+ function config (options) {
47858
+ let dotenvPath = path$9.resolve(process.cwd(), '.env');
47859
+ let encoding = 'utf8';
47860
+ const debug = Boolean(options && options.debug);
47861
+ const override = Boolean(options && options.override);
47862
+ const multiline = Boolean(options && options.multiline);
47863
+
47864
+ if (options) {
47865
+ if (options.path != null) {
47866
+ dotenvPath = resolveHome(options.path);
47867
+ }
47868
+ if (options.encoding != null) {
47869
+ encoding = options.encoding;
47870
+ }
47871
+ }
47872
+
47873
+ try {
47874
+ // specifying an encoding returns a string instead of a buffer
47875
+ const parsed = DotenvModule.parse(fs$9.readFileSync(dotenvPath, { encoding }), { debug, multiline });
47876
+
47877
+ Object.keys(parsed).forEach(function (key) {
47878
+ if (!Object.prototype.hasOwnProperty.call(process.env, key)) {
47879
+ process.env[key] = parsed[key];
47880
+ } else {
47881
+ if (override === true) {
47882
+ process.env[key] = parsed[key];
47883
+ }
47884
+
47885
+ if (debug) {
47886
+ if (override === true) {
47887
+ log(`"${key}" is already defined in \`process.env\` and WAS overwritten`);
47888
+ } else {
47889
+ log(`"${key}" is already defined in \`process.env\` and was NOT overwritten`);
47890
+ }
47891
+ }
47892
+ }
47893
+ });
47894
+
47895
+ return { parsed }
47896
+ } catch (e) {
47897
+ if (debug) {
47898
+ log(`Failed to load ${dotenvPath} ${e.message}`);
47899
+ }
47900
+
47901
+ return { error: e }
47902
+ }
47903
+ }
47904
+
47905
+ const DotenvModule = {
47906
+ config,
47907
+ parse: parse$8
47908
+ };
47909
+
47910
+ main$1.exports.config = DotenvModule.config;
47911
+ main$1.exports.parse = DotenvModule.parse;
47912
+ main$1.exports = DotenvModule;
47913
+
47914
+ var dotenvExpand = function (config) {
47915
+ // if ignoring process.env, use a blank object
47916
+ var environment = config.ignoreProcessEnv ? {} : process.env;
47917
+
47918
+ var interpolate = function (envValue) {
47919
+ var matches = envValue.match(/(.?\${?(?:[a-zA-Z0-9_]+)?}?)/g) || [];
47920
+
47921
+ return matches.reduce(function (newEnv, match) {
47922
+ var parts = /(.?)\${?([a-zA-Z0-9_]+)?}?/g.exec(match);
47923
+ var prefix = parts[1];
47924
+
47925
+ var value, replacePart;
47926
+
47927
+ if (prefix === '\\') {
47928
+ replacePart = parts[0];
47929
+ value = replacePart.replace('\\$', '$');
47930
+ } else {
47931
+ var key = parts[2];
47932
+ replacePart = parts[0].substring(prefix.length);
47933
+ // process.env value 'wins' over .env file's value
47934
+ value = environment.hasOwnProperty(key) ? environment[key] : (config.parsed[key] || '');
47935
+
47936
+ // Resolve recursive interpolations
47937
+ value = interpolate(value);
47938
+ }
47939
+
47940
+ return newEnv.replace(replacePart, value)
47941
+ }, envValue)
47942
+ };
47943
+
47944
+ for (var configKey in config.parsed) {
47945
+ var value = environment.hasOwnProperty(configKey) ? environment[configKey] : config.parsed[configKey];
47946
+
47947
+ config.parsed[configKey] = interpolate(value);
47948
+ }
47949
+
47950
+ for (var processKey in config.parsed) {
47951
+ environment[processKey] = config.parsed[processKey];
47952
+ }
47953
+
47954
+ return config
47955
+ };
47956
+
47957
+ var main = dotenvExpand;
47958
+
47959
+ function loadEnv(mode, envDir, prefixes = 'VITE_') {
47960
+ if (mode === 'local') {
47961
+ throw new Error(`"local" cannot be used as a mode name because it conflicts with ` +
47962
+ `the .local postfix for .env files.`);
47963
+ }
47964
+ prefixes = arraify(prefixes);
47965
+ const env = {};
47966
+ const envFiles = [
47967
+ /** default file */ `.env`,
47968
+ /** local file */ `.env.local`,
47969
+ /** mode file */ `.env.${mode}`,
47970
+ /** mode local file */ `.env.${mode}.local`
47971
+ ];
47972
+ // check if there are actual env variables starting with VITE_*
47973
+ // these are typically provided inline and should be prioritized
47974
+ for (const key in process.env) {
47975
+ if (prefixes.some((prefix) => key.startsWith(prefix)) &&
47976
+ env[key] === undefined) {
47977
+ env[key] = process.env[key];
47978
+ }
47979
+ }
47980
+ const parsed = Object.fromEntries(envFiles.flatMap((file) => {
47981
+ const path = lookupFile(envDir, [file], {
47982
+ pathOnly: true,
47983
+ rootDir: envDir
47984
+ });
47985
+ if (!path)
47986
+ return [];
47987
+ return Object.entries(main$1.exports.parse(fs$l.readFileSync(path), {
47988
+ debug: process.env.DEBUG?.includes('vite:dotenv')
47989
+ }));
47990
+ }));
47991
+ // let environment variables use each other
47992
+ main({
47993
+ parsed,
47994
+ // prevent process.env mutation
47995
+ ignoreProcessEnv: true
47996
+ });
47997
+ // only keys that start with prefix are exposed to client
47998
+ for (const [key, value] of Object.entries(parsed)) {
47999
+ if (prefixes.some((prefix) => key.startsWith(prefix))) {
48000
+ env[key] = value;
48001
+ }
48002
+ else if (key === 'NODE_ENV' &&
48003
+ process.env.VITE_USER_NODE_ENV === undefined) {
48004
+ // NODE_ENV override in .env file
48005
+ process.env.VITE_USER_NODE_ENV = value;
48006
+ }
48007
+ }
48008
+ return env;
48009
+ }
48010
+ function resolveEnvPrefix({ envPrefix = 'VITE_' }) {
48011
+ envPrefix = arraify(envPrefix);
48012
+ if (envPrefix.some((prefix) => prefix === '')) {
48013
+ throw new Error(`envPrefix option contains value '', which could lead unexpected exposure of sensitive information.`);
48014
+ }
48015
+ return envPrefix;
48016
+ }
48017
+
48018
+ function resolveBuildOptions(raw, logger) {
47662
48019
  const deprecatedPolyfillModulePreload = raw?.polyfillModulePreload;
47663
48020
  if (raw) {
47664
48021
  const { polyfillModulePreload, ...rest } = raw;
@@ -47675,36 +48032,43 @@ function resolveBuildOptions(raw, isBuild, logger) {
47675
48032
  const defaultModulePreload = {
47676
48033
  polyfill: true
47677
48034
  };
47678
- const resolved = {
47679
- target: 'modules',
48035
+ const defaultBuildOptions = {
47680
48036
  outDir: 'dist',
47681
48037
  assetsDir: 'assets',
47682
48038
  assetsInlineLimit: 4096,
47683
48039
  cssCodeSplit: !raw?.lib,
47684
- cssTarget: false,
47685
48040
  sourcemap: false,
47686
48041
  rollupOptions: {},
47687
48042
  minify: raw?.ssr ? false : 'esbuild',
47688
48043
  terserOptions: {},
47689
48044
  write: true,
47690
48045
  emptyOutDir: null,
48046
+ copyPublicDir: true,
47691
48047
  manifest: false,
47692
48048
  lib: false,
47693
48049
  ssr: false,
47694
48050
  ssrManifest: false,
47695
48051
  reportCompressedSize: true,
47696
48052
  chunkSizeWarningLimit: 500,
47697
- watch: null,
47698
- ...raw,
48053
+ watch: null
48054
+ };
48055
+ const userBuildOptions = raw
48056
+ ? mergeConfig(defaultBuildOptions, raw)
48057
+ : defaultBuildOptions;
48058
+ // @ts-expect-error Fallback options instead of merging
48059
+ const resolved = {
48060
+ target: 'modules',
48061
+ cssTarget: false,
48062
+ ...userBuildOptions,
47699
48063
  commonjsOptions: {
47700
48064
  include: [/node_modules/],
47701
48065
  extensions: ['.js', '.cjs'],
47702
- ...raw?.commonjsOptions
48066
+ ...userBuildOptions.commonjsOptions
47703
48067
  },
47704
48068
  dynamicImportVarsOptions: {
47705
48069
  warnOnError: true,
47706
48070
  exclude: [/node_modules/],
47707
- ...raw?.dynamicImportVarsOptions
48071
+ ...userBuildOptions.dynamicImportVarsOptions
47708
48072
  },
47709
48073
  // Resolve to false | object
47710
48074
  modulePreload: modulePreload === false
@@ -47990,7 +48354,9 @@ function prepareOutDir(outDirs, emptyOutDir, config) {
47990
48354
  .filter(Boolean);
47991
48355
  emptyDir(outDir, [...skipDirs, '.git']);
47992
48356
  }
47993
- if (config.publicDir && fs$l.existsSync(config.publicDir)) {
48357
+ if (config.build.copyPublicDir &&
48358
+ config.publicDir &&
48359
+ fs$l.existsSync(config.publicDir)) {
47994
48360
  copyDir(config.publicDir, outDir);
47995
48361
  }
47996
48362
  }
@@ -49590,7 +49956,7 @@ var parseurl$1 = {exports: {}};
49590
49956
  */
49591
49957
 
49592
49958
  var url$3 = require$$0$9;
49593
- var parse$8 = url$3.parse;
49959
+ var parse$7 = url$3.parse;
49594
49960
  var Url = url$3.Url;
49595
49961
 
49596
49962
  /**
@@ -49669,7 +50035,7 @@ function originalurl (req) {
49669
50035
 
49670
50036
  function fastparse (str) {
49671
50037
  if (typeof str !== 'string' || str.charCodeAt(0) !== 0x2f /* / */) {
49672
- return parse$8(str)
50038
+ return parse$7(str)
49673
50039
  }
49674
50040
 
49675
50041
  var pathname = str;
@@ -49696,7 +50062,7 @@ function fastparse (str) {
49696
50062
  case 0x23: /* # */
49697
50063
  case 0xa0:
49698
50064
  case 0xfeff:
49699
- return parse$8(str)
50065
+ return parse$7(str)
49700
50066
  }
49701
50067
  }
49702
50068
 
@@ -50109,7 +50475,7 @@ function finalhandler$1 (req, res, options) {
50109
50475
  }
50110
50476
 
50111
50477
  // send response
50112
- send$1(req, res, status, headers, msg);
50478
+ send(req, res, status, headers, msg);
50113
50479
  }
50114
50480
  }
50115
50481
 
@@ -50248,7 +50614,7 @@ function headersSent (res) {
50248
50614
  * @private
50249
50615
  */
50250
50616
 
50251
- function send$1 (req, res, status, headers, message) {
50617
+ function send (req, res, status, headers, message) {
50252
50618
  function write () {
50253
50619
  // response body
50254
50620
  var body = createHtmlDocument(message);
@@ -50353,7 +50719,7 @@ var utilsMerge = {exports: {}};
50353
50719
  var debug$4 = src.exports('connect:dispatcher');
50354
50720
  var EventEmitter$3 = require$$0$5.EventEmitter;
50355
50721
  var finalhandler = finalhandler_1;
50356
- var http$4 = require$$1$2;
50722
+ var http$4 = require$$1$1;
50357
50723
  var merge = utilsMerge.exports;
50358
50724
  var parseUrl = parseurl$1.exports;
50359
50725
 
@@ -50754,7 +51120,7 @@ function append (header, field) {
50754
51120
 
50755
51121
  // get fields array
50756
51122
  var fields = !Array.isArray(field)
50757
- ? parse$7(String(field))
51123
+ ? parse$6(String(field))
50758
51124
  : field;
50759
51125
 
50760
51126
  // assert on invalid field names
@@ -50771,7 +51137,7 @@ function append (header, field) {
50771
51137
 
50772
51138
  // enumerate current values
50773
51139
  var val = header;
50774
- var vals = parse$7(header.toLowerCase());
51140
+ var vals = parse$6(header.toLowerCase());
50775
51141
 
50776
51142
  // unspecified vary
50777
51143
  if (fields.indexOf('*') !== -1 || vals.indexOf('*') !== -1) {
@@ -50801,7 +51167,7 @@ function append (header, field) {
50801
51167
  * @private
50802
51168
  */
50803
51169
 
50804
- function parse$7 (header) {
51170
+ function parse$6 (header) {
50805
51171
  var end = 0;
50806
51172
  var list = [];
50807
51173
  var start = 0;
@@ -51095,16 +51461,16 @@ function vary (res, field) {
51095
51461
 
51096
51462
  var chokidar = {};
51097
51463
 
51098
- const fs$9 = require$$0__default;
51464
+ const fs$8 = require$$0__default;
51099
51465
  const { Readable } = require$$0$7;
51100
51466
  const sysPath$3 = require$$0$4;
51101
51467
  const { promisify: promisify$3 } = require$$0$6;
51102
51468
  const picomatch$1 = picomatch$5.exports;
51103
51469
 
51104
- const readdir$1 = promisify$3(fs$9.readdir);
51105
- const stat$3 = promisify$3(fs$9.stat);
51106
- const lstat$2 = promisify$3(fs$9.lstat);
51107
- const realpath$1 = promisify$3(fs$9.realpath);
51470
+ const readdir$1 = promisify$3(fs$8.readdir);
51471
+ const stat$3 = promisify$3(fs$8.stat);
51472
+ const lstat$2 = promisify$3(fs$8.lstat);
51473
+ const realpath$1 = promisify$3(fs$8.realpath);
51108
51474
 
51109
51475
  /**
51110
51476
  * @typedef {Object} EntryInfo
@@ -51200,7 +51566,7 @@ class ReaddirpStream extends Readable {
51200
51566
  this._wantsFile = [FILE_TYPE, FILE_DIR_TYPE, EVERYTHING_TYPE].includes(type);
51201
51567
  this._wantsEverything = type === EVERYTHING_TYPE;
51202
51568
  this._root = sysPath$3.resolve(root);
51203
- this._isDirent = ('Dirent' in fs$9) && !opts.alwaysStat;
51569
+ this._isDirent = ('Dirent' in fs$8) && !opts.alwaysStat;
51204
51570
  this._statsProp = this._isDirent ? 'dirent' : 'stats';
51205
51571
  this._rdOptions = { encoding: 'utf8', withFileTypes: this._isDirent };
51206
51572
 
@@ -51789,12 +52155,12 @@ var require$$0 = [
51789
52155
  module.exports = require$$0;
51790
52156
  } (binaryExtensions$1));
51791
52157
 
51792
- const path$9 = require$$0$4;
52158
+ const path$8 = require$$0$4;
51793
52159
  const binaryExtensions = binaryExtensions$1.exports;
51794
52160
 
51795
52161
  const extensions = new Set(binaryExtensions);
51796
52162
 
51797
- var isBinaryPath$1 = filePath => extensions.has(path$9.extname(filePath).slice(1).toLowerCase());
52163
+ var isBinaryPath$1 = filePath => extensions.has(path$8.extname(filePath).slice(1).toLowerCase());
51798
52164
 
51799
52165
  var constants$1 = {};
51800
52166
 
@@ -51802,7 +52168,7 @@ var constants$1 = {};
51802
52168
 
51803
52169
  const {sep} = require$$0$4;
51804
52170
  const {platform} = process;
51805
- const os = require$$1;
52171
+ const os = require$$2;
51806
52172
 
51807
52173
  exports.EV_ALL = 'all';
51808
52174
  exports.EV_READY = 'ready';
@@ -51865,7 +52231,7 @@ var constants$1 = {};
51865
52231
  exports.isIBMi = os.type() === 'OS400';
51866
52232
  } (constants$1));
51867
52233
 
51868
- const fs$8 = require$$0__default;
52234
+ const fs$7 = require$$0__default;
51869
52235
  const sysPath$2 = require$$0$4;
51870
52236
  const { promisify: promisify$2 } = require$$0$6;
51871
52237
  const isBinaryPath = isBinaryPath$1;
@@ -51890,11 +52256,11 @@ const {
51890
52256
 
51891
52257
  const THROTTLE_MODE_WATCH = 'watch';
51892
52258
 
51893
- const open$1 = promisify$2(fs$8.open);
51894
- const stat$2 = promisify$2(fs$8.stat);
51895
- const lstat$1 = promisify$2(fs$8.lstat);
51896
- const close = promisify$2(fs$8.close);
51897
- const fsrealpath = promisify$2(fs$8.realpath);
52259
+ const open$1 = promisify$2(fs$7.open);
52260
+ const stat$2 = promisify$2(fs$7.stat);
52261
+ const lstat$1 = promisify$2(fs$7.lstat);
52262
+ const close = promisify$2(fs$7.close);
52263
+ const fsrealpath = promisify$2(fs$7.realpath);
51898
52264
 
51899
52265
  const statMethods$1 = { lstat: lstat$1, stat: stat$2 };
51900
52266
 
@@ -51981,7 +52347,7 @@ function createFsWatchInstance(path, options, listener, errHandler, emitRaw) {
51981
52347
  }
51982
52348
  };
51983
52349
  try {
51984
- return fs$8.watch(path, options, handleEvent);
52350
+ return fs$7.watch(path, options, handleEvent);
51985
52351
  } catch (error) {
51986
52352
  errHandler(error);
51987
52353
  }
@@ -52100,7 +52466,7 @@ const setFsWatchFileListener = (path, fullPath, options, handlers) => {
52100
52466
 
52101
52467
  const copts = cont && cont.options;
52102
52468
  if (copts && (copts.persistent < options.persistent || copts.interval > options.interval)) {
52103
- fs$8.unwatchFile(fullPath);
52469
+ fs$7.unwatchFile(fullPath);
52104
52470
  cont = undefined;
52105
52471
  }
52106
52472
 
@@ -52117,7 +52483,7 @@ const setFsWatchFileListener = (path, fullPath, options, handlers) => {
52117
52483
  listeners: listener,
52118
52484
  rawEmitters: rawEmitter,
52119
52485
  options,
52120
- watcher: fs$8.watchFile(fullPath, options, (curr, prev) => {
52486
+ watcher: fs$7.watchFile(fullPath, options, (curr, prev) => {
52121
52487
  foreach(cont.rawEmitters, (rawEmitter) => {
52122
52488
  rawEmitter(EV_CHANGE$2, fullPath, {curr, prev});
52123
52489
  });
@@ -52138,7 +52504,7 @@ const setFsWatchFileListener = (path, fullPath, options, handlers) => {
52138
52504
  delFromSet(cont, KEY_RAW, rawEmitter);
52139
52505
  if (isEmptySet(cont.listeners)) {
52140
52506
  FsWatchFileInstances.delete(fullPath);
52141
- fs$8.unwatchFile(fullPath);
52507
+ fs$7.unwatchFile(fullPath);
52142
52508
  cont.options = cont.watcher = undefined;
52143
52509
  Object.freeze(cont);
52144
52510
  }
@@ -52510,7 +52876,7 @@ var nodefsHandler = NodeFsHandler$1;
52510
52876
 
52511
52877
  var fseventsHandler = {exports: {}};
52512
52878
 
52513
- const fs$7 = require$$0__default;
52879
+ const fs$6 = require$$0__default;
52514
52880
  const sysPath$1 = require$$0$4;
52515
52881
  const { promisify: promisify$1 } = require$$0$6;
52516
52882
 
@@ -52561,9 +52927,9 @@ const {
52561
52927
 
52562
52928
  const Depth = (value) => isNaN(value) ? {} : {depth: value};
52563
52929
 
52564
- const stat$1 = promisify$1(fs$7.stat);
52565
- const lstat = promisify$1(fs$7.lstat);
52566
- const realpath = promisify$1(fs$7.realpath);
52930
+ const stat$1 = promisify$1(fs$6.stat);
52931
+ const lstat = promisify$1(fs$6.lstat);
52932
+ const realpath = promisify$1(fs$6.realpath);
52567
52933
 
52568
52934
  const statMethods = { stat: stat$1, lstat };
52569
52935
 
@@ -53034,7 +53400,7 @@ fseventsHandler.exports = FsEventsHandler$1;
53034
53400
  fseventsHandler.exports.canUse = canUse;
53035
53401
 
53036
53402
  const { EventEmitter: EventEmitter$2 } = require$$0$5;
53037
- const fs$6 = require$$0__default;
53403
+ const fs$5 = require$$0__default;
53038
53404
  const sysPath = require$$0$4;
53039
53405
  const { promisify } = require$$0$6;
53040
53406
  const readdirp = readdirp_1;
@@ -53085,8 +53451,8 @@ const {
53085
53451
  isIBMi
53086
53452
  } = constants$1;
53087
53453
 
53088
- const stat = promisify(fs$6.stat);
53089
- const readdir = promisify(fs$6.readdir);
53454
+ const stat = promisify(fs$5.stat);
53455
+ const readdir = promisify(fs$5.readdir);
53090
53456
 
53091
53457
  /**
53092
53458
  * @typedef {String} Path
@@ -53742,7 +54108,7 @@ _awaitWriteFinish(path, threshold, event, awfEmit) {
53742
54108
  const now = new Date();
53743
54109
 
53744
54110
  const awaitWriteFinish = (prevStat) => {
53745
- fs$6.stat(fullPath, (err, curStat) => {
54111
+ fs$5.stat(fullPath, (err, curStat) => {
53746
54112
  if (err || !this._pendingWrites.has(path)) {
53747
54113
  if (err && err.code !== 'ENOENT') awfEmit(err);
53748
54114
  return;
@@ -54040,7 +54406,7 @@ for (var i = 0; i < 4; i++) {
54040
54406
  }
54041
54407
 
54042
54408
  shellQuote$1.parse = function (s, env, opts) {
54043
- var mapped = parse$6(s, env, opts);
54409
+ var mapped = parse$5(s, env, opts);
54044
54410
  if (typeof env !== 'function') return mapped;
54045
54411
  return mapped.reduce(function (acc, s) {
54046
54412
  if (typeof s === 'object') return acc.concat(s);
@@ -54055,7 +54421,7 @@ shellQuote$1.parse = function (s, env, opts) {
54055
54421
  }, []);
54056
54422
  };
54057
54423
 
54058
- function parse$6 (s, env, opts) {
54424
+ function parse$5 (s, env, opts) {
54059
54425
  var chunker = new RegExp([
54060
54426
  '(' + CONTROL + ')', // control chars
54061
54427
  '(' + BAREWORD + '|' + SINGLE_QUOTE + '|' + DOUBLE_QUOTE + ')*'
@@ -54293,9 +54659,9 @@ var windows$1 = [
54293
54659
  'rider64.exe'
54294
54660
  ];
54295
54661
 
54296
- const path$8 = require$$0$4;
54662
+ const path$7 = require$$0$4;
54297
54663
  const shellQuote = shellQuote$1;
54298
- const childProcess$2 = require$$2;
54664
+ const childProcess$2 = require$$2$1;
54299
54665
 
54300
54666
  // Map from full process name to binary that starts the process
54301
54667
  // We can't just re-use full process name, because it will spawn a new instance
@@ -54362,7 +54728,7 @@ var guess = function guessEditor (specifiedEditor) {
54362
54728
  const runningProcesses = output.split('\r\n');
54363
54729
  for (let i = 0; i < runningProcesses.length; i++) {
54364
54730
  const fullProcessPath = runningProcesses[i].trim();
54365
- const shortProcessName = path$8.basename(fullProcessPath);
54731
+ const shortProcessName = path$7.basename(fullProcessPath);
54366
54732
 
54367
54733
  if (COMMON_EDITORS_WIN.indexOf(shortProcessName) !== -1) {
54368
54734
  return [fullProcessPath]
@@ -54399,7 +54765,7 @@ var guess = function guessEditor (specifiedEditor) {
54399
54765
  return [null]
54400
54766
  };
54401
54767
 
54402
- const path$7 = require$$0$4;
54768
+ const path$6 = require$$0$4;
54403
54769
 
54404
54770
  // normalize file/line numbers into command line args for specific editors
54405
54771
  var getArgs = function getArgumentsForPosition (
@@ -54408,7 +54774,7 @@ var getArgs = function getArgumentsForPosition (
54408
54774
  lineNumber,
54409
54775
  columnNumber = 1
54410
54776
  ) {
54411
- const editorBasename = path$7.basename(editor).replace(/\.(exe|cmd|bat)$/i, '');
54777
+ const editorBasename = path$6.basename(editor).replace(/\.(exe|cmd|bat)$/i, '');
54412
54778
  switch (editorBasename) {
54413
54779
  case 'atom':
54414
54780
  case 'Atom':
@@ -54482,11 +54848,11 @@ var getArgs = function getArgumentsForPosition (
54482
54848
  * Modified by Yuxi Evan You
54483
54849
  */
54484
54850
 
54485
- const fs$5 = require$$0__default;
54486
- const os$2 = require$$1;
54487
- const path$6 = require$$0$4;
54851
+ const fs$4 = require$$0__default;
54852
+ const os$1 = require$$2;
54853
+ const path$5 = require$$0$4;
54488
54854
  const colors = picocolors.exports;
54489
- const childProcess$1 = require$$2;
54855
+ const childProcess$1 = require$$2$1;
54490
54856
 
54491
54857
  const guessEditor = guess;
54492
54858
  const getArgumentsForPosition = getArgs;
@@ -54495,7 +54861,7 @@ function wrapErrorCallback (cb) {
54495
54861
  return (fileName, errorMessage) => {
54496
54862
  console.log();
54497
54863
  console.log(
54498
- colors.red('Could not open ' + path$6.basename(fileName) + ' in the editor.')
54864
+ colors.red('Could not open ' + path$5.basename(fileName) + ' in the editor.')
54499
54865
  );
54500
54866
  if (errorMessage) {
54501
54867
  if (errorMessage[errorMessage.length - 1] !== '.') {
@@ -54540,7 +54906,7 @@ function launchEditor (file, specifiedEditor, onErrorCallback) {
54540
54906
  let { fileName } = parsed;
54541
54907
  const { lineNumber, columnNumber } = parsed;
54542
54908
 
54543
- if (!fs$5.existsSync(fileName)) {
54909
+ if (!fs$4.existsSync(fileName)) {
54544
54910
  return
54545
54911
  }
54546
54912
 
@@ -54560,7 +54926,7 @@ function launchEditor (file, specifiedEditor, onErrorCallback) {
54560
54926
  if (
54561
54927
  process.platform === 'linux' &&
54562
54928
  fileName.startsWith('/mnt/') &&
54563
- /Microsoft/i.test(os$2.release())
54929
+ /Microsoft/i.test(os$1.release())
54564
54930
  ) {
54565
54931
  // Assume WSL / "Bash on Ubuntu on Windows" is being used, and
54566
54932
  // that the file exists on the Windows file system.
@@ -54568,7 +54934,7 @@ function launchEditor (file, specifiedEditor, onErrorCallback) {
54568
54934
  // build of WSL, see: https://github.com/Microsoft/BashOnWindows/issues/423#issuecomment-221627364
54569
54935
  // When a Windows editor is specified, interop functionality can
54570
54936
  // handle the path translation, but only if a relative path is used.
54571
- fileName = path$6.relative('', fileName);
54937
+ fileName = path$5.relative('', fileName);
54572
54938
  }
54573
54939
 
54574
54940
  if (lineNumber) {
@@ -54612,7 +54978,7 @@ function launchEditor (file, specifiedEditor, onErrorCallback) {
54612
54978
  var launchEditor_1 = launchEditor;
54613
54979
 
54614
54980
  const url$2 = require$$0$9;
54615
- const path$5 = require$$0$4;
54981
+ const path$4 = require$$0$4;
54616
54982
  const launch = launchEditor_1;
54617
54983
 
54618
54984
  var launchEditorMiddleware = (specifiedEditor, srcRoot, onErrorCallback) => {
@@ -54634,7 +55000,7 @@ var launchEditorMiddleware = (specifiedEditor, srcRoot, onErrorCallback) => {
54634
55000
  res.statusCode = 500;
54635
55001
  res.end(`launch-editor-middleware: required query param "file" is missing.`);
54636
55002
  } else {
54637
- launch(path$5.resolve(srcRoot, file), specifiedEditor, onErrorCallback);
55003
+ launch(path$4.resolve(srcRoot, file), specifiedEditor, onErrorCallback);
54638
55004
  res.end();
54639
55005
  }
54640
55006
  }
@@ -57918,7 +58284,7 @@ function push(dest, name, elem) {
57918
58284
  * @return {Object} The parsed object
57919
58285
  * @public
57920
58286
  */
57921
- function parse$5(header) {
58287
+ function parse$4(header) {
57922
58288
  const offers = Object.create(null);
57923
58289
  let params = Object.create(null);
57924
58290
  let mustUnescape = false;
@@ -58094,13 +58460,13 @@ function format$1(extensions) {
58094
58460
  .join(', ');
58095
58461
  }
58096
58462
 
58097
- var extension$1 = { format: format$1, parse: parse$5 };
58463
+ var extension$1 = { format: format$1, parse: parse$4 };
58098
58464
 
58099
58465
  /* eslint no-unused-vars: ["error", { "varsIgnorePattern": "^Readable$" }] */
58100
58466
 
58101
58467
  const EventEmitter$1 = require$$0$5;
58102
- const https$2 = require$$1$3;
58103
- const http$3 = require$$1$2;
58468
+ const https$2 = require$$1$2;
58469
+ const http$3 = require$$1$1;
58104
58470
  const net = require$$3$1;
58105
58471
  const tls = require$$4;
58106
58472
  const { randomBytes, createHash: createHash$1 } = require$$5;
@@ -58122,7 +58488,7 @@ const {
58122
58488
  const {
58123
58489
  EventTarget: { addEventListener, removeEventListener }
58124
58490
  } = eventTarget;
58125
- const { format, parse: parse$4 } = extension$1;
58491
+ const { format, parse: parse$3 } = extension$1;
58126
58492
  const { toBuffer } = bufferUtil$1.exports;
58127
58493
 
58128
58494
  const closeTimeout = 30 * 1000;
@@ -59045,7 +59411,7 @@ function initAsClient(websocket, address, protocols, options) {
59045
59411
  let extensions;
59046
59412
 
59047
59413
  try {
59048
- extensions = parse$4(secWebSocketExtensions);
59414
+ extensions = parse$3(secWebSocketExtensions);
59049
59415
  } catch (err) {
59050
59416
  const message = 'Invalid Sec-WebSocket-Extensions header';
59051
59417
  abortHandshake$1(websocket, socket, message);
@@ -59408,7 +59774,7 @@ const { tokenChars } = validation.exports;
59408
59774
  * @return {Set} The subprotocol names
59409
59775
  * @public
59410
59776
  */
59411
- function parse$3(header) {
59777
+ function parse$2(header) {
59412
59778
  const protocols = new Set();
59413
59779
  let start = -1;
59414
59780
  let end = -1;
@@ -59458,12 +59824,12 @@ function parse$3(header) {
59458
59824
  return protocols;
59459
59825
  }
59460
59826
 
59461
- var subprotocol$1 = { parse: parse$3 };
59827
+ var subprotocol$1 = { parse: parse$2 };
59462
59828
 
59463
59829
  /* eslint no-unused-vars: ["error", { "varsIgnorePattern": "^net|tls|https$" }] */
59464
59830
 
59465
59831
  const EventEmitter = require$$0$5;
59466
- const http$2 = require$$1$2;
59832
+ const http$2 = require$$1$1;
59467
59833
  const { createHash } = require$$5;
59468
59834
 
59469
59835
  const extension = extension$1;
@@ -61028,8 +61394,8 @@ var debug_1 = function () {
61028
61394
 
61029
61395
  var url = require$$0$9;
61030
61396
  var URL$1 = url.URL;
61031
- var http$1 = require$$1$2;
61032
- var https$1 = require$$1$3;
61397
+ var http$1 = require$$1$1;
61398
+ var https$1 = require$$1$2;
61033
61399
  var Writable = require$$0$7.Writable;
61034
61400
  var assert = assert$2;
61035
61401
  var debug$2 = debug_1;
@@ -61620,8 +61986,8 @@ function isSubdomain(subdomain, domain) {
61620
61986
  followRedirects$1.exports = wrap({ http: http$1, https: https$1 });
61621
61987
  followRedirects$1.exports.wrap = wrap;
61622
61988
 
61623
- var httpNative = require$$1$2,
61624
- httpsNative = require$$1$3,
61989
+ var httpNative = require$$1$1,
61990
+ httpsNative = require$$1$2,
61625
61991
  web_o = webOutgoing,
61626
61992
  common$1 = common$3,
61627
61993
  followRedirects = followRedirects$1.exports;
@@ -61815,8 +62181,8 @@ var webIncoming = {
61815
62181
 
61816
62182
  };
61817
62183
 
61818
- var http = require$$1$2,
61819
- https = require$$1$3,
62184
+ var http = require$$1$1,
62185
+ https = require$$1$2,
61820
62186
  common = common$3;
61821
62187
 
61822
62188
  /*!
@@ -61983,8 +62349,8 @@ var wsIncoming = {
61983
62349
  extend = require$$0$6._extend,
61984
62350
  parse_url = require$$0$9.parse,
61985
62351
  EE3 = eventemitter3.exports,
61986
- http = require$$1$2,
61987
- https = require$$1$3,
62352
+ http = require$$1$1,
62353
+ https = require$$1$2,
61988
62354
  web = webIncoming,
61989
62355
  ws = wsIncoming;
61990
62356
 
@@ -62507,41 +62873,6 @@ function htmlFallbackMiddleware(root, spaFallback) {
62507
62873
  };
62508
62874
  }
62509
62875
 
62510
- const alias = {
62511
- js: 'application/javascript',
62512
- css: 'text/css',
62513
- html: 'text/html',
62514
- json: 'application/json'
62515
- };
62516
- function send(req, res, content, type, options) {
62517
- const { etag = etag_1(content, { weak: true }), cacheControl = 'no-cache', headers, map } = options;
62518
- if (res.writableEnded) {
62519
- return;
62520
- }
62521
- if (req.headers['if-none-match'] === etag) {
62522
- res.statusCode = 304;
62523
- res.end();
62524
- return;
62525
- }
62526
- res.setHeader('Content-Type', alias[type] || type);
62527
- res.setHeader('Cache-Control', cacheControl);
62528
- res.setHeader('Etag', etag);
62529
- if (headers) {
62530
- for (const name in headers) {
62531
- res.setHeader(name, headers[name]);
62532
- }
62533
- }
62534
- // inject source map reference
62535
- if (map && map.mappings) {
62536
- if (type === 'js' || type === 'css') {
62537
- content = getCodeWithSourcemap(type, content.toString(), map);
62538
- }
62539
- }
62540
- res.statusCode = 200;
62541
- res.end(content);
62542
- return;
62543
- }
62544
-
62545
62876
  const debugCache = createDebugger('vite:cache');
62546
62877
  const isDebug = !!process.env.DEBUG;
62547
62878
  const knownIgnoreList = new Set(['/', '/favicon.ico']);
@@ -62573,7 +62904,7 @@ function transformMiddleware(server) {
62573
62904
  : normalizePath$3(ensureVolumeInPath(path$n.resolve(root, url.slice(1))));
62574
62905
  try {
62575
62906
  const map = await promises$2.readFile(mapFile, 'utf-8');
62576
- return send(req, res, map, 'json', {
62907
+ return send$1(req, res, map, 'json', {
62577
62908
  headers: server.config.server.headers
62578
62909
  });
62579
62910
  }
@@ -62589,7 +62920,7 @@ function transformMiddleware(server) {
62589
62920
  names: [],
62590
62921
  mappings: ';;;;;;;;;'
62591
62922
  };
62592
- return send(req, res, JSON.stringify(dummySourceMap), 'json', {
62923
+ return send$1(req, res, JSON.stringify(dummySourceMap), 'json', {
62593
62924
  cacheControl: 'no-cache',
62594
62925
  headers: server.config.server.headers
62595
62926
  });
@@ -62600,7 +62931,7 @@ function transformMiddleware(server) {
62600
62931
  const map = (await moduleGraph.getModuleByUrl(originalUrl, false))
62601
62932
  ?.transformResult?.map;
62602
62933
  if (map) {
62603
- return send(req, res, JSON.stringify(map), 'json', {
62934
+ return send$1(req, res, JSON.stringify(map), 'json', {
62604
62935
  headers: server.config.server.headers
62605
62936
  });
62606
62937
  }
@@ -62664,7 +62995,7 @@ function transformMiddleware(server) {
62664
62995
  const depsOptimizer = getDepsOptimizer(server.config, false); // non-ssr
62665
62996
  const type = isDirectCSSRequest(url) ? 'css' : 'js';
62666
62997
  const isDep = DEP_VERSION_RE.test(url) || depsOptimizer?.isOptimizedDepUrl(url);
62667
- return send(req, res, result.code, type, {
62998
+ return send$1(req, res, result.code, type, {
62668
62999
  etag: result.etag,
62669
63000
  // allow browser to cache npm deps!
62670
63001
  cacheControl: isDep ? 'max-age=31536000,immutable' : 'no-cache',
@@ -62876,7 +63207,7 @@ function indexHtmlMiddleware(server) {
62876
63207
  try {
62877
63208
  let html = fs$l.readFileSync(filename, 'utf-8');
62878
63209
  html = await server.transformIndexHtml(url, html, req.originalUrl);
62879
- return send(req, res, html, 'html', {
63210
+ return send$1(req, res, html, 'html', {
62880
63211
  headers: server.config.server.headers
62881
63212
  });
62882
63213
  }
@@ -63096,13 +63427,13 @@ class ModuleGraph {
63096
63427
 
63097
63428
  var isWsl$2 = {exports: {}};
63098
63429
 
63099
- const fs$4 = require$$0__default;
63430
+ const fs$3 = require$$0__default;
63100
63431
 
63101
63432
  let isDocker$2;
63102
63433
 
63103
63434
  function hasDockerEnv() {
63104
63435
  try {
63105
- fs$4.statSync('/.dockerenv');
63436
+ fs$3.statSync('/.dockerenv');
63106
63437
  return true;
63107
63438
  } catch (_) {
63108
63439
  return false;
@@ -63111,7 +63442,7 @@ function hasDockerEnv() {
63111
63442
 
63112
63443
  function hasDockerCGroup() {
63113
63444
  try {
63114
- return fs$4.readFileSync('/proc/self/cgroup', 'utf8').includes('docker');
63445
+ return fs$3.readFileSync('/proc/self/cgroup', 'utf8').includes('docker');
63115
63446
  } catch (_) {
63116
63447
  return false;
63117
63448
  }
@@ -63125,8 +63456,8 @@ var isDocker_1 = () => {
63125
63456
  return isDocker$2;
63126
63457
  };
63127
63458
 
63128
- const os$1 = require$$1;
63129
- const fs$3 = require$$0__default;
63459
+ const os = require$$2;
63460
+ const fs$2 = require$$0__default;
63130
63461
  const isDocker$1 = isDocker_1;
63131
63462
 
63132
63463
  const isWsl$1 = () => {
@@ -63134,7 +63465,7 @@ const isWsl$1 = () => {
63134
63465
  return false;
63135
63466
  }
63136
63467
 
63137
- if (os$1.release().toLowerCase().includes('microsoft')) {
63468
+ if (os.release().toLowerCase().includes('microsoft')) {
63138
63469
  if (isDocker$1()) {
63139
63470
  return false;
63140
63471
  }
@@ -63143,7 +63474,7 @@ const isWsl$1 = () => {
63143
63474
  }
63144
63475
 
63145
63476
  try {
63146
- return fs$3.readFileSync('/proc/version', 'utf8').toLowerCase().includes('microsoft') ?
63477
+ return fs$2.readFileSync('/proc/version', 'utf8').toLowerCase().includes('microsoft') ?
63147
63478
  !isDocker$1() : false;
63148
63479
  } catch (_) {
63149
63480
  return false;
@@ -63175,15 +63506,15 @@ var defineLazyProp = (object, propertyName, fn) => {
63175
63506
  return object;
63176
63507
  };
63177
63508
 
63178
- const path$4 = require$$0$4;
63179
- const childProcess = require$$2;
63180
- const {promises: fs$2, constants: fsConstants} = require$$0__default;
63509
+ const path$3 = require$$0$4;
63510
+ const childProcess = require$$2$1;
63511
+ const {promises: fs$1, constants: fsConstants} = require$$0__default;
63181
63512
  const isWsl = isWsl$2.exports;
63182
63513
  const isDocker = isDocker_1;
63183
63514
  const defineLazyProperty = defineLazyProp;
63184
63515
 
63185
63516
  // Path to included `xdg-open`.
63186
- const localXdgOpenPath = path$4.join(__dirname, 'xdg-open');
63517
+ const localXdgOpenPath = path$3.join(__dirname, 'xdg-open');
63187
63518
 
63188
63519
  const {platform, arch} = process;
63189
63520
 
@@ -63210,7 +63541,7 @@ const getWslDrivesMountPoint = (() => {
63210
63541
 
63211
63542
  let isConfigFileExists = false;
63212
63543
  try {
63213
- await fs$2.access(configFilePath, fsConstants.F_OK);
63544
+ await fs$1.access(configFilePath, fsConstants.F_OK);
63214
63545
  isConfigFileExists = true;
63215
63546
  } catch {}
63216
63547
 
@@ -63218,7 +63549,7 @@ const getWslDrivesMountPoint = (() => {
63218
63549
  return defaultMountPoint;
63219
63550
  }
63220
63551
 
63221
- const configContent = await fs$2.readFile(configFilePath, {encoding: 'utf8'});
63552
+ const configContent = await fs$1.readFile(configFilePath, {encoding: 'utf8'});
63222
63553
  const configMountPoint = /(?<!#.*)root\s*=\s*(?<mountPoint>.*)/g.exec(configContent);
63223
63554
 
63224
63555
  if (!configMountPoint) {
@@ -63350,7 +63681,7 @@ const baseOpen = async options => {
63350
63681
  // Check if local `xdg-open` exists and is executable.
63351
63682
  let exeLocalXdgOpen = false;
63352
63683
  try {
63353
- await fs$2.access(localXdgOpenPath, fsConstants.X_OK);
63684
+ await fs$1.access(localXdgOpenPath, fsConstants.X_OK);
63354
63685
  exeLocalXdgOpen = true;
63355
63686
  } catch {}
63356
63687
 
@@ -63655,7 +63986,7 @@ const isWindows = process.platform === 'win32' ||
63655
63986
  process.env.OSTYPE === 'cygwin' ||
63656
63987
  process.env.OSTYPE === 'msys';
63657
63988
 
63658
- const path$3 = require$$0$4;
63989
+ const path$2 = require$$0$4;
63659
63990
  const COLON = isWindows ? ';' : ':';
63660
63991
  const isexe = isexe_1;
63661
63992
 
@@ -63712,7 +64043,7 @@ const which$1 = (cmd, opt, cb) => {
63712
64043
  const ppRaw = pathEnv[i];
63713
64044
  const pathPart = /^".*"$/.test(ppRaw) ? ppRaw.slice(1, -1) : ppRaw;
63714
64045
 
63715
- const pCmd = path$3.join(pathPart, cmd);
64046
+ const pCmd = path$2.join(pathPart, cmd);
63716
64047
  const p = !pathPart && /^\.[\\\/]/.test(cmd) ? cmd.slice(0, 2) + pCmd
63717
64048
  : pCmd;
63718
64049
 
@@ -63747,7 +64078,7 @@ const whichSync = (cmd, opt) => {
63747
64078
  const ppRaw = pathEnv[i];
63748
64079
  const pathPart = /^".*"$/.test(ppRaw) ? ppRaw.slice(1, -1) : ppRaw;
63749
64080
 
63750
- const pCmd = path$3.join(pathPart, cmd);
64081
+ const pCmd = path$2.join(pathPart, cmd);
63751
64082
  const p = !pathPart && /^\.[\\\/]/.test(cmd) ? cmd.slice(0, 2) + pCmd
63752
64083
  : pCmd;
63753
64084
 
@@ -63794,7 +64125,7 @@ pathKey$1.exports = pathKey;
63794
64125
  // TODO: Remove this for the next major release
63795
64126
  pathKey$1.exports.default = pathKey;
63796
64127
 
63797
- const path$2 = require$$0$4;
64128
+ const path$1 = require$$0$4;
63798
64129
  const which = which_1;
63799
64130
  const getPathKey = pathKey$1.exports;
63800
64131
 
@@ -63820,7 +64151,7 @@ function resolveCommandAttempt(parsed, withoutPathExt) {
63820
64151
  try {
63821
64152
  resolved = which.sync(parsed.command, {
63822
64153
  path: env[getPathKey({ env })],
63823
- pathExt: withoutPathExt ? path$2.delimiter : undefined,
64154
+ pathExt: withoutPathExt ? path$1.delimiter : undefined,
63824
64155
  });
63825
64156
  } catch (e) {
63826
64157
  /* Empty */
@@ -63833,7 +64164,7 @@ function resolveCommandAttempt(parsed, withoutPathExt) {
63833
64164
  // If we successfully resolved, ensure that an absolute path is returned
63834
64165
  // Note that when a custom `cwd` was used, we need to resolve to an absolute path based on it
63835
64166
  if (resolved) {
63836
- resolved = path$2.resolve(hasCustomCwd ? parsed.options.cwd : '', resolved);
64167
+ resolved = path$1.resolve(hasCustomCwd ? parsed.options.cwd : '', resolved);
63837
64168
  }
63838
64169
 
63839
64170
  return resolved;
@@ -63912,7 +64243,7 @@ var shebangCommand$1 = (string = '') => {
63912
64243
  return argument ? `${binary} ${argument}` : binary;
63913
64244
  };
63914
64245
 
63915
- const fs$1 = require$$0__default;
64246
+ const fs = require$$0__default;
63916
64247
  const shebangCommand = shebangCommand$1;
63917
64248
 
63918
64249
  function readShebang$1(command) {
@@ -63923,9 +64254,9 @@ function readShebang$1(command) {
63923
64254
  let fd;
63924
64255
 
63925
64256
  try {
63926
- fd = fs$1.openSync(command, 'r');
63927
- fs$1.readSync(fd, buffer, 0, size, 0);
63928
- fs$1.closeSync(fd);
64257
+ fd = fs.openSync(command, 'r');
64258
+ fs.readSync(fd, buffer, 0, size, 0);
64259
+ fs.closeSync(fd);
63929
64260
  } catch (e) { /* Empty */ }
63930
64261
 
63931
64262
  // Attempt to extract shebang (null is returned if not a shebang)
@@ -63934,7 +64265,7 @@ function readShebang$1(command) {
63934
64265
 
63935
64266
  var readShebang_1 = readShebang$1;
63936
64267
 
63937
- const path$1 = require$$0$4;
64268
+ const path = require$$0$4;
63938
64269
  const resolveCommand = resolveCommand_1;
63939
64270
  const escape$1 = _escape;
63940
64271
  const readShebang = readShebang_1;
@@ -63980,7 +64311,7 @@ function parseNonShell(parsed) {
63980
64311
 
63981
64312
  // Normalize posix paths into OS compatible paths (e.g.: foo/bar -> foo\bar)
63982
64313
  // This is necessary otherwise it will always fail with ENOENT in those cases
63983
- parsed.command = path$1.normalize(parsed.command);
64314
+ parsed.command = path.normalize(parsed.command);
63984
64315
 
63985
64316
  // Escape command & arguments
63986
64317
  parsed.command = escape$1.command(parsed.command);
@@ -63996,7 +64327,7 @@ function parseNonShell(parsed) {
63996
64327
  return parsed;
63997
64328
  }
63998
64329
 
63999
- function parse$2(command, args, options) {
64330
+ function parse$1(command, args, options) {
64000
64331
  // Normalize arguments, similar to nodejs
64001
64332
  if (args && !Array.isArray(args)) {
64002
64333
  options = args;
@@ -64022,7 +64353,7 @@ function parse$2(command, args, options) {
64022
64353
  return options.shell ? parsed : parseNonShell(parsed);
64023
64354
  }
64024
64355
 
64025
- var parse_1 = parse$2;
64356
+ var parse_1 = parse$1;
64026
64357
 
64027
64358
  const isWin = process.platform === 'win32';
64028
64359
 
@@ -64082,13 +64413,13 @@ var enoent$1 = {
64082
64413
  notFoundError,
64083
64414
  };
64084
64415
 
64085
- const cp = require$$2;
64086
- const parse$1 = parse_1;
64416
+ const cp = require$$2$1;
64417
+ const parse = parse_1;
64087
64418
  const enoent = enoent$1;
64088
64419
 
64089
64420
  function spawn(command, args, options) {
64090
64421
  // Parse the arguments
64091
- const parsed = parse$1(command, args, options);
64422
+ const parsed = parse(command, args, options);
64092
64423
 
64093
64424
  // Spawn the child process
64094
64425
  const spawned = cp.spawn(parsed.command, parsed.args, parsed.options);
@@ -64102,7 +64433,7 @@ function spawn(command, args, options) {
64102
64433
 
64103
64434
  function spawnSync(command, args, options) {
64104
64435
  // Parse the arguments
64105
- const parsed = parse$1(command, args, options);
64436
+ const parsed = parse(command, args, options);
64106
64437
 
64107
64438
  // Spawn the child process
64108
64439
  const result = cp.spawnSync(parsed.command, parsed.args, parsed.options);
@@ -64117,7 +64448,7 @@ crossSpawn.exports = spawn;
64117
64448
  crossSpawn.exports.spawn = spawn;
64118
64449
  crossSpawn.exports.sync = spawnSync;
64119
64450
 
64120
- crossSpawn.exports._parse = parse$1;
64451
+ crossSpawn.exports._parse = parse;
64121
64452
  crossSpawn.exports._enoent = enoent;
64122
64453
 
64123
64454
  /**
@@ -64212,63 +64543,6 @@ function startBrowserProcess(browser, url) {
64212
64543
  }
64213
64544
  }
64214
64545
 
64215
- // https://github.com/vitejs/vite/issues/2820#issuecomment-812495079
64216
- const ROOT_FILES = [
64217
- // '.git',
64218
- // https://pnpm.js.org/workspaces/
64219
- 'pnpm-workspace.yaml',
64220
- // https://rushjs.io/pages/advanced/config_files/
64221
- // 'rush.json',
64222
- // https://nx.dev/latest/react/getting-started/nx-setup
64223
- // 'workspace.json',
64224
- // 'nx.json',
64225
- // https://github.com/lerna/lerna#lernajson
64226
- 'lerna.json'
64227
- ];
64228
- // npm: https://docs.npmjs.com/cli/v7/using-npm/workspaces#installing-workspaces
64229
- // yarn: https://classic.yarnpkg.com/en/docs/workspaces/#toc-how-to-use-it
64230
- function hasWorkspacePackageJSON(root) {
64231
- const path = join$2(root, 'package.json');
64232
- if (!isFileReadable(path)) {
64233
- return false;
64234
- }
64235
- const content = JSON.parse(fs$l.readFileSync(path, 'utf-8')) || {};
64236
- return !!content.workspaces;
64237
- }
64238
- function hasRootFile(root) {
64239
- return ROOT_FILES.some((file) => fs$l.existsSync(join$2(root, file)));
64240
- }
64241
- function hasPackageJSON(root) {
64242
- const path = join$2(root, 'package.json');
64243
- return fs$l.existsSync(path);
64244
- }
64245
- /**
64246
- * Search up for the nearest `package.json`
64247
- */
64248
- function searchForPackageRoot(current, root = current) {
64249
- if (hasPackageJSON(current))
64250
- return current;
64251
- const dir = dirname$2(current);
64252
- // reach the fs root
64253
- if (!dir || dir === current)
64254
- return root;
64255
- return searchForPackageRoot(dir, root);
64256
- }
64257
- /**
64258
- * Search up for the nearest workspace root
64259
- */
64260
- function searchForWorkspaceRoot(current, root = searchForPackageRoot(current)) {
64261
- if (hasRootFile(current))
64262
- return current;
64263
- if (hasWorkspacePackageJSON(current))
64264
- return current;
64265
- const dir = dirname$2(current);
64266
- // reach the fs root
64267
- if (!dir || dir === current)
64268
- return root;
64269
- return searchForWorkspaceRoot(dir, root);
64270
- }
64271
-
64272
64546
  async function createServer(inlineConfig = {}) {
64273
64547
  const config = await resolveConfig(inlineConfig, 'serve', 'development');
64274
64548
  const { root, server: serverConfig } = config;
@@ -64912,255 +65186,6 @@ var preview$1 = {
64912
65186
  preview: preview
64913
65187
  };
64914
65188
 
64915
- var main$1 = {exports: {}};
64916
-
64917
- const fs = require$$0__default;
64918
- const path = require$$0$4;
64919
- const os = require$$1;
64920
-
64921
- function log (message) {
64922
- console.log(`[dotenv][DEBUG] ${message}`);
64923
- }
64924
-
64925
- const NEWLINE = '\n';
64926
- const RE_INI_KEY_VAL = /^\s*([\w.-]+)\s*=\s*("[^"]*"|'[^']*'|.*?)(\s+#.*)?$/;
64927
- const RE_NEWLINES = /\\n/g;
64928
- const NEWLINES_MATCH = /\r\n|\n|\r/;
64929
-
64930
- // Parses src into an Object
64931
- function parse (src, options) {
64932
- const debug = Boolean(options && options.debug);
64933
- const multiline = Boolean(options && options.multiline);
64934
- const obj = {};
64935
-
64936
- // convert Buffers before splitting into lines and processing
64937
- const lines = src.toString().split(NEWLINES_MATCH);
64938
-
64939
- for (let idx = 0; idx < lines.length; idx++) {
64940
- let line = lines[idx];
64941
-
64942
- // matching "KEY' and 'VAL' in 'KEY=VAL'
64943
- const keyValueArr = line.match(RE_INI_KEY_VAL);
64944
- // matched?
64945
- if (keyValueArr != null) {
64946
- const key = keyValueArr[1];
64947
- // default undefined or missing values to empty string
64948
- let val = (keyValueArr[2] || '');
64949
- let end = val.length - 1;
64950
- const isDoubleQuoted = val[0] === '"' && val[end] === '"';
64951
- const isSingleQuoted = val[0] === "'" && val[end] === "'";
64952
-
64953
- const isMultilineDoubleQuoted = val[0] === '"' && val[end] !== '"';
64954
- const isMultilineSingleQuoted = val[0] === "'" && val[end] !== "'";
64955
-
64956
- // if parsing line breaks and the value starts with a quote
64957
- if (multiline && (isMultilineDoubleQuoted || isMultilineSingleQuoted)) {
64958
- const quoteChar = isMultilineDoubleQuoted ? '"' : "'";
64959
-
64960
- val = val.substring(1);
64961
-
64962
- while (idx++ < lines.length - 1) {
64963
- line = lines[idx];
64964
- end = line.length - 1;
64965
- if (line[end] === quoteChar) {
64966
- val += NEWLINE + line.substring(0, end);
64967
- break
64968
- }
64969
- val += NEWLINE + line;
64970
- }
64971
- // if single or double quoted, remove quotes
64972
- } else if (isSingleQuoted || isDoubleQuoted) {
64973
- val = val.substring(1, end);
64974
-
64975
- // if double quoted, expand newlines
64976
- if (isDoubleQuoted) {
64977
- val = val.replace(RE_NEWLINES, NEWLINE);
64978
- }
64979
- } else {
64980
- // remove surrounding whitespace
64981
- val = val.trim();
64982
- }
64983
-
64984
- obj[key] = val;
64985
- } else if (debug) {
64986
- const trimmedLine = line.trim();
64987
-
64988
- // ignore empty and commented lines
64989
- if (trimmedLine.length && trimmedLine[0] !== '#') {
64990
- log(`Failed to match key and value when parsing line ${idx + 1}: ${line}`);
64991
- }
64992
- }
64993
- }
64994
-
64995
- return obj
64996
- }
64997
-
64998
- function resolveHome (envPath) {
64999
- return envPath[0] === '~' ? path.join(os.homedir(), envPath.slice(1)) : envPath
65000
- }
65001
-
65002
- // Populates process.env from .env file
65003
- function config (options) {
65004
- let dotenvPath = path.resolve(process.cwd(), '.env');
65005
- let encoding = 'utf8';
65006
- const debug = Boolean(options && options.debug);
65007
- const override = Boolean(options && options.override);
65008
- const multiline = Boolean(options && options.multiline);
65009
-
65010
- if (options) {
65011
- if (options.path != null) {
65012
- dotenvPath = resolveHome(options.path);
65013
- }
65014
- if (options.encoding != null) {
65015
- encoding = options.encoding;
65016
- }
65017
- }
65018
-
65019
- try {
65020
- // specifying an encoding returns a string instead of a buffer
65021
- const parsed = DotenvModule.parse(fs.readFileSync(dotenvPath, { encoding }), { debug, multiline });
65022
-
65023
- Object.keys(parsed).forEach(function (key) {
65024
- if (!Object.prototype.hasOwnProperty.call(process.env, key)) {
65025
- process.env[key] = parsed[key];
65026
- } else {
65027
- if (override === true) {
65028
- process.env[key] = parsed[key];
65029
- }
65030
-
65031
- if (debug) {
65032
- if (override === true) {
65033
- log(`"${key}" is already defined in \`process.env\` and WAS overwritten`);
65034
- } else {
65035
- log(`"${key}" is already defined in \`process.env\` and was NOT overwritten`);
65036
- }
65037
- }
65038
- }
65039
- });
65040
-
65041
- return { parsed }
65042
- } catch (e) {
65043
- if (debug) {
65044
- log(`Failed to load ${dotenvPath} ${e.message}`);
65045
- }
65046
-
65047
- return { error: e }
65048
- }
65049
- }
65050
-
65051
- const DotenvModule = {
65052
- config,
65053
- parse
65054
- };
65055
-
65056
- main$1.exports.config = DotenvModule.config;
65057
- main$1.exports.parse = DotenvModule.parse;
65058
- main$1.exports = DotenvModule;
65059
-
65060
- var dotenvExpand = function (config) {
65061
- // if ignoring process.env, use a blank object
65062
- var environment = config.ignoreProcessEnv ? {} : process.env;
65063
-
65064
- var interpolate = function (envValue) {
65065
- var matches = envValue.match(/(.?\${?(?:[a-zA-Z0-9_]+)?}?)/g) || [];
65066
-
65067
- return matches.reduce(function (newEnv, match) {
65068
- var parts = /(.?)\${?([a-zA-Z0-9_]+)?}?/g.exec(match);
65069
- var prefix = parts[1];
65070
-
65071
- var value, replacePart;
65072
-
65073
- if (prefix === '\\') {
65074
- replacePart = parts[0];
65075
- value = replacePart.replace('\\$', '$');
65076
- } else {
65077
- var key = parts[2];
65078
- replacePart = parts[0].substring(prefix.length);
65079
- // process.env value 'wins' over .env file's value
65080
- value = environment.hasOwnProperty(key) ? environment[key] : (config.parsed[key] || '');
65081
-
65082
- // Resolve recursive interpolations
65083
- value = interpolate(value);
65084
- }
65085
-
65086
- return newEnv.replace(replacePart, value)
65087
- }, envValue)
65088
- };
65089
-
65090
- for (var configKey in config.parsed) {
65091
- var value = environment.hasOwnProperty(configKey) ? environment[configKey] : config.parsed[configKey];
65092
-
65093
- config.parsed[configKey] = interpolate(value);
65094
- }
65095
-
65096
- for (var processKey in config.parsed) {
65097
- environment[processKey] = config.parsed[processKey];
65098
- }
65099
-
65100
- return config
65101
- };
65102
-
65103
- var main = dotenvExpand;
65104
-
65105
- function loadEnv(mode, envDir, prefixes = 'VITE_') {
65106
- if (mode === 'local') {
65107
- throw new Error(`"local" cannot be used as a mode name because it conflicts with ` +
65108
- `the .local postfix for .env files.`);
65109
- }
65110
- prefixes = arraify(prefixes);
65111
- const env = {};
65112
- const envFiles = [
65113
- /** default file */ `.env`,
65114
- /** local file */ `.env.local`,
65115
- /** mode file */ `.env.${mode}`,
65116
- /** mode local file */ `.env.${mode}.local`
65117
- ];
65118
- // check if there are actual env variables starting with VITE_*
65119
- // these are typically provided inline and should be prioritized
65120
- for (const key in process.env) {
65121
- if (prefixes.some((prefix) => key.startsWith(prefix)) &&
65122
- env[key] === undefined) {
65123
- env[key] = process.env[key];
65124
- }
65125
- }
65126
- const parsed = Object.fromEntries(envFiles.flatMap((file) => {
65127
- const path = lookupFile(envDir, [file], {
65128
- pathOnly: true,
65129
- rootDir: envDir
65130
- });
65131
- if (!path)
65132
- return [];
65133
- return Object.entries(main$1.exports.parse(fs$l.readFileSync(path), {
65134
- debug: process.env.DEBUG?.includes('vite:dotenv')
65135
- }));
65136
- }));
65137
- // let environment variables use each other
65138
- main({
65139
- parsed,
65140
- // prevent process.env mutation
65141
- ignoreProcessEnv: true
65142
- });
65143
- // only keys that start with prefix are exposed to client
65144
- for (const [key, value] of Object.entries(parsed)) {
65145
- if (prefixes.some((prefix) => key.startsWith(prefix))) {
65146
- env[key] = value;
65147
- }
65148
- else if (key === 'NODE_ENV' &&
65149
- process.env.VITE_USER_NODE_ENV === undefined) {
65150
- // NODE_ENV override in .env file
65151
- process.env.VITE_USER_NODE_ENV = value;
65152
- }
65153
- }
65154
- return env;
65155
- }
65156
- function resolveEnvPrefix({ envPrefix = 'VITE_' }) {
65157
- envPrefix = arraify(envPrefix);
65158
- if (envPrefix.some((prefix) => prefix === '')) {
65159
- throw new Error(`envPrefix option contains value '', which could lead unexpected exposure of sensitive information.`);
65160
- }
65161
- return envPrefix;
65162
- }
65163
-
65164
65189
  function resolveSSROptions(ssr, preserveSymlinks, buildSsrCjsExternalHeuristics) {
65165
65190
  ssr ?? (ssr = {});
65166
65191
  const optimizeDeps = ssr.optimizeDeps ?? {};
@@ -65314,7 +65339,7 @@ async function resolveConfig(inlineConfig, command, defaultMode = 'development')
65314
65339
  ? '/'
65315
65340
  : './'
65316
65341
  : resolveBaseUrl(config.base, isBuild, logger) ?? '/';
65317
- const resolvedBuildOptions = resolveBuildOptions(config.build, isBuild, logger);
65342
+ const resolvedBuildOptions = resolveBuildOptions(config.build, logger);
65318
65343
  // resolve cache directory
65319
65344
  const pkgPath = lookupFile(resolvedRoot, [`package.json`], { pathOnly: true });
65320
65345
  const cacheDir = config.cacheDir
@@ -65756,4 +65781,4 @@ function isDepsOptimizerEnabled(config, ssr) {
65756
65781
  (command === 'serve' && disabled === 'dev'));
65757
65782
  }
65758
65783
 
65759
- export { index$1 as A, build$1 as B, index as C, preview$1 as D, resolvePackageData as a, build as b, createServer as c, defineConfig as d, resolveConfig as e, formatPostcssSourceMap as f, resolveBaseUrl as g, getDepOptimizationConfig as h, isDepsOptimizerEnabled as i, mergeAlias as j, createFilter as k, loadConfigFromFile as l, mergeConfig as m, normalizePath$3 as n, optimizeDeps as o, preview as p, send as q, resolvePackageEntry as r, sortUserPlugins as s, transformWithEsbuild as t, createLogger as u, searchForWorkspaceRoot as v, loadEnv as w, resolveEnvPrefix as x, picocolors as y, commonjsGlobal as z };
65784
+ export { commonjsGlobal as A, index$1 as B, build$1 as C, index as D, preview$1 as E, preprocessCSS as a, build as b, createServer as c, resolvePackageData as d, defineConfig as e, formatPostcssSourceMap as f, resolveConfig as g, resolveBaseUrl as h, getDepOptimizationConfig as i, isDepsOptimizerEnabled as j, mergeAlias as k, loadConfigFromFile as l, mergeConfig as m, normalizePath$3 as n, optimizeDeps as o, preview as p, createFilter as q, resolvePackageEntry as r, sortUserPlugins as s, transformWithEsbuild as t, send$1 as u, createLogger as v, searchForWorkspaceRoot as w, loadEnv as x, resolveEnvPrefix as y, picocolors as z };