open-index/open-npm huggingface dataset:
npm package: @mandalalabs/magishift.core
Description: Magi ▲ Shift Core 
Author: mandalalabs
Latest version: 1.1.49

# Magi Shift Core

Magishift is Low-Code Framework, helps you to build application easier, faster and a more efficient use of time. By using magishift it doesn’t matter whether you have software engineer background or not to start deploy your application.

## Code of conduct

* Never create feature/module that specific to one project
* Always create interface and abstraction layer
* If you unsure always ask, cause if you break something here means other project will break
* Always create unit test properly
npm package: @mandalify/firebase-config-generator
Description: Generate 'firebase.json' configuration files using TypeScript
Author: Jake Krog
Latest version: 0.1.0

# firebase-config-generator

Generate 'firebase.json' configuration files using TypeScript

## Installation

### NPM
```bash
npm install --save-dev @mandalify/firebase-config-generator
```

### Yarn
```bash
yarn add --dev @mandalify/firebase-config-generator
```

## Basic Usage

### 1. Create config file at **`./firebase.config.ts`**

```typescript
import {generateFirebaseConfig} from '@mandalify/firebase-config-generator'

generateFirebaseConfig({
    firestore: {
        rules: 'firestore.rules',
        indexes: 'firestore.indexes.json',
    },
    functions: {
        source: 'functions',
    },
    storage: {
        rules: 'storage.rules',
    }
})
```

### 2. Add `generate:config` script to `package.json`

```
    ...
    "scripts": {
      "generate:config": "ts-node firebase.config.ts"
    }
    ...
}
```

### 3. Run

#### NPM
```bash
npm run generate:config

> generate:config
> ts-node firebase.config.ts

writing firebase.json
```

#### Yarn
```bash
yarn generate:config

> generate:config
> ts-node firebase.config.ts

writing firebase.json
```

## Advanced

```typescript
// firebase.config.ts
import {
    EmulatorsConfig,
    FirebaseConfig, 
    FirestoreConfig,
    FunctionsConfig,
    StorageConfig,
    generateFirebaseConfig,
} from '@mandalify/firebase-config-generator'

const AUTH_EMULATOR_PORT = 9099
const FIRESTORE_EMULATOR_PORT = 8080
const FUNCTIONS_EMULATOR_PORT = 5001

function emulatorsConfig(host: string, uiEnabled: boolean): EmulatorsConfig {
    return {
        auth: {host, port: AUTH_EMULATOR_PORT},
        functions: {host, port: FUNCTIONS_EMULATOR_PORT},
        firestore: {host, port: FIRESTORE_EMULATOR_PORT},
        ui: {enabled: uiEnabled}
    }
}

const firestore: FirestoreConfig = {
    rules: 'firestore.rules',
    indexes: 'firestore.indexes.json',
}

const functions: FunctionsConfig = {
    source: 'functions',
}

const storage: StorageConfig = {
    rules: 'storage.rules',
}

const baseConfig: FirebaseConfig = {
    firestore,
    functions,
    storage,
}

generateFirebaseConfig({
    // 'default' writes to firebase.json
    default: {
        ...baseConfig,
        functions: {
            ...functions,
            predeploy: [
                "npm --prefix functions install",
                "npm --prefix functions run lint",
                "npm --prefix functions run build"
            ]
        },
        emulators: emulatorsConfig('0.0.0.0', true),
    },
    
    // arbitrary keys write to firebase.{key}.json
    githhub: {
        ...baseConfig,
        emulators: emulatorsConfig('localhost', false),
    }
})
```

**Output**
```bash
npm run generate:config

> generate:config
> ts-node firebase.config.ts

writing firebase.json
writing firebase.github.json
```
npm package: @mandanyaina/reactts-starter
Description: A React code base under Typescript and SCSS style sheet to quickly start a React application
Author: Manda Ny Aina ANDRIANAIVO
Latest version: 1.0.10


# ReactTS Starter

