vite 6.3.0-beta.0 → 6.3.0-beta.2

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.
@@ -8,14 +8,15 @@ import { performance as performance$1 } from 'node:perf_hooks';
8
8
  import require$$0$6, { createRequire as createRequire$1, builtinModules } from 'node:module';
9
9
  import crypto$2 from 'node:crypto';
10
10
  import picomatch$2 from 'picomatch';
11
- import esbuild, { transform as transform$1, formatMessages, build as build$b } from 'esbuild';
11
+ import esbuild, { transform as transform$1, formatMessages, build as build$3 } from 'esbuild';
12
12
  import { CLIENT_ENTRY, wildcardHosts, loopbackHosts, OPTIMIZABLE_ENTRY_RE, FS_PREFIX, CLIENT_PUBLIC_PATH, ENV_PUBLIC_PATH, DEFAULT_ASSETS_INLINE_LIMIT, SPECIAL_QUERY_RE, KNOWN_ASSET_TYPES, JS_TYPES_RE, CSS_LANGS_RE, METADATA_FILENAME, ESBUILD_MODULES_TARGET, ENV_ENTRY, DEP_VERSION_RE, DEV_PROD_CONDITION, ERR_OPTIMIZE_DEPS_PROCESSING_ERROR, ERR_FILE_NOT_FOUND_IN_OPTIMIZED_DEP_DIR, VITE_PACKAGE_DIR, defaultAllowedOrigins, DEFAULT_DEV_PORT, CLIENT_DIR, VERSION, ROLLUP_HOOKS, DEFAULT_PREVIEW_PORT, DEFAULT_ASSETS_RE, DEFAULT_CONFIG_FILES, DEFAULT_CLIENT_CONDITIONS, DEFAULT_SERVER_CONDITIONS, DEFAULT_CLIENT_MAIN_FIELDS, DEFAULT_SERVER_MAIN_FIELDS } from '../constants.js';
13
13
  import require$$0$2, { posix, isAbsolute, resolve as resolve$3, win32, relative as relative$1, join, dirname as dirname$1, extname, basename as basename$1, sep } from 'path';
14
- import require$$0$3, { statSync, existsSync, readFileSync, readdirSync } from 'fs';
14
+ import require$$0$4, { statSync, existsSync, readFileSync, readdirSync } from 'fs';
15
+ import { fdir } from 'fdir';
15
16
  import childProcess$2, { exec, execFile, execSync } from 'node:child_process';
16
17
  import { createServer as createServer$3, STATUS_CODES, get as get$2 } from 'node:http';
17
18
  import { createServer as createServer$2, get as get$1 } from 'node:https';
18
- import require$$0$4 from 'tty';
19
+ import require$$0$3 from 'tty';
19
20
  import require$$1 from 'util';
20
21
  import require$$4$1 from 'net';
21
22
  import require$$0$7 from 'events';
@@ -532,23 +533,23 @@ function ensureArray(thing) {
532
533
  }
533
534
 
534
535
  const normalizePathRegExp = new RegExp(`\\${win32.sep}`, 'g');
