Lock File de Dependências de Módulos
O lock file (invkmod.lock.cue) registra as versões exatas de todas as dependências de módulo resolvidas, garantindo builds reprodutíveis ao longo do tempo e entre máquinas.
Ele é gerado automaticamente por invowk module sync e invowk module update.
Exemplo de Lock File
version: "1.0"
generated: "2025-01-10T12:34:56Z"
modules: {
"https://github.com/example/common.invkmod.git": {
git_url: "https://github.com/example/common.invkmod.git"
version: "^1.0.0"
resolved_version: "1.2.3"
git_commit: "abc123def4567890"
alias: "common"
namespace: "common"
}
}
Campos da Raiz
| Campo | Descrição |
|---|---|
version | Versão do formato do lock file |
generated | Timestamp de criação do lock file |
modules | Mapa de chaves de módulo para entradas travadas |
Campos de Entrada de Módulo
Cada entrada em modules contém:
| Campo | Descrição |
|---|---|
git_url | URL do repositório Git |
version | Restrição de versão original de invkmod.cue |
resolved_version | Versão resolvida exata |
git_commit | SHA do commit da versão resolvida |
alias | Alias de namespace (se definido) |
path | Caminho de subdiretório (se definido) |
namespace | Namespace calculado para comandos |
Chaves de Módulo
A chave no mapa modules é derivada da URL Git e do caminho opcional:
modules: {
"https://github.com/example/monorepo.invkmod.git#modules/cli": {
git_url: "https://github.com/example/monorepo.invkmod.git"
path: "modules/cli"
}
}
Notas de Uso
- Commite
invkmod.lock.cueno controle de versão para builds reprodutíveis. invowk module addnão grava o lock file; useinvowk module sync.
Workflows Comuns
# Resolve and lock
invowk module sync
# Commit the lock file
git add invkmod.lock.cue
git commit -m "Lock module dependencies"