Pular para o conteúdo principal
Versão: 0.1.0-alpha.2

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​

CampoDescrição
versionVersão do formato do lock file
generatedTimestamp de criação do lock file
modulesMapa de chaves de módulo para entradas travadas

Campos de Entrada de Módulo​

Cada entrada em modules contém:

CampoDescrição
git_urlURL do repositório Git
versionRestrição de versão original de invkmod.cue
resolved_versionVersão resolvida exata
git_commitSHA do commit da versão resolvida
aliasAlias de namespace (se definido)
pathCaminho de subdiretório (se definido)
namespaceNamespace 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.cue no controle de versão para builds reprodutíveis.
  • invowk module add não grava o lock file; use invowk 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"