open-index/open-npm huggingface dataset:
npm package: @ideapedcode/starter-cli
Description: CLI tool for creating Node.js starter projects ideapedcode
Author: All Contributors
Latest version: 1.0.3

# IDC CLI

A command-line interface (CLI) tool for creating Node.js starter projects. This tool allows you to quickly scaffold new Node.js projects using predefined templates from GitHub repositories.

## Features

- Interactive prompt for selecting starter templates
- Supports multiple Node.js starter templates
- Downloads and clones GitHub repositories directly

## Installation
Install globally via npm:
```bash
npm install -g idc-cli
```

Or use directly with npx:
```bash
npx idc-cli starter
```

## Starter
- node-basic-starter : A minimal production-ready monolithic backend for using Node.js, Express, and MongoDB.

- node-intermediate-starter : A robust Node.js backend API for with authentication, caching, and comprehensive testing.

## Development

### Prerequisites
- Node.js (v14 or higher)
- npm or yarn
- Git

### Building
Compile TypeScript to JavaScript:
```bash
npm run build
```

### Testing Locally
After building and linking:
```bash
npx idc starter
```

## Contributing

1. Fork the repository
2. Create a feature branch: `git checkout -b feature/your-feature`
3. Make your changes and test them
4. Commit your changes: `git commit -am 'Add some feature'`
5. Push to the branch: `git push origin feature/your-feature`
6. Submit a pull request

## License

This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.

## Support

If you encounter any issues or have questions, please open an issue on the GitHub repository.
npm package: @ideaplex/ylru
Description: Typescript version, enpm xtends LRU base on hashlru
Latest version: 1.3.0

# @idexplex/ylru 

Typescript version.

<!-- [![NPM version][npm-image]][npm-url]
[![build status][travis-image]][travis-url]
[![Test coverage][codecov-image]][codecov-url]
[![David deps][david-image]][david-url]
[![Known Vulnerabilities][snyk-image]][snyk-url]
[![npm download][download-image]][download-url]

[npm-image]: https://img.shields.io/npm/v/ylru.svg?style=flat-square
[npm-url]: https://npmjs.org/package/ylru
[travis-image]: https://img.shields.io/travis/node-modules/ylru.svg?style=flat-square
[travis-url]: https://travis-ci.org/node-modules/ylru
[codecov-image]: https://img.shields.io/codecov/c/github/node-modules/ylru.svg?style=flat-square
[codecov-url]: https://codecov.io/github/node-modules/ylru?branch=master
[david-image]: https://img.shields.io/david/node-modules/ylru.svg?style=flat-square
[david-url]: https://david-dm.org/node-modules/ylru
[snyk-image]: https://snyk.io/test/npm/ylru/badge.svg?style=flat-square
[snyk-url]: https://snyk.io/test/npm/ylru
[download-image]: https://img.shields.io/npm/dm/ylru.svg?style=flat-square
[download-url]: https://npmjs.org/package/ylru -->

**hashlru inspired**

