@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.
- package/index.js +1 -1
- package/package.json +12 -12
- package/src/parts/AddCustomPathsToIndexHtml/AddCustomPathsToIndexHtml.js +2 -2
- package/src/parts/AddSemiColon/AddSemiColon.js +4 -3
- package/src/parts/AppWindow/AppWindow.js +30 -22
- package/src/parts/ApplyEdit/ApplyEdit.js +7 -6
- package/src/parts/ApplyIncomingIpcResponse/ApplyIncomingIpcResponse.js +13 -12
- package/src/parts/Assert/Assert.js +1 -1
- package/src/parts/AttachDebugger/AttachDebugger.ipc.js +6 -4
- package/src/parts/AttachDebugger/AttachDebugger.js +5 -4
- package/src/parts/AuthProcess/AuthProcess.js +14 -12
- package/src/parts/AuthProcessPath/AuthProcessPath.js +4 -3
- package/src/parts/AuthProcessState/AuthProcessState.js +12 -9
- package/src/parts/Authority/Authority.js +1 -1
- package/src/parts/AutoUpdateType/AutoUpdateType.js +4 -4
- package/src/parts/AutoUpdater/AutoUpdater.ipc.js +5 -4
- package/src/parts/AutoUpdater/AutoUpdater.js +31 -31
- package/src/parts/AutoUpdaterAppImage/AutoUpdaterAppImage.ipc.js +7 -5
- package/src/parts/AutoUpdaterAppImage/AutoUpdaterAppImage.js +50 -49
- package/src/parts/AutoUpdaterWindowsNsis/AutoUpdaterWindowsNsis.ipc.js +5 -4
- package/src/parts/AutoUpdaterWindowsNsis/AutoUpdaterWindowsNsis.js +59 -58
- package/src/parts/BrowserWindowV8CacheOptions/BrowserWindowV8CacheOptions.js +4 -3
- package/src/parts/BuiltinExtensionsPath/BuiltinExtensionsPath.js +7 -6
- package/src/parts/BulkReplacement/BulkReplacement.ipc.js +6 -4
- package/src/parts/BulkReplacement/BulkReplacement.js +16 -16
- package/src/parts/BulkReplacementContent/BulkReplacementContent.js +27 -26
- 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/Clamp/Clamp.js +2 -2
- package/src/parts/Cli/Cli.js +14 -14
- package/src/parts/CliCommandType/CliCommandType.js +11 -11
- package/src/parts/CliHelp/CliHelp.js +9 -8
- package/src/parts/CliInstall/CliInstall.js +24 -24
- package/src/parts/CliLink/CliLink.js +17 -17
- package/src/parts/CliList/CliList.js +18 -15
- package/src/parts/CliModule/CliModule.js +27 -26
- package/src/parts/CliStatus/CliStatus.js +5 -4
- package/src/parts/CliUnlink/CliUnlink.js +17 -17
- package/src/parts/CliVersion/CliVersion.js +8 -7
- package/src/parts/ClipBoard/ClipBoard.ipc.js +7 -5
- package/src/parts/ClipBoard/ClipBoard.js +7 -5
- package/src/parts/ClipBoardProcess/ClipBoardProcess.js +19 -16
- package/src/parts/ClipBoardProcessPath/ClipBoardProcessPath.js +13 -3
- package/src/parts/ColorTheme/ColorTheme.js +18 -15
- package/src/parts/Command/Command.js +69 -62
- package/src/parts/CommandNotFoundError/CommandNotFoundError.js +10 -7
- package/src/parts/CompareVersion/CompareVersion.js +2 -2
- package/src/parts/ConnectIpcToElectron/ConnectIpcToElectron.js +20 -18
- package/src/parts/ContentSecurityPolicy/ContentSecurityPolicy.ipc.js +6 -4
- package/src/parts/ContentSecurityPolicy/ContentSecurityPolicy.js +7 -6
- package/src/parts/ContentSecurityPolicyDocument/ContentSecurityPolicyDocument.js +45 -39
- package/src/parts/ContentSecurityPolicyState/ContentSecurityPolicyState.js +7 -5
- package/src/parts/CpuProfile/CpuProfile.js +25 -22
- package/src/parts/Crash/Crash.ipc.js +5 -4
- package/src/parts/Crash/Crash.js +11 -8
- package/src/parts/CreateTestOverview/CreateTestOverview.js +7 -6
- package/src/parts/CreateTestOverviewHtml/CreateTestOverviewHtml.js +24 -21
- package/src/parts/CreateUtilityProcessRpc/CreateUtilityProcessRpc.js +6 -5
- package/src/parts/CrossOriginEmbedderPolicy/CrossOriginEmbedderPolicy.js +1 -1
- package/src/parts/CrossOriginOpenerPolicy/CrossOriginOpenerPolicy.js +2 -2
- package/src/parts/CrossOriginResourcePolicy/CrossOriginResourcePolicy.js +1 -1
- package/src/parts/DeduplicateExtensions/DeduplicateExtensions.js +13 -13
- package/src/parts/DefaultUrl/DefaultUrl.js +4 -3
- package/src/parts/Desktop/Desktop.js +19 -18
- package/src/parts/DesktopCapturer/DesktopCapturer.ipc.js +6 -4
- package/src/parts/DesktopCapturer/DesktopCapturer.js +4 -3
- package/src/parts/DesktopType/DesktopType.js +3 -3
- package/src/parts/DestroySocket/DestroySocket.js +4 -5
- package/src/parts/Developer/Developer.ipc.js +12 -11
- package/src/parts/Developer/Developer.js +40 -33
- package/src/parts/DirentType/DirentType.js +12 -12
- package/src/parts/Download/Download.ipc.js +6 -4
- package/src/parts/Download/Download.js +4 -3
- package/src/parts/DownloadAndExtract/DownloadAndExtract.js +5 -4
- package/src/parts/ElectronApplicationMenu/ElectronApplicationMenu.ipc.js +6 -5
- package/src/parts/ElectronApplicationMenu/ElectronApplicationMenu.js +23 -20
- package/src/parts/ElectronContentTracing/ElectronContentTracing.ipc.js +7 -5
- package/src/parts/ElectronContentTracing/ElectronContentTracing.js +7 -5
- package/src/parts/ElectronContextMenu/ElectronContextMenu.ipc.js +6 -4
- package/src/parts/ElectronContextMenu/ElectronContextMenu.js +8 -7
- package/src/parts/ElectronDeveloper/ElectronDeveloper.ipc.js +6 -4
- package/src/parts/ElectronDeveloper/ElectronDeveloper.js +4 -3
- package/src/parts/ElectronDialog/ElectronDialog.ipc.js +8 -6
- package/src/parts/ElectronDialog/ElectronDialog.js +10 -7
- package/src/parts/ElectronInitialize/ElectronInitialize.ipc.js +6 -4
- package/src/parts/ElectronInitialize/ElectronInitialize.js +10 -9
- package/src/parts/ElectronNet/ElectronNet.ipc.js +6 -4
- package/src/parts/ElectronNet/ElectronNet.js +4 -3
- package/src/parts/ElectronNetLog/ElectronNetLog.ipc.js +7 -5
- package/src/parts/ElectronNetLog/ElectronNetLog.js +7 -5
- package/src/parts/ElectronPowerSaveBlocker/ElectronPowerSaveBlocker.ipc.js +7 -5
- package/src/parts/ElectronPowerSaveBlocker/ElectronPowerSaveBlocker.js +7 -5
- package/src/parts/ElectronProcess/ElectronProcess.ipc.js +7 -5
- package/src/parts/ElectronProcess/ElectronProcess.js +7 -5
- package/src/parts/ElectronSafeStorage/ElectronSafeStorage.ipc.js +8 -6
- package/src/parts/ElectronSafeStorage/ElectronSafeStorage.js +13 -10
- package/src/parts/ElectronShell/ElectronShell.ipc.js +6 -4
- package/src/parts/ElectronShell/ElectronShell.js +4 -3
- package/src/parts/ElectronWindow/ElectronWindow.ipc.js +18 -15
- package/src/parts/ElectronWindow/ElectronWindow.js +87 -61
- package/src/parts/ElectronWindowAbout/ElectronWindowAbout.ipc.js +6 -4
- package/src/parts/ElectronWindowAbout/ElectronWindowAbout.js +4 -3
- package/src/parts/ElectronWindowProcessExplorer/ElectronWindowProcessExplorer.ipc.js +6 -4
- package/src/parts/ElectronWindowProcessExplorer/ElectronWindowProcessExplorer.js +33 -31
- package/src/parts/EmbedsProcess/EmbedsProcess.js +14 -12
- package/src/parts/EmbedsProcessPath/EmbedsProcessPath.js +13 -3
- package/src/parts/EmbedsProcessState/EmbedsProcessState.js +12 -9
- package/src/parts/EncodingType/EncodingType.js +2 -2
- package/src/parts/Env/Env.js +16 -11
- package/src/parts/Error/FileSystemError.js +9 -6
- package/src/parts/ErrorCodes/ErrorCodes.js +22 -22
- package/src/parts/ErrorHandling/ErrorHandling.js +61 -53
- package/src/parts/Exec/Exec.ipc.js +6 -4
- package/src/parts/Exec/Exec.js +6 -5
- package/src/parts/ExecCommand/ExecCommand.js +22 -19
- package/src/parts/ExecPromise/ExecPromise.js +4 -3
- package/src/parts/Exit/Exit.ipc.js +6 -4
- package/src/parts/Exit/Exit.js +4 -3
- package/src/parts/ExitCode/ExitCode.js +5 -3
- package/src/parts/ExportStatic/ExportStatic.js +696 -558
- package/src/parts/ExtensionHostHelperProcessIpc/ExtensionHostHelperProcessIpc.js +15 -14
- package/src/parts/ExtensionHostRpc/ExtensionHostRpc.js +79 -70
- package/src/parts/ExtensionInstall/ExtensionInstall.ipc.js +6 -4
- package/src/parts/ExtensionInstall/ExtensionInstall.js +23 -21
- package/src/parts/ExtensionInstallFromFile/ExtensionInstallFromFile.js +34 -33
- package/src/parts/ExtensionInstallFromGitHub/ExtensionInstallFromGitHub.js +31 -31
- package/src/parts/ExtensionInstallFromUrl/ExtensionInstallFromUrl.js +32 -32
- package/src/parts/ExtensionInstallParseInput/ExtensionInstallParseInput.js +46 -43
- package/src/parts/ExtensionInstallType/ExtensionInstallType.js +7 -4
- package/src/parts/ExtensionLink/ExtensionLink.js +40 -40
- package/src/parts/ExtensionList/ExtensionList.js +72 -66
- package/src/parts/ExtensionManagement/ExtensionManagement.ipc.js +21 -20
- package/src/parts/ExtensionManagement/ExtensionManagement.js +157 -133
- package/src/parts/ExtensionManagement/ExtensionManagementColorTheme.js +70 -62
- package/src/parts/ExtensionManagement/ExtensionManagementIconTheme.js +26 -26
- package/src/parts/ExtensionManagement/ExtensionManagementLanguages.js +63 -58
- package/src/parts/ExtensionManifest/ExtensionManifest.js +54 -56
- package/src/parts/ExtensionManifestInputType/ExtensionManifestInputType.js +7 -4
- package/src/parts/ExtensionManifestStatus/ExtensionManifestStatus.js +3 -2
- package/src/parts/ExtensionManifests/ExtensionManifests.js +46 -41
- package/src/parts/ExtensionManifests/ExtensionManifestsFromFolder.js +21 -21
- package/src/parts/ExtensionManifests/ExtensionManifestsFromLinkedExtension.js +17 -16
- package/src/parts/ExtensionManifests/ExtensionManifestsFromLinkedExtensionsFolder.js +36 -35
- package/src/parts/ExtensionManifests/ExtensionManifestsFromOnlyExtension.js +8 -7
- package/src/parts/ExtensionUninstall/ExtensionUninstall.js +15 -15
- package/src/parts/ExtensionUnlink/ExtensionUnlink.js +19 -19
- package/src/parts/Extract/Extract.js +12 -10
- package/src/parts/FileNotFoundError/FileNotFoundError.js +15 -11
- package/src/parts/FileSystem/FileSystem.ipc.js +33 -30
- package/src/parts/FileSystem/FileSystem.js +269 -257
- package/src/parts/FileSystemDisk/FileSystemDisk.ipc.js +17 -15
- package/src/parts/FileSystemDisk/FileSystemDisk.js +226 -217
- package/src/parts/FileSystemProcess/FileSystemProcess.js +19 -16
- package/src/parts/FileSystemProcessPath/FileSystemProcessPath.js +3 -2
- package/src/parts/FileWatcher/FileWatcher.ipc.js +8 -6
- package/src/parts/FileWatcher/FileWatcher.js +40 -35
- package/src/parts/FileWatcherProcess/FileWatcherProcess.js +19 -16
- package/src/parts/FileWatcherProcessPath/FileWatcherProcessPath.js +3 -2
- package/src/parts/FirstNodeWorkerEventType/FirstNodeWorkerEventType.js +3 -3
- package/src/parts/FixElectronParameters/FixElectronParameters.js +10 -9
- package/src/parts/GetAppImageDownloadUrl/GetAppImageDownloadUrl.js +5 -4
- package/src/parts/GetAppImagePath/GetAppImagePath.js +4 -3
- package/src/parts/GetAppWindowOptions/GetAppWindowOptions.js +63 -53
- package/src/parts/GetBrowserWindowOptions/GetBrowserWindowOptions.js +28 -27
- package/src/parts/GetContentResponse/GetContentResponse.js +11 -10
- package/src/parts/GetContentSecurityPolicy/GetContentSecurityPolicy.js +5 -4
- package/src/parts/GetCustomPathsConfig/GetCustomPathsConfig.js +14 -13
- package/src/parts/GetDirentType/GetDirentType.js +25 -24
- package/src/parts/GetElectronFileResponse/GetElectronFileResponse.ipc.js +6 -4
- package/src/parts/GetElectronFileResponse/GetElectronFileResponse.js +48 -47
- package/src/parts/GetElectronFileResponseAbsolutePath/GetElectronFileResponseAbsolutePath.js +61 -58
- package/src/parts/GetElectronFileResponseContent/GetElectronFileResponseContent.js +31 -29
- package/src/parts/GetElectronFileResponseRelativePath/GetElectronFileResponseRelativePath.js +33 -30
- package/src/parts/GetElectronRebuildPath/GetElectronRebuildPath.js +9 -8
- package/src/parts/GetEtag/GetEtag.js +2 -2
- package/src/parts/GetEtagFromStats/GetEtagFromStats.js +10 -9
- package/src/parts/GetExtensionEtags/GetExtensionEtags.js +66 -60
- package/src/parts/GetExtensions/GetExtensions.ipc.js +6 -4
- package/src/parts/GetExtensions/GetExtensions.js +4 -3
- package/src/parts/GetExtraHeaders/GetExtraHeaders.js +8 -7
- package/src/parts/GetFirstEvent/GetFirstEvent.js +21 -20
- package/src/parts/GetFirstSpawnedProcessEvent/GetFirstSpawnedProcessEvent.js +8 -7
- package/src/parts/GetFolderSizeInternal/GetFolderSizeInternal.js +20 -20
- package/src/parts/GetHeaders/GetHeaders.js +34 -33
- package/src/parts/GetHeadersDefault/GetHeadersDefault.js +2 -2
- package/src/parts/GetHeadersOtherWorker/GetHeadersOtherWorker.js +13 -12
- package/src/parts/GetHelpString/GetHelpString.js +5 -4
- package/src/parts/GetHttpErrorMessage/GetHttpErrorMessage.js +19 -20
- package/src/parts/GetIcon/GetIcon.js +21 -20
- package/src/parts/GetLatestReleaseVersion/GetLatestReleaseVersion.js +33 -32
- package/src/parts/GetMimeType/GetMimeType.js +31 -30
- package/src/parts/GetMultipleChoiceResponse/GetMultipleChoiceResponse.js +11 -10
- package/src/parts/GetNewLineIndex/GetNewLineIndex.js +5 -4
- package/src/parts/GetNotFoundResponse/GetNotFoundResponse.js +11 -10
- package/src/parts/GetNotModifiedResponse/GetNotModifiedResponse.js +11 -10
- package/src/parts/GetNsisUpdateArgs/GetNsisUpdateArgs.js +6 -6
- package/src/parts/GetNsisUpdateDownloadPath/GetNsisUpdateDownloadPath.js +10 -9
- package/src/parts/GetPathEtag/GetPathEtag.js +11 -10
- package/src/parts/GetPathName/GetPathName.js +3 -3
- package/src/parts/GetPortTuple/GetPortTuple.js +10 -10
- package/src/parts/GetProcessExplorerUrl/GetProcessExplorerUrl.js +4 -3
- package/src/parts/GetRemoteUrl/GetRemoteUrl.js +5 -4
- package/src/parts/GetResolvedTestPath/GetResolvedTestPath.js +19 -17
- package/src/parts/GetServerErrorResponse/GetServerErrorResponse.js +11 -10
- package/src/parts/GetStatusString/GetStatusString.js +62 -54
- package/src/parts/GetTerminalProcessPath/GetTerminalProcessPath.js +5 -4
- package/src/parts/GetTerminalSpawnOptions/GetTerminalSpawnOptions.ipc.js +6 -4
- package/src/parts/GetTerminalSpawnOptions/GetTerminalSpawnOptions.js +17 -16
- package/src/parts/GetTestPath/GetTestPath.js +4 -3
- package/src/parts/GetTestRequestResponse/GetTestRequestResponse.js +72 -72
- package/src/parts/GetTitleBarItems/GetTitleBarItems.js +41 -40
- package/src/parts/GetTransferrables/GetTransferrables.js +7 -6
- package/src/parts/GetTypeFromUrl/GetTypeFromUrl.js +19 -18
- package/src/parts/GetTypeScriptPath/GetTypeScriptPath.js +21 -12
- package/src/parts/GetVersionString/GetVersionString.js +5 -4
- package/src/parts/GetWebViewsFromExtensions/GetWebViewsFromExtensions.js +23 -22
- package/src/parts/GetWindowId/GetWindowId.ipc.js +6 -4
- package/src/parts/GetWindowId/GetWindowId.js +6 -5
- package/src/parts/GetWindowsNsisDownloadUrl/GetWindowsNsisDownloadUrl.js +7 -6
- package/src/parts/GetWorkspaceId/GetWorkspaceId.js +4 -3
- package/src/parts/GitLsFiles/GitLsFiles.ipc.js +8 -6
- package/src/parts/GitLsFiles/GitLsFiles.js +22 -19
- package/src/parts/HandleCliArgs/HandleCliArgs.ipc.js +6 -4
- package/src/parts/HandleCliArgs/HandleCliArgs.js +11 -11
- package/src/parts/HandleDisconnect/HandleDisconnect.js +6 -5
- package/src/parts/HandleElectronMessagePort/HandleElectronMessagePort.ipc.js +6 -4
- package/src/parts/HandleElectronMessagePort/HandleElectronMessagePort.js +10 -9
- package/src/parts/HandleElectronReady/HandleElectronReady.ipc.js +6 -4
- package/src/parts/HandleElectronReady/HandleElectronReady.js +21 -21
- package/src/parts/HandleIncomingIpc/HandleIncomingIpc.js +40 -38
- package/src/parts/HandleIncomingIpcMessagePort/HandleIncomingIpcMessagePort.js +7 -7
- package/src/parts/HandleIncomingIpcWebSocket/HandleIncomingIpcWebSocket.js +7 -7
- package/src/parts/HandleIpc/HandleIpc.js +24 -23
- package/src/parts/HandleIpcAuthProcess/HandleIpcAuthProcess.js +11 -9
- package/src/parts/HandleIpcClipBoardProcess/HandleIpcClipBoardProcess.js +21 -17
- package/src/parts/HandleIpcEmbedsProcess/HandleIpcEmbedsProcess.js +11 -9
- package/src/parts/HandleIpcExtensionHostHelperProcess/HandleIpcExtensionHostHelperProcess.js +28 -24
- package/src/parts/HandleIpcFileSystemProcess/HandleIpcFileSystemProcess.js +21 -17
- package/src/parts/HandleIpcFileWatcher/HandleIpcFileWatcher.js +22 -18
- package/src/parts/HandleIpcModule/HandleIpcModule.js +36 -35
- package/src/parts/HandleIpcProcessExplorer/HandleIpcProcessExplorer.js +23 -19
- package/src/parts/HandleIpcSearchProcess/HandleIpcSearchProcess.js +21 -17
- package/src/parts/HandleIpcSharedProcess/HandleIpcSharedProcess.js +40 -36
- package/src/parts/HandleIpcTerminalProcess/HandleIpcTerminalProcess.js +22 -18
- package/src/parts/HandleMessage/HandleMessage.js +25 -14
- package/src/parts/HandleMessagePortForAuthProcess/HandleMessagePortForAuthProcess.ipc.js +7 -5
- package/src/parts/HandleMessagePortForAuthProcess/HandleMessagePortForAuthProcess.js +20 -18
- package/src/parts/HandleMessagePortForClipBoardProcess/HandleMessagePortForClipBoardProcess.ipc.js +6 -4
- package/src/parts/HandleMessagePortForClipBoardProcess/HandleMessagePortForClipBoardProcess.js +7 -6
- package/src/parts/HandleMessagePortForEmbedsProcess/HandleMessagePortForEmbedsProcess.ipc.js +7 -5
- package/src/parts/HandleMessagePortForEmbedsProcess/HandleMessagePortForEmbedsProcess.js +20 -18
- package/src/parts/HandleMessagePortForExtensionHostHelperProcess/HandleMessagePortForExtensionHostHelperProcess.ipc.js +6 -4
- package/src/parts/HandleMessagePortForExtensionHostHelperProcess/HandleMessagePortForExtensionHostHelperProcess.js +19 -18
- package/src/parts/HandleMessagePortForFileSystemProcess/HandleMessagePortForFileSystemProcess.ipc.js +6 -4
- package/src/parts/HandleMessagePortForFileSystemProcess/HandleMessagePortForFileSystemProcess.js +7 -6
- package/src/parts/HandleMessagePortForProcessExplorer/HandleMessagePortForProcessExplorer.ipc.js +6 -4
- package/src/parts/HandleMessagePortForProcessExplorer/HandleMessagePortForProcessExplorer.js +7 -7
- package/src/parts/HandleMessagePortForSearchProcess/HandleMessagePortForSearchProcess.ipc.js +6 -4
- package/src/parts/HandleMessagePortForSearchProcess/HandleMessagePortForSearchProcess.js +5 -4
- package/src/parts/HandleMessagePortForTerminalProcess/HandleMessagePortForTerminalProcess.ipc.js +6 -4
- package/src/parts/HandleMessagePortForTerminalProcess/HandleMessagePortForTerminalProcess.js +7 -6
- package/src/parts/HandleNodeMessagePort/HandleNodeMessagePort.ipc.js +6 -4
- package/src/parts/HandleNodeMessagePort/HandleNodeMessagePort.js +10 -9
- package/src/parts/HandleRemoteRequest/HandleRemoteRequest.ipc.js +6 -4
- package/src/parts/HandleRemoteRequest/HandleRemoteRequest.js +11 -10
- package/src/parts/HandleRequest/HandleRequest.ipc.js +6 -4
- package/src/parts/HandleRequest/HandleRequest.js +21 -20
- package/src/parts/HandleRequestTest/HandleRequestTest.ipc.js +6 -4
- package/src/parts/HandleRequestTest/HandleRequestTest.js +10 -9
- package/src/parts/HandleSocketError/HandleSocketError.js +11 -10
- package/src/parts/HandleUncaughtExceptionMonitor/HandleUncaughtExceptionMonitor.js +12 -9
- package/src/parts/HandleWebSocket/HandleWebSocket.ipc.js +6 -4
- package/src/parts/HandleWebSocket/HandleWebSocket.js +24 -24
- package/src/parts/HandleWebSocketForClipBoardProcess/HandleWebSocketForClipBoardProcess.js +5 -4
- package/src/parts/HandleWebSocketForExtensionHostHelperProcess/HandleWebSocketForExtensionHostHelperProcess.js +5 -4
- package/src/parts/HandleWebSocketForFileSystemProcess/HandleWebSocketForFileSystemProcess.js +5 -4
- package/src/parts/HandleWebSocketForProcessExplorer/HandleWebSocketForProcessExplorer.js +5 -4
- package/src/parts/HandleWebSocketForSearchProcess/HandleWebSocketForSearchProcess.js +5 -4
- package/src/parts/HandleWebSocketForSharedProcess/HandleWebSocketForSharedProcess.js +5 -4
- package/src/parts/HandleWebSocketForTerminalProcess/HandleWebSocketForTerminalProcess.js +5 -4
- package/src/parts/HandleWebSocketForUnknown/HandleWebSocketForUnknown.js +6 -5
- package/src/parts/HandleWebSocketModule/HandleWebSocketModule.js +33 -32
- package/src/parts/HandleWindowAllClosed/HandleWindowAllClosed.ipc.js +6 -4
- package/src/parts/HandleWindowAllClosed/HandleWindowAllClosed.js +7 -6
- package/src/parts/Hash/Hash.js +6 -4
- package/src/parts/HeapSnapshot/HeapSnapshot.ipc.js +4 -3
- package/src/parts/HeapSnapshot/HeapSnapshot.js +9 -6
- package/src/parts/HttpHeader/HttpHeader.js +9 -9
- package/src/parts/HttpServerResponse/HttpServerResponse.js +22 -19
- package/src/parts/HttpStatusCode/HttpStatusCode.js +6 -6
- package/src/parts/Id/Id.js +6 -5
- package/src/parts/IndexHtmlPath/IndexHtmlPath.js +4 -3
- package/src/parts/InferExtensionId/InferExtensionId.js +8 -7
- package/src/parts/InstallExtension/InstallExtension.ipc.js +4 -3
- package/src/parts/InstallExtension/InstallExtension.js +28 -28
- package/src/parts/IpcChild/IpcChild.js +14 -13
- package/src/parts/IpcChildModule/IpcChildModule.js +26 -19
- package/src/parts/IpcChildType/IpcChildType.js +19 -18
- package/src/parts/IpcChildWithNodeMessagePort/IpcChildWithNodeMessagePort.js +46 -45
- package/src/parts/IpcError/IpcError.js +4 -4
- package/src/parts/IpcId/IpcId.js +18 -17
- package/src/parts/IpcParent/IpcParent.js +10 -9
- package/src/parts/IpcParentModule/IpcParentModule.js +14 -13
- package/src/parts/IpcParentType/IpcParentType.js +3 -3
- package/src/parts/IpcParentWithElectronUtilityProcess/IpcParentWithElectronUtilityProcess.js +81 -76
- package/src/parts/IpcTransferState/IpcTransferState.js +14 -11
- package/src/parts/IsAbsolutePath/IsAbsolutePath.js +4 -3
- package/src/parts/IsAllowedWebSocketOrigin/IsAllowedWebSocketOrigin.js +39 -37
- package/src/parts/IsAppImage/IsAppImage.js +4 -3
- package/src/parts/IsAutoUpdateSupported/IsAutoUpdateSupported.ipc.js +6 -4
- package/src/parts/IsAutoUpdateSupported/IsAutoUpdateSupported.js +8 -6
- package/src/parts/IsBuiltServer/IsBuiltServer.js +1 -1
- package/src/parts/IsElectron/IsElectron.js +3 -1
- package/src/parts/IsEnoentError/IsEnoentError.js +11 -9
- package/src/parts/IsEnoentErrorWindows/IsEnoentErrorWindows.js +6 -4
- package/src/parts/IsEsrchError/IsEsrchError.js +4 -3
- package/src/parts/IsIgnoredError/IsIgnoredError.js +17 -16
- package/src/parts/IsLinux/IsLinux.js +3 -2
- package/src/parts/IsMessagePort/IsMessagePort.js +2 -2
- package/src/parts/IsMessagePortMain/IsMessagePortMain.js +2 -2
- package/src/parts/IsProduction/IsProduction.js +3 -2
- package/src/parts/IsSocket/IsSocket.js +4 -3
- package/src/parts/IsTransferrable/IsTransferrable.js +8 -7
- package/src/parts/IsTypeScriptPath/IsTypeScriptPath.js +5 -4
- package/src/parts/IsWindows/IsWindows.js +1 -1
- package/src/parts/JoinLines/JoinLines.js +4 -3
- package/src/parts/Json/Json.js +17 -15
- package/src/parts/JsonFile/JsonFile.js +12 -10
- package/src/parts/JsonRpc/JsonRpc.js +1 -1
- package/src/parts/JsonRpcVersion/JsonRpcVersion.js +1 -1
- package/src/parts/Jsonc/Jsonc.js +2 -1
- package/src/parts/JsoncFile/JsoncFile.js +8 -7
- package/src/parts/LaunchAuthProcess/LaunchAuthProcess.js +14 -13
- package/src/parts/LaunchClipBoardProcess/LaunchClipBoardProcess.js +14 -13
- package/src/parts/LaunchEmbedsProcess/LaunchEmbedsProcess.js +17 -16
- package/src/parts/LaunchFileSystemProcess/LaunchFileSystemProcess.js +21 -20
- package/src/parts/LaunchFileWatcherProcess/LaunchFileWatcherProcess.js +14 -13
- package/src/parts/LaunchNetworkProcess/LaunchNetworkProcess.js +13 -12
- package/src/parts/LaunchPreviewProcess/LaunchPreviewProcess.js +13 -12
- package/src/parts/LaunchProcess/LaunchProcess.js +34 -32
- package/src/parts/LaunchProcessExplorer/LaunchProcessExplorer.js +22 -21
- package/src/parts/LaunchPtyHost/LaunchPtyHost.js +16 -15
- package/src/parts/LaunchSearchProcess/LaunchSearchProcess.js +13 -12
- package/src/parts/LaunchTypeScriptCompileProcess/LaunchTypeScriptCompileProcess.js +25 -24
- package/src/parts/LimitString/LimitString.js +14 -13
- package/src/parts/LoadTypeScript/LoadTypeScript.js +12 -12
- package/src/parts/Logger/Logger.js +43 -35
- package/src/parts/Main/Main.js +16 -15
- package/src/parts/MainProcess/MainProcess.js +26 -20
- package/src/parts/MakeExecutable/MakeExecutable.js +9 -9
- package/src/parts/MergeWithSymlinks/MergeWithSymlinks.js +14 -14
- package/src/parts/MimeType/MimeType.js +38 -38
- package/src/parts/Module/Module.js +155 -154
- package/src/parts/ModuleId/ModuleId.js +80 -80
- package/src/parts/ModuleMap/ModuleMap.js +339 -337
- package/src/parts/NetworkProcess/NetworkProcess.js +19 -16
- package/src/parts/NetworkProcessPath/NetworkProcessPath.js +3 -2
- package/src/parts/OpenExternal/OpenExternal.ipc.js +7 -5
- package/src/parts/OpenExternal/OpenExternal.js +7 -5
- package/src/parts/OpenNativeFolder/OpenNativeFolder.ipc.js +6 -4
- package/src/parts/OpenNativeFolder/OpenNativeFolder.js +9 -9
- package/src/parts/Os/Os.ipc.js +4 -3
- package/src/parts/Os/Os.js +4 -3
- package/src/parts/OutputChannel/OutputChannel.ipc.js +39 -35
- package/src/parts/OutputChannel/OutputChannel.js +35 -32
- package/src/parts/OutputChannelState/OutputChannelState.js +15 -11
- package/src/parts/ParseUrlGithub/ParseUrlGithub.js +51 -49
- package/src/parts/Path/Path.js +16 -11
- package/src/parts/Performance/Performance.ipc.js +6 -4
- package/src/parts/Performance/Performance.js +27 -16
- package/src/parts/Platform/Platform.ipc.js +35 -33
- package/src/parts/Platform/Platform.js +76 -48
- package/src/parts/PlatformPaths/PlatformPaths.ipc.js +26 -24
- package/src/parts/PlatformPaths/PlatformPaths.js +140 -97
- package/src/parts/Preferences/Preferences.ipc.js +6 -4
- package/src/parts/Preferences/Preferences.js +83 -81
- package/src/parts/PreloadUrl/PreloadUrl.js +5 -4
- package/src/parts/PrettyError/PrettyError.js +1 -1
- package/src/parts/PreviewProcess/PreviewProcess.js +23 -19
- package/src/parts/PreviewProcessPath/PreviewProcessPath.js +3 -2
- package/src/parts/PrintPrettyError/PrintPrettyError.js +5 -4
- package/src/parts/Process/Process.ipc.js +10 -9
- package/src/parts/Process/Process.js +58 -45
- package/src/parts/ProcessDisplayName/ProcessDisplayName.js +1 -1
- package/src/parts/ProcessExitEventType/ProcessExitEventType.js +2 -2
- package/src/parts/ProcessExplorer/ProcessExplorer.ipc.js +6 -4
- package/src/parts/ProcessExplorer/ProcessExplorer.js +45 -42
- package/src/parts/ProcessExplorerPath/ProcessExplorerPath.js +3 -2
- package/src/parts/ProcessId/ProcessId.ipc.js +7 -5
- package/src/parts/ProcessId/ProcessId.js +5 -4
- package/src/parts/ProcessListeners/ProcessListeners.js +10 -8
- package/src/parts/Promises/Promises.js +18 -18
- package/src/parts/ProtocolType/ProtocolType.js +8 -8
- package/src/parts/PtyHost/PtyHost.js +28 -24
- package/src/parts/PtyHostPath/PtyHostPath.js +3 -2
- package/src/parts/PtyHostState/PtyHostState.js +17 -17
- package/src/parts/Queue/Queue.js +32 -31
- package/src/parts/RebuildNodePty/RebuildNodePty.ipc.js +6 -4
- package/src/parts/RebuildNodePty/RebuildNodePty.js +4 -3
- package/src/parts/RecentlyOpened/RecentlyOpened.ipc.js +6 -4
- package/src/parts/RecentlyOpened/RecentlyOpened.js +53 -54
- package/src/parts/RegisterWebViewProtocol/RegisterWebViewProtocol.js +13 -11
- package/src/parts/RejectWebSocket/RejectWebSocket.js +10 -9
- package/src/parts/RemoveQueryParameters/RemoveQueryParameters.js +6 -6
- package/src/parts/RemoveSymlink/RemoveSymlink.js +11 -11
- package/src/parts/RemoveValues/RemoveValues.js +21 -21
- package/src/parts/RequiresSocket/RequiresSocket.js +18 -16
- package/src/parts/ResolveBin/ResolveBin.js +10 -10
- package/src/parts/ResolveRoot/ResolveRoot.js +81 -78
- package/src/parts/Restart/Restart.js +10 -9
- package/src/parts/Root/Root.js +6 -4
- package/src/parts/Scheme/Scheme.js +1 -1
- package/src/parts/Screen/Screen.ipc.js +8 -6
- package/src/parts/Screen/Screen.js +10 -7
- package/src/parts/SearchProcess/SearchProcess.js +19 -16
- package/src/parts/SearchProcessPath/SearchProcessPath.js +3 -2
- package/src/parts/SendIncomingIpc/SendIncomingIpc.js +27 -24
- package/src/parts/SetHeaders/SetHeaders.js +4 -4
- package/src/parts/ShouldLogError/ShouldLogError.js +7 -6
- package/src/parts/ShouldTranspileTypescript/ShouldTranspileTypescript.js +11 -10
- package/src/parts/Signal/Signal.js +3 -3
- package/src/parts/SplitLines/SplitLines.js +4 -3
- package/src/parts/StaticPath/StaticPath.js +13 -12
- package/src/parts/StaticServerPath/StaticServerPath.js +4 -3
- package/src/parts/SymLink/SymLink.js +4 -3
- package/src/parts/TemporaryMessagePort/TemporaryMessagePort.ipc.js +9 -7
- package/src/parts/TemporaryMessagePort/TemporaryMessagePort.js +69 -64
- package/src/parts/Terminal/Terminal.ipc.js +9 -7
- package/src/parts/Terminal/Terminal.js +73 -68
- package/src/parts/TerminalState/TerminalState.js +12 -9
- package/src/parts/TextDocument/TextDocument.ipc.js +4 -3
- package/src/parts/TextDocument/TextDocument.js +23 -18
- package/src/parts/Timeout/Timeout.js +5 -4
- package/src/parts/TmpFile/TmpFile.js +13 -11
- package/src/parts/ToAbsolutePaths/ToAbsolutePaths.js +8 -7
- package/src/parts/Transferrables/Transferrables.js +5 -4
- package/src/parts/TransientLinkedExtensions/TransientLinkedExtensions.js +64 -58
- package/src/parts/TranspileTypeScript/TranspileTypeScript.js +8 -7
- package/src/parts/TranspileTypeScriptCached/TranspileTypeScriptCached.js +20 -19
- package/src/parts/Trash/Trash.js +11 -9
- package/src/parts/TrashElectron/TrashElectron.js +8 -7
- package/src/parts/TrashNode/TrashNode.js +9 -9
- package/src/parts/TypeScriptCompileCachePath/TypeScriptCompileCachePath.js +4 -3
- package/src/parts/TypeScriptCompileProcess/TypeScriptCompileProcess.js +19 -16
- package/src/parts/TypeScriptCompileProcessPath/TypeScriptCompileProcessPath.js +3 -2
- package/src/parts/UpdateState/UpdateState.js +11 -8
- package/src/parts/UpdateStateType/UpdateStateType.js +9 -9
- package/src/parts/V8CacheOptions/V8CacheOptions.js +2 -2
- package/src/parts/VError/VError.js +1 -1
- package/src/parts/WaitForProcessToExit/WaitForProcessToExit.js +8 -7
- package/src/parts/WalkValue/WalkValue.js +18 -18
- package/src/parts/WatchFile/WatchFile.js +12 -12
- package/src/parts/WatchForHotReload/WatchForHotReload.js +20 -16
- package/src/parts/WebViewProtocolState/WebViewProtocolState.js +9 -8
- package/src/parts/WebViewServer/WebViewServer.ipc.js +11 -9
- package/src/parts/WebViewServer/WebViewServer.js +26 -14
- package/src/parts/Workspace/Workspace.ipc.js +7 -5
- package/src/parts/Workspace/Workspace.js +23 -20
- package/src/parts/WorkspaceSource/WorkspaceSource.js +3 -3
- 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
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
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
|
-
|
|
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
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
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
|
-
|
|
31
|
-
|
|
32
|
-
|
|
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
|
-
|
|
36
|
-
}
|
|
37
|
+
return extensions.flatMap(getLanguagesFromExtension)
|
|
38
|
+
}
|
|
39
|
+
|
|
37
40
|
export const getLanguages = async () => {
|
|
38
|
-
|
|
39
|
-
}
|
|
41
|
+
throw new Error('deprecated')
|
|
42
|
+
}
|
|
43
|
+
|
|
40
44
|
export const getWebViews = async () => {
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
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
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
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
|
-
|
|
56
|
-
|
|
59
|
+
}
|
|
60
|
+
return ''
|
|
61
|
+
}
|
|
62
|
+
|
|
57
63
|
export const getLanguageConfiguration = async (languageId) => {
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
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
|
-
|
|
13
|
-
|
|
14
|
-
|
|
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
|
-
|
|
17
|
-
|
|
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
|
|
38
|
+
const extensionPath = Path.join(path, 'packages', 'extension')
|
|
39
|
+
const uri = pathToFileURL(extensionPath).toString()
|
|
20
40
|
return {
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
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
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
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
|
-
|
|
3
|
-
export const
|
|
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
|
-
|
|
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
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
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
|
-
|
|
24
|
-
|
|
25
|
-
}
|
|
25
|
+
const module = getModule(input.type)
|
|
26
|
+
return module.getExtensionManifests(input.path)
|
|
27
|
+
}
|
|
28
|
+
|
|
26
29
|
const isBuiltin = (extension) => {
|
|
27
|
-
|
|
28
|
-
}
|
|
30
|
+
return extension && extension.id && extension.id.startsWith('builtin.')
|
|
31
|
+
}
|
|
32
|
+
|
|
29
33
|
const addExtensionDisabledStatus = (uniqueExtensions, disabledExtensionIds) => {
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
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
|
-
|
|
9
|
-
|
|
10
|
-
|
|
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
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
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
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
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
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
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
|
-
|
|
20
|
-
}
|
|
20
|
+
return Promise.all(absolutePaths.map(readSymlink))
|
|
21
|
+
}
|
|
22
|
+
|
|
21
23
|
export const getExtensionManifests = async (path) => {
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
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
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
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
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
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
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
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
|
+
}
|