open-index/open-npm huggingface dataset:
npm package: @marcosnbj/excalidraw
Description: Excalidraw as a React component
Latest version: 0.18.6

# Excalidraw

**Excalidraw** is exported as a component to directly embed in your projects.

## Installation

You can use `npm`

```bash
npm install react react-dom @excalidraw/excalidraw
```

or via `yarn`

```bash
yarn add react react-dom @excalidraw/excalidraw
```

After installation you will see a folder `excalidraw-assets` and `excalidraw-assets-dev` in `dist` directory which contains the assets needed for this app in prod and dev mode respectively.

Move the folder `excalidraw-assets` and `excalidraw-assets-dev` to the path where your assets are served.

By default it will try to load the files from [`https://unpkg.com/@excalidraw/excalidraw/dist/`](https://unpkg.com/@excalidraw/excalidraw/dist)

If you want to load assets from a different path you can set a variable `window.EXCALIDRAW_ASSET_PATH` depending on environment (for example if you have different URL's for dev and prod) to the url from where you want to load the assets.

#### Note

**If you don't want to wait for the next stable release and try out the unreleased changes you can use `@excalidraw/excalidraw@next`.**

## Dimensions of Excalidraw

Excalidraw takes _100%_ of `width` and `height` of the containing block so make sure the container in which you render Excalidraw has non zero dimensions.

### Demo

[Try here](https://codesandbox.io/s/excalidraw-ehlz3).

## Integration

Head over to the [docs](https://docs.excalidraw.com/docs/@excalidraw/excalidraw/integration)

## API

Head over to the [docs](https://docs.excalidraw.com/docs/@excalidraw/excalidraw/api)

## Contributing

Head over to the [docs](https://docs.excalidraw.com/docs/@excalidraw/excalidraw/contributing)
npm package: @marcosouvereyns/aliexpress-product-scraper
Description: Get Aliexpress product details as a json reponse including feedbacks, variants, description, images, etc.,
Author: Sudheer Ranga
Latest version: 1.1.7

# Aliexpress Product Scraper

Forked from [sudheer-ranga/aliexpress-product-scraper](https://github.com/sudheer-ranga/aliexpress-product-scraper)

Aliexpress Product Scraper scrapes product information and returns the response in json format including:

- Description
- Feedback
- Variants and Prices

# How to use?

```
npm i @marcosouvereyns/aliexpress-product-scraper
```

```
const scrape = require('aliexpress-product-scraper');
const params = {
	productUrl: 'https://www.aliexpress.com/item/1005003980657298.html', // Product URL from any aliexpress domain
	defaultTimeout: 15000 // In ms. Overwrites 30s default Puppeteer timeout for awaiting page navigation, awaiting selectors, etc.
	logger: { // Use your logger of preference: Winston, bunyan...
		error: console.error,
		warn: console.warn,
		info: console.info,
		log: console.log,
		debug: console.debug
	}
}
const product = scrape();

product.then(res => {
  console.log('The JSON: ', res);
});
```

# Sample JSON Response

```
{
	"title": "New Design Epoxy Rings Clear Wood Resin Ring Fashion Handmade Dried Flower Epoxy Wedding Jewelry Love Ring for Women",
	"categoryId": 100007323,
	"productId": 32958933105,
	"totalAvailableQuantity": 96357,
	"description": "<div class=\"detailmodule_html\">Product description...</div",
	"orders": 3332,
	"storeInfo": {
		"name": "souleather Handmade Store",
		"companyId": 240403835,
		"storeNumber": 3188009,
		"followers": 1519,
		"ratingCount": 14458,
		"rating": "97.2%"
	},
	"ratings": {
		"totalStar": 5,
		"averageStar": "4.7",
		"totalStartCount": 1313,
		"fiveStarCount": 1072,
		"fourStarCount": 151,
		"threeStarCount": 49,
		"twoStarCount": 11,
		"oneStarCount": 19
	},
	"variants": {
		"options": [{
			"id": 200000369,
			"name": "Ring Size",
			"values": [{
				"id": 200000287,
				"name": "6.5",
				"displayName": "6.5"
			}, ...]
		}, {
			"id": 200000783,
			"name": "Main Stone Color",
			"values": [{
				"id": 29,
				"name": "White",
				"displayName": "A",
				"image": "https://ae01.alicdn.com/kf/HTB1C736aITxK1Rjy0Fgq6yovpXaq/Dropship-New-Design-Epoxy-Rings-Clear-Wood-Resin-Ring-Fashion-Handmade-Dried-Flower-Epoxy-Wedding-Jewelry.jpg_640x640.jpg"
			}, ...]
		}],
		"prices": [{
			"skuId": 10000000089510726,
			"optionValueIds": "100010420,200003699",
			"availableQuantity": 985,
			"originalPrice": 2.9,
			"salePrice": 1.59
		}, ...]
	},
	"specs": [{
		"attrName": "Brand Name",
		"attrNameId": 2,
		"attrValue": "souleather",
		"attrValueId": "4608630006"
	}, ...],
	"currency": "USD",
	"originalPrice": {
		"min": 2.9,
		"max": 6.9
	},
	"salePrice": {
		"min": 1.59,
		"max": 3.79
	}
}
```
npm package: @marcosouvereyns/cjdropshipping-product-scraper
Description: Get cjdropshipping product details as a json reponse including feedbacks, variants, description, images, etc.,
Author: Marco Souvereyns
Latest version: 1.0.4

# Aliexpress Product Scraper

Forked from [sudheer-ranga/aliexpress-product-scraper](https://github.com/sudheer-ranga/aliexpress-product-scraper)

Aliexpress Product Scraper scrapes product information and returns the response in json format including:

- Description
- Feedback
- Variants and Prices

# How to use?

```
npm i @marcosouvereyns/aliexpress-product-scraper
```

```
const scrape = require('aliexpress-product-scraper');
const params = {
	productUrl: 'https://www.aliexpress.com/item/1005003980657298.html', // Product URL from any aliexpress domain
	defaultTimeout: 15000 // In ms. Overwrites 30s default Puppeteer timeout for awaiting page navigation, awaiting selectors, etc.
	logger: { // Use your logger of preference: Winston, bunyan...
		error: console.error,
		warn: console.warn,
		info: console.info,
		log: console.log,
		debug: console.debug
	}
}
const product = scrape();

product.then(res => {
  console.log('The JSON: ', res);
});
```

# Sample JSON Response

```
{
	"title": "New Design Epoxy Rings Clear Wood Resin Ring Fashion Handmade Dried Flower Epoxy Wedding Jewelry Love Ring for Women",
	"categoryId": 100007323,
	"productId": 32958933105,
	"totalAvailableQuantity": 96357,
	"description": "<div class=\"detailmodule_html\">Product description...</div",
	"orders": 3332,
	"storeInfo": {
		"name": "souleather Handmade Store",
		"companyId": 240403835,
		"storeNumber": 3188009,
		"followers": 1519,
		"ratingCount": 14458,
		"rating": "97.2%"
	},
	"ratings": {
		"totalStar": 5,
		"averageStar": "4.7",
		"totalStartCount": 1313,
		"fiveStarCount": 1072,
		"fourStarCount": 151,
		"threeStarCount": 49,
		"twoStarCount": 11,
		"oneStarCount": 19
	},
	"variants": {
		"options": [{
			"id": 200000369,
			"name": "Ring Size",
			"values": [{
				"id": 200000287,
				"name": "6.5",
				"displayName": "6.5"
			}, ...]
		}, {
			"id": 200000783,
			"name": "Main Stone Color",
			"values": [{
				"id": 29,
				"name": "White",
				"displayName": "A",
				"image": "https://ae01.alicdn.com/kf/HTB1C736aITxK1Rjy0Fgq6yovpXaq/Dropship-New-Design-Epoxy-Rings-Clear-Wood-Resin-Ring-Fashion-Handmade-Dried-Flower-Epoxy-Wedding-Jewelry.jpg_640x640.jpg"
			}, ...]
		}],
		"prices": [{
			"skuId": 10000000089510726,
			"optionValueIds": "100010420,200003699",
			"availableQuantity": 985,
			"originalPrice": 2.9,
			"salePrice": 1.59
		}, ...]
	},
	"specs": [{
		"attrName": "Brand Name",
		"attrNameId": 2,
		"attrValue": "souleather",
		"attrValueId": "4608630006"
	}, ...],
	"currency": "USD",
	"originalPrice": {
		"min": 2.9,
		"max": 6.9
	},
	"salePrice": {
		"min": 1.59,
		"max": 3.79
	}
}
```
npm package: @marcosreuquen/osv-check
Description: CLI tool to check packages for known vulnerabilities using the OSV.dev API (npm, PyPI, and more)
Author: Marcos Reuquen
Latest version: 1.1.0

# osv-check

CLI tool to check packages for known vulnerabilities using the [OSV.dev](https://osv.dev/) API.

Supports multiple ecosystems: **npm**, **PyPI**, and more coming soon.

Zero dependencies. Requires Node.js >= 22.

## Install

```bash
npm install -g osv-check
```

## Usage

### Check a specific package version

```bash
osv-check lodash@4.17.15
```

### Check the latest version of a package

```bash
osv-check lodash
```

Automatically resolves the latest version from the npm registry and checks it for vulnerabilities.

### List all known vulnerabilities across all versions

```bash
osv-check lodash --all
```

Shows every known vulnerability with affected version ranges.

### Check a PyPI package

```bash
osv-check requests@2.25.0 -e pypi
osv-check requests -e pypi          # latest version
osv-check requests -e pypi --all    # all versions
```

### Check all dependencies in your project

```bash
osv-check
```

This auto-detects manifest files (`package.json`, `requirements.txt`) in the current directory and checks all dependencies.

### Scoped packages (npm)

```bash
osv-check @angular/core@14.0.0
osv-check @angular/core              # latest version
```

### Options

| Flag | Description |
|------|-------------|
| `-e, --ecosystem <name>` | Ecosystem for single-package check (`npm`, `pypi`) |
| `-a, --all` | Show all vulnerabilities across all versions (requires package name without version) |
| `-h, --help` | Show help message |
| `-v, --version` | Show version |

## Supported ecosystems

| Ecosystem | Manifest file | Registry | Status |
|-----------|---------------|----------|--------|
| npm | `package.json` | registry.npmjs.org | ✅ |
| PyPI | `requirements.txt` | pypi.org | ✅ |

## Exit codes

- `0` — No vulnerabilities found
- `1` — Vulnerabilities found or error occurred

## Programmatic API

```js
import { queryPackage, queryMultiple } from 'osv-check';

// Check a specific version
const result = await queryPackage('lodash', '4.17.15');
console.log(result.vulns);

// Check without version (returns all vulnerabilities)
const allVulns = await queryPackage('lodash');
console.log(allVulns.vulns);

// PyPI package
const pyResult = await queryPackage('requests', '2.25.0', 'PyPI');
console.log(pyResult.vulns);
```

## Adding a new ecosystem

Create a new file in `src/ecosystems/` following this pattern:

```js
// src/ecosystems/my-ecosystem.js
export default {
  name: 'MyEcosystem',        // Must match OSV API ecosystem name
  manifestFile: 'manifest.lock',
  async parseManifest(dir) {
    // Read and parse the manifest file
    // Return: [{ name, version, ecosystem: 'MyEcosystem' }]
  },
  async fetchLatestVersion(name) {
    // Fetch latest version from the ecosystem registry
    // Return: '1.2.3'
  },
};
```

Then register it in `src/ecosystems/index.js`.

## License

MIT