# bezier-js

> A javascript library for working with Bezier curves

Latest version **6.1.4** (published 2023-07-16) · MIT license · 0 weekly downloads

## Install

```sh
npm install bezier-js
pnpm add bezier-js
yarn add bezier-js
bun add bezier-js
```

## Health

**Score 28/100 (F)** — status: abandoned.

Positive: has types package; esm support; no vulnerabilities; high quality score.

Warnings: low downloads.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 6.1.4 |
| Published | 2023-07-16 |
| First published | 2015-03-22 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | separate (@types/bezier-js) |
| Module format | ESM + CommonJS |
| Dependencies | 0 |
| Unpacked size | 116.4 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 1874 |
| Author | Pomax |
| Maintainers | pomax |
| Keywords | bezier, curves |

## Links

- npm: https://www.npmjs.com/package/bezier-js
- Repository: https://github.com/Pomax/bezierjs
- Issues: https://github.com/Pomax/bezierjs/issues
- Funding: https://github.com/Pomax/bezierjs/blob/master/FUNDING.md
- npm.io page: https://npm.io/package/bezier-js

## Recent versions

- 6.1.4 (latest) — 2023-07-16
- 6.1.3 — 2023-02-20
- 6.1.2 — 2023-02-18
- 6.1.1 — 2023-02-17
- 6.1.0 — 2022-02-09
- 5.1.0 — 2022-01-03
- 5.0.1 — 2022-01-02
- 5.0.0 — 2022-01-02
- 4.1.1 — 2021-04-30
- 4.1.0 — 2021-04-20
- 4.0.3 — 2020-11-15
- 4.0.2 — 2020-11-15
- 4.0.1 — 2020-11-15
- 4.0.0 — 2020-11-15
- 3.1.0 — 2020-11-03
- … 67 more at https://npm.io/package/bezier-js/versions

## README

# Bezier.js

:warning:
**This package needs your support to stay maintained.** If you work for an organization
whose website is better off using Bezier.js than rolling its own code
solution, please consider talking to your manager to help
[fund this project](https://www.paypal.com/donate/?cmd=_s-xclick&hosted_button_id=QPRDLNGDANJSW).
Open Source is free to use, but certainly not free to develop. If you have the
means to reward those whose work you rely on, please consider doing so.
:warning:

An ES Module based library for Node.js and browsers for doing (quadratic and cubic) Bezier curve work.

For a Demo and the API, hit up either [pomax.github.io/bezierjs](http://pomax.github.io/bezierjs) or read the souce (`./src` for the library code, start at `bezier.js`).

**Note:** if you're looking for the legacy ES5 version of this library, you will have to install v2.6.1 or below. However, be aware that the ES5 version will not have any fixes/updates back-ported.

## Installation

`npm install bezier-js` will add bezier.js to your dependencies, remember to add `--save` or `--save-dev` if you need that to be persistent of course.

### Without using a package manager

There is a rolled-up version of `bezier.js` in the `dist` directory. Just [download that](https://raw.githubusercontent.com/Pomax/bezierjs/master/dist/bezier.js) and drop it in your JS asset dir.

## In Node, as dependency

About as simple as it gets:

```
import { Bezier } from "bezier-js";

const b = new Bezier(...);
```

Or, using the legacy CommonJS syntax:

```
const Bezier = require("bezier-js");

const b = new Bezier(...);
```

### Node support matrix

| Node Version | Require Supported | Import Supported                    |
| ------------ | ----------------- | ----------------------------------- |
| v12.0.0      | Yes               | Yes <sup>Experimental Flag</sup>    |
| v12.14.1     | Yes               | No <sup>Experimental Flag</sup>     |
| v12.17.0     | Yes               | Yes <sup>Experimental Warning</sup> |
| v12.22.1     | Yes               | Yes                                 |
| v14.0.0      | Yes               | Yes                                 |
| v14.16.1     | Yes               | Yes                                 |

## In Node or the browser, from file

Copy the contents of the `src` directory to wherever you like (`/js`, `/vendor`, etc), or place the rolled-up version of the library there, and then load the library as an import to whatever script needs to use the `Bezier` constructor using:

```
import { Bezier } from "/js/vendor/bezier.js";

const b = new Bezier(...);
```

## Working on the code

All the code is in the `src` directory, with `bezier.js` as entry point.

To test code (which automatically applies code formatting and rollup), use `npm test`.

There is no explicit build step for the library, `npm test` takes care of everything, except checking for code coverage.

## License

This code is MIT licensed.

## Engagement

For comments and questions, [tweet at me](https://twitter.com/TheRealPomax) or file an issue.

---
_Source: https://npm.io/package/bezier-js · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
