@techdocs/cli 0.0.0-nightly-20251107024121 → 0.0.0-nightly-20251109024152

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.md CHANGED
@@ -1,15 +1,15 @@
1
1
  # @techdocs/cli
2
2
 
3
- ## 0.0.0-nightly-20251107024121
3
+ ## 0.0.0-nightly-20251109024152
4
4
 
5
5
  ### Patch Changes
6
6
 
7
7
  - c2a2017: Fix for missing styles due to move to BUI.
8
8
  - Updated dependencies
9
- - @backstage/backend-defaults@0.0.0-nightly-20251107024121
10
- - @backstage/plugin-techdocs-node@0.0.0-nightly-20251107024121
11
- - @backstage/config@0.0.0-nightly-20251107024121
12
- - @backstage/catalog-model@0.0.0-nightly-20251107024121
9
+ - @backstage/backend-defaults@0.0.0-nightly-20251109024152
10
+ - @backstage/plugin-techdocs-node@0.0.0-nightly-20251109024152
11
+ - @backstage/config@0.0.0-nightly-20251109024152
12
+ - @backstage/catalog-model@0.0.0-nightly-20251109024152
13
13
  - @backstage/cli-common@0.1.15
14
14
 
15
15
  ## 1.10.1-next.0
@@ -358,6 +358,67 @@
358
358
  },
359
359
  "packageName": "@backstage/core-app-api"
360
360
  },
361
+ {
362
+ "path": "../../plugins/techdocs/config.d.ts",
363
+ "value": {
364
+ "type": "object",
365
+ "properties": {
366
+ "techdocs": {
367
+ "description": "Configuration options for the techdocs plugin",
368
+ "type": "object",
369
+ "properties": {
370
+ "builder": {
371
+ "description": "Documentation building process depends on the builder attr",
372
+ "visibility": "frontend",
373
+ "enum": [
374
+ "external",
375
+ "local"
376
+ ],
377
+ "type": "string"
378
+ },
379
+ "legacyUseCaseSensitiveTripletPaths": {
380
+ "description": "Allows fallback to case-sensitive triplets in case of migration issues.",
381
+ "visibility": "frontend",
382
+ "type": "boolean"
383
+ },
384
+ "sanitizer": {
385
+ "type": "object",
386
+ "properties": {
387
+ "allowedIframeHosts": {
388
+ "description": "Allows iframe tag only for listed hosts\nExample:\n allowedIframeHosts: [\"example.com\"]\n this will allow all iframes with the host `example.com` in the src attribute",
389
+ "visibility": "frontend",
390
+ "type": "array",
391
+ "items": {
392
+ "type": "string"
393
+ }
394
+ },
395
+ "allowedCustomElementTagNameRegExp": {
396
+ "description": "Allows listed custom element tag name regex\nExample:\n allowedCustomElementTagNameRegExp: '^backstage-'\n this will allow all custom elements with tag name matching `^backstage-` like <backstage-custom-element /> etc.",
397
+ "visibility": "frontend",
398
+ "type": "string"
399
+ },
400
+ "allowedCustomElementAttributeNameRegExp": {
401
+ "description": "Allows listed custom element attribute name regex\nExample:\n allowedCustomElementAttributeNameRegExp: 'attribute1|attribute2'\n this will allow all custom element attributes matching `attribute1` or `attribute2` like <backstage-custom-element attribute1=\"yes\" attribute2/>",
402
+ "visibility": "frontend",
403
+ "type": "string"
404
+ },
405
+ "additionalAllowedURIProtocols": {
406
+ "description": "Allows listed protocols in attributes with URI values\nExample:\n additionalAllowedURIProtocols: ['vscode']\n this will allow all attributes with URI values to have `vscode` protocol like `vscode://some/path` in addition to the default protocols\n matched by DOMPurify's IS_ALLOWED_URI RegExp:",
407
+ "visibility": "frontend",
408
+ "type": "string"
409
+ }
410
+ }
411
+ }
412
+ }
413
+ }
414
+ },
415
+ "required": [
416
+ "techdocs"
417
+ ],
418
+ "$schema": "http://json-schema.org/draft-07/schema#"
419
+ },
420
+ "packageName": "@backstage/plugin-techdocs"
421
+ },
361
422
  {
362
423
  "path": "../core-components/config.d.ts",
363
424
  "value": {
@@ -959,6 +1020,37 @@
959
1020
  },
960
1021
  "packageName": "@backstage/integration"
961
1022
  },
1023
+ {
1024
+ "path": "../../plugins/catalog/config.d.ts",
1025
+ "value": {
1026
+ "type": "object",
1027
+ "properties": {
1028
+ "catalog": {
1029
+ "type": "object",
1030
+ "properties": {
1031
+ "experimentalPagination": {
1032
+ "deepVisibility": "frontend",
1033
+ "anyOf": [
1034
+ {
1035
+ "type": "object",
1036
+ "properties": {
1037
+ "limit": {
1038
+ "type": "number"
1039
+ }
1040
+ }
1041
+ },
1042
+ {
1043
+ "type": "boolean"
1044
+ }
1045
+ ]
1046
+ }
1047
+ }
1048
+ }
1049
+ },
1050
+ "$schema": "http://json-schema.org/draft-07/schema#"
1051
+ },
1052
+ "packageName": "@backstage/plugin-catalog"
1053
+ },
962
1054
  {
963
1055
  "path": "../frontend-app-api/config.d.ts",
964
1056
  "value": {
@@ -1164,98 +1256,6 @@
1164
1256
  },
1165
1257
  "packageName": "@backstage/frontend-app-api"
1166
1258
  },
