devcontainers / devcontainers/cli

Add "no-lockfile" as an option to "devcontainer.json" config file

Open
#1,282 0 comments 1 reaction 0 assignees View on GitHub
Dominant language
TypeScript
Stars
3k
Forks
457
Avg merge
13h 17m
Merged PRs (30d)
6

Description

Add a `no-lockfile` option to `devcontainer.json` to disable the generation and validation of `.devcontainer-lock.json`.

For example:

```json
{
"name": "my-devcontainer",
"noLockfile": true
}
```

The CLI already supports:

```bash
devcontainer up --no-lockfile
devcontainer build --no-lockfile
```

However, there is currently no way to configure this behavior directly in `devcontainer.json`.

This is especially problematic when the Dev Container CLI is invoked indirectly by an editor or IDE. In that case, users do not necessarily control the CLI arguments and therefore cannot easily pass `--no-lockfile`.

In my workflow, I intentionally do not want a lockfile. When `.devcontainer-lock.json` is generated or changes, it can cause the environment to be considered out of date and trigger an unnecessary rebuild. Deleting the lockfile allows me to reconnect to the existing container without rebuilding it, but having to manually remove it is a poor workaround.

Contributor guide

Open the contributing guide

Research direction

Start by tracing how the existing --no-lockfile option is handled by the devcontainer up and build commands, then follow how devcontainer.json options are parsed. Done means noLockfile in devcontainer.json disables .devcontainer-lock.json generation and validation when the CLI is invoked indirectly.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
cli
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
68/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.