# verdaccio-plugin-community-nodes

A Verdaccio plugin that filters n8n community nodes to ensure only approved versions are available through your registry.

## Description

This plugin integrates with the n8n community nodes API to validate package versions. When a package is requested, the plugin checks if the requested version exists in the n8n community nodes registry and filters the metadata accordingly.

## Installation

```bash
npm install -g verdaccio-plugin-community-nodes
```

Or add it to your Verdaccio configuration:

```bash
npm install --save verdaccio-plugin-community-nodes
```

## Configuration

Add the plugin to your Verdaccio `config.yaml`:

```yaml
filters:
  community-nodes:
    enabled: true               # Enable or disable the plugin
    environment: staging        # API environment: 'staging' or 'production'
    apiUrl: https://custom-url  # Optional custom API URL
```

## How It Works

The plugin:

1. Intercepts package metadata requests
2. Queries the n8n community nodes API to check allowed versions
3. Filters package metadata to only include approved versions
4. Passes the filtered metadata back to the Verdaccio server

## Development

```bash
# Install dependencies
npm install

# Build the plugin
npm run build

# Watch mode during development
npm run watch
```

## Docker Setup

This repository includes Docker configuration for testing:

```bash
cd docker
docker compose up -d
```
