open-index/open-npm huggingface dataset:
npm package: @soildoctor/report
Description: Reusable FullReport React component for Soil Doctor reports
Author: tilak
Latest version: 1.0.7

# @soildoctor/report

Reusable FullReport React component for Soil Doctor reports.

## Install

```bash
npm i @soildoctor/report
```

Peer deps:
- react (>=18)
- react-dom (>=18)

## Quick start (zero-config)

```jsx
import '@soildoctor/report/styles.css'; // one-time CSS import
import { FullReport } from '@soildoctor/report';
import apiResponse from './api-response.json';

export default function App() {
	return (
		<div>
			<FullReport data={apiResponse} language="english" />
		</div>
	);
}
```

No Tailwind setup required. The package ships prebuilt CSS with Tailwind preflight disabled.

## Props

```ts
interface FullReportProps {
	data: APIResponse;     // required
	language?: 'english' | 'hindi'; // default: 'english'
}
```

- `data`: full API response payload. The component renders strictly from this prop.
- `language`: UI translation; static labels are translated using built-in strings.

## Data format (expected)

Minimal shape used by the component:

```ts
interface APIResponse {
	report: {
		name: string;
		mobile_no: string;
		address?: string;
		city?: string;
		state?: string;
		village?: string;
		farm_size?: string;
		farm_size_unit?: string; // e.g. 'Acres'
		previous_crop?: string;
		next_crop?: string;
		sample_code?: string;
		sample_type?: string; // e.g. 'SOIL'
		entity_name?: string; // association shown in header
		// soil values (strings are fine)
		ph?: string; ec?: string; oc?: string;
		nitrogen?: string; phosphorus?: string; potassium?: string;
		sulphur?: string; magnesium?: string; calcium?: string;
		zinc?: string; iron?: string; copper?: string; boron?: string;
	};
	recommData?: {
		recommendation?: {
			crop?: string;
			recommendations?: Array<{
				order: number;
				orderName: Record<string, string>; // multilingual
				prescription: Array<{
					input: Record<string, string>;
					perSessionDose: string | number;
					unit: Record<string, string>;
					method: Record<string, string>;
				}>;
			}>;
		};
	};
}
```

Notes:
- If a soil metric is missing or non-numeric, the UI shows `-` and a gray status dot.
- Fertilizer recommendations support multilingual fields; the library picks `language`, then `english`, then first available.

## Translations
Static labels are translated for: `english`, `hindi`.
- Brand name "Soil Doctor" is not translated.
- Crop Tips JSONs bundled for: rice, wheat, maize, sugarcane, mustard, potato (English and Hindi).

## Using Crop Tips
The component renders crop tips from bundled JSON when you pass a `crop` in `data.recommData.recommendation.crop`. Language fallback is English if the requested language is not present.

## Build (library authoring)

```bash
npm run build:lib
# CSS is bundled automatically during publish via prepublishOnly.
```

## Changelog
See [CHANGELOG.md](./CHANGELOG.md).
npm package: @soinlabs/crud
Description: A package to generate crud utils automatically
Author: SoinLabs
Latest version: 0.2.1

# CRUD Generator

