1
0
Fork 0

feat: Finalized migration from Rollup to Esbuild

This commit is contained in:
Joost De Cock 2022-06-14 23:30:00 +02:00
parent ffae09bd6f
commit 7f1332215f
13 changed files with 731 additions and 235 deletions

View file

@ -4,8 +4,3 @@
*.yml *.yml
*.md *.md
# More auto-generated code
packages/*/example/public/*
packages/*/example/src/*
packages/*/tests/*.js

View file

@ -3,12 +3,514 @@
## Unreleased ## Unreleased
### aaron
#### Changed
- Migrated from Rollup to Esbuild for all builds
### albert
#### Changed
- Migrated from Rollup to Esbuild for all builds
### bee
#### Changed
- Migrated from Rollup to Esbuild for all builds
### bella
#### Changed
- Migrated from Rollup to Esbuild for all builds
### benjamin
#### Changed
- Migrated from Rollup to Esbuild for all builds
### bent
#### Changed
- Migrated from Rollup to Esbuild for all builds
### breanna
#### Changed
- Migrated from Rollup to Esbuild for all builds
### brian
#### Changed
- Migrated from Rollup to Esbuild for all builds
### bruce
#### Changed
- Migrated from Rollup to Esbuild for all builds
### carlita
#### Changed
- Migrated from Rollup to Esbuild for all builds
### carlton
#### Changed
- Migrated from Rollup to Esbuild for all builds
### cathrin
#### Changed
- Migrated from Rollup to Esbuild for all builds
### charlie
#### Changed
- Migrated from Rollup to Esbuild for all builds
### components
#### Changed
- Migrated from Rollup to Esbuild for all builds
### config-helpers
#### Added
- This new package replaces the previous snapseries package and adds extra helper methods for pattern config such as `pctBasedOn()` which was previously exported by core
### core
#### Changed
- Migrated from Rollup to Esbuild for all builds
- The `pctBasedOn()` helper method for pattern config was moved to config-helpers We did not make this a breaking change since it's only used internally.
### cornelius
#### Changed
- Migrated from Rollup to Esbuild for all builds
### diana
#### Changed
- Migrated from Rollup to Esbuild for all builds
### examples
#### Changed
- Migrated from Rollup to Esbuild for all builds
### florence
#### Changed
- Migrated from Rollup to Esbuild for all builds
### florent
#### Changed
- Migrated from Rollup to Esbuild for all builds
### gatsby-remark-jargon
#### Changed
- Migrated from Rollup to Esbuild for all builds
### holmes
#### Changed
- Migrated from Rollup to Esbuild for all builds
### hortensia
#### Changed
- Migrated from Rollup to Esbuild for all builds
### huey
#### Changed
- Migrated from Rollup to Esbuild for all builds
### hugo ### hugo
#### Changed
- Migrated from Rollup to Esbuild for all builds
#### Fixed #### Fixed
- Fix incorrect seam allowance Closes [#2208](https://github.com/freesewing/freesewing/issues/2208) - Fix incorrect seam allowance Closes [#2208](https://github.com/freesewing/freesewing/issues/2208)
### i18n
#### Changed
- Migrated from Rollup to Esbuild for all builds
#### Fixed
- Added missing lab namespace for English
### jaeger
#### Changed
- Migrated from Rollup to Esbuild for all builds
### legend
#### Changed
- Migrated from Rollup to Esbuild for all builds
### lucy
#### Changed
- Migrated from Rollup to Esbuild for all builds
### lunetius
#### Changed
- Migrated from Rollup to Esbuild for all builds
### models
#### Changed
- Migrated from Rollup to Esbuild for all builds
### mui-theme
#### Changed
- Migrated from Rollup to Esbuild for all builds
### paco
#### Changed
- Migrated from Rollup to Esbuild for all builds
### pattern-info
#### Changed
- Migrated from Rollup to Esbuild for all builds
### penelope
#### Changed
- Migrated from Rollup to Esbuild for all builds
### plugin-banner
#### Changed
- Migrated from Rollup to Esbuild for all builds
### plugin-bartack
#### Changed
- Migrated from Rollup to Esbuild for all builds
### plugin-bundle
#### Changed
- Migrated from Rollup to Esbuild for all builds
### plugin-bust
#### Changed
- Migrated from Rollup to Esbuild for all builds
### plugin-buttons
#### Changed
- Migrated from Rollup to Esbuild for all builds
### plugin-cutonfold
#### Changed
- Migrated from Rollup to Esbuild for all builds
### plugin-dimension
#### Changed
- Migrated from Rollup to Esbuild for all builds
### plugin-export-dxf
#### Changed
- Migrated from Rollup to Esbuild for all builds
### plugin-flip
#### Changed
- Migrated from Rollup to Esbuild for all builds
### plugin-gore
#### Changed
- Migrated from Rollup to Esbuild for all builds
### plugin-grainline
#### Changed
- Migrated from Rollup to Esbuild for all builds
### plugin-i18n
#### Changed
- Migrated from Rollup to Esbuild for all builds
### plugin-logo
#### Changed
- Migrated from Rollup to Esbuild for all builds
### plugin-measurements
#### Changed
- Migrated from Rollup to Esbuild for all builds
### plugin-mirror
#### Changed
- Migrated from Rollup to Esbuild for all builds
### plugin-notches
#### Changed
- Migrated from Rollup to Esbuild for all builds
### plugin-round
#### Changed
- Migrated from Rollup to Esbuild for all builds
### plugin-scalebox
#### Changed
- Migrated from Rollup to Esbuild for all builds
### plugin-sprinkle
#### Changed
- Migrated from Rollup to Esbuild for all builds
### plugin-svgattr
#### Changed
- Migrated from Rollup to Esbuild for all builds
### plugin-theme
#### Changed
- Migrated from Rollup to Esbuild for all builds
### plugin-title
#### Changed
- Migrated from Rollup to Esbuild for all builds
### plugin-validate
#### Changed
- Migrated from Rollup to Esbuild for all builds
### plugin-versionfree-svg
#### Changed
- Migrated from Rollup to Esbuild for all builds
### plugintest
#### Changed
- Migrated from Rollup to Esbuild for all builds
### remark-jargon
#### Changed
- Migrated from Rollup to Esbuild for all builds
### rendertest
#### Changed
- Migrated from Rollup to Esbuild for all builds
### sandy
#### Changed
- Migrated from Rollup to Esbuild for all builds
### shin
#### Changed
- Migrated from Rollup to Esbuild for all builds
### simon
#### Changed
- Migrated from Rollup to Esbuild for all builds
#### Fixed
- Handle edge-case for 1/10 dolls with breasts where path split would yield empty half
### simone
#### Changed
- Migrated from Rollup to Esbuild for all builds
#### Fixed
- Added the frontdarts option back after it was (accidentally) removed
- Handle edge-case for 1/10 dolls with breasts where path split would yield empty half
### sven
#### Changed
- Migrated from Rollup to Esbuild for all builds
### tamiko
#### Changed
- Migrated from Rollup to Esbuild for all builds
### teagan
#### Changed
- Migrated from Rollup to Esbuild for all builds
#### Fixed
- Added missing name to config file
### theo
#### Changed
- Migrated from Rollup to Esbuild for all builds
### tiberius
#### Changed
- Migrated from Rollup to Esbuild for all builds
### titan
#### Changed
- Migrated from Rollup to Esbuild for all builds
### trayvon
#### Changed
- Migrated from Rollup to Esbuild for all builds
### tutorial
#### Changed
- Migrated from Rollup to Esbuild for all builds
### ursula
#### Changed
- Migrated from Rollup to Esbuild for all builds
### utils
#### Changed
- Migrated from Rollup to Esbuild for all builds
### wahid
#### Changed
- Migrated from Rollup to Esbuild for all builds
### walburga
#### Changed
- Migrated from Rollup to Esbuild for all builds
### waralee
#### Changed
- Migrated from Rollup to Esbuild for all builds
### yuri
#### Changed
- Migrated from Rollup to Esbuild for all builds
## 2.20.8 (2022-05-21) ## 2.20.8 (2022-05-21)
@ -1174,12 +1676,6 @@
- Support drafting of non-human measurements (dolls & giants) Closes [#1318](https://github.com/freesewing/freesewing/issues/1318) - Support drafting of non-human measurements (dolls & giants) Closes [#1318](https://github.com/freesewing/freesewing/issues/1318)
- Fix issue with armhole introduced with the S3 options in Brian Closes - Fix issue with armhole introduced with the S3 options in Brian Closes
### snapseries
#### Added
- Initial release of `@freesewing/snapseries` wich holds commonly used series of snap values for percentage options
### theo ### theo
#### Changed #### Changed

View file

@ -22,7 +22,7 @@
</a><a </a><a
href="#contributors-" href="#contributors-"
title="All Contributors" title="All Contributors"
><img src="https://img.shields.io/badge/all_contributors-89-pink.svg" ><img src="https://img.shields.io/badge/all_contributors-90-pink.svg"
alt="All Contributors"/> alt="All Contributors"/>
</a></p><p align='center'><a </a></p><p align='center'><a
href="https://twitter.com/freesewing_org" href="https://twitter.com/freesewing_org"
@ -155,94 +155,95 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
<tr> <tr>
<td align="center"><a href="https://github.com/ElenaFdR"><img src="https://avatars.githubusercontent.com/u/5113815?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Elena FdR</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=ElenaFdR" title="Documentation">📖</a> <a href="#blog-ElenaFdR" title="Blogposts">📝</a></td> <td align="center"><a href="https://github.com/ElenaFdR"><img src="https://avatars.githubusercontent.com/u/5113815?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Elena FdR</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=ElenaFdR" title="Documentation">📖</a> <a href="#blog-ElenaFdR" title="Blogposts">📝</a></td>
<td align="center"><a href="https://emmanuelnyachoke.com/"><img src="https://avatars.githubusercontent.com/u/1908926?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Emmanuel Nyachoke</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=enyachoke" title="Code">💻</a> <a href="https://github.com/freesewing/freesewing/commits?author=enyachoke" title="Documentation">📖</a></td> <td align="center"><a href="https://emmanuelnyachoke.com/"><img src="https://avatars.githubusercontent.com/u/1908926?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Emmanuel Nyachoke</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=enyachoke" title="Code">💻</a> <a href="https://github.com/freesewing/freesewing/commits?author=enyachoke" title="Documentation">📖</a></td>
<td align="center"><a href="http://enochriese.com"><img src="https://avatars.githubusercontent.com/u/5298929?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Enoch Riese</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=eriese" title="Code">💻</a></td>
<td align="center"><a href="https://github.com/EvEkSwed"><img src="https://avatars.githubusercontent.com/u/39723451?v=4?s=100" width="100px;" alt=""/><br /><sub><b>EvEkSwed</b></sub></a><br /><a href="#translation-EvEkSwed" title="Translation">🌍</a></td> <td align="center"><a href="https://github.com/EvEkSwed"><img src="https://avatars.githubusercontent.com/u/39723451?v=4?s=100" width="100px;" alt=""/><br /><sub><b>EvEkSwed</b></sub></a><br /><a href="#translation-EvEkSwed" title="Translation">🌍</a></td>
<td align="center"><a href="https://github.com/Fantastik-Maman"><img src="https://avatars.githubusercontent.com/u/39785382?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Fantastik-Maman</b></sub></a><br /><a href="#translation-Fantastik-Maman" title="Translation">🌍</a></td> <td align="center"><a href="https://github.com/Fantastik-Maman"><img src="https://avatars.githubusercontent.com/u/39785382?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Fantastik-Maman</b></sub></a><br /><a href="#translation-Fantastik-Maman" title="Translation">🌍</a></td>
<td align="center"><a href="https://www.forresto.com/"><img src="https://avatars.githubusercontent.com/u/395307?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Forrest O.</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=forresto" title="Documentation">📖</a></td> <td align="center"><a href="https://www.forresto.com/"><img src="https://avatars.githubusercontent.com/u/395307?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Forrest O.</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=forresto" title="Documentation">📖</a></td>
<td align="center"><a href="https://github.com/fmatray"><img src="https://avatars.githubusercontent.com/u/8267716?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Frédéric</b></sub></a><br /><a href="#translation-fmatray" title="Translation">🌍</a></td> <td align="center"><a href="https://github.com/fmatray"><img src="https://avatars.githubusercontent.com/u/8267716?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Frédéric</b></sub></a><br /><a href="#translation-fmatray" title="Translation">🌍</a></td>
<td align="center"><a href="https://www.linkedin.com/in/glennfmatthews/"><img src="https://avatars.githubusercontent.com/u/5603551?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Glenn Matthews</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=glennmatthews" title="Documentation">📖</a></td>
</tr> </tr>
<tr> <tr>
<td align="center"><a href="https://www.linkedin.com/in/glennfmatthews/"><img src="https://avatars.githubusercontent.com/u/5603551?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Glenn Matthews</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=glennmatthews" title="Documentation">📖</a></td>
<td align="center"><a href="https://kirby.zone"><img src="https://avatars.githubusercontent.com/u/75245963?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Igor Couto</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/issues?q=author%3Aiocouto" title="Bug reports">🐛</a></td> <td align="center"><a href="https://kirby.zone"><img src="https://avatars.githubusercontent.com/u/75245963?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Igor Couto</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/issues?q=author%3Aiocouto" title="Bug reports">🐛</a></td>
<td align="center"><a href="https://bandism.net/"><img src="https://avatars.githubusercontent.com/u/22633385?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Ikko Ashimine</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=eltociear" title="Documentation">📖</a></td> <td align="center"><a href="https://bandism.net/"><img src="https://avatars.githubusercontent.com/u/22633385?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Ikko Ashimine</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=eltociear" title="Documentation">📖</a></td>
<td align="center"><a href="https://github.com/Irapeke"><img src="https://avatars.githubusercontent.com/u/39604334?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Irapeke</b></sub></a><br /><a href="#translation-Irapeke" title="Translation">🌍</a></td> <td align="center"><a href="https://github.com/Irapeke"><img src="https://avatars.githubusercontent.com/u/39604334?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Irapeke</b></sub></a><br /><a href="#translation-Irapeke" title="Translation">🌍</a></td>
<td align="center"><a href="https://github.com/jsawo"><img src="https://avatars.githubusercontent.com/u/1294706?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Jacek Sawoszczuk</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=jsawo" title="Documentation">📖</a></td> <td align="center"><a href="https://github.com/jsawo"><img src="https://avatars.githubusercontent.com/u/1294706?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Jacek Sawoszczuk</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=jsawo" title="Documentation">📖</a></td>
<td align="center"><a href="https://github.com/jgfichte"><img src="https://avatars.githubusercontent.com/u/1787162?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Jason Williams</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=jgfichte" title="Documentation">📖</a></td> <td align="center"><a href="https://github.com/jgfichte"><img src="https://avatars.githubusercontent.com/u/1787162?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Jason Williams</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=jgfichte" title="Documentation">📖</a></td>
<td align="center"><a href="https://github.com/jejacks0n"><img src="https://avatars.githubusercontent.com/u/13765?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Jeremy Jackson</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=jejacks0n" title="Code">💻</a></td> <td align="center"><a href="https://github.com/jejacks0n"><img src="https://avatars.githubusercontent.com/u/13765?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Jeremy Jackson</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=jejacks0n" title="Code">💻</a></td>
<td align="center"><a href="https://github.com/Joebidido"><img src="https://avatars.githubusercontent.com/u/39796210?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Joebidido</b></sub></a><br /><a href="#translation-Joebidido" title="Translation">🌍</a></td>
</tr> </tr>
<tr> <tr>
<td align="center"><a href="https://github.com/Joebidido"><img src="https://avatars.githubusercontent.com/u/39796210?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Joebidido</b></sub></a><br /><a href="#translation-Joebidido" title="Translation">🌍</a></td>
<td align="center"><a href="https://joost.at/"><img src="https://avatars.githubusercontent.com/u/1708494?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Joost De Cock</b></sub></a><br /><a href="#maintenance-joostdecock" title="Maintenance">🚧</a></td> <td align="center"><a href="https://joost.at/"><img src="https://avatars.githubusercontent.com/u/1708494?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Joost De Cock</b></sub></a><br /><a href="#maintenance-joostdecock" title="Maintenance">🚧</a></td>
<td align="center"><a href="https://github.com/joshessman"><img src="https://avatars.githubusercontent.com/u/9941074?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Josh Essman</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=joshessman" title="Documentation">📖</a></td> <td align="center"><a href="https://github.com/joshessman"><img src="https://avatars.githubusercontent.com/u/9941074?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Josh Essman</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=joshessman" title="Documentation">📖</a></td>
<td align="center"><a href="http://www.earth.li/~kake/"><img src="https://avatars.githubusercontent.com/u/1956810?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Kake</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=KakeLP" title="Documentation">📖</a></td> <td align="center"><a href="http://www.earth.li/~kake/"><img src="https://avatars.githubusercontent.com/u/1956810?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Kake</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=KakeLP" title="Documentation">📖</a></td>
<td align="center"><a href="https://twitter.com/kapunahele"><img src="https://avatars.githubusercontent.com/u/4116963?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Kapunahele Wong</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=kapunahelewong" title="Documentation">📖</a></td> <td align="center"><a href="https://twitter.com/kapunahele"><img src="https://avatars.githubusercontent.com/u/4116963?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Kapunahele Wong</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=kapunahelewong" title="Documentation">📖</a></td>
<td align="center"><a href="https://github.com/tangerineshark"><img src="https://avatars.githubusercontent.com/u/70777269?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Karen</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=tangerineshark" title="Documentation">📖</a> <a href="#eventOrganizing-tangerineshark" title="Event Organizing">📋</a></td> <td align="center"><a href="https://github.com/tangerineshark"><img src="https://avatars.githubusercontent.com/u/70777269?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Karen</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=tangerineshark" title="Documentation">📖</a> <a href="#eventOrganizing-tangerineshark" title="Event Organizing">📋</a></td>
<td align="center"><a href="https://github.com/mcgnly"><img src="https://avatars.githubusercontent.com/u/5653631?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Katie McGinley</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=mcgnly" title="Documentation">📖</a></td> <td align="center"><a href="https://github.com/mcgnly"><img src="https://avatars.githubusercontent.com/u/5653631?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Katie McGinley</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=mcgnly" title="Documentation">📖</a></td>
<td align="center"><a href="http://www.kieranklaassen.com/"><img src="https://avatars.githubusercontent.com/u/209089?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Kieran Klaassen</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=kieranklaassen" title="Code">💻</a></td>
</tr> </tr>
<tr> <tr>
<td align="center"><a href="http://www.kieranklaassen.com/"><img src="https://avatars.githubusercontent.com/u/209089?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Kieran Klaassen</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=kieranklaassen" title="Code">💻</a></td>
<td align="center"><a href="https://github.com/Kittycatou"><img src="https://avatars.githubusercontent.com/u/48165583?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Kittycatou</b></sub></a><br /><a href="#translation-Kittycatou" title="Translation">🌍</a></td> <td align="center"><a href="https://github.com/Kittycatou"><img src="https://avatars.githubusercontent.com/u/48165583?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Kittycatou</b></sub></a><br /><a href="#translation-Kittycatou" title="Translation">🌍</a></td>
<td align="center"><a href="https://www.krishoward.org/"><img src="https://avatars.githubusercontent.com/u/5946286?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Kris</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=web-goddess" title="Documentation">📖</a></td> <td align="center"><a href="https://www.krishoward.org/"><img src="https://avatars.githubusercontent.com/u/5946286?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Kris</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=web-goddess" title="Documentation">📖</a></td>
<td align="center"><a href="https://github.com/kristinruben"><img src="https://avatars.githubusercontent.com/u/17237479?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Kristin Ruben</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=kristinruben" title="Code">💻</a></td> <td align="center"><a href="https://github.com/kristinruben"><img src="https://avatars.githubusercontent.com/u/17237479?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Kristin Ruben</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=kristinruben" title="Code">💻</a></td>
<td align="center"><a href="https://github.com/Loudepeuter"><img src="https://avatars.githubusercontent.com/u/38081954?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Loudepeuter</b></sub></a><br /><a href="#translation-Loudepeuter" title="Translation">🌍</a></td> <td align="center"><a href="https://github.com/Loudepeuter"><img src="https://avatars.githubusercontent.com/u/38081954?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Loudepeuter</b></sub></a><br /><a href="#translation-Loudepeuter" title="Translation">🌍</a></td>
<td align="center"><a href="https://github.com/lucibytes"><img src="https://avatars.githubusercontent.com/u/77203781?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Lucian</b></sub></a><br /><a href="#eventOrganizing-lucibytes" title="Event Organizing">📋</a></td> <td align="center"><a href="https://github.com/lucibytes"><img src="https://avatars.githubusercontent.com/u/77203781?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Lucian</b></sub></a><br /><a href="#eventOrganizing-lucibytes" title="Event Organizing">📋</a></td>
<td align="center"><a href="https://github.com/manufakturedelweiss"><img src="https://avatars.githubusercontent.com/u/38063391?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Marcus</b></sub></a><br /><a href="#translation-manufakturedelweiss" title="Translation">🌍</a></td> <td align="center"><a href="https://github.com/manufakturedelweiss"><img src="https://avatars.githubusercontent.com/u/38063391?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Marcus</b></sub></a><br /><a href="#translation-manufakturedelweiss" title="Translation">🌍</a></td>
<td align="center"><a href="https://github.com/martintribo"><img src="https://avatars.githubusercontent.com/u/1613442?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Martin Tribo</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=martintribo" title="Documentation">📖</a></td>
</tr> </tr>
<tr> <tr>
<td align="center"><a href="https://github.com/martintribo"><img src="https://avatars.githubusercontent.com/u/1613442?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Martin Tribo</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=martintribo" title="Documentation">📖</a></td>
<td align="center"><a href="https://github.com/nadege"><img src="https://avatars.githubusercontent.com/u/3792171?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Nadege Michel</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=nadege" title="Tests">⚠️</a> <a href="https://github.com/freesewing/freesewing/commits?author=nadege" title="Documentation">📖</a></td> <td align="center"><a href="https://github.com/nadege"><img src="https://avatars.githubusercontent.com/u/3792171?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Nadege Michel</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=nadege" title="Tests">⚠️</a> <a href="https://github.com/freesewing/freesewing/commits?author=nadege" title="Documentation">📖</a></td>
<td align="center"><a href="https://github.com/nataliasayang"><img src="https://avatars.githubusercontent.com/u/48160791?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Natalia</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=nataliasayang" title="Code">💻</a> <a href="#design-nataliasayang" title="Design">🎨</a> <a href="#blog-nataliasayang" title="Blogposts">📝</a></td> <td align="center"><a href="https://github.com/nataliasayang"><img src="https://avatars.githubusercontent.com/u/48160791?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Natalia</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=nataliasayang" title="Code">💻</a> <a href="#design-nataliasayang" title="Design">🎨</a> <a href="#blog-nataliasayang" title="Blogposts">📝</a></td>
<td align="center"><a href="http://yergler.net/"><img src="https://avatars.githubusercontent.com/u/510875?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Nathan Yergler</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=nyergler" title="Documentation">📖</a></td> <td align="center"><a href="http://yergler.net/"><img src="https://avatars.githubusercontent.com/u/510875?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Nathan Yergler</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=nyergler" title="Documentation">📖</a></td>
<td align="center"><a href="https://github.com/nicholasdower"><img src="https://avatars.githubusercontent.com/u/9117775?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Nick Dower</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=nicholasdower" title="Documentation">📖</a> <a href="https://github.com/freesewing/freesewing/commits?author=nicholasdower" title="Code">💻</a> <a href="https://github.com/freesewing/freesewing/issues?q=author%3Anicholasdower" title="Bug reports">🐛</a></td> <td align="center"><a href="https://github.com/nicholasdower"><img src="https://avatars.githubusercontent.com/u/9117775?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Nick Dower</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=nicholasdower" title="Documentation">📖</a> <a href="https://github.com/freesewing/freesewing/commits?author=nicholasdower" title="Code">💻</a> <a href="https://github.com/freesewing/freesewing/issues?q=author%3Anicholasdower" title="Bug reports">🐛</a></td>
<td align="center"><a href="https://pat.forringer.com/"><img src="https://avatars.githubusercontent.com/u/136456?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Patrick Forringer</b></sub></a><br /><a href="#plugin-destos" title="Plugin/utility libraries">🔌</a></td> <td align="center"><a href="https://pat.forringer.com/"><img src="https://avatars.githubusercontent.com/u/136456?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Patrick Forringer</b></sub></a><br /><a href="#plugin-destos" title="Plugin/utility libraries">🔌</a></td>
<td align="center"><a href="http://pd75.github.io/"><img src="https://avatars.githubusercontent.com/u/10294795?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Paul</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=PD75" title="Documentation">📖</a> <a href="#blog-PD75" title="Blogposts">📝</a> <a href="#translation-PD75" title="Translation">🌍</a></td> <td align="center"><a href="http://pd75.github.io/"><img src="https://avatars.githubusercontent.com/u/10294795?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Paul</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=PD75" title="Documentation">📖</a> <a href="#blog-PD75" title="Blogposts">📝</a> <a href="#translation-PD75" title="Translation">🌍</a></td>
<td align="center"><a href="https://github.com/phillipthelen"><img src="https://avatars.githubusercontent.com/u/298062?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Phillip Thelen</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=phillipthelen" title="Code">💻</a></td>
</tr> </tr>
<tr> <tr>
<td align="center"><a href="https://github.com/phillipthelen"><img src="https://avatars.githubusercontent.com/u/298062?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Phillip Thelen</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=phillipthelen" title="Code">💻</a></td>
<td align="center"><a href="https://github.com/Pixieish"><img src="https://avatars.githubusercontent.com/u/32991415?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Pixieish</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=Pixieish" title="Documentation">📖</a></td> <td align="center"><a href="https://github.com/Pixieish"><img src="https://avatars.githubusercontent.com/u/32991415?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Pixieish</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=Pixieish" title="Documentation">📖</a></td>
<td align="center"><a href="https://www.uza.be/persoon/prof-dr-sorcha-ni-dhubhghaill"><img src="https://avatars.githubusercontent.com/u/30624634?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Prof. dr. Sorcha Ní Dhubhghaill</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=sorchanidhubhghaill" title="Documentation">📖</a></td> <td align="center"><a href="https://www.uza.be/persoon/prof-dr-sorcha-ni-dhubhghaill"><img src="https://avatars.githubusercontent.com/u/30624634?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Prof. dr. Sorcha Ní Dhubhghaill</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=sorchanidhubhghaill" title="Documentation">📖</a></td>
<td align="center"><a href="https://github.com/QuentinFelix"><img src="https://avatars.githubusercontent.com/u/5288091?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Quentin FELIX</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=QuentinFelix" title="Code">💻</a> <a href="#design-QuentinFelix" title="Design">🎨</a></td> <td align="center"><a href="https://github.com/QuentinFelix"><img src="https://avatars.githubusercontent.com/u/5288091?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Quentin FELIX</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=QuentinFelix" title="Code">💻</a> <a href="#design-QuentinFelix" title="Design">🎨</a></td>
<td align="center"><a href="https://github.com/RikHekker"><img src="https://avatars.githubusercontent.com/u/31843274?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Rik Hekker</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/issues?q=author%3ARikHekker" title="Bug reports">🐛</a></td> <td align="center"><a href="https://github.com/RikHekker"><img src="https://avatars.githubusercontent.com/u/31843274?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Rik Hekker</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/issues?q=author%3ARikHekker" title="Bug reports">🐛</a></td>
<td align="center"><a href="http://resume.livingston-gray.com/faq.html"><img src="https://avatars.githubusercontent.com/u/6462?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Sam Livingston-Gray</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=geeksam" title="Documentation">📖</a></td> <td align="center"><a href="http://resume.livingston-gray.com/faq.html"><img src="https://avatars.githubusercontent.com/u/6462?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Sam Livingston-Gray</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=geeksam" title="Documentation">📖</a></td>
<td align="center"><a href="https://github.com/sannek"><img src="https://avatars.githubusercontent.com/u/17491062?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Sanne</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=sannek" title="Code">💻</a> <a href="https://github.com/freesewing/freesewing/commits?author=sannek" title="Documentation">📖</a></td> <td align="center"><a href="https://github.com/sannek"><img src="https://avatars.githubusercontent.com/u/17491062?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Sanne</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=sannek" title="Code">💻</a> <a href="https://github.com/freesewing/freesewing/commits?author=sannek" title="Documentation">📖</a></td>
<td align="center"><a href="https://github.com/Tyrannogina"><img src="https://avatars.githubusercontent.com/u/19556565?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Sara Latorre</b></sub></a><br /><a href="#translation-Tyrannogina" title="Translation">🌍</a></td>
</tr> </tr>
<tr> <tr>
<td align="center"><a href="https://github.com/Tyrannogina"><img src="https://avatars.githubusercontent.com/u/19556565?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Sara Latorre</b></sub></a><br /><a href="#translation-Tyrannogina" title="Translation">🌍</a></td>
<td align="center"><a href="https://github.com/SeaZeeZee"><img src="https://avatars.githubusercontent.com/u/86711383?v=4?s=100" width="100px;" alt=""/><br /><sub><b>SeaZeeZee</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=SeaZeeZee" title="Documentation">📖</a> <a href="https://github.com/freesewing/freesewing/commits?author=SeaZeeZee" title="Code">💻</a></td> <td align="center"><a href="https://github.com/SeaZeeZee"><img src="https://avatars.githubusercontent.com/u/86711383?v=4?s=100" width="100px;" alt=""/><br /><sub><b>SeaZeeZee</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=SeaZeeZee" title="Documentation">📖</a> <a href="https://github.com/freesewing/freesewing/commits?author=SeaZeeZee" title="Code">💻</a></td>
<td align="center"><a href="https://www.instagram.com/celine_mge/"><img src="https://avatars.githubusercontent.com/u/57619777?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Slylele</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=Slylele" title="Documentation">📖</a> <a href="#translation-Slylele" title="Translation">🌍</a></td> <td align="center"><a href="https://www.instagram.com/celine_mge/"><img src="https://avatars.githubusercontent.com/u/57619777?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Slylele</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=Slylele" title="Documentation">📖</a> <a href="#translation-Slylele" title="Translation">🌍</a></td>
<td align="center"><a href="https://github.com/Soazillon"><img src="https://avatars.githubusercontent.com/u/40845940?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Soazillon</b></sub></a><br /><a href="#translation-Soazillon" title="Translation">🌍</a></td> <td align="center"><a href="https://github.com/Soazillon"><img src="https://avatars.githubusercontent.com/u/40845940?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Soazillon</b></sub></a><br /><a href="#translation-Soazillon" title="Translation">🌍</a></td>
<td align="center"><a href="https://github.com/SoneaTheBest"><img src="https://avatars.githubusercontent.com/u/64635425?v=4?s=100" width="100px;" alt=""/><br /><sub><b>SoneaTheBest</b></sub></a><br /><a href="#translation-SoneaTheBest" title="Translation">🌍</a></td> <td align="center"><a href="https://github.com/SoneaTheBest"><img src="https://avatars.githubusercontent.com/u/64635425?v=4?s=100" width="100px;" alt=""/><br /><sub><b>SoneaTheBest</b></sub></a><br /><a href="#translation-SoneaTheBest" title="Translation">🌍</a></td>
<td align="center"><a href="http://metafly.info/"><img src="https://avatars.githubusercontent.com/u/961256?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Stefan Sydow</b></sub></a><br /><a href="#translation-stsydow" title="Translation">🌍</a> <a href="https://github.com/freesewing/freesewing/commits?author=stsydow" title="Documentation">📖</a> <a href="https://github.com/freesewing/freesewing/commits?author=stsydow" title="Code">💻</a></td> <td align="center"><a href="http://metafly.info/"><img src="https://avatars.githubusercontent.com/u/961256?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Stefan Sydow</b></sub></a><br /><a href="#translation-stsydow" title="Translation">🌍</a> <a href="https://github.com/freesewing/freesewing/commits?author=stsydow" title="Documentation">📖</a> <a href="https://github.com/freesewing/freesewing/commits?author=stsydow" title="Code">💻</a></td>
<td align="center"><a href="https://github.com/TriploidTree"><img src="https://avatars.githubusercontent.com/u/4170521?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Tríona</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=TriploidTree" title="Documentation">📖</a></td> <td align="center"><a href="https://github.com/TriploidTree"><img src="https://avatars.githubusercontent.com/u/4170521?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Tríona</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=TriploidTree" title="Documentation">📖</a></td>
<td align="center"><a href="https://github.com/theUnmutual"><img src="https://avatars.githubusercontent.com/u/22374635?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Unmutual</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=theUnmutual" title="Documentation">📖</a></td>
</tr> </tr>
<tr> <tr>
<td align="center"><a href="https://github.com/theUnmutual"><img src="https://avatars.githubusercontent.com/u/22374635?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Unmutual</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=theUnmutual" title="Documentation">📖</a></td>
<td align="center"><a href="https://github.com/woutervdub"><img src="https://avatars.githubusercontent.com/u/24414629?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Wouter van Wageningen</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=woutervdub" title="Code">💻</a> <a href="#design-woutervdub" title="Design">🎨</a> <a href="#tool-woutervdub" title="Tools">🔧</a></td> <td align="center"><a href="https://github.com/woutervdub"><img src="https://avatars.githubusercontent.com/u/24414629?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Wouter van Wageningen</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=woutervdub" title="Code">💻</a> <a href="#design-woutervdub" title="Design">🎨</a> <a href="#tool-woutervdub" title="Tools">🔧</a></td>
<td align="center"><a href="https://github.com/amysews"><img src="https://avatars.githubusercontent.com/u/25280778?v=4?s=100" width="100px;" alt=""/><br /><sub><b>amysews</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=amysews" title="Documentation">📖</a></td> <td align="center"><a href="https://github.com/amysews"><img src="https://avatars.githubusercontent.com/u/25280778?v=4?s=100" width="100px;" alt=""/><br /><sub><b>amysews</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=amysews" title="Documentation">📖</a></td>
<td align="center"><a href="https://github.com/beautifulsummermoon"><img src="https://avatars.githubusercontent.com/u/40396388?v=4?s=100" width="100px;" alt=""/><br /><sub><b>beautifulsummermoon</b></sub></a><br /><a href="#translation-beautifulsummermoon" title="Translation">🌍</a></td> <td align="center"><a href="https://github.com/beautifulsummermoon"><img src="https://avatars.githubusercontent.com/u/40396388?v=4?s=100" width="100px;" alt=""/><br /><sub><b>beautifulsummermoon</b></sub></a><br /><a href="#translation-beautifulsummermoon" title="Translation">🌍</a></td>
<td align="center"><a href="https://github.com/berce"><img src="https://avatars.githubusercontent.com/u/10439709?v=4?s=100" width="100px;" alt=""/><br /><sub><b>berce</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=berce" title="Documentation">📖</a></td> <td align="center"><a href="https://github.com/berce"><img src="https://avatars.githubusercontent.com/u/10439709?v=4?s=100" width="100px;" alt=""/><br /><sub><b>berce</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=berce" title="Documentation">📖</a></td>
<td align="center"><a href="https://github.com/biou"><img src="https://avatars.githubusercontent.com/u/1340376?v=4?s=100" width="100px;" alt=""/><br /><sub><b>biou</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=biou" title="Code">💻</a></td> <td align="center"><a href="https://github.com/biou"><img src="https://avatars.githubusercontent.com/u/1340376?v=4?s=100" width="100px;" alt=""/><br /><sub><b>biou</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=biou" title="Code">💻</a></td>
<td align="center"><a href="https://github.com/bobgeorgethe3rd"><img src="https://avatars.githubusercontent.com/u/16866285?v=4?s=100" width="100px;" alt=""/><br /><sub><b>bobgeorgethe3rd</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=bobgeorgethe3rd" title="Code">💻</a> <a href="https://github.com/freesewing/freesewing/commits?author=bobgeorgethe3rd" title="Documentation">📖</a> <a href="#design-bobgeorgethe3rd" title="Design">🎨</a></td> <td align="center"><a href="https://github.com/bobgeorgethe3rd"><img src="https://avatars.githubusercontent.com/u/16866285?v=4?s=100" width="100px;" alt=""/><br /><sub><b>bobgeorgethe3rd</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=bobgeorgethe3rd" title="Code">💻</a> <a href="https://github.com/freesewing/freesewing/commits?author=bobgeorgethe3rd" title="Documentation">📖</a> <a href="#design-bobgeorgethe3rd" title="Design">🎨</a></td>
<td align="center"><a href="https://github.com/brmlyklr"><img src="https://avatars.githubusercontent.com/u/22308713?v=4?s=100" width="100px;" alt=""/><br /><sub><b>brmlyklr</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=brmlyklr" title="Documentation">📖</a></td>
</tr> </tr>
<tr> <tr>
<td align="center"><a href="https://github.com/brmlyklr"><img src="https://avatars.githubusercontent.com/u/22308713?v=4?s=100" width="100px;" alt=""/><br /><sub><b>brmlyklr</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=brmlyklr" title="Documentation">📖</a></td>
<td align="center"><a href="http://www.chrisbarrett.fr"><img src="https://avatars.githubusercontent.com/u/2373249?v=4?s=100" width="100px;" alt=""/><br /><sub><b>chri5b</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=chri5b" title="Code">💻</a> <a href="https://github.com/freesewing/freesewing/commits?author=chri5b" title="Tests">⚠️</a></td> <td align="center"><a href="http://www.chrisbarrett.fr"><img src="https://avatars.githubusercontent.com/u/2373249?v=4?s=100" width="100px;" alt=""/><br /><sub><b>chri5b</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=chri5b" title="Code">💻</a> <a href="https://github.com/freesewing/freesewing/commits?author=chri5b" title="Tests">⚠️</a></td>
<td align="center"><a href="https://github.com/dingcycle"><img src="https://avatars.githubusercontent.com/u/1681985?v=4?s=100" width="100px;" alt=""/><br /><sub><b>dingcycle</b></sub></a><br /><a href="#translation-dingcycle" title="Translation">🌍</a></td> <td align="center"><a href="https://github.com/dingcycle"><img src="https://avatars.githubusercontent.com/u/1681985?v=4?s=100" width="100px;" alt=""/><br /><sub><b>dingcycle</b></sub></a><br /><a href="#translation-dingcycle" title="Translation">🌍</a></td>
<td align="center"><a href="https://github.com/drowned-in-books"><img src="https://avatars.githubusercontent.com/u/100040772?v=4?s=100" width="100px;" alt=""/><br /><sub><b>drowned-in-books</b></sub></a><br /><a href="#question-drowned-in-books" title="Answering Questions">💬</a></td> <td align="center"><a href="https://github.com/drowned-in-books"><img src="https://avatars.githubusercontent.com/u/100040772?v=4?s=100" width="100px;" alt=""/><br /><sub><b>drowned-in-books</b></sub></a><br /><a href="#question-drowned-in-books" title="Answering Questions">💬</a></td>
<td align="center"><a href="https://github.com/econo202"><img src="https://avatars.githubusercontent.com/u/34138153?v=4?s=100" width="100px;" alt=""/><br /><sub><b>econo202</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=econo202" title="Documentation">📖</a></td> <td align="center"><a href="https://github.com/econo202"><img src="https://avatars.githubusercontent.com/u/34138153?v=4?s=100" width="100px;" alt=""/><br /><sub><b>econo202</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=econo202" title="Documentation">📖</a></td>
<td align="center"><a href="https://github.com/ericamattos"><img src="https://avatars.githubusercontent.com/u/4341417?v=4?s=100" width="100px;" alt=""/><br /><sub><b>ericamattos</b></sub></a><br /><a href="#translation-ericamattos" title="Translation">🌍</a></td> <td align="center"><a href="https://github.com/ericamattos"><img src="https://avatars.githubusercontent.com/u/4341417?v=4?s=100" width="100px;" alt=""/><br /><sub><b>ericamattos</b></sub></a><br /><a href="#translation-ericamattos" title="Translation">🌍</a></td>
<td align="center"><a href="https://github.com/fightingrabbit"><img src="https://avatars.githubusercontent.com/u/25751445?v=4?s=100" width="100px;" alt=""/><br /><sub><b>fightingrabbit</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=fightingrabbit" title="Code">💻</a></td> <td align="center"><a href="https://github.com/fightingrabbit"><img src="https://avatars.githubusercontent.com/u/25751445?v=4?s=100" width="100px;" alt=""/><br /><sub><b>fightingrabbit</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=fightingrabbit" title="Code">💻</a></td>
<td align="center"><a href="https://github.com/DocSpencer77"><img src="https://avatars.githubusercontent.com/u/43393580?v=4?s=100" width="100px;" alt=""/><br /><sub><b>gaylyndie</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=DocSpencer77" title="Documentation">📖</a></td>
</tr> </tr>
<tr> <tr>
<td align="center"><a href="https://github.com/DocSpencer77"><img src="https://avatars.githubusercontent.com/u/43393580?v=4?s=100" width="100px;" alt=""/><br /><sub><b>gaylyndie</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=DocSpencer77" title="Documentation">📖</a></td>
<td align="center"><a href="https://github.com/grimlokason"><img src="https://avatars.githubusercontent.com/u/5112238?v=4?s=100" width="100px;" alt=""/><br /><sub><b>grimlokason</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=grimlokason" title="Code">💻</a></td> <td align="center"><a href="https://github.com/grimlokason"><img src="https://avatars.githubusercontent.com/u/5112238?v=4?s=100" width="100px;" alt=""/><br /><sub><b>grimlokason</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=grimlokason" title="Code">💻</a></td>
<td align="center"><a href="https://weblog.redisdead.net"><img src="https://avatars.githubusercontent.com/u/6494414?v=4?s=100" width="100px;" alt=""/><br /><sub><b>hellgy</b></sub></a><br /><a href="#design-hellgy" title="Design">🎨</a></td> <td align="center"><a href="https://weblog.redisdead.net"><img src="https://avatars.githubusercontent.com/u/6494414?v=4?s=100" width="100px;" alt=""/><br /><sub><b>hellgy</b></sub></a><br /><a href="#design-hellgy" title="Design">🎨</a></td>
<td align="center"><a href="https://github.com/jackseye"><img src="https://avatars.githubusercontent.com/u/27834526?v=4?s=100" width="100px;" alt=""/><br /><sub><b>jackseye</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=jackseye" title="Documentation">📖</a></td> <td align="center"><a href="https://github.com/jackseye"><img src="https://avatars.githubusercontent.com/u/27834526?v=4?s=100" width="100px;" alt=""/><br /><sub><b>jackseye</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=jackseye" title="Documentation">📖</a></td>
<td align="center"><a href="https://github.com/marckiesel"><img src="https://avatars.githubusercontent.com/u/39653780?v=4?s=100" width="100px;" alt=""/><br /><sub><b>marckiesel</b></sub></a><br /><a href="#translation-marckiesel" title="Translation">🌍</a></td> <td align="center"><a href="https://github.com/marckiesel"><img src="https://avatars.githubusercontent.com/u/39653780?v=4?s=100" width="100px;" alt=""/><br /><sub><b>marckiesel</b></sub></a><br /><a href="#translation-marckiesel" title="Translation">🌍</a></td>
<td align="center"><a href="https://github.com/Mesil"><img src="https://avatars.githubusercontent.com/u/14284175?v=4?s=100" width="100px;" alt=""/><br /><sub><b>mesil</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/issues?q=author%3Amesil" title="Bug reports">🐛</a></td> <td align="center"><a href="https://github.com/Mesil"><img src="https://avatars.githubusercontent.com/u/14284175?v=4?s=100" width="100px;" alt=""/><br /><sub><b>mesil</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/issues?q=author%3Amesil" title="Bug reports">🐛</a></td>
<td align="center"><a href="https://github.com/starfetch"><img src="https://avatars.githubusercontent.com/u/80041179?v=4?s=100" width="100px;" alt=""/><br /><sub><b>starfetch</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=starfetch" title="Code">💻</a> <a href="https://github.com/freesewing/freesewing/commits?author=starfetch" title="Documentation">📖</a> <a href="#translation-starfetch" title="Translation">🌍</a> <a href="#design-starfetch" title="Design">🎨</a></td> <td align="center"><a href="https://github.com/starfetch"><img src="https://avatars.githubusercontent.com/u/80041179?v=4?s=100" width="100px;" alt=""/><br /><sub><b>starfetch</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=starfetch" title="Code">💻</a> <a href="https://github.com/freesewing/freesewing/commits?author=starfetch" title="Documentation">📖</a> <a href="#translation-starfetch" title="Translation">🌍</a> <a href="#design-starfetch" title="Design">🎨</a></td>
<td align="center"><a href="https://github.com/ttimearl"><img src="https://avatars.githubusercontent.com/u/77916590?v=4?s=100" width="100px;" alt=""/><br /><sub><b>ttimearl</b></sub></a><br /><a href="#content-ttimearl" title="Content">🖋</a></td>
</tr> </tr>
<tr> <tr>
<td align="center"><a href="https://github.com/ttimearl"><img src="https://avatars.githubusercontent.com/u/77916590?v=4?s=100" width="100px;" alt=""/><br /><sub><b>ttimearl</b></sub></a><br /><a href="#content-ttimearl" title="Content">🖋</a></td>
<td align="center"><a href="https://github.com/chrisgloom"><img src="https://avatars.githubusercontent.com/u/15905991?v=4?s=100" width="100px;" alt=""/><br /><sub><b>tuesgloomsday</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=chrisgloom" title="Documentation">📖</a></td> <td align="center"><a href="https://github.com/chrisgloom"><img src="https://avatars.githubusercontent.com/u/15905991?v=4?s=100" width="100px;" alt=""/><br /><sub><b>tuesgloomsday</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=chrisgloom" title="Documentation">📖</a></td>
<td align="center"><a href="https://github.com/valadaptive"><img src="https://avatars.githubusercontent.com/u/79560998?v=4?s=100" width="100px;" alt=""/><br /><sub><b>valadaptive</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=valadaptive" title="Code">💻</a></td> <td align="center"><a href="https://github.com/valadaptive"><img src="https://avatars.githubusercontent.com/u/79560998?v=4?s=100" width="100px;" alt=""/><br /><sub><b>valadaptive</b></sub></a><br /><a href="https://github.com/freesewing/freesewing/commits?author=valadaptive" title="Code">💻</a></td>
<td align="center"><a href="https://github.com/viocky"><img src="https://avatars.githubusercontent.com/u/39279173?v=4?s=100" width="100px;" alt=""/><br /><sub><b>viocky</b></sub></a><br /><a href="#translation-viocky" title="Translation">🌍</a></td> <td align="center"><a href="https://github.com/viocky"><img src="https://avatars.githubusercontent.com/u/39279173?v=4?s=100" width="100px;" alt=""/><br /><sub><b>viocky</b></sub></a><br /><a href="#translation-viocky" title="Translation">🌍</a></td>

View file

@ -1,8 +1,110 @@
Unreleased: Unreleased:
Added:
config-helpers:
- This new package replaces the previous snapseries package
and adds extra helper methods for pattern config such as
`pctBasedOn()` which was previously exported by core
Changed:
aaron: &esbuild
- Migrated from Rollup to Esbuild for all builds
albert: *esbuild
bee: *esbuild
bella: *esbuild
benjamin: *esbuild
bent: *esbuild
breanna: *esbuild
brian: *esbuild
bruce: *esbuild
carlita: *esbuild
carlton: *esbuild
cathrin: *esbuild
charlie: *esbuild
components: *esbuild
core:
- Migrated from Rollup to Esbuild for all builds
- The `pctBasedOn()` helper method for pattern config was moved to config-helpers
We did not make this a breaking change since it's only used internally.
cornelius: *esbuild
diana: *esbuild
examples: *esbuild
florence: *esbuild
florent: *esbuild
gatsby-remark-jargon: *esbuild
holmes: *esbuild
hortensia: *esbuild
huey: *esbuild
hugo: *esbuild
i18n: *esbuild
jaeger: *esbuild
legend: *esbuild
lucy: *esbuild
lunetius: *esbuild
models: *esbuild
mui-theme: *esbuild
paco: *esbuild
pattern-info: *esbuild
penelope: *esbuild
plugin-banner: *esbuild
plugin-bartack: *esbuild
plugin-bundle: *esbuild
plugin-bust: *esbuild
plugin-buttons: *esbuild
plugin-cutonfold: *esbuild
plugin-dimension: *esbuild
plugin-export-dxf: *esbuild
plugin-flip: *esbuild
plugin-gore: *esbuild
plugin-grainline: *esbuild
plugin-i18n: *esbuild
plugin-logo: *esbuild
plugin-measurements: *esbuild
plugin-mirror: *esbuild
plugin-notches: *esbuild
plugin-round: *esbuild
plugin-scalebox: *esbuild
plugin-sprinkle: *esbuild
plugin-svgattr: *esbuild
plugintest: *esbuild
plugin-theme: *esbuild
plugin-title: *esbuild
plugin-validate: *esbuild
plugin-versionfree-svg: *esbuild
remark-jargon: *esbuild
rendertest: *esbuild
sandy: *esbuild
shin: *esbuild
simon: *esbuild
simone: *esbuild
sven: *esbuild
tamiko: *esbuild
teagan: *esbuild
theo: *esbuild
tiberius: *esbuild
titan: *esbuild
trayvon: *esbuild
tutorial: *esbuild
ursula: *esbuild
utils: *esbuild
wahid: *esbuild
walburga: *esbuild
waralee: *esbuild
yuri: *esbuild
Fixed: Fixed:
hugo: hugo:
- Fix incorrect seam allowance - Fix incorrect seam allowance
Closes [#2208](https://github.com/freesewing/freesewing/issues/2208) Closes [#2208](https://github.com/freesewing/freesewing/issues/2208)
i18n:
- Added missing lab namespace for English
simon:
- Handle edge-case for 1/10 dolls with breasts where path split would yield empty half
simone:
- Added the frontdarts option back after it was (accidentally) removed
- Handle edge-case for 1/10 dolls with breasts where path split would yield empty half
teagan:
- Added missing name to config file
2.20.8: 2.20.8:
date: 2022-05-21 date: 2022-05-21

View file

@ -3,49 +3,16 @@ _types:
peer: peer:
'@freesewing/core': &freesewing '^{{version}}' '@freesewing/core': &freesewing '^{{version}}'
'@freesewing/plugin-bundle': *freesewing '@freesewing/plugin-bundle': *freesewing
'@freesewing/config-helpers': *freesewing
dev: dev:
'react': &react '^17.0.2'
'react-dom': &react-dom '^17.0.2'
'@babel/plugin-proposal-class-properties': '^7.13.0'
'@freesewing/components': *freesewing
'@freesewing/css-theme': *freesewing
'@freesewing/i18n': *freesewing
'@freesewing/mui-theme': *freesewing
'@freesewing/plugin-bust': *freesewing
'@freesewing/plugin-buttons': *freesewing
'@freesewing/plugin-flip': *freesewing
'@freesewing/utils': *freesewing
'react-scripts': '^5.0.0'
'webpack': '^5.67.0'
'rollup': '^2.66.1'
'@rollup/plugin-babel': '^5.3.0'
'@rollup/plugin-commonjs': '^21.0.1'
'@rollup/plugin-json': '^4.1.0'
'@rollup/plugin-node-resolve': '^13.1.3'
'rollup-plugin-peer-deps-external': '^2.2.4'
'@material-ui/core': &matui-core '^4.12.3'
'@material-ui/icons': &matui-icons '^4.11.2'
'@material-ui/lab': &matui-lab '^v4.0.0-alpha.60'
'axios': &axios '^0.25.0'
'react-intl': &react-intl '^5.24.4'
'prop-types': '^15.8.1'
'mocha': &mocha '^9.1.1' 'mocha': &mocha '^9.1.1'
'chai': &chai '^4.2.0' 'chai': &chai '^4.2.0'
'@babel/register': &babelregister '^7.10.5'
plugin: plugin:
peer: peer:
'@freesewing/core': *freesewing '@freesewing/core': *freesewing
dev: dev:
'mocha': *mocha 'mocha': *mocha
'chai': *chai 'chai': *chai
'@babel/core': '^7.11.0'
'@babel/register': *babelregister
'rollup': '^2.50.6'
'@rollup/plugin-babel': '^5.3.0'
'@rollup/plugin-commonjs': '^21.0.1'
'@rollup/plugin-json': '^4.1.0'
'@rollup/plugin-node-resolve': '^13.0.0'
'rollup-plugin-peer-deps-external': '^2.2.4'
aaron: aaron:
peer: peer:
'@freesewing/brian': *freesewing '@freesewing/brian': *freesewing
@ -80,7 +47,6 @@ charlie:
peer: peer:
'@freesewing/plugin-bartack': *freesewing '@freesewing/plugin-bartack': *freesewing
'@freesewing/plugin-mirror': *freesewing '@freesewing/plugin-mirror': *freesewing
'@freesewing/snapseries': *freesewing
'@freesewing/titan': *freesewing '@freesewing/titan': *freesewing
css-theme: css-theme:
_: _:
@ -90,8 +56,8 @@ css-theme:
'@fontsource/ubuntu': &ubuntu 'latest' '@fontsource/ubuntu': &ubuntu 'latest'
components: components:
peer: peer:
'axios': *axios 'axios': &axios '^0.25.0'
'react': *react 'react': &react '^17.0.2'
'@freesewing/pattern-info': *freesewing '@freesewing/pattern-info': *freesewing
'@freesewing/mui-theme': *freesewing '@freesewing/mui-theme': *freesewing
'@freesewing/css-theme': *freesewing '@freesewing/css-theme': *freesewing
@ -106,10 +72,10 @@ components:
'@fontsource/ubuntu': *ubuntu '@fontsource/ubuntu': *ubuntu
'@freesewing/i18n': *freesewing '@freesewing/i18n': *freesewing
'@freesewing/utils': *freesewing '@freesewing/utils': *freesewing
'react-intl': *react-intl 'react-intl': &react-intl '^5.24.4'
'@material-ui/core': *matui-core '@material-ui/core': &matui-core '^4.12.3'
'@material-ui/icons': *matui-icons '@material-ui/icons': &matui-icons '^4.11.2'
'@material-ui/lab': *matui-lab '@material-ui/lab': &matui-lab '^v4.0.0-alpha.60'
'prismjs': '^1.25.0' 'prismjs': '^1.25.0'
'react-markdown': '^6.0.2' 'react-markdown': '^6.0.2'
'file-saver': '^2.0.5' 'file-saver': '^2.0.5'
@ -181,13 +147,12 @@ mui-theme:
peer: peer:
'@material-ui/core': *matui-core '@material-ui/core': *matui-core
'react': *react 'react': *react
'react-dom': *react-dom 'react-dom': '^17.0.2'
legend: legend:
peer: peer:
'@freesewing/plugin-buttons': *freesewing '@freesewing/plugin-buttons': *freesewing
paco: paco:
peer: peer:
'@freesewing/snapseries': *freesewing
'@freesewing/titan': *freesewing '@freesewing/titan': *freesewing
plugin-bundle: plugin-bundle:
dev: dev:
@ -235,12 +200,6 @@ remark-jargon:
peer: peer:
'remark': '^13.0.0' 'remark': '^13.0.0'
'remark-html': '^13.0.1' 'remark-html': '^13.0.1'
sandy:
peer:
'@freesewing/snapseries': *freesewing
shin:
peer:
'@freesewing/snapseries': *freesewing
simon: simon:
peer: peer:
'@freesewing/brian': *freesewing '@freesewing/brian': *freesewing
@ -272,12 +231,6 @@ teagan:
peer: peer:
'@freesewing/brian': *freesewing '@freesewing/brian': *freesewing
'@freesewing/plugin-bust': *freesewing '@freesewing/plugin-bust': *freesewing
titan:
peer:
'@freesewing/snapseries': *freesewing
trayvon:
peer:
'@freesewing/snapseries': *freesewing
utils: utils:
peer: peer:
'tlds': '^1.221.1' 'tlds': '^1.221.1'

View file

@ -12,6 +12,7 @@ carlita: 'A FreeSewing pattern for Sherlock Holmes cosplay; Or just a nice long
carlton: 'A FreeSewing pattern for Sherlock Holmes cosplay; Or just a nice long coat' carlton: 'A FreeSewing pattern for Sherlock Holmes cosplay; Or just a nice long coat'
cathrin: 'A FreeSewing pattern for a underbust corset / waist trainer' cathrin: 'A FreeSewing pattern for a underbust corset / waist trainer'
charlie: 'A FreeSewing pattern for chino trousers' charlie: 'A FreeSewing pattern for chino trousers'
config-helpers: 'A FreeSewing package to facilitate pattern configurations'
components: 'A collection of React components for FreeSewing web UIs' components: 'A collection of React components for FreeSewing web UIs'
core: 'A library for creating made-to-measure sewing patterns' core: 'A library for creating made-to-measure sewing patterns'
cornelius: 'A FreeSewing pattern for cycling breeches, based on the Keystone drafting system' cornelius: 'A FreeSewing pattern for cycling breeches, based on the Keystone drafting system'
@ -72,7 +73,6 @@ sandy: 'A FreeSewing pattern for a circle skirt'
shin: 'A FreeSewing pattern for swim trunks' shin: 'A FreeSewing pattern for swim trunks'
simon: 'A FreeSewing pattern for a button down shirt' simon: 'A FreeSewing pattern for a button down shirt'
simone: 'A FreeSewing pattern for a button down shirt (Simone = Simon for people with breasts)' simone: 'A FreeSewing pattern for a button down shirt (Simone = Simon for people with breasts)'
snapseries: 'A FreeSewing package for common values for snapped percentage options'
strapi: "Freesewing's Strapi instance" strapi: "Freesewing's Strapi instance"
sven: 'A FreeSewing pattern for a straightforward sweater' sven: 'A FreeSewing pattern for a straightforward sweater'
svgtopdf: 'FreeSewing on-demand tiler' svgtopdf: 'FreeSewing on-demand tiler'

View file

@ -28,10 +28,10 @@ customReadme:
- freesewing.shared - freesewing.shared
- freesewing.org - freesewing.org
- svgtopdf - svgtopdf
customRollup: customBuild:
- backend - backend
- components - components
- core - create-freesewing-pattern
- css-theme - css-theme
- freesewing.dev - freesewing.dev
- freesewing.lab - freesewing.lab
@ -43,13 +43,8 @@ customRollup:
- remark-jargon - remark-jargon
- strapi - strapi
- svgtopdf - svgtopdf
- plugin-bundle
- utils - utils
namedExports:
- css-theme
- models
- pattern-info
- mui-theme
- snapseries
packageJson: packageJson:
backend: backend:
private: true private: true
@ -97,8 +92,12 @@ packageJson:
module: '!' module: '!'
freesewing.dev: freesewing.dev:
private: true private: true
freesewing.lab:
private: true
freesewing.org: freesewing.org:
private: true private: true
freesewing.shared:
private: true
holmes: holmes:
author: AlfaLyr (https://github.com/alfalyr) author: AlfaLyr (https://github.com/alfalyr)
i18n: i18n:

View file

@ -1,58 +1,55 @@
_: _:
build: 'node build.js'
cibuild_step1: 'node build.js'
clean: 'rimraf dist' clean: 'rimraf dist'
build: 'rollup -c' mbuild: 'NO_MINIFY=1 node build.js'
cibuild_step1: 'rollup -c'
test: &notests 'echo "{{name}}: No tests configured. Perhaps you''d like to do this?" && exit 0'
pubtest: 'npm publish --registry http://localhost:6662'
pubforce: 'npm publish'
symlink: 'mkdir -p ./node_modules/@freesewing && cd ./node_modules/@freesewing && ln -s -f ../../../* . && cd -' symlink: 'mkdir -p ./node_modules/@freesewing && cd ./node_modules/@freesewing && ln -s -f ../../../* . && cd -'
start: 'rollup -c -w' test: &notests 'echo "{{name}}: No tests configured. Perhaps you''d like to do this?" && exit 0'
vbuild: 'VERBOSE=1 node build.js'
_types: _types:
pattern: pattern:
netlify: 'echo "Not configured yet"' prettier: "npx prettier --write 'src/*.js' 'config/*.js'"
test: &test 'BABEL_ENV=production npx mocha tests/*.test.mjs --require @babel/register' test: &test 'BABEL_ENV=production npx mocha tests/*.test.mjs --require @babel/register'
testci: &testci "BABEL_ENV=production npx mocha tests/*.test.mjs --require @babel/register --reporter ../../tests/reporters/terse.js" testci: &testci "BABEL_ENV=production npx mocha tests/*.test.mjs --require @babel/register --reporter ../../tests/reporters/terse.js"
plugin: plugin:
test: *test
testci: *testci
prettier: "npx prettier --write 'src/*.js' 'tests/*.mjs'" prettier: "npx prettier --write 'src/*.js' 'tests/*.mjs'"
create-freesewing-pattern:
clean: '!'
nodebuild: '!'
modulebuild: '!'
cibuild_step1: '!'
build: '!'
test: *test test: *test
testci: *testci testci: *testci
create-freesewing-pattern:
build: '!'
cibuild_step1: '!'
clean: '!'
mbuild: '!'
modulebuild: '!'
nodebuild: '!'
test: '!'
testci: '!'
vbuild: '!'
css-theme: css-theme:
cibuild_step1: 'npx node-sass --output-style compressed src/theme.scss dist/theme.css'
build: 'npx node-sass --output-style compressed src/theme.scss dist/theme.css' build: 'npx node-sass --output-style compressed src/theme.scss dist/theme.css'
cibuild_step1: 'npx node-sass --output-style compressed src/theme.scss dist/theme.css'
watch: 'npx node-sass --watch --output-style compressed src/theme.scss dist/theme.css' watch: 'npx node-sass --watch --output-style compressed src/theme.scss dist/theme.css'
components: components:
test: *notests clean: 'rimraf Blockquote && rimraf Draft && rimraf DraftConfigurator && rimraf Emblem && rimraf Example && rimraf Footer && rimraf Icon && rimraf Legend && rimraf LineDrawing && rimraf Logo && rimraf Navbar && rimraf Ogol && rimraf Robot && rimraf SampleConfigurator && rimraf Spinner && rimraf withGist && rimraf withLanguage && rimraf withStorage && rimraf Workbench'
storybook: 'start-storybook -p 6663' storybook: 'start-storybook -p 6663'
# react-scripts doesn't handle .mjs files correctly test: *notests
modulebuild: '!'
clean: 'rimraf Blockquote && rimraf Draft && rimraf DraftConfigurator && rimraf Emblem && rimraf Example && rimraf Footer && rimraf Icon && rimraf Logo && rimraf Navbar && rimraf Ogol && rimraf Robot && rimraf SampleConfigurator && rimraf withGist && rimraf withLanguage && rimraf Workbench'
cibuild_step2: 'rollup -c'
build: 'rollup -c'
watch: 'BABEL_ENV=production rollup -c -w -o dist/index.js -f cjs'
core: core:
testonly: 'BABEL_ENV=production npx mocha tests/*.test.js' coverage: 'BABEL_ENV=production nyc npm test && nyc report --reporter=text-lcov > coverage.lcov && ./node_modules/.bin/codecov'
report: 'BABEL_ENV=production nyc report --reporter=html'
test: 'BABEL_ENV=production nyc -x node_modules -x tests/fixtures -x bin-pack npx mocha tests/*.test.js' test: 'BABEL_ENV=production nyc -x node_modules -x tests/fixtures -x bin-pack npx mocha tests/*.test.js'
testci: "BABEL_ENV=production npx mocha tests/*.test.js --require @babel/register --reporter ../../tests/reporters/terse.js" testci: "BABEL_ENV=production npx mocha tests/*.test.js --require @babel/register --reporter ../../tests/reporters/terse.js"
report: 'BABEL_ENV=production nyc report --reporter=html' testonly: 'BABEL_ENV=production npx mocha tests/*.test.js'
coverage: 'BABEL_ENV=production nyc npm test && nyc report --reporter=text-lcov > coverage.lcov && ./node_modules/.bin/codecov'
i18n: i18n:
# react-scripts doesn't handle .mjs files correctly # react-scripts doesn't handle .mjs files correctly
modulebuild: '!' modulebuild: '!'
prebuild: 'node src/prebuild.mjs'
test: *test test: *test
testci: *testci testci: *testci
prebuild: 'node src/prebuild.mjs'
pattern-info: pattern-info:
cibuild_step1: '!' cibuild_step1: '!'
cibuild_step2: 'node src/prebuild.js && rollup -c' cibuild_step2: 'node src/prebuild.js && node build.js'
prebuild: 'node src/prebuild.js' prebuild: 'node src/prebuild.js'
utils: utils:
clean: "rimraf backend && rimraf camelCase && rimraf capitalize && rimraf cloneObject && rimraf convertSize && rimraf defaultGist && rimraf defaultSa && rimraf formatImperial && rimraf formatMm && rimraf isDegMeasurement && rimraf measurementAsMm && rimraf measurementDiffers && rimraf neckstimate && rimraf optionDefault && rimraf optionType && rimraf roundMm && rimraf roundMmDown && rimraf roundMmUp && rimraf sliderStep && rimraf smallestImperialStep && rimraf storage && rimraf tiler && rimraf validateEmail && rimraf validateTld"
# react-scripts doesn't handle .mjs files correctly # react-scripts doesn't handle .mjs files correctly
modulebuild: '!' modulebuild: '!'

View file

@ -0,0 +1,55 @@
/* This script will build the package with esbuild */
const esbuild = require('esbuild')
const pkg = require('./package.json')
// Create banner based on package info
const banner = `/**
* ${pkg.name} | v${pkg.version}
* ${pkg.description}
* (c) ${new Date().getFullYear()} ${pkg.author}
* @license ${pkg.license}
*/`
// Shared esbuild options
const options = {
banner: { js: banner },
bundle: true,
entryPoints: ['src/index.js'],
external: ["@freesewing"],
metafile: process.env.VERBOSE ? true : false,
minify: process.env.NO_MINIFY ? false : true,
sourcemap: true,
}
// Different formats
const formats = {
cjs: "dist/index.js",
esm: "dist/index.mjs",
}
// Let esbuild generate different formats
let result
(async () => {
for (const [format, outfile] of Object.entries(formats)) {
result = await esbuild
.build({ ...options, outfile, format })
.catch(() => process.exit(1))
}
if (process.env.VERBOSE) {
const info = await esbuild.analyzeMetafile(result.metafile)
console.log(info)
}
// Also build a version that has all dependencies bundled
// This makes it easy to run tests
await esbuild
.build({
...options,
outfile: 'tests/dist/index.mjs',
format: 'esm',
external: [],
})
.catch(() => process.exit(1))
})()

