全方位代码检查工具(Lint everything From A to Z)
项目链接:
| 平台 | 最新版本 |
|---|---|
| GitHub | |
| DockerHub |
AZLint的主要目的是将尽可能多的代码检查工具(linters)捆绑到单个Docker镜像中,并提供便捷的命令行接口(CLI)实现批量调用。
它可作为SuperLinter和MegaLinter的补充工具。这些元检查工具非常出色,但AZLint具备它们缺失的部分特性。
需要说明的是,AZLint最初主要用于个人使用,但欢迎大家使用并报告发现的问题 😉。
!azlint演示
注意:本章示例使用:latest标签。实际使用时建议将:latest替换为具体版本号。
可在DockerHub的标签页查看所有可用标签,或在GitHub的发布页查看所有项目版本。
检查当前目录文件:
shdocker run -itv "$PWD:/project:ro" matejkosiarcik/azlint:latest lint
格式化当前目录文件:
shdocker run -itv "$PWD:/project" matejkosiarcik/azlint:latest fmt
查看帮助信息:
sh$ docker run matejkosiarcik/azlint:latest --help Usage: azlint <command> [options…] [dir] Commands: azlint lint 检查项目(默认命令) azlint fmt 格式化项目(自动修复) 位置参数: dir 项目目录路径 [字符串] [默认值: "."] 选项: -h, --help 显示帮助信息 [布尔值] -V, --version 显示版本信息 [布尔值] -v, --verbose 详细日志(可叠加,最多-vvv) [计数] -q, --quiet 减少日志输出 [布尔值] --only-changed 仅分析变更文件(要求项目为Git仓库) [布尔值] -n, --dry-run 模拟运行 [布尔值] --color 彩色输出 [字符串] [可选值: "auto", "never", "always"] [默认值: "auto"]
参考上述Linux & macOS示例,将$PWD替换为%cd%即可,例如:
batdocker run -itv "%cd%:/project:ro" matejkosiarcik/azlint:latest lint
yamlazlint: image: matejkosiarcik/azlint:latest script: - lint
yamlversion: 2.1 workflows: version: 2 workflow: jobs: - azlint jobs: azlint: docker: - image: matejkosiarcik/azlint:latest steps: - checkout - run: lint
yamlname: AZLint permissions: read-all on: push: branches: - main pull_request: jobs: azlint: name: AZLint runs-on: ubuntu-latest container: image: matejkosiarcik/azlint:latest options: --user root steps: - name: 检出代码 uses: actions/checkout@v3 with: fetch-depth: 0 # 需要完整Git历史以获取正确的变更文件列表 - name: 运行AZLint run: lint
AZLint通过带AZLINT_前缀的环境变量进行配置。
AZLint默认在以下位置查找配置文件:[git-root]/和[git-root]/.config/。可通过AZLINT_CONFIG_DIR=some/config/directory指定自定义配置目录(注意:路径相对于[git-root])。
AZLint会自动查找配置文件并传递给检查工具。如需为特定检查工具指定自定义配置文件,可设置AZLINT_FOO_CONFIG_FILE=some/path/file.json(注意1:将FOO替换为具体检查工具名称;注意2:文件路径相对于指定的配置目录)。
可通过设置环境变量AZLINT_FOO=false禁用特定检查工具或格式化工具(注意:将FOO替换为具体检查工具名称)。
关于检查工具名称的说明:若检查工具名为foo-bar,对应的环境变量需命名为FOO_BAR(即大写并将连字符替换为下划线)。
| 工具 | 链接 | 禁用方式 | 检查文件 | fmt支持 |
|---|---|---|---|---|
| editorconfig-checker | GitHub 文档 | VALIDATE_EDITORCONFIG_CHECKER | * | ❌ |
| eclint | GitHub | VALIDATE_ECLINT | * | ❌ |
| Git check-ignore(自定义) | - | VALIDATE_GITIGNORE | * | ✅ |
| jscpd | GitHub | VALIDATE_JSCPD | * | ❌ |
| 工具 | 链接 | 禁用方式 | 检查文件 | fmt支持 |
|---|---|---|---|---|
| dotenv-linter | GitHub 文档 | VALIDATE_DOTENV | *.env | ❌ |
| jsonlint | GitHub 在线试用 | VALIDATE_JSONLINT | *.json | ❌* |
| prettier | GitHub 文档 | VALIDATE_PRETTIER | *.{json,yml,css,html} | ✅ |
| stoml | GitHub | VALIDATE_STOML | *.{cfg,ini,toml} | ❌ |
| tomljson (go-toml) | GitHub | VALIDATE_TOMLJSON | *.toml | ❌ |
| yamllint | GitHub 文档 | VALIDATE_YAMLLINT | *.{yml,yaml} | ❌ |
Jsonlint - 格式化功能与prettier冲突,因此已禁用。
这些工具并非真正的"检查工具",而是原生包管理器,通过dry-run标志仅尝试安装依赖而不实际安装,用于验证配置文件在对应包管理器中的可用性。
| 工具 | 链接 | 禁用方式 | 检查文件 | fmt支持 |
|---|---|---|---|---|
| brew-bundle | GitHub 手册 | VALIDATE_BREW_BUNDLE | Brewfile | ❌ |
| composer-install | 文档 | VALIDATE_COMPOSER_INSTALL | composer.json | ❌ |
| pip-install | 文档 | VALIDATE_PIP_INSTALL | requirements.txt | ❌ |
| npm-install | 文档 | VALIDATE_NPM_INSTALL | package.json | ❌ |
| npm-ci | 文档 | VALIDATE_NPM_CI | package.json & package-lock.json | ❌ |
包管理器文件的额外验证工具,检查推荐但非必需的配置规则。
| 工具 | 链接 | 禁用方式 | 检查文件 | fmt支持 |
|---|---|---|---|---|
| composer-normalize | GitHub 博客 | VALIDATE_COMPOSER_NORMALIZE | composer.json | ✅ |
| composer-validate | 文档 | VALIDATE_COMPOSER_VALIDATE | composer.json | ❌ |
| package-json-validator | GitHub | VALIDATE_PACKAGE_JSON | package.json | ❌ |
| 工具 | 链接 | 禁用方式 | 检查文件 | fmt支持 |
|---|---|---|---|---|
| CircleCI CLI lint | 文档 GitHub | VALIDATE_CIRCLECI_VALIDATE | .circleci/config.yml | ❌ |
| gitlab-ci-lint | GitHub | VALIDATE_GITLABCI_LINT | .gitlab-ci.yml | ❌ |
| gitlab-ci-validate | GitHub | VALIDATE_GITLABCI_VALIDATE | .gitlab-ci.yml | ❌ |
| 工具 | 链接 | 禁用方式 | 检查文件 | fmt支持 |
|---|---|---|---|---|
| checkmake | GitHub | VALIDATE_CHECKMAKE | Makefile等 | ❌ |
| BSD Make | 手册 | VALIDATE_BMAKE | Makefile等 | ❌ |
| GNU Make | 文档 手册 | VALIDATE_GMAKE | Makefile等 | ❌ |
| 工具 | 链接 | 禁用方式 | 检查文件 | fmt支持 |
|---|---|---|---|---|
| dockerfilelint | GitHub 在线试用 | VALIDATE_DOCKERFILELINT | Dockerfile等 | ❌ |
| hadolint | GitHub | VALIDATE_HADOLINT | Dockerfile等 | ❌ |
| 工具 | 链接 | 禁用方式 | 检查文件 | fmt支持 |
|---|---|---|---|---|
| HTMLHint | GitHub | VALIDATE_HTMLHINT | *.{html,htm} | ❌ |
| htmllint | GitHub | VALIDATE_HTMLLINT | *.{html,htm} | ❌ |
| SVGLint | GitHub | VALIDATE_SVGLINT | *.svg | ❌ |
| xmllint | GitLab 文档 手册 | VALIDATE_XMLLINT | *.xml | ✅ |
| 工具 | 链接 | 禁用方式 | 检查文件 | fmt支持 |
|---|---|---|---|---|
| markdown-link-check | GitHub | VALIDATE_MARKDOWN_LINK_CHECK | *.md | ❌ |
| markdownlint | GitHub | VALIDATE_MARKDOWNLINT | *.md | ✅ |
| markdownlint (mdl) | [GitHub |
来自真实用户的反馈,见证轩辕镜像的优质服务
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
在 Linux 系统配置镜像加速服务
在 Docker Desktop 配置镜像加速
Docker Compose 项目配置加速
Kubernetes 集群配置 Containerd
在宝塔面板一键配置镜像加速
Synology 群晖 NAS 配置加速
飞牛 fnOS 系统配置镜像加速
极空间 NAS 系统配置加速服务
爱快 iKuai 路由系统配置加速
绿联 NAS 系统配置镜像加速
QNAP 威联通 NAS 配置加速
Podman 容器引擎配置加速
HPC 科学计算容器配置加速
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名加速