vite 3.2.0-beta.3 → 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="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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;
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
  }
@@ -46308,6 +46310,7 @@ function cssPostPlugin(config) {
46308
46310
  SPECIAL_QUERY_RE.test(id)) {
46309
46311
  return;
46310
46312
  }
46313
+ css = stripBomTag(css);
46311
46314
  const inlined = inlineRE.test(id);
46312
46315
  const modules = cssModulesCache.get(config).get(id);
46313
46316
  // #6984, #7552
@@ -46596,7 +46599,8 @@ function createCSSResolvers(config) {
46596
46599
  function getCssResolversKeys(resolvers) {
46597
46600
  return Object.keys(resolvers);
46598
46601
  }
46599
- async function compileCSS(id, code, config, urlReplacer, atImportResolvers, server) {
46602
+ const configToAtImportResolvers = new WeakMap();
46603
+ async function compileCSS(id, code, config, urlReplacer) {
46600
46604
  const { modules: modulesOptions, preprocessorOptions, devSourcemap } = config.css || {};
46601
46605
  const isModule = modulesOptions !== false && cssModuleRE.test(id);
46602
46606
  // although at serve time it can work without processing, we do need to
@@ -46616,6 +46620,11 @@ async function compileCSS(id, code, config, urlReplacer, atImportResolvers, serv
46616
46620
  let preprocessorMap;
46617
46621
  let modules;
46618
46622
  const deps = new Set();
46623
+ let atImportResolvers = configToAtImportResolvers.get(config);
46624
+ if (!atImportResolvers) {
46625
+ atImportResolvers = createCSSResolvers(config);
46626
+ configToAtImportResolvers.set(config, atImportResolvers);
46627
+ }
46619
46628
  // 2. pre-processors: sass etc.
46620
46629
  if (isPreProcessor(lang)) {
46621
46630
  const preProcessor = preProcessors[lang];
@@ -46682,12 +46691,14 @@ async function compileCSS(id, code, config, urlReplacer, atImportResolvers, serv
46682
46691
  }
46683
46692
  }));
46684
46693
  }
46685
- postcssPlugins.push(UrlRewritePostcssPlugin({
46686
- replacer: urlReplacer,
46687
- logger: config.logger
46688
- }));
46694
+ if (urlReplacer) {
46695
+ postcssPlugins.push(UrlRewritePostcssPlugin({
46696
+ replacer: urlReplacer,
46697
+ logger: config.logger
46698
+ }));
46699
+ }
46689
46700
  if (isModule) {
46690
- postcssPlugins.unshift((await import('./dep-ea6d21e3.js').then(function (n) { return n.i; })).default({
46701
+ postcssPlugins.unshift((await import('./dep-1180cbc3.js').then(function (n) { return n.i; })).default({
46691
46702
  ...modulesOptions,
46692
46703
  getJSON(cssFileName, _modules, outputFileName) {
46693
46704
  modules = _modules;
@@ -46797,6 +46808,12 @@ async function compileCSS(id, code, config, urlReplacer, atImportResolvers, serv
46797
46808
  deps
46798
46809
  };
46799
46810
  }
46811
+ /**
46812
+ * @experimental
46813
+ */
46814
+ async function preprocessCSS(code, filename, config) {
46815
+ return await compileCSS(filename, code, config);
46816
+ }
46800
46817
  async function formatPostcssSourceMap(rawMap, file) {
46801
46818
  const inputFileDir = path$n.dirname(file);
46802
46819
  const sources = rawMap.sources.map((source) => {
@@ -47657,7 +47674,348 @@ function completeSystemWrapPlugin() {
47657
47674
  };
47658
47675
  }
47659
47676
 
47660
- 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) {
47661
48019
  const deprecatedPolyfillModulePreload = raw?.polyfillModulePreload;
47662
48020
  if (raw) {
47663
48021
  const { polyfillModulePreload, ...rest } = raw;
@@ -47674,36 +48032,43 @@ function resolveBuildOptions(raw, isBuild, logger) {
47674
48032
  const defaultModulePreload = {
47675
48033
  polyfill: true
47676
48034
  };
47677
- const resolved = {
47678
- target: 'modules',
48035
+ const defaultBuildOptions = {
47679
48036
  outDir: 'dist',
47680
48037
  assetsDir: 'assets',
47681
48038
  assetsInlineLimit: 4096,
47682
48039
  cssCodeSplit: !raw?.lib,
47683
- cssTarget: false,
47684
48040
  sourcemap: false,
47685
48041
  rollupOptions: {},
47686
48042
  minify: raw?.ssr ? false : 'esbuild',
47687
48043
  terserOptions: {},
47688
48044
  write: true,
47689
48045
  emptyOutDir: null,
48046
+ copyPublicDir: true,
47690
48047
  manifest: false,
47691
48048
  lib: false,
47692
48049
  ssr: false,
47693
48050
  ssrManifest: false,
47694
48051
  reportCompressedSize: true,
47695
48052
  chunkSizeWarningLimit: 500,
47696
- watch: null,
47697
- ...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,
47698
48063
  commonjsOptions: {
47699
48064
  include: [/node_modules/],
47700
48065
  extensions: ['.js', '.cjs'],
47701
- ...raw?.commonjsOptions
48066
+ ...userBuildOptions.commonjsOptions
47702
48067
  },
47703
48068
  dynamicImportVarsOptions: {
47704
48069
  warnOnError: true,
47705
48070
  exclude: [/node_modules/],
47706
- ...raw?.dynamicImportVarsOptions
48071
+ ...userBuildOptions.dynamicImportVarsOptions
47707
48072
  },
47708
48073
  // Resolve to false | object
47709
48074
  modulePreload: modulePreload === false
@@ -47989,7 +48354,9 @@ function prepareOutDir(outDirs, emptyOutDir, config) {
47989
48354
  .filter(Boolean);
47990
48355
  emptyDir(outDir, [...skipDirs, '.git']);
47991
48356
  }
47992
- if (config.publicDir && fs$l.existsSync(config.publicDir)) {
48357
+ if (config.build.copyPublicDir &&
48358
+ config.publicDir &&
48359
+ fs$l.existsSync(config.publicDir)) {
47993
48360
  copyDir(config.publicDir, outDir);
47994
48361
  }
47995
48362
  }
@@ -49589,7 +49956,7 @@ var parseurl$1 = {exports: {}};
49589
49956
  */
49590
49957
 
49591
49958
  var url$3 = require$$0$9;
49592
- var parse$8 = url$3.parse;
49959
+ var parse$7 = url$3.parse;
49593
49960
  var Url = url$3.Url;
49594
49961
 
49595
49962
  /**
@@ -49668,7 +50035,7 @@ function originalurl (req) {
49668
50035
 
49669
50036
  function fastparse (str) {
49670
50037
  if (typeof str !== 'string' || str.charCodeAt(0) !== 0x2f /* / */) {
49671
- return parse$8(str)
50038
+ return parse$7(str)
49672
50039
  }
49673
50040
 
49674
50041
  var pathname = str;
@@ -49695,7 +50062,7 @@ function fastparse (str) {
49695
50062
  case 0x23: /* # */
49696
50063
  case 0xa0:
49697
50064
  case 0xfeff:
49698
- return parse$8(str)
50065
+ return parse$7(str)
49699
50066
  }
49700
50067
  }
49701
50068
 
@@ -50108,7 +50475,7 @@ function finalhandler$1 (req, res, options) {
50108
50475
  }
50109
50476
 
50110
50477
  // send response
50111
- send$1(req, res, status, headers, msg);
50478
+ send(req, res, status, headers, msg);
50112
50479
  }
50113
50480
  }
50114
50481
 
@@ -50247,7 +50614,7 @@ function headersSent (res) {
50247
50614
  * @private
50248
50615
  */
50249
50616
 
50250
- function send$1 (req, res, status, headers, message) {
50617
+ function send (req, res, status, headers, message) {
50251
50618
  function write () {
50252
50619
  // response body
50253
50620
  var body = createHtmlDocument(message);
@@ -50352,7 +50719,7 @@ var utilsMerge = {exports: {}};
50352
50719
  var debug$4 = src.exports('connect:dispatcher');
50353
50720
  var EventEmitter$3 = require$$0$5.EventEmitter;
50354
50721
  var finalhandler = finalhandler_1;
50355
- var http$4 = require$$1$2;
50722
+ var http$4 = require$$1$1;
50356
50723
  var merge = utilsMerge.exports;
50357
50724
  var parseUrl = parseurl$1.exports;
50358
50725
 
@@ -50753,7 +51120,7 @@ function append (header, field) {
50753
51120
 
50754
51121
  // get fields array
50755
51122
  var fields = !Array.isArray(field)
50756
- ? parse$7(String(field))
51123
+ ? parse$6(String(field))
50757
51124
  : field;
50758
51125
 
50759
51126
  // assert on invalid field names
@@ -50770,7 +51137,7 @@ function append (header, field) {
50770
51137
 
50771
51138
  // enumerate current values
50772
51139
  var val = header;
50773
- var vals = parse$7(header.toLowerCase());
51140
+ var vals = parse$6(header.toLowerCase());
50774
51141
 
50775
51142
  // unspecified vary
50776
51143
  if (fields.indexOf('*') !== -1 || vals.indexOf('*') !== -1) {
@@ -50800,7 +51167,7 @@ function append (header, field) {
50800
51167
  * @private
50801
51168
  */
50802
51169
 
50803
- function parse$7 (header) {
51170
+ function parse$6 (header) {
50804
51171
  var end = 0;
50805
51172
  var list = [];
50806
51173
  var start = 0;
@@ -51094,16 +51461,16 @@ function vary (res, field) {
51094
51461
 
51095
51462
  var chokidar = {};
51096
51463
 
51097
- const fs$9 = require$$0__default;
51464
+ const fs$8 = require$$0__default;
51098
51465
  const { Readable } = require$$0$7;
51099
51466
  const sysPath$3 = require$$0$4;
51100
51467
  const { promisify: promisify$3 } = require$$0$6;
51101
51468
  const picomatch$1 = picomatch$5.exports;
51102
51469
 
51103
- const readdir$1 = promisify$3(fs$9.readdir);
51104
- const stat$3 = promisify$3(fs$9.stat);
51105
- const lstat$2 = promisify$3(fs$9.lstat);
51106
- 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);
51107
51474
 
51108
51475
  /**
51109
51476
  * @typedef {Object} EntryInfo
@@ -51199,7 +51566,7 @@ class ReaddirpStream extends Readable {
51199
51566
  this._wantsFile = [FILE_TYPE, FILE_DIR_TYPE, EVERYTHING_TYPE].includes(type);
51200
51567
  this._wantsEverything = type === EVERYTHING_TYPE;
51201
51568
  this._root = sysPath$3.resolve(root);
51202
- this._isDirent = ('Dirent' in fs$9) && !opts.alwaysStat;
51569
+ this._isDirent = ('Dirent' in fs$8) && !opts.alwaysStat;
51203
51570
  this._statsProp = this._isDirent ? 'dirent' : 'stats';
51204
51571
  this._rdOptions = { encoding: 'utf8', withFileTypes: this._isDirent };
51205
51572
 
@@ -51788,12 +52155,12 @@ var require$$0 = [
51788
52155
  module.exports = require$$0;
51789
52156
  } (binaryExtensions$1));
51790
52157
 
51791
- const path$9 = require$$0$4;
52158
+ const path$8 = require$$0$4;
51792
52159
  const binaryExtensions = binaryExtensions$1.exports;
51793
52160
 
51794
52161
  const extensions = new Set(binaryExtensions);
51795
52162
 
51796
- 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());
51797
52164
 
51798
52165
  var constants$1 = {};
51799
52166
 
@@ -51801,7 +52168,7 @@ var constants$1 = {};
51801
52168
 
51802
52169
  const {sep} = require$$0$4;
51803
52170
  const {platform} = process;
51804
- const os = require$$1;
52171
+ const os = require$$2;
51805
52172
 
51806
52173
  exports.EV_ALL = 'all';
51807
52174
  exports.EV_READY = 'ready';
@@ -51864,7 +52231,7 @@ var constants$1 = {};
51864
52231
  exports.isIBMi = os.type() === 'OS400';
51865
52232
  } (constants$1));
51866
52233
 
51867
- const fs$8 = require$$0__default;
52234
+ const fs$7 = require$$0__default;
51868
52235
  const sysPath$2 = require$$0$4;
51869
52236
  const { promisify: promisify$2 } = require$$0$6;
51870
52237
  const isBinaryPath = isBinaryPath$1;
@@ -51889,11 +52256,11 @@ const {
51889
52256
 
51890
52257
  const THROTTLE_MODE_WATCH = 'watch';
51891
52258
 
51892
- const open$1 = promisify$2(fs$8.open);
51893
- const stat$2 = promisify$2(fs$8.stat);
51894
- const lstat$1 = promisify$2(fs$8.lstat);
51895
- const close = promisify$2(fs$8.close);
51896
- 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);
51897
52264
 
51898
52265
  const statMethods$1 = { lstat: lstat$1, stat: stat$2 };
51899
52266
 
@@ -51980,7 +52347,7 @@ function createFsWatchInstance(path, options, listener, errHandler, emitRaw) {
51980
52347
  }
51981
52348
  };
51982
52349
  try {
51983
- return fs$8.watch(path, options, handleEvent);
52350
+ return fs$7.watch(path, options, handleEvent);
51984
52351
  } catch (error) {
51985
52352
  errHandler(error);
51986
52353
  }
@@ -52099,7 +52466,7 @@ const setFsWatchFileListener = (path, fullPath, options, handlers) => {
52099
52466
 
52100
52467
  const copts = cont && cont.options;
52101
52468
  if (copts && (copts.persistent < options.persistent || copts.interval > options.interval)) {
52102
- fs$8.unwatchFile(fullPath);
52469
+ fs$7.unwatchFile(fullPath);
52103
52470
  cont = undefined;
52104
52471
  }
52105
52472
 
@@ -52116,7 +52483,7 @@ const setFsWatchFileListener = (path, fullPath, options, handlers) => {
52116
52483
  listeners: listener,
52117
52484
  rawEmitters: rawEmitter,
52118
52485
  options,
52119
- watcher: fs$8.watchFile(fullPath, options, (curr, prev) => {
52486
+ watcher: fs$7.watchFile(fullPath, options, (curr, prev) => {
52120
52487
  foreach(cont.rawEmitters, (rawEmitter) => {
52121
52488
  rawEmitter(EV_CHANGE$2, fullPath, {curr, prev});
52122
52489
  });
@@ -52137,7 +52504,7 @@ const setFsWatchFileListener = (path, fullPath, options, handlers) => {
52137
52504
  delFromSet(cont, KEY_RAW, rawEmitter);
52138
52505
  if (isEmptySet(cont.listeners)) {
52139
52506
  FsWatchFileInstances.delete(fullPath);
52140
- fs$8.unwatchFile(fullPath);
52507
+ fs$7.unwatchFile(fullPath);
52141
52508
  cont.options = cont.watcher = undefined;
52142
52509
  Object.freeze(cont);
52143
52510
  }
@@ -52509,7 +52876,7 @@ var nodefsHandler = NodeFsHandler$1;
52509
52876
 
52510
52877
  var fseventsHandler = {exports: {}};
52511
52878
 
52512
- const fs$7 = require$$0__default;
52879
+ const fs$6 = require$$0__default;
52513
52880
  const sysPath$1 = require$$0$4;
52514
52881
  const { promisify: promisify$1 } = require$$0$6;
52515
52882
 
@@ -52560,9 +52927,9 @@ const {
52560
52927
 
52561
52928
  const Depth = (value) => isNaN(value) ? {} : {depth: value};
52562
52929
 
52563
- const stat$1 = promisify$1(fs$7.stat);
52564
- const lstat = promisify$1(fs$7.lstat);
52565
- 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);
52566
52933
 
52567
52934
  const statMethods = { stat: stat$1, lstat };
52568
52935
 
@@ -53033,7 +53400,7 @@ fseventsHandler.exports = FsEventsHandler$1;
53033
53400
  fseventsHandler.exports.canUse = canUse;
53034
53401
 
53035
53402
  const { EventEmitter: EventEmitter$2 } = require$$0$5;
53036
- const fs$6 = require$$0__default;
53403
+ const fs$5 = require$$0__default;
53037
53404
  const sysPath = require$$0$4;
53038
53405
  const { promisify } = require$$0$6;
53039
53406
  const readdirp = readdirp_1;
@@ -53084,8 +53451,8 @@ const {
53084
53451
  isIBMi
53085
53452
  } = constants$1;
53086
53453
 
53087
- const stat = promisify(fs$6.stat);
53088
- const readdir = promisify(fs$6.readdir);
53454
+ const stat = promisify(fs$5.stat);
53455
+ const readdir = promisify(fs$5.readdir);
53089
53456
 
53090
53457
  /**
53091
53458
  * @typedef {String} Path
@@ -53741,7 +54108,7 @@ _awaitWriteFinish(path, threshold, event, awfEmit) {
53741
54108
  const now = new Date();
53742
54109
 
53743
54110
  const awaitWriteFinish = (prevStat) => {
53744
- fs$6.stat(fullPath, (err, curStat) => {
54111
+ fs$5.stat(fullPath, (err, curStat) => {
53745
54112
  if (err || !this._pendingWrites.has(path)) {
53746
54113
  if (err && err.code !== 'ENOENT') awfEmit(err);
53747
54114
  return;
@@ -54039,7 +54406,7 @@ for (var i = 0; i < 4; i++) {
54039
54406
  }
54040
54407
 
54041
54408
  shellQuote$1.parse = function (s, env, opts) {
54042
- var mapped = parse$6(s, env, opts);
54409
+ var mapped = parse$5(s, env, opts);
54043
54410
  if (typeof env !== 'function') return mapped;
54044
54411
  return mapped.reduce(function (acc, s) {
54045
54412
  if (typeof s === 'object') return acc.concat(s);
@@ -54054,7 +54421,7 @@ shellQuote$1.parse = function (s, env, opts) {
54054
54421
  }, []);
54055
54422
  };
54056
54423
 
54057
- function parse$6 (s, env, opts) {
54424
+ function parse$5 (s, env, opts) {
54058
54425
  var chunker = new RegExp([
54059
54426
  '(' + CONTROL + ')', // control chars
54060
54427
  '(' + BAREWORD + '|' + SINGLE_QUOTE + '|' + DOUBLE_QUOTE + ')*'
@@ -54292,9 +54659,9 @@ var windows$1 = [
54292
54659
  'rider64.exe'
54293
54660
  ];
54294
54661
 
54295
- const path$8 = require$$0$4;
54662
+ const path$7 = require$$0$4;
54296
54663
  const shellQuote = shellQuote$1;
54297
- const childProcess$2 = require$$2;
54664
+ const childProcess$2 = require$$2$1;
54298
54665
 
54299
54666
  // Map from full process name to binary that starts the process
54300
54667
  // We can't just re-use full process name, because it will spawn a new instance
@@ -54361,7 +54728,7 @@ var guess = function guessEditor (specifiedEditor) {
54361
54728
  const runningProcesses = output.split('\r\n');
54362
54729
  for (let i = 0; i < runningProcesses.length; i++) {
54363
54730
  const fullProcessPath = runningProcesses[i].trim();
54364
- const shortProcessName = path$8.basename(fullProcessPath);
54731
+ const shortProcessName = path$7.basename(fullProcessPath);
54365
54732
 
54366
54733
  if (COMMON_EDITORS_WIN.indexOf(shortProcessName) !== -1) {
54367
54734
  return [fullProcessPath]
@@ -54398,7 +54765,7 @@ var guess = function guessEditor (specifiedEditor) {
54398
54765
  return [null]
54399
54766
  };
54400
54767
 
54401
- const path$7 = require$$0$4;
54768
+ const path$6 = require$$0$4;
54402
54769
 
54403
54770
  // normalize file/line numbers into command line args for specific editors
54404
54771
  var getArgs = function getArgumentsForPosition (
@@ -54407,7 +54774,7 @@ var getArgs = function getArgumentsForPosition (
54407
54774
  lineNumber,
54408
54775
  columnNumber = 1
54409
54776
  ) {
54410
- const editorBasename = path$7.basename(editor).replace(/\.(exe|cmd|bat)$/i, '');
54777
+ const editorBasename = path$6.basename(editor).replace(/\.(exe|cmd|bat)$/i, '');
54411
54778
  switch (editorBasename) {
54412
54779
  case 'atom':
54413
54780
  case 'Atom':
@@ -54481,11 +54848,11 @@ var getArgs = function getArgumentsForPosition (
54481
54848
  * Modified by Yuxi Evan You
54482
54849
  */
54483
54850
 
54484
- const fs$5 = require$$0__default;
54485
- const os$2 = require$$1;
54486
- 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;
54487
54854
  const colors = picocolors.exports;
54488
- const childProcess$1 = require$$2;
54855
+ const childProcess$1 = require$$2$1;
54489
54856
 
54490
54857
  const guessEditor = guess;
54491
54858
  const getArgumentsForPosition = getArgs;
@@ -54494,7 +54861,7 @@ function wrapErrorCallback (cb) {
54494
54861
  return (fileName, errorMessage) => {
54495
54862
  console.log();
54496
54863
  console.log(
54497
- 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.')
54498
54865
  );
54499
54866
  if (errorMessage) {
54500
54867
  if (errorMessage[errorMessage.length - 1] !== '.') {
@@ -54539,7 +54906,7 @@ function launchEditor (file, specifiedEditor, onErrorCallback) {
54539
54906
  let { fileName } = parsed;
54540
54907
  const { lineNumber, columnNumber } = parsed;
54541
54908
 
54542
- if (!fs$5.existsSync(fileName)) {
54909
+ if (!fs$4.existsSync(fileName)) {
54543
54910
  return
54544
54911
  }
54545
54912
 
@@ -54559,7 +54926,7 @@ function launchEditor (file, specifiedEditor, onErrorCallback) {
54559
54926
  if (
54560
54927
  process.platform === 'linux' &&
54561
54928
  fileName.startsWith('/mnt/') &&
54562
- /Microsoft/i.test(os$2.release())
54929
+ /Microsoft/i.test(os$1.release())
54563
54930
  ) {
54564
54931
  // Assume WSL / "Bash on Ubuntu on Windows" is being used, and
54565
54932
  // that the file exists on the Windows file system.
@@ -54567,7 +54934,7 @@ function launchEditor (file, specifiedEditor, onErrorCallback) {
54567
54934
  // build of WSL, see: https://github.com/Microsoft/BashOnWindows/issues/423#issuecomment-221627364
54568
54935
  // When a Windows editor is specified, interop functionality can
54569
54936
  // handle the path translation, but only if a relative path is used.
54570
- fileName = path$6.relative('', fileName);
54937
+ fileName = path$5.relative('', fileName);
54571
54938
  }
54572
54939
 
54573
54940
  if (lineNumber) {
@@ -54611,7 +54978,7 @@ function launchEditor (file, specifiedEditor, onErrorCallback) {
54611
54978
  var launchEditor_1 = launchEditor;
54612
54979
 
54613
54980
  const url$2 = require$$0$9;
54614
- const path$5 = require$$0$4;
54981
+ const path$4 = require$$0$4;
54615
54982
  const launch = launchEditor_1;
54616
54983
 
54617
54984
  var launchEditorMiddleware = (specifiedEditor, srcRoot, onErrorCallback) => {
@@ -54633,7 +55000,7 @@ var launchEditorMiddleware = (specifiedEditor, srcRoot, onErrorCallback) => {
54633
55000
  res.statusCode = 500;
54634
55001
  res.end(`launch-editor-middleware: required query param "file" is missing.`);
54635
55002
  } else {
54636
- launch(path$5.resolve(srcRoot, file), specifiedEditor, onErrorCallback);
55003
+ launch(path$4.resolve(srcRoot, file), specifiedEditor, onErrorCallback);
54637
55004
  res.end();
54638
55005
  }
54639
55006
  }
@@ -55541,7 +55908,7 @@ async function instantiateModule(url, server, context = { global }, urlStack = [
55541
55908
  preserveSymlinks,
55542
55909
  isBuild: true,
55543
55910
  isProduction,
55544
- isRequire: false,
55911
+ isRequire: true,
55545
55912
  root
55546
55913
  };
55547
55914
  // Since dynamic imports can happen in parallel, we need to
@@ -57917,7 +58284,7 @@ function push(dest, name, elem) {
57917
58284
  * @return {Object} The parsed object
57918
58285
  * @public
57919
58286
  */
57920
- function parse$5(header) {
58287
+ function parse$4(header) {
57921
58288
  const offers = Object.create(null);
57922
58289
  let params = Object.create(null);
57923
58290
  let mustUnescape = false;
@@ -58093,13 +58460,13 @@ function format$1(extensions) {
58093
58460
  .join(', ');
58094
58461
  }
58095
58462
 
58096
- var extension$1 = { format: format$1, parse: parse$5 };
58463
+ var extension$1 = { format: format$1, parse: parse$4 };
58097
58464
 
58098
58465
  /* eslint no-unused-vars: ["error", { "varsIgnorePattern": "^Readable$" }] */
58099
58466
 
58100
58467
  const EventEmitter$1 = require$$0$5;
58101
- const https$2 = require$$1$3;
58102
- const http$3 = require$$1$2;
58468
+ const https$2 = require$$1$2;
58469
+ const http$3 = require$$1$1;
58103
58470
  const net = require$$3$1;
58104
58471
  const tls = require$$4;
58105
58472
  const { randomBytes, createHash: createHash$1 } = require$$5;
@@ -58121,7 +58488,7 @@ const {
58121
58488
  const {
58122
58489
  EventTarget: { addEventListener, removeEventListener }
58123
58490
  } = eventTarget;
58124
- const { format, parse: parse$4 } = extension$1;
58491
+ const { format, parse: parse$3 } = extension$1;
58125
58492
  const { toBuffer } = bufferUtil$1.exports;
58126
58493
 
58127
58494
  const closeTimeout = 30 * 1000;
@@ -59044,7 +59411,7 @@ function initAsClient(websocket, address, protocols, options) {
59044
59411
  let extensions;
59045
59412
 
59046
59413
  try {
59047
- extensions = parse$4(secWebSocketExtensions);
59414
+ extensions = parse$3(secWebSocketExtensions);
59048
59415
  } catch (err) {
59049
59416
  const message = 'Invalid Sec-WebSocket-Extensions header';
59050
59417
  abortHandshake$1(websocket, socket, message);
@@ -59407,7 +59774,7 @@ const { tokenChars } = validation.exports;
59407
59774
  * @return {Set} The subprotocol names
59408
59775
  * @public
59409
59776
  */
59410
- function parse$3(header) {
59777
+ function parse$2(header) {
59411
59778
  const protocols = new Set();
59412
59779
  let start = -1;
59413
59780
  let end = -1;
@@ -59457,12 +59824,12 @@ function parse$3(header) {
59457
59824
  return protocols;
59458
59825
  }
59459
59826
 
59460
- var subprotocol$1 = { parse: parse$3 };
59827
+ var subprotocol$1 = { parse: parse$2 };
59461
59828
 
59462
59829
  /* eslint no-unused-vars: ["error", { "varsIgnorePattern": "^net|tls|https$" }] */
59463
59830
 
59464
59831
  const EventEmitter = require$$0$5;
59465
- const http$2 = require$$1$2;
59832
+ const http$2 = require$$1$1;
59466
59833
  const { createHash } = require$$5;
59467
59834
 
59468
59835
  const extension = extension$1;
@@ -61027,8 +61394,8 @@ var debug_1 = function () {
61027
61394
 
61028
61395
  var url = require$$0$9;
61029
61396
  var URL$1 = url.URL;
61030
- var http$1 = require$$1$2;
61031
- var https$1 = require$$1$3;
61397
+ var http$1 = require$$1$1;
61398
+ var https$1 = require$$1$2;
61032
61399
  var Writable = require$$0$7.Writable;
61033
61400
  var assert = assert$2;
61034
61401
  var debug$2 = debug_1;
@@ -61619,8 +61986,8 @@ function isSubdomain(subdomain, domain) {
61619
61986
  followRedirects$1.exports = wrap({ http: http$1, https: https$1 });
61620
61987
  followRedirects$1.exports.wrap = wrap;
61621
61988
 
61622
- var httpNative = require$$1$2,
61623
- httpsNative = require$$1$3,
61989
+ var httpNative = require$$1$1,
61990
+ httpsNative = require$$1$2,
61624
61991
  web_o = webOutgoing,
61625
61992
  common$1 = common$3,
61626
61993
  followRedirects = followRedirects$1.exports;
@@ -61814,8 +62181,8 @@ var webIncoming = {
61814
62181
 
61815
62182
  };
61816
62183
 
61817
- var http = require$$1$2,
61818
- https = require$$1$3,
62184
+ var http = require$$1$1,
62185
+ https = require$$1$2,
61819
62186
  common = common$3;
61820
62187
 
61821
62188
  /*!
@@ -61982,8 +62349,8 @@ var wsIncoming = {
61982
62349
  extend = require$$0$6._extend,
61983
62350
  parse_url = require$$0$9.parse,
61984
62351
  EE3 = eventemitter3.exports,
61985
- http = require$$1$2,
61986
- https = require$$1$3,
62352
+ http = require$$1$1,
62353
+ https = require$$1$2,
61987
62354
  web = webIncoming,
61988
62355
  ws = wsIncoming;
61989
62356
 
@@ -62506,41 +62873,6 @@ function htmlFallbackMiddleware(root, spaFallback) {
62506
62873
  };
62507
62874
  }
62508
62875
 
62509
- const alias = {
62510
- js: 'application/javascript',
62511
- css: 'text/css',
62512
- html: 'text/html',
62513
- json: 'application/json'
62514
- };
62515
- function send(req, res, content, type, options) {
62516
- const { etag = etag_1(content, { weak: true }), cacheControl = 'no-cache', headers, map } = options;
62517
- if (res.writableEnded) {
62518
- return;
62519
- }
62520
- if (req.headers['if-none-match'] === etag) {
62521
- res.statusCode = 304;
62522
- res.end();
62523
- return;
62524
- }
62525
- res.setHeader('Content-Type', alias[type] || type);
62526
- res.setHeader('Cache-Control', cacheControl);
62527
- res.setHeader('Etag', etag);
62528
- if (headers) {
62529
- for (const name in headers) {
62530
- res.setHeader(name, headers[name]);
62531
- }
62532
- }
62533
- // inject source map reference
62534
- if (map && map.mappings) {
62535
- if (type === 'js' || type === 'css') {
62536
- content = getCodeWithSourcemap(type, content.toString(), map);
62537
- }
62538
- }
62539
- res.statusCode = 200;
62540
- res.end(content);
62541
- return;
62542
- }
62543
-
62544
62876
  const debugCache = createDebugger('vite:cache');
62545
62877
  const isDebug = !!process.env.DEBUG;
62546
62878
  const knownIgnoreList = new Set(['/', '/favicon.ico']);
@@ -62572,7 +62904,7 @@ function transformMiddleware(server) {
62572
62904
  : normalizePath$3(ensureVolumeInPath(path$n.resolve(root, url.slice(1))));
62573
62905
  try {
62574
62906
  const map = await promises$2.readFile(mapFile, 'utf-8');
62575
- return send(req, res, map, 'json', {
62907
+ return send$1(req, res, map, 'json', {
62576
62908
  headers: server.config.server.headers
62577
62909
  });
62578
62910
  }
@@ -62588,7 +62920,7 @@ function transformMiddleware(server) {
62588
62920
  names: [],
62589
62921
  mappings: ';;;;;;;;;'
62590
62922
  };
62591
- return send(req, res, JSON.stringify(dummySourceMap), 'json', {
62923
+ return send$1(req, res, JSON.stringify(dummySourceMap), 'json', {
62592
62924
  cacheControl: 'no-cache',
62593
62925
  headers: server.config.server.headers
62594
62926
  });
@@ -62599,7 +62931,7 @@ function transformMiddleware(server) {
62599
62931
  const map = (await moduleGraph.getModuleByUrl(originalUrl, false))
62600
62932
  ?.transformResult?.map;
62601
62933
  if (map) {
62602
- return send(req, res, JSON.stringify(map), 'json', {
62934
+ return send$1(req, res, JSON.stringify(map), 'json', {
62603
62935
  headers: server.config.server.headers
62604
62936
  });
62605
62937
  }
@@ -62663,7 +62995,7 @@ function transformMiddleware(server) {
62663
62995
  const depsOptimizer = getDepsOptimizer(server.config, false); // non-ssr
62664
62996
  const type = isDirectCSSRequest(url) ? 'css' : 'js';
62665
62997
  const isDep = DEP_VERSION_RE.test(url) || depsOptimizer?.isOptimizedDepUrl(url);
62666
- return send(req, res, result.code, type, {
62998
+ return send$1(req, res, result.code, type, {
62667
62999
  etag: result.etag,
62668
63000
  // allow browser to cache npm deps!
62669
63001
  cacheControl: isDep ? 'max-age=31536000,immutable' : 'no-cache',
@@ -62875,7 +63207,7 @@ function indexHtmlMiddleware(server) {
62875
63207
  try {
62876
63208
  let html = fs$l.readFileSync(filename, 'utf-8');
62877
63209
  html = await server.transformIndexHtml(url, html, req.originalUrl);
62878
- return send(req, res, html, 'html', {
63210
+ return send$1(req, res, html, 'html', {
62879
63211
  headers: server.config.server.headers
62880
63212
  });
62881
63213
  }
@@ -63095,13 +63427,13 @@ class ModuleGraph {
63095
63427
 
63096
63428
  var isWsl$2 = {exports: {}};
63097
63429
 
63098
- const fs$4 = require$$0__default;
63430
+ const fs$3 = require$$0__default;
63099
63431
 
63100
63432
  let isDocker$2;
63101
63433
 
63102
63434
  function hasDockerEnv() {
63103
63435
  try {
63104
- fs$4.statSync('/.dockerenv');
63436
+ fs$3.statSync('/.dockerenv');
63105
63437
  return true;
63106
63438
  } catch (_) {
63107
63439
  return false;
@@ -63110,7 +63442,7 @@ function hasDockerEnv() {
63110
63442
 
63111
63443
  function hasDockerCGroup() {
63112
63444
  try {
63113
- return fs$4.readFileSync('/proc/self/cgroup', 'utf8').includes('docker');
63445
+ return fs$3.readFileSync('/proc/self/cgroup', 'utf8').includes('docker');
63114
63446
  } catch (_) {
63115
63447
  return false;
63116
63448
  }
@@ -63124,8 +63456,8 @@ var isDocker_1 = () => {
63124
63456
  return isDocker$2;
63125
63457
  };
63126
63458
 
63127
- const os$1 = require$$1;
63128
- const fs$3 = require$$0__default;
63459
+ const os = require$$2;
63460
+ const fs$2 = require$$0__default;
63129
63461
  const isDocker$1 = isDocker_1;
63130
63462
 
63131
63463
  const isWsl$1 = () => {
@@ -63133,7 +63465,7 @@ const isWsl$1 = () => {
63133
63465
  return false;
63134
63466
  }
63135
63467
 
63136
- if (os$1.release().toLowerCase().includes('microsoft')) {
63468
+ if (os.release().toLowerCase().includes('microsoft')) {
63137
63469
  if (isDocker$1()) {
63138
63470
  return false;
63139
63471
  }
@@ -63142,7 +63474,7 @@ const isWsl$1 = () => {
63142
63474
  }
63143
63475
 
63144
63476
  try {
63145
- return fs$3.readFileSync('/proc/version', 'utf8').toLowerCase().includes('microsoft') ?
63477
+ return fs$2.readFileSync('/proc/version', 'utf8').toLowerCase().includes('microsoft') ?
63146
63478
  !isDocker$1() : false;
63147
63479
  } catch (_) {
63148
63480
  return false;
@@ -63174,15 +63506,15 @@ var defineLazyProp = (object, propertyName, fn) => {
63174
63506
  return object;
63175
63507
  };
63176
63508
 
63177
- const path$4 = require$$0$4;
63178
- const childProcess = require$$2;
63179
- 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;
63180
63512
  const isWsl = isWsl$2.exports;
63181
63513
  const isDocker = isDocker_1;
63182
63514
  const defineLazyProperty = defineLazyProp;
63183
63515
 
63184
63516
  // Path to included `xdg-open`.
63185
- const localXdgOpenPath = path$4.join(__dirname, 'xdg-open');
63517
+ const localXdgOpenPath = path$3.join(__dirname, 'xdg-open');
63186
63518
 
63187
63519
  const {platform, arch} = process;
63188
63520
 
@@ -63209,7 +63541,7 @@ const getWslDrivesMountPoint = (() => {
63209
63541
 
63210
63542
  let isConfigFileExists = false;
63211
63543
  try {
63212
- await fs$2.access(configFilePath, fsConstants.F_OK);
63544
+ await fs$1.access(configFilePath, fsConstants.F_OK);
63213
63545
  isConfigFileExists = true;
63214
63546
  } catch {}
63215
63547
 
@@ -63217,7 +63549,7 @@ const getWslDrivesMountPoint = (() => {
63217
63549
  return defaultMountPoint;
63218
63550
  }
63219
63551
 
63220
- const configContent = await fs$2.readFile(configFilePath, {encoding: 'utf8'});
63552
+ const configContent = await fs$1.readFile(configFilePath, {encoding: 'utf8'});
63221
63553
  const configMountPoint = /(?<!#.*)root\s*=\s*(?<mountPoint>.*)/g.exec(configContent);
63222
63554
 
63223
63555
  if (!configMountPoint) {
@@ -63349,7 +63681,7 @@ const baseOpen = async options => {
63349
63681
  // Check if local `xdg-open` exists and is executable.
63350
63682
  let exeLocalXdgOpen = false;
63351
63683
  try {
63352
- await fs$2.access(localXdgOpenPath, fsConstants.X_OK);
63684
+ await fs$1.access(localXdgOpenPath, fsConstants.X_OK);
63353
63685
  exeLocalXdgOpen = true;
63354
63686
  } catch {}
63355
63687
 
@@ -63654,7 +63986,7 @@ const isWindows = process.platform === 'win32' ||
63654
63986
  process.env.OSTYPE === 'cygwin' ||
63655
63987
  process.env.OSTYPE === 'msys';
63656
63988
 
63657
- const path$3 = require$$0$4;
63989
+ const path$2 = require$$0$4;
63658
63990
  const COLON = isWindows ? ';' : ':';
63659
63991
  const isexe = isexe_1;
63660
63992
 
@@ -63711,7 +64043,7 @@ const which$1 = (cmd, opt, cb) => {
63711
64043
  const ppRaw = pathEnv[i];
63712
64044
  const pathPart = /^".*"$/.test(ppRaw) ? ppRaw.slice(1, -1) : ppRaw;
63713
64045
 
63714
- const pCmd = path$3.join(pathPart, cmd);
64046
+ const pCmd = path$2.join(pathPart, cmd);
63715
64047
  const p = !pathPart && /^\.[\\\/]/.test(cmd) ? cmd.slice(0, 2) + pCmd
63716
64048
  : pCmd;
63717
64049
 
@@ -63746,7 +64078,7 @@ const whichSync = (cmd, opt) => {
63746
64078
  const ppRaw = pathEnv[i];
63747
64079
  const pathPart = /^".*"$/.test(ppRaw) ? ppRaw.slice(1, -1) : ppRaw;
63748
64080
 
63749
- const pCmd = path$3.join(pathPart, cmd);
64081
+ const pCmd = path$2.join(pathPart, cmd);
63750
64082
  const p = !pathPart && /^\.[\\\/]/.test(cmd) ? cmd.slice(0, 2) + pCmd
63751
64083
  : pCmd;
63752
64084
 
@@ -63793,7 +64125,7 @@ pathKey$1.exports = pathKey;
63793
64125
  // TODO: Remove this for the next major release
63794
64126
  pathKey$1.exports.default = pathKey;
63795
64127
 
63796
- const path$2 = require$$0$4;
64128
+ const path$1 = require$$0$4;
63797
64129
  const which = which_1;
63798
64130
  const getPathKey = pathKey$1.exports;
63799
64131
 
@@ -63819,7 +64151,7 @@ function resolveCommandAttempt(parsed, withoutPathExt) {
63819
64151
  try {
63820
64152
  resolved = which.sync(parsed.command, {
63821
64153
  path: env[getPathKey({ env })],
63822
- pathExt: withoutPathExt ? path$2.delimiter : undefined,
64154
+ pathExt: withoutPathExt ? path$1.delimiter : undefined,
63823
64155
  });
63824
64156
  } catch (e) {
63825
64157
  /* Empty */
@@ -63832,7 +64164,7 @@ function resolveCommandAttempt(parsed, withoutPathExt) {
63832
64164
  // If we successfully resolved, ensure that an absolute path is returned
63833
64165
  // Note that when a custom `cwd` was used, we need to resolve to an absolute path based on it
63834
64166
  if (resolved) {
63835
- resolved = path$2.resolve(hasCustomCwd ? parsed.options.cwd : '', resolved);
64167
+ resolved = path$1.resolve(hasCustomCwd ? parsed.options.cwd : '', resolved);
63836
64168
  }
63837
64169
 
63838
64170
  return resolved;
@@ -63911,7 +64243,7 @@ var shebangCommand$1 = (string = '') => {
63911
64243
  return argument ? `${binary} ${argument}` : binary;
63912
64244
  };
63913
64245
 
63914
- const fs$1 = require$$0__default;
64246
+ const fs = require$$0__default;
63915
64247
  const shebangCommand = shebangCommand$1;
63916
64248
 
63917
64249
  function readShebang$1(command) {
@@ -63922,9 +64254,9 @@ function readShebang$1(command) {
63922
64254
  let fd;
63923
64255
 
63924
64256
  try {
63925
- fd = fs$1.openSync(command, 'r');
63926
- fs$1.readSync(fd, buffer, 0, size, 0);
63927
- fs$1.closeSync(fd);
64257
+ fd = fs.openSync(command, 'r');
64258
+ fs.readSync(fd, buffer, 0, size, 0);
64259
+ fs.closeSync(fd);
63928
64260
  } catch (e) { /* Empty */ }
63929
64261
 
63930
64262
  // Attempt to extract shebang (null is returned if not a shebang)
@@ -63933,7 +64265,7 @@ function readShebang$1(command) {
63933
64265
 
63934
64266
  var readShebang_1 = readShebang$1;
63935
64267
 
63936
- const path$1 = require$$0$4;
64268
+ const path = require$$0$4;
63937
64269
  const resolveCommand = resolveCommand_1;
63938
64270
  const escape$1 = _escape;
63939
64271
  const readShebang = readShebang_1;
@@ -63979,7 +64311,7 @@ function parseNonShell(parsed) {
63979
64311
 
63980
64312
  // Normalize posix paths into OS compatible paths (e.g.: foo/bar -> foo\bar)
63981
64313
  // This is necessary otherwise it will always fail with ENOENT in those cases
63982
- parsed.command = path$1.normalize(parsed.command);
64314
+ parsed.command = path.normalize(parsed.command);
63983
64315
 
63984
64316
  // Escape command & arguments
63985
64317
  parsed.command = escape$1.command(parsed.command);
@@ -63995,7 +64327,7 @@ function parseNonShell(parsed) {
63995
64327
  return parsed;
63996
64328
  }
63997
64329
 
63998
- function parse$2(command, args, options) {
64330
+ function parse$1(command, args, options) {
63999
64331
  // Normalize arguments, similar to nodejs
64000
64332
  if (args && !Array.isArray(args)) {
64001
64333
  options = args;
@@ -64021,7 +64353,7 @@ function parse$2(command, args, options) {
64021
64353
  return options.shell ? parsed : parseNonShell(parsed);
64022
64354
  }
64023
64355
 
64024
- var parse_1 = parse$2;
64356
+ var parse_1 = parse$1;
64025
64357
 
64026
64358
  const isWin = process.platform === 'win32';
64027
64359
 
@@ -64081,13 +64413,13 @@ var enoent$1 = {
64081
64413
  notFoundError,
64082
64414
  };
64083
64415
 
64084
- const cp = require$$2;
64085
- const parse$1 = parse_1;
64416
+ const cp = require$$2$1;
64417
+ const parse = parse_1;
64086
64418
  const enoent = enoent$1;
64087
64419
 
64088
64420
  function spawn(command, args, options) {
64089
64421
  // Parse the arguments
64090
- const parsed = parse$1(command, args, options);
64422
+ const parsed = parse(command, args, options);
64091
64423
 
64092
64424
  // Spawn the child process
64093
64425
  const spawned = cp.spawn(parsed.command, parsed.args, parsed.options);
@@ -64101,7 +64433,7 @@ function spawn(command, args, options) {
64101
64433
 
64102
64434
  function spawnSync(command, args, options) {
64103
64435
  // Parse the arguments
64104
- const parsed = parse$1(command, args, options);
64436
+ const parsed = parse(command, args, options);
64105
64437
 
64106
64438
  // Spawn the child process
64107
64439
  const result = cp.spawnSync(parsed.command, parsed.args, parsed.options);
@@ -64116,7 +64448,7 @@ crossSpawn.exports = spawn;
64116
64448
  crossSpawn.exports.spawn = spawn;
64117
64449
  crossSpawn.exports.sync = spawnSync;
64118
64450
 
64119
- crossSpawn.exports._parse = parse$1;
64451
+ crossSpawn.exports._parse = parse;
64120
64452
  crossSpawn.exports._enoent = enoent;
64121
64453
 
64122
64454
  /**
@@ -64211,63 +64543,6 @@ function startBrowserProcess(browser, url) {
64211
64543
  }
64212
64544
  }
64213
64545
 
64214
- // https://github.com/vitejs/vite/issues/2820#issuecomment-812495079
64215
- const ROOT_FILES = [
64216
- // '.git',
64217
- // https://pnpm.js.org/workspaces/
64218
- 'pnpm-workspace.yaml',
64219
- // https://rushjs.io/pages/advanced/config_files/
64220
- // 'rush.json',
64221
- // https://nx.dev/latest/react/getting-started/nx-setup
64222
- // 'workspace.json',
64223
- // 'nx.json',
64224
- // https://github.com/lerna/lerna#lernajson
64225
- 'lerna.json'
64226
- ];
64227
- // npm: https://docs.npmjs.com/cli/v7/using-npm/workspaces#installing-workspaces
64228
- // yarn: https://classic.yarnpkg.com/en/docs/workspaces/#toc-how-to-use-it
64229
- function hasWorkspacePackageJSON(root) {
64230
- const path = join$2(root, 'package.json');
64231
- if (!isFileReadable(path)) {
64232
- return false;
64233
- }
64234
- const content = JSON.parse(fs$l.readFileSync(path, 'utf-8')) || {};
64235
- return !!content.workspaces;
64236
- }
64237
- function hasRootFile(root) {
64238
- return ROOT_FILES.some((file) => fs$l.existsSync(join$2(root, file)));
64239
- }
64240
- function hasPackageJSON(root) {
64241
- const path = join$2(root, 'package.json');
64242
- return fs$l.existsSync(path);
64243
- }
64244
- /**
64245
- * Search up for the nearest `package.json`
64246
- */
64247
- function searchForPackageRoot(current, root = current) {
64248
- if (hasPackageJSON(current))
64249
- return current;
64250
- const dir = dirname$2(current);
64251
- // reach the fs root
64252
- if (!dir || dir === current)
64253
- return root;
64254
- return searchForPackageRoot(dir, root);
64255
- }
64256
- /**
64257
- * Search up for the nearest workspace root
64258
- */
64259
- function searchForWorkspaceRoot(current, root = searchForPackageRoot(current)) {
64260
- if (hasRootFile(current))
64261
- return current;
64262
- if (hasWorkspacePackageJSON(current))
64263
- return current;
64264
- const dir = dirname$2(current);
64265
- // reach the fs root
64266
- if (!dir || dir === current)
64267
- return root;
64268
- return searchForWorkspaceRoot(dir, root);
64269
- }
64270
-
64271
64546
  async function createServer(inlineConfig = {}) {
64272
64547
  const config = await resolveConfig(inlineConfig, 'serve', 'development');
64273
64548
  const { root, server: serverConfig } = config;
@@ -64911,255 +65186,6 @@ var preview$1 = {
64911
65186
  preview: preview
64912
65187
  };
64913
65188
 
64914
- var main$1 = {exports: {}};
64915
-
64916
- const fs = require$$0__default;
64917
- const path = require$$0$4;
64918
- const os = require$$1;
64919
-
64920
- function log (message) {
64921
- console.log(`[dotenv][DEBUG] ${message}`);
64922
- }
64923
-
64924
- const NEWLINE = '\n';
64925
- const RE_INI_KEY_VAL = /^\s*([\w.-]+)\s*=\s*("[^"]*"|'[^']*'|.*?)(\s+#.*)?$/;
64926
- const RE_NEWLINES = /\\n/g;
64927
- const NEWLINES_MATCH = /\r\n|\n|\r/;
64928
-
64929
- // Parses src into an Object
64930
- function parse (src, options) {
64931
- const debug = Boolean(options && options.debug);
64932
- const multiline = Boolean(options && options.multiline);
64933
- const obj = {};
64934
-
64935
- // convert Buffers before splitting into lines and processing
64936
- const lines = src.toString().split(NEWLINES_MATCH);
64937
-
64938
- for (let idx = 0; idx < lines.length; idx++) {
64939
- let line = lines[idx];
64940
-
64941
- // matching "KEY' and 'VAL' in 'KEY=VAL'
64942
- const keyValueArr = line.match(RE_INI_KEY_VAL);
64943
- // matched?
64944
- if (keyValueArr != null) {
64945
- const key = keyValueArr[1];
64946
- // default undefined or missing values to empty string
64947
- let val = (keyValueArr[2] || '');
64948
- let end = val.length - 1;
64949
- const isDoubleQuoted = val[0] === '"' && val[end] === '"';
64950
- const isSingleQuoted = val[0] === "'" && val[end] === "'";
64951
-
64952
- const isMultilineDoubleQuoted = val[0] === '"' && val[end] !== '"';
64953
- const isMultilineSingleQuoted = val[0] === "'" && val[end] !== "'";
64954
-
64955
- // if parsing line breaks and the value starts with a quote
64956
- if (multiline && (isMultilineDoubleQuoted || isMultilineSingleQuoted)) {
64957
- const quoteChar = isMultilineDoubleQuoted ? '"' : "'";
64958
-
64959
- val = val.substring(1);
64960
-
64961
- while (idx++ < lines.length - 1) {
64962
- line = lines[idx];
64963
- end = line.length - 1;
64964
- if (line[end] === quoteChar) {
64965
- val += NEWLINE + line.substring(0, end);
64966
- break
64967
- }
64968
- val += NEWLINE + line;
64969
- }
64970
- // if single or double quoted, remove quotes
64971
- } else if (isSingleQuoted || isDoubleQuoted) {
64972
- val = val.substring(1, end);
64973
-
64974
- // if double quoted, expand newlines
64975
- if (isDoubleQuoted) {
64976
- val = val.replace(RE_NEWLINES, NEWLINE);
64977
- }
64978
- } else {
64979
- // remove surrounding whitespace
64980
- val = val.trim();
64981
- }
64982
-
64983
- obj[key] = val;
64984
- } else if (debug) {
64985
- const trimmedLine = line.trim();
64986
-
64987
- // ignore empty and commented lines
64988
- if (trimmedLine.length && trimmedLine[0] !== '#') {
64989
- log(`Failed to match key and value when parsing line ${idx + 1}: ${line}`);
64990
- }
64991
- }
64992
- }
64993
-
64994
- return obj
64995
- }
64996
-
64997
- function resolveHome (envPath) {
64998
- return envPath[0] === '~' ? path.join(os.homedir(), envPath.slice(1)) : envPath
64999
- }
65000
-
65001
- // Populates process.env from .env file
65002
- function config (options) {
65003
- let dotenvPath = path.resolve(process.cwd(), '.env');
65004
- let encoding = 'utf8';
65005
- const debug = Boolean(options && options.debug);
65006
- const override = Boolean(options && options.override);
65007
- const multiline = Boolean(options && options.multiline);
65008
-
65009
- if (options) {
65010
- if (options.path != null) {
65011
- dotenvPath = resolveHome(options.path);
65012
- }
65013
- if (options.encoding != null) {
65014
- encoding = options.encoding;
65015
- }
65016
- }
65017
-
65018
- try {
65019
- // specifying an encoding returns a string instead of a buffer
65020
- const parsed = DotenvModule.parse(fs.readFileSync(dotenvPath, { encoding }), { debug, multiline });
65021
-
65022
- Object.keys(parsed).forEach(function (key) {
65023
- if (!Object.prototype.hasOwnProperty.call(process.env, key)) {
65024
- process.env[key] = parsed[key];
65025
- } else {
65026
- if (override === true) {
65027
- process.env[key] = parsed[key];
65028
- }
65029
-
65030
- if (debug) {
65031
- if (override === true) {
65032
- log(`"${key}" is already defined in \`process.env\` and WAS overwritten`);
65033
- } else {
65034
- log(`"${key}" is already defined in \`process.env\` and was NOT overwritten`);
65035
- }
65036
- }
65037
- }
65038
- });
65039
-
65040
- return { parsed }
65041
- } catch (e) {
65042
- if (debug) {
65043
- log(`Failed to load ${dotenvPath} ${e.message}`);
65044
- }
65045
-
65046
- return { error: e }
65047
- }
65048
- }
65049
-
65050
- const DotenvModule = {
65051
- config,
65052
- parse
65053
- };
65054
-
65055
- main$1.exports.config = DotenvModule.config;
65056
- main$1.exports.parse = DotenvModule.parse;
65057
- main$1.exports = DotenvModule;
65058
-
65059
- var dotenvExpand = function (config) {
65060
- // if ignoring process.env, use a blank object
65061
- var environment = config.ignoreProcessEnv ? {} : process.env;
65062
-
65063
- var interpolate = function (envValue) {
65064
- var matches = envValue.match(/(.?\${?(?:[a-zA-Z0-9_]+)?}?)/g) || [];
65065
-
65066
- return matches.reduce(function (newEnv, match) {
65067
- var parts = /(.?)\${?([a-zA-Z0-9_]+)?}?/g.exec(match);
65068
- var prefix = parts[1];
65069
-
65070
- var value, replacePart;
65071
-
65072
- if (prefix === '\\') {
65073
- replacePart = parts[0];
65074
- value = replacePart.replace('\\$', '$');
65075
- } else {
65076
- var key = parts[2];
65077
- replacePart = parts[0].substring(prefix.length);
65078
- // process.env value 'wins' over .env file's value
65079
- value = environment.hasOwnProperty(key) ? environment[key] : (config.parsed[key] || '');
65080
-
65081
- // Resolve recursive interpolations
65082
- value = interpolate(value);
65083
- }
65084
-
65085
- return newEnv.replace(replacePart, value)
65086
- }, envValue)
65087
- };
65088
-
65089
- for (var configKey in config.parsed) {
65090
- var value = environment.hasOwnProperty(configKey) ? environment[configKey] : config.parsed[configKey];
65091
-
65092
- config.parsed[configKey] = interpolate(value);
65093
- }
65094
-
65095
- for (var processKey in config.parsed) {
65096
- environment[processKey] = config.parsed[processKey];
65097
- }
65098
-
65099
- return config
65100
- };
65101
-
65102
- var main = dotenvExpand;
65103
-
65104
- function loadEnv(mode, envDir, prefixes = 'VITE_') {
65105
- if (mode === 'local') {
65106
- throw new Error(`"local" cannot be used as a mode name because it conflicts with ` +
65107
- `the .local postfix for .env files.`);
65108
- }
65109
- prefixes = arraify(prefixes);
65110
- const env = {};
65111
- const envFiles = [
65112
- /** default file */ `.env`,
65113
- /** local file */ `.env.local`,
65114
- /** mode file */ `.env.${mode}`,
65115
- /** mode local file */ `.env.${mode}.local`
65116
- ];
65117
- // check if there are actual env variables starting with VITE_*
65118
- // these are typically provided inline and should be prioritized
65119
- for (const key in process.env) {
65120
- if (prefixes.some((prefix) => key.startsWith(prefix)) &&
65121
- env[key] === undefined) {
65122
- env[key] = process.env[key];
65123
- }
65124
- }
65125
- const parsed = Object.fromEntries(envFiles.flatMap((file) => {
65126
- const path = lookupFile(envDir, [file], {
65127
- pathOnly: true,
65128
- rootDir: envDir
65129
- });
65130
- if (!path)
65131
- return [];
65132
- return Object.entries(main$1.exports.parse(fs$l.readFileSync(path), {
65133
- debug: process.env.DEBUG?.includes('vite:dotenv')
65134
- }));
65135
- }));
65136
- // let environment variables use each other
65137
- main({
65138
- parsed,
65139
- // prevent process.env mutation
65140
- ignoreProcessEnv: true
65141
- });
65142
- // only keys that start with prefix are exposed to client
65143
- for (const [key, value] of Object.entries(parsed)) {
65144
- if (prefixes.some((prefix) => key.startsWith(prefix))) {
65145
- env[key] = value;
65146
- }
65147
- else if (key === 'NODE_ENV' &&
65148
- process.env.VITE_USER_NODE_ENV === undefined) {
65149
- // NODE_ENV override in .env file
65150
- process.env.VITE_USER_NODE_ENV = value;
65151
- }
65152
- }
65153
- return env;
65154
- }
65155
- function resolveEnvPrefix({ envPrefix = 'VITE_' }) {
65156
- envPrefix = arraify(envPrefix);
65157
- if (envPrefix.some((prefix) => prefix === '')) {
65158
- throw new Error(`envPrefix option contains value '', which could lead unexpected exposure of sensitive information.`);
65159
- }
65160
- return envPrefix;
65161
- }
65162
-
65163
65189
  function resolveSSROptions(ssr, preserveSymlinks, buildSsrCjsExternalHeuristics) {
65164
65190
  ssr ?? (ssr = {});
65165
65191
  const optimizeDeps = ssr.optimizeDeps ?? {};
@@ -65313,7 +65339,7 @@ async function resolveConfig(inlineConfig, command, defaultMode = 'development')
65313
65339
  ? '/'
65314
65340
  : './'
65315
65341
  : resolveBaseUrl(config.base, isBuild, logger) ?? '/';
65316
- const resolvedBuildOptions = resolveBuildOptions(config.build, isBuild, logger);
65342
+ const resolvedBuildOptions = resolveBuildOptions(config.build, logger);
65317
65343
  // resolve cache directory
65318
65344
  const pkgPath = lookupFile(resolvedRoot, [`package.json`], { pathOnly: true });
65319
65345
  const cacheDir = config.cacheDir
@@ -65755,4 +65781,4 @@ function isDepsOptimizerEnabled(config, ssr) {
65755
65781
  (command === 'serve' && disabled === 'dev'));
65756
65782
  }
65757
65783
 
65758
- 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 };