open-index/open-npm huggingface dataset:
npm package: @sparkdev/pdf2png
Description: Takes a PDF-document and converts and delivers an image from it.
Latest version: 1.1.3

@sparkdev/pdf2png
============

Install:
npm install @sparkdev/pdf2png

This project uses ghostscript, but there's no need to install it (if you use windows).
If you want the module to use a local installation of ghostscript, set the option useLocalGhostscript true.

TODO: Update Readme
npm package: @sparkdotfi/abi-cli
Description: CLI tool for automatically fetching and generating ABIs from blockchain contracts across multiple networks.
Latest version: 0.2.0-20260410.ec7ae091

# @sparkdotfi/abi-cli

CLI tool for automatically fetching and generating ABIs from blockchain contracts across multiple networks.

## Installation

```bash
npm install @sparkdotfi/abi-cli
```

## Configuration

Create `abi-cli.config.ts` in your project root:

```typescript
import { GlobalConfig } from '@sparkdotfi/abi-cli'
import { getEnv } from '@sparkdotfi/common-nodejs/env'

const env = getEnv()

const config: GlobalConfig = {
  out: 'out',
  keys: {
    drpcApiKey: env.string('DRPC_API_KEY'),
    etherscanApiKey: env.string('ETHERSCAN_API_KEY'),
  },
  contracts: {
    USDC: {
      mainnet: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48',
      base: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913',
      arbitrum: '0xaf88d065e77c8cC2239327C5EDb3A432268e5831',
      optimism: '0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85',
      unichain: '0x078D782b760474a361dDA0AF3839290b0EF57AD6',
    },
  },
}

export default config
```

## Usage

```bash
# Set environment variables
export DRPC_API_KEY="your_key"
export ETHERSCAN_API_KEY="your_key"

# Run CLI
npx @sparkdotfi/abi-cli

# Or add `abi-cli` command to your package.json
{
  "scripts": {
    "generate": "abi-cli"
  }
}
```

## Features

- Fetches ABIs from multiple networks
- Supports proxy contract resolution
- Verifies ABI compatability between many networks
- Generates TypeScript files
npm package: @sparkdotfi/common-biome
Description: ```sh pnpm add --dev @sparkdotfi/common-biome ```
Latest version: 0.2.0-20260327.ea3b9dfb

# Biome Common Config

## Usage

```sh
pnpm add --dev @sparkdotfi/common-biome
```

`biome.json`:

```json
{
  "$schema": "https://biomejs.dev/schemas/2.2.5/schema.json",
  "root": true,
  "extends": ["@sparkdotfi/common-biome"]
}
```
npm package: @sparkdotfi/common-linter
Description: Create new directory and file in src/rules, implement the rule using `createRule` helper and add the rule in src/rules/rules.ts.
Latest version: 0.2.0-20260410.ec7ae091

# Common linter

## Adding new rule:

Create new directory and file in src/rules, implement the rule using `createRule` helper and add the rule in src/rules/rules.ts.

## Updating the documentation

Run below commands to update the documentation, include `--init-rule-docs` if creating the documentation for new rule.

```sh
pnpm build
pnpm docs:generate
```

<!-- begin auto-generated rules list -->

💭 Requires [type information](https://typescript-eslint.io/linting/typed-linting).

| Name                                                                       | Description                                                       | 💭  |
| :------------------------------------------------------------------------- | :---------------------------------------------------------------- | :-- |
| [no-object-comparison](docs/rules/no-object-comparison.md)                 | Disables object comparison                                        | 💭  |
| [require-using-for-disposable](docs/rules/require-using-for-disposable.md) | Requires "using" keyword usage on disposable and async disposable | 💭  |

<!-- end auto-generated rules list -->
npm package: @sparkdotfi/common-mocha-sharded-runner
Description: Executes a subset (shard) of all found tests. Great for sharding e2e tests across multiple runners.
Latest version: 0.2.0-20260410.ec7ae091

# mocha-sharded-runner

Executes a subset (shard) of all found tests. Great for sharding e2e tests across multiple runners.

## Setup

Add to `package.json`:

```
//...
"test-integration:sharded": "mocha-sharded-runner --pattern \"**/*.test.ts\" --config ../../.mocharc.json",
```

and Github Actions config:

```yaml
- run: pnpm run test-integration:sharded --shard ${{ matrix.shard }} --total-shards ${{ matrix.total-shards }}
  working-directory: packages/e2e-tests
```
npm package: @sparkdotfi/common-oxlint
Description: Shared baseline for Spark's Oxlint migration.
Latest version: 0.2.0-20260410.1006924d

# oxlint Common Config

Shared baseline for Spark's Oxlint migration.

Use `base.json` for package-agnostic rules and add `base-react.json` in React packages.

Example app package config:

```json
{
  "extends": ["../common-oxlint/base.json", "../common-oxlint/base-react.json"]
}
```

Example non-React package config:

```json
{
  "extends": ["../common-oxlint/base.json"]
}
```
npm package: @sparkdotfi/common-testnets
Description: ```shell TESTNETS_ANVIL_NO_STORAGE_CACHING=1 # run without anvil cache (slower but more deterministic) TESTNETS_ANVIL_VERBOSE=1 # enable anvil logs TESTNETS_ANVIL_KEEP_ALIVE_ON_EXIT=1 # do not kill anvil on exit. Allows debugging the state of node when te
Latest version: 0.2.0-20260410.ec7ae091

# Common-testnets

## Anvil envs:

```shell
TESTNETS_ANVIL_NO_STORAGE_CACHING=1 # run without anvil cache (slower but more deterministic)
TESTNETS_ANVIL_VERBOSE=1 # enable anvil logs
TESTNETS_ANVIL_KEEP_ALIVE_ON_EXIT=1 # do not kill anvil on exit. Allows debugging the state of node when tests fail

LOCAL_TESTNET_FACTORY=tenderly # forcefully run tests on tenderly instead of anvil (for tests using `createTestnetForTestSuite`)
```
npm package: @sparkdotfi/common-viem-aws-kms
Description: Credit goes to https://github.com/jackchuma/viem-kms-signer/blob/main/src/utils/kms-utils.ts MIT © Jack Chuma
Latest version: 0.2.0-20260410.ec7ae091

# Viem AWS KMS

Credit goes to https://github.com/jackchuma/viem-kms-signer/blob/main/src/utils/kms-utils.ts MIT © Jack Chuma

To make it work you gotta have these in your env:

```
AWS_ACCESS_KEY=
AWS_SECRET_ACCESS_KEY=
AWS_REGION=
AWS_KMS_KEY_ID=
```

## Extract Ethereum address from the public key

You can use a script to easily convert public key from AWS UI to Ethereum address. Remember to remove new lines and put it in quotes like this:

```
pnpm run extractEthereumAddressFromPublicKey "-----BEGIN PUBLIC KEY-----MFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEVzaaEV5whUYAQU6TB1PMFttcyS4cr9CQiIkMe44HXuHSkU8Cg2f+bV97n0vzgW5jt3Tlg5VoHQo8aPIks3VKrg==-----END PUBLIC KEY-----"
```