@lvce-editor/shared-process 0.25.10 → 0.25.12

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 (405) hide show
  1. package/package.json +4 -4
  2. package/src/parts/AddAccurateMemoryUsage/AddAccurateMemoryUsage.js +7 -8
  3. package/src/parts/AddSemiColon/AddSemiColon.js +3 -4
  4. package/src/parts/AppWindow/AppWindow.js +14 -16
  5. package/src/parts/ApplyEdit/ApplyEdit.js +6 -7
  6. package/src/parts/Assert/Assert.js +1 -1
  7. package/src/parts/AttachDebugger/AttachDebugger.ipc.js +4 -6
  8. package/src/parts/AttachDebugger/AttachDebugger.js +4 -5
  9. package/src/parts/Authority/Authority.js +1 -1
  10. package/src/parts/AutoUpdateType/AutoUpdateType.js +4 -4
  11. package/src/parts/AutoUpdater/AutoUpdater.ipc.js +5 -7
  12. package/src/parts/AutoUpdater/AutoUpdater.js +31 -31
  13. package/src/parts/AutoUpdaterAppImage/AutoUpdaterAppImage.ipc.js +5 -7
  14. package/src/parts/AutoUpdaterAppImage/AutoUpdaterAppImage.js +49 -50
  15. package/src/parts/AutoUpdaterWindowsNsis/AutoUpdaterWindowsNsis.ipc.js +5 -7
  16. package/src/parts/AutoUpdaterWindowsNsis/AutoUpdaterWindowsNsis.js +49 -49
  17. package/src/parts/BulkReplacement/BulkReplacement.ipc.js +4 -6
  18. package/src/parts/BulkReplacement/BulkReplacement.js +16 -16
  19. package/src/parts/BulkReplacementContent/BulkReplacementContent.js +26 -27
  20. package/src/parts/ByteSize/ByteSize.js +4 -4
  21. package/src/parts/Callback/Callback.js +1 -1
  22. package/src/parts/Character/Character.js +12 -12
  23. package/src/parts/ChildProcess/ChildProcess.js +71 -86
  24. package/src/parts/Clamp/Clamp.js +2 -2
  25. package/src/parts/Cli/Cli.js +12 -12
  26. package/src/parts/CliCommandType/CliCommandType.js +11 -11
  27. package/src/parts/CliHelp/CliHelp.js +8 -9
  28. package/src/parts/CliInstall/CliInstall.js +24 -24
  29. package/src/parts/CliLink/CliLink.js +17 -17
  30. package/src/parts/CliList/CliList.js +15 -18
  31. package/src/parts/CliModule/CliModule.js +26 -27
  32. package/src/parts/CliStatus/CliStatus.js +4 -5
  33. package/src/parts/CliUnlink/CliUnlink.js +17 -17
  34. package/src/parts/CliVersion/CliVersion.js +7 -8
  35. package/src/parts/ClipBoard/ClipBoard.ipc.js +5 -7
  36. package/src/parts/ClipBoard/ClipBoard.js +18 -21
  37. package/src/parts/ClipBoard/ClipBoardGnome.js +49 -54
  38. package/src/parts/ClipBoard/ClipBoardNoop.js +10 -12
  39. package/src/parts/ClipBoard/ClipBoardWindows.js +17 -18
  40. package/src/parts/CollectTextSearchStdout/CollectTextSearchStdout.js +83 -93
  41. package/src/parts/ColorTheme/ColorTheme.js +14 -17
  42. package/src/parts/Command/Command.js +61 -68
  43. package/src/parts/CommandNotFoundError/CommandNotFoundError.js +7 -8
  44. package/src/parts/CompareVersion/CompareVersion.js +2 -2
  45. package/src/parts/ContentSecurityPolicy/ContentSecurityPolicy.ipc.js +4 -6
  46. package/src/parts/ContentSecurityPolicy/ContentSecurityPolicy.js +6 -7
  47. package/src/parts/ContentSecurityPolicyDiffWorker/ContentSecurityPolicyDiffWorker.js +2 -0
  48. package/src/parts/ContentSecurityPolicyDocument/ContentSecurityPolicyDocument.js +9 -10
  49. package/src/parts/ContentSecurityPolicyState/ContentSecurityPolicyState.js +5 -7
  50. package/src/parts/ContentSecurityPolicySyntaxHighlightingWorker/ContentSecurityPolicySyntaxHighlightingWorker.js +2 -3
  51. package/src/parts/ContentSecurityPolicyTerminalWorker/ContentSecurityPolicyTerminalWorker.js +2 -3
  52. package/src/parts/ContentSecurityPolicyTestWorker/ContentSecurityPolicyTestWorker.js +2 -3
  53. package/src/parts/ContentSecurityPolicyWorker/ContentSecurityPolicyWorker.js +6 -7
  54. package/src/parts/CpuProfile/CpuProfile.js +22 -25
  55. package/src/parts/Crash/Crash.ipc.js +5 -7
  56. package/src/parts/Crash/Crash.js +8 -11
  57. package/src/parts/CreatePidMap/CreatePidMap.js +4 -5
  58. package/src/parts/CreateTestOverview/CreateTestOverview.js +19 -22
  59. package/src/parts/CrossOriginEmbedderPolicy/CrossOriginEmbedderPolicy.js +1 -1
  60. package/src/parts/CrossOriginOpenerPolicy/CrossOriginOpenerPolicy.js +2 -2
  61. package/src/parts/Debug/Debug.js +2 -3
  62. package/src/parts/DefaultUrl/DefaultUrl.js +3 -4
  63. package/src/parts/Desktop/Desktop.js +18 -19
  64. package/src/parts/DesktopCapturer/DesktopCapturer.ipc.js +4 -6
  65. package/src/parts/DesktopCapturer/DesktopCapturer.js +3 -4
  66. package/src/parts/DesktopType/DesktopType.js +3 -3
  67. package/src/parts/DestroySocket/DestroySocket.js +5 -4
  68. package/src/parts/Developer/Developer.ipc.js +12 -14
  69. package/src/parts/Developer/Developer.js +33 -40
  70. package/src/parts/DirentType/DirentType.js +12 -12
  71. package/src/parts/Download/Download.ipc.js +4 -6
  72. package/src/parts/Download/Download.js +20 -19
  73. package/src/parts/DownloadAndExtract/DownloadAndExtract.js +16 -20
  74. package/src/parts/ElectronApplicationMenu/ElectronApplicationMenu.ipc.js +5 -7
  75. package/src/parts/ElectronApplicationMenu/ElectronApplicationMenu.js +20 -23
  76. package/src/parts/ElectronBrowserView/ElectronBrowserView.ipc.js +5 -7
  77. package/src/parts/ElectronBrowserView/ElectronBrowserView.js +18 -21
  78. package/src/parts/ElectronBrowserViewFunctions/ElectronBrowserViewFunctions.ipc.js +17 -19
  79. package/src/parts/ElectronBrowserViewFunctions/ElectronBrowserViewFunctions.js +26 -41
  80. package/src/parts/ElectronBrowserViewIpcState/ElectronBrowserViewIpcState.js +10 -14
  81. package/src/parts/ElectronBrowserViewQuickPick/ElectronBrowserViewQuickPick.ipc.js +5 -7
  82. package/src/parts/ElectronBrowserViewQuickPick/ElectronBrowserViewQuickPick.js +5 -7
  83. package/src/parts/ElectronBrowserViewState/ElectronBrowserViewState.js +8 -11
  84. package/src/parts/ElectronBrowserViewSuggestions/ElectronBrowserViewSuggestions.ipc.js +6 -8
  85. package/src/parts/ElectronBrowserViewSuggestions/ElectronBrowserViewSuggestions.js +7 -10
  86. package/src/parts/ElectronClipBoard/ElectronClipBoard.ipc.js +4 -6
  87. package/src/parts/ElectronClipBoard/ElectronClipBoard.js +3 -4
  88. package/src/parts/ElectronContentTracing/ElectronContentTracing.ipc.js +5 -7
  89. package/src/parts/ElectronContentTracing/ElectronContentTracing.js +5 -7
  90. package/src/parts/ElectronContextMenu/ElectronContextMenu.ipc.js +4 -6
  91. package/src/parts/ElectronContextMenu/ElectronContextMenu.js +7 -8
  92. package/src/parts/ElectronDeveloper/ElectronDeveloper.ipc.js +4 -6
  93. package/src/parts/ElectronDeveloper/ElectronDeveloper.js +3 -4
  94. package/src/parts/ElectronDialog/ElectronDialog.ipc.js +5 -7
  95. package/src/parts/ElectronDialog/ElectronDialog.js +5 -7
  96. package/src/parts/ElectronInitialize/ElectronInitialize.ipc.js +4 -6
  97. package/src/parts/ElectronInitialize/ElectronInitialize.js +9 -10
  98. package/src/parts/ElectronNet/ElectronNet.ipc.js +4 -6
  99. package/src/parts/ElectronNet/ElectronNet.js +3 -4
  100. package/src/parts/ElectronNetLog/ElectronNetLog.ipc.js +5 -7
  101. package/src/parts/ElectronNetLog/ElectronNetLog.js +5 -7
  102. package/src/parts/ElectronPowerSaveBlocker/ElectronPowerSaveBlocker.ipc.js +5 -7
  103. package/src/parts/ElectronPowerSaveBlocker/ElectronPowerSaveBlocker.js +5 -7
  104. package/src/parts/ElectronProcess/ElectronProcess.ipc.js +5 -7
  105. package/src/parts/ElectronProcess/ElectronProcess.js +5 -7
  106. package/src/parts/ElectronSafeStorage/ElectronSafeStorage.ipc.js +6 -8
  107. package/src/parts/ElectronSafeStorage/ElectronSafeStorage.js +10 -13
  108. package/src/parts/ElectronShell/ElectronShell.ipc.js +4 -6
  109. package/src/parts/ElectronShell/ElectronShell.js +3 -4
  110. package/src/parts/ElectronWebContents/ElectronWebContents.ipc.js +11 -13
  111. package/src/parts/ElectronWebContents/ElectronWebContents.js +45 -61
  112. package/src/parts/ElectronWebContentsView/ElectronWebContentsView.ipc.js +5 -7
  113. package/src/parts/ElectronWebContentsView/ElectronWebContentsView.js +16 -18
  114. package/src/parts/ElectronWebContentsViewFunctions/ElectronWebContentsViewFunctions.ipc.js +17 -19
  115. package/src/parts/ElectronWebContentsViewFunctions/ElectronWebContentsViewFunctions.js +26 -41
  116. package/src/parts/ElectronWindow/ElectronWindow.ipc.js +15 -17
  117. package/src/parts/ElectronWindow/ElectronWindow.js +60 -81
  118. package/src/parts/ElectronWindowAbout/ElectronWindowAbout.ipc.js +4 -6
  119. package/src/parts/ElectronWindowAbout/ElectronWindowAbout.js +3 -4
  120. package/src/parts/ElectronWindowProcessExplorer/ElectronWindowProcessExplorer.ipc.js +4 -6
  121. package/src/parts/ElectronWindowProcessExplorer/ElectronWindowProcessExplorer.js +31 -33
  122. package/src/parts/EncodingType/EncodingType.js +2 -2
  123. package/src/parts/Env/Env.js +11 -16
  124. package/src/parts/Error/FileSystemError.js +6 -7
  125. package/src/parts/ErrorCodes/ErrorCodes.js +22 -22
  126. package/src/parts/ErrorHandling/ErrorHandling.js +52 -60
  127. package/src/parts/Exec/Exec.js +11 -12
  128. package/src/parts/ExecCommand/ExecCommand.js +19 -22
  129. package/src/parts/ExecPromise/ExecPromise.js +3 -4
  130. package/src/parts/Exit/Exit.ipc.js +4 -6
  131. package/src/parts/Exit/Exit.js +3 -4
  132. package/src/parts/ExitCode/ExitCode.js +3 -5
  133. package/src/parts/ExportStatic/ExportStatic.js +318 -419
  134. package/src/parts/ExtensionHostHelperProcessIpc/ExtensionHostHelperProcessIpc.js +13 -14
  135. package/src/parts/ExtensionHostRpc/ExtensionHostRpc.js +70 -79
  136. package/src/parts/ExtensionInstall/ExtensionInstall.ipc.js +4 -6
  137. package/src/parts/ExtensionInstall/ExtensionInstall.js +21 -23
  138. package/src/parts/ExtensionInstallFromFile/ExtensionInstallFromFile.js +32 -33
  139. package/src/parts/ExtensionInstallFromGitHub/ExtensionInstallFromGitHub.js +30 -30
  140. package/src/parts/ExtensionInstallFromUrl/ExtensionInstallFromUrl.js +30 -30
  141. package/src/parts/ExtensionInstallParseInput/ExtensionInstallParseInput.js +43 -46
  142. package/src/parts/ExtensionInstallType/ExtensionInstallType.js +4 -7
  143. package/src/parts/ExtensionLink/ExtensionLink.js +40 -40
  144. package/src/parts/ExtensionList/ExtensionList.js +57 -63
  145. package/src/parts/ExtensionManagement/ExtensionManagement.ipc.js +16 -17
  146. package/src/parts/ExtensionManagement/ExtensionManagement.js +70 -87
  147. package/src/parts/ExtensionManagement/ExtensionManagementColorTheme.js +62 -70
  148. package/src/parts/ExtensionManagement/ExtensionManagementIconTheme.js +26 -26
  149. package/src/parts/ExtensionManagement/ExtensionManagementLanguages.js +55 -59
  150. package/src/parts/ExtensionManifest/ExtensionManifest.js +50 -48
  151. package/src/parts/ExtensionManifestInputType/ExtensionManifestInputType.js +3 -5
  152. package/src/parts/ExtensionManifestStatus/ExtensionManifestStatus.js +2 -3
  153. package/src/parts/ExtensionManifests/ExtensionManifests.js +36 -40
  154. package/src/parts/ExtensionManifests/ExtensionManifestsFromFolder.js +19 -19
  155. package/src/parts/ExtensionManifests/ExtensionManifestsFromLinkedExtensionsFolder.js +46 -47
  156. package/src/parts/ExtensionManifests/ExtensionManifestsFromOnlyExtension.js +7 -8
  157. package/src/parts/ExtensionUninstall/ExtensionUninstall.js +17 -17
  158. package/src/parts/ExtensionUnlink/ExtensionUnlink.js +19 -19
  159. package/src/parts/Extract/Extract.js +24 -28
  160. package/src/parts/FileNotFoundError/FileNotFoundError.js +11 -13
  161. package/src/parts/FileSystem/FileSystem.ipc.js +27 -30
  162. package/src/parts/FileSystem/FileSystem.js +214 -228
  163. package/src/parts/FileSystemWatch/FileSystemWatch.js +4 -5
  164. package/src/parts/FirstNodeWorkerEventType/FirstNodeWorkerEventType.js +3 -3
  165. package/src/parts/GetAccurateMemoryUsage/GetAccurateMemoryUsage.js +34 -34
  166. package/src/parts/GetAppImageDownloadUrl/GetAppImageDownloadUrl.js +4 -5
  167. package/src/parts/GetAppImagePath/GetAppImagePath.js +3 -4
  168. package/src/parts/GetAppWindowOptions/GetAppWindowOptions.js +26 -28
  169. package/src/parts/GetBrowserWindowOptions/GetBrowserWindowOptions.js +26 -27
  170. package/src/parts/GetContentSecurityPolicy/GetContentSecurityPolicy.js +4 -5
  171. package/src/parts/GetDirentType/GetDirentType.js +24 -25
  172. package/src/parts/GetElectronFileResponse/GetElectronFileResponse.ipc.js +4 -6
  173. package/src/parts/GetElectronFileResponse/GetElectronFileResponse.js +43 -43
  174. package/src/parts/GetElectronFileResponseAbsolutePath/GetElectronFileResponseAbsolutePath.js +32 -33
  175. package/src/parts/GetElectronFileResponseContent/GetElectronFileResponseContent.js +15 -16
  176. package/src/parts/GetElectronFileResponseRelativePath/GetElectronFileResponseRelativePath.js +11 -13
  177. package/src/parts/GetElectronRebuildPath/GetElectronRebuildPath.js +8 -9
  178. package/src/parts/GetEtag/GetEtag.js +2 -2
  179. package/src/parts/GetFirstEvent/GetFirstEvent.js +20 -21
  180. package/src/parts/GetFirstNodeWorkerEvent/GetFirstNodeWorkerEvent.js +7 -8
  181. package/src/parts/GetFirstSpawnedProcessEvent/GetFirstSpawnedProcessEvent.js +7 -8
  182. package/src/parts/GetHeaders/GetHeaders.js +50 -52
  183. package/src/parts/GetHeadersDefault/GetHeadersDefault.js +2 -2
  184. package/src/parts/GetHeadersExtensionHostWorker/GetHeadersExtensionHostWorker.js +8 -9
  185. package/src/parts/GetHeadersMainFrame/GetHeadersMainFrame.js +10 -11
  186. package/src/parts/GetHeadersOtherWorker/GetHeadersOtherWorker.js +12 -13
  187. package/src/parts/GetHeadersRendererWorker/GetHeadersRendererWorker.js +8 -9
  188. package/src/parts/GetHeadersSyntaxHighlightingWorker/GetHeadersSyntaxHighlightingWorker.js +8 -9
  189. package/src/parts/GetHeadersTerminalWorker/GetHeadersTerminalWorker.js +8 -9
  190. package/src/parts/GetHeadersTestWorker/GetHeadersTestWorker.js +8 -9
  191. package/src/parts/GetHelpString/GetHelpString.js +4 -5
  192. package/src/parts/GetHttpErrorMessage/GetHttpErrorMessage.js +20 -21
  193. package/src/parts/GetIcon/GetIcon.js +17 -18
  194. package/src/parts/GetLatestReleaseVersion/GetLatestReleaseVersion.js +29 -30
  195. package/src/parts/GetMimeType/GetMimeType.js +26 -27
  196. package/src/parts/GetNewLineIndex/GetNewLineIndex.js +3 -4
  197. package/src/parts/GetNotFoundResponse/GetNotFoundResponse.js +10 -11
  198. package/src/parts/GetNotModifiedResponse/GetNotModifiedResponse.js +9 -10
  199. package/src/parts/GetNsisUpdateArgs/GetNsisUpdateArgs.js +6 -6
  200. package/src/parts/GetNsisUpdateDownloadPath/GetNsisUpdateDownloadPath.js +9 -10
  201. package/src/parts/GetPathName/GetPathName.js +3 -3
  202. package/src/parts/GetPreloadUrl/GetPreloadUrl.js +4 -5
  203. package/src/parts/GetProcessExplorerUrl/GetProcessExplorerUrl.js +3 -4
  204. package/src/parts/GetPsOutput/GetPsOutput.js +16 -17
  205. package/src/parts/GetRemoteUrl/GetRemoteUrl.js +4 -5
  206. package/src/parts/GetServerErrorResponse/GetServerErrorResponse.js +10 -11
  207. package/src/parts/GetStatusString/GetStatusString.js +54 -62
  208. package/src/parts/GetTerminalProcessPath/GetTerminalProcessPath.js +4 -5
  209. package/src/parts/GetTerminalSpawnOptions/GetTerminalSpawnOptions.ipc.js +4 -6
  210. package/src/parts/GetTerminalSpawnOptions/GetTerminalSpawnOptions.js +16 -17
  211. package/src/parts/GetTestPath/GetTestPath.js +10 -11
  212. package/src/parts/GetTestRequestResponse/GetTestRequestResponse.js +41 -42
  213. package/src/parts/GetTitleBarItems/GetTitleBarItems.js +40 -41
  214. package/src/parts/GetTypeFromUrl/GetTypeFromUrl.js +17 -18
  215. package/src/parts/GetTypeScriptPath/GetTypeScriptPath.js +11 -20
  216. package/src/parts/GetVersionString/GetVersionString.js +4 -5
  217. package/src/parts/GetWindowId/GetWindowId.ipc.js +4 -6
  218. package/src/parts/GetWindowId/GetWindowId.js +4 -5
  219. package/src/parts/GetWindowsNsisDownloadUrl/GetWindowsNsisDownloadUrl.js +6 -7
  220. package/src/parts/GetWorkspaceId/GetWorkspaceId.js +3 -4
  221. package/src/parts/GitLsFiles/GitLsFiles.ipc.js +6 -8
  222. package/src/parts/GitLsFiles/GitLsFiles.js +19 -22
  223. package/src/parts/HandleCliArgs/HandleCliArgs.ipc.js +4 -6
  224. package/src/parts/HandleCliArgs/HandleCliArgs.js +11 -11
  225. package/src/parts/HandleElectronMessagePort/HandleElectronMessagePort.ipc.js +4 -6
  226. package/src/parts/HandleElectronMessagePort/HandleElectronMessagePort.js +14 -14
  227. package/src/parts/HandleElectronReady/HandleElectronReady.ipc.js +4 -6
  228. package/src/parts/HandleElectronReady/HandleElectronReady.js +8 -9
  229. package/src/parts/HandleIpc/HandleIpc.js +20 -23
  230. package/src/parts/HandleMessagePortForExtensionHostHelperProcess/HandleMessagePortForExtensionHostHelperProcess.ipc.js +4 -6
  231. package/src/parts/HandleMessagePortForExtensionHostHelperProcess/HandleMessagePortForExtensionHostHelperProcess.js +17 -18
  232. package/src/parts/HandleMessagePortForTerminalProcess/HandleMessagePortForTerminalProcess.ipc.js +4 -6
  233. package/src/parts/HandleMessagePortForTerminalProcess/HandleMessagePortForTerminalProcess.js +8 -9
  234. package/src/parts/HandleNodeMessagePort/HandleNodeMessagePort.ipc.js +4 -6
  235. package/src/parts/HandleNodeMessagePort/HandleNodeMessagePort.js +9 -10
  236. package/src/parts/HandleRemoteRequest/HandleRemoteRequest.ipc.js +4 -6
  237. package/src/parts/HandleRemoteRequest/HandleRemoteRequest.js +8 -9
  238. package/src/parts/HandleRequestTest/HandleRequestTest.ipc.js +4 -6
  239. package/src/parts/HandleRequestTest/HandleRequestTest.js +9 -10
  240. package/src/parts/HandleSocketError/HandleSocketError.js +10 -11
  241. package/src/parts/HandleUncaughtExceptionMonitor/HandleUncaughtExceptionMonitor.js +9 -12
  242. package/src/parts/HandleWebSocket/HandleWebSocket.ipc.js +4 -6
  243. package/src/parts/HandleWebSocket/HandleWebSocket.js +19 -19
  244. package/src/parts/HandleWebSocketForExtensionHostHelperProcess/HandleWebSocketForExtensionHostHelperProcess.js +8 -9
  245. package/src/parts/HandleWebSocketForSharedProcess/HandleWebSocketForSharedProcess.js +15 -16
  246. package/src/parts/HandleWebSocketForTerminalProcess/HandleWebSocketForTerminalProcess.js +17 -21
  247. package/src/parts/HandleWebSocketForUnknown/HandleWebSocketForUnknown.js +9 -9
  248. package/src/parts/HandleWebSocketModule/HandleWebSocketModule.js +16 -17
  249. package/src/parts/HandleWindowAllClosed/HandleWindowAllClosed.ipc.js +4 -6
  250. package/src/parts/HandleWindowAllClosed/HandleWindowAllClosed.js +9 -10
  251. package/src/parts/HasPositiveMemoryUsage/HasPositiveMemoryUsage.js +2 -2
  252. package/src/parts/Hash/Hash.js +4 -6
  253. package/src/parts/HeapSnapshot/HeapSnapshot.ipc.js +4 -6
  254. package/src/parts/HeapSnapshot/HeapSnapshot.js +6 -9
  255. package/src/parts/HttpHeader/HttpHeader.js +7 -7
  256. package/src/parts/HttpServerResponse/HttpServerResponse.js +15 -16
  257. package/src/parts/HttpStatusCode/HttpStatusCode.js +5 -5
  258. package/src/parts/Id/Id.js +4 -5
  259. package/src/parts/IncrementalTextSearch/IncrementalTextSearch.js +44 -47
  260. package/src/parts/IncrementalTextSearch/IncremetalTextSearch.ipc.js +4 -6
  261. package/src/parts/InferExtensionId/InferExtensionId.js +7 -8
  262. package/src/parts/InstallExtension/InstallExtension.ipc.js +3 -4
  263. package/src/parts/InstallExtension/InstallExtension.js +32 -32
  264. package/src/parts/IpcChild/IpcChild.js +12 -13
  265. package/src/parts/IpcChildModule/IpcChildModule.js +19 -26
  266. package/src/parts/IpcChildType/IpcChildType.js +18 -19
  267. package/src/parts/IpcChildWithElectronMessagePort/IpcChildWithElectronMessagePort.js +47 -48
  268. package/src/parts/IpcChildWithNodeMessagePort/IpcChildWithNodeMessagePort.js +44 -41
  269. package/src/parts/IpcError/IpcError.js +4 -4
  270. package/src/parts/IpcParent/IpcParent.js +8 -9
  271. package/src/parts/IpcParentModule/IpcParentModule.js +13 -14
  272. package/src/parts/IpcParentType/IpcParentType.js +3 -3
  273. package/src/parts/IpcParentWithElectronUtilityProcess/IpcParentWithElectronUtilityProcess.js +49 -48
  274. package/src/parts/IsAbsolutePath/IsAbsolutePath.js +3 -4
  275. package/src/parts/IsAppImage/IsAppImage.js +3 -4
  276. package/src/parts/IsAutoUpdateSupported/IsAutoUpdateSupported.ipc.js +4 -6
  277. package/src/parts/IsAutoUpdateSupported/IsAutoUpdateSupported.js +6 -8
  278. package/src/parts/IsBuiltServer/IsBuiltServer.js +1 -1
  279. package/src/parts/IsDlOpenError/IsDlOpenError.js +3 -4
  280. package/src/parts/IsElectron/IsElectron.js +3 -4
  281. package/src/parts/IsEnoentError/IsEnoentError.js +9 -11
  282. package/src/parts/IsEnoentErrorWindows/IsEnoentErrorWindows.js +2 -2
  283. package/src/parts/IsEsrchError/IsEsrchError.js +3 -4
  284. package/src/parts/IsIgnoredError/IsIgnoredError.js +12 -13
  285. package/src/parts/IsMessagePort/IsMessagePort.js +2 -2
  286. package/src/parts/IsMessagePortMain/IsMessagePortMain.js +2 -2
  287. package/src/parts/IsTypeScriptPath/IsTypeScriptPath.js +2 -2
  288. package/src/parts/IsWindows/IsWindows.js +1 -1
  289. package/src/parts/JoinLines/JoinLines.js +3 -4
  290. package/src/parts/Json/Json.js +15 -17
  291. package/src/parts/JsonFile/JsonFile.js +10 -12
  292. package/src/parts/JsonRpc/JsonRpc.js +1 -1
  293. package/src/parts/JsonRpcVersion/JsonRpcVersion.js +1 -1
  294. package/src/parts/Jsonc/Jsonc.js +1 -1
  295. package/src/parts/JsoncFile/JsoncFile.js +7 -8
  296. package/src/parts/LeftCut/LeftCut.js +17 -18
  297. package/src/parts/LimitString/LimitString.js +13 -14
  298. package/src/parts/ListProcessGetName/ListProcessGetName.js +55 -56
  299. package/src/parts/ListProcessesWithMemoryUsage/ListProcessesWithMemoryUsage.ipc.js +4 -6
  300. package/src/parts/ListProcessesWithMemoryUsage/ListProcessesWithMemoryUsage.js +9 -11
  301. package/src/parts/ListProcessesWithMemoryUsageUnix/ListProcessesWithMemoryUsageUnix.js +19 -20
  302. package/src/parts/ListProcessesWithMemoryUsageWindows/ListProcessesWithMemoryUsageWindows.js +33 -36
  303. package/src/parts/LoadTypeScript/LoadTypeScript.js +12 -12
  304. package/src/parts/LoadWindowsProcessTree/LoadWindowsProcessTree.js +11 -13
  305. package/src/parts/Logger/Logger.js +34 -42
  306. package/src/parts/Main/Main.js +13 -14
  307. package/src/parts/MakeExecutable/MakeExecutable.js +9 -9
  308. package/src/parts/MimeType/MimeType.js +37 -37
  309. package/src/parts/Module/Module.js +150 -151
  310. package/src/parts/ModuleId/ModuleId.js +76 -76
  311. package/src/parts/ModuleMap/ModuleMap.js +329 -330
  312. package/src/parts/OpenExternal/OpenExternal.ipc.js +5 -7
  313. package/src/parts/OpenExternal/OpenExternal.js +5 -7
  314. package/src/parts/OpenNativeFolder/OpenNativeFolder.ipc.js +4 -6
  315. package/src/parts/OpenNativeFolder/OpenNativeFolder.js +9 -9
  316. package/src/parts/Os/Os.ipc.js +4 -6
  317. package/src/parts/Os/Os.js +3 -4
  318. package/src/parts/OutputChannel/OutputChannel.ipc.js +35 -39
  319. package/src/parts/OutputChannel/OutputChannel.js +32 -35
  320. package/src/parts/OutputChannelState/OutputChannelState.js +10 -14
  321. package/src/parts/ParentIpc/ParentIpc.js +19 -25
  322. package/src/parts/ParseInt/ParseInt.js +2 -2
  323. package/src/parts/ParseMemory/ParseMemory.js +9 -10
  324. package/src/parts/ParsePsOutput/ParsePsOutput.js +42 -46
  325. package/src/parts/ParseRipGrepLines/ParseRipGrepLines.js +9 -10
  326. package/src/parts/ParseUrlGithub/ParseUrlGithub.js +49 -51
  327. package/src/parts/Path/Path.js +11 -16
  328. package/src/parts/Performance/Performance.ipc.js +4 -6
  329. package/src/parts/Performance/Performance.js +16 -27
  330. package/src/parts/Platform/Platform.ipc.js +28 -30
  331. package/src/parts/Platform/Platform.js +46 -73
  332. package/src/parts/PlatformPaths/PlatformPaths.ipc.js +21 -23
  333. package/src/parts/PlatformPaths/PlatformPaths.js +79 -114
  334. package/src/parts/Preferences/Preferences.ipc.js +4 -6
  335. package/src/parts/Preferences/Preferences.js +69 -70
  336. package/src/parts/PrettyError/PrettyError.js +1 -1
  337. package/src/parts/PrintPrettyError/PrintPrettyError.js +3 -4
  338. package/src/parts/Process/Process.ipc.js +10 -12
  339. package/src/parts/Process/Process.js +35 -48
  340. package/src/parts/ProcessDisplayName/ProcessDisplayName.js +1 -1
  341. package/src/parts/ProcessExitEventType/ProcessExitEventType.js +2 -2
  342. package/src/parts/ProcessId/ProcessId.ipc.js +5 -7
  343. package/src/parts/ProcessId/ProcessId.js +4 -5
  344. package/src/parts/ProcessListeners/ProcessListeners.js +11 -14
  345. package/src/parts/Promises/Promises.js +18 -18
  346. package/src/parts/ProtocolType/ProtocolType.js +4 -4
  347. package/src/parts/PtyHost/PtyHost.js +56 -62
  348. package/src/parts/PtyHostPath/PtyHostPath.js +10 -10
  349. package/src/parts/PtyHostState/PtyHostState.js +16 -16
  350. package/src/parts/Queue/Queue.js +30 -31
  351. package/src/parts/RebuildForElectron/RebuildForElectron.js +14 -14
  352. package/src/parts/RebuildForNode/RebuildForNode.js +12 -12
  353. package/src/parts/RebuildNodePty/RebuildNodePty.ipc.js +4 -6
  354. package/src/parts/RebuildNodePty/RebuildNodePty.js +20 -22
  355. package/src/parts/RecentlyOpened/RecentlyOpened.ipc.js +4 -6
  356. package/src/parts/RecentlyOpened/RecentlyOpened.js +54 -53
  357. package/src/parts/RemoveSymlink/RemoveSymlink.js +11 -11
  358. package/src/parts/RequiresSocket/RequiresSocket.js +14 -15
  359. package/src/parts/Restart/Restart.js +9 -10
  360. package/src/parts/RipGrep/RipGrep.js +35 -37
  361. package/src/parts/RipGrepParsedLineType/RipGrepParsedLineType.js +4 -4
  362. package/src/parts/RipGrepPath/RipGrepPath.js +1 -1
  363. package/src/parts/Root/Root.js +4 -6
  364. package/src/parts/Screen/Screen.ipc.js +6 -8
  365. package/src/parts/Screen/Screen.js +7 -10
  366. package/src/parts/SearchFile/SearchFile.ipc.js +4 -6
  367. package/src/parts/SearchFile/SearchFile.js +26 -27
  368. package/src/parts/SetHeaders/SetHeaders.js +4 -4
  369. package/src/parts/ShouldLogError/ShouldLogError.js +6 -7
  370. package/src/parts/ShouldTranspileTypescript/ShouldTranspileTypescript.js +10 -11
  371. package/src/parts/Signal/Signal.js +3 -3
  372. package/src/parts/SplitLines/SplitLines.js +3 -4
  373. package/src/parts/SymLink/SymLink.js +3 -4
  374. package/src/parts/TemporaryMessagePort/TemporaryMessagePort.ipc.js +4 -6
  375. package/src/parts/TemporaryMessagePort/TemporaryMessagePort.js +18 -21
  376. package/src/parts/Terminal/Terminal.ipc.js +7 -9
  377. package/src/parts/Terminal/Terminal.js +68 -73
  378. package/src/parts/TerminalState/TerminalState.js +8 -11
  379. package/src/parts/TextDocument/TextDocument.ipc.js +3 -4
  380. package/src/parts/TextDocument/TextDocument.js +17 -22
  381. package/src/parts/TextSearch/TextSearch.ipc.js +4 -6
  382. package/src/parts/TextSearch/TextSearch.js +18 -22
  383. package/src/parts/TextSearchError/TextSearchError.js +12 -12
  384. package/src/parts/TextSearchResultType/TextSearchResultType.js +2 -2
  385. package/src/parts/Timeout/Timeout.js +4 -5
  386. package/src/parts/TmpFile/TmpFile.js +11 -13
  387. package/src/parts/ToAbsolutePaths/ToAbsolutePaths.js +7 -8
  388. package/src/parts/ToTextSearchResult/ToTextSearchResult.js +23 -24
  389. package/src/parts/Trace/Trace.js +10 -14
  390. package/src/parts/TranspileTypeScript/TranspileTypeScript.js +19 -19
  391. package/src/parts/Trash/Trash.js +15 -16
  392. package/src/parts/TrashElectron/TrashElectron.js +7 -8
  393. package/src/parts/TrashNode/TrashNode.js +3 -4
  394. package/src/parts/UpdateState/UpdateState.js +7 -10
  395. package/src/parts/UpdateStateType/UpdateStateType.js +9 -9
  396. package/src/parts/VError/VError.js +1 -1
  397. package/src/parts/WaitForProcessToExit/WaitForProcessToExit.js +7 -8
  398. package/src/parts/WebSocketServer/WebSocketServer.ipc.js +4 -6
  399. package/src/parts/WebSocketServer/WebSocketServer.js +1 -1
  400. package/src/parts/WindowsProcessTree/WindowsProcessTree.js +12 -14
  401. package/src/parts/WindowsProcessTreeDataFlag/WindowsProcessTreeDataFlag.js +3 -3
  402. package/src/parts/Workspace/Workspace.ipc.js +5 -7
  403. package/src/parts/Workspace/Workspace.js +79 -84
  404. package/src/parts/WorkspaceSource/WorkspaceSource.js +2 -2
  405. package/src/sharedProcessMain.js +2 -3
