@lvce-editor/shared-process 0.25.10 → 0.25.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +3 -3
- package/src/parts/AddAccurateMemoryUsage/AddAccurateMemoryUsage.js +7 -8
- package/src/parts/AddSemiColon/AddSemiColon.js +3 -4
- package/src/parts/AppWindow/AppWindow.js +14 -16
- package/src/parts/ApplyEdit/ApplyEdit.js +6 -7
- package/src/parts/Assert/Assert.js +1 -1
- package/src/parts/AttachDebugger/AttachDebugger.ipc.js +4 -6
- package/src/parts/AttachDebugger/AttachDebugger.js +4 -5
- package/src/parts/Authority/Authority.js +1 -1
- package/src/parts/AutoUpdateType/AutoUpdateType.js +4 -4
- package/src/parts/AutoUpdater/AutoUpdater.ipc.js +5 -7
- package/src/parts/AutoUpdater/AutoUpdater.js +31 -31
- package/src/parts/AutoUpdaterAppImage/AutoUpdaterAppImage.ipc.js +5 -7
- package/src/parts/AutoUpdaterAppImage/AutoUpdaterAppImage.js +49 -50
- package/src/parts/AutoUpdaterWindowsNsis/AutoUpdaterWindowsNsis.ipc.js +5 -7
- package/src/parts/AutoUpdaterWindowsNsis/AutoUpdaterWindowsNsis.js +49 -49
- package/src/parts/BulkReplacement/BulkReplacement.ipc.js +4 -6
- package/src/parts/BulkReplacement/BulkReplacement.js +16 -16
- package/src/parts/BulkReplacementContent/BulkReplacementContent.js +26 -27
- package/src/parts/ByteSize/ByteSize.js +4 -4
- package/src/parts/Callback/Callback.js +1 -1
- package/src/parts/Character/Character.js +12 -12
- package/src/parts/ChildProcess/ChildProcess.js +71 -86
- package/src/parts/Clamp/Clamp.js +2 -2
- package/src/parts/Cli/Cli.js +12 -12
- package/src/parts/CliCommandType/CliCommandType.js +11 -11
- package/src/parts/CliHelp/CliHelp.js +8 -9
- package/src/parts/CliInstall/CliInstall.js +24 -24
- package/src/parts/CliLink/CliLink.js +17 -17
- package/src/parts/CliList/CliList.js +15 -18
- package/src/parts/CliModule/CliModule.js +26 -27
- package/src/parts/CliStatus/CliStatus.js +4 -5
- package/src/parts/CliUnlink/CliUnlink.js +17 -17
- package/src/parts/CliVersion/CliVersion.js +7 -8
- package/src/parts/ClipBoard/ClipBoard.ipc.js +5 -7
- package/src/parts/ClipBoard/ClipBoard.js +18 -21
- package/src/parts/ClipBoard/ClipBoardGnome.js +49 -54
- package/src/parts/ClipBoard/ClipBoardNoop.js +10 -12
- package/src/parts/ClipBoard/ClipBoardWindows.js +17 -18
- package/src/parts/CollectTextSearchStdout/CollectTextSearchStdout.js +83 -93
- package/src/parts/ColorTheme/ColorTheme.js +14 -17
- package/src/parts/Command/Command.js +61 -68
- package/src/parts/CommandNotFoundError/CommandNotFoundError.js +7 -8
- package/src/parts/CompareVersion/CompareVersion.js +2 -2
- package/src/parts/ContentSecurityPolicy/ContentSecurityPolicy.ipc.js +4 -6
- package/src/parts/ContentSecurityPolicy/ContentSecurityPolicy.js +6 -7
- package/src/parts/ContentSecurityPolicyDocument/ContentSecurityPolicyDocument.js +9 -10
- package/src/parts/ContentSecurityPolicyState/ContentSecurityPolicyState.js +5 -7
- package/src/parts/ContentSecurityPolicySyntaxHighlightingWorker/ContentSecurityPolicySyntaxHighlightingWorker.js +2 -3
- package/src/parts/ContentSecurityPolicyTerminalWorker/ContentSecurityPolicyTerminalWorker.js +2 -3
- package/src/parts/ContentSecurityPolicyTestWorker/ContentSecurityPolicyTestWorker.js +2 -3
- package/src/parts/ContentSecurityPolicyWorker/ContentSecurityPolicyWorker.js +6 -7
- package/src/parts/CpuProfile/CpuProfile.js +22 -25
- package/src/parts/Crash/Crash.ipc.js +5 -7
- package/src/parts/Crash/Crash.js +8 -11
- package/src/parts/CreatePidMap/CreatePidMap.js +4 -5
- package/src/parts/CreateTestOverview/CreateTestOverview.js +19 -22
- package/src/parts/CrossOriginEmbedderPolicy/CrossOriginEmbedderPolicy.js +1 -1
- package/src/parts/CrossOriginOpenerPolicy/CrossOriginOpenerPolicy.js +2 -2
- package/src/parts/Debug/Debug.js +2 -3
- package/src/parts/DefaultUrl/DefaultUrl.js +3 -4
- package/src/parts/Desktop/Desktop.js +18 -19
- package/src/parts/DesktopCapturer/DesktopCapturer.ipc.js +4 -6
- package/src/parts/DesktopCapturer/DesktopCapturer.js +3 -4
- package/src/parts/DesktopType/DesktopType.js +3 -3
- package/src/parts/DestroySocket/DestroySocket.js +5 -4
- package/src/parts/Developer/Developer.ipc.js +12 -14
- package/src/parts/Developer/Developer.js +33 -40
- package/src/parts/DirentType/DirentType.js +12 -12
- package/src/parts/Download/Download.ipc.js +4 -6
- package/src/parts/Download/Download.js +20 -19
- package/src/parts/DownloadAndExtract/DownloadAndExtract.js +16 -20
- package/src/parts/ElectronApplicationMenu/ElectronApplicationMenu.ipc.js +5 -7
- package/src/parts/ElectronApplicationMenu/ElectronApplicationMenu.js +20 -23
- package/src/parts/ElectronBrowserView/ElectronBrowserView.ipc.js +5 -7
- package/src/parts/ElectronBrowserView/ElectronBrowserView.js +18 -21
- package/src/parts/ElectronBrowserViewFunctions/ElectronBrowserViewFunctions.ipc.js +17 -19
- package/src/parts/ElectronBrowserViewFunctions/ElectronBrowserViewFunctions.js +26 -41
- package/src/parts/ElectronBrowserViewIpcState/ElectronBrowserViewIpcState.js +10 -14
- package/src/parts/ElectronBrowserViewQuickPick/ElectronBrowserViewQuickPick.ipc.js +5 -7
- package/src/parts/ElectronBrowserViewQuickPick/ElectronBrowserViewQuickPick.js +5 -7
- package/src/parts/ElectronBrowserViewState/ElectronBrowserViewState.js +8 -11
- package/src/parts/ElectronBrowserViewSuggestions/ElectronBrowserViewSuggestions.ipc.js +6 -8
- package/src/parts/ElectronBrowserViewSuggestions/ElectronBrowserViewSuggestions.js +7 -10
- package/src/parts/ElectronClipBoard/ElectronClipBoard.ipc.js +4 -6
- package/src/parts/ElectronClipBoard/ElectronClipBoard.js +3 -4
- package/src/parts/ElectronContentTracing/ElectronContentTracing.ipc.js +5 -7
- package/src/parts/ElectronContentTracing/ElectronContentTracing.js +5 -7
- package/src/parts/ElectronContextMenu/ElectronContextMenu.ipc.js +4 -6
- package/src/parts/ElectronContextMenu/ElectronContextMenu.js +7 -8
- package/src/parts/ElectronDeveloper/ElectronDeveloper.ipc.js +4 -6
- package/src/parts/ElectronDeveloper/ElectronDeveloper.js +3 -4
- package/src/parts/ElectronDialog/ElectronDialog.ipc.js +5 -7
- package/src/parts/ElectronDialog/ElectronDialog.js +5 -7
- package/src/parts/ElectronInitialize/ElectronInitialize.ipc.js +4 -6
- package/src/parts/ElectronInitialize/ElectronInitialize.js +9 -10
- package/src/parts/ElectronNet/ElectronNet.ipc.js +4 -6
- package/src/parts/ElectronNet/ElectronNet.js +3 -4
- package/src/parts/ElectronNetLog/ElectronNetLog.ipc.js +5 -7
- package/src/parts/ElectronNetLog/ElectronNetLog.js +5 -7
- package/src/parts/ElectronPowerSaveBlocker/ElectronPowerSaveBlocker.ipc.js +5 -7
- package/src/parts/ElectronPowerSaveBlocker/ElectronPowerSaveBlocker.js +5 -7
- package/src/parts/ElectronProcess/ElectronProcess.ipc.js +5 -7
- package/src/parts/ElectronProcess/ElectronProcess.js +5 -7
- package/src/parts/ElectronSafeStorage/ElectronSafeStorage.ipc.js +6 -8
- package/src/parts/ElectronSafeStorage/ElectronSafeStorage.js +10 -13
- package/src/parts/ElectronShell/ElectronShell.ipc.js +4 -6
- package/src/parts/ElectronShell/ElectronShell.js +3 -4
- package/src/parts/ElectronWebContents/ElectronWebContents.ipc.js +11 -13
- package/src/parts/ElectronWebContents/ElectronWebContents.js +45 -61
- package/src/parts/ElectronWebContentsView/ElectronWebContentsView.ipc.js +5 -7
- package/src/parts/ElectronWebContentsView/ElectronWebContentsView.js +16 -18
- package/src/parts/ElectronWebContentsViewFunctions/ElectronWebContentsViewFunctions.ipc.js +17 -19
- package/src/parts/ElectronWebContentsViewFunctions/ElectronWebContentsViewFunctions.js +26 -41
- package/src/parts/ElectronWindow/ElectronWindow.ipc.js +15 -17
- package/src/parts/ElectronWindow/ElectronWindow.js +60 -81
- package/src/parts/ElectronWindowAbout/ElectronWindowAbout.ipc.js +4 -6
- package/src/parts/ElectronWindowAbout/ElectronWindowAbout.js +3 -4
- package/src/parts/ElectronWindowProcessExplorer/ElectronWindowProcessExplorer.ipc.js +4 -6
- package/src/parts/ElectronWindowProcessExplorer/ElectronWindowProcessExplorer.js +31 -33
- package/src/parts/EncodingType/EncodingType.js +2 -2
- package/src/parts/Env/Env.js +11 -16
- package/src/parts/Error/FileSystemError.js +6 -7
- package/src/parts/ErrorCodes/ErrorCodes.js +22 -22
- package/src/parts/ErrorHandling/ErrorHandling.js +52 -60
- package/src/parts/Exec/Exec.js +11 -12
- package/src/parts/ExecCommand/ExecCommand.js +19 -22
- package/src/parts/ExecPromise/ExecPromise.js +3 -4
- package/src/parts/Exit/Exit.ipc.js +4 -6
- package/src/parts/Exit/Exit.js +3 -4
- package/src/parts/ExitCode/ExitCode.js +3 -5
- package/src/parts/ExportStatic/ExportStatic.js +318 -419
- package/src/parts/ExtensionHostHelperProcessIpc/ExtensionHostHelperProcessIpc.js +13 -14
- package/src/parts/ExtensionHostRpc/ExtensionHostRpc.js +70 -79
- package/src/parts/ExtensionInstall/ExtensionInstall.ipc.js +4 -6
- package/src/parts/ExtensionInstall/ExtensionInstall.js +21 -23
- package/src/parts/ExtensionInstallFromFile/ExtensionInstallFromFile.js +32 -33
- package/src/parts/ExtensionInstallFromGitHub/ExtensionInstallFromGitHub.js +30 -30
- package/src/parts/ExtensionInstallFromUrl/ExtensionInstallFromUrl.js +30 -30
- package/src/parts/ExtensionInstallParseInput/ExtensionInstallParseInput.js +43 -46
- package/src/parts/ExtensionInstallType/ExtensionInstallType.js +4 -7
- package/src/parts/ExtensionLink/ExtensionLink.js +40 -40
- package/src/parts/ExtensionList/ExtensionList.js +57 -63
- package/src/parts/ExtensionManagement/ExtensionManagement.ipc.js +16 -17
- package/src/parts/ExtensionManagement/ExtensionManagement.js +70 -87
- package/src/parts/ExtensionManagement/ExtensionManagementColorTheme.js +62 -70
- package/src/parts/ExtensionManagement/ExtensionManagementIconTheme.js +26 -26
- package/src/parts/ExtensionManagement/ExtensionManagementLanguages.js +55 -59
- package/src/parts/ExtensionManifest/ExtensionManifest.js +50 -48
- package/src/parts/ExtensionManifestInputType/ExtensionManifestInputType.js +3 -5
- package/src/parts/ExtensionManifestStatus/ExtensionManifestStatus.js +2 -3
- package/src/parts/ExtensionManifests/ExtensionManifests.js +36 -40
- package/src/parts/ExtensionManifests/ExtensionManifestsFromFolder.js +19 -19
- package/src/parts/ExtensionManifests/ExtensionManifestsFromLinkedExtensionsFolder.js +46 -47
- package/src/parts/ExtensionManifests/ExtensionManifestsFromOnlyExtension.js +7 -8
- package/src/parts/ExtensionUninstall/ExtensionUninstall.js +17 -17
- package/src/parts/ExtensionUnlink/ExtensionUnlink.js +19 -19
- package/src/parts/Extract/Extract.js +24 -28
- package/src/parts/FileNotFoundError/FileNotFoundError.js +11 -13
- package/src/parts/FileSystem/FileSystem.ipc.js +27 -30
- package/src/parts/FileSystem/FileSystem.js +214 -228
- package/src/parts/FileSystemWatch/FileSystemWatch.js +4 -5
- package/src/parts/FirstNodeWorkerEventType/FirstNodeWorkerEventType.js +3 -3
- package/src/parts/GetAccurateMemoryUsage/GetAccurateMemoryUsage.js +34 -34
- package/src/parts/GetAppImageDownloadUrl/GetAppImageDownloadUrl.js +4 -5
- package/src/parts/GetAppImagePath/GetAppImagePath.js +3 -4
- package/src/parts/GetAppWindowOptions/GetAppWindowOptions.js +26 -28
- package/src/parts/GetBrowserWindowOptions/GetBrowserWindowOptions.js +26 -27
- package/src/parts/GetContentSecurityPolicy/GetContentSecurityPolicy.js +4 -5
- package/src/parts/GetDirentType/GetDirentType.js +24 -25
- package/src/parts/GetElectronFileResponse/GetElectronFileResponse.ipc.js +4 -6
- package/src/parts/GetElectronFileResponse/GetElectronFileResponse.js +43 -43
- package/src/parts/GetElectronFileResponseAbsolutePath/GetElectronFileResponseAbsolutePath.js +32 -33
- package/src/parts/GetElectronFileResponseContent/GetElectronFileResponseContent.js +15 -16
- package/src/parts/GetElectronFileResponseRelativePath/GetElectronFileResponseRelativePath.js +11 -13
- package/src/parts/GetElectronRebuildPath/GetElectronRebuildPath.js +8 -9
- package/src/parts/GetEtag/GetEtag.js +2 -2
- package/src/parts/GetFirstEvent/GetFirstEvent.js +20 -21
- package/src/parts/GetFirstNodeWorkerEvent/GetFirstNodeWorkerEvent.js +7 -8
- package/src/parts/GetFirstSpawnedProcessEvent/GetFirstSpawnedProcessEvent.js +7 -8
- package/src/parts/GetHeaders/GetHeaders.js +50 -52
- package/src/parts/GetHeadersDefault/GetHeadersDefault.js +2 -2
- package/src/parts/GetHeadersExtensionHostWorker/GetHeadersExtensionHostWorker.js +8 -9
- package/src/parts/GetHeadersMainFrame/GetHeadersMainFrame.js +10 -11
- package/src/parts/GetHeadersOtherWorker/GetHeadersOtherWorker.js +12 -13
- package/src/parts/GetHeadersRendererWorker/GetHeadersRendererWorker.js +8 -9
- package/src/parts/GetHeadersSyntaxHighlightingWorker/GetHeadersSyntaxHighlightingWorker.js +8 -9
- package/src/parts/GetHeadersTerminalWorker/GetHeadersTerminalWorker.js +8 -9
- package/src/parts/GetHeadersTestWorker/GetHeadersTestWorker.js +8 -9
- package/src/parts/GetHelpString/GetHelpString.js +4 -5
- package/src/parts/GetHttpErrorMessage/GetHttpErrorMessage.js +20 -21
- package/src/parts/GetIcon/GetIcon.js +17 -18
- package/src/parts/GetLatestReleaseVersion/GetLatestReleaseVersion.js +29 -30
- package/src/parts/GetMimeType/GetMimeType.js +26 -27
- package/src/parts/GetNewLineIndex/GetNewLineIndex.js +3 -4
- package/src/parts/GetNotFoundResponse/GetNotFoundResponse.js +10 -11
- package/src/parts/GetNotModifiedResponse/GetNotModifiedResponse.js +9 -10
- package/src/parts/GetNsisUpdateArgs/GetNsisUpdateArgs.js +6 -6
- package/src/parts/GetNsisUpdateDownloadPath/GetNsisUpdateDownloadPath.js +9 -10
- package/src/parts/GetPathName/GetPathName.js +3 -3
- package/src/parts/GetPreloadUrl/GetPreloadUrl.js +4 -5
- package/src/parts/GetProcessExplorerUrl/GetProcessExplorerUrl.js +3 -4
- package/src/parts/GetPsOutput/GetPsOutput.js +16 -17
- package/src/parts/GetRemoteUrl/GetRemoteUrl.js +4 -5
- package/src/parts/GetServerErrorResponse/GetServerErrorResponse.js +10 -11
- package/src/parts/GetStatusString/GetStatusString.js +54 -62
- package/src/parts/GetTerminalProcessPath/GetTerminalProcessPath.js +4 -5
- package/src/parts/GetTerminalSpawnOptions/GetTerminalSpawnOptions.ipc.js +4 -6
- package/src/parts/GetTerminalSpawnOptions/GetTerminalSpawnOptions.js +16 -17
- package/src/parts/GetTestPath/GetTestPath.js +10 -11
- package/src/parts/GetTestRequestResponse/GetTestRequestResponse.js +41 -42
- package/src/parts/GetTitleBarItems/GetTitleBarItems.js +40 -41
- package/src/parts/GetTypeFromUrl/GetTypeFromUrl.js +17 -18
- package/src/parts/GetTypeScriptPath/GetTypeScriptPath.js +11 -20
- package/src/parts/GetVersionString/GetVersionString.js +4 -5
- package/src/parts/GetWindowId/GetWindowId.ipc.js +4 -6
- package/src/parts/GetWindowId/GetWindowId.js +4 -5
- package/src/parts/GetWindowsNsisDownloadUrl/GetWindowsNsisDownloadUrl.js +6 -7
- package/src/parts/GetWorkspaceId/GetWorkspaceId.js +3 -4
- package/src/parts/GitLsFiles/GitLsFiles.ipc.js +6 -8
- package/src/parts/GitLsFiles/GitLsFiles.js +19 -22
- package/src/parts/HandleCliArgs/HandleCliArgs.ipc.js +4 -6
- package/src/parts/HandleCliArgs/HandleCliArgs.js +11 -11
- package/src/parts/HandleElectronMessagePort/HandleElectronMessagePort.ipc.js +4 -6
- package/src/parts/HandleElectronMessagePort/HandleElectronMessagePort.js +13 -14
- package/src/parts/HandleElectronReady/HandleElectronReady.ipc.js +4 -6
- package/src/parts/HandleElectronReady/HandleElectronReady.js +8 -9
- package/src/parts/HandleIpc/HandleIpc.js +20 -23
- package/src/parts/HandleMessagePortForExtensionHostHelperProcess/HandleMessagePortForExtensionHostHelperProcess.ipc.js +4 -6
- package/src/parts/HandleMessagePortForExtensionHostHelperProcess/HandleMessagePortForExtensionHostHelperProcess.js +17 -18
- package/src/parts/HandleMessagePortForTerminalProcess/HandleMessagePortForTerminalProcess.ipc.js +4 -6
- package/src/parts/HandleMessagePortForTerminalProcess/HandleMessagePortForTerminalProcess.js +8 -9
- package/src/parts/HandleNodeMessagePort/HandleNodeMessagePort.ipc.js +4 -6
- package/src/parts/HandleNodeMessagePort/HandleNodeMessagePort.js +9 -10
- package/src/parts/HandleRemoteRequest/HandleRemoteRequest.ipc.js +4 -6
- package/src/parts/HandleRemoteRequest/HandleRemoteRequest.js +8 -9
- package/src/parts/HandleRequestTest/HandleRequestTest.ipc.js +4 -6
- package/src/parts/HandleRequestTest/HandleRequestTest.js +9 -10
- package/src/parts/HandleSocketError/HandleSocketError.js +10 -11
- package/src/parts/HandleUncaughtExceptionMonitor/HandleUncaughtExceptionMonitor.js +9 -12
- package/src/parts/HandleWebSocket/HandleWebSocket.ipc.js +4 -6
- package/src/parts/HandleWebSocket/HandleWebSocket.js +19 -19
- package/src/parts/HandleWebSocketForExtensionHostHelperProcess/HandleWebSocketForExtensionHostHelperProcess.js +8 -9
- package/src/parts/HandleWebSocketForSharedProcess/HandleWebSocketForSharedProcess.js +15 -16
- package/src/parts/HandleWebSocketForTerminalProcess/HandleWebSocketForTerminalProcess.js +17 -21
- package/src/parts/HandleWebSocketForUnknown/HandleWebSocketForUnknown.js +9 -9
- package/src/parts/HandleWebSocketModule/HandleWebSocketModule.js +16 -17
- package/src/parts/HandleWindowAllClosed/HandleWindowAllClosed.ipc.js +4 -6
- package/src/parts/HandleWindowAllClosed/HandleWindowAllClosed.js +9 -10
- package/src/parts/HasPositiveMemoryUsage/HasPositiveMemoryUsage.js +2 -2
- package/src/parts/Hash/Hash.js +4 -6
- package/src/parts/HeapSnapshot/HeapSnapshot.ipc.js +4 -6
- package/src/parts/HeapSnapshot/HeapSnapshot.js +6 -9
- package/src/parts/HttpHeader/HttpHeader.js +7 -7
- package/src/parts/HttpServerResponse/HttpServerResponse.js +15 -16
- package/src/parts/HttpStatusCode/HttpStatusCode.js +5 -5
- package/src/parts/Id/Id.js +4 -5
- package/src/parts/IncrementalTextSearch/IncrementalTextSearch.js +44 -47
- package/src/parts/IncrementalTextSearch/IncremetalTextSearch.ipc.js +4 -6
- package/src/parts/InferExtensionId/InferExtensionId.js +7 -8
- package/src/parts/InstallExtension/InstallExtension.ipc.js +3 -4
- package/src/parts/InstallExtension/InstallExtension.js +32 -32
- package/src/parts/IpcChild/IpcChild.js +12 -13
- package/src/parts/IpcChildModule/IpcChildModule.js +19 -26
- package/src/parts/IpcChildType/IpcChildType.js +18 -19
- package/src/parts/IpcChildWithElectronMessagePort/IpcChildWithElectronMessagePort.js +47 -48
- package/src/parts/IpcChildWithNodeMessagePort/IpcChildWithNodeMessagePort.js +40 -41
- package/src/parts/IpcError/IpcError.js +4 -4
- package/src/parts/IpcParent/IpcParent.js +8 -9
- package/src/parts/IpcParentModule/IpcParentModule.js +13 -14
- package/src/parts/IpcParentType/IpcParentType.js +3 -3
- package/src/parts/IpcParentWithElectronUtilityProcess/IpcParentWithElectronUtilityProcess.js +45 -48
- package/src/parts/IsAbsolutePath/IsAbsolutePath.js +3 -4
- package/src/parts/IsAppImage/IsAppImage.js +3 -4
- package/src/parts/IsAutoUpdateSupported/IsAutoUpdateSupported.ipc.js +4 -6
- package/src/parts/IsAutoUpdateSupported/IsAutoUpdateSupported.js +6 -8
- package/src/parts/IsBuiltServer/IsBuiltServer.js +1 -1
- package/src/parts/IsDlOpenError/IsDlOpenError.js +3 -4
- package/src/parts/IsElectron/IsElectron.js +3 -4
- package/src/parts/IsEnoentError/IsEnoentError.js +9 -11
- package/src/parts/IsEnoentErrorWindows/IsEnoentErrorWindows.js +2 -2
- package/src/parts/IsEsrchError/IsEsrchError.js +3 -4
- package/src/parts/IsIgnoredError/IsIgnoredError.js +12 -13
- package/src/parts/IsMessagePort/IsMessagePort.js +2 -2
- package/src/parts/IsMessagePortMain/IsMessagePortMain.js +2 -2
- package/src/parts/IsTypeScriptPath/IsTypeScriptPath.js +2 -2
- package/src/parts/IsWindows/IsWindows.js +1 -1
- package/src/parts/JoinLines/JoinLines.js +3 -4
- package/src/parts/Json/Json.js +15 -17
- package/src/parts/JsonFile/JsonFile.js +10 -12
- package/src/parts/JsonRpc/JsonRpc.js +1 -1
- package/src/parts/JsonRpcVersion/JsonRpcVersion.js +1 -1
- package/src/parts/Jsonc/Jsonc.js +1 -1
- package/src/parts/JsoncFile/JsoncFile.js +7 -8
- package/src/parts/LeftCut/LeftCut.js +17 -18
- package/src/parts/LimitString/LimitString.js +13 -14
- package/src/parts/ListProcessGetName/ListProcessGetName.js +55 -56
- package/src/parts/ListProcessesWithMemoryUsage/ListProcessesWithMemoryUsage.ipc.js +4 -6
- package/src/parts/ListProcessesWithMemoryUsage/ListProcessesWithMemoryUsage.js +9 -11
- package/src/parts/ListProcessesWithMemoryUsageUnix/ListProcessesWithMemoryUsageUnix.js +19 -20
- package/src/parts/ListProcessesWithMemoryUsageWindows/ListProcessesWithMemoryUsageWindows.js +33 -36
- package/src/parts/LoadTypeScript/LoadTypeScript.js +12 -12
- package/src/parts/LoadWindowsProcessTree/LoadWindowsProcessTree.js +11 -13
- package/src/parts/Logger/Logger.js +34 -42
- package/src/parts/Main/Main.js +13 -14
- package/src/parts/MakeExecutable/MakeExecutable.js +9 -9
- package/src/parts/MimeType/MimeType.js +37 -37
- package/src/parts/Module/Module.js +150 -151
- package/src/parts/ModuleId/ModuleId.js +76 -76
- package/src/parts/ModuleMap/ModuleMap.js +329 -330
- package/src/parts/OpenExternal/OpenExternal.ipc.js +5 -7
- package/src/parts/OpenExternal/OpenExternal.js +5 -7
- package/src/parts/OpenNativeFolder/OpenNativeFolder.ipc.js +4 -6
- package/src/parts/OpenNativeFolder/OpenNativeFolder.js +9 -9
- package/src/parts/Os/Os.ipc.js +4 -6
- package/src/parts/Os/Os.js +3 -4
- package/src/parts/OutputChannel/OutputChannel.ipc.js +35 -39
- package/src/parts/OutputChannel/OutputChannel.js +32 -35
- package/src/parts/OutputChannelState/OutputChannelState.js +10 -14
- package/src/parts/ParentIpc/ParentIpc.js +19 -25
- package/src/parts/ParseInt/ParseInt.js +2 -2
- package/src/parts/ParseMemory/ParseMemory.js +9 -10
- package/src/parts/ParsePsOutput/ParsePsOutput.js +42 -46
- package/src/parts/ParseRipGrepLines/ParseRipGrepLines.js +9 -10
- package/src/parts/ParseUrlGithub/ParseUrlGithub.js +49 -51
- package/src/parts/Path/Path.js +11 -16
- package/src/parts/Performance/Performance.ipc.js +4 -6
- package/src/parts/Performance/Performance.js +16 -27
- package/src/parts/Platform/Platform.ipc.js +28 -30
- package/src/parts/Platform/Platform.js +46 -73
- package/src/parts/PlatformPaths/PlatformPaths.ipc.js +21 -23
- package/src/parts/PlatformPaths/PlatformPaths.js +79 -114
- package/src/parts/Preferences/Preferences.ipc.js +4 -6
- package/src/parts/Preferences/Preferences.js +69 -70
- package/src/parts/PrettyError/PrettyError.js +1 -1
- package/src/parts/PrintPrettyError/PrintPrettyError.js +3 -4
- package/src/parts/Process/Process.ipc.js +10 -12
- package/src/parts/Process/Process.js +35 -48
- package/src/parts/ProcessDisplayName/ProcessDisplayName.js +1 -1
- package/src/parts/ProcessExitEventType/ProcessExitEventType.js +2 -2
- package/src/parts/ProcessId/ProcessId.ipc.js +5 -7
- package/src/parts/ProcessId/ProcessId.js +4 -5
- package/src/parts/ProcessListeners/ProcessListeners.js +11 -14
- package/src/parts/Promises/Promises.js +18 -18
- package/src/parts/ProtocolType/ProtocolType.js +4 -4
- package/src/parts/PtyHost/PtyHost.js +55 -62
- package/src/parts/PtyHostPath/PtyHostPath.js +10 -10
- package/src/parts/PtyHostState/PtyHostState.js +16 -16
- package/src/parts/Queue/Queue.js +30 -31
- package/src/parts/RebuildForElectron/RebuildForElectron.js +14 -14
- package/src/parts/RebuildForNode/RebuildForNode.js +12 -12
- package/src/parts/RebuildNodePty/RebuildNodePty.ipc.js +4 -6
- package/src/parts/RebuildNodePty/RebuildNodePty.js +20 -22
- package/src/parts/RecentlyOpened/RecentlyOpened.ipc.js +4 -6
- package/src/parts/RecentlyOpened/RecentlyOpened.js +54 -53
- package/src/parts/RemoveSymlink/RemoveSymlink.js +11 -11
- package/src/parts/RequiresSocket/RequiresSocket.js +14 -15
- package/src/parts/Restart/Restart.js +9 -10
- package/src/parts/RipGrep/RipGrep.js +35 -37
- package/src/parts/RipGrepParsedLineType/RipGrepParsedLineType.js +4 -4
- package/src/parts/RipGrepPath/RipGrepPath.js +1 -1
- package/src/parts/Root/Root.js +4 -6
- package/src/parts/Screen/Screen.ipc.js +6 -8
- package/src/parts/Screen/Screen.js +7 -10
- package/src/parts/SearchFile/SearchFile.ipc.js +4 -6
- package/src/parts/SearchFile/SearchFile.js +26 -27
- package/src/parts/SetHeaders/SetHeaders.js +4 -4
- package/src/parts/ShouldLogError/ShouldLogError.js +6 -7
- package/src/parts/ShouldTranspileTypescript/ShouldTranspileTypescript.js +10 -11
- package/src/parts/Signal/Signal.js +3 -3
- package/src/parts/SplitLines/SplitLines.js +3 -4
- package/src/parts/SymLink/SymLink.js +3 -4
- package/src/parts/TemporaryMessagePort/TemporaryMessagePort.ipc.js +4 -6
- package/src/parts/TemporaryMessagePort/TemporaryMessagePort.js +18 -21
- package/src/parts/Terminal/Terminal.ipc.js +7 -9
- package/src/parts/Terminal/Terminal.js +68 -73
- package/src/parts/TerminalState/TerminalState.js +8 -11
- package/src/parts/TextDocument/TextDocument.ipc.js +3 -4
- package/src/parts/TextDocument/TextDocument.js +17 -22
- package/src/parts/TextSearch/TextSearch.ipc.js +4 -6
- package/src/parts/TextSearch/TextSearch.js +18 -22
- package/src/parts/TextSearchError/TextSearchError.js +12 -12
- package/src/parts/TextSearchResultType/TextSearchResultType.js +2 -2
- package/src/parts/Timeout/Timeout.js +4 -5
- package/src/parts/TmpFile/TmpFile.js +11 -13
- package/src/parts/ToAbsolutePaths/ToAbsolutePaths.js +7 -8
- package/src/parts/ToTextSearchResult/ToTextSearchResult.js +23 -24
- package/src/parts/Trace/Trace.js +10 -14
- package/src/parts/TranspileTypeScript/TranspileTypeScript.js +19 -19
- package/src/parts/Trash/Trash.js +15 -16
- package/src/parts/TrashElectron/TrashElectron.js +7 -8
- package/src/parts/TrashNode/TrashNode.js +3 -4
- package/src/parts/UpdateState/UpdateState.js +7 -10
- package/src/parts/UpdateStateType/UpdateStateType.js +9 -9
- package/src/parts/VError/VError.js +1 -1
- package/src/parts/WaitForProcessToExit/WaitForProcessToExit.js +7 -8
- package/src/parts/WebSocketServer/WebSocketServer.ipc.js +4 -6
- package/src/parts/WebSocketServer/WebSocketServer.js +1 -1
- package/src/parts/WindowsProcessTree/WindowsProcessTree.js +12 -14
- package/src/parts/WindowsProcessTreeDataFlag/WindowsProcessTreeDataFlag.js +3 -3
- package/src/parts/Workspace/Workspace.ipc.js +5 -7
- package/src/parts/Workspace/Workspace.js +79 -84
- package/src/parts/WorkspaceSource/WorkspaceSource.js +2 -2
- package/src/sharedProcessMain.js +2 -3
|
@@ -1,15 +1,14 @@
|
|
|
1
|
-
import * as IpcParent from '../IpcParent/IpcParent.js'
|
|
2
|
-
import * as PlatformPaths from '../PlatformPaths/PlatformPaths.js'
|
|
3
|
-
import * as Id from '../Id/Id.js'
|
|
4
|
-
|
|
1
|
+
import * as IpcParent from '../IpcParent/IpcParent.js';
|
|
2
|
+
import * as PlatformPaths from '../PlatformPaths/PlatformPaths.js';
|
|
3
|
+
import * as Id from '../Id/Id.js';
|
|
5
4
|
export const create = async ({ method }) => {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
}
|
|
5
|
+
const extensionHostHelperProcessPath = await PlatformPaths.getExtensionHostHelperProcessPath();
|
|
6
|
+
const id = Id.create();
|
|
7
|
+
const ipc = await IpcParent.create({
|
|
8
|
+
method,
|
|
9
|
+
path: extensionHostHelperProcessPath,
|
|
10
|
+
execArgv: ['--max-old-space-size=60', '--enable-source-maps'],
|
|
11
|
+
name: `Extension Host Helper Process ${id}`,
|
|
12
|
+
});
|
|
13
|
+
return ipc;
|
|
14
|
+
};
|
|
@@ -1,82 +1,73 @@
|
|
|
1
|
-
import * as Assert from '../Assert/Assert.js'
|
|
2
|
-
import * as Timeout from '../Timeout/Timeout.js'
|
|
3
|
-
import { VError } from '../VError/VError.js'
|
|
4
|
-
import * as Logger from '../Logger/Logger.js'
|
|
1
|
+
import * as Assert from '../Assert/Assert.js';
|
|
2
|
+
import * as Timeout from '../Timeout/Timeout.js';
|
|
3
|
+
import { VError } from '../VError/VError.js';
|
|
4
|
+
import * as Logger from '../Logger/Logger.js';
|
|
5
5
|
// TODO maybe rename to extension host management for clarity
|
|
6
|
-
|
|
7
|
-
const CONNECTION_TIMEOUT = 3000
|
|
8
|
-
|
|
6
|
+
const CONNECTION_TIMEOUT = 3000;
|
|
9
7
|
export const create = async (ipc, socket) => {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
Logger.info(`[SharedProcess] Extension Host exited with code ${exitCode}`)
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
const handleSocketClose = () => {
|
|
21
|
-
Logger.info('[shared process] disposing extension host')
|
|
22
|
-
ipc.dispose()
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
socket.on('close', handleSocketClose)
|
|
26
|
-
|
|
27
|
-
ipc.on('error', handleChildProcessError)
|
|
28
|
-
|
|
29
|
-
ipc.on('exit', handleChildProcessExit)
|
|
30
|
-
|
|
31
|
-
await new Promise((resolve, reject) => {
|
|
32
|
-
const handleFirstError = (error) => {
|
|
33
|
-
cleanup()
|
|
34
|
-
reject(error)
|
|
35
|
-
}
|
|
36
|
-
const handleFirstExit = (exitCode) => {
|
|
37
|
-
cleanup()
|
|
38
|
-
reject(new VError(`Extension Host exited with code ${exitCode}`))
|
|
39
|
-
}
|
|
40
|
-
const handleFirstMessage = (message) => {
|
|
41
|
-
cleanup()
|
|
42
|
-
if (message === 'ready') {
|
|
43
|
-
resolve(undefined)
|
|
44
|
-
} else {
|
|
45
|
-
reject(new VError('Unexpected first message from extension host'))
|
|
46
|
-
}
|
|
47
|
-
}
|
|
8
|
+
Assert.object(socket);
|
|
9
|
+
const handleChildProcessError = (error) => {
|
|
10
|
+
Logger.error(`[Extension Host] ${error}`);
|
|
11
|
+
};
|
|
12
|
+
const handleChildProcessExit = (exitCode) => {
|
|
13
|
+
Logger.info(`[SharedProcess] Extension Host exited with code ${exitCode}`);
|
|
14
|
+
};
|
|
48
15
|
const handleSocketClose = () => {
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
16
|
+
Logger.info('[shared process] disposing extension host');
|
|
17
|
+
ipc.dispose();
|
|
18
|
+
};
|
|
19
|
+
socket.on('close', handleSocketClose);
|
|
20
|
+
ipc.on('error', handleChildProcessError);
|
|
21
|
+
ipc.on('exit', handleChildProcessExit);
|
|
22
|
+
await new Promise((resolve, reject) => {
|
|
23
|
+
const handleFirstError = (error) => {
|
|
24
|
+
cleanup();
|
|
25
|
+
reject(error);
|
|
26
|
+
};
|
|
27
|
+
const handleFirstExit = (exitCode) => {
|
|
28
|
+
cleanup();
|
|
29
|
+
reject(new VError(`Extension Host exited with code ${exitCode}`));
|
|
30
|
+
};
|
|
31
|
+
const handleFirstMessage = (message) => {
|
|
32
|
+
cleanup();
|
|
33
|
+
if (message === 'ready') {
|
|
34
|
+
resolve(undefined);
|
|
35
|
+
}
|
|
36
|
+
else {
|
|
37
|
+
reject(new VError('Unexpected first message from extension host'));
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
const handleSocketClose = () => {
|
|
41
|
+
cleanup();
|
|
42
|
+
ipc.off('error', handleChildProcessError);
|
|
43
|
+
ipc.off('exit', handleChildProcessExit);
|
|
44
|
+
resolve(undefined);
|
|
45
|
+
};
|
|
46
|
+
const cleanup = () => {
|
|
47
|
+
ipc.off('error', handleFirstError);
|
|
48
|
+
ipc.off('exit', handleFirstExit);
|
|
49
|
+
ipc.off('message', handleFirstMessage);
|
|
50
|
+
clearTimeout(timeout);
|
|
51
|
+
};
|
|
52
|
+
const handleTimeout = () => {
|
|
53
|
+
cleanup();
|
|
54
|
+
reject(new VError('Extension host did not connect'));
|
|
55
|
+
};
|
|
56
|
+
const timeout = Timeout.setTimeout(handleTimeout, CONNECTION_TIMEOUT);
|
|
57
|
+
ipc.on('error', handleFirstError);
|
|
58
|
+
ipc.on('exit', handleFirstExit);
|
|
59
|
+
ipc.on('message', handleFirstMessage);
|
|
60
|
+
socket.on('close', handleSocketClose);
|
|
61
|
+
});
|
|
62
|
+
return {
|
|
63
|
+
on(event, listener) {
|
|
64
|
+
ipc.on(event, listener);
|
|
65
|
+
},
|
|
66
|
+
send(message) {
|
|
67
|
+
ipc.send(message);
|
|
68
|
+
},
|
|
69
|
+
dispose() {
|
|
70
|
+
ipc.dispose();
|
|
71
|
+
},
|
|
72
|
+
};
|
|
73
|
+
};
|
|
@@ -1,8 +1,6 @@
|
|
|
1
|
-
import * as ExensionInstall from './ExtensionInstall.js'
|
|
2
|
-
|
|
3
|
-
export const name = 'ExtensionInstall'
|
|
4
|
-
|
|
1
|
+
import * as ExensionInstall from './ExtensionInstall.js';
|
|
2
|
+
export const name = 'ExtensionInstall';
|
|
5
3
|
// prettier-ignore
|
|
6
4
|
export const Commands = {
|
|
7
|
-
|
|
8
|
-
}
|
|
5
|
+
install: ExensionInstall.install,
|
|
6
|
+
};
|
|
@@ -1,25 +1,23 @@
|
|
|
1
|
-
import * as ExtensionInstallParseInput from '../ExtensionInstallParseInput/ExtensionInstallParseInput.js'
|
|
2
|
-
import * as ExtensionInstallType from '../ExtensionInstallType/ExtensionInstallType.js'
|
|
3
|
-
|
|
1
|
+
import * as ExtensionInstallParseInput from '../ExtensionInstallParseInput/ExtensionInstallParseInput.js';
|
|
2
|
+
import * as ExtensionInstallType from '../ExtensionInstallType/ExtensionInstallType.js';
|
|
4
3
|
const getModule = (type) => {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
}
|
|
16
|
-
|
|
4
|
+
switch (type) {
|
|
5
|
+
case ExtensionInstallType.GithubRepository:
|
|
6
|
+
return import('../ExtensionInstallFromGitHub/ExtensionInstallFromGitHub.js');
|
|
7
|
+
case ExtensionInstallType.Url:
|
|
8
|
+
return import('../ExtensionInstallFromUrl/ExtensionInstallFromUrl.js');
|
|
9
|
+
case ExtensionInstallType.File:
|
|
10
|
+
return import('../ExtensionInstallFromFile/ExtensionInstallFromFile.js');
|
|
11
|
+
default:
|
|
12
|
+
throw new Error('module not found');
|
|
13
|
+
}
|
|
14
|
+
};
|
|
17
15
|
export const install = async (input) => {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
}
|
|
16
|
+
const parsed = ExtensionInstallParseInput.parse(input);
|
|
17
|
+
if (parsed.type === ExtensionInstallType.ParsingError) {
|
|
18
|
+
throw new Error(`Cannot install ${input}: ${parsed.options.message}`);
|
|
19
|
+
}
|
|
20
|
+
const module = await getModule(parsed.type);
|
|
21
|
+
// @ts-ignore
|
|
22
|
+
await module.install(parsed.options);
|
|
23
|
+
};
|
|
@@ -1,36 +1,35 @@
|
|
|
1
|
-
import * as Extract from '../Extract/Extract.js'
|
|
2
|
-
import * as FileSystem from '../FileSystem/FileSystem.js'
|
|
3
|
-
import * as JsonFile from '../JsonFile/JsonFile.js'
|
|
4
|
-
import * as Path from '../Path/Path.js'
|
|
5
|
-
import * as PlatformPaths from '../PlatformPaths/PlatformPaths.js'
|
|
6
|
-
import { VError } from '../VError/VError.js'
|
|
7
|
-
|
|
1
|
+
import * as Extract from '../Extract/Extract.js';
|
|
2
|
+
import * as FileSystem from '../FileSystem/FileSystem.js';
|
|
3
|
+
import * as JsonFile from '../JsonFile/JsonFile.js';
|
|
4
|
+
import * as Path from '../Path/Path.js';
|
|
5
|
+
import * as PlatformPaths from '../PlatformPaths/PlatformPaths.js';
|
|
6
|
+
import { VError } from '../VError/VError.js';
|
|
8
7
|
const getCachedExtensionFolderName = (path) => {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
}
|
|
15
|
-
|
|
8
|
+
const baseName = Path.basename(path);
|
|
9
|
+
if (baseName.endsWith('.tar.br')) {
|
|
10
|
+
return 'file-' + baseName.slice(0, -'.tar.br'.length);
|
|
11
|
+
}
|
|
12
|
+
return `file-${baseName}`;
|
|
13
|
+
};
|
|
16
14
|
export const install = async ({ path }) => {
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
15
|
+
try {
|
|
16
|
+
const cachedExtensionsPath = PlatformPaths.getCachedExtensionsPath();
|
|
17
|
+
const cachedExtensionFolderName = getCachedExtensionFolderName(path);
|
|
18
|
+
const cachedExtensionPath = Path.join(cachedExtensionsPath, cachedExtensionFolderName);
|
|
19
|
+
await Extract.extractTarBr(path, cachedExtensionPath);
|
|
20
|
+
const extensionsPath = PlatformPaths.getExtensionsPath();
|
|
21
|
+
const manifestPath = Path.join(cachedExtensionPath, 'extension.json');
|
|
22
|
+
const manifestJson = await JsonFile.readJson(manifestPath);
|
|
23
|
+
const { id } = manifestJson;
|
|
24
|
+
if (!id) {
|
|
25
|
+
throw new Error('missing id in extension manifest');
|
|
26
|
+
}
|
|
27
|
+
const outDir = Path.join(extensionsPath, id);
|
|
28
|
+
await FileSystem.remove(outDir);
|
|
29
|
+
await FileSystem.mkdir(Path.dirname(outDir));
|
|
30
|
+
await FileSystem.rename(cachedExtensionPath, outDir);
|
|
31
|
+
}
|
|
32
|
+
catch (error) {
|
|
33
|
+
throw new VError(error, `Failed to install ${path}`);
|
|
28
34
|
}
|
|
29
|
-
|
|
30
|
-
await FileSystem.remove(outDir)
|
|
31
|
-
await FileSystem.mkdir(Path.dirname(outDir))
|
|
32
|
-
await FileSystem.rename(cachedExtensionPath, outDir)
|
|
33
|
-
} catch (error) {
|
|
34
|
-
throw new VError(error, `Failed to install ${path}`)
|
|
35
|
-
}
|
|
36
|
-
}
|
|
35
|
+
};
|
|
@@ -1,32 +1,32 @@
|
|
|
1
|
-
import * as DownloadAndExtract from '../DownloadAndExtract/DownloadAndExtract.js'
|
|
2
|
-
import * as FileSystem from '../FileSystem/FileSystem.js'
|
|
3
|
-
import * as JsonFile from '../JsonFile/JsonFile.js'
|
|
4
|
-
import * as Path from '../Path/Path.js'
|
|
5
|
-
import * as PlatformPaths from '../PlatformPaths/PlatformPaths.js'
|
|
6
|
-
import { VError } from '../VError/VError.js'
|
|
7
|
-
|
|
1
|
+
import * as DownloadAndExtract from '../DownloadAndExtract/DownloadAndExtract.js';
|
|
2
|
+
import * as FileSystem from '../FileSystem/FileSystem.js';
|
|
3
|
+
import * as JsonFile from '../JsonFile/JsonFile.js';
|
|
4
|
+
import * as Path from '../Path/Path.js';
|
|
5
|
+
import * as PlatformPaths from '../PlatformPaths/PlatformPaths.js';
|
|
6
|
+
import { VError } from '../VError/VError.js';
|
|
8
7
|
export const install = async ({ user, repo, branch }) => {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
8
|
+
try {
|
|
9
|
+
const cachedExtensionsPath = PlatformPaths.getCachedExtensionsPath();
|
|
10
|
+
const url = `https://codeload.github.com/${user}/${repo}/tar.gz/${branch}`;
|
|
11
|
+
const cachedExtensionPath = Path.join(cachedExtensionsPath, `github-${user}-${repo}-${branch}`);
|
|
12
|
+
await DownloadAndExtract.downloadAndExtractTarGz({
|
|
13
|
+
url,
|
|
14
|
+
outDir: cachedExtensionPath,
|
|
15
|
+
strip: 1,
|
|
16
|
+
});
|
|
17
|
+
const extensionsPath = PlatformPaths.getExtensionsPath();
|
|
18
|
+
const manifestPath = Path.join(cachedExtensionPath, 'extension.json');
|
|
19
|
+
const manifestJson = await JsonFile.readJson(manifestPath);
|
|
20
|
+
const { id } = manifestJson;
|
|
21
|
+
if (!id) {
|
|
22
|
+
throw new Error('missing id in extension manifest');
|
|
23
|
+
}
|
|
24
|
+
const outDir = Path.join(extensionsPath, id);
|
|
25
|
+
await FileSystem.remove(outDir);
|
|
26
|
+
await FileSystem.mkdir(extensionsPath);
|
|
27
|
+
await FileSystem.rename(cachedExtensionPath, outDir);
|
|
24
28
|
}
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
} catch (error) {
|
|
30
|
-
throw new VError(error, `Failed to install ${user}/${repo}`)
|
|
31
|
-
}
|
|
32
|
-
}
|
|
29
|
+
catch (error) {
|
|
30
|
+
throw new VError(error, `Failed to install ${user}/${repo}`);
|
|
31
|
+
}
|
|
32
|
+
};
|
|
@@ -1,32 +1,32 @@
|
|
|
1
|
-
import { rename, rm } from 'node:fs/promises'
|
|
2
|
-
import { join } from 'node:path'
|
|
3
|
-
import * as Download from '../Download/Download.js'
|
|
4
|
-
import * as Extract from '../Extract/Extract.js'
|
|
5
|
-
import * as JsonFile from '../JsonFile/JsonFile.js'
|
|
6
|
-
import * as PlatformPaths from '../PlatformPaths/PlatformPaths.js'
|
|
7
|
-
import * as TmpFile from '../TmpFile/TmpFile.js'
|
|
8
|
-
import { VError } from '../VError/VError.js'
|
|
9
|
-
|
|
1
|
+
import { rename, rm } from 'node:fs/promises';
|
|
2
|
+
import { join } from 'node:path';
|
|
3
|
+
import * as Download from '../Download/Download.js';
|
|
4
|
+
import * as Extract from '../Extract/Extract.js';
|
|
5
|
+
import * as JsonFile from '../JsonFile/JsonFile.js';
|
|
6
|
+
import * as PlatformPaths from '../PlatformPaths/PlatformPaths.js';
|
|
7
|
+
import * as TmpFile from '../TmpFile/TmpFile.js';
|
|
8
|
+
import { VError } from '../VError/VError.js';
|
|
10
9
|
export const install = async ({ url }) => {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
10
|
+
try {
|
|
11
|
+
// TODO cache extension tar br file, probably by url <cachedExtensions>/user/repo/releases/<tag>/<fileName>
|
|
12
|
+
// const cachedExtensionsPath = Platform.getCachedExtensionsPath()
|
|
13
|
+
// const outFile = join(cachedExtensionsPath, 'installed-extension.tar.br')
|
|
14
|
+
const extensionsPath = PlatformPaths.getExtensionsPath();
|
|
15
|
+
const tmpFile = await TmpFile.getTmpFile();
|
|
16
|
+
await Download.download(url, tmpFile);
|
|
17
|
+
const tmpDir = await TmpFile.getTmpDir();
|
|
18
|
+
await Extract.extractTarBr(tmpFile, tmpDir);
|
|
19
|
+
const manifestPath = join(tmpDir, 'extension.json');
|
|
20
|
+
const manifestJson = await JsonFile.readJson(manifestPath);
|
|
21
|
+
const { id } = manifestJson;
|
|
22
|
+
if (!id) {
|
|
23
|
+
throw new Error('missing id in extension manifest');
|
|
24
|
+
}
|
|
25
|
+
const outDir = join(extensionsPath, id);
|
|
26
|
+
await rm(outDir, { recursive: true, force: true });
|
|
27
|
+
await rename(tmpDir, outDir);
|
|
25
28
|
}
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
throw new VError(error, `Failed to install "${url}"`)
|
|
31
|
-
}
|
|
32
|
-
}
|
|
29
|
+
catch (error) {
|
|
30
|
+
throw new VError(error, `Failed to install "${url}"`);
|
|
31
|
+
}
|
|
32
|
+
};
|
|
@@ -1,50 +1,47 @@
|
|
|
1
|
-
import * as ExtensionInstallType from '../ExtensionInstallType/ExtensionInstallType.js'
|
|
2
|
-
import * as Path from '../Path/Path.js'
|
|
3
|
-
import * as ParseUrlGithub from '../ParseUrlGithub/ParseUrlGithub.js'
|
|
4
|
-
|
|
1
|
+
import * as ExtensionInstallType from '../ExtensionInstallType/ExtensionInstallType.js';
|
|
2
|
+
import * as Path from '../Path/Path.js';
|
|
3
|
+
import * as ParseUrlGithub from '../ParseUrlGithub/ParseUrlGithub.js';
|
|
5
4
|
const parseUrl = (input) => {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
5
|
+
if (input.startsWith('https://github.com')) {
|
|
6
|
+
return ParseUrlGithub.parseUrlGithub(input);
|
|
7
|
+
}
|
|
8
|
+
if (input.endsWith('.tar.br')) {
|
|
9
|
+
return {
|
|
10
|
+
type: ExtensionInstallType.Url,
|
|
11
|
+
options: {
|
|
12
|
+
url: input,
|
|
13
|
+
},
|
|
14
|
+
};
|
|
15
15
|
}
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
}
|
|
24
|
-
|
|
16
|
+
return {
|
|
17
|
+
type: ExtensionInstallType.ParsingError,
|
|
18
|
+
options: {
|
|
19
|
+
message: 'Failed to parse url',
|
|
20
|
+
},
|
|
21
|
+
};
|
|
22
|
+
};
|
|
25
23
|
const parseFile = (input) => {
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
}
|
|
33
|
-
|
|
24
|
+
return {
|
|
25
|
+
type: ExtensionInstallType.File,
|
|
26
|
+
options: {
|
|
27
|
+
path: input,
|
|
28
|
+
},
|
|
29
|
+
};
|
|
30
|
+
};
|
|
34
31
|
export const parse = (input) => {
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
}
|
|
32
|
+
if (input.startsWith('https://')) {
|
|
33
|
+
return parseUrl(input);
|
|
34
|
+
}
|
|
35
|
+
if (input.startsWith('.')) {
|
|
36
|
+
return parseFile(input);
|
|
37
|
+
}
|
|
38
|
+
if (Path.isAbsolute(input)) {
|
|
39
|
+
return parseFile(input);
|
|
40
|
+
}
|
|
41
|
+
return {
|
|
42
|
+
type: ExtensionInstallType.ParsingError,
|
|
43
|
+
options: {
|
|
44
|
+
message: 'Failed to parse input',
|
|
45
|
+
},
|
|
46
|
+
};
|
|
47
|
+
};
|
|
@@ -1,45 +1,45 @@
|
|
|
1
|
-
import * as ErrorCodes from '../ErrorCodes/ErrorCodes.js'
|
|
2
|
-
import * as ExtensionManifest from '../ExtensionManifest/ExtensionManifest.js'
|
|
3
|
-
import * as ExtensionManifestStatus from '../ExtensionManifestStatus/ExtensionManifestStatus.js'
|
|
4
|
-
import * as FileSystem from '../FileSystem/FileSystem.js'
|
|
5
|
-
import * as Path from '../Path/Path.js'
|
|
6
|
-
import * as PlatformPaths from '../PlatformPaths/PlatformPaths.js'
|
|
7
|
-
import * as SymLink from '../SymLink/SymLink.js'
|
|
8
|
-
import { VError } from '../VError/VError.js'
|
|
9
|
-
|
|
1
|
+
import * as ErrorCodes from '../ErrorCodes/ErrorCodes.js';
|
|
2
|
+
import * as ExtensionManifest from '../ExtensionManifest/ExtensionManifest.js';
|
|
3
|
+
import * as ExtensionManifestStatus from '../ExtensionManifestStatus/ExtensionManifestStatus.js';
|
|
4
|
+
import * as FileSystem from '../FileSystem/FileSystem.js';
|
|
5
|
+
import * as Path from '../Path/Path.js';
|
|
6
|
+
import * as PlatformPaths from '../PlatformPaths/PlatformPaths.js';
|
|
7
|
+
import * as SymLink from '../SymLink/SymLink.js';
|
|
8
|
+
import { VError } from '../VError/VError.js';
|
|
10
9
|
const linkFallBack = async (path) => {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
10
|
+
try {
|
|
11
|
+
const manifest = await ExtensionManifest.get(path);
|
|
12
|
+
if (manifest.status === ExtensionManifestStatus.Rejected) {
|
|
13
|
+
throw manifest.reason;
|
|
14
|
+
}
|
|
15
|
+
const linkedExtensionsPath = PlatformPaths.getLinkedExtensionsPath();
|
|
16
|
+
// @ts-ignore
|
|
17
|
+
const to = Path.join(linkedExtensionsPath, manifest.id);
|
|
18
|
+
await FileSystem.remove(to);
|
|
19
|
+
await SymLink.createSymLink(path, to);
|
|
15
20
|
}
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
const to = Path.join(linkedExtensionsPath, manifest.id)
|
|
19
|
-
await FileSystem.remove(to)
|
|
20
|
-
await SymLink.createSymLink(path, to)
|
|
21
|
-
} catch (error) {
|
|
22
|
-
throw new VError(error, `Failed to link extension`)
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
export const link = async (path) => {
|
|
27
|
-
try {
|
|
28
|
-
const manifest = await ExtensionManifest.get(path)
|
|
29
|
-
if (manifest.status === ExtensionManifestStatus.Rejected) {
|
|
30
|
-
throw manifest.reason
|
|
21
|
+
catch (error) {
|
|
22
|
+
throw new VError(error, `Failed to link extension`);
|
|
31
23
|
}
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
24
|
+
};
|
|
25
|
+
export const link = async (path) => {
|
|
26
|
+
try {
|
|
27
|
+
const manifest = await ExtensionManifest.get(path);
|
|
28
|
+
if (manifest.status === ExtensionManifestStatus.Rejected) {
|
|
29
|
+
throw manifest.reason;
|
|
30
|
+
}
|
|
31
|
+
const linkedExtensionsPath = PlatformPaths.getLinkedExtensionsPath();
|
|
32
|
+
// @ts-ignore
|
|
33
|
+
const to = Path.join(linkedExtensionsPath, manifest.id);
|
|
34
|
+
await SymLink.createSymLink(path, to);
|
|
39
35
|
}
|
|
40
|
-
|
|
41
|
-
|
|
36
|
+
catch (error) {
|
|
37
|
+
if (error && error.code === ErrorCodes.E_MANIFEST_NOT_FOUND) {
|
|
38
|
+
throw new VError(`Failed to link extension: Extension manifest not found '${error.path}'`);
|
|
39
|
+
}
|
|
40
|
+
if (error && error.code === ErrorCodes.EEXIST) {
|
|
41
|
+
return linkFallBack(path);
|
|
42
|
+
}
|
|
43
|
+
throw new VError(error, `Failed to link extension`);
|
|
42
44
|
}
|
|
43
|
-
|
|
44
|
-
}
|
|
45
|
-
}
|
|
45
|
+
};
|