open-index/open-npm huggingface dataset:
npm package: @sj-tech/ext-scripts
Description: NPM scripts for webserverless packages.
Latest version: 0.0.1

# Shared NPM script for webserverless packages.

`webserverlessext` is a command line tool to run shared npm scripts in webserverless packages. 

For instance, if you want add a new `hello` script that prints `Hello World`:

- add a new script to [package.json](./package.json) with the `ext:` prefix.

```json
{
    "name": "@webserverless/ext-scripts",
    "scripts": {
        "ext:hello": "echo 'Hello World'"
    }
}
```

- install `webserverlessext` in your package (the actual version can be different)

```json
{
    "name": "@webserverless/myextension",
    "devDependencies": {
        "@webserverless/ext-scripts": "^0.1.1"
    }
}
```

- you should be able to call `hello` script in the context of your package:

```shell
    npx webserverlessext hello
````

- and from npm scripts of your package:

```json
{
    "name": "@webserverless/myextension",
    "scripts": {
        "hello": "webserverlessext hello"
    }
}
```
npm package: @sj-utils/storage-plus
Description: A lightweight wrapper for localStorage and sessionStorage with auto-expiry and namespacing support
Author: Suhaib Janjua
Latest version: 1.0.0

# StoragePlus

A lightweight TypeScript wrapper for `localStorage` and `sessionStorage` with auto-expiry and namespacing support.

## Features

✨ **Auto-expiry**: Store items with TTL (time-to-live) that automatically expire  
🏷️ **Namespacing**: Avoid key collisions with customizable namespace prefixes  
🔄 **Unified API**: Consistent interface for both localStorage and sessionStorage  
🛡️ **Type Safe**: Full TypeScript support with proper type definitions  
📦 **Lightweight**: No dependencies, minimal footprint  
🔧 **Fallback Handling**: Graceful degradation when storage is unavailable  

## Installation

```bash
npm install @sj-utils/storage-plus
```

## Quick Start

```typescript
import { storage, createLocalStorage, createSessionStorage } from '@sj-utils/storage-plus';

// Use default instances
storage.local.set('user', { name: 'John', age: 30 });
storage.session.set('token', 'abc123', { ttl: 3600000 }); // 1 hour

// Or create custom instances
const userStorage = createLocalStorage({ 
  namespace: 'user', 
  defaultTTL: 86400000 // 24 hours
});

userStorage.set('preferences', { theme: 'dark' });
```

## API Reference

### Creating Storage Instances

#### `createLocalStorage(options?)`
Creates a StoragePlus instance using localStorage.

#### `createSessionStorage(options?)`
Creates a StoragePlus instance using sessionStorage.

#### Options
```typescript
interface StoragePlusOptions {
  namespace?: string;        // Prefix for all keys
  defaultTTL?: number;      // Default TTL in milliseconds
  enableWarnings?: boolean; // Show console warnings (default: true)
}
```

### Storage Methods

#### `set(key, value, options?)`
Store a value with optional expiry.

```typescript
storage.local.set('user', { name: 'John' });
storage.local.set('temp', 'data', { ttl: 5000 }); // Expires in 5 seconds
```

#### `get(key)`
Retrieve a value. Returns `null` if not found or expired.

```typescript
const user = storage.local.get('user');
const temp = storage.local.get('temp'); // null if expired
```

#### `has(key)`
Check if a key exists and is not expired.

```typescript
if (storage.local.has('user')) {
  console.log('User data exists');
}
```

#### `remove(key)`
Remove a specific key.

```typescript
storage.local.remove('user');
```

#### `clear()`
Remove all keys in the namespace.

```typescript
storage.local.clear();
```

## License

MIT © [Suhaib Janjua](mailto:suhaib.janjua@gmail.com)
npm package: @sj1/codemirror-lang-ndsl
Description: Nebula DSL support for the CodeMirror code editor
Author: wangshilian
Latest version: 7.1.3

<!-- NOTE: README.md is generated from src/README.md -->

# @codemirror/lang-ndsl [![NPM version](https://img.shields.io/npm/v/@codemirror/lang-ndsl.svg)](https://www.npmjs.org/package/@codemirror/lang-ndsl)

[ [**WEBSITE**](https://codemirror.net/) | [**ISSUES**](https://github.com/codemirror/dev/issues) | [**FORUM**](https://discuss.codemirror.net/c/next/) | [**CHANGELOG**](https://github.com/codemirror/lang-ndsl/blob/main/CHANGELOG.md) ]

This package implements ndsl language support for the
[CodeMirror](https://codemirror.net/) code editor.

The [project page](https://codemirror.net/) has more information, a
number of [examples](https://codemirror.net/examples/) and the
[documentation](https://codemirror.net/docs/).

This code is released under an
[MIT license](https://github.com/codemirror/lang-ndsl/tree/main/LICENSE).

We aim to be an inclusive, welcoming community. To make that explicit,
we have a [code of
conduct](http://contributor-covenant.org/version/1/1/0/) that applies
to communication around the project.

## API Reference

<dl>
<dt id="user-content-ndsl">
  <code><strong><a href="#user-content-ndsl">ndsl</a></strong>() → <a href="https://codemirror.net/docs/ref#language.LanguageSupport">LanguageSupport</a></code></dt>

<dd><p>ndsl language support.</p>
</dd>
<dt id="user-content-ndsllanguage">
  <code><strong><a href="#user-content-ndsllanguage">ndslLanguage</a></strong>: <a href="https://codemirror.net/docs/ref#language.LRLanguage">LRLanguage</a></code></dt>

<dd><p>A language provider based on the <a href="https://github.com/lezer-parser/ndsl">Lezer ndsl
parser</a>, extended with
highlighting and indentation information.</p>
</dd>
</dl>