MCPcopy Index your code
hub / github.com/devcontainers/cli / doRunUserCommands

Function doRunUserCommands

src/spec-node/devContainersSpecCLI.ts:848–990  ·  view source on GitHub ↗
({
	'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)

Source from the content-addressed store, hash-verified

846}
847
848async 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),

Callers 1

runUserCommandsFunction · 0.85

Calls 15

getCLIHostFunction · 0.90
createDockerParamsFunction · 0.90
mapLogLevelFunction · 0.90
envListToObjFunction · 0.90
workspaceFromPathFunction · 0.90
uriToFsPathFunction · 0.90
substituteFunction · 0.90
findContainerAndIdLabelsFunction · 0.90
bailOutFunction · 0.90

Tested by

no test coverage detected