reteps/dockerfmt: Dockerfile format and parser. a modern dockfmt.

Date:

Share:

Dockerfile format and parser, and a modern version of dockfmt. Built on top of the internal buildkit parser.

Binaries are available from the releases page.

A updated version of the dockfmt. Uses the dockerfile parser from moby/buildkit and the shell formatter from mvdan/sh.

Usage:
  dockerfmt [Dockerfile] [flags]
  dockerfmt [command]

Available Commands:
  completion  Generate the autocompletion script for the specified shell
  help        Help about any command
  version     Print the version number of dockerfmt

Flags:
  -c, --check         Check if the file(s) are formatted
  -h, --help          help for dockerfmt
  -i, --indent uint   Number of spaces to use for indentation (default 4)
  -n, --newline       End the file with a trailing newline
  -w, --write         Write the formatted output back to the file(s)

Use "dockerfmt [command] --help" for more information about a command.
  • The RUN parser currently doesn’t support grouping or semicolons in commands
  • No line wrapping is performed for long JSON commands
  • The # escape=X directive is not supported

Contributions are welcome!

RUN <"hello"
echo "world"
EOF
  • Support for basic inline comments in run steps:
RUN echo "hello" \
    # this is a comment
    && echo "world"
RUN echo "hello" \
    # this is a comment
    # that spans multiple lines
    && echo "world"

This is surprisingly non-trivial as we want to attach the comments to their position in the formatted output, but they are stripped by the parser beforehand.

The JS bindings are available in the js directory. More information on how to use them can be found in the README file.

Source link

Subscribe to our magazine

━ more like this

How to Harness Prime Day Traffic Without Slashing Prices

Opinions expressed by Entrepreneur contributors are their own. Amazon Prime Day means different things to different people....

The Funniest Death by Dinosaur in Each ‘Jurassic Park’ Movie

Deep in the jungle of Isla Nublar, game warden Robert Muldoon instructs a group of park employees on how to handle the transfer of...

34 Early 4th Of July Fashion Sales 2025 To Shop

Fourth of July fashion sales are firing up like all the barbecues and fireworks we’re going to enjoy over the holiday weekend. And unlike...

“Teddy Blonde” Is The Low-Effort Hair Color For Summer

That said, it’s still hair color, so with that in mind, how often do you need to refresh teddy blonde? “To start with, I...

The 'Old Secretariat' in Panaji, India

Panaji, the capital of Goa, features a fantastic riverfront along the Mandovi River, which flows past the city and into the Arabian Sea....