@rushstack/package-extractor 0.10.37 → 0.10.39

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/CHANGELOG.json CHANGED
@@ -1,6 +1,51 @@
1
1
  {
2
2
  "name": "@rushstack/package-extractor",
3
3
  "entries": [
4
+ {
5
+ "version": "0.10.39",
6
+ "tag": "@rushstack/package-extractor_v0.10.39",
7
+ "date": "Tue, 30 Sep 2025 20:33:51 GMT",
8
+ "comments": {
9
+ "dependency": [
10
+ {
11
+ "comment": "Updating dependency \"@rushstack/node-core-library\" to `5.15.0`"
12
+ },
13
+ {
14
+ "comment": "Updating dependency \"@rushstack/terminal\" to `0.17.0`"
15
+ },
16
+ {
17
+ "comment": "Updating dependency \"@rushstack/ts-command-line\" to `5.0.4`"
18
+ },
19
+ {
20
+ "comment": "Updating dependency \"@rushstack/heft-webpack5-plugin\" to `0.11.43`"
21
+ },
22
+ {
23
+ "comment": "Updating dependency \"@rushstack/heft\" to `0.75.0`"
24
+ },
25
+ {
26
+ "comment": "Updating dependency \"@rushstack/webpack-preserve-dynamic-require-plugin\" to `0.11.109`"
27
+ }
28
+ ]
29
+ }
30
+ },
31
+ {
32
+ "version": "0.10.38",
33
+ "tag": "@rushstack/package-extractor_v0.10.38",
34
+ "date": "Fri, 12 Sep 2025 15:13:07 GMT",
35
+ "comments": {
36
+ "dependency": [
37
+ {
38
+ "comment": "Updating dependency \"@rushstack/heft-webpack5-plugin\" to `0.11.42`"
39
+ },
40
+ {
41
+ "comment": "Updating dependency \"@rushstack/heft\" to `0.74.5`"
42
+ },
43
+ {
44
+ "comment": "Updating dependency \"@rushstack/webpack-preserve-dynamic-require-plugin\" to `0.11.108`"
45
+ }
46
+ ]
47
+ }
48
+ },
4
49
  {
5
50
  "version": "0.10.37",
6
51
  "tag": "@rushstack/package-extractor_v0.10.37",
package/CHANGELOG.md CHANGED
@@ -1,6 +1,16 @@
1
1
  # Change Log - @rushstack/package-extractor
2
2
 
3
- This log was last generated on Thu, 11 Sep 2025 00:22:31 GMT and should not be manually modified.
3
+ This log was last generated on Tue, 30 Sep 2025 20:33:51 GMT and should not be manually modified.
4
+
5
+ ## 0.10.39
6
+ Tue, 30 Sep 2025 20:33:51 GMT
7
+
8
+ _Version update only_
9
+
10
+ ## 0.10.38
11
+ Fri, 12 Sep 2025 15:13:07 GMT
12
+
13
+ _Version update only_
4
14
 
5
15
  ## 0.10.37
6
16
  Thu, 11 Sep 2025 00:22:31 GMT
@@ -3826,6 +3826,24 @@ var tap =
3826
3826
 
3827
3827
  /***/ }),
3828
3828
 
3829
+ /***/ 51542:
3830
+ /*!***************************************!*\
3831
+ !*** ../problem-matcher/lib/index.js ***!
3832
+ \***************************************/
3833
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3834
+
3835
+ "use strict";
3836
+
3837
+ // Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license.
3838
+ // See LICENSE in the project root for license information.
3839
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
3840
+ exports.parseProblemMatchersJson = void 0;
3841
+ var ProblemMatcher_1 = __webpack_require__(/*! ./ProblemMatcher */ 217315);
3842
+ Object.defineProperty(exports, "parseProblemMatchersJson", ({ enumerable: true, get: function () { return ProblemMatcher_1.parseProblemMatchersJson; } }));
3843
+ //# sourceMappingURL=index.js.map
3844
+
3845
+ /***/ }),
3846
+
3829
3847
  /***/ 51650:
3830
3848
  /*!************************************************************************************************!*\
3831
3849
  !*** ../../common/temp/default/node_modules/.pnpm/ramda@0.27.2/node_modules/ramda/es/minBy.js ***!
@@ -16825,6 +16843,248 @@ function _of(x) {
16825
16843
 
16826
16844
  /***/ }),
