Como trabalhar com pacotes Node.js

O Artifact Registry é compatível com pacotes Node.js que você gerencia com o npm.

Visão geral

Para se familiarizar com os pacotes do Node.js no Artifact Registry, consulte o guia de início rápido.

Quando estiver pronto para saber mais, leia as seguintes informações:

  1. Se você é novo no NPM, leia os conceitos a seguir:
  2. Crie um repositório de pacotes Node.js para os pacotes.
  3. Conceda permissões à conta que se conectará ao repositório. As contas de serviço para integrações comuns com o Artifact Registry têm permissões padrão para repositórios no mesmo projeto.
  4. Configure suas ferramentas:
  5. Saiba mais sobre o gerenciamento de pacotes.

Como usar escopos

Um escopo npm é um rótulo para agrupar pacotes. Os escopos são necessários quando você trabalha com vários registros npm, incluindo:

  • Publicar e instalar pacotes em registros diferentes sem a necessidade de alternar de um registro para outro. Por exemplo, seus builds podem incluir pacotes do registro npm público e de um repositório do Artifact Registry.
  • Publicar os mesmos pacotes em vários repositórios do Artifact Registry nos projetos do Google Cloud, bem como em outros registros npm, sem conflitos de nome de pacote.

É recomendável sempre definir um escopo para os repositórios. Se você não especificar um escopo ao publicar ou instalar um pacote, o npm usará o registro padrão configurado, como o registro npm público.

Você define o escopo para cada repositório do Artifact Registry no arquivo de configuração .npmrc. As mesmas credenciais para autenticação se aplicam a todos os repositórios.

O exemplo a seguir mostra a configuração de dois repositórios do Artifact Registry em diferentes projetos.

  • O escopo @blue é para o repositório no projeto blue-project.
  • O escopo @green é para o repositório no projeto green-project.
@blue:registry=https://us-central1-npm.pkg.dev/blue-project/blue-npm-repo/
//us-central1-npm.pkg.dev/blue-project/blue-npm-repo/:always-auth=true

@green:registry=https://us-central1-npm.pkg.dev/green-project/green-npm-repo/
//us-central1-npm.pkg.dev/green-project/green-npm-repo/:_authToken=""
//us-central1-npm.pkg.dev/green-project/green-npm-repo/:always-auth=true

Depois de autenticar-se no Artifact Registry, você pode fazer upload de um pacote para um repositório específico usando o escopo apropriado. Por exemplo, o comando a seguir faz upload de um pacote para blue-npm-repo no projeto blue-project:

npm publish @blue/blue-npm-repo

Para mais informações sobre escopos, consulte a documentação do npm (em inglês)

Como configurar o NPM

As configurações usadas para autenticação são armazenadas no arquivo de configuração .npmrc. É possível configurar um arquivo .npmrc no nível do projeto, do usuário ou global.

Ao configurar a autenticação com o Artifact Registry, você define os repositórios que quer se conectar e as credenciais para autenticação.

Repositórios do Artifact Registry

Recomendamos definir a lista de repositórios no arquivo de configuração por projeto. Esse arquivo geralmente está no mesmo diretório que o arquivo package.json no projeto npm. O auxiliar de credenciais do Artifact Registry verifica esse arquivo .npmrc para seus repositórios por padrão.

Se você não quiser expor os caminhos do repositório em seu sistema de controle de origem, é possível:

  • Adicione o nome do arquivo .npmrc à lista de arquivos de controle de origem a ser ignorado.
  • Armazene a lista do repositório no seu arquivo de configuração por usuário. O arquivo .npmrc por usuário está no diretório inicial do usuário ou é definido com o parâmetro npm --userconfig ou a variável de ambiente $NPM_CONFIG_USERCONFIG. As configurações no arquivo de configuração por usuário se aplicam a todos os projetos, a menos que você os modifique no nível do projeto.
Credenciais do Artifact Registry

Armazene as credenciais do Artifact Registry no arquivo de configuração por usuário para que elas não estejam disponíveis para outros usuários. Esse arquivo está localizado no diretório inicial do usuário ou é definido com o parâmetro npm --userconfig ou a variável de ambiente $NPM_CONFIG_USERCONFIG.

O auxiliar de credenciais do Artifact Registry é armazenado no registro npm público e não requer autenticação para instalação.

Mantenha qualquer registro padrão atual configurado no arquivo .npmrc. O padrão é normalmente definido para o registro npm público em https://registry.npmjs.org/.

Para verificar o valor do registro padrão atual, execute o comando:

npm get registry

Para mais informações sobre os arquivos de configuração do NPM, consulte a documentação do arquivo de configuração do npm.