react-terminal-viewer-cicd 3.0.0-beta.4 → 3.0.0-beta.40

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.
Files changed (209) hide show
  1. package/README.md +4 -2
  2. package/dist/esm/Addon/EventEmiter.d.ts.map +1 -0
  3. package/dist/esm/Addon/HighlightAddon.d.ts.map +1 -0
  4. package/dist/esm/Addon/SearchAddon.d.ts.map +1 -0
  5. package/dist/esm/Addon/WorkerLog/GlobalContext.d.ts.map +1 -0
  6. package/dist/esm/Addon/WorkerLog/LimitMap.d.ts.map +1 -0
  7. package/dist/esm/Addon/WorkerLog/LogParser.d.ts +28 -0
  8. package/dist/esm/Addon/WorkerLog/LogParser.d.ts.map +1 -0
  9. package/dist/esm/Addon/WorkerLog/LogParser.js +123 -0
  10. package/dist/esm/Addon/WorkerLog/LogWorker.d.ts.map +1 -0
  11. package/dist/esm/Addon/WorkerLog/LogWorker.js +1 -1
  12. package/dist/esm/Addon/WorkerLog/Logs.d.ts +23 -4
  13. package/dist/esm/Addon/WorkerLog/Logs.d.ts.map +1 -0
  14. package/dist/esm/Addon/WorkerLog/Logs.js +75 -20
  15. package/dist/esm/Addon/WorkerLog/Mark.d.ts.map +1 -0
  16. package/dist/esm/Addon/WorkerLog/Searcher.d.ts.map +1 -0
  17. package/dist/esm/Addon/WorkerLog/WebWokerServer.d.ts.map +1 -0
  18. package/dist/esm/Addon/WorkerLog/WebWorkerClient.d.ts.map +1 -0
  19. package/dist/esm/Addon/WorkerLog/log.worker.d.ts.map +1 -0
  20. package/dist/esm/Addon/WorkerLog/log.worker.js +64 -30
  21. package/dist/esm/Addon/WorkerLog/types.d.ts.map +1 -0
  22. package/dist/esm/Addon/useAddon.d.ts.map +1 -0
  23. package/dist/esm/Hooks/useBatchProcess.d.ts.map +1 -0
  24. package/dist/esm/Hooks/useCache.d.ts.map +1 -0
  25. package/dist/esm/Hooks/useDebounceInput.d.ts.map +1 -0
  26. package/dist/esm/Hooks/useLocalStore.d.ts.map +1 -0
  27. package/dist/esm/Hooks/useRemote.d.ts.map +1 -0
  28. package/dist/esm/Hooks/useRemote.js +18 -17
  29. package/dist/esm/Hooks/useThrottle.d.ts.map +1 -0
  30. package/dist/esm/Hooks/useThrottle.js +1 -1
  31. package/dist/esm/Hooks/useWorkerLogs.d.ts +1 -1
  32. package/dist/esm/Hooks/useWorkerLogs.d.ts.map +1 -0
  33. package/dist/esm/Hooks/useWorkerLogs.js +1 -1
  34. package/dist/esm/PipelineLogViewer/PipelineLogViewer.d.ts +5 -0
  35. package/dist/esm/PipelineLogViewer/PipelineLogViewer.js +1241 -0
  36. package/dist/esm/PipelineLogViewer/components/GroupHeader.d.ts +18 -0
  37. package/dist/esm/PipelineLogViewer/components/GroupHeader.d.ts.map +1 -0
  38. package/dist/esm/PipelineLogViewer/components/GroupHeader.js +65 -0
  39. package/dist/esm/PipelineLogViewer/components/LogRow.d.ts +24 -0
  40. package/dist/esm/PipelineLogViewer/components/LogRow.d.ts.map +1 -0
  41. package/dist/esm/PipelineLogViewer/components/LogRow.js +71 -0
  42. package/dist/esm/PipelineLogViewer/components/SearchBar.d.ts +34 -0
  43. package/dist/esm/PipelineLogViewer/components/SearchBar.js +139 -0
  44. package/dist/esm/PipelineLogViewer/components/StickyHeader.d.ts +16 -0
  45. package/dist/esm/PipelineLogViewer/components/StickyHeader.d.ts.map +1 -0
  46. package/dist/esm/PipelineLogViewer/components/StickyHeader.js +27 -0
  47. package/dist/esm/PipelineLogViewer/components/index.d.ts +4 -0
  48. package/dist/esm/PipelineLogViewer/components/index.d.ts.map +1 -0
  49. package/dist/esm/PipelineLogViewer/components/index.js +8 -0
  50. package/dist/esm/PipelineLogViewer/constants.d.ts +30 -0
  51. package/dist/esm/PipelineLogViewer/constants.d.ts.map +1 -0
  52. package/dist/esm/PipelineLogViewer/constants.js +47 -0
  53. package/dist/esm/PipelineLogViewer/hooks/index.d.ts +5 -0
  54. package/dist/esm/PipelineLogViewer/hooks/index.d.ts.map +1 -0
  55. package/dist/esm/PipelineLogViewer/hooks/index.js +9 -0
  56. package/dist/esm/PipelineLogViewer/hooks/useDisplayLogs.d.ts +25 -0
  57. package/dist/esm/PipelineLogViewer/hooks/useDisplayLogs.d.ts.map +1 -0
  58. package/dist/esm/PipelineLogViewer/hooks/useDisplayLogs.js +216 -0
  59. package/dist/esm/PipelineLogViewer/hooks/useGroupManager.d.ts +38 -0
  60. package/dist/esm/PipelineLogViewer/hooks/useGroupManager.d.ts.map +1 -0
  61. package/dist/esm/PipelineLogViewer/hooks/useGroupManager.js +161 -0
  62. package/dist/esm/PipelineLogViewer/hooks/useLogFetcher.d.ts +67 -0
  63. package/dist/esm/PipelineLogViewer/hooks/useLogFetcher.js +752 -0
  64. package/dist/esm/PipelineLogViewer/hooks/useLogSearch.d.ts +43 -0
  65. package/dist/esm/PipelineLogViewer/hooks/useLogSearch.d.ts.map +1 -0
  66. package/dist/esm/PipelineLogViewer/hooks/useLogSearch.js +199 -0
  67. package/dist/esm/PipelineLogViewer/hooks/useStickyHeader.d.ts +20 -0
  68. package/dist/esm/PipelineLogViewer/hooks/useStickyHeader.d.ts.map +1 -0
  69. package/dist/esm/PipelineLogViewer/hooks/useStickyHeader.js +66 -0
  70. package/dist/esm/PipelineLogViewer/index.d.ts +2 -0
  71. package/dist/esm/PipelineLogViewer/index.d.ts.map +1 -0
  72. package/dist/esm/PipelineLogViewer/index.js +5 -0
  73. package/dist/esm/PipelineLogViewer/index.less +632 -0
  74. package/dist/esm/PipelineLogViewer/types.d.ts +150 -0
  75. package/dist/esm/PipelineLogViewer/types.d.ts.map +1 -0
  76. package/dist/esm/PipelineLogViewer/types.js +1 -0
  77. package/dist/esm/PipelineLogViewer/utils/groupLineNumber.d.ts +11 -0
  78. package/dist/esm/PipelineLogViewer/utils/groupLineNumber.d.ts.map +1 -0
  79. package/dist/esm/PipelineLogViewer/utils/groupLineNumber.js +34 -0
  80. package/dist/esm/PipelineLogViewer/utils/virtuosoBoundaryScroll.d.ts +22 -0
  81. package/dist/esm/PipelineLogViewer/utils/virtuosoBoundaryScroll.d.ts.map +1 -0
  82. package/dist/esm/PipelineLogViewer/utils/virtuosoBoundaryScroll.js +47 -0
  83. package/dist/esm/PipelineLogViewer/utils/virtuosoVisibleItems.d.ts +9 -0
  84. package/dist/esm/PipelineLogViewer/utils/virtuosoVisibleItems.d.ts.map +1 -0
  85. package/dist/esm/PipelineLogViewer/utils/virtuosoVisibleItems.js +39 -0
  86. package/dist/esm/PipelineLogViewer/utils/wrapSearchKeywordInHtml.d.ts +11 -0
  87. package/dist/esm/PipelineLogViewer/utils/wrapSearchKeywordInHtml.d.ts.map +1 -0
  88. package/dist/esm/PipelineLogViewer/utils/wrapSearchKeywordInHtml.js +85 -0
  89. package/dist/esm/TerminalViewer/index.d.ts +21 -3
  90. package/dist/esm/TerminalViewer/index.d.ts.map +1 -0
  91. package/dist/esm/TerminalViewer/index.js +25 -4
  92. package/dist/esm/TerminalViewerBody/index.d.ts +1 -1
  93. package/dist/esm/TerminalViewerBody/index.d.ts.map +1 -0
  94. package/dist/esm/TerminalViewerHeader/index.d.ts +17 -3
  95. package/dist/esm/TerminalViewerHeader/index.d.ts.map +1 -0
  96. package/dist/esm/TerminalViewerHeader/index.js +13 -8
  97. package/dist/esm/TerminalViewerHeader/index.less +6 -4
  98. package/dist/esm/TerminalViewerToolBar/index.d.ts.map +1 -0
  99. package/dist/esm/TerminalViewerToolBar/index.js +1 -1
  100. package/dist/esm/TerminalViewerVirtualDom/ChevronRight.d.ts +21 -0
  101. package/dist/esm/TerminalViewerVirtualDom/ChevronRight.d.ts.map +1 -0
  102. package/dist/esm/TerminalViewerVirtualDom/ChevronRight.js +38 -0
  103. package/dist/esm/TerminalViewerVirtualDom/HumenTime.d.ts +4 -3
  104. package/dist/esm/TerminalViewerVirtualDom/HumenTime.d.ts.map +1 -0
  105. package/dist/esm/TerminalViewerVirtualDom/HumenTime.js +21 -20
  106. package/dist/esm/TerminalViewerVirtualDom/LogParser.d.ts +0 -1
  107. package/dist/esm/TerminalViewerVirtualDom/LogParser.d.ts.map +1 -0
  108. package/dist/esm/TerminalViewerVirtualDom/LogParser.js +11 -71
  109. package/dist/esm/TerminalViewerVirtualDom/index.d.ts +22 -1
  110. package/dist/esm/TerminalViewerVirtualDom/index.d.ts.map +1 -0
  111. package/dist/esm/TerminalViewerVirtualDom/index.js +237 -63
  112. package/dist/esm/TerminalViewerVirtualDom/index.less +94 -1
  113. package/dist/esm/TerminalViewerVirtualDom/useStreamStepWorkerLogs.d.ts +17 -4
  114. package/dist/esm/TerminalViewerVirtualDom/useStreamStepWorkerLogs.d.ts.map +1 -0
  115. package/dist/esm/TerminalViewerVirtualDom/useStreamStepWorkerLogs.js +166 -52
  116. package/dist/esm/TerminalViewerVirtualDom/virtualized.less +1 -0
  117. package/dist/esm/index.d.ts +3 -1
  118. package/dist/esm/index.d.ts.map +1 -0
  119. package/dist/esm/index.js +2 -1
  120. package/dist/esm/mock/index.d.ts.map +1 -0
  121. package/dist/esm/mock/index.js +11 -14
  122. package/dist/esm/types.d.ts +13 -2
  123. package/dist/esm/types.d.ts.map +1 -0
  124. package/dist/worker/.dumi/tmp/core/route.d.ts +9 -0
  125. package/dist/worker/.dumi/tmp/dumi/meta/index.d.ts +6 -0
  126. package/dist/worker/log.worker.js +1 -1
  127. package/dist/worker/log.worker.js.map +1 -1
  128. package/dist/worker/src/Addon/WorkerLog/LogParser.d.ts +28 -0
  129. package/dist/worker/src/Addon/WorkerLog/Logs.d.ts +23 -4
  130. package/dist/worker/src/Hooks/useWorkerLogs.d.ts +1 -1
  131. package/dist/worker/src/PipelineLogViewer/PipelineLogViewer.d.ts +5 -0
  132. package/dist/worker/src/PipelineLogViewer/components/FoldPlaceholder.d.ts +9 -0
  133. package/dist/worker/src/PipelineLogViewer/components/GroupHeader.d.ts +18 -0
  134. package/dist/worker/src/PipelineLogViewer/components/LogRow.d.ts +24 -0
  135. package/dist/worker/src/PipelineLogViewer/components/SearchBar.d.ts +34 -0
  136. package/dist/worker/src/PipelineLogViewer/components/StickyHeader.d.ts +16 -0
  137. package/dist/worker/src/PipelineLogViewer/components/index.d.ts +4 -0
  138. package/dist/worker/src/PipelineLogViewer/constants.d.ts +30 -0
  139. package/dist/worker/src/PipelineLogViewer/hooks/index.d.ts +5 -0
  140. package/dist/worker/src/PipelineLogViewer/hooks/useDisplayLogs.d.ts +25 -0
  141. package/dist/worker/src/PipelineLogViewer/hooks/useGroupManager.d.ts +38 -0
  142. package/dist/worker/src/PipelineLogViewer/hooks/useLogFetcher.d.ts +67 -0
  143. package/dist/worker/src/PipelineLogViewer/hooks/useLogSearch.d.ts +43 -0
  144. package/dist/worker/src/PipelineLogViewer/hooks/useStickyHeader.d.ts +20 -0
  145. package/dist/worker/src/PipelineLogViewer/index.d.ts +2 -0
  146. package/dist/worker/src/PipelineLogViewer/types.d.ts +150 -0
  147. package/dist/worker/src/PipelineLogViewer/utils/groupLineNumber.d.ts +11 -0
  148. package/dist/worker/src/PipelineLogViewer/utils/virtuosoBoundaryScroll.d.ts +22 -0
  149. package/dist/worker/src/PipelineLogViewer/utils/virtuosoVisibleItems.d.ts +9 -0
  150. package/dist/worker/src/PipelineLogViewer/utils/wrapSearchKeywordInHtml.d.ts +11 -0
  151. package/dist/worker/src/TerminalViewer/index.d.ts +21 -3
  152. package/dist/worker/src/TerminalViewerBody/index.d.ts +1 -1
  153. package/dist/worker/src/TerminalViewerHeader/CollapseButton.d.ts +21 -0
  154. package/dist/worker/src/TerminalViewerHeader/index.d.ts +17 -3
  155. package/dist/worker/src/TerminalViewerVirtualDom/ChevronRight.d.ts +21 -0
  156. package/dist/worker/src/TerminalViewerVirtualDom/HumenTime.d.ts +4 -3
  157. package/dist/worker/src/TerminalViewerVirtualDom/LogParser.d.ts +0 -1
  158. package/dist/worker/src/TerminalViewerVirtualDom/index.d.ts +22 -1
  159. package/dist/worker/src/TerminalViewerVirtualDom/useGroupedDataWindow.d.ts +26 -0
  160. package/dist/worker/src/TerminalViewerVirtualDom/useStreamStepWorkerLogs.d.ts +17 -4
  161. package/dist/worker/src/index.d.ts +3 -1
  162. package/dist/worker/src/types.d.ts +13 -2
  163. package/package.json +2 -2
  164. package/dist/esm/TerminalViewerVirtualDom/StatusIcon.d.ts +0 -4
  165. package/dist/esm/TerminalViewerVirtualDom/StatusIcon.js +0 -33
  166. package/dist/worker/.dumi/tmp/core/exportStaticRuntimePlugin.d.ts +0 -1
  167. package/dist/worker/.dumi/tmp/core/helmet.d.ts +0 -3
  168. package/dist/worker/.dumi/tmp/core/helmetContext.d.ts +0 -1
  169. package/dist/worker/.dumi/tmp/dumi/locales/runtime.d.ts +0 -2
  170. package/dist/worker/.dumi/tmp/dumi/meta/runtime.d.ts +0 -3
  171. package/dist/worker/Addon/EventEmiter.d.ts +0 -18
  172. package/dist/worker/Addon/HighlightAddon.d.ts +0 -26
  173. package/dist/worker/Addon/SearchAddon.d.ts +0 -140
  174. package/dist/worker/Addon/WorkerLog/GlobalContext.d.ts +0 -10
  175. package/dist/worker/Addon/WorkerLog/LimitMap.d.ts +0 -14
  176. package/dist/worker/Addon/WorkerLog/LogWorker.d.ts +0 -2
  177. package/dist/worker/Addon/WorkerLog/Logs.d.ts +0 -21
  178. package/dist/worker/Addon/WorkerLog/Mark.d.ts +0 -36
  179. package/dist/worker/Addon/WorkerLog/Searcher.d.ts +0 -16
  180. package/dist/worker/Addon/WorkerLog/WebWokerServer.d.ts +0 -10
  181. package/dist/worker/Addon/WorkerLog/WebWorkerClient.d.ts +0 -13
  182. package/dist/worker/Addon/WorkerLog/log.worker.d.ts +0 -1
  183. package/dist/worker/Addon/WorkerLog/types.d.ts +0 -18
  184. package/dist/worker/Addon/useAddon.d.ts +0 -9
  185. package/dist/worker/Hooks/useBatchProcess.d.ts +0 -2
  186. package/dist/worker/Hooks/useCache.d.ts +0 -31
  187. package/dist/worker/Hooks/useDebounceInput.d.ts +0 -3
  188. package/dist/worker/Hooks/useLocalStore.d.ts +0 -2
  189. package/dist/worker/Hooks/useRemote.d.ts +0 -30
  190. package/dist/worker/Hooks/useRemote.test.d.ts +0 -1
  191. package/dist/worker/Hooks/useThrottle.d.ts +0 -2
  192. package/dist/worker/Hooks/useWorkerLogs.d.ts +0 -9
  193. package/dist/worker/TerminalViewer/index.d.ts +0 -185
  194. package/dist/worker/TerminalViewer/index.test.d.ts +0 -1
  195. package/dist/worker/TerminalViewerBody/index.d.ts +0 -87
  196. package/dist/worker/TerminalViewerBody/index.test.d.ts +0 -1
  197. package/dist/worker/TerminalViewerHeader/index.d.ts +0 -88
  198. package/dist/worker/TerminalViewerToolBar/index.d.ts +0 -46
  199. package/dist/worker/TerminalViewerVirtualDom/index.d.ts +0 -71
  200. package/dist/worker/index.d.ts +0 -9
  201. package/dist/worker/log.worker.dev.js +0 -3291
  202. package/dist/worker/log.worker.dev.js.map +0 -1
  203. package/dist/worker/mock/index.d.ts +0 -15
  204. package/dist/worker/src/Addon/LineNumberAddon.d.ts +0 -39
  205. package/dist/worker/src/TerminalViewerVirtualDom/ReactVirtualized.d.ts +0 -71
  206. package/dist/worker/src/TerminalViewerVirtualDom/ReactVirtuoso.d.ts +0 -67
  207. package/dist/worker/src/TerminalViewerVirtualDom/StatusIcon.d.ts +0 -4
  208. package/dist/worker/src/TerminalViewerVirtualDom/parsePipelineLogs.d.ts +0 -21
  209. package/dist/worker/types.d.ts +0 -30