@@ -1,375 +1,284 @@
1
- import { existsSync } from 'node:fs'
2
- import { isAbsolute, join } from 'node:path'
3
- import * as FileSystem from '../FileSystem/FileSystem.js'
4
- import * as JsonFile from '../JsonFile/JsonFile.js'
5
- import * as Path from '../Path/Path.js'
6
-
1
+ import { existsSync } from 'node:fs';
2
+ import { isAbsolute, join } from 'node:path';
3
+ import * as FileSystem from '../FileSystem/FileSystem.js';
4
+ import * as JsonFile from '../JsonFile/JsonFile.js';
5
+ import * as Path from '../Path/Path.js';
7
6
  const readExtensionManifest = async (path) => {
8
- const json = await JsonFile.readJson(path)
9
- return { ...json, path }
10
- }
11
-
7
+ const json = await JsonFile.readJson(path);
8
+ return { ...json, path };
9
+ };
12
10
  const getThemeName = (dirent) => {
13
- return dirent.slice('builtin.theme-'.length)
14
- }
15
-
11
+ return dirent.slice('builtin.theme-'.length);
12
+ };
16
13
  const replace = async (path, occurrence, replacement) => {
17
- const oldContent = await FileSystem.readFile(path)
18
- if (!oldContent.includes(occurrence)) {
19
- throw new Error(`failed to replace occurrence ${occurrence} in ${path}: Not found`)
20
- }
21
- // @ts-ignore
22
- const newContent = oldContent.replaceAll(occurrence, replacement)
23
- await FileSystem.writeFile(path, newContent)
24
- }
25
-
14
+ const oldContent = await FileSystem.readFile(path);
15
+ if (!oldContent.includes(occurrence)) {
16
+ throw new Error(`failed to replace occurrence ${occurrence} in ${path}: Not found`);
17
+ }
18
+ // @ts-ignore
19
+ const newContent = oldContent.replaceAll(occurrence, replacement);
20
+ await FileSystem.writeFile(path, newContent);
21
+ };
26
22
  /**
27
23
  * @param {string} dirent
28
24
  */
