[go: up one dir, main page]

{ const container = $el; // The div with overflow const item = document.getElementById('sidebar-current-page') if (item) { const containerTop = container.scrollTop; const containerBottom = containerTop + container.clientHeight; const itemTop = item.offsetTop - container.offsetTop; const itemBottom = itemTop + item.offsetHeight; // Scroll only if the item is out of view if (itemBottom > containerBottom - 200) { container.scrollTop = itemTop - (container.clientHeight / 2 - item.offsetHeight / 2); } } })" class="bg-background-toc dark:bg-background-toc fixed top-0 z-40 hidden h-screen w-full flex-none overflow-x-hidden overflow-y-auto md:sticky md:top-16 md:z-auto md:block md:h-[calc(100vh-64px)] md:w-[320px]" :class="{ 'hidden': ! $store.showSidebar }">
Contact support

UndefinedVar

Table of contents

Output

Usage of undefined variable '$foo'

Description

This check ensures that environment variables and build arguments are correctly declared before being used. While undeclared variables might not cause an immediate build failure, they can lead to unexpected behavior or errors later in the build process.

This check does not evaluate undefined variables for RUN, CMD, and ENTRYPOINT instructions where you use the shell form. That's because when you use shell form, variables are resolved by the command shell.

It also detects common mistakes like typos in variable names. For example, in the following Dockerfile:

FROM alpine
ENV PATH=$PAHT:/app/bin

The check identifies that $PAHT is undefined and likely a typo for $PATH:

Usage of undefined variable '$PAHT' (did you mean $PATH?)

Examples

❌ Bad: $foo is an undefined build argument.

FROM alpine AS base
COPY $foo .

✅ Good: declaring foo as a build argument before attempting to access it.

FROM alpine AS base
ARG foo
COPY $foo .

❌ Bad: $foo is undefined.

FROM alpine AS base
ARG VERSION=$foo

✅ Good: the base image defines $PYTHON_VERSION

FROM python AS base
ARG VERSION=$PYTHON_VERSION