View file

@ -1,29 +0,0 @@
import resolve from '@rollup/plugin-node-resolve'
import commonjs from '@rollup/plugin-commonjs'
import json from '@rollup/plugin-json'
import peerDepsExternal from 'rollup-plugin-peer-deps-external'
import { name, version, description, author, license, main, module, rollup } from './package.json'
const banner = `/**\n * ${name} | v${version}\n * ${description}\n * (c) ${new Date().getFullYear()} ${author}\n * @license ${license}\n */`
const output = [
{
banner,
file: main,
format: 'cjs',
sourcemap: true,
exports: rollup.exports,
},
]
if (typeof module !== 'undefined')
output.push({
banner,
file: module,
format: 'es',
sourcemap: true,
})
export default {
input: 'src/index.js',
output,
plugins: [peerDepsExternal(), resolve({ modulesOnly: true }), commonjs(), json()],
}

View file

@ -17,7 +17,7 @@
"kickstart": "npx lerna bootstrap && yarn buildall", "kickstart": "npx lerna bootstrap && yarn buildall",
"clean": "rimraf dist", "clean": "rimraf dist",
"test": "lerna run test", "test": "lerna run test",
"prettier": "npx prettier --write 'packages/**/src/*.js' 'packages/**/config/*.js' 'packages/**/example/src/*' 'packages/i18n/src/locales/**/*.*' 'packages/**/tests/*.js'", "prettier": "npx prettier --write 'packages/**/src/*.js' 'packages/**/config/*.js' 'packages/i18n/src/locales/**/*.*' 'packages/**/tests/*.mjs'",
"reconfigure": "all-contributors generate && node scripts/reconfigure.js", "reconfigure": "all-contributors generate && node scripts/reconfigure.js",
"prerelease": "lerna version --no-git-tag-version --no-push && yarn reconfigure && yarn buildall", "prerelease": "lerna version --no-git-tag-version --no-push && yarn reconfigure && yarn buildall",
"buildall": "lerna run cibuild_step1 && lerna run cibuild_step2", "buildall": "lerna run cibuild_step1 && lerna run cibuild_step2",