29
25
  const isLanguageBasics = (dirent) => {
30
- return dirent.startsWith('builtin.language-basics')
31
- }
32
-
26
+ return dirent.startsWith('builtin.language-basics');
27
+ };
33
28
  /**
34
29
  * @param {string} dirent
35
30
  */
36
31
  const isTheme = (dirent) => {
37
- return dirent.startsWith('builtin.theme-')
38
- }
39
-
32
+ return dirent.startsWith('builtin.theme-');
33
+ };
40
34
  /**
41
35
  * @param {string} dirent
42
36
  */
43
37
  const isIconTheme = (dirent) => {
44
- return dirent === 'builtin.vscode-icons'
45
- }
46
-
38
+ return dirent === 'builtin.vscode-icons';
39
+ };
47
40
  const compare = (a, b) => {
48
- return a.localeCompare(b)
49
- }
50
-
41
+ return a.localeCompare(b);
42
+ };
51
43
  const toSorted = (objects, compare) => {
52
- return [...objects].sort(compare)
53
- }
54
-
44
+ return [...objects].sort(compare);
45
+ };
55
46
  const mergeThemes = (builtinThemes, extensionThemes) => {
56
- const seen = []
57
- const merged = []
58
- for (const extensionTheme of extensionThemes) {
59
- seen.push(extensionTheme)
60
- merged.push(extensionTheme)
61
- }
62
- for (const builtinTheme of builtinThemes) {
63
- if (seen.includes(builtinTheme)) {
64
- continue
47
+ const seen = [];
48
+ const merged = [];
49
+ for (const extensionTheme of extensionThemes) {
50
+ seen.push(extensionTheme);
51
+ merged.push(extensionTheme);
52
+ }
53
+ for (const builtinTheme of builtinThemes) {
54
+ if (seen.includes(builtinTheme)) {
55
+ continue;
56
+ }
57
+ merged.push(builtinTheme);
65
58
  }
66
- merged.push(builtinTheme)
67
- }
68
- const sorted = toSorted(merged, compare)
69
- return sorted
70
- }
71
-
72
- const RE_COMMIT_HASH = /^[a-z\d]+$/
59
+ const sorted = toSorted(merged, compare);
60
+ return sorted;
61
+ };
62
+ const RE_COMMIT_HASH = /^[a-z\d]+$/;
73
63
  const isCommitHash = (dirent) => {
74
- return dirent.length === 7 && dirent.match(RE_COMMIT_HASH)
75
- }
76
-
64
+ return dirent.length === 7 && dirent.match(RE_COMMIT_HASH);
65
+ };
77
66
  /**
78
67
  * @param {string} root
79
68
  */
