vite 3.0.6 → 3.0.9

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.
@@ -9995,9 +9995,6 @@ let traceSegment;
9995
9995
  let originalPositionFor$1;
9996
9996
  class TraceMap {
9997
9997
  constructor(map, mapUrl) {
9998
- this._decodedMemo = memoizedState();
9999
- this._bySources = undefined;
10000
- this._bySourceMemos = undefined;
10001
9998
  const isString = typeof map === 'string';
10002
9999
  if (!isString && map._decodedMemo)
10003
10000
  return map;
@@ -10020,6 +10017,9 @@ class TraceMap {
10020
10017
  this._encoded = undefined;
10021
10018
  this._decoded = maybeSort(mappings, isString);
10022
10019
  }
10020
+ this._decodedMemo = memoizedState();
10021
+ this._bySources = undefined;
10022
+ this._bySourceMemos = undefined;
10023
10023
  }
10024
10024
  }
10025
10025
  (() => {
@@ -12578,8 +12578,9 @@ function buildReporterPlugin(config) {
12578
12578
  return ` / gzip: ${((await compress(typeof code === 'string' ? code : Buffer.from(code)))
12579
12579
  .length / 1024).toFixed(2)} KiB`;
12580
12580
  }
12581
- function printFileInfo(filePath, content, type, maxLength, compressedSize = '') {
12582
- const outDir = normalizePath$3(path$n.relative(config.root, path$n.resolve(config.root, config.build.outDir))) + '/';
12581
+ function printFileInfo(filePath, content, type, maxLength, outDir = config.build.outDir, compressedSize = '') {
12582
+ outDir =
12583
+ normalizePath$3(path$n.relative(config.root, path$n.resolve(config.root, outDir))) + '/';
12583
12584
  const kibs = content.length / 1024;
12584
12585
  const sizeColor = kibs > chunkLimit ? picocolors.exports.yellow : picocolors.exports.dim;
12585
12586
  config.logger.info(`${picocolors.exports.gray(picocolors.exports.white(picocolors.exports.dim(outDir)))}${writeColors[type](filePath.padEnd(maxLength + 2))} ${sizeColor(`${kibs.toFixed(2)} KiB${compressedSize}`)}`);
@@ -12645,7 +12646,7 @@ function buildReporterPlugin(config) {
12645
12646
  process.stdout.cursorTo(0);
12646
12647
  }
12647
12648
  },
12648
- async writeBundle(_, output) {
12649
+ async writeBundle({ dir: outDir }, output) {
12649
12650
  let hasLargeChunks = false;
12650
12651
  if (shouldLogInfo) {
12651
12652
  let longest = 0;
@@ -12661,9 +12662,9 @@ function buildReporterPlugin(config) {
12661
12662
  const chunk = output[file];
12662
12663
  if (chunk.type === 'chunk') {
12663
12664
  const log = async () => {
12664
- printFileInfo(chunk.fileName, chunk.code, 0 /* JS */, longest, await getCompressedSize(chunk.code));
12665
+ printFileInfo(chunk.fileName, chunk.code, 0 /* JS */, longest, outDir, await getCompressedSize(chunk.code));
12665
12666
  if (chunk.map) {
12666
- printFileInfo(chunk.fileName + '.map', chunk.map.toString(), 4 /* SOURCE_MAP */, longest);
12667
+ printFileInfo(chunk.fileName + '.map', chunk.map.toString(), 4 /* SOURCE_MAP */, longest, outDir);
12667
12668
  }
12668
12669
  };
12669
12670
  if (isLarge(chunk.code)) {
@@ -12681,7 +12682,7 @@ function buildReporterPlugin(config) {
12681
12682
  ? 1 /* CSS */
12682
12683
  : isMap
12683
12684
  ? 4 /* SOURCE_MAP */
12684
- : 2 /* ASSET */, longest, isCSS ? await getCompressedSize(chunk.source) : undefined);
12685
+ : 2 /* ASSET */, longest, outDir, isCSS ? await getCompressedSize(chunk.source) : undefined);
12685
12686
  }
12686
12687
  }));
12687
12688
  await Promise.all(deferredLogs.map((l) => l()));
@@ -33265,6 +33266,46 @@ function registerCustomMime() {
33265
33266
  // https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Common_types
33266
33267
  mimes$1['eot'] = 'application/vnd.ms-fontobject';
33267
33268
  }
33269
+ function renderAssetUrlInJS(ctx, config, chunk, opts, code) {
33270
+ let match;
33271
+ let s;
33272
+ // Urls added with JS using e.g.
33273
+ // imgElement.src = "__VITE_ASSET__5aa0ddc0__" are using quotes
33274
+ // Urls added in CSS that is imported in JS end up like
33275
+ // var inlined = ".inlined{color:green;background:url(__VITE_ASSET__5aa0ddc0__)}\n";
33276
+ // In both cases, the wrapping should already be fine
33277
+ while ((match = assetUrlRE.exec(code))) {
33278
+ s || (s = new MagicString(code));
33279
+ const [full, hash, postfix = ''] = match;
33280
+ // some internal plugins may still need to emit chunks (e.g. worker) so
33281
+ // fallback to this.getFileName for that. TODO: remove, not needed
33282
+ const file = getAssetFilename(hash, config) || ctx.getFileName(hash);
33283
+ chunk.viteMetadata.importedAssets.add(cleanUrl(file));
33284
+ const filename = file + postfix;
33285
+ const replacement = toOutputFilePathInString(filename, 'asset', chunk.fileName, 'js', config, opts.format);
33286
+ const replacementString = typeof replacement === 'string'
33287
+ ? JSON.stringify(replacement).slice(1, -1)
33288
+ : `"+${replacement.runtime}+"`;
33289
+ s.overwrite(match.index, match.index + full.length, replacementString, {
33290
+ contentOnly: true
33291
+ });
33292
+ }
33293
+ // Replace __VITE_PUBLIC_ASSET__5aa0ddc0__ with absolute paths
33294
+ const publicAssetUrlMap = publicAssetUrlCache.get(config);
33295
+ while ((match = publicAssetUrlRE.exec(code))) {
33296
+ s || (s = new MagicString(code));
33297
+ const [full, hash] = match;
33298
+ const publicUrl = publicAssetUrlMap.get(hash).slice(1);
33299
+ const replacement = toOutputFilePathInString(publicUrl, 'public', chunk.fileName, 'js', config, opts.format);
33300
+ const replacementString = typeof replacement === 'string'
33301
+ ? JSON.stringify(replacement).slice(1, -1)
33302
+ : `"+${replacement.runtime}+"`;
33303
+ s.overwrite(match.index, match.index + full.length, replacementString, {
33304
+ contentOnly: true
33305
+ });
33306
+ }
33307
+ return s;
33308
+ }
33268
33309
  /**
33269
33310
  * Also supports loading plain strings with import text from './foo.txt?raw'
33270
33311
  */
@@ -33308,44 +33349,8 @@ function assetPlugin(config) {
33308
33349
  const url = await fileToUrl(id, config, this);
33309
33350
  return `export default ${JSON.stringify(url)}`;
33310
33351
  },
33311
- renderChunk(code, chunk, outputOptions) {
33312
- let match;
33313
- let s;
33314
- // Urls added with JS using e.g.
33315
- // imgElement.src = "__VITE_ASSET__5aa0ddc0__" are using quotes
33316
- // Urls added in CSS that is imported in JS end up like
33317
- // var inlined = ".inlined{color:green;background:url(__VITE_ASSET__5aa0ddc0__)}\n";
33318
- // In both cases, the wrapping should already be fine
33319
- while ((match = assetUrlRE.exec(code))) {
33320
- s = s || (s = new MagicString(code));
33321
- const [full, hash, postfix = ''] = match;
33322
- // some internal plugins may still need to emit chunks (e.g. worker) so
33323
- // fallback to this.getFileName for that. TODO: remove, not needed
33324
- const file = getAssetFilename(hash, config) || this.getFileName(hash);
33325
- chunk.viteMetadata.importedAssets.add(cleanUrl(file));
33326
- const filename = file + postfix;
33327
- const replacement = toOutputFilePathInString(filename, 'asset', chunk.fileName, 'js', config, outputOptions.format);
33328
- const replacementString = typeof replacement === 'string'
33329
- ? JSON.stringify(replacement).slice(1, -1)
33330
- : `"+${replacement.runtime}+"`;
33331
- s.overwrite(match.index, match.index + full.length, replacementString, {
33332
- contentOnly: true
33333
- });
33334
- }
33335
- // Replace __VITE_PUBLIC_ASSET__5aa0ddc0__ with absolute paths
33336
- const publicAssetUrlMap = publicAssetUrlCache.get(config);
33337
- while ((match = publicAssetUrlRE.exec(code))) {
33338
- s = s || (s = new MagicString(code));
33339
- const [full, hash] = match;
33340
- const publicUrl = publicAssetUrlMap.get(hash).slice(1);
33341
- const replacement = toOutputFilePathInString(publicUrl, 'public', chunk.fileName, 'js', config, outputOptions.format);
33342
- const replacementString = typeof replacement === 'string'
33343
- ? JSON.stringify(replacement).slice(1, -1)
33344
- : `"+${replacement.runtime}+"`;
33345
- s.overwrite(match.index, match.index + full.length, replacementString, {
33346
- contentOnly: true
33347
- });
33348
- }
33352
+ renderChunk(code, chunk, opts) {
33353
+ const s = renderAssetUrlInJS(this, config, chunk, opts, code);
33349
33354
  if (s) {
33350
33355
  return {
33351
33356
  code: s.toString(),
@@ -33575,8 +33580,8 @@ async function urlToBuiltUrl(url, importer, config, pluginContext) {
33575
33580
  true);
33576
33581
  }
33577
33582
 
33578
- /* es-module-lexer 0.10.5 */
33579
- 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 J=[],i=[];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))),J.push({n:k,s:A,e:Q,ss:I,se:o,d:g,a:B});}for(;C.re();){const A=E.slice(C.es(),C.ee()),Q=A[0];i.push('"'===Q||"'"===Q?w(A):A);}function w(A){try{return (0, eval)(A)}catch(A){}}return [J,i,!!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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ajYCiApBARAhIQMLQQAoAogKIQICQCADQf0ARg0AIAIgAUYNBSACIQEgAkEAKAKMCk0NAQwFCwtBACACQQJqNgKICgwBC0EAIANBAmo2AogKQQEQIRpBACgCiAoiAiACECYaC0EBECEhAgtBACgCiAohAwJAIAJB5gBHDQAgA0ECakGeCEEGECgNAEEAIANBCGo2AogKIABBARAhECIPC0EAIANBfmo2AogKDAMLEB0PCwJAIAMpAAJC7ICEg7COwDlSDQAgAy8BChAeRQ0AQQAgA0EKajYCiApBARAhIQJBACgCiAohAyACECQaIANBACgCiAoQAkEAQQAoAogKQX5qNgKICg8LQQAgA0EEaiIDNgKICgtBACADQQRqIgI2AogKQQBBADoA5AkDQEEAIAJBAmo2AogKQQEQISEDQQAoAogKIQICQCADECRBIHJB+wBHDQBBAEEAKAKICkF+ajYCiAoPC0EAKAKICiIDIAJGDQEgAiADEAICQEEBECEiAkEsRg0AAkAgAkE9Rw0AQQBBACgCiApBfmo2AogKDwtBAEEAKAKICkF+ajYCiAoPC0EAKAKICiECDAALCw8LQQAgA0EKajYCiApBARAhGkEAKAKICiEDC0EAIANBEGo2AogKAkBBARAhIgJBKkcNAEEAQQAoAogKQQJqNgKICkEBECEhAgtBACgCiAohAyACECQaIANBACgCiAoQAkEAQQAoAogKQX5qNgKICg8LIAMgA0EOahACC6sGAQR/QQBBACgCiAoiAEEMaiIBNgKICgJAAkACQAJAAkACQAJAAkACQAJAQQEQISICQVlqDggCCAECAQEBBwALIAJBIkYNASACQfsARg0CC0EAKAKICiABRg0HC0EALwHqCQ0BQQAoAogKIQJBACgCjAohAwNAIAIgA08NBAJAAkAgAi8BACIBQSdGDQAgAUEiRw0BCyAAIAEQIg8LQQAgAkECaiICNgKICgwACwtBACgCiAohAkEALwHqCQ0BAkADQAJAAkACQCACQQAoAowKTw0AQQEQISICQSJGDQEgAkEnRg0BIAJB/QBHDQJBAEEAKAKICkECajYCiAoLQQEQIRpBACgCiAoiAikAAELmgMiD8I3ANlINBkEAIAJBCGo2AogKQQEQISICQSJGDQMgAkEnRg0DDAYLIAIQFwtBAEEAKAKICkECaiICNgKICgwACwsgACACECIMBQtBAEEAKAKICkF+ajYCiAoPC0EAIAJBfmo2AogKDwsQHQ8LQQBBACgCiApBAmo2AogKQQEQIUHtAEcNAUEAKAKICiICQQJqQZYIQQYQKA0BQQAoAvAJLwEAQS5GDQEgACAAIAJBCGpBACgCqAkQAQ8LQQAoAvwJQQAvAeoJIgJBAnRqQQAoAogKNgIAQQAgAkEBajsB6glBACgC8AkvAQBBLkYNAEEAQQAoAogKIgFBAmo2AogKQQEQISECIABBACgCiApBACABEAFBAEEALwHoCSIBQQFqOwHoCUEAKAKACiABQQJ0akEAKALECTYCAAJAIAJBIkYNACACQSdGDQBBAEEAKAKICkF+ajYCiAoPCyACEBdBAEEAKAKICkECaiICNgKICgJAAkACQEEBECFBV2oOBAECAgACC0EAQQAoAogKQQJqNgKICkEBECEaQQAoAsQJIgEgAjYCBCABQQE6ABggAUEAKAKICiICNgIQQQAgAkF+ajYCiAoPC0EAKALECSIBIAI2AgQgAUEBOgAYQQBBAC8B6glBf2o7AeoJIAFBACgCiApBAmo2AgxBAEEALwHoCUF/ajsB6AkPC0EAQQAoAogKQX5qNgKICg8LC0cBA39BACgCiApBAmohAEEAKAKMCiEBAkADQCAAIgJBfmogAU8NASACQQJqIQAgAi8BAEF2ag4EAQAAAQALC0EAIAI2AogKC5gBAQN/QQBBACgCiAoiAUECajYCiAogAUEGaiEBQQAoAowKIQIDQAJAAkACQCABQXxqIAJPDQAgAUF+ai8BACEDAkACQCAADQAgA0EqRg0BIANBdmoOBAIEBAIECyADQSpHDQMLIAEvAQBBL0cNAkEAIAFBfmo2AogKDAELIAFBfmohAQtBACABNgKICg8LIAFBAmohAQwACwu/AQEEf0EAKAKICiEAQQAoAowKIQECQAJAA0AgACICQQJqIQAgAiABTw0BAkACQCAALwEAIgNBpH9qDgUBAgICBAALIANBJEcNASACLwEEQfsARw0BQQBBAC8B5gkiAEEBajsB5glBACgC+AkgAEEBdGpBAC8B7Ak7AQBBACACQQRqNgKICkEAQQAvAeoJQQFqIgA7AewJQQAgADsB6gkPCyACQQRqIQAMAAsLQQAgADYCiAoQHQ8LQQAgADYCiAoL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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;
33583
+ /* es-module-lexer 1.0.3 */
33584
+ 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 D=C.sa(I-1);if((A?B:Q)(E,new Uint16Array(C.memory.buffer,D,I)),!C.parse())throw Object.assign(new Error(`Parse error ${g}:${E.slice(0,C.e()).split("\n").length}:${C.e()-E.lastIndexOf("\n",C.e()-1)}`),{idx:C.e()});const J=[],K=[];for(;C.ri();){const A=C.is(),Q=C.ie(),B=C.ai(),g=C.id(),I=C.ss(),o=C.se();let D;C.ip()&&(D=w(E.slice(-1===g?A-1:A,-1===g?Q+1:Q))),J.push({n:D,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],D=B<0?void 0:E.slice(B,g),J=D?D[0]:"";K.push({s:A,e:Q,ls:B,le:g,n:'"'===o||"'"===o?w(I):I,ln:'"'===J||"'"===J?w(D):D});}function w(A){try{return (0, eval)(A)}catch(A){}}return [J,K,!!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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lApBACgC4AkhAkEBECYhAwJAAkACQEEAKAKUCiIEIAFHDQAgAxAlRQ0BCwJAAkACQAJAIANBKkYNACADQfsARw0BQQAgBEECajYClApBARAmIQRBACgClAohAQNAAkACQCAEQf//A3EiA0EiRg0AIANBJ0YNACADECgaQQAoApQKIQMMAQsgAxAYQQBBACgClApBAmoiAzYClAoLQQEQJhoCQCABIAMQKSIEQSxHDQBBAEEAKAKUCkECajYClApBARAmIQQLQQAoApQKIQMgBEH9AEYNAyADIAFGDQYgAyEBIANBACgCmApNDQAMBgsLQQAgBEECajYClApBARAmGkEAKAKUCiIDIAMQKRoMAgtBAEEAOgD4CQJAAkACQAJAAkACQCADQZ9/ag4MAggEAQgDCAgICAgFAAsgA0H2AEYNBAwHCyAEIARBDmpBAEEAEAIPC0EAIARBCmo2ApQKQQEQJhpBACgClAohBAtBACAEQRBqNgKUCgJAQQEQJiIEQSpHDQBBAEEAKAKUCkECajYClApBARAmIQQLQQAoApQKIQMgBBAoGiADQQAoApQKIgQgAyAEEAJBAEEAKAKUCkF+ajYClAoPCwJAIAQpAAJC7ICEg7COwDlSDQAgBC8BChAeRQ0AQQAgBEEKajYClApBARAmIQRBACgClAohAyAEECgaIANBACgClAoiBCADIAQQAkEAQQAoApQKQX5qNgKUCg8LQQAgBEEEaiIENgKUCgtBACAEQQRqIgM2ApQKQQBBADoA+AkCQANAQQAgA0ECajYClApBARAmIQRBACgClAohAyAEEChBIHJB+wBGDQFBACgClAoiBCADRg0EIAMgBCADIAQQAkEBECZBLEcNAUEAKAKUCiEDDAALC0EAQQAoApQKQX5qNgKUCg8LQQAgA0ECajYClAoLQQEQJiEEQQAoApQKIQMCQCAEQeYARw0AIANBAmpBnghBBhArDQBBACADQQhqNgKUCiAAQQEQJhAnIAJBEGpBzAkgAhshAwNAIAMoAgAiA0UNAiADQgA3AgggA0EQaiEDDAALC0EAIANBfmo2ApQKCw8LECILvgYBBH9BAEEAKAKUCiIAQQxqIgE2ApQKAkACQAJAAkACQAJAAkACQAJAAkBBARAmIgJBWWoOCAQCAQQBAQEDAAsgAkEiRg0DIAJB+wBGDQQLQQAo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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;
33580
33585
 
33581
33586
  /**
33582
33587
  * @param {object} exports
@@ -33690,6 +33695,288 @@ function resolve(pkg, entry='.', options={}) {
33690
33695
  }
33691
33696
  }
33692
33697
 
33698
+ const HASH_RE = /#/g;
33699
+ const AMPERSAND_RE = /&/g;
33700
+ const EQUAL_RE = /=/g;
33701
+ const PLUS_RE = /\+/g;
33702
+ const ENC_BRACKET_OPEN_RE = /%5B/gi;
33703
+ const ENC_BRACKET_CLOSE_RE = /%5D/gi;
33704
+ const ENC_CARET_RE = /%5E/gi;
33705
+ const ENC_BACKTICK_RE = /%60/gi;
33706
+ const ENC_CURLY_OPEN_RE = /%7B/gi;
33707
+ const ENC_PIPE_RE = /%7C/gi;
33708
+ const ENC_CURLY_CLOSE_RE = /%7D/gi;
33709
+ const ENC_SPACE_RE = /%20/gi;
33710
+ function encode(text) {
33711
+ return encodeURI("" + text).replace(ENC_PIPE_RE, "|").replace(ENC_BRACKET_OPEN_RE, "[").replace(ENC_BRACKET_CLOSE_RE, "]");
33712
+ }
33713
+ function encodeQueryValue(text) {
33714
+ return encode(text).replace(PLUS_RE, "%2B").replace(ENC_SPACE_RE, "+").replace(HASH_RE, "%23").replace(AMPERSAND_RE, "%26").replace(ENC_BACKTICK_RE, "`").replace(ENC_CURLY_OPEN_RE, "{").replace(ENC_CURLY_CLOSE_RE, "}").replace(ENC_CARET_RE, "^");
33715
+ }
33716
+ function encodeQueryKey(text) {
33717
+ return encodeQueryValue(text).replace(EQUAL_RE, "%3D");
33718
+ }
33719
+ function encodeQueryItem(key, val) {
33720
+ if (typeof val === "number" || typeof val === "boolean") {
33721
+ val = String(val);
33722
+ }
33723
+ if (!val) {
33724
+ return encodeQueryKey(key);
33725
+ }
33726
+ if (Array.isArray(val)) {
33727
+ return val.map((_val) => `${encodeQueryKey(key)}=${encodeQueryValue(_val)}`).join("&");
33728
+ }
33729
+ return `${encodeQueryKey(key)}=${encodeQueryValue(val)}`;
33730
+ }
33731
+ function stringifyQuery(query) {
33732
+ return Object.keys(query).map((k) => encodeQueryItem(k, query[k])).join("&");
33733
+ }
33734
+
33735
+ /*---------------------------------------------------------------------------------------------
33736
+ * Copyright (c) Microsoft Corporation. All rights reserved.
33737
+ * Licensed under the MIT License. See License.txt in the project root for license information.
33738
+ *--------------------------------------------------------------------------------------------*/
33739
+ var ParseOptions;
33740
+ (function (ParseOptions) {
33741
+ ParseOptions.DEFAULT = {
33742
+ allowTrailingComma: false
33743
+ };
33744
+ })(ParseOptions || (ParseOptions = {}));
33745
+
33746
+ function matchAll(regex, string, addition) {
33747
+ const matches = [];
33748
+ for (const match of string.matchAll(regex)) {
33749
+ matches.push({
33750
+ ...addition,
33751
+ ...match.groups,
33752
+ code: match[0],
33753
+ start: match.index,
33754
+ end: match.index + match[0].length
33755
+ });
33756
+ }
33757
+ return matches;
33758
+ }
33759
+
33760
+ const isWindows$3 = process.platform === "win32";
33761
+ const own$1 = {}.hasOwnProperty;
33762
+ const messages = /* @__PURE__ */ new Map();
33763
+ const nodeInternalPrefix = "__node_internal_";
33764
+ let userStackTraceLimit;
33765
+ createError(
33766
+ "ERR_INVALID_MODULE_SPECIFIER",
33767
+ (request, reason, base = void 0) => {
33768
+ return `Invalid module "${request}" ${reason}${base ? ` imported from ${base}` : ""}`;
33769
+ },
33770
+ TypeError
33771
+ );
33772
+ createError(
33773
+ "ERR_INVALID_PACKAGE_CONFIG",
33774
+ (path, base, message) => {
33775
+ return `Invalid package config ${path}${base ? ` while importing ${base}` : ""}${message ? `. ${message}` : ""}`;
33776
+ },
33777
+ Error
33778
+ );
33779
+ createError(
33780
+ "ERR_INVALID_PACKAGE_TARGET",
33781
+ (pkgPath, key, target, isImport = false, base = void 0) => {
33782
+ const relError = typeof target === "string" && !isImport && target.length > 0 && !target.startsWith("./");
33783
+ if (key === ".") {
33784
+ assert$1(isImport === false);
33785
+ return `Invalid "exports" main target ${JSON.stringify(target)} defined in the package config ${pkgPath}package.json${base ? ` imported from ${base}` : ""}${relError ? '; targets must start with "./"' : ""}`;
33786
+ }
33787
+ return `Invalid "${isImport ? "imports" : "exports"}" target ${JSON.stringify(
33788
+ target
33789
+ )} defined for '${key}' in the package config ${pkgPath}package.json${base ? ` imported from ${base}` : ""}${relError ? '; targets must start with "./"' : ""}`;
33790
+ },
33791
+ Error
33792
+ );
33793
+ createError(
33794
+ "ERR_MODULE_NOT_FOUND",
33795
+ (path, base, type = "package") => {
33796
+ return `Cannot find ${type} '${path}' imported from ${base}`;
33797
+ },
33798
+ Error
33799
+ );
33800
+ createError(
33801
+ "ERR_PACKAGE_IMPORT_NOT_DEFINED",
33802
+ (specifier, packagePath, base) => {
33803
+ return `Package import specifier "${specifier}" is not defined${packagePath ? ` in package ${packagePath}package.json` : ""} imported from ${base}`;
33804
+ },
33805
+ TypeError
33806
+ );
33807
+ createError(
33808
+ "ERR_PACKAGE_PATH_NOT_EXPORTED",
33809
+ (pkgPath, subpath, base = void 0) => {
33810
+ if (subpath === ".") {
33811
+ return `No "exports" main defined in ${pkgPath}package.json${base ? ` imported from ${base}` : ""}`;
33812
+ }
33813
+ return `Package subpath '${subpath}' is not defined by "exports" in ${pkgPath}package.json${base ? ` imported from ${base}` : ""}`;
33814
+ },
33815
+ Error
33816
+ );
33817
+ createError(
33818
+ "ERR_UNSUPPORTED_DIR_IMPORT",
33819
+ "Directory import '%s' is not supported resolving ES modules imported from %s",
33820
+ Error
33821
+ );
33822
+ createError(
33823
+ "ERR_UNKNOWN_FILE_EXTENSION",
33824
+ 'Unknown file extension "%s" for %s',
33825
+ TypeError
33826
+ );
33827
+ createError(
33828
+ "ERR_INVALID_ARG_VALUE",
33829
+ (name, value, reason = "is invalid") => {
33830
+ let inspected = inspect(value);
33831
+ if (inspected.length > 128) {
33832
+ inspected = `${inspected.slice(0, 128)}...`;
33833
+ }
33834
+ const type = name.includes(".") ? "property" : "argument";
33835
+ return `The ${type} '${name}' ${reason}. Received ${inspected}`;
33836
+ },
33837
+ TypeError
33838
+ );
33839
+ createError(
33840
+ "ERR_UNSUPPORTED_ESM_URL_SCHEME",
33841
+ (url) => {
33842
+ let message = "Only file and data URLs are supported by the default ESM loader";
33843
+ if (isWindows$3 && url.protocol.length === 2) {
33844
+ message += ". On Windows, absolute paths must be valid file:// URLs";
33845
+ }
33846
+ message += `. Received protocol '${url.protocol}'`;
33847
+ return message;
33848
+ },
33849
+ Error
33850
+ );
33851
+ function createError(sym, value, def) {
33852
+ messages.set(sym, value);
33853
+ return makeNodeErrorWithCode(def, sym);
33854
+ }
33855
+ function makeNodeErrorWithCode(Base, key) {
33856
+ return NodeError;
33857
+ function NodeError(...args) {
33858
+ const limit = Error.stackTraceLimit;
33859
+ if (isErrorStackTraceLimitWritable()) {
33860
+ Error.stackTraceLimit = 0;
33861
+ }
33862
+ const error = new Base();
33863
+ if (isErrorStackTraceLimitWritable()) {
33864
+ Error.stackTraceLimit = limit;
33865
+ }
33866
+ const message = getMessage(key, args, error);
33867
+ Object.defineProperty(error, "message", {
33868
+ value: message,
33869
+ enumerable: false,
33870
+ writable: true,
33871
+ configurable: true
33872
+ });
33873
+ Object.defineProperty(error, "toString", {
33874
+ value() {
33875
+ return `${this.name} [${key}]: ${this.message}`;
33876
+ },
33877
+ enumerable: false,
33878
+ writable: true,
33879
+ configurable: true
33880
+ });
33881
+ addCodeToName(error, Base.name, key);
33882
+ error.code = key;
33883
+ return error;
33884
+ }
33885
+ }
33886
+ const addCodeToName = hideStackFrames(
33887
+ function(error, name, code) {
33888
+ error = captureLargerStackTrace(error);
33889
+ error.name = `${name} [${code}]`;
33890
+ if (name === "SystemError") {
33891
+ Object.defineProperty(error, "name", {
33892
+ value: name,
33893
+ enumerable: false,
33894
+ writable: true,
33895
+ configurable: true
33896
+ });
33897
+ } else {
33898
+ delete error.name;
33899
+ }
33900
+ }
33901
+ );
33902
+ function isErrorStackTraceLimitWritable() {
33903
+ const desc = Object.getOwnPropertyDescriptor(Error, "stackTraceLimit");
33904
+ if (desc === void 0) {
33905
+ return Object.isExtensible(Error);
33906
+ }
33907
+ return own$1.call(desc, "writable") ? desc.writable : desc.set !== void 0;
33908
+ }
33909
+ function hideStackFrames(fn) {
33910
+ const hidden = nodeInternalPrefix + fn.name;
33911
+ Object.defineProperty(fn, "name", { value: hidden });
33912
+ return fn;
33913
+ }
33914
+ const captureLargerStackTrace = hideStackFrames(
33915
+ function(error) {
33916
+ const stackTraceLimitIsWritable = isErrorStackTraceLimitWritable();
33917
+ if (stackTraceLimitIsWritable) {
33918
+ userStackTraceLimit = Error.stackTraceLimit;
33919
+ Error.stackTraceLimit = Number.POSITIVE_INFINITY;
33920
+ }
33921
+ Error.captureStackTrace(error);
33922
+ if (stackTraceLimitIsWritable) {
33923
+ Error.stackTraceLimit = userStackTraceLimit;
33924
+ }
33925
+ return error;
33926
+ }
33927
+ );
33928
+ function getMessage(key, args, self) {
33929
+ const message = messages.get(key);
33930
+ if (typeof message === "function") {
33931
+ assert$1(
33932
+ message.length <= args.length,
33933
+ `Code: ${key}; The provided arguments length (${args.length}) does not match the required ones (${message.length}).`
33934
+ );
33935
+ return Reflect.apply(message, self, args);
33936
+ }
33937
+ const expectedLength = (message.match(/%[dfijoOs]/g) || []).length;
33938
+ assert$1(
33939
+ expectedLength === args.length,
33940
+ `Code: ${key}; The provided arguments length (${args.length}) does not match the required ones (${expectedLength}).`
33941
+ );
33942
+ if (args.length === 0) {
33943
+ return message;
33944
+ }
33945
+ args.unshift(message);
33946
+ return Reflect.apply(format$2, null, args);
33947
+ }
33948
+ Object.freeze(["node", "import"]);
33949
+ pathToFileURL$1(process.cwd());
33950
+
33951
+ const ESM_STATIC_IMPORT_RE = /(?<=\s|^|;)import\s*(["'\s]*(?<imports>[\w*${}\n\r\t, /]+)from\s*)?["']\s*(?<specifier>(?<="\s*)[^"]*[^"\s](?=\s*")|(?<='\s*)[^']*[^'\s](?=\s*'))\s*["'][\s;]*/gm;
33952
+ function findStaticImports(code) {
33953
+ return matchAll(ESM_STATIC_IMPORT_RE, code, { type: "static" });
33954
+ }
33955
+ function parseStaticImport(matched) {
33956
+ const cleanedImports = (matched.imports || "").replace(/(\/\/[^\n]*\n|\/\*.*\*\/)/g, "").replace(/\s+/g, " ");
33957
+ const namedImports = {};
33958
+ for (const namedImport of cleanedImports.match(/\{([^}]*)\}/)?.[1]?.split(",") || []) {
33959
+ const [, source = namedImport.trim(), importName = source] = namedImport.match(/^\s*([^\s]*) as ([^\s]*)\s*$/) || [];
33960
+ if (source) {
33961
+ namedImports[source] = importName;
33962
+ }
33963
+ }
33964
+ const topLevelImports = cleanedImports.replace(/\{([^}]*)\}/, "");
33965
+ const namespacedImport = topLevelImports.match(/\* as \s*([^\s]*)/)?.[1];
33966
+ const defaultImport = topLevelImports.split(",").find((i) => !i.match(/[*{}]/))?.trim() || void 0;
33967
+ return {
33968
+ ...matched,
33969
+ defaultImport,
33970
+ namespacedImport,
33971
+ namedImports
33972
+ };
33973
+ }
33974
+
33975
+ const ESM_RE = /([\s;]|^)(import[\w,{}\s*]*from|import\s*['"*{]|export\b\s*(?:[*{]|default|class|type|function|const|var|let|async function)|import\.meta\b)/m;
33976
+ function hasESMSyntax(code) {
33977
+ return ESM_RE.test(code);
33978
+ }
33979
+
33693
33980
  const isDebug$5 = process.env.DEBUG;
33694
33981
  const debug$d = createDebugger('vite:resolve-details', {
33695
33982
  onlyWhenFocused: true
@@ -34351,21 +34638,20 @@ function resolvePackageEntry(id, { dir, data, setResolvedCache, getResolvedCache
34351
34638
  data.module !== browserEntry) {
34352
34639
  // if both are present, we may have a problem: some package points both
34353
34640
  // to ESM, with "module" targeting Node.js, while some packages points
34354
- // "module" to browser ESM and "browser" to UMD.
34641
+ // "module" to browser ESM and "browser" to UMD/IIFE.
34355
34642
  // the heuristics here is to actually read the browser entry when
34356
- // possible and check for hints of UMD. If it is UMD, prefer "module"
34643
+ // possible and check for hints of ESM. If it is not ESM, prefer "module"
34357
34644
  // instead; Otherwise, assume it's ESM and use it.
34358
34645
  const resolvedBrowserEntry = tryFsResolve(path$n.join(dir, browserEntry), options);
34359
34646
  if (resolvedBrowserEntry) {
34360
34647
  const content = fs$l.readFileSync(resolvedBrowserEntry, 'utf-8');
34361
- if ((/typeof exports\s*==/.test(content) &&
34362
- /typeof module\s*==/.test(content)) ||
34363
- /module\.exports\s*=/.test(content)) {
34364
- // likely UMD or CJS(!!! e.g. firebase 7.x), prefer module
34365
- entryPoint = data.module;
34648
+ if (hasESMSyntax(content)) {
34649
+ // likely ESM, prefer browser
34650
+ entryPoint = browserEntry;
34366
34651
  }
34367
34652
  else {
34368
- entryPoint = browserEntry;
34653
+ // non-ESM, UMD or IIFE or CJS(!!! e.g. firebase 7.x), prefer module
34654
+ entryPoint = data.module;
34369
34655
  }
34370
34656
  }
34371
34657
  }
@@ -35333,43 +35619,6 @@ async function createPluginContainer({ plugins, logger, root, build: { rollupOpt
35333
35619
  return container;
35334
35620
  }
35335
35621
 
35336
- const HASH_RE = /#/g;
35337
- const AMPERSAND_RE = /&/g;
35338
- const EQUAL_RE = /=/g;
35339
- const PLUS_RE = /\+/g;
35340
- const ENC_BRACKET_OPEN_RE = /%5B/gi;
35341
- const ENC_BRACKET_CLOSE_RE = /%5D/gi;
35342
- const ENC_CARET_RE = /%5E/gi;
35343
- const ENC_BACKTICK_RE = /%60/gi;
35344
- const ENC_CURLY_OPEN_RE = /%7B/gi;
35345
- const ENC_PIPE_RE = /%7C/gi;
35346
- const ENC_CURLY_CLOSE_RE = /%7D/gi;
35347
- const ENC_SPACE_RE = /%20/gi;
35348
- function encode(text) {
35349
- return encodeURI("" + text).replace(ENC_PIPE_RE, "|").replace(ENC_BRACKET_OPEN_RE, "[").replace(ENC_BRACKET_CLOSE_RE, "]");
35350
- }
35351
- function encodeQueryValue(text) {
35352
- return encode(text).replace(PLUS_RE, "%2B").replace(ENC_SPACE_RE, "+").replace(HASH_RE, "%23").replace(AMPERSAND_RE, "%26").replace(ENC_BACKTICK_RE, "`").replace(ENC_CURLY_OPEN_RE, "{").replace(ENC_CURLY_CLOSE_RE, "}").replace(ENC_CARET_RE, "^");
35353
- }
35354
- function encodeQueryKey(text) {
35355
- return encodeQueryValue(text).replace(EQUAL_RE, "%3D");
35356
- }
35357
- function encodeQueryItem(key, val) {
35358
- if (typeof val === "number" || typeof val === "boolean") {
35359
- val = String(val);
35360
- }
35361
- if (!val) {
35362
- return encodeQueryKey(key);
35363
- }
35364
- if (Array.isArray(val)) {
35365
- return val.map((_val) => `${encodeQueryKey(key)}=${encodeQueryValue(_val)}`).join("&");
35366
- }
35367
- return `${encodeQueryKey(key)}=${encodeQueryValue(val)}`;
35368
- }
35369
- function stringifyQuery(query) {
35370
- return Object.keys(query).map((k) => encodeQueryItem(k, query[k])).join("&");
35371
- }
35372
-
35373
35622
  const { isMatch: isMatch$2, scan } = micromatch_1;
35374
35623
  function getAffectedGlobModules(file, server) {
35375
35624
  const modules = [];
@@ -35704,7 +35953,7 @@ async function toAbsoluteGlob(glob, root, importer, resolveId) {
35704
35953
  const resolved = normalizePath$3((await resolveId(glob, importer)) || glob);
35705
35954
  if (isAbsolute$2(resolved))
35706
35955
  return pre + resolved;
35707
- throw new Error(`Invalid glob: "${glob}" (resolved: "${resolved}"). It must starts with '/' or './'`);
35956
+ throw new Error(`Invalid glob: "${glob}" (resolved: "${resolved}"). It must start with '/' or './'`);
35708
35957
  }
35709
35958
  function getCommonBase(globsResolved) {
35710
35959
  const bases = globsResolved
@@ -37208,7 +37457,7 @@ async function extractExportsData(filePath, config, ssr) {
37208
37457
  const [imports, exports, facade] = parse$b(result.outputFiles[0].text);
37209
37458
  return {
37210
37459
  hasImports: imports.length > 0,
37211
- exports,
37460
+ exports: exports.map((e) => e.n),
37212
37461
  facade
37213
37462
  };
37214
37463
  }
@@ -37236,7 +37485,7 @@ async function extractExportsData(filePath, config, ssr) {
37236
37485
  const [imports, exports, facade] = parseResult;
37237
37486
  const exportsData = {
37238
37487
  hasImports: imports.length > 0,
37239
- exports,
37488
+ exports: exports.map((e) => e.n),
37240
37489
  facade,
37241
37490
  hasReExports: imports.some(({ ss, se }) => {
37242
37491
  const exp = entryContent.slice(ss, se);
@@ -37362,246 +37611,6 @@ var index$1 = {
37362
37611
  getDepsOptimizer: getDepsOptimizer
37363
37612
  };
37364
37613
 
37365
- /*---------------------------------------------------------------------------------------------
37366
- * Copyright (c) Microsoft Corporation. All rights reserved.
37367
- * Licensed under the MIT License. See License.txt in the project root for license information.
37368
- *--------------------------------------------------------------------------------------------*/
37369
- var ParseOptions;
37370
- (function (ParseOptions) {
37371
- ParseOptions.DEFAULT = {
37372
- allowTrailingComma: false
37373
- };
37374
- })(ParseOptions || (ParseOptions = {}));
37375
-
37376
- function matchAll(regex, string, addition) {
37377
- const matches = [];
37378
- for (const match of string.matchAll(regex)) {
37379
- matches.push({
37380
- ...addition,
37381
- ...match.groups,
37382
- code: match[0],
37383
- start: match.index,
37384
- end: match.index + match[0].length
37385
- });
37386
- }
37387
- return matches;
37388
- }
37389
-
37390
- const isWindows$3 = process.platform === "win32";
37391
- const own$1 = {}.hasOwnProperty;
37392
- const messages = /* @__PURE__ */ new Map();
37393
- const nodeInternalPrefix = "__node_internal_";
37394
- let userStackTraceLimit;
37395
- createError(
37396
- "ERR_INVALID_MODULE_SPECIFIER",
37397
- (request, reason, base = void 0) => {
37398
- return `Invalid module "${request}" ${reason}${base ? ` imported from ${base}` : ""}`;
37399
- },
37400
- TypeError
37401
- );
37402
- createError(
37403
- "ERR_INVALID_PACKAGE_CONFIG",
37404
- (path, base, message) => {
37405
- return `Invalid package config ${path}${base ? ` while importing ${base}` : ""}${message ? `. ${message}` : ""}`;
37406
- },
37407
- Error
37408
- );
37409
- createError(
37410
- "ERR_INVALID_PACKAGE_TARGET",
37411
- (pkgPath, key, target, isImport = false, base = void 0) => {
37412
- const relError = typeof target === "string" && !isImport && target.length > 0 && !target.startsWith("./");
37413
- if (key === ".") {
37414
- assert$1(isImport === false);
37415
- return `Invalid "exports" main target ${JSON.stringify(target)} defined in the package config ${pkgPath}package.json${base ? ` imported from ${base}` : ""}${relError ? '; targets must start with "./"' : ""}`;
37416
- }
37417
- return `Invalid "${isImport ? "imports" : "exports"}" target ${JSON.stringify(
37418
- target
37419
- )} defined for '${key}' in the package config ${pkgPath}package.json${base ? ` imported from ${base}` : ""}${relError ? '; targets must start with "./"' : ""}`;
37420
- },
37421
- Error
37422
- );
37423
- createError(
37424
- "ERR_MODULE_NOT_FOUND",
37425
- (path, base, type = "package") => {
37426
- return `Cannot find ${type} '${path}' imported from ${base}`;
37427
- },
37428
- Error
37429
- );
37430
- createError(
37431
- "ERR_PACKAGE_IMPORT_NOT_DEFINED",
37432
- (specifier, packagePath, base) => {
37433
- return `Package import specifier "${specifier}" is not defined${packagePath ? ` in package ${packagePath}package.json` : ""} imported from ${base}`;
37434
- },
37435
- TypeError
37436
- );
37437
- createError(
37438
- "ERR_PACKAGE_PATH_NOT_EXPORTED",
37439
- (pkgPath, subpath, base = void 0) => {
37440
- if (subpath === ".") {
37441
- return `No "exports" main defined in ${pkgPath}package.json${base ? ` imported from ${base}` : ""}`;
37442
- }
37443
- return `Package subpath '${subpath}' is not defined by "exports" in ${pkgPath}package.json${base ? ` imported from ${base}` : ""}`;
37444
- },
37445
- Error
37446
- );
37447
- createError(
37448
- "ERR_UNSUPPORTED_DIR_IMPORT",
37449
- "Directory import '%s' is not supported resolving ES modules imported from %s",
37450
- Error
37451
- );
37452
- createError(
37453
- "ERR_UNKNOWN_FILE_EXTENSION",
37454
- 'Unknown file extension "%s" for %s',
37455
- TypeError
37456
- );
37457
- createError(
37458
- "ERR_INVALID_ARG_VALUE",
37459
- (name, value, reason = "is invalid") => {
37460
- let inspected = inspect(value);
37461
- if (inspected.length > 128) {
37462
- inspected = `${inspected.slice(0, 128)}...`;
37463
- }
37464
- const type = name.includes(".") ? "property" : "argument";
37465
- return `The ${type} '${name}' ${reason}. Received ${inspected}`;
37466
- },
37467
- TypeError
37468
- );
37469
- createError(
37470
- "ERR_UNSUPPORTED_ESM_URL_SCHEME",
37471
- (url) => {
37472
- let message = "Only file and data URLs are supported by the default ESM loader";
37473
- if (isWindows$3 && url.protocol.length === 2) {
37474
- message += ". On Windows, absolute paths must be valid file:// URLs";
37475
- }
37476
- message += `. Received protocol '${url.protocol}'`;
37477
- return message;
37478
- },
37479
- Error
37480
- );
37481
- function createError(sym, value, def) {
37482
- messages.set(sym, value);
37483
- return makeNodeErrorWithCode(def, sym);
37484
- }
37485
- function makeNodeErrorWithCode(Base, key) {
37486
- return NodeError;
37487
- function NodeError(...args) {
37488
- const limit = Error.stackTraceLimit;
37489
- if (isErrorStackTraceLimitWritable()) {
37490
- Error.stackTraceLimit = 0;
37491
- }
37492
- const error = new Base();
37493
- if (isErrorStackTraceLimitWritable()) {
37494
- Error.stackTraceLimit = limit;
37495
- }
37496
- const message = getMessage(key, args, error);
37497
- Object.defineProperty(error, "message", {
37498
- value: message,
37499
- enumerable: false,
37500
- writable: true,
37501
- configurable: true
37502
- });
37503
- Object.defineProperty(error, "toString", {
37504
- value() {
37505
- return `${this.name} [${key}]: ${this.message}`;
37506
- },
37507
- enumerable: false,
37508
- writable: true,
37509
- configurable: true
37510
- });
37511
- addCodeToName(error, Base.name, key);
37512
- error.code = key;
37513
- return error;
37514
- }
37515
- }
37516
- const addCodeToName = hideStackFrames(
37517
- function(error, name, code) {
37518
- error = captureLargerStackTrace(error);
37519
- error.name = `${name} [${code}]`;
37520
- if (name === "SystemError") {
37521
- Object.defineProperty(error, "name", {
37522
- value: name,
37523
- enumerable: false,
37524
- writable: true,
37525
- configurable: true
37526
- });
37527
- } else {
37528
- delete error.name;
37529
- }
37530
- }
37531
- );
37532
- function isErrorStackTraceLimitWritable() {
37533
- const desc = Object.getOwnPropertyDescriptor(Error, "stackTraceLimit");
37534
- if (desc === void 0) {
37535
- return Object.isExtensible(Error);
37536
- }
37537
- return own$1.call(desc, "writable") ? desc.writable : desc.set !== void 0;
37538
- }
37539
- function hideStackFrames(fn) {
37540
- const hidden = nodeInternalPrefix + fn.name;
37541
- Object.defineProperty(fn, "name", { value: hidden });
37542
- return fn;
37543
- }
37544
- const captureLargerStackTrace = hideStackFrames(
37545
- function(error) {
37546
- const stackTraceLimitIsWritable = isErrorStackTraceLimitWritable();
37547
- if (stackTraceLimitIsWritable) {
37548
- userStackTraceLimit = Error.stackTraceLimit;
37549
- Error.stackTraceLimit = Number.POSITIVE_INFINITY;
37550
- }
37551
- Error.captureStackTrace(error);
37552
- if (stackTraceLimitIsWritable) {
37553
- Error.stackTraceLimit = userStackTraceLimit;
37554
- }
37555
- return error;
37556
- }
37557
- );
37558
- function getMessage(key, args, self) {
37559
- const message = messages.get(key);
37560
- if (typeof message === "function") {
37561
- assert$1(
37562
- message.length <= args.length,
37563
- `Code: ${key}; The provided arguments length (${args.length}) does not match the required ones (${message.length}).`
37564
- );
37565
- return Reflect.apply(message, self, args);
37566
- }
37567
- const expectedLength = (message.match(/%[dfijoOs]/g) || []).length;
37568
- assert$1(
37569
- expectedLength === args.length,
37570
- `Code: ${key}; The provided arguments length (${args.length}) does not match the required ones (${expectedLength}).`
37571
- );
37572
- if (args.length === 0) {
37573
- return message;
37574
- }
37575
- args.unshift(message);
37576
- return Reflect.apply(format$2, null, args);
37577
- }
37578
- Object.freeze(["node", "import"]);
37579
- pathToFileURL$1(process.cwd());
37580
-
37581
- const ESM_STATIC_IMPORT_RE = /(?<=\s|^|;)import\s*(["'\s]*(?<imports>[\w*${}\n\r\t, /]+)from\s*)?["']\s*(?<specifier>(?<="\s*)[^"]*[^"\s](?=\s*")|(?<='\s*)[^']*[^'\s](?=\s*'))\s*["'][\s;]*/gm;
37582
- function findStaticImports(code) {
37583
- return matchAll(ESM_STATIC_IMPORT_RE, code, { type: "static" });
37584
- }
37585
- function parseStaticImport(matched) {
37586
- const cleanedImports = (matched.imports || "").replace(/(\/\/[^\n]*\n|\/\*.*\*\/)/g, "").replace(/\s+/g, " ");
37587
- const namedImports = {};
37588
- for (const namedImport of cleanedImports.match(/\{([^}]*)\}/)?.[1]?.split(",") || []) {
37589
- const [, source = namedImport.trim(), importName = source] = namedImport.match(/^\s*([^\s]*) as ([^\s]*)\s*$/) || [];
37590
- if (source) {
37591
- namedImports[source] = importName;
37592
- }
37593
- }
37594
- const topLevelImports = cleanedImports.replace(/\{([^}]*)\}/, "");
37595
- const namespacedImport = topLevelImports.match(/\* as \s*([^\s]*)/)?.[1];
37596
- const defaultImport = topLevelImports.split(",").find((i) => !i.match(/[*{}]/))?.trim() || void 0;
37597
- return {
37598
- ...matched,
37599
- defaultImport,
37600
- namespacedImport,
37601
- namedImports
37602
- };
37603
- }
37604
-
37605
37614
  const debugHmr = createDebugger('vite:hmr');
37606
37615
  const normalizedClientDir = normalizePath$3(CLIENT_DIR);
37607
37616
  function getShortName(file, root) {
@@ -39899,9 +39908,7 @@ async function loadAndTransform(id, url, server, options, timestamp) {
39899
39908
  }
39900
39909
  }
39901
39910
  const result = ssr
39902
- ? await ssrTransform(code, map, url, originalCode, {
39903
- json: { stringify: !!server.config.json?.stringify }
39904
- })
39911
+ ? await ssrTransform(code, map, url, originalCode, server.config)
39905
39912
  : {
39906
39913
  code,
39907
39914
  map,
@@ -40415,7 +40422,10 @@ function importAnalysisPlugin(config) {
40415
40422
  rewriteDone = true;
40416
40423
  }
40417
40424
  if (!rewriteDone) {
40418
- str().overwrite(start, end, isDynamicImport ? `'${url}'` : url, {
40425
+ let rewrittenUrl = JSON.stringify(url);
40426
+ if (!isDynamicImport)
40427
+ rewrittenUrl = rewrittenUrl.slice(1, -1);
40428
+ str().overwrite(start, end, rewrittenUrl, {
40419
40429
  contentOnly: true
40420
40430
  });
40421
40431
  }
@@ -40432,29 +40442,33 @@ function importAnalysisPlugin(config) {
40432
40442
  staticImportedUrls.add({ url: urlWithoutBase, id: resolvedId });
40433
40443
  }
40434
40444
  }
40435
- else if (!importer.startsWith(clientDir) && !ssr) {
40436
- // check @vite-ignore which suppresses dynamic import warning
40437
- const hasViteIgnore = /\/\*\s*@vite-ignore\s*\*\//.test(
40438
- // complete expression inside parens
40439
- source.slice(dynamicIndex + 1, end));
40440
- const url = rawUrl
40441
- .replace(/\/\*[\s\S]*?\*\/|([^\\:]|^)\/\/.*$/gm, '')
40442
- .trim();
40443
- if (!hasViteIgnore) {
40444
- this.warn(`\n` +
40445
- picocolors.exports.cyan(importerModule.file) +
40446
- `\n` +
40447
- generateCodeFrame(source, start) +
40448
- `\nThe above dynamic import cannot be analyzed by vite.\n` +
40449
- `See ${picocolors.exports.blue(`https://github.com/rollup/plugins/tree/master/packages/dynamic-import-vars#limitations`)} ` +
40450
- `for supported dynamic import formats. ` +
40451
- `If this is intended to be left as-is, you can use the ` +
40452
- `/* @vite-ignore */ comment inside the import() call to suppress this warning.\n`);
40445
+ else if (!importer.startsWith(clientDir)) {
40446
+ if (!importer.includes('node_modules')) {
40447
+ // check @vite-ignore which suppresses dynamic import warning
40448
+ const hasViteIgnore = /\/\*\s*@vite-ignore\s*\*\//.test(
40449
+ // complete expression inside parens
40450
+ source.slice(dynamicIndex + 1, end));
40451
+ if (!hasViteIgnore) {
40452
+ this.warn(`\n` +
40453
+ picocolors.exports.cyan(importerModule.file) +
40454
+ `\n` +
40455
+ generateCodeFrame(source, start) +
40456
+ `\nThe above dynamic import cannot be analyzed by Vite.\n` +
40457
+ `See ${picocolors.exports.blue(`https://github.com/rollup/plugins/tree/master/packages/dynamic-import-vars#limitations`)} ` +
40458
+ `for supported dynamic import formats. ` +
40459
+ `If this is intended to be left as-is, you can use the ` +
40460
+ `/* @vite-ignore */ comment inside the import() call to suppress this warning.\n`);
40461
+ }
40453
40462
  }
40454
- if (!/^('.*'|".*"|`.*`)$/.test(url) ||
40455
- isExplicitImportRequired(url.slice(1, -1))) {
40456
- needQueryInjectHelper = true;
40457
- str().overwrite(start, end, `__vite__injectQuery(${url}, 'import')`, { contentOnly: true });
40463
+ if (!ssr) {
40464
+ const url = rawUrl
40465
+ .replace(/\/\*[\s\S]*?\*\/|([^\\:]|^)\/\/.*$/gm, '')
40466
+ .trim();
40467
+ if (!/^('.*'|".*"|`.*`)$/.test(url) ||
40468
+ isExplicitImportRequired(url.slice(1, -1))) {
40469
+ needQueryInjectHelper = true;
40470
+ str().overwrite(start, end, `__vite__injectQuery(${url}, 'import')`, { contentOnly: true });
40471
+ }
40458
40472
  }
40459
40473
  }
40460
40474
  }
@@ -40517,7 +40531,7 @@ function importAnalysisPlugin(config) {
40517
40531
  if (!isSelfAccepting &&
40518
40532
  isPartiallySelfAccepting &&
40519
40533
  acceptedExports.size >= exports.length &&
40520
- exports.every((name) => acceptedExports.has(name))) {
40534
+ exports.every((e) => acceptedExports.has(e.n))) {
40521
40535
  isSelfAccepting = true;
40522
40536
  }
40523
40537
  const prunedImports = await moduleGraph.updateModuleInfo(importerModule, importedUrls, importedBindings, normalizedAcceptedUrls, isPartiallySelfAccepting ? acceptedExports : null, isSelfAccepting, ssr);
@@ -40851,7 +40865,10 @@ function buildImportAnalysisPlugin(config) {
40851
40865
  rewriteDone = true;
40852
40866
  }
40853
40867
  if (!rewriteDone) {
40854
- str().overwrite(start, end, isDynamicImport ? `'${file}'` : file, {
40868
+ let rewrittenUrl = JSON.stringify(file);
40869
+ if (!isDynamicImport)
40870
+ rewrittenUrl = rewrittenUrl.slice(1, -1);
40871
+ str().overwrite(start, end, rewrittenUrl, {
40855
40872
  contentOnly: true
40856
40873
  });
40857
40874
  }
@@ -41165,7 +41182,7 @@ const assetAttrsConfig = {
41165
41182
  const isAsyncScriptMap = new WeakMap();
41166
41183
  async function traverseHtml(html, filePath, visitor) {
41167
41184
  // lazy load compiler
41168
- const { parse, transform } = await import('./dep-c7c58113.js').then(function (n) { return n.c; });
41185
+ const { parse, transform } = await import('./dep-9d3f225a.js').then(function (n) { return n.c; });
41169
41186
  // @vue/compiler-core doesn't like lowercase doctypes
41170
41187
  html = html.replace(/<!doctype\s/i, '<!DOCTYPE ');
41171
41188
  try {
@@ -42100,17 +42117,20 @@ function cssPostPlugin(config) {
42100
42117
  chunk.viteMetadata.importedCss.add(this.getFileName(fileHandle));
42101
42118
  }
42102
42119
  else if (!config.build.ssr) {
42103
- // legacy build and inline css
42104
- // __VITE_ASSET__ and __VITE_PUBLIC_ASSET__ urls are processed by
42105
- // the vite:asset plugin, don't call resolveAssetUrlsInCss here
42106
42120
  chunkCSS = await finalizeCss(chunkCSS, true, config);
42121
+ let cssString = JSON.stringify(chunkCSS);
42122
+ cssString =
42123
+ renderAssetUrlInJS(this, config, chunk, opts, cssString)?.toString() || cssString;
42107
42124
  const style = `__vite_style__`;
42108
42125
  const injectCode = `var ${style} = document.createElement('style');` +
42109
- `${style}.innerHTML = ${JSON.stringify(chunkCSS)};` +
42126
+ `${style}.innerHTML = ${cssString};` +
42110
42127
  `document.head.appendChild(${style});`;
42128
+ const wrapIdx = code.indexOf('System.register');
42129
+ const insertMark = "'use strict';";
42130
+ const insertIdx = code.indexOf(insertMark, wrapIdx);
42131
+ const s = new MagicString(code);
42132
+ s.appendLeft(insertIdx + insertMark.length, injectCode);
42111
42133
  if (config.build.sourcemap) {
42112
- const s = new MagicString(code);
42113
- s.prepend(injectCode);
42114
42134
  // resolve public URL from CSS paths, we need to use absolute paths
42115
42135
  return {
42116
42136
  code: s.toString(),
@@ -42118,7 +42138,7 @@ function cssPostPlugin(config) {
42118
42138
  };
42119
42139
  }
42120
42140
  else {
42121
- return { code: injectCode + code };
42141
+ return { code: s.toString() };
42122
42142
  }
42123
42143
  }
42124
42144
  }
@@ -42303,7 +42323,7 @@ async function compileCSS(id, code, config, urlReplacer, atImportResolvers, serv
42303
42323
  logger: config.logger
42304
42324
  }));
42305
42325
  if (isModule) {
42306
- postcssPlugins.unshift((await import('./dep-2274fed5.js').then(function (n) { return n.i; })).default({
42326
+ postcssPlugins.unshift((await import('./dep-25be4b3b.js').then(function (n) { return n.i; })).default({
42307
42327
  ...modulesOptions,
42308
42328
  getJSON(cssFileName, _modules, outputFileName) {
42309
42329
  modules = _modules;
@@ -43153,7 +43173,7 @@ function ssrManifestPlugin(config) {
43153
43173
  const code = chunk.code;
43154
43174
  let imports;
43155
43175
  try {
43156
- imports = parse$b(code)[0].filter((i) => i.d > -1);
43176
+ imports = parse$b(code)[0].filter((i) => i.n && i.d > -1);
43157
43177
  }
43158
43178
  catch (e) {
43159
43179
  this.error(e, e.idx);
@@ -43314,6 +43334,40 @@ function ensureWatchPlugin() {
43314
43334
  };
43315
43335
  }
43316
43336
 
43337
+ function resolveChokidarOptions(options) {
43338
+ const { ignored = [], ...otherOptions } = options ?? {};
43339
+ const resolvedWatchOptions = {
43340
+ ignored: [
43341
+ '**/.git/**',
43342
+ '**/node_modules/**',
43343
+ '**/test-results/**',
43344
+ ...(Array.isArray(ignored) ? ignored : [ignored])
43345
+ ],
43346
+ ignoreInitial: true,
43347
+ ignorePermissionErrors: true,
43348
+ ...otherOptions
43349
+ };
43350
+ return resolvedWatchOptions;
43351
+ }
43352
+
43353
+ /**
43354
+ * make sure systemjs register wrap to had complete parameters in system format
43355
+ */
43356
+ function completeSystemWrapPlugin() {
43357
+ const SystemJSWrapRE = /System.register\(.*\((exports)\)/g;
43358
+ return {
43359
+ name: 'vite:force-systemjs-wrap-complete',
43360
+ renderChunk(code, chunk, opts) {
43361
+ if (opts.format === 'system') {
43362
+ return {
43363
+ code: code.replace(SystemJSWrapRE, (s, s1) => s.replace(s1, 'exports, module')),
43364
+ map: null
43365
+ };
43366
+ }
43367
+ }
43368
+ };
43369
+ }
43370
+
43317
43371
  function resolveBuildOptions(raw, isBuild, logger) {
43318
43372
  const resolved = {
43319
43373
  target: 'modules',
@@ -43375,6 +43429,7 @@ function resolveBuildPlugins(config) {
43375
43429
  commonjsOptions?.include.length !== 0;
43376
43430
  return {
43377
43431
  pre: [
43432
+ completeSystemWrapPlugin(),
43378
43433
  ...(options.watch ? [ensureWatchPlugin()] : []),
43379
43434
  watchPackageDataPlugin(config),
43380
43435
  ...(usePluginCommonjs ? [commonjs(options.commonjsOptions)] : []),
@@ -43533,23 +43588,14 @@ async function doBuild(inlineConfig = {}) {
43533
43588
  else {
43534
43589
  output.push(buildOutputOptions(outputs));
43535
43590
  }
43536
- const watcherOptions = config.build.watch;
43591
+ const resolvedChokidarOptions = resolveChokidarOptions(config.build.watch.chokidar);
43537
43592
  const { watch } = await import('rollup');
43538
43593
  const watcher = watch({
43539
43594
  ...rollupOptions,
43540
43595
  output,
43541
43596
  watch: {
43542
- ...watcherOptions,
43543
- chokidar: {
43544
- ignoreInitial: true,
43545
- ignorePermissionErrors: true,
43546
- ...watcherOptions.chokidar,
43547
- ignored: [
43548
- '**/node_modules/**',
43549
- '**/.git/**',
43550
- ...(watcherOptions?.chokidar?.ignored || [])
43551
- ]
43552
- }
43597
+ ...config.build.watch,
43598
+ chokidar: resolvedChokidarOptions
43553
43599
  }
43554
43600
  });
43555
43601
  watcher.on('event', (event) => {
@@ -43795,6 +43841,7 @@ const relativeUrlMechanisms = {
43795
43841
  cjs: (relativePath) => `(typeof document === 'undefined' ? ${getResolveUrl(`'file:' + __dirname + '/${relativePath}'`, `(require('u' + 'rl').URL)`)} : ${getRelativeUrlFromDocument(relativePath)})`,
43796
43842
  es: (relativePath) => getResolveUrl(`'${relativePath}', import.meta.url`),
43797
43843
  iife: (relativePath) => getRelativeUrlFromDocument(relativePath),
43844
+ // NOTE: make sure rollup generate `module` params
43798
43845
  system: (relativePath) => getResolveUrl(`'${relativePath}', module.meta.url`),
43799
43846
  umd: (relativePath) => `(typeof document === 'undefined' && typeof location === 'undefined' ? ${getResolveUrl(`'file:' + __dirname + '/${relativePath}'`, `(require('u' + 'rl').URL)`)} : ${getRelativeUrlFromDocument(relativePath, true)})`
43800
43847
  };
@@ -57146,6 +57193,9 @@ function proxyMiddleware(httpServer, options, config) {
57146
57193
  const proxies = {};
57147
57194
  Object.keys(options).forEach((context) => {
57148
57195
  let opts = options[context];
57196
+ if (!opts) {
57197
+ return;
57198
+ }
57149
57199
  if (typeof opts === 'string') {
57150
57200
  opts = { target: opts, changeOrigin: true };
57151
57201
  }
@@ -59134,6 +59184,10 @@ async function createServer(inlineConfig = {}) {
59134
59184
  const { root, server: serverConfig } = config;
59135
59185
  const httpsOptions = await resolveHttpsConfig(config.server.https);
59136
59186
  const { middlewareMode } = serverConfig;
59187
+ const resolvedWatchOptions = resolveChokidarOptions({
59188
+ disableGlobbing: true,
59189
+ ...serverConfig.watch
59190
+ });
59137
59191
  const middlewares = connect();
59138
59192
  const httpServer = middlewareMode
59139
59193
  ? null
@@ -59142,19 +59196,7 @@ async function createServer(inlineConfig = {}) {
59142
59196
  if (httpServer) {
59143
59197
  setClientErrorHandler(httpServer, config.logger);
59144
59198
  }
59145
- const { ignored = [], ...watchOptions } = serverConfig.watch || {};
59146
- const watcher = chokidar.watch(path$n.resolve(root), {
59147
- ignored: [
59148
- '**/.git/**',
59149
- '**/node_modules/**',
59150
- '**/test-results/**',
59151
- ...(Array.isArray(ignored) ? ignored : [ignored])
59152
- ],
59153
- ignoreInitial: true,
59154
- ignorePermissionErrors: true,
59155
- disableGlobbing: true,
59156
- ...watchOptions
59157
- });
59199
+ const watcher = chokidar.watch(path$n.resolve(root), resolvedWatchOptions);
59158
59200
  const moduleGraph = new ModuleGraph((url, ssr) => container.resolveId(url, undefined, { ssr }));
59159
59201
  const container = await createPluginContainer(config, moduleGraph, watcher);
59160
59202
  const closeHttpServer = createServerCloseFn(httpServer);
@@ -59169,9 +59211,7 @@ async function createServer(inlineConfig = {}) {
59169
59211
  moduleGraph,
59170
59212
  resolvedUrls: null,
59171
59213
  ssrTransform(code, inMap, url) {
59172
- return ssrTransform(code, inMap, url, code, {
59173
- json: { stringify: server.config.json?.stringify }
59174
- });
59214
+ return ssrTransform(code, inMap, url, code, server.config);
59175
59215
  },
59176
59216
  transformRequest(url, options) {
59177
59217
  return transformRequest(url, server, options);
@@ -62055,7 +62095,7 @@ function parseDynamicImportPattern(strings) {
62055
62095
  rawPattern
62056
62096
  };
62057
62097
  }
62058
- async function transformDynamicImport(importSource, importer, resolve) {
62098
+ async function transformDynamicImport(importSource, importer, resolve, root) {
62059
62099
  if (importSource[1] !== '.' && importSource[1] !== '/') {
62060
62100
  const resolvedFileName = await resolve(importSource.slice(1, -1), importer);
62061
62101
  if (!resolvedFileName) {
@@ -62072,9 +62112,13 @@ async function transformDynamicImport(importSource, importer, resolve) {
62072
62112
  const params = globParams
62073
62113
  ? `, ${JSON.stringify({ ...globParams, import: '*' })}`
62074
62114
  : '';
62115
+ let newRawPattern = posix$2.relative(posix$2.dirname(importer), await toAbsoluteGlob(rawPattern, root, importer, resolve));
62116
+ if (!/^\.{1,2}\//.test(newRawPattern)) {
62117
+ newRawPattern = `./${newRawPattern}`;
62118
+ }
62075
62119
  const exp = `(import.meta.glob(${JSON.stringify(userPattern)}${params}))`;
62076
62120
  return {
62077
- rawPattern,
62121
+ rawPattern: newRawPattern,
62078
62122
  pattern: userPattern,
62079
62123
  glob: exp
62080
62124
  };
@@ -62131,7 +62175,7 @@ function dynamicImportVarsPlugin(config) {
62131
62175
  // parenthesis, so we manually remove them for now.
62132
62176
  // See https://github.com/guybedford/es-module-lexer/issues/118
62133
62177
  const importSource = removeComments(source.slice(start, end)).trim();
62134
- result = await transformDynamicImport(importSource, importer, resolve);
62178
+ result = await transformDynamicImport(importSource, importer, resolve, config.root);
62135
62179
  }
62136
62180
  catch (error) {
62137
62181
  if (warnOnError) {
@@ -62988,7 +63032,7 @@ async function bundleConfigFile(fileName, isESM) {
62988
63032
  if (path$n.relative(idPkgDir, fileName).startsWith('..')) {
62989
63033
  return {
62990
63034
  // normalize actual import after bundled as a single vite config
62991
- path: pathToFileURL(idFsPath).href,
63035
+ path: isESM ? pathToFileURL(idFsPath).href : idFsPath,
62992
63036
  external: true
62993
63037
  };
62994
63038
  }