View file

@ -24,9 +24,9 @@ const config = {
exceptions: readConfigFile('exceptions.yaml'), exceptions: readConfigFile('exceptions.yaml'),
templates: { templates: {
pkg: readTemplateFile('package.dflt.json'), pkg: readTemplateFile('package.dflt.json'),
rollup: readTemplateFile('rollup.config.dflt.js'),
changelog: readTemplateFile('changelog.dflt.md'), changelog: readTemplateFile('changelog.dflt.md'),
readme: readTemplateFile('readme.dflt.md') readme: readTemplateFile('readme.dflt.md'),
build: readTemplateFile('build.dflt.js'),
} }
} }
@ -54,35 +54,6 @@ function readTemplateFile(file) {
return fs.readFileSync(path.join(repoPath, 'config', 'templates', file), 'utf-8') return fs.readFileSync(path.join(repoPath, 'config', 'templates', file), 'utf-8')
} }
/**
* Reads a pattern example file
*/
function readExampleFile(file, subdir = false) {
return fs.readFileSync(
subdir
? path.join(
repoPath,
'packages',
'create-freesewing-pattern',
'template',
'default',
'example',
file
)
: path.join(
repoPath,
'packages',
'create-freesewing-pattern',
'template',
'default',
'example',
subdir,
file
),
'utf-8'
)
}
/** /**
* Reads a YAML config file, with Mustache replacements if needed * Reads a YAML config file, with Mustache replacements if needed
*/ */
@ -231,9 +202,6 @@ function packageConfig(pkg, config) {
if (config.exceptions.packageJson[pkg][key] === '!') delete pkgConf[key] if (config.exceptions.packageJson[pkg][key] === '!') delete pkgConf[key]
} }
} }
if (config.exceptions.namedExports.indexOf(pkg) !== -1) {
pkgConf.rollup.exports = 'named'
}
return pkgConf return pkgConf
} }
@ -407,57 +375,9 @@ function validate(pkgs, config) {
} }
/** /**
* Creates and 'example' directory for patterns, * Puts a package.json, build.js, README.md, and CHANGELOG.md
* same result as what gets done by create-freesewing-pattern.
*/
function configurePatternExample(pkg, config) {
// Create example dir structure
let source = path.join(
config.repoPath,
'packages',
'create-freesewing-pattern',
'template',
'freesewing',
'example'
)
let dest = path.join(config.repoPath, 'packages', pkg, 'example')
fse.ensureDirSync(path.join(dest, 'src'))
fse.ensureDirSync(path.join(dest, 'public'))
// Copy files
for (let file of ['.babelrc', '.env'])
fs.copyFileSync(path.join(source, file), path.join(dest, file))
for (let file of ['index.js', 'serviceWorker.js', 'layout.css'])
fs.copyFileSync(path.join(source, 'src', file), path.join(dest, 'src', file))
fs.copyFileSync(
path.join(source, 'public', 'favicon.ico'),
path.join(dest, 'public', 'favicon.ico')
)
// Write templates
let replace = {
name: pkg,
version,
author: 'freesewing',
yarn: true,
language: 'en'
}
for (let file of ['package.json', 'README.md', 'netlify.toml']) {
let template = handlebars.compile(fs.readFileSync(path.join(source, file), 'utf-8'))
fs.writeFileSync(path.join(dest, file), template(replace))
}
for (let file of ['index.html', 'manifest.json', 'layout.css']) {
let template = handlebars.compile(fs.readFileSync(path.join(source, 'public', file), 'utf-8'))
fs.writeFileSync(path.join(dest, 'public', file), template(replace))
}
let template = handlebars.compile(fs.readFileSync(path.join(source, 'src', 'App.js'), 'utf-8'))
fs.writeFileSync(path.join(dest, 'src', 'App.js'), template(replace))
}
/**
* Puts a package.json, rollup.config.js, README.md, and CHANGELOG.md
* into every subdirectory under the packages directory. * into every subdirectory under the packages directory.
* Also creates an example dir for pattern packages, and writes * Also adds unit tests for patterns, and writes the global CHANGELOG.md.
* the global CHANGELOG.md.
* New: Adds unit tests for patterns
*/ */
function reconfigure(pkgs, config) { function reconfigure(pkgs, config) {
for (const pkg of pkgs) { for (const pkg of pkgs) {
@ -469,10 +389,10 @@ function reconfigure(pkgs, config) {
JSON.stringify(pkgConfig, null, 2) + '\n' JSON.stringify(pkgConfig, null, 2) + '\n'
) )
} }
if (config.exceptions.customRollup.indexOf(pkg) === -1) { if (config.exceptions.customBuild.indexOf(pkg) === -1) {
fs.writeFileSync( fs.writeFileSync(
path.join(config.repoPath, 'packages', pkg, 'rollup.config.js'), path.join(config.repoPath, 'packages', pkg, 'build.js'),
config.templates.rollup config.templates.build
) )
} }
if (config.exceptions.customReadme.indexOf(pkg) === -1) { if (config.exceptions.customReadme.indexOf(pkg) === -1) {
@ -485,7 +405,6 @@ function reconfigure(pkgs, config) {
) )
} }
const type = packageType(pkg, config) const type = packageType(pkg, config)
if (type === 'pattern') configurePatternExample(pkg, config)
} }
fs.writeFileSync(path.join(config.repoPath, 'CHANGELOG.md'), changelog('global', config)) fs.writeFileSync(path.join(config.repoPath, 'CHANGELOG.md'), changelog('global', config))
console.log(chalk.yellowBright.bold('All done.')) console.log(chalk.yellowBright.bold('All done.'))

