({
'user-data-folder': persistedFolder,
'docker-path': dockerPath,
'docker-compose-path': dockerComposePath,
'container-data-folder': containerDataFolder,
'container-system-data-folder': containerSystemDataFolder,
'workspace-folder': workspaceFolderArg,
'mount-workspace-git-root': mountWorkspaceGitRoot,
'mount-git-worktree-common-dir': mountGitWorktreeCommonDir,
'container-id': containerId,
'id-label': idLabel,
config: configParam,
'override-config': overrideConfig,
'log-level': logLevel,
'log-format': logFormat,
'terminal-rows': terminalRows,
'terminal-columns': terminalColumns,
'default-user-env-probe': defaultUserEnvProbe,
'skip-non-blocking-commands': skipNonBlocking,
prebuild,
'stop-for-personalization': stopForPersonalization,
'remote-env': addRemoteEnv,
'skip-feature-auto-mapping': skipFeatureAutoMapping,
'skip-post-attach': skipPostAttach,
'dotfiles-repository': dotfilesRepository,
'dotfiles-install-command': dotfilesInstallCommand,
'dotfiles-target-path': dotfilesTargetPath,
'container-session-data-folder': containerSessionDataFolder,
'secrets-file': secretsFile,
}: RunUserCommandsArgs)
| 846 | } |
| 847 | |
| 848 | async function doRunUserCommands({ |
| 849 | 'user-data-folder': persistedFolder, |
| 850 | 'docker-path': dockerPath, |
| 851 | 'docker-compose-path': dockerComposePath, |
| 852 | 'container-data-folder': containerDataFolder, |
| 853 | 'container-system-data-folder': containerSystemDataFolder, |
| 854 | 'workspace-folder': workspaceFolderArg, |
| 855 | 'mount-workspace-git-root': mountWorkspaceGitRoot, |
| 856 | 'mount-git-worktree-common-dir': mountGitWorktreeCommonDir, |
| 857 | 'container-id': containerId, |
| 858 | 'id-label': idLabel, |
| 859 | config: configParam, |
| 860 | 'override-config': overrideConfig, |
| 861 | 'log-level': logLevel, |
| 862 | 'log-format': logFormat, |
| 863 | 'terminal-rows': terminalRows, |
| 864 | 'terminal-columns': terminalColumns, |
| 865 | 'default-user-env-probe': defaultUserEnvProbe, |
| 866 | 'skip-non-blocking-commands': skipNonBlocking, |
| 867 | prebuild, |
| 868 | 'stop-for-personalization': stopForPersonalization, |
| 869 | 'remote-env': addRemoteEnv, |
| 870 | 'skip-feature-auto-mapping': skipFeatureAutoMapping, |
| 871 | 'skip-post-attach': skipPostAttach, |
| 872 | 'dotfiles-repository': dotfilesRepository, |
| 873 | 'dotfiles-install-command': dotfilesInstallCommand, |
| 874 | 'dotfiles-target-path': dotfilesTargetPath, |
| 875 | 'container-session-data-folder': containerSessionDataFolder, |
| 876 | 'secrets-file': secretsFile, |
| 877 | }: RunUserCommandsArgs) { |
| 878 | const disposables: (() => Promise<unknown> | undefined)[] = []; |
| 879 | const dispose = async () => { |
| 880 | await Promise.all(disposables.map(d => d())); |
| 881 | }; |
| 882 | try { |
| 883 | const workspaceFolder = workspaceFolderArg ? path.resolve(process.cwd(), workspaceFolderArg) : undefined; |
| 884 | const providedIdLabels = idLabel ? Array.isArray(idLabel) ? idLabel as string[] : [idLabel] : undefined; |
| 885 | const addRemoteEnvs = addRemoteEnv ? (Array.isArray(addRemoteEnv) ? addRemoteEnv as string[] : [addRemoteEnv]) : []; |
| 886 | const configFile = configParam ? URI.file(path.resolve(process.cwd(), configParam)) : undefined; |
| 887 | const overrideConfigFile = overrideConfig ? URI.file(path.resolve(process.cwd(), overrideConfig)) : undefined; |
| 888 | |
| 889 | const cwd = workspaceFolder || process.cwd(); |
| 890 | const cliHost = await getCLIHost(cwd, loadNativeModule, logFormat === 'text'); |
| 891 | const secretsP = readSecretsFromFile({ secretsFile, cliHost }); |
| 892 | |
| 893 | const params = await createDockerParams({ |
| 894 | dockerPath, |
| 895 | dockerComposePath, |
| 896 | containerDataFolder, |
| 897 | containerSystemDataFolder, |
| 898 | workspaceFolder, |
| 899 | mountWorkspaceGitRoot, |
| 900 | mountGitWorktreeCommonDir, |
| 901 | configFile, |
| 902 | overrideConfigFile, |
| 903 | logLevel: mapLogLevel(logLevel), |
| 904 | logFormat, |
| 905 | log: text => process.stderr.write(text), |
no test coverage detected