@rsbuild/core 2.1.4 → 2.1.6
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.
- package/compiled/@rstackjs/load-config/index.d.ts +66 -0
- package/compiled/@rstackjs/load-config/license +21 -0
- package/compiled/@rstackjs/load-config/package.json +1 -0
- package/compiled/css-loader/index.js +2 -2
- package/compiled/html-rspack-plugin/index.d.ts +4 -4
- package/compiled/html-rspack-plugin/index.js +53 -48
- package/compiled/http-proxy-middleware/index.d.ts +2 -1
- package/compiled/http-proxy-middleware/package.json +1 -1
- package/compiled/jiti/dist/babel.cjs +49 -2
- package/compiled/postcss/index.js +1 -1
- package/compiled/postcss/package.json +1 -1
- package/compiled/postcss-loader/index.js +6 -6
- package/compiled/rslog/index.d.ts +7 -14
- package/compiled/rslog/package.json +1 -1
- package/dist/{756.js → 711.js} +162 -237
- package/dist/chokidar.js +33 -33
- package/dist/client/hmr.js +1 -1
- package/dist/client/overlay.js +1 -1
- package/dist/connect-next.js +3 -3
- package/dist/cssUrlLoader.mjs +1 -1
- package/dist/http-proxy-middleware.js +29 -10
- package/dist/ignoreCssLoader.mjs +1 -1
- package/dist/index.js +1 -1
- package/dist/launch-editor-middleware.js +1 -1
- package/dist/manifest-plugin.js +38 -34
- package/dist/memfs.js +370 -202
- package/dist/sirv.js +7 -7
- package/dist/ws.js +1 -1
- package/dist-types/configChain.d.ts +1 -0
- package/dist-types/constants.d.ts +2 -0
- package/dist-types/loadConfig.d.ts +4 -39
- package/dist-types/types/config.d.ts +7 -5
- package/package.json +9 -8
- package/types.d.ts +24 -0
- /package/dist/{349.js → 252.js} +0 -0
- /package/dist/{756.js.LICENSE.txt → 711.js.LICENSE.txt} +0 -0
- /package/dist/client/{60.js → 307.js} +0 -0
- /package/dist/{fresh-import.js → freshImport.js} +0 -0
package/dist/chokidar.js
CHANGED
|
@@ -5,7 +5,7 @@ import { lstat, open as promises_open, readdir, realpath as promises_realpath, s
|
|
|
5
5
|
import { join, relative as external_node_path_relative, resolve as external_node_path_resolve, sep } from "node:path";
|
|
6
6
|
import { Readable } from "node:stream";
|
|
7
7
|
import { type as external_node_os_type } from "node:os";
|
|
8
|
-
import * as
|
|
8
|
+
import * as __rspack_external_node_path_806ed179 from "node:path";
|
|
9
9
|
let EntryTypes_FILE_TYPE = 'files', EntryTypes_DIR_TYPE = 'directories', EntryTypes_FILE_DIR_TYPE = 'files_directories', defaultOptions = {
|
|
10
10
|
root: '.',
|
|
11
11
|
fileFilter: (_entryInfo)=>!0,
|
|
@@ -469,7 +469,7 @@ function createFsWatchInstance(path, options, listener, errHandler, emitRaw) {
|
|
|
469
469
|
}, (rawEvent, evPath)=>{
|
|
470
470
|
listener(path), emitRaw(rawEvent, evPath, {
|
|
471
471
|
watchedPath: path
|
|
472
|
-
}), evPath && path !== evPath && fsWatchBroadcast(
|
|
472
|
+
}), evPath && path !== evPath && fsWatchBroadcast(__rspack_external_node_path_806ed179.resolve(path, evPath), KEY_LISTENERS, __rspack_external_node_path_806ed179.join(path, evPath));
|
|
473
473
|
});
|
|
474
474
|
} catch (error) {
|
|
475
475
|
errHandler(error);
|
|
@@ -489,12 +489,12 @@ class NodeFsHandler {
|
|
|
489
489
|
this.fsw = fsW, this._boundHandleError = (error)=>fsW._handleError(error);
|
|
490
490
|
}
|
|
491
491
|
_watchWithNodeFs(path, listener) {
|
|
492
|
-
let closer, opts = this.fsw.options, directory =
|
|
492
|
+
let closer, opts = this.fsw.options, directory = __rspack_external_node_path_806ed179.dirname(path), basename = __rspack_external_node_path_806ed179.basename(path);
|
|
493
493
|
this.fsw._getWatchedDir(directory).add(basename);
|
|
494
|
-
let absolutePath =
|
|
494
|
+
let absolutePath = __rspack_external_node_path_806ed179.resolve(path), options = {
|
|
495
495
|
persistent: opts.persistent
|
|
496
496
|
};
|
|
497
|
-
if (listener || (listener = EMPTY_FN), opts.usePolling) options.interval = opts.interval !== opts.binaryInterval && binaryExtensions.has(
|
|
497
|
+
if (listener || (listener = EMPTY_FN), opts.usePolling) options.interval = opts.interval !== opts.binaryInterval && binaryExtensions.has(__rspack_external_node_path_806ed179.extname(basename).slice(1).toLowerCase()) ? opts.binaryInterval : opts.interval, closer = ((path, fullPath, options, handlers)=>{
|
|
498
498
|
let { listener, rawEmitter } = handlers, cont = FsWatchFileInstances.get(fullPath), copts = cont && cont.options;
|
|
499
499
|
return copts && (copts.persistent < options.persistent || copts.interval > options.interval) && (unwatchFile(fullPath), cont = void 0), cont ? (addAndConvert(cont, KEY_LISTENERS, listener), addAndConvert(cont, KEY_RAW, rawEmitter)) : (cont = {
|
|
500
500
|
listeners: listener,
|
|
@@ -558,7 +558,7 @@ class NodeFsHandler {
|
|
|
558
558
|
}
|
|
559
559
|
_handleFile(file, stats, initialAdd) {
|
|
560
560
|
if (this.fsw.closed) return;
|
|
561
|
-
let dirname =
|
|
561
|
+
let dirname = __rspack_external_node_path_806ed179.dirname(file), basename = __rspack_external_node_path_806ed179.basename(file), parent = this.fsw._getWatchedDir(dirname), prevStats = stats;
|
|
562
562
|
if (parent.has(basename)) return;
|
|
563
563
|
let listener = async (path, newStats)=>{
|
|
564
564
|
if (this.fsw._throttle('watch', file, 5)) if (newStats && 0 !== newStats.mtimeMs) {
|
|
@@ -603,7 +603,7 @@ class NodeFsHandler {
|
|
|
603
603
|
this.fsw._symlinkPaths.set(full, !0);
|
|
604
604
|
}
|
|
605
605
|
_handleRead(directory, initialAdd, wh, target, dir, depth, throttler) {
|
|
606
|
-
directory =
|
|
606
|
+
directory = __rspack_external_node_path_806ed179.join(directory, '');
|
|
607
607
|
let throttleKey = target ? `${directory}:${target}` : directory;
|
|
608
608
|
if (!(throttler = this.fsw._throttle('readdir', throttleKey, 1000))) return;
|
|
609
609
|
let previous = this.fsw._getWatchedDir(wh.path), current = new Set(), stream = this.fsw._readdirp(directory, {
|
|
@@ -615,13 +615,13 @@ class NodeFsHandler {
|
|
|
615
615
|
stream = void 0;
|
|
616
616
|
return;
|
|
617
617
|
}
|
|
618
|
-
let item = entry.path, path =
|
|
618
|
+
let item = entry.path, path = __rspack_external_node_path_806ed179.join(directory, item);
|
|
619
619
|
if (current.add(item), !(entry.stats.isSymbolicLink() && await this._handleSymlink(entry, directory, path, item))) {
|
|
620
620
|
if (this.fsw.closed) {
|
|
621
621
|
stream = void 0;
|
|
622
622
|
return;
|
|
623
623
|
}
|
|
624
|
-
item !== target && (target || previous.has(item)) || (this.fsw._incrReadyCount(), path =
|
|
624
|
+
item !== target && (target || previous.has(item)) || (this.fsw._incrReadyCount(), path = __rspack_external_node_path_806ed179.join(dir, __rspack_external_node_path_806ed179.relative(dir, path)), this._addToNodeFs(path, initialAdd, wh, depth + 1));
|
|
625
625
|
}
|
|
626
626
|
}).on(EVENTS_ERROR, this._boundHandleError), new Promise((resolve, reject)=>{
|
|
627
627
|
if (!stream) return reject();
|
|
@@ -638,8 +638,8 @@ class NodeFsHandler {
|
|
|
638
638
|
});
|
|
639
639
|
}
|
|
640
640
|
async _handleDir(dir, stats, initialAdd, depth, target, wh, realpath) {
|
|
641
|
-
let throttler, closer, parentDir = this.fsw._getWatchedDir(
|
|
642
|
-
initialAdd && this.fsw.options.ignoreInitial || target || tracked || this.fsw._emit(EVENTS_ADD_DIR, dir, stats), parentDir.add(
|
|
641
|
+
let throttler, closer, parentDir = this.fsw._getWatchedDir(__rspack_external_node_path_806ed179.dirname(dir)), tracked = parentDir.has(__rspack_external_node_path_806ed179.basename(dir));
|
|
642
|
+
initialAdd && this.fsw.options.ignoreInitial || target || tracked || this.fsw._emit(EVENTS_ADD_DIR, dir, stats), parentDir.add(__rspack_external_node_path_806ed179.basename(dir)), this.fsw._getWatchedDir(dir);
|
|
643
643
|
let oDepth = this.fsw.options.depth;
|
|
644
644
|
if ((null == oDepth || depth <= oDepth) && !this.fsw._symlinkPaths.has(realpath)) {
|
|
645
645
|
if (!target && (await this._handleRead(dir, initialAdd, wh, target, dir, depth, throttler), this.fsw.closed)) return;
|
|
@@ -660,15 +660,15 @@ class NodeFsHandler {
|
|
|
660
660
|
if (this.fsw._isIgnored(wh.watchPath, stats)) return ready(), !1;
|
|
661
661
|
let follow = this.fsw.options.followSymlinks;
|
|
662
662
|
if (stats.isDirectory()) {
|
|
663
|
-
let absPath =
|
|
663
|
+
let absPath = __rspack_external_node_path_806ed179.resolve(path), targetPath = follow ? await promises_realpath(path) : path;
|
|
664
664
|
if (this.fsw.closed || (closer = await this._handleDir(wh.watchPath, stats, initialAdd, depth, target, wh, targetPath), this.fsw.closed)) return;
|
|
665
665
|
absPath !== targetPath && void 0 !== targetPath && this.fsw._symlinkPaths.set(absPath, targetPath);
|
|
666
666
|
} else if (stats.isSymbolicLink()) {
|
|
667
667
|
let targetPath = follow ? await promises_realpath(path) : path;
|
|
668
668
|
if (this.fsw.closed) return;
|
|
669
|
-
let parent =
|
|
669
|
+
let parent = __rspack_external_node_path_806ed179.dirname(wh.watchPath);
|
|
670
670
|
if (this.fsw._getWatchedDir(parent).add(wh.watchPath), this.fsw._emit(EVENTS_ADD, wh.watchPath, stats), closer = await this._handleDir(parent, stats, initialAdd, depth, path, wh, targetPath), this.fsw.closed) return;
|
|
671
|
-
void 0 !== targetPath && this.fsw._symlinkPaths.set(
|
|
671
|
+
void 0 !== targetPath && this.fsw._symlinkPaths.set(__rspack_external_node_path_806ed179.resolve(path), targetPath);
|
|
672
672
|
} else closer = this._handleFile(wh.watchPath, stats, initialAdd);
|
|
673
673
|
return ready(), closer && this.fsw._addPathCloser(path, closer), !1;
|
|
674
674
|
} catch (error) {
|
|
@@ -687,15 +687,15 @@ function createPattern(matcher) {
|
|
|
687
687
|
return 'function' == typeof matcher ? matcher : 'string' == typeof matcher ? (string)=>matcher === string : matcher instanceof RegExp ? (string)=>matcher.test(string) : 'object' == typeof matcher && null !== matcher ? (string)=>{
|
|
688
688
|
if (matcher.path === string) return !0;
|
|
689
689
|
if (matcher.recursive) {
|
|
690
|
-
let relative =
|
|
691
|
-
return !!relative && !relative.startsWith('..') && !
|
|
690
|
+
let relative = __rspack_external_node_path_806ed179.relative(matcher.path, string);
|
|
691
|
+
return !!relative && !relative.startsWith('..') && !__rspack_external_node_path_806ed179.isAbsolute(relative);
|
|
692
692
|
}
|
|
693
693
|
return !1;
|
|
694
694
|
} : ()=>!1;
|
|
695
695
|
}
|
|
696
696
|
function normalizePath(path) {
|
|
697
697
|
if ('string' != typeof path) throw Error('string expected');
|
|
698
|
-
path = (path =
|
|
698
|
+
path = (path = __rspack_external_node_path_806ed179.normalize(path)).replace(/\\/g, '/');
|
|
699
699
|
let prepend = !1;
|
|
700
700
|
return path.startsWith('//') && (prepend = !0), path = path.replace(DOUBLE_SLASH_RE, '/'), prepend && (path = '/' + path), path;
|
|
701
701
|
}
|
|
@@ -716,7 +716,7 @@ let unifyPaths = (paths_)=>{
|
|
|
716
716
|
}, toUnix = (string)=>{
|
|
717
717
|
let str = string.replace(BACK_SLASH_RE, '/'), prepend = !1;
|
|
718
718
|
return str.startsWith('//') && (prepend = !0), str = str.replace(DOUBLE_SLASH_RE, '/'), prepend && (str = '/' + str), str;
|
|
719
|
-
}, normalizePathToUnix = (path)=>toUnix(
|
|
719
|
+
}, normalizePathToUnix = (path)=>toUnix(__rspack_external_node_path_806ed179.normalize(toUnix(path))), normalizeIgnored = (cwd = '')=>(path)=>'string' == typeof path ? normalizePathToUnix(__rspack_external_node_path_806ed179.isAbsolute(path) ? path : __rspack_external_node_path_806ed179.join(cwd, path)) : path, EMPTY_SET = Object.freeze(new Set());
|
|
720
720
|
class DirEntry {
|
|
721
721
|
path;
|
|
722
722
|
_removeWatcher;
|
|
@@ -735,7 +735,7 @@ class DirEntry {
|
|
|
735
735
|
try {
|
|
736
736
|
await readdir(dir);
|
|
737
737
|
} catch (err) {
|
|
738
|
-
this._removeWatcher && this._removeWatcher(
|
|
738
|
+
this._removeWatcher && this._removeWatcher(__rspack_external_node_path_806ed179.dirname(dir), __rspack_external_node_path_806ed179.basename(dir));
|
|
739
739
|
}
|
|
740
740
|
}
|
|
741
741
|
has(item) {
|
|
@@ -763,12 +763,12 @@ class WatchHelper {
|
|
|
763
763
|
constructor(path, follow, fsw){
|
|
764
764
|
this.fsw = fsw;
|
|
765
765
|
let watchPath = path;
|
|
766
|
-
this.path = path = path.replace(REPLACER_RE, ''), this.watchPath = watchPath, this.fullWatchPath =
|
|
766
|
+
this.path = path = path.replace(REPLACER_RE, ''), this.watchPath = watchPath, this.fullWatchPath = __rspack_external_node_path_806ed179.resolve(watchPath), this.dirParts = [], this.dirParts.forEach((parts)=>{
|
|
767
767
|
parts.length > 1 && parts.pop();
|
|
768
768
|
}), this.followSymlinks = follow, this.statMethod = follow ? 'stat' : 'lstat';
|
|
769
769
|
}
|
|
770
770
|
entryPath(entry) {
|
|
771
|
-
return
|
|
771
|
+
return __rspack_external_node_path_806ed179.join(this.watchPath, __rspack_external_node_path_806ed179.relative(this.watchPath, entry.fullPath));
|
|
772
772
|
}
|
|
773
773
|
filterPath(entry) {
|
|
774
774
|
let { stats } = entry;
|
|
@@ -846,14 +846,14 @@ class FSWatcher extends EventEmitter {
|
|
|
846
846
|
let { cwd } = this.options;
|
|
847
847
|
this.closed = !1, this._closePromise = void 0;
|
|
848
848
|
let paths = unifyPaths(paths_);
|
|
849
|
-
return cwd && (paths = paths.map((path)=>
|
|
849
|
+
return cwd && (paths = paths.map((path)=>__rspack_external_node_path_806ed179.isAbsolute(path) ? path : __rspack_external_node_path_806ed179.join(cwd, path))), paths.forEach((path)=>{
|
|
850
850
|
this._removeIgnoredPath(path);
|
|
851
851
|
}), this._userIgnored = void 0, this._readyCount || (this._readyCount = 0), this._readyCount += paths.length, Promise.all(paths.map(async (path)=>{
|
|
852
852
|
let res = await this._nodeFsHandler._addToNodeFs(path, !_internal, void 0, 0, _origAdd);
|
|
853
853
|
return res && this._emitReady(), res;
|
|
854
854
|
})).then((results)=>{
|
|
855
855
|
this.closed || results.forEach((item)=>{
|
|
856
|
-
item && this.add(
|
|
856
|
+
item && this.add(__rspack_external_node_path_806ed179.dirname(item), __rspack_external_node_path_806ed179.basename(_origAdd || item));
|
|
857
857
|
});
|
|
858
858
|
}), this;
|
|
859
859
|
}
|
|
@@ -861,7 +861,7 @@ class FSWatcher extends EventEmitter {
|
|
|
861
861
|
if (this.closed) return this;
|
|
862
862
|
let paths = unifyPaths(paths_), { cwd } = this.options;
|
|
863
863
|
return paths.forEach((path)=>{
|
|
864
|
-
|
|
864
|
+
__rspack_external_node_path_806ed179.isAbsolute(path) || this._closers.has(path) || (cwd && (path = __rspack_external_node_path_806ed179.join(cwd, path)), path = __rspack_external_node_path_806ed179.resolve(path)), this._closePath(path), this._addIgnoredPath(path), this._watched.has(path) && this._addIgnoredPath({
|
|
865
865
|
path,
|
|
866
866
|
recursive: !0
|
|
867
867
|
}), this._userIgnored = void 0;
|
|
@@ -879,7 +879,7 @@ class FSWatcher extends EventEmitter {
|
|
|
879
879
|
getWatched() {
|
|
880
880
|
let watchList = {};
|
|
881
881
|
return this._watched.forEach((entry, dir)=>{
|
|
882
|
-
watchList[(this.options.cwd ?
|
|
882
|
+
watchList[(this.options.cwd ? __rspack_external_node_path_806ed179.relative(this.options.cwd, dir) : dir) || '.'] = entry.getChildren().sort();
|
|
883
883
|
}), watchList;
|
|
884
884
|
}
|
|
885
885
|
emitWithAll(event, args) {
|
|
@@ -889,7 +889,7 @@ class FSWatcher extends EventEmitter {
|
|
|
889
889
|
let pw;
|
|
890
890
|
if (this.closed) return;
|
|
891
891
|
let opts = this.options;
|
|
892
|
-
isWindows && (path =
|
|
892
|
+
isWindows && (path = __rspack_external_node_path_806ed179.normalize(path)), opts.cwd && (path = __rspack_external_node_path_806ed179.relative(opts.cwd, path));
|
|
893
893
|
let args = [
|
|
894
894
|
path
|
|
895
895
|
];
|
|
@@ -915,7 +915,7 @@ class FSWatcher extends EventEmitter {
|
|
|
915
915
|
}
|
|
916
916
|
if (event === EVENTS_CHANGE && !this._throttle(EVENTS_CHANGE, path, 50)) return this;
|
|
917
917
|
if (opts.alwaysStat && void 0 === stats && (event === EVENTS_ADD || event === EVENTS_ADD_DIR || event === EVENTS_CHANGE)) {
|
|
918
|
-
let stats, fullPath = opts.cwd ?
|
|
918
|
+
let stats, fullPath = opts.cwd ? __rspack_external_node_path_806ed179.join(opts.cwd, path) : path;
|
|
919
919
|
try {
|
|
920
920
|
stats = await promises_stat(fullPath);
|
|
921
921
|
} catch (err) {}
|
|
@@ -952,7 +952,7 @@ class FSWatcher extends EventEmitter {
|
|
|
952
952
|
let timeoutHandler, awf = this.options.awaitWriteFinish;
|
|
953
953
|
if ('object' != typeof awf) return;
|
|
954
954
|
let pollInterval = awf.pollInterval, fullPath = path;
|
|
955
|
-
this.options.cwd && !
|
|
955
|
+
this.options.cwd && !__rspack_external_node_path_806ed179.isAbsolute(path) && (fullPath = __rspack_external_node_path_806ed179.join(this.options.cwd, path));
|
|
956
956
|
let now = new Date(), writes = this._pendingWrites;
|
|
957
957
|
function awaitWriteFinishFn(prevStat) {
|
|
958
958
|
external_node_fs_stat(fullPath, (err, curStat)=>{
|
|
@@ -989,28 +989,28 @@ class FSWatcher extends EventEmitter {
|
|
|
989
989
|
return new WatchHelper(path, this.options.followSymlinks, this);
|
|
990
990
|
}
|
|
991
991
|
_getWatchedDir(directory) {
|
|
992
|
-
let dir =
|
|
992
|
+
let dir = __rspack_external_node_path_806ed179.resolve(directory);
|
|
993
993
|
return this._watched.has(dir) || this._watched.set(dir, new DirEntry(dir, this._boundRemove)), this._watched.get(dir);
|
|
994
994
|
}
|
|
995
995
|
_hasReadPermissions(stats) {
|
|
996
996
|
return !!this.options.ignorePermissionErrors || !!(256 & Number(stats.mode));
|
|
997
997
|
}
|
|
998
998
|
_remove(directory, item, isDirectory) {
|
|
999
|
-
let path =
|
|
999
|
+
let path = __rspack_external_node_path_806ed179.join(directory, item), fullPath = __rspack_external_node_path_806ed179.resolve(path);
|
|
1000
1000
|
if (isDirectory = null != isDirectory ? isDirectory : this._watched.has(path) || this._watched.has(fullPath), !this._throttle('remove', path, 100)) return;
|
|
1001
1001
|
isDirectory || 1 !== this._watched.size || this.add(directory, item, !0), this._getWatchedDir(path).getChildren().forEach((nested)=>this._remove(path, nested));
|
|
1002
1002
|
let parent = this._getWatchedDir(directory), wasTracked = parent.has(item);
|
|
1003
1003
|
parent.remove(item), this._symlinkPaths.has(fullPath) && this._symlinkPaths.delete(fullPath);
|
|
1004
1004
|
let relPath = path;
|
|
1005
|
-
if (this.options.cwd && (relPath =
|
|
1005
|
+
if (this.options.cwd && (relPath = __rspack_external_node_path_806ed179.relative(this.options.cwd, path)), this.options.awaitWriteFinish && this._pendingWrites.has(relPath) && this._pendingWrites.get(relPath).cancelWait() === EVENTS_ADD) return;
|
|
1006
1006
|
this._watched.delete(path), this._watched.delete(fullPath);
|
|
1007
1007
|
let eventName = isDirectory ? EVENTS_UNLINK_DIR : EVENTS_UNLINK;
|
|
1008
1008
|
wasTracked && !this._isIgnored(path) && this._emit(eventName, path), this._closePath(path);
|
|
1009
1009
|
}
|
|
1010
1010
|
_closePath(path) {
|
|
1011
1011
|
this._closeFile(path);
|
|
1012
|
-
let dir =
|
|
1013
|
-
this._getWatchedDir(dir).remove(
|
|
1012
|
+
let dir = __rspack_external_node_path_806ed179.dirname(path);
|
|
1013
|
+
this._getWatchedDir(dir).remove(__rspack_external_node_path_806ed179.basename(path));
|
|
1014
1014
|
}
|
|
1015
1015
|
_closeFile(path) {
|
|
1016
1016
|
let closers = this._closers.get(path);
|
package/dist/client/hmr.js
CHANGED
package/dist/client/overlay.js
CHANGED
package/dist/connect-next.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*! LICENSE: connect-next.js.LICENSE.txt */
|
|
2
2
|
import { EventEmitter } from "node:events";
|
|
3
3
|
import { createRequire } from "node:module";
|
|
4
|
-
import * as
|
|
4
|
+
import * as __rspack_external_node_http_e245b239 from "node:http";
|
|
5
5
|
let __rspack_createRequire_require = createRequire(import.meta.url);
|
|
6
6
|
var __webpack_modules__ = {}, __webpack_module_cache__ = {};
|
|
7
7
|
function __nested_rspack_require_364__(moduleId) {
|
|
@@ -840,7 +840,7 @@ let proto = {
|
|
|
840
840
|
req.originalUrl = req.originalUrl || req.url, next();
|
|
841
841
|
},
|
|
842
842
|
listen (...args) {
|
|
843
|
-
return
|
|
843
|
+
return __rspack_external_node_http_e245b239.createServer(this).listen(...args);
|
|
844
844
|
}
|
|
845
845
|
};
|
|
846
846
|
function call(handle, route, err, req, res, next) {
|
|
@@ -872,6 +872,6 @@ function isConnectServer(value) {
|
|
|
872
872
|
return 'function' == typeof value && 'handle' in value && 'function' == typeof value.handle;
|
|
873
873
|
}
|
|
874
874
|
function isHttpServer(value) {
|
|
875
|
-
return value instanceof
|
|
875
|
+
return value instanceof __rspack_external_node_http_e245b239.Server;
|
|
876
876
|
}
|
|
877
877
|
export { connect };
|
package/dist/cssUrlLoader.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import node_path from "node:path";
|
|
2
|
-
import { isCSSModules } from "./
|
|
2
|
+
import { isCSSModules } from "./252.js";
|
|
3
3
|
let HASH_PLACEHOLDER_REGEX = /\[(?:[^:\]]+:)?(?:chunkhash|contenthash|hash|fullhash)(?::[^\]]+)?]/i, getRelativePath = (root, resourcePath)=>{
|
|
4
4
|
let relativePath = node_path.relative(root, resourcePath);
|
|
5
5
|
if (relativePath && !('..' === relativePath || relativePath.startsWith(`..${node_path.sep}`)) && !node_path.isAbsolute(relativePath)) return relativePath.replace(/\\/g, '/');
|
|
@@ -5,12 +5,13 @@ import node_http2 from "node:http2";
|
|
|
5
5
|
import { EventEmitter } from "node:events";
|
|
6
6
|
import "node:net";
|
|
7
7
|
import "node:stream";
|
|
8
|
+
import { styleText } from "node:util";
|
|
8
9
|
import { URL as external_node_url_URL } from "node:url";
|
|
9
10
|
import { URL as external_url_URL } from "url";
|
|
10
11
|
import "node:zlib";
|
|
11
12
|
import "node:querystring";
|
|
12
13
|
import { __webpack_require__ } from "./1~rslib-runtime.js";
|
|
13
|
-
import "./
|
|
14
|
+
import "./711.js";
|
|
14
15
|
__webpack_require__.add({
|
|
15
16
|
"../../node_modules/.pnpm/braces@3.0.3/node_modules/braces/index.js" (module, __unused_rspack_exports, __webpack_require__) {
|
|
16
17
|
let stringify = __webpack_require__("../../node_modules/.pnpm/braces@3.0.3/node_modules/braces/lib/stringify.js"), compile = __webpack_require__("../../node_modules/.pnpm/braces@3.0.3/node_modules/braces/lib/compile.js"), expand = __webpack_require__("../../node_modules/.pnpm/braces@3.0.3/node_modules/braces/lib/expand.js"), parse = __webpack_require__("../../node_modules/.pnpm/braces@3.0.3/node_modules/braces/lib/parse.js"), braces = (input, options = {})=>{
|
|
@@ -2398,7 +2399,7 @@ let redirectStatuses = new Set([
|
|
|
2398
2399
|
308
|
|
2399
2400
|
]), webIncomingMiddleware = [
|
|
2400
2401
|
(req)=>{
|
|
2401
|
-
"DELETE" !== req.method && "OPTIONS" !== req.method || req.headers["content-length"] ||
|
|
2402
|
+
"DELETE" !== req.method && "OPTIONS" !== req.method || req.headers["content-length"] || req.headers["transfer-encoding"] || (req.headers["content-length"] = "0");
|
|
2402
2403
|
},
|
|
2403
2404
|
(req, res, options)=>{
|
|
2404
2405
|
options.timeout && req.socket.setTimeout(options.timeout, ()=>{
|
|
@@ -2551,7 +2552,7 @@ let redirectStatuses = new Set([
|
|
|
2551
2552
|
}), proxyReq.end();
|
|
2552
2553
|
}
|
|
2553
2554
|
];
|
|
2554
|
-
var
|
|
2555
|
+
var ProxyServer = class extends EventEmitter {
|
|
2555
2556
|
_server;
|
|
2556
2557
|
_webPasses = [
|
|
2557
2558
|
...webIncomingMiddleware
|
|
@@ -2640,13 +2641,31 @@ function _createProxyFn(type, server) {
|
|
|
2640
2641
|
return callbackPromise;
|
|
2641
2642
|
};
|
|
2642
2643
|
}
|
|
2644
|
+
class errors_HttpProxyMiddlewareError extends Error {
|
|
2645
|
+
code;
|
|
2646
|
+
constructor(message, code){
|
|
2647
|
+
super(message), this.code = code, this.name = this.constructor.name, Error.captureStackTrace && Error.captureStackTrace(this, this.constructor);
|
|
2648
|
+
}
|
|
2649
|
+
}
|
|
2643
2650
|
function verifyConfig(options) {
|
|
2644
|
-
if (!options.target && !options.router) throw
|
|
2651
|
+
if (!options.target && !options.router) throw new errors_HttpProxyMiddlewareError('[HPM] Missing "target" option. Example: {target: "http://www.example.org"}', 'ERR_CONFIG_FACTORY_TARGET_MISSING');
|
|
2652
|
+
}
|
|
2653
|
+
let Debug = __webpack_require__("../../node_modules/.pnpm/debug@4.4.3/node_modules/debug/src/index.js")('http-proxy-middleware'), debug = Debug.extend('debug-proxy-errors-plugin'), BODY_PARSER_ERROR_MESSAGE = `[HPM] Connection reset (ECONNRESET) detected with non-empty "req.body" [ERR_HPM.GH40].
|
|
2654
|
+
|
|
2655
|
+
This usually means that the POST request body (req.body) was already parsed before reaching the proxy.
|
|
2656
|
+
When bodyParser runs first, it consumes the request stream, leaving the proxy unable to forward the body data to the target server.
|
|
2657
|
+
|
|
2658
|
+
How to fix this issue:
|
|
2659
|
+
- Option 1: Place the proxy middleware before the bodyParser middleware.
|
|
2660
|
+
- Option 2: Use 'fixRequestBody()' helper to fix this issue.
|
|
2661
|
+
|
|
2662
|
+
For more details, see: https://github.com/chimurai/http-proxy-middleware/issues/40\n`;
|
|
2663
|
+
function hasParsedBody(req) {
|
|
2664
|
+
return !!(req && 'POST' === req.method && 'body' in req && req.body);
|
|
2645
2665
|
}
|
|
2646
|
-
|
|
2647
|
-
let Debug = __webpack_require__("../../node_modules/.pnpm/debug@4.4.3/node_modules/debug/src/index.js")('http-proxy-middleware'), debug = Debug.extend('debug-proxy-errors-plugin'), debugProxyErrorsPlugin = (proxyServer, options)=>{
|
|
2666
|
+
let debugProxyErrorsPlugin = (proxyServer, options)=>{
|
|
2648
2667
|
proxyServer.on('error', (error, req, res, target)=>{
|
|
2649
|
-
debug(`httpxy error event: \n%O`, error);
|
|
2668
|
+
debug(`httpxy error event: \n%O`, error), 'ECONNRESET' === error.code && hasParsedBody(req) && console.error(styleText('red', BODY_PARSER_ERROR_MESSAGE));
|
|
2650
2669
|
}), proxyServer.on('proxyReq', (proxyReq, req, socket)=>{
|
|
2651
2670
|
socket.on('error', (error)=>{
|
|
2652
2671
|
debug('Socket error in proxyReq event: \n%O', error);
|
|
@@ -2780,10 +2799,10 @@ function matchPathFilter(pathFilter = '/', uri, req) {
|
|
|
2780
2799
|
if (Array.isArray(pathFilter)) {
|
|
2781
2800
|
if (pathFilter.every(isStringPath)) return matchMultiPath(pathFilter, uri);
|
|
2782
2801
|
if (pathFilter.every(isGlobPath)) return matchMultiGlobPath(pathFilter, uri);
|
|
2783
|
-
throw
|
|
2802
|
+
throw new errors_HttpProxyMiddlewareError('[HPM] Invalid pathFilter. Plain paths (e.g. "/api") can not be mixed with globs (e.g. "/api/**"). Expecting something like: ["/api", "/ajax"] or ["/api/**", "!**.html"].', 'HPM_INVALID_PATH_FILTER_ARRAY_CONFIG');
|
|
2784
2803
|
}
|
|
2785
2804
|
if ('function' == typeof pathFilter) return !!pathFilter(getUrlPathName(uri), req);
|
|
2786
|
-
throw
|
|
2805
|
+
throw new errors_HttpProxyMiddlewareError('[HPM] Invalid pathFilter. Expecting something like: "/api" or ["/api", "/ajax"]', 'HPM_INVALID_PATH_FILTER_CONFIG');
|
|
2787
2806
|
}
|
|
2788
2807
|
function matchSingleStringPath(pathFilter, uri) {
|
|
2789
2808
|
let pathname = getUrlPathName(uri);
|
|
@@ -2838,7 +2857,7 @@ function isValidRewriteConfig(rewriteConfig) {
|
|
|
2838
2857
|
if ('function' == typeof rewriteConfig) return !0;
|
|
2839
2858
|
if (isPlainObject(rewriteConfig)) return 0 !== Object.keys(rewriteConfig).length;
|
|
2840
2859
|
if (null == rewriteConfig) return !1;
|
|
2841
|
-
throw
|
|
2860
|
+
throw new errors_HttpProxyMiddlewareError('[HPM] Invalid pathRewrite config. Expecting object with pathRewrite config or a rewrite function', 'HPM_INVALID_PATH_REWRITER_CONFIG');
|
|
2842
2861
|
}
|
|
2843
2862
|
function parsePathRewriteRules(rewriteConfig) {
|
|
2844
2863
|
let rules = [];
|
package/dist/ignoreCssLoader.mjs
CHANGED
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export { PLUGIN_CSS_NAME, PLUGIN_SWC_NAME, createLogger, createRsbuild, defaultAllowedOrigins, defineConfig, ensureAssetPrefix, loadConfig, loadEnv, logger, mergeRsbuildConfig, rspack, runCLI, version } from "./
|
|
1
|
+
export { PLUGIN_CSS_NAME, PLUGIN_SWC_NAME, createLogger, createRsbuild, defaultAllowedOrigins, defineConfig, ensureAssetPrefix, loadConfig, loadEnv, logger, mergeRsbuildConfig, rspack, runCLI, version } from "./711.js";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { __webpack_require__ } from "./1~rslib-runtime.js";
|
|
2
|
-
import "./
|
|
2
|
+
import "./711.js";
|
|
3
3
|
__webpack_require__.add({
|
|
4
4
|
"../../node_modules/.pnpm/launch-editor-middleware@2.14.1/node_modules/launch-editor-middleware/index.js" (module, __unused_rspack_exports, __webpack_require__) {
|
|
5
5
|
let path = __webpack_require__("path?aeb1"), launch = __webpack_require__("../../node_modules/.pnpm/launch-editor@2.14.1/node_modules/launch-editor/index.js");
|
package/dist/manifest-plugin.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { __webpack_require__ } from "./1~rslib-runtime.js";
|
|
2
|
-
import "./
|
|
2
|
+
import "./711.js";
|
|
3
3
|
__webpack_require__.add({
|
|
4
|
-
"../../node_modules/.pnpm/rspack-manifest-plugin@5.2.2_@rspack+core@2.1.
|
|
4
|
+
"../../node_modules/.pnpm/rspack-manifest-plugin@5.2.2_@rspack+core@2.1.4/node_modules/rspack-manifest-plugin/dist/helpers.js" (__unused_rspack_module, exports, __webpack_require__) {
|
|
5
5
|
exports.transformFiles = exports.reduceChunk = exports.reduceAssets = exports.generateManifest = void 0;
|
|
6
6
|
let node_path_1 = __webpack_require__("node:path?435f");
|
|
7
7
|
exports.generateManifest = (compilation, files, { generate, seed = {} })=>generate ? generate(seed, files, Array.from(compilation.entrypoints.entries()).reduce((e, [name, entrypoint])=>Object.assign(e, {
|
|
@@ -61,9 +61,9 @@ __webpack_require__.add({
|
|
|
61
61
|
'sort'
|
|
62
62
|
].filter((fname)=>!!options[fname]).reduce((prev, fname)=>prev[fname](options[fname]), files).map(standardizeFilePaths);
|
|
63
63
|
},
|
|
64
|
-
"../../node_modules/.pnpm/rspack-manifest-plugin@5.2.2_@rspack+core@2.1.
|
|
64
|
+
"../../node_modules/.pnpm/rspack-manifest-plugin@5.2.2_@rspack+core@2.1.4/node_modules/rspack-manifest-plugin/dist/hooks.js" (__unused_rspack_module, exports, __webpack_require__) {
|
|
65
65
|
exports.getCompilerHooks = exports.emitHook = exports.beforeRunHook = void 0;
|
|
66
|
-
let node_fs_1 = __webpack_require__("node:fs?9592"), node_path_1 = __webpack_require__("node:path?435f"), lite_tapable_1 = __webpack_require__("../../node_modules/.pnpm/@rspack+lite-tapable@1.1.
|
|
66
|
+
let node_fs_1 = __webpack_require__("node:fs?9592"), node_path_1 = __webpack_require__("node:path?435f"), lite_tapable_1 = __webpack_require__("../../node_modules/.pnpm/@rspack+lite-tapable@1.1.2/node_modules/@rspack/lite-tapable/dist/index.cjs"), helpers_1 = __webpack_require__("../../node_modules/.pnpm/rspack-manifest-plugin@5.2.2_@rspack+core@2.1.4/node_modules/rspack-manifest-plugin/dist/helpers.js"), compilerHookMap = new WeakMap(), getCompilerHooks = (compiler)=>{
|
|
67
67
|
let hooks = compilerHookMap.get(compiler);
|
|
68
68
|
return void 0 === hooks && (hooks = {
|
|
69
69
|
afterEmit: new lite_tapable_1.SyncWaterfallHook([
|
|
@@ -112,9 +112,9 @@ __webpack_require__.add({
|
|
|
112
112
|
getCompilerHooks(compiler).afterEmit.call(manifest);
|
|
113
113
|
};
|
|
114
114
|
},
|
|
115
|
-
"../../node_modules/.pnpm/rspack-manifest-plugin@5.2.2_@rspack+core@2.1.
|
|
115
|
+
"../../node_modules/.pnpm/rspack-manifest-plugin@5.2.2_@rspack+core@2.1.4/node_modules/rspack-manifest-plugin/dist/index.js" (__unused_rspack_module, exports, __webpack_require__) {
|
|
116
116
|
exports.RspackManifestPlugin = void 0;
|
|
117
|
-
let node_path_1 = __webpack_require__("node:path?435f"), hooks_1 = __webpack_require__("../../node_modules/.pnpm/rspack-manifest-plugin@5.2.2_@rspack+core@2.1.
|
|
117
|
+
let node_path_1 = __webpack_require__("node:path?435f"), hooks_1 = __webpack_require__("../../node_modules/.pnpm/rspack-manifest-plugin@5.2.2_@rspack+core@2.1.4/node_modules/rspack-manifest-plugin/dist/hooks.js"), emitCountMap = new Map(), defaults = {
|
|
118
118
|
assetHookStage: 1 / 0,
|
|
119
119
|
basePath: '',
|
|
120
120
|
fileName: 'manifest.json',
|
|
@@ -157,13 +157,16 @@ __webpack_require__.add({
|
|
|
157
157
|
}
|
|
158
158
|
};
|
|
159
159
|
},
|
|
160
|
-
"../../node_modules/.pnpm/@rspack+lite-tapable@1.1.
|
|
160
|
+
"../../node_modules/.pnpm/@rspack+lite-tapable@1.1.2/node_modules/@rspack/lite-tapable/dist/index.cjs" (__unused_rspack_module, exports) {
|
|
161
161
|
var __nested_rspack_require_18_37__ = {};
|
|
162
|
-
__nested_rspack_require_18_37__.d = (exports1,
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
162
|
+
__nested_rspack_require_18_37__.d = (exports1, getters, values)=>{
|
|
163
|
+
var define = (defs, kind)=>{
|
|
164
|
+
for(var key in defs)__nested_rspack_require_18_37__.o(defs, key) && !__nested_rspack_require_18_37__.o(exports1, key) && Object.defineProperty(exports1, key, {
|
|
165
|
+
enumerable: !0,
|
|
166
|
+
[kind]: defs[key]
|
|
167
|
+
});
|
|
168
|
+
};
|
|
169
|
+
define(getters, "get"), define(values, "value");
|
|
167
170
|
}, __nested_rspack_require_18_37__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop), __nested_rspack_require_18_37__.r = (exports1)=>{
|
|
168
171
|
"u" > typeof Symbol && Symbol.toStringTag && Object.defineProperty(exports1, Symbol.toStringTag, {
|
|
169
172
|
value: 'Module'
|
|
@@ -180,23 +183,7 @@ __webpack_require__.add({
|
|
|
180
183
|
writable: !0
|
|
181
184
|
}) : obj[key] = value, obj;
|
|
182
185
|
}
|
|
183
|
-
__nested_rspack_require_18_37__.r(__nested_rspack_exports__)
|
|
184
|
-
AsyncParallelHook: ()=>AsyncParallelHook,
|
|
185
|
-
AsyncSeriesBailHook: ()=>AsyncSeriesBailHook,
|
|
186
|
-
AsyncSeriesHook: ()=>AsyncSeriesHook,
|
|
187
|
-
AsyncSeriesWaterfallHook: ()=>AsyncSeriesWaterfallHook,
|
|
188
|
-
HookBase: ()=>HookBase,
|
|
189
|
-
HookMap: ()=>HookMap,
|
|
190
|
-
MultiHook: ()=>MultiHook,
|
|
191
|
-
QueriedHook: ()=>QueriedHook,
|
|
192
|
-
QueriedHookMap: ()=>QueriedHookMap,
|
|
193
|
-
SyncBailHook: ()=>SyncBailHook,
|
|
194
|
-
SyncHook: ()=>SyncHook,
|
|
195
|
-
SyncWaterfallHook: ()=>SyncWaterfallHook,
|
|
196
|
-
maxStage: ()=>maxStage,
|
|
197
|
-
minStage: ()=>minStage,
|
|
198
|
-
safeStage: ()=>safeStage
|
|
199
|
-
});
|
|
186
|
+
__nested_rspack_require_18_37__.r(__nested_rspack_exports__);
|
|
200
187
|
class HookBase {
|
|
201
188
|
intercept(interceptor) {
|
|
202
189
|
if (this.interceptors.push(Object.assign({}, interceptor)), interceptor.register) for(let i = 0; i < this.taps.length; i++)this.taps[i] = interceptor.register(this.taps[i]);
|
|
@@ -240,7 +227,7 @@ __webpack_require__.add({
|
|
|
240
227
|
queryStageRange(stageRange) {
|
|
241
228
|
return new QueriedHook(stageRange, this);
|
|
242
229
|
}
|
|
243
|
-
callAsyncStageRange(
|
|
230
|
+
callAsyncStageRange(_queried) {
|
|
244
231
|
throw Error('Hook should implement there own _callAsyncStageRange');
|
|
245
232
|
}
|
|
246
233
|
callAsync(...args) {
|
|
@@ -313,7 +300,7 @@ __webpack_require__.add({
|
|
|
313
300
|
let minStage = -1 / 0, maxStage = 1 / 0, allStageRange = [
|
|
314
301
|
minStage,
|
|
315
302
|
1 / 0
|
|
316
|
-
], i32MAX = 2147483648 - 1
|
|
303
|
+
], i32MAX = 2147483648 - 1;
|
|
317
304
|
class QueriedHook {
|
|
318
305
|
isUsed() {
|
|
319
306
|
return !!(this.tapsInRange.length > 0 || this.stageRange[0] === minStage && this.hook.interceptors.some((i)=>i.call) || this.stageRange[1] === maxStage && this.hook.interceptors.some((i)=>i.done));
|
|
@@ -662,7 +649,24 @@ __webpack_require__.add({
|
|
|
662
649
|
_define_property(this, "hooks", void 0), _define_property(this, "name", void 0), this.hooks = hooks, this.name = name;
|
|
663
650
|
}
|
|
664
651
|
}
|
|
665
|
-
for(var
|
|
652
|
+
for(var __rspack_i in __nested_rspack_require_18_37__.d(__nested_rspack_exports__, {
|
|
653
|
+
AsyncParallelHook: ()=>AsyncParallelHook,
|
|
654
|
+
AsyncSeriesBailHook: ()=>AsyncSeriesBailHook,
|
|
655
|
+
AsyncSeriesHook: ()=>AsyncSeriesHook,
|
|
656
|
+
AsyncSeriesWaterfallHook: ()=>AsyncSeriesWaterfallHook,
|
|
657
|
+
HookBase: ()=>HookBase,
|
|
658
|
+
HookMap: ()=>HookMap,
|
|
659
|
+
MultiHook: ()=>MultiHook,
|
|
660
|
+
QueriedHook: ()=>QueriedHook,
|
|
661
|
+
QueriedHookMap: ()=>QueriedHookMap,
|
|
662
|
+
SyncBailHook: ()=>SyncBailHook,
|
|
663
|
+
SyncHook: ()=>SyncHook,
|
|
664
|
+
SyncWaterfallHook: ()=>SyncWaterfallHook
|
|
665
|
+
}, {
|
|
666
|
+
maxStage: maxStage,
|
|
667
|
+
minStage: minStage,
|
|
668
|
+
safeStage: (stage)=>stage < -2147483648 ? -2147483648 : stage > i32MAX ? i32MAX : stage
|
|
669
|
+
}), exports.AsyncParallelHook = __nested_rspack_exports__.AsyncParallelHook, exports.AsyncSeriesBailHook = __nested_rspack_exports__.AsyncSeriesBailHook, exports.AsyncSeriesHook = __nested_rspack_exports__.AsyncSeriesHook, exports.AsyncSeriesWaterfallHook = __nested_rspack_exports__.AsyncSeriesWaterfallHook, exports.HookBase = __nested_rspack_exports__.HookBase, exports.HookMap = __nested_rspack_exports__.HookMap, exports.MultiHook = __nested_rspack_exports__.MultiHook, exports.QueriedHook = __nested_rspack_exports__.QueriedHook, exports.QueriedHookMap = __nested_rspack_exports__.QueriedHookMap, exports.SyncBailHook = __nested_rspack_exports__.SyncBailHook, exports.SyncHook = __nested_rspack_exports__.SyncHook, exports.SyncWaterfallHook = __nested_rspack_exports__.SyncWaterfallHook, exports.maxStage = __nested_rspack_exports__.maxStage, exports.minStage = __nested_rspack_exports__.minStage, exports.safeStage = __nested_rspack_exports__.safeStage, __nested_rspack_exports__)-1 === [
|
|
666
670
|
"AsyncParallelHook",
|
|
667
671
|
"AsyncSeriesBailHook",
|
|
668
672
|
"AsyncSeriesHook",
|
|
@@ -678,11 +682,11 @@ __webpack_require__.add({
|
|
|
678
682
|
"maxStage",
|
|
679
683
|
"minStage",
|
|
680
684
|
"safeStage"
|
|
681
|
-
].indexOf(
|
|
685
|
+
].indexOf(__rspack_i) && (exports[__rspack_i] = __nested_rspack_exports__[__rspack_i]);
|
|
682
686
|
Object.defineProperty(exports, "__esModule", {
|
|
683
687
|
value: !0
|
|
684
688
|
});
|
|
685
689
|
}
|
|
686
690
|
});
|
|
687
|
-
var RspackManifestPlugin = __webpack_require__("../../node_modules/.pnpm/rspack-manifest-plugin@5.2.2_@rspack+core@2.1.
|
|
691
|
+
var RspackManifestPlugin = __webpack_require__("../../node_modules/.pnpm/rspack-manifest-plugin@5.2.2_@rspack+core@2.1.4/node_modules/rspack-manifest-plugin/dist/index.js").RspackManifestPlugin;
|
|
688
692
|
export { RspackManifestPlugin };
|