open-index/open-npm huggingface dataset:
npm package: @jaicome/zatca-core
Description: ZATCA core library - portable logic for web, React Native, and Node.js
Latest version: 1.1.0

# @jaicome/zatca-core

[![npm version](https://img.shields.io/npm/v/@jaicome/zatca-core.svg)](https://www.npmjs.com/package/@jaicome/zatca-core)

Universal logic for building and parsing ZATCA invoices. Compatible with browsers, React Native, and Node.js.

## Installation

```bash
npm install @jaicome/zatca-core
```

## Quick Start

```typescript
import { ZATCAInvoice } from "@jaicome/zatca-core";

// Create an invoice instance
const invoice = new ZATCAInvoice({
  props: {
    // invoice properties
  },
  signer: yourSigner,
  acceptWarning: true,
});

// Sign the invoice
const result = await invoice.sign(certificate, privateKey);
console.log(result.signedXml);
console.log(result.invoiceHash);
```

## Features

- Build and parse ZATCA-compliant invoices
- XML generation and validation
- Cryptographic stamp generation
- Compliance checking
- Works in browsers, React Native, and Node.js

## Documentation

For detailed guides, tutorials, and API documentation, see the [main README](../../README.md).

## License

MIT
npm package: @jaicome/zatca-server
Description: ZATCA server library - Node.js only (signing, EGS, API integration)
Latest version: 1.0.6

# @jaicome/zatca-server

[![npm version](https://img.shields.io/npm/v/@jaicome/zatca-server.svg)](https://www.npmjs.com/package/@jaicome/zatca-server)

Node.js-only library for ZATCA signing, EGS on-boarding, and ZATCA HTTP API integration.

**⚠️ Node.js only** — Not compatible with browsers or React Native. Requires `@jaicome/zatca-core` as a peer dependency.

## Installation

```bash
npm install @jaicome/zatca-server @jaicome/zatca-core
```

## Quick Start

### Signing Invoices

```typescript
import { NodeSigner } from "@jaicome/zatca-server";
import { ZATCAInvoice } from "@jaicome/zatca-core";

const signer = new NodeSigner(certificate);
const invoice = new ZATCAInvoice({
  props: {
    /* invoice data */
  },
  signer,
  acceptWarning: true,
});

const result = await invoice.sign(certificate, privateKey);
```

### EGS On-boarding

```typescript
import { EGS } from "@jaicome/zatca-server";

const egs = new EGS(egsUnit);
await egs.generateNewKeysAndCSR("solution_name");
const complianceRid = await egs.issueComplianceCertificate("123345");
await egs.issueProductionCertificate(complianceRid);
```

## Features

- Invoice signing with cryptographic stamps
- EGS creation and on-boarding (Compliance & Production CSIDs)
- ZATCA HTTP API integration
- OpenSSL-based key generation and CSR signing

## Documentation

For detailed guides, tutorials, and API documentation, see the [main README](../../README.md).

## License

MIT
npm package: @jaideepghosh/eslint-config
Description: Jaideep's ESLint config
Latest version: 1.0.0

# @jaideepghosh/eslint-config

Jaideep's [ESLint](https://eslint.org/docs/developer-guide/shareable-configs) config.

## Usage for CRA

### Install (macOS, Linux)

```bash
yarn add --dev @jaideepghosh/eslint-config \
               eslint-config-prettier \
               eslint-plugin-prettier \
               prettier
```

### Install (Windows)

```bash
yarn add --dev @jaideepghosh/eslint-config ^
               eslint-config-prettier ^
               eslint-plugin-prettier ^
               prettier
```

## Usage for non-CRA

### Install (macOS, Linux)

```bash
yarn add --dev @jaideepghosh/eslint-config \
               @typescript-eslint/parser \
               @typescript-eslint/eslint-plugin \
               eslint-config-prettier \
               eslint-plugin-prettier \
               eslint \
               prettier
```

### Install (Windows)

```bash
yarn add --dev @jaideepghosh/eslint-config ^
               @typescript-eslint/parser ^
               @typescript-eslint/eslint-plugin ^
               eslint-config-prettier ^
               eslint-plugin-prettier ^
               eslint ^
               prettier
```

### Edit `.eslintrc.json`

```jsonc
{
  // ...
  "extends": "@jaideepghosh/eslint-config"
}
```
npm package: @jaideepghosh/prettier-config
Description: Jaideep's Prettier config
Latest version: 1.0.0

# @jaideepghosh/prettier-config

Jaideep's [Prettier](https://prettier.io) config.

## Usage

### Install

```bash
yarn add --dev @jaideepghosh/prettier-config prettier
```

### Edit `package.json`

```jsonc
{
  // ...
  "prettier": "@jaideepghosh/prettier-config"
}
```

## What you get

```json
{
  "proseWrap": "never",
  "trailingComma": "all",
  "overrides": [
    {
      "files": ["*.json"],
      "options": {
        "printWidth": 256
      }
    }
  ]
}
```
npm package: @jaidis/react-native-ibeacon-simulator
Description: A cool package for simulate your iOS devices as beacon (compatible with RN 0.59.x)
Author: William Tran
Latest version: 2.0.0

React Native Module that broadcasts an iBeacon uuid.

# Setup
```
npm install --save @jaidis/react-native-ibeacon-simulator
```

Please don't try to use react-native link at your RN 0.60.X project

# Setup Android

Add project to `android/settings.gradle`:
```
rootProject.name = 'MyApp'

include ':@jaidis_react-native-ibeacon-simulator'
project(':@jaidis_react-native-ibeacon-simulator').projectDir = new File(rootProject.projectDir, '../node_modules/@jaidis/react-native-ibeacon-simulator/android')

include ':app'
```

Add in `MainApplication.java`:
```
package com.myapp;

import com.ibeacon.simulator.BeaconBroadcastPackage;
```

# Setup iOS

Add in your `Podfile`
```
pod 'BeaconBroadcast', :path => '../node_modules/@jaidis/react-native-ibeacon-simulator'
```

Then run `pod install`

# Usage

Import in your project:

```
`import BeaconBroadcast from '@jaidis/react-native-ibeacon-simulator'`
```

# API

Start iBeacon on device:

### uuid: String

 You can get from here http://openuuid.net/

### identifier: String

### minor and major:

are integer values between 0 and 65535.

### Start Broadcasting iBeacon:

`BeaconBroadcast.startAdvertisingBeaconWithString(uuid, identifier, major, minor)`

### Stop Broadcasting iBeacon:

`BeaconBroadcast.stopAdvertisingBeacon()`

# iOS

```
BeaconBroadcast.stopAdvertisingBeacon()
BeaconBroadcast.startAdvertisingBeaconWithString(uuid, identifier, major, minor)
```

# Android

```
BeaconBroadcast.checkTransmissionSupported()
.then(() => {
  BeaconBroadcast.stopAdvertisingBeacon()
  BeaconBroadcast.startAdvertisingBeaconWithString(uuid, identifier, major, minor)
})
.catch((e) => {
  /* handle return errors */
  - NOT_SUPPORTED_MIN_SDK
  - NOT_SUPPORTED_BLE
  - DEPRECATED_NOT_SUPPORTED_MULTIPLE_ADVERTISEMENTS
  - NOT_SUPPORTED_CANNOT_GET_ADVERTISER
  - NOT_SUPPORTED_CANNOT_GET_ADVERTISER_MULTIPLE_ADVERTISEMENTS
})
```

# Contributors
- William Tran [https://github.com/williamtran29]
- Dennis Borshchevski [https://github.com/dennis-b]
- Harvey Connor [https://github.com/harveyconnor]
- Manuel Muñoz [https://github.com/jaidis]

# Features WIP
- [x] Create beacon
- [ ] Allow peripherals to connect to beacon
- [ ] Read/write characteristics to beacon
- [ ] Read/write characteristics to central

# TODO
- [ ] Create a types file for the class