Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/Pomax/bezierjs
A nodejs and client-side library for (cubic) Bezier curve work
https://github.com/Pomax/bezierjs
Last synced: 16 days ago
JSON representation
A nodejs and client-side library for (cubic) Bezier curve work
- Host: GitHub
- URL: https://github.com/Pomax/bezierjs
- Owner: Pomax
- License: mit
- Created: 2014-10-04T22:07:01.000Z (about 10 years ago)
- Default Branch: master
- Last Pushed: 2024-08-04T07:50:25.000Z (3 months ago)
- Last Synced: 2024-10-22T02:52:25.989Z (20 days ago)
- Language: JavaScript
- Size: 3.65 MB
- Stars: 1,737
- Watchers: 41
- Forks: 233
- Open Issues: 75
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE.md
Awesome Lists containing this project
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 Experimental Flag |
| v12.14.1 | Yes | No Experimental Flag |
| v12.17.0 | Yes | Yes Experimental Warning |
| 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, [contact me on Mastodon](https://mastodon.social/@TheRealPomax) or file an issue.