[hashlru](https://github.com/dominictarr/hashlru) is the **Simpler, faster LRU cache algorithm.**
Please checkout [algorithm](https://github.com/dominictarr/hashlru#algorithm) and [complexity](https://github.com/dominictarr/hashlru#complexity) on hashlru.

ylru extends some features base on hashlru:

- cache value can be **expired**.
- cache value can be **empty value**, e.g.: `null`, `undefined`, `''`, `0`

## Usage

```js
const LRU = require('ylru');

const lru = new LRU(100);
lru.set(key, value);
lru.get(key);

// value2 will be expired after 5000ms
lru.set(key2, value2, { maxAge: 5000 });
// get key and update expired
lru.get(key2, { maxAge: 5000 });
```

### API

## LRU(max) => lru

initialize a lru object.

### lru.get(key[, options]) => value | null

- `{Number} options.maxAge`: update expire time when get, value will become `undefined` after `maxAge` pass.

Returns the value in the cache.

### lru.set(key, value[, options])

- `{Number} options.maxAge`: value will become `undefined` after `maxAge` pass.
If `maxAge` not set, value will be never expired.

Set the value for key.

### lru.keys()

Get all unexpired cache keys from lru, due to the strategy of ylru, the `keys`' length may greater than `max`.

```js
const lru = new LRU(3);
lru.set('key 1', 'value 1');
lru.set('key 2', 'value 2');
lru.set('key 3', 'value 3');
lru.set('key 4', 'value 4');

lru.keys(); // [ 'key 4', 'key 1', 'key 2', 'key 3']
// cache: {
//   'key 4': 'value 4',
// }
// _cache: {
//   'key 1': 'value 1',
//   'key 2': 'value 2',
//   'key 3': 'value 3',
// }
```

## License

[MIT](LICENSE)
npm package: @ideaportriga/nexus-bridge
Description: Bridges the gap between the jQuery-based API for Siebel Open UI and modern JS frameworks
Author: IDEAPORT RIGA AS
Latest version: 2.3.16

# Nexus Bridge

## Development

```bash
yarn
yarn build
```

*Note: If you are on Windows, you can get the error `'rm' is not recognized as an internal or external command` trying to build. In this case you can compile in Microsoft Visual Studio Code using `bash` shell (for example, available in git installation)* 

## Installation

```bash
yarn add @ideaportriga/nexus-bridge
```

## References

- [Wiki](https://github.com/ideaportriga/nexus-bridge/wiki)
- [Home Page](https://pro.ideaportriga.com/offers/siebel-nexus19)
npm package: @ideaportriga/nexus-factory
Description: Factory of Nexus Bridge singletons
Author: Idea Port Riga
Latest version: 2.2.2

# Nexus Factory

## Development

```bash
yarn
yarn build
```

*Note: If you are on Windows, you can get the error `'rm' is not recognized as an internal or external command` trying to build. In this case you can compile in Microsoft Visual Studio Code using `bash` shell (for example, available in git installation)* 

## Installation

```bash
yarn add @ideaportriga/nexus-factory
```

## References

- [@ideaportriga/nexus-factory][1]

[1]: (https://www.npmjs.com/package/@ideaportriga/nexus-factory)
npm package: @idearium/cloudflare-queues
Description: A library to safely process Cloudflare messages.
Author: Scott Mebberson
Latest version: 1.0.0

# @idearium/cloudflare-queues

Safely process Cloudflare Queues batches and messages.

To find out more, read the [documentation for @idearium/cloudflare-queues](https://idearium.github.io/idearium-lib/docs/cloudflare-queues).
npm package: @idearium/encryption
Description: A package to make encrypting and decrypting plain text trivial.
Author: Scott Mebberson
Latest version: 1.0.1

# @idearium/encryption

A library to make encrypting and decrypting plain text in Node.js painless.

To find out more, read the [documentation for @idearium/encryption](https://idearium.github.io/idearium-lib/docs/encryption).
npm package: @idearium/eslint-config
Description: Idearium ESLint config.
Author: Allan Chau
Latest version: 5.0.0

# eslint-config-idearium

[![npm](https://img.shields.io/npm/v/@idearium/eslint-config.svg)](https://www.npmjs.com/package/@idearium/eslint-config)

## Installation

This package is available on [NPM](https://www.npmjs.com/package/@eslint/eslint-config):

  ```shell
  $ npm install @idearium/eslint-config
  ```
  ```javascript
  // @ eslint.config.js
  import { defineConfig } from 'eslint/config';

  // For node.js code.
  import ideariumConfig from '@idearium/eslint-config';

  // For next.js code.
  import ideariumConfig from '@idearium/eslint-config/src/next';

  // For browser code (ES5).
  import ideariumConfig from '@idearium/eslint-config/src/browser';

  export default defineConfig([{ extends: [ideariumConfig] }]);
  ```
npm package: @idearium/log-insightops
Description: Idearium logger insightops transport
Author: Scott Mebberson
Latest version: 2.0.0

# @idearium/log-insightops

The Idearium logger InsightOps transport.

To find out more, read the [documentation for @idearium/log-insighops](https://idearium.github.io/idearium-lib/docs/log-insighops).
npm package: @idearium/log-structured
Description: Idearium logger structured logging formatter
Author: Scott Mebberson
Latest version: 1.0.4

# @idearium/log-structured

The Idearium logger structured formatter.

Formats logs from @idearium/log-http based on [Structured Logging](https://cloud.google.com/logging/docs/structured-logging).

To find out more, read the [documentation for @idearium/log-structured](https://idearium.github.io/idearium-lib/docs/log-structured).
npm package: @idearium/promise-all-settled
Description: A package to make using Promise.allSettled easier to use.
Author: Allan Chau
Latest version: 1.0.0

# @idearium/promise-all-settled

Making it easier to work with Promise.allSettled.

To find out more, read the [documentation for @idearium/promise-all-settled](https://idearium.github.io/idearium-lib/docs/promise-all-settled).
npm package: @ideasasylum/wombat-rules
Description: TypeScript wrapper around JSONLogic for evaluating business rules in Cloudflare Workers
Latest version: 0.1.0

# JSONLogic Rules Engine

A TypeScript wrapper around JSONLogic for evaluating business rules in Cloudflare Workers and other JavaScript environments.

## Overview

This library provides a simple, type-safe interface for working with JSONLogic rules. It wraps the `json-logic-js` library and adds utilities for analyzing and validating rules before execution.

## Features

- **Evaluate Rules**: Execute JSONLogic rules against provided data
- **Analyze Dependencies**: Extract all data keys required by a rule
- **Validate Execution**: Verify if a rule can be executed with given data
- **Type Safety**: Full TypeScript support with proper type definitions
- **Cloudflare Workers Ready**: Designed to run in edge environments
- **Zero Dependencies**: Minimal footprint with only JSONLogic as a dependency

## Use Cases

- Business rule evaluation in serverless functions
- Dynamic permission systems
- Feature flags and A/B testing logic
- Data validation and filtering
- Conditional workflows

## API Overview

```typescript
import { evaluateRule, getRequiredKeys, canExecuteRule } from 'jsonlogic-rules';

// 1. Evaluate a rule with data
const rule = { "==": [{ "var": "user.age" }, 18] };
const data = { user: { age: 18 } };
const result = evaluateRule(rule, data); // true

// 2. Get required data keys from a rule
const keys = getRequiredKeys(rule); // ['user.age']

// 3. Check if rule can execute with provided data
const canRun = canExecuteRule(rule, data); // true
```

## Installation

```bash
npm install
```

## Development

See [ARCHITECTURE.md](./ARCHITECTURE.md) for technical details and [TASKS.md](./TASKS.md) for implementation roadmap.

## Target Runtime

This library is designed to work in Cloudflare Workers but is compatible with any JavaScript environment that supports ES modules.

## Design Principles

- **Simple**: Minimal API surface with clear, focused functions
- **Type-Safe**: Leverage TypeScript for better developer experience
- **Tested**: Comprehensive unit tests for all functionality
- **Standards**: Follow JavaScript/TypeScript ecosystem best practices
- **Maintainable**: Clear code structure with good separation of concerns

## JSONLogic Primer

JSONLogic rules are expressed as JSON objects with operators and values:

```json
{
  "and": [
    { ">": [{ "var": "temp" }, 0] },
    { "<": [{ "var": "temp" }, 100] }
  ]
}
```

This rule checks if temperature is between 0 and 100. Learn more at [jsonlogic.com](https://jsonlogic.com/).

## License

MIT