{"_id":"@bennersistemas/setup","name":"@bennersistemas/setup","dist-tags":{"latest":"0.1.0"},"versions":{"0.1.0":{"name":"@bennersistemas/setup","version":"0.1.0","description":"Configura a autenticação dos feeds npm da Benner (Azure DevOps Artifacts) via SSO","type":"module","bin":{"benner-setup":"bin/setup.mjs"},"engines":{"node":">=18"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"author":"Benner Sistemas","license":"MIT","keywords":["benner","azure-devops","npm","auth"],"scripts":{"test":"node --test","validate":"node --check bin/setup.mjs && node --check lib/npmrc.mjs && node --test"},"_nodeVersion":"24.19.0","_id":"@bennersistemas/setup@0.1.0","dist":{"integrity":"sha512-W/ZsoMcfBCYZpbakNC6pE/Td10GsjLkqacAIQmgLY2Ww/khlxqNylzQc42yNTIUw6Ojrz4/IiP2BaTHEoaU2zg==","shasum":"63dbcc2628c10badb1f7fddebb0242af31eaa70f","tarball":"https://registry.npmjs.org/@bennersistemas/setup/-/setup-0.1.0.tgz","fileCount":5,"unpackedSize":14475,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIGvxSu6XdZuM3pFWqafXIDX4yjWdLQP1oIOfy6fqTyTbAiB+ZS918qlGFxHgpoNJqB1pm9Okz5fEjYpfK5IW1dGPJg=="}]},"_npmUser":{"name":"miguelbenner","email":"miguel.frantz@benner.com.br"},"directories":{},"maintainers":[{"name":"adm-benner","email":"adm.tecnologia@benner.com.br"},{"name":"miguelbenner","email":"miguel.frantz@benner.com.br"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/setup_0.1.0_1787243018655_0.8258620454570123"},"_hasShrinkwrap":false}},"time":{"created":"2026-08-20T16:23:38.479Z","0.1.0":"2026-08-20T16:23:38.815Z","modified":"2026-08-20T16:23:39.014Z"},"maintainers":[{"name":"adm-benner","email":"adm.tecnologia@benner.com.br"},{"name":"miguelbenner","email":"miguel.frantz@benner.com.br"}],"description":"Configura a autenticação dos feeds npm da Benner (Azure DevOps Artifacts) via SSO","keywords":["benner","azure-devops","npm","auth"],"author":"Benner Sistemas","license":"MIT","readme":"# @bennersistemas/setup\n\nConfigura a autenticação dos feeds npm da Benner (Azure DevOps Artifacts) em uma máquina de desenvolvimento. Roda uma única vez por máquina.\n\n## Uso\n\n```bash\npnpm dlx @bennersistemas/setup\n```\n\nSe este comando falhar com 401 (acontece em projetos que apontam o `registry` para o feed da Benner), use `pnpm --config.registry=https://registry.npmjs.org dlx @bennersistemas/setup`.\n\nO navegador abre para o login corporativo (SSO Microsoft). Depois disso, `pnpm install` autentica no feed da Benner automaticamente, sem nenhum passo extra.\n\n## O que o setup faz\n\n1. Instala um token helper em `%USERPROFILE%\\.benner\\` (Windows) ou `~/.benner/` (macOS/Linux) que gera tokens de acesso via SSO (usa a CLI [azureauth](https://github.com/AzureAD/microsoft-authentication-cli) da Microsoft)\n2. Garante duas linhas no `.npmrc` do usuário (cria o arquivo se não existir):\n   - mapeia o escopo `@benner` para o feed da Benner\n   - registra o token helper para o feed (recurso `tokenHelper` do pnpm)\n3. Faz o primeiro login para deixar a sessão em cache\n\nO setup é **aditivo**: nenhuma linha existente do seu `.npmrc` é removida. Se alguma linha precisar ser substituída (por exemplo, o escopo `@benner` apontando para outra URL), o setup mostra a mudança e pede confirmação antes de aplicar. Em ambientes não interativos, use `--yes` para autorizar substituições.\n\nCredenciais antigas do feed (PAT) são apenas reportadas: o pnpm passa a ignorá-las (o token helper tem precedência) e elas continuam valendo para quem ainda usa npm. Se quiser, remova-as manualmente depois.\n\n## Como funciona a renovação\n\nO token de acesso é renovado automaticamente pela sessão SSO guardada no sistema: no Windows, pelo gerenciador de contas do próprio Windows (WAM, o mesmo do Office), com cache protegido por DPAPI; no macOS, pelo Keychain. Não existe PAT para expirar nem comando de renovação para lembrar.\n\n## Requisitos\n\n- Node 18 ou superior\n- pnpm (o recurso `tokenHelper` é exclusivo do pnpm)\n- Conta corporativa Benner (`@benner.com.br`)\n\n## Problemas comuns\n\n**Erro 401 ao instalar pacotes**: rode o setup novamente (comando da seção Uso).\n\n**O navegador não abre no login**: rode o helper direto para ver o erro: `%USERPROFILE%\\.benner\\ado-token-helper.cmd` (Windows) ou `~/.benner/ado-token-helper` (macOS/Linux).\n\n**Uso com npm ou yarn**: não suportado por este setup. O caminho alternativo é criar um PAT manualmente no Azure DevOps (Packaging > Read) e configurar o `.npmrc` conforme a página \"Connect to feed\" do Artifacts.\n","readmeFilename":"","_rev":"1-0f820e718620cd1fbd8e834ff12498ce"}