open-index/open-npm huggingface dataset:
npm package: @newcubator/gatsby-source-gitlab-issues
Description: Function for receiving and storing locations from overland.
Author: newcubator GmbH
Latest version: 0.0.1



# Why writing a custom plugin?

We first started with [gatsby-source-graphql](https://github.com/gatsbyjs/gatsby/tree/master/packages/gatsby-source-graphql). It worked had some huge limitations and code smells.

There are also other source plugins for gitlab but [gatsby-source-gitlab](https://github.com/byurhanbeyzat/gatsby-source-gitlab) and [gatsby-source-gitlab-api](https://github.com/28development/gatsby-source-gitlab-api) both do not include support for issues.
npm package: @newdash/graphlib
Description: A directed and undirected multi-graph library
Author: Chris Pettitt
Latest version: 3.1.4

# Graph Library - NewDash Fork

> graphlib with security update & type definition

[![npm (scoped)](https://img.shields.io/npm/v/@newdash/graphlib?label=graphlib)](https://www.npmjs.com/package/@newdash/graphlib)
[![node-test](https://github.com/newdash/graphlib/actions/workflows/nodejs.yml/badge.svg)](https://github.com/newdash/graphlib/actions/workflows/nodejs.yml)
[![codecov](https://codecov.io/gh/newdash/graphlib/branch/main/graph/badge.svg?token=fiCYkiPBex)](https://codecov.io/gh/newdash/graphlib)

[![Security Rating](https://sonarcloud.io/api/project_badges/measure?project=newdash_graphlib&metric=security_rating)](https://sonarcloud.io/dashboard?id=newdash_graphlib)
[![Bugs](https://sonarcloud.io/api/project_badges/measure?project=newdash_graphlib&metric=bugs)](https://sonarcloud.io/dashboard?id=newdash_graphlib)
[![Technical Debt](https://sonarcloud.io/api/project_badges/measure?project=newdash_graphlib&metric=sqale_index)](https://sonarcloud.io/dashboard?id=newdash_graphlib)

## Quick Start

```bash
npm i -S @newdash/graphlib
```

```typescript
import { Graph } from "@newdash/graphlib"

const g = var g = new Graph({ directed: true, compound: true, multigraph: true });
g.setNode("my-id", "my-label");
g.node("my-id"); // returns "my-label"
```

## [API REFERENCE](https://github.com/dagrejs/graphlib/wiki/API-Reference)

## [CHANGELOG](./CHANGELOG.md)

## [LICENSE](./LICENSE)
npm package: @newdash/inject
Description: typescript dependency inject container
Latest version: 0.2.31

# Dependency Inject Container

[![npm (scoped)](https://img.shields.io/npm/v/@newdash/inject?label=@newdash/inject)](https://www.npmjs.com/package/@newdash/inject)
[![Codecov](https://codecov.io/gh/newdash/inject/branch/master/graph/badge.svg)](https://codecov.io/gh/newdash/inject)
[![Netlify](https://img.shields.io/netlify/70db22cf-e923-4aa9-ac52-8591056c70f1?label=docs)](https://newdash-inject.netlify.fornever.org/)
[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=newdash_inject&metric=alert_status)](https://sonarcloud.io/dashboard?id=newdash_inject)
[![Security Rating](https://sonarcloud.io/api/project_badges/measure?project=newdash_inject&metric=security_rating)](https://sonarcloud.io/dashboard?id=newdash_inject)

Yet another `dependency injection` container for `typescript`

## Quick Start

```bash
# install libs
npm i -S reflect-metadata @newdash/inject
```

```json5
// tsconfig.json
// remember enable decorator related flags
{
  "compilerOptions": {
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true
  }
}
```

```ts
// import reflect lib firstly
import "reflect-metadata"; 
import { inject } from "@newdash/inject"

// a really simple example
it('should support deep constructor injection', async () => {

  class A {
    v: number
    constructor(@inject("v") v) {
      this.v = v;
    }
  }

  class B {
    a: InjectWrappedInstance<A>
    constructor(@inject(A) a) {
      this.a = a;
    }
  }

  const ic = InjectContainer.New();
  ic.registerInstance("v", 999); // define an instance provider in simple way
  const b = await ic.getInstance(B);
  expect(b.a.v).toBe(999);

});
```

## [CHANGELOG](./CHANGELOG.md)

## [LICENSE](./LICENSE)
npm package: @newdash/native
Description: ![npm (scoped)](https://img.shields.io/npm/v/@newdash/native) [![rust-build](https://github.com/newdash/wasm-native-template/actions/workflows/rust.yml/badge.svg)](https://github.com/newdash/wasm-native-template/actions/workflows/rust.yml)
Author: Theo Sun
Latest version: 1.1.1

# @newdash/native

![npm (scoped)](https://img.shields.io/npm/v/@newdash/native)
[![rust-build](https://github.com/newdash/wasm-native-template/actions/workflows/rust.yml/badge.svg)](https://github.com/newdash/wasm-native-template/actions/workflows/rust.yml)

> WASM native module template

## [CHANGELOG](./CHANGELOG.md)

## [LICENSE](./LICENSE)
npm package: @newdash/npm-update-all
Description: update all dependencies for project
Latest version: 0.1.10

# npm update all

![node-test](https://github.com/newdash/npm-update-all/workflows/node-test/badge.svg)
[![npm (scoped)](https://img.shields.io/npm/v/@newdash/npm-update-all?label=@newdash/npm-update-all)](https://www.npmjs.com/package/@newdash/npm-update-all)

Update **all** dependencies to the latest version.

Currently, you can use [`npm update`](https://docs.npmjs.com/cli/v8/commands/npm-update) command as alternative

## Usage

```bash
npm i -g @newdash/npm-update-all # install
npm-update-all # in current project
npm-update-all -p ./subject/package.json # in a relative project
```

## Example

```bash
npx @newdash/npm-update-all
Using package.json /Users/TheoSun/repos/odata-v4-parser/package.json
Pulling package information from https://registry.npmjs.org
 ████████████████████████████████████████ 100% | ETA: 0s | 12/12
? Update @newdash/newdash from 5.12.0 to 5.13.0 ? Yes
? Update @types/jest from 26.0.10 to 26.0.13 ? Yes
? Update @types/node from 14.6.0 to 14.10.2 ? Yes
? Update @typescript-eslint/eslint-plugin from 3.10.1 to 4.1.1 ? Yes
? Update @typescript-eslint/parser from 3.10.1 to 4.1.1 ? Yes
? Update eslint from 7.7.0 to 7.9.0 ? Yes
? Update typescript from 3.9.7 to 4.0.2 ? Yes
? Confirm write to /Users/TheoSun/repos/odata-v4-parser/package.json ? Yes
```

## [CHANGELOG](./CHANGELOG.md)

## [LICENSE](./LICENSE)
npm package: @newdash/ws-proxy
Description: build http proxy under websocket
Latest version: 1.0.4

# ws-proxy

[![npm (scoped)](https://img.shields.io/npm/v/@newdash/ws-proxy)](https://www.npmjs.com/package/@newdash/ws-proxy)
[![node-test](https://github.com/Soontao/ws-proxy/actions/workflows/nodejs.yml/badge.svg)](https://github.com/Soontao/ws-proxy/actions/workflows/nodejs.yml)
[![codecov](https://codecov.io/gh/Soontao/ws-proxy/branch/main/graph/badge.svg?token=7UAYhJ0lP3)](https://codecov.io/gh/Soontao/ws-proxy)

> provide http proxy under web socket

## High Level Design

![](https://res.cloudinary.com/digf90pwi/image/upload/v1626255042/ws-proxy_1_ezuxfy.png)

## Example

> an example proxy server with client

server

```ts
import http from "http";
import { ProxyServer } from "../src/server";

const SERVER_PORT = 10032;
const server = http.createServer();
new ProxyServer({ server });
server.listen(SERVER_PORT);
```

client

```ts
import http from "http";
import { ProxyClient } from "../src/client";

const SERVER_PORT = 10032;
const CLIENT_PORT = 50001;

const client = new ProxyClient(
  `ws://server.host.com:${SERVER_PORT}`,
  CLIENT_PORT
);
client.ready().then(()=>{
  console.log("proxy ready")
});
// http proxy ready on http://127.0.0.1:50001

```

## [CHANGELOG](./CHANGELOG.md)

## [LICENSE](./LICENSE)
npm package: @newdevai/openclaw-plugin-nexai-websearch
Description: OpenClaw web_search provider plugin for NEXAI WebSearch
Author: NEXAI
Latest version: 0.1.0

# @newdevai/openclaw-plugin-nexai-websearch

OpenClaw `web_search` provider plugin for NEXAI WebSearch.

## Requirements

- OpenClaw CLI `2026.3.13`
- NEXAI WebSearch API key

Check version:

```bash
openclaw --version
```

## Install (Published Package)

```bash
npm i @newdevai/openclaw-plugin-nexai-websearch
# install into OpenClaw
openclaw plugins install @newdevai/openclaw-plugin-nexai-websearch
openclaw gateway restart
```

## Install (Local Source)

```bash
git clone <your-public-repo-url>
cd openclaw-plugin-nexai-websearch
npm install
npm run build

openclaw plugins install /absolute/path/to/openclaw-plugin-nexai-websearch
openclaw gateway restart
```

`openclaw plugins install` may show:

Plugin config key is `openclaw-plugin-nexai-websearch` (plugin id).

## Configure OpenClaw (`~/.openclaw/openclaw.json`)

```json5
{
  plugins: {
    entries: {
      "openclaw-plugin-nexai-websearch": {
        enabled: true,
        config: {
          webSearch: {
            apiKey: "YOUR_NEXAI_WEBSEARCH_KEY",
            // optional
            // baseUrl: "https://nexai.newdev.net/api/v1"
          }
        }
      }
    }
  },
  tools: {
    web: {
      search: {
        enabled: true,
        provider: "nexai_websearch",
        maxResults: 5,
        timeoutSeconds: 30,
        cacheTtlMinutes: 15
      }
    }
  }
}
```

## Environment Fallback

```bash
export NEXAI_WEBSEARCH_API_KEY="YOUR_NEXAI_WEBSEARCH_KEY"
# optional
export NEXAI_WEBSEARCH_BASE_URL="https://nexai.newdev.net/api/v1"
```

Then restart:

```bash
openclaw gateway restart
```

## Verify

```bash
openclaw plugins list
```

Expected:

- plugin id: `openclaw-plugin-nexai-websearch`
- status: `loaded`

## Tool parameters

- `query` (required)
- `pageno` (optional, default 1)

## Development

```bash
npm install
npm run typecheck
npm run build
```

## Publish

```bash
npm publish --access public
```
npm package: @neweracode/cdk-codepipeline-github
Description: An AWS CDK construct that sends codbuild and codepipeline status events to github
Author: Julia Jacobs
Latest version: 1.9.0

# NewEraCode CDK Codepipeline-Github

## Description

An [AWS CDK](https://docs.aws.amazon.com/cdk/latest/guide/home.html) construct that publishes status events from a stage in Codepipeline
to a Github repo using webhooks

## Setup with Github

A github token is required for this module. It needs to be imported into the secrets manager.

Here is an example of how to import it using the aws sdk cli:

```
aws secretsmanager create-secret --name "TOKENS/PIPELINE/GithubToken" --description "Github Token" --secret-string <token_value>
```

Should the stage be a Codebuild Project, make sure the github token gets imported to CodeBuild:

```
aws codebuild import-source-credentials --server-type GITHUB --auth-type PERSONAL_ACCESS_TOKEN --token <token_value>
```

## Usage

### Install

```bash
$ npm i @neweracode/cdk-codepipeline-github
```
### Import

**NodeJS**
```javascript
const ccg = require('@neweracode/cdk-codepipeline-github');
new ccg.CdkCodepipelineGithub(.....)
```
**TypeScript / Babel**
```typescript
import { CdkCodepipelineGithub } from '@neweracode/cdk-codepipeline-github';
```

### Example
```typescript
// One possible way to get an existing secret's arn - using AwsCustomResource
// and AWS SecretsManager SDK
import { AwsCustomResource } from '@aws-cdk/custom-resources';
import { CdkCodepipelineGithub } from '@neweracode/cdk-codepipeline-github';
import { Pipeline } = require('@aws-cdk/aws-codepipeline');

const getGithubSecret = new AwsCustomResource(this, 'GetGithubSecret', {
  onUpdate: {
     service: 'SecretsManager',
     action: 'describeSecret',
     parameters: {
        SecretId: 'TOKENS/PIPELINE/GithubToken' // ID of secret
     },
     physicalResourceId: Date.now().toString()
  }
});
// ARN is a property in the describeSecret SDK response
const gitHubSecretArn = `${getGithubSecret.getData("ARN")}` as string;

// pipeline
const pipeline = new Pipeline(this, 'Pipeline', {
  restartExecutionOnUpdate: true
});

// source stage
pipeline.addStage({
  stageName: 'Source',
  actions: [sourceAction]

// build stage
const buildStage = pipeline.addStage({
  stageName: 'Build',
  actions: [buildAction]
});

// Github status checks based on status of the build stage
new CdkCodepipelineGithub(this, 'GithubCodepipeline', {
  stage: buildStage,
  gitHubSecretArn
});

// deploy stage
pipeline.addStage({
  stageName: 'Deploy',
  actions: [deployAction]
});

// or check status of pipeline itself:
new CdkCodepipelineGithub(this, 'GithubCodepipeline', {
  pipeline,
  gitHubSecretArn
});
```
npm package: @neweracode/cdk-deletion-protection
Description: An AWS CDK construct that protects infrastructure from deletion
Author: Julia Jacobs
Latest version: 1.9.1

# NewEraCode Deletion Protection Component

## Description

An [AWS CDK](https://docs.aws.amazon.com/cdk/latest/guide/home.html) construct that protects the stack from being deleted or a resource from being deleted during update or deployment.

## Usage

### Install

```shell
$ npm i @neweracode/cdk-deletion-protection
```
### Import

**NodeJS**
```javascript
const cdp = require('@neweracode/cdk-deletion-protection');
const deletionProtection = new cdp.CDKDeletionProtection(....)
```
**TypeScript / Babel**
```typescript
import { CDKDeletionProtection } from '@neweracode/cdk-deletion-protection';
```

Example:

```typescript
import { UserPool, CfnUserPool } from '@aws-cdk/aws-cognito';
import { CDKDeletionProtection } from '@neweracode/cdk-deletion-protection';

const deletionProtection = new CDKDeletionProtection(this, 'ProtectionPolicies', {
    resourceDeletionPolicy: "RETAIN",
    terminationProtection: true,
});

// enable stack termination deletion protection:
deletionProtection.setStackTerminationProtection(this.stackName);

// protect a Cognito User Pool from getting deleted on update:
const userPool = new UserPool(this, 'cdkUserPool', {...});
const cfnUserPool = userPool.node.defaultChild as CfnUserPool;
deletionProtection.setResourcePolicy(cfnUserPool);
```
npm package: @neweracode/cdk-static-site
Description: An AWS CDK construct that creates static site infrastructure
Author: Julia Jacobs
Latest version: 1.9.0

# NewEraCode Static Website Component

## Description

An [AWS CDK](https://docs.aws.amazon.com/cdk/latest/guide/home.html) construct that creates static site infrastructure, which uses an S3 bucket for the content.

The site redirects from HTTP to HTTPS, using a CloudFront distribution,
Route53 alias record, and ACM certificate.

The ACM certificate is expected to be created and validated outside of the CDK,
with the certificate ARN stored in an SSM Parameter.

## Usage

### Install

```bash
npm i @neweracode/cdk-static-website
```
### Import

**NodeJS**
```javascript
const cds = require('@neweracode/cdk-static-site');
new cds.CdkStaticSite(....)
```
**TypeScript / Babel**
```typescript
import { CdkStaticSite } from '@neweracode/cdk-static-site';
```

Example:

```typescript
import { App, RemovalPolicy, Stack, StackProps } from '@aws-cdk/core';
import { CdkStaticSite } from './cdk-static-site';

export class ComponentStack extends Stack {
    public constructor(parent: App, name: string, props?: StackProps) {
        super(parent, name, props);

        new CdkStaticSite(this, 'StaticWebsite', {
            bucketConfiguration: {
                bucketName: "myBucket",
                removalPolicy: RemovalPolicy.RETAIN,
                websiteIndexDocument: "index.html",
                websiteErrorDocument: "error.html",
                source: "websiteFiles" // local directory with static files
            },
            aliasConfiguration: {
                domainName: "domain.com"
                siteDomain: "example.domain.com",
                acmCertRef: "arn:aws:acm:us-east-1:....."
            },
        });
    }
}
```