open-index/open-npm huggingface dataset:
npm package: @sklyerx/line-counter
Description: An easy CLI tool that allows you to find out how many lines of code your project has!
Author: https://skylerx.ir
Latest version: 2.0.3

# Line Counter V2

An easy CLI tool that allows you to find out how many lines of code your project has!

## Installation

```
npm i -g @sklyerx/line-counter
```

To run the CLI tool with no configurations run:

```
line-counter count
```

To get to know more about the configurations run:

```
line-counter count --help
```

_you can get more information on each configuration by running the command above_

There are many options such as:

- Ignoring files,
- Ignoring extensions,
- Ignoring folders,
- Ignoring empty lines (aka line-breaks),
- verbose mode,
- load, and
- Default Ignores
- save

## Purpose of Project

I built this project because I would always get asked "how many lines of code" is in my project. Whether if it was for an FAQ, docs, or just in general. People wanted to know. I also have seen a lot of [bun](https://bun.sh) content recently on my recommended page (YouTube) so I decided to give it a try.

To my surprise, Bun was **as** fast as advertised. It perfectly installed packages, it worked like any other package manager, and it also hand an insanely low build-time. What was really interesting to me was all the available options that the CLI tool provided.

However, I will be getting into the other aspects of Bun in a separate project. Things such as **realtime server**, **backend development**, **testing**, and **shell scripts**

## Running the project:

### To install the dependencies run:

```
bun install
```

### To test the project in development run:

```
bun run ./src/index.ts count [...options]
```

## Roadmap

- [x] In the near future I may add default configuration to the project to ignore things such as images, lock files, and OS data files.

_for now there are more pending features_
npm package: @sklyerx/noti-saas-sdk
Description: A TypeScript SDK for Noti SaaS
Latest version: 1.0.0

# Noti SDK

A TypeScript SDK for sending and managing notifications through the [Noti API](https://noti.skylerx.ir/docs).

## Installation

```bash
npm install @skylerx/noti-saas-sdk
# or
yarn add @skylerx/noti-saas-sdk
# or
pnpm add @skylerx/noti-saas-sdk
```

## Quick Start

```typescript
import { Client } from '@skylerx/noti-saas-sdk';

// Initialize the client
const client = new Client({
  apiKey: 'your-api-key'
});

// Send a simple notification
await client.send({
  title: 'Hello World',
  color: '0x00ff00',
  fields: [
    { name: 'Status', value: 'Active' }
  ],
  metadata: {
    type: 'welcome'
  }
});
```

## Features

- 🚀 Simple, fluent API
- 💪 Full TypeScript support
- 🎨 Template support with variable interpolation
- ✨ Metadata and custom fields
- 🔍 Event retrieval
- 🛡️ Built-in error handling

## Usage

### Creating and Using Templates

Templates allow you to create reusable notification formats with variable interpolation:

```typescript
// Create a template
const userSignupTemplate = client.template({
  title: 'New User: {{username}}',
  color: '0x00ff00',
  fields: [
    { name: 'Email', value: '{{email}}' },
    { name: 'Plan', value: '{{plan}}' }
  ],
  metadata: {
    type: 'user_signup',
    source: '{{source}}'
  }
});

// Use the template
await userSignupTemplate({
  username: 'johndoe',
  email: 'john@example.com',
  plan: 'Pro',
  source: 'web'
});
```

### Retrieving Events

You can retrieve notification events using their ID:

```typescript
const event = await client.retrieve('event-123');
console.log(event.status); // 'success'
```

### Error Handling

The SDK includes built-in error handling with the `SDKError` class:

```typescript
try {
  await client.send({
    title: 'Test Notification',
    color: '0x00ff00'
  });
} catch (error) {
  if (error instanceof SDKError) {
    console.error('API Error:', error.message);
    console.error('Error Code:', error.code);
  }
}
```

## API Reference

#### Methods

##### send

```typescript
send(options: SendOptions): Promise<SendResult>
```

Options:
- `title` (string): Notification title
- `color` (string): Hex color code (e.g., '0x00ff00')
- `fields` (Array<Field>, optional): Array of name-value pairs
- `metadata` (Record<string, unknown>, optional): Additional metadata

Returns: Promise resolving to send result with eventId

##### template

```typescript
template(content: SendOptions): TemplateSender
```

Creates a reusable template function with variable interpolation.

##### retrieve

```typescript
retrieve(eventId: string): Promise<RetrieveEventData>
```

Retrieves event data for a given notification ID.

## Error Handling

The SDK throws `SDKError` for API-related errors. Each error includes:
- `message`: Human-readable error description
- `code`: Error code (e.g., 'SEND_ERROR', 'RETRIEVE_ERROR')

## Development

### Running Tests

```bash
# Install dependencies
pnpm install

# Run tests
pnpm test
```

## License

MIT

## Contributing

Contributions are welcome! Please feel free to submit a Pull Request.