16827
16845
 
16846
+ /***/ 217315:
16847
+ /*!************************************************!*\
16848
+ !*** ../problem-matcher/lib/ProblemMatcher.js ***!
16849
+ \************************************************/
16850
+ /***/ ((__unused_webpack_module, exports) => {
16851
+
16852
+ "use strict";
16853
+
16854
+ // Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license.
16855
+ // See LICENSE in the project root for license information.
16856
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
16857
+ exports.parseProblemMatchersJson = parseProblemMatchersJson;
16858
+ /**
16859
+ * Parse VS Code problem matcher JSON definitions into {@link IProblemMatcher} objects.
16860
+ *
16861
+ * @public
16862
+ */
16863
+ function parseProblemMatchersJson(problemMatchers) {
16864
+ const result = [];
16865
+ for (const matcher of problemMatchers) {
16866
+ const problemPatterns = Array.isArray(matcher.pattern)
16867
+ ? matcher.pattern
16868
+ : [matcher.pattern];
16869
+ if (problemPatterns.length === 0) {
16870
+ continue;
16871
+ }
16872
+ const name = matcher.name;
16873
+ const defaultSeverity = matcher.severity;
16874
+ const compiled = compileProblemPatterns(problemPatterns);
16875
+ if (compiled.length === 1) {
16876
+ result.push(createSingleLineMatcher(name, compiled[0], defaultSeverity));
16877
+ }
16878
+ else {
16879
+ result.push(createMultiLineMatcher(name, compiled, defaultSeverity));
16880
+ }
16881
+ }
16882
+ return result;
16883
+ }
16884
+ function toNumber(text) {
16885
+ if (!text) {
16886
+ return undefined;
16887
+ }
16888
+ const n = parseInt(text, 10);
16889
+ return isNaN(n) ? undefined : n;
16890
+ }
16891
+ function normalizeSeverity(raw) {
16892
+ if (!raw) {
16893
+ return undefined;
16894
+ }
16895
+ const lowered = raw.toLowerCase();
16896
+ // Support full words as well as common abbreviations (e.g. single-letter tokens)
16897
+ if (lowered.indexOf('err') === 0)
16898
+ return 'error';
16899
+ if (lowered.indexOf('warn') === 0)
16900
+ return 'warning';
16901
+ if (lowered.indexOf('info') === 0)
16902
+ return 'info';
16903
+ return undefined;
16904
+ }
16905
+ function compileProblemPatterns(problemPatterns) {
16906
+ return problemPatterns.map((problemPattern) => {
16907
+ let reStr = problemPattern.regexp;
16908
+ if (/\\r?\\n\$/.test(reStr) || /\\n\$/.test(reStr)) {
16909
+ // already newline aware
16910
+ }
16911
+ else if (reStr.length > 0 && reStr.charAt(reStr.length - 1) === '$') {
16912
+ reStr = reStr.slice(0, -1) + '\\r?\\n$';
16913
+ }
16914
+ else {
16915
+ reStr = reStr + '(?:\\r?\\n)';
16916
+ }
16917
+ const re = new RegExp(reStr);
16918
+ return { re, spec: problemPattern };
16919
+ });
16920
+ }
16921
+ function createEmptyCaptures() {
16922
+ return { messageParts: [] };
16923
+ }
16924
+ /**
16925
+ * Apply one pattern's regex match to the (possibly accumulating) captures.
16926
+ */
16927
+ function applyPatternCaptures(spec, reMatch, captures, defaultSeverity) {
16928
+ if (spec.file && reMatch[spec.file]) {
16929
+ captures.file = reMatch[spec.file];
16930
+ }
16931
+ if (spec.location && reMatch[spec.location]) {
16932
+ const loc = reMatch[spec.location];
16933
+ const parts = loc.split(/[,.:]/).filter((s) => s.length > 0);
16934
+ if (parts.length === 1) {
16935
+ captures.line = toNumber(parts[0]);
16936
+ }
16937
+ else if (parts.length === 2) {
16938
+ captures.line = toNumber(parts[0]);
16939
+ captures.column = toNumber(parts[1]);
16940
+ }
16941
+ else if (parts.length === 4) {
16942
+ captures.line = toNumber(parts[0]);
16943
+ captures.column = toNumber(parts[1]);
16944
+ captures.endLine = toNumber(parts[2]);
16945
+ captures.endColumn = toNumber(parts[3]);
16946
+ }
16947
+ }
16948
+ else {
16949
+ if (spec.line && reMatch[spec.line]) {
16950
+ captures.line = toNumber(reMatch[spec.line]);
16951
+ }
16952
+ if (spec.column && reMatch[spec.column]) {
16953
+ captures.column = toNumber(reMatch[spec.column]);
16954
+ }
16955
+ }
16956
+ if (spec.endLine && reMatch[spec.endLine]) {
16957
+ captures.endLine = toNumber(reMatch[spec.endLine]);
16958
+ }
16959
+ if (spec.endColumn && reMatch[spec.endColumn]) {
16960
+ captures.endColumn = toNumber(reMatch[spec.endColumn]);
16961
+ }
16962
+ if (spec.severity && reMatch[spec.severity]) {
16963
+ captures.severity = normalizeSeverity(reMatch[spec.severity]) || defaultSeverity;
16964
+ }
16965
+ else if (!captures.severity && defaultSeverity) {
16966
+ captures.severity = defaultSeverity;
16967
+ }
16968
+ if (spec.code && reMatch[spec.code]) {
16969
+ captures.code = reMatch[spec.code];
16970
+ }
16971
+ if (spec.message && reMatch[spec.message]) {
16972
+ captures.messageParts.push(reMatch[spec.message]);
16973
+ }
16974
+ }
16975
+ function finalizeProblem(matcherName, captures, defaultSeverity) {
16976
+ return {
16977
+ matcherName,
16978
+ file: captures.file,
16979
+ line: captures.line,
16980
+ column: captures.column,
16981
+ endLine: captures.endLine,
16982
+ endColumn: captures.endColumn,
16983
+ severity: captures.severity || defaultSeverity,
16984
+ code: captures.code,
16985
+ message: captures.messageParts.join('\n')
16986
+ };
16987
+ }
16988
+ function createSingleLineMatcher(name, compiled, defaultSeverity) {
16989
+ const { re, spec } = compiled;
16990
+ return {
16991
+ name,
16992
+ exec(line) {
16993
+ const match = re.exec(line);
16994
+ if (!match) {
16995
+ return false;
16996
+ }
16997
+ const captures = createEmptyCaptures();
16998
+ applyPatternCaptures(spec, match, captures, defaultSeverity);
16999
+ return finalizeProblem(name, captures, defaultSeverity);
17000
+ }
17001
+ };
17002
+ }
17003
+ function createMultiLineMatcher(name, compiled, defaultSeverity) {
17004
+ // currentIndex points to the next pattern we expect to match. When it equals compiled.length
17005
+ // and the last pattern is a loop, we are in a special "loop state" where additional lines
17006
+ // should be attempted against only the last pattern to emit more problems.
17007
+ let currentIndex = 0;
17008
+ const lastSpec = compiled[compiled.length - 1].spec;
17009
+ const lastIsLoop = !!lastSpec.loop;
17010
+ let captures = createEmptyCaptures();
17011
+ return {
17012
+ name,
17013
+ exec(line) {
17014
+ let effectiveMatch = null;
17015
+ let effectiveSpec;
17016
+ // Determine matching behavior based on current state
17017
+ if (currentIndex === compiled.length && lastIsLoop) {
17018
+ // Loop state: only try to match the last pattern
17019
+ const lastPattern = compiled[compiled.length - 1];
17020
+ effectiveMatch = lastPattern.re.exec(line);
17021
+ if (!effectiveMatch) {
17022
+ // Exit loop state and reset for a potential new sequence
17023
+ currentIndex = 0;
17024
+ captures = createEmptyCaptures();
17025
+ // Attempt to treat this line as a fresh start (pattern 0)
17026
+ const first = compiled[0];
17027
+ const fresh = first.re.exec(line);
17028
+ if (!fresh) {
17029
+ return false;
17030
+ }
17031
+ effectiveMatch = fresh;
17032
+ effectiveSpec = first.spec;
17033
+ currentIndex = compiled.length > 1 ? 1 : compiled.length;
17034
+ }
17035
+ else {
17036
+ effectiveSpec = lastPattern.spec;
17037
+ // currentIndex remains compiled.length (loop state) until we decide to emit
17038
+ }
17039
+ }
17040
+ else {
17041
+ // Normal multi-line progression state
17042
+ const active = compiled[currentIndex];
17043
+ const reMatch = active.re.exec(line);
17044
+ if (!reMatch) {
17045
+ // Reset and maybe attempt new start
17046
+ currentIndex = 0;
17047
+ captures = createEmptyCaptures();
17048
+ const { re: re0, spec: spec0 } = compiled[0];
17049
+ const restartMatch = re0.exec(line);
17050
+ if (!restartMatch) {
17051
+ return false;
17052
+ }
17053
+ effectiveMatch = restartMatch;
17054
+ effectiveSpec = spec0;
17055
+ currentIndex = compiled.length > 1 ? 1 : compiled.length;
17056
+ }
17057
+ else {
17058
+ effectiveMatch = reMatch;
17059
+ effectiveSpec = active.spec;
17060
+ currentIndex++;
17061
+ }
17062
+ }
17063
+ applyPatternCaptures(effectiveSpec, effectiveMatch, captures, defaultSeverity);
17064
+ // If we haven't matched all patterns yet (and not in loop state), wait for more lines
17065
+ if (currentIndex < compiled.length) {
17066
+ return false;
17067
+ }
17068
+ // We have matched the full sequence (either first completion or a loop iteration)
17069
+ const problem = finalizeProblem(name, captures, defaultSeverity);
17070
+ if (lastIsLoop) {
17071
+ // Stay in loop state; reset fields that accumulate per problem but retain other context (e.g., file if first pattern captured it?)
17072
+ // For safety, if the last pattern provided the file each iteration we keep overwriting anyway.
17073
+ captures.messageParts = [];
17074
+ // Do not clear entire captures to allow preceding pattern data (e.g., summary) to persist if desirable.
17075
+ }
17076
+ else {
17077
+ currentIndex = 0;
17078
+ captures = createEmptyCaptures();
17079
+ }
17080
+ return problem;
17081
+ }
17082
+ };
17083
+ }
17084
+ //# sourceMappingURL=ProblemMatcher.js.map
17085
+
17086
+ /***/ }),
17087
+
16828
17088
  /***/ 217948:
16829
17089
  /*!*****************************************************************************************************************!*\
16830
17090
  !*** ../../common/temp/default/node_modules/.pnpm/graceful-fs@4.2.4/node_modules/graceful-fs/legacy-streams.js ***!
@@ -29445,6 +29705,24 @@ const Path_1 = __webpack_require__(/*! ./Path */ 302405);
29445
29705
  const TypeUuid_1 = __webpack_require__(/*! ./TypeUuid */ 694977);
29446
29706
  const uuidFileError = '37a4c772-2dc8-4c66-89ae-262f8cc1f0c1';
29447
29707
  const baseFolderEnvVar = 'RUSHSTACK_FILE_ERROR_BASE_FOLDER';
29708
+ const unixProblemMatcherPattern = {
29709
+ regexp: '^\\[[^\\]]+\\]\\s+(Error|Warning):\\s+([^:]+):(\\d+):(\\d+)\\s+-\\s+(?:\\(([^)]+)\\)\\s+)?(.*)$',
29710
+ severity: 1,
29711
+ file: 2,
29712
+ line: 3,
29713
+ column: 4,
29714
+ code: 5,
29715
+ message: 6
29716
+ };
29717
+ const vsProblemMatcherPattern = {
29718
+ regexp: '^\\[[^\\]]+\\]\\s+(Error|Warning):\\s+([^\\(]+)\\((\\d+),(\\d+)\\)\\s+-\\s+(?:\\(([^)]+)\\)\\s+)?(.*)$',
29719
+ severity: 1,
29720
+ file: 2,
29721
+ line: 3,
29722
+ column: 4,
29723
+ code: 5,
29724
+ message: 6
29725
+ };
29448
29726
  /**
29449
29727
  * An `Error` subclass that should be thrown to report an unexpected state that specifically references
29450
29728
  * a location in a file.
@@ -29497,6 +29775,23 @@ class FileError extends Error {
29497
29775
  column: this.column
29498
29776
  });
29499
29777
  }
29778
+ /**
29779
+ * Get the problem matcher pattern for parsing error messages.
29780
+ *
29781
+ * @param options - Options for the error message format.
29782
+ * @returns The problem matcher pattern.
29783
+ */
29784
+ static getProblemMatcher(options) {
29785
+ const format = (options === null || options === void 0 ? void 0 : options.format) || 'Unix';
29786
+ switch (format) {
29787
+ case 'Unix':
29788
+ return unixProblemMatcherPattern;
29789
+ case 'VisualStudio':
29790
+ return vsProblemMatcherPattern;
29791
+ default:
29792
+ throw new Error(`The FileError format "${format}" is not supported for problem matchers.`);
29793
+ }
29794
+ }
29500
29795
  _evaluateBaseFolder() {
29501
29796
  // Cache the sanitized environment variable. This means that we don't support changing
29502
29797
  // the environment variable mid-execution. This is a reasonable tradeoff for the benefit
@@ -71550,7 +71845,7 @@ exports.CommandLineAction = CommandLineAction;
71550
71845
  // Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license.
71551
71846
  // See LICENSE in the project root for license information.
71552
71847
  Object.defineProperty(exports, "__esModule", ({ value: true }));
71553
- exports.TerminalStreamWritable = exports.NoOpTerminalProvider = exports.PrefixProxyTerminalProvider = exports.StringBufferTerminalProvider = exports.ConsoleTerminalProvider = exports.TerminalProviderSeverity = exports.Colorize = exports.Terminal = exports.AnsiEscape = exports.TextRewriterTransform = exports.TextRewriter = exports.TerminalWritable = exports.TerminalTransform = exports.StdioWritable = exports.StdioSummarizer = exports.StderrLineTransform = exports.SplitterTransform = exports.RemoveColorsTextRewriter = exports.PrintUtilities = exports.DEFAULT_CONSOLE_WIDTH = exports.NormalizeNewlinesTextRewriter = exports.MockWritable = exports.TerminalChunkKind = exports.DiscardStdoutTransform = exports.CallbackWritable = void 0;
71848
+ exports.ProblemCollector = exports.TerminalStreamWritable = exports.NoOpTerminalProvider = exports.PrefixProxyTerminalProvider = exports.StringBufferTerminalProvider = exports.ConsoleTerminalProvider = exports.TerminalProviderSeverity = exports.Colorize = exports.Terminal = exports.AnsiEscape = exports.TextRewriterTransform = exports.TextRewriter = exports.TerminalWritable = exports.TerminalTransform = exports.StdioWritable = exports.StdioSummarizer = exports.StderrLineTransform = exports.SplitterTransform = exports.RemoveColorsTextRewriter = exports.PrintUtilities = exports.DEFAULT_CONSOLE_WIDTH = exports.NormalizeNewlinesTextRewriter = exports.MockWritable = exports.TerminalChunkKind = exports.DiscardStdoutTransform = exports.CallbackWritable = void 0;
71554
71849
  /// <reference types="node" preserve="true" />
71555
71850
  /**
71556
71851
  * This library implements a system for processing human readable text that
@@ -71610,6 +71905,8 @@ var NoOpTerminalProvider_1 = __webpack_require__(/*! ./NoOpTerminalProvider */ 7
71610
71905
  Object.defineProperty(exports, "NoOpTerminalProvider", ({ enumerable: true, get: function () { return NoOpTerminalProvider_1.NoOpTerminalProvider; } }));
71611
71906
  var TerminalStreamWritable_1 = __webpack_require__(/*! ./TerminalStreamWritable */ 687716);
71612
71907
  Object.defineProperty(exports, "TerminalStreamWritable", ({ enumerable: true, get: function () { return TerminalStreamWritable_1.TerminalStreamWritable; } }));
71908
+ var ProblemCollector_1 = __webpack_require__(/*! ./ProblemCollector */ 996746);
71909
+ Object.defineProperty(exports, "ProblemCollector", ({ enumerable: true, get: function () { return ProblemCollector_1.ProblemCollector; } }));
71613
71910
  //# sourceMappingURL=index.js.map
71614
71911
 
71615
71912
  /***/ }),
