npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2025 – Pkg Stats / Ryan Hefner

@vebasoft/ngx-node-editor

v1.2.1

Published

Vebasoft Node Editor

Downloads

122

Readme

⚠️ License Notice

This software is licensed under PolyForm Noncommercial 1.0.0 for noncommercial use only. Commercial use requires a separate license agreement.

Vebasoft Node Editor

editor

Angular-based node editor library that allows you to create, connect, and process nodes in a visual flow. This repository includes a demo application showing how to use and customize the editor, as well as the core library you can install as an npm package.

Features

  • Flexible Node Definitions: Easily define inputs, outputs, and controls for each node.
  • Node Control Components: Plug-in custom form controls (numeric inputs, text areas, dropdowns, and more).
  • Automatic Layout: auto-layout your node graph with the help of dagre.
  • Serialization & Processing: Serialize node graphs to JSON, process them with custom logic, and restore them.

Demo

https://vebasoft-node-editor.netlify.app

Installation

install it into your Angular application:

npm install @vebasoft/ngx-node-editor

Basic Usage

  1. Import the Module

    In your app, import the NodeEditorComponent

import { ChangeDetectionStrategy, Component } from '@angular/core';
import { NodeEditorComponent } from '@vebasoft/ngx-node-editor';

@Component({
    selector: 'app-basic-editor',
    imports: [
        NodeEditorComponent,
    ],
    templateUrl: './basic-editor.component.html',
    styleUrl: './basic-editor.component.scss',
    changeDetection: ChangeDetectionStrategy.OnPush,
})
export class BasicEditorComponent {
  1. Add the Node Editor Component

    In a component template, use the node editor just like any Angular component:

    <vebasoft-node-editor (setService)="onServiceInit($event)">
    </vebasoft-node-editor>

    Then, in your component class, you can capture the PublicNodeEditorService instance to configure the node editor, register nodes, set up controls, etc.:

import { ChangeDetectionStrategy, Component } from '@angular/core';
import { NodeEditorComponent, PublicNodeEditorService } from '@vebasoft/ngx-node-editor';

@Component({
    selector: 'app-basic-editor',
    imports: [
        NodeEditorComponent,
    ],
    templateUrl: './basic-editor.component.html',
    styleUrl: './basic-editor.component.scss',
    changeDetection: ChangeDetectionStrategy.OnPush,
})
export class BasicEditorComponent {
     onServiceInit(service: PublicNodeEditorService) {
       // Register your node definitions, controls, etc.
       // e.g.: service.nodeRegistry.registerNode(...);
     }
   }
  1. Define Your Nodes

    This library is built to let you register custom node definitions. You can see in the demo how allNodes are defined, each implementing a shape with inputs, outputs, and optional controls. For example:

    import { NodeType } from '@vebasoft/ngx-node-editor';
    import { Socket } from 'path/to/socket';
    
    export const exampleNodeType: NodeType<Socket, any, any, any> = {
      id: 'example',
      name: 'Example Node',
      inputs: [
        {
          id: 'inputA',
          name: 'Input A',
          type: Socket.NUMBER,
        },
      ],
      outputs: [
        {
          id: 'outputA',
          name: 'Output A',
          type: Socket.NUMBER,
        },
      ],
    };
  2. Process the Graph

    Once your nodes are set up and connected, you can call service.process(...) to run custom worker logic and produce results.

    // Example worker map
    const workerMap = {
      example: (inputs) => {
        // Compute outputs, return them
        return { outputA: inputs.inputA * 2 };
      }
    };
    
    // Then in your code:
    service.process(workerMap, {});

Demo / Example

This repository also includes a demo project illustrating how to:

  • Register custom node types (numNodeType, addNodeType, etc.).
  • Plug in custom controls (numeric fields, text inputs, checkboxes, and so on).
  • Serialize/deserialize the node graph, copy/paste, and more.

You can run the demo locally by cloning this repo, installing dependencies, and running:

npm install
npm run start

Then open http://localhost:4200 in your browser.

Development

  • Build the Library:

    npm run build

    This compiles and bundles the ngx-vebasoft-node-editor library.

  • Testing:

    npm test

License

This project is licensed under the PolyForm Noncommercial 1.0.0 License.


For more details and examples, explore the code in the projects/demo folder and the library source code in projects/ngx-vebasoft-node-editor. Feel free to open issues or contribute improvements!