View file

@ -3954,7 +3954,7 @@
resolved "https://registry.yarnpkg.com/@request/interface/-/interface-0.1.0.tgz#c913504d3dc2810afad555b599aeaec2cc4c6768" resolved "https://registry.yarnpkg.com/@request/interface/-/interface-0.1.0.tgz#c913504d3dc2810afad555b599aeaec2cc4c6768"
integrity sha1-yRNQTT3CgQr61VW1ma6uwsxMZ2g= integrity sha1-yRNQTT3CgQr61VW1ma6uwsxMZ2g=
"@rollup/plugin-babel@^5.1.0", "@rollup/plugin-babel@^5.2.0", "@rollup/plugin-babel@^5.3.0": "@rollup/plugin-babel@^5.1.0", "@rollup/plugin-babel@^5.2.0":
version "5.3.0" version "5.3.0"
resolved "https://registry.yarnpkg.com/@rollup/plugin-babel/-/plugin-babel-5.3.0.tgz#9cb1c5146ddd6a4968ad96f209c50c62f92f9879" resolved "https://registry.yarnpkg.com/@rollup/plugin-babel/-/plugin-babel-5.3.0.tgz#9cb1c5146ddd6a4968ad96f209c50c62f92f9879"
integrity sha512-9uIC8HZOnVLrLHxayq/PTzw+uS25E14KPUBh5ktF+18Mjo5yK0ToMMx6epY0uEgkjwJw0aBW4x2horYXh8juWw== integrity sha512-9uIC8HZOnVLrLHxayq/PTzw+uS25E14KPUBh5ktF+18Mjo5yK0ToMMx6epY0uEgkjwJw0aBW4x2horYXh8juWw==
@ -3994,7 +3994,7 @@
is-module "^1.0.0" is-module "^1.0.0"
resolve "^1.19.0" resolve "^1.19.0"
"@rollup/plugin-node-resolve@^13.0.0", "@rollup/plugin-node-resolve@^13.1.3": "@rollup/plugin-node-resolve@^13.0.0":
version "13.1.3" version "13.1.3"
resolved "https://registry.yarnpkg.com/@rollup/plugin-node-resolve/-/plugin-node-resolve-13.1.3.tgz#2ed277fb3ad98745424c1d2ba152484508a92d79" resolved "https://registry.yarnpkg.com/@rollup/plugin-node-resolve/-/plugin-node-resolve-13.1.3.tgz#2ed277fb3ad98745424c1d2ba152484508a92d79"
integrity sha512-BdxNk+LtmElRo5d06MGY4zoepyrXX1tkzX2hrnPEZ53k78GuOMWLqmJDGIIOPwVRIFZrLQOo+Yr6KtCuLIA0AQ== integrity sha512-BdxNk+LtmElRo5d06MGY4zoepyrXX1tkzX2hrnPEZ53k78GuOMWLqmJDGIIOPwVRIFZrLQOo+Yr6KtCuLIA0AQ==
@ -11323,6 +11323,14 @@ esbuild-openbsd-64@0.14.43:
resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.43.tgz#0229dc2db2ded97b03bb93bba7646b30ffdf5d0d" resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.43.tgz#0229dc2db2ded97b03bb93bba7646b30ffdf5d0d"
integrity sha512-ZhQpiZjvqCqO8jKdGp9+8k9E/EHSA+zIWOg+grwZasI9RoblqJ1QiZqqi7jfd6ZrrG1UFBNGe4m0NFxCFbMVbg== integrity sha512-ZhQpiZjvqCqO8jKdGp9+8k9E/EHSA+zIWOg+grwZasI9RoblqJ1QiZqqi7jfd6ZrrG1UFBNGe4m0NFxCFbMVbg==
esbuild-plugin-yaml@^0.0.1:
version "0.0.1"
resolved "https://registry.yarnpkg.com/esbuild-plugin-yaml/-/esbuild-plugin-yaml-0.0.1.tgz#660b9ddab78f4c3f488284762d6c01b6738615fb"
integrity sha512-s3jqOeeCd+dUuUsuBqLRgN2SeQjPF2ppIglvV3B//txgQpTDThGvxu6sqiOUOJ0NOzegitmpWCXoCONdRbUS7w==
dependencies:
fs-extra "^9.1.0"
js-yaml "^4.0.0"
esbuild-sunos-64@0.14.43: esbuild-sunos-64@0.14.43:
version "0.14.43" version "0.14.43"
resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.43.tgz#17e316216eb9f1de25d52a9000356ae5b869e736" resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.43.tgz#17e316216eb9f1de25d52a9000356ae5b869e736"
@ -24734,7 +24742,7 @@ rollup-plugin-json@^4.0.0:
dependencies: dependencies:
rollup-pluginutils "^2.5.0" rollup-pluginutils "^2.5.0"
rollup-plugin-peer-deps-external@^2.2.3, rollup-plugin-peer-deps-external@^2.2.4: rollup-plugin-peer-deps-external@^2.2.3:
version "2.2.4" version "2.2.4"
resolved "https://registry.yarnpkg.com/rollup-plugin-peer-deps-external/-/rollup-plugin-peer-deps-external-2.2.4.tgz#8a420bbfd6dccc30aeb68c9bf57011f2f109570d" resolved "https://registry.yarnpkg.com/rollup-plugin-peer-deps-external/-/rollup-plugin-peer-deps-external-2.2.4.tgz#8a420bbfd6dccc30aeb68c9bf57011f2f109570d"
integrity sha512-AWdukIM1+k5JDdAqV/Cxd+nejvno2FVLVeZ74NKggm3Q5s9cbbcOgUPGdbxPi4BXu7xGaZ8HG12F+thImYu/0g== integrity sha512-AWdukIM1+k5JDdAqV/Cxd+nejvno2FVLVeZ74NKggm3Q5s9cbbcOgUPGdbxPi4BXu7xGaZ8HG12F+thImYu/0g==
@ -24775,7 +24783,7 @@ rollup-pluginutils@^2.5.0, rollup-pluginutils@^2.8.2:
dependencies: dependencies:
estree-walker "^0.6.1" estree-walker "^0.6.1"
rollup@^2.43.1, rollup@^2.50.6, rollup@^2.66.1: rollup@^2.43.1:
version "2.67.0" version "2.67.0"
resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.67.0.tgz#496de7e641dbe39f681c5a82419cb5013917d406" resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.67.0.tgz#496de7e641dbe39f681c5a82419cb5013917d406"
integrity sha512-W83AaERwvDiHwHEF/dfAfS3z1Be5wf7n+pO3ZAO5IQadCT2lBTr7WQ2MwZZe+nodbD+n3HtC4OCOAdsOPPcKZQ== integrity sha512-W83AaERwvDiHwHEF/dfAfS3z1Be5wf7n+pO3ZAO5IQadCT2lBTr7WQ2MwZZe+nodbD+n3HtC4OCOAdsOPPcKZQ==