@rushstack/package-extractor 0.13.1 → 0.13.3

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,62 @@
1
1
  {
2
2
  "name": "@rushstack/package-extractor",
3
3
  "entries": [
4
+ {
5
+ "version": "0.13.3",
6
+ "tag": "@rushstack/package-extractor_v0.13.3",
7
+ "date": "Sat, 18 Apr 2026 03:47:10 GMT",
8
+ "comments": {
9
+ "dependency": [
10
+ {
11
+ "comment": "Updating dependency \"@rushstack/terminal\" to `0.23.0`"
12
+ },
13
+ {
14
+ "comment": "Updating dependency \"@rushstack/ts-command-line\" to `5.3.8`"
15
+ },
16
+ {
17
+ "comment": "Updating dependency \"@rushstack/heft-webpack5-plugin\" to `1.3.16`"
18
+ },
19
+ {
20
+ "comment": "Updating dependency \"@rushstack/heft\" to `1.2.15`"
21
+ },
22
+ {
23
+ "comment": "Updating dependency \"@rushstack/webpack-preserve-dynamic-require-plugin\" to `0.12.16`"
24
+ }
25
+ ]
26
+ }
27
+ },
28
+ {
29
+ "version": "0.13.2",
30
+ "tag": "@rushstack/package-extractor_v0.13.2",
31
+ "date": "Sat, 18 Apr 2026 00:15:16 GMT",
32
+ "comments": {
33
+ "patch": [
34
+ {
35
+ "comment": "Bump semver."
36
+ }
37
+ ],
38
+ "dependency": [
39
+ {
40
+ "comment": "Updating dependency \"@rushstack/node-core-library\" to `5.23.1`"
41
+ },
42
+ {
43
+ "comment": "Updating dependency \"@rushstack/terminal\" to `0.22.7`"
44
+ },
45
+ {
46
+ "comment": "Updating dependency \"@rushstack/ts-command-line\" to `5.3.7`"
47
+ },
48
+ {
49
+ "comment": "Updating dependency \"@rushstack/heft-webpack5-plugin\" to `1.3.15`"
50
+ },
51
+ {
52
+ "comment": "Updating dependency \"@rushstack/heft\" to `1.2.14`"
53
+ },
54
+ {
55
+ "comment": "Updating dependency \"@rushstack/webpack-preserve-dynamic-require-plugin\" to `0.12.15`"
56
+ }
57
+ ]
58
+ }
59
+ },
4
60
  {
5
61
  "version": "0.13.1",
6
62
  "tag": "@rushstack/package-extractor_v0.13.1",
package/CHANGELOG.md CHANGED
@@ -1,6 +1,18 @@
1
1
  # Change Log - @rushstack/package-extractor
2
2
 
3
- This log was last generated on Fri, 17 Apr 2026 15:14:57 GMT and should not be manually modified.
3
+ This log was last generated on Sat, 18 Apr 2026 03:47:10 GMT and should not be manually modified.
4
+
5
+ ## 0.13.3
6
+ Sat, 18 Apr 2026 03:47:10 GMT
7
+
8
+ _Version update only_
9
+
10
+ ## 0.13.2
11
+ Sat, 18 Apr 2026 00:15:16 GMT
12
+
13
+ ### Patches
14
+
15
+ - Bump semver.
4
16
 
5
17
  ## 0.13.1
6
18
  Fri, 17 Apr 2026 15:14:57 GMT
@@ -28537,8 +28537,8 @@ function extractDescription (d) {
28537
28537
  \**********************************************************************************************************************************/
28538
28538
  (module, __unused_webpack_exports, __webpack_require__) {
28539
28539
 
28540
- var isValidSemver = __webpack_require__(/*! semver/functions/valid */ 489741)
28541
- var cleanSemver = __webpack_require__(/*! semver/functions/clean */ 741242)
28540
+ var isValidSemver = __webpack_require__(/*! semver/functions/valid */ 454407)
28541
+ var cleanSemver = __webpack_require__(/*! semver/functions/clean */ 265000)
28542
28542
  var validateLicense = __webpack_require__(/*! validate-npm-package-license */ 189318)
28543
28543
  var hostedGitInfo = __webpack_require__(/*! hosted-git-info */ 697824)
28544
28544
  var isBuiltinModule = __webpack_require__(/*! is-core-module */ 111505)
@@ -50802,25 +50802,28 @@ function runParallel (tasks, cb) {
50802
50802
 
50803
50803
  /***/ },
50804
50804
 
50805
- /***/ 453960
50805
+ /***/ 950142
50806
50806
  /*!*******************************************************************************************************!*\
50807
- !*** ../../common/temp/default/node_modules/.pnpm/semver@7.5.4/node_modules/semver/classes/semver.js ***!
50807
+ !*** ../../common/temp/default/node_modules/.pnpm/semver@7.7.4/node_modules/semver/classes/semver.js ***!
50808
50808
  \*******************************************************************************************************/
50809
50809
  (module, __unused_webpack_exports, __webpack_require__) {
50810
50810
 
50811
- const debug = __webpack_require__(/*! ../internal/debug */ 555044)
50812
- const { MAX_LENGTH, MAX_SAFE_INTEGER } = __webpack_require__(/*! ../internal/constants */ 721854)
50813
- const { safeRe: re, t } = __webpack_require__(/*! ../internal/re */ 876274)
50811
+ "use strict";
50812
+
50814
50813
 
50815
- const parseOptions = __webpack_require__(/*! ../internal/parse-options */ 452407)
50816
- const { compareIdentifiers } = __webpack_require__(/*! ../internal/identifiers */ 763711)
50814
+ const debug = __webpack_require__(/*! ../internal/debug */ 380530)
50815
+ const { MAX_LENGTH, MAX_SAFE_INTEGER } = __webpack_require__(/*! ../internal/constants */ 397828)
50816
+ const { safeRe: re, t } = __webpack_require__(/*! ../internal/re */ 180792)
50817
+
50818
+ const parseOptions = __webpack_require__(/*! ../internal/parse-options */ 529725)
50819
+ const { compareIdentifiers } = __webpack_require__(/*! ../internal/identifiers */ 595373)
50817
50820
  class SemVer {
50818
50821
  constructor (version, options) {
50819
50822
  options = parseOptions(options)
50820
50823
 
50821
50824
  if (version instanceof SemVer) {
50822
50825
  if (version.loose === !!options.loose &&
50823
- version.includePrerelease === !!options.includePrerelease) {
50826
+ version.includePrerelease === !!options.includePrerelease) {
50824
50827
  return version
50825
50828
  } else {
50826
50829
  version = version.version
@@ -50919,11 +50922,25 @@ class SemVer {
50919
50922
  other = new SemVer(other, this.options)
50920
50923
  }
50921
50924
 
50922
- return (
50923
- compareIdentifiers(this.major, other.major) ||
50924
- compareIdentifiers(this.minor, other.minor) ||
50925
- compareIdentifiers(this.patch, other.patch)
50926
- )
50925
+ if (this.major < other.major) {
50926
+ return -1
50927
+ }
50928
+ if (this.major > other.major) {
50929
+ return 1
50930
+ }
50931
+ if (this.minor < other.minor) {
50932
+ return -1
50933
+ }
50934
+ if (this.minor > other.minor) {
50935
+ return 1
50936
+ }
50937
+ if (this.patch < other.patch) {
50938
+ return -1
50939
+ }
50940
+ if (this.patch > other.patch) {
50941
+ return 1
50942
+ }
50943
+ return 0
50927
50944
  }
50928
50945
 
50929
50946
  comparePre (other) {
@@ -50968,7 +50985,7 @@ class SemVer {
50968
50985
  do {
50969
50986
  const a = this.build[i]
50970
50987
  const b = other.build[i]
50971
- debug('prerelease compare', i, a, b)
50988
+ debug('build compare', i, a, b)
50972
50989
  if (a === undefined && b === undefined) {
50973
50990
  return 0
50974
50991
  } else if (b === undefined) {
@@ -50986,6 +51003,19 @@ class SemVer {
50986
51003
  // preminor will bump the version up to the next minor release, and immediately
50987
51004
  // down to pre-release. premajor and prepatch work the same way.
50988
51005
  inc (release, identifier, identifierBase) {
51006
+ if (release.startsWith('pre')) {
51007
+ if (!identifier && identifierBase === false) {
51008
+ throw new Error('invalid increment argument: identifier is empty')
51009
+ }
51010
+ // Avoid an invalid semver results
51011
+ if (identifier) {
51012
+ const match = `-${identifier}`.match(this.options.loose ? re[t.PRERELEASELOOSE] : re[t.PRERELEASE])
51013
+ if (!match || match[1] !== identifier) {
51014
+ throw new Error(`invalid identifier: ${identifier}`)
51015
+ }
51016
+ }
51017
+ }
51018
+
50989
51019
  switch (release) {
50990
51020
  case 'premajor':
50991
51021
  this.prerelease.length = 0
@@ -51016,6 +51046,12 @@ class SemVer {
51016
51046
  }
51017
51047
  this.inc('pre', identifier, identifierBase)
51018
51048
  break
51049
+ case 'release':
51050
+ if (this.prerelease.length === 0) {
51051
+ throw new Error(`version ${this.raw} is not a prerelease`)
51052
+ }
51053
+ this.prerelease.length = 0
51054
+ break
51019
51055
 
51020
51056
  case 'major':
51021
51057
  // If this is a pre-major version, bump up to the same major version.
@@ -51059,10 +51095,6 @@ class SemVer {
51059
51095
  case 'pre': {
51060
51096
  const base = Number(identifierBase) ? 1 : 0
51061
51097
 
51062
- if (!identifier && identifierBase === false) {
51063
- throw new Error('invalid increment argument: identifier is empty')
51064
- }
51065
-
51066
51098
  if (this.prerelease.length === 0) {
51067
51099
  this.prerelease = [base]
51068
51100
  } else {
@@ -51114,13 +51146,16 @@ module.exports = SemVer
51114
51146
 
51115
51147
  /***/ },
51116
51148
 
51117
- /***/ 741242
51149
+ /***/ 265000
51118
51150
  /*!********************************************************************************************************!*\
51119
- !*** ../../common/temp/default/node_modules/.pnpm/semver@7.5.4/node_modules/semver/functions/clean.js ***!
51151
+ !*** ../../common/temp/default/node_modules/.pnpm/semver@7.7.4/node_modules/semver/functions/clean.js ***!
51120
51152
  \********************************************************************************************************/
51121
51153
  (module, __unused_webpack_exports, __webpack_require__) {
51122
51154
 
51123
- const parse = __webpack_require__(/*! ./parse */ 237316)
51155
+ "use strict";
51156
+
51157
+
51158
+ const parse = __webpack_require__(/*! ./parse */ 317090)
51124
51159
  const clean = (version, options) => {
51125
51160
  const s = parse(version.trim().replace(/^[=v]+/, ''), options)
51126
51161
  return s ? s.version : null
@@ -51130,13 +51165,16 @@ module.exports = clean
51130
51165
 
51131
51166
  /***/ },
51132
51167
 
51133
- /***/ 237316
51168
+ /***/ 317090
51134
51169
  /*!********************************************************************************************************!*\
51135
- !*** ../../common/temp/default/node_modules/.pnpm/semver@7.5.4/node_modules/semver/functions/parse.js ***!
51170
+ !*** ../../common/temp/default/node_modules/.pnpm/semver@7.7.4/node_modules/semver/functions/parse.js ***!
51136
51171
  \********************************************************************************************************/
51137
51172
  (module, __unused_webpack_exports, __webpack_require__) {
51138
51173
 
51139
- const SemVer = __webpack_require__(/*! ../classes/semver */ 453960)
51174
+ "use strict";
51175
+
51176
+
51177
+ const SemVer = __webpack_require__(/*! ../classes/semver */ 950142)
51140
51178
  const parse = (version, options, throwErrors = false) => {
51141
51179
  if (version instanceof SemVer) {
51142
51180
  return version
@@ -51156,13 +51194,16 @@ module.exports = parse
51156
51194
 
51157
51195
  /***/ },
51158
51196
 
51159
- /***/ 489741
51197
+ /***/ 454407
51160
51198
  /*!********************************************************************************************************!*\
51161
- !*** ../../common/temp/default/node_modules/.pnpm/semver@7.5.4/node_modules/semver/functions/valid.js ***!
51199
+ !*** ../../common/temp/default/node_modules/.pnpm/semver@7.7.4/node_modules/semver/functions/valid.js ***!
51162
51200
  \********************************************************************************************************/
51163
51201
  (module, __unused_webpack_exports, __webpack_require__) {
51164
51202
 
51165
- const parse = __webpack_require__(/*! ./parse */ 237316)
51203
+ "use strict";
51204
+
51205
+
51206
+ const parse = __webpack_require__(/*! ./parse */ 317090)
51166
51207
  const valid = (version, options) => {
51167
51208
  const v = parse(version, options)
51168
51209
  return v ? v.version : null
@@ -51172,12 +51213,15 @@ module.exports = valid
51172
51213
 
51173
51214
  /***/ },
51174
51215
 
51175
- /***/ 721854
51216
+ /***/ 397828
51176
51217
  /*!***********************************************************************************************************!*\
51177
- !*** ../../common/temp/default/node_modules/.pnpm/semver@7.5.4/node_modules/semver/internal/constants.js ***!
51218
+ !*** ../../common/temp/default/node_modules/.pnpm/semver@7.7.4/node_modules/semver/internal/constants.js ***!
51178
51219
  \***********************************************************************************************************/
51179
51220
  (module) {
51180
51221
 
51222
+ "use strict";
51223
+
51224
+
51181
51225
  // Note: this is the semver.org version of the spec that it implements
51182
51226
  // Not necessarily the package version of this code.
51183
51227
  const SEMVER_SPEC_VERSION = '2.0.0'
@@ -51217,12 +51261,15 @@ module.exports = {
51217
51261
 
51218
51262
  /***/ },
51219
51263
 
51220
- /***/ 555044
51264
+ /***/ 380530
51221
51265
  /*!*******************************************************************************************************!*\
51222
- !*** ../../common/temp/default/node_modules/.pnpm/semver@7.5.4/node_modules/semver/internal/debug.js ***!
51266
+ !*** ../../common/temp/default/node_modules/.pnpm/semver@7.7.4/node_modules/semver/internal/debug.js ***!
51223
51267
  \*******************************************************************************************************/
51224
51268
  (module) {
51225
51269
 
51270
+ "use strict";
51271
+
51272
+
51226
51273
  const debug = (
51227
51274
  typeof process === 'object' &&
51228
51275
  process.env &&
@@ -51236,14 +51283,21 @@ module.exports = debug
51236
51283
 
51237
51284
  /***/ },
51238
51285
 
51239
- /***/ 763711
51286
+ /***/ 595373
51240
51287
  /*!*************************************************************************************************************!*\
51241
- !*** ../../common/temp/default/node_modules/.pnpm/semver@7.5.4/node_modules/semver/internal/identifiers.js ***!
51288
+ !*** ../../common/temp/default/node_modules/.pnpm/semver@7.7.4/node_modules/semver/internal/identifiers.js ***!
51242
51289
  \*************************************************************************************************************/
51243
51290
  (module) {
51244
51291
 
51292
+ "use strict";
51293
+
51294
+
51245
51295
  const numeric = /^[0-9]+$/
51246
51296
  const compareIdentifiers = (a, b) => {
51297
+ if (typeof a === 'number' && typeof b === 'number') {
51298
+ return a === b ? 0 : a < b ? -1 : 1
51299
+ }
51300
+
51247
51301
  const anum = numeric.test(a)
51248
51302
  const bnum = numeric.test(b)
51249
51303
 
@@ -51269,12 +51323,15 @@ module.exports = {
51269
51323
 
51270
51324
  /***/ },
51271
51325
 
51272
- /***/ 452407
51326
+ /***/ 529725
51273
51327
  /*!***************************************************************************************************************!*\
51274
- !*** ../../common/temp/default/node_modules/.pnpm/semver@7.5.4/node_modules/semver/internal/parse-options.js ***!
51328
+ !*** ../../common/temp/default/node_modules/.pnpm/semver@7.7.4/node_modules/semver/internal/parse-options.js ***!
51275
51329
  \***************************************************************************************************************/
51276
51330
  (module) {
51277
51331
 
51332
+ "use strict";
51333
+
51334
+
51278
51335
  // parse out just the options we care about
51279
51336
  const looseOption = Object.freeze({ loose: true })
51280
51337
  const emptyOpts = Object.freeze({ })
@@ -51294,24 +51351,28 @@ module.exports = parseOptions
51294
51351
 
51295
51352
  /***/ },
51296
51353
 
51297
- /***/ 876274
51354
+ /***/ 180792
51298
51355
  /*!****************************************************************************************************!*\
51299
- !*** ../../common/temp/default/node_modules/.pnpm/semver@7.5.4/node_modules/semver/internal/re.js ***!
51356
+ !*** ../../common/temp/default/node_modules/.pnpm/semver@7.7.4/node_modules/semver/internal/re.js ***!
51300
51357
  \****************************************************************************************************/
51301
51358
  (module, exports, __webpack_require__) {
51302
51359
 
51360
+ "use strict";
51361
+
51362
+
51303
51363
  const {
51304
51364
  MAX_SAFE_COMPONENT_LENGTH,
51305
51365
  MAX_SAFE_BUILD_LENGTH,
51306
51366
  MAX_LENGTH,
51307
- } = __webpack_require__(/*! ./constants */ 721854)
51308
- const debug = __webpack_require__(/*! ./debug */ 555044)
51367
+ } = __webpack_require__(/*! ./constants */ 397828)
51368
+ const debug = __webpack_require__(/*! ./debug */ 380530)
51309
51369
  exports = module.exports = {}
51310
51370
 
51311
51371
  // The actual regexps go on exports.re
51312
51372
  const re = exports.re = []
51313
51373
  const safeRe = exports.safeRe = []
51314
51374
  const src = exports.src = []
51375
+ const safeSrc = exports.safeSrc = []
51315
51376
  const t = exports.t = {}
51316
51377
  let R = 0
51317
51378
 
@@ -51344,6 +51405,7 @@ const createToken = (name, value, isGlobal) => {
51344
51405
  debug(name, index, value)
51345
51406
  t[name] = index
51346
51407
  src[index] = value
51408
+ safeSrc[index] = safe
51347
51409
  re[index] = new RegExp(value, isGlobal ? 'g' : undefined)
51348
51410
  safeRe[index] = new RegExp(safe, isGlobal ? 'g' : undefined)
51349
51411
  }
@@ -51376,12 +51438,14 @@ createToken('MAINVERSIONLOOSE', `(${src[t.NUMERICIDENTIFIERLOOSE]})\\.` +
51376
51438
 
51377
51439
  // ## Pre-release Version Identifier
51378
51440
  // A numeric identifier, or a non-numeric identifier.
51441
+ // Non-numeric identifiers include numeric identifiers but can be longer.
51442
+ // Therefore non-numeric identifiers must go first.
51379
51443
 
51380
- createToken('PRERELEASEIDENTIFIER', `(?:${src[t.NUMERICIDENTIFIER]
51381
- }|${src[t.NONNUMERICIDENTIFIER]})`)
51444
+ createToken('PRERELEASEIDENTIFIER', `(?:${src[t.NONNUMERICIDENTIFIER]
51445
+ }|${src[t.NUMERICIDENTIFIER]})`)
51382
51446
 
51383
- createToken('PRERELEASEIDENTIFIERLOOSE', `(?:${src[t.NUMERICIDENTIFIERLOOSE]
51384
- }|${src[t.NONNUMERICIDENTIFIER]})`)
51447
+ createToken('PRERELEASEIDENTIFIERLOOSE', `(?:${src[t.NONNUMERICIDENTIFIER]
51448
+ }|${src[t.NUMERICIDENTIFIERLOOSE]})`)
51385
51449
 
51386
51450
  // ## Pre-release Version
51387
51451
  // Hyphen, followed by one or more dot-separated pre-release version
@@ -51456,12 +51520,17 @@ createToken('XRANGELOOSE', `^${src[t.GTLT]}\\s*${src[t.XRANGEPLAINLOOSE]}$`)
51456
51520
 
51457
51521
  // Coercion.
51458
51522
  // Extract anything that could conceivably be a part of a valid semver
51459
- createToken('COERCE', `${'(^|[^\\d])' +
51523
+ createToken('COERCEPLAIN', `${'(^|[^\\d])' +
51460
51524
  '(\\d{1,'}${MAX_SAFE_COMPONENT_LENGTH}})` +
51461
51525
  `(?:\\.(\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?` +
51462
- `(?:\\.(\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?` +
51526
+ `(?:\\.(\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?`)
51527
+ createToken('COERCE', `${src[t.COERCEPLAIN]}(?:$|[^\\d])`)
51528
+ createToken('COERCEFULL', src[t.COERCEPLAIN] +
51529
+ `(?:${src[t.PRERELEASE]})?` +
51530
+ `(?:${src[t.BUILD]})?` +
51463
51531
  `(?:$|[^\\d])`)
51464
51532
  createToken('COERCERTL', src[t.COERCE], true)
51533
+ createToken('COERCERTLFULL', src[t.COERCEFULL], true)
51465
51534
 
51466
51535
  // Tilde ranges.
51467
51536
  // Meaning is "reasonably at or greater than"
@@ -64251,6 +64320,171 @@ exports.TerminalStreamWritable = TerminalStreamWritable;
64251
64320
 
64252
64321
  /***/ },
64253
64322
 
64323
+ /***/ 359171
64324
+ /*!*************************************************!*\
64325
+ !*** ../terminal/lib-commonjs/TerminalTable.js ***!
64326
+ \*************************************************/
64327
+ (__unused_webpack_module, exports, __webpack_require__) {
64328
+
64329
+ "use strict";
64330
+
64331
+ // Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license.
64332
+ // See LICENSE in the project root for license information.
64333
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
64334
+ exports.TerminalTable = void 0;
64335
+ const AnsiEscape_1 = __webpack_require__(/*! ./AnsiEscape */ 224799);
64336
+ const BORDERLESS_CHARS = {
64337
+ top: '',
64338
+ topCenter: '',
64339
+ topLeft: '',
64340
+ topRight: '',
64341
+ bottom: '',
64342
+ bottomCenter: '',
64343
+ bottomLeft: '',
64344
+ bottomRight: '',
64345
+ left: '',
64346
+ leftCenter: '',
64347
+ horizontalCenter: '',
64348
+ centerCenter: '',
64349
+ right: '',
64350
+ rightCenter: '',
64351
+ verticalCenter: ''
64352
+ };
64353
+ const DEFAULT_CHARS = {
64354
+ top: '─',
64355
+ topCenter: '┬',
64356
+ topLeft: '┌',
64357
+ topRight: '┐',
64358
+ bottom: '─',
64359
+ bottomCenter: '┴',
64360
+ bottomLeft: '└',
64361
+ bottomRight: '┘',
64362
+ left: '│',
64363
+ leftCenter: '├',
64364
+ horizontalCenter: '─',
64365
+ centerCenter: '┼',
64366
+ right: '│',
64367
+ rightCenter: '┤',
64368
+ verticalCenter: '│'
64369
+ };
64370
+ /**
64371
+ * Renders text data as a fixed-column table suitable for terminal output.
64372
+ *
64373
+ * Designed as a drop-in replacement for the `cli-table` and `cli-table3` npm packages,
64374
+ * with correct handling of ANSI escape sequences when calculating column widths.
64375
+ *
64376
+ * @example
64377
+ * ```typescript
64378
+ * const table = new TerminalTable({ head: ['Name', 'Version'] });
64379
+ * table.push(['@rushstack/terminal', '1.0.0']);
64380
+ * table.push(['@rushstack/heft', '2.0.0']);
64381
+ * console.log(table.toString());
64382
+ * ```
64383
+ *
64384
+ * @public
64385
+ */
64386
+ class TerminalTable {
64387
+ constructor(options = {}) {
64388
+ const { head, colWidths, borderless, borderCharacters } = options;
64389
+ this._head = head !== null && head !== void 0 ? head : [];
64390
+ this._specifiedColWidths = colWidths !== null && colWidths !== void 0 ? colWidths : [];
64391
+ this._borderCharacters = {
64392
+ ...(borderless ? BORDERLESS_CHARS : DEFAULT_CHARS),
64393
+ ...borderCharacters
64394
+ };
64395
+ this._rows = [];
64396
+ }
64397
+ /**
64398
+ * Appends one or more rows to the table.
64399
+ */
64400
+ push(...rows) {
64401
+ for (const row of rows) {
64402
+ this._rows.push(row);
64403
+ }
64404
+ }
64405
+ getLines() {
64406
+ const { _head: head, _rows: rows, _specifiedColWidths: specifiedColWidths, _borderCharacters: { top: topSeparator, topCenter: topCenterSeparator, topLeft: topLeftSeparator, topRight: topRightSeparator, bottom: bottomSeparator, bottomCenter: bottomCenterSeparator, bottomLeft: bottomLeftSeparator, bottomRight: bottomRightSeparator, left: leftSeparator, leftCenter: leftCenterSeparator, horizontalCenter: horizontalCenterSeparator, centerCenter: centerCenterSeparator, right: rightSeparator, rightCenter: rightCenterSeparator, verticalCenter: verticalCenterSeparator } } = this;
64407
+ const allRows = [head, ...rows];
64408
+ const columnCount = Math.max(0, ...allRows.map((r) => r.length));
64409
+ if (columnCount === 0) {
64410
+ return [];
64411
+ }
64412
+ // Resolve final column widths: use specified width if provided, otherwise auto-size from content.
64413
+ const columnWidths = [];
64414
+ for (let columnIndex = 0; columnIndex < columnCount; columnIndex++) {
64415
+ const specified = specifiedColWidths[columnIndex];
64416
+ if (specified !== undefined) {
64417
+ columnWidths.push(specified);
64418
+ }
64419
+ else {
64420
+ let maxContent = 0;
64421
+ for (const row of allRows) {
64422
+ if (columnIndex < row.length) {
64423
+ const width = AnsiEscape_1.AnsiEscape.removeCodes(row[columnIndex]).length;
64424
+ if (width > maxContent) {
64425
+ maxContent = width;
64426
+ }
64427
+ }
64428
+ }
64429
+ // +2 for one character of padding on each side
64430
+ columnWidths.push(maxContent + 2);
64431
+ }
64432
+ }
64433
+ // Renders a horizontal separator line. Returns undefined if the result would be empty.
64434
+ const renderSeparator = (leftChar, fillChar, midChar, rightChar) => {
64435
+ const line = leftChar + columnWidths.map((w) => fillChar.repeat(w)).join(midChar) + rightChar;
64436
+ return line.length > 0 ? line : undefined;
64437
+ };
64438
+ // Renders a single data row.
64439
+ const renderRow = (row) => {
64440
+ const cells = [];
64441
+ for (let col = 0; col < columnCount; col++) {
64442
+ const content = col < row.length ? row[col] : '';
64443
+ const visualWidth = AnsiEscape_1.AnsiEscape.removeCodes(content).length;
64444
+ // 1 char of left-padding; right-padding fills the remainder of the column width.
64445
+ const padRight = Math.max(columnWidths[col] - 1 - visualWidth, 0);
64446
+ cells.push(' ' + content + ' '.repeat(padRight));
64447
+ }
64448
+ return leftSeparator + cells.join(verticalCenterSeparator) + rightSeparator;
64449
+ };
64450
+ const lines = [];
64451
+ // Top border
64452
+ const topLine = renderSeparator(topLeftSeparator, topSeparator, topCenterSeparator, topRightSeparator);
64453
+ if (topLine !== undefined) {
64454
+ lines.push(topLine);
64455
+ }
64456
+ // Header row + separator
64457
+ if (head.length > 0) {
64458
+ lines.push(renderRow(head));
64459
+ const headerSep = renderSeparator(leftCenterSeparator, horizontalCenterSeparator, centerCenterSeparator, rightCenterSeparator);
64460
+ if (headerSep !== undefined) {
64461
+ lines.push(headerSep);
64462
+ }
64463
+ }
64464
+ // Data rows (no separator between them)
64465
+ for (const row of this._rows) {
64466
+ lines.push(renderRow(row));
64467
+ }
64468
+ // Bottom border
64469
+ const bottomLine = renderSeparator(bottomLeftSeparator, bottomSeparator, bottomCenterSeparator, bottomRightSeparator);
64470
+ if (bottomLine !== undefined) {
64471
+ lines.push(bottomLine);
64472
+ }
64473
+ return lines;
64474
+ }
64475
+ /**
64476
+ * Renders the table to a string.
64477
+ */
64478
+ toString() {
64479
+ const lines = this.getLines();
64480
+ return lines.join('\n');
64481
+ }
64482
+ }
64483
+ exports.TerminalTable = TerminalTable;
64484
+ //# sourceMappingURL=TerminalTable.js.map
64485
+
64486
+ /***/ },
64487
+
64254
64488
  /***/ 811227
64255
64489
  /*!*****************************************************!*\
64256
64490
  !*** ../terminal/lib-commonjs/TerminalTransform.js ***!
@@ -64616,7 +64850,7 @@ exports.TextRewriterTransform = TextRewriterTransform;
64616
64850
  // Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license.
64617
64851
  // See LICENSE in the project root for license information.
64618
64852
  Object.defineProperty(exports, "__esModule", ({ value: true }));
64619
- 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;
64853
+ exports.TerminalTable = 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;
64620
64854
  /// <reference types="node" preserve="true" />
64621
64855
  /**
64622
64856
  * This library implements a system for processing human readable text that
@@ -64678,6 +64912,8 @@ var TerminalStreamWritable_1 = __webpack_require__(/*! ./TerminalStreamWritable
64678
64912
  Object.defineProperty(exports, "TerminalStreamWritable", ({ enumerable: true, get: function () { return TerminalStreamWritable_1.TerminalStreamWritable; } }));
64679
64913
  var ProblemCollector_1 = __webpack_require__(/*! ./ProblemCollector */ 41133);
64680
64914
  Object.defineProperty(exports, "ProblemCollector", ({ enumerable: true, get: function () { return ProblemCollector_1.ProblemCollector; } }));
64915
+ var TerminalTable_1 = __webpack_require__(/*! ./TerminalTable */ 359171);
64916
+ Object.defineProperty(exports, "TerminalTable", ({ enumerable: true, get: function () { return TerminalTable_1.TerminalTable; } }));
64681
64917
  //# sourceMappingURL=index.js.map
64682
64918
 
64683
64919
  /***/ },