Pular para o conteúdo principal
Versão: 0.5.0

Lock File de Dependências de Módulos

O lock file (invowkmod.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.invowkmod.git": {
git_url: "https://github.com/example/common.invowkmod.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 invowkmod.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.invowkmod.git#modules/cli": {
git_url: "https://github.com/example/monorepo.invowkmod.git"
path: "modules/cli"
}
}

Notas de Uso

  • Commite invowkmod.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 invowkmod.lock.cue
git commit -m "Lock module dependencies"