{"_id":"@freesewing/library","_rev":"10-6594cd26f9e78a9fd1495dafd7dc24cc","name":"@freesewing/library","dist-tags":{"latest":"4.10.2"},"versions":{"4.5.0":{"name":"@freesewing/library","version":"4.5.0","keywords":["freesewing","design","diy","fashion","made to measure","parametric design","pattern","sewing","sewing pattern"],"author":{"url":"https://codeberg.org/joostdecock","name":"Joost De Cock","email":"joost@joost.at"},"license":"MIT","_id":"@freesewing/library@4.5.0","maintainers":[{"name":"joostdecock","email":"joost@joost.at"},{"name":"eriese","email":"enoch.riese@gmail.com"}],"homepage":"https://freesewing.eu/","bugs":{"url":"https://codeberg.org/freesewing/freesewing/issues"},"dist":{"shasum":"25c8a69a055d2159a00e415a15cde6d42822f10a","tarball":"https://registry.npmjs.org/@freesewing/library/-/library-4.5.0.tgz","fileCount":19,"integrity":"sha512-TxhNZ7KI9WszIXu34BaZvcBro9eCLAzdAja3YuQa9f1g0RFKpf3SJmyw/I4XXV3gOO7u+WQhILQGdX1J+NGVrA==","signatures":[{"sig":"MEUCIEFD/lu8golK+EPKiBLTdOMz1qs34+NL0dAz4e1lD4SXAiEA8sWZ/9lETPAQVbDTXvu4B08YoztV7D8D5nRmcoqm1A4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":46467},"type":"module","module":"src/index.mjs","engines":{"node":">= 20"},"exports":{".":"./src/index.mjs"},"funding":{"url":"https://freesewing.eu/patrons/join","type":"individual"},"gitHead":"44ac94ca8188554632076c2fbd75af7f36f4cc40","scripts":{"lint":"npx eslint 'src/**' 'tests/*.mjs'","test":"npx mocha tests/*.test.mjs","tips":"node ../../scripts/help.mjs","testci":"NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js","symlink":"mkdir -p ./node_modules/@freesewing && cd ./node_modules/@freesewing && ln -s -f ../../../* . && cd -","prettier":"npx prettier --write 'src/*.mjs' 'tests/*.mjs'"},"_npmUser":{"name":"joostdecock","email":"joost@joost.at"},"repository":{"url":"codeberg:freesewing/freesewing","type":"git"},"_npmVersion":"10.9.2","description":"A FreeSewing design that bundles reuseable parts","directories":{},"_nodeVersion":"22.15.0","dependencies":{},"publishConfig":{"tag":"latest","access":"public"},"_hasShrinkwrap":false,"devDependencies":{"chai":"5.1.1","mocha":"10.4.0","@freesewing/models":"4.5.0","@freesewing/plugin-timing":"4.5.0"},"peerDependencies":{"@freesewing/core":"4.5.0"},"_npmOperationalInternal":{"tmp":"tmp/library_4.5.0_1771760224214_0.38351228029217665","host":"s3://npm-registry-packages-npm-production"}},"4.6.0":{"name":"@freesewing/library","version":"4.6.0","keywords":["freesewing","design","diy","fashion","made to measure","parametric design","pattern","sewing","sewing pattern"],"author":{"url":"https://codeberg.org/joostdecock","name":"Joost De Cock","email":"joost@joost.at"},"license":"MIT","_id":"@freesewing/library@4.6.0","maintainers":[{"name":"joostdecock","email":"joost@joost.at"},{"name":"eriese","email":"enoch.riese@gmail.com"}],"homepage":"https://freesewing.eu/","bugs":{"url":"https://codeberg.org/freesewing/freesewing/issues"},"dist":{"shasum":"fcd52d76a62b68407e699ea1e67b2b93907ed70d","tarball":"https://registry.npmjs.org/@freesewing/library/-/library-4.6.0.tgz","fileCount":19,"integrity":"sha512-xLARgKODdIRDQoTzbatk+llFCpQCOxlTSMNIhiBvZAOeCoWZiaiSljd70hXg5ZoaGaq61W3QNayUoBjYhNl7Ew==","signatures":[{"sig":"MEUCIQCHYYizUM0z00e0LgwT0zXELoIEbQElZigJaBBNOkSAlAIgFme1dM4/FHEACV0y0zesCkd3q7IS1rXjL8DHvfPrwZ0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":46467},"type":"module","module":"src/index.mjs","engines":{"node":">= 20"},"exports":{".":"./src/index.mjs"},"funding":{"url":"https://freesewing.eu/patrons/join","type":"individual"},"gitHead":"62e0b0ead17d3f7fb91af9ecda34bb23288b33de","scripts":{"lint":"npx eslint 'src/**' 'tests/*.mjs'","test":"npx mocha tests/*.test.mjs","tips":"node ../../scripts/help.mjs","testci":"NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js","symlink":"mkdir -p ./node_modules/@freesewing && cd ./node_modules/@freesewing && ln -s -f ../../../* . && cd -","prettier":"npx prettier --write 'src/*.mjs' 'tests/*.mjs'"},"_npmUser":{"name":"joostdecock","email":"joost@joost.at"},"repository":{"url":"codeberg:freesewing/freesewing","type":"git"},"_npmVersion":"10.9.2","description":"A FreeSewing design that bundles reuseable parts","directories":{},"_nodeVersion":"22.15.0","dependencies":{},"publishConfig":{"tag":"latest","access":"public"},"_hasShrinkwrap":false,"devDependencies":{"chai":"5.1.1","mocha":"10.4.0","@freesewing/models":"4.6.0","@freesewing/plugin-timing":"4.6.0"},"peerDependencies":{"@freesewing/core":"4.6.0"},"_npmOperationalInternal":{"tmp":"tmp/library_4.6.0_1772975253072_0.9781700362834129","host":"s3://npm-registry-packages-npm-production"}},"4.7.0":{"name":"@freesewing/library","version":"4.7.0","keywords":["freesewing","design","diy","fashion","made to measure","parametric design","pattern","sewing","sewing pattern"],"author":{"url":"https://codeberg.org/joostdecock","name":"Joost De Cock","email":"joost@joost.at"},"license":"MIT","_id":"@freesewing/library@4.7.0","maintainers":[{"name":"joostdecock","email":"joost@joost.at"},{"name":"eriese","email":"enoch.riese@gmail.com"}],"homepage":"https://freesewing.eu/","bugs":{"url":"https://codeberg.org/freesewing/freesewing/issues"},"dist":{"shasum":"69fca3129d34dca4c2914470953e471f67141f2d","tarball":"https://registry.npmjs.org/@freesewing/library/-/library-4.7.0.tgz","fileCount":19,"integrity":"sha512-zY6n9+CsqixXdaMYvAw/iO2SUzqza2RhB8hPGIhj1DvlIHGpU6Hyj+YnXHME2XQ4CuJDXqigcXQmg/H438aQJA==","signatures":[{"sig":"MEQCIH6RWMoX2UIdFoUCX+LGXqzA5qu7sPQ4GKkUUHokOtYzAiBILpxjtr2vaxtcs+Cl1t7t5HwWFuLsUfU99PFuf/H4AA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":46467},"type":"module","module":"src/index.mjs","engines":{"node":">= 20"},"exports":{".":"./src/index.mjs"},"funding":{"url":"https://freesewing.eu/patrons/join","type":"individual"},"gitHead":"1404f31e3187c1c6ab652d577e9b277e642c460f","scripts":{"lint":"npx eslint 'src/**' 'tests/*.mjs'","test":"npx mocha tests/*.test.mjs","tips":"node ../../scripts/help.mjs","testci":"NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js","symlink":"mkdir -p ./node_modules/@freesewing && cd ./node_modules/@freesewing && ln -s -f ../../../* . && cd -","prettier":"npx prettier --write 'src/*.mjs' 'tests/*.mjs'"},"_npmUser":{"name":"joostdecock","email":"joost@joost.at"},"repository":{"url":"codeberg:freesewing/freesewing","type":"git"},"_npmVersion":"10.9.2","description":"A FreeSewing design that bundles reuseable parts","directories":{},"_nodeVersion":"22.15.0","dependencies":{},"publishConfig":{"tag":"latest","access":"public"},"_hasShrinkwrap":false,"devDependencies":{"chai":"5.1.1","mocha":"10.4.0","@freesewing/models":"4.7.0","@freesewing/plugin-timing":"4.7.0"},"peerDependencies":{"@freesewing/core":"4.7.0"},"_npmOperationalInternal":{"tmp":"tmp/library_4.7.0_1774596691380_0.7067349096049047","host":"s3://npm-registry-packages-npm-production"}},"4.7.1":{"name":"@freesewing/library","version":"4.7.1","keywords":["freesewing","design","diy","fashion","made to measure","parametric design","pattern","sewing","sewing pattern"],"author":{"url":"https://codeberg.org/joostdecock","name":"Joost De Cock","email":"joost@joost.at"},"license":"MIT","_id":"@freesewing/library@4.7.1","maintainers":[{"name":"joostdecock","email":"joost@joost.at"},{"name":"eriese","email":"enoch.riese@gmail.com"}],"homepage":"https://freesewing.eu/","bugs":{"url":"https://codeberg.org/freesewing/freesewing/issues"},"dist":{"shasum":"85781d3a2a5bb8adf999759fa15fb3572758df8c","tarball":"https://registry.npmjs.org/@freesewing/library/-/library-4.7.1.tgz","fileCount":19,"integrity":"sha512-B/wpchXoDZ8FnsEv7JUHDx2ab4l7/+8x8Of70+Q6Jj24Lf8/+BGdwi7fcMi95tH2Y7y9SXf5fsEtj0cQkTU22Q==","signatures":[{"sig":"MEYCIQC4TAlF8N3Tmdyy199kw/Hu+DZUSfkK6lLvFseZFmaBDwIhAO3FFEmeB3sOnL/5F8z5ZL+FWjljC9EEJgVTv65YW/6+","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":46467},"type":"module","module":"src/index.mjs","engines":{"node":">= 20"},"exports":{".":"./src/index.mjs"},"funding":{"url":"https://freesewing.eu/patrons/join","type":"individual"},"gitHead":"a851ee09aaaa131f0569a64bc397974ee2b7ad05","scripts":{"lint":"npx eslint 'src/**' 'tests/*.mjs'","test":"npx mocha tests/*.test.mjs","tips":"node ../../scripts/help.mjs","testci":"NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js","symlink":"mkdir -p ./node_modules/@freesewing && cd ./node_modules/@freesewing && ln -s -f ../../../* . && cd -","prettier":"npx prettier --write 'src/*.mjs' 'tests/*.mjs'"},"_npmUser":{"name":"joostdecock","email":"joost@joost.at"},"repository":{"url":"codeberg:freesewing/freesewing","type":"git"},"_npmVersion":"10.9.2","description":"A FreeSewing design that bundles reuseable parts","directories":{},"_nodeVersion":"22.15.0","dependencies":{},"publishConfig":{"tag":"latest","access":"public"},"_hasShrinkwrap":false,"devDependencies":{"chai":"5.1.1","mocha":"10.4.0","@freesewing/models":"4.7.1","@freesewing/plugin-timing":"4.7.1"},"peerDependencies":{"@freesewing/core":"4.7.1"},"_npmOperationalInternal":{"tmp":"tmp/library_4.7.1_1774852676238_0.7536473082560122","host":"s3://npm-registry-packages-npm-production"}},"4.7.2":{"name":"@freesewing/library","version":"4.7.2","keywords":["freesewing","design","diy","fashion","made to measure","parametric design","pattern","sewing","sewing pattern"],"author":{"url":"https://codeberg.org/joostdecock","name":"Joost De Cock","email":"joost@joost.at"},"license":"MIT","_id":"@freesewing/library@4.7.2","maintainers":[{"name":"joostdecock","email":"joost@joost.at"},{"name":"eriese","email":"enoch.riese@gmail.com"}],"homepage":"https://freesewing.eu/","bugs":{"url":"https://codeberg.org/freesewing/freesewing/issues"},"dist":{"shasum":"e03b0f2e85a29f2462725ff39b85f02b2e5d242e","tarball":"https://registry.npmjs.org/@freesewing/library/-/library-4.7.2.tgz","fileCount":25,"integrity":"sha512-3xurZn9kuOk2MhnnATzw0x1TpeqjHYt/PhAhaK8rxPH4genbmtKIKkX3CakEeNrjq+6yzRCwMNkNVuw1UbYjcg==","signatures":[{"sig":"MEYCIQCv2cQ/jAEurXuHqZe7Fuufp/9HaMbkE4a3v+laNORAZgIhAKJIGz3PRGGEyJF8VkVkGdaplYdfm69EXUyIIJGCAzYx","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":57227},"type":"module","module":"src/index.mjs","engines":{"node":">= 20"},"exports":{".":"./src/index.mjs"},"funding":{"url":"https://freesewing.eu/patrons/join","type":"individual"},"gitHead":"d3ec987c6e05c609c4f3aa6c0794b20d0cd3e417","scripts":{"lint":"npx eslint 'src/**' 'tests/*.mjs'","test":"npx mocha tests/*.test.mjs","tips":"node ../../scripts/help.mjs","testci":"NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js","symlink":"mkdir -p ./node_modules/@freesewing && cd ./node_modules/@freesewing && ln -s -f ../../../* . && cd -","prettier":"npx prettier --write 'src/*.mjs' 'tests/*.mjs'"},"_npmUser":{"name":"joostdecock","email":"joost@joost.at"},"repository":{"url":"codeberg:freesewing/freesewing","type":"git"},"_npmVersion":"10.9.2","description":"A FreeSewing design that bundles reuseable parts","directories":{},"_nodeVersion":"22.15.0","dependencies":{},"publishConfig":{"tag":"latest","access":"public"},"_hasShrinkwrap":false,"devDependencies":{"chai":"5.1.1","mocha":"10.4.0","@freesewing/models":"4.7.2","@freesewing/plugin-timing":"4.7.2"},"peerDependencies":{"@freesewing/core":"4.7.2"},"_npmOperationalInternal":{"tmp":"tmp/library_4.7.2_1775917063665_0.27437834716585074","host":"s3://npm-registry-packages-npm-production"}},"4.8.0":{"name":"@freesewing/library","version":"4.8.0","keywords":["freesewing","design","diy","fashion","made to measure","parametric design","pattern","sewing","sewing pattern"],"author":{"url":"https://codeberg.org/joostdecock","name":"Joost De Cock","email":"joost@joost.at"},"license":"MIT","_id":"@freesewing/library@4.8.0","maintainers":[{"name":"joostdecock","email":"joost@joost.at"},{"name":"eriese","email":"enoch.riese@gmail.com"}],"homepage":"https://freesewing.eu/","bugs":{"url":"https://codeberg.org/freesewing/freesewing/issues"},"dist":{"shasum":"c22a8a67c7b3a7340d839d407518474b0cde50e9","tarball":"https://registry.npmjs.org/@freesewing/library/-/library-4.8.0.tgz","fileCount":25,"integrity":"sha512-mN5kR8D5AWalLe1NwNdjKP2OgViYpqAWAjBOUzd3Oy4JUfFZUaE3w+1synBaZhoCb4rzF9aoAIUU/yjBV0mu7w==","signatures":[{"sig":"MEYCIQDweYX3Jcv2ycCc/ulR4Ec6IXEwMMQqLwk7ZhPAbW1DCwIhAK6+noMY7tQyufoDj9OT/A7yRDXIkcgsojfO+v3x5dSj","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":57350},"type":"module","module":"src/index.mjs","engines":{"node":">= 20"},"exports":{".":"./src/index.mjs"},"funding":{"url":"https://freesewing.eu/patrons/join","type":"individual"},"gitHead":"db83d3c1e5d91345e1aa9a8be13fd508d186a123","scripts":{"lint":"npx eslint 'src/**' 'tests/*.mjs'","test":"npx mocha tests/*.test.mjs","tips":"node ../../scripts/help.mjs","testci":"NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js","symlink":"mkdir -p ./node_modules/@freesewing && cd ./node_modules/@freesewing && ln -s -f ../../../* . && cd -","prettier":"npx prettier --write 'src/*.mjs' 'tests/*.mjs'"},"_npmUser":{"name":"joostdecock","email":"joost@joost.at"},"repository":{"url":"codeberg:freesewing/freesewing","type":"git"},"_npmVersion":"10.9.2","description":"A FreeSewing design that bundles reuseable parts","directories":{},"_nodeVersion":"22.15.0","dependencies":{},"publishConfig":{"tag":"latest","access":"public"},"_hasShrinkwrap":false,"devDependencies":{"chai":"5.1.1","mocha":"10.4.0","@freesewing/models":"4.8.0","@freesewing/plugin-timing":"4.8.0"},"peerDependencies":{"@freesewing/core":"4.8.0"},"_npmOperationalInternal":{"tmp":"tmp/library_4.8.0_1776617243604_0.39832015017375566","host":"s3://npm-registry-packages-npm-production"}},"4.9.0":{"name":"@freesewing/library","version":"4.9.0","keywords":["freesewing","design","diy","fashion","made to measure","parametric design","pattern","sewing","sewing pattern"],"author":{"url":"https://codeberg.org/joostdecock","name":"Joost De Cock","email":"joost@joost.at"},"license":"MIT","_id":"@freesewing/library@4.9.0","maintainers":[{"name":"joostdecock","email":"joost@joost.at"},{"name":"eriese","email":"enoch.riese@gmail.com"}],"homepage":"https://freesewing.eu/","bugs":{"url":"https://codeberg.org/freesewing/freesewing/issues"},"dist":{"shasum":"2d45e5c3c963ffc501a95d4cf589f85baec88a2f","tarball":"https://registry.npmjs.org/@freesewing/library/-/library-4.9.0.tgz","fileCount":25,"integrity":"sha512-sr2WE0IwCSNdCaYKU1DAafhDQHhLf1Gev4VqMmpRYCh6owkX3IzBtdVmdfsml7J/oZ9p3Tyu3KMJnDGWUh2VZg==","signatures":[{"sig":"MEQCIDrHKUdNwR0GmuxMlEoLsGL6CL7CIr4sfrr6EStxSBxGAiBbovujKrxH+56Bm4btQHytw3wOY4KjkLlM31CzRIs2KA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":57350},"type":"module","module":"src/index.mjs","engines":{"node":">= 20"},"exports":{".":"./src/index.mjs"},"funding":{"url":"https://freesewing.eu/patrons/join","type":"individual"},"gitHead":"b191da16e936b9414949d635f1b0d7a5f3ca7d28","scripts":{"lint":"npx eslint 'src/**' 'tests/*.mjs'","test":"npx mocha tests/*.test.mjs","tips":"node ../../scripts/help.mjs","testci":"NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js","symlink":"mkdir -p ./node_modules/@freesewing && cd ./node_modules/@freesewing && ln -s -f ../../../* . && cd -","prettier":"npx prettier --write 'src/*.mjs' 'tests/*.mjs'"},"_npmUser":{"name":"joostdecock","email":"joost@joost.at"},"repository":{"url":"codeberg:freesewing/freesewing","type":"git"},"_npmVersion":"10.9.2","description":"A FreeSewing design that bundles reuseable parts","directories":{},"_nodeVersion":"22.15.0","dependencies":{},"publishConfig":{"tag":"latest","access":"public"},"_hasShrinkwrap":false,"devDependencies":{"chai":"5.1.1","mocha":"10.4.0","@freesewing/models":"4.9.0","@freesewing/plugin-timing":"4.9.0"},"peerDependencies":{"@freesewing/core":"4.9.0"},"_npmOperationalInternal":{"tmp":"tmp/library_4.9.0_1779704171170_0.9548528533439429","host":"s3://npm-registry-packages-npm-production"}},"4.10.0":{"name":"@freesewing/library","version":"4.10.0","keywords":["freesewing","design","diy","fashion","made to measure","parametric design","pattern","sewing","sewing pattern"],"author":{"url":"https://codeberg.org/joostdecock","name":"Joost De Cock","email":"joost@joost.at"},"license":"MIT","_id":"@freesewing/library@4.10.0","maintainers":[{"name":"joostdecock","email":"joost@joost.at"},{"name":"eriese","email":"enoch.riese@gmail.com"}],"homepage":"https://freesewing.eu/","bugs":{"url":"https://codeberg.org/freesewing/freesewing/issues"},"dist":{"shasum":"c86b828ceda80cdfbee79820f80367f16eb50cfc","tarball":"https://registry.npmjs.org/@freesewing/library/-/library-4.10.0.tgz","fileCount":25,"integrity":"sha512-3h6gwu+S77BCnQp1vAyvkzF9ChooenGRh7rYAPNLZ71C+7qJ6aVSjsaKTqtwJnBXlwPMVhsXcv98OV/0eR7KMQ==","signatures":[{"sig":"MEUCIH28UAe/wnIf6OOalAOsIRRk72EDJFfgj0tDAcsDb+hcAiEA1YyvdeWEzE4lhZYA75Wprns7BmXgWuca+NozlvNRcLk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":57355},"type":"module","module":"src/index.mjs","engines":{"node":">= 20"},"exports":{".":"./src/index.mjs"},"funding":{"url":"https://freesewing.eu/patrons/join","type":"individual"},"gitHead":"0f3aa9d9dc1b824cf01d6b4110f7badb22e0e301","scripts":{"lint":"npx eslint 'src/**' 'tests/*.mjs'","test":"npx mocha tests/*.test.mjs","tips":"node ../../scripts/help.mjs","testci":"NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js","symlink":"mkdir -p ./node_modules/@freesewing && cd ./node_modules/@freesewing && ln -s -f ../../../* . && cd -","prettier":"npx prettier --write 'src/*.mjs' 'tests/*.mjs'"},"_npmUser":{"name":"joostdecock","email":"joost@joost.at"},"repository":{"url":"codeberg:freesewing/freesewing","type":"git"},"_npmVersion":"10.9.3","description":"A FreeSewing design that bundles reuseable parts","directories":{},"_nodeVersion":"22.19.0","dependencies":{},"publishConfig":{"tag":"latest","access":"public"},"_hasShrinkwrap":false,"devDependencies":{"chai":"5.1.1","mocha":"10.4.0","@freesewing/models":"4.10.0","@freesewing/plugin-timing":"4.10.0"},"peerDependencies":{"@freesewing/core":"4.10.0"},"_npmOperationalInternal":{"tmp":"tmp/library_4.10.0_1781871993893_0.6764424701055516","host":"s3://npm-registry-packages-npm-production"}},"4.10.1":{"name":"@freesewing/library","version":"4.10.1","keywords":["freesewing","design","diy","fashion","made to measure","parametric design","pattern","sewing","sewing pattern"],"author":{"url":"https://codeberg.org/joostdecock","name":"Joost De Cock","email":"joost@joost.at"},"license":"MIT","_id":"@freesewing/library@4.10.1","maintainers":[{"name":"joostdecock","email":"joost@joost.at"},{"name":"eriese","email":"enoch.riese@gmail.com"}],"homepage":"https://freesewing.eu/","bugs":{"url":"https://codeberg.org/freesewing/freesewing/issues"},"dist":{"shasum":"c2a39b3693a83ebc5fe73c84057644bd8404591a","tarball":"https://registry.npmjs.org/@freesewing/library/-/library-4.10.1.tgz","fileCount":25,"integrity":"sha512-0BQoDc24fE9xlJhtMh5q+DiF4JNLpz0qMmRpJCHLZj8ynSWQcfI6EmEHMqu12KWlhqIGspU4hy6j2BdBi5g4Tg==","signatures":[{"sig":"MEUCIDeFwwRy3+u5bvqI7zO24CHgjYDXv4QyXC+EnYl0zRzVAiEAlMG0LPrf01ZEg63w1t0M0XyaJxdApTWaZgHmD0HuLec=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":57358},"type":"module","module":"src/index.mjs","engines":{"node":">= 20"},"exports":{".":"./src/index.mjs"},"funding":{"url":"https://freesewing.eu/patrons/join","type":"individual"},"gitHead":"bc9828bcf9c725096ef37150635855dd9b7bff8d","scripts":{"lint":"npx eslint 'src/**' 'tests/*.mjs'","test":"npx mocha tests/*.test.mjs","tips":"node ../../scripts/help.mjs","testci":"NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js","symlink":"mkdir -p ./node_modules/@freesewing && cd ./node_modules/@freesewing && ln -s -f ../../../* . && cd -","prettier":"npx prettier --write 'src/*.mjs' 'tests/*.mjs'"},"_npmUser":{"name":"joostdecock","email":"joost@joost.at"},"repository":{"url":"codeberg:freesewing/freesewing","type":"git"},"_npmVersion":"10.9.2","description":"A FreeSewing design that bundles reuseable parts","directories":{},"_nodeVersion":"22.15.0","dependencies":{},"publishConfig":{"tag":"latest","access":"public"},"_hasShrinkwrap":false,"devDependencies":{"chai":"5.1.1","mocha":"10.4.0","@freesewing/models":"4.10.1","@freesewing/plugin-timing":"4.10.1"},"peerDependencies":{"@freesewing/core":"4.10.1"},"_npmOperationalInternal":{"tmp":"tmp/library_4.10.1_1786886797379_0.8532634068586833","host":"s3://npm-registry-packages-npm-production"}},"4.10.2":{"_id":"@freesewing/library@4.10.2","bugs":{"url":"https://codeberg.org/freesewing/freesewing/issues"},"dist":{"shasum":"187ab3b855e182dd7e21b8097a353fdfc12e0e94","tarball":"https://registry.npmjs.org/@freesewing/library/-/library-4.10.2.tgz","fileCount":25,"integrity":"sha512-8NG6l6YP8HTrltGHXuSE4MoY2x9ICPgTT56CHh4Gs01K/HFRnecQLZpuZbU29UGLVnRUlcxRER8EBEIGxL3FDA==","signatures":[{"sig":"MEUCIH1dkoTj9xbV5xiy9fh90NlVJb72EAxyM2dX36eC3Y2nAiEAmAx9uv371F21GrrmPv1Opj86MQ1bTiZu9vY1jDakx8w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDXWooc8fBXzJiN94dyDi+6BoCWn/APMLkEx8sgfZvwUgIgKKOTlatT8aHssnXI7KOXOnJbNtEIW9EupFsdI6+yxzE="}],"unpackedSize":57358},"name":"@freesewing/library","type":"module","author":{"url":"https://codeberg.org/joostdecock","name":"Joost De Cock","email":"joost@joost.at"},"module":"src/index.mjs","engines":{"node":">= 20"},"exports":{".":"./src/index.mjs"},"funding":{"url":"https://freesewing.eu/patrons/join","type":"individual"},"gitHead":"3d290d25d0b6a65852dd31aec125c97bc8ca6e2c","license":"MIT","scripts":{"lint":"npx eslint 'src/**' 'tests/*.mjs'","test":"npx mocha tests/*.test.mjs","tips":"node ../../scripts/help.mjs","testci":"NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js","symlink":"mkdir -p ./node_modules/@freesewing && cd ./node_modules/@freesewing && ln -s -f ../../../* . && cd -","prettier":"npx prettier --write 'src/*.mjs' 'tests/*.mjs'"},"version":"4.10.2","_npmUser":{"name":"joostdecock","email":"joost@joost.at"},"homepage":"https://freesewing.eu/","keywords":["freesewing","design","diy","fashion","made to measure","parametric design","pattern","sewing","sewing pattern"],"repository":{"url":"codeberg:freesewing/freesewing","type":"git"},"_npmVersion":"10.9.2","description":"A FreeSewing design that bundles reuseable parts","directories":{},"maintainers":[{"name":"joostdecock","email":"joost@joost.at"},{"name":"eriese","email":"enoch.riese@gmail.com"}],"_nodeVersion":"22.15.0","dependencies":{},"publishConfig":{"tag":"latest","access":"public"},"_hasShrinkwrap":false,"devDependencies":{"chai":"5.1.1","mocha":"10.4.0","@freesewing/models":"4.10.2","@freesewing/plugin-timing":"4.10.2"},"peerDependencies":{"@freesewing/core":"4.10.2"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/library_4.10.2_1789295113328_0.9803085777377083"}}},"time":{"created":"2026-02-22T11:37:04.158Z","modified":"2026-09-13T10:25:13.604Z","4.5.0":"2026-02-22T11:37:04.347Z","4.6.0":"2026-03-08T13:07:33.210Z","4.7.0":"2026-03-27T07:31:31.507Z","4.7.1":"2026-03-30T06:37:56.374Z","4.7.2":"2026-04-11T14:17:43.820Z","4.8.0":"2026-04-19T16:47:23.744Z","4.9.0":"2026-05-25T10:16:11.296Z","4.10.0":"2026-06-19T12:26:34.056Z","4.10.1":"2026-08-16T13:26:37.556Z","4.10.2":"2026-09-13T10:25:13.418Z"},"bugs":{"url":"https://codeberg.org/freesewing/freesewing/issues"},"author":{"url":"https://codeberg.org/joostdecock","name":"Joost De Cock","email":"joost@joost.at"},"license":"MIT","homepage":"https://freesewing.eu/","keywords":["freesewing","design","diy","fashion","made to measure","parametric design","pattern","sewing","sewing pattern"],"repository":{"url":"codeberg:freesewing/freesewing","type":"git"},"description":"A FreeSewing design that bundles reuseable parts","maintainers":[{"name":"joostdecock","email":"joost@joost.at"},{"name":"eriese","email":"enoch.riese@gmail.com"}],"readme":"<p align='center'><a\n  href=\"https://www.npmjs.com/package/@freesewing/library\"\n  title=\"@freesewing/library on NPM\"\n  ><img src=\"https://img.shields.io/npm/v/@freesewing/library.svg\"\n  alt=\"@freesewing/library on NPM\"/>\n  </a><a\n  href=\"https://opensource.org/licenses/MIT\"\n  title=\"License: MIT\"\n  ><img src=\"https://img.shields.io/npm/l/@freesewing/library.svg?label=License\"\n  alt=\"License: MIT\"/>\n  </a><a\n  href=\"#contributors-\"\n  title=\"All Contributors\"\n  ><img src=\"https://img.shields.io/badge/all_contributors-131-pink.svg\"\n  alt=\"All Contributors\"/>\n  </a></p><p align='center'><a\n  href=\"https://forum.freesewing.org\"\n  title=\"Follow @freesewing_org on Twitter\"\n  ><img src=\"https://img.shields.io/badge/%F3%A0%80%A0-Forum-E4405F.svg?logo=discourse&logoColor=white&logoWidth=15\"\n  alt=\"Follow @freesewing_org on Twitter\"/>\n  </a><a\n  href=\"https://chat.freesewing.org\"\n  title=\"Chat with us on Discord\"\n  ><img src=\"https://img.shields.io/discord/698854858052075530?label=Chat%20on%20Discord\"\n  alt=\"Chat with us on Discord\"/>\n  </a><a\n  href=\"https://freesewing.org/patrons/join\"\n  title=\"Become a FreeSewing Patron\"\n  ><img src=\"https://img.shields.io/badge/%F3%A0%80%A0-Support%20us-blueviolet.svg?logo=cash-app&logoColor=white&logoWidth=15\"\n  alt=\"Become a FreeSewing Patron\"/>\n  </a></p>\n\n# @freesewing/library\n\nA FreeSewing design that bundles reuseable parts\n\n\n\n# FreeSewing\n\n> [!TIP]\n>#### Support FreeSewing: Become a patron, or make a one-time donation 🥰\n>\n> FreeSewing is an open source project maintained by Joost De Cock and financially supported by the FreeSewing patrons.\n>\n> If you feel FreeSewing is worthwhile, and you can spend a few coins without\nhardship, then you should [join us and become a patron](https://freesewing.eu/patrons/join).\n\n## What am I looking at? 🤔\n\nThis repository is the FreeSewing *monorepo* holding all FreeSewing's websites, documentation, designs, plugins, and other NPM packages.\n\nThis folder holds: @freesewing/library\n\nIf you're not entirely sure what to do or how to start, type this command:\n\n```\nnpm run tips\n```\n\n> [!NOTE]\n> If you don't want to set up a dev environment, you can run it in your browser:\n> \n> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://codeberg.org/freesewing/freesewing)\n> \n> We recommend that you fork our repository and then \n> put `gitpod.io/#<entire-url-of-your-fork` into a browser \n> to start up a browser-based dev environment of your own.\n\n## About FreeSewing 💀\n\nWhere the world of makers and developers collide, that's where you'll find FreeSewing.\n\nIf you're a maker, checkout [freesewing.eu](https://freesewing.eu/) where you can generate\nsewing patterns adapted to your measurements.\n\nIf you're a developer, the FreeSewing documentation lives at [freesewing.dev](https://freesewing.dev/).\nThe FreeSewing [core library](https://freesewing.dev/reference/api/) is a *batteries-included* toolbox\nfor parametric design of sewing patterns. But FreeSewing also provides a range \nof [plugins](https://freesewing.dev/reference/plugins/) that further extend the \nfunctionality of the platform.\n\nIf you have NodeJS installed, you can try it right now by running:\n\n```bash\nnpx @freesewing/studio\n```\n\nGetting started guides are available for:\n- [Linux](https://freesewing.dev/tutorials/getting-started-linux/)\n- [MacOS](https://freesewing.dev/tutorials/getting-started-mac/)\n- [Windows](https://freesewing.dev/tutorials/getting-started-windows/)\n\nThe [pattern design tutorial](https://freesewing.dev/tutorials/pattern-design/) will\nshow you how to create your first parametric design.\n\n## Getting started ⚡ \n\nTo get started with FreeSewing, you can spin up our development environment with:\n\n```bash\nnpx @freesewing/studio\n```\n\nTo work with FreeSewing's monorepo, you'll need [NodeJS v20](https://nodejs.org) on your system.  \nOnce you have that, clone (or fork) this repo and run `npm run kickstart`:\n\n```bash\ngit clone git@codeberg.org:freesewing/freesewing.git\ncd freesewing\nnpm run kickstart\n```\n\n## Links 👩‍💻\n\n**Official channels**\n\n - 💻 Makers website: [FreeSewing.eu](https://freesewing.eu/)\n - 💻 Developers website: [FreeSewing.dev](https://freesewing.dev/)\n - ✅ [Support](https://forum.freesewing.eu/),\n   [Issues](https://codeberg.org/freesewing/freesewing/issues) &\n   [Codeberg](https://codeberg.org/freesewing/freesewing)\n\n**Social media**\n\n - 🐘 Mastodon: [@freesewing](https://freesewing.social/@freesewing) on [FreeSewing.social](https://freesewing.social/)\n - 🐘 Mastodon: [@joost](https://freesewing.social/@joost) on [FreeSewing.social](https://freesewing.social/)\n\n**Places the FreeSewing community hangs out**\n\n - 💬 [Forum](https://forum.freesewing.eu/)\n - 💬 [Discord](https://discord.freesewing.org/)\n - 💬 [Reddit](https://www.reddit.com/r/freesewing/)\n\n## License: MIT 🤓\n\n© [Joost De Cock](https://codeberg.org/joostdecock).  \nSee [the license file](https://codeberg.org/freesewing/freesewing/blob/develop/LICENSE) for details.\n\n## Where to get help 🤯\n\nFor [Support](https://freesewing.eu/support), please use the [forum](https://forum.freesewing.eu).\n\n","readmeFilename":"README.md"}