[![npm version](https://badgen.net/npm/v/@soinlabs/crud)](https://www.npmjs.com/package/@soinlabs/crud)
[![npm downloads](https://badgen.net/npm/dm/@soinlabs/crud)](https://www.npmjs.com/package/@soinlabs/crud)

Module to generate automated CRUDS

How to run it? Two steps:

1- Create the necessary service inside your work area: \
   In the root folder please run: \
```yarn service```

2- Generate your CRUD base on a model: \
   You have you run: \
```yarn generate```\
Then fill the questions with the information, almost all questions have a default response, that you can see next to the question.
The first command will create a service inside your packages folder that will be consumed by the controller that will be generated with the generate command. 


Notes: \
1- If the model does not exist in your DB folder, the program will generate a template base model. \
2- If you do not provide your database table name the program will pluralize the model that you have provided.\
3- Make sure that the node version that your projects is using is 10.3 or higher.
npm package: @soinlabs/db
Description: A custom-made ORM from SOIN to manage different databases
Author: SoinLabs
Latest version: 1.2.0-alpha.26

# @soinlabs/db - Database and ORM Library

[![codecov](https://codecov.io/gh/SoinLabs/db/branch/master/graph/badge.svg?token=H1Y53ESW4N)](https://codecov.io/gh/SoinLabs/db)
[![npm version](https://badgen.net/npm/v/@soinlabs/db)](https://www.npmjs.com/package/@soinlabs/db)
[![npm downloads](https://badgen.net/npm/dm/@soinlabs/db)](https://www.npmjs.com/package/@soinlabs/db)

## Description

- Library to encapsulate ORM schema and logic in order to support multiple
  database dialects based on multiple Object-Relational Mappers

## How to use

### Create db connection and execute raw queries

- Open a simple connection

```js
const dbOrm = new DbOrm()
dbOrm.initialize({
  orm: 'sequelize',
  dialect: 'postgres',
  version: '12.5.0',
  host: 'your_db_host',
  database: 'your_db_name',
  username: 'your_db_username',
  password: 'your_db_password',
  port: 5432,
  synchronize: false,
})

const db = new DbOrm({
  orm: 'sequelize',
  dialect: 'postgres',
  version: '12.5.0',
  host: 'your_db_host',
  database: 'your_db_name',
  username: 'your_db_username',
  password: 'your_db_password',
  port: 5432,
  synchronize: false,
})
```

- Test your connection

```js
testConnection = async () => {
  const result = await dbOrm.test()
  return result
}
```

- Perform raw queries

```js
async function demo() {
  const result = await db.execute(`SELECT * FROM your_table`)
  return result
}
```

### Considerations according to DB Type

- [OracleDB](./docs/ORACLE_CONSIDERATIONS.md)
- [Sybase](./docs/SYBASE_CONSIDERATIONS.md)
npm package: @soinlabs/secrets
Description: Key management library for SOIN Labs
Author: SoinLabs
Latest version: 0.2.0

# Secrets

[![codecov](https://codecov.io/gh/SoinLabs/secrets/branch/master/graph/badge.svg?token=OFDUVE88RM)](https://codecov.io/gh/SoinLabs/secrets)
[![npm version](https://badgen.net/npm/v/@soinlabs/secrets)](https://www.npmjs.com/package/@soinlabs/secrets)
[![npm downloads](https://badgen.net/npm/dm/@soinlabs/secrets)](https://www.npmjs.com/package/@soinlabs/secrets)

Key management library for SOIN Labs
npm package: @soinlabs/sybase
Description: This library provides a Node.js bridge to connect to a Sybase database. It uses a Java bridge to facilitate the connection and query execution.
Author: SoinLabs
Latest version: 1.1.4

# Sybase Node.js Bridge

## Overview

This library provides a Node.js bridge to connect to a Sybase database. It uses a Java bridge to facilitate the connection and query execution.

## Installation

```bash
npm install @soinlabs/sybase
```

Requirements
------------

* java 1.8+

## Usage

### Importing the Library

```javascript
const Sybase = require('@soinlabs/sybase');
```

### Creating a Sybase Instance

```javascript
const sybase = new Sybase({
  host: 'localhost',
  port: 5000,
  database: 'sybase',
  username: 'username',
  password: 'password',
  encoding: 'utf8',
  pathToJavaBridge: '/path/to/JavaSybaseLink.jar', // Optional
  logTiming: true, //Logs on JAR side
  logs: true //Logs on Node.js side
});
```

### Connecting to the Database

### `connect()`

```javascript
sybase.connect((err, data) => {
  if (err) {
    console.error(err);
    return;
  }
  console.log('Connected:', data);
});
```

### `connectAsync()`

```javascript
const data = await sybase.connectAsync();
console.log('Connected:', data);
```

### Executing Queries

### `query(sqlQuery)`

```javascript
sybase.query('SELECT * FROM users', (err, result) => {
  if (err) {
    console.error(err);
    return;
  }
  console.log('Result:', result);
});
```

### `querySync(sqlQuery)`

```javascript
const result = await sybase.querySync('SELECT * FROM users');
console.log('Result:', result);
```

### `disconnect()`

```javascript
sybase.disconnect();
```

### `disconnectSync()`

The `disconnectSync` method allows you to disconnect synchronously from the database and terminates the associated Java process

```javascript
const sybase = new Sybase(...);
await sybase.disconnectSync();
```

### `isConnected()`

```javascript
const isConnected = sybase.isConnected();
console.log(`Is connected: ${isConnected}`);
```

### `transaction(queriesFunction)`

Executes a series of queries within a transaction. If any of the queries fail, the transaction will be rolled back.

#### Example

```javascript
async function main() {
  try {
    const result = await sybase.transaction(async (connection) => {
      const user = await connection.querySync('SELECT * FROM users WHERE id = 1');
      await connection.querySync(`UPDATE users SET name = 'John' WHERE id = 1`);
      return user;
    });
    console.log('Transaction successful, result:', result);
  } catch (err) {
    console.error('Transaction failed:', err);
  }
}

main();
npm package: @soinlabs/ui
Description: ui-components es una librería de componentes responsive para React esta permite construir paginas web de manera más sencilla.
Author: SoinLabs
Latest version: 1.15.17

# ui-components

ui-components es una librería de componentes responsive para React esta permite
construir paginas web de manera más sencilla.

# Dependencias

- _react ^17.0.2_
  > `yarn add react`
- _react-dom ^17.0.2_
  > `yarn add react-dom`
- _@emotion/react ^11.4.1_
  > `yarn add @emotion/react`

# Install

Puede instalarse mediante YARN, con los siguientes comandos:

## YARN

> `yarn add @soinlabs/ui`