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

Function getImageBuildOptions

src/spec-node/containerFeatures.ts:199–217  ·  view source on GitHub ↗
(params: DockerResolverParameters, config: SubstitutedConfig<DevContainerConfig>, dstFolder: string, baseName: string, imageBuildInfo: ImageBuildInfo)

Source from the content-addressed store, hash-verified

197}
198
199async function getImageBuildOptions(params: DockerResolverParameters, config: SubstitutedConfig<DevContainerConfig>, dstFolder: string, baseName: string, imageBuildInfo: ImageBuildInfo): Promise<ImageBuildOptions> {
200 const syntax = imageBuildInfo.dockerfile?.preamble.directives.syntax;
201 return {
202 dstFolder,
203 dockerfileContent: `
204FROM $_DEV_CONTAINERS_BASE_IMAGE AS dev_containers_target_stage
205${getDevcontainerMetadataLabel(getDevcontainerMetadata(imageBuildInfo.metadata, config, { featureSets: [] }, [], getOmitDevcontainerPropertyOverride(params.common)))}
206`,
207 overrideTarget: 'dev_containers_target_stage',
208 dockerfilePrefixContent: `${syntax ? `# syntax=${syntax}` : ''}
209 ARG _DEV_CONTAINERS_BASE_IMAGE=placeholder
210`,
211 buildArgs: {
212 _DEV_CONTAINERS_BASE_IMAGE: baseName,
213 } as Record<string, string>,
214 buildKitContexts: {} as Record<string, string>,
215 securityOpts: [],
216 };
217}
218
219function getOmitDevcontainerPropertyOverride(resolverParams: { omitConfigRemotEnvFromMetadata?: boolean }): (keyof DevContainerConfig & keyof ImageMetadataEntry)[] {
220 if (resolverParams.omitConfigRemotEnvFromMetadata) {

Callers 1

getExtendImageBuildInfoFunction · 0.85

Tested by

no test coverage detected