npm package: @freesewing/utils
Description: A number of utilities, typically used by FreeSewing frontend code
Author: Joost De Cock
Latest version: 4.7.1

<p align='center'><a
  href="https://www.npmjs.com/package/@freesewing/utils"
  title="@freesewing/utils on NPM"
  ><img src="https://img.shields.io/npm/v/@freesewing/utils.svg"
  alt="@freesewing/utils on NPM"/>
  </a><a
  href="https://opensource.org/licenses/MIT"
  title="License: MIT"
  ><img src="https://img.shields.io/npm/l/@freesewing/utils.svg?label=License"
  alt="License: MIT"/>
  </a><a
  href="#contributors-"
  title="All Contributors"
  ><img src="https://img.shields.io/badge/all_contributors-131-pink.svg"
  alt="All Contributors"/>
  </a></p><p align='center'><a
  href="https://forum.freesewing.org"
  title="Follow @freesewing_org on Twitter"
  ><img src="https://img.shields.io/badge/%F3%A0%80%A0-Forum-E4405F.svg?logo=discourse&logoColor=white&logoWidth=15"
  alt="Follow @freesewing_org on Twitter"/>
  </a><a
  href="https://chat.freesewing.org"
  title="Chat with us on Discord"
  ><img src="https://img.shields.io/discord/698854858052075530?label=Chat%20on%20Discord"
  alt="Chat with us on Discord"/>
  </a><a
  href="https://freesewing.org/patrons/join"
  title="Become a FreeSewing Patron"
  ><img src="https://img.shields.io/badge/%F3%A0%80%A0-Support%20us-blueviolet.svg?logo=cash-app&logoColor=white&logoWidth=15"
  alt="Become a FreeSewing Patron"/>
  </a></p>

# @freesewing/utils

A number of utilities, typically used by FreeSewing frontend code



# FreeSewing

> [!TIP]
>#### Support FreeSewing: Become a patron, or make a one-time donation 🥰
>
> FreeSewing is an open source project maintained by Joost De Cock and financially supported by the FreeSewing patrons.
>
> If you feel FreeSewing is worthwhile, and you can spend a few coins without
hardship, then you should [join us and become a patron](https://freesewing.eu/patrons/join).

## What am I looking at? 🤔

This repository is the FreeSewing *monorepo* holding all FreeSewing's websites, documentation, designs, plugins, and other NPM packages.

This folder holds: @freesewing/utils

If you're not entirely sure what to do or how to start, type this command:

```
npm run tips
```

> [!NOTE]
> If you don't want to set up a dev environment, you can run it in your browser:
> 
> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://codeberg.org/freesewing/freesewing)
> 
> We recommend that you fork our repository and then 
> put `gitpod.io/#<entire-url-of-your-fork` into a browser 
> to start up a browser-based dev environment of your own.

## About FreeSewing 💀

Where the world of makers and developers collide, that's where you'll find FreeSewing.

If you're a maker, checkout [freesewing.eu](https://freesewing.eu/) where you can generate
sewing patterns adapted to your measurements.

If you're a developer, the FreeSewing documentation lives at [freesewing.dev](https://freesewing.dev/).
The FreeSewing [core library](https://freesewing.dev/reference/api/) is a *batteries-included* toolbox
for parametric design of sewing patterns. But FreeSewing also provides a range 
of [plugins](https://freesewing.dev/reference/plugins/) that further extend the 
functionality of the platform.

If you have NodeJS installed, you can try it right now by running:

```bash
npx @freesewing/studio
```

Getting started guides are available for:
- [Linux](https://freesewing.dev/tutorials/getting-started-linux/)
- [MacOS](https://freesewing.dev/tutorials/getting-started-mac/)
- [Windows](https://freesewing.dev/tutorials/getting-started-windows/)

The [pattern design tutorial](https://freesewing.dev/tutorials/pattern-design/) will
show you how to create your first parametric design.

## Getting started ⚡ 

To get started with FreeSewing, you can spin up our development environment with:

```bash
npx @freesewing/studio
```

To work with FreeSewing's monorepo, you'll need [NodeJS v20](https://nodejs.org) on your system.  
Once you have that, clone (or fork) this repo and run `npm run kickstart`:

```bash
git clone git@codeberg.org:freesewing/freesewing.git
cd freesewing
npm run kickstart
```

## Links 👩‍💻

**Official channels**

 - 💻 Makers website: [FreeSewing.eu](https://freesewing.eu/)
 - 💻 Developers website: [FreeSewing.dev](https://freesewing.dev/)
 - ✅ [Support](https://forum.freesewing.eu/),
   [Issues](https://codeberg.org/freesewing/freesewing/issues) &
   [Codeberg](https://codeberg.org/freesewing/freesewing)

**Social media**

 - 🐘 Mastodon: [@freesewing](https://freesewing.social/@freesewing) on [FreeSewing.social](https://freesewing.social/)
 - 🐘 Mastodon: [@joost](https://freesewing.social/@joost) on [FreeSewing.social](https://freesewing.social/)

**Places the FreeSewing community hangs out**

 - 💬 [Forum](https://forum.freesewing.eu/)
 - 💬 [Discord](https://discord.freesewing.org/)
 - 💬 [Reddit](https://www.reddit.com/r/freesewing/)

## License: MIT 🤓

© [Joost De Cock](https://codeberg.org/joostdecock).  
See [the license file](https://codeberg.org/freesewing/freesewing/blob/develop/LICENSE) for details.

## Where to get help 🤯

For [Support](https://freesewing.eu/support), please use the [forum](https://forum.freesewing.eu).