# Verdaccio — npm pull-through proxy
# All packages are served anonymously (no login needed in CI).
# On first request: fetches from npmjs.org, caches locally.
# On subsequent requests: served from local disk.

storage: /verdaccio/storage
plugins: /verdaccio/plugins

# Listen on all interfaces inside the container
listen: 0.0.0.0:4873

# No auth required for reading (CI-friendly)
auth:
  htpasswd:
    file: /verdaccio/conf/htpasswd
    max_users: -1      # disable self-registration; reads stay open

uplinks:
  npmjs:
    url: https://registry.npmjs.org/
    timeout: 120s
    maxage: 10m
    max_fails: 3
    fail_timeout: 5m

packages:
  # Scoped packages (@org/package)
  "@*/*":
    access: $all
    publish: $all
    proxy: npmjs

  # All other packages
  "**":
    access: $all
    publish: $all
    proxy: npmjs

# Cache settings
publish:
  allow_offline: true   # serve cached version even if upstream is unreachable

logs:
  - { type: stdout, format: pretty, level: http }