80
69
  const clean = async (root) => {
81
- await FileSystem.forceRemove(Path.join(root, 'dist'))
82
- await FileSystem.mkdir(Path.join(root, 'dist'))
83
- }
84
-
70
+ await FileSystem.forceRemove(Path.join(root, 'dist'));
71
+ await FileSystem.mkdir(Path.join(root, 'dist'));
72
+ };
85
73
  /**
86
74
  * @param {string} root
87
75
  */
88
76
  const copyStaticFiles = async (root, commitHash) => {
89
- await FileSystem.copy(Path.join(root, 'node_modules', '@lvce-editor', 'server', 'static'), Path.join(root, 'dist'))
90
- }
91
-
77
+ await FileSystem.copy(Path.join(root, 'node_modules', '@lvce-editor', 'server', 'static'), Path.join(root, 'dist'));
78
+ };
92
79
  const applyOverrides = async ({ root, commitHash, pathPrefix }) => {
93
- await replace(
94
- Path.join(root, 'dist', commitHash, 'packages', 'renderer-process', 'dist', 'rendererProcessMain.js'),
95
- 'platform = getPlatform();',
96
- 'platform = "web"',
97
- )
98
- await replace(
99
- Path.join(root, 'dist', commitHash, 'packages', 'renderer-process', 'dist', 'rendererProcessMain.js'),
100
- `/${commitHash}`,
101
- `${pathPrefix}/${commitHash}`,
102
- )
103
- await replace(
104
- Path.join(root, 'dist', commitHash, 'packages', 'renderer-worker', 'dist', 'rendererWorkerMain.js'),
105
- 'platform = Remote;',
106
- 'platform = Web$1;',
107
- )
108
- await replace(
109
- Path.join(root, 'dist', commitHash, 'packages', 'renderer-worker', 'dist', 'rendererWorkerMain.js'),
110
- `/${commitHash}`,
111
- `${pathPrefix}/${commitHash}`,
112
- )
113
- await replace(
114
- Path.join(root, 'dist', commitHash, 'packages', 'renderer-worker', 'dist', 'rendererWorkerMain.js'),
115
- `return \`\${assetDir}/extensions/builtin.theme-\${colorThemeId}/color-theme.json\``,
116
- `return \`\${assetDir}/themes/\${colorThemeId}.json\``,
117
- )
118
- await replace(
119
- Path.join(root, 'dist', commitHash, 'packages', 'extension-host-worker', 'dist', 'extensionHostWorkerMain.js'),
120
- `/${commitHash}`,
121
- `${pathPrefix}/${commitHash}`,
122
- )
123
- await replace(
124
- Path.join(root, 'dist', commitHash, 'packages', 'renderer-worker', 'dist', 'rendererWorkerMain.js'),
125
- `return \`\${assetDir}/extensions/builtin.\${iconThemeId}/icon-theme.json\``,
126
- `return \`\${assetDir}/icon-themes/\${iconThemeId}.json\``,
127
- )
128
-
129
- const extensionDirents = await FileSystem.readDir(Path.join(root, 'node_modules', '@lvce-editor', 'server', 'static', commitHash, 'extensions'))
130
-
131
- const languageBasicsDirents = extensionDirents.filter(isLanguageBasics)
132
- const themeDirents = extensionDirents.filter(isTheme)
133
- const iconThemeDirents = extensionDirents.filter(isIconTheme)
134
-
135
- const getLanguages = (extension) => {
136
- const languages = []
137
- for (const language of extension.languages || []) {
138
- languages.push({
139
- ...language,
140
- tokenize: `${pathPrefix}/${commitHash}/extensions/${extension.id}/${language.tokenize}`,
141
- })
80
+ await replace(Path.join(root, 'dist', commitHash, 'packages', 'renderer-process', 'dist', 'rendererProcessMain.js'), 'platform = getPlatform();', 'platform = "web"');
81
+ await replace(Path.join(root, 'dist', commitHash, 'packages', 'renderer-process', 'dist', 'rendererProcessMain.js'), `/${commitHash}`, `${pathPrefix}/${commitHash}`);
82
+ await replace(Path.join(root, 'dist', commitHash, 'packages', 'renderer-worker', 'dist', 'rendererWorkerMain.js'), 'platform = Remote;', 'platform = Web$1;');
83
+ await replace(Path.join(root, 'dist', commitHash, 'packages', 'renderer-worker', 'dist', 'rendererWorkerMain.js'), `/${commitHash}`, `${pathPrefix}/${commitHash}`);
84
+ await replace(Path.join(root, 'dist', commitHash, 'packages', 'renderer-worker', 'dist', 'rendererWorkerMain.js'), `return \`\${assetDir}/extensions/builtin.theme-\${colorThemeId}/color-theme.json\``, `return \`\${assetDir}/themes/\${colorThemeId}.json\``);
85
+ await replace(Path.join(root, 'dist', commitHash, 'packages', 'extension-host-worker', 'dist', 'extensionHostWorkerMain.js'), `/${commitHash}`, `${pathPrefix}/${commitHash}`);
86
+ await replace(Path.join(root, 'dist', commitHash, 'packages', 'renderer-worker', 'dist', 'rendererWorkerMain.js'), `return \`\${assetDir}/extensions/builtin.\${iconThemeId}/icon-theme.json\``, `return \`\${assetDir}/icon-themes/\${iconThemeId}.json\``);
87
+ const extensionDirents = await FileSystem.readDir(Path.join(root, 'node_modules', '@lvce-editor', 'server', 'static', commitHash, 'extensions'));
88
+ const languageBasicsDirents = extensionDirents.filter(isLanguageBasics);
89
+ const themeDirents = extensionDirents.filter(isTheme);
90
+ const iconThemeDirents = extensionDirents.filter(isIconTheme);
91
+ const getLanguages = (extension) => {
92
+ const languages = [];
93
+ for (const language of extension.languages || []) {
94
+ languages.push({
95
+ ...language,
96
+ tokenize: `${pathPrefix}/${commitHash}/extensions/${extension.id}/${language.tokenize}`,
97
+ });
98
+ }
99
+ return languages;
100
+ };
101
+ /**
102
+ * @param {string} dirent
103
+ */
104
+ const getManifestPath = (dirent) => {
105
+ return Path.join(root, 'node_modules', '@lvce-editor', 'server', 'static', commitHash, 'extensions', dirent, 'extension.json');
106
+ };
107
+ const manifestPaths = languageBasicsDirents.map(getManifestPath);
108
+ const manifests = await Promise.all(manifestPaths.map(readExtensionManifest));
109
+ const languages = manifests.flatMap(getLanguages);
110
+ await JsonFile.writeJson(Path.join(root, 'dist', commitHash, 'config', 'languages.json'), languages);
111
+ for (const languageBasicsDirent of languageBasicsDirents) {
112
+ await FileSystem.copy(Path.join(root, 'node_modules', '@lvce-editor', 'server', 'static', commitHash, 'extensions', languageBasicsDirent), Path.join(root, 'dist', commitHash, 'extensions', languageBasicsDirent));
113
+ }
114
+ for (const themeDirent of themeDirents) {
115
+ const themeId = getThemeName(themeDirent);
116
+ await FileSystem.copy(Path.join(root, 'node_modules', '@lvce-editor', 'server', 'static', commitHash, 'extensions', themeDirent, 'color-theme.json'), Path.join(root, 'dist', commitHash, 'themes', `${themeId}.json`));
117
+ }
118
+ const themeIds = mergeThemes(themeDirents.map(getThemeName), []);
119
+ await JsonFile.writeJson(Path.join(root, 'dist', commitHash, 'config', 'themes.json'), themeIds);
120
+ for (const iconThemeDirent of iconThemeDirents) {
121
+ const iconThemeId = iconThemeDirent.slice('builtin.'.length);
122
+ await FileSystem.copy(Path.join(root, 'node_modules', '@lvce-editor', 'server', 'static', commitHash, 'extensions', iconThemeDirent, 'icon-theme.json'), Path.join(root, 'dist', commitHash, 'icon-themes', `${iconThemeId}.json`));
123
+ }
124
+ await replace(Path.join(root, 'dist', 'index.html'), `/${commitHash}`, `${pathPrefix}/${commitHash}`);
125
+ if (pathPrefix) {
126
+ await replace(Path.join(root, 'dist', 'index.html'), '</title>', `</title>
127
+ <link rel="shortcut icon" type="image/x-icon" href="${pathPrefix}/favicon.ico">`);
128
+ }
129
+ else {
130
+ await replace(Path.join(root, 'dist', 'index.html'), '</title>', `</title>
131
+ <link rel="shortcut icon" type="image/x-icon" href="favicon.ico">`);
142
132
  }
143
- return languages
144
- }
145
-
146
- /**
147
- * @param {string} dirent
148
- */
149
- const getManifestPath = (dirent) => {
150
- return Path.join(root, 'node_modules', '@lvce-editor', 'server', 'static', commitHash, 'extensions', dirent, 'extension.json')
151
- }
152
-
153
- const manifestPaths = languageBasicsDirents.map(getManifestPath)
154
- const manifests = await Promise.all(manifestPaths.map(readExtensionManifest))
155
- const languages = manifests.flatMap(getLanguages)
156
- await JsonFile.writeJson(Path.join(root, 'dist', commitHash, 'config', 'languages.json'), languages)
157
-
158
- for (const languageBasicsDirent of languageBasicsDirents) {
159
- await FileSystem.copy(
160
- Path.join(root, 'node_modules', '@lvce-editor', 'server', 'static', commitHash, 'extensions', languageBasicsDirent),
161
- Path.join(root, 'dist', commitHash, 'extensions', languageBasicsDirent),
162
- )
163
- }
164
-
165
- for (const themeDirent of themeDirents) {
166
- const themeId = getThemeName(themeDirent)
167
- await FileSystem.copy(
168
- Path.join(root, 'node_modules', '@lvce-editor', 'server', 'static', commitHash, 'extensions', themeDirent, 'color-theme.json'),
169
- Path.join(root, 'dist', commitHash, 'themes', `${themeId}.json`),
170
- )
171
- }
172
-
173
- const themeIds = mergeThemes(themeDirents.map(getThemeName), [])
174
- await JsonFile.writeJson(Path.join(root, 'dist', commitHash, 'config', 'themes.json'), themeIds)
175
-
176
- for (const iconThemeDirent of iconThemeDirents) {
177
- const iconThemeId = iconThemeDirent.slice('builtin.'.length)
178
- await FileSystem.copy(
179
- Path.join(root, 'node_modules', '@lvce-editor', 'server', 'static', commitHash, 'extensions', iconThemeDirent, 'icon-theme.json'),
180
- Path.join(root, 'dist', commitHash, 'icon-themes', `${iconThemeId}.json`),
181
- )
182
- }
183
- await replace(Path.join(root, 'dist', 'index.html'), `/${commitHash}`, `${pathPrefix}/${commitHash}`)
184
-
185
- if (pathPrefix) {
186
- await replace(
187
- Path.join(root, 'dist', 'index.html'),
188
- '</title>',
189
- `</title>
190
- <link rel="shortcut icon" type="image/x-icon" href="${pathPrefix}/favicon.ico">`,
191
- )
192
- } else {
193
- await replace(
194
- Path.join(root, 'dist', 'index.html'),
195
- '</title>',
196
- `</title>
197
- <link rel="shortcut icon" type="image/x-icon" href="favicon.ico">`,
198
- )
199
- }
200
- if (pathPrefix) {
201
- await replace(Path.join(root, 'dist', commitHash, 'manifest.json'), `/${commitHash}`, `${pathPrefix}/${commitHash}`)
202
- await replace(Path.join(root, 'dist', commitHash, 'manifest.json'), `"start_url": "/"`, `"start_url": "${pathPrefix}"`)
203
- await replace(Path.join(root, 'dist', commitHash, 'css', 'App.css'), `/${commitHash}`, `${pathPrefix}/${commitHash}`)
204
- await replace(Path.join(root, 'dist', commitHash, 'css', 'parts', 'Symbol.css'), `/${commitHash}`, `${pathPrefix}/${commitHash}`)
205
- }
206
- }
207
-
133
+ if (pathPrefix) {
134
+ await replace(Path.join(root, 'dist', commitHash, 'manifest.json'), `/${commitHash}`, `${pathPrefix}/${commitHash}`);
135
+ await replace(Path.join(root, 'dist', commitHash, 'manifest.json'), `"start_url": "/"`, `"start_url": "${pathPrefix}"`);
136
+ await replace(Path.join(root, 'dist', commitHash, 'css', 'App.css'), `/${commitHash}`, `${pathPrefix}/${commitHash}`);
137
+ await replace(Path.join(root, 'dist', commitHash, 'css', 'parts', 'Symbol.css'), `/${commitHash}`, `${pathPrefix}/${commitHash}`);
138
+ }
139
+ };
208
140
  const addExtensionSeo = async ({ root, name, description, commitHash }) => {
209
- await replace(Path.join(root, 'dist', 'index.html'), '<title>Code Editor</title>', `<title>${name}</title>`)
210
- await replace(Path.join(root, 'dist', commitHash, 'manifest.json'), `"name": "Code Editor Web - OSS"`, `"name": "${name}"`)
211
- await replace(Path.join(root, 'dist', commitHash, 'manifest.json'), `"short_name": "Web - OSS"`, `"short_name": "${name}"`)
212
- await replace(Path.join(root, 'dist', commitHash, 'manifest.json'), `"description": "Web Code Editor."`, `"description": "${description}"`)
213
- await replace(
214
- Path.join(root, 'dist', 'index.html'),
215
- '<meta name="description" content="Online Code Editor" />',
216
- `<meta name="description" content="${description}" />`,
217
- )
218
- }
219
-
141
+ await replace(Path.join(root, 'dist', 'index.html'), '<title>Code Editor</title>', `<title>${name}</title>`);
142
+ await replace(Path.join(root, 'dist', commitHash, 'manifest.json'), `"name": "Code Editor Web - OSS"`, `"name": "${name}"`);
143
+ await replace(Path.join(root, 'dist', commitHash, 'manifest.json'), `"short_name": "Web - OSS"`, `"short_name": "${name}"`);
144
+ await replace(Path.join(root, 'dist', commitHash, 'manifest.json'), `"description": "Web Code Editor."`, `"description": "${description}"`);
145
+ await replace(Path.join(root, 'dist', 'index.html'), '<meta name="description" content="Online Code Editor" />', `<meta name="description" content="${description}" />`);
146
+ };
220
147
  const getId = (object) => {
221
- return object.id
222
- }
223
-
148
+ return object.id;
149
+ };
224
150
  const addExtensionThemes = async ({ root, extensionPath, extensionJson, commitHash }) => {
225
- const colorThemes = extensionJson.colorThemes || []
226
- if (colorThemes.length === 0) {
227
- return
228
- }
229
- for (const colorTheme of colorThemes) {
230
- const { id, path } = colorTheme
231
- await FileSystem.mkdir(Path.join(root, 'dist', commitHash, 'extensions', `builtin.theme-${id}`))
232
- await FileSystem.copy(Path.join(extensionPath, path), Path.join(root, 'dist', commitHash, 'themes', `${id}.json`))
233
- await replace(
234
- Path.join(root, 'dist', commitHash, 'config', 'defaultSettings.json'),
235
- `"workbench.colorTheme": "slime"`,
236
- `"workbench.colorTheme": "${id}"`,
237
- )
238
- await FileSystem.copyFile(Path.join(root, 'README.md'), Path.join(root, 'dist', commitHash, 'extensions', `builtin.theme-${id}`, 'README.md'))
239
- await FileSystem.copyFile(
240
- Path.join(extensionPath, 'extension.json'),
241
- Path.join(root, 'dist', commitHash, 'extensions', `builtin.theme-${id}`, 'extension.json'),
242
- )
243
- await FileSystem.copyFile(
244
- Path.join(extensionPath, 'color-theme.json'),
245
- Path.join(root, 'dist', commitHash, 'extensions', `builtin.theme-${id}`, 'color-theme.json'),
246
- )
247
- }
248
- const themesJson = await JsonFile.readJson(Path.join(root, 'dist', commitHash, 'config', 'themes.json'))
249
- const ids = colorThemes.map(getId)
250
- const mergedThemes = mergeThemes(themesJson, ids)
251
- await JsonFile.writeJson(Path.join(root, 'dist', commitHash, 'config', 'themes.json'), mergedThemes)
252
- }
253
-
151
+ const colorThemes = extensionJson.colorThemes || [];
152
+ if (colorThemes.length === 0) {
153
+ return;
154
+ }
155
+ for (const colorTheme of colorThemes) {
156
+ const { id, path } = colorTheme;
157
+ await FileSystem.mkdir(Path.join(root, 'dist', commitHash, 'extensions', `builtin.theme-${id}`));
158
+ await FileSystem.copy(Path.join(extensionPath, path), Path.join(root, 'dist', commitHash, 'themes', `${id}.json`));
159
+ await replace(Path.join(root, 'dist', commitHash, 'config', 'defaultSettings.json'), `"workbench.colorTheme": "slime"`, `"workbench.colorTheme": "${id}"`);
160
+ await FileSystem.copyFile(Path.join(root, 'README.md'), Path.join(root, 'dist', commitHash, 'extensions', `builtin.theme-${id}`, 'README.md'));
161
+ await FileSystem.copyFile(Path.join(extensionPath, 'extension.json'), Path.join(root, 'dist', commitHash, 'extensions', `builtin.theme-${id}`, 'extension.json'));
162
+ await FileSystem.copyFile(Path.join(extensionPath, 'color-theme.json'), Path.join(root, 'dist', commitHash, 'extensions', `builtin.theme-${id}`, 'color-theme.json'));
163
+ }
164
+ const themesJson = await JsonFile.readJson(Path.join(root, 'dist', commitHash, 'config', 'themes.json'));
165
+ const ids = colorThemes.map(getId);
166
+ const mergedThemes = mergeThemes(themesJson, ids);
167
+ await JsonFile.writeJson(Path.join(root, 'dist', commitHash, 'config', 'themes.json'), mergedThemes);
168
+ };
254
169
  const compareId = (a, b) => {
255
- return a.id.localeCompare(b.id)
256
- }
257
-
170
+ return a.id.localeCompare(b.id);
171
+ };
258
172
  const mergeLanguages = (languages, extensionLanguages) => {
259
- const seen = []
260
- const merged = []
261
- for (const language of extensionLanguages) {
262
- seen.push(language.id)
263
- merged.push(language)
264
- }
265
- for (const language of languages) {
266
- if (seen.includes(language.id)) {
267
- continue
173
+ const seen = [];
174
+ const merged = [];
175
+ for (const language of extensionLanguages) {
176
+ seen.push(language.id);
177
+ merged.push(language);
268
178
  }
269
- merged.push(language)
270
- }
271
- merged.sort(compareId)
272
- return merged
273
- }
274
-
179
+ for (const language of languages) {
180
+ if (seen.includes(language.id)) {
181
+ continue;
182
+ }
183
+ merged.push(language);
184
+ }
185
+ merged.sort(compareId);
186
+ return merged;
187
+ };
275
188
  const toPlaygroundFile = (file) => {
276
- return `/playground/${file}`
277
- }
278
-
189
+ return `/playground/${file}`;
190
+ };
279
191
  const addExtensionLanguages = async ({ root, extensionPath, extensionJson, commitHash, pathPrefix }) => {
280
- const languages = extensionJson.languages || []
281
- if (languages.length === 0) {
282
- return
283
- }
284
- const extensionId = extensionJson.id
285
- await FileSystem.forceRemove(Path.join(root, 'dist', commitHash, 'extensions', extensionId))
286
- await FileSystem.mkdir(Path.join(root, 'dist', commitHash, 'extensions', extensionId))
287
- await FileSystem.copyFile(Path.join(root, 'README.md'), Path.join(root, 'dist', commitHash, 'extensions', extensionId, 'README.md'))
288
- for (const file of ['src', 'data', 'extension.json']) {
289
- if (await FileSystem.exists(Path.join(extensionPath, file))) {
290
- await FileSystem.copy(Path.join(extensionPath, file), Path.join(root, 'dist', commitHash, 'extensions', extensionId, file))
192
+ const languages = extensionJson.languages || [];
193
+ if (languages.length === 0) {
194
+ return;
195
+ }
196
+ const extensionId = extensionJson.id;
197
+ await FileSystem.forceRemove(Path.join(root, 'dist', commitHash, 'extensions', extensionId));
198
+ await FileSystem.mkdir(Path.join(root, 'dist', commitHash, 'extensions', extensionId));
199
+ await FileSystem.copyFile(Path.join(root, 'README.md'), Path.join(root, 'dist', commitHash, 'extensions', extensionId, 'README.md'));
200
+ for (const file of ['src', 'data', 'extension.json']) {
201
+ if (await FileSystem.exists(Path.join(extensionPath, file))) {
202
+ await FileSystem.copy(Path.join(extensionPath, file), Path.join(root, 'dist', commitHash, 'extensions', extensionId, file));
203
+ }
291
204
  }
292
- }
293
- const extensionLanguages = []
294
- for (const language of languages) {
295
- if (!language.tokenize) {
296
- continue
205
+ const extensionLanguages = [];
206
+ for (const language of languages) {
207
+ if (!language.tokenize) {
208
+ continue;
209
+ }
210
+ extensionLanguages.push({
211
+ ...language,
212
+ tokenize: `${pathPrefix}/${commitHash}/extensions/${extensionId}/${language.tokenize}`,
213
+ });
297
214
  }
298
- extensionLanguages.push({
299
- ...language,
300
- tokenize: `${pathPrefix}/${commitHash}/extensions/${extensionId}/${language.tokenize}`,
301
- })
302
- }
303
- const builtinLanguages = await JsonFile.readJson(Path.join(root, 'dist', commitHash, 'config', 'languages.json'))
304
- const mergedLanguages = mergeLanguages(builtinLanguages, extensionLanguages)
305
- await JsonFile.writeJson(Path.join(root, 'dist', commitHash, 'config', 'languages.json'), mergedLanguages)
306
- if (await FileSystem.exists(Path.join(extensionPath, 'test', 'cases'))) {
307
- await FileSystem.forceRemove(Path.join(root, 'dist', commitHash, 'playground'))
308
- await FileSystem.copy(Path.join(extensionPath, 'test', 'cases'), Path.join(root, 'dist', commitHash, 'playground'))
309
- const testFiles = await FileSystem.readDir(Path.join(extensionPath, 'test', 'cases'))
310
- const fileMap = testFiles.map(toPlaygroundFile)
311
- await JsonFile.writeJson(Path.join(root, 'dist', commitHash, 'config', 'fileMap.json'), fileMap)
312
- }
313
- }
314
-
215
+ const builtinLanguages = await JsonFile.readJson(Path.join(root, 'dist', commitHash, 'config', 'languages.json'));
216
+ const mergedLanguages = mergeLanguages(builtinLanguages, extensionLanguages);
217
+ await JsonFile.writeJson(Path.join(root, 'dist', commitHash, 'config', 'languages.json'), mergedLanguages);
218
+ if (await FileSystem.exists(Path.join(extensionPath, 'test', 'cases'))) {
219
+ await FileSystem.forceRemove(Path.join(root, 'dist', commitHash, 'playground'));
220
+ await FileSystem.copy(Path.join(extensionPath, 'test', 'cases'), Path.join(root, 'dist', commitHash, 'playground'));
221
+ const testFiles = await FileSystem.readDir(Path.join(extensionPath, 'test', 'cases'));
222
+ const fileMap = testFiles.map(toPlaygroundFile);
223
+ await JsonFile.writeJson(Path.join(root, 'dist', commitHash, 'config', 'fileMap.json'), fileMap);
224
+ }
225
+ };
315
226
  const addExtensionWebExtension = async ({ root, extensionPath, commitHash, extensionJson, pathPrefix, useSimpleWebExtensionFile }) => {
316
- if (!extensionJson.browser) {
317
- return
318
- }
319
- const webExtensionPath = `${pathPrefix}/${commitHash}/extensions/${extensionJson.id}`
320
- if (useSimpleWebExtensionFile) {
321
- const webExtensions = [webExtensionPath]
322
- await JsonFile.writeJson(Path.join(root, 'dist', commitHash, 'config', 'webExtensions.json'), webExtensions)
323
- return
324
- }
325
- const webExtensions = [
326
- {
327
- ...extensionJson,
328
- isWeb: true,
329
- path: webExtensionPath,
330
- },
331
- ]
332
- await JsonFile.writeJson(Path.join(root, 'dist', commitHash, 'config', 'webExtensions.json'), webExtensions)
333
- for (const dirent of ['src', 'extension.json']) {
334
- await FileSystem.copy(Path.join(extensionPath, dirent), Path.join(root, 'dist', commitHash, 'extensions', extensionJson.id, dirent))
335
- }
336
- }
337
-
227
+ if (!extensionJson.browser) {
228
+ return;
229
+ }
230
+ const webExtensionPath = `${pathPrefix}/${commitHash}/extensions/${extensionJson.id}`;
231
+ if (useSimpleWebExtensionFile) {
232
+ const webExtensions = [webExtensionPath];
233
+ await JsonFile.writeJson(Path.join(root, 'dist', commitHash, 'config', 'webExtensions.json'), webExtensions);
234
+ return;
235
+ }
236
+ const webExtensions = [
237
+ {
238
+ ...extensionJson,
239
+ isWeb: true,
240
+ path: webExtensionPath,
241
+ },
242
+ ];
243
+ await JsonFile.writeJson(Path.join(root, 'dist', commitHash, 'config', 'webExtensions.json'), webExtensions);
244
+ for (const dirent of ['src', 'extension.json']) {
245
+ await FileSystem.copy(Path.join(extensionPath, dirent), Path.join(root, 'dist', commitHash, 'extensions', extensionJson.id, dirent));
246
+ }
247
+ };
338
248
  const addExtension = async ({ root, extensionPath, commitHash, pathPrefix, useSimpleWebExtensionFile }) => {
339
- const extensionJson = await readExtensionManifest(Path.join(extensionPath, 'extension.json'))
340
- const name = extensionJson.name || extensionJson.id || ''
341
- const description = extensionJson.description || ''
342
- await addExtensionSeo({
343
- root,
344
- commitHash,
345
- name,
346
- description,
347
- })
348
- await addExtensionThemes({
349
- root,
350
- commitHash,
351
- extensionJson,
352
- extensionPath,
353
- })
354
- await addExtensionLanguages({
355
- root,
356
- extensionPath,
357
- commitHash,
358
- extensionJson,
359
- pathPrefix,
360
- })
361
- await addExtensionWebExtension({
362
- root,
363
- extensionPath,
364
- commitHash,
365
- extensionJson,
366
- pathPrefix,
367
- useSimpleWebExtensionFile,
368
- })
369
- }
370
-
249
+ const extensionJson = await readExtensionManifest(Path.join(extensionPath, 'extension.json'));
250
+ const name = extensionJson.name || extensionJson.id || '';
251
+ const description = extensionJson.description || '';
252
+ await addExtensionSeo({
253
+ root,
254
+ commitHash,
255
+ name,
256
+ description,
257
+ });
258
+ await addExtensionThemes({
259
+ root,
260
+ commitHash,
261
+ extensionJson,
262
+ extensionPath,
263
+ });
264
+ await addExtensionLanguages({
265
+ root,
266
+ extensionPath,
267
+ commitHash,
268
+ extensionJson,
269
+ pathPrefix,
270
+ });
271
+ await addExtensionWebExtension({
272
+ root,
273
+ extensionPath,
274
+ commitHash,
275
+ extensionJson,
276
+ pathPrefix,
277
+ useSimpleWebExtensionFile,
278
+ });
279
+ };
371
280
  const generateTestOverviewHtml = (dirents) => {
372
- const pre = `<!DOCTYPE html>
281
+ const pre = `<!DOCTYPE html>
373
282
  <html lang="en">
374
283
  <head>
375
284
  <meta charset="UTF-8" />
@@ -380,104 +289,94 @@ const generateTestOverviewHtml = (dirents) => {
380
289
  <h1>Tests</h1>
381
290
  <p>Available Tests</p>
382
291
  <ul>
383
- `
384
- let middle = ``
385
- // TODO properly escape name
386
- for (const dirent of dirents) {
387
- const name = dirent
388
- middle += ` <li><a href="./${name}.html">${name}</a></li>
389
- `
390
- }
391
-
392
- const post = ` </ul>
292
+ `;
293
+ let middle = ``;
294
+ // TODO properly escape name
295
+ for (const dirent of dirents) {
296
+ const name = dirent;
297
+ middle += ` <li><a href="./${name}.html">${name}</a></li>
298
+ `;
299
+ }
300
+ const post = ` </ul>
393
301
  </body>
394
302
  </html>
395
- `
396
- return pre + middle + post
397
- }
398
-
303
+ `;
304
+ return pre + middle + post;
305
+ };
399
306
  const getName = (name) => {
400
- return name.slice(0, -'.js'.length)
401
- }
307
+ return name.slice(0, -'.js'.length);
308
+ };
402
309
  const isTestFile = (file) => {
403
- return file !== '_all.js'
404
- }
405
-
310
+ return file !== '_all.js';
311
+ };
406
312
  const getTestFiles = (testFilesRaw) => {
407
- return testFilesRaw.map(getName).filter(isTestFile)
408
- }
409
-
313
+ return testFilesRaw.map(getName).filter(isTestFile);
314
+ };
410
315
  const addTestFiles = async ({ testPath, commitHash, root, pathPrefix }) => {
411
- const testRoot = isAbsolute(testPath) ? testPath : join(root, testPath)
412
- await FileSystem.copy(`${testRoot}/src`, `${root}/dist/${commitHash}/packages/extension-host-worker-tests/src`)
413
- const testFilesRaw = await FileSystem.readDir(`${testRoot}/src`)
414
- const testFiles = getTestFiles(testFilesRaw)
415
- await FileSystem.mkdir(`${root}/dist/${commitHash}/tests`)
416
- await FileSystem.mkdir(`${root}/dist/tests`)
417
- for (const testFile of testFiles) {
418
- await FileSystem.copyFile(`${root}/dist/index.html`, `${root}/dist/tests/${testFile}.html`)
419
- }
420
- const testOverviewHtml = generateTestOverviewHtml(testFiles)
421
- await FileSystem.writeFile(`${root}/dist/tests/index.html`, testOverviewHtml)
422
- }
423
-
316
+ const testRoot = isAbsolute(testPath) ? testPath : join(root, testPath);
317
+ await FileSystem.copy(`${testRoot}/src`, `${root}/dist/${commitHash}/packages/extension-host-worker-tests/src`);
318
+ const testFilesRaw = await FileSystem.readDir(`${testRoot}/src`);
319
+ const testFiles = getTestFiles(testFilesRaw);
320
+ await FileSystem.mkdir(`${root}/dist/${commitHash}/tests`);
321
+ await FileSystem.mkdir(`${root}/dist/tests`);
322
+ for (const testFile of testFiles) {
323
+ await FileSystem.copyFile(`${root}/dist/index.html`, `${root}/dist/tests/${testFile}.html`);
324
+ }
325
+ const testOverviewHtml = generateTestOverviewHtml(testFiles);
326
+ await FileSystem.writeFile(`${root}/dist/tests/index.html`, testOverviewHtml);
327
+ };
424
328
  /**
425
329
  *
426
330
  * @param {{root:string, pathPrefix:string , extensionPath:string, testPath:string, useSimpleWebExtensionFile?:boolean }} param0
427
331
  */
