@lvce-editor/shared-process 0.85.2 → 0.86.0

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 (461) hide show
  1. package/index.js +1 -1
  2. package/package.json +12 -12
  3. package/src/parts/AddCustomPathsToIndexHtml/AddCustomPathsToIndexHtml.js +2 -2
  4. package/src/parts/AddSemiColon/AddSemiColon.js +4 -3
  5. package/src/parts/AppWindow/AppWindow.js +30 -22
  6. package/src/parts/ApplyEdit/ApplyEdit.js +7 -6
  7. package/src/parts/ApplyIncomingIpcResponse/ApplyIncomingIpcResponse.js +13 -12
  8. package/src/parts/Assert/Assert.js +1 -1
  9. package/src/parts/AttachDebugger/AttachDebugger.ipc.js +6 -4
  10. package/src/parts/AttachDebugger/AttachDebugger.js +5 -4
  11. package/src/parts/AuthProcess/AuthProcess.js +14 -12
  12. package/src/parts/AuthProcessPath/AuthProcessPath.js +4 -3
  13. package/src/parts/AuthProcessState/AuthProcessState.js +12 -9
  14. package/src/parts/Authority/Authority.js +1 -1
  15. package/src/parts/AutoUpdateType/AutoUpdateType.js +4 -4
  16. package/src/parts/AutoUpdater/AutoUpdater.ipc.js +5 -4
  17. package/src/parts/AutoUpdater/AutoUpdater.js +31 -31
  18. package/src/parts/AutoUpdaterAppImage/AutoUpdaterAppImage.ipc.js +7 -5
  19. package/src/parts/AutoUpdaterAppImage/AutoUpdaterAppImage.js +50 -49
  20. package/src/parts/AutoUpdaterWindowsNsis/AutoUpdaterWindowsNsis.ipc.js +5 -4
  21. package/src/parts/AutoUpdaterWindowsNsis/AutoUpdaterWindowsNsis.js +59 -58
  22. package/src/parts/BrowserWindowV8CacheOptions/BrowserWindowV8CacheOptions.js +4 -3
  23. package/src/parts/BuiltinExtensionsPath/BuiltinExtensionsPath.js +7 -6
  24. package/src/parts/BulkReplacement/BulkReplacement.ipc.js +6 -4
  25. package/src/parts/BulkReplacement/BulkReplacement.js +16 -16
  26. package/src/parts/BulkReplacementContent/BulkReplacementContent.js +27 -26
  27. package/src/parts/ByteSize/ByteSize.js +4 -4
  28. package/src/parts/Callback/Callback.js +1 -1
  29. package/src/parts/Character/Character.js +12 -12
  30. package/src/parts/Clamp/Clamp.js +2 -2
  31. package/src/parts/Cli/Cli.js +14 -14
  32. package/src/parts/CliCommandType/CliCommandType.js +11 -11
  33. package/src/parts/CliHelp/CliHelp.js +9 -8
  34. package/src/parts/CliInstall/CliInstall.js +24 -24
  35. package/src/parts/CliLink/CliLink.js +17 -17
  36. package/src/parts/CliList/CliList.js +18 -15
  37. package/src/parts/CliModule/CliModule.js +27 -26
  38. package/src/parts/CliStatus/CliStatus.js +5 -4
  39. package/src/parts/CliUnlink/CliUnlink.js +17 -17
  40. package/src/parts/CliVersion/CliVersion.js +8 -7
  41. package/src/parts/ClipBoard/ClipBoard.ipc.js +7 -5
  42. package/src/parts/ClipBoard/ClipBoard.js +7 -5
  43. package/src/parts/ClipBoardProcess/ClipBoardProcess.js +19 -16
  44. package/src/parts/ClipBoardProcessPath/ClipBoardProcessPath.js +13 -3
  45. package/src/parts/ColorTheme/ColorTheme.js +18 -15
  46. package/src/parts/Command/Command.js +69 -62
  47. package/src/parts/CommandNotFoundError/CommandNotFoundError.js +10 -7
  48. package/src/parts/CompareVersion/CompareVersion.js +2 -2
  49. package/src/parts/ConnectIpcToElectron/ConnectIpcToElectron.js +20 -18
  50. package/src/parts/ContentSecurityPolicy/ContentSecurityPolicy.ipc.js +6 -4
  51. package/src/parts/ContentSecurityPolicy/ContentSecurityPolicy.js +7 -6
  52. package/src/parts/ContentSecurityPolicyDocument/ContentSecurityPolicyDocument.js +45 -39
  53. package/src/parts/ContentSecurityPolicyState/ContentSecurityPolicyState.js +7 -5
  54. package/src/parts/CpuProfile/CpuProfile.js +25 -22
  55. package/src/parts/Crash/Crash.ipc.js +5 -4
  56. package/src/parts/Crash/Crash.js +11 -8
  57. package/src/parts/CreateTestOverview/CreateTestOverview.js +7 -6
  58. package/src/parts/CreateTestOverviewHtml/CreateTestOverviewHtml.js +24 -21
  59. package/src/parts/CreateUtilityProcessRpc/CreateUtilityProcessRpc.js +6 -5
  60. package/src/parts/CrossOriginEmbedderPolicy/CrossOriginEmbedderPolicy.js +1 -1
  61. package/src/parts/CrossOriginOpenerPolicy/CrossOriginOpenerPolicy.js +2 -2
  62. package/src/parts/CrossOriginResourcePolicy/CrossOriginResourcePolicy.js +1 -1
  63. package/src/parts/DeduplicateExtensions/DeduplicateExtensions.js +13 -13
  64. package/src/parts/DefaultUrl/DefaultUrl.js +4 -3
  65. package/src/parts/Desktop/Desktop.js +19 -18
  66. package/src/parts/DesktopCapturer/DesktopCapturer.ipc.js +6 -4
  67. package/src/parts/DesktopCapturer/DesktopCapturer.js +4 -3
  68. package/src/parts/DesktopType/DesktopType.js +3 -3
  69. package/src/parts/DestroySocket/DestroySocket.js +4 -5
  70. package/src/parts/Developer/Developer.ipc.js +12 -11
  71. package/src/parts/Developer/Developer.js +40 -33
  72. package/src/parts/DirentType/DirentType.js +12 -12
  73. package/src/parts/Download/Download.ipc.js +6 -4
  74. package/src/parts/Download/Download.js +4 -3
  75. package/src/parts/DownloadAndExtract/DownloadAndExtract.js +5 -4
  76. package/src/parts/ElectronApplicationMenu/ElectronApplicationMenu.ipc.js +6 -5
  77. package/src/parts/ElectronApplicationMenu/ElectronApplicationMenu.js +23 -20
  78. package/src/parts/ElectronContentTracing/ElectronContentTracing.ipc.js +7 -5
  79. package/src/parts/ElectronContentTracing/ElectronContentTracing.js +7 -5
  80. package/src/parts/ElectronContextMenu/ElectronContextMenu.ipc.js +6 -4
  81. package/src/parts/ElectronContextMenu/ElectronContextMenu.js +8 -7
  82. package/src/parts/ElectronDeveloper/ElectronDeveloper.ipc.js +6 -4
  83. package/src/parts/ElectronDeveloper/ElectronDeveloper.js +4 -3
  84. package/src/parts/ElectronDialog/ElectronDialog.ipc.js +8 -6
  85. package/src/parts/ElectronDialog/ElectronDialog.js +10 -7
  86. package/src/parts/ElectronInitialize/ElectronInitialize.ipc.js +6 -4
  87. package/src/parts/ElectronInitialize/ElectronInitialize.js +10 -9
  88. package/src/parts/ElectronNet/ElectronNet.ipc.js +6 -4
  89. package/src/parts/ElectronNet/ElectronNet.js +4 -3
  90. package/src/parts/ElectronNetLog/ElectronNetLog.ipc.js +7 -5
  91. package/src/parts/ElectronNetLog/ElectronNetLog.js +7 -5
  92. package/src/parts/ElectronPowerSaveBlocker/ElectronPowerSaveBlocker.ipc.js +7 -5
  93. package/src/parts/ElectronPowerSaveBlocker/ElectronPowerSaveBlocker.js +7 -5
  94. package/src/parts/ElectronProcess/ElectronProcess.ipc.js +7 -5
  95. package/src/parts/ElectronProcess/ElectronProcess.js +7 -5
  96. package/src/parts/ElectronSafeStorage/ElectronSafeStorage.ipc.js +8 -6
  97. package/src/parts/ElectronSafeStorage/ElectronSafeStorage.js +13 -10
  98. package/src/parts/ElectronShell/ElectronShell.ipc.js +6 -4
  99. package/src/parts/ElectronShell/ElectronShell.js +4 -3
  100. package/src/parts/ElectronWindow/ElectronWindow.ipc.js +18 -15
  101. package/src/parts/ElectronWindow/ElectronWindow.js +87 -61
  102. package/src/parts/ElectronWindowAbout/ElectronWindowAbout.ipc.js +6 -4
  103. package/src/parts/ElectronWindowAbout/ElectronWindowAbout.js +4 -3
  104. package/src/parts/ElectronWindowProcessExplorer/ElectronWindowProcessExplorer.ipc.js +6 -4
  105. package/src/parts/ElectronWindowProcessExplorer/ElectronWindowProcessExplorer.js +33 -31
  106. package/src/parts/EmbedsProcess/EmbedsProcess.js +14 -12
  107. package/src/parts/EmbedsProcessPath/EmbedsProcessPath.js +13 -3
  108. package/src/parts/EmbedsProcessState/EmbedsProcessState.js +12 -9
  109. package/src/parts/EncodingType/EncodingType.js +2 -2
  110. package/src/parts/Env/Env.js +16 -11
  111. package/src/parts/Error/FileSystemError.js +9 -6
  112. package/src/parts/ErrorCodes/ErrorCodes.js +22 -22
  113. package/src/parts/ErrorHandling/ErrorHandling.js +61 -53
  114. package/src/parts/Exec/Exec.ipc.js +6 -4
  115. package/src/parts/Exec/Exec.js +6 -5
  116. package/src/parts/ExecCommand/ExecCommand.js +22 -19
  117. package/src/parts/ExecPromise/ExecPromise.js +4 -3
  118. package/src/parts/Exit/Exit.ipc.js +6 -4
  119. package/src/parts/Exit/Exit.js +4 -3
  120. package/src/parts/ExitCode/ExitCode.js +5 -3
  121. package/src/parts/ExportStatic/ExportStatic.js +696 -558
  122. package/src/parts/ExtensionHostHelperProcessIpc/ExtensionHostHelperProcessIpc.js +15 -14
  123. package/src/parts/ExtensionHostRpc/ExtensionHostRpc.js +79 -70
  124. package/src/parts/ExtensionInstall/ExtensionInstall.ipc.js +6 -4
  125. package/src/parts/ExtensionInstall/ExtensionInstall.js +23 -21
  126. package/src/parts/ExtensionInstallFromFile/ExtensionInstallFromFile.js +34 -33
  127. package/src/parts/ExtensionInstallFromGitHub/ExtensionInstallFromGitHub.js +31 -31
  128. package/src/parts/ExtensionInstallFromUrl/ExtensionInstallFromUrl.js +32 -32
  129. package/src/parts/ExtensionInstallParseInput/ExtensionInstallParseInput.js +46 -43
  130. package/src/parts/ExtensionInstallType/ExtensionInstallType.js +7 -4
  131. package/src/parts/ExtensionLink/ExtensionLink.js +40 -40
  132. package/src/parts/ExtensionList/ExtensionList.js +72 -66
  133. package/src/parts/ExtensionManagement/ExtensionManagement.ipc.js +21 -20
  134. package/src/parts/ExtensionManagement/ExtensionManagement.js +157 -133
  135. package/src/parts/ExtensionManagement/ExtensionManagementColorTheme.js +70 -62
  136. package/src/parts/ExtensionManagement/ExtensionManagementIconTheme.js +26 -26
  137. package/src/parts/ExtensionManagement/ExtensionManagementLanguages.js +63 -58
  138. package/src/parts/ExtensionManifest/ExtensionManifest.js +54 -56
  139. package/src/parts/ExtensionManifestInputType/ExtensionManifestInputType.js +7 -4
  140. package/src/parts/ExtensionManifestStatus/ExtensionManifestStatus.js +3 -2
  141. package/src/parts/ExtensionManifests/ExtensionManifests.js +46 -41
  142. package/src/parts/ExtensionManifests/ExtensionManifestsFromFolder.js +21 -21
  143. package/src/parts/ExtensionManifests/ExtensionManifestsFromLinkedExtension.js +17 -16
  144. package/src/parts/ExtensionManifests/ExtensionManifestsFromLinkedExtensionsFolder.js +36 -35
  145. package/src/parts/ExtensionManifests/ExtensionManifestsFromOnlyExtension.js +8 -7
  146. package/src/parts/ExtensionUninstall/ExtensionUninstall.js +15 -15
  147. package/src/parts/ExtensionUnlink/ExtensionUnlink.js +19 -19
  148. package/src/parts/Extract/Extract.js +12 -10
  149. package/src/parts/FileNotFoundError/FileNotFoundError.js +15 -11
  150. package/src/parts/FileSystem/FileSystem.ipc.js +33 -30
  151. package/src/parts/FileSystem/FileSystem.js +269 -257
  152. package/src/parts/FileSystemDisk/FileSystemDisk.ipc.js +17 -15
  153. package/src/parts/FileSystemDisk/FileSystemDisk.js +226 -217
  154. package/src/parts/FileSystemProcess/FileSystemProcess.js +19 -16
  155. package/src/parts/FileSystemProcessPath/FileSystemProcessPath.js +3 -2
  156. package/src/parts/FileWatcher/FileWatcher.ipc.js +8 -6
  157. package/src/parts/FileWatcher/FileWatcher.js +40 -35
  158. package/src/parts/FileWatcherProcess/FileWatcherProcess.js +19 -16
  159. package/src/parts/FileWatcherProcessPath/FileWatcherProcessPath.js +3 -2
  160. package/src/parts/FirstNodeWorkerEventType/FirstNodeWorkerEventType.js +3 -3
  161. package/src/parts/FixElectronParameters/FixElectronParameters.js +10 -9
  162. package/src/parts/GetAppImageDownloadUrl/GetAppImageDownloadUrl.js +5 -4
  163. package/src/parts/GetAppImagePath/GetAppImagePath.js +4 -3
  164. package/src/parts/GetAppWindowOptions/GetAppWindowOptions.js +63 -53
  165. package/src/parts/GetBrowserWindowOptions/GetBrowserWindowOptions.js +28 -27
  166. package/src/parts/GetContentResponse/GetContentResponse.js +11 -10
  167. package/src/parts/GetContentSecurityPolicy/GetContentSecurityPolicy.js +5 -4
  168. package/src/parts/GetCustomPathsConfig/GetCustomPathsConfig.js +14 -13
  169. package/src/parts/GetDirentType/GetDirentType.js +25 -24
  170. package/src/parts/GetElectronFileResponse/GetElectronFileResponse.ipc.js +6 -4
  171. package/src/parts/GetElectronFileResponse/GetElectronFileResponse.js +48 -47
  172. package/src/parts/GetElectronFileResponseAbsolutePath/GetElectronFileResponseAbsolutePath.js +61 -58
  173. package/src/parts/GetElectronFileResponseContent/GetElectronFileResponseContent.js +31 -29
  174. package/src/parts/GetElectronFileResponseRelativePath/GetElectronFileResponseRelativePath.js +33 -30
  175. package/src/parts/GetElectronRebuildPath/GetElectronRebuildPath.js +9 -8
  176. package/src/parts/GetEtag/GetEtag.js +2 -2
  177. package/src/parts/GetEtagFromStats/GetEtagFromStats.js +10 -9
  178. package/src/parts/GetExtensionEtags/GetExtensionEtags.js +66 -60
  179. package/src/parts/GetExtensions/GetExtensions.ipc.js +6 -4
  180. package/src/parts/GetExtensions/GetExtensions.js +4 -3
  181. package/src/parts/GetExtraHeaders/GetExtraHeaders.js +8 -7
  182. package/src/parts/GetFirstEvent/GetFirstEvent.js +21 -20
  183. package/src/parts/GetFirstSpawnedProcessEvent/GetFirstSpawnedProcessEvent.js +8 -7
  184. package/src/parts/GetFolderSizeInternal/GetFolderSizeInternal.js +20 -20
  185. package/src/parts/GetHeaders/GetHeaders.js +34 -33
  186. package/src/parts/GetHeadersDefault/GetHeadersDefault.js +2 -2
  187. package/src/parts/GetHeadersOtherWorker/GetHeadersOtherWorker.js +13 -12
  188. package/src/parts/GetHelpString/GetHelpString.js +5 -4
  189. package/src/parts/GetHttpErrorMessage/GetHttpErrorMessage.js +19 -20
  190. package/src/parts/GetIcon/GetIcon.js +21 -20
  191. package/src/parts/GetLatestReleaseVersion/GetLatestReleaseVersion.js +33 -32
  192. package/src/parts/GetMimeType/GetMimeType.js +31 -30
  193. package/src/parts/GetMultipleChoiceResponse/GetMultipleChoiceResponse.js +11 -10
  194. package/src/parts/GetNewLineIndex/GetNewLineIndex.js +5 -4
  195. package/src/parts/GetNotFoundResponse/GetNotFoundResponse.js +11 -10
  196. package/src/parts/GetNotModifiedResponse/GetNotModifiedResponse.js +11 -10
  197. package/src/parts/GetNsisUpdateArgs/GetNsisUpdateArgs.js +6 -6
  198. package/src/parts/GetNsisUpdateDownloadPath/GetNsisUpdateDownloadPath.js +10 -9
  199. package/src/parts/GetPathEtag/GetPathEtag.js +11 -10
  200. package/src/parts/GetPathName/GetPathName.js +3 -3
  201. package/src/parts/GetPortTuple/GetPortTuple.js +10 -10
  202. package/src/parts/GetProcessExplorerUrl/GetProcessExplorerUrl.js +4 -3
  203. package/src/parts/GetRemoteUrl/GetRemoteUrl.js +5 -4
  204. package/src/parts/GetResolvedTestPath/GetResolvedTestPath.js +19 -17
  205. package/src/parts/GetServerErrorResponse/GetServerErrorResponse.js +11 -10
  206. package/src/parts/GetStatusString/GetStatusString.js +62 -54
  207. package/src/parts/GetTerminalProcessPath/GetTerminalProcessPath.js +5 -4
  208. package/src/parts/GetTerminalSpawnOptions/GetTerminalSpawnOptions.ipc.js +6 -4
  209. package/src/parts/GetTerminalSpawnOptions/GetTerminalSpawnOptions.js +17 -16
  210. package/src/parts/GetTestPath/GetTestPath.js +4 -3
  211. package/src/parts/GetTestRequestResponse/GetTestRequestResponse.js +72 -72
  212. package/src/parts/GetTitleBarItems/GetTitleBarItems.js +41 -40
  213. package/src/parts/GetTransferrables/GetTransferrables.js +7 -6
  214. package/src/parts/GetTypeFromUrl/GetTypeFromUrl.js +19 -18
  215. package/src/parts/GetTypeScriptPath/GetTypeScriptPath.js +21 -12
  216. package/src/parts/GetVersionString/GetVersionString.js +5 -4
  217. package/src/parts/GetWebViewsFromExtensions/GetWebViewsFromExtensions.js +23 -22
  218. package/src/parts/GetWindowId/GetWindowId.ipc.js +6 -4
  219. package/src/parts/GetWindowId/GetWindowId.js +6 -5
  220. package/src/parts/GetWindowsNsisDownloadUrl/GetWindowsNsisDownloadUrl.js +7 -6
  221. package/src/parts/GetWorkspaceId/GetWorkspaceId.js +4 -3
  222. package/src/parts/GitLsFiles/GitLsFiles.ipc.js +8 -6
  223. package/src/parts/GitLsFiles/GitLsFiles.js +22 -19
  224. package/src/parts/HandleCliArgs/HandleCliArgs.ipc.js +6 -4
  225. package/src/parts/HandleCliArgs/HandleCliArgs.js +11 -11
  226. package/src/parts/HandleDisconnect/HandleDisconnect.js +6 -5
  227. package/src/parts/HandleElectronMessagePort/HandleElectronMessagePort.ipc.js +6 -4
  228. package/src/parts/HandleElectronMessagePort/HandleElectronMessagePort.js +10 -9
  229. package/src/parts/HandleElectronReady/HandleElectronReady.ipc.js +6 -4
  230. package/src/parts/HandleElectronReady/HandleElectronReady.js +21 -21
  231. package/src/parts/HandleIncomingIpc/HandleIncomingIpc.js +40 -38
  232. package/src/parts/HandleIncomingIpcMessagePort/HandleIncomingIpcMessagePort.js +7 -7
  233. package/src/parts/HandleIncomingIpcWebSocket/HandleIncomingIpcWebSocket.js +7 -7
  234. package/src/parts/HandleIpc/HandleIpc.js +24 -23
  235. package/src/parts/HandleIpcAuthProcess/HandleIpcAuthProcess.js +11 -9
  236. package/src/parts/HandleIpcClipBoardProcess/HandleIpcClipBoardProcess.js +21 -17
  237. package/src/parts/HandleIpcEmbedsProcess/HandleIpcEmbedsProcess.js +11 -9
  238. package/src/parts/HandleIpcExtensionHostHelperProcess/HandleIpcExtensionHostHelperProcess.js +28 -24
  239. package/src/parts/HandleIpcFileSystemProcess/HandleIpcFileSystemProcess.js +21 -17
  240. package/src/parts/HandleIpcFileWatcher/HandleIpcFileWatcher.js +22 -18
  241. package/src/parts/HandleIpcModule/HandleIpcModule.js +36 -35
  242. package/src/parts/HandleIpcProcessExplorer/HandleIpcProcessExplorer.js +23 -19
  243. package/src/parts/HandleIpcSearchProcess/HandleIpcSearchProcess.js +21 -17
  244. package/src/parts/HandleIpcSharedProcess/HandleIpcSharedProcess.js +40 -36
  245. package/src/parts/HandleIpcTerminalProcess/HandleIpcTerminalProcess.js +22 -18
  246. package/src/parts/HandleMessage/HandleMessage.js +25 -14
  247. package/src/parts/HandleMessagePortForAuthProcess/HandleMessagePortForAuthProcess.ipc.js +7 -5
  248. package/src/parts/HandleMessagePortForAuthProcess/HandleMessagePortForAuthProcess.js +20 -18
  249. package/src/parts/HandleMessagePortForClipBoardProcess/HandleMessagePortForClipBoardProcess.ipc.js +6 -4
  250. package/src/parts/HandleMessagePortForClipBoardProcess/HandleMessagePortForClipBoardProcess.js +7 -6
  251. package/src/parts/HandleMessagePortForEmbedsProcess/HandleMessagePortForEmbedsProcess.ipc.js +7 -5
  252. package/src/parts/HandleMessagePortForEmbedsProcess/HandleMessagePortForEmbedsProcess.js +20 -18
  253. package/src/parts/HandleMessagePortForExtensionHostHelperProcess/HandleMessagePortForExtensionHostHelperProcess.ipc.js +6 -4
  254. package/src/parts/HandleMessagePortForExtensionHostHelperProcess/HandleMessagePortForExtensionHostHelperProcess.js +19 -18
  255. package/src/parts/HandleMessagePortForFileSystemProcess/HandleMessagePortForFileSystemProcess.ipc.js +6 -4
  256. package/src/parts/HandleMessagePortForFileSystemProcess/HandleMessagePortForFileSystemProcess.js +7 -6
  257. package/src/parts/HandleMessagePortForProcessExplorer/HandleMessagePortForProcessExplorer.ipc.js +6 -4
  258. package/src/parts/HandleMessagePortForProcessExplorer/HandleMessagePortForProcessExplorer.js +7 -7
  259. package/src/parts/HandleMessagePortForSearchProcess/HandleMessagePortForSearchProcess.ipc.js +6 -4
  260. package/src/parts/HandleMessagePortForSearchProcess/HandleMessagePortForSearchProcess.js +5 -4
  261. package/src/parts/HandleMessagePortForTerminalProcess/HandleMessagePortForTerminalProcess.ipc.js +6 -4
  262. package/src/parts/HandleMessagePortForTerminalProcess/HandleMessagePortForTerminalProcess.js +7 -6
  263. package/src/parts/HandleNodeMessagePort/HandleNodeMessagePort.ipc.js +6 -4
  264. package/src/parts/HandleNodeMessagePort/HandleNodeMessagePort.js +10 -9
  265. package/src/parts/HandleRemoteRequest/HandleRemoteRequest.ipc.js +6 -4
  266. package/src/parts/HandleRemoteRequest/HandleRemoteRequest.js +11 -10
  267. package/src/parts/HandleRequest/HandleRequest.ipc.js +6 -4
  268. package/src/parts/HandleRequest/HandleRequest.js +21 -20
  269. package/src/parts/HandleRequestTest/HandleRequestTest.ipc.js +6 -4
  270. package/src/parts/HandleRequestTest/HandleRequestTest.js +10 -9
  271. package/src/parts/HandleSocketError/HandleSocketError.js +11 -10
  272. package/src/parts/HandleUncaughtExceptionMonitor/HandleUncaughtExceptionMonitor.js +12 -9
  273. package/src/parts/HandleWebSocket/HandleWebSocket.ipc.js +6 -4
  274. package/src/parts/HandleWebSocket/HandleWebSocket.js +24 -24
  275. package/src/parts/HandleWebSocketForClipBoardProcess/HandleWebSocketForClipBoardProcess.js +5 -4
  276. package/src/parts/HandleWebSocketForExtensionHostHelperProcess/HandleWebSocketForExtensionHostHelperProcess.js +5 -4
  277. package/src/parts/HandleWebSocketForFileSystemProcess/HandleWebSocketForFileSystemProcess.js +5 -4
  278. package/src/parts/HandleWebSocketForProcessExplorer/HandleWebSocketForProcessExplorer.js +5 -4
  279. package/src/parts/HandleWebSocketForSearchProcess/HandleWebSocketForSearchProcess.js +5 -4
  280. package/src/parts/HandleWebSocketForSharedProcess/HandleWebSocketForSharedProcess.js +5 -4
  281. package/src/parts/HandleWebSocketForTerminalProcess/HandleWebSocketForTerminalProcess.js +5 -4
  282. package/src/parts/HandleWebSocketForUnknown/HandleWebSocketForUnknown.js +6 -5
  283. package/src/parts/HandleWebSocketModule/HandleWebSocketModule.js +33 -32
  284. package/src/parts/HandleWindowAllClosed/HandleWindowAllClosed.ipc.js +6 -4
  285. package/src/parts/HandleWindowAllClosed/HandleWindowAllClosed.js +7 -6
  286. package/src/parts/Hash/Hash.js +6 -4
  287. package/src/parts/HeapSnapshot/HeapSnapshot.ipc.js +4 -3
  288. package/src/parts/HeapSnapshot/HeapSnapshot.js +9 -6
  289. package/src/parts/HttpHeader/HttpHeader.js +9 -9
  290. package/src/parts/HttpServerResponse/HttpServerResponse.js +22 -19
  291. package/src/parts/HttpStatusCode/HttpStatusCode.js +6 -6
  292. package/src/parts/Id/Id.js +6 -5
  293. package/src/parts/IndexHtmlPath/IndexHtmlPath.js +4 -3
  294. package/src/parts/InferExtensionId/InferExtensionId.js +8 -7
  295. package/src/parts/InstallExtension/InstallExtension.ipc.js +4 -3
  296. package/src/parts/InstallExtension/InstallExtension.js +28 -28
  297. package/src/parts/IpcChild/IpcChild.js +14 -13
  298. package/src/parts/IpcChildModule/IpcChildModule.js +26 -19
  299. package/src/parts/IpcChildType/IpcChildType.js +19 -18
  300. package/src/parts/IpcChildWithNodeMessagePort/IpcChildWithNodeMessagePort.js +46 -45
  301. package/src/parts/IpcError/IpcError.js +4 -4
  302. package/src/parts/IpcId/IpcId.js +18 -17
  303. package/src/parts/IpcParent/IpcParent.js +10 -9
  304. package/src/parts/IpcParentModule/IpcParentModule.js +14 -13
  305. package/src/parts/IpcParentType/IpcParentType.js +3 -3
  306. package/src/parts/IpcParentWithElectronUtilityProcess/IpcParentWithElectronUtilityProcess.js +81 -76
  307. package/src/parts/IpcTransferState/IpcTransferState.js +14 -11
  308. package/src/parts/IsAbsolutePath/IsAbsolutePath.js +4 -3
  309. package/src/parts/IsAllowedWebSocketOrigin/IsAllowedWebSocketOrigin.js +39 -37
  310. package/src/parts/IsAppImage/IsAppImage.js +4 -3
  311. package/src/parts/IsAutoUpdateSupported/IsAutoUpdateSupported.ipc.js +6 -4
  312. package/src/parts/IsAutoUpdateSupported/IsAutoUpdateSupported.js +8 -6
  313. package/src/parts/IsBuiltServer/IsBuiltServer.js +1 -1
  314. package/src/parts/IsElectron/IsElectron.js +3 -1
  315. package/src/parts/IsEnoentError/IsEnoentError.js +11 -9
  316. package/src/parts/IsEnoentErrorWindows/IsEnoentErrorWindows.js +6 -4
  317. package/src/parts/IsEsrchError/IsEsrchError.js +4 -3
  318. package/src/parts/IsIgnoredError/IsIgnoredError.js +17 -16
  319. package/src/parts/IsLinux/IsLinux.js +3 -2
  320. package/src/parts/IsMessagePort/IsMessagePort.js +2 -2
  321. package/src/parts/IsMessagePortMain/IsMessagePortMain.js +2 -2
  322. package/src/parts/IsProduction/IsProduction.js +3 -2
  323. package/src/parts/IsSocket/IsSocket.js +4 -3
  324. package/src/parts/IsTransferrable/IsTransferrable.js +8 -7
  325. package/src/parts/IsTypeScriptPath/IsTypeScriptPath.js +5 -4
  326. package/src/parts/IsWindows/IsWindows.js +1 -1
  327. package/src/parts/JoinLines/JoinLines.js +4 -3
  328. package/src/parts/Json/Json.js +17 -15
  329. package/src/parts/JsonFile/JsonFile.js +12 -10
  330. package/src/parts/JsonRpc/JsonRpc.js +1 -1
  331. package/src/parts/JsonRpcVersion/JsonRpcVersion.js +1 -1
  332. package/src/parts/Jsonc/Jsonc.js +2 -1
  333. package/src/parts/JsoncFile/JsoncFile.js +8 -7
  334. package/src/parts/LaunchAuthProcess/LaunchAuthProcess.js +14 -13
  335. package/src/parts/LaunchClipBoardProcess/LaunchClipBoardProcess.js +14 -13
  336. package/src/parts/LaunchEmbedsProcess/LaunchEmbedsProcess.js +17 -16
  337. package/src/parts/LaunchFileSystemProcess/LaunchFileSystemProcess.js +21 -20
  338. package/src/parts/LaunchFileWatcherProcess/LaunchFileWatcherProcess.js +14 -13
  339. package/src/parts/LaunchNetworkProcess/LaunchNetworkProcess.js +13 -12
  340. package/src/parts/LaunchPreviewProcess/LaunchPreviewProcess.js +13 -12
  341. package/src/parts/LaunchProcess/LaunchProcess.js +34 -32
  342. package/src/parts/LaunchProcessExplorer/LaunchProcessExplorer.js +22 -21
  343. package/src/parts/LaunchPtyHost/LaunchPtyHost.js +16 -15
  344. package/src/parts/LaunchSearchProcess/LaunchSearchProcess.js +13 -12
  345. package/src/parts/LaunchTypeScriptCompileProcess/LaunchTypeScriptCompileProcess.js +25 -24
  346. package/src/parts/LimitString/LimitString.js +14 -13
  347. package/src/parts/LoadTypeScript/LoadTypeScript.js +12 -12
  348. package/src/parts/Logger/Logger.js +43 -35
  349. package/src/parts/Main/Main.js +16 -15
  350. package/src/parts/MainProcess/MainProcess.js +26 -20
  351. package/src/parts/MakeExecutable/MakeExecutable.js +9 -9
  352. package/src/parts/MergeWithSymlinks/MergeWithSymlinks.js +14 -14
  353. package/src/parts/MimeType/MimeType.js +38 -38
  354. package/src/parts/Module/Module.js +155 -154
  355. package/src/parts/ModuleId/ModuleId.js +80 -80
  356. package/src/parts/ModuleMap/ModuleMap.js +339 -337
  357. package/src/parts/NetworkProcess/NetworkProcess.js +19 -16
  358. package/src/parts/NetworkProcessPath/NetworkProcessPath.js +3 -2
  359. package/src/parts/OpenExternal/OpenExternal.ipc.js +7 -5
  360. package/src/parts/OpenExternal/OpenExternal.js +7 -5
  361. package/src/parts/OpenNativeFolder/OpenNativeFolder.ipc.js +6 -4
  362. package/src/parts/OpenNativeFolder/OpenNativeFolder.js +9 -9
  363. package/src/parts/Os/Os.ipc.js +4 -3
  364. package/src/parts/Os/Os.js +4 -3
  365. package/src/parts/OutputChannel/OutputChannel.ipc.js +39 -35
  366. package/src/parts/OutputChannel/OutputChannel.js +35 -32
  367. package/src/parts/OutputChannelState/OutputChannelState.js +15 -11
  368. package/src/parts/ParseUrlGithub/ParseUrlGithub.js +51 -49
  369. package/src/parts/Path/Path.js +16 -11
  370. package/src/parts/Performance/Performance.ipc.js +6 -4
  371. package/src/parts/Performance/Performance.js +27 -16
  372. package/src/parts/Platform/Platform.ipc.js +35 -33
  373. package/src/parts/Platform/Platform.js +76 -48
  374. package/src/parts/PlatformPaths/PlatformPaths.ipc.js +26 -24
  375. package/src/parts/PlatformPaths/PlatformPaths.js +140 -97
  376. package/src/parts/Preferences/Preferences.ipc.js +6 -4
  377. package/src/parts/Preferences/Preferences.js +83 -81
  378. package/src/parts/PreloadUrl/PreloadUrl.js +5 -4
  379. package/src/parts/PrettyError/PrettyError.js +1 -1
  380. package/src/parts/PreviewProcess/PreviewProcess.js +23 -19
  381. package/src/parts/PreviewProcessPath/PreviewProcessPath.js +3 -2
  382. package/src/parts/PrintPrettyError/PrintPrettyError.js +5 -4
  383. package/src/parts/Process/Process.ipc.js +10 -9
  384. package/src/parts/Process/Process.js +58 -45
  385. package/src/parts/ProcessDisplayName/ProcessDisplayName.js +1 -1
  386. package/src/parts/ProcessExitEventType/ProcessExitEventType.js +2 -2
  387. package/src/parts/ProcessExplorer/ProcessExplorer.ipc.js +6 -4
  388. package/src/parts/ProcessExplorer/ProcessExplorer.js +45 -42
  389. package/src/parts/ProcessExplorerPath/ProcessExplorerPath.js +3 -2
  390. package/src/parts/ProcessId/ProcessId.ipc.js +7 -5
  391. package/src/parts/ProcessId/ProcessId.js +5 -4
  392. package/src/parts/ProcessListeners/ProcessListeners.js +10 -8
  393. package/src/parts/Promises/Promises.js +18 -18
  394. package/src/parts/ProtocolType/ProtocolType.js +8 -8
  395. package/src/parts/PtyHost/PtyHost.js +28 -24
  396. package/src/parts/PtyHostPath/PtyHostPath.js +3 -2
  397. package/src/parts/PtyHostState/PtyHostState.js +17 -17
  398. package/src/parts/Queue/Queue.js +32 -31
  399. package/src/parts/RebuildNodePty/RebuildNodePty.ipc.js +6 -4
  400. package/src/parts/RebuildNodePty/RebuildNodePty.js +4 -3
  401. package/src/parts/RecentlyOpened/RecentlyOpened.ipc.js +6 -4
  402. package/src/parts/RecentlyOpened/RecentlyOpened.js +53 -54
  403. package/src/parts/RegisterWebViewProtocol/RegisterWebViewProtocol.js +13 -11
  404. package/src/parts/RejectWebSocket/RejectWebSocket.js +10 -9
  405. package/src/parts/RemoveQueryParameters/RemoveQueryParameters.js +6 -6
  406. package/src/parts/RemoveSymlink/RemoveSymlink.js +11 -11
  407. package/src/parts/RemoveValues/RemoveValues.js +21 -21
  408. package/src/parts/RequiresSocket/RequiresSocket.js +18 -16
  409. package/src/parts/ResolveBin/ResolveBin.js +10 -10
  410. package/src/parts/ResolveRoot/ResolveRoot.js +81 -78
  411. package/src/parts/Restart/Restart.js +10 -9
  412. package/src/parts/Root/Root.js +6 -4
  413. package/src/parts/Scheme/Scheme.js +1 -1
  414. package/src/parts/Screen/Screen.ipc.js +8 -6
  415. package/src/parts/Screen/Screen.js +10 -7
  416. package/src/parts/SearchProcess/SearchProcess.js +19 -16
  417. package/src/parts/SearchProcessPath/SearchProcessPath.js +3 -2
  418. package/src/parts/SendIncomingIpc/SendIncomingIpc.js +27 -24
  419. package/src/parts/SetHeaders/SetHeaders.js +4 -4
  420. package/src/parts/ShouldLogError/ShouldLogError.js +7 -6
  421. package/src/parts/ShouldTranspileTypescript/ShouldTranspileTypescript.js +11 -10
  422. package/src/parts/Signal/Signal.js +3 -3
  423. package/src/parts/SplitLines/SplitLines.js +4 -3
  424. package/src/parts/StaticPath/StaticPath.js +13 -12
  425. package/src/parts/StaticServerPath/StaticServerPath.js +4 -3
  426. package/src/parts/SymLink/SymLink.js +4 -3
  427. package/src/parts/TemporaryMessagePort/TemporaryMessagePort.ipc.js +9 -7
  428. package/src/parts/TemporaryMessagePort/TemporaryMessagePort.js +69 -64
  429. package/src/parts/Terminal/Terminal.ipc.js +9 -7
  430. package/src/parts/Terminal/Terminal.js +73 -68
  431. package/src/parts/TerminalState/TerminalState.js +12 -9
  432. package/src/parts/TextDocument/TextDocument.ipc.js +4 -3
  433. package/src/parts/TextDocument/TextDocument.js +23 -18
  434. package/src/parts/Timeout/Timeout.js +5 -4
  435. package/src/parts/TmpFile/TmpFile.js +13 -11
  436. package/src/parts/ToAbsolutePaths/ToAbsolutePaths.js +8 -7
  437. package/src/parts/Transferrables/Transferrables.js +5 -4
  438. package/src/parts/TransientLinkedExtensions/TransientLinkedExtensions.js +64 -58
  439. package/src/parts/TranspileTypeScript/TranspileTypeScript.js +8 -7
  440. package/src/parts/TranspileTypeScriptCached/TranspileTypeScriptCached.js +20 -19
  441. package/src/parts/Trash/Trash.js +11 -9
  442. package/src/parts/TrashElectron/TrashElectron.js +8 -7
  443. package/src/parts/TrashNode/TrashNode.js +9 -9
  444. package/src/parts/TypeScriptCompileCachePath/TypeScriptCompileCachePath.js +4 -3
  445. package/src/parts/TypeScriptCompileProcess/TypeScriptCompileProcess.js +19 -16
  446. package/src/parts/TypeScriptCompileProcessPath/TypeScriptCompileProcessPath.js +3 -2
  447. package/src/parts/UpdateState/UpdateState.js +11 -8
  448. package/src/parts/UpdateStateType/UpdateStateType.js +9 -9
  449. package/src/parts/V8CacheOptions/V8CacheOptions.js +2 -2
  450. package/src/parts/VError/VError.js +1 -1
  451. package/src/parts/WaitForProcessToExit/WaitForProcessToExit.js +8 -7
  452. package/src/parts/WalkValue/WalkValue.js +18 -18
  453. package/src/parts/WatchFile/WatchFile.js +12 -12
  454. package/src/parts/WatchForHotReload/WatchForHotReload.js +20 -16
  455. package/src/parts/WebViewProtocolState/WebViewProtocolState.js +9 -8
  456. package/src/parts/WebViewServer/WebViewServer.ipc.js +11 -9
  457. package/src/parts/WebViewServer/WebViewServer.js +26 -14
  458. package/src/parts/Workspace/Workspace.ipc.js +7 -5
  459. package/src/parts/Workspace/Workspace.js +23 -20
  460. package/src/parts/WorkspaceSource/WorkspaceSource.js +3 -3
  461. package/src/sharedProcessMain.js +3 -2