535
- const normalizePath$6 = function normalizePath(filename) {
536
+ const normalizePath$5 = function normalizePath(filename) {
536
537
  return filename.replace(normalizePathRegExp, posix.sep);
537
538
  };
538
539
 
539
- function getMatcherString(id, resolutionBase) {
540
+ function getMatcherString$1(id, resolutionBase) {
540
541
  if (resolutionBase === false || isAbsolute(id) || id.startsWith('**')) {
541
- return normalizePath$6(id);
542
+ return normalizePath$5(id);
542
543
  }
543
544
  // resolve('') is valid and will default to process.cwd()
544
- const basePath = normalizePath$6(resolve$3(resolutionBase || ''))
545
+ const basePath = normalizePath$5(resolve$3(resolutionBase || ''))
545
546
  // escape all possible (posix + win) path characters that might interfere with regex
546
547
  .replace(/[-^$*+?.()|[\]{}]/g, '\\$&');
547
548
  // Note that we use posix.join because:
548
549
  // 1. the basePath has been normalized to use /
549
550
  // 2. the incoming glob (id) matcher, also uses /
550
551
  // otherwise Node will force backslash (\) on windows
551
- return posix.join(basePath, normalizePath$6(id));
552
+ return posix.join(basePath, normalizePath$5(id));
552
553
  }
553
554
  const createFilter$2 = function createFilter(include, exclude, options) {
554
555
  const resolutionBase = options && options.resolve;
@@ -557,7 +558,7 @@ const createFilter$2 = function createFilter(include, exclude, options) {
557
558
  : {
558
559
  test: (what) => {
559
560
  // this refactor is a tad overly verbose but makes for easy debugging
560
- const pattern = getMatcherString(id, resolutionBase);
561
+ const pattern = getMatcherString$1(id, resolutionBase);
561
562
  const fn = picomatch$2(pattern, { dot: true });
562
563
  const result = fn(what);
563
564
  return result;
@@ -572,7 +573,7 @@ const createFilter$2 = function createFilter(include, exclude, options) {
572
573
  return false;
573
574
  if (id.includes('\0'))
574
575
  return false;
575
- const pathId = normalizePath$6(id);
576
+ const pathId = normalizePath$5(id);
576
577
  for (let i = 0; i < excludeMatchers.length; ++i) {
577
578
  const matcher = excludeMatchers[i];
578
579
  if (matcher instanceof RegExp) {
@@ -752,753 +753,6 @@ var commondir = function (basedir, relfiles) {
752
753
 
753
754
  var getCommonDir = /*@__PURE__*/getDefaultExportFromCjs(commondir);
754
755
 
755
- var dist = {};
756
-
757
- var builder = {};
758
-
759
- var apiBuilder = {};
760
-
761
- var async = {};
762
-
763
- var walker = {};
764
-
765
- var utils$4 = {};
766
-
767
- Object.defineProperty(utils$4, "__esModule", { value: true });
768
- utils$4.normalizePath = utils$4.convertSlashes = utils$4.cleanPath = void 0;
769
- const path_1$4 = require$$0$2;
770
- function cleanPath(path) {
771
- let normalized = (0, path_1$4.normalize)(path);
772
- // we have to remove the last path separator
773
- // to account for / root path
774
- if (normalized.length > 1 && normalized[normalized.length - 1] === path_1$4.sep)
775
- normalized = normalized.substring(0, normalized.length - 1);
776
- return normalized;
777
- }
778
- utils$4.cleanPath = cleanPath;
779
- const SLASHES_REGEX = /[\\/]/g;
780
- function convertSlashes(path, separator) {
781
- return path.replace(SLASHES_REGEX, separator);
782
- }
783
- utils$4.convertSlashes = convertSlashes;
784
- function normalizePath$5(path, options) {
785
- const { resolvePaths, normalizePath, pathSeparator } = options;
786
- const pathNeedsCleaning = (process.platform === "win32" && path.includes("/")) ||
787
- path.startsWith(".");
788
- if (resolvePaths)
789
- path = (0, path_1$4.resolve)(path);
790
- if (normalizePath || pathNeedsCleaning)
791
- path = cleanPath(path);
792
- if (path === ".")
793
- return "";
794
- const needsSeperator = path[path.length - 1] !== pathSeparator;
795
- return convertSlashes(needsSeperator ? path + pathSeparator : path, pathSeparator);
796
- }
797
- utils$4.normalizePath = normalizePath$5;
798
-
799
- var joinPath$2 = {};
800
-
801
- Object.defineProperty(joinPath$2, "__esModule", { value: true });
802
- joinPath$2.build = joinPath$2.joinDirectoryPath = joinPath$2.joinPathWithBasePath = void 0;
803
- const path_1$3 = require$$0$2;
804
- const utils_1$1 = utils$4;
805
- function joinPathWithBasePath(filename, directoryPath) {
806
- return directoryPath + filename;
807
- }
808
- joinPath$2.joinPathWithBasePath = joinPathWithBasePath;
809
- function joinPathWithRelativePath(root, options) {
810
- return function (filename, directoryPath) {
811
- const sameRoot = directoryPath.startsWith(root);
812
- if (sameRoot)
813
- return directoryPath.replace(root, "") + filename;
814
- else
815
- return ((0, utils_1$1.convertSlashes)((0, path_1$3.relative)(root, directoryPath), options.pathSeparator) +
816
- options.pathSeparator +
817
- filename);
818
- };
819
- }
820
- function joinPath$1(filename) {
821
- return filename;
822
- }
823
- function joinDirectoryPath(filename, directoryPath, separator) {
824
- return directoryPath + filename + separator;
825
- }
826
- joinPath$2.joinDirectoryPath = joinDirectoryPath;
827
- function build$a(root, options) {
828
- const { relativePaths, includeBasePath } = options;
829
- return relativePaths && root
830
- ? joinPathWithRelativePath(root, options)
831
- : includeBasePath
832
- ? joinPathWithBasePath
833
- : joinPath$1;
834
- }
835
- joinPath$2.build = build$a;
836
-
837
- var pushDirectory$2 = {};
838
-
839
- Object.defineProperty(pushDirectory$2, "__esModule", { value: true });
840
- pushDirectory$2.build = void 0;
841
- function pushDirectoryWithRelativePath(root) {
842
- return function (directoryPath, paths) {
843
- paths.push(directoryPath.substring(root.length) || ".");
844
- };
845
- }
846
- function pushDirectoryFilterWithRelativePath(root) {
847
- return function (directoryPath, paths, filters) {
848
- const relativePath = directoryPath.substring(root.length) || ".";
849
- if (filters.every((filter) => filter(relativePath, true))) {
850
- paths.push(relativePath);
851
- }
852
- };
853
- }
854
- const pushDirectory$1 = (directoryPath, paths) => {
855
- paths.push(directoryPath || ".");
856
- };
857
- const pushDirectoryFilter = (directoryPath, paths, filters) => {
858
- const path = directoryPath || ".";
859
- if (filters.every((filter) => filter(path, true))) {
860
- paths.push(path);
861
- }
862
- };
863
- const empty$2 = () => { };
864
- function build$9(root, options) {
865
- const { includeDirs, filters, relativePaths } = options;
866
- if (!includeDirs)
867
- return empty$2;
868
- if (relativePaths)
869
- return filters && filters.length
870
- ? pushDirectoryFilterWithRelativePath(root)
871
- : pushDirectoryWithRelativePath(root);
872
- return filters && filters.length ? pushDirectoryFilter : pushDirectory$1;
873
- }
874
- pushDirectory$2.build = build$9;
875
-
876
- var pushFile$2 = {};
877
-
878
- Object.defineProperty(pushFile$2, "__esModule", { value: true });
879
- pushFile$2.build = void 0;
880
- const pushFileFilterAndCount = (filename, _paths, counts, filters) => {
881
- if (filters.every((filter) => filter(filename, false)))
882
- counts.files++;
883
- };
884
- const pushFileFilter = (filename, paths, _counts, filters) => {
885
- if (filters.every((filter) => filter(filename, false)))
886
- paths.push(filename);
887
- };
888
- const pushFileCount = (_filename, _paths, counts, _filters) => {
889
- counts.files++;
890
- };
891
- const pushFile$1 = (filename, paths) => {
892
- paths.push(filename);
893
- };
894
- const empty$1 = () => { };
895
- function build$8(options) {
896
- const { excludeFiles, filters, onlyCounts } = options;
897
- if (excludeFiles)
898
- return empty$1;
899
- if (filters && filters.length) {
900
- return onlyCounts ? pushFileFilterAndCount : pushFileFilter;
901
- }
902
- else if (onlyCounts) {
903
- return pushFileCount;
904
- }
905
- else {
906
- return pushFile$1;
907
- }
908
- }
909
- pushFile$2.build = build$8;
910
-
911
- var getArray$2 = {};
912
-
913
- Object.defineProperty(getArray$2, "__esModule", { value: true });
914
- getArray$2.build = void 0;
915
- const getArray$1 = (paths) => {
916
- return paths;
917
- };
918
- const getArrayGroup = () => {
919
- return [""].slice(0, 0);
920
- };
921
- function build$7(options) {
922
- return options.group ? getArrayGroup : getArray$1;
923
- }
924
- getArray$2.build = build$7;
925
-
926
- var groupFiles$2 = {};
927
-
928
- Object.defineProperty(groupFiles$2, "__esModule", { value: true });
929
- groupFiles$2.build = void 0;
930
- const groupFiles$1 = (groups, directory, files) => {
931
- groups.push({ directory, files, dir: directory });
932
- };
933
- const empty = () => { };
934
- function build$6(options) {
935
- return options.group ? groupFiles$1 : empty;
936
- }
937
- groupFiles$2.build = build$6;
938
-
939
- var resolveSymlink$1 = {};
940
-
941
- var __importDefault$1 = (resolveSymlink$1 && resolveSymlink$1.__importDefault) || function (mod) {
942
- return (mod && mod.__esModule) ? mod : { "default": mod };
943
- };
944
- Object.defineProperty(resolveSymlink$1, "__esModule", { value: true });
945
- resolveSymlink$1.build = void 0;
946
- const fs_1$1 = __importDefault$1(require$$0$3);
947
- const path_1$2 = require$$0$2;
948
- const resolveSymlinksAsync = function (path, state, callback) {
949
- const { queue, options: { suppressErrors }, } = state;
950
- queue.enqueue();
951
- fs_1$1.default.realpath(path, (error, resolvedPath) => {
952
- if (error)
953
- return queue.dequeue(suppressErrors ? null : error, state);
954
- fs_1$1.default.stat(resolvedPath, (error, stat) => {
955
- if (error)
956
- return queue.dequeue(suppressErrors ? null : error, state);
957
- if (stat.isDirectory() && isRecursive(path, resolvedPath, state))
958
- return queue.dequeue(null, state);
959
- callback(stat, resolvedPath);
960
- queue.dequeue(null, state);
961
- });
962
- });
963
- };
964
- const resolveSymlinks = function (path, state, callback) {
965
- const { queue, options: { suppressErrors }, } = state;
966
- queue.enqueue();
967
- try {
968
- const resolvedPath = fs_1$1.default.realpathSync(path);
969
- const stat = fs_1$1.default.statSync(resolvedPath);
970
- if (stat.isDirectory() && isRecursive(path, resolvedPath, state))
971
- return;
972
- callback(stat, resolvedPath);
973
- }
974
- catch (e) {
975
- if (!suppressErrors)
976
- throw e;
977
- }
978
- };
979
- function build$5(options, isSynchronous) {
980
- if (!options.resolveSymlinks || options.excludeSymlinks)
981
- return null;
982
- return isSynchronous ? resolveSymlinks : resolveSymlinksAsync;
983
- }
984
- resolveSymlink$1.build = build$5;
985
- function isRecursive(path, resolved, state) {
986
- if (state.options.useRealPaths)
987
- return isRecursiveUsingRealPaths(resolved, state);
988
- let parent = (0, path_1$2.dirname)(path);
989
- let depth = 1;
990
- while (parent !== state.root && depth < 2) {
991
- const resolvedPath = state.symlinks.get(parent);
992
- const isSameRoot = !!resolvedPath &&
993
- (resolvedPath === resolved ||
994
- resolvedPath.startsWith(resolved) ||
995
- resolved.startsWith(resolvedPath));
996
- if (isSameRoot)
997
- depth++;
998
- else
999
- parent = (0, path_1$2.dirname)(parent);
1000
- }
1001
- state.symlinks.set(path, resolved);
1002
- return depth > 1;
1003
- }
1004
- function isRecursiveUsingRealPaths(resolved, state) {
1005
- return state.visited.includes(resolved + state.options.pathSeparator);
1006
- }
1007
-
1008
- var invokeCallback$1 = {};
1009
-
1010
- Object.defineProperty(invokeCallback$1, "__esModule", { value: true });
1011
- invokeCallback$1.build = void 0;
1012
- const onlyCountsSync = (state) => {
1013
- return state.counts;
1014
- };
1015
- const groupsSync = (state) => {
1016
- return state.groups;
1017
- };
1018
- const defaultSync = (state) => {
1019
- return state.paths;
1020
- };
1021
- const limitFilesSync = (state) => {
1022
- return state.paths.slice(0, state.options.maxFiles);
1023
- };
1024
- const onlyCountsAsync = (state, error, callback) => {
1025
- report(error, callback, state.counts, state.options.suppressErrors);
1026
- return null;
1027
- };
1028
- const defaultAsync = (state, error, callback) => {
1029
- report(error, callback, state.paths, state.options.suppressErrors);
1030
- return null;
1031
- };
1032
- const limitFilesAsync = (state, error, callback) => {
1033
- report(error, callback, state.paths.slice(0, state.options.maxFiles), state.options.suppressErrors);
1034
- return null;
1035
- };
1036
- const groupsAsync = (state, error, callback) => {
1037
- report(error, callback, state.groups, state.options.suppressErrors);
1038
- return null;
1039
- };
1040
- function report(error, callback, output, suppressErrors) {
1041
- if (error && !suppressErrors)
1042
- callback(error, output);
1043
- else
1044
- callback(null, output);
1045
- }
1046
- function build$4(options, isSynchronous) {
1047
- const { onlyCounts, group, maxFiles } = options;
1048
- if (onlyCounts)
1049
- return isSynchronous
1050
- ? onlyCountsSync
1051
- : onlyCountsAsync;
1052
- else if (group)
1053
- return isSynchronous
1054
- ? groupsSync
1055
- : groupsAsync;
1056
- else if (maxFiles)
1057
- return isSynchronous
1058
- ? limitFilesSync
1059
- : limitFilesAsync;
1060
- else
1061
- return isSynchronous
1062
- ? defaultSync
1063
- : defaultAsync;
1064
- }
1065
- invokeCallback$1.build = build$4;
1066
-
1067
- var walkDirectory$1 = {};
1068
-
1069
- var __importDefault = (walkDirectory$1 && walkDirectory$1.__importDefault) || function (mod) {
1070
- return (mod && mod.__esModule) ? mod : { "default": mod };
1071
- };
1072
- Object.defineProperty(walkDirectory$1, "__esModule", { value: true });
1073
- walkDirectory$1.build = void 0;
1074
- const fs_1 = __importDefault(require$$0$3);
1075
- const readdirOpts = { withFileTypes: true };
1076
- const walkAsync = (state, crawlPath, directoryPath, currentDepth, callback) => {
1077
- if (currentDepth < 0)
1078
- return state.queue.dequeue(null, state);
1079
- state.visited.push(crawlPath);
1080
- state.counts.directories++;
1081
- state.queue.enqueue();
1082
- // Perf: Node >= 10 introduced withFileTypes that helps us
1083
- // skip an extra fs.stat call.
1084
- fs_1.default.readdir(crawlPath || ".", readdirOpts, (error, entries = []) => {
1085
- callback(entries, directoryPath, currentDepth);
1086
- state.queue.dequeue(state.options.suppressErrors ? null : error, state);
1087
- });
1088
- };
1089
- const walkSync = (state, crawlPath, directoryPath, currentDepth, callback) => {
1090
- if (currentDepth < 0)
1091
- return;
1092
- state.visited.push(crawlPath);
1093
- state.counts.directories++;
1094
- let entries = [];
1095
- try {
1096
- entries = fs_1.default.readdirSync(crawlPath || ".", readdirOpts);
1097
- }
1098
- catch (e) {
1099
- if (!state.options.suppressErrors)
1100
- throw e;
1101
- }
1102
- callback(entries, directoryPath, currentDepth);
1103
- };
1104
- function build$3(isSynchronous) {
1105
- return isSynchronous ? walkSync : walkAsync;
1106
- }
1107
- walkDirectory$1.build = build$3;
1108
-
1109
- var queue = {};
1110
-
1111
- Object.defineProperty(queue, "__esModule", { value: true });
1112
- queue.Queue = void 0;
1113
- /**
1114
- * This is a custom stateless queue to track concurrent async fs calls.
1115
- * It increments a counter whenever a call is queued and decrements it
1116
- * as soon as it completes. When the counter hits 0, it calls onQueueEmpty.
1117
- */
1118
- class Queue {
1119
- onQueueEmpty;
1120
- count = 0;
1121
- constructor(onQueueEmpty) {
1122
- this.onQueueEmpty = onQueueEmpty;
1123
- }
1124
- enqueue() {
1125
- this.count++;
1126
- }
1127
- dequeue(error, output) {
1128
- if (--this.count <= 0 || error)
1129
- this.onQueueEmpty(error, output);
1130
- }
1131
- }
1132
- queue.Queue = Queue;
1133
-
1134
- var counter = {};
1135
-
1136
- Object.defineProperty(counter, "__esModule", { value: true });
1137
- counter.Counter = void 0;
1138
- class Counter {
1139
- _files = 0;
1140
- _directories = 0;
1141
- set files(num) {
1142
- this._files = num;
1143
- }
1144
- get files() {
1145
- return this._files;
1146
- }
1147
- set directories(num) {
1148
- this._directories = num;
1149
- }
1150
- get directories() {
1151
- return this._directories;
1152
- }
1153
- /**
1154
- * @deprecated use `directories` instead
1155
- */
1156
- /* c8 ignore next 3 */
1157
- get dirs() {
1158
- return this._directories;
1159
- }
1160
- }
1161
- counter.Counter = Counter;
1162
-
1163
- var __createBinding = (walker && walker.__createBinding) || (Object.create ? (function(o, m, k, k2) {
1164
- if (k2 === undefined) k2 = k;
1165
- var desc = Object.getOwnPropertyDescriptor(m, k);
1166
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
1167
- desc = { enumerable: true, get: function() { return m[k]; } };
1168
- }
1169
- Object.defineProperty(o, k2, desc);
1170
- }) : (function(o, m, k, k2) {
1171
- if (k2 === undefined) k2 = k;
1172
- o[k2] = m[k];
1173
- }));
1174
- var __setModuleDefault = (walker && walker.__setModuleDefault) || (Object.create ? (function(o, v) {
1175
- Object.defineProperty(o, "default", { enumerable: true, value: v });
1176
- }) : function(o, v) {
1177
- o["default"] = v;
1178
- });
1179
- var __importStar = (walker && walker.__importStar) || function (mod) {
1180
- if (mod && mod.__esModule) return mod;
1181
- var result = {};
1182
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
1183
- __setModuleDefault(result, mod);
1184
- return result;
1185
- };
1186
- Object.defineProperty(walker, "__esModule", { value: true });
1187
- walker.Walker = void 0;
1188
- const path_1$1 = require$$0$2;
1189
- const utils_1 = utils$4;
1190
- const joinPath = __importStar(joinPath$2);
1191
- const pushDirectory = __importStar(pushDirectory$2);
1192
- const pushFile = __importStar(pushFile$2);
1193
- const getArray = __importStar(getArray$2);
1194
- const groupFiles = __importStar(groupFiles$2);
1195
- const resolveSymlink = __importStar(resolveSymlink$1);
1196
- const invokeCallback = __importStar(invokeCallback$1);
1197
- const walkDirectory = __importStar(walkDirectory$1);
1198
- const queue_1 = queue;
1199
- const counter_1 = counter;
1200
- class Walker {
1201
- root;
1202
- isSynchronous;
1203
- state;
1204
- joinPath;
1205
- pushDirectory;
1206
- pushFile;
1207
- getArray;
1208
- groupFiles;
1209
- resolveSymlink;
1210
- walkDirectory;
1211
- callbackInvoker;
1212
- constructor(root, options, callback) {
1213
- this.isSynchronous = !callback;
1214
- this.callbackInvoker = invokeCallback.build(options, this.isSynchronous);
1215
- this.root = (0, utils_1.normalizePath)(root, options);
1216
- this.state = {
1217
- root: this.root.slice(0, -1),
1218
- // Perf: we explicitly tell the compiler to optimize for String arrays
1219
- paths: [""].slice(0, 0),
1220
- groups: [],
1221
- counts: new counter_1.Counter(),
1222
- options,
1223
- queue: new queue_1.Queue((error, state) => this.callbackInvoker(state, error, callback)),
1224
- symlinks: new Map(),
1225
- visited: [""].slice(0, 0),
1226
- };
1227
- /*
1228
- * Perf: We conditionally change functions according to options. This gives a slight
1229
- * performance boost. Since these functions are so small, they are automatically inlined
1230
- * by the javascript engine so there's no function call overhead (in most cases).
1231
- */
1232
- this.joinPath = joinPath.build(this.root, options);
1233
- this.pushDirectory = pushDirectory.build(this.root, options);
1234
- this.pushFile = pushFile.build(options);
1235
- this.getArray = getArray.build(options);
1236
- this.groupFiles = groupFiles.build(options);
1237
- this.resolveSymlink = resolveSymlink.build(options, this.isSynchronous);
1238
- this.walkDirectory = walkDirectory.build(this.isSynchronous);
1239
- }
1240
- start() {
1241
- this.walkDirectory(this.state, this.root, this.root, this.state.options.maxDepth, this.walk);
1242
- return this.isSynchronous ? this.callbackInvoker(this.state, null) : null;
1243
- }
1244
- walk = (entries, directoryPath, depth) => {
1245
- const { paths, options: { filters, resolveSymlinks, excludeSymlinks, exclude, maxFiles, signal, useRealPaths, pathSeparator, }, } = this.state;
1246
- if ((signal && signal.aborted) || (maxFiles && paths.length > maxFiles))
1247
- return;
1248
- this.pushDirectory(directoryPath, paths, filters);
1249
- const files = this.getArray(this.state.paths);
1250
- for (let i = 0; i < entries.length; ++i) {
1251
- const entry = entries[i];
1252
- if (entry.isFile() ||
1253
- (entry.isSymbolicLink() && !resolveSymlinks && !excludeSymlinks)) {
1254
- const filename = this.joinPath(entry.name, directoryPath);
1255
- this.pushFile(filename, files, this.state.counts, filters);
1256
- }
1257
- else if (entry.isDirectory()) {
1258
- let path = joinPath.joinDirectoryPath(entry.name, directoryPath, this.state.options.pathSeparator);
1259
- if (exclude && exclude(entry.name, path))
1260
- continue;
1261
- this.walkDirectory(this.state, path, path, depth - 1, this.walk);
1262
- }
1263
- else if (entry.isSymbolicLink() && this.resolveSymlink) {
1264
- let path = joinPath.joinPathWithBasePath(entry.name, directoryPath);
1265
- this.resolveSymlink(path, this.state, (stat, resolvedPath) => {
1266
- if (stat.isDirectory()) {
1267
- resolvedPath = (0, utils_1.normalizePath)(resolvedPath, this.state.options);
1268
- if (exclude && exclude(entry.name, useRealPaths ? resolvedPath : path + pathSeparator))
1269
- return;
1270
- this.walkDirectory(this.state, resolvedPath, useRealPaths ? resolvedPath : path + pathSeparator, depth - 1, this.walk);
1271
- }
1272
- else {
1273
- resolvedPath = useRealPaths ? resolvedPath : path;
1274
- const filename = (0, path_1$1.basename)(resolvedPath);
1275
- const directoryPath = (0, utils_1.normalizePath)((0, path_1$1.dirname)(resolvedPath), this.state.options);
1276
- resolvedPath = this.joinPath(filename, directoryPath);
1277
- this.pushFile(resolvedPath, files, this.state.counts, filters);
1278
- }
1279
- });
1280
- }
1281
- }
1282
- this.groupFiles(this.state.groups, directoryPath, files);
1283
- };
1284
- }
1285
- walker.Walker = Walker;
1286
-
1287
- Object.defineProperty(async, "__esModule", { value: true });
1288
- async.callback = async.promise = void 0;
1289
- const walker_1$1 = walker;
1290
- function promise(root, options) {
1291
- return new Promise((resolve, reject) => {
1292
- callback(root, options, (err, output) => {
1293
- if (err)
1294
- return reject(err);
1295
- resolve(output);
1296
- });
1297
- });
1298
- }
1299
- async.promise = promise;
1300
- function callback(root, options, callback) {
1301
- let walker = new walker_1$1.Walker(root, options, callback);
1302
- walker.start();
1303
- }
1304
- async.callback = callback;
1305
-
1306
- var sync$2 = {};
1307
-
1308
- Object.defineProperty(sync$2, "__esModule", { value: true });
1309
- sync$2.sync = void 0;
1310
- const walker_1 = walker;
1311
- function sync$1(root, options) {
1312
- const walker = new walker_1.Walker(root, options);
1313
- return walker.start();
1314
- }
1315
- sync$2.sync = sync$1;
1316
-
1317
- Object.defineProperty(apiBuilder, "__esModule", { value: true });
1318
- apiBuilder.APIBuilder = void 0;
1319
- const async_1 = async;
1320
- const sync_1 = sync$2;
1321
- class APIBuilder {
1322
- root;
1323
- options;
1324
- constructor(root, options) {
1325
- this.root = root;
1326
- this.options = options;
1327
- }
1328
- withPromise() {
1329
- return (0, async_1.promise)(this.root, this.options);
1330
- }
1331
- withCallback(cb) {
1332
- (0, async_1.callback)(this.root, this.options, cb);
1333
- }
1334
- sync() {
1335
- return (0, sync_1.sync)(this.root, this.options);
1336
- }
1337
- }
1338
- apiBuilder.APIBuilder = APIBuilder;
1339
-
1340
- Object.defineProperty(builder, "__esModule", { value: true });
1341
- builder.Builder = void 0;
1342
- const path_1 = require$$0$2;
1343
- const api_builder_1 = apiBuilder;
1344
- var pm = null;
1345
- /* c8 ignore next 6 */
1346
- try {
1347
- require.resolve("picomatch");
1348
- pm = require("picomatch");
1349
- }
1350
- catch (_e) {
1351
- // do nothing
1352
- }
1353
- class Builder {
1354
- globCache = {};
1355
- options = {
1356
- maxDepth: Infinity,
1357
- suppressErrors: true,
1358
- pathSeparator: path_1.sep,
1359
- filters: [],
1360
- };
1361
- globFunction;
1362
- constructor(options) {
1363
- this.options = { ...this.options, ...options };
1364
- this.globFunction = this.options.globFunction;
1365
- }
1366
- group() {
1367
- this.options.group = true;
1368
- return this;
1369
- }
1370
- withPathSeparator(separator) {
1371
- this.options.pathSeparator = separator;
1372
- return this;
1373
- }
1374
- withBasePath() {
1375
- this.options.includeBasePath = true;
1376
- return this;
1377
- }
1378
- withRelativePaths() {
1379
- this.options.relativePaths = true;
1380
- return this;
1381
- }
1382
- withDirs() {
1383
- this.options.includeDirs = true;
1384
- return this;
1385
- }
1386
- withMaxDepth(depth) {
1387
- this.options.maxDepth = depth;
1388
- return this;
1389
- }
1390
- withMaxFiles(limit) {
1391
- this.options.maxFiles = limit;
1392
- return this;
1393
- }
1394
- withFullPaths() {
1395
- this.options.resolvePaths = true;
1396
- this.options.includeBasePath = true;
1397
- return this;
1398
- }
1399
- withErrors() {
1400
- this.options.suppressErrors = false;
1401
- return this;
1402
- }
1403
- withSymlinks({ resolvePaths = true } = {}) {
1404
- this.options.resolveSymlinks = true;
1405
- this.options.useRealPaths = resolvePaths;
1406
- return this.withFullPaths();
1407
- }
1408
- withAbortSignal(signal) {
1409
- this.options.signal = signal;
1410
- return this;
1411
- }
1412
- normalize() {
1413
- this.options.normalizePath = true;
1414
- return this;
1415
- }
1416
- filter(predicate) {
1417
- this.options.filters.push(predicate);
1418
- return this;
1419
- }
1420
- onlyDirs() {
1421
- this.options.excludeFiles = true;
1422
- this.options.includeDirs = true;
1423
- return this;
1424
- }
1425
- exclude(predicate) {
1426
- this.options.exclude = predicate;
1427
- return this;
1428
- }
1429
- onlyCounts() {
1430
- this.options.onlyCounts = true;
1431
- return this;
1432
- }
1433
- crawl(root) {
1434
- return new api_builder_1.APIBuilder(root || ".", this.options);
1435
- }
1436
- withGlobFunction(fn) {
1437
- // cast this since we don't have the new type params yet
1438
- this.globFunction = fn;
1439
- return this;
1440
- }
1441
- /**
1442
- * @deprecated Pass options using the constructor instead:
1443
- * ```ts
1444
- * new fdir(options).crawl("/path/to/root");
1445
- * ```
1446
- * This method will be removed in v7.0
1447
- */
1448
- /* c8 ignore next 4 */
1449
- crawlWithOptions(root, options) {
1450
- this.options = { ...this.options, ...options };
1451
- return new api_builder_1.APIBuilder(root || ".", this.options);
1452
- }
1453
- glob(...patterns) {
1454
- if (this.globFunction) {
1455
- return this.globWithOptions(patterns);
1456
- }
1457
- return this.globWithOptions(patterns, ...[{ dot: true }]);
1458
- }
1459
- globWithOptions(patterns, ...options) {
1460
- const globFn = (this.globFunction || pm);
1461
- /* c8 ignore next 5 */
1462
- if (!globFn) {
1463
- throw new Error('Please specify a glob function to use glob matching.');
1464
- }
1465
- var isMatch = this.globCache[patterns.join("\0")];
1466
- if (!isMatch) {
1467
- isMatch = globFn(patterns, ...options);
1468
- this.globCache[patterns.join("\0")] = isMatch;
1469
- }
1470
- this.options.filters.push((path) => isMatch(path));
1471
- return this;
1472
- }
1473
- }
1474
- builder.Builder = Builder;
1475
-
1476
- var types = {};
1477
-
1478
- Object.defineProperty(types, "__esModule", { value: true });
1479
-
1480
- (function (exports) {
1481
- var __createBinding = (dist && dist.__createBinding) || (Object.create ? (function(o, m, k, k2) {
1482
- if (k2 === undefined) k2 = k;
1483
- var desc = Object.getOwnPropertyDescriptor(m, k);
1484
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
1485
- desc = { enumerable: true, get: function() { return m[k]; } };
1486
- }
1487
- Object.defineProperty(o, k2, desc);
1488
- }) : (function(o, m, k, k2) {
1489
- if (k2 === undefined) k2 = k;
1490
- o[k2] = m[k];
1491
- }));
1492
- var __exportStar = (dist && dist.__exportStar) || function(m, exports) {
1493
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
1494
- };
1495
- Object.defineProperty(exports, "__esModule", { value: true });
1496
- exports.fdir = void 0;
1497
- const builder_1 = builder;
1498
- Object.defineProperty(exports, "fdir", { enumerable: true, get: function () { return builder_1.Builder; } });
1499
- __exportStar(types, exports);
1500
- } (dist));
1501
-
1502
756
  const comma = ','.charCodeAt(0);
1503
757
  const semicolon = ';'.charCodeAt(0);
1504
758
  const chars$1 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
@@ -3156,7 +2410,7 @@ function getDynamicRequireModules(patterns, dynamicRequireRoot) {
3156
2410
  ? dynamicRequireModules.delete(targetPath)
3157
2411
  : dynamicRequireModules.set(targetPath, resolvedPath);
3158
2412
  // eslint-disable-next-line new-cap
3159
- for (const path of new dist.fdir()
2413
+ for (const path of new fdir()
3160
2414
  .withBasePath()
3161
2415
  .withDirs()
3162
2416
  .glob(isNegated ? pattern.substr(1) : pattern)
@@ -6236,20 +5490,18 @@ function remapping(input, loader, options) {
6236
5490
  return new SourceMap(traceMappings(tree), opts);
6237
5491
  }
6238
5492
 
6239
- var src$3 = {exports: {}};
6240
-
6241
- var browser$1 = {exports: {}};
5493
+ var node$1 = {exports: {}};
6242
5494
 
6243
5495
  /**
6244
5496
  * Helpers.
6245
5497
  */
6246
5498
 
6247
5499
  var ms$1;
6248
- var hasRequiredMs$1;
5500
+ var hasRequiredMs;
6249
5501
 
6250
- function requireMs$1 () {
6251
- if (hasRequiredMs$1) return ms$1;
6252
- hasRequiredMs$1 = 1;
5502
+ function requireMs () {
5503
+ if (hasRequiredMs) return ms$1;
5504
+ hasRequiredMs = 1;
6253
5505
  var s = 1000;
6254
5506
  var m = s * 60;
6255
5507
  var h = m * 60;
@@ -6429,7 +5681,7 @@ function requireCommon () {
6429
5681
  createDebug.disable = disable;
6430
5682
  createDebug.enable = enable;
6431
5683
  createDebug.enabled = enabled;
6432
- createDebug.humanize = requireMs$1();
5684
+ createDebug.humanize = requireMs();
6433
5685
  createDebug.destroy = destroy;
6434
5686
 
6435
5687
  Object.keys(env).forEach(key => {
@@ -6711,576 +5963,274 @@ function requireCommon () {
6711
5963
  return common$4;
6712
5964
  }
6713
5965
 
6714
- /* eslint-env browser */
6715
-
6716
- var hasRequiredBrowser$1;
6717
-
6718
- function requireBrowser$1 () {
6719
- if (hasRequiredBrowser$1) return browser$1.exports;
6720
- hasRequiredBrowser$1 = 1;
6721
- (function (module, exports) {
6722
- /**
6723
- * This is the web browser implementation of `debug()`.
6724
- */
6725
-
6726
- exports.formatArgs = formatArgs;
6727
- exports.save = save;
6728
- exports.load = load;
6729
- exports.useColors = useColors;
6730
- exports.storage = localstorage();
6731
- exports.destroy = (() => {
6732
- let warned = false;
6733
-
6734
- return () => {
6735
- if (!warned) {
6736
- warned = true;
6737
- console.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.');
6738
- }
6739
- };
6740
- })();
6741
-
6742
- /**
6743
- * Colors.
6744
- */
6745
-
6746
- exports.colors = [
6747
- '#0000CC',
6748
- '#0000FF',
6749
- '#0033CC',
6750
- '#0033FF',
6751
- '#0066CC',
6752
- '#0066FF',
6753
- '#0099CC',
6754
- '#0099FF',
6755
- '#00CC00',
6756
- '#00CC33',
6757
- '#00CC66',
6758
- '#00CC99',
6759
- '#00CCCC',
6760
- '#00CCFF',
6761
- '#3300CC',
6762
- '#3300FF',
6763
- '#3333CC',
6764
- '#3333FF',
6765
- '#3366CC',
6766
- '#3366FF',
6767
- '#3399CC',
6768
- '#3399FF',
6769
- '#33CC00',
6770
- '#33CC33',
6771
- '#33CC66',
6772
- '#33CC99',
6773
- '#33CCCC',
6774
- '#33CCFF',
6775
- '#6600CC',
6776
- '#6600FF',
6777
- '#6633CC',
6778
- '#6633FF',
6779
- '#66CC00',
6780
- '#66CC33',
6781
- '#9900CC',
6782
- '#9900FF',
6783
- '#9933CC',
6784
- '#9933FF',
6785
- '#99CC00',
6786
- '#99CC33',
6787
- '#CC0000',
6788
- '#CC0033',
6789
- '#CC0066',
6790
- '#CC0099',
6791
- '#CC00CC',
6792
- '#CC00FF',
6793
- '#CC3300',
6794
- '#CC3333',
6795
- '#CC3366',
6796
- '#CC3399',
6797
- '#CC33CC',
6798
- '#CC33FF',
6799
- '#CC6600',
6800
- '#CC6633',
6801
- '#CC9900',
6802
- '#CC9933',
6803
- '#CCCC00',
6804
- '#CCCC33',
6805
- '#FF0000',
6806
- '#FF0033',
6807
- '#FF0066',
6808
- '#FF0099',
6809
- '#FF00CC',
6810
- '#FF00FF',
6811
- '#FF3300',
6812
- '#FF3333',
6813
- '#FF3366',
6814
- '#FF3399',
6815
- '#FF33CC',
6816
- '#FF33FF',
6817
- '#FF6600',
6818
- '#FF6633',
6819
- '#FF9900',
6820
- '#FF9933',
6821
- '#FFCC00',
6822
- '#FFCC33'
6823
- ];
6824
-
6825
- /**
6826
- * Currently only WebKit-based Web Inspectors, Firefox >= v31,
6827
- * and the Firebug extension (any Firefox version) are known
6828
- * to support "%c" CSS customizations.
6829
- *
6830
- * TODO: add a `localStorage` variable to explicitly enable/disable colors
6831
- */
6832
-
6833
- // eslint-disable-next-line complexity
6834
- function useColors() {
6835
- // NB: In an Electron preload script, document will be defined but not fully
6836
- // initialized. Since we know we're in Chrome, we'll just detect this case
6837
- // explicitly
6838
- if (typeof window !== 'undefined' && window.process && (window.process.type === 'renderer' || window.process.__nwjs)) {
6839
- return true;
6840
- }
6841
-
6842
- // Internet Explorer and Edge do not support colors.
6843
- if (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)) {
6844
- return false;
6845
- }
6846
-
6847
- let m;
6848
-
6849
- // Is webkit? http://stackoverflow.com/a/16459606/376773
6850
- // document is undefined in react-native: https://github.com/facebook/react-native/pull/1632
6851
- // eslint-disable-next-line no-return-assign
6852
- return (typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance) ||
6853
- // Is firebug? http://stackoverflow.com/a/398120/376773
6854
- (typeof window !== 'undefined' && window.console && (window.console.firebug || (window.console.exception && window.console.table))) ||
6855
- // Is firefox >= v31?
6856
- // https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages
6857
- (typeof navigator !== 'undefined' && navigator.userAgent && (m = navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)) && parseInt(m[1], 10) >= 31) ||
6858
- // Double check webkit in userAgent just in case we are in a worker
6859
- (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/));
6860
- }
6861
-
6862
- /**
6863
- * Colorize log arguments if enabled.
6864
- *
6865
- * @api public
6866
- */
6867
-
6868
- function formatArgs(args) {
6869
- args[0] = (this.useColors ? '%c' : '') +
6870
- this.namespace +
6871
- (this.useColors ? ' %c' : ' ') +
6872
- args[0] +
6873
- (this.useColors ? '%c ' : ' ') +
6874
- '+' + module.exports.humanize(this.diff);
6875
-
6876
- if (!this.useColors) {
6877
- return;
6878
- }
6879
-
6880
- const c = 'color: ' + this.color;
6881
- args.splice(1, 0, c, 'color: inherit');
6882
-
6883
- // The final "%c" is somewhat tricky, because there could be other
6884
- // arguments passed either before or after the %c, so we need to
6885
- // figure out the correct index to insert the CSS into
6886
- let index = 0;
6887
- let lastC = 0;
6888
- args[0].replace(/%[a-zA-Z%]/g, match => {
6889
- if (match === '%%') {
6890
- return;
6891
- }
6892
- index++;
6893
- if (match === '%c') {
6894
- // We only are interested in the *last* %c
6895
- // (the user may have provided their own)
6896
- lastC = index;
6897
- }
6898
- });
6899
-
6900
- args.splice(lastC, 0, c);
6901
- }
6902
-
6903
- /**
6904
- * Invokes `console.debug()` when available.
6905
- * No-op when `console.debug` is not a "function".
6906
- * If `console.debug` is not available, falls back
6907
- * to `console.log`.
6908
- *
6909
- * @api public
6910
- */
6911
- exports.log = console.debug || console.log || (() => {});
6912
-
6913
- /**
6914
- * Save `namespaces`.
6915
- *
6916
- * @param {String} namespaces
6917
- * @api private
6918
- */
6919
- function save(namespaces) {
6920
- try {
6921
- if (namespaces) {
6922
- exports.storage.setItem('debug', namespaces);
6923
- } else {
6924
- exports.storage.removeItem('debug');
6925
- }
6926
- } catch (error) {
6927
- // Swallow
6928
- // XXX (@Qix-) should we be logging these?
6929
- }
6930
- }
6931
-
6932
- /**
6933
- * Load `namespaces`.
6934
- *
6935
- * @return {String} returns the previously persisted debug modes
6936
- * @api private
6937
- */
6938
- function load() {
6939
- let r;
6940
- try {
6941
- r = exports.storage.getItem('debug');
6942
- } catch (error) {
6943
- // Swallow
6944
- // XXX (@Qix-) should we be logging these?
6945
- }
6946
-
6947
- // If debug isn't set in LS, and we're in Electron, try to load $DEBUG
6948
- if (!r && typeof process !== 'undefined' && 'env' in process) {
6949
- r = process.env.DEBUG;
6950
- }
6951
-
6952
- return r;
6953
- }
6954
-
6955
- /**
6956
- * Localstorage attempts to return the localstorage.
6957
- *
6958
- * This is necessary because safari throws
6959
- * when a user disables cookies/localstorage
6960
- * and you attempt to access it.
6961
- *
6962
- * @return {LocalStorage}
6963
- * @api private
6964
- */
6965
-
6966
- function localstorage() {
6967
- try {
6968
- // TVMLKit (Apple TV JS Runtime) does not have a window object, just localStorage in the global context
6969
- // The Browser also has localStorage in the global context.
6970
- return localStorage;
6971
- } catch (error) {
6972
- // Swallow
6973
- // XXX (@Qix-) should we be logging these?
6974
- }
6975
- }
6976
-
6977
- module.exports = requireCommon()(exports);
6978
-
6979
- const {formatters} = module.exports;
6980
-
6981
- /**
6982
- * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default.
6983
- */
6984
-
6985
- formatters.j = function (v) {
6986
- try {
6987
- return JSON.stringify(v);
6988
- } catch (error) {
6989
- return '[UnexpectedJSONParseError]: ' + error.message;
6990
- }
6991
- };
6992
- } (browser$1, browser$1.exports));
6993
- return browser$1.exports;
6994
- }
6995
-
6996
- var node$1 = {exports: {}};
6997
-
6998
5966
  /**
6999
5967
  * Module dependencies.
7000
5968
  */
7001
5969
 
7002
- var hasRequiredNode$1;
7003
-
7004
- function requireNode$1 () {
7005
- if (hasRequiredNode$1) return node$1.exports;
7006
- hasRequiredNode$1 = 1;
7007
- (function (module, exports) {
7008
- const tty = require$$0$4;
7009
- const util = require$$1;
5970
+ (function (module, exports) {
5971
+ const tty = require$$0$3;
5972
+ const util = require$$1;
7010
5973
 
7011
- /**
7012
- * This is the Node.js implementation of `debug()`.
7013
- */
5974
+ /**
5975
+ * This is the Node.js implementation of `debug()`.
5976
+ */
7014
5977
 
7015
- exports.init = init;
7016
- exports.log = log;
7017
- exports.formatArgs = formatArgs;
7018
- exports.save = save;
7019
- exports.load = load;
7020
- exports.useColors = useColors;
7021
- exports.destroy = util.deprecate(
7022
- () => {},
7023
- 'Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.'
7024
- );
5978
+ exports.init = init;
5979
+ exports.log = log;
5980
+ exports.formatArgs = formatArgs;
5981
+ exports.save = save;
5982
+ exports.load = load;
5983
+ exports.useColors = useColors;
5984
+ exports.destroy = util.deprecate(
5985
+ () => {},
5986
+ 'Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.'
5987
+ );
7025
5988
 
7026
- /**
7027
- * Colors.
7028
- */
5989
+ /**
5990
+ * Colors.
5991
+ */
7029
5992
 
7030
- exports.colors = [6, 2, 3, 4, 5, 1];
5993
+ exports.colors = [6, 2, 3, 4, 5, 1];
7031
5994
 
7032
- try {
7033
- // Optional dependency (as in, doesn't need to be installed, NOT like optionalDependencies in package.json)
7034
- // eslint-disable-next-line import/no-extraneous-dependencies
7035
- const supportsColor = require('supports-color');
7036
-
7037
- if (supportsColor && (supportsColor.stderr || supportsColor).level >= 2) {
7038
- exports.colors = [
7039
- 20,
7040
- 21,
7041
- 26,
7042
- 27,
7043
- 32,
7044
- 33,
7045
- 38,
7046
- 39,
7047
- 40,
7048
- 41,
7049
- 42,
7050
- 43,
7051
- 44,
7052
- 45,
7053
- 56,
7054
- 57,
7055
- 62,
7056
- 63,
7057
- 68,
7058
- 69,
7059
- 74,
7060
- 75,
7061
- 76,
7062
- 77,
7063
- 78,
7064
- 79,
7065
- 80,
7066
- 81,
7067
- 92,
7068
- 93,
7069
- 98,
7070
- 99,
7071
- 112,
7072
- 113,
7073
- 128,
7074
- 129,
7075
- 134,
7076
- 135,
7077
- 148,
7078
- 149,
7079
- 160,
7080
- 161,
7081
- 162,
7082
- 163,
7083
- 164,
7084
- 165,
7085
- 166,
7086
- 167,
7087
- 168,
7088
- 169,
7089
- 170,
7090
- 171,
7091
- 172,
7092
- 173,
7093
- 178,
7094
- 179,
7095
- 184,
7096
- 185,
7097
- 196,
7098
- 197,
7099
- 198,
7100
- 199,
7101
- 200,
7102
- 201,
7103
- 202,
7104
- 203,
7105
- 204,
7106
- 205,
7107
- 206,
7108
- 207,
7109
- 208,
7110
- 209,
7111
- 214,
7112
- 215,
7113
- 220,
7114
- 221
7115
- ];
7116
- }
7117
- } catch (error) {
7118
- // Swallow - we only care if `supports-color` is available; it doesn't have to be.
5995
+ try {
5996
+ // Optional dependency (as in, doesn't need to be installed, NOT like optionalDependencies in package.json)
5997
+ // eslint-disable-next-line import/no-extraneous-dependencies
5998
+ const supportsColor = require('supports-color');
5999
+
6000
+ if (supportsColor && (supportsColor.stderr || supportsColor).level >= 2) {
6001
+ exports.colors = [
6002
+ 20,
6003
+ 21,
6004
+ 26,
6005
+ 27,
6006
+ 32,
6007
+ 33,
6008
+ 38,
6009
+ 39,
6010
+ 40,
6011
+ 41,
6012
+ 42,
6013
+ 43,
6014
+ 44,
6015
+ 45,
6016
+ 56,
6017
+ 57,
6018
+ 62,
6019
+ 63,
6020
+ 68,
6021
+ 69,
6022
+ 74,
6023
+ 75,
6024
+ 76,
6025
+ 77,
6026
+ 78,
6027
+ 79,
6028
+ 80,
6029
+ 81,
6030
+ 92,
6031
+ 93,
6032
+ 98,
6033
+ 99,
6034
+ 112,
6035
+ 113,
6036
+ 128,
6037
+ 129,
6038
+ 134,
6039
+ 135,
6040
+ 148,
6041
+ 149,
6042
+ 160,
6043
+ 161,
6044
+ 162,
6045
+ 163,
6046
+ 164,
6047
+ 165,
6048
+ 166,
6049
+ 167,
6050
+ 168,
6051
+ 169,
6052
+ 170,
6053
+ 171,
6054
+ 172,
6055
+ 173,
6056
+ 178,
6057
+ 179,
6058
+ 184,
6059
+ 185,
6060
+ 196,
6061
+ 197,
6062
+ 198,
6063
+ 199,
6064
+ 200,
6065
+ 201,
6066
+ 202,
6067
+ 203,
6068
+ 204,
6069
+ 205,
6070
+ 206,
6071
+ 207,
6072
+ 208,
6073
+ 209,
6074
+ 214,
6075
+ 215,
6076
+ 220,
6077
+ 221
6078
+ ];
7119
6079
  }
6080
+ } catch (error) {
6081
+ // Swallow - we only care if `supports-color` is available; it doesn't have to be.
6082
+ }
7120
6083
 
7121
- /**
7122
- * Build up the default `inspectOpts` object from the environment variables.
7123
- *
7124
- * $ DEBUG_COLORS=no DEBUG_DEPTH=10 DEBUG_SHOW_HIDDEN=enabled node script.js
7125
- */
6084
+ /**
6085
+ * Build up the default `inspectOpts` object from the environment variables.
6086
+ *
6087
+ * $ DEBUG_COLORS=no DEBUG_DEPTH=10 DEBUG_SHOW_HIDDEN=enabled node script.js
6088
+ */
7126
6089
 
7127
- exports.inspectOpts = Object.keys(process.env).filter(key => {
7128
- return /^debug_/i.test(key);
7129
- }).reduce((obj, key) => {
7130
- // Camel-case
7131
- const prop = key
7132
- .substring(6)
7133
- .toLowerCase()
7134
- .replace(/_([a-z])/g, (_, k) => {
7135
- return k.toUpperCase();
7136
- });
6090
+ exports.inspectOpts = Object.keys(process.env).filter(key => {
6091
+ return /^debug_/i.test(key);
6092
+ }).reduce((obj, key) => {
6093
+ // Camel-case
6094
+ const prop = key
6095
+ .substring(6)
6096
+ .toLowerCase()
6097
+ .replace(/_([a-z])/g, (_, k) => {
6098
+ return k.toUpperCase();
6099
+ });
7137
6100
 
7138
- // Coerce string value into JS value
7139
- let val = process.env[key];
7140
- if (/^(yes|on|true|enabled)$/i.test(val)) {
7141
- val = true;
7142
- } else if (/^(no|off|false|disabled)$/i.test(val)) {
7143
- val = false;
7144
- } else if (val === 'null') {
7145
- val = null;
7146
- } else {
7147
- val = Number(val);
7148
- }
6101
+ // Coerce string value into JS value
6102
+ let val = process.env[key];
6103
+ if (/^(yes|on|true|enabled)$/i.test(val)) {
6104
+ val = true;
6105
+ } else if (/^(no|off|false|disabled)$/i.test(val)) {
6106
+ val = false;
6107
+ } else if (val === 'null') {
6108
+ val = null;
6109
+ } else {
6110
+ val = Number(val);
6111
+ }
7149
6112
 
7150
- obj[prop] = val;
7151
- return obj;
7152
- }, {});
6113
+ obj[prop] = val;
6114
+ return obj;
6115
+ }, {});
7153
6116
 
7154
- /**
7155
- * Is stdout a TTY? Colored output is enabled when `true`.
7156
- */
6117
+ /**
6118
+ * Is stdout a TTY? Colored output is enabled when `true`.
6119
+ */
7157
6120
 
7158
- function useColors() {
7159
- return 'colors' in exports.inspectOpts ?
7160
- Boolean(exports.inspectOpts.colors) :
7161
- tty.isatty(process.stderr.fd);
7162
- }
6121
+ function useColors() {
6122
+ return 'colors' in exports.inspectOpts ?
6123
+ Boolean(exports.inspectOpts.colors) :
6124
+ tty.isatty(process.stderr.fd);
6125
+ }
7163
6126
 
7164
- /**
7165
- * Adds ANSI color escape codes if enabled.
7166
- *
7167
- * @api public
7168
- */
6127
+ /**
6128
+ * Adds ANSI color escape codes if enabled.
6129
+ *
6130
+ * @api public
6131
+ */
7169
6132
 
7170
- function formatArgs(args) {
7171
- const {namespace: name, useColors} = this;
6133
+ function formatArgs(args) {
6134
+ const {namespace: name, useColors} = this;
7172
6135
 
7173
- if (useColors) {
7174
- const c = this.color;
7175
- const colorCode = '\u001B[3' + (c < 8 ? c : '8;5;' + c);
7176
- const prefix = ` ${colorCode};1m${name} \u001B[0m`;
6136
+ if (useColors) {
6137
+ const c = this.color;
6138
+ const colorCode = '\u001B[3' + (c < 8 ? c : '8;5;' + c);
6139
+ const prefix = ` ${colorCode};1m${name} \u001B[0m`;
7177
6140
 
7178
- args[0] = prefix + args[0].split('\n').join('\n' + prefix);
7179
- args.push(colorCode + 'm+' + module.exports.humanize(this.diff) + '\u001B[0m');
7180
- } else {
7181
- args[0] = getDate() + name + ' ' + args[0];
7182
- }
6141
+ args[0] = prefix + args[0].split('\n').join('\n' + prefix);
6142
+ args.push(colorCode + 'm+' + module.exports.humanize(this.diff) + '\u001B[0m');
6143
+ } else {
6144
+ args[0] = getDate() + name + ' ' + args[0];
7183
6145
  }
6146
+ }
7184
6147
 
7185
- function getDate() {
7186
- if (exports.inspectOpts.hideDate) {
7187
- return '';
7188
- }
7189
- return new Date().toISOString() + ' ';
6148
+ function getDate() {
6149
+ if (exports.inspectOpts.hideDate) {
6150
+ return '';
7190
6151
  }
6152
+ return new Date().toISOString() + ' ';
6153
+ }
7191
6154
 
7192
- /**
7193
- * Invokes `util.formatWithOptions()` with the specified arguments and writes to stderr.
7194
- */
6155
+ /**
6156
+ * Invokes `util.formatWithOptions()` with the specified arguments and writes to stderr.
6157
+ */
7195
6158
 
7196
- function log(...args) {
7197
- return process.stderr.write(util.formatWithOptions(exports.inspectOpts, ...args) + '\n');
7198
- }
6159
+ function log(...args) {
6160
+ return process.stderr.write(util.formatWithOptions(exports.inspectOpts, ...args) + '\n');
6161
+ }
7199
6162
 
7200
- /**
7201
- * Save `namespaces`.
7202
- *
7203
- * @param {String} namespaces
7204
- * @api private
7205
- */
7206
- function save(namespaces) {
7207
- if (namespaces) {
7208
- process.env.DEBUG = namespaces;
7209
- } else {
7210
- // If you set a process.env field to null or undefined, it gets cast to the
7211
- // string 'null' or 'undefined'. Just delete instead.
7212
- delete process.env.DEBUG;
7213
- }
6163
+ /**
6164
+ * Save `namespaces`.
6165
+ *
6166
+ * @param {String} namespaces
6167
+ * @api private
6168
+ */
6169
+ function save(namespaces) {
6170
+ if (namespaces) {
6171
+ process.env.DEBUG = namespaces;
6172
+ } else {
6173
+ // If you set a process.env field to null or undefined, it gets cast to the
6174
+ // string 'null' or 'undefined'. Just delete instead.
6175
+ delete process.env.DEBUG;
7214
6176
  }
6177
+ }
7215
6178
 
7216
- /**
7217
- * Load `namespaces`.
7218
- *
7219
- * @return {String} returns the previously persisted debug modes
7220
- * @api private
7221
- */
6179
+ /**
6180
+ * Load `namespaces`.
6181
+ *
6182
+ * @return {String} returns the previously persisted debug modes
6183
+ * @api private
6184
+ */
7222
6185
 
7223
- function load() {
7224
- return process.env.DEBUG;
7225
- }
6186
+ function load() {
6187
+ return process.env.DEBUG;
6188
+ }
7226
6189
 
7227
- /**
7228
- * Init logic for `debug` instances.
7229
- *
7230
- * Create a new `inspectOpts` object in case `useColors` is set
7231
- * differently for a particular `debug` instance.
7232
- */
6190
+ /**
6191
+ * Init logic for `debug` instances.
6192
+ *
6193
+ * Create a new `inspectOpts` object in case `useColors` is set
6194
+ * differently for a particular `debug` instance.
6195
+ */
7233
6196
 
7234
- function init(debug) {
7235
- debug.inspectOpts = {};
6197
+ function init(debug) {
6198
+ debug.inspectOpts = {};
7236
6199
 
7237
- const keys = Object.keys(exports.inspectOpts);
7238
- for (let i = 0; i < keys.length; i++) {
7239
- debug.inspectOpts[keys[i]] = exports.inspectOpts[keys[i]];
7240
- }
6200
+ const keys = Object.keys(exports.inspectOpts);
6201
+ for (let i = 0; i < keys.length; i++) {
6202
+ debug.inspectOpts[keys[i]] = exports.inspectOpts[keys[i]];
7241
6203
  }
6204
+ }
7242
6205
 
7243
- module.exports = requireCommon()(exports);
7244
-
7245
- const {formatters} = module.exports;
6206
+ module.exports = requireCommon()(exports);
7246
6207
 
7247
- /**
7248
- * Map %o to `util.inspect()`, all on a single line.
7249
- */
6208
+ const {formatters} = module.exports;
7250
6209
 
7251
- formatters.o = function (v) {
7252
- this.inspectOpts.colors = this.useColors;
7253
- return util.inspect(v, this.inspectOpts)
7254
- .split('\n')
7255
- .map(str => str.trim())
7256
- .join(' ');
7257
- };
7258
-
7259
- /**
7260
- * Map %O to `util.inspect()`, allowing multiple lines if needed.
7261
- */
6210
+ /**
6211
+ * Map %o to `util.inspect()`, all on a single line.
6212
+ */
7262
6213
 
7263
- formatters.O = function (v) {
7264
- this.inspectOpts.colors = this.useColors;
7265
- return util.inspect(v, this.inspectOpts);
7266
- };
7267
- } (node$1, node$1.exports));
7268
- return node$1.exports;
7269
- }
6214
+ formatters.o = function (v) {
6215
+ this.inspectOpts.colors = this.useColors;
6216
+ return util.inspect(v, this.inspectOpts)
6217
+ .split('\n')
6218
+ .map(str => str.trim())
6219
+ .join(' ');
6220
+ };
7270
6221
 
7271
- /**
7272
- * Detect Electron renderer / nwjs process, which is node, but we should
7273
- * treat as a browser.
7274
- */
6222
+ /**
6223
+ * Map %O to `util.inspect()`, allowing multiple lines if needed.
6224
+ */
7275
6225
 
7276
- if (typeof process === 'undefined' || process.type === 'renderer' || process.browser === true || process.__nwjs) {
7277
- src$3.exports = requireBrowser$1();
7278
- } else {
7279
- src$3.exports = requireNode$1();
7280
- }
6226
+ formatters.O = function (v) {
6227
+ this.inspectOpts.colors = this.useColors;
6228
+ return util.inspect(v, this.inspectOpts);
6229
+ };
6230
+ } (node$1, node$1.exports));
7281
6231
 
7282
- var srcExports$1 = src$3.exports;
7283
- var debug$j = /*@__PURE__*/getDefaultExportFromCjs(srcExports$1);
6232
+ var nodeExports$1 = node$1.exports;
6233
+ var debug$j = /*@__PURE__*/getDefaultExportFromCjs(nodeExports$1);
7284
6234
 
7285
6235
  let pnp;
7286
6236
  if (process.versions.pnp) {
@@ -7691,10 +6641,10 @@ function removeImportQuery(url) {
7691
6641
  function removeDirectQuery(url) {
7692
6642
  return url.replace(directRequestRE$1, "$1").replace(trailingSeparatorRE, "");
7693
6643
  }
7694
- const urlRE = /(\?|&)url(?:&|$)/;
7695
- const rawRE = /(\?|&)raw(?:&|$)/;
6644
+ const urlRE$1 = /(\?|&)url(?:&|$)/;
6645
+ const rawRE$1 = /(\?|&)raw(?:&|$)/;
7696
6646
  function removeUrlQuery(url) {
7697
- return url.replace(urlRE, "$1").replace(trailingSeparatorRE, "");
6647
+ return url.replace(urlRE$1, "$1").replace(trailingSeparatorRE, "");
7698
6648
  }
7699
6649
  function injectQuery(url, queryToInject) {
7700
6650
  const { file, postfix } = splitFileAndPostfix(url);
@@ -9541,7 +8491,7 @@ const not_found_result = {
9541
8491
  * @returns {Promise<import('./public.d.ts').TSConfckParseResult>}
9542
8492
  * @throws {TSConfckParseError}
9543
8493
  */
9544
- async function parse$d(filename, options) {
8494
+ async function parse$e(filename, options) {
9545
8495
  /** @type {import('./cache.js').TSConfckCache} */
9546
8496
  const cache = options?.cache;
9547
8497
  if (cache?.hasParseResult(filename)) {
@@ -10395,7 +9345,7 @@ function getTSConfckCache(config) {
10395
9345
  return cache;
10396
9346
  }
10397
9347
  async function loadTsconfigJsonForFile(filename, config) {
10398
- const { tsconfig, tsconfigFile } = await parse$d(filename, {
9348
+ const { tsconfig, tsconfigFile } = await parse$e(filename, {
10399
9349
  cache: getTSConfckCache(config)});
10400
9350
  return { tsconfigFile, tsconfig };
10401
9351
  }
@@ -11362,7 +10312,7 @@ function checkPublicFile(url, config) {
11362
10312
  const assetUrlRE = /__VITE_ASSET__([\w$]+)__(?:\$_(.*?)__)?/g;
11363
10313
  const jsSourceMapRE = /\.[cm]?js\.map$/;
11364
10314
  const noInlineRE = /[?&]no-inline\b/;
11365
- const inlineRE$2 = /[?&]inline\b/;
10315
+ const inlineRE$3 = /[?&]inline\b/;
11366
10316
  const svgExtRE = /\.svg(?:$|\?)/;
11367
10317
  const assetCache = /* @__PURE__ */ new WeakMap();
11368
10318
  const cssEntriesMap = /* @__PURE__ */ new WeakMap();
@@ -11430,7 +10380,7 @@ function assetPlugin(config) {
11430
10380
  },
11431
10381
  resolveId: {
11432
10382
  handler(id) {
11433
- if (!config.assetsInclude(cleanUrl(id)) && !urlRE.test(id)) {
10383
+ if (!config.assetsInclude(cleanUrl(id)) && !urlRE$1.test(id)) {
11434
10384
  return;
11435
10385
  }
11436
10386
  const publicFile = checkPublicFile(id, config);
@@ -11444,14 +10394,14 @@ function assetPlugin(config) {
11444
10394
  if (id[0] === "\0") {
11445
10395
  return;
11446
10396
  }
11447
- if (rawRE.test(id)) {
10397
+ if (rawRE$1.test(id)) {
11448
10398
  const file = checkPublicFile(id, config) || cleanUrl(id);
11449
10399
  this.addWatchFile(file);
11450
10400
  return `export default ${JSON.stringify(
11451
10401
  await fsp.readFile(file, "utf-8")
11452
10402
  )}`;
11453
10403
  }
11454
- if (!urlRE.test(id) && !config.assetsInclude(cleanUrl(id))) {
10404
+ if (!urlRE$1.test(id) && !config.assetsInclude(cleanUrl(id))) {
11455
10405
  return;
11456
10406
  }
11457
10407
  id = removeUrlQuery(id);
@@ -11483,10 +10433,27 @@ function assetPlugin(config) {
11483
10433
  }
11484
10434
  },
11485
10435
  generateBundle(_, bundle) {
10436
+ let importedFiles;
11486
10437
  for (const file in bundle) {
11487
10438
  const chunk = bundle[file];
11488
10439
  if (chunk.type === "chunk" && chunk.isEntry && chunk.moduleIds.length === 1 && config.assetsInclude(chunk.moduleIds[0]) && this.getModuleInfo(chunk.moduleIds[0])?.meta["vite:asset"]) {
11489
- delete bundle[file];
10440
+ if (!importedFiles) {
10441
+ importedFiles = /* @__PURE__ */ new Set();
10442
+ for (const file2 in bundle) {
10443
+ const chunk2 = bundle[file2];
10444
+ if (chunk2.type === "chunk") {
10445
+ for (const importedFile of chunk2.imports) {
10446
+ importedFiles.add(importedFile);
10447
+ }
10448
+ for (const importedFile of chunk2.dynamicImports) {
10449
+ importedFiles.add(importedFile);
10450
+ }
10451
+ }
10452
+ }
10453
+ }
10454
+ if (!importedFiles.has(file)) {
10455
+ delete bundle[file];
10456
+ }
11490
10457
  }
11491
10458
  }
11492
10459
  if (config.command === "build" && !this.environment.config.build.emitAssets) {
@@ -11510,13 +10477,14 @@ async function fileToUrl$1(pluginContext, id) {
11510
10477
  async function fileToDevUrl(environment, id, skipBase = false) {
11511
10478
  const config = environment.getTopLevelConfig();
11512
10479
  const publicFile = checkPublicFile(id, config);
11513
- if (inlineRE$2.test(id)) {
10480
+ if (inlineRE$3.test(id)) {
11514
10481
  const file = publicFile || cleanUrl(id);
11515
10482
  const content = await fsp.readFile(file);
11516
10483
  return assetToDataURL(environment, file, content);
11517
10484
  }
11518
- if (svgExtRE.test(id)) {
11519
- const file = publicFile || cleanUrl(id);
10485
+ const cleanedId = cleanUrl(id);
10486
+ if (svgExtRE.test(cleanedId)) {
10487
+ const file = publicFile || cleanedId;
11520
10488
  const content = await fsp.readFile(file);
11521
10489
  if (shouldInline(environment, file, id, content, void 0, void 0)) {
11522
10490
  return assetToDataURL(environment, file, content);
@@ -11567,7 +10535,7 @@ async function fileToBuiltUrl(pluginContext, id, skipPublicCheck = false, forceI
11567
10535
  if (!skipPublicCheck) {
11568
10536
  const publicFile = checkPublicFile(id, topLevelConfig);
11569
10537
  if (publicFile) {
11570
- if (inlineRE$2.test(id)) {
10538
+ if (inlineRE$3.test(id)) {
11571
10539
  id = publicFile;
11572
10540
  } else {
11573
10541
  return publicFileToBuiltUrl(id, topLevelConfig);
@@ -11616,7 +10584,7 @@ async function urlToBuiltUrl(pluginContext, url, importer, forceInline) {
11616
10584
  }
11617
10585
  function shouldInline(environment, file, id, content, buildPluginContext, forceInline) {
11618
10586
  if (noInlineRE.test(id)) return false;
11619
- if (inlineRE$2.test(id)) return true;
10587
+ if (inlineRE$3.test(id)) return true;
11620
10588
  if (buildPluginContext) {
11621
10589
  if (environment.config.build.lib) return true;
11622
10590
  if (buildPluginContext.getModuleInfo(id)?.isEntry) return false;
@@ -11835,7 +10803,7 @@ function dataURIPlugin() {
11835
10803
  }
11836
10804
 
11837
10805
  /* es-module-lexer 1.6.0 */
11838
- 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$c(E,g="@"){if(!C)return init.then((()=>parse$c(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 E=()=>{return A="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","undefined"!=typeof Buffer?Buffer.from(A,"base64"):Uint8Array.from(atob(A),(A=>A.charCodeAt(0)));var A;};const init=WebAssembly.compile(E()).then(WebAssembly.instantiate).then((({exports:A})=>{C=A;}));
10806
+ 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$d(E,g="@"){if(!C)return init.then((()=>parse$d(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 E=()=>{return A="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","undefined"!=typeof Buffer?Buffer.from(A,"base64"):Uint8Array.from(atob(A),(A=>A.charCodeAt(0)));var A;};const init=WebAssembly.compile(E()).then(WebAssembly.instantiate).then((({exports:A})=>{C=A;}));
11839
10807
 
11840
10808
  var convertSourceMap$1 = {};
11841
10809
 
@@ -12188,11 +11156,11 @@ function createConvertSourceMapReadMap(originalFileName) {
12188
11156
  };
12189
11157
  }
12190
11158
 
12191
- var src$2 = {};
11159
+ var src$1 = {};
12192
11160
 
12193
11161
  // @ts-check
12194
11162
  const path$9 = require$$0$2;
12195
- const fs$7 = require$$0$3;
11163
+ const fs$7 = require$$0$4;
12196
11164
  const os$2 = require$$2;
12197
11165
  const url$4 = require$$0$5;
12198
11166
 
@@ -12242,7 +11210,7 @@ const defaultLoadersSync = Object.freeze({
12242
11210
  '.cjs': requireFunc,
12243
11211
  noExt: jsonLoader,
12244
11212
  });
12245
- src$2.defaultLoadersSync = defaultLoadersSync;
11213
+ src$1.defaultLoadersSync = defaultLoadersSync;
12246
11214
 
12247
11215
  /** @type {import('./index').Loader} */
12248
11216
  const dynamicImport = async id => {
@@ -12277,7 +11245,7 @@ const defaultLoaders = Object.freeze({
12277
11245
  '.json': jsonLoader,
12278
11246
  noExt: jsonLoader,
12279
11247
  });
12280
- src$2.defaultLoaders = defaultLoaders;
11248
+ src$1.defaultLoaders = defaultLoaders;
12281
11249
 
12282
11250
  /**
12283
11251
  * @param {string} name
@@ -12346,7 +11314,7 @@ const makeEmplace = enableCache => (c, filepath, res) => {
12346
11314
  };
12347
11315
 
12348
11316
  /** @type {import('./index').lilconfig} */
12349
- src$2.lilconfig = function lilconfig(name, options) {
11317
+ src$1.lilconfig = function lilconfig(name, options) {
12350
11318
  const {
12351
11319
  ignoreEmptySearchPlaces,
12352
11320
  loaders,
@@ -12501,7 +11469,7 @@ src$2.lilconfig = function lilconfig(name, options) {
12501
11469
  };
12502
11470
 
12503
11471
  /** @type {import('./index').lilconfigSync} */
12504
- src$2.lilconfigSync = function lilconfigSync(name, options) {
11472
+ src$1.lilconfigSync = function lilconfigSync(name, options) {
12505
11473
  const {
12506
11474
  ignoreEmptySearchPlaces,
12507
11475
  loaders,
@@ -12856,7 +11824,7 @@ var plugins_1 = plugins;
12856
11824
  // @ts-check
12857
11825
  const { resolve } = path$b;
12858
11826
 
12859
- const config$1 = src$2;
11827
+ const config$1 = src$1;
12860
11828
 
12861
11829
  const loadOptions = options_1;
12862
11830
  const loadPlugins = plugins_1;
@@ -13030,9 +11998,9 @@ function rc(ctx, path, options) {
13030
11998
  * @requires ./options
13031
11999
  * @requires ./plugins
13032
12000
  */
13033
- var src$1 = rc;
12001
+ var src = rc;
13034
12002
 
13035
- var postcssrc = /*@__PURE__*/getDefaultExportFromCjs(src$1);
12003
+ var postcssrc = /*@__PURE__*/getDefaultExportFromCjs(src);
13036
12004
 
13037
12005
  function matches$1(pattern, importee) {
13038
12006
  if (pattern instanceof RegExp) {
@@ -13132,7 +12100,7 @@ function jsonPlugin(options, isBuild) {
13132
12100
  handler(json, id) {
13133
12101
  if (!jsonExtRE.test(id)) return null;
13134
12102
  if (SPECIAL_QUERY_RE.test(id)) return null;
13135
- if (inlineRE$2.test(id) || noInlineRE.test(id)) {
12103
+ if (inlineRE$3.test(id) || noInlineRE.test(id)) {
13136
12104
  this.warn(
13137
12105
  `
13138
12106
  Using ?inline or ?no-inline for JSON imports will have no effect.
@@ -16340,13 +15308,13 @@ async function extractExportsData(environment, filePath) {
16340
15308
  const { optimizeDeps: optimizeDeps2 } = environment.config;
16341
15309
  const esbuildOptions = optimizeDeps2.esbuildOptions ?? {};
16342
15310
  if (optimizeDeps2.extensions?.some((ext) => filePath.endsWith(ext))) {
16343
- const result = await build$b({
15311
+ const result = await build$3({
16344
15312
  ...esbuildOptions,
16345
15313
  entryPoints: [filePath],
16346
15314
  write: false,
16347
15315
  format: "esm"
16348
15316
  });
16349
- const [, exports2, , hasModuleSyntax2] = parse$c(result.outputFiles[0].text);
15317
+ const [, exports2, , hasModuleSyntax2] = parse$d(result.outputFiles[0].text);
16350
15318
  return {
16351
15319
  hasModuleSyntax: hasModuleSyntax2,
16352
15320
  exports: exports2.map((e) => e.n)
@@ -16356,7 +15324,7 @@ async function extractExportsData(environment, filePath) {
16356
15324
  let usedJsxLoader = false;
16357
15325
  const entryContent = await fsp.readFile(filePath, "utf-8");
16358
15326
  try {
16359
- parseResult = parse$c(entryContent);
15327
+ parseResult = parse$d(entryContent);
16360
15328
  } catch {
16361
15329
  const loader = esbuildOptions.loader?.[path$b.extname(filePath)] || "jsx";
16362
15330
  debug$f?.(
@@ -16370,7 +15338,7 @@ async function extractExportsData(environment, filePath) {
16370
15338
  void 0,
16371
15339
  environment.config
16372
15340
  );
16373
- parseResult = parse$c(transformed.code);
15341
+ parseResult = parse$d(transformed.code);
16374
15342
  usedJsxLoader = true;
16375
15343
  }
16376
15344
  const [, exports, , hasModuleSyntax] = parseResult;
@@ -17464,7 +16432,7 @@ var version$1 = "16.4.7";
17464
16432
  var require$$4 = {
17465
16433
  version: version$1};
17466
16434
 
17467
- const fs$6 = require$$0$3;
16435
+ const fs$6 = require$$0$4;
17468
16436
  const path$8 = require$$0$2;
17469
16437
  const os$1 = require$$2;
17470
16438
  const crypto$1 = require$$3;
@@ -17475,7 +16443,7 @@ const version = packageJson.version;
17475
16443
  const LINE = /(?:^|^)\s*(?:export\s+)?([\w.-]+)(?:\s*=\s*?|:\s+?)(\s*'(?:\\'|[^'])*'|\s*"(?:\\"|[^"])*"|\s*`(?:\\`|[^`])*`|[^#\r\n]+)?\s*(?:#.*)?(?:$|$)/mg;
17476
16444
 
17477
16445
  // Parse src into an Object
17478
- function parse$b (src) {
16446
+ function parse$c (src) {
17479
16447
  const obj = {};
17480
16448
 
17481
16449
  // Convert buffer to string
@@ -17812,7 +16780,7 @@ const DotenvModule = {
17812
16780
  _parseVault,
17813
16781
  config,
17814
16782
  decrypt,
17815
- parse: parse$b,
16783
+ parse: parse$c,
17816
16784
  populate
17817
16785
  };
17818
16786
 
@@ -17927,16 +16895,19 @@ var expand_1$1 = expand$2;
17927
16895
 
17928
16896
  const debug$b = createDebugger("vite:env");
17929
16897
  function getEnvFilesForMode(mode, envDir) {
17930
- return [
17931
- /** default file */
17932
- `.env`,
17933
- /** local file */
17934
- `.env.local`,
17935
- /** mode file */
17936
- `.env.${mode}`,
17937
- /** mode local file */
17938
- `.env.${mode}.local`
17939
- ].map((file) => normalizePath$3(path$b.join(envDir, file)));
16898
+ if (envDir !== false) {
16899
+ return [
16900
+ /** default file */
16901
+ `.env`,
16902
+ /** local file */
16903
+ `.env.local`,
16904
+ /** mode file */
16905
+ `.env.${mode}`,
16906
+ /** mode local file */
16907
+ `.env.${mode}.local`
16908
+ ].map((file) => normalizePath$3(path$b.join(envDir, file)));
16909
+ }
16910
+ return [];
17940
16911
  }
17941
16912
  function loadEnv(mode, envDir, prefixes = "VITE_") {
17942
16913
  const start = performance.now();
@@ -18123,9 +17094,7 @@ function errorMiddleware(server, allowNext = false) {
18123
17094
  };
18124
17095
  }
18125
17096
 
18126
- var src = {exports: {}};
18127
-
18128
- var browser = {exports: {}};
17097
+ var node = {exports: {}};
18129
17098
 
18130
17099
  var debug$a = {exports: {}};
18131
17100
 
@@ -18133,841 +17102,613 @@ var debug$a = {exports: {}};
18133
17102
  * Helpers.
18134
17103
  */
18135
17104
 
18136
- var ms;
18137
- var hasRequiredMs;
17105
+ var s = 1000;
17106
+ var m = s * 60;
17107
+ var h = m * 60;
17108
+ var d = h * 24;
17109
+ var y = d * 365.25;
18138
17110
 
18139
- function requireMs () {
18140
- if (hasRequiredMs) return ms;
18141
- hasRequiredMs = 1;
18142
- var s = 1000;
18143
- var m = s * 60;
18144
- var h = m * 60;
18145
- var d = h * 24;
18146
- var y = d * 365.25;
17111
+ /**
17112
+ * Parse or format the given `val`.
17113
+ *
17114
+ * Options:
17115
+ *
17116
+ * - `long` verbose formatting [false]
17117
+ *
17118
+ * @param {String|Number} val
17119
+ * @param {Object} [options]
17120
+ * @throws {Error} throw an error if val is not a non-empty string or a number
17121
+ * @return {String|Number}
17122
+ * @api public
17123
+ */
18147
17124
 
18148
- /**
18149
- * Parse or format the given `val`.
18150
- *
18151
- * Options:
18152
- *
18153
- * - `long` verbose formatting [false]
18154
- *
18155
- * @param {String|Number} val
18156
- * @param {Object} [options]
18157
- * @throws {Error} throw an error if val is not a non-empty string or a number
18158
- * @return {String|Number}
18159
- * @api public
18160
- */
17125
+ var ms = function(val, options) {
17126
+ options = options || {};
17127
+ var type = typeof val;
17128
+ if (type === 'string' && val.length > 0) {
17129
+ return parse$b(val);
17130
+ } else if (type === 'number' && isNaN(val) === false) {
17131
+ return options.long ? fmtLong(val) : fmtShort(val);
17132
+ }
17133
+ throw new Error(
17134
+ 'val is not a non-empty string or a valid number. val=' +
17135
+ JSON.stringify(val)
17136
+ );
17137
+ };
18161
17138
 
18162
- ms = function(val, options) {
18163
- options = options || {};
18164
- var type = typeof val;
18165
- if (type === 'string' && val.length > 0) {
18166
- return parse(val);
18167
- } else if (type === 'number' && isNaN(val) === false) {
18168
- return options.long ? fmtLong(val) : fmtShort(val);
18169
- }
18170
- throw new Error(
18171
- 'val is not a non-empty string or a valid number. val=' +
18172
- JSON.stringify(val)
18173
- );
18174
- };
17139
+ /**
17140
+ * Parse the given `str` and return milliseconds.
17141
+ *
17142
+ * @param {String} str
17143
+ * @return {Number}
17144
+ * @api private
17145
+ */
17146
+
17147
+ function parse$b(str) {
17148
+ str = String(str);
17149
+ if (str.length > 100) {
17150
+ return;
17151
+ }
17152
+ var match = /^((?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec(
17153
+ str
17154
+ );
17155
+ if (!match) {
17156
+ return;
17157
+ }
17158
+ var n = parseFloat(match[1]);
17159
+ var type = (match[2] || 'ms').toLowerCase();
17160
+ switch (type) {
17161
+ case 'years':
17162
+ case 'year':
17163
+ case 'yrs':
17164
+ case 'yr':
17165
+ case 'y':
17166
+ return n * y;
17167
+ case 'days':
17168
+ case 'day':
17169
+ case 'd':
17170
+ return n * d;
17171
+ case 'hours':
17172
+ case 'hour':
17173
+ case 'hrs':
17174
+ case 'hr':
17175
+ case 'h':
17176
+ return n * h;
17177
+ case 'minutes':
17178
+ case 'minute':
17179
+ case 'mins':
17180
+ case 'min':
17181
+ case 'm':
17182
+ return n * m;
17183
+ case 'seconds':
17184
+ case 'second':
17185
+ case 'secs':
17186
+ case 'sec':
17187
+ case 's':
17188
+ return n * s;
17189
+ case 'milliseconds':
17190
+ case 'millisecond':
17191
+ case 'msecs':
17192
+ case 'msec':
17193
+ case 'ms':
17194
+ return n;
17195
+ default:
17196
+ return undefined;
17197
+ }
17198
+ }
17199
+
17200
+ /**
17201
+ * Short format for `ms`.
17202
+ *
17203
+ * @param {Number} ms
17204
+ * @return {String}
17205
+ * @api private
17206
+ */
17207
+
17208
+ function fmtShort(ms) {
17209
+ if (ms >= d) {
17210
+ return Math.round(ms / d) + 'd';
17211
+ }
17212
+ if (ms >= h) {
17213
+ return Math.round(ms / h) + 'h';
17214
+ }
17215
+ if (ms >= m) {
17216
+ return Math.round(ms / m) + 'm';
17217
+ }
17218
+ if (ms >= s) {
17219
+ return Math.round(ms / s) + 's';
17220
+ }
17221
+ return ms + 'ms';
17222
+ }
17223
+
17224
+ /**
17225
+ * Long format for `ms`.
17226
+ *
17227
+ * @param {Number} ms
17228
+ * @return {String}
17229
+ * @api private
17230
+ */
17231
+
17232
+ function fmtLong(ms) {
17233
+ return plural(ms, d, 'day') ||
17234
+ plural(ms, h, 'hour') ||
17235
+ plural(ms, m, 'minute') ||
17236
+ plural(ms, s, 'second') ||
17237
+ ms + ' ms';
17238
+ }
17239
+
17240
+ /**
17241
+ * Pluralization helper.
17242
+ */
18175
17243
 
17244
+ function plural(ms, n, name) {
17245
+ if (ms < n) {
17246
+ return;
17247
+ }
17248
+ if (ms < n * 1.5) {
17249
+ return Math.floor(ms / n) + ' ' + name;
17250
+ }
17251
+ return Math.ceil(ms / n) + ' ' + name + 's';
17252
+ }
17253
+
17254
+ (function (module, exports) {
18176
17255
  /**
18177
- * Parse the given `str` and return milliseconds.
17256
+ * This is the common logic for both the Node.js and web browser
17257
+ * implementations of `debug()`.
18178
17258
  *
18179
- * @param {String} str
18180
- * @return {Number}
18181
- * @api private
17259
+ * Expose `debug()` as the module.
18182
17260
  */
18183
17261
 
18184
- function parse(str) {
18185
- str = String(str);
18186
- if (str.length > 100) {
18187
- return;
18188
- }
18189
- var match = /^((?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec(
18190
- str
18191
- );
18192
- if (!match) {
18193
- return;
18194
- }
18195
- var n = parseFloat(match[1]);
18196
- var type = (match[2] || 'ms').toLowerCase();
18197
- switch (type) {
18198
- case 'years':
18199
- case 'year':
18200
- case 'yrs':
18201
- case 'yr':
18202
- case 'y':
18203
- return n * y;
18204
- case 'days':
18205
- case 'day':
18206
- case 'd':
18207
- return n * d;
18208
- case 'hours':
18209
- case 'hour':
18210
- case 'hrs':
18211
- case 'hr':
18212
- case 'h':
18213
- return n * h;
18214
- case 'minutes':
18215
- case 'minute':
18216
- case 'mins':
18217
- case 'min':
18218
- case 'm':
18219
- return n * m;
18220
- case 'seconds':
18221
- case 'second':
18222
- case 'secs':
18223
- case 'sec':
18224
- case 's':
18225
- return n * s;
18226
- case 'milliseconds':
18227
- case 'millisecond':
18228
- case 'msecs':
18229
- case 'msec':
18230
- case 'ms':
18231
- return n;
18232
- default:
18233
- return undefined;
18234
- }
18235
- }
17262
+ exports = module.exports = createDebug.debug = createDebug['default'] = createDebug;
17263
+ exports.coerce = coerce;
17264
+ exports.disable = disable;
17265
+ exports.enable = enable;
17266
+ exports.enabled = enabled;
17267
+ exports.humanize = ms;
18236
17268
 
18237
17269
  /**
18238
- * Short format for `ms`.
18239
- *
18240
- * @param {Number} ms
18241
- * @return {String}
18242
- * @api private
17270
+ * The currently active debug mode names, and names to skip.
18243
17271
  */
18244
17272
 
18245
- function fmtShort(ms) {
18246
- if (ms >= d) {
18247
- return Math.round(ms / d) + 'd';
18248
- }
18249
- if (ms >= h) {
18250
- return Math.round(ms / h) + 'h';
18251
- }
18252
- if (ms >= m) {
18253
- return Math.round(ms / m) + 'm';
18254
- }
18255
- if (ms >= s) {
18256
- return Math.round(ms / s) + 's';
18257
- }
18258
- return ms + 'ms';
18259
- }
17273
+ exports.names = [];
17274
+ exports.skips = [];
18260
17275
 
18261
17276
  /**
18262
- * Long format for `ms`.
17277
+ * Map of special "%n" handling functions, for the debug "format" argument.
18263
17278
  *
18264
- * @param {Number} ms
18265
- * @return {String}
18266
- * @api private
17279
+ * Valid key names are a single, lower or upper-case letter, i.e. "n" and "N".
18267
17280
  */
18268
17281
 
18269
- function fmtLong(ms) {
18270
- return plural(ms, d, 'day') ||
18271
- plural(ms, h, 'hour') ||
18272
- plural(ms, m, 'minute') ||
18273
- plural(ms, s, 'second') ||
18274
- ms + ' ms';
18275
- }
17282
+ exports.formatters = {};
18276
17283
 
18277
17284
  /**
18278
- * Pluralization helper.
17285
+ * Previous log timestamp.
18279
17286
  */
18280
17287
 
18281
- function plural(ms, n, name) {
18282
- if (ms < n) {
18283
- return;
18284
- }
18285
- if (ms < n * 1.5) {
18286
- return Math.floor(ms / n) + ' ' + name;
18287
- }
18288
- return Math.ceil(ms / n) + ' ' + name + 's';
18289
- }
18290
- return ms;
18291
- }
18292
-
18293
- var hasRequiredDebug;
18294
-
18295
- function requireDebug () {
18296
- if (hasRequiredDebug) return debug$a.exports;
18297
- hasRequiredDebug = 1;
18298
- (function (module, exports) {
18299
- /**
18300
- * This is the common logic for both the Node.js and web browser
18301
- * implementations of `debug()`.
18302
- *
18303
- * Expose `debug()` as the module.
18304
- */
18305
-
18306
- exports = module.exports = createDebug.debug = createDebug['default'] = createDebug;
18307
- exports.coerce = coerce;
18308
- exports.disable = disable;
18309
- exports.enable = enable;
18310
- exports.enabled = enabled;
18311
- exports.humanize = requireMs();
18312
-
18313
- /**
18314
- * The currently active debug mode names, and names to skip.
18315
- */
18316
-
18317
- exports.names = [];
18318
- exports.skips = [];
18319
-
18320
- /**
18321
- * Map of special "%n" handling functions, for the debug "format" argument.
18322
- *
18323
- * Valid key names are a single, lower or upper-case letter, i.e. "n" and "N".
18324
- */
18325
-
18326
- exports.formatters = {};
18327
-
18328
- /**
18329
- * Previous log timestamp.
18330
- */
18331
-
18332
- var prevTime;
18333
-
18334
- /**
18335
- * Select a color.
18336
- * @param {String} namespace
18337
- * @return {Number}
18338
- * @api private
18339
- */
18340
-
18341
- function selectColor(namespace) {
18342
- var hash = 0, i;
18343
-
18344
- for (i in namespace) {
18345
- hash = ((hash << 5) - hash) + namespace.charCodeAt(i);
18346
- hash |= 0; // Convert to 32bit integer
18347
- }
17288
+ var prevTime;
18348
17289
 
18349
- return exports.colors[Math.abs(hash) % exports.colors.length];
18350
- }
17290
+ /**
17291
+ * Select a color.
17292
+ * @param {String} namespace
17293
+ * @return {Number}
17294
+ * @api private
17295
+ */
18351
17296
 
18352
- /**
18353
- * Create a debugger with the given `namespace`.
18354
- *
18355
- * @param {String} namespace
18356
- * @return {Function}
18357
- * @api public
18358
- */
17297
+ function selectColor(namespace) {
17298
+ var hash = 0, i;
18359
17299
 
18360
- function createDebug(namespace) {
17300
+ for (i in namespace) {
17301
+ hash = ((hash << 5) - hash) + namespace.charCodeAt(i);
17302
+ hash |= 0; // Convert to 32bit integer
17303
+ }
18361
17304
 
18362
- function debug() {
18363
- // disabled?
18364
- if (!debug.enabled) return;
18365
-
18366
- var self = debug;
18367
-
18368
- // set `diff` timestamp
18369
- var curr = +new Date();
18370
- var ms = curr - (prevTime || curr);
18371
- self.diff = ms;
18372
- self.prev = prevTime;
18373
- self.curr = curr;
18374
- prevTime = curr;
18375
-
18376
- // turn the `arguments` into a proper Array
18377
- var args = new Array(arguments.length);
18378
- for (var i = 0; i < args.length; i++) {
18379
- args[i] = arguments[i];
18380
- }
18381
-
18382
- args[0] = exports.coerce(args[0]);
18383
-
18384
- if ('string' !== typeof args[0]) {
18385
- // anything else let's inspect with %O
18386
- args.unshift('%O');
18387
- }
18388
-
18389
- // apply any `formatters` transformations
18390
- var index = 0;
18391
- args[0] = args[0].replace(/%([a-zA-Z%])/g, function(match, format) {
18392
- // if we encounter an escaped % then don't increase the array index
18393
- if (match === '%%') return match;
18394
- index++;
18395
- var formatter = exports.formatters[format];
18396
- if ('function' === typeof formatter) {
18397
- var val = args[index];
18398
- match = formatter.call(self, val);
18399
-
18400
- // now we need to remove `args[index]` since it's inlined in the `format`
18401
- args.splice(index, 1);
18402
- index--;
18403
- }
18404
- return match;
18405
- });
18406
-
18407
- // apply env-specific formatting (colors, etc.)
18408
- exports.formatArgs.call(self, args);
18409
-
18410
- var logFn = debug.log || exports.log || console.log.bind(console);
18411
- logFn.apply(self, args);
18412
- }
18413
-
18414
- debug.namespace = namespace;
18415
- debug.enabled = exports.enabled(namespace);
18416
- debug.useColors = exports.useColors();
18417
- debug.color = selectColor(namespace);
18418
-
18419
- // env-specific initialization logic for debug instances
18420
- if ('function' === typeof exports.init) {
18421
- exports.init(debug);
18422
- }
18423
-
18424
- return debug;
18425
- }
17305
+ return exports.colors[Math.abs(hash) % exports.colors.length];
17306
+ }
18426
17307
 
18427
- /**
18428
- * Enables a debug mode by namespaces. This can include modes
18429
- * separated by a colon and wildcards.
18430
- *
18431
- * @param {String} namespaces
18432
- * @api public
18433
- */
17308
+ /**
17309
+ * Create a debugger with the given `namespace`.
17310
+ *
17311
+ * @param {String} namespace
17312
+ * @return {Function}
17313
+ * @api public
17314
+ */
18434
17315
 
18435
- function enable(namespaces) {
18436
- exports.save(namespaces);
18437
-
18438
- exports.names = [];
18439
- exports.skips = [];
18440
-
18441
- var split = (typeof namespaces === 'string' ? namespaces : '').split(/[\s,]+/);
18442
- var len = split.length;
18443
-
18444
- for (var i = 0; i < len; i++) {
18445
- if (!split[i]) continue; // ignore empty strings
18446
- namespaces = split[i].replace(/\*/g, '.*?');
18447
- if (namespaces[0] === '-') {
18448
- exports.skips.push(new RegExp('^' + namespaces.substr(1) + '$'));
18449
- } else {
18450
- exports.names.push(new RegExp('^' + namespaces + '$'));
18451
- }
18452
- }
18453
- }
17316
+ function createDebug(namespace) {
18454
17317
 
18455
- /**
18456
- * Disable debug output.
18457
- *
18458
- * @api public
18459
- */
17318
+ function debug() {
17319
+ // disabled?
17320
+ if (!debug.enabled) return;
18460
17321
 
18461
- function disable() {
18462
- exports.enable('');
18463
- }
17322
+ var self = debug;
18464
17323
 
18465
- /**
18466
- * Returns true if the given mode name is enabled, false otherwise.
18467
- *
18468
- * @param {String} name
18469
- * @return {Boolean}
18470
- * @api public
18471
- */
17324
+ // set `diff` timestamp
17325
+ var curr = +new Date();
17326
+ var ms = curr - (prevTime || curr);
17327
+ self.diff = ms;
17328
+ self.prev = prevTime;
17329
+ self.curr = curr;
17330
+ prevTime = curr;
18472
17331
 
18473
- function enabled(name) {
18474
- var i, len;
18475
- for (i = 0, len = exports.skips.length; i < len; i++) {
18476
- if (exports.skips[i].test(name)) {
18477
- return false;
18478
- }
18479
- }
18480
- for (i = 0, len = exports.names.length; i < len; i++) {
18481
- if (exports.names[i].test(name)) {
18482
- return true;
18483
- }
18484
- }
18485
- return false;
18486
- }
17332
+ // turn the `arguments` into a proper Array
17333
+ var args = new Array(arguments.length);
17334
+ for (var i = 0; i < args.length; i++) {
17335
+ args[i] = arguments[i];
17336
+ }
18487
17337
 
18488
- /**
18489
- * Coerce `val`.
18490
- *
18491
- * @param {Mixed} val
18492
- * @return {Mixed}
18493
- * @api private
18494
- */
17338
+ args[0] = exports.coerce(args[0]);
18495
17339
 
18496
- function coerce(val) {
18497
- if (val instanceof Error) return val.stack || val.message;
18498
- return val;
18499
- }
18500
- } (debug$a, debug$a.exports));
18501
- return debug$a.exports;
18502
- }
17340
+ if ('string' !== typeof args[0]) {
17341
+ // anything else let's inspect with %O
17342
+ args.unshift('%O');
17343
+ }
18503
17344
 
18504
- /**
18505
- * This is the web browser implementation of `debug()`.
18506
- *
18507
- * Expose `debug()` as the module.
18508
- */
18509
-
18510
- var hasRequiredBrowser;
18511
-
18512
- function requireBrowser () {
18513
- if (hasRequiredBrowser) return browser.exports;
18514
- hasRequiredBrowser = 1;
18515
- (function (module, exports) {
18516
- exports = module.exports = requireDebug();
18517
- exports.log = log;
18518
- exports.formatArgs = formatArgs;
18519
- exports.save = save;
18520
- exports.load = load;
18521
- exports.useColors = useColors;
18522
- exports.storage = 'undefined' != typeof chrome
18523
- && 'undefined' != typeof chrome.storage
18524
- ? chrome.storage.local
18525
- : localstorage();
17345
+ // apply any `formatters` transformations
17346
+ var index = 0;
17347
+ args[0] = args[0].replace(/%([a-zA-Z%])/g, function(match, format) {
17348
+ // if we encounter an escaped % then don't increase the array index
17349
+ if (match === '%%') return match;
17350
+ index++;
17351
+ var formatter = exports.formatters[format];
17352
+ if ('function' === typeof formatter) {
17353
+ var val = args[index];
17354
+ match = formatter.call(self, val);
17355
+
17356
+ // now we need to remove `args[index]` since it's inlined in the `format`
17357
+ args.splice(index, 1);
17358
+ index--;
17359
+ }
17360
+ return match;
17361
+ });
18526
17362
 
18527
- /**
18528
- * Colors.
18529
- */
17363
+ // apply env-specific formatting (colors, etc.)
17364
+ exports.formatArgs.call(self, args);
18530
17365
 
18531
- exports.colors = [
18532
- 'lightseagreen',
18533
- 'forestgreen',
18534
- 'goldenrod',
18535
- 'dodgerblue',
18536
- 'darkorchid',
18537
- 'crimson'
18538
- ];
17366
+ var logFn = debug.log || exports.log || console.log.bind(console);
17367
+ logFn.apply(self, args);
17368
+ }
18539
17369
 
18540
- /**
18541
- * Currently only WebKit-based Web Inspectors, Firefox >= v31,
18542
- * and the Firebug extension (any Firefox version) are known
18543
- * to support "%c" CSS customizations.
18544
- *
18545
- * TODO: add a `localStorage` variable to explicitly enable/disable colors
18546
- */
17370
+ debug.namespace = namespace;
17371
+ debug.enabled = exports.enabled(namespace);
17372
+ debug.useColors = exports.useColors();
17373
+ debug.color = selectColor(namespace);
18547
17374
 
18548
- function useColors() {
18549
- // NB: In an Electron preload script, document will be defined but not fully
18550
- // initialized. Since we know we're in Chrome, we'll just detect this case
18551
- // explicitly
18552
- if (typeof window !== 'undefined' && window.process && window.process.type === 'renderer') {
18553
- return true;
18554
- }
18555
-
18556
- // is webkit? http://stackoverflow.com/a/16459606/376773
18557
- // document is undefined in react-native: https://github.com/facebook/react-native/pull/1632
18558
- return (typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance) ||
18559
- // is firebug? http://stackoverflow.com/a/398120/376773
18560
- (typeof window !== 'undefined' && window.console && (window.console.firebug || (window.console.exception && window.console.table))) ||
18561
- // is firefox >= v31?
18562
- // https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages
18563
- (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/) && parseInt(RegExp.$1, 10) >= 31) ||
18564
- // double check webkit in userAgent just in case we are in a worker
18565
- (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/));
18566
- }
17375
+ // env-specific initialization logic for debug instances
17376
+ if ('function' === typeof exports.init) {
17377
+ exports.init(debug);
17378
+ }
18567
17379
 
18568
- /**
18569
- * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default.
18570
- */
17380
+ return debug;
17381
+ }
18571
17382
 
18572
- exports.formatters.j = function(v) {
18573
- try {
18574
- return JSON.stringify(v);
18575
- } catch (err) {
18576
- return '[UnexpectedJSONParseError]: ' + err.message;
18577
- }
18578
- };
17383
+ /**
17384
+ * Enables a debug mode by namespaces. This can include modes
17385
+ * separated by a colon and wildcards.
17386
+ *
17387
+ * @param {String} namespaces
17388
+ * @api public
17389
+ */
18579
17390
 
17391
+ function enable(namespaces) {
17392
+ exports.save(namespaces);
18580
17393
 
18581
- /**
18582
- * Colorize log arguments if enabled.
18583
- *
18584
- * @api public
18585
- */
17394
+ exports.names = [];
17395
+ exports.skips = [];
18586
17396
 
18587
- function formatArgs(args) {
18588
- var useColors = this.useColors;
18589
-
18590
- args[0] = (useColors ? '%c' : '')
18591
- + this.namespace
18592
- + (useColors ? ' %c' : ' ')
18593
- + args[0]
18594
- + (useColors ? '%c ' : ' ')
18595
- + '+' + exports.humanize(this.diff);
18596
-
18597
- if (!useColors) return;
18598
-
18599
- var c = 'color: ' + this.color;
18600
- args.splice(1, 0, c, 'color: inherit');
18601
-
18602
- // the final "%c" is somewhat tricky, because there could be other
18603
- // arguments passed either before or after the %c, so we need to
18604
- // figure out the correct index to insert the CSS into
18605
- var index = 0;
18606
- var lastC = 0;
18607
- args[0].replace(/%[a-zA-Z%]/g, function(match) {
18608
- if ('%%' === match) return;
18609
- index++;
18610
- if ('%c' === match) {
18611
- // we only are interested in the *last* %c
18612
- // (the user may have provided their own)
18613
- lastC = index;
18614
- }
18615
- });
18616
-
18617
- args.splice(lastC, 0, c);
18618
- }
17397
+ var split = (typeof namespaces === 'string' ? namespaces : '').split(/[\s,]+/);
17398
+ var len = split.length;
18619
17399
 
18620
- /**
18621
- * Invokes `console.log()` when available.
18622
- * No-op when `console.log` is not a "function".
18623
- *
18624
- * @api public
18625
- */
17400
+ for (var i = 0; i < len; i++) {
17401
+ if (!split[i]) continue; // ignore empty strings
17402
+ namespaces = split[i].replace(/\*/g, '.*?');
17403
+ if (namespaces[0] === '-') {
17404
+ exports.skips.push(new RegExp('^' + namespaces.substr(1) + '$'));
17405
+ } else {
17406
+ exports.names.push(new RegExp('^' + namespaces + '$'));
17407
+ }
17408
+ }
17409
+ }
18626
17410
 
18627
- function log() {
18628
- // this hackery is required for IE8/9, where
18629
- // the `console.log` function doesn't have 'apply'
18630
- return 'object' === typeof console
18631
- && console.log
18632
- && Function.prototype.apply.call(console.log, console, arguments);
18633
- }
17411
+ /**
17412
+ * Disable debug output.
17413
+ *
17414
+ * @api public
17415
+ */
18634
17416
 
18635
- /**
18636
- * Save `namespaces`.
18637
- *
18638
- * @param {String} namespaces
18639
- * @api private
18640
- */
17417
+ function disable() {
17418
+ exports.enable('');
17419
+ }
18641
17420
 
18642
- function save(namespaces) {
18643
- try {
18644
- if (null == namespaces) {
18645
- exports.storage.removeItem('debug');
18646
- } else {
18647
- exports.storage.debug = namespaces;
18648
- }
18649
- } catch(e) {}
18650
- }
17421
+ /**
17422
+ * Returns true if the given mode name is enabled, false otherwise.
17423
+ *
17424
+ * @param {String} name
17425
+ * @return {Boolean}
17426
+ * @api public
17427
+ */
18651
17428
 
18652
- /**
18653
- * Load `namespaces`.
18654
- *
18655
- * @return {String} returns the previously persisted debug modes
18656
- * @api private
18657
- */
17429
+ function enabled(name) {
17430
+ var i, len;
17431
+ for (i = 0, len = exports.skips.length; i < len; i++) {
17432
+ if (exports.skips[i].test(name)) {
17433
+ return false;
17434
+ }
17435
+ }
17436
+ for (i = 0, len = exports.names.length; i < len; i++) {
17437
+ if (exports.names[i].test(name)) {
17438
+ return true;
17439
+ }
17440
+ }
17441
+ return false;
17442
+ }
18658
17443
 
18659
- function load() {
18660
- var r;
18661
- try {
18662
- r = exports.storage.debug;
18663
- } catch(e) {}
17444
+ /**
17445
+ * Coerce `val`.
17446
+ *
17447
+ * @param {Mixed} val
17448
+ * @return {Mixed}
17449
+ * @api private
17450
+ */
18664
17451
 
18665
- // If debug isn't set in LS, and we're in Electron, try to load $DEBUG
18666
- if (!r && typeof process !== 'undefined' && 'env' in process) {
18667
- r = process.env.DEBUG;
18668
- }
17452
+ function coerce(val) {
17453
+ if (val instanceof Error) return val.stack || val.message;
17454
+ return val;
17455
+ }
17456
+ } (debug$a, debug$a.exports));
18669
17457
 
18670
- return r;
18671
- }
17458
+ var debugExports = debug$a.exports;
18672
17459
 
18673
- /**
18674
- * Enable namespaces listed in `localStorage.debug` initially.
18675
- */
17460
+ /**
17461
+ * Module dependencies.
17462
+ */
18676
17463
 
18677
- exports.enable(load());
17464
+ (function (module, exports) {
17465
+ var tty = require$$0$3;
17466
+ var util = require$$1;
18678
17467
 
18679
- /**
18680
- * Localstorage attempts to return the localstorage.
18681
- *
18682
- * This is necessary because safari throws
18683
- * when a user disables cookies/localstorage
18684
- * and you attempt to access it.
18685
- *
18686
- * @return {LocalStorage}
18687
- * @api private
18688
- */
17468
+ /**
17469
+ * This is the Node.js implementation of `debug()`.
17470
+ *
17471
+ * Expose `debug()` as the module.
17472
+ */
18689
17473
 
18690
- function localstorage() {
18691
- try {
18692
- return window.localStorage;
18693
- } catch (e) {}
18694
- }
18695
- } (browser, browser.exports));
18696
- return browser.exports;
18697
- }
17474
+ exports = module.exports = debugExports;
17475
+ exports.init = init;
17476
+ exports.log = log;
17477
+ exports.formatArgs = formatArgs;
17478
+ exports.save = save;
17479
+ exports.load = load;
17480
+ exports.useColors = useColors;
18698
17481
 
18699
- var node = {exports: {}};
17482
+ /**
17483
+ * Colors.
17484
+ */
18700
17485
 
18701
- /**
18702
- * Module dependencies.
18703
- */
17486
+ exports.colors = [6, 2, 3, 4, 5, 1];
18704
17487
 
18705
- var hasRequiredNode;
17488
+ /**
17489
+ * Build up the default `inspectOpts` object from the environment variables.
17490
+ *
17491
+ * $ DEBUG_COLORS=no DEBUG_DEPTH=10 DEBUG_SHOW_HIDDEN=enabled node script.js
17492
+ */
18706
17493
 
18707
- function requireNode () {
18708
- if (hasRequiredNode) return node.exports;
18709
- hasRequiredNode = 1;
18710
- (function (module, exports) {
18711
- var tty = require$$0$4;
18712
- var util = require$$1;
17494
+ exports.inspectOpts = Object.keys(process.env).filter(function (key) {
17495
+ return /^debug_/i.test(key);
17496
+ }).reduce(function (obj, key) {
17497
+ // camel-case
17498
+ var prop = key
17499
+ .substring(6)
17500
+ .toLowerCase()
17501
+ .replace(/_([a-z])/g, function (_, k) { return k.toUpperCase() });
17502
+
17503
+ // coerce string value into JS value
17504
+ var val = process.env[key];
17505
+ if (/^(yes|on|true|enabled)$/i.test(val)) val = true;
17506
+ else if (/^(no|off|false|disabled)$/i.test(val)) val = false;
17507
+ else if (val === 'null') val = null;
17508
+ else val = Number(val);
17509
+
17510
+ obj[prop] = val;
17511
+ return obj;
17512
+ }, {});
18713
17513
 
18714
- /**
18715
- * This is the Node.js implementation of `debug()`.
18716
- *
18717
- * Expose `debug()` as the module.
18718
- */
17514
+ /**
17515
+ * The file descriptor to write the `debug()` calls to.
17516
+ * Set the `DEBUG_FD` env variable to override with another value. i.e.:
17517
+ *
17518
+ * $ DEBUG_FD=3 node script.js 3>debug.log
17519
+ */
18719
17520
 
18720
- exports = module.exports = requireDebug();
18721
- exports.init = init;
18722
- exports.log = log;
18723
- exports.formatArgs = formatArgs;
18724
- exports.save = save;
18725
- exports.load = load;
18726
- exports.useColors = useColors;
17521
+ var fd = parseInt(process.env.DEBUG_FD, 10) || 2;
18727
17522
 
18728
- /**
18729
- * Colors.
18730
- */
17523
+ if (1 !== fd && 2 !== fd) {
17524
+ util.deprecate(function(){}, 'except for stderr(2) and stdout(1), any other usage of DEBUG_FD is deprecated. Override debug.log if you want to use a different log function (https://git.io/debug_fd)')();
17525
+ }
18731
17526
 
18732
- exports.colors = [6, 2, 3, 4, 5, 1];
17527
+ var stream = 1 === fd ? process.stdout :
17528
+ 2 === fd ? process.stderr :
17529
+ createWritableStdioStream(fd);
18733
17530
 
18734
- /**
18735
- * Build up the default `inspectOpts` object from the environment variables.
18736
- *
18737
- * $ DEBUG_COLORS=no DEBUG_DEPTH=10 DEBUG_SHOW_HIDDEN=enabled node script.js
18738
- */
17531
+ /**
17532
+ * Is stdout a TTY? Colored output is enabled when `true`.
17533
+ */
18739
17534
 
18740
- exports.inspectOpts = Object.keys(process.env).filter(function (key) {
18741
- return /^debug_/i.test(key);
18742
- }).reduce(function (obj, key) {
18743
- // camel-case
18744
- var prop = key
18745
- .substring(6)
18746
- .toLowerCase()
18747
- .replace(/_([a-z])/g, function (_, k) { return k.toUpperCase() });
18748
-
18749
- // coerce string value into JS value
18750
- var val = process.env[key];
18751
- if (/^(yes|on|true|enabled)$/i.test(val)) val = true;
18752
- else if (/^(no|off|false|disabled)$/i.test(val)) val = false;
18753
- else if (val === 'null') val = null;
18754
- else val = Number(val);
18755
-
18756
- obj[prop] = val;
18757
- return obj;
18758
- }, {});
17535
+ function useColors() {
17536
+ return 'colors' in exports.inspectOpts
17537
+ ? Boolean(exports.inspectOpts.colors)
17538
+ : tty.isatty(fd);
17539
+ }
18759
17540
 
18760
- /**
18761
- * The file descriptor to write the `debug()` calls to.
18762
- * Set the `DEBUG_FD` env variable to override with another value. i.e.:
18763
- *
18764
- * $ DEBUG_FD=3 node script.js 3>debug.log
18765
- */
17541
+ /**
17542
+ * Map %o to `util.inspect()`, all on a single line.
17543
+ */
18766
17544
 
18767
- var fd = parseInt(process.env.DEBUG_FD, 10) || 2;
17545
+ exports.formatters.o = function(v) {
17546
+ this.inspectOpts.colors = this.useColors;
17547
+ return util.inspect(v, this.inspectOpts)
17548
+ .split('\n').map(function(str) {
17549
+ return str.trim()
17550
+ }).join(' ');
17551
+ };
18768
17552
 
18769
- if (1 !== fd && 2 !== fd) {
18770
- util.deprecate(function(){}, 'except for stderr(2) and stdout(1), any other usage of DEBUG_FD is deprecated. Override debug.log if you want to use a different log function (https://git.io/debug_fd)')();
18771
- }
17553
+ /**
17554
+ * Map %o to `util.inspect()`, allowing multiple lines if needed.
17555
+ */
18772
17556
 
18773
- var stream = 1 === fd ? process.stdout :
18774
- 2 === fd ? process.stderr :
18775
- createWritableStdioStream(fd);
17557
+ exports.formatters.O = function(v) {
17558
+ this.inspectOpts.colors = this.useColors;
17559
+ return util.inspect(v, this.inspectOpts);
17560
+ };
18776
17561
 
18777
- /**
18778
- * Is stdout a TTY? Colored output is enabled when `true`.
18779
- */
17562
+ /**
17563
+ * Adds ANSI color escape codes if enabled.
17564
+ *
17565
+ * @api public
17566
+ */
18780
17567
 
18781
- function useColors() {
18782
- return 'colors' in exports.inspectOpts
18783
- ? Boolean(exports.inspectOpts.colors)
18784
- : tty.isatty(fd);
18785
- }
17568
+ function formatArgs(args) {
17569
+ var name = this.namespace;
17570
+ var useColors = this.useColors;
18786
17571
 
18787
- /**
18788
- * Map %o to `util.inspect()`, all on a single line.
18789
- */
17572
+ if (useColors) {
17573
+ var c = this.color;
17574
+ var prefix = ' \u001b[3' + c + ';1m' + name + ' ' + '\u001b[0m';
18790
17575
 
18791
- exports.formatters.o = function(v) {
18792
- this.inspectOpts.colors = this.useColors;
18793
- return util.inspect(v, this.inspectOpts)
18794
- .split('\n').map(function(str) {
18795
- return str.trim()
18796
- }).join(' ');
18797
- };
17576
+ args[0] = prefix + args[0].split('\n').join('\n' + prefix);
17577
+ args.push('\u001b[3' + c + 'm+' + exports.humanize(this.diff) + '\u001b[0m');
17578
+ } else {
17579
+ args[0] = new Date().toUTCString()
17580
+ + ' ' + name + ' ' + args[0];
17581
+ }
17582
+ }
18798
17583
 
18799
- /**
18800
- * Map %o to `util.inspect()`, allowing multiple lines if needed.
18801
- */
17584
+ /**
17585
+ * Invokes `util.format()` with the specified arguments and writes to `stream`.
17586
+ */
18802
17587
 
18803
- exports.formatters.O = function(v) {
18804
- this.inspectOpts.colors = this.useColors;
18805
- return util.inspect(v, this.inspectOpts);
18806
- };
17588
+ function log() {
17589
+ return stream.write(util.format.apply(util, arguments) + '\n');
17590
+ }
18807
17591
 
18808
- /**
18809
- * Adds ANSI color escape codes if enabled.
18810
- *
18811
- * @api public
18812
- */
17592
+ /**
17593
+ * Save `namespaces`.
17594
+ *
17595
+ * @param {String} namespaces
17596
+ * @api private
17597
+ */
18813
17598
 
18814
- function formatArgs(args) {
18815
- var name = this.namespace;
18816
- var useColors = this.useColors;
17599
+ function save(namespaces) {
17600
+ if (null == namespaces) {
17601
+ // If you set a process.env field to null or undefined, it gets cast to the
17602
+ // string 'null' or 'undefined'. Just delete instead.
17603
+ delete process.env.DEBUG;
17604
+ } else {
17605
+ process.env.DEBUG = namespaces;
17606
+ }
17607
+ }
18817
17608
 
18818
- if (useColors) {
18819
- var c = this.color;
18820
- var prefix = ' \u001b[3' + c + ';1m' + name + ' ' + '\u001b[0m';
17609
+ /**
17610
+ * Load `namespaces`.
17611
+ *
17612
+ * @return {String} returns the previously persisted debug modes
17613
+ * @api private
17614
+ */
18821
17615
 
18822
- args[0] = prefix + args[0].split('\n').join('\n' + prefix);
18823
- args.push('\u001b[3' + c + 'm+' + exports.humanize(this.diff) + '\u001b[0m');
18824
- } else {
18825
- args[0] = new Date().toUTCString()
18826
- + ' ' + name + ' ' + args[0];
18827
- }
18828
- }
17616
+ function load() {
17617
+ return process.env.DEBUG;
17618
+ }
18829
17619
 
18830
- /**
18831
- * Invokes `util.format()` with the specified arguments and writes to `stream`.
18832
- */
17620
+ /**
17621
+ * Copied from `node/src/node.js`.
17622
+ *
17623
+ * XXX: It's lame that node doesn't expose this API out-of-the-box. It also
17624
+ * relies on the undocumented `tty_wrap.guessHandleType()` which is also lame.
17625
+ */
18833
17626
 
18834
- function log() {
18835
- return stream.write(util.format.apply(util, arguments) + '\n');
18836
- }
17627
+ function createWritableStdioStream (fd) {
17628
+ var stream;
17629
+ var tty_wrap = process.binding('tty_wrap');
18837
17630
 
18838
- /**
18839
- * Save `namespaces`.
18840
- *
18841
- * @param {String} namespaces
18842
- * @api private
18843
- */
17631
+ // Note stream._type is used for test-module-load-list.js
18844
17632
 
18845
- function save(namespaces) {
18846
- if (null == namespaces) {
18847
- // If you set a process.env field to null or undefined, it gets cast to the
18848
- // string 'null' or 'undefined'. Just delete instead.
18849
- delete process.env.DEBUG;
18850
- } else {
18851
- process.env.DEBUG = namespaces;
18852
- }
18853
- }
17633
+ switch (tty_wrap.guessHandleType(fd)) {
17634
+ case 'TTY':
17635
+ stream = new tty.WriteStream(fd);
17636
+ stream._type = 'tty';
18854
17637
 
18855
- /**
18856
- * Load `namespaces`.
18857
- *
18858
- * @return {String} returns the previously persisted debug modes
18859
- * @api private
18860
- */
17638
+ // Hack to have stream not keep the event loop alive.
17639
+ // See https://github.com/joyent/node/issues/1726
17640
+ if (stream._handle && stream._handle.unref) {
17641
+ stream._handle.unref();
17642
+ }
17643
+ break;
17644
+
17645
+ case 'FILE':
17646
+ var fs = require$$0$4;
17647
+ stream = new fs.SyncWriteStream(fd, { autoClose: false });
17648
+ stream._type = 'fs';
17649
+ break;
17650
+
17651
+ case 'PIPE':
17652
+ case 'TCP':
17653
+ var net = require$$4$1;
17654
+ stream = new net.Socket({
17655
+ fd: fd,
17656
+ readable: false,
17657
+ writable: true
17658
+ });
18861
17659
 
18862
- function load() {
18863
- return process.env.DEBUG;
18864
- }
17660
+ // FIXME Should probably have an option in net.Socket to create a
17661
+ // stream from an existing fd which is writable only. But for now
17662
+ // we'll just add this hack and set the `readable` member to false.
17663
+ // Test: ./node test/fixtures/echo.js < /etc/passwd
17664
+ stream.readable = false;
17665
+ stream.read = null;
17666
+ stream._type = 'pipe';
17667
+
17668
+ // FIXME Hack to have stream not keep the event loop alive.
17669
+ // See https://github.com/joyent/node/issues/1726
17670
+ if (stream._handle && stream._handle.unref) {
17671
+ stream._handle.unref();
17672
+ }
17673
+ break;
18865
17674
 
18866
- /**
18867
- * Copied from `node/src/node.js`.
18868
- *
18869
- * XXX: It's lame that node doesn't expose this API out-of-the-box. It also
18870
- * relies on the undocumented `tty_wrap.guessHandleType()` which is also lame.
18871
- */
17675
+ default:
17676
+ // Probably an error on in uv_guess_handle()
17677
+ throw new Error('Implement me. Unknown stream file type!');
17678
+ }
18872
17679
 
18873
- function createWritableStdioStream (fd) {
18874
- var stream;
18875
- var tty_wrap = process.binding('tty_wrap');
18876
-
18877
- // Note stream._type is used for test-module-load-list.js
18878
-
18879
- switch (tty_wrap.guessHandleType(fd)) {
18880
- case 'TTY':
18881
- stream = new tty.WriteStream(fd);
18882
- stream._type = 'tty';
18883
-
18884
- // Hack to have stream not keep the event loop alive.
18885
- // See https://github.com/joyent/node/issues/1726
18886
- if (stream._handle && stream._handle.unref) {
18887
- stream._handle.unref();
18888
- }
18889
- break;
18890
-
18891
- case 'FILE':
18892
- var fs = require$$0$3;
18893
- stream = new fs.SyncWriteStream(fd, { autoClose: false });
18894
- stream._type = 'fs';
18895
- break;
18896
-
18897
- case 'PIPE':
18898
- case 'TCP':
18899
- var net = require$$4$1;
18900
- stream = new net.Socket({
18901
- fd: fd,
18902
- readable: false,
18903
- writable: true
18904
- });
18905
-
18906
- // FIXME Should probably have an option in net.Socket to create a
18907
- // stream from an existing fd which is writable only. But for now
18908
- // we'll just add this hack and set the `readable` member to false.
18909
- // Test: ./node test/fixtures/echo.js < /etc/passwd
18910
- stream.readable = false;
18911
- stream.read = null;
18912
- stream._type = 'pipe';
18913
-
18914
- // FIXME Hack to have stream not keep the event loop alive.
18915
- // See https://github.com/joyent/node/issues/1726
18916
- if (stream._handle && stream._handle.unref) {
18917
- stream._handle.unref();
18918
- }
18919
- break;
18920
-
18921
- default:
18922
- // Probably an error on in uv_guess_handle()
18923
- throw new Error('Implement me. Unknown stream file type!');
18924
- }
18925
-
18926
- // For supporting legacy API we put the FD here.
18927
- stream.fd = fd;
18928
-
18929
- stream._isStdio = true;
18930
-
18931
- return stream;
18932
- }
17680
+ // For supporting legacy API we put the FD here.
17681
+ stream.fd = fd;
18933
17682
 
18934
- /**
18935
- * Init logic for `debug` instances.
18936
- *
18937
- * Create a new `inspectOpts` object in case `useColors` is set
18938
- * differently for a particular `debug` instance.
18939
- */
17683
+ stream._isStdio = true;
18940
17684
 
18941
- function init (debug) {
18942
- debug.inspectOpts = {};
17685
+ return stream;
17686
+ }
18943
17687
 
18944
- var keys = Object.keys(exports.inspectOpts);
18945
- for (var i = 0; i < keys.length; i++) {
18946
- debug.inspectOpts[keys[i]] = exports.inspectOpts[keys[i]];
18947
- }
18948
- }
17688
+ /**
17689
+ * Init logic for `debug` instances.
17690
+ *
17691
+ * Create a new `inspectOpts` object in case `useColors` is set
17692
+ * differently for a particular `debug` instance.
17693
+ */
18949
17694
 
18950
- /**
18951
- * Enable namespaces listed in `process.env.DEBUG` initially.
18952
- */
17695
+ function init (debug) {
17696
+ debug.inspectOpts = {};
18953
17697
 
18954
- exports.enable(load());
18955
- } (node, node.exports));
18956
- return node.exports;
18957
- }
17698
+ var keys = Object.keys(exports.inspectOpts);
17699
+ for (var i = 0; i < keys.length; i++) {
17700
+ debug.inspectOpts[keys[i]] = exports.inspectOpts[keys[i]];
17701
+ }
17702
+ }
18958
17703
 
18959
- /**
18960
- * Detect Electron renderer process, which is node, but we should
18961
- * treat as a browser.
18962
- */
17704
+ /**
17705
+ * Enable namespaces listed in `process.env.DEBUG` initially.
17706
+ */
18963
17707
 
18964
- if (typeof process !== 'undefined' && process.type === 'renderer') {
18965
- src.exports = requireBrowser();
18966
- } else {
18967
- src.exports = requireNode();
18968
- }
17708
+ exports.enable(load());
17709
+ } (node, node.exports));
18969
17710
 
18970
- var srcExports = src.exports;
17711
+ var nodeExports = node.exports;
18971
17712
 
18972
17713
  /*!
18973
17714
  * encodeurl
@@ -19817,7 +18558,7 @@ function unpipe$1(stream) {
19817
18558
  * @private
19818
18559
  */
19819
18560
 
19820
- var debug$9 = srcExports('finalhandler');
18561
+ var debug$9 = nodeExports('finalhandler');
19821
18562
  var encodeUrl = encodeurl;
19822
18563
  var escapeHtml = escapeHtml_1;
19823
18564
  var onFinished = onFinishedExports;
@@ -20179,7 +18920,7 @@ var utilsMergeExports = utilsMerge.exports;
20179
18920
  * @private
20180
18921
  */
20181
18922
 
20182
- var debug$8 = srcExports('connect:dispatcher');
18923
+ var debug$8 = nodeExports('connect:dispatcher');
20183
18924
  var EventEmitter$3 = require$$0$7.EventEmitter;
20184
18925
  var finalhandler = finalhandler_1;
20185
18926
  var http$4 = require$$1$2;
@@ -20931,7 +19672,7 @@ var corsMiddleware = /*@__PURE__*/getDefaultExportFromCjs(libExports);
20931
19672
 
20932
19673
  var chokidar = {};
20933
19674
 
20934
- const fs$5 = require$$0$3;
19675
+ const fs$5 = require$$0$4;
20935
19676
  const { Readable } = require$$0$8;
20936
19677
  const sysPath$3 = require$$0$2;
20937
19678
  const { promisify: promisify$3 } = require$$1;
@@ -23315,7 +22056,7 @@ var constants$1 = {};
23315
22056
  exports.isIBMi = os.type() === 'OS400';
23316
22057
  } (constants$1));
23317
22058
 
23318
- const fs$4 = require$$0$3;
22059
+ const fs$4 = require$$0$4;
23319
22060
  const sysPath$2 = require$$0$2;
23320
22061
  const { promisify: promisify$2 } = require$$1;
23321
22062
  const isBinaryPath = isBinaryPath$1;
@@ -23960,7 +22701,7 @@ var nodefsHandler = NodeFsHandler$1;
23960
22701
 
23961
22702
  var fseventsHandler = {exports: {}};
23962
22703
 
23963
- const fs$3 = require$$0$3;
22704
+ const fs$3 = require$$0$4;
23964
22705
  const sysPath$1 = require$$0$2;
23965
22706
  const { promisify: promisify$1 } = require$$1;
23966
22707
 
@@ -24489,7 +23230,7 @@ fseventsHandler.exports.canUse = canUse;
24489
23230
  var fseventsHandlerExports = fseventsHandler.exports;
24490
23231
 
24491
23232
  const { EventEmitter: EventEmitter$2 } = require$$0$7;
24492
- const fs$2 = require$$0$3;
23233
+ const fs$2 = require$$0$4;
24493
23234
  const sysPath = require$$0$2;
24494
23235
  const { promisify } = require$$1;
24495
23236
  const readdirp = readdirp_1;
@@ -26002,7 +24743,7 @@ var getArgs = function getArgumentsForPosition (
26002
24743
  * Modified by Yuxi Evan You
26003
24744
  */
26004
24745
 
26005
- const fs$1 = require$$0$3;
24746
+ const fs$1 = require$$0$4;
26006
24747
  const os = require$$2;
26007
24748
  const path$4 = require$$0$2;
26008
24749
  const colors = picocolorsExports;
@@ -27808,7 +26549,7 @@ function requireWindows () {
27808
26549
  windows = isexe;
27809
26550
  isexe.sync = sync;
27810
26551
 
27811
- var fs = require$$0$3;
26552
+ var fs = require$$0$4;
27812
26553
 
27813
26554
  function checkPathExt (path, options) {
27814
26555
  var pathext = options.pathExt !== undefined ?
@@ -27859,7 +26600,7 @@ function requireMode () {
27859
26600
  mode = isexe;
27860
26601
  isexe.sync = sync;
27861
26602
 
27862
- var fs = require$$0$3;
26603
+ var fs = require$$0$4;
27863
26604
 
27864
26605
  function isexe (path, options, cb) {
27865
26606
  fs.stat(path, function (er, stat) {
@@ -28222,7 +26963,7 @@ var shebangCommand$1 = (string = '') => {
28222
26963
  return argument ? `${binary} ${argument}` : binary;
28223
26964
  };
28224
26965
 
28225
- const fs = require$$0$3;
26966
+ const fs = require$$0$4;
28226
26967
  const shebangCommand = shebangCommand$1;
28227
26968
 
28228
26969
  function readShebang$1(command) {
@@ -34587,7 +33328,7 @@ var debug_1 = function () {
34587
33328
  if (!debug$7) {
34588
33329
  try {
34589
33330
  /* eslint global-require: off */
34590
- debug$7 = srcExports$1("follow-redirects");
33331
+ debug$7 = nodeExports$1("follow-redirects");
34591
33332
  }
34592
33333
  catch (error) { /* */ }
34593
33334
  if (typeof debug$7 !== "function") {
@@ -36154,7 +34895,7 @@ var etag_1 = etag;
36154
34895
  */
36155
34896
 
36156
34897
  var crypto = require$$3;
36157
- var Stats = require$$0$3.Stats;
34898
+ var Stats = require$$0$4.Stats;
36158
34899
 
36159
34900
  /**
36160
34901
  * Module variables.
@@ -36609,7 +35350,7 @@ function servePublicMiddleware(server, publicFiles) {
36609
35350
  };
36610
35351
  return function viteServePublicMiddleware(req, res, next) {
36611
35352
  if (publicFiles && !publicFiles.has(toFilePath(req.url)) || isImportRequest(req.url) || isInternalRequest(req.url) || // for `/public-file.js?url` to be transformed
36612
- urlRE.test(req.url)) {
35353
+ urlRE$1.test(req.url)) {
36613
35354
  return next();
36614
35355
  }
36615
35356
  serve(req, res, next);
@@ -36742,6 +35483,7 @@ function renderRestrictedErrorHTML(msg) {
36742
35483
 
36743
35484
  const ERR_LOAD_URL = "ERR_LOAD_URL";
36744
35485
  const ERR_LOAD_PUBLIC_URL = "ERR_LOAD_PUBLIC_URL";
35486
+ const ERR_DENIED_ID = "ERR_DENIED_ID";
36745
35487
  const debugLoad = createDebugger("vite:load");
36746
35488
  const debugTransform = createDebugger("vite:transform");
36747
35489
  const debugCache$1 = createDebugger("vite:cache");
@@ -36841,6 +35583,11 @@ async function loadAndTransform(environment, id, url, options, timestamp, mod, r
36841
35583
  const { config, pluginContainer, logger } = environment;
36842
35584
  const prettyUrl = debugLoad || debugTransform ? prettifyUrl(url, config.root) : "";
36843
35585
  const moduleGraph = environment.moduleGraph;
35586
+ if (options.allowId && !options.allowId(id)) {
35587
+ const err = new Error(`Denied ID ${id}`);
35588
+ err.code = ERR_DENIED_ID;
35589
+ throw err;
35590
+ }
36844
35591
  let code = null;
36845
35592
  let map = null;
36846
35593
  const loadStart = debugLoad ? performance$1.now() : 0;
@@ -36990,7 +35737,7 @@ async function handleModuleSoftInvalidation(environment, mod, timestamp) {
36990
35737
  await init;
36991
35738
  const source = transformResult.code;
36992
35739
  const s = new MagicString(source);
36993
- const [imports] = parse$c(source, mod.id || void 0);
35740
+ const [imports] = parse$d(source, mod.id || void 0);
36994
35741
  for (const imp of imports) {
36995
35742
  let rawUrl = source.slice(imp.s, imp.e);
36996
35743
  if (rawUrl === "import.meta") continue;
@@ -37202,8 +35949,8 @@ function polyfill() {
37202
35949
  }
37203
35950
  }
37204
35951
 
37205
- const htmlProxyRE$1 = /\?html-proxy=?(?:&inline-css)?(?:&style-attr)?&index=(\d+)\.(?:js|css)$/;
37206
- const isHtmlProxyRE = /\?html-proxy\b/;
35952
+ const htmlProxyRE$1 = /[?&]html-proxy=?(?:&inline-css)?(?:&style-attr)?&index=(\d+)\.(?:js|css)$/;
35953
+ const isHtmlProxyRE = /[?&]html-proxy\b/;
37207
35954
  const inlineCSSRE$1 = /__VITE_INLINE_CSS__([a-z\d]{8}_\d+)__/g;
37208
35955
  const inlineImportRE = /(?<!(?<!\.\.)\.)\bimport\s*\(("(?:[^"]|(?<=\\)")*"|'(?:[^']|(?<=\\)')*')\)/dg;
37209
35956
  const htmlLangRE = /\.(?:html|htm)$/;
@@ -38290,6 +37037,13 @@ function decodeURIIfPossible(input) {
38290
37037
  const debugCache = createDebugger("vite:cache");
38291
37038
  const knownIgnoreList = /* @__PURE__ */ new Set(["/", "/favicon.ico"]);
38292
37039
  const trailingQuerySeparatorsRE = /[?&]+$/;
37040
+ const urlRE = /[?&]url\b/;
37041
+ const rawRE = /[?&]raw\b/;
37042
+ const inlineRE$2 = /[?&]inline\b/;
37043
+ const svgRE = /\.svg\b/;
37044
+ function deniedServingAccessForTransform(url, server, res, next) {
37045
+ return (rawRE.test(url) || urlRE.test(url) || inlineRE$2.test(url) || svgRE.test(url)) && !ensureServingAccess(url, server, res, next);
37046
+ }
38293
37047
  function cachedTransformMiddleware(server) {
38294
37048
  return function viteCachedTransformMiddleware(req, res, next) {
38295
37049
  const environment = server.environments.client;
@@ -38379,7 +37133,7 @@ function transformMiddleware(server) {
38379
37133
  trailingQuerySeparatorsRE,
38380
37134
  ""
38381
37135
  );
38382
- if ((rawRE.test(urlWithoutTrailingQuerySeparators) || urlRE.test(urlWithoutTrailingQuerySeparators)) && !ensureServingAccess(
37136
+ if (deniedServingAccessForTransform(
38383
37137
  urlWithoutTrailingQuerySeparators,
38384
37138
  server,
38385
37139
  res,
@@ -38402,7 +37156,10 @@ function transformMiddleware(server) {
38402
37156
  }
38403
37157
  }
38404
37158
  const result = await transformRequest(environment, url, {
38405
- html: req.headers.accept?.includes("text/html")
37159
+ html: req.headers.accept?.includes("text/html"),
37160
+ allowId(id) {
37161
+ return !deniedServingAccessForTransform(id, server, res, next);
37162
+ }
38406
37163
  });
38407
37164
  if (result) {
38408
37165
  const depsOptimizer = environment.depsOptimizer;
@@ -38454,6 +37211,9 @@ function transformMiddleware(server) {
38454
37211
  if (e?.code === ERR_LOAD_URL) {
38455
37212
  return next();
38456
37213
  }
37214
+ if (e?.code === ERR_DENIED_ID) {
37215
+ return;
37216
+ }
38457
37217
  return next(e);
38458
37218
  }
38459
37219
  next();
@@ -39459,6 +38219,17 @@ function searchForWorkspaceRoot(current, root = searchForPackageRoot(current)) {
39459
38219
  return searchForWorkspaceRoot(dir, root);
39460
38220
  }
39461
38221
 
38222
+ function rejectInvalidRequestMiddleware() {
38223
+ return function viteRejectInvalidRequestMiddleware(req, res, next) {
38224
+ if (req.url?.includes("#")) {
38225
+ res.writeHead(400);
38226
+ res.end();
38227
+ return;
38228
+ }
38229
+ return next();
38230
+ };
38231
+ }
38232
+
39462
38233
  function createServer(inlineConfig = {}) {
39463
38234
  return _createServer(inlineConfig, { listen: true });
39464
38235
  }
@@ -39804,6 +38575,7 @@ async function _createServer(inlineConfig = {}, options) {
39804
38575
  if (process.env.DEBUG) {
39805
38576
  middlewares.use(timeMiddleware(root));
39806
38577
  }
38578
+ middlewares.use(rejectInvalidRequestMiddleware());
39807
38579
  const { cors } = serverConfig;
39808
38580
  if (cors !== false) {
39809
38581
  middlewares.use(corsMiddleware(typeof cors === "boolean" ? {} : cors));
@@ -40258,7 +39030,7 @@ async function handleHMRUpdate(type, file, server) {
40258
39030
  const isConfigDependency = config.configFileDependencies.some(
40259
39031
  (name) => file === name
40260
39032
  );
40261
- const isEnv = config.inlineConfig.envFile !== false && getEnvFilesForMode(config.mode, config.envDir).includes(file);
39033
+ const isEnv = config.envDir !== false && getEnvFilesForMode(config.mode, config.envDir).includes(file);
40262
39034
  if (isConfig || isConfigDependency || isEnv) {
40263
39035
  debugHmr?.(`[config change] ${colors$1.dim(shortFile)}`);
40264
39036
  config.logger.info(
@@ -41275,7 +40047,7 @@ function webWorkerPlugin(config) {
41275
40047
  url = injectQuery(url, `${WORKER_FILE_ID}&type=${workerType}`);
41276
40048
  urlCode = JSON.stringify(url);
41277
40049
  }
41278
- if (urlRE.test(id)) {
40050
+ if (urlRE$1.test(id)) {
41279
40051
  return {
41280
40052
  code: `export default ${urlCode}`,
41281
40053
  map: { mappings: "" }
@@ -41553,7 +40325,7 @@ function importAnalysisPlugin(config) {
41553
40325
  let exports;
41554
40326
  source = stripBomTag(source);
41555
40327
  try {
41556
- [imports, exports] = parse$c(source);
40328
+ [imports, exports] = parse$d(source);
41557
40329
  } catch (_e) {
41558
40330
  const e = _e;
41559
40331
  const { message, showCodeFrame } = createParseErrorInfo(
@@ -41720,7 +40492,7 @@ function importAnalysisPlugin(config) {
41720
40492
  if (specifier === clientPublicPath) {
41721
40493
  return;
41722
40494
  }
41723
- if (specifier[0] === "/" && !(config.assetsInclude(cleanUrl(specifier)) || urlRE.test(specifier)) && checkPublicFile(specifier, config)) {
40495
+ if (specifier[0] === "/" && !(config.assetsInclude(cleanUrl(specifier)) || urlRE$1.test(specifier)) && checkPublicFile(specifier, config)) {
41724
40496
  throw new Error(
41725
40497
  `Cannot import non-asset file ${specifier} which is inside /public. JS/CSS files inside /public are copied as-is on build and can only be referenced via <script src> or <link href> in html. If you want to get the URL of that file, use ${injectQuery(
41726
40498
  specifier,
@@ -41903,7 +40675,7 @@ See ${colors$1.blue(
41903
40675
  if (pluginImports) {
41904
40676
  (await Promise.all(
41905
40677
  [...pluginImports].map((id) => normalizeUrl(id, 0, true))
41906
- )).forEach(([url]) => importedUrls.add(url));
40678
+ )).forEach(([url]) => importedUrls.add(stripBase(url, base)));
41907
40679
  }
41908
40680
  if (ssr && importerModule.isSelfAccepting) {
41909
40681
  isSelfAccepting = true;
@@ -42180,6 +40952,7 @@ function escapeReplacement(value) {
42180
40952
  }
42181
40953
 
42182
40954
  const wasmHelperId = "\0vite/wasm-helper.js";
40955
+ const wasmInitRE = /(?<![?#].*)\.wasm\?init/;
42183
40956
  const wasmHelper = async (opts = {}, url) => {
42184
40957
  let result;
42185
40958
  if (url.startsWith("data:")) {
@@ -42227,7 +41000,7 @@ const wasmHelperPlugin = () => {
42227
41000
  if (id === wasmHelperId) {
42228
41001
  return `export default ${wasmHelperCode}`;
42229
41002
  }
42230
- if (!id.endsWith(".wasm?init")) {
41003
+ if (!wasmInitRE.test(id)) {
42231
41004
  return;
42232
41005
  }
42233
41006
  const url = await fileToUrl$1(this, id);
@@ -42763,7 +41536,7 @@ function parseDynamicImportPattern(strings) {
42763
41536
  let globParams = null;
42764
41537
  if (search) {
42765
41538
  search = "?" + search;
42766
- if (workerOrSharedWorkerRE.test(search) || urlRE.test(search) || rawRE.test(search)) {
41539
+ if (workerOrSharedWorkerRE.test(search) || urlRE$1.test(search) || rawRE$1.test(search)) {
42767
41540
  globParams = {
42768
41541
  query: search,
42769
41542
  import: "*"
@@ -42848,7 +41621,7 @@ function dynamicImportVarsPlugin(config) {
42848
41621
  await init;
42849
41622
  let imports = [];
42850
41623
  try {
42851
- imports = parse$c(source)[0];
41624
+ imports = parse$d(source)[0];
42852
41625
  } catch {
42853
41626
  return null;
42854
41627
  }
@@ -42911,9 +41684,14 @@ function dynamicImportVarsPlugin(config) {
42911
41684
  };
42912
41685
  }
42913
41686
 
42914
- const FALLBACK_TRUE = 1;
42915
- const FALLBACK_FALSE = 0;
42916
- function patternToIdFilter(pattern) {
41687
+ function getMatcherString(glob, cwd) {
41688
+ if (glob.startsWith("**") || path$b.isAbsolute(glob)) {
41689
+ return slash$1(glob);
41690
+ }
41691
+ const resolved = path$b.join(cwd, glob);
41692
+ return slash$1(resolved);
41693
+ }
41694
+ function patternToIdFilter(pattern, cwd) {
42917
41695
  if (pattern instanceof RegExp) {
42918
41696
  return (id) => {
42919
41697
  const normalizedId = slash$1(id);
@@ -42922,10 +41700,10 @@ function patternToIdFilter(pattern) {
42922
41700
  return result;
42923
41701
  };
42924
41702
  }
42925
- const cwd = process.cwd();
42926
- const matcher = picomatch$2(pattern, { dot: true });
41703
+ const glob = getMatcherString(pattern, cwd);
41704
+ const matcher = picomatch$2(glob, { dot: true });
42927
41705
  return (id) => {
42928
- const normalizedId = slash$1(path$b.relative(cwd, id));
41706
+ const normalizedId = slash$1(id);
42929
41707
  return matcher(normalizedId);
42930
41708
  };
42931
41709
  }
@@ -42950,7 +41728,7 @@ function createFilter(exclude, include) {
42950
41728
  if (include?.some((filter) => filter(input))) {
42951
41729
  return true;
42952
41730
  }
42953
- return !!include && include.length > 0 ? FALLBACK_FALSE : FALLBACK_TRUE;
41731
+ return !(include && include.length > 0);
42954
41732
  };
42955
41733
  }
42956
41734
  function normalizeFilter(filter) {
@@ -42961,7 +41739,7 @@ function normalizeFilter(filter) {
42961
41739
  }
42962
41740
  if (Array.isArray(filter)) {
42963
41741
  return {
42964
- include: arraify(filter)
41742
+ include: filter
42965
41743
  };
42966
41744
  }
42967
41745
  return {
@@ -42969,11 +41747,11 @@ function normalizeFilter(filter) {
42969
41747
  exclude: filter.exclude ? arraify(filter.exclude) : void 0
42970
41748
  };
42971
41749
  }
42972
- function createIdFilter(filter) {
41750
+ function createIdFilter(filter, cwd = process.cwd()) {
42973
41751
  if (!filter) return;
42974
41752
  const { exclude, include } = normalizeFilter(filter);
42975
- const excludeFilter = exclude?.map(patternToIdFilter);
42976
- const includeFilter = include?.map(patternToIdFilter);
41753
+ const excludeFilter = exclude?.map((p) => patternToIdFilter(p, cwd));
41754
+ const includeFilter = include?.map((p) => patternToIdFilter(p, cwd));
42977
41755
  return createFilter(excludeFilter, includeFilter);
42978
41756
  }
42979
41757
  function createCodeFilter(filter) {
@@ -42983,25 +41761,20 @@ function createCodeFilter(filter) {
42983
41761
  const includeFilter = include?.map(patternToCodeFilter);
42984
41762
  return createFilter(excludeFilter, includeFilter);
42985
41763
  }
42986
- function createFilterForTransform(idFilter, codeFilter) {
41764
+ function createFilterForTransform(idFilter, codeFilter, cwd) {
42987
41765
  if (!idFilter && !codeFilter) return;
42988
- const idFilterFn = createIdFilter(idFilter);
41766
+ const idFilterFn = createIdFilter(idFilter, cwd);
42989
41767
  const codeFilterFn = createCodeFilter(codeFilter);
42990
41768
  return (id, code) => {
42991
41769
  let fallback = true;
42992
41770
  if (idFilterFn) {
42993
- const idResult = idFilterFn(id);
42994
- if (typeof idResult === "boolean") {
42995
- return idResult;
42996
- }
42997
- fallback &&= !!idResult;
41771
+ fallback &&= idFilterFn(id);
41772
+ }
41773
+ if (!fallback) {
41774
+ return false;
42998
41775
  }
42999
41776
  if (codeFilterFn) {
43000
- const codeResult = codeFilterFn(code);
43001
- if (typeof codeResult === "boolean") {
43002
- return codeResult;
43003
- }
43004
- fallback &&= !!codeResult;
41777
+ fallback &&= codeFilterFn(code);
43005
41778
  }
43006
41779
  return fallback;
43007
41780
  };
@@ -43985,7 +42758,7 @@ const cssModuleRE = new RegExp(`\\.module${CSS_LANGS_RE.source}`);
43985
42758
  const directRequestRE = /[?&]direct\b/;
43986
42759
  const htmlProxyRE = /[?&]html-proxy\b/;
43987
42760
  const htmlProxyIndexRE = /&index=(\d+)/;
43988
- const commonjsProxyRE = /\?commonjs-proxy/;
42761
+ const commonjsProxyRE = /[?&]commonjs-proxy/;
43989
42762
  const inlineRE = /[?&]inline\b/;
43990
42763
  const inlineCSSRE = /[?&]inline-css\b/;
43991
42764
  const styleAttrRE = /[?&]style-attr\b/;
@@ -44038,7 +42811,7 @@ function cssPlugin(config) {
44038
42811
  load: {
44039
42812
  async handler(id) {
44040
42813
  if (!isCSSRequest(id)) return;
44041
- if (urlRE.test(id)) {
42814
+ if (urlRE$1.test(id)) {
44042
42815
  if (isModuleCSSRequest(id)) {
44043
42816
  throw new Error(
44044
42817
  `?url is not supported with CSS modules. (tried to import ${JSON.stringify(
@@ -44261,10 +43034,19 @@ function cssPostPlugin(config) {
44261
43034
  },
44262
43035
  async renderChunk(code, chunk, opts, meta) {
44263
43036
  let chunkCSS = "";
44264
- const renderedModules = Object.fromEntries(
44265
- Object.values(meta.chunks).flatMap(
44266
- (chunk2) => Object.entries(chunk2.modules)
44267
- )
43037
+ const renderedModules = new Proxy(
43038
+ {},
43039
+ {
43040
+ get(_target, p) {
43041
+ for (const name in meta.chunks) {
43042
+ const modules = meta.chunks[name].modules;
43043
+ const module = modules[p];
43044
+ if (module) {
43045
+ return module;
43046
+ }
43047
+ }
43048
+ }
43049
+ }
44268
43050
  );
44269
43051
  const isJsChunkEmpty = code === "" && !chunk.isEntry;
44270
43052
  let isPureCssChunk = chunk.exports.length === 0;
@@ -44626,7 +43408,7 @@ function isCssScopeToRendered(cssScopeTo, renderedModules) {
44626
43408
  return importer && (exp === void 0 || importer.renderedExports.includes(exp));
44627
43409
  }
44628
43410
  function getEmptyChunkReplacer(pureCssChunkNames, outputFormat) {
44629
- const emptyChunkFiles = pureCssChunkNames.map((file) => path$b.basename(file)).join("|").replace(/\./g, "\\.");
43411
+ const emptyChunkFiles = pureCssChunkNames.map((file) => escapeRegex(path$b.basename(file))).join("|");
44630
43412
  const emptyChunkRE = new RegExp(
44631
43413
  outputFormat === "es" ? `\\bimport\\s*["'][^"']*(?:${emptyChunkFiles})["'];` : `(\\b|,\\s*)require\\(\\s*["'][^"']*(?:${emptyChunkFiles})["']\\)(;|,)`,
44632
43414
  "g"
@@ -45036,8 +43818,8 @@ function createCachedImport(imp) {
45036
43818
  return cached;
45037
43819
  };
45038
43820
  }
45039
- const importPostcssImport = createCachedImport(() => import('./dep-BXITORG_.js').then(function (n) { return n.i; }));
45040
- const importPostcssModules = createCachedImport(() => import('./dep-2sb0gr4n.js').then(function (n) { return n.i; }));
43821
+ const importPostcssImport = createCachedImport(() => import('./dep-BVYvZuv7.js').then(function (n) { return n.i; }));
43822
+ const importPostcssModules = createCachedImport(() => import('./dep-B8BdvHtp.js').then(function (n) { return n.i; }));
45041
43823
  const importPostcss = createCachedImport(() => import('postcss'));
45042
43824
  const preprocessorWorkerControllerCache = /* @__PURE__ */ new WeakMap();
45043
43825
  let alwaysFakeWorkerWorkerControllerCache;
@@ -46485,7 +45267,7 @@ function buildImportAnalysisPlugin(config) {
46485
45267
  await init;
46486
45268
  let imports = [];
46487
45269
  try {
46488
- imports = parse$c(source)[0];
45270
+ imports = parse$d(source)[0];
46489
45271
  } catch (_e) {
46490
45272
  const e = _e;
46491
45273
  const { message, showCodeFrame } = createParseErrorInfo(
@@ -46602,7 +45384,7 @@ function buildImportAnalysisPlugin(config) {
46602
45384
  const code = chunk.code;
46603
45385
  let imports;
46604
45386
  try {
46605
- imports = parse$c(code)[0].filter((i) => i.d > -1);
45387
+ imports = parse$d(code)[0].filter((i) => i.d > -1);
46606
45388
  } catch (e) {
46607
45389
  const loc = numberToPos(code, e.idx);
46608
45390
  this.error({
@@ -46651,7 +45433,7 @@ function buildImportAnalysisPlugin(config) {
46651
45433
  const code = chunk.code;
46652
45434
  let imports;
46653
45435
  try {
46654
- imports = parse$c(code)[0].filter((i) => i.d > -1);
45436
+ imports = parse$d(code)[0].filter((i) => i.d > -1);
46655
45437
  } catch (e) {
46656
45438
  const loc = numberToPos(code, e.idx);
46657
45439
  this.error({
@@ -46891,7 +45673,7 @@ function ssrManifestPlugin() {
46891
45673
  const code = chunk.code;
46892
45674
  let imports = [];
46893
45675
  try {
46894
- imports = parse$c(code)[0].filter((i) => i.n && i.d > -1);
45676
+ imports = parse$d(code)[0].filter((i) => i.n && i.d > -1);
46895
45677
  } catch (_e) {
46896
45678
  const e = _e;
46897
45679
  const loc = numberToPos(code, e.idx);
@@ -47934,13 +46716,6 @@ async function fetchModule(environment, url, importer, options = {}) {
47934
46716
  const type = isFilePathESM(resolved.id, environment.config.packageCache) ? "module" : "commonjs";
47935
46717
  return { externalize: file, type };
47936
46718
  }
47937
- if (isFileUrl || !importer) {
47938
- const resolved = await environment.pluginContainer.resolveId(url);
47939
- if (!resolved) {
47940
- throw new Error(`[vite] cannot find entry point module '${url}'.`);
47941
- }
47942
- url = normalizeResolvedIdToUrl(environment, url, resolved);
47943
- }
47944
46719
  url = unwrapId$1(url);
47945
46720
  const mod = await environment.moduleGraph.ensureEntryFromUrl(url);
47946
46721
  const cached = !!mod.transformResult;
@@ -49473,7 +48248,7 @@ async function runnerImport(moduleId, inlineConfig) {
49473
48248
  const config = await resolveConfig(
49474
48249
  mergeConfig(inlineConfig || {}, {
49475
48250
  configFile: false,
49476
- envFile: false,
48251
+ envDir: false,
49477
48252
  cacheDir: process.cwd(),
49478
48253
  environments: {
49479
48254
  inline: {
@@ -49996,8 +48771,11 @@ async function resolveConfig(inlineConfig, command, defaultMode = "development",
49996
48771
  patchedConfigSsr,
49997
48772
  resolvedDefaultResolve.preserveSymlinks
49998
48773
  );
49999
- const envDir = config.envDir ? normalizePath$3(path$b.resolve(resolvedRoot, config.envDir)) : resolvedRoot;
50000
- const userEnv = inlineConfig.envFile !== false && loadEnv(mode, envDir, resolveEnvPrefix(config));
48774
+ let envDir = config.envFile === false ? false : config.envDir;
48775
+ if (envDir !== false) {
48776
+ envDir = config.envDir ? normalizePath$3(path$b.resolve(resolvedRoot, config.envDir)) : resolvedRoot;
48777
+ }
48778
+ const userEnv = loadEnv(mode, envDir, resolveEnvPrefix(config));
50001
48779
  const userNodeEnv = process.env.VITE_USER_NODE_ENV;
50002
48780
  if (!isNodeEnvSet && userNodeEnv) {
50003
48781
  if (userNodeEnv === "development") {
@@ -50385,7 +49163,7 @@ async function bundleConfigFile(fileName, isESM) {
50385
49163
  const dirnameVarName = "__vite_injected_original_dirname";
50386
49164
  const filenameVarName = "__vite_injected_original_filename";
50387
49165
  const importMetaUrlVarName = "__vite_injected_original_import_meta_url";
50388
- const result = await build$b({
49166
+ const result = await build$3({
50389
49167
  absWorkingDir: process.cwd(),
50390
49168
  entryPoints: [fileName],
50391
49169
  write: false,