428
332
  export const exportStatic = async ({ root, pathPrefix, extensionPath, testPath, useSimpleWebExtensionFile }) => {
429
- if (!existsSync(root)) {
430
- throw new Error(`root path does not exist: ${root}`)
431
- }
432
- if (!existsSync(extensionPath)) {
433
- throw new Error(`extension path does not exist: ${extensionPath}`)
434
- }
435
- if (pathPrefix === 'auto') {
436
- const extensionJson = await readExtensionManifest(Path.join(extensionPath, 'extension.json'))
437
- const { id } = extensionJson
438
- const [author, name] = id.split('.')
439
- pathPrefix = `/${name}`
440
- }
441
- const dirents = await FileSystem.readDir(Path.join(root, 'node_modules', '@lvce-editor', 'server', 'static'))
442
- const commitHash = dirents.find(isCommitHash) || ''
443
-
444
- console.time('clean')
445
- await clean(root)
446
- console.timeEnd('clean')
447
-
448
- console.time('copyStaticFiles')
449
- await copyStaticFiles(root, commitHash)
450
- console.timeEnd('copyStaticFiles')
451
-
452
- console.time('applyOverrides')
453
- await applyOverrides({
454
- root,
455
- commitHash,
456
- pathPrefix,
457
- })
458
- console.timeEnd('applyOverrides')
459
-
460
- console.time('addExtension')
461
- await addExtension({
462
- extensionPath,
463
- commitHash,
464
- pathPrefix,
465
- root,
466
- useSimpleWebExtensionFile,
467
- })
468
- console.timeEnd('addExtension')
469
-
470
- if (testPath) {
471
- console.time('addTestFiles')
472
- await addTestFiles({
473
- testPath,
474
- commitHash,
475
- pathPrefix,
476
- root,
477
- })
478
- console.timeEnd('addTestFiles')
479
- }
480
- return {
481
- commitHash,
482
- }
483
- }
333
+ if (!existsSync(root)) {
334
+ throw new Error(`root path does not exist: ${root}`);
335
+ }
336
+ if (!existsSync(extensionPath)) {
337
+ throw new Error(`extension path does not exist: ${extensionPath}`);
338
+ }
339
+ if (pathPrefix === 'auto') {
340
+ const extensionJson = await readExtensionManifest(Path.join(extensionPath, 'extension.json'));
341
+ const { id } = extensionJson;
342
+ const [author, name] = id.split('.');
343
+ pathPrefix = `/${name}`;
344
+ }
345
+ const dirents = await FileSystem.readDir(Path.join(root, 'node_modules', '@lvce-editor', 'server', 'static'));
346
+ const commitHash = dirents.find(isCommitHash) || '';
347
+ console.time('clean');
348
+ await clean(root);
349
+ console.timeEnd('clean');
350
+ console.time('copyStaticFiles');
351
+ await copyStaticFiles(root, commitHash);
352
+ console.timeEnd('copyStaticFiles');
353
+ console.time('applyOverrides');
354
+ await applyOverrides({
355
+ root,
356
+ commitHash,
357
+ pathPrefix,
358
+ });
359
+ console.timeEnd('applyOverrides');
360
+ console.time('addExtension');
361
+ await addExtension({
362
+ extensionPath,
363
+ commitHash,
364
+ pathPrefix,
365
+ root,
366
+ useSimpleWebExtensionFile,
367
+ });
368
+ console.timeEnd('addExtension');
369
+ if (testPath) {
370
+ console.time('addTestFiles');
371
+ await addTestFiles({
372
+ testPath,
373
+ commitHash,
374
+ pathPrefix,
375
+ root,
376
+ });
377
+ console.timeEnd('addTestFiles');
378
+ }
379
+ return {
380
+ commitHash,
381
+ };
382
+ };