@@ -72359,6 +72656,100 @@ var last =
72359
72656
 
72360
72657
  /***/ }),
72361
72658
 
72659
+ /***/ 996746:
72660
+ /*!*******************************************!*\
72661
+ !*** ../terminal/lib/ProblemCollector.js ***!
72662
+ \*******************************************/
72663
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
72664
+
72665
+ "use strict";
72666
+
72667
+ // Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license.
72668
+ // See LICENSE in the project root for license information.
72669
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
72670
+ exports.ProblemCollector = void 0;
72671
+ const problem_matcher_1 = __webpack_require__(/*! @rushstack/problem-matcher */ 51542);
72672
+ const TerminalWritable_1 = __webpack_require__(/*! ./TerminalWritable */ 33900);
72673
+ /**
72674
+ * A {@link TerminalWritable} that consumes line-oriented terminal output and extracts structured
72675
+ * problems using one or more {@link @rushstack/problem-matcher#IProblemMatcher | IProblemMatcher} instances.
72676
+ *
72677
+ * @remarks
72678
+ * This collector expects that each incoming {@link ITerminalChunk} represents a single line terminated
72679
+ * by a `"\n"` character (for example when preceded by {@link StderrLineTransform} / `StdioLineTransform`).
72680
+ * If a chunk does not end with a newline an error is thrown to surface incorrect pipeline wiring early.
72681
+ *
72682
+ * @beta
72683
+ */
72684
+ class ProblemCollector extends TerminalWritable_1.TerminalWritable {
72685
+ constructor(options) {
72686
+ super(options);
72687
+ this._problems = new Set();
72688
+ if (!options ||
72689
+ ((!options.matchers || options.matchers.length === 0) &&
72690
+ (!options.matcherJson || options.matcherJson.length === 0))) {
72691
+ throw new Error('ProblemCollector requires at least one problem matcher.');
72692
+ }
72693
+ const fromJson = options.matcherJson
72694
+ ? (0, problem_matcher_1.parseProblemMatchersJson)(options.matcherJson)
72695
+ : [];
72696
+ this._matchers = [...(options.matchers || []), ...fromJson];
72697
+ if (this._matchers.length === 0) {
72698
+ throw new Error('ProblemCollector requires at least one problem matcher.');
72699
+ }
72700
+ }
72701
+ /**
72702
+ * {@inheritdoc IProblemCollector}
72703
+ */
72704
+ get problems() {
72705
+ return this._problems;
72706
+ }
72707
+ /**
72708
+ * {@inheritdoc TerminalWritable}
72709
+ */
72710
+ onWriteChunk(chunk) {
72711
+ const text = chunk.text;
72712
+ if (text.length === 0 || text[text.length - 1] !== '\n') {
72713
+ throw new Error('ProblemCollector expects chunks that were split into newline terminated lines. ' +
72714
+ 'Invalid input: ' +
72715
+ JSON.stringify(text));
72716
+ }
72717
+ for (const matcher of this._matchers) {
72718
+ const problem = matcher.exec(text);
72719
+ if (problem) {
72720
+ const finalized = {
72721
+ ...problem,
72722
+ matcherName: matcher.name
72723
+ };
72724
+ this._problems.add(finalized);
72725
+ }
72726
+ }
72727
+ }
72728
+ /**
72729
+ * {@inheritdoc TerminalWritable}
72730
+ */
72731
+ onClose() {
72732
+ for (const matcher of this._matchers) {
72733
+ if (matcher.flush) {
72734
+ const flushed = matcher.flush();
72735
+ if (flushed && flushed.length > 0) {
72736
+ for (const problem of flushed) {
72737
+ const finalized = {
72738
+ ...problem,
72739
+ matcherName: matcher.name
72740
+ };
72741
+ this._problems.add(finalized);
72742
+ }
72743
+ }
72744
+ }
72745
+ }
72746
+ }
72747
+ }
72748
+ exports.ProblemCollector = ProblemCollector;
72749
+ //# sourceMappingURL=ProblemCollector.js.map
72750
+
72751
+ /***/ }),
72752
+
72362
72753
  /***/ 999130:
72363
72754
  /*!**************************************************************************************************!*\
72364
72755
  !*** ../../common/temp/default/node_modules/.pnpm/ramda@0.27.2/node_modules/ramda/es/indexBy.js ***!