vite 6.0.0-alpha.7 → 6.0.0-alpha.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.
@@ -14480,8 +14480,7 @@ const defaultEsbuildSupported = {
14480
14480
  'dynamic-import': true,
14481
14481
  'import-meta': true,
14482
14482
  };
14483
- let server;
14484
- async function transformWithEsbuild(code, filename, options, inMap) {
14483
+ async function transformWithEsbuild(code, filename, options, inMap, root, watcher) {
14485
14484
  let loader = options?.loader;
14486
14485
  if (!loader) {
14487
14486
  // if the id ends with a valid ext, use it (e.g. vue blocks)
@@ -14519,7 +14518,7 @@ async function transformWithEsbuild(code, filename, options, inMap) {
14519
14518
  ];
14520
14519
  const compilerOptionsForFile = {};
14521
14520
  if (loader === 'ts' || loader === 'tsx') {
14522
- const loadedTsconfig = await loadTsconfigJsonForFile(filename);
14521
+ const loadedTsconfig = await loadTsconfigJsonForFile(filename, root, watcher);
14523
14522
  const loadedCompilerOptions = loadedTsconfig.compilerOptions ?? {};
14524
14523
  for (const field of meaningfulFields) {
14525
14524
  if (field in loadedCompilerOptions) {
@@ -14635,19 +14634,6 @@ function esbuildPlugin(config) {
14635
14634
  };
14636
14635
  return {
14637
14636
  name: 'vite:esbuild',
14638
- // TODO: Decouple server, the resolved config should be enough
14639
- // We may need a `configureWatcher` hook
14640
- configureServer(_server) {
14641
- server = _server;
14642
- server.watcher
14643
- .on('add', reloadOnTsconfigChange)
14644
- .on('change', reloadOnTsconfigChange)
14645
- .on('unlink', reloadOnTsconfigChange);
14646
- },
14647
- buildEnd() {
14648
- // recycle serve to avoid preventing Node self-exit (#6815)
14649
- server = null;
14650
- },
14651
14637
  async transform(code, id) {
14652
14638
  if (filter(id) || filter(cleanUrl(id))) {
14653
14639
  const result = await transformWithEsbuild(code, id, transformOptions);
@@ -14809,7 +14795,7 @@ function prettifyMessage(m, code) {
14809
14795
  return res + `\n`;
14810
14796
  }
14811
14797
  let tsconfckCache;
14812
- async function loadTsconfigJsonForFile(filename) {
14798
+ async function loadTsconfigJsonForFile(filename, root, watcher) {
14813
14799
  try {
14814
14800
  if (!tsconfckCache) {
14815
14801
  tsconfckCache = new TSConfckCache();
@@ -14819,30 +14805,31 @@ async function loadTsconfigJsonForFile(filename) {
14819
14805
  ignoreNodeModules: true,
14820
14806
  });
14821
14807
  // tsconfig could be out of root, make sure it is watched on dev
14822
- if (server && result.tsconfigFile) {
14823
- ensureWatchedFile(server.watcher, result.tsconfigFile, server.config.root);
14808
+ if (root && watcher && result.tsconfigFile) {
14809
+ ensureWatchedFile(watcher, result.tsconfigFile, root);
14824
14810
  }
14825
14811
  return result.tsconfig;
14826
14812
  }
14827
14813
  catch (e) {
14828
14814
  if (e instanceof TSConfckParseError) {
14829
14815
  // tsconfig could be out of root, make sure it is watched on dev
14830
- if (server && e.tsconfigFile) {
14831
- ensureWatchedFile(server.watcher, e.tsconfigFile, server.config.root);
14816
+ if (root && watcher && e.tsconfigFile) {
14817
+ ensureWatchedFile(watcher, e.tsconfigFile, root);
14832
14818
  }
14833
14819
  }
14834
14820
  throw e;
14835
14821
  }
14836
14822
  }
14837
- async function reloadOnTsconfigChange(changedFile) {
14838
- // server could be closed externally after a file change is detected
14839
- if (!server)
14840
- return;
14823
+ async function reloadOnTsconfigChange(server, changedFile) {
14841
14824
  // any tsconfig.json that's added in the workspace could be closer to a code file than a previously cached one
14842
14825
  // any json file in the tsconfig cache could have been used to compile ts
14843
14826
  if (path$o.basename(changedFile) === 'tsconfig.json' ||
14844
- (changedFile.endsWith('.json') &&
14845
- tsconfckCache?.hasParseResult(changedFile))) {
14827
+ changedFile.endsWith('.json') /*
14828
+ TODO: the tsconfckCache?.clear() line will make this fail if there are several servers
14829
+ we may need a cache per server if we don't want all servers to share the reset
14830
+ leaving it commented for now because it should still work
14831
+ && tsconfckCache?.hasParseResult(changedFile)
14832
+ */) {
14846
14833
  server.config.logger.info(`changed tsconfig file detected: ${changedFile} - Clearing cache and forcing full-reload to ensure TypeScript is compiled with updated config values.`, { clear: server.config.clearScreen, timestamp: true });
14847
14834
  // clear module graph to remove code compiled with outdated config
14848
14835
  for (const environment of Object.values(server.environments)) {
@@ -14850,14 +14837,11 @@ async function reloadOnTsconfigChange(changedFile) {
14850
14837
  }
14851
14838
  // reset tsconfck so that recompile works with up2date configs
14852
14839
  tsconfckCache?.clear();
14853
- // server may not be available if vite config is updated at the same time
14854
- if (server) {
14855
- // force full reload
14856
- server.hot.send({
14857
- type: 'full-reload',
14858
- path: '*',
14859
- });
14860
- }
14840
+ // force full reload
14841
+ server.hot.send({
14842
+ type: 'full-reload',
14843
+ path: '*',
14844
+ });
14861
14845
  }
14862
14846
  }
14863
14847
 
@@ -15159,27 +15143,27 @@ function terserPlugin(config) {
15159
15143
  }
15160
15144
 
15161
15145
  async function resolveBoundedPlugins(environment) {
15162
- const resolvedPlugins = [];
15163
- for (const plugin of environment.config.plugins) {
15164
- if (plugin.create) {
15165
- const boundedPlugin = await plugin.create(environment);
15146
+ const userPlugins = [];
15147
+ for (const plugin of environment.config.rawPlugins) {
15148
+ if (typeof plugin === 'function') {
15149
+ const boundedPlugin = await plugin(environment);
15166
15150
  if (boundedPlugin) {
15167
15151
  const flatPlugins = await asyncFlattenBoundedPlugin(environment, boundedPlugin);
15168
- resolvedPlugins.push(...flatPlugins);
15152
+ userPlugins.push(...flatPlugins);
15169
15153
  }
15170
15154
  }
15171
15155
  else {
15172
- resolvedPlugins.push(plugin);
15156
+ userPlugins.push(plugin);
15173
15157
  }
15174
15158
  }
15175
- return resolvedPlugins;
15159
+ return environment.config.resolvePlugins(...sortUserPlugins(userPlugins));
15176
15160
  }
15177
15161
  async function asyncFlattenBoundedPlugin(environment, plugins) {
15178
15162
  if (!Array.isArray(plugins)) {
15179
15163
  plugins = [plugins];
15180
15164
  }
15181
15165
  do {
15182
- plugins = (await Promise.all(plugins.map((p) => (p && p.split ? p.split(environment) : p))))
15166
+ plugins = (await Promise.all(plugins.map((p) => (typeof p === 'function' ? p(environment) : p))))
15183
15167
  .flat(Infinity)
15184
15168
  .filter(Boolean);
15185
15169
  } while (plugins.some((v) => v?.then || v?.split));
@@ -15735,12 +15719,10 @@ function assetPlugin(config) {
15735
15719
  return {
15736
15720
  name: 'vite:asset',
15737
15721
  buildStart() {
15738
- const { environment } = this;
15739
- if (!environment) {
15722
+ if (!this.environment)
15740
15723
  return;
15741
- }
15742
- assetCache.set(environment, new Map());
15743
- generatedAssetsMap.set(environment, new Map());
15724
+ assetCache.set(this.environment, new Map());
15725
+ generatedAssetsMap.set(this.environment, new Map());
15744
15726
  },
15745
15727
  resolveId(id) {
15746
15728
  if (!config.assetsInclude(cleanUrl(id)) && !urlRE.test(id)) {
@@ -16012,12 +15994,10 @@ function manifestPlugin() {
16012
15994
  outputCount = 0;
16013
15995
  },
16014
15996
  generateBundle({ format }, bundle) {
16015
- const { environment } = this;
16016
- if (!environment) {
15997
+ if (!this.environment)
16017
15998
  return;
16018
- }
16019
- const { root } = environment.config;
16020
- const buildOptions = environment.options.build;
15999
+ const { root } = this.environment.config;
16000
+ const buildOptions = this.environment.options.build;
16021
16001
  function getChunkName(chunk) {
16022
16002
  return getChunkOriginalFileName(chunk, root, format);
16023
16003
  }
@@ -16075,7 +16055,7 @@ function manifestPlugin() {
16075
16055
  return manifestChunk;
16076
16056
  }
16077
16057
  const fileNameToAssetMeta = new Map();
16078
- const assets = generatedAssetsMap.get(environment);
16058
+ const assets = generatedAssetsMap.get(this.environment);
16079
16059
  assets.forEach((asset, referenceId) => {
16080
16060
  try {
16081
16061
  const fileName = this.getFileName(referenceId);
@@ -16195,8 +16175,8 @@ function dataURIPlugin() {
16195
16175
  };
16196
16176
  }
16197
16177
 
16198
- /* es-module-lexer 1.5.0 */
16199
- var ImportType;!function(A){A[A.Static=1]="Static",A[A.Dynamic=2]="Dynamic",A[A.ImportMeta=3]="ImportMeta",A[A.StaticSourcePhase=4]="StaticSourcePhase",A[A.DynamicSourcePhase=5]="DynamicSourcePhase";}(ImportType||(ImportType={}));const A=1===new Uint8Array(new Uint16Array([1]).buffer)[0];function parse$e(E,g="@"){if(!C)return init.then((()=>parse$e(E)));const I=E.length+1,w=(C.__heap_base.value||C.__heap_base)+4*I-C.memory.buffer.byteLength;w>0&&C.memory.grow(Math.ceil(w/65536));const D=C.sa(I-1);if((A?B:Q)(E,new Uint16Array(C.memory.buffer,D,I)),!C.parse())throw Object.assign(new Error(`Parse error ${g}:${E.slice(0,C.e()).split("\n").length}:${C.e()-E.lastIndexOf("\n",C.e()-1)}`),{idx:C.e()});const o=[],K=[];for(;C.ri();){const A=C.is(),Q=C.ie(),B=C.it(),g=C.ai(),I=C.id(),w=C.ss(),D=C.se();let K;C.ip()&&(K=k(E.slice(-1===I?A-1:A,-1===I?Q+1:Q))),o.push({n:K,t:B,s:A,e:Q,ss:w,se:D,d:I,a:g});}for(;C.re();){const A=C.es(),Q=C.ee(),B=C.els(),g=C.ele(),I=E.slice(A,Q),w=I[0],D=B<0?void 0:E.slice(B,g),o=D?D[0]:"";K.push({s:A,e:Q,ls:B,le:g,n:'"'===w||"'"===w?k(I):I,ln:'"'===o||"'"===o?k(D):D});}function k(A){try{return (0, eval)(A)}catch(A){}}return [o,K,!!C.f(),!!C.ms()]}function Q(A,Q){const B=A.length;let C=0;for(;C<B;){const B=A.charCodeAt(C);Q[C++]=(255&B)<<8|B>>>8;}}function B(A,Q){const B=A.length;let C=0;for(;C<B;)Q[C]=A.charCodeAt(C++);}let C;const init=WebAssembly.compile((E="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","undefined"!=typeof Buffer?Buffer.from(E,"base64"):Uint8Array.from(atob(E),(A=>A.charCodeAt(0))))).then(WebAssembly.instantiate).then((({exports:A})=>{C=A;}));var E;
16178
+ /* es-module-lexer 1.5.2 */
16179
+ var ImportType;!function(A){A[A.Static=1]="Static",A[A.Dynamic=2]="Dynamic",A[A.ImportMeta=3]="ImportMeta",A[A.StaticSourcePhase=4]="StaticSourcePhase",A[A.DynamicSourcePhase=5]="DynamicSourcePhase";}(ImportType||(ImportType={}));const A=1===new Uint8Array(new Uint16Array([1]).buffer)[0];function parse$e(E,g="@"){if(!C)return init.then((()=>parse$e(E)));const I=E.length+1,w=(C.__heap_base.value||C.__heap_base)+4*I-C.memory.buffer.byteLength;w>0&&C.memory.grow(Math.ceil(w/65536));const 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.it(),g=C.ai(),I=C.id(),w=C.ss(),K=C.se();let D;C.ip()&&(D=k(E.slice(-1===I?A-1:A,-1===I?Q+1:Q))),o.push({n:D,t:B,s:A,e:Q,ss:w,se:K,d:I,a:g});}for(;C.re();){const A=C.es(),Q=C.ee(),B=C.els(),g=C.ele(),I=E.slice(A,Q),w=I[0],K=B<0?void 0:E.slice(B,g),o=K?K[0]:"";D.push({s:A,e:Q,ls:B,le:g,n:'"'===w||"'"===w?k(I):I,ln:'"'===o||"'"===o?k(K):K});}function k(A){try{return (0, eval)(A)}catch(A){}}return [o,D,!!C.f(),!!C.ms()]}function Q(A,Q){const B=A.length;let C=0;for(;C<B;){const B=A.charCodeAt(C);Q[C++]=(255&B)<<8|B>>>8;}}function B(A,Q){const B=A.length;let C=0;for(;C<B;)Q[C]=A.charCodeAt(C++);}let C;const init=WebAssembly.compile((E="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","undefined"!=typeof Buffer?Buffer.from(E,"base64"):Uint8Array.from(atob(E),(A=>A.charCodeAt(0))))).then(WebAssembly.instantiate).then((({exports:A})=>{C=A;}));var E;
16200
16180
 
16201
16181
  var convertSourceMap$1 = {};
16202
16182
 
@@ -19416,12 +19396,12 @@ function getSettings$2(settingsOrOptions = {}) {
19416
19396
 
19417
19397
  /*! queue-microtask. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> */
19418
19398
 
19419
- let promise$1;
19399
+ let promise;
19420
19400
 
19421
19401
  var queueMicrotask_1 = typeof queueMicrotask === 'function'
19422
19402
  ? queueMicrotask.bind(typeof window !== 'undefined' ? window : commonjsGlobal)
19423
19403
  // reuse resolved promise, and allocate it lazily
19424
- : cb => (promise$1 || (promise$1 = Promise.resolve()))
19404
+ : cb => (promise || (promise = Promise.resolve()))
19425
19405
  .then(cb)
19426
19406
  .catch(err => setTimeout(() => { throw err }, 0));
19427
19407
 
@@ -48258,6 +48238,11 @@ function walk(root, { onIdentifier, onImportMeta, onDynamicImport }) {
48258
48238
  setScope(parentScope, node.id.name);
48259
48239
  }
48260
48240
  }
48241
+ // If it is a function expression, its name (if exist) could also be
48242
+ // shadowing an import. So add its own name to the scope
48243
+ if (node.type === 'FunctionExpression' && node.id) {
48244
+ setScope(node, node.id.name);
48245
+ }
48261
48246
  // walk function expressions and add its arguments to known identifiers
48262
48247
  // so that we don't prefix them
48263
48248
  node.params.forEach((p) => {
@@ -48289,6 +48274,17 @@ function walk(root, { onIdentifier, onImportMeta, onDynamicImport }) {
48289
48274
  });
48290
48275
  });
48291
48276
  }
48277
+ else if (node.type === 'ClassDeclaration') {
48278
+ // A class declaration name could shadow an import, so add its name to the parent scope
48279
+ const parentScope = findParentScope(parentStack);
48280
+ if (parentScope) {
48281
+ setScope(parentScope, node.id.name);
48282
+ }
48283
+ }
48284
+ else if (node.type === 'ClassExpression' && node.id) {
48285
+ // A class expression name could shadow an import, so add its name to the scope
48286
+ setScope(node, node.id.name);
48287
+ }
48292
48288
  else if (node.type === 'Property' && parent.type === 'ObjectPattern') {
48293
48289
  // mark property in destructuring pattern
48294
48290
  setIsNodeInPattern(node);
@@ -50592,13 +50588,6 @@ const { concat, toArrayBuffer, unmask } = bufferUtilExports;
50592
50588
  const { isValidStatusCode: isValidStatusCode$1, isValidUTF8 } = validationExports;
50593
50589
 
50594
50590
  const FastBuffer = Buffer[Symbol.species];
50595
- const promise = Promise.resolve();
50596
-
50597
- //
50598
- // `queueMicrotask()` is not available in Node.js < 11.
50599
- //
50600
- const queueTask =
50601
- typeof queueMicrotask === 'function' ? queueMicrotask : queueMicrotaskShim;
50602
50591
 
50603
50592
  const GET_INFO = 0;
50604
50593
  const GET_PAYLOAD_LENGTH_16 = 1;
@@ -50618,7 +50607,7 @@ let Receiver$1 = class Receiver extends Writable$1 {
50618
50607
  * Creates a Receiver instance.
50619
50608
  *
50620
50609
  * @param {Object} [options] Options object
50621
- * @param {Boolean} [options.allowSynchronousEvents=false] Specifies whether
50610
+ * @param {Boolean} [options.allowSynchronousEvents=true] Specifies whether
50622
50611
  * any of the `'message'`, `'ping'`, and `'pong'` events can be emitted
50623
50612
  * multiple times in the same tick
50624
50613
  * @param {String} [options.binaryType=nodebuffer] The type for binary data
@@ -50633,7 +50622,10 @@ let Receiver$1 = class Receiver extends Writable$1 {
50633
50622
  constructor(options = {}) {
50634
50623
  super();
50635
50624
 
50636
- this._allowSynchronousEvents = !!options.allowSynchronousEvents;
50625
+ this._allowSynchronousEvents =
50626
+ options.allowSynchronousEvents !== undefined
50627
+ ? options.allowSynchronousEvents
50628
+ : true;
50637
50629
  this._binaryType = options.binaryType || BINARY_TYPES$1[0];
50638
50630
  this._extensions = options.extensions || {};
50639
50631
  this._isServer = !!options.isServer;
@@ -51146,17 +51138,12 @@ let Receiver$1 = class Receiver extends Writable$1 {
51146
51138
  data = fragments;
51147
51139
  }
51148
51140
 
51149
- //
51150
- // If the state is `INFLATING`, it means that the frame data was
51151
- // decompressed asynchronously, so there is no need to defer the event
51152
- // as it will be emitted asynchronously anyway.
51153
- //
51154
- if (this._state === INFLATING || this._allowSynchronousEvents) {
51141
+ if (this._allowSynchronousEvents) {
51155
51142
  this.emit('message', data, true);
51156
51143
  this._state = GET_INFO;
51157
51144
  } else {
51158
51145
  this._state = DEFER_EVENT;
51159
- queueTask(() => {
51146
+ setImmediate(() => {
51160
51147
  this.emit('message', data, true);
51161
51148
  this._state = GET_INFO;
51162
51149
  this.startLoop(cb);
@@ -51183,7 +51170,7 @@ let Receiver$1 = class Receiver extends Writable$1 {
51183
51170
  this._state = GET_INFO;
51184
51171
  } else {
51185
51172
  this._state = DEFER_EVENT;
51186
- queueTask(() => {
51173
+ setImmediate(() => {
51187
51174
  this.emit('message', buf, false);
51188
51175
  this._state = GET_INFO;
51189
51176
  this.startLoop(cb);
@@ -51254,7 +51241,7 @@ let Receiver$1 = class Receiver extends Writable$1 {
51254
51241
  this._state = GET_INFO;
51255
51242
  } else {
51256
51243
  this._state = DEFER_EVENT;
51257
- queueTask(() => {
51244
+ setImmediate(() => {
51258
51245
  this.emit(this._opcode === 0x09 ? 'ping' : 'pong', data);
51259
51246
  this._state = GET_INFO;
51260
51247
  this.startLoop(cb);
@@ -51291,35 +51278,6 @@ let Receiver$1 = class Receiver extends Writable$1 {
51291
51278
 
51292
51279
  var receiver = Receiver$1;
51293
51280
 
51294
- /**
51295
- * A shim for `queueMicrotask()`.
51296
- *
51297
- * @param {Function} cb Callback
51298
- */
51299
- function queueMicrotaskShim(cb) {
51300
- promise.then(cb).catch(throwErrorNextTick);
51301
- }
51302
-
51303
- /**
51304
- * Throws an error.
51305
- *
51306
- * @param {Error} err The error to throw
51307
- * @private
51308
- */
51309
- function throwError(err) {
51310
- throw err;
51311
- }
51312
-
51313
- /**
51314
- * Throws an error in the next tick.
51315
- *
51316
- * @param {Error} err The error to throw
51317
- * @private
51318
- */
51319
- function throwErrorNextTick(err) {
51320
- process.nextTick(throwError, err);
51321
- }
51322
-
51323
51281
  /* eslint no-unused-vars: ["error", { "varsIgnorePattern": "^Duplex" }] */
51324
51282
  const { randomFillSync } = require$$3$1;
51325
51283
 
@@ -52287,7 +52245,7 @@ function format$1(extensions) {
52287
52245
 
52288
52246
  var extension$1 = { format: format$1, parse: parse$3 };
52289
52247
 
52290
- /* eslint no-unused-vars: ["error", { "varsIgnorePattern": "^Duplex|Readable$" }] */
52248
+ /* eslint no-unused-vars: ["error", { "varsIgnorePattern": "^Duplex|Readable$", "caughtErrors": "none" }] */
52291
52249
 
52292
52250
  const EventEmitter$1 = require$$0$4;
52293
52251
  const https$2 = require$$1$1;
@@ -52909,7 +52867,7 @@ var websocket = WebSocket$1;
52909
52867
  * @param {(String|URL)} address The URL to which to connect
52910
52868
  * @param {Array} protocols The subprotocols
52911
52869
  * @param {Object} [options] Connection options
52912
- * @param {Boolean} [options.allowSynchronousEvents=false] Specifies whether any
52870
+ * @param {Boolean} [options.allowSynchronousEvents=true] Specifies whether any
52913
52871
  * of the `'message'`, `'ping'`, and `'pong'` events can be emitted multiple
52914
52872
  * times in the same tick
52915
52873
  * @param {Boolean} [options.autoPong=true] Specifies whether or not to
@@ -52938,7 +52896,7 @@ var websocket = WebSocket$1;
52938
52896
  */
52939
52897
  function initAsClient(websocket, address, protocols, options) {
52940
52898
  const opts = {
52941
- allowSynchronousEvents: false,
52899
+ allowSynchronousEvents: true,
52942
52900
  autoPong: true,
52943
52901
  protocolVersion: protocolVersions[1],
52944
52902
  maxPayload: 100 * 1024 * 1024,
@@ -52947,7 +52905,6 @@ function initAsClient(websocket, address, protocols, options) {
52947
52905
  followRedirects: false,
52948
52906
  maxRedirects: 10,
52949
52907
  ...options,
52950
- createConnection: undefined,
52951
52908
  socketPath: undefined,
52952
52909
  hostname: undefined,
52953
52910
  protocol: undefined,
@@ -53018,7 +52975,8 @@ function initAsClient(websocket, address, protocols, options) {
53018
52975
  const protocolSet = new Set();
53019
52976
  let perMessageDeflate;
53020
52977
 
53021
- opts.createConnection = isSecure ? tlsConnect : netConnect;
52978
+ opts.createConnection =
52979
+ opts.createConnection || (isSecure ? tlsConnect : netConnect);
53022
52980
  opts.defaultPort = opts.defaultPort || defaultPort;
53023
52981
  opts.port = parsedUrl.port || defaultPort;
53024
52982
  opts.host = parsedUrl.hostname.startsWith('[')
@@ -53682,7 +53640,7 @@ function parse$1(header) {
53682
53640
 
53683
53641
  var subprotocol$1 = { parse: parse$1 };
53684
53642
 
53685
- /* eslint no-unused-vars: ["error", { "varsIgnorePattern": "^Duplex$" }] */
53643
+ /* eslint no-unused-vars: ["error", { "varsIgnorePattern": "^Duplex$", "caughtErrors": "none" }] */
53686
53644
 
53687
53645
  const EventEmitter = require$$0$4;
53688
53646
  const http$2 = require$$1;
@@ -53710,7 +53668,7 @@ class WebSocketServer extends EventEmitter {
53710
53668
  * Create a `WebSocketServer` instance.
53711
53669
  *
53712
53670
  * @param {Object} options Configuration options
53713
- * @param {Boolean} [options.allowSynchronousEvents=false] Specifies whether
53671
+ * @param {Boolean} [options.allowSynchronousEvents=true] Specifies whether
53714
53672
  * any of the `'message'`, `'ping'`, and `'pong'` events can be emitted
53715
53673
  * multiple times in the same tick
53716
53674
  * @param {Boolean} [options.autoPong=true] Specifies whether or not to
@@ -53741,7 +53699,7 @@ class WebSocketServer extends EventEmitter {
53741
53699
  super();
53742
53700
 
53743
53701
  options = {
53744
- allowSynchronousEvents: false,
53702
+ allowSynchronousEvents: true,
53745
53703
  autoPong: true,
53746
53704
  maxPayload: 100 * 1024 * 1024,
53747
53705
  skipUTF8Validation: false,
@@ -58052,6 +58010,9 @@ function buildHtmlPlugin(config) {
58052
58010
  name: 'vite:build-html',
58053
58011
  async transform(html, id) {
58054
58012
  if (id.endsWith('.html')) {
58013
+ if (!this.environment)
58014
+ return;
58015
+ const { modulePreload } = this.environment.options.build;
58055
58016
  id = normalizePath$3(id);
58056
58017
  const relativeUrlPath = path$o.posix.relative(config.root, id);
58057
58018
  const publicPath = `/${relativeUrlPath}`;
@@ -58297,7 +58258,6 @@ function buildHtmlPlugin(config) {
58297
58258
  }
58298
58259
  processedHtml.set(id, s.toString());
58299
58260
  // inject module preload polyfill only when configured and needed
58300
- const { modulePreload } = config.build;
58301
58261
  if (modulePreload !== false &&
58302
58262
  modulePreload.polyfill &&
58303
58263
  (someScriptsAreAsync || someScriptsAreDefer)) {
@@ -58309,6 +58269,9 @@ function buildHtmlPlugin(config) {
58309
58269
  }
58310
58270
  },
58311
58271
  async generateBundle(options, bundle) {
58272
+ if (!this.environment)
58273
+ return;
58274
+ const { modulePreload } = this.environment.options.build;
58312
58275
  const analyzedChunk = new Map();
58313
58276
  const inlineEntryChunk = new Set();
58314
58277
  const getImportedChunks = (chunk, seen = new Set()) => {
@@ -58373,8 +58336,8 @@ function buildHtmlPlugin(config) {
58373
58336
  });
58374
58337
  return tags;
58375
58338
  };
58376
- for (const [id, html] of processedHtml) {
58377
- const relativeUrlPath = path$o.posix.relative(config.root, normalizePath$3(id));
58339
+ for (const [normalizedId, html] of processedHtml) {
58340
+ const relativeUrlPath = path$o.posix.relative(config.root, normalizedId);
58378
58341
  const assetsBase = getBaseInHTML(relativeUrlPath, config);
58379
58342
  const toOutputFilePath = (filename, type) => {
58380
58343
  if (isExternalUrl(filename)) {
@@ -58386,12 +58349,13 @@ function buildHtmlPlugin(config) {
58386
58349
  };
58387
58350
  const toOutputAssetFilePath = (filename) => toOutputFilePath(filename, 'asset');
58388
58351
  const toOutputPublicAssetFilePath = (filename) => toOutputFilePath(filename, 'public');
58389
- const isAsync = isAsyncScriptMap.get(config).get(id);
58352
+ const isAsync = isAsyncScriptMap.get(config).get(normalizedId);
58390
58353
  let result = html;
58391
58354
  // find corresponding entry chunk
58392
58355
  const chunk = Object.values(bundle).find((chunk) => chunk.type === 'chunk' &&
58393
58356
  chunk.isEntry &&
58394
- chunk.facadeModuleId === id);
58357
+ chunk.facadeModuleId &&
58358
+ normalizePath$3(chunk.facadeModuleId) === normalizedId);
58395
58359
  let canInlineEntry = false;
58396
58360
  // inject chunk asset links
58397
58361
  if (chunk) {
@@ -58410,7 +58374,6 @@ function buildHtmlPlugin(config) {
58410
58374
  }
58411
58375
  else {
58412
58376
  assetTags = [toScriptTag(chunk, toOutputAssetFilePath, isAsync)];
58413
- const { modulePreload } = config.build;
58414
58377
  if (modulePreload !== false) {
58415
58378
  const resolveDependencies = typeof modulePreload === 'object' &&
58416
58379
  modulePreload.resolveDependencies;
@@ -58458,7 +58421,7 @@ function buildHtmlPlugin(config) {
58458
58421
  }
58459
58422
  result = await applyHtmlTransforms(result, [...normalHooks, ...postHooks], {
58460
58423
  path: '/' + relativeUrlPath,
58461
- filename: id,
58424
+ filename: normalizedId,
58462
58425
  bundle,
58463
58426
  chunk,
58464
58427
  });
@@ -58479,7 +58442,7 @@ function buildHtmlPlugin(config) {
58479
58442
  if (chunk && canInlineEntry) {
58480
58443
  inlineEntryChunk.add(chunk.fileName);
58481
58444
  }
58482
- const shortEmitName = normalizePath$3(path$o.relative(config.root, id));
58445
+ const shortEmitName = normalizePath$3(path$o.relative(config.root, normalizedId));
58483
58446
  this.emitFile({
58484
58447
  type: 'asset',
58485
58448
  fileName: shortEmitName,
@@ -61514,6 +61477,7 @@ async function _createServer(inlineConfig = {}, options) {
61514
61477
  };
61515
61478
  const onFileAddUnlink = async (file, isUnlink) => {
61516
61479
  file = normalizePath$3(file);
61480
+ reloadOnTsconfigChange(server, file);
61517
61481
  await pluginContainer.watchChange(file, {
61518
61482
  event: isUnlink ? 'delete' : 'create',
61519
61483
  });
@@ -61543,6 +61507,7 @@ async function _createServer(inlineConfig = {}, options) {
61543
61507
  };
61544
61508
  watcher.on('change', async (file) => {
61545
61509
  file = normalizePath$3(file);
61510
+ reloadOnTsconfigChange(server, file);
61546
61511
  await pluginContainer.watchChange(file, { event: 'update' });
61547
61512
  // invalidate module graph cache on file change
61548
61513
  for (const environment of Object.values(server.environments)) {
@@ -62597,11 +62562,9 @@ function definePlugin(config) {
62597
62562
  return {
62598
62563
  name: 'vite:define',
62599
62564
  async transform(code, id) {
62600
- const { environment } = this;
62601
- if (!environment) {
62565
+ if (!this.environment)
62602
62566
  return;
62603
- }
62604
- if (environment.name === 'client' && !isBuild) {
62567
+ if (this.environment.name === 'client' && !isBuild) {
62605
62568
  // for dev we inject actual global defines in the vite client to
62606
62569
  // avoid the transform cost. see the `clientInjection` and
62607
62570
  // `importAnalysis` plugin.
@@ -62615,18 +62578,18 @@ function definePlugin(config) {
62615
62578
  config.assetsInclude(id)) {
62616
62579
  return;
62617
62580
  }
62618
- const [define, pattern] = getPattern(environment);
62581
+ const [define, pattern] = getPattern(this.environment);
62619
62582
  if (!pattern)
62620
62583
  return;
62621
62584
  // Check if our code needs any replacements before running esbuild
62622
62585
  pattern.lastIndex = 0;
62623
62586
  if (!pattern.test(code))
62624
62587
  return;
62625
- return await replaceDefine(code, id, define, config);
62588
+ return await replaceDefine(this.environment, code, id, define);
62626
62589
  },
62627
62590
  };
62628
62591
  }
62629
- async function replaceDefine(code, id, define, config) {
62592
+ async function replaceDefine(environment, code, id, define) {
62630
62593
  // Because esbuild only allows JSON-serializable values, and `import.meta.env`
62631
62594
  // may contain values with raw identifiers, making it non-JSON-serializable,
62632
62595
  // we replace it with a temporary marker and then replace it back after to
@@ -62639,14 +62602,16 @@ async function replaceDefine(code, id, define, config) {
62639
62602
  replacementMarkers[marker] = env;
62640
62603
  define = { ...define, 'import.meta.env': marker };
62641
62604
  }
62642
- const esbuildOptions = config.esbuild || {};
62605
+ const esbuildOptions = environment.config.esbuild || {};
62643
62606
  const result = await transform$1(code, {
62644
62607
  loader: 'js',
62645
62608
  charset: esbuildOptions.charset ?? 'utf8',
62646
62609
  platform: 'neutral',
62647
62610
  define,
62648
62611
  sourcefile: id,
62649
- sourcemap: config.command === 'build' ? !!config.build.sourcemap : true,
62612
+ sourcemap: environment.config.command === 'build'
62613
+ ? !!environment.options.build.sourcemap
62614
+ : true,
62650
62615
  });
62651
62616
  // remove esbuild's <define:...> source entries
62652
62617
  // since they would confuse source map remapping/collapsing which expects a single source
@@ -63263,12 +63228,11 @@ function importAnalysisPlugin(config) {
63263
63228
  }
63264
63229
  return {
63265
63230
  name: 'vite:import-analysis',
63266
- async transform(source, importer, options) {
63267
- const ssr = options?.ssr === true;
63268
- const environment = this.environment;
63269
- if (!environment) {
63231
+ async transform(source, importer) {
63232
+ if (!this.environment)
63270
63233
  return;
63271
- }
63234
+ const environment = this.environment;
63235
+ const ssr = environment.name !== 'client'; // TODO
63272
63236
  const moduleGraph = environment.moduleGraph;
63273
63237
  if (canSkipImportAnalysis(importer)) {
63274
63238
  debug$1?.(colors$1.dim(`[skipped] ${prettifyUrl(importer, root)}`));
@@ -63909,21 +63873,25 @@ function clientInjectionsPlugin(config) {
63909
63873
  .replace(`__HMR_CONFIG_NAME__`, hmrConfigNameReplacement);
63910
63874
  };
63911
63875
  },
63912
- async transform(code, id, options) {
63876
+ async transform(code, id) {
63877
+ if (!this.environment)
63878
+ return;
63879
+ // TODO: !environment.options.nodeCompatible ?
63880
+ const ssr = this.environment.name !== 'client';
63913
63881
  if (id === normalizedClientEntry || id === normalizedEnvEntry) {
63914
63882
  return injectConfigValues(code);
63915
63883
  }
63916
- else if (!options?.ssr && code.includes('process.env.NODE_ENV')) {
63884
+ else if (!ssr && code.includes('process.env.NODE_ENV')) {
63917
63885
  // replace process.env.NODE_ENV instead of defining a global
63918
63886
  // for it to avoid shimming a `process` object during dev,
63919
63887
  // avoiding inconsistencies between dev and build
63920
63888
  const nodeEnv = config.define?.['process.env.NODE_ENV'] ||
63921
63889
  JSON.stringify(process.env.NODE_ENV || config.mode);
63922
- return await replaceDefine(code, id, {
63890
+ return await replaceDefine(this.environment, code, id, {
63923
63891
  'process.env.NODE_ENV': nodeEnv,
63924
63892
  'global.process.env.NODE_ENV': nodeEnv,
63925
63893
  'globalThis.process.env.NODE_ENV': nodeEnv,
63926
- }, config);
63894
+ });
63927
63895
  }
63928
63896
  },
63929
63897
  };
@@ -64638,7 +64606,7 @@ function dynamicImportVarsPlugin(config) {
64638
64606
  }
64639
64607
 
64640
64608
  // TODO: import { loadFallbackPlugin } from './loadFallback'
64641
- async function resolvePlugins(config, prePlugins, normalPlugins, postPlugins) {
64609
+ async function createResolvePlugins(config) {
64642
64610
  const isBuild = config.command === 'build';
64643
64611
  const isWorker = config.isWorker;
64644
64612
  const buildPlugins = isBuild
@@ -64648,7 +64616,7 @@ async function resolvePlugins(config, prePlugins, normalPlugins, postPlugins) {
64648
64616
  const depsOptimizerEnabled = !isBuild &&
64649
64617
  (isDepsOptimizerEnabled(config, false) ||
64650
64618
  isDepsOptimizerEnabled(config, true));
64651
- return [
64619
+ const preVitePlugins = [
64652
64620
  depsOptimizerEnabled ? optimizedDepsPlugin() : null,
64653
64621
  isBuild ? metadataPlugin() : null,
64654
64622
  !isWorker ? watchPackageDataPlugin(config.packageCache) : null,
@@ -64657,7 +64625,9 @@ async function resolvePlugins(config, prePlugins, normalPlugins, postPlugins) {
64657
64625
  entries: config.resolve.alias,
64658
64626
  customResolver: viteAliasCustomResolver,
64659
64627
  }),
64660
- ...prePlugins,
64628
+ ];
64629
+ // then ...prePlugins
64630
+ const normalVitePlugins = [
64661
64631
  modulePreload !== false && modulePreload.polyfill
64662
64632
  ? modulePreloadPolyfillPlugin(config)
64663
64633
  : null,
@@ -64681,7 +64651,9 @@ async function resolvePlugins(config, prePlugins, normalPlugins, postPlugins) {
64681
64651
  wasmHelperPlugin(),
64682
64652
  webWorkerPlugin(config),
64683
64653
  assetPlugin(config),
64684
- ...normalPlugins,
64654
+ ];
64655
+ // then ...normalPlugins
64656
+ const postVitePlugins = [
64685
64657
  wasmFallbackPlugin(),
64686
64658
  definePlugin(config),
64687
64659
  cssPostPlugin(config),
@@ -64691,7 +64663,9 @@ async function resolvePlugins(config, prePlugins, normalPlugins, postPlugins) {
64691
64663
  ...buildPlugins.pre,
64692
64664
  dynamicImportVarsPlugin(config),
64693
64665
  importGlobPlugin(config),
64694
- ...postPlugins,
64666
+ ];
64667
+ // then ...postVitePlugins
64668
+ const finalVitePlugins = [
64695
64669
  ...buildPlugins.post,
64696
64670
  // internal server-only plugins are always applied after everything else
64697
64671
  ...(isBuild
@@ -64702,7 +64676,18 @@ async function resolvePlugins(config, prePlugins, normalPlugins, postPlugins) {
64702
64676
  importAnalysisPlugin(config),
64703
64677
  // TODO: loadFallbackPlugin(config),
64704
64678
  ]),
64705
- ].filter(Boolean);
64679
+ ];
64680
+ return (prePlugins, normalPlugins, postPlugins) => {
64681
+ return [
64682
+ ...preVitePlugins,
64683
+ ...prePlugins,
64684
+ ...normalVitePlugins,
64685
+ ...normalPlugins,
64686
+ ...postVitePlugins,
64687
+ ...postPlugins,
64688
+ ...finalVitePlugins,
64689
+ ].filter(Boolean);
64690
+ };
64706
64691
  }
64707
64692
  function createPluginHookUtils(plugins) {
64708
64693
  // sort plugins per hook
@@ -65705,11 +65690,9 @@ function cssPostPlugin(config) {
65705
65690
  };
65706
65691
  },
65707
65692
  async renderChunk(code, chunk, opts) {
65708
- const { environment } = this;
65709
- if (!environment) {
65693
+ if (!this.environment)
65710
65694
  return;
65711
- }
65712
- const generatedAssets = generatedAssetsMap.get(environment);
65695
+ const generatedAssets = generatedAssetsMap.get(this.environment);
65713
65696
  let chunkCSS = '';
65714
65697
  let isPureCssChunk = true;
65715
65698
  const ids = Object.keys(chunk.modules);
@@ -67532,13 +67515,18 @@ function buildImportAnalysisPlugin(config) {
67532
67515
  const insertPreload = !(ssr || !!config.build.lib || isWorker);
67533
67516
  const { customModulePreloadPaths, optimizeModulePreloadRelativePaths } = getModulePreloadData(environment);
67534
67517
  for (let index = 0; index < imports.length; index++) {
67535
- const { e: end, ss: expStart, se: expEnd, d: dynamicIndex, a: attributeIndex, } = imports[index];
67518
+ const { s: start, e: end, ss: expStart, se: expEnd, d: dynamicIndex, a: attributeIndex, } = imports[index];
67536
67519
  const isDynamicImport = dynamicIndex > -1;
67537
67520
  // strip import attributes as we can process them ourselves
67538
67521
  if (!isDynamicImport && attributeIndex > -1) {
67539
67522
  str().remove(end + 1, expEnd);
67540
67523
  }
67541
- if (isDynamicImport && insertPreload) {
67524
+ if (isDynamicImport &&
67525
+ insertPreload &&
67526
+ // Only preload static urls
67527
+ (source[start] === '"' ||
67528
+ source[start] === "'" ||
67529
+ source[start] === '`')) {
67542
67530
  needPreloadHelper = true;
67543
67531
  str().prependLeft(expStart, `${preloadMethod}(() => `);
67544
67532
  str().appendRight(expEnd, `,${isModernFlag}?"${preloadMarker}":void 0${optimizeModulePreloadRelativePaths || customModulePreloadPaths
@@ -67584,14 +67572,15 @@ function buildImportAnalysisPlugin(config) {
67584
67572
  return null;
67585
67573
  },
67586
67574
  generateBundle({ format }, bundle) {
67587
- const { environment } = this;
67588
- const ssr = environment?.options.build.ssr;
67589
- if (!environment || format !== 'es' || ssr || isWorker) {
67575
+ if (!this.environment)
67576
+ return;
67577
+ const ssr = this.environment.name !== 'client'; // TODO
67578
+ if (format !== 'es' || ssr || isWorker) {
67590
67579
  return;
67591
67580
  }
67592
- const buildSourcemap = environment.options.build.sourcemap;
67593
- const { modulePreload } = environment.options.build;
67594
- const { customModulePreloadPaths, optimizeModulePreloadRelativePaths } = getModulePreloadData(environment);
67581
+ const buildSourcemap = this.environment.options.build.sourcemap;
67582
+ const { modulePreload } = this.environment.options.build;
67583
+ const { customModulePreloadPaths, optimizeModulePreloadRelativePaths } = getModulePreloadData(this.environment);
67595
67584
  for (const file in bundle) {
67596
67585
  const chunk = bundle[file];
67597
67586
  // can't use chunk.dynamicImports.length here since some modules e.g.
@@ -68709,13 +68698,16 @@ async function createBuilder(inlineConfig = {}) {
68709
68698
  lib: false,
68710
68699
  };
68711
68700
  };
68712
- const patchPlugins = (resolvedPlugins) => {
68701
+ const patchPlugins = (rawPlugins) => {
68713
68702
  // Force opt-in shared plugins
68714
- const environmentPlugins = [...resolvedPlugins];
68703
+ const environmentPlugins = [...rawPlugins];
68715
68704
  let validMixedPlugins = true;
68716
68705
  for (let i = 0; i < environmentPlugins.length; i++) {
68717
68706
  const environmentPlugin = environmentPlugins[i];
68718
- const sharedPlugin = config.plugins[i];
68707
+ if (typeof environmentPlugin === 'function') {
68708
+ continue;
68709
+ }
68710
+ const sharedPlugin = config.rawPlugins[i];
68719
68711
  if (config.builder.sharedPlugins ||
68720
68712
  environmentPlugin.sharedDuringBuild) {
68721
68713
  if (environmentPlugin.name !== sharedPlugin.name) {
@@ -68727,7 +68719,7 @@ async function createBuilder(inlineConfig = {}) {
68727
68719
  }
68728
68720
  if (validMixedPlugins) {
68729
68721
  for (let i = 0; i < environmentPlugins.length; i++) {
68730
- resolvedPlugins[i] = environmentPlugins[i];
68722
+ rawPlugins[i] = environmentPlugins[i];
68731
68723
  }
68732
68724
  }
68733
68725
  };
@@ -69181,7 +69173,7 @@ async function resolveConfig(inlineConfig, command, defaultMode = 'development',
69181
69173
  if (!p) {
69182
69174
  return false;
69183
69175
  }
69184
- else if (!p.apply) {
69176
+ else if (typeof p === 'function' || !p.apply) {
69185
69177
  return true;
69186
69178
  }
69187
69179
  else if (typeof p.apply === 'function') {
@@ -69192,8 +69184,11 @@ async function resolveConfig(inlineConfig, command, defaultMode = 'development',
69192
69184
  }
69193
69185
  };
69194
69186
  // resolve plugins
69195
- const rawUserPlugins = (await asyncFlatten(config.plugins || [])).filter(filterPlugin);
69196
- const [prePlugins, normalPlugins, postPlugins] = sortUserPlugins(rawUserPlugins);
69187
+ const rawPlugins = (await asyncFlatten(config.plugins || [])).filter(filterPlugin);
69188
+ // Backward compatibility hook used in builder, opt-in to shared plugins during build
69189
+ patchPlugins?.(rawPlugins);
69190
+ const sharedPlugins = rawPlugins.filter((plugin) => typeof plugin !== 'function');
69191
+ const [prePlugins, normalPlugins, postPlugins] = sortUserPlugins(sharedPlugins);
69197
69192
  const isBuild = command === 'build';
69198
69193
  // Ensure default client and ssr environments
69199
69194
  // If there are present, ensure order { client, ssr, ...custom }
@@ -69386,7 +69381,8 @@ async function resolveConfig(inlineConfig, command, defaultMode = 'development',
69386
69381
  mainConfig: resolved,
69387
69382
  bundleChain,
69388
69383
  };
69389
- const resolvedWorkerPlugins = await resolvePlugins(workerResolved, workerPrePlugins, workerNormalPlugins, workerPostPlugins);
69384
+ const resolveWorkerPlugins = await createResolvePlugins(workerResolved);
69385
+ const resolvedWorkerPlugins = resolveWorkerPlugins(workerPrePlugins, workerNormalPlugins, workerPostPlugins);
69390
69386
  // run configResolved hooks
69391
69387
  await Promise.all(createPluginHookUtils(resolvedWorkerPlugins)
69392
69388
  .getSortedPluginHooks('configResolved')
@@ -69414,6 +69410,8 @@ async function resolveConfig(inlineConfig, command, defaultMode = 'development',
69414
69410
  bundleChain: [],
69415
69411
  isProduction,
69416
69412
  plugins: userPlugins,
69413
+ rawPlugins,
69414
+ resolvePlugins: null,
69417
69415
  css: resolveCSSOptions(config.css),
69418
69416
  esbuild: config.esbuild === false
69419
69417
  ? false
@@ -69522,9 +69520,9 @@ async function resolveConfig(inlineConfig, command, defaultMode = 'development',
69522
69520
  // patchConfig/patchPlugins and have a single patchConfig before configResolved
69523
69521
  // gets called
69524
69522
  patchConfig?.(resolved);
69525
- const resolvedPlugins = await resolvePlugins(resolved, prePlugins, normalPlugins, postPlugins);
69526
- // Backward compatibility hook used in builder
69527
- patchPlugins?.(resolvedPlugins);
69523
+ const resolvePlugins = await createResolvePlugins(resolved);
69524
+ resolved.resolvePlugins = resolvePlugins;
69525
+ const resolvedPlugins = resolvePlugins(prePlugins, normalPlugins, postPlugins);
69528
69526
  resolved.plugins = resolvedPlugins;
69529
69527
  Object.assign(resolved, createPluginHookUtils(resolved.plugins));
69530
69528
  // call configResolved hooks
package/dist/node/cli.js CHANGED
@@ -731,7 +731,7 @@ cli
731
731
  filterDuplicateOptions(options);
732
732
  // output structure is preserved even after bundling so require()
733
733
  // is ok here
734
- const { createServer } = await import('./chunks/dep-o_W9DKGE.js').then(function (n) { return n.C; });
734
+ const { createServer } = await import('./chunks/dep--Oy4lQ4n.js').then(function (n) { return n.C; });
735
735
  try {
736
736
  const server = await createServer({
737
737
  root,
@@ -812,7 +812,7 @@ cli
812
812
  .option('--app', `[boolean] same as builder.entireApp`)
813
813
  .action(async (root, options) => {
814
814
  filterDuplicateOptions(options);
815
- const { createBuilder, buildEnvironment } = await import('./chunks/dep-o_W9DKGE.js').then(function (n) { return n.E; });
815
+ const { createBuilder, buildEnvironment } = await import('./chunks/dep--Oy4lQ4n.js').then(function (n) { return n.E; });
816
816
  const buildOptions = cleanGlobalCLIOptions(cleanBuilderCLIOptions(options));
817
817
  const config = {
818
818
  root,
@@ -888,7 +888,7 @@ cli
888
888
  .option('--outDir <dir>', `[string] output directory (default: dist)`)
889
889
  .action(async (root, options) => {
890
890
  filterDuplicateOptions(options);
891
- const { preview } = await import('./chunks/dep-o_W9DKGE.js').then(function (n) { return n.F; });
891
+ const { preview } = await import('./chunks/dep--Oy4lQ4n.js').then(function (n) { return n.F; });
892
892
  try {
893
893
  const server = await preview({
894
894
  root,
@@ -2961,7 +2961,7 @@ interface ESBuildOptions extends esbuild_TransformOptions {
2961
2961
  type ESBuildTransformResult = Omit<esbuild_TransformResult, 'map'> & {
2962
2962
  map: SourceMap;
2963
2963
  };
2964
- declare function transformWithEsbuild(code: string, filename: string, options?: esbuild_TransformOptions, inMap?: object): Promise<ESBuildTransformResult>;
2964
+ declare function transformWithEsbuild(code: string, filename: string, options?: esbuild_TransformOptions, inMap?: object, root?: string, watcher?: any): Promise<ESBuildTransformResult>;
2965
2965
 
2966
2966
  interface FsUtils {
2967
2967
  existsSync: (path: string) => boolean;
@@ -3262,6 +3262,20 @@ type ModifyHookContext<Hook, NewContext> = Hook extends {
3262
3262
  handler: infer Handler;
3263
3263
  } ? ModifyObjectHookContext<Handler, Hook, NewContext> : ModifyFunctionContext<Hook, NewContext>;
3264
3264
  interface BasePlugin<A = any> extends rollup.Plugin<A> {
3265
+ /**
3266
+ * Enforce plugin invocation tier similar to webpack loaders. Hooks ordering
3267
+ * is still subject to the `order` property in the hook object.
3268
+ *
3269
+ * Plugin invocation order:
3270
+ * - alias resolution
3271
+ * - `enforce: 'pre'` plugins
3272
+ * - vite core plugins
3273
+ * - normal plugins
3274
+ * - vite build plugins
3275
+ * - `enforce: 'post'` plugins
3276
+ * - vite build post plugins
3277
+ */
3278
+ enforce?: 'pre' | 'post';
3265
3279
  /**
3266
3280
  * Perform custom handling of HMR updates.
3267
3281
  * The handler receives a context containing changed filename, timestamp, a
@@ -3317,27 +3331,6 @@ interface Plugin<A = any> extends BasePlugin<A> {
3317
3331
  * @experimental
3318
3332
  */
3319
3333
  sharedDuringBuild?: boolean;
3320
- /**
3321
- * Spawn the plugin into multiple plugins based on the environment.
3322
- * This hook is called when the config has already been resolved, allowing to
3323
- * create per environment plugin pipelines or easily inject plugins for a
3324
- * only specific environments.
3325
- */
3326
- create?: (environment: PluginEnvironment) => BoundedPluginOption;
3327
- /**
3328
- * Enforce plugin invocation tier similar to webpack loaders. Hooks ordering
3329
- * is still subject to the `order` property in the hook object.
3330
- *
3331
- * Plugin invocation order:
3332
- * - alias resolution
3333
- * - `enforce: 'pre'` plugins
3334
- * - vite core plugins
3335
- * - normal plugins
3336
- * - vite build plugins
3337
- * - `enforce: 'post'` plugins
3338
- * - vite build post plugins
3339
- */
3340
- enforce?: 'pre' | 'post';
3341
3334
  /**
3342
3335
  * Apply the plugin only for serve or build, or on certain conditions.
3343
3336
  */
@@ -3413,9 +3406,10 @@ type HookHandler<T> = T extends ObjectHook<infer H> ? H : T;
3413
3406
  type PluginWithRequiredHook<K extends keyof Plugin> = Plugin & {
3414
3407
  [P in K]: NonNullable<Plugin[P]>;
3415
3408
  };
3409
+ type BoundedPluginConstructor = (Environment: PluginEnvironment) => BoundedPluginOption;
3416
3410
  type MaybeBoundedPlugin = BoundedPlugin | false | null | undefined;
3417
3411
  type BoundedPluginOption = MaybeBoundedPlugin | BoundedPluginOption[] | Promise<MaybeBoundedPlugin | BoundedPluginOption[]>;
3418
- type MaybePlugin = Plugin | false | null | undefined;
3412
+ type MaybePlugin = Plugin | BoundedPluginConstructor | false | null | undefined;
3419
3413
  type PluginOption = MaybePlugin | PluginOption[] | Promise<MaybePlugin | PluginOption[]>;
3420
3414
 
3421
3415
  interface JsonOptions {
@@ -3865,6 +3859,7 @@ type ResolvedConfig = Readonly<Omit<UserConfig, 'plugins' | 'css' | 'assetsInclu
3865
3859
  alias: Alias[];
3866
3860
  };
3867
3861
  plugins: readonly Plugin[];
3862
+ rawPlugins: readonly (Plugin | BoundedPluginConstructor)[];
3868
3863
  css: ResolvedCSSOptions;
3869
3864
  esbuild: ESBuildOptions | false;
3870
3865
  server: ResolvedServerOptions;
@@ -3887,7 +3882,7 @@ interface PluginHookUtils {
3887
3882
  getSortedPluginHooks: <K extends keyof Plugin>(hookName: K) => NonNullable<HookHandler<Plugin[K]>>[];
3888
3883
  }
3889
3884
  type ResolveFn = (id: string, importer?: string, aliasOnly?: boolean, ssr?: boolean) => Promise<string | undefined>;
3890
- declare function resolveConfig(inlineConfig: InlineConfig, command: 'build' | 'serve', defaultMode?: string, defaultNodeEnv?: string, isPreview?: boolean, patchConfig?: ((config: ResolvedConfig) => void) | undefined, patchPlugins?: ((plugins: Plugin[]) => void) | undefined): Promise<ResolvedConfig>;
3885
+ declare function resolveConfig(inlineConfig: InlineConfig, command: 'build' | 'serve', defaultMode?: string, defaultNodeEnv?: string, isPreview?: boolean, patchConfig?: ((config: ResolvedConfig) => void) | undefined, patchPlugins?: ((plugins: (Plugin | BoundedPluginConstructor)[]) => void) | undefined): Promise<ResolvedConfig>;
3891
3886
  declare function sortUserPlugins(plugins: (Plugin | Plugin[])[] | undefined): [Plugin[], Plugin[], Plugin[]];
3892
3887
  declare function loadConfigFromFile(configEnv: ConfigEnv, configFile?: string, configRoot?: string, logLevel?: LogLevel, customLogger?: Logger): Promise<{
3893
3888
  path: string;
@@ -4007,4 +4002,4 @@ interface ManifestChunk {
4007
4002
  dynamicImports?: string[];
4008
4003
  }
4009
4004
 
4010
- export { type Alias, type AliasOptions, type AnymatchFn, type AnymatchPattern, type AppType, type AwaitWriteFinishOptions, type BindCLIShortcutsOptions, BuildEnvironment, type BuildEnvironmentOptions, type BuildOptions, type BuilderOptions, type CLIShortcut, type CSSModulesOptions, type CSSOptions, type CommonServerOptions, type ConfigEnv, Connect, type CorsOptions, type CorsOrigin, type DepOptimizationConfig, type DepOptimizationMetadata, type DepOptimizationOptions, DevEnvironment, type DevEnvironmentOptions, type DevEnvironmentSetup, type ESBuildOptions, type ESBuildTransformResult, EnvironmentModuleGraph, EnvironmentModuleNode, type ExperimentalOptions, type ExportsData, FSWatcher, type FetchModuleOptions, type FileSystemServeOptions, type FilterPattern, type HMRBroadcaster, type HMRBroadcasterClient, type HMRChannel, type HTMLOptions, type HmrContext, type HmrOptions, type HookHandler, type HotUpdateContext, type HtmlTagDescriptor, HttpProxy, type IndexHtmlTransform, type IndexHtmlTransformContext, type IndexHtmlTransformHook, type IndexHtmlTransformResult, type InlineConfig, type InternalResolveOptions, type JsonOptions, type LegacyOptions, type LibraryFormats, type LibraryOptions, type LightningCSSOptions, type LogErrorOptions, type LogLevel, type LogOptions, type LogType, type Logger, type LoggerOptions, type Manifest, type ManifestChunk, type MapToFunction, type AnymatchMatcher as Matcher, ModuleGraph, ModuleNode, type ModulePreloadOptions, type OptimizedDepInfo, type Plugin, type PluginContainer, type PluginHookUtils, type PluginOption, type PreprocessCSSResult, type PreviewOptions, type PreviewServer, type PreviewServerHook, type ProxyOptions, RemoteEnvironmentTransport, type RenderBuiltAssetUrl, type ResolveFn, type ResolveModulePreloadDependenciesFn, type ResolveOptions, type ResolvedBuildEnvironmentOptions, type ResolvedBuildOptions, type ResolvedCSSOptions, type ResolvedConfig, type ResolvedDevEnvironmentOptions, type ResolvedModulePreloadOptions, type ResolvedPreviewOptions, type ResolvedSSROptions, type ResolvedServerOptions, type ResolvedServerUrls, type ResolvedUrl, type ResolvedWorkerOptions, type ResolverFunction, type ResolverObject, type RollupCommonJSOptions, type RollupDynamicImportVarsOptions, type SSROptions, type SSRTarget, type SendOptions, type ServerHMRChannel, ServerHMRConnector, type ServerHook, type ServerModuleRunnerOptions, type ServerOptions, SplitVendorChunkCache, type SsrDepOptimizationOptions, Terser, type TerserOptions, type TransformOptions, type TransformResult, type UserConfig, type UserConfigExport, type UserConfigFn, type UserConfigFnObject, type UserConfigFnPromise, type ViteBuilder, type ViteDevServer, type WatchOptions, WebSocket, WebSocketAlias, type WebSocketClient, type WebSocketCustomListener, WebSocketServer, build, buildErrorMessage, createBuilder, createFilter, createLogger, createNodeDevEnvironment, createServer, createServerModuleRunner, defineConfig, fetchModule, formatPostcssSourceMap, isCSSRequest, isFileServingAllowed, loadConfigFromFile, loadEnv, mergeAlias, mergeConfig, normalizePath, preprocessCSS, preview, resolveConfig, resolveEnvPrefix, rollupVersion, searchForWorkspaceRoot, send, sortUserPlugins, splitVendorChunk, splitVendorChunkPlugin, transformWithEsbuild, VERSION as version };
4005
+ export { type Alias, type AliasOptions, type AnymatchFn, type AnymatchPattern, type AppType, type AwaitWriteFinishOptions, type BindCLIShortcutsOptions, type BoundedPlugin, type BoundedPluginConstructor, BuildEnvironment, type BuildEnvironmentOptions, type BuildOptions, type BuilderOptions, type CLIShortcut, type CSSModulesOptions, type CSSOptions, type CommonServerOptions, type ConfigEnv, Connect, type CorsOptions, type CorsOrigin, type DepOptimizationConfig, type DepOptimizationMetadata, type DepOptimizationOptions, DevEnvironment, type DevEnvironmentOptions, type DevEnvironmentSetup, type ESBuildOptions, type ESBuildTransformResult, EnvironmentModuleGraph, EnvironmentModuleNode, type ExperimentalOptions, type ExportsData, FSWatcher, type FetchModuleOptions, type FileSystemServeOptions, type FilterPattern, type HMRBroadcaster, type HMRBroadcasterClient, type HMRChannel, type HTMLOptions, type HmrContext, type HmrOptions, type HookHandler, type HotUpdateContext, type HtmlTagDescriptor, HttpProxy, type IndexHtmlTransform, type IndexHtmlTransformContext, type IndexHtmlTransformHook, type IndexHtmlTransformResult, type InlineConfig, type InternalResolveOptions, type JsonOptions, type LegacyOptions, type LibraryFormats, type LibraryOptions, type LightningCSSOptions, type LogErrorOptions, type LogLevel, type LogOptions, type LogType, type Logger, type LoggerOptions, type Manifest, type ManifestChunk, type MapToFunction, type AnymatchMatcher as Matcher, ModuleGraph, ModuleNode, type ModulePreloadOptions, type OptimizedDepInfo, type Plugin, type PluginContainer, type PluginHookUtils, type PluginOption, type PreprocessCSSResult, type PreviewOptions, type PreviewServer, type PreviewServerHook, type ProxyOptions, RemoteEnvironmentTransport, type RenderBuiltAssetUrl, type ResolveFn, type ResolveModulePreloadDependenciesFn, type ResolveOptions, type ResolvedBuildEnvironmentOptions, type ResolvedBuildOptions, type ResolvedCSSOptions, type ResolvedConfig, type ResolvedDevEnvironmentOptions, type ResolvedModulePreloadOptions, type ResolvedPreviewOptions, type ResolvedSSROptions, type ResolvedServerOptions, type ResolvedServerUrls, type ResolvedUrl, type ResolvedWorkerOptions, type ResolverFunction, type ResolverObject, type RollupCommonJSOptions, type RollupDynamicImportVarsOptions, type SSROptions, type SSRTarget, type SendOptions, type ServerHMRChannel, ServerHMRConnector, type ServerHook, type ServerModuleRunnerOptions, type ServerOptions, SplitVendorChunkCache, type SsrDepOptimizationOptions, Terser, type TerserOptions, type TransformOptions, type TransformResult, type UserConfig, type UserConfigExport, type UserConfigFn, type UserConfigFnObject, type UserConfigFnPromise, type ViteBuilder, type ViteDevServer, type WatchOptions, WebSocket, WebSocketAlias, type WebSocketClient, type WebSocketCustomListener, WebSocketServer, build, buildErrorMessage, createBuilder, createFilter, createLogger, createNodeDevEnvironment, createServer, createServerModuleRunner, defineConfig, fetchModule, formatPostcssSourceMap, isCSSRequest, isFileServingAllowed, loadConfigFromFile, loadEnv, mergeAlias, mergeConfig, normalizePath, preprocessCSS, preview, resolveConfig, resolveEnvPrefix, rollupVersion, searchForWorkspaceRoot, send, sortUserPlugins, splitVendorChunk, splitVendorChunkPlugin, transformWithEsbuild, VERSION as version };
@@ -1,6 +1,6 @@
1
1
  export { parseAst, parseAstAsync } from 'rollup/parseAst';
2
- import { i as isInNodeModules, a as arraify } from './chunks/dep-o_W9DKGE.js';
3
- export { B as BuildEnvironment, D as DevEnvironment, S as ServerHMRConnector, b as build, h as buildErrorMessage, e as createBuilder, u as createFilter, j as createNodeDevEnvironment, c as createServer, m as createServerModuleRunner, d as defineConfig, k as fetchModule, f as formatPostcssSourceMap, y as isFileServingAllowed, l as loadConfigFromFile, z as loadEnv, q as mergeAlias, o as mergeConfig, n as normalizePath, g as preprocessCSS, p as preview, r as resolveConfig, A as resolveEnvPrefix, v as rollupVersion, x as searchForWorkspaceRoot, w as send, s as sortUserPlugins, t as transformWithEsbuild } from './chunks/dep-o_W9DKGE.js';
2
+ import { i as isInNodeModules, a as arraify } from './chunks/dep--Oy4lQ4n.js';
3
+ export { B as BuildEnvironment, D as DevEnvironment, S as ServerHMRConnector, b as build, h as buildErrorMessage, e as createBuilder, u as createFilter, j as createNodeDevEnvironment, c as createServer, m as createServerModuleRunner, d as defineConfig, k as fetchModule, f as formatPostcssSourceMap, y as isFileServingAllowed, l as loadConfigFromFile, z as loadEnv, q as mergeAlias, o as mergeConfig, n as normalizePath, g as preprocessCSS, p as preview, r as resolveConfig, A as resolveEnvPrefix, v as rollupVersion, x as searchForWorkspaceRoot, w as send, s as sortUserPlugins, t as transformWithEsbuild } from './chunks/dep--Oy4lQ4n.js';
4
4
  export { VERSION as version } from './constants.js';
5
5
  export { version as esbuildVersion } from 'esbuild';
6
6
  export { c as createLogger } from './chunks/dep-C7zR1Rh8.js';
package/index.cjs CHANGED
@@ -6,7 +6,6 @@ warnCjsUsage()
6
6
  module.exports.defineConfig = (config) => config
7
7
 
8
8
  // proxy cjs utils (sync functions)
9
- // eslint-disable-next-line n/no-missing-require -- will be generated by build
10
9
  Object.assign(module.exports, require('./dist/node-cjs/publicUtils.cjs'))
11
10
 
12
11
  // async functions, can be redirect from ESM build
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vite",
3
- "version": "6.0.0-alpha.7",
3
+ "version": "6.0.0-alpha.9",
4
4
  "type": "module",
5
5
  "license": "MIT",
6
6
  "author": "Evan You",
@@ -81,7 +81,7 @@
81
81
  },
82
82
  "devDependencies": {
83
83
  "@ampproject/remapping": "^2.3.0",
84
- "@babel/parser": "^7.24.4",
84
+ "@babel/parser": "^7.24.5",
85
85
  "@jridgewell/trace-mapping": "^0.3.25",
86
86
  "@polka/compression": "^1.0.0-next.25",
87
87
  "@rollup/plugin-alias": "^5.1.0",
@@ -106,7 +106,7 @@
106
106
  "dep-types": "link:./src/types",
107
107
  "dotenv": "^16.4.5",
108
108
  "dotenv-expand": "^11.0.6",
109
- "es-module-lexer": "^1.5.0",
109
+ "es-module-lexer": "^1.5.2",
110
110
  "escape-html": "^1.0.3",
111
111
  "estree-walker": "^3.0.3",
112
112
  "etag": "^1.8.1",
@@ -131,7 +131,7 @@
131
131
  "rollup-plugin-dts": "^6.1.0",
132
132
  "rollup-plugin-esbuild": "^6.1.1",
133
133
  "rollup-plugin-license": "^3.3.1",
134
- "sass": "^1.75.0",
134
+ "sass": "^1.76.0",
135
135
  "sirv": "^2.0.4",
136
136
  "source-map-support": "^0.5.21",
137
137
  "strip-ansi": "^7.1.0",
@@ -140,7 +140,7 @@
140
140
  "tslib": "^2.6.2",
141
141
  "types": "link:./types",
142
142
  "ufo": "^1.5.3",
143
- "ws": "^8.16.0"
143
+ "ws": "^8.17.0"
144
144
  },
145
145
  "peerDependencies": {
146
146
  "@types/node": "^18.0.0 || >=20.0.0",