1167
- {
1168
- "path": "../../plugins/catalog/config.d.ts",
1169
- "value": {
1170
- "type": "object",
1171
- "properties": {
1172
- "catalog": {
1173
- "type": "object",
1174
- "properties": {
1175
- "experimentalPagination": {
1176
- "deepVisibility": "frontend",
1177
- "anyOf": [
1178
- {
1179
- "type": "object",
1180
- "properties": {
1181
- "limit": {
1182
- "type": "number"
1183
- }
1184
- }
1185
- },
1186
- {
1187
- "type": "boolean"
1188
- }
1189
- ]
1190
- }
1191
- }
1192
- }
1193
- },
1194
- "$schema": "http://json-schema.org/draft-07/schema#"
1195
- },
1196
- "packageName": "@backstage/plugin-catalog"
1197
- },
1198
- {
1199
- "path": "../../plugins/techdocs/config.d.ts",
1200
- "value": {
1201
- "type": "object",
1202
- "properties": {
1203
- "techdocs": {
1204
- "description": "Configuration options for the techdocs plugin",
1205
- "type": "object",
1206
- "properties": {
1207
- "builder": {
1208
- "description": "Documentation building process depends on the builder attr",
1209
- "visibility": "frontend",
1210
- "enum": [
1211
- "external",
1212
- "local"
1213
- ],
1214
- "type": "string"
1215
- },
1216
- "legacyUseCaseSensitiveTripletPaths": {
1217
- "description": "Allows fallback to case-sensitive triplets in case of migration issues.",
1218
- "visibility": "frontend",
1219
- "type": "boolean"
1220
- },
1221
- "sanitizer": {
1222
- "type": "object",
1223
- "properties": {
1224
- "allowedIframeHosts": {
1225
- "description": "Allows iframe tag only for listed hosts\nExample:\n allowedIframeHosts: [\"example.com\"]\n this will allow all iframes with the host `example.com` in the src attribute",
1226
- "visibility": "frontend",
1227
- "type": "array",
1228
- "items": {
1229
- "type": "string"
1230
- }
1231
- },
1232
- "allowedCustomElementTagNameRegExp": {
1233
- "description": "Allows listed custom element tag name regex\nExample:\n allowedCustomElementTagNameRegExp: '^backstage-'\n this will allow all custom elements with tag name matching `^backstage-` like <backstage-custom-element /> etc.",
1234
- "visibility": "frontend",
1235
- "type": "string"
1236
- },
1237
- "allowedCustomElementAttributeNameRegExp": {
1238
- "description": "Allows listed custom element attribute name regex\nExample:\n allowedCustomElementAttributeNameRegExp: 'attribute1|attribute2'\n this will allow all custom element attributes matching `attribute1` or `attribute2` like <backstage-custom-element attribute1=\"yes\" attribute2/>",
1239
- "visibility": "frontend",
1240
- "type": "string"
1241
- },
1242
- "additionalAllowedURIProtocols": {
1243
- "description": "Allows listed protocols in attributes with URI values\nExample:\n additionalAllowedURIProtocols: ['vscode']\n this will allow all attributes with URI values to have `vscode` protocol like `vscode://some/path` in addition to the default protocols\n matched by DOMPurify's IS_ALLOWED_URI RegExp:",
1244
- "visibility": "frontend",
1245
- "type": "string"
1246
- }
1247
- }
1248
- }
1249
- }
1250
- }
1251
- },
1252
- "required": [
1253
- "techdocs"
1254
- ],
1255
- "$schema": "http://json-schema.org/draft-07/schema#"
1256
- },
1257
- "packageName": "@backstage/plugin-techdocs"
1258
- },
1259
1259
  {
1260
1260
  "path": "../backend-plugin-api/config.d.ts",
1261
1261
  "value": {
@@ -1275,52 +1275,6 @@
1275
1275
  },
1276
1276
  "packageName": "@backstage/backend-plugin-api"
1277
1277
  },