A React code base under Typescript and SCSS style sheet to quickly start a 
React application, with preinstalled UI libraries such as: 
[PrimeReact](https://www.primefaces.org/primereact/), 
[PrimeFlex](https://www.primefaces.org/primeflex/), 
[ReactToastify](https://www.npmjs.com/package/react-toastify). 
The folder structure is very easy to understand and makes it easy to integrate 
functionality (clean code approach). Easy installation and deployment 
(under Docker).


## Installation

- Create your project < my-project-name > with npm

```shell
  $ npm i --location=global @mandanyaina/reactts-starter
  $ reactts-starter
    ? Name of your project : <my-project-name>
    Choose the installation mode :  (Use arrow keys)
    ❯ Docker-compose 
      Local npm 
  $ cd <my-project-name>/
```

- Download from git repository

```shell
  $ git pull https://github.com/MandaNyAina/reactts-starter-code <my-project-name>
  $ cd <my-project-name>/
```
## Running with docker compose

```shell
  $ cd my-project/
  $ docker-compose run app npm start
```
## Running Tests

To run tests of format and lint, run the following command

```shell
  $ npm run format
  $ npm run checkform
  $ npm run lint
```

To run unit test, run the following command

```shell
  $ npm run test
```

## Environment Variables

To run this project, you will need to add the following environment 
variables to your .env file

`APP_NAME` = name of your project


## Authors

- [@MandaNyAina](https://github.com/MandaNyAina)


## License

[MIT](https://choosealicense.com/licenses/mit/)


## Badges


[![MIT License](https://img.shields.io/apm/l/atomic-design-ui.svg?)](https://github.com/tterb/atomic-design-ui/blob/master/LICENSEs)
npm package: @mandarinlabs/lemon
Description: Websites Made Simple
Latest version: 2.0.1

# mandarinlabs/lemon

Static Website Builder for coffeescript

## Installation
```
npm install @mandarinlabs/lemon

# start from scratch, or use lemon-ui
npm install @mandarinlabs/lemon-ui # standard ui kit
npm install @mandarinlabs/lemon-material # material ui kit
```

## Usage
```
# start a project
lemon init

# develop your project locally
lemon dev

# build your site
lemon build

# deploy your site
lemon deploy
```

## License

©2018 MandarinLabs under the MIT license:

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
# lemon
npm package: @mandarinlabs/lemon-ui
Description: Beautiful, Minimal UI Kit for lemon
Latest version: 2.0.1

# MandarinLabs / lemon standard ui kit

Beautiful, Minimal UI Kit for lemon

## Installation
```
npm install @mandarinlabs/lemon
npm install @mandarinlabs/lemon-ui
```

## Usage
```Coffee-Script
lui = require '@mandarinlabs/lemon-ui'

html = lui.render ( ->
  doctype 5
  html ->
    head ->
      title 'Welcome to Lemon LUI'
  body ->
    lui.Markdown """

      # Header 1

      ## Header 2

      ### Header 3

      paragraph 1

      [http://mydomain.com/img/example.jpg]
      ^ caption for the image

      > this is a quote

      this is a list
       - item 1
       - item 2
       - item 3

      this is an ordered list
       1. item 1
       2. item 2
       3. item 3

      ```
      this is a block of code
      ```

      this is a line with `inine code`

      this is a line with **bold text**

      this is a line with //italics text//

      this is a line with __underlined text__

      [https://www.youtube.com/watch?v=0IzCeUMWBr0]
      ^ this is a youtube embed

    """
         
)

```

## License

©2018 MandarinLabs under the MIT license:

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
npm package: @mandarium/aws-iconify
Description: To install dependencies:
Author: Takayuki Zukawa
Latest version: 1.0.1

# aws-iconify

To install dependencies:

```bash
bun install
```

To run:

```bash
bun run index.ts
```

This project was created using `bun init` in bun v1.1.29. [Bun](https://bun.sh) is a fast all-in-one JavaScript runtime.
npm package: @mandarvl/befiana-sms
Description: Befiana SMS API client (lightweight TypeScript client)
Author: @mandarvl
Latest version: 1.0.0

# @mandarvl/befiana-sms

Lightweight TypeScript client for the Befiana SMS API.

Installation

```
npm install @mandarvl/befiana-sms
```

Quick usage

```ts
import BefianaSMS from '@mandarvl/befiana-sms';

const client = new BefianaSMS(process.env.BEFIANA_API_KEY || 'your-api-key');

// Send single SMS
await client.send('340000000', 'Hello World!, this is a test message!');

// Schedule SMS
await client.schedule('320000000', 'Scheduled message', '2026-07-06 23:05');

// Bulk
await client.sendBulk(['340000000','320000001','330000002'], 'Bulk message', '2026-07-06 00:00');

// Upsert contact
await client.upsertContact('380000003', 'John Doe');

// Balance
const balance = await client.getBalance();

// Delivery status
const status = await client.getDeliveryStatus('befiana-1234567890');
```

Notes
- All requests require the `Authorization` header to be the API key value.
- The client uses `cross-fetch` for universal fetch support.
npm package: @mandarvl/convertir-nombre-lettre
Description: Permet de convertir des nombres(chiffres) en leur équivalent en lettre (ex: 1=un). Respecte l'accord prescrit par la langue française. 
Author: yagoubi abdelkader
Latest version: 1.0.5




[![NPM](https://img.shields.io/npm/v/convertir-nombre-lettre.svg)](https://www.npmjs.com/package/convertir-nombre-lettre) [![JavaScript Style Guide](https://img.shields.io/badge/code_style-standard-brightgreen.svg)](https://standardjs.com)


# convertir-nombre-lettre
>Permet de convertir des nombres(chiffres) en leur équivalent en lettre (ex: 1=un). Respecte l'accord prescrit par la langue française.

## Install

```bash
npm install --save convertir-nombre-lettre
```

## Usage

```js

import { NumberToLetter } from 'convertir-nombre-lettre';
// OR
const { NumberToLetter } = require("convertir-nombre-lettre");

console.log(NumberToLetter(4194945))

```

output : ``` quatre millions cent quatre-vingt-quatorze mille neuf cent quarante-cinq```




## License

MIT © [yagoubi abdelkader](https://github.com/yagoubigithub)
npm package: @mandarvl/ngx-datatable-wrapper
Description: A powerful, reusable wrapper for @swimlane/ngx-datatable
Author: mandarvl
Latest version: 2.0.0

# @mandarvl/ngx-datatable-wrapper

A powerful, reusable datatable wrapper for Angular applications, built on top of `@swimlane/ngx-datatable`.

## Features

- **Integrated Search**: easily filter data with specific fields.
- **Date Range Filtering**: Built-in support for `ngx-bootstrap` daterangepicker.
- **Status Filtering**: Integrated `ng-select` for status-based filtering.
- **Dynamic Templates**: Pre-configured templates for common data types (Currency, Status, Date, Boolean, etc.).
- **Debounced Search**: Optimized search input to reduce API calls.
- **External Paging & Sorting**: Designed to work seamlessly with server-side operations.

## Installation

```bash
npm install @etsena/ngx-datatable-wrapper
```

### Compatibility

| Library Version | Angular Version |
| --------------- | --------------- |
| 2.x.x           | 19.x.x          |
| 1.x.x           | 18.x.x          |

### Peer Dependencies

Ensure you have the following dependencies installed in your project:

```bash
npm install @swimlane/ngx-datatable @ng-select/ng-select ngx-bootstrap @ngx-translate/core moment sweetalert2
```

## Usage

### 1. Import the Module

```typescript
import { DatatableWrapperModule } from "@mandarvl/ngx-datatable-wrapper";

@NgModule({
  imports: [
    // ...
    DatatableWrapperModule,
  ],
})
export class YourModule {}
```

### 2. Component Implementation

```html
<datatable-wrapper
  [name]="'Orders'"
  [columns]="columns"
  [tableModelInput]="tableModel"
  [searchFields]="['orderNumber', 'customerName']"
  [dateField]="'createdAt'"
  (onFetchDataRequired)="loadData($event)"
  (edit)="onEdit($event)"
  (delete)="onDelete($event)"
>
</datatable-wrapper>
```

```typescript
import { TableModel, TableColumn } from '@mandarvl/ngx-datatable-wrapper';

// ...
columns: TableColumn[] = [
    { prop: 'orderNumber', name: 'Order #' },
    { prop: 'total', name: 'Total', cellTemplate: this.datatable.currencyTemplate }
];
tableModel = new TableModel();

loadData(event: TableModel) {
    // Call your service here
}
```

## License

MIT
npm package: @mandarvl/vanilla-pay-international
Description: A Node.JS package for Vanilla Pay International API
Author: Manda Ravalison
Latest version: 1.0.2

# @mandarvl/vanilla-pay-international

A Node.js SDK for **Vanilla Pay International API**, supporting payments via mobile money, international cards, and more.

## Installation

```bash
npm install @mandarvl/vanilla-pay-international
```

---

## Usage

### 1. Setup environment variables

After creating and generating your keys from Vanilla Pay International, in your environment variables, add these :

```env
CLIENT_ID=your_client_id
CLIENT_SECRET=your_client_secret
ENV=PROD   # or PREPROD
```

---

### 2. Initialize client and make a payment

```ts
import dotenv from 'dotenv';
import { VanillaPayInternational, Environment } from '@mandarvl/vanilla-pay-international';

dotenv.config();

async function main() {
  const clientId = process.env.CLIENT_ID;
  const clientSecret = process.env.CLIENT_SECRET;
  const env = process.env.ENV as Environment;

  if (!clientId || !clientSecret || !env) {
    throw new Error('CLIENT_ID, CLIENT_SECRET, and ENV are required');
  }

  const vanillaPay = new VanillaPayInternational(env);

  try {
    const auth = await vanillaPay.auth.generateToken(clientId, clientSecret);
    vanillaPay.setAccessToken(auth.Token);

    const payment = await vanillaPay.payment.init({
      amount: 10000,
      cart: '123',
      currency: 'MGA',
      reference: '123',
      paymentMethod: 'mobile_money',
      callbackUrl: 'https://your-callback-url.com',
      redirectUrl: 'https://your-redirect-url.com'
    });

    console.log(payment);

    const paymentDetails = await vanillaPay.payment.get(payment.id, 'mobile_money');
    console.log(paymentDetails);
  } catch (err) {
    console.error(err);
  }
}

main();
```

---

### 3. Handle Payment Callbacks

Vanilla Pay International posts to your `callbackUrl` with headers:

* `VPI-Signature`
* `Content-Type: application/x-www-form-urlencoded`

Validate the payload using:

```ts
import { Utils } from '@mandarvl/vanilla-pay-international';

const isValid = Utils.formatAndValidatePayload(vpiSignature, body, keySecret);

if (isValid) {
  // process payment
} else {
  // invalid signature
}
```

* `vpiSignature`: value from headers
* `body`: payload object
* `keySecret`: generated from your account

---

### 4. Supported Payment Methods

* `mobile_money` (Mvola, Orange Money, Airtel Money)
* `international` (Bank Cards and Paypal)

---

### 5. License

MIT © Manda Ravalison
npm package: @mandate-os/sdk
Description: TypeScript SDK for MandateOS agent integrations.
Author: Robin Sjøvoll
Latest version: 0.1.9

# `@mandate-os/sdk`

Tiny TypeScript SDK for MandateOS agent integrations.

It provides:

- `MandateOsAgentClient` for issuing mandates, evaluating actions, minting execution grants, and calling enforced execute routes
- `MandateOsAgentMiddleware` for the common evaluate -> require -> grant -> execute control loop
- The minimal public types needed by agent-side integrations

Current enforced GitHub helpers cover issue labeling and keeping pull requests in draft through MandateOS-owned execute routes.

Example:

```ts
import { MandateOsAgentClient, MandateOsAgentMiddleware } from '@mandate-os/sdk';

const client = new MandateOsAgentClient({
  baseUrl: 'http://localhost:4330',
  bearerToken: process.env.MANDATE_OS_AGENT_TOKEN!,
  defaultSource: 'codex.repo_steward',
});

const mandate = new MandateOsAgentMiddleware(client, {
  mandateId: 'mdt_123',
  source: 'codex.repo_steward',
});
```