@@ -1,29 +1,29 @@
1
- import * as ReadJson from '../JsonFile/JsonFile.js';
2
- import * as Path from '../Path/Path.js';
3
- import { VError } from '../VError/VError.js';
4
- import * as ExtensionManagement from './ExtensionManagement.js';
1
+ import * as ReadJson from '../JsonFile/JsonFile.js'
2
+ import * as Path from '../Path/Path.js'
3
+ import { VError } from '../VError/VError.js'
4
+ import * as ExtensionManagement from './ExtensionManagement.js'
5
+
5
6
  export const getIconTheme = async (iconThemeId) => {
6
- const extensions = await ExtensionManagement.getExtensions();
7
- for (const extension of extensions) {
8
- if (!extension.iconThemes) {
9
- continue;
10
- }
11
- for (const iconTheme of extension.iconThemes) {
12
- if (iconTheme.id !== iconThemeId) {
13
- continue;
14
- }
15
- const absolutePath = Path.join(extension.path, iconTheme.path);
16
- try {
17
- const json = await ReadJson.readJson(absolutePath);
18
- return {
19
- extensionPath: extension.path,
20
- json,
21
- };
22
- }
23
- catch (error) {
24
- throw new VError(error, `Failed to load icon theme "${iconThemeId}"`);
25
- }
7
+ const extensions = await ExtensionManagement.getExtensions()
8
+ for (const extension of extensions) {
9
+ if (!extension.iconThemes) {
10
+ continue
11
+ }
12
+ for (const iconTheme of extension.iconThemes) {
13
+ if (iconTheme.id !== iconThemeId) {
14
+ continue
15
+ }
16
+ const absolutePath = Path.join(extension.path, iconTheme.path)
17
+ try {
18
+ const json = await ReadJson.readJson(absolutePath)
19
+ return {
20
+ extensionPath: extension.path,
21
+ json,
26
22
  }
23
+ } catch (error) {
24
+ throw new VError(error, `Failed to load icon theme "${iconThemeId}"`)
25
+ }
27
26
  }
28
- throw new VError(`Icon theme "${iconThemeId}" not found in extensions folder`);
29
- };
27
+ }
28
+ throw new VError(`Icon theme "${iconThemeId}" not found in extensions folder`)
29
+ }
@@ -1,69 +1,74 @@
1
1
  // TODO rename file to languageConfiguration.js
2
- import { join } from 'node:path';
3
- import * as GetRemoteUrl from '../GetRemoteUrl/GetRemoteUrl.js';
4
- import * as GetWebViewsFromEXtensions from '../GetWebViewsFromExtensions/GetWebViewsFromExtensions.js';
5
- import * as JsonFile from '../JsonFile/JsonFile.js';
6
- import { VError } from '../VError/VError.js';
7
- import * as ExtensionManagement from './ExtensionManagement.js';
2
+ import { join } from 'node:path'
3
+ import * as GetRemoteUrl from '../GetRemoteUrl/GetRemoteUrl.js'
4
+ import * as GetWebViewsFromEXtensions from '../GetWebViewsFromExtensions/GetWebViewsFromExtensions.js'
5
+ import * as JsonFile from '../JsonFile/JsonFile.js'
6
+ import { VError } from '../VError/VError.js'
7
+ import * as ExtensionManagement from './ExtensionManagement.js'
8
+
8
9
  const getLanguagesFromExtension = (extension) => {
9
- // TODO what if extension is null? should not crash process, handle error gracefully
10
- if (!extension.languages) {
11
- return [];
12
- }
13
- const extensionPath = extension.path;
14
- const getLanguageFromExtension = (language) => {
15
- if (language.tokenize) {
16
- if (typeof language.tokenize !== 'string') {
17
- console.warn(`[info] ${language.id}: language.tokenize must be of type string but was of type ${typeof language.tokenize}`);
18
- return {
19
- ...language,
20
- extensionPath,
21
- tokenize: '',
22
- };
23
- }
24
- return {
25
- ...language,
26
- extensionPath,
27
- tokenize: GetRemoteUrl.getRemoteUrl(join(extensionPath, language.tokenize)),
28
- };
10
+ // TODO what if extension is null? should not crash process, handle error gracefully
11
+ if (!extension.languages) {
12
+ return []
13
+ }
14
+ const extensionPath = extension.path
15
+ const getLanguageFromExtension = (language) => {
16
+ if (language.tokenize) {
17
+ if (typeof language.tokenize !== 'string') {
18
+ console.warn(`[info] ${language.id}: language.tokenize must be of type string but was of type ${typeof language.tokenize}`)
19
+ return {
20
+ ...language,
21
+ extensionPath,
22
+ tokenize: '',
29
23
  }
30
- return language;
31
- };
32
- return extension.languages.map(getLanguageFromExtension);
33
- };
24
+ }
25
+ return {
26
+ ...language,
27
+ extensionPath,
28
+ tokenize: GetRemoteUrl.getRemoteUrl(join(extensionPath, language.tokenize)),
29
+ }
30
+ }
31
+ return language
32
+ }
33
+ return extension.languages.map(getLanguageFromExtension)
34
+ }
35
+
34
36
  const getLanguagesFromExtensions = (extensions) => {
35
- return extensions.flatMap(getLanguagesFromExtension);
36
- };
37
+ return extensions.flatMap(getLanguagesFromExtension)
38
+ }
39
+
37
40
  export const getLanguages = async () => {
38
- throw new Error('deprecated');
39
- };
41
+ throw new Error('deprecated')
42
+ }
43
+
40
44
  export const getWebViews = async () => {
41
- const extensions = await ExtensionManagement.getExtensions();
42
- const webViews = GetWebViewsFromEXtensions.getWebViewsFromExtensions(extensions);
43
- return webViews;
44
- };
45
+ const extensions = await ExtensionManagement.getExtensions()
46
+ const webViews = GetWebViewsFromEXtensions.getWebViewsFromExtensions(extensions)
47
+ return webViews
48
+ }
49
+
45
50
  const getLanguageConfigurationPathFromExtensions = (extensions, languageId) => {
46
- for (const extension of extensions) {
47
- if (extension.languages && extension.languages) {
48
- for (const language of extension.languages) {
49
- if (language.id === languageId && language.configuration) {
50
- return join(extension.path, language.configuration);
51
- }
52
- }
51
+ for (const extension of extensions) {
52
+ if (extension.languages && extension.languages) {
53
+ for (const language of extension.languages) {
54
+ if (language.id === languageId && language.configuration) {
55
+ return join(extension.path, language.configuration)
53
56
  }
57
+ }
54
58
  }
55
- return '';
56
- };
59
+ }
60
+ return ''
61
+ }
62
+
57
63
  export const getLanguageConfiguration = async (languageId) => {
58
- try {
59
- const extensions = await ExtensionManagement.getExtensions();
60
- const languageConfigurationPath = getLanguageConfigurationPathFromExtensions(extensions, languageId);
61
- if (!languageConfigurationPath) {
62
- return undefined;
63
- }
64
- return await JsonFile.readJson(languageConfigurationPath);
65
- }
66
- catch (error) {
67
- throw new VError(error, `Failed to load language configuration for ${languageId}`);
64
+ try {
65
+ const extensions = await ExtensionManagement.getExtensions()
66
+ const languageConfigurationPath = getLanguageConfigurationPathFromExtensions(extensions, languageId)
67
+ if (!languageConfigurationPath) {
68
+ return undefined
68
69
  }
69
- };
70
+ return await JsonFile.readJson(languageConfigurationPath)
71
+ } catch (error) {
72
+ throw new VError(error, `Failed to load language configuration for ${languageId}`)
73
+ }
74
+ }
@@ -1,63 +1,61 @@
1
- import isObject from 'is-object';
2
- import { pathToFileURL } from 'node:url';
3
- import * as ErrorCodes from '../ErrorCodes/ErrorCodes.js';
4
- import * as ExtensionManifestStatus from '../ExtensionManifestStatus/ExtensionManifestStatus.js';
5
- import * as InferExtensionId from '../InferExtensionId/InferExtensionId.js';
6
- import * as IsEnoentError from '../IsEnoentError/IsEnoentError.js';
7
- import * as ReadJson from '../JsonFile/JsonFile.js';
8
- import * as Path from '../Path/Path.js';
9
- import { VError } from '../VError/VError.js';
1
+ import isObject from 'is-object'
2
+ import { pathToFileURL } from 'node:url'
3
+ import * as ErrorCodes from '../ErrorCodes/ErrorCodes.js'
4
+ import * as ExtensionManifestStatus from '../ExtensionManifestStatus/ExtensionManifestStatus.js'
5
+ import * as InferExtensionId from '../InferExtensionId/InferExtensionId.js'
6
+ import * as IsEnoentError from '../IsEnoentError/IsEnoentError.js'
7
+ import * as ReadJson from '../JsonFile/JsonFile.js'
8
+ import * as Path from '../Path/Path.js'
9
+ import { VError } from '../VError/VError.js'
10
+
10
11
  // TODO json parsing and error handling should happen in renderer process
11
12
  export const get = async (path) => {
12
- const absolutePath = Path.join(path, 'extension.json');
13
- try {
14
- const json = await ReadJson.readJson(absolutePath);
13
+ const absolutePath = Path.join(path, 'extension.json')
14
+ try {
15
+ const json = await ReadJson.readJson(absolutePath)
16
+ if (!isObject(json)) {
17
+ // TODO should include stack of extension json file here
18
+ throw new VError('Invalid manifest file: Not an JSON object.')
19
+ }
20
+ const uri = pathToFileURL(path).toString()
21
+ return {
22
+ ...json,
23
+ path,
24
+ uri,
25
+ status: ExtensionManifestStatus.Resolved,
26
+ }
27
+ } catch (error) {
28
+ const id = InferExtensionId.inferExtensionId(path)
29
+ const enhancedError = new VError(error, `Failed to load extension manifest for ${id}`)
30
+ if (IsEnoentError.isEnoentError(error)) {
31
+ try {
32
+ const monoRepoPath = Path.join(path, `packages`, 'extension', 'extension.json')
33
+ const json = await ReadJson.readJson(monoRepoPath)
15
34
  if (!isObject(json)) {
16
- // TODO should include stack of extension json file here
17
- throw new VError('Invalid manifest file: Not an JSON object.');
35
+ // TODO should include stack of extension json file here
36
+ throw new VError('Invalid manifest file: Not an JSON object.')
18
37
  }
19
- const uri = pathToFileURL(path).toString();
38
+ const extensionPath = Path.join(path, 'packages', 'extension')
39
+ const uri = pathToFileURL(extensionPath).toString()
20
40
  return {
21
- ...json,
22
- path,
23
- uri,
24
- status: ExtensionManifestStatus.Resolved,
25
- };
26
- }
27
- catch (error) {
28
- const id = InferExtensionId.inferExtensionId(path);
29
- const enhancedError = new VError(error, `Failed to load extension manifest for ${id}`);
30
- if (IsEnoentError.isEnoentError(error)) {
31
- try {
32
- const monoRepoPath = Path.join(path, `packages`, 'extension', 'extension.json');
33
- const json = await ReadJson.readJson(monoRepoPath);
34
- if (!isObject(json)) {
35
- // TODO should include stack of extension json file here
36
- throw new VError('Invalid manifest file: Not an JSON object.');
37
- }
38
- const extensionPath = Path.join(path, 'packages', 'extension');
39
- const uri = pathToFileURL(extensionPath).toString();
40
- return {
41
- ...json,
42
- path: extensionPath,
43
- uri,
44
- status: ExtensionManifestStatus.Resolved,
45
- };
46
- }
47
- catch { }
48
- // @ts-ignore
49
- enhancedError.path = absolutePath;
50
- // @ts-ignore
51
- enhancedError.code = ErrorCodes.E_MANIFEST_NOT_FOUND;
41
+ ...json,
42
+ path: extensionPath,
43
+ uri,
44
+ status: ExtensionManifestStatus.Resolved,
52
45
  }
53
- else {
54
- // @ts-ignore
55
- enhancedError.code = error.code;
56
- }
57
- return {
58
- path,
59
- status: ExtensionManifestStatus.Rejected,
60
- reason: enhancedError,
61
- };
46
+ } catch {}
47
+ // @ts-ignore
48
+ enhancedError.path = absolutePath
49
+ // @ts-ignore
50
+ enhancedError.code = ErrorCodes.E_MANIFEST_NOT_FOUND
51
+ } else {
52
+ // @ts-ignore
53
+ enhancedError.code = error.code
54
+ }
55
+ return {
56
+ path,
57
+ status: ExtensionManifestStatus.Rejected,
58
+ reason: enhancedError,
62
59
  }
63
- };
60
+ }
61
+ }
@@ -1,4 +1,7 @@
1
- export const Folder = 1;
2
- export const OnlyExtension = 2;
3
- export const LinkedExtensionsFolder = 3;
4
- export const LinkedExtension = 4;
1
+ export const Folder = 1
2
+
3
+ export const OnlyExtension = 2
4
+
5
+ export const LinkedExtensionsFolder = 3
6
+
7
+ export const LinkedExtension = 4
@@ -1,2 +1,3 @@
1
- export const Resolved = 'resolved';
2
- export const Rejected = 'rejected';
1
+ export const Resolved = 'resolved'
2
+
3
+ export const Rejected = 'rejected'
@@ -1,45 +1,50 @@
1
- import * as DeduplicateExtensions from '../DeduplicateExtensions/DeduplicateExtensions.js';
2
- import { getDisabledExtensionIds } from '../ExtensionManagement/ExtensionManagement.js';
3
- import * as ExtensionManifestInputType from '../ExtensionManifestInputType/ExtensionManifestInputType.js';
4
- import * as ExtensionManifestsGetFromFolder from './ExtensionManifestsFromFolder.js';
5
- import * as ExtensionManifestsGetFromLinkedExtension from './ExtensionManifestsFromLinkedExtension.js';
6
- import * as ExtensionManifestsGetFromLinkedExtensionsFolder from './ExtensionManifestsFromLinkedExtensionsFolder.js';
7
- import * as ExtensionManifestsGetFromOnlyExtension from './ExtensionManifestsFromOnlyExtension.js';
1
+ import * as DeduplicateExtensions from '../DeduplicateExtensions/DeduplicateExtensions.js'
2
+ import { getDisabledExtensionIds } from '../ExtensionManagement/ExtensionManagement.js'
3
+ import * as ExtensionManifestInputType from '../ExtensionManifestInputType/ExtensionManifestInputType.js'
4
+ import * as ExtensionManifestsGetFromFolder from './ExtensionManifestsFromFolder.js'
5
+ import * as ExtensionManifestsGetFromLinkedExtension from './ExtensionManifestsFromLinkedExtension.js'
6
+ import * as ExtensionManifestsGetFromLinkedExtensionsFolder from './ExtensionManifestsFromLinkedExtensionsFolder.js'
7
+ import * as ExtensionManifestsGetFromOnlyExtension from './ExtensionManifestsFromOnlyExtension.js'
8
+
8
9
  const getModule = (type) => {
9
- switch (type) {
10
- case ExtensionManifestInputType.Folder:
11
- return ExtensionManifestsGetFromFolder;
12
- case ExtensionManifestInputType.OnlyExtension:
13
- return ExtensionManifestsGetFromOnlyExtension;
14
- case ExtensionManifestInputType.LinkedExtension:
15
- return ExtensionManifestsGetFromLinkedExtension;
16
- case ExtensionManifestInputType.LinkedExtensionsFolder:
17
- return ExtensionManifestsGetFromLinkedExtensionsFolder;
18
- default:
19
- throw new Error('unsupported input type');
20
- }
21
- };
10
+ switch (type) {
11
+ case ExtensionManifestInputType.Folder:
12
+ return ExtensionManifestsGetFromFolder
13
+ case ExtensionManifestInputType.OnlyExtension:
14
+ return ExtensionManifestsGetFromOnlyExtension
15
+ case ExtensionManifestInputType.LinkedExtension:
16
+ return ExtensionManifestsGetFromLinkedExtension
17
+ case ExtensionManifestInputType.LinkedExtensionsFolder:
18
+ return ExtensionManifestsGetFromLinkedExtensionsFolder
19
+ default:
20
+ throw new Error('unsupported input type')
21
+ }
22
+ }
23
+
22
24
  const get = (input) => {
23
- const module = getModule(input.type);
24
- return module.getExtensionManifests(input.path);
25
- };
25
+ const module = getModule(input.type)
26
+ return module.getExtensionManifests(input.path)
27
+ }
28
+
26
29
  const isBuiltin = (extension) => {
27
- return extension && extension.id && extension.id.startsWith('builtin.');
28
- };
30
+ return extension && extension.id && extension.id.startsWith('builtin.')
31
+ }
32
+
29
33
  const addExtensionDisabledStatus = (uniqueExtensions, disabledExtensionIds) => {
30
- return uniqueExtensions.map((extension) => {
31
- return {
32
- ...extension,
33
- disabled: disabledExtensionIds.includes(extension.id),
34
- isBuiltin: isBuiltin(extension),
35
- };
36
- });
37
- };
38
- export const getAll = async (inputs, builtinExtensionsPath) => {
39
- const manifests = await Promise.all(inputs.map(get));
40
- const disabledIds = await getDisabledExtensionIds();
41
- const flatManifests = manifests.flat(1);
42
- const uniqueExtensions = DeduplicateExtensions.deduplicateExtensions(flatManifests, builtinExtensionsPath);
43
- const filteredExtensions = addExtensionDisabledStatus(uniqueExtensions, disabledIds);
44
- return filteredExtensions;
45
- };
34
+ return uniqueExtensions.map((extension) => {
35
+ return {
36
+ ...extension,
37
+ disabled: disabledExtensionIds.includes(extension.id),
38
+ isBuiltin: isBuiltin(extension),
39
+ }
40
+ })
41
+ }
42
+
43
+ export const getAll = async (inputs, builtinExtensionsPath = undefined) => {
44
+ const manifests = await Promise.all(inputs.map(get))
45
+ const disabledIds = await getDisabledExtensionIds()
46
+ const flatManifests = manifests.flat(1)
47
+ const uniqueExtensions = DeduplicateExtensions.deduplicateExtensions(flatManifests, builtinExtensionsPath)
48
+ const filteredExtensions = addExtensionDisabledStatus(uniqueExtensions, disabledIds)
49
+ return filteredExtensions
50
+ }
@@ -1,24 +1,24 @@
1
- import * as ExtensionManifest from '../ExtensionManifest/ExtensionManifest.js';
2
- import * as DirentType from '../DirentType/DirentType.js';
3
- import * as FileSystem from '../FileSystem/FileSystem.js';
4
- import * as IsEnoentError from '../IsEnoentError/IsEnoentError.js';
5
- import * as ToAbsolutePaths from '../ToAbsolutePaths/ToAbsolutePaths.js';
6
- import { VError } from '../VError/VError.js';
1
+ import * as ExtensionManifest from '../ExtensionManifest/ExtensionManifest.js'
2
+ import * as DirentType from '../DirentType/DirentType.js'
3
+ import * as FileSystem from '../FileSystem/FileSystem.js'
4
+ import * as IsEnoentError from '../IsEnoentError/IsEnoentError.js'
5
+ import * as ToAbsolutePaths from '../ToAbsolutePaths/ToAbsolutePaths.js'
6
+ import { VError } from '../VError/VError.js'
7
+
7
8
  export const getExtensionManifests = async (path) => {
8
- try {
9
- if (!path) {
10
- return [];
11
- }
12
- const dirents = await FileSystem.readDirWithFileTypes(path);
13
- const folderNames = dirents.filter((dirent) => dirent.type === DirentType.Directory).map((dirent) => dirent.name);
14
- const absolutePaths = ToAbsolutePaths.toAbsolutePaths(path, folderNames);
15
- const manifests = await Promise.all(absolutePaths.map(ExtensionManifest.get));
16
- return manifests;
9
+ try {
10
+ if (!path) {
11
+ return []
17
12
  }
18
- catch (error) {
19
- if (IsEnoentError.isEnoentError(error)) {
20
- return [];
21
- }
22
- throw new VError(error, 'Failed to get extension manifests');
13
+ const dirents = await FileSystem.readDirWithFileTypes(path)
14
+ const folderNames = dirents.filter((dirent) => dirent.type === DirentType.Directory).map((dirent) => dirent.name)
15
+ const absolutePaths = ToAbsolutePaths.toAbsolutePaths(path, folderNames)
16
+ const manifests = await Promise.all(absolutePaths.map(ExtensionManifest.get))
17
+ return manifests
18
+ } catch (error) {
19
+ if (IsEnoentError.isEnoentError(error)) {
20
+ return []
23
21
  }
24
- };
22
+ throw new VError(error, 'Failed to get extension manifests')
23
+ }
24
+ }
@@ -1,17 +1,18 @@
1
- import * as ExtensionManifest from '../ExtensionManifest/ExtensionManifest.js';
2
- import * as ExtensionManifestStatus from '../ExtensionManifestStatus/ExtensionManifestStatus.js';
1
+ import * as ExtensionManifest from '../ExtensionManifest/ExtensionManifest.js'
2
+ import * as ExtensionManifestStatus from '../ExtensionManifestStatus/ExtensionManifestStatus.js'
3
+
3
4
  export const getExtensionManifests = async (path) => {
4
- if (!path) {
5
- return [];
6
- }
7
- const manifest = await ExtensionManifest.get(path);
8
- if (manifest.status === ExtensionManifestStatus.Rejected) {
9
- return [manifest];
10
- }
11
- return [
12
- {
13
- ...manifest,
14
- symlink: path,
15
- },
16
- ];
17
- };
5
+ if (!path) {
6
+ return []
7
+ }
8
+ const manifest = await ExtensionManifest.get(path)
9
+ if (manifest.status === ExtensionManifestStatus.Rejected) {
10
+ return [manifest]
11
+ }
12
+ return [
13
+ {
14
+ ...manifest,
15
+ symlink: path,
16
+ },
17
+ ]
18
+ }
@@ -1,40 +1,41 @@
1
- import { readlink } from 'node:fs/promises';
2
- import * as ExtensionManifest from '../ExtensionManifest/ExtensionManifest.js';
3
- import * as DirentType from '../DirentType/DirentType.js';
4
- import * as FileSystem from '../FileSystem/FileSystem.js';
5
- import * as IsEnoentError from '../IsEnoentError/IsEnoentError.js';
6
- import * as MergeWithSymlinks from '../MergeWithSymlinks/MergeWithSymlinks.js';
7
- import * as ToAbsolutePaths from '../ToAbsolutePaths/ToAbsolutePaths.js';
8
- import { VError } from '../VError/VError.js';
1
+ import { readlink } from 'node:fs/promises'
2
+ import * as ExtensionManifest from '../ExtensionManifest/ExtensionManifest.js'
3
+ import * as DirentType from '../DirentType/DirentType.js'
4
+ import * as FileSystem from '../FileSystem/FileSystem.js'
5
+ import * as IsEnoentError from '../IsEnoentError/IsEnoentError.js'
6
+ import * as MergeWithSymlinks from '../MergeWithSymlinks/MergeWithSymlinks.js'
7
+ import * as ToAbsolutePaths from '../ToAbsolutePaths/ToAbsolutePaths.js'
8
+ import { VError } from '../VError/VError.js'
9
+
9
10
  const readSymlink = async (absolutePath) => {
10
- try {
11
- const info = await readlink(absolutePath);
12
- return info;
13
- }
14
- catch {
15
- return '';
16
- }
17
- };
11
+ try {
12
+ const info = await readlink(absolutePath)
13
+ return info
14
+ } catch {
15
+ return ''
16
+ }
17
+ }
18
+
18
19
  const readSymlinks = (absolutePaths) => {
19
- return Promise.all(absolutePaths.map(readSymlink));
20
- };
20
+ return Promise.all(absolutePaths.map(readSymlink))
21
+ }
22
+
21
23
  export const getExtensionManifests = async (path) => {
22
- try {
23
- if (!path) {
24
- return [];
25
- }
26
- const dirents = await FileSystem.readDirWithFileTypes(path);
27
- const folderNames = dirents.filter((dirent) => dirent.type === DirentType.Directory).map((dirent) => dirent.name);
28
- const absolutePaths = ToAbsolutePaths.toAbsolutePaths(path, folderNames);
29
- const manifests = await Promise.all(absolutePaths.map(ExtensionManifest.get));
30
- const symlinks = await readSymlinks(absolutePaths);
31
- const merged = MergeWithSymlinks.mergeWithSymLinks(manifests, symlinks);
32
- return merged;
24
+ try {
25
+ if (!path) {
26
+ return []
33
27
  }
34
- catch (error) {
35
- if (IsEnoentError.isEnoentError(error)) {
36
- return [];
37
- }
38
- throw new VError(error, 'Failed to get extension manifests');
28
+ const dirents = await FileSystem.readDirWithFileTypes(path)
29
+ const folderNames = dirents.filter((dirent) => dirent.type === DirentType.Directory).map((dirent) => dirent.name)
30
+ const absolutePaths = ToAbsolutePaths.toAbsolutePaths(path, folderNames)
31
+ const manifests = await Promise.all(absolutePaths.map(ExtensionManifest.get))
32
+ const symlinks = await readSymlinks(absolutePaths)
33
+ const merged = MergeWithSymlinks.mergeWithSymLinks(manifests, symlinks)
34
+ return merged
35
+ } catch (error) {
36
+ if (IsEnoentError.isEnoentError(error)) {
37
+ return []
39
38
  }
40
- };
39
+ throw new VError(error, 'Failed to get extension manifests')
40
+ }
41
+ }
@@ -1,8 +1,9 @@
1
- import * as ExtensionManifest from '../ExtensionManifest/ExtensionManifest.js';
1
+ import * as ExtensionManifest from '../ExtensionManifest/ExtensionManifest.js'
2
+
2
3
  export const getExtensionManifests = async (path) => {
3
- if (path) {
4
- const manifest = await ExtensionManifest.get(path);
5
- return [manifest];
6
- }
7
- return [];
8
- };
4
+ if (path) {
5
+ const manifest = await ExtensionManifest.get(path)
6
+ return [manifest]
7
+ }
8
+ return []
9
+ }
@@ -1,16 +1,16 @@
1
- import { rm } from 'node:fs/promises';
2
- import * as Path from '../Path/Path.js';
3
- import * as PlatformPaths from '../PlatformPaths/PlatformPaths.js';
4
- import { VError } from '../VError/VError.js';
1
+ import { rm } from 'node:fs/promises'
2
+ import * as Path from '../Path/Path.js'
3
+ import * as PlatformPaths from '../PlatformPaths/PlatformPaths.js'
4
+ import { VError } from '../VError/VError.js'
5
+
5
6
  export const uninstall = async (id) => {
6
- try {
7
- const extensionsPath = PlatformPaths.getExtensionsPath();
8
- await rm(Path.join(extensionsPath, id), { recursive: true });
9
- }
10
- catch (error) {
11
- // if (error.code === 'ENOENT') {
12
- // return
13
- // }
14
- throw new VError(error, `Failed to uninstall extension "${id}"`);
15
- }
16
- };
7
+ try {
8
+ const extensionsPath = PlatformPaths.getExtensionsPath()
9
+ await rm(Path.join(extensionsPath, id), { recursive: true })
10
+ } catch (error) {
11
+ // if (error.code === 'ENOENT') {
12
+ // return
13
+ // }
14
+ throw new VError(error, `Failed to uninstall extension "${id}"`)
15
+ }
16
+ }