package/README.md CHANGED
@@ -119,14 +119,16 @@ webpack 配置:
119
119
  ```
120
120
 
121
121
  ## 发布
122
+
122
123
  打标签后使用流水线发布或使用常规方式手动发布:
123
124
 
124
125
  ```bash
125
126
  npm version patch && npm publish
126
127
  ```
128
+
127
129
  ## 更新在线地址
128
130
 
129
- 合并代码后与打标签后使用流水线发布,使用常规方式合并代码与构建后,手动推送至deploy
131
+ 合并代码后与打标签后使用流水线发布,使用常规方式合并代码与构建后,手动推送至 deploy
130
132
 
131
133
  ## 修复已知问题
132
134
 
@@ -144,7 +146,7 @@ npm version patch && npm publish
144
146
  ## API
145
147
 
146
148
  | 属性名 | 描述 | 类型 | 默认值 |
147
- | --- | --- | --- | --- |
149
+ | --- | --- | --- | --- | --- | --- |
148
150
  | fit | 是否自动拉伸填充容器宽高 | boolean | true |
149
151
  | autoScroll | 是否开启自动滚动到底部 | boolean | true |
150
152
  | scrollToRow | 自动滚动到某一行,开启后自动滚动到底部失效 | number | -- |
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EventEmiter.d.ts","sourceRoot":"","sources":["../../../src/Addon/EventEmiter.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAM3C,MAAM,WAAW,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI;IACjC,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,KAAK,GAAG,GAAG,WAAW,CAAC;CACpD;AAED,MAAM,WAAW,aAAa,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI;IACxC,KAAK,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACpB,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;IAC7B,OAAO,IAAI,IAAI,CAAC;CACjB;AAED,cAAM,YAAY,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAE,YAAW,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC;IAC5D,OAAO,CAAC,UAAU,CAAyB;IAE3C,OAAO,CAAC,MAAM,CAAC,CAAe;IAE9B,OAAO,CAAC,SAAS,CAAS;IAE1B,IAAW,KAAK,IAAI,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAoB/B;IAEM,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,IAAI;IAU5B,OAAO,IAAI,IAAI;CAMvB;AACD,eAAe,YAAY,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HighlightAddon.d.ts","sourceRoot":"","sources":["../../../src/Addon/HighlightAddon.ts"],"names":[],"mappings":"AAWA,OAAO,EAIL,cAAc,EACd,QAAQ,EACT,MAAM,cAAc,CAAC;AAEtB,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,WAAW,EAAE;QACX,oBAAoB,CAAC,EAAE,MAAM,CAAC;QAC9B,eAAe,CAAC,EAAE,MAAM,CAAC;KAC1B,CAAC;CACH;AAED;;GAEG;AACH,cAAM,cAAe,YAAW,cAAc;IAC5C,OAAO,CAAC,SAAS,CAAuB;IAExC,OAAO,CAAC,iBAAiB,CAAuC;IAEhE,OAAO,CAAC,iBAAiB,CAA6B;IAEtD,QAAQ,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI;IAIlC,OAAO,CAAC,gBAAgB;IAwBxB,OAAO,CAAC,WAAW;IA8CnB,OAAO,CAAC,gBAAgB;IAQxB,OAAO,CAAC,gBAAgB;IAqCjB,SAAS,CAAC,OAAO,EAAE,iBAAiB,EAAE,GAAG,SAAS;IAwBzD,OAAO,IAAI,IAAI;CAIhB;AACD,OAAO,EAAE,cAAc,EAAE,CAAC;AAC1B,eAAe,cAAc,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SearchAddon.d.ts","sourceRoot":"","sources":["../../../src/Addon/SearchAddon.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GlobalContext.d.ts","sourceRoot":"","sources":["../../../../src/Addon/WorkerLog/GlobalContext.ts"],"names":[],"mappings":"AAAA,cAAM,aAAa;IACjB,OAAO,CAAC,MAAM,CAAU;IAExB,OAAO,CAAC,UAAU,CAAY;IAE9B,aAAa,CAAC,IAAI,EAAE,MAAM;IAI1B,aAAa;IAIb,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;IAItB,SAAS,CAAC,CAAC;CAGZ;;AAED,wBAAmC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LimitMap.d.ts","sourceRoot":"","sources":["../../../../src/Addon/WorkerLog/LimitMap.ts"],"names":[],"mappings":"AACA,cAAM,QAAQ;IACZ,OAAO,CAAC,GAAG,CAA4B;IAEvC,OAAO,CAAC,KAAK,CAAgB;IAE7B,OAAO,CAAC,KAAK,CAAS;gBAEV,OAAO,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE;IAMvC,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAIxB,IAAI,IAAI,WAEP;IAED,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG;IAW3B,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAIxB,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;CAG5B;AACD,eAAe,QAAQ,CAAC"}
@@ -0,0 +1,28 @@
1
+ export interface FlatLine {
2
+ type: 'start' | 'end' | 'log';
3
+ text: string;
4
+ }
5
+ export interface Stage {
6
+ stepId: string;
7
+ status: string;
8
+ startTime: string;
9
+ name: string;
10
+ startIndex: number;
11
+ endIndex?: number;
12
+ endStatus?: string;
13
+ endTime?: string;
14
+ logs: FlatLine[];
15
+ }
16
+ declare class LogParser {
17
+ stages: Stage[];
18
+ currentStage: Stage | null;
19
+ flatLines: FlatLine[];
20
+ parse(logs: string[]): void;
21
+ private closeCurrentStage;
22
+ /**
23
+ * 增量追加行并更新 stages / flatLines,
24
+ * transformLine 可在解析阶段直接完成 ANSI->HTML 转换,省去事后 .map()
25
+ */
26
+ append(logs: string[], transformLine?: (text: string) => string): void;
27
+ }
28
+ export default LogParser;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LogParser.d.ts","sourceRoot":"","sources":["../../../../src/Addon/WorkerLog/LogParser.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,OAAO,GAAG,KAAK,GAAG,KAAK,CAAC;IAC9B,IAAI,EAAE,MAAM,CAAC;CACd;AAGD,MAAM,WAAW,KAAK;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IAGb,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAGlB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,IAAI,EAAE,QAAQ,EAAE,CAAC;CAClB;AAED,cAAM,SAAS;IACN,MAAM,EAAE,KAAK,EAAE,CAAM;IAErB,YAAY,EAAE,KAAK,GAAG,IAAI,CAAQ;IAElC,SAAS,EAAE,QAAQ,EAAE,CAAM;IAElC,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE;IAUpB,OAAO,CAAC,iBAAiB;IAczB;;;OAGG;IACH,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM;CAyDhE;AAED,eAAe,SAAS,CAAC"}
@@ -0,0 +1,123 @@
1
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
3
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
4
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
5
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
6
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
7
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
8
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
9
+ function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
10
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
11
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
12
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
13
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
14
+ /* eslint-disable no-continue */
15
+ /* eslint-disable no-plusplus */
16
+ // 阶段结构
17
+ var LogParser = /*#__PURE__*/function () {
18
+ function LogParser() {
19
+ _classCallCheck(this, LogParser);
20
+ _defineProperty(this, "stages", []);
21
+ _defineProperty(this, "currentStage", null);
22
+ _defineProperty(this, "flatLines", []);
23
+ }
24
+ _createClass(LogParser, [{
25
+ key: "parse",
26
+ value: function parse(logs) {
27
+ if (!logs || !Array.isArray(logs)) {
28
+ return;
29
+ }
30
+ this.stages = [];
31
+ this.currentStage = null;
32
+ this.flatLines = [];
33
+ this.append(logs);
34
+ }
35
+ }, {
36
+ key: "closeCurrentStage",
37
+ value: function closeCurrentStage(flatLineIndex) {
38
+ if (!this.currentStage) return;
39
+ if (flatLineIndex > this.currentStage.startIndex) {
40
+ this.currentStage.endIndex = flatLineIndex - 1;
41
+ } else {
42
+ this.currentStage.endIndex = this.currentStage.startIndex > 0 ? this.currentStage.startIndex - 1 : this.currentStage.startIndex;
43
+ }
44
+ this.stages.push(this.currentStage);
45
+ this.currentStage = null;
46
+ }
47
+
48
+ /**
49
+ * 增量追加行并更新 stages / flatLines,
50
+ * transformLine 可在解析阶段直接完成 ANSI->HTML 转换,省去事后 .map()
51
+ */
52
+ }, {
53
+ key: "append",
54
+ value: function append(logs, transformLine) {
55
+ if (!logs || !Array.isArray(logs)) {
56
+ return;
57
+ }
58
+
59
+ // 若上一次 append 留下了一个"临时关闭"的未结束阶段,重新打开它
60
+ if (!this.currentStage && this.stages.length > 0) {
61
+ var last = this.stages[this.stages.length - 1];
62
+ if (!last.endStatus) {
63
+ this.currentStage = last;
64
+ this.currentStage.endIndex = undefined;
65
+ this.stages.pop();
66
+ }
67
+ }
68
+ var flatLineIndex = this.flatLines.length;
69
+ for (var i = 0; i < logs.length; i++) {
70
+ var line = logs[i];
71
+ if (line.startsWith('START_')) {
72
+ // 若当前有未关闭的旧阶段,先关闭
73
+ this.closeCurrentStage(flatLineIndex);
74
+ var _line$split = line.split('_'),
75
+ _line$split2 = _slicedToArray(_line$split, 5),
76
+ stepId = _line$split2[1],
77
+ status = _line$split2[2],
78
+ startTime = _line$split2[3],
79
+ name = _line$split2[4];
80
+ this.currentStage = {
81
+ stepId: stepId,
82
+ status: status,
83
+ startTime: startTime,
84
+ name: name,
85
+ startIndex: flatLineIndex,
86
+ endIndex: undefined,
87
+ logs: []
88
+ };
89
+ continue;
90
+ }
91
+ if (line.startsWith('END_')) {
92
+ var _line$split3 = line.split('_'),
93
+ _line$split4 = _slicedToArray(_line$split3, 4),
94
+ endStatus = _line$split4[2],
95
+ endTime = _line$split4[3];
96
+ if (this.currentStage) {
97
+ this.currentStage.endTime = endTime;
98
+ this.currentStage.endStatus = endStatus;
99
+ this.closeCurrentStage(flatLineIndex);
100
+ }
101
+ continue;
102
+ }
103
+ var _text = transformLine ? transformLine(line) : line;
104
+ this.flatLines.push({
105
+ type: 'log',
106
+ text: _text
107
+ });
108
+ flatLineIndex++;
109
+ if (this.currentStage) {
110
+ this.currentStage.logs.push({
111
+ type: 'log',
112
+ text: _text
113
+ });
114
+ }
115
+ }
116
+
117
+ // 未结束的阶段临时关闭,保证 stages 快照完整
118
+ this.closeCurrentStage(flatLineIndex);
119
+ }
120
+ }]);
121
+ return LogParser;
122
+ }();
123
+ export default LogParser;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LogWorker.d.ts","sourceRoot":"","sources":["../../../../src/Addon/WorkerLog/LogWorker.ts"],"names":[],"mappings":"AAAA,iBAAS,SAAS,CAAC,UAAU,SAAY,UAYxC;AAED,eAAe,SAAS,CAAC"}
@@ -1,7 +1,7 @@
1
1
  function LogWorker() {
2
2
  var workerPath = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '/worker';
3
3
  var worker = null;
4
- var version = "3.0.0-beta.4" || '0.0.0';
4
+ var version = "3.0.0-beta.40" || '0.0.0';
5
5
  var path = workerPath.includes('http') ? "".concat(workerPath, "/log.worker.js") : "".concat(window.location.origin).concat(workerPath, "/log.worker.js");
6
6
  var blob = new Blob(["importScripts(\"".concat(path, "?v=").concat(version, "\")")], {
7
7
  type: 'application/javascript'
@@ -1,15 +1,34 @@
1
1
  import type { ISearchOptions } from '../SearchAddon';
2
+ import { type FlatLine, type Stage } from './LogParser';
2
3
  export default class Logs {
3
4
  private id;
4
- private string;
5
5
  private searcher;
6
- private logDataMap;
6
+ private parser;
7
+ private ansiUp;
8
+ private buffer;
9
+ private lastSentFlatIndex;
7
10
  constructor({ id, string }: {
8
11
  id: string;
9
12
  string: string;
10
13
  });
11
- convert(): string[];
12
- getArrayData(): any;
14
+ /**
15
+ * 增量追加原始日志字符串,自动处理行切割和 ANSI->HTML 转换
16
+ */
17
+ appendString(chunk: string): void;
18
+ /**
19
+ * 仅返回自上次 getDelta() 以来新增的行 + 全量 stages 快照(不含 logs 字段)
20
+ */
21
+ getDelta(): {
22
+ newFlatLines: FlatLine[];
23
+ stages: Stage[];
24
+ totalFlatCount: number;
25
+ };
26
+ clear(): void;
27
+ getStages(): Stage[];
28
+ getFlatLines(): FlatLine[];
29
+ /**
30
+ * 搜索(在 Worker 内执行,不走 IPC)
31
+ */
13
32
  mark(keyword: string, hlIndex?: number, options?: ISearchOptions | undefined): {
14
33
  count: number;
15
34
  map: {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Logs.d.ts","sourceRoot":"","sources":["../../../../src/Addon/WorkerLog/Logs.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAkB,EAAE,KAAK,QAAQ,EAAE,KAAK,KAAK,EAAE,MAAM,aAAa,CAAC;AAGnE,MAAM,CAAC,OAAO,OAAO,IAAI;IACvB,OAAO,CAAC,EAAE,CAAS;IAEnB,OAAO,CAAC,QAAQ,CAAW;IAE3B,OAAO,CAAC,MAAM,CAAY;IAE1B,OAAO,CAAC,MAAM,CAAS;IAEvB,OAAO,CAAC,MAAM,CAAM;IAEpB,OAAO,CAAC,iBAAiB,CAAK;gBAElB,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE;IAiB1D;;OAEG;IACH,YAAY,CAAC,KAAK,EAAE,MAAM;IAW1B;;OAEG;IACH,QAAQ,IAAI;QACV,YAAY,EAAE,QAAQ,EAAE,CAAC;QACzB,MAAM,EAAE,KAAK,EAAE,CAAC;QAChB,cAAc,EAAE,MAAM,CAAC;KACxB;IAYD,KAAK;IAML,SAAS,IAAI,KAAK,EAAE;IAIpB,YAAY,IAAI,QAAQ,EAAE;IAI1B;;OAEG;IACH,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,SAAI,EAAE,OAAO,GAAE,cAAc,GAAG,SAAqB;;;;;;;;CAWnF"}
@@ -1,3 +1,5 @@
1
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
2
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
1
3
  function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
4
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
3
5
  function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
@@ -6,7 +8,7 @@ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key i
6
8
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
7
9
  function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
8
10
  import { default as AnsiUp } from 'ansi_up';
9
- import LimitMap from "./LimitMap";
11
+ import LogParser from "./LogParser";
10
12
  import Searcher from "./Searcher";
11
13
  var Logs = /*#__PURE__*/function () {
12
14
  function Logs(_ref) {
@@ -14,34 +16,87 @@ var Logs = /*#__PURE__*/function () {
14
16
  string = _ref.string;
15
17
  _classCallCheck(this, Logs);
16
18
  _defineProperty(this, "id", void 0);
17
- _defineProperty(this, "string", void 0);
18
19
  _defineProperty(this, "searcher", void 0);
19
- _defineProperty(this, "logDataMap", void 0);
20
+ _defineProperty(this, "parser", void 0);
21
+ _defineProperty(this, "ansiUp", void 0);
22
+ _defineProperty(this, "buffer", '');
23
+ _defineProperty(this, "lastSentFlatIndex", 0);
20
24
  this.id = id;
21
- this.string = string;
22
- this.searcher = new Searcher();
23
- this.logDataMap = new LimitMap({
24
- limit: 1
25
+ this.searcher = new Searcher({
26
+ calculateSearchText: function calculateSearchText(line) {
27
+ if (line && _typeof(line) === 'object' && 'text' in line) {
28
+ return line.text || '';
29
+ }
30
+ return '';
31
+ }
25
32
  });
33
+ this.parser = new LogParser();
34
+ this.ansiUp = new AnsiUp();
35
+ if (string) {
36
+ this.appendString(string);
37
+ }
26
38
  }
39
+
40
+ /**
41
+ * 增量追加原始日志字符串,自动处理行切割和 ANSI->HTML 转换
42
+ */
27
43
  _createClass(Logs, [{
28
- key: "convert",
29
- value: function convert() {
30
- if (this.string.length === 0) {
31
- return [];
44
+ key: "appendString",
45
+ value: function appendString(chunk) {
46
+ var _this = this;
47
+ if (!chunk) return;
48
+ this.buffer += chunk;
49
+ var rawLines = this.buffer.split(/\s*[\r\n]+\s*/);
50
+ // 最后一段可能不完整,保留到下次
51
+ this.buffer = rawLines.pop() || '';
52
+ if (rawLines.length > 0) {
53
+ this.parser.append(rawLines, function (line) {
54
+ return _this.ansiUp.ansi_to_html(line);
55
+ });
32
56
  }
33
- return this.string.split('\r\n').map(function (content) {
34
- return new AnsiUp().ansi_to_html(content);
57
+ }
58
+
59
+ /**
60
+ * 仅返回自上次 getDelta() 以来新增的行 + 全量 stages 快照(不含 logs 字段)
61
+ */
62
+ }, {
63
+ key: "getDelta",
64
+ value: function getDelta() {
65
+ var newFlatLines = this.parser.flatLines.slice(this.lastSentFlatIndex);
66
+ this.lastSentFlatIndex = this.parser.flatLines.length;
67
+ // stages 结构极小(通常 < 50 个),全量传回;但去掉 logs 字段省 IPC 带宽
68
+ var stages = this.parser.stages.map(function (s) {
69
+ return _objectSpread(_objectSpread({}, s), {}, {
70
+ logs: []
71
+ });
35
72
  });
73
+ return {
74
+ newFlatLines: newFlatLines,
75
+ stages: stages,
76
+ totalFlatCount: this.parser.flatLines.length
77
+ };
36
78
  }
37
79
  }, {
38
- key: "getArrayData",
39
- value: function getArrayData() {
40
- if (!this.logDataMap.has(this.id)) {
41
- this.logDataMap.set(this.id, this.convert());
42
- }
43
- return this.logDataMap.get(this.id) || [];
80
+ key: "clear",
81
+ value: function clear() {
82
+ this.buffer = '';
83
+ this.parser = new LogParser();
84
+ this.lastSentFlatIndex = 0;
85
+ }
86
+ }, {
87
+ key: "getStages",
88
+ value: function getStages() {
89
+ return this.parser.stages;
90
+ }
91
+ }, {
92
+ key: "getFlatLines",
93
+ value: function getFlatLines() {
94
+ return this.parser.flatLines;
44
95
  }
96
+
97
+ /**
98
+ * 搜索(在 Worker 内执行,不走 IPC)
99
+ */
45
100
  }, {
46
101
  key: "mark",
47
102
  value: function mark(keyword) {
@@ -50,7 +105,7 @@ var Logs = /*#__PURE__*/function () {
50
105
  if (!keyword) {
51
106
  return this.searcher.search(keyword, []);
52
107
  }
53
- return this.searcher.search(keyword, this.getArrayData(), hlIndex, options);
108
+ return this.searcher.search(keyword, this.parser.flatLines, hlIndex, options);
54
109
  }
55
110
  }]);
56
111
  return Logs;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Mark.d.ts","sourceRoot":"","sources":["../../../../src/Addon/WorkerLog/Mark.ts"],"names":[],"mappings":"AAMA,cAAM,IAAI;IACR,OAAO,CAAC,GAAG,CAAW;IAEtB,OAAO,CAAC,OAAO,CAKb;IAEK,UAAU,EAAE,MAAM,CAAC;IAEnB,YAAY,EAAE,MAAM,CAAC;IAErB,QAAQ,UAAS;IAExB,OAAO,CAAC,OAAO,CAAS;gBAGtB,OAAO,EAAE,MAAM,EACf,OAAO,GAAE;QACP,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,KAAK,CAAC,EAAE;YAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAA;SAAE,CAAC;QAC9C,WAAW,CAAC,EAAE;YAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAA;SAAE,CAAC;KAIrD;IAcH;;;;;;OAMG;IACH,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO;;;KAAkC;IA8B/D,SAAS,CAAC,GAAG,EAAE,MAAM;IAKrB,QAAQ,CAAC,QAAQ,EAAE,OAAO;IAS1B,YAAY,CAAC,EAAE,EAAE,SAAS;IAqB1B,mBAAmB,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM;IAqB1D,QAAQ;IAQR,OAAO;CAGR;AACD,eAAe,IAAI,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Searcher.d.ts","sourceRoot":"","sources":["../../../../src/Addon/WorkerLog/Searcher.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAKhD,MAAM,WAAW,QAAQ;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,MAAM,CAAC;CAChE;AACD,MAAM,CAAC,OAAO,OAAO,QAAQ;IAC3B,OAAO,CAAC,OAAO,CAAW;gBAEd,OAAO,CAAC,EAAE,QAAQ;IAQ9B,MAAM,CACJ,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,EAC5C,OAAO,SAAI,EACX,OAAO,GAAE,cAAc,GAAG,SAAqB;;;;;;;;CAqElD"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WebWokerServer.d.ts","sourceRoot":"","sources":["../../../../src/Addon/WorkerLog/WebWokerServer.ts"],"names":[],"mappings":"AACA,KAAK,QAAQ,GAAG,CAAC,OAAO,EAAE,eAAe,EAAE,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC;AAE9D,cAAM,eAAe;IACnB,OAAO,CAAC,MAAM,CAAqC;IAEnD,OAAO,CAAC,OAAO,CAAS;gBAEZ,OAAO,EAAE,MAAM;IAS3B,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ;IAQpC,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG;IAU7B,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,KAAK;CAIjC;AAED,eAAe,eAAe,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WebWorkerClient.d.ts","sourceRoot":"","sources":["../../../../src/Addon/WorkerLog/WebWorkerClient.ts"],"names":[],"mappings":"AACA,KAAK,QAAQ,GAAG,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC;AACpC,cAAM,eAAe;IACnB,OAAO,CAAC,MAAM,CAAqC;IAEnD,OAAO,CAAC,MAAM,CAAS;gBAEX,MAAM,EAAE,MAAM;IAS1B,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ;IAQtC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ;IAQpC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ;IAQrC,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG;IAU7B,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,KAAK;IAKhC,SAAS;CAIV;AAED,eAAe,eAAe,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"log.worker.d.ts","sourceRoot":"","sources":["../../../../src/Addon/WorkerLog/log.worker.ts"],"names":[],"mappings":""}
@@ -1,12 +1,14 @@
1
1
  /* eslint-disable no-restricted-globals */
2
- import WebWorkerServer from "./WebWokerServer";
3
2
  import LimitMap from "./LimitMap";
4
3
  import Logs from "./Logs";
4
+ import WebWorkerServer from "./WebWokerServer";
5
5
  var server = new WebWorkerServer(self);
6
6
  var logsInstanceMap = new LimitMap({
7
7
  limit: 8
8
8
  });
9
- server.on('highlight-log', function (ctx, _ref) {
9
+
10
+ // ── 增量追加(核心路径)──────────────────────────────────
11
+ server.on('append-log', function (ctx, _ref) {
10
12
  var id = _ref.id,
11
13
  string = _ref.string;
12
14
  if (!logsInstanceMap.has(id)) {
@@ -14,34 +16,66 @@ server.on('highlight-log', function (ctx, _ref) {
14
16
  id: id,
15
17
  string: string
16
18
  }));
19
+ } else {
20
+ logsInstanceMap.get(id).appendString(string);
17
21
  }
18
22
  var instance = logsInstanceMap.get(id);
19
- ctx.send('highlight-log-success', {
23
+ var delta = instance.getDelta();
24
+ ctx.send('append-log-success', {
20
25
  id: id,
21
- logs: instance === null || instance === void 0 ? void 0 : instance.getArrayData()
26
+ newFlatLines: delta.newFlatLines,
27
+ stages: delta.stages,
28
+ totalFlatCount: delta.totalFlatCount
22
29
  });
23
30
  });
24
- server.on('search-log', function (ctx, _ref2) {
25
- var id = _ref2.id,
26
- searchId = _ref2.searchId,
27
- _ref2$keyword = _ref2.keyword,
28
- keyword = _ref2$keyword === void 0 ? '' : _ref2$keyword,
29
- hlIndex = _ref2.hlIndex,
30
- _ref2$string = _ref2.string,
31
- string = _ref2$string === void 0 ? '' : _ref2$string,
32
- options = _ref2.options;
31
+
32
+ // ── 清空(refresh 时调用)─────────────────────────────────
33
+ server.on('clear-log', function (ctx, _ref2) {
34
+ var id = _ref2.id;
35
+ if (logsInstanceMap.has(id)) {
36
+ logsInstanceMap.get(id).clear();
37
+ }
38
+ });
39
+
40
+ // ── 搜索(在 Worker 内完成全量扫描,只回传匹配结果)──────────
41
+ server.on('search-log', function (ctx, _ref3) {
42
+ var id = _ref3.id,
43
+ searchId = _ref3.searchId,
44
+ _ref3$keyword = _ref3.keyword,
45
+ keyword = _ref3$keyword === void 0 ? '' : _ref3$keyword,
46
+ hlIndex = _ref3.hlIndex,
47
+ options = _ref3.options;
48
+ var emptyResult = {
49
+ map: {},
50
+ count: 0,
51
+ markedKey: 0
52
+ };
33
53
  if (!keyword) {
34
54
  ctx.send('search-log-success', {
35
- id: id,
36
55
  searchId: searchId,
37
- searcherResult: {
38
- map: {},
39
- count: 0,
40
- markedKey: 0
41
- }
56
+ searcherResult: emptyResult
42
57
  });
43
58
  return;
44
59
  }
60
+ var instance = logsInstanceMap.get(id);
61
+ if (instance) {
62
+ var result = instance.mark(keyword, hlIndex, options);
63
+ ctx.send('search-log-success', {
64
+ searchId: searchId,
65
+ searcherResult: result || emptyResult
66
+ });
67
+ } else {
68
+ ctx.send('search-log-success', {
69
+ searchId: searchId,
70
+ searcherResult: emptyResult
71
+ });
72
+ }
73
+ });
74
+
75
+ // ── 兼容:旧的全量高亮(保留给可能的外部调用者)──────────────
76
+ server.on('highlight-log', function (ctx, _ref4) {
77
+ var id = _ref4.id,
78
+ string = _ref4.string;
45
79
  if (!logsInstanceMap.has(id)) {
46
80
  logsInstanceMap.set(id, new Logs({
47
81
  id: id,
@@ -49,15 +83,15 @@ server.on('search-log', function (ctx, _ref2) {
49
83
  }));
50
84
  }
51
85
  var instance = logsInstanceMap.get(id);
52
- if (instance) {
53
- ctx.send('search-log-success', {
54
- id: id,
55
- searchId: searchId,
56
- searcherResult: instance.mark(keyword, hlIndex, options) || {
57
- map: {},
58
- count: 0,
59
- markedKey: 0
60
- }
61
- });
62
- }
86
+ var logs = (instance === null || instance === void 0 ? void 0 : instance.getFlatLines().map(function (l) {
87
+ return l.text;
88
+ })) || [];
89
+ var stages = (instance === null || instance === void 0 ? void 0 : instance.getStages()) || [];
90
+ var flatLines = (instance === null || instance === void 0 ? void 0 : instance.getFlatLines()) || [];
91
+ ctx.send('highlight-log-success', {
92
+ id: id,
93
+ logs: logs,
94
+ stages: stages,
95
+ flatLines: flatLines
96
+ });
63
97
  });
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/Addon/WorkerLog/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAErD,MAAM,MAAM,oBAAoB,GAAG,CAAC,MAAM,EAAE,cAAc,KAAK,IAAI,CAAC;AACpE,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,CAAC,EAAE;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,KAAK,IAAI,CAAC;AAClG,MAAM,WAAW,WAAW;IAC1B,YAAY,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,KAAK,IAAI,CAAC;IACjE,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,KAAK,IAAI,CAAC;IAC7D,kBAAkB,EAAE,CAAC,QAAQ,EAAE,wBAAwB,KAAK,IAAI,CAAC;CAClE;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IACxC,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC;CAC5B"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useAddon.d.ts","sourceRoot":"","sources":["../../../src/Addon/useAddon.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAExC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,MAAM,MAAM,SAAS,GAAG,QAAQ,GAAG,aAAa,GAAG,WAAW,GAAG,cAAc,GAAG,WAAW,CAAC;AAC9F,QAAA,MAAM,QAAQ,aACF,QAAQ,GAAG,SAAS,SACvB,UAAU,SAAS,YAChB,OAAO,qBACC,QAAQ,YAAY,SAAS,KAAK,IAAI,uCAuBzD,CAAC;AAEF,eAAe,QAAQ,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useBatchProcess.d.ts","sourceRoot":"","sources":["../../../src/Hooks/useBatchProcess.ts"],"names":[],"mappings":"AAiCA,QAAA,MAAM,eAAe,sBAAuB,MAAM,KAAK,IAAI,qBAAqB,MAAM,eAkBrF,CAAC;AACF,eAAe,eAAe,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useCache.d.ts","sourceRoot":"","sources":["../../../src/Hooks/useCache.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,aAAa;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AACD,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC;CACnB;AACD,MAAM,MAAM,SAAS,GAAG;IACtB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,cAAc,GAAG,MAAM,GAAG,SAAS,CAAC;IAC5D,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;AACF,QAAA,MAAM,QAAQ,YACH,MAAM,GAAG,MAAM,GAAG,SAAS,YAC1B,MAAM,GAAG,MAAM,GAAG,SAAS,iBACtB,aAAa;;oBAwCd,MAAM,GAAG,MAAM,SAAS,cAAc;;;;;;;;;;;;;;CA8DrD,CAAC;AAEF,eAAe,QAAQ,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDebounceInput.d.ts","sourceRoot":"","sources":["../../../src/Hooks/useDebounceInput.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAyC,MAAM,OAAO,CAAC;AAG9D,iBAAS,gBAAgB,CAAC,CAAC,SAAS,QAAQ,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,SAAM,OAcxD,MAAM,WAAW,CAAC,gBAAgB,CAAC,UAS1C;AACD,eAAe,gBAAgB,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useLocalStore.d.ts","sourceRoot":"","sources":["../../../src/Hooks/useLocalStore.ts"],"names":[],"mappings":"AAOA,QAAA,MAAM,aAAa,mBAAmB,CAAC;AAEvC,eAAe,aAAa,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useRemote.d.ts","sourceRoot":"","sources":["../../../src/Hooks/useRemote.ts"],"names":[],"mappings":";AACA,OAAiB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAErD,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,EAAE,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,KAAK,OAAO,CAAC,WAAW,CAAC,CAAC;IAClE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AACD,MAAM,MAAM,cAAc,GAAG,CAC3B,WAAW,EAAE,MAAM,EACnB,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,EACnC,OAAO,CAAC,EAAE,cAAc,GAAG,SAAS,EACpC,YAAY,CAAC,EAAE,aAAa,EAC5B,WAAW,CAAC,EAAE,OAAO,KAClB;IACH,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,UAAU,EAAE,WAAW,CAAC;IACxB,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AACF,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,CAAC,MAAM,OAAO,CAAC,WAAW,CAAC,CAAC,GAAG,SAAS,CAAC;IAC/C,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CAC3B;AA4CD,eAAO,MAAM,gBAAgB,4BACF,MAAM,GAAG,MAAM,KAAK,QAAQ,WAAW,CAAC,gCAChD,MAAM,KAAK,QAAQ,IAAI,CAAC,WAChC,KAAK,cAAc,EAAE,SAAS,GAAG,OAAO,GAAG,UAAU,GAAG,eAAe,CAAC,iBAClE,aAAa;;;;;CAiI7B,CAAC;AACF,QAAA,MAAM,SAAS,EAAE,cA8ChB,CAAC;AAEF,eAAe,SAAS,CAAC"}