1278
- {
1279
- "path": "../../plugins/auth-backend-module-guest-provider/config.d.ts",
1280
- "value": {
1281
- "type": "object",
1282
- "properties": {
1283
- "auth": {
1284
- "description": "Configuration options for the auth plugin",
1285
- "type": "object",
1286
- "properties": {
1287
- "providers": {
1288
- "type": "object",
1289
- "properties": {
1290
- "guest": {
1291
- "type": "object",
1292
- "properties": {
1293
- "userEntityRef": {
1294
- "description": "The entity reference to use for the guest user.",
1295
- "default": "user:development/guest",
1296
- "type": "string"
1297
- },
1298
- "ownershipEntityRefs": {
1299
- "description": "A list of entity references to user for ownership of the guest user if the user\n is not found in the catalog.",
1300
- "default": "[userEntityRef]",
1301
- "type": "array",
1302
- "items": {
1303
- "type": "string"
1304
- }
1305
- },
1306
- "dangerouslyAllowOutsideDevelopment": {
1307
- "description": "Allow users to sign in with the guest provider outside of their development environments.",
1308
- "type": "boolean"
1309
- }
1310
- }
1311
- }
1312
- }
1313
- }
1314
- },
1315
- "required": [
1316
- "providers"
1317
- ]
1318
- }
1319
- },
1320
- "$schema": "http://json-schema.org/draft-07/schema#"
1321
- },
1322
- "packageName": "@backstage/plugin-auth-backend-module-guest-provider"
1323
- },
1324
1278
  {
1325
1279
  "path": "../../plugins/auth-backend/config.d.ts",
1326
1280
  "value": {
@@ -1477,103 +1431,74 @@
1477
1431
  "packageName": "@backstage/plugin-auth-backend"
1478
1432
  },
1479
1433
  {
1480
- "path": "../backend-app-api/config.d.ts",
1434
+ "path": "../../plugins/auth-backend-module-guest-provider/config.d.ts",
1481
1435
  "value": {
1482
1436
  "type": "object",
1483
1437
  "properties": {
1484
- "backend": {
1438
+ "auth": {
1439
+ "description": "Configuration options for the auth plugin",
1485
1440
  "type": "object",
1486
1441
  "properties": {
1487
- "packages": {
1488
- "description": "Used by the feature discovery service",
1489
- "anyOf": [
1490
- {
1491
- "type": "object",
1492
- "properties": {
1493
- "include": {
1494
- "type": "array",
1495
- "items": {
1496
- "type": "string"
1497
- }
1498
- },
1499
- "exclude": {
1500
- "type": "array",
1501
- "items": {
1502
- "type": "string"
1503
- }
1504
- }
1505
- }
1506
- },
1507
- {
1508
- "const": "all",
1509
- "type": "string"
1510
- }
1511
- ]
1512
- },
1513
- "startup": {
1442
+ "providers": {
1514
1443
  "type": "object",
1515
1444
  "properties": {
1516
- "default": {
1445
+ "guest": {
1517
1446
  "type": "object",
1518
1447
  "properties": {
1519
- "onPluginBootFailure": {
1520
- "description": "The default value for `onPluginBootFailure` if not specified for a particular plugin.\nThis defaults to 'abort', which means `onPluginBootFailure: continue` must be specified\nfor backend startup to continue on plugin boot failure. This can also be set to\n'continue', which flips the logic for individual plugins so that they must be set to\n`onPluginBootFailure: abort` to be required.",
1521
- "enum": [
1522
- "abort",
1523
- "continue"
1524
- ],
1448
+ "userEntityRef": {
1449
+ "description": "The entity reference to use for the guest user.",
1450
+ "default": "user:development/guest",
1525
1451
  "type": "string"
1526
1452
  },
1527
- "onPluginModuleBootFailure": {
1528
- "description": "The default value for `onPluginModuleBootFailure` if not specified for a particular plugin module.\nThis defaults to 'abort', which means `onPluginModuleBootFailure: continue` must be specified\nfor backend startup to continue on plugin module boot failure. This can also be set to\n'continue', which flips the logic for individual plugin modules so that they must be set to\n`onPluginModuleBootFailure: abort` to be required.",
1529
- "enum": [
1530
- "abort",
1531
- "continue"
1532
- ],
1533
- "type": "string"
1534
- }
1535
- }
1536
- },
1537
- "plugins": {
1538
- "type": "object",
1539
- "additionalProperties": {
1540
- "type": "object",
1541
- "properties": {
1542
- "onPluginBootFailure": {
1543
- "description": "Used to control backend startup behavior when this plugin fails to boot up. Setting\nthis to `continue` allows the backend to continue starting up, even if this plugin\nfails. This can enable leaving a crashing plugin installed, but still permit backend\nstartup, which may help troubleshoot data-dependent issues. Plugin failures for plugins\nset to `abort` are fatal (this is the default unless overridden by the `default`\nsetting).",
1544
- "enum": [
1545
- "abort",
1546
- "continue"
1547
- ],
1453
+ "ownershipEntityRefs": {
1454
+ "description": "A list of entity references to user for ownership of the guest user if the user\n is not found in the catalog.",
1455
+ "default": "[userEntityRef]",
1456
+ "type": "array",
1457
+ "items": {
1548
1458
  "type": "string"
1549
- },
1550
- "modules": {
1551
- "type": "object",
1552
- "additionalProperties": {
1553
- "type": "object",
1554
- "properties": {
1555
- "onPluginModuleBootFailure": {
1556
- "description": "Used to control backend startup behavior when this plugin module fails to boot up. Setting\nthis to `continue` allows the backend to continue starting up, even if this plugin\nmodule fails. This can enable leaving a crashing plugin installed, but still permit backend\nstartup, which may help troubleshoot data-dependent issues. Plugin module failures for plugin modules\nset to `abort` are fatal (this is the default unless overridden by the `default`\nsetting).",
1557
- "enum": [
1558
- "abort",
1559
- "continue"
1560
- ],
1561
- "type": "string"
1562
- }
1563
- }
1564
- }
1565
1459
  }
1460
+ },
1461
+ "dangerouslyAllowOutsideDevelopment": {
1462
+ "description": "Allow users to sign in with the guest provider outside of their development environments.",
1463
+ "type": "boolean"
1566
1464
  }
1567
1465
  }
1568
1466
  }
1569
1467
  }
1570
1468
  }
1469
+ },
1470
+ "required": [
1471
+ "providers"
1472
+ ]
1473
+ }
1474
+ },
1475
+ "$schema": "http://json-schema.org/draft-07/schema#"
1476
+ },
1477
+ "packageName": "@backstage/plugin-auth-backend-module-guest-provider"
1478
+ },
1479
+ {
1480
+ "path": "../../plugins/events-node/config.d.ts",
1481
+ "value": {
1482
+ "type": "object",
1483
+ "properties": {
1484
+ "events": {
1485
+ "type": "object",
1486
+ "properties": {
1487
+ "useEventBus": {
1488
+ "description": "Whether to use the event bus API in the events plugin backend to\ndistribute events across multiple instances when publishing and\nsubscribing to events.\n\nThe default is 'auto', which means means that the event bus API will be\nused if it's available, but will be disabled if the events backend\nreturns a 404.\n\nIf set to 'never', the events service will only ever publish events\nlocally to the same instance, while if set to 'always', the event bus API\nwill never be disabled, even if the events backend returns a 404.",
1489
+ "enum": [
1490
+ "always",
1491
+ "auto",
1492
+ "never"
1493
+ ],
1494
+ "type": "string"
1495
+ }
1571
1496
  }
1572
1497
  }
1573
1498
  },
1574
1499
  "$schema": "http://json-schema.org/draft-07/schema#"
1575
1500
  },
1576
- "packageName": "@backstage/backend-app-api"
1501
+ "packageName": "@backstage/plugin-events-node"
1577
1502
  },
1578
1503
  {
1579
1504
  "path": "../backend-defaults/config.d.ts",
@@ -3148,28 +3073,103 @@
3148
3073
  "packageName": "@backstage/backend-defaults"
3149
3074
  },
3150
3075
  {
3151
- "path": "../../plugins/events-node/config.d.ts",
3076
+ "path": "../backend-app-api/config.d.ts",
3152
3077
  "value": {
3153
3078
  "type": "object",
3154
3079
  "properties": {
3155
- "events": {
3080
+ "backend": {
3156
3081
  "type": "object",
3157
3082
  "properties": {
3158
- "useEventBus": {
3159
- "description": "Whether to use the event bus API in the events plugin backend to\ndistribute events across multiple instances when publishing and\nsubscribing to events.\n\nThe default is 'auto', which means means that the event bus API will be\nused if it's available, but will be disabled if the events backend\nreturns a 404.\n\nIf set to 'never', the events service will only ever publish events\nlocally to the same instance, while if set to 'always', the event bus API\nwill never be disabled, even if the events backend returns a 404.",
3160
- "enum": [
3161
- "always",
3162
- "auto",
3163
- "never"
3164
- ],
3165
- "type": "string"
3083
+ "packages": {
3084
+ "description": "Used by the feature discovery service",
3085
+ "anyOf": [
3086
+ {
3087
+ "type": "object",
3088
+ "properties": {
3089
+ "include": {
3090
+ "type": "array",
3091
+ "items": {
3092
+ "type": "string"
3093
+ }
3094
+ },
3095
+ "exclude": {
3096
+ "type": "array",
3097
+ "items": {
3098
+ "type": "string"
3099
+ }
3100
+ }
3101
+ }
3102
+ },
3103
+ {
3104
+ "const": "all",
3105
+ "type": "string"
3106
+ }
3107
+ ]
3108
+ },
3109
+ "startup": {
3110
+ "type": "object",
3111
+ "properties": {
3112
+ "default": {
3113
+ "type": "object",
3114
+ "properties": {
3115
+ "onPluginBootFailure": {
3116
+ "description": "The default value for `onPluginBootFailure` if not specified for a particular plugin.\nThis defaults to 'abort', which means `onPluginBootFailure: continue` must be specified\nfor backend startup to continue on plugin boot failure. This can also be set to\n'continue', which flips the logic for individual plugins so that they must be set to\n`onPluginBootFailure: abort` to be required.",
3117
+ "enum": [
3118
+ "abort",
3119
+ "continue"
3120
+ ],
3121
+ "type": "string"
3122
+ },
3123
+ "onPluginModuleBootFailure": {
3124
+ "description": "The default value for `onPluginModuleBootFailure` if not specified for a particular plugin module.\nThis defaults to 'abort', which means `onPluginModuleBootFailure: continue` must be specified\nfor backend startup to continue on plugin module boot failure. This can also be set to\n'continue', which flips the logic for individual plugin modules so that they must be set to\n`onPluginModuleBootFailure: abort` to be required.",
3125
+ "enum": [
3126
+ "abort",
3127
+ "continue"
3128
+ ],
3129
+ "type": "string"
3130
+ }
3131
+ }
3132
+ },
3133
+ "plugins": {
3134
+ "type": "object",
3135
+ "additionalProperties": {
3136
+ "type": "object",
3137
+ "properties": {
3138
+ "onPluginBootFailure": {
3139
+ "description": "Used to control backend startup behavior when this plugin fails to boot up. Setting\nthis to `continue` allows the backend to continue starting up, even if this plugin\nfails. This can enable leaving a crashing plugin installed, but still permit backend\nstartup, which may help troubleshoot data-dependent issues. Plugin failures for plugins\nset to `abort` are fatal (this is the default unless overridden by the `default`\nsetting).",
3140
+ "enum": [
3141
+ "abort",
3142
+ "continue"
3143
+ ],
3144
+ "type": "string"
3145
+ },
3146
+ "modules": {
3147
+ "type": "object",
3148
+ "additionalProperties": {
3149
+ "type": "object",
3150
+ "properties": {
3151
+ "onPluginModuleBootFailure": {
3152
+ "description": "Used to control backend startup behavior when this plugin module fails to boot up. Setting\nthis to `continue` allows the backend to continue starting up, even if this plugin\nmodule fails. This can enable leaving a crashing plugin installed, but still permit backend\nstartup, which may help troubleshoot data-dependent issues. Plugin module failures for plugin modules\nset to `abort` are fatal (this is the default unless overridden by the `default`\nsetting).",
3153
+ "enum": [
3154
+ "abort",
3155
+ "continue"
3156
+ ],
3157
+ "type": "string"
3158
+ }
3159
+ }
3160
+ }
3161
+ }
3162
+ }
3163
+ }
3164
+ }
3165
+ }
3166
3166
  }
3167
3167
  }
3168
3168
  }
3169
3169
  },
3170
3170
  "$schema": "http://json-schema.org/draft-07/schema#"
3171
3171
  },
3172
- "packageName": "@backstage/plugin-events-node"
3172
+ "packageName": "@backstage/backend-app-api"
3173
3173
  },
3174
3174
  {
3175
3175
  "path": "../../plugins/auth-backend-module-google-provider/config.d.ts",
@@ -1,4 +1,4 @@
1
- <!doctype html><html lang="en"><head><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1"/><meta name="theme-color" content="#000000"/><meta name="color-scheme" content="light dark"/><meta name="description" content="Backstage is an open source framework for building developer portals"/><link rel="manifest" href="/manifest.json" crossorigin="use-credentials"/><link rel="icon" href="/favicon.ico"/><link rel="shortcut icon" href="/favicon.ico"/><link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png"/><link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png"/><link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png"/><link rel="mask-icon" href="/safari-pinned-tab.svg" color="#5bbad5"/><title>Techdocs Preview App</title><meta name="backstage-app-mode" content="public"><script defer="defer" src="/static/runtime.12081d58.js"></script><script defer="defer" src="/static/module-material-ui.a211988b.js"></script><script defer="defer" src="/static/module-lodash.011b7e00.js"></script><script defer="defer" src="/static/module-date-fns.0117079c.js"></script><script defer="defer" src="/static/module-mui.642fff5d.js"></script><script defer="defer" src="/static/module-material-table.5444b1ff.js"></script><script defer="defer" src="/static/module-zod.2a1f49a9.js"></script><script defer="defer" src="/static/module-react-dom.e3032225.js"></script><script defer="defer" src="/static/module-i18next.93181ae4.js"></script><script defer="defer" src="/static/module-react-beautiful-dnd.4021175e.js"></script><script defer="defer" src="/static/module-remix-run.df99de31.js"></script><script defer="defer" src="/static/vendor.06d5fbda.js"></script><script defer="defer" src="/static/main.e886d5d9.js"></script><link href="/static/main.5f8bd308.css" rel="stylesheet"><script type="backstage.io/config">[
1
+ <!doctype html><html lang="en"><head><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1"/><meta name="theme-color" content="#000000"/><meta name="color-scheme" content="light dark"/><meta name="description" content="Backstage is an open source framework for building developer portals"/><link rel="manifest" href="/manifest.json" crossorigin="use-credentials"/><link rel="icon" href="/favicon.ico"/><link rel="shortcut icon" href="/favicon.ico"/><link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png"/><link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png"/><link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png"/><link rel="mask-icon" href="/safari-pinned-tab.svg" color="#5bbad5"/><title>Techdocs Preview App</title><meta name="backstage-app-mode" content="public"><script defer="defer" src="/static/runtime.965c69d9.js"></script><script defer="defer" src="/static/module-material-ui.a211988b.js"></script><script defer="defer" src="/static/module-lodash.011b7e00.js"></script><script defer="defer" src="/static/module-date-fns.0117079c.js"></script><script defer="defer" src="/static/module-mui.642fff5d.js"></script><script defer="defer" src="/static/module-material-table.5444b1ff.js"></script><script defer="defer" src="/static/module-zod.2a1f49a9.js"></script><script defer="defer" src="/static/module-react-dom.e3032225.js"></script><script defer="defer" src="/static/module-i18next.93181ae4.js"></script><script defer="defer" src="/static/module-react-beautiful-dnd.4021175e.js"></script><script defer="defer" src="/static/module-remix-run.df99de31.js"></script><script defer="defer" src="/static/vendor.06d5fbda.js"></script><script defer="defer" src="/static/main.e886d5d9.js"></script><link href="/static/main.5f8bd308.css" rel="stylesheet"><script type="backstage.io/config">[
2
2
  {
3
3
  "context": "app-config.yaml",
4
4
  "data": {
@@ -43,7 +43,7 @@
43
43
  color="#5bbad5"
44
44
  />
45
45
  <title><%= config.getString('app.title') %></title>
46
- <meta name="backstage-app-mode" content="public"><meta name="backstage-public-path" content="<%= publicPath %>/"><script defer src="<%= publicPath %>/static/runtime.12081d58.js"></script><script defer src="<%= publicPath %>/static/module-material-ui.a211988b.js"></script><script defer src="<%= publicPath %>/static/module-lodash.011b7e00.js"></script><script defer src="<%= publicPath %>/static/module-date-fns.0117079c.js"></script><script defer src="<%= publicPath %>/static/module-mui.642fff5d.js"></script><script defer src="<%= publicPath %>/static/module-material-table.5444b1ff.js"></script><script defer src="<%= publicPath %>/static/module-zod.2a1f49a9.js"></script><script defer src="<%= publicPath %>/static/module-react-dom.e3032225.js"></script><script defer src="<%= publicPath %>/static/module-i18next.93181ae4.js"></script><script defer src="<%= publicPath %>/static/module-react-beautiful-dnd.4021175e.js"></script><script defer src="<%= publicPath %>/static/module-remix-run.df99de31.js"></script><script defer src="<%= publicPath %>/static/vendor.06d5fbda.js"></script><script defer src="<%= publicPath %>/static/main.e886d5d9.js"></script><link href="<%= publicPath %>/static/main.5f8bd308.css" rel="stylesheet"></head>
46
+ <meta name="backstage-app-mode" content="public"><meta name="backstage-public-path" content="<%= publicPath %>/"><script defer src="<%= publicPath %>/static/runtime.965c69d9.js"></script><script defer src="<%= publicPath %>/static/module-material-ui.a211988b.js"></script><script defer src="<%= publicPath %>/static/module-lodash.011b7e00.js"></script><script defer src="<%= publicPath %>/static/module-date-fns.0117079c.js"></script><script defer src="<%= publicPath %>/static/module-mui.642fff5d.js"></script><script defer src="<%= publicPath %>/static/module-material-table.5444b1ff.js"></script><script defer src="<%= publicPath %>/static/module-zod.2a1f49a9.js"></script><script defer src="<%= publicPath %>/static/module-react-dom.e3032225.js"></script><script defer src="<%= publicPath %>/static/module-i18next.93181ae4.js"></script><script defer src="<%= publicPath %>/static/module-react-beautiful-dnd.4021175e.js"></script><script defer src="<%= publicPath %>/static/module-remix-run.df99de31.js"></script><script defer src="<%= publicPath %>/static/vendor.06d5fbda.js"></script><script defer src="<%= publicPath %>/static/main.e886d5d9.js"></script><link href="<%= publicPath %>/static/main.5f8bd308.css" rel="stylesheet"></head>
47
47
  <body>
48
48
  <noscript>You need to enable JavaScript to run this app.</noscript>
49
49
  <div id="root"></div>
@@ -1,2 +1,2 @@
1
- "use strict";(self.webpackChunktechdocs_cli_embedded_app=self.webpackChunktechdocs_cli_embedded_app||[]).push([["9787"],{33194:function(e,t,n){n.r(t),n.d(t,{RealLogViewer:()=>D});var r=n(52322),i=n(53244),l=n(61837),o=n(19353),s=n(16709),a=n.n(s),c=n(2784),d=n(73557),u=n(6738),h=n(50166);let g=(0,n(18025).Z)(),f=/\n\r?/g,m=Object.fromEntries(Object.entries({1:e=>({...e,bold:!0}),3:e=>({...e,italic:!0}),4:e=>({...e,underline:!0}),22:({bold:e,...t})=>t,23:({italic:e,...t})=>t,24:({underline:e,...t})=>t,30:e=>({...e,foreground:"black"}),31:e=>({...e,foreground:"red"}),32:e=>({...e,foreground:"green"}),33:e=>({...e,foreground:"yellow"}),34:e=>({...e,foreground:"blue"}),35:e=>({...e,foreground:"magenta"}),36:e=>({...e,foreground:"cyan"}),37:e=>({...e,foreground:"white"}),39:({foreground:e,...t})=>t,90:e=>({...e,foreground:"grey"}),40:e=>({...e,background:"black"}),41:e=>({...e,background:"red"}),42:e=>({...e,background:"green"}),43:e=>({...e,background:"yellow"}),44:e=>({...e,background:"blue"}),45:e=>({...e,background:"magenta"}),46:e=>({...e,background:"cyan"}),47:e=>({...e,background:"white"}),49:({background:e,...t})=>t}).map(([e,t])=>[`\x1b[${e}m`,t]));class p{text;lineNumber;chunks;constructor(e=1,t=[]){this.lineNumber=e,this.chunks=t,this.text=t.map(e=>e.text).join("").toLocaleLowerCase("en-US")}lastChunk(){return this.chunks[this.chunks.length-1]}replaceLastChunk(e){e&&(this.chunks.splice(this.chunks.length-1,1,...e),this.text=this.chunks.map(e=>e.text).join("").toLocaleLowerCase("en-US"))}}class x{text="";lines=[];process(e){if(this.text===e)return this.lines;if(this.text&&e.startsWith(this.text)){let t=this.lines.length>0?this.lines.length-1:0,n=this.lines[t]??new p,r=n.lastChunk(),i=this.processLines((r?.text??"")+e.slice(this.text.length),r?.modifiers,n?.lineNumber);n.replaceLastChunk(i[0]?.chunks),this.lines[t]=n,this.lines=this.lines.concat(i.slice(1))}else this.lines=this.processLines(e);return this.text=e,this.lines}processLines=(e,t={},n=1)=>{let r=[],i=t,l=n,o=0;for(f.lastIndex=0;;){let t=f.exec(e);if(!t){let t=this.processText(e.slice(o),i);return r.push(new p(l,t)),r}let n=e.slice(o,t.index);o=t.index+t[0].length;let s=this.processText(n,i);r.push(new p(l,s)),i=s[s.length-1].modifiers??i,l+=1}};processText=(e,t)=>{let n=[],r=t,i=0;for(g.lastIndex=0;;){let t=g.exec(e);if(!t)return n.push({text:e.slice(i),modifiers:r}),n;let l=e.slice(i,t.index);n.push({text:l,modifiers:r}),i=t.index+t[0].length,r=this.processCode(t[0],r)}};processCode=(e,t)=>m[e]?.(t)??t}var k=n(74600),b=n.n(k),y=n(40953),j=n(13039);let S=({attributes:e,content:t})=>{let{href:n,...i}=e;return(0,r.jsx)(j.rU,{to:n,...i,children:t})};function Z({line:e,classes:t,searchText:n,highlightResultIndex:i,setRowHeight:l}){let o=(0,c.useRef)(null),s=(0,c.useMemo)(()=>(function(e,t){let n=function(e,t){if(!t||!e.includes(t))return;let n=[],r=0;for(;;){let i=e.indexOf(t,r);if(-1===i)break;let l=i+t.length;n.push({start:i,end:l}),r=l}return n}(e.text,t);if(!n)return e.chunks;let r=[],i=0,l=0,o=n[0];for(let t of e.chunks){let{text:e,modifiers:s}=t;if(!o||i+e.length<o.start){r.push(t),i+=e.length;continue}let a=0;for(;o;){let t=Math.max(o.start-i,0);if(t>e.length)break;let c=Math.min(o.end-i,e.length);if(t>a&&r.push({text:e.slice(a,t),modifiers:s}),c>t&&r.push({modifiers:s,highlight:l,text:e.slice(t,c)}),a=c,o.end-i===c)l+=1,o=n[l];else break}a<e.length&&r.push({text:e.slice(a),modifiers:s}),i+=e.length}return r})(e,n),[e,n]);(0,c.useEffect)(()=>{o.current&&l&&l(e.lineNumber,o.current.offsetHeight)},[e.lineNumber,l]);let d=(0,c.useMemo)(()=>s.map(({text:e,modifiers:n,highlight:o},s)=>(0,r.jsx)("span",{className:a()(function(e,t){let n=[];if(t.bold&&n.push(e.modifierBold),t.italic&&n.push(e.modifierItalic),t.underline&&n.push(e.modifierUnderline),t.foreground){let r=`modifierForeground${b()(t.foreground)}`;n.push(e[r])}if(t.background){let r=`modifierBackground${b()(t.background)}`;n.push(e[r])}return n.length>0?n.join(" "):void 0}(t,n),void 0!==o&&(o===i?t.textSelectedHighlight:t.textHighlight),{[t.textWrap]:!!l}),children:(0,r.jsx)(y.Z,{options:{render:S},children:e})},s)),[s,i,t,l]);return(0,r.jsx)("span",{ref:o,children:d})}var w=n(86619),v=n(90436),B=n(48049),C=n(51209),I=n(36444);function L(e){let{resultCount:t,resultIndexStep:n,toggleShouldFilter:i}=e,o=e.resultIndex??0;return(0,r.jsxs)(r.Fragment,{children:[void 0!==t&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(l.Z,{size:"small",onClick:()=>n(!0),children:(0,r.jsx)(B.default,{})}),(0,r.jsxs)(v.Z,{children:[Math.min(o+1,t),"/",t]}),(0,r.jsx)(l.Z,{size:"small",onClick:()=>n(),children:(0,r.jsx)(C.default,{})})]}),(0,r.jsx)(w.Z,{size:"small",variant:"standard",placeholder:"Search",value:e.searchInput,onKeyPress:e=>{"Enter"===e.key&&(e.metaKey||e.ctrlKey||e.altKey?i():n(e.shiftKey))},onChange:t=>e.setSearchInput(t.target.value)}),(0,r.jsx)(l.Z,{size:"small",onClick:i,children:e.shouldFilter?(0,r.jsx)(I.default,{color:"primary"}):(0,r.jsx)(I.default,{color:"disabled"})})]})}var N=n(79692),F=n(41128),M=n(31754),T=n(66054),z=n(81463),R=n(34505),_=n(57186),H=n(32720),W=n(92901),E=n(45410);let K=(0,N.Z)(e=>({root:{background:e.palette.background.paper},header:{height:40,display:"flex",alignItems:"center",justifyContent:"flex-end"},log:{fontFamily:'"Monaco", monospace',fontSize:e.typography.pxToRem(12),lineHeight:"20px"},line:{position:"relative",whiteSpace:"pre",display:"flex",alignItems:"flex-start","&:hover":{background:e.palette.action.hover}},lineSelected:{background:e.palette.action.selected,"&:hover":{background:e.palette.action.selected}},lineCopyButton:{position:"absolute",paddingTop:0,paddingBottom:0},lineNumber:{display:"inline-block",textAlign:"end",width:60,marginRight:e.spacing(1),cursor:"pointer",flexShrink:0},textHighlight:{background:(0,F.Fq)(e.palette.info.main,.15)},textSelectedHighlight:{background:(0,F.Fq)(e.palette.info.main,.4)},modifierBold:{fontWeight:e.typography.fontWeightBold},modifierItalic:{fontStyle:"italic"},modifierUnderline:{textDecoration:"underline"},modifierForegroundBlack:{color:M.Z.black},modifierForegroundRed:{color:T.Z["500"]},modifierForegroundGreen:{color:z.Z["500"]},modifierForegroundYellow:{color:R.Z["500"]},modifierForegroundBlue:{color:_.Z["500"]},modifierForegroundMagenta:{color:H.Z["500"]},modifierForegroundCyan:{color:W.Z["500"]},modifierForegroundWhite:{color:M.Z.white},modifierForegroundGrey:{color:E.Z["500"]},modifierBackgroundBlack:{background:M.Z.black},modifierBackgroundRed:{background:T.Z["500"]},modifierBackgroundGreen:{background:z.Z["500"]},modifierBackgroundYellow:{background:R.Z["500"]},modifierBackgroundBlue:{background:_.Z["500"]},modifierBackgroundMagenta:{background:H.Z["500"]},modifierBackgroundCyan:{background:W.Z["500"]},modifierBackgroundWhite:{background:M.Z.white},modifierBackgroundGrey:{background:E.Z["500"]},textWrap:{whiteSpace:"pre-wrap",wordBreak:"break-all"}}),{name:"BackstageLogViewer"});var U=n(40162),O=n(16162),G=n(8349),$=n(13303);function D(e){let t=K({classes:e.classes}),[n,s]=(0,c.useState)(null),g=e.textWrap??!1,f=(0,c.useRef)({}),m=(0,c.useMemo)(()=>new x,[]).process(e.text),p=function(e){let[t,n]=(0,c.useState)(""),r=t.toLocaleLowerCase("en-US"),[i,l]=(0,c.useState)(0),[o,s]=(0,U.O)(!1),a=(0,c.useMemo)(()=>(function(e,t){if(!t)return{lines:e};let n=[],r=[];for(let i of e)if(i.text.includes(t)){n.push(i);let e=0,l=0;for(;;){let n=i.text.indexOf(t,e);if(-1===n)break;r.push({lineNumber:i.lineNumber,lineIndex:l++}),e=n+t.length}}return{lines:n,results:r}})(e,r),[e,r]),d=a.results?a.results[Math.min(i,a.results.length-1)]:void 0,u=a.results?.length;return{lines:o?a.lines:e,searchText:r,searchInput:t,setSearchInput:n,shouldFilter:o,toggleShouldFilter:s,resultCount:u,resultIndex:i,resultIndexStep:e=>{if(e){if(void 0!==u){let e=Math.min(i-1,u-2);l(e<0?u-1:e)}}else if(void 0!==u){let e=i+1;l(e>=u?0:e)}},resultLine:d?.lineNumber,resultLineIndex:d?.lineIndex}}(m),k=function(e){let t=(0,O.h_)(G.V),[n,r]=(0,c.useState)(),i=n?Math.min(n.start,n.end):void 0,l=n?Math.max(n.start,n.end):void 0,[{error:o},s]=(0,$.Z)();return(0,c.useEffect)(()=>{o&&t.post(o)},[o,t]),{shouldShowButton:e=>i===e||l===e,isSelected:e=>!!n&&i<=e&&e<=l,setSelection(e,t){t?r(t=>t?{start:t.start,end:e}:{start:e,end:e}):r(t=>t?.start===e&&t?.end===e?void 0:{start:e,end:e})},copySelection(){n&&(s(e.slice(Math.min(n.start,n.end)-1,Math.max(n.start,n.end)).map(e=>e.chunks.map(e=>e.text).join("")).join("\n")),r(void 0))}}}(m),b=(0,d.TH)();(0,c.useEffect)(()=>{n&&n.scrollToItem(m.length-1,"end")},[n,m]),(0,c.useEffect)(()=>{n&&(p.resultLine?n.scrollToItem(p.resultLine-1,"center"):n.scrollToItem(m.length-1,"end"))},[n,p.resultLine,m]),(0,c.useEffect)(()=>{if(b.hash){let e=parseInt(b.hash.replace(/\D/g,""),10);k.setSelection(e,!1)}},[]);let y=(e,t)=>{k.setSelection(e,t.shiftKey)};function j(e,t){g&&n&&(n.resetAfterIndex(0),f.current[e-1]=t)}function S(e){return f.current[e]||20}return(0,r.jsx)(u.ZP,{children:({height:e,width:n})=>{let c={ref:s,className:t.log,height:(e||480)-40,width:n||640,itemData:p.lines,itemCount:p.lines.length},d=({index:e,style:n,data:s})=>{let c=s[e],{lineNumber:d}=c;return(0,r.jsxs)(i.Z,{style:{...n},className:a()(t.line,{[t.lineSelected]:k.isSelected(d)}),children:[k.shouldShowButton(d)&&(0,r.jsx)(l.Z,{"data-testid":"copy-button",size:"small",className:t.lineCopyButton,onClick:()=>k.copySelection(),children:(0,r.jsx)(o.default,{fontSize:"inherit"})}),(0,r.jsx)("a",{role:"row",target:"_self",href:`#line-${d}`,className:t.lineNumber,onClick:e=>y(d,e),onKeyPress:e=>y(d,e),children:d}),(0,r.jsx)(Z,{setRowHeight:g?j:void 0,line:c,classes:t,searchText:p.searchText,highlightResultIndex:p.resultLine===d?p.resultLineIndex:void 0})]})};return(0,r.jsxs)(i.Z,{style:{width:n,height:e},className:t.root,children:[(0,r.jsx)(i.Z,{className:t.header,children:(0,r.jsx)(L,{...p})}),g?(0,r.jsx)(h.S_,{...c,itemSize:S,children:d}):(0,r.jsx)(h.t7,{...c,itemSize:20,children:d})]})}})}}}]);
2
- //# sourceMappingURL=9787.bf61e240.chunk.js.map
1
+ "use strict";(self.webpackChunktechdocs_cli_embedded_app=self.webpackChunktechdocs_cli_embedded_app||[]).push([["9787"],{33194:function(e,t,n){n.r(t),n.d(t,{RealLogViewer:()=>D});var r=n(52322),i=n(53244),l=n(61837),o=n(19353),s=n(16709),a=n.n(s),c=n(2784),d=n(73557),u=n(6738),h=n(50166);let g=(0,n(18025).Z)(),f=/\n\r?/g,m=Object.fromEntries(Object.entries({1:e=>({...e,bold:!0}),3:e=>({...e,italic:!0}),4:e=>({...e,underline:!0}),22:({bold:e,...t})=>t,23:({italic:e,...t})=>t,24:({underline:e,...t})=>t,30:e=>({...e,foreground:"black"}),31:e=>({...e,foreground:"red"}),32:e=>({...e,foreground:"green"}),33:e=>({...e,foreground:"yellow"}),34:e=>({...e,foreground:"blue"}),35:e=>({...e,foreground:"magenta"}),36:e=>({...e,foreground:"cyan"}),37:e=>({...e,foreground:"white"}),39:({foreground:e,...t})=>t,90:e=>({...e,foreground:"grey"}),40:e=>({...e,background:"black"}),41:e=>({...e,background:"red"}),42:e=>({...e,background:"green"}),43:e=>({...e,background:"yellow"}),44:e=>({...e,background:"blue"}),45:e=>({...e,background:"magenta"}),46:e=>({...e,background:"cyan"}),47:e=>({...e,background:"white"}),49:({background:e,...t})=>t}).map(([e,t])=>[`\x1b[${e}m`,t]));class p{text;lineNumber;chunks;constructor(e=1,t=[]){this.lineNumber=e,this.chunks=t,this.text=t.map(e=>e.text).join("").toLocaleLowerCase("en-US")}lastChunk(){return this.chunks[this.chunks.length-1]}replaceLastChunk(e){e&&(this.chunks.splice(this.chunks.length-1,1,...e),this.text=this.chunks.map(e=>e.text).join("").toLocaleLowerCase("en-US"))}}class x{text="";lines=[];process(e){if(this.text===e)return this.lines;if(this.text&&e.startsWith(this.text)){let t=this.lines.length>0?this.lines.length-1:0,n=this.lines[t]??new p,r=n.lastChunk(),i=this.processLines((r?.text??"")+e.slice(this.text.length),r?.modifiers,n?.lineNumber);n.replaceLastChunk(i[0]?.chunks),this.lines[t]=n,this.lines=this.lines.concat(i.slice(1))}else this.lines=this.processLines(e);return this.text=e,this.lines}processLines=(e,t={},n=1)=>{let r=[],i=t,l=n,o=0;for(f.lastIndex=0;;){let t=f.exec(e);if(!t){let t=this.processText(e.slice(o),i);return r.push(new p(l,t)),r}let n=e.slice(o,t.index);o=t.index+t[0].length;let s=this.processText(n,i);r.push(new p(l,s)),i=s[s.length-1].modifiers??i,l+=1}};processText=(e,t)=>{let n=[],r=t,i=0;for(g.lastIndex=0;;){let t=g.exec(e);if(!t)return n.push({text:e.slice(i),modifiers:r}),n;let l=e.slice(i,t.index);n.push({text:l,modifiers:r}),i=t.index+t[0].length,r=this.processCode(t[0],r)}};processCode=(e,t)=>m[e]?.(t)??t}var k=n(74600),b=n.n(k),y=n(40953),j=n(13039);let S=({attributes:e,content:t})=>{let{href:n,...i}=e;return(0,r.jsx)(j.rU,{to:n,...i,children:t})};function Z({line:e,classes:t,searchText:n,highlightResultIndex:i,setRowHeight:l}){let o=(0,c.useRef)(null),s=(0,c.useMemo)(()=>(function(e,t){let n=function(e,t){if(!t||!e.includes(t))return;let n=[],r=0;for(;;){let i=e.indexOf(t,r);if(-1===i)break;let l=i+t.length;n.push({start:i,end:l}),r=l}return n}(e.text,t);if(!n)return e.chunks;let r=[],i=0,l=0,o=n[0];for(let t of e.chunks){let{text:e,modifiers:s}=t;if(!o||i+e.length<o.start){r.push(t),i+=e.length;continue}let a=0;for(;o;){let t=Math.max(o.start-i,0);if(t>e.length)break;let c=Math.min(o.end-i,e.length);if(t>a&&r.push({text:e.slice(a,t),modifiers:s}),c>t&&r.push({modifiers:s,highlight:l,text:e.slice(t,c)}),a=c,o.end-i===c)l+=1,o=n[l];else break}a<e.length&&r.push({text:e.slice(a),modifiers:s}),i+=e.length}return r})(e,n),[e,n]);(0,c.useEffect)(()=>{o.current&&l&&l(e.lineNumber,o.current.offsetHeight)},[e.lineNumber,l]);let d=(0,c.useMemo)(()=>s.map(({text:e,modifiers:n,highlight:o},s)=>(0,r.jsx)("span",{className:a()(function(e,t){let n=[];if(t.bold&&n.push(e.modifierBold),t.italic&&n.push(e.modifierItalic),t.underline&&n.push(e.modifierUnderline),t.foreground){let r=`modifierForeground${b()(t.foreground)}`;n.push(e[r])}if(t.background){let r=`modifierBackground${b()(t.background)}`;n.push(e[r])}return n.length>0?n.join(" "):void 0}(t,n),void 0!==o&&(o===i?t.textSelectedHighlight:t.textHighlight),{[t.textWrap]:!!l}),children:(0,r.jsx)(y.Z,{options:{render:S},children:e})},s)),[s,i,t,l]);return(0,r.jsx)("span",{ref:o,children:d})}var w=n(86619),v=n(90436),B=n(48049),C=n(51209),I=n(36444);function L(e){let{resultCount:t,resultIndexStep:n,toggleShouldFilter:i}=e,o=e.resultIndex??0;return(0,r.jsxs)(r.Fragment,{children:[void 0!==t&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(l.Z,{size:"small",onClick:()=>n(!0),children:(0,r.jsx)(B.default,{})}),(0,r.jsxs)(v.Z,{children:[Math.min(o+1,t),"/",t]}),(0,r.jsx)(l.Z,{size:"small",onClick:()=>n(),children:(0,r.jsx)(C.default,{})})]}),(0,r.jsx)(w.Z,{size:"small",variant:"standard",placeholder:"Search",value:e.searchInput,onKeyPress:e=>{"Enter"===e.key&&(e.metaKey||e.ctrlKey||e.altKey?i():n(e.shiftKey))},onChange:t=>e.setSearchInput(t.target.value)}),(0,r.jsx)(l.Z,{size:"small",onClick:i,children:e.shouldFilter?(0,r.jsx)(I.default,{color:"primary"}):(0,r.jsx)(I.default,{color:"disabled"})})]})}var N=n(79692),F=n(41128),M=n(31754),T=n(66054),z=n(81463),R=n(34505),_=n(57186),H=n(32720),W=n(92901),E=n(45410);let K=(0,N.Z)(e=>({root:{background:e.palette.background.paper},header:{height:40,display:"flex",alignItems:"center",justifyContent:"flex-end"},log:{fontFamily:'"Monaco", monospace',fontSize:e.typography.pxToRem(12),lineHeight:"20px"},line:{position:"relative",whiteSpace:"pre",display:"flex",alignItems:"flex-start","&:hover":{background:e.palette.action.hover}},lineSelected:{background:e.palette.action.selected,"&:hover":{background:e.palette.action.selected}},lineCopyButton:{position:"absolute",paddingTop:0,paddingBottom:0},lineNumber:{display:"inline-block",textAlign:"end",width:60,marginRight:e.spacing(1),cursor:"pointer",flexShrink:0,userSelect:"none"},textHighlight:{background:(0,F.Fq)(e.palette.info.main,.15)},textSelectedHighlight:{background:(0,F.Fq)(e.palette.info.main,.4)},modifierBold:{fontWeight:e.typography.fontWeightBold},modifierItalic:{fontStyle:"italic"},modifierUnderline:{textDecoration:"underline"},modifierForegroundBlack:{color:M.Z.black},modifierForegroundRed:{color:T.Z["500"]},modifierForegroundGreen:{color:z.Z["500"]},modifierForegroundYellow:{color:R.Z["500"]},modifierForegroundBlue:{color:_.Z["500"]},modifierForegroundMagenta:{color:H.Z["500"]},modifierForegroundCyan:{color:W.Z["500"]},modifierForegroundWhite:{color:M.Z.white},modifierForegroundGrey:{color:E.Z["500"]},modifierBackgroundBlack:{background:M.Z.black},modifierBackgroundRed:{background:T.Z["500"]},modifierBackgroundGreen:{background:z.Z["500"]},modifierBackgroundYellow:{background:R.Z["500"]},modifierBackgroundBlue:{background:_.Z["500"]},modifierBackgroundMagenta:{background:H.Z["500"]},modifierBackgroundCyan:{background:W.Z["500"]},modifierBackgroundWhite:{background:M.Z.white},modifierBackgroundGrey:{background:E.Z["500"]},textWrap:{whiteSpace:"pre-wrap",wordBreak:"break-all"}}),{name:"BackstageLogViewer"});var U=n(40162),O=n(16162),G=n(8349),$=n(13303);function D(e){let t=K({classes:e.classes}),[n,s]=(0,c.useState)(null),g=e.textWrap??!1,f=(0,c.useRef)({}),m=(0,c.useMemo)(()=>new x,[]).process(e.text),p=function(e){let[t,n]=(0,c.useState)(""),r=t.toLocaleLowerCase("en-US"),[i,l]=(0,c.useState)(0),[o,s]=(0,U.O)(!1),a=(0,c.useMemo)(()=>(function(e,t){if(!t)return{lines:e};let n=[],r=[];for(let i of e)if(i.text.includes(t)){n.push(i);let e=0,l=0;for(;;){let n=i.text.indexOf(t,e);if(-1===n)break;r.push({lineNumber:i.lineNumber,lineIndex:l++}),e=n+t.length}}return{lines:n,results:r}})(e,r),[e,r]),d=a.results?a.results[Math.min(i,a.results.length-1)]:void 0,u=a.results?.length;return{lines:o?a.lines:e,searchText:r,searchInput:t,setSearchInput:n,shouldFilter:o,toggleShouldFilter:s,resultCount:u,resultIndex:i,resultIndexStep:e=>{if(e){if(void 0!==u){let e=Math.min(i-1,u-2);l(e<0?u-1:e)}}else if(void 0!==u){let e=i+1;l(e>=u?0:e)}},resultLine:d?.lineNumber,resultLineIndex:d?.lineIndex}}(m),k=function(e){let t=(0,O.h_)(G.V),[n,r]=(0,c.useState)(),i=n?Math.min(n.start,n.end):void 0,l=n?Math.max(n.start,n.end):void 0,[{error:o},s]=(0,$.Z)();return(0,c.useEffect)(()=>{o&&t.post(o)},[o,t]),{shouldShowButton:e=>i===e||l===e,isSelected:e=>!!n&&i<=e&&e<=l,setSelection(e,t){t?r(t=>t?{start:t.start,end:e}:{start:e,end:e}):r(t=>t?.start===e&&t?.end===e?void 0:{start:e,end:e})},copySelection(){n&&(s(e.slice(Math.min(n.start,n.end)-1,Math.max(n.start,n.end)).map(e=>e.chunks.map(e=>e.text).join("")).join("\n")),r(void 0))}}}(m),b=(0,d.TH)();(0,c.useEffect)(()=>{n&&n.scrollToItem(m.length-1,"end")},[n,m]),(0,c.useEffect)(()=>{n&&(p.resultLine?n.scrollToItem(p.resultLine-1,"center"):n.scrollToItem(m.length-1,"end"))},[n,p.resultLine,m]),(0,c.useEffect)(()=>{if(b.hash){let e=parseInt(b.hash.replace(/\D/g,""),10);k.setSelection(e,!1)}},[]);let y=(e,t)=>{k.setSelection(e,t.shiftKey)};function j(e,t){g&&n&&(n.resetAfterIndex(0),f.current[e-1]=t)}function S(e){return f.current[e]||20}return(0,r.jsx)(u.ZP,{children:({height:e,width:n})=>{let c={ref:s,className:t.log,height:(e||480)-40,width:n||640,itemData:p.lines,itemCount:p.lines.length},d=({index:e,style:n,data:s})=>{let c=s[e],{lineNumber:d}=c;return(0,r.jsxs)(i.Z,{style:{...n},className:a()(t.line,{[t.lineSelected]:k.isSelected(d)}),children:[k.shouldShowButton(d)&&(0,r.jsx)(l.Z,{"data-testid":"copy-button",size:"small",className:t.lineCopyButton,onClick:()=>k.copySelection(),children:(0,r.jsx)(o.default,{fontSize:"inherit"})}),(0,r.jsx)("a",{role:"row",target:"_self",href:`#line-${d}`,className:t.lineNumber,onClick:e=>y(d,e),onKeyPress:e=>y(d,e),children:d}),(0,r.jsx)(Z,{setRowHeight:g?j:void 0,line:c,classes:t,searchText:p.searchText,highlightResultIndex:p.resultLine===d?p.resultLineIndex:void 0})]})};return(0,r.jsxs)(i.Z,{style:{width:n,height:e},className:t.root,children:[(0,r.jsx)(i.Z,{className:t.header,children:(0,r.jsx)(L,{...p})}),g?(0,r.jsx)(h.S_,{...c,itemSize:S,children:d}):(0,r.jsx)(h.t7,{...c,itemSize:20,children:d})]})}})}}}]);
2
+ //# sourceMappingURL=9787.137b8af3.chunk.js.map