vite 4.2.0-beta.0 → 4.2.0-beta.1
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.
Potentially problematic release.
This version of vite might be problematic. Click here for more details.
- package/dist/node/chunks/{dep-ae3bb4e1.js → dep-a18b8a7b.js} +690 -463
- package/dist/node/chunks/{dep-51508e52.js → dep-d2a7fe01.js} +1 -1
- package/dist/node/cli.js +6 -5
- package/dist/node/index.d.ts +14 -1
- package/dist/node/index.js +2 -1
- package/dist/node-cjs/publicUtils.cjs +3 -3
- package/package.json +4 -4
|
@@ -4,7 +4,7 @@ import { URL as URL$3, URLSearchParams, parse as parse$i, pathToFileURL } from '
|
|
|
4
4
|
import { performance } from 'node:perf_hooks';
|
|
5
5
|
import { createRequire as createRequire$1, builtinModules } from 'node:module';
|
|
6
6
|
import require$$0$3 from 'tty';
|
|
7
|
-
import { transform as transform$2, formatMessages, build as build$3 } from 'esbuild';
|
|
7
|
+
import esbuild, { transform as transform$2, formatMessages, build as build$3 } from 'esbuild';
|
|
8
8
|
import require$$0$4, { win32, posix, isAbsolute as isAbsolute$1, resolve as resolve$3, relative as relative$1, basename as basename$1, extname, dirname as dirname$1, join as join$1, sep, normalize } from 'path';
|
|
9
9
|
import * as require$$0$2 from 'fs';
|
|
10
10
|
import require$$0__default, { existsSync, readFileSync, statSync as statSync$1, promises as promises$1, readdirSync } from 'fs';
|
|
@@ -25,6 +25,7 @@ import resolve$4 from 'resolve';
|
|
|
25
25
|
import { CLIENT_ENTRY, OPTIMIZABLE_ENTRY_RE, DEFAULT_EXTENSIONS as DEFAULT_EXTENSIONS$1, wildcardHosts, loopbackHosts, VALID_ID_PREFIX, NULL_BYTE_PLACEHOLDER, FS_PREFIX, CLIENT_PUBLIC_PATH, ENV_PUBLIC_PATH, ENV_ENTRY, DEFAULT_MAIN_FIELDS, SPECIAL_QUERY_RE, DEP_VERSION_RE, KNOWN_ASSET_TYPES, CSS_LANGS_RE, CLIENT_DIR, JS_TYPES_RE, ESBUILD_MODULES_TARGET, VERSION as VERSION$1, VITE_PACKAGE_DIR, DEFAULT_DEV_PORT, DEFAULT_PREVIEW_PORT, DEFAULT_ASSETS_RE, DEFAULT_CONFIG_FILES } from '../constants.js';
|
|
26
26
|
import require$$5$1 from 'crypto';
|
|
27
27
|
import { Buffer as Buffer$1 } from 'node:buffer';
|
|
28
|
+
import fsp from 'node:fs/promises';
|
|
28
29
|
import require$$0$8, { createRequire as createRequire$2 } from 'module';
|
|
29
30
|
import assert$1 from 'node:assert';
|
|
30
31
|
import process$1 from 'node:process';
|
|
@@ -15978,8 +15979,8 @@ function dataURIPlugin() {
|
|
|
15978
15979
|
};
|
|
15979
15980
|
}
|
|
15980
15981
|
|
|
15981
|
-
/* es-module-lexer 1.
|
|
15982
|
-
const A=1===new Uint8Array(new Uint16Array([1]).buffer)[0];function parse$e(E,g="@"){if(!C)return init.then((()=>parse$e(E)));const I=E.length+1,K=(C.__heap_base.value||C.__heap_base)+4*I-C.memory.buffer.byteLength;K>0&&C.memory.grow(Math.ceil(K/65536));const k=C.sa(I-1);if((A?B:Q)(E,new Uint16Array(C.memory.buffer,k,I)),!C.parse())throw Object.assign(new Error(`Parse error ${g}:${E.slice(0,C.e()).split("\n").length}:${C.e()-E.lastIndexOf("\n",C.e()-1)}`),{idx:C.e()});const o=[],D=[];for(;C.ri();){const A=C.is(),Q=C.ie(),B=C.ai(),g=C.id(),I=C.ss(),K=C.se();let k;C.ip()&&(k=w(E.slice(-1===g?A-1:A,-1===g?Q+1:Q))),o.push({n:k,s:A,e:Q,ss:I,se:K,d:g,a:B});}for(;C.re();){const A=C.es(),Q=C.ee(),B=C.els(),g=C.ele(),I=E.slice(A,Q),K=I[0],k=B<0?void 0:E.slice(B,g),o=k?k[0]:"";D.push({s:A,e:Q,ls:B,le:g,n:'"'===K||"'"===K?w(I):I,ln:'"'===o||"'"===o?w(k):k});}function w(A){try{return (0, eval)(A)}catch(A){}}return [o,D,!!C.f()]}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;
|
|
15982
|
+
/* es-module-lexer 1.2.0 */
|
|
15983
|
+
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,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 D=[],k=[];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=J(E.slice(-1===g?A-1:A,-1===g?Q+1:Q))),D.push({n:K,s:A,e:Q,ss:I,se:o,d:g,a:B});}for(;C.re();){const A=C.es(),Q=C.ee(),B=C.els(),g=C.ele(),I=E.slice(A,Q),o=I[0],K=B<0?void 0:E.slice(B,g),D=K?K[0]:"";k.push({s:A,e:Q,ls:B,le:g,n:'"'===o||"'"===o?J(I):I,ln:'"'===D||"'"===D?J(K):K});}function J(A){try{return (0, eval)(A)}catch(A){}}return [D,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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","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;
|
|
15983
15984
|
|
|
15984
15985
|
const isDebug$6 = !!process.env.DEBUG;
|
|
15985
15986
|
const debug$e = createDebugger('vite:sourcemap', {
|
|
@@ -16037,7 +16038,7 @@ function getCodeWithSourcemap(type, code, map) {
|
|
|
16037
16038
|
return code;
|
|
16038
16039
|
}
|
|
16039
16040
|
|
|
16040
|
-
function e(e,n,r){throw new Error(r?`No known conditions for "${n}" specifier in "${e}" package`:`Missing "${n}" specifier in "${e}" package`)}function n(n,i,o,f){let s,u,l=r(n,o),c=function(e){let n=new Set(["default",...e.conditions||[]]);return e.unsafe||n.add(e.require?"require":"import"),e.unsafe||n.add(e.browser?"browser":"node"),n}(f||{}),a=i[l];if(void 0===a){let e,n,r,t;for(t in i)n&&t.length<n.length||("/"===t[t.length-1]&&l.startsWith(t)?(u=l.substring(t.length),n=t):t.length>1&&(r=t.indexOf("*",2),~r&&(e=RegExp("^"+t.substring(0,r)+"(.*)"+t.substring(1+r)).exec(l),e&&e[1]&&(u=e[1],n=t))));a=i[n];}return a||e(n,l),s=t(a,c),s||e(n,l,1),u&&function(e,n){let r,t=0,i=e.length,o=/[*]/g
|
|
16041
|
+
function e(e,n,r){throw new Error(r?`No known conditions for "${n}" specifier in "${e}" package`:`Missing "${n}" specifier in "${e}" package`)}function n(n,i,o,f){let s,u,l=r(n,o),c=function(e){let n=new Set(["default",...e.conditions||[]]);return e.unsafe||n.add(e.require?"require":"import"),e.unsafe||n.add(e.browser?"browser":"node"),n}(f||{}),a=i[l];if(void 0===a){let e,n,r,t;for(t in i)n&&t.length<n.length||("/"===t[t.length-1]&&l.startsWith(t)?(u=l.substring(t.length),n=t):t.length>1&&(r=t.indexOf("*",2),~r&&(e=RegExp("^"+t.substring(0,r)+"(.*)"+t.substring(1+r)).exec(l),e&&e[1]&&(u=e[1],n=t))));a=i[n];}return a||e(n,l),s=t(a,c),s||e(n,l,1),u&&function(e,n){let r,t=0,i=e.length,o=/[*]/g,f=/[/]$/;for(;t<i;t++)e[t]=o.test(r=e[t])?r.replace(o,n):f.test(r)?r+n:r;}(s,u),s}function r(e,n,r){if(e===n||"."===n)return ".";let t=e+"/",i=t.length,o=n.slice(0,i)===t,f=o?n.slice(i):n;return "#"===f[0]?f:o||!r?"./"===f.slice(0,2)?f:"./"+f:f}function t(e,n,r){if(e){if("string"==typeof e)return r&&r.add(e),[e];let i,o;if(Array.isArray(e)){for(o=r||new Set,i=0;i<e.length;i++)t(e[i],n,o);if(!r&&o.size)return [...o]}else for(i in e)if(n.has(i))return t(e[i],n,r)}}function o(e,r,t){let i,o=e.exports;if(o){if("string"==typeof o)o={".":o};else for(i in o){"."!==i[0]&&(o={".":o});break}return n(e.name,o,r||".",t)}}function f(e,r,t){if(e.imports)return n(e.name,e.imports,r,t)}
|
|
16041
16042
|
|
|
16042
16043
|
// This file was generated. Do not modify manually!
|
|
16043
16044
|
var astralIdentifierCodes = [509, 0, 227, 0, 150, 4, 294, 9, 1368, 2, 2, 1, 6, 3, 41, 2, 5, 0, 166, 1, 574, 3, 9, 9, 370, 1, 81, 2, 71, 10, 50, 3, 123, 2, 54, 14, 32, 10, 3, 1, 11, 3, 46, 10, 8, 0, 46, 9, 7, 2, 37, 13, 2, 9, 6, 1, 45, 0, 13, 2, 49, 13, 9, 3, 2, 11, 83, 11, 7, 0, 3, 0, 158, 11, 6, 9, 7, 3, 56, 1, 2, 6, 3, 1, 3, 2, 10, 0, 11, 1, 3, 6, 4, 4, 193, 17, 10, 9, 5, 0, 82, 19, 13, 9, 214, 6, 3, 8, 28, 1, 83, 16, 16, 9, 82, 12, 9, 9, 84, 14, 5, 9, 243, 14, 166, 9, 71, 5, 2, 1, 3, 3, 2, 0, 2, 1, 13, 9, 120, 6, 3, 6, 4, 0, 29, 9, 41, 6, 2, 3, 9, 0, 10, 10, 47, 15, 406, 7, 2, 7, 17, 9, 57, 21, 2, 13, 123, 5, 4, 0, 2, 1, 2, 6, 2, 0, 9, 9, 49, 4, 2, 1, 2, 4, 9, 9, 330, 3, 10, 1, 2, 0, 49, 6, 4, 4, 14, 9, 5351, 0, 7, 14, 13835, 9, 87, 9, 39, 4, 60, 6, 26, 9, 1014, 0, 2, 54, 8, 3, 82, 0, 12, 1, 19628, 1, 4706, 45, 3, 22, 543, 4, 4, 5, 9, 7, 3, 6, 31, 3, 149, 2, 1418, 49, 513, 54, 5, 49, 9, 0, 15, 0, 23, 4, 2, 14, 1361, 6, 2, 16, 3, 6, 2, 1, 2, 4, 101, 0, 161, 6, 10, 9, 357, 0, 62, 13, 499, 13, 983, 6, 110, 6, 6, 9, 4759, 9, 787719, 239];
|
|
@@ -22508,6 +22509,7 @@ const browserExternalId = '__vite-browser-external';
|
|
|
22508
22509
|
// special id for packages that are optional peer deps
|
|
22509
22510
|
const optionalPeerDepId = '__vite-optional-peer-dep';
|
|
22510
22511
|
const nodeModulesInPathRE = /(?:^|\/)node_modules\//;
|
|
22512
|
+
const subpathImportsPrefix = '#';
|
|
22511
22513
|
const isDebug$4 = process.env.DEBUG;
|
|
22512
22514
|
const debug$c = createDebugger('vite:resolve-details', {
|
|
22513
22515
|
onlyWhenFocused: true,
|
|
@@ -22533,6 +22535,22 @@ function resolvePlugin(resolveOptions) {
|
|
|
22533
22535
|
...resolveOptions,
|
|
22534
22536
|
scan: resolveOpts?.scan ?? resolveOptions.scan,
|
|
22535
22537
|
};
|
|
22538
|
+
const resolveSubpathImports = (id, importer) => {
|
|
22539
|
+
if (!importer || !id.startsWith(subpathImportsPrefix))
|
|
22540
|
+
return;
|
|
22541
|
+
const basedir = path$o.dirname(importer);
|
|
22542
|
+
const pkgJsonPath = lookupFile(basedir, ['package.json'], {
|
|
22543
|
+
pathOnly: true,
|
|
22544
|
+
});
|
|
22545
|
+
if (!pkgJsonPath)
|
|
22546
|
+
return;
|
|
22547
|
+
const pkgData = loadPackageData(pkgJsonPath, options.preserveSymlinks);
|
|
22548
|
+
return resolveExportsOrImports(pkgData.data, id, options, targetWeb, 'imports');
|
|
22549
|
+
};
|
|
22550
|
+
const resolvedImports = resolveSubpathImports(id, importer);
|
|
22551
|
+
if (resolvedImports) {
|
|
22552
|
+
id = resolvedImports;
|
|
22553
|
+
}
|
|
22536
22554
|
if (importer) {
|
|
22537
22555
|
const _importer = isWorkerRequest(importer)
|
|
22538
22556
|
? splitFileAndPostfix(importer).file
|
|
@@ -23102,7 +23120,7 @@ function resolvePackageEntry(id, { dir, data, setResolvedCache, getResolvedCache
|
|
|
23102
23120
|
// resolve exports field with highest priority
|
|
23103
23121
|
// using https://github.com/lukeed/resolve.exports
|
|
23104
23122
|
if (data.exports) {
|
|
23105
|
-
entryPoint =
|
|
23123
|
+
entryPoint = resolveExportsOrImports(data, '.', options, targetWeb, 'exports');
|
|
23106
23124
|
}
|
|
23107
23125
|
const resolvedFromExports = !!entryPoint;
|
|
23108
23126
|
// if exports resolved to .mjs, still resolve other fields.
|
|
@@ -23198,7 +23216,7 @@ function packageEntryFailure(id, details) {
|
|
|
23198
23216
|
(details ? ': ' + details : '.'));
|
|
23199
23217
|
}
|
|
23200
23218
|
const conditionalConditions = new Set(['production', 'development', 'module']);
|
|
23201
|
-
function
|
|
23219
|
+
function resolveExportsOrImports(pkg, key, options, targetWeb, type) {
|
|
23202
23220
|
const overrideConditions = options.overrideConditions
|
|
23203
23221
|
? new Set(options.overrideConditions)
|
|
23204
23222
|
: undefined;
|
|
@@ -23221,7 +23239,8 @@ function resolveExports(pkg, key, options, targetWeb) {
|
|
|
23221
23239
|
else if (options.conditions.length > 0) {
|
|
23222
23240
|
conditions.push(...options.conditions);
|
|
23223
23241
|
}
|
|
23224
|
-
const
|
|
23242
|
+
const fn = type === 'imports' ? f : o;
|
|
23243
|
+
const result = fn(pkg, key, {
|
|
23225
23244
|
browser: targetWeb && !conditions.includes('node'),
|
|
23226
23245
|
require: options.isRequire && !conditions.includes('import'),
|
|
23227
23246
|
conditions,
|
|
@@ -23240,7 +23259,7 @@ function resolveDeepImport(id, { webResolvedImports, setResolvedCache, getResolv
|
|
|
23240
23259
|
if (isObject$2(exportsField) && !Array.isArray(exportsField)) {
|
|
23241
23260
|
// resolve without postfix (see #7098)
|
|
23242
23261
|
const { file, postfix } = splitFileAndPostfix(relativeId);
|
|
23243
|
-
const exportsId =
|
|
23262
|
+
const exportsId = resolveExportsOrImports(data, file, options, targetWeb, 'exports');
|
|
23244
23263
|
if (exportsId !== undefined) {
|
|
23245
23264
|
relativeId = exportsId + postfix;
|
|
23246
23265
|
}
|
|
@@ -23286,8 +23305,9 @@ function tryResolveBrowserMapping(id, importer, options, isFilePath, externalize
|
|
|
23286
23305
|
const mapId = isFilePath ? './' + slash$1(path$o.relative(pkg.dir, id)) : id;
|
|
23287
23306
|
const browserMappedPath = mapWithBrowserField(mapId, pkg.data.browser);
|
|
23288
23307
|
if (browserMappedPath) {
|
|
23289
|
-
|
|
23290
|
-
|
|
23308
|
+
if ((res = bareImportRE.test(browserMappedPath)
|
|
23309
|
+
? tryNodeResolve(browserMappedPath, importer, options, true)?.id
|
|
23310
|
+
: tryFsResolve(path$o.join(pkg.dir, browserMappedPath), options))) {
|
|
23291
23311
|
isDebug$4 &&
|
|
23292
23312
|
debug$c(`[browser mapped] ${picocolorsExports.cyan(id)} -> ${picocolorsExports.dim(res)}`);
|
|
23293
23313
|
idToPkgMap.set(res, pkg);
|
|
@@ -36456,6 +36476,322 @@ function stripLiteral(code) {
|
|
|
36456
36476
|
}
|
|
36457
36477
|
}
|
|
36458
36478
|
|
|
36479
|
+
var mainExports = {};
|
|
36480
|
+
var main$1 = {
|
|
36481
|
+
get exports(){ return mainExports; },
|
|
36482
|
+
set exports(v){ mainExports = v; },
|
|
36483
|
+
};
|
|
36484
|
+
|
|
36485
|
+
var name = "dotenv";
|
|
36486
|
+
var version$1 = "16.0.3";
|
|
36487
|
+
var description = "Loads environment variables from .env file";
|
|
36488
|
+
var main = "lib/main.js";
|
|
36489
|
+
var types = "lib/main.d.ts";
|
|
36490
|
+
var exports = {
|
|
36491
|
+
".": {
|
|
36492
|
+
require: "./lib/main.js",
|
|
36493
|
+
types: "./lib/main.d.ts",
|
|
36494
|
+
"default": "./lib/main.js"
|
|
36495
|
+
},
|
|
36496
|
+
"./config": "./config.js",
|
|
36497
|
+
"./config.js": "./config.js",
|
|
36498
|
+
"./lib/env-options": "./lib/env-options.js",
|
|
36499
|
+
"./lib/env-options.js": "./lib/env-options.js",
|
|
36500
|
+
"./lib/cli-options": "./lib/cli-options.js",
|
|
36501
|
+
"./lib/cli-options.js": "./lib/cli-options.js",
|
|
36502
|
+
"./package.json": "./package.json"
|
|
36503
|
+
};
|
|
36504
|
+
var scripts = {
|
|
36505
|
+
"dts-check": "tsc --project tests/types/tsconfig.json",
|
|
36506
|
+
lint: "standard",
|
|
36507
|
+
"lint-readme": "standard-markdown",
|
|
36508
|
+
pretest: "npm run lint && npm run dts-check",
|
|
36509
|
+
test: "tap tests/*.js --100 -Rspec",
|
|
36510
|
+
prerelease: "npm test",
|
|
36511
|
+
release: "standard-version"
|
|
36512
|
+
};
|
|
36513
|
+
var repository = {
|
|
36514
|
+
type: "git",
|
|
36515
|
+
url: "git://github.com/motdotla/dotenv.git"
|
|
36516
|
+
};
|
|
36517
|
+
var keywords = [
|
|
36518
|
+
"dotenv",
|
|
36519
|
+
"env",
|
|
36520
|
+
".env",
|
|
36521
|
+
"environment",
|
|
36522
|
+
"variables",
|
|
36523
|
+
"config",
|
|
36524
|
+
"settings"
|
|
36525
|
+
];
|
|
36526
|
+
var readmeFilename = "README.md";
|
|
36527
|
+
var license = "BSD-2-Clause";
|
|
36528
|
+
var devDependencies = {
|
|
36529
|
+
"@types/node": "^17.0.9",
|
|
36530
|
+
decache: "^4.6.1",
|
|
36531
|
+
dtslint: "^3.7.0",
|
|
36532
|
+
sinon: "^12.0.1",
|
|
36533
|
+
standard: "^16.0.4",
|
|
36534
|
+
"standard-markdown": "^7.1.0",
|
|
36535
|
+
"standard-version": "^9.3.2",
|
|
36536
|
+
tap: "^15.1.6",
|
|
36537
|
+
tar: "^6.1.11",
|
|
36538
|
+
typescript: "^4.5.4"
|
|
36539
|
+
};
|
|
36540
|
+
var engines = {
|
|
36541
|
+
node: ">=12"
|
|
36542
|
+
};
|
|
36543
|
+
var require$$3 = {
|
|
36544
|
+
name: name,
|
|
36545
|
+
version: version$1,
|
|
36546
|
+
description: description,
|
|
36547
|
+
main: main,
|
|
36548
|
+
types: types,
|
|
36549
|
+
exports: exports,
|
|
36550
|
+
scripts: scripts,
|
|
36551
|
+
repository: repository,
|
|
36552
|
+
keywords: keywords,
|
|
36553
|
+
readmeFilename: readmeFilename,
|
|
36554
|
+
license: license,
|
|
36555
|
+
devDependencies: devDependencies,
|
|
36556
|
+
engines: engines
|
|
36557
|
+
};
|
|
36558
|
+
|
|
36559
|
+
const fs$9 = require$$0__default;
|
|
36560
|
+
const path$9 = require$$0$4;
|
|
36561
|
+
const os$2 = require$$2;
|
|
36562
|
+
const packageJson = require$$3;
|
|
36563
|
+
|
|
36564
|
+
const version = packageJson.version;
|
|
36565
|
+
|
|
36566
|
+
const LINE = /(?:^|^)\s*(?:export\s+)?([\w.-]+)(?:\s*=\s*?|:\s+?)(\s*'(?:\\'|[^'])*'|\s*"(?:\\"|[^"])*"|\s*`(?:\\`|[^`])*`|[^#\r\n]+)?\s*(?:#.*)?(?:$|$)/mg;
|
|
36567
|
+
|
|
36568
|
+
// Parser src into an Object
|
|
36569
|
+
function parse$9 (src) {
|
|
36570
|
+
const obj = {};
|
|
36571
|
+
|
|
36572
|
+
// Convert buffer to string
|
|
36573
|
+
let lines = src.toString();
|
|
36574
|
+
|
|
36575
|
+
// Convert line breaks to same format
|
|
36576
|
+
lines = lines.replace(/\r\n?/mg, '\n');
|
|
36577
|
+
|
|
36578
|
+
let match;
|
|
36579
|
+
while ((match = LINE.exec(lines)) != null) {
|
|
36580
|
+
const key = match[1];
|
|
36581
|
+
|
|
36582
|
+
// Default undefined or null to empty string
|
|
36583
|
+
let value = (match[2] || '');
|
|
36584
|
+
|
|
36585
|
+
// Remove whitespace
|
|
36586
|
+
value = value.trim();
|
|
36587
|
+
|
|
36588
|
+
// Check if double quoted
|
|
36589
|
+
const maybeQuote = value[0];
|
|
36590
|
+
|
|
36591
|
+
// Remove surrounding quotes
|
|
36592
|
+
value = value.replace(/^(['"`])([\s\S]*)\1$/mg, '$2');
|
|
36593
|
+
|
|
36594
|
+
// Expand newlines if double quoted
|
|
36595
|
+
if (maybeQuote === '"') {
|
|
36596
|
+
value = value.replace(/\\n/g, '\n');
|
|
36597
|
+
value = value.replace(/\\r/g, '\r');
|
|
36598
|
+
}
|
|
36599
|
+
|
|
36600
|
+
// Add to object
|
|
36601
|
+
obj[key] = value;
|
|
36602
|
+
}
|
|
36603
|
+
|
|
36604
|
+
return obj
|
|
36605
|
+
}
|
|
36606
|
+
|
|
36607
|
+
function _log (message) {
|
|
36608
|
+
console.log(`[dotenv@${version}][DEBUG] ${message}`);
|
|
36609
|
+
}
|
|
36610
|
+
|
|
36611
|
+
function _resolveHome (envPath) {
|
|
36612
|
+
return envPath[0] === '~' ? path$9.join(os$2.homedir(), envPath.slice(1)) : envPath
|
|
36613
|
+
}
|
|
36614
|
+
|
|
36615
|
+
// Populates process.env from .env file
|
|
36616
|
+
function config (options) {
|
|
36617
|
+
let dotenvPath = path$9.resolve(process.cwd(), '.env');
|
|
36618
|
+
let encoding = 'utf8';
|
|
36619
|
+
const debug = Boolean(options && options.debug);
|
|
36620
|
+
const override = Boolean(options && options.override);
|
|
36621
|
+
|
|
36622
|
+
if (options) {
|
|
36623
|
+
if (options.path != null) {
|
|
36624
|
+
dotenvPath = _resolveHome(options.path);
|
|
36625
|
+
}
|
|
36626
|
+
if (options.encoding != null) {
|
|
36627
|
+
encoding = options.encoding;
|
|
36628
|
+
}
|
|
36629
|
+
}
|
|
36630
|
+
|
|
36631
|
+
try {
|
|
36632
|
+
// Specifying an encoding returns a string instead of a buffer
|
|
36633
|
+
const parsed = DotenvModule.parse(fs$9.readFileSync(dotenvPath, { encoding }));
|
|
36634
|
+
|
|
36635
|
+
Object.keys(parsed).forEach(function (key) {
|
|
36636
|
+
if (!Object.prototype.hasOwnProperty.call(process.env, key)) {
|
|
36637
|
+
process.env[key] = parsed[key];
|
|
36638
|
+
} else {
|
|
36639
|
+
if (override === true) {
|
|
36640
|
+
process.env[key] = parsed[key];
|
|
36641
|
+
}
|
|
36642
|
+
|
|
36643
|
+
if (debug) {
|
|
36644
|
+
if (override === true) {
|
|
36645
|
+
_log(`"${key}" is already defined in \`process.env\` and WAS overwritten`);
|
|
36646
|
+
} else {
|
|
36647
|
+
_log(`"${key}" is already defined in \`process.env\` and was NOT overwritten`);
|
|
36648
|
+
}
|
|
36649
|
+
}
|
|
36650
|
+
}
|
|
36651
|
+
});
|
|
36652
|
+
|
|
36653
|
+
return { parsed }
|
|
36654
|
+
} catch (e) {
|
|
36655
|
+
if (debug) {
|
|
36656
|
+
_log(`Failed to load ${dotenvPath} ${e.message}`);
|
|
36657
|
+
}
|
|
36658
|
+
|
|
36659
|
+
return { error: e }
|
|
36660
|
+
}
|
|
36661
|
+
}
|
|
36662
|
+
|
|
36663
|
+
const DotenvModule = {
|
|
36664
|
+
config,
|
|
36665
|
+
parse: parse$9
|
|
36666
|
+
};
|
|
36667
|
+
|
|
36668
|
+
mainExports.config = DotenvModule.config;
|
|
36669
|
+
var parse_1$1 = mainExports.parse = DotenvModule.parse;
|
|
36670
|
+
main$1.exports = DotenvModule;
|
|
36671
|
+
|
|
36672
|
+
function _interpolate (envValue, environment, config) {
|
|
36673
|
+
const matches = envValue.match(/(.?\${*[\w]*(?::-[\w/]*)?}*)/g) || [];
|
|
36674
|
+
|
|
36675
|
+
return matches.reduce(function (newEnv, match, index) {
|
|
36676
|
+
const parts = /(.?)\${*([\w]*(?::-[\w/]*)?)?}*/g.exec(match);
|
|
36677
|
+
if (!parts || parts.length === 0) {
|
|
36678
|
+
return newEnv
|
|
36679
|
+
}
|
|
36680
|
+
|
|
36681
|
+
const prefix = parts[1];
|
|
36682
|
+
|
|
36683
|
+
let value, replacePart;
|
|
36684
|
+
|
|
36685
|
+
if (prefix === '\\') {
|
|
36686
|
+
replacePart = parts[0];
|
|
36687
|
+
value = replacePart.replace('\\$', '$');
|
|
36688
|
+
} else {
|
|
36689
|
+
// PATCH: compatible with env variables ended with unescaped $
|
|
36690
|
+
if(!parts[2]) {
|
|
36691
|
+
return newEnv
|
|
36692
|
+
}
|
|
36693
|
+
const keyParts = parts[2].split(':-');
|
|
36694
|
+
const key = keyParts[0];
|
|
36695
|
+
replacePart = parts[0].substring(prefix.length);
|
|
36696
|
+
// process.env value 'wins' over .env file's value
|
|
36697
|
+
value = Object.prototype.hasOwnProperty.call(environment, key)
|
|
36698
|
+
? environment[key]
|
|
36699
|
+
: (config.parsed[key] || keyParts[1] || '');
|
|
36700
|
+
|
|
36701
|
+
// If the value is found, remove nested expansions.
|
|
36702
|
+
if (keyParts.length > 1 && value) {
|
|
36703
|
+
const replaceNested = matches[index + 1];
|
|
36704
|
+
matches[index + 1] = '';
|
|
36705
|
+
|
|
36706
|
+
newEnv = newEnv.replace(replaceNested, '');
|
|
36707
|
+
}
|
|
36708
|
+
// Resolve recursive interpolations
|
|
36709
|
+
value = _interpolate(value, environment, config);
|
|
36710
|
+
}
|
|
36711
|
+
|
|
36712
|
+
return newEnv.replace(replacePart, value)
|
|
36713
|
+
}, envValue)
|
|
36714
|
+
}
|
|
36715
|
+
|
|
36716
|
+
function expand (config) {
|
|
36717
|
+
// if ignoring process.env, use a blank object
|
|
36718
|
+
const environment = config.ignoreProcessEnv ? {} : process.env;
|
|
36719
|
+
|
|
36720
|
+
for (const configKey in config.parsed) {
|
|
36721
|
+
const value = Object.prototype.hasOwnProperty.call(environment, configKey) ? environment[configKey] : config.parsed[configKey];
|
|
36722
|
+
|
|
36723
|
+
config.parsed[configKey] = _interpolate(value, environment, config);
|
|
36724
|
+
}
|
|
36725
|
+
|
|
36726
|
+
// PATCH: don't write to process.env
|
|
36727
|
+
// for (const processKey in config.parsed) {
|
|
36728
|
+
// environment[processKey] = config.parsed[processKey]
|
|
36729
|
+
// }
|
|
36730
|
+
|
|
36731
|
+
return config
|
|
36732
|
+
}
|
|
36733
|
+
|
|
36734
|
+
var expand_1 = expand;
|
|
36735
|
+
|
|
36736
|
+
function loadEnv(mode, envDir, prefixes = 'VITE_') {
|
|
36737
|
+
if (mode === 'local') {
|
|
36738
|
+
throw new Error(`"local" cannot be used as a mode name because it conflicts with ` +
|
|
36739
|
+
`the .local postfix for .env files.`);
|
|
36740
|
+
}
|
|
36741
|
+
prefixes = arraify(prefixes);
|
|
36742
|
+
const env = {};
|
|
36743
|
+
const envFiles = [
|
|
36744
|
+
/** default file */ `.env`,
|
|
36745
|
+
/** local file */ `.env.local`,
|
|
36746
|
+
/** mode file */ `.env.${mode}`,
|
|
36747
|
+
/** mode local file */ `.env.${mode}.local`,
|
|
36748
|
+
];
|
|
36749
|
+
const parsed = Object.fromEntries(envFiles.flatMap((file) => {
|
|
36750
|
+
const path = lookupFile(envDir, [file], {
|
|
36751
|
+
pathOnly: true,
|
|
36752
|
+
rootDir: envDir,
|
|
36753
|
+
});
|
|
36754
|
+
if (!path)
|
|
36755
|
+
return [];
|
|
36756
|
+
return Object.entries(parse_1$1(fs$l.readFileSync(path)));
|
|
36757
|
+
}));
|
|
36758
|
+
// test NODE_ENV override before expand as otherwise process.env.NODE_ENV would override this
|
|
36759
|
+
if (parsed.NODE_ENV && process.env.VITE_USER_NODE_ENV === undefined) {
|
|
36760
|
+
process.env.VITE_USER_NODE_ENV = parsed.NODE_ENV;
|
|
36761
|
+
}
|
|
36762
|
+
// support BROWSER and BROWSER_ARGS env variables
|
|
36763
|
+
if (parsed.BROWSER && process.env.BROWSER === undefined) {
|
|
36764
|
+
process.env.BROWSER = parsed.BROWSER;
|
|
36765
|
+
}
|
|
36766
|
+
if (parsed.BROWSER_ARGS && process.env.BROWSER_ARGS === undefined) {
|
|
36767
|
+
process.env.BROWSER_ARGS = parsed.BROWSER_ARGS;
|
|
36768
|
+
}
|
|
36769
|
+
// let environment variables use each other
|
|
36770
|
+
// `expand` patched in patches/dotenv-expand@9.0.0.patch
|
|
36771
|
+
expand_1({ parsed });
|
|
36772
|
+
// only keys that start with prefix are exposed to client
|
|
36773
|
+
for (const [key, value] of Object.entries(parsed)) {
|
|
36774
|
+
if (prefixes.some((prefix) => key.startsWith(prefix))) {
|
|
36775
|
+
env[key] = value;
|
|
36776
|
+
}
|
|
36777
|
+
}
|
|
36778
|
+
// check if there are actual env variables starting with VITE_*
|
|
36779
|
+
// these are typically provided inline and should be prioritized
|
|
36780
|
+
for (const key in process.env) {
|
|
36781
|
+
if (prefixes.some((prefix) => key.startsWith(prefix))) {
|
|
36782
|
+
env[key] = process.env[key];
|
|
36783
|
+
}
|
|
36784
|
+
}
|
|
36785
|
+
return env;
|
|
36786
|
+
}
|
|
36787
|
+
function resolveEnvPrefix({ envPrefix = 'VITE_', }) {
|
|
36788
|
+
envPrefix = arraify(envPrefix);
|
|
36789
|
+
if (envPrefix.some((prefix) => prefix === '')) {
|
|
36790
|
+
throw new Error(`envPrefix option contains value '', which could lead unexpected exposure of sensitive information.`);
|
|
36791
|
+
}
|
|
36792
|
+
return envPrefix;
|
|
36793
|
+
}
|
|
36794
|
+
|
|
36459
36795
|
const modulePreloadPolyfillId = 'vite/modulepreload-polyfill';
|
|
36460
36796
|
const resolvedModulePreloadPolyfillId = '\0' + modulePreloadPolyfillId;
|
|
36461
36797
|
function modulePreloadPolyfillPlugin(config) {
|
|
@@ -36696,6 +37032,7 @@ function handleParseError(parserError, html, filePath) {
|
|
|
36696
37032
|
function buildHtmlPlugin(config) {
|
|
36697
37033
|
const [preHooks, normalHooks, postHooks] = resolveHtmlTransforms(config.plugins);
|
|
36698
37034
|
preHooks.unshift(preImportMapHook(config));
|
|
37035
|
+
normalHooks.unshift(htmlEnvHook(config));
|
|
36699
37036
|
postHooks.push(postImportMapHook());
|
|
36700
37037
|
const processedHtml = new Map();
|
|
36701
37038
|
const isExcludedUrl = (url) => url.startsWith('#') ||
|
|
@@ -37125,6 +37462,36 @@ function postImportMapHook() {
|
|
|
37125
37462
|
return html;
|
|
37126
37463
|
};
|
|
37127
37464
|
}
|
|
37465
|
+
/**
|
|
37466
|
+
* Support `%ENV_NAME%` syntax in html files
|
|
37467
|
+
*/
|
|
37468
|
+
function htmlEnvHook(config) {
|
|
37469
|
+
const pattern = /%(\S+?)%/g;
|
|
37470
|
+
const envPrefix = resolveEnvPrefix({ envPrefix: config.envPrefix });
|
|
37471
|
+
const env = { ...config.env };
|
|
37472
|
+
// account for user env defines
|
|
37473
|
+
for (const key in config.define) {
|
|
37474
|
+
if (key.startsWith(`import.meta.env.`)) {
|
|
37475
|
+
const val = config.define[key];
|
|
37476
|
+
env[key.slice(16)] = typeof val === 'string' ? val : JSON.stringify(val);
|
|
37477
|
+
}
|
|
37478
|
+
}
|
|
37479
|
+
return (html, ctx) => {
|
|
37480
|
+
return html.replace(pattern, (text, key) => {
|
|
37481
|
+
if (key in env) {
|
|
37482
|
+
return env[key];
|
|
37483
|
+
}
|
|
37484
|
+
else {
|
|
37485
|
+
if (envPrefix.some((prefix) => key.startsWith(prefix))) {
|
|
37486
|
+
const relativeHtml = normalizePath$3(path$o.relative(config.root, ctx.filename));
|
|
37487
|
+
config.logger.warn(picocolorsExports.yellow(picocolorsExports.bold(`(!) ${text} is not defined in env variables found in /${relativeHtml}. ` +
|
|
37488
|
+
`Is the variable mistyped?`)));
|
|
37489
|
+
}
|
|
37490
|
+
return text;
|
|
37491
|
+
}
|
|
37492
|
+
});
|
|
37493
|
+
};
|
|
37494
|
+
}
|
|
37128
37495
|
function resolveHtmlTransforms(plugins) {
|
|
37129
37496
|
const preHooks = [];
|
|
37130
37497
|
const normalHooks = [];
|
|
@@ -37767,6 +38134,7 @@ function createCSSResolvers(config) {
|
|
|
37767
38134
|
(cssResolve = config.createResolver({
|
|
37768
38135
|
extensions: ['.css'],
|
|
37769
38136
|
mainFields: ['style'],
|
|
38137
|
+
conditions: ['style'],
|
|
37770
38138
|
tryIndex: false,
|
|
37771
38139
|
preferRelative: true,
|
|
37772
38140
|
})));
|
|
@@ -37776,6 +38144,7 @@ function createCSSResolvers(config) {
|
|
|
37776
38144
|
(sassResolve = config.createResolver({
|
|
37777
38145
|
extensions: ['.scss', '.sass', '.css'],
|
|
37778
38146
|
mainFields: ['sass', 'style'],
|
|
38147
|
+
conditions: ['sass', 'style'],
|
|
37779
38148
|
tryIndex: true,
|
|
37780
38149
|
tryPrefix: '_',
|
|
37781
38150
|
preferRelative: true,
|
|
@@ -37786,6 +38155,7 @@ function createCSSResolvers(config) {
|
|
|
37786
38155
|
(lessResolve = config.createResolver({
|
|
37787
38156
|
extensions: ['.less', '.css'],
|
|
37788
38157
|
mainFields: ['less', 'style'],
|
|
38158
|
+
conditions: ['less', 'style'],
|
|
37789
38159
|
tryIndex: false,
|
|
37790
38160
|
preferRelative: true,
|
|
37791
38161
|
})));
|
|
@@ -37894,7 +38264,7 @@ async function compileCSS(id, code, config, urlReplacer) {
|
|
|
37894
38264
|
}));
|
|
37895
38265
|
}
|
|
37896
38266
|
if (isModule) {
|
|
37897
|
-
postcssPlugins.unshift((await import('./dep-
|
|
38267
|
+
postcssPlugins.unshift((await import('./dep-d2a7fe01.js').then(function (n) { return n.i; })).default({
|
|
37898
38268
|
...modulesOptions,
|
|
37899
38269
|
localsConvention: modulesOptions?.localsConvention,
|
|
37900
38270
|
getJSON(cssFileName, _modules, outputFileName) {
|
|
@@ -38554,6 +38924,11 @@ const styl = async (source, root, options) => {
|
|
|
38554
38924
|
const importsDeps = (options.imports ?? []).map((dep) => path$o.resolve(dep));
|
|
38555
38925
|
try {
|
|
38556
38926
|
const ref = nodeStylus(content, options);
|
|
38927
|
+
if (options.define) {
|
|
38928
|
+
for (const key in options.define) {
|
|
38929
|
+
ref.define(key, options.define[key]);
|
|
38930
|
+
}
|
|
38931
|
+
}
|
|
38557
38932
|
if (options.enableSourcemap) {
|
|
38558
38933
|
ref.set('sourcemap', {
|
|
38559
38934
|
comment: false,
|
|
@@ -40128,7 +40503,7 @@ function totalist(dir, callback, pre='') {
|
|
|
40128
40503
|
* @param {Request} req
|
|
40129
40504
|
* @returns {ParsedURL|void}
|
|
40130
40505
|
*/
|
|
40131
|
-
function parse$
|
|
40506
|
+
function parse$8(req) {
|
|
40132
40507
|
let raw = req.url;
|
|
40133
40508
|
if (raw == null) return;
|
|
40134
40509
|
|
|
@@ -40310,7 +40685,7 @@ function sirv (dir, opts={}) {
|
|
|
40310
40685
|
|
|
40311
40686
|
return function (req, res, next) {
|
|
40312
40687
|
let extns = [''];
|
|
40313
|
-
let pathname = parse$
|
|
40688
|
+
let pathname = parse$8(req).pathname;
|
|
40314
40689
|
let val = req.headers['accept-encoding'] || '';
|
|
40315
40690
|
if (gzips && val.includes('gzip')) extns.unshift(...gzips);
|
|
40316
40691
|
if (brots && /(br|brotli)/i.test(val)) extns.unshift(...brots);
|
|
@@ -40693,12 +41068,27 @@ async function loadAndTransform(id, url, server, options, timestamp) {
|
|
|
40693
41068
|
}
|
|
40694
41069
|
for (let sourcesIndex = 0; sourcesIndex < map.sources.length; ++sourcesIndex) {
|
|
40695
41070
|
const sourcePath = map.sources[sourcesIndex];
|
|
41071
|
+
if (!sourcePath)
|
|
41072
|
+
continue;
|
|
41073
|
+
const sourcemapPath = `${mod.file}.map`;
|
|
41074
|
+
const ignoreList = config.server.sourcemapIgnoreList(path$o.isAbsolute(sourcePath)
|
|
41075
|
+
? sourcePath
|
|
41076
|
+
: path$o.resolve(path$o.dirname(sourcemapPath), sourcePath), sourcemapPath);
|
|
41077
|
+
if (typeof ignoreList !== 'boolean') {
|
|
41078
|
+
logger.warn('sourcemapIgnoreList function must return a boolean.');
|
|
41079
|
+
}
|
|
41080
|
+
if (ignoreList) {
|
|
41081
|
+
if (map.x_google_ignoreList === undefined) {
|
|
41082
|
+
map.x_google_ignoreList = [];
|
|
41083
|
+
}
|
|
41084
|
+
if (!map.x_google_ignoreList.includes(sourcesIndex)) {
|
|
41085
|
+
map.x_google_ignoreList.push(sourcesIndex);
|
|
41086
|
+
}
|
|
41087
|
+
}
|
|
40696
41088
|
// Rewrite sources to relative paths to give debuggers the chance
|
|
40697
41089
|
// to resolve and display them in a meaningful way (rather than
|
|
40698
41090
|
// with absolute paths).
|
|
40699
|
-
if (sourcePath &&
|
|
40700
|
-
path$o.isAbsolute(sourcePath) &&
|
|
40701
|
-
path$o.isAbsolute(mod.file)) {
|
|
41091
|
+
if (path$o.isAbsolute(sourcePath) && path$o.isAbsolute(mod.file)) {
|
|
40702
41092
|
map.sources[sourcesIndex] = path$o.relative(path$o.dirname(mod.file), sourcePath);
|
|
40703
41093
|
}
|
|
40704
41094
|
}
|
|
@@ -42701,7 +43091,9 @@ async function createPluginContainer(config, moduleGraph, watcher) {
|
|
|
42701
43091
|
};
|
|
42702
43092
|
err.frame = err.frame || generateCodeFrame(err.id, err.loc);
|
|
42703
43093
|
}
|
|
42704
|
-
if (
|
|
43094
|
+
if (ctx instanceof TransformContext &&
|
|
43095
|
+
typeof err.loc?.line === 'number' &&
|
|
43096
|
+
typeof err.loc?.column === 'number') {
|
|
42705
43097
|
const rawSourceMap = ctx._getCombinedSourcemap();
|
|
42706
43098
|
if (rawSourceMap) {
|
|
42707
43099
|
const traced = new TraceMap(rawSourceMap);
|
|
@@ -42732,6 +43124,11 @@ async function createPluginContainer(config, moduleGraph, watcher) {
|
|
|
42732
43124
|
}
|
|
42733
43125
|
}
|
|
42734
43126
|
}
|
|
43127
|
+
if (typeof err.loc?.column !== 'number' &&
|
|
43128
|
+
typeof err.loc?.line !== 'number' &&
|
|
43129
|
+
!err.loc?.file) {
|
|
43130
|
+
delete err.loc;
|
|
43131
|
+
}
|
|
42735
43132
|
return err;
|
|
42736
43133
|
}
|
|
42737
43134
|
class TransformContext extends Context {
|
|
@@ -42968,9 +43365,82 @@ const htmlTypesRE = /\.(html|vue|svelte|astro|imba)$/;
|
|
|
42968
43365
|
// since even missed imports can be caught at runtime, and false positives will
|
|
42969
43366
|
// simply be ignored.
|
|
42970
43367
|
const importsRE = /(?<!\/\/.*)(?<=^|;|\*\/)\s*import(?!\s+type)(?:[\w*{}\n\r\t, ]+from)?\s*("[^"]+"|'[^']+')\s*(?=$|;|\/\/|\/\*)/gm;
|
|
42971
|
-
|
|
43368
|
+
function scanImports(config) {
|
|
42972
43369
|
// Only used to scan non-ssr code
|
|
42973
43370
|
const start = performance.now();
|
|
43371
|
+
const deps = {};
|
|
43372
|
+
const missing = {};
|
|
43373
|
+
let entries;
|
|
43374
|
+
const scanContext = { cancelled: false };
|
|
43375
|
+
const esbuildContext = computeEntries(config).then((computedEntries) => {
|
|
43376
|
+
entries = computedEntries;
|
|
43377
|
+
if (!entries.length) {
|
|
43378
|
+
if (!config.optimizeDeps.entries && !config.optimizeDeps.include) {
|
|
43379
|
+
config.logger.warn(picocolorsExports.yellow('(!) Could not auto-determine entry point from rollupOptions or html files ' +
|
|
43380
|
+
'and there are no explicit optimizeDeps.include patterns. ' +
|
|
43381
|
+
'Skipping dependency pre-bundling.'));
|
|
43382
|
+
}
|
|
43383
|
+
return;
|
|
43384
|
+
}
|
|
43385
|
+
if (scanContext.cancelled)
|
|
43386
|
+
return;
|
|
43387
|
+
debug$8(`Crawling dependencies using entries:\n ${entries.join('\n ')}`);
|
|
43388
|
+
return prepareEsbuildScanner(config, entries, deps, missing, scanContext);
|
|
43389
|
+
});
|
|
43390
|
+
const result = esbuildContext
|
|
43391
|
+
.then((context) => {
|
|
43392
|
+
function disposeContext() {
|
|
43393
|
+
return context?.dispose().catch((e) => {
|
|
43394
|
+
config.logger.error('Failed to dispose esbuild context', { error: e });
|
|
43395
|
+
});
|
|
43396
|
+
}
|
|
43397
|
+
if (!context || scanContext?.cancelled) {
|
|
43398
|
+
disposeContext();
|
|
43399
|
+
return { deps: {}, missing: {} };
|
|
43400
|
+
}
|
|
43401
|
+
return context
|
|
43402
|
+
.rebuild()
|
|
43403
|
+
.then(() => {
|
|
43404
|
+
return {
|
|
43405
|
+
// Ensure a fixed order so hashes are stable and improve logs
|
|
43406
|
+
deps: orderedDependencies(deps),
|
|
43407
|
+
missing,
|
|
43408
|
+
};
|
|
43409
|
+
})
|
|
43410
|
+
.finally(() => {
|
|
43411
|
+
return disposeContext();
|
|
43412
|
+
});
|
|
43413
|
+
})
|
|
43414
|
+
.catch(async (e) => {
|
|
43415
|
+
const prependMessage = picocolorsExports.red(`\
|
|
43416
|
+
Failed to scan for dependencies from entries:
|
|
43417
|
+
${entries.join('\n')}
|
|
43418
|
+
|
|
43419
|
+
`);
|
|
43420
|
+
if (e.errors) {
|
|
43421
|
+
const msgs = await formatMessages(e.errors, {
|
|
43422
|
+
kind: 'error',
|
|
43423
|
+
color: true,
|
|
43424
|
+
});
|
|
43425
|
+
e.message = prependMessage + msgs.join('\n');
|
|
43426
|
+
}
|
|
43427
|
+
else {
|
|
43428
|
+
e.message = prependMessage + e.message;
|
|
43429
|
+
}
|
|
43430
|
+
throw e;
|
|
43431
|
+
})
|
|
43432
|
+
.finally(() => {
|
|
43433
|
+
debug$8(`Scan completed in ${(performance.now() - start).toFixed(2)}ms:`, deps);
|
|
43434
|
+
});
|
|
43435
|
+
return {
|
|
43436
|
+
cancel: async () => {
|
|
43437
|
+
scanContext.cancelled = true;
|
|
43438
|
+
return esbuildContext.then((context) => context?.cancel());
|
|
43439
|
+
},
|
|
43440
|
+
result,
|
|
43441
|
+
};
|
|
43442
|
+
}
|
|
43443
|
+
async function computeEntries(config) {
|
|
42974
43444
|
let entries = [];
|
|
42975
43445
|
const explicitEntryPatterns = config.optimizeDeps.entries;
|
|
42976
43446
|
const buildInput = config.build.rollupOptions?.input;
|
|
@@ -42998,61 +43468,27 @@ async function scanImports(config) {
|
|
|
42998
43468
|
// Non-supported entry file types and virtual files should not be scanned for
|
|
42999
43469
|
// dependencies.
|
|
43000
43470
|
entries = entries.filter((entry) => isScannable(entry) && fs$l.existsSync(entry));
|
|
43001
|
-
|
|
43002
|
-
|
|
43003
|
-
|
|
43004
|
-
'and there are no explicit optimizeDeps.include patterns. ' +
|
|
43005
|
-
'Skipping dependency pre-bundling.'));
|
|
43006
|
-
}
|
|
43007
|
-
return { deps: {}, missing: {} };
|
|
43008
|
-
}
|
|
43009
|
-
else {
|
|
43010
|
-
debug$8(`Crawling dependencies using entries:\n ${entries.join('\n ')}`);
|
|
43011
|
-
}
|
|
43012
|
-
const deps = {};
|
|
43013
|
-
const missing = {};
|
|
43471
|
+
return entries;
|
|
43472
|
+
}
|
|
43473
|
+
async function prepareEsbuildScanner(config, entries, deps, missing, scanContext) {
|
|
43014
43474
|
const container = await createPluginContainer(config);
|
|
43475
|
+
if (scanContext?.cancelled)
|
|
43476
|
+
return;
|
|
43015
43477
|
const plugin = esbuildScanPlugin(config, container, deps, missing, entries);
|
|
43016
43478
|
const { plugins = [], ...esbuildOptions } = config.optimizeDeps?.esbuildOptions ?? {};
|
|
43017
|
-
|
|
43018
|
-
|
|
43019
|
-
|
|
43020
|
-
|
|
43021
|
-
|
|
43022
|
-
|
|
43023
|
-
|
|
43024
|
-
|
|
43025
|
-
|
|
43026
|
-
|
|
43027
|
-
|
|
43028
|
-
|
|
43029
|
-
|
|
43030
|
-
});
|
|
43031
|
-
}
|
|
43032
|
-
catch (e) {
|
|
43033
|
-
const prependMessage = picocolorsExports.red(`\
|
|
43034
|
-
Failed to scan for dependencies from entries:
|
|
43035
|
-
${entries.join('\n')}
|
|
43036
|
-
|
|
43037
|
-
`);
|
|
43038
|
-
if (e.errors) {
|
|
43039
|
-
const msgs = await formatMessages(e.errors, {
|
|
43040
|
-
kind: 'error',
|
|
43041
|
-
color: true,
|
|
43042
|
-
});
|
|
43043
|
-
e.message = prependMessage + msgs.join('\n');
|
|
43044
|
-
}
|
|
43045
|
-
else {
|
|
43046
|
-
e.message = prependMessage + e.message;
|
|
43047
|
-
}
|
|
43048
|
-
throw e;
|
|
43049
|
-
}
|
|
43050
|
-
debug$8(`Scan completed in ${(performance.now() - start).toFixed(2)}ms:`, deps);
|
|
43051
|
-
return {
|
|
43052
|
-
// Ensure a fixed order so hashes are stable and improve logs
|
|
43053
|
-
deps: orderedDependencies(deps),
|
|
43054
|
-
missing,
|
|
43055
|
-
};
|
|
43479
|
+
return await esbuild.context({
|
|
43480
|
+
absWorkingDir: process.cwd(),
|
|
43481
|
+
write: false,
|
|
43482
|
+
stdin: {
|
|
43483
|
+
contents: entries.map((e) => `import ${JSON.stringify(e)}`).join('\n'),
|
|
43484
|
+
loader: 'js',
|
|
43485
|
+
},
|
|
43486
|
+
bundle: true,
|
|
43487
|
+
format: 'esm',
|
|
43488
|
+
logLevel: 'silent',
|
|
43489
|
+
plugins: [...plugins, plugin],
|
|
43490
|
+
...esbuildOptions,
|
|
43491
|
+
});
|
|
43056
43492
|
}
|
|
43057
43493
|
function orderedDependencies(deps) {
|
|
43058
43494
|
const depsList = Object.entries(deps);
|
|
@@ -43491,13 +43927,15 @@ async function createDepsOptimizer(config, server) {
|
|
|
43491
43927
|
let currentlyProcessing = false;
|
|
43492
43928
|
// If there wasn't a cache or it is outdated, we need to prepare a first run
|
|
43493
43929
|
let firstRunCalled = !!cachedMetadata;
|
|
43494
|
-
let
|
|
43930
|
+
let optimizationResult;
|
|
43931
|
+
let discover;
|
|
43495
43932
|
let optimizingNewDeps;
|
|
43496
43933
|
async function close() {
|
|
43497
43934
|
closed = true;
|
|
43498
43935
|
await Promise.allSettled([
|
|
43936
|
+
discover?.cancel(),
|
|
43499
43937
|
depsOptimizer.scanProcessing,
|
|
43500
|
-
|
|
43938
|
+
optimizationResult?.cancel(),
|
|
43501
43939
|
optimizingNewDeps,
|
|
43502
43940
|
]);
|
|
43503
43941
|
}
|
|
@@ -43522,7 +43960,9 @@ async function createDepsOptimizer(config, server) {
|
|
|
43522
43960
|
setTimeout(async () => {
|
|
43523
43961
|
try {
|
|
43524
43962
|
debuggerViteDeps(picocolorsExports.green(`scanning for dependencies...`));
|
|
43525
|
-
|
|
43963
|
+
discover = discoverProjectDependencies(config);
|
|
43964
|
+
const deps = await discover.result;
|
|
43965
|
+
discover = undefined;
|
|
43526
43966
|
debuggerViteDeps(picocolorsExports.green(Object.keys(deps).length > 0
|
|
43527
43967
|
? `dependencies found by scanner: ${depsLogString(Object.keys(deps))}`
|
|
43528
43968
|
: `no dependencies found by scanner`));
|
|
@@ -43539,7 +43979,7 @@ async function createDepsOptimizer(config, server) {
|
|
|
43539
43979
|
// run on the background, but we wait until crawling has ended
|
|
43540
43980
|
// to decide if we send this result to the browser or we need to
|
|
43541
43981
|
// do another optimize step
|
|
43542
|
-
|
|
43982
|
+
optimizationResult = runOptimizeDeps(config, knownDeps);
|
|
43543
43983
|
}
|
|
43544
43984
|
catch (e) {
|
|
43545
43985
|
logger.error(e.stack || e.message);
|
|
@@ -43573,7 +44013,8 @@ async function createDepsOptimizer(config, server) {
|
|
|
43573
44013
|
// respect insertion order to keep the metadata file stable
|
|
43574
44014
|
const knownDeps = prepareKnownDeps();
|
|
43575
44015
|
startNextDiscoveredBatch();
|
|
43576
|
-
|
|
44016
|
+
optimizationResult = runOptimizeDeps(config, knownDeps);
|
|
44017
|
+
return await optimizationResult.result;
|
|
43577
44018
|
}
|
|
43578
44019
|
function prepareKnownDeps() {
|
|
43579
44020
|
const knownDeps = {};
|
|
@@ -43814,9 +44255,9 @@ async function createDepsOptimizer(config, server) {
|
|
|
43814
44255
|
// Await for the scan+optimize step running in the background
|
|
43815
44256
|
// It normally should be over by the time crawling of user code ended
|
|
43816
44257
|
await depsOptimizer.scanProcessing;
|
|
43817
|
-
if (!isBuild &&
|
|
43818
|
-
const result = await
|
|
43819
|
-
|
|
44258
|
+
if (!isBuild && optimizationResult) {
|
|
44259
|
+
const result = await optimizationResult.result;
|
|
44260
|
+
optimizationResult = undefined;
|
|
43820
44261
|
const scanDeps = Object.keys(result.metadata.optimized);
|
|
43821
44262
|
if (scanDeps.length === 0 && crawlDeps.length === 0) {
|
|
43822
44263
|
debuggerViteDeps(picocolorsExports.green(`✨ no dependencies found by the scanner or crawling static imports`));
|
|
@@ -43984,12 +44425,12 @@ async function optimizeDeps(config, force = config.optimizeDeps.force, asCommand
|
|
|
43984
44425
|
if (cachedMetadata) {
|
|
43985
44426
|
return cachedMetadata;
|
|
43986
44427
|
}
|
|
43987
|
-
const deps = await discoverProjectDependencies(config);
|
|
44428
|
+
const deps = await discoverProjectDependencies(config).result;
|
|
43988
44429
|
const depsString = depsLogString(Object.keys(deps));
|
|
43989
44430
|
log(picocolorsExports.green(`Optimizing dependencies:\n ${depsString}`));
|
|
43990
44431
|
await addManuallyIncludedOptimizeDeps(deps, config, ssr);
|
|
43991
44432
|
const depsInfo = toDiscoveredDependencies(config, deps, ssr);
|
|
43992
|
-
const result = await runOptimizeDeps(config, depsInfo);
|
|
44433
|
+
const result = await runOptimizeDeps(config, depsInfo).result;
|
|
43993
44434
|
await result.commit();
|
|
43994
44435
|
return result.metadata;
|
|
43995
44436
|
}
|
|
@@ -44015,7 +44456,7 @@ async function optimizeServerSsrDeps(config) {
|
|
|
44015
44456
|
const deps = {};
|
|
44016
44457
|
await addManuallyIncludedOptimizeDeps(deps, config, ssr, alsoInclude, noExternalFilter);
|
|
44017
44458
|
const depsInfo = toDiscoveredDependencies(config, deps, true);
|
|
44018
|
-
const result = await runOptimizeDeps(config, depsInfo, true);
|
|
44459
|
+
const result = await runOptimizeDeps(config, depsInfo, true).result;
|
|
44019
44460
|
await result.commit();
|
|
44020
44461
|
return result.metadata;
|
|
44021
44462
|
}
|
|
@@ -44072,15 +44513,20 @@ function loadCachedDepOptimizationMetadata(config, ssr, force = config.optimizeD
|
|
|
44072
44513
|
* Initial optimizeDeps at server start. Perform a fast scan using esbuild to
|
|
44073
44514
|
* find deps to pre-bundle and include user hard-coded dependencies
|
|
44074
44515
|
*/
|
|
44075
|
-
|
|
44076
|
-
const {
|
|
44077
|
-
|
|
44078
|
-
|
|
44079
|
-
|
|
44080
|
-
|
|
44081
|
-
.
|
|
44082
|
-
|
|
44083
|
-
|
|
44516
|
+
function discoverProjectDependencies(config) {
|
|
44517
|
+
const { cancel, result } = scanImports(config);
|
|
44518
|
+
return {
|
|
44519
|
+
cancel,
|
|
44520
|
+
result: result.then(({ deps, missing }) => {
|
|
44521
|
+
const missingIds = Object.keys(missing);
|
|
44522
|
+
if (missingIds.length) {
|
|
44523
|
+
throw new Error(`The following dependencies are imported but could not be resolved:\n\n ${missingIds
|
|
44524
|
+
.map((id) => `${picocolorsExports.cyan(id)} ${picocolorsExports.white(picocolorsExports.dim(`(imported by ${missing[id]})`))}`)
|
|
44525
|
+
.join(`\n `)}\n\nAre they installed?`);
|
|
44526
|
+
}
|
|
44527
|
+
return deps;
|
|
44528
|
+
}),
|
|
44529
|
+
};
|
|
44084
44530
|
}
|
|
44085
44531
|
function toDiscoveredDependencies(config, deps, ssr, timestamp) {
|
|
44086
44532
|
const browserHash = getOptimizedBrowserHash(getDepHash(config, ssr), deps, timestamp);
|
|
@@ -44114,9 +44560,9 @@ function depsLogString(qualifiedIds) {
|
|
|
44114
44560
|
* Internally, Vite uses this function to prepare a optimizeDeps run. When Vite starts, we can get
|
|
44115
44561
|
* the metadata and start the server without waiting for the optimizeDeps processing to be completed
|
|
44116
44562
|
*/
|
|
44117
|
-
|
|
44563
|
+
function runOptimizeDeps(resolvedConfig, depsInfo, ssr = resolvedConfig.command === 'build' &&
|
|
44118
44564
|
!!resolvedConfig.build.ssr) {
|
|
44119
|
-
const
|
|
44565
|
+
const optimizerContext = { cancelled: false };
|
|
44120
44566
|
const config = {
|
|
44121
44567
|
...resolvedConfig,
|
|
44122
44568
|
command: 'build',
|
|
@@ -44141,22 +44587,111 @@ async function runOptimizeDeps(resolvedConfig, depsInfo, ssr = resolvedConfig.co
|
|
|
44141
44587
|
// to wait here. Code that needs to access the cached deps needs to await
|
|
44142
44588
|
// the optimizedDepInfo.processing promise for each dep
|
|
44143
44589
|
const qualifiedIds = Object.keys(depsInfo);
|
|
44144
|
-
|
|
44590
|
+
let cleaned = false;
|
|
44591
|
+
const cleanUp = () => {
|
|
44592
|
+
if (!cleaned) {
|
|
44593
|
+
cleaned = true;
|
|
44594
|
+
fs$l.rmSync(processingCacheDir, { recursive: true, force: true });
|
|
44595
|
+
}
|
|
44596
|
+
};
|
|
44597
|
+
const createProcessingResult = () => ({
|
|
44145
44598
|
metadata,
|
|
44146
44599
|
async commit() {
|
|
44600
|
+
if (cleaned) {
|
|
44601
|
+
throw new Error(`Vite Internal Error: Can't commit optimizeDeps processing result, it has already been cancelled.`);
|
|
44602
|
+
}
|
|
44147
44603
|
// Write metadata file, delete `deps` folder and rename the `processing` folder to `deps`
|
|
44148
44604
|
// Processing is done, we can now replace the depsCacheDir with processingCacheDir
|
|
44149
44605
|
// Rewire the file paths from the temporal processing dir to the final deps cache dir
|
|
44150
44606
|
await removeDir(depsCacheDir);
|
|
44151
44607
|
await renameDir(processingCacheDir, depsCacheDir);
|
|
44152
44608
|
},
|
|
44153
|
-
cancel
|
|
44154
|
-
|
|
44155
|
-
},
|
|
44156
|
-
};
|
|
44609
|
+
cancel: cleanUp,
|
|
44610
|
+
});
|
|
44157
44611
|
if (!qualifiedIds.length) {
|
|
44158
|
-
return
|
|
44612
|
+
return {
|
|
44613
|
+
cancel: async () => cleanUp(),
|
|
44614
|
+
result: Promise.resolve(createProcessingResult()),
|
|
44615
|
+
};
|
|
44159
44616
|
}
|
|
44617
|
+
const start = performance.now();
|
|
44618
|
+
const preparedRun = prepareEsbuildOptimizerRun(resolvedConfig, depsInfo, ssr, processingCacheDir, optimizerContext);
|
|
44619
|
+
const result = preparedRun.then(({ context, idToExports }) => {
|
|
44620
|
+
function disposeContext() {
|
|
44621
|
+
return context?.dispose().catch((e) => {
|
|
44622
|
+
config.logger.error('Failed to dispose esbuild context', { error: e });
|
|
44623
|
+
});
|
|
44624
|
+
}
|
|
44625
|
+
if (!context || optimizerContext.cancelled) {
|
|
44626
|
+
disposeContext();
|
|
44627
|
+
return createProcessingResult();
|
|
44628
|
+
}
|
|
44629
|
+
return context
|
|
44630
|
+
.rebuild()
|
|
44631
|
+
.then((result) => {
|
|
44632
|
+
const meta = result.metafile;
|
|
44633
|
+
// the paths in `meta.outputs` are relative to `process.cwd()`
|
|
44634
|
+
const processingCacheDirOutputPath = path$o.relative(process.cwd(), processingCacheDir);
|
|
44635
|
+
for (const id in depsInfo) {
|
|
44636
|
+
const output = esbuildOutputFromId(meta.outputs, id, processingCacheDir);
|
|
44637
|
+
const { exportsData, ...info } = depsInfo[id];
|
|
44638
|
+
addOptimizedDepInfo(metadata, 'optimized', {
|
|
44639
|
+
...info,
|
|
44640
|
+
// We only need to hash the output.imports in to check for stability, but adding the hash
|
|
44641
|
+
// and file path gives us a unique hash that may be useful for other things in the future
|
|
44642
|
+
fileHash: getHash(metadata.hash +
|
|
44643
|
+
depsInfo[id].file +
|
|
44644
|
+
JSON.stringify(output.imports)),
|
|
44645
|
+
browserHash: metadata.browserHash,
|
|
44646
|
+
// After bundling we have more information and can warn the user about legacy packages
|
|
44647
|
+
// that require manual configuration
|
|
44648
|
+
needsInterop: needsInterop(config, ssr, id, idToExports[id], output),
|
|
44649
|
+
});
|
|
44650
|
+
}
|
|
44651
|
+
for (const o of Object.keys(meta.outputs)) {
|
|
44652
|
+
if (!o.match(jsMapExtensionRE)) {
|
|
44653
|
+
const id = path$o
|
|
44654
|
+
.relative(processingCacheDirOutputPath, o)
|
|
44655
|
+
.replace(jsExtensionRE, '');
|
|
44656
|
+
const file = getOptimizedDepPath(id, resolvedConfig, ssr);
|
|
44657
|
+
if (!findOptimizedDepInfoInRecord(metadata.optimized, (depInfo) => depInfo.file === file)) {
|
|
44658
|
+
addOptimizedDepInfo(metadata, 'chunks', {
|
|
44659
|
+
id,
|
|
44660
|
+
file,
|
|
44661
|
+
needsInterop: false,
|
|
44662
|
+
browserHash: metadata.browserHash,
|
|
44663
|
+
});
|
|
44664
|
+
}
|
|
44665
|
+
}
|
|
44666
|
+
}
|
|
44667
|
+
const dataPath = path$o.join(processingCacheDir, '_metadata.json');
|
|
44668
|
+
writeFile(dataPath, stringifyDepsOptimizerMetadata(metadata, depsCacheDir));
|
|
44669
|
+
debug$7(`deps bundled in ${(performance.now() - start).toFixed(2)}ms`);
|
|
44670
|
+
return createProcessingResult();
|
|
44671
|
+
})
|
|
44672
|
+
.finally(() => {
|
|
44673
|
+
return disposeContext();
|
|
44674
|
+
});
|
|
44675
|
+
});
|
|
44676
|
+
result.catch(() => {
|
|
44677
|
+
cleanUp();
|
|
44678
|
+
});
|
|
44679
|
+
return {
|
|
44680
|
+
async cancel() {
|
|
44681
|
+
optimizerContext.cancelled = true;
|
|
44682
|
+
const { context } = await preparedRun;
|
|
44683
|
+
await context?.cancel();
|
|
44684
|
+
cleanUp();
|
|
44685
|
+
},
|
|
44686
|
+
result,
|
|
44687
|
+
};
|
|
44688
|
+
}
|
|
44689
|
+
async function prepareEsbuildOptimizerRun(resolvedConfig, depsInfo, ssr, processingCacheDir, optimizerContext) {
|
|
44690
|
+
const isBuild = resolvedConfig.command === 'build';
|
|
44691
|
+
const config = {
|
|
44692
|
+
...resolvedConfig,
|
|
44693
|
+
command: 'build',
|
|
44694
|
+
};
|
|
44160
44695
|
// esbuild generates nested directory output with lowest common ancestor base
|
|
44161
44696
|
// this is unpredictable and makes it difficult to analyze entry / output
|
|
44162
44697
|
// mapping. So what we do here is:
|
|
@@ -44183,6 +44718,8 @@ async function runOptimizeDeps(resolvedConfig, depsInfo, ssr = resolvedConfig.co
|
|
|
44183
44718
|
flatIdDeps[flatId] = src;
|
|
44184
44719
|
idToExports[id] = exportsData;
|
|
44185
44720
|
}
|
|
44721
|
+
if (optimizerContext.cancelled)
|
|
44722
|
+
return { context: undefined, idToExports };
|
|
44186
44723
|
// esbuild automatically replaces process.env.NODE_ENV for platform 'browser'
|
|
44187
44724
|
// In lib mode, we need to keep process.env.NODE_ENV untouched, so to at build
|
|
44188
44725
|
// time we replace it by __vite_process_env_NODE_ENV. This placeholder will be
|
|
@@ -44214,8 +44751,7 @@ async function runOptimizeDeps(resolvedConfig, depsInfo, ssr = resolvedConfig.co
|
|
|
44214
44751
|
plugins.push(esbuildCjsExternalPlugin(external, platform));
|
|
44215
44752
|
}
|
|
44216
44753
|
plugins.push(esbuildDepPlugin(flatIdDeps, external, config, ssr));
|
|
44217
|
-
const
|
|
44218
|
-
const result = await build$3({
|
|
44754
|
+
const context = await esbuild.context({
|
|
44219
44755
|
absWorkingDir: process.cwd(),
|
|
44220
44756
|
entryPoints: Object.keys(flatIdDeps),
|
|
44221
44757
|
bundle: true,
|
|
@@ -44248,46 +44784,10 @@ async function runOptimizeDeps(resolvedConfig, depsInfo, ssr = resolvedConfig.co
|
|
|
44248
44784
|
...esbuildOptions.supported,
|
|
44249
44785
|
},
|
|
44250
44786
|
});
|
|
44251
|
-
|
|
44252
|
-
// the paths in `meta.outputs` are relative to `process.cwd()`
|
|
44253
|
-
const processingCacheDirOutputPath = path$o.relative(process.cwd(), processingCacheDir);
|
|
44254
|
-
for (const id in depsInfo) {
|
|
44255
|
-
const output = esbuildOutputFromId(meta.outputs, id, processingCacheDir);
|
|
44256
|
-
const { exportsData, ...info } = depsInfo[id];
|
|
44257
|
-
addOptimizedDepInfo(metadata, 'optimized', {
|
|
44258
|
-
...info,
|
|
44259
|
-
// We only need to hash the output.imports in to check for stability, but adding the hash
|
|
44260
|
-
// and file path gives us a unique hash that may be useful for other things in the future
|
|
44261
|
-
fileHash: getHash(metadata.hash + depsInfo[id].file + JSON.stringify(output.imports)),
|
|
44262
|
-
browserHash: metadata.browserHash,
|
|
44263
|
-
// After bundling we have more information and can warn the user about legacy packages
|
|
44264
|
-
// that require manual configuration
|
|
44265
|
-
needsInterop: needsInterop(config, ssr, id, idToExports[id], output),
|
|
44266
|
-
});
|
|
44267
|
-
}
|
|
44268
|
-
for (const o of Object.keys(meta.outputs)) {
|
|
44269
|
-
if (!o.match(jsMapExtensionRE)) {
|
|
44270
|
-
const id = path$o
|
|
44271
|
-
.relative(processingCacheDirOutputPath, o)
|
|
44272
|
-
.replace(jsExtensionRE, '');
|
|
44273
|
-
const file = getOptimizedDepPath(id, resolvedConfig, ssr);
|
|
44274
|
-
if (!findOptimizedDepInfoInRecord(metadata.optimized, (depInfo) => depInfo.file === file)) {
|
|
44275
|
-
addOptimizedDepInfo(metadata, 'chunks', {
|
|
44276
|
-
id,
|
|
44277
|
-
file,
|
|
44278
|
-
needsInterop: false,
|
|
44279
|
-
browserHash: metadata.browserHash,
|
|
44280
|
-
});
|
|
44281
|
-
}
|
|
44282
|
-
}
|
|
44283
|
-
}
|
|
44284
|
-
const dataPath = path$o.join(processingCacheDir, '_metadata.json');
|
|
44285
|
-
writeFile(dataPath, stringifyDepsOptimizerMetadata(metadata, depsCacheDir));
|
|
44286
|
-
debug$7(`deps bundled in ${(performance.now() - start).toFixed(2)}ms`);
|
|
44287
|
-
return processingResult;
|
|
44787
|
+
return { context, idToExports };
|
|
44288
44788
|
}
|
|
44289
44789
|
async function findKnownImports(config, ssr) {
|
|
44290
|
-
const deps =
|
|
44790
|
+
const { deps } = await scanImports(config).result;
|
|
44291
44791
|
await addManuallyIncludedOptimizeDeps(deps, config, ssr);
|
|
44292
44792
|
return Object.keys(deps);
|
|
44293
44793
|
}
|
|
@@ -44361,7 +44861,10 @@ function getDepsCacheDir(config, ssr) {
|
|
|
44361
44861
|
return getDepsCacheDirPrefix(config) + getDepsCacheSuffix(config, ssr);
|
|
44362
44862
|
}
|
|
44363
44863
|
function getProcessingDepsCacheDir(config, ssr) {
|
|
44364
|
-
return (getDepsCacheDirPrefix(config) +
|
|
44864
|
+
return (getDepsCacheDirPrefix(config) +
|
|
44865
|
+
getDepsCacheSuffix(config, ssr) +
|
|
44866
|
+
'_temp_' +
|
|
44867
|
+
getHash(Date.now().toString()));
|
|
44365
44868
|
}
|
|
44366
44869
|
function getDepsCacheDirPrefix(config) {
|
|
44367
44870
|
return normalizePath$3(path$o.resolve(config.cacheDir, 'deps'));
|
|
@@ -44624,11 +45127,33 @@ async function optimizedDepNeedsInterop(metadata, file, config, ssr) {
|
|
|
44624
45127
|
}
|
|
44625
45128
|
return depInfo?.needsInterop;
|
|
44626
45129
|
}
|
|
45130
|
+
const MAX_TEMP_DIR_AGE_MS = 24 * 60 * 60 * 1000;
|
|
45131
|
+
async function cleanupDepsCacheStaleDirs(config) {
|
|
45132
|
+
try {
|
|
45133
|
+
const cacheDir = path$o.resolve(config.cacheDir);
|
|
45134
|
+
if (fs$l.existsSync(cacheDir)) {
|
|
45135
|
+
const dirents = await fsp.readdir(cacheDir, { withFileTypes: true });
|
|
45136
|
+
for (const dirent of dirents) {
|
|
45137
|
+
if (dirent.isDirectory() && dirent.name.includes('_temp_')) {
|
|
45138
|
+
const tempDirPath = path$o.resolve(config.cacheDir, dirent.name);
|
|
45139
|
+
const { mtime } = await fsp.stat(tempDirPath);
|
|
45140
|
+
if (Date.now() - mtime.getTime() > MAX_TEMP_DIR_AGE_MS) {
|
|
45141
|
+
await removeDir(tempDirPath);
|
|
45142
|
+
}
|
|
45143
|
+
}
|
|
45144
|
+
}
|
|
45145
|
+
}
|
|
45146
|
+
}
|
|
45147
|
+
catch (err) {
|
|
45148
|
+
config.logger.error(err);
|
|
45149
|
+
}
|
|
45150
|
+
}
|
|
44627
45151
|
|
|
44628
45152
|
var index$1 = {
|
|
44629
45153
|
__proto__: null,
|
|
44630
45154
|
addManuallyIncludedOptimizeDeps: addManuallyIncludedOptimizeDeps,
|
|
44631
45155
|
addOptimizedDepInfo: addOptimizedDepInfo,
|
|
45156
|
+
cleanupDepsCacheStaleDirs: cleanupDepsCacheStaleDirs,
|
|
44632
45157
|
createIsOptimizedDepUrl: createIsOptimizedDepUrl,
|
|
44633
45158
|
debuggerViteDeps: debuggerViteDeps,
|
|
44634
45159
|
depsFromOptimizedDepInfo: depsFromOptimizedDepInfo,
|
|
@@ -44907,6 +45432,8 @@ function buildImportAnalysisPlugin(config) {
|
|
|
44907
45432
|
(source.slice(expStart, start).includes('from') || isDynamicImport) &&
|
|
44908
45433
|
// already has ?used query (by import.meta.glob)
|
|
44909
45434
|
!specifier.match(/\?used(&|$)/) &&
|
|
45435
|
+
// don't append ?used when SPECIAL_QUERY_RE exists
|
|
45436
|
+
!specifier.match(SPECIAL_QUERY_RE) &&
|
|
44910
45437
|
// edge case for package names ending with .css (e.g normalize.css)
|
|
44911
45438
|
!(bareImportRE.test(specifier) && !specifier.includes('/'))) {
|
|
44912
45439
|
const url = specifier.replace(/\?|$/, (m) => `?used${m ? '&' : ''}`);
|
|
@@ -45326,323 +45853,7 @@ function searchForWorkspaceRoot(current, root = searchForPackageRoot(current)) {
|
|
|
45326
45853
|
return searchForWorkspaceRoot(dir, root);
|
|
45327
45854
|
}
|
|
45328
45855
|
|
|
45329
|
-
|
|
45330
|
-
var main$1 = {
|
|
45331
|
-
get exports(){ return mainExports; },
|
|
45332
|
-
set exports(v){ mainExports = v; },
|
|
45333
|
-
};
|
|
45334
|
-
|
|
45335
|
-
var name = "dotenv";
|
|
45336
|
-
var version$1 = "16.0.3";
|
|
45337
|
-
var description = "Loads environment variables from .env file";
|
|
45338
|
-
var main = "lib/main.js";
|
|
45339
|
-
var types = "lib/main.d.ts";
|
|
45340
|
-
var exports = {
|
|
45341
|
-
".": {
|
|
45342
|
-
require: "./lib/main.js",
|
|
45343
|
-
types: "./lib/main.d.ts",
|
|
45344
|
-
"default": "./lib/main.js"
|
|
45345
|
-
},
|
|
45346
|
-
"./config": "./config.js",
|
|
45347
|
-
"./config.js": "./config.js",
|
|
45348
|
-
"./lib/env-options": "./lib/env-options.js",
|
|
45349
|
-
"./lib/env-options.js": "./lib/env-options.js",
|
|
45350
|
-
"./lib/cli-options": "./lib/cli-options.js",
|
|
45351
|
-
"./lib/cli-options.js": "./lib/cli-options.js",
|
|
45352
|
-
"./package.json": "./package.json"
|
|
45353
|
-
};
|
|
45354
|
-
var scripts = {
|
|
45355
|
-
"dts-check": "tsc --project tests/types/tsconfig.json",
|
|
45356
|
-
lint: "standard",
|
|
45357
|
-
"lint-readme": "standard-markdown",
|
|
45358
|
-
pretest: "npm run lint && npm run dts-check",
|
|
45359
|
-
test: "tap tests/*.js --100 -Rspec",
|
|
45360
|
-
prerelease: "npm test",
|
|
45361
|
-
release: "standard-version"
|
|
45362
|
-
};
|
|
45363
|
-
var repository = {
|
|
45364
|
-
type: "git",
|
|
45365
|
-
url: "git://github.com/motdotla/dotenv.git"
|
|
45366
|
-
};
|
|
45367
|
-
var keywords = [
|
|
45368
|
-
"dotenv",
|
|
45369
|
-
"env",
|
|
45370
|
-
".env",
|
|
45371
|
-
"environment",
|
|
45372
|
-
"variables",
|
|
45373
|
-
"config",
|
|
45374
|
-
"settings"
|
|
45375
|
-
];
|
|
45376
|
-
var readmeFilename = "README.md";
|
|
45377
|
-
var license = "BSD-2-Clause";
|
|
45378
|
-
var devDependencies = {
|
|
45379
|
-
"@types/node": "^17.0.9",
|
|
45380
|
-
decache: "^4.6.1",
|
|
45381
|
-
dtslint: "^3.7.0",
|
|
45382
|
-
sinon: "^12.0.1",
|
|
45383
|
-
standard: "^16.0.4",
|
|
45384
|
-
"standard-markdown": "^7.1.0",
|
|
45385
|
-
"standard-version": "^9.3.2",
|
|
45386
|
-
tap: "^15.1.6",
|
|
45387
|
-
tar: "^6.1.11",
|
|
45388
|
-
typescript: "^4.5.4"
|
|
45389
|
-
};
|
|
45390
|
-
var engines = {
|
|
45391
|
-
node: ">=12"
|
|
45392
|
-
};
|
|
45393
|
-
var require$$3 = {
|
|
45394
|
-
name: name,
|
|
45395
|
-
version: version$1,
|
|
45396
|
-
description: description,
|
|
45397
|
-
main: main,
|
|
45398
|
-
types: types,
|
|
45399
|
-
exports: exports,
|
|
45400
|
-
scripts: scripts,
|
|
45401
|
-
repository: repository,
|
|
45402
|
-
keywords: keywords,
|
|
45403
|
-
readmeFilename: readmeFilename,
|
|
45404
|
-
license: license,
|
|
45405
|
-
devDependencies: devDependencies,
|
|
45406
|
-
engines: engines
|
|
45407
|
-
};
|
|
45408
|
-
|
|
45409
|
-
const fs$9 = require$$0__default;
|
|
45410
|
-
const path$9 = require$$0$4;
|
|
45411
|
-
const os$2 = require$$2;
|
|
45412
|
-
const packageJson = require$$3;
|
|
45413
|
-
|
|
45414
|
-
const version = packageJson.version;
|
|
45415
|
-
|
|
45416
|
-
const LINE = /(?:^|^)\s*(?:export\s+)?([\w.-]+)(?:\s*=\s*?|:\s+?)(\s*'(?:\\'|[^'])*'|\s*"(?:\\"|[^"])*"|\s*`(?:\\`|[^`])*`|[^#\r\n]+)?\s*(?:#.*)?(?:$|$)/mg;
|
|
45417
|
-
|
|
45418
|
-
// Parser src into an Object
|
|
45419
|
-
function parse$8 (src) {
|
|
45420
|
-
const obj = {};
|
|
45421
|
-
|
|
45422
|
-
// Convert buffer to string
|
|
45423
|
-
let lines = src.toString();
|
|
45424
|
-
|
|
45425
|
-
// Convert line breaks to same format
|
|
45426
|
-
lines = lines.replace(/\r\n?/mg, '\n');
|
|
45427
|
-
|
|
45428
|
-
let match;
|
|
45429
|
-
while ((match = LINE.exec(lines)) != null) {
|
|
45430
|
-
const key = match[1];
|
|
45431
|
-
|
|
45432
|
-
// Default undefined or null to empty string
|
|
45433
|
-
let value = (match[2] || '');
|
|
45434
|
-
|
|
45435
|
-
// Remove whitespace
|
|
45436
|
-
value = value.trim();
|
|
45437
|
-
|
|
45438
|
-
// Check if double quoted
|
|
45439
|
-
const maybeQuote = value[0];
|
|
45440
|
-
|
|
45441
|
-
// Remove surrounding quotes
|
|
45442
|
-
value = value.replace(/^(['"`])([\s\S]*)\1$/mg, '$2');
|
|
45443
|
-
|
|
45444
|
-
// Expand newlines if double quoted
|
|
45445
|
-
if (maybeQuote === '"') {
|
|
45446
|
-
value = value.replace(/\\n/g, '\n');
|
|
45447
|
-
value = value.replace(/\\r/g, '\r');
|
|
45448
|
-
}
|
|
45449
|
-
|
|
45450
|
-
// Add to object
|
|
45451
|
-
obj[key] = value;
|
|
45452
|
-
}
|
|
45453
|
-
|
|
45454
|
-
return obj
|
|
45455
|
-
}
|
|
45456
|
-
|
|
45457
|
-
function _log (message) {
|
|
45458
|
-
console.log(`[dotenv@${version}][DEBUG] ${message}`);
|
|
45459
|
-
}
|
|
45460
|
-
|
|
45461
|
-
function _resolveHome (envPath) {
|
|
45462
|
-
return envPath[0] === '~' ? path$9.join(os$2.homedir(), envPath.slice(1)) : envPath
|
|
45463
|
-
}
|
|
45464
|
-
|
|
45465
|
-
// Populates process.env from .env file
|
|
45466
|
-
function config (options) {
|
|
45467
|
-
let dotenvPath = path$9.resolve(process.cwd(), '.env');
|
|
45468
|
-
let encoding = 'utf8';
|
|
45469
|
-
const debug = Boolean(options && options.debug);
|
|
45470
|
-
const override = Boolean(options && options.override);
|
|
45471
|
-
|
|
45472
|
-
if (options) {
|
|
45473
|
-
if (options.path != null) {
|
|
45474
|
-
dotenvPath = _resolveHome(options.path);
|
|
45475
|
-
}
|
|
45476
|
-
if (options.encoding != null) {
|
|
45477
|
-
encoding = options.encoding;
|
|
45478
|
-
}
|
|
45479
|
-
}
|
|
45480
|
-
|
|
45481
|
-
try {
|
|
45482
|
-
// Specifying an encoding returns a string instead of a buffer
|
|
45483
|
-
const parsed = DotenvModule.parse(fs$9.readFileSync(dotenvPath, { encoding }));
|
|
45484
|
-
|
|
45485
|
-
Object.keys(parsed).forEach(function (key) {
|
|
45486
|
-
if (!Object.prototype.hasOwnProperty.call(process.env, key)) {
|
|
45487
|
-
process.env[key] = parsed[key];
|
|
45488
|
-
} else {
|
|
45489
|
-
if (override === true) {
|
|
45490
|
-
process.env[key] = parsed[key];
|
|
45491
|
-
}
|
|
45492
|
-
|
|
45493
|
-
if (debug) {
|
|
45494
|
-
if (override === true) {
|
|
45495
|
-
_log(`"${key}" is already defined in \`process.env\` and WAS overwritten`);
|
|
45496
|
-
} else {
|
|
45497
|
-
_log(`"${key}" is already defined in \`process.env\` and was NOT overwritten`);
|
|
45498
|
-
}
|
|
45499
|
-
}
|
|
45500
|
-
}
|
|
45501
|
-
});
|
|
45502
|
-
|
|
45503
|
-
return { parsed }
|
|
45504
|
-
} catch (e) {
|
|
45505
|
-
if (debug) {
|
|
45506
|
-
_log(`Failed to load ${dotenvPath} ${e.message}`);
|
|
45507
|
-
}
|
|
45508
|
-
|
|
45509
|
-
return { error: e }
|
|
45510
|
-
}
|
|
45511
|
-
}
|
|
45512
|
-
|
|
45513
|
-
const DotenvModule = {
|
|
45514
|
-
config,
|
|
45515
|
-
parse: parse$8
|
|
45516
|
-
};
|
|
45517
|
-
|
|
45518
|
-
mainExports.config = DotenvModule.config;
|
|
45519
|
-
var parse_1$1 = mainExports.parse = DotenvModule.parse;
|
|
45520
|
-
main$1.exports = DotenvModule;
|
|
45521
|
-
|
|
45522
|
-
function _interpolate (envValue, environment, config) {
|
|
45523
|
-
const matches = envValue.match(/(.?\${*[\w]*(?::-[\w/]*)?}*)/g) || [];
|
|
45524
|
-
|
|
45525
|
-
return matches.reduce(function (newEnv, match, index) {
|
|
45526
|
-
const parts = /(.?)\${*([\w]*(?::-[\w/]*)?)?}*/g.exec(match);
|
|
45527
|
-
if (!parts || parts.length === 0) {
|
|
45528
|
-
return newEnv
|
|
45529
|
-
}
|
|
45530
|
-
|
|
45531
|
-
const prefix = parts[1];
|
|
45532
|
-
|
|
45533
|
-
let value, replacePart;
|
|
45534
|
-
|
|
45535
|
-
if (prefix === '\\') {
|
|
45536
|
-
replacePart = parts[0];
|
|
45537
|
-
value = replacePart.replace('\\$', '$');
|
|
45538
|
-
} else {
|
|
45539
|
-
// PATCH: compatible with env variables ended with unescaped $
|
|
45540
|
-
if(!parts[2]) {
|
|
45541
|
-
return newEnv
|
|
45542
|
-
}
|
|
45543
|
-
const keyParts = parts[2].split(':-');
|
|
45544
|
-
const key = keyParts[0];
|
|
45545
|
-
replacePart = parts[0].substring(prefix.length);
|
|
45546
|
-
// process.env value 'wins' over .env file's value
|
|
45547
|
-
value = Object.prototype.hasOwnProperty.call(environment, key)
|
|
45548
|
-
? environment[key]
|
|
45549
|
-
: (config.parsed[key] || keyParts[1] || '');
|
|
45550
|
-
|
|
45551
|
-
// If the value is found, remove nested expansions.
|
|
45552
|
-
if (keyParts.length > 1 && value) {
|
|
45553
|
-
const replaceNested = matches[index + 1];
|
|
45554
|
-
matches[index + 1] = '';
|
|
45555
|
-
|
|
45556
|
-
newEnv = newEnv.replace(replaceNested, '');
|
|
45557
|
-
}
|
|
45558
|
-
// Resolve recursive interpolations
|
|
45559
|
-
value = _interpolate(value, environment, config);
|
|
45560
|
-
}
|
|
45561
|
-
|
|
45562
|
-
return newEnv.replace(replacePart, value)
|
|
45563
|
-
}, envValue)
|
|
45564
|
-
}
|
|
45565
|
-
|
|
45566
|
-
function expand (config) {
|
|
45567
|
-
// if ignoring process.env, use a blank object
|
|
45568
|
-
const environment = config.ignoreProcessEnv ? {} : process.env;
|
|
45569
|
-
|
|
45570
|
-
for (const configKey in config.parsed) {
|
|
45571
|
-
const value = Object.prototype.hasOwnProperty.call(environment, configKey) ? environment[configKey] : config.parsed[configKey];
|
|
45572
|
-
|
|
45573
|
-
config.parsed[configKey] = _interpolate(value, environment, config);
|
|
45574
|
-
}
|
|
45575
|
-
|
|
45576
|
-
// PATCH: don't write to process.env
|
|
45577
|
-
// for (const processKey in config.parsed) {
|
|
45578
|
-
// environment[processKey] = config.parsed[processKey]
|
|
45579
|
-
// }
|
|
45580
|
-
|
|
45581
|
-
return config
|
|
45582
|
-
}
|
|
45583
|
-
|
|
45584
|
-
var expand_1 = expand;
|
|
45585
|
-
|
|
45586
|
-
function loadEnv(mode, envDir, prefixes = 'VITE_') {
|
|
45587
|
-
if (mode === 'local') {
|
|
45588
|
-
throw new Error(`"local" cannot be used as a mode name because it conflicts with ` +
|
|
45589
|
-
`the .local postfix for .env files.`);
|
|
45590
|
-
}
|
|
45591
|
-
prefixes = arraify(prefixes);
|
|
45592
|
-
const env = {};
|
|
45593
|
-
const envFiles = [
|
|
45594
|
-
/** default file */ `.env`,
|
|
45595
|
-
/** local file */ `.env.local`,
|
|
45596
|
-
/** mode file */ `.env.${mode}`,
|
|
45597
|
-
/** mode local file */ `.env.${mode}.local`,
|
|
45598
|
-
];
|
|
45599
|
-
const parsed = Object.fromEntries(envFiles.flatMap((file) => {
|
|
45600
|
-
const path = lookupFile(envDir, [file], {
|
|
45601
|
-
pathOnly: true,
|
|
45602
|
-
rootDir: envDir,
|
|
45603
|
-
});
|
|
45604
|
-
if (!path)
|
|
45605
|
-
return [];
|
|
45606
|
-
return Object.entries(parse_1$1(fs$l.readFileSync(path)));
|
|
45607
|
-
}));
|
|
45608
|
-
// test NODE_ENV override before expand as otherwise process.env.NODE_ENV would override this
|
|
45609
|
-
if (parsed.NODE_ENV && process.env.VITE_USER_NODE_ENV === undefined) {
|
|
45610
|
-
process.env.VITE_USER_NODE_ENV = parsed.NODE_ENV;
|
|
45611
|
-
}
|
|
45612
|
-
// support BROWSER and BROWSER_ARGS env variables
|
|
45613
|
-
if (parsed.BROWSER && process.env.BROWSER === undefined) {
|
|
45614
|
-
process.env.BROWSER = parsed.BROWSER;
|
|
45615
|
-
}
|
|
45616
|
-
if (parsed.BROWSER_ARGS && process.env.BROWSER_ARGS === undefined) {
|
|
45617
|
-
process.env.BROWSER_ARGS = parsed.BROWSER_ARGS;
|
|
45618
|
-
}
|
|
45619
|
-
// let environment variables use each other
|
|
45620
|
-
// `expand` patched in patches/dotenv-expand@9.0.0.patch
|
|
45621
|
-
expand_1({ parsed });
|
|
45622
|
-
// only keys that start with prefix are exposed to client
|
|
45623
|
-
for (const [key, value] of Object.entries(parsed)) {
|
|
45624
|
-
if (prefixes.some((prefix) => key.startsWith(prefix))) {
|
|
45625
|
-
env[key] = value;
|
|
45626
|
-
}
|
|
45627
|
-
}
|
|
45628
|
-
// check if there are actual env variables starting with VITE_*
|
|
45629
|
-
// these are typically provided inline and should be prioritized
|
|
45630
|
-
for (const key in process.env) {
|
|
45631
|
-
if (prefixes.some((prefix) => key.startsWith(prefix))) {
|
|
45632
|
-
env[key] = process.env[key];
|
|
45633
|
-
}
|
|
45634
|
-
}
|
|
45635
|
-
return env;
|
|
45636
|
-
}
|
|
45637
|
-
function resolveEnvPrefix({ envPrefix = 'VITE_', }) {
|
|
45638
|
-
envPrefix = arraify(envPrefix);
|
|
45639
|
-
if (envPrefix.some((prefix) => prefix === '')) {
|
|
45640
|
-
throw new Error(`envPrefix option contains value '', which could lead unexpected exposure of sensitive information.`);
|
|
45641
|
-
}
|
|
45642
|
-
return envPrefix;
|
|
45643
|
-
}
|
|
45644
|
-
|
|
45645
|
-
function resolveBuildOptions(raw, logger) {
|
|
45856
|
+
function resolveBuildOptions(raw, logger, root) {
|
|
45646
45857
|
const deprecatedPolyfillModulePreload = raw?.polyfillModulePreload;
|
|
45647
45858
|
if (raw) {
|
|
45648
45859
|
const { polyfillModulePreload, ...rest } = raw;
|
|
@@ -45713,8 +45924,16 @@ function resolveBuildOptions(raw, logger) {
|
|
|
45713
45924
|
resolved.target = ESBUILD_MODULES_TARGET;
|
|
45714
45925
|
}
|
|
45715
45926
|
else if (resolved.target === 'esnext' && resolved.minify === 'terser') {
|
|
45716
|
-
|
|
45717
|
-
|
|
45927
|
+
try {
|
|
45928
|
+
const terserPackageJsonPath = requireResolveFromRootWithFallback(root, 'terser/package.json');
|
|
45929
|
+
const terserPackageJson = JSON.parse(fs$l.readFileSync(terserPackageJsonPath, 'utf-8'));
|
|
45930
|
+
const v = terserPackageJson.version.split('.');
|
|
45931
|
+
if (v[0] === '5' && v[1] < 16) {
|
|
45932
|
+
// esnext + terser 5.16<: limit to es2021 so it can be minified by terser
|
|
45933
|
+
resolved.target = 'es2021';
|
|
45934
|
+
}
|
|
45935
|
+
}
|
|
45936
|
+
catch { }
|
|
45718
45937
|
}
|
|
45719
45938
|
if (!resolved.cssTarget) {
|
|
45720
45939
|
resolved.cssTarget = resolved.target;
|
|
@@ -59209,7 +59428,7 @@ var debug_1 = function () {
|
|
|
59209
59428
|
if (!debug$3) {
|
|
59210
59429
|
try {
|
|
59211
59430
|
/* eslint global-require: off */
|
|
59212
|
-
debug$3 =
|
|
59431
|
+
debug$3 = srcExports$1("follow-redirects");
|
|
59213
59432
|
}
|
|
59214
59433
|
catch (error) { /* */ }
|
|
59215
59434
|
if (typeof debug$3 !== "function") {
|
|
@@ -60455,6 +60674,9 @@ function proxyMiddleware(httpServer, options, config) {
|
|
|
60455
60674
|
opts = { target: opts, changeOrigin: true };
|
|
60456
60675
|
}
|
|
60457
60676
|
const proxy = httpProxy.createProxyServer(opts);
|
|
60677
|
+
if (opts.configure) {
|
|
60678
|
+
opts.configure(proxy, opts);
|
|
60679
|
+
}
|
|
60458
60680
|
proxy.on('error', (err, req, originalRes) => {
|
|
60459
60681
|
// When it is ws proxy, res is net.Socket
|
|
60460
60682
|
const res = originalRes;
|
|
@@ -60479,9 +60701,6 @@ function proxyMiddleware(httpServer, options, config) {
|
|
|
60479
60701
|
res.end();
|
|
60480
60702
|
}
|
|
60481
60703
|
});
|
|
60482
|
-
if (opts.configure) {
|
|
60483
|
-
opts.configure(proxy, opts);
|
|
60484
|
-
}
|
|
60485
60704
|
// clone before saving because http-proxy mutates the options
|
|
60486
60705
|
proxies[context] = [proxy, { ...opts }];
|
|
60487
60706
|
});
|
|
@@ -60868,6 +61087,7 @@ function createDevHtmlTransformFn(server) {
|
|
|
60868
61087
|
return applyHtmlTransforms(html, [
|
|
60869
61088
|
preImportMapHook(server.config),
|
|
60870
61089
|
...preHooks,
|
|
61090
|
+
htmlEnvHook(server.config),
|
|
60871
61091
|
devHtmlHook,
|
|
60872
61092
|
...normalHooks,
|
|
60873
61093
|
...postHooks,
|
|
@@ -62701,6 +62921,9 @@ async function createServer(inlineConfig = {}) {
|
|
|
62701
62921
|
else {
|
|
62702
62922
|
await initServer();
|
|
62703
62923
|
}
|
|
62924
|
+
// Fire a clean up of stale cache dirs, in case old processes didn't
|
|
62925
|
+
// terminate correctly. Don't await this promise
|
|
62926
|
+
cleanupDepsCacheStaleDirs(config);
|
|
62704
62927
|
return server;
|
|
62705
62928
|
}
|
|
62706
62929
|
async function startServer(server, inlinePort) {
|
|
@@ -62757,6 +62980,10 @@ function resolveServerOptions(root, raw, logger) {
|
|
|
62757
62980
|
const server = {
|
|
62758
62981
|
preTransformRequests: true,
|
|
62759
62982
|
...raw,
|
|
62983
|
+
sourcemapIgnoreList: raw?.sourcemapIgnoreList === false
|
|
62984
|
+
? () => false
|
|
62985
|
+
: raw?.sourcemapIgnoreList ||
|
|
62986
|
+
((sourcePath) => sourcePath.includes('node_modules')),
|
|
62760
62987
|
middlewareMode: !!raw?.middlewareMode,
|
|
62761
62988
|
};
|
|
62762
62989
|
let allowDirs = server.fs?.allow;
|
|
@@ -63215,7 +63442,7 @@ async function resolveConfig(inlineConfig, command, defaultMode = 'development',
|
|
|
63215
63442
|
? '/'
|
|
63216
63443
|
: './'
|
|
63217
63444
|
: resolveBaseUrl(config.base, isBuild, logger) ?? '/';
|
|
63218
|
-
const resolvedBuildOptions = resolveBuildOptions(config.build, logger);
|
|
63445
|
+
const resolvedBuildOptions = resolveBuildOptions(config.build, logger, resolvedRoot);
|
|
63219
63446
|
// resolve cache directory
|
|
63220
63447
|
const pkgPath = lookupFile(resolvedRoot, [`package.json`], { pathOnly: true });
|
|
63221
63448
|
const cacheDir = normalizePath$3(config.cacheDir
|