diff --git a/Dockerfile b/Dockerfile index 57c46fc..ae8c732 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,5 +1,5 @@ -FROM alpine:3.18.4 as entry -RUN apk add --no-cache npm && npm install -g typescript@5.2.2 @types/node@20.9.0 +FROM alpine:3.20.3 as entry +RUN apk add --no-cache npm && npm install -g typescript@5.6.3 @types/node@22.9.0 COPY entry.ts . RUN tsc \ --noUnusedLocals \ @@ -9,7 +9,7 @@ RUN tsc \ entry.ts \ && chmod +x entry.js -FROM alpine:3.18.4 +FROM alpine:3.20.3 ENV PIP_DISABLE_PIP_VERSION_CHECK=1 ENV PIP_NO_CACHE_DIR=1 # Install all dependencies. As the last step of this RUN, we delete unused files @@ -25,10 +25,10 @@ RUN apk add --no-cache --virtual .build-deps \ nodejs \ openjdk17-jre-headless \ python3 \ - && pip3 install \ + && pip3 install --break-system-packages \ autoflake==1.7.8 \ isort==5.13.2 \ - ruff==0.1.5 \ + ruff==0.7.3 \ && python3 -m venv /black21-venv \ && source /black21-venv/bin/activate \ && pip3 install black==21.12b0 click==8.0.4 \ @@ -36,25 +36,25 @@ RUN apk add --no-cache --virtual .build-deps \ && echo 'source /black21-venv/bin/activate && black "$@"' > /usr/bin/black21 \ && chmod +x /usr/bin/black21 \ && npm install -g \ - @prettier/plugin-xml@3.2.2 \ - prettier@3.1.0 \ - svgo@3.0.3 \ + @prettier/plugin-xml@3.4.1 \ + prettier@3.3.3 \ + svgo@3.3.2 \ && apk del .build-deps \ - && wget https://github.com/muttleyxd/clang-tools-static-binaries/releases/download/master-f7f02c1d/clang-format-17_linux-amd64 -O clang-format \ + && wget https://github.com/muttleyxd/clang-tools-static-binaries/releases/download/master-32d3ac78/clang-format-18_linux-amd64 -O clang-format \ && chmod +x clang-format \ - && wget https://github.com/google/google-java-format/releases/download/v1.18.1/google-java-format-1.18.1-all-deps.jar -O google-java-format \ - && wget https://search.maven.org/remotecontent?filepath=com/facebook/ktfmt/0.46/ktfmt-0.46-jar-with-dependencies.jar -O ktfmt \ - && wget https://github.com/mvdan/sh/releases/download/v3.7.0/shfmt_v3.7.0_linux_amd64 -O shfmt \ + && wget https://github.com/google/google-java-format/releases/download/v1.24.0/google-java-format-1.24.0-all-deps.jar -O google-java-format \ + && wget https://search.maven.org/remotecontent?filepath=com/facebook/ktfmt/0.53/ktfmt-0.53-jar-with-dependencies.jar -O ktfmt \ + && wget https://github.com/mvdan/sh/releases/download/v3.10.0/shfmt_v3.10.0_linux_amd64 -O shfmt \ && chmod +x shfmt \ - && wget https://github.com/tamasfe/taplo/releases/download/0.8.1/taplo-linux-x86_64.gz -O taplo.gz \ + && wget https://github.com/tamasfe/taplo/releases/download/0.9.3/taplo-linux-x86_64.gz -O taplo.gz \ && gzip -d taplo.gz \ && chmod +x taplo \ - && wget https://releases.hashicorp.com/terraform/1.6.3/terraform_1.6.3_linux_amd64.zip -O tf.zip \ + && wget https://releases.hashicorp.com/terraform/1.9.8/terraform_1.9.8_linux_amd64.zip -O tf.zip \ && unzip tf.zip \ && rm tf.zip \ - && wget https://github.com/coursier/coursier/releases/download/v2.1.7/coursier -O /bin/coursier \ + && wget https://github.com/coursier/coursier/releases/download/v2.1.17/coursier -O /bin/coursier \ && chmod +x /bin/coursier \ - && coursier bootstrap org.scalameta:scalafmt-cli_2.13:3.7.16 \ + && coursier bootstrap org.scalameta:scalafmt-cli_2.13:3.8.3 \ -r sonatype:snapshots --main org.scalafmt.cli.Cli \ --standalone \ -o scalafmt \ @@ -69,6 +69,6 @@ RUN apk add --no-cache --virtual .build-deps \ /usr/bin/lto-dump \ /var/cache # https://stackoverflow.com/a/59485924 -COPY --from=golang:1.22.3-alpine3.18 /usr/local/go/bin/gofmt /gofmt +COPY --from=golang:1.23.3-alpine3.20 /usr/local/go/bin/gofmt /gofmt COPY . . COPY --from=entry /entry.js /entry diff --git a/README.md b/README.md index 24302cd..dfc4626 100644 --- a/README.md +++ b/README.md @@ -2,21 +2,21 @@ This repo currently contains a single [pre-commit](https://pre-commit.com/) hook that internally runs several code formatters in parallel. -- [Prettier](https://github.com/prettier/prettier) v3.1.0 for CSS, HTML, JS, JSX, Markdown, Sass, TypeScript, XML, YAML -- [Ruff](https://docs.astral.sh/ruff/) v0.1.5 for Python 3 +- [Prettier](https://github.com/prettier/prettier) v3.3.3 for CSS, HTML, JS, JSX, Markdown, Sass, TypeScript, XML, YAML +- [Ruff](https://docs.astral.sh/ruff/) v0.7.3 for Python 3 - [Black](https://github.com/psf/black) v21.12b0 for Python 2 - [autoflake](https://github.com/myint/autoflake) v1.7.8 for Python -- [isort](https://github.com/PyCQA/isort) v5.12.0 for Python 2 -- [google-java-format](https://github.com/google/google-java-format) v1.18.1 for Java -- [ktfmt](https://github.com/facebookincubator/ktfmt) v0.46 for Kotlin -- [gofmt](https://pkg.go.dev/cmd/gofmt) v1.22.3 for Go -- [scalafmt](https://scalameta.org/scalafmt/) v3.7.16 for Scala -- [shfmt](https://github.com/mvdan/sh) v3.7.0 for Shell +- [isort](https://github.com/PyCQA/isort) v5.13.2 for Python 2 +- [google-java-format](https://github.com/google/google-java-format) v1.24.0 for Java +- [ktfmt](https://github.com/facebookincubator/ktfmt) v0.53 for Kotlin +- [gofmt](https://pkg.go.dev/cmd/gofmt) v1.23.3 for Go +- [scalafmt](https://scalameta.org/scalafmt/) v3.8.3 for Scala +- [shfmt](https://github.com/mvdan/sh) v3.10.0 for Shell - [xsltproc](http://www.xmlsoft.org/xslt/xsltproc.html) from libxslt v10138 for XML -- [terraform fmt](https://github.com/hashicorp/terraform) v1.6.3 for Terraform +- [terraform fmt](https://github.com/hashicorp/terraform) v1.9.8 for Terraform - [ClangFormat](https://clang.llvm.org/docs/ClangFormat.html) v17.0.4 for C++, Protobuf -- [SVGO](https://github.com/svg/svgo) v3.0.3 for SVG -- [Taplo](https://taplo.tamasfe.dev/) v0.8.1 for TOML +- [SVGO](https://github.com/svg/svgo) v3.3.2 for SVG +- [Taplo](https://taplo.tamasfe.dev/) v0.9.3 for TOML - Custom regex transformations (basically [sed](https://en.wikipedia.org/wiki/Sed)), for example: - Trimming trailing whitespace and newlines - Removing unnecessary `coding` pragmas